Files
doormile-site/assets/javascript/accordion.28788e18d1d35c23f450.bundle.min.js

190 lines
7.3 KiB
JavaScript

/*! elementor - v3.32.0 - 05-10-2025 */
"use strict";
(self.webpackChunkelementorFrontend = self.webpackChunkelementorFrontend || []).push([[131], {
5249: (e, t, a) => {
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.default = void 0,
a(6281),
a(4846),
a(7458),
a(6211);
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: !0,
hidePrevious: !0,
autoExpand: !0,
keyDirection: {
ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1,
ArrowUp: -1,
ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1,
ArrowDown: 1
}
}
}
getDefaultElements() {
const e = this.getSettings("selectors");
return {
$tabTitles: this.findElement(e.tabTitle),
$tabContents: this.findElement(e.tabContent)
}
}
activateDefaultTab() {
const e = this.getSettings();
if (!e.autoExpand || "editor" === e.autoExpand && !this.isEdit)
return;
const t = this.getEditSettings("activeItemIndex") || 1
, a = {
showTabFn: e.showTabFn,
hideTabFn: e.hideTabFn
};
this.setSettings({
showTabFn: "show",
hideTabFn: "hide"
}),
this.changeActiveTab(t),
this.setSettings(a)
}
handleKeyboardNavigation(e) {
const t = e.currentTarget
, a = jQuery(t.closest(this.getSettings("selectors").tablist))
, i = a.find(this.getSettings("selectors").tabTitle)
, s = "vertical" === a.attr("aria-orientation");
switch (e.key) {
case "ArrowLeft":
case "ArrowRight":
if (s)
return;
break;
case "ArrowUp":
case "ArrowDown":
if (!s)
return;
e.preventDefault();
break;
case "Home":
return e.preventDefault(),
void i.first().trigger("focus");
case "End":
return e.preventDefault(),
void i.last().trigger("focus");
default:
return
}
const n = t.getAttribute("data-tab") - 1
, r = this.getSettings("keyDirection")[e.key]
, o = i[n + r];
o ? o.focus() : -1 === n + r ? i.last().trigger("focus") : i.first().trigger("focus")
}
deactivateActiveTab(e) {
const t = this.getSettings()
, a = t.classes.active
, i = e ? '[data-tab="' + e + '"]' : "." + a
, s = this.elements.$tabTitles.filter(i)
, n = this.elements.$tabContents.filter(i);
s.add(n).removeClass(a + " active"),
s.closest(".elementor-accordion-item").removeClass("active"),
s.attr({
tabindex: "-1",
"aria-selected": "false",
"aria-expanded": "false"
}),
n[t.hideTabFn](),
n.attr("hidden", "hidden")
}
activateTab(e) {
const t = this.getSettings()
, a = t.classes.active
, i = this.elements.$tabTitles.filter('[data-tab="' + e + '"]')
, s = this.elements.$tabContents.filter('[data-tab="' + e + '"]')
, n = "show" === t.showTabFn ? 0 : 400;
i.add(s).addClass(a + " active"),
i.closest(".elementor-accordion-item").addClass("active"),
i.attr({
tabindex: "0",
"aria-selected": "true",
"aria-expanded": "true"
}),
s[t.showTabFn](n, () => elementorFrontend.elements.$window.trigger("elementor-pro/motion-fx/recalc")),
s.removeAttr("hidden")
}
isActiveTab(e) {
return this.elements.$tabTitles.filter('[data-tab="' + e + '"]').hasClass(this.getSettings("classes.active"))
}
bindEvents() {
this.elements.$tabTitles.on({
keydown: e => {
jQuery(e.target).is("a") && "Enter" === e.key && e.preventDefault(),
["End", "Home", "ArrowUp", "ArrowDown"].includes(e.key) && this.handleKeyboardNavigation(e)
}
,
keyup: e => {
switch (e.code) {
case "ArrowLeft":
case "ArrowRight":
this.handleKeyboardNavigation(e);
break;
case "Enter":
case "Space":
e.preventDefault(),
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
}
}
,
click: e => {
e.preventDefault(),
this.changeActiveTab(e.currentTarget.getAttribute("data-tab"))
}
})
}
onInit() {
super.onInit(...arguments),
this.activateDefaultTab()
}
onEditSettingsChange(e) {
"activeItemIndex" === e && this.activateDefaultTab()
}
changeActiveTab(e) {
const t = this.isActiveTab(e)
, a = this.getSettings();
if (t) return;
!a.toggleSelf && t || !a.hidePrevious || this.deactivateActiveTab(),
!a.hidePrevious && t && this.deactivateActiveTab(e),
t || this.activateTab(e)
}
}
t.default = baseTabs
}
,
9675: (e, t, a) => {
var i = a(6784);
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.default = void 0;
var s = i(a(5249));
class Accordion extends s.default {
getDefaultSettings() {
return {
...super.getDefaultSettings(),
showTabFn: "slideDown",
hideTabFn: "slideUp"
}
}
}
t.default = Accordion
}
}]);