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

Пин Ап Казино Официальный сайт | Pin Up Casino играть онлайн – Вход, Зеркало

Пин Ап Казино Официальный сайт | Pin Up Casino играть онлайн – Вход, Зеркало ▶️ ИГРАТЬ Содержимое Pin Up Casino – Официальный Сайт для Игроков Преимущества официального сайта Pin Up Casino Вход в Казино: Как Зарегистрироваться и Начать Играть Если вы ищете надежный и безопасный способ играть в онлайн-казино, то Pin Up Casino – ваш […]

RioBet Зеркало 2026 – Риобет официальный сайт казино

RioBet Зеркало 2026 – Риобет официальный сайт казино ▶️ ИГРАТЬ Содержимое РиоБет – Официальный сайт казино РиоБет зеркало на сегодня Преимущества игры на официальном сайте РиоБет Безопасность и надежность Возможности игры Бонусы и акции Поддержка Получите доступ к играм и бонусам Выберите игру, которая вам нравится Если вы ищете надежный и безопасный способ играть в […]

Spinanga Casino Österreich – Zahlungsmethoden und Auszahlungszeiten

Spinanga Casino Österreich – Zahlungsmethoden und Auszahlungszeiten ▶️ SPIELEN Содержимое Akzeptierte Kreditkarten und deren Bearbeitungsdauer Schnellste Option E‑Wallets: Sofortige Einzahlungen und schnelle Auszahlungen Banküberweisungen: Schritt‑für‑Schritt‑Anleitung und Fristen Prepaid‑Karten: Sicherheit und Auszahlungsbedingungen Limits und Gebühren für jede Zahlungsmethode Kreditkarte & Sofortüberweisung E‑Wallets & Weitere Tipps zur Beschleunigung von Auszahlungen im Spinanga Casino Verwende e‑Wallets wie Skrill […]

Spinanga Casino AT – Live Casino und verfügbare Spielanbieter

Spinanga Casino AT – Live Casino und verfügbare Spielanbieter ▶️ SPIELEN Содержимое Live-Dealer-Spiele: Verfügbare Tische und Einsatzlimits Einsatzlimits im Überblick Einzahlungsmethoden: Schnell und sicher für Live-Play Kreditkarten & Direktbanken E‑Wallets und Mobile Payment Software-Provider im Live-Bereich: Wer bietet das Spielerlebnis? Mobilität: Live‑Casino auf Smartphone und Tablet nutzen Kundenservice im Live-Casino: Supportzeiten und Kommunikationswege Bonussystem: Live‑Casino‑spezifische […]

Spinanga Casino Österreich – mobile Nutzung auf Smartphone und Tablet

Spinanga Casino Österreich – mobile Nutzung auf Smartphone und Tablet ▶️ SPIELEN Содержимое Spinanga Casino Österreich: Mobile Nutzung auf Smartphone und Tablet Registrierung und Kontoeinrichtung über das Smartphone Erforderliche Angaben Verifizierung in drei Schritten App‑Kompatibilität für iOS und Android Geräte iOS Android Zahlungsoptionen für Ein‑ und Auszahlungen on‑the‑go Spielauswahl und Leistung auf kleinen Bildschirmen Tipps […]

Spinko Casino DE – Einzahlungslimits und Auszahlungsbedingungen

Spinko Casino DE – Einzahlungslimits und Auszahlungsbedingungen ▶️ SPIELEN Содержимое Einzahlungslimits pro Transaktion und Tag Verfügbare Zahlungsmethoden und deren Limits Kreditkarten E‑Wallets Auszahlungsbedingungen: Nachweise und Fristen Im spinko casino de können Spieler aus Deutschland von einer breiten Palette an Zahlungsoptionen profitieren, wobei die Einzahlungslimits klar definiert sind, um sowohl Sicherheit als auch Komfort zu gewährleisten. […]

Spinko Online-Casino – Einzahlungen, Auszahlungen und Zahlungsoptionen

Spinko Online-Casino – Einzahlungen, Auszahlungen und Zahlungsoptionen ▶️ SPIELEN Содержимое Verfügbare Zahlungsmethoden für Einzahlungen Kredit‑ und Debitkarten E‑Wallets und alternative Lösungen Schritte zur schnellen Einzahlung Auswahl der bevorzugten Zahlungsmethode Auszahlungsprozesse und Bearbeitungszeiten Das spinko casino bietet ein breites Spektrum an Zahlungswegen, die sowohl für Anfänger als auch für erfahrene Spieler optimiert sind. Spinko legt besonderen […]