"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 16 – Crystal Detailing

Mostbet букмекерская контора и казино онлайн Мостбет

Mostbet букмекерская контора и казино онлайн Мостбет ▶️ ИГРАТЬ Содержимое Мостбет: надежная букмекерская контора и онлайн-казино Преимущества Мостбета Преимущества работы с Мостбет Большой выбор ставок Если вы ищете надежную букмекерскую контору и казино онлайн, то вам стоит обратить внимание на mostbet . Это одна из лучших букмекерских контор в мире, которая предлагает широкий спектр услуг […]

Pinco kazino O‘zbekistonda – mijozlarni qo‘llab-quvvatlash xizmati

Pinco kazino O‘zbekistonda – mijozlarni qo‘llab-quvvatlash xizmati ▶️ O’YNANG Содержимое Jonli chat orqali tezkor yordam Chat operatorlari va ularning vazifalari Maxsus imkoniyatlar Telefon qo‘ng‘iroqlari va operatsion vaqtlar Pinco kazino O‘zbekistonda onlayn o‘yinlar bozorida tezkor o‘sib borayotgan platformalardan biridir. pinco bet va pinco kazino xizmatlari yuqori texnologik yechimlar, xavfsiz to‘lov tizimlari va foydalanuvchiga qulay interfeys bilan […]

7Slots Casino – En Popüler Slot Oyunları

7Slots Casino – En Popüler Slot Oyunları ▶️ OYNAMAK Содержимое Slot Oyunları Nedir ve Nasıl Oynanır? 7slots giriş ile popüler slot oyunları 7slot slot oyunları Yapay Zeka ile Optimizasyon: En İyi Oyun Seçimi 7slot oyunlarından biri olan “Space Odyssey” da yapay zeka ile geliştirilmiş. Bu oyun, yapay zeka teknolojisi sayesinde oyunun kazanç potansiyeli artırmak için […]

Pin Up Casino – Azərbaycanda Onlayn Kazino – Giriş və Qeydiyyat

Pin Up Casino – Azərbaycanda Onlayn Kazino – Giriş və Qeydiyyat ▶️ OYNA Содержимое Pin Up Casino-da Qeydiyyatdan Keçmənin Əsas Addımları Pin Up Casino Giriş Pin Up Casino-nun Təklif Etdiyi Onlayn Oyunlar və Bonuslar Pin Up Casino-da Ödənişlər və Pul Çıxarılmasının Təhlükəsizliyi Təhlükəsizlik Tədbirləri Pin-up casino giriş üçün ən yaxşı variantlardan biri hesab olunur. Pin […]

Вавада Казино – Официальный Сайт Vavada Casino (2026)

Вавада Казино – Официальный Сайт Vavada Casino (2026) ▶️ ИГРАТЬ Содержимое Регистрация и создание аккаунта: пошаговый гид Краткая инструкция Примеры обхода блокировок Прямой доступ к приветственным бонусам: условия и как получить Ключевые моменты по работе зеркала Сроки и ограничения Выбор слотов: топовые игры 2026 года на Vavada Выплаты: методы, лимиты и скорость транзакций Безопасность и […]

Remarkable_opportunities_await_with_afkspin_casino_and_secure_online_gaming_plat

Remarkable opportunities await with afkspin casino and secure online gaming platforms Understanding Licensing and Regulation The Role of Independent Auditors Security Measures and Data Protection Payment Method Security Game Fairness and Responsible Gambling Setting Limits and Seeking Help Customer Support and Dispute Resolution Exploring Emerging Trends in Online Casino Security 🔥 Play ▶️ Remarkable opportunities […]

Remarkable_rewards_await_players_with_a_betti_casino_no_deposit_bonus_and_thrill

Remarkable rewards await players with a betti casino no deposit bonus and thrilling games today Understanding the Mechanics of No Deposit Bonuses Wagering Requirements and Game Contributions Maximizing Your No Deposit Bonus Potential Strategies for Effective Gameplay Common Restrictions and Potential Pitfalls Identifying and Avoiding Bonus Abuse The Future of No Deposit Bonuses and Casino […]

Opportunità_uniche_con_vegashero_per_unesperienza_di_gioco_senza_paragoni_e_van

Opportunità uniche con vegashero per unesperienza di gioco senza paragoni e vantaggi esclusivi Un'Esplorazione Dettagliata dell'Offerta di Giochi L'Importanza della Scelta del Fornitore di Software Bonus e Promozioni: Un Incentivo Aggiuntivo Come Sfruttare al Meglio i Bonus Offerti Sicurezza e Affidabilità: Un Aspetto Cruciale Misure di Gioco Responsabile Innovazioni Tecnologiche e il Futuro del Gioco […]

Pratiche_istruzioni_e_vivabet_login_rapide_per_una_navigazione_ottimale_nel_gioc

Pratiche istruzioni e vivabet login rapide per una navigazione ottimale nel gioco online Guida Passo Passo per l'Accesso a Vivabet Risoluzione dei Problemi Comuni di Accesso Sicurezza dell'Account Vivabet: Proteggere le Tue Informazioni Consigli Aggiuntivi per la Sicurezza Online Gestione dell'Account Vivabet: Opzioni e Personalizzazione Come Impostare Limiti di Deposito e di Perdita Bonus e […]

Prácticas_esenciales_y_el_impacto_del_bet_label_en_tus_pronósticos_deportivos

Prácticas esenciales y el impacto del bet label en tus pronósticos deportivos online Comprendiendo la Estructura de un Bet Label La Importancia de las Cuotas en un Bet Label Tipos Comunes de Etiquetas de Apuestas El Uso de Etiquetas Combinadas y Especiales La Influencia del Deporte en los Bet Labels Adaptando las Estrategias a los […]