"use strict"; (self["webpackChunkelementorFrontend"] = self["webpackChunkelementorFrontend"] || []).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, __webpack_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js"); __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "../node_modules/core-js/modules/esnext.iterator.filter.js"); __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "../node_modules/core-js/modules/esnext.iterator.find.js"); 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(...args) { super.onInit(...args); 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.b9a0ab19c7c872c405d7.bundle.js.map developer – Page 35 – Crystal Detailing

Αξιοσημείωτες_αποδόσεις_και_διασκέδαση_με-65330648

Αξιοσημείωτες αποδόσεις και διασκέδαση με το rockyspin casino για όλους τους παίκτες Ποικιλία Παιχνιδιών και Λογισμικό Ζωντανό Καζίνο για Ρεαλιστική Εμπειρία Μπόνους και Προσφορές Πρόγραμμα VIP για Αφοσιωμένους Παίκτες Ασφάλεια και Υποστήριξη Πελατών Μέθοδοι Πληρωμής και Αναλήψεις Υπεύθυνος Τζόγος Εξελίξεις και Προοπτικές 🔥 Παίξε ▶️ Αξιοσημείωτες αποδόσεις και διασκέδαση με το rockyspin casino για όλους […]

Estrategias_ganadoras_y_apuestas_seguras_con_pokerenchile_para_jugadores_experim

Estrategias ganadoras y apuestas seguras con pokerenchile para jugadores experimentados Entendiendo las Dinámicas del Poker Online en Chile La Importancia de la Selección de Plataforma Estrategias Avanzadas para Jugadores Experimentados Gestión del Bankroll y Control Emocional El Impacto del Software y las Herramientas de Apoyo Consideraciones Legales y Regulatorias en Chile Adaptando Estrategias a Diferentes […]

Fantastische_mogelijkheden_en_slotrush_casino_online_voor_een_onvergetelijke_erv

Fantastische mogelijkheden en slotrush casino online voor een onvergetelijke ervaring Een Gedetailleerd Overzicht van het Spelaanbod De Voordelen van Live Casino Spellen Bonussen en Promoties bij Slotrush Casino Inzetvereisten en Bonusvoorwaarden Betaalmethoden en Klantenservice Verantwoord Gokken en Spelersbescherming De Mobiele Casino Ervaring Toekomstige Ontwikkelingen en Innovaties 🔥 Spelen ▶️ Fantastische mogelijkheden en slotrush casino online […]

Eficacia_comprobada_latribet_app_para_apuestas_deportivas_y_casino_online

Eficacia comprobada latribet app para apuestas deportivas y casino online Funcionalidades Clave y Diseño de la Aplicación Seguridad y Métodos de Pago Variedad de Apuestas Deportivas Ofrecidas Apuestas en Vivo y Streaming de Eventos El Universo del Casino Online en la App Bonos y Promociones Exclusivas Optimización Móvil y Compatibilidad con Diferentes Dispositivos El Futuro […]

Spännande_utmaningar_med_https_chicken-road-sweden_se_väntar_när_du_leder_hö

Spännande utmaningar med https://chicken-road-sweden.se väntar när du leder höns över trafiken säkert Utmaningarna på vägen: En djupare dykning i spelmekaniken Strategier för framgång: Tips och tricks för att maximera din poäng Spelupplevelsen: Variation och beroendeframkallande gameplay Visuella och ljudmässiga element: En engagerande miljö Spela på olika enheter: Tillgänglighet och flexibilitet Mobilspel och snabba sessioner: Perfekt […]

Genussreiche_Unterhaltung_erleben_mit_vegasnow_co_at_und_vielfältigen_Spielange

Genussreiche Unterhaltung erleben mit vegasnow.co.at und vielfältigen Spielangeboten Das Spieleangebot von vegasnow.co.at im Detail Spezielle Spielkategorien und Live-Casino Benutzerfreundlichkeit und Kundenservice Mobile Kompatibilität und App-Angebot Sicherheit und verantwortungsvolles Spielen Lizenzen und Zertifizierungen Die Zukunft von vegasnow.co.at und Innovationen im Online-Gaming 🔥 Spielen ▶️ Genussreiche Unterhaltung erleben mit vegasnow.co.at und vielfältigen Spielangeboten Die Online-Welt der Unterhaltung […]

Genuine_insights_alongside_https_casinosclassic_org_unlock_premier_gaming_experi

Genuine insights alongside https://casinosclassic.org unlock premier gaming experiences Understanding Online Casino Bonuses and Promotions The Importance of Wagering Requirements Ensuring Fair Play and Security Identifying Rogue Casinos The Evolution of Live Dealer Games Benefits of Playing Live Dealer Games Responsible Gambling Practices Beyond the Games: The Future of Online Casino Tech 🔥 Play ▶️ Genuine […]

Atenção_total_para_atravessar_a_rua_com_roadchicken-pt_com_e_evitar_o_tráfego

Atenção total para atravessar a rua com roadchicken-pt.com e evitar o tráfego intenso Dominando a Arte de Atravessar a Estrada Táticas Avançadas para Pontuações Elevadas A Importância do Timing Perfeito Como Melhorar seu Tempo de Reação Estratégias para Maximizar a Pontuação A Utilização Inteligente dos Power-Ups A Comunidade de Jogadores e a Competitividade Além da […]

Αξιοσημείωτες_δυνατότητες_ψυχαγωγίας_και_η

Αξιοσημείωτες δυνατότητες ψυχαγωγίας και η επίδραση της spinanga στην καθημερινή ρουτίνα μας Η Εξέλιξη της Ψυχαγωγίας και η Εμφάνιση της Spinanga Η Επίδραση της Τεχνολογίας στην Ψυχαγωγία Οι Παράγοντες που Κάνουν την Spinanga Ελκυστική Η Ψυχολογία του Παιχνιδιού Spinanga Spinanga και Κοινωνική Αλληλεπίδραση Η Spinanga ως Μέσο Δικτύωσης Η Επίδραση της Spinanga στην Καθημερινή Ρουτίνα […]