| @@ -1,142 +1,7 @@ | ||
| 1 | +/*! elementor - v3.27.0 - 13-02-2025 */ | |
| 1 | 2 | (self["webpackChunkelementorFrontend"] = self["webpackChunkelementorFrontend"] || []).push([["frontend-modules"],{ |
| 2 | 3 | |
| 3 | -/***/ "../app/modules/import-export-customization/assets/js/shared/registry/base.js": | |
| 4 | -/*!************************************************************************************!*\ | |
| 5 | - !*** ../app/modules/import-export-customization/assets/js/shared/registry/base.js ***! | |
| 6 | - \************************************************************************************/ | |
| 7 | -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| 8 | - | |
| 9 | -"use strict"; | |
| 10 | - | |
| 11 | - | |
| 12 | -Object.defineProperty(exports, "__esModule", ({ | |
| 13 | - value: true | |
| 14 | -})); | |
| 15 | -exports.BaseRegistry = void 0; | |
| 16 | -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js"); | |
| 17 | -__webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "../node_modules/core-js/modules/esnext.iterator.filter.js"); | |
| 18 | -__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js"); | |
| 19 | -__webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "../node_modules/core-js/modules/esnext.iterator.map.js"); | |
| 20 | -class BaseRegistry { | |
| 21 | - constructor() { | |
| 22 | - this.sections = new Map(); | |
| 23 | - } | |
| 24 | - register(section) { | |
| 25 | - if (!section.key || !section.title) { | |
| 26 | - throw new Error('Template type must have key and title'); | |
| 27 | - } | |
| 28 | - const existingSection = this.get(section.key); | |
| 29 | - const formattedSection = existingSection || this.formatSection(section); | |
| 30 | - if (section.children) { | |
| 31 | - // If existing section has children, merge them with new children | |
| 32 | - if (formattedSection.children) { | |
| 33 | - const existingChildrenMap = new Map(formattedSection.children.map(child => [child.key, child])); | |
| 34 | - | |
| 35 | - // Override existing children with new ones and add new children | |
| 36 | - section.children.forEach(childSection => { | |
| 37 | - const formattedChild = this.formatSection(childSection); | |
| 38 | - existingChildrenMap.set(childSection.key, formattedChild); | |
| 39 | - }); | |
| 40 | - formattedSection.children = Array.from(existingChildrenMap.values()); | |
| 41 | - } else { | |
| 42 | - formattedSection.children = section.children.map(childSection => this.formatSection(childSection)); | |
| 43 | - } | |
| 44 | - } | |
| 45 | - this.sections.set(section.key, formattedSection); | |
| 46 | - } | |
| 47 | - formatSection({ | |
| 48 | - children, | |
| 49 | - ...section | |
| 50 | - }) { | |
| 51 | - return { | |
| 52 | - key: section.key, | |
| 53 | - title: section.title, | |
| 54 | - description: section.description || '', | |
| 55 | - useParentDefault: section.useParentDefault !== false, | |
| 56 | - getInitialState: section.getInitialState || null, | |
| 57 | - component: section.component || null, | |
| 58 | - order: section.order || 10, | |
| 59 | - isAvailable: section.isAvailable || (() => true), | |
| 60 | - ...section | |
| 61 | - }; | |
| 62 | - } | |
| 63 | - getAll() { | |
| 64 | - return Array.from(this.sections.values()).filter(type => type.isAvailable()).map(type => { | |
| 65 | - if (type.children) { | |
| 66 | - return { | |
| 67 | - ...type, | |
| 68 | - children: [...type.children].sort((a, b) => a.order - b.order) | |
| 69 | - }; | |
| 70 | - } | |
| 71 | - return type; | |
| 72 | - }).sort((a, b) => a.order - b.order); | |
| 73 | - } | |
| 74 | - get(key) { | |
| 75 | - return this.sections.get(key); | |
| 76 | - } | |
| 77 | -} | |
| 78 | -exports.BaseRegistry = BaseRegistry; | |
| 79 | - | |
| 80 | -/***/ }), | |
| 81 | - | |
| 82 | -/***/ "../app/modules/import-export-customization/assets/js/shared/registry/customization-dialogs.js": | |
| 83 | -/*!*****************************************************************************************************!*\ | |
| 84 | - !*** ../app/modules/import-export-customization/assets/js/shared/registry/customization-dialogs.js ***! | |
| 85 | - \*****************************************************************************************************/ | |
| 86 | -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| 87 | - | |
| 88 | -"use strict"; | |
| 89 | - | |
| 90 | - | |
| 91 | -Object.defineProperty(exports, "__esModule", ({ | |
| 92 | - value: true | |
| 93 | -})); | |
| 94 | -exports.customizationDialogsRegistry = void 0; | |
| 95 | -var _base = __webpack_require__(/*! ./base */ "../app/modules/import-export-customization/assets/js/shared/registry/base.js"); | |
| 96 | -const customizationDialogsRegistry = exports.customizationDialogsRegistry = new _base.BaseRegistry(); | |
| 97 | - | |
| 98 | -/***/ }), | |
| 99 | - | |
| 100 | -/***/ "../app/modules/import-export-customization/assets/js/shared/utils/template-registry-helpers.js": | |
| 101 | -/*!******************************************************************************************************!*\ | |
| 102 | - !*** ../app/modules/import-export-customization/assets/js/shared/utils/template-registry-helpers.js ***! | |
| 103 | - \******************************************************************************************************/ | |
| 104 | -/***/ ((__unused_webpack_module, exports) => { | |
| 105 | - | |
| 106 | -"use strict"; | |
| 107 | - | |
| 108 | - | |
| 109 | -Object.defineProperty(exports, "__esModule", ({ | |
| 110 | - value: true | |
| 111 | -})); | |
| 112 | -exports.createGetInitialState = createGetInitialState; | |
| 113 | -function createGetInitialState(exportGroup, additionalProps = {}) { | |
| 114 | - return (data, parentInitialState) => { | |
| 115 | - let isEnabled = parentInitialState; | |
| 116 | - const isImport = data.hasOwnProperty('uploadedData'); | |
| 117 | - if (isImport) { | |
| 118 | - isEnabled = false; | |
| 119 | - const templates = data.uploadedData.manifest.templates; | |
| 120 | - const exportGroups = elementorAppConfig?.['import-export-customization']?.exportGroups || {}; | |
| 121 | - for (const templateId in templates) { | |
| 122 | - const template = templates[templateId]; | |
| 123 | - const templateExportGroup = exportGroups[template.doc_type]; | |
| 124 | - if (templateExportGroup === exportGroup) { | |
| 125 | - isEnabled = true; | |
| 126 | - break; | |
| 127 | - } | |
| 128 | - } | |
| 129 | - } | |
| 130 | - return { | |
| 131 | - enabled: isEnabled, | |
| 132 | - ...additionalProps | |
| 133 | - }; | |
| 134 | - }; | |
| 135 | -} | |
| 136 | - | |
| 137 | -/***/ }), | |
| 138 | - | |
| 139 | 4 | /***/ "../assets/dev/js/editor/utils/is-instanceof.js": |
| 140 | 5 | /*!******************************************************!*\ |
| 141 | 6 | !*** ../assets/dev/js/editor/utils/is-instanceof.js ***! |
| 142 | 7 | \******************************************************/ |
| @@ -405,10 +270,10 @@ | ||
| 405 | 270 | } |
| 406 | 271 | addClassToSwiperContainer(className) { |
| 407 | 272 | this.getDefaultElements().$swiperContainer[0].classList.add(className); |
| 408 | 273 | } |
| 409 | - async onInit(...args) { | |
| 410 | - super.onInit(...args); | |
| 274 | + async onInit() { | |
| 275 | + super.onInit(...arguments); | |
| 411 | 276 | if (!this.elements.$swiperContainer.length || 2 > this.elements.$slides.length) { |
| 412 | 277 | return; |
| 413 | 278 | } |
| 414 | 279 | await this.initSwiper(); |
| @@ -500,9 +365,10 @@ | ||
| 500 | 365 | if ('activeItemIndex' === propertyName) { |
| 501 | 366 | this.swiper.slideToLoop(this.getEditSettings('activeItemIndex') - 1); |
| 502 | 367 | } |
| 503 | 368 | } |
| 504 | - getSpaceBetween(device = null) { | |
| 369 | + getSpaceBetween() { | |
| 370 | + let device = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; | |
| 505 | 371 | const responsiveControlValue = elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), 'image_spacing_custom', 'size', device); |
| 506 | 372 | return Number(responsiveControlValue) || 0; |
| 507 | 373 | } |
| 508 | 374 | updateSpaceBetween(propertyName) { |
| @@ -514,9 +380,10 @@ | ||
| 514 | 380 | } |
| 515 | 381 | this.swiper.params.spaceBetween = newSpaceBetween; |
| 516 | 382 | this.swiper.update(); |
| 517 | 383 | } |
| 518 | - getPaginationBullets(type = 'array') { | |
| 384 | + getPaginationBullets() { | |
| 385 | + let type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'array'; | |
| 519 | 386 | const paginationBullets = this.$element.find(this.getSettings('selectors').paginationBullet); |
| 520 | 387 | return 'array' === type ? Array.from(paginationBullets) : paginationBullets; |
| 521 | 388 | } |
| 522 | 389 | a11ySetPaginationTabindex() { |
| @@ -538,9 +405,10 @@ | ||
| 538 | 405 | transformValue = transformValue.split(','); |
| 539 | 406 | transformValue = parseInt(transformValue[0].replace('px', '')); |
| 540 | 407 | return !!transformValue ? transformValue : 0; |
| 541 | 408 | } |
| 542 | - a11ySetSlideAriaHidden(status = '') { | |
| 409 | + a11ySetSlideAriaHidden() { | |
| 410 | + let status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; | |
| 543 | 411 | const currentIndex = 'initialisation' === status ? 0 : this.swiper?.activeIndex; |
| 544 | 412 | if ('number' !== typeof currentIndex) { |
| 545 | 413 | return; |
| 546 | 414 | } |
| @@ -874,9 +742,10 @@ | ||
| 874 | 742 | } |
| 875 | 743 | isActive(settings) { |
| 876 | 744 | return elementorFrontend.isEditMode() || settings.$element.hasClass(this.getStretchedClass()); |
| 877 | 745 | } |
| 878 | - getStretchElementForConfig(childSelector = null) { | |
| 746 | + getStretchElementForConfig() { | |
| 747 | + let childSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; | |
| 879 | 748 | if (childSelector) { |
| 880 | 749 | return this.$element.find(childSelector); |
| 881 | 750 | } |
| 882 | 751 | return this.$element; |
| @@ -905,14 +774,14 @@ | ||
| 905 | 774 | return; |
| 906 | 775 | } |
| 907 | 776 | this.stretchElement.stretch(); |
| 908 | 777 | } |
| 909 | - onInit(...args) { | |
| 778 | + onInit() { | |
| 910 | 779 | if (!this.isActive(this.getSettings())) { |
| 911 | 780 | return; |
| 912 | 781 | } |
| 913 | 782 | this.initStretch(); |
| 914 | - super.onInit(...args); | |
| 783 | + super.onInit(...arguments); | |
| 915 | 784 | this.stretch(); |
| 916 | 785 | } |
| 917 | 786 | onElementChange(propertyName) { |
| 918 | 787 | const stretchSettingName = this.getStretchSettingName(); |
| @@ -949,8 +818,9 @@ | ||
| 949 | 818 | var _stretchedElement = _interopRequireDefault(__webpack_require__(/*! ./handlers/stretched-element */ "../assets/dev/js/frontend/handlers/stretched-element.js")); |
| 950 | 819 | var _base = _interopRequireDefault(__webpack_require__(/*! ./handlers/base */ "../assets/dev/js/frontend/handlers/base.js")); |
| 951 | 820 | var _baseSwiper = _interopRequireDefault(__webpack_require__(/*! ./handlers/base-swiper */ "../assets/dev/js/frontend/handlers/base-swiper.js")); |
| 952 | 821 | var _baseCarousel = _interopRequireDefault(__webpack_require__(/*! ./handlers/base-carousel */ "../assets/dev/js/frontend/handlers/base-carousel.js")); |
| 822 | +var _nestedTabs = _interopRequireDefault(__webpack_require__(/*! elementor/modules/nested-tabs/assets/js/frontend/handlers/nested-tabs */ "../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js")); | |
| 953 | 823 | _modules.default.frontend = { |
| 954 | 824 | Document: _document.default, |
| 955 | 825 | tools: { |
| 956 | 826 | StretchElement: _stretchElement.default |
| @@ -958,9 +828,10 @@ | ||
| 958 | 828 | handlers: { |
| 959 | 829 | Base: _base.default, |
| 960 | 830 | StretchedElement: _stretchedElement.default, |
| 961 | 831 | SwiperBase: _baseSwiper.default, |
| 962 | - CarouselBase: _baseCarousel.default | |
| 832 | + CarouselBase: _baseCarousel.default, | |
| 833 | + NestedTabs: _nestedTabs.default | |
| 963 | 834 | } |
| 964 | 835 | }; |
| 965 | 836 | |
| 966 | 837 | /***/ }), |
| @@ -1075,8 +946,102 @@ | ||
| 1075 | 946 | }); |
| 1076 | 947 | |
| 1077 | 948 | /***/ }), |
| 1078 | 949 | |
| 950 | +/***/ "../assets/dev/js/frontend/utils/flex-horizontal-scroll.js": | |
| 951 | +/*!*****************************************************************!*\ | |
| 952 | + !*** ../assets/dev/js/frontend/utils/flex-horizontal-scroll.js ***! | |
| 953 | + \*****************************************************************/ | |
| 954 | +/***/ ((__unused_webpack_module, exports) => { | |
| 955 | + | |
| 956 | +"use strict"; | |
| 957 | + | |
| 958 | + | |
| 959 | +Object.defineProperty(exports, "__esModule", ({ | |
| 960 | + value: true | |
| 961 | +})); | |
| 962 | +exports.changeScrollStatus = changeScrollStatus; | |
| 963 | +exports.setHorizontalScrollAlignment = setHorizontalScrollAlignment; | |
| 964 | +exports.setHorizontalTitleScrollValues = setHorizontalTitleScrollValues; | |
| 965 | +function changeScrollStatus(element, event) { | |
| 966 | + if ('mousedown' === event.type) { | |
| 967 | + element.classList.add('e-scroll'); | |
| 968 | + element.dataset.pageX = event.pageX; | |
| 969 | + } else { | |
| 970 | + element.classList.remove('e-scroll', 'e-scroll-active'); | |
| 971 | + element.dataset.pageX = ''; | |
| 972 | + } | |
| 973 | +} | |
| 974 | + | |
| 975 | +// This function was written using this example https://codepen.io/thenutz/pen/VwYeYEE. | |
| 976 | +function setHorizontalTitleScrollValues(element, horizontalScrollStatus, event) { | |
| 977 | + const isActiveScroll = element.classList.contains('e-scroll'), | |
| 978 | + isHorizontalScrollActive = 'enable' === horizontalScrollStatus, | |
| 979 | + headingContentIsWiderThanWrapper = element.scrollWidth > element.clientWidth; | |
| 980 | + if (!isActiveScroll || !isHorizontalScrollActive || !headingContentIsWiderThanWrapper) { | |
| 981 | + return; | |
| 982 | + } | |
| 983 | + event.preventDefault(); | |
| 984 | + const previousPositionX = parseFloat(element.dataset.pageX), | |
| 985 | + mouseMoveX = event.pageX - previousPositionX, | |
| 986 | + maximumScrollValue = 5, | |
| 987 | + stepLimit = 20; | |
| 988 | + let toScrollDistanceX = 0; | |
| 989 | + if (stepLimit < mouseMoveX) { | |
| 990 | + toScrollDistanceX = maximumScrollValue; | |
| 991 | + } else if (stepLimit * -1 > mouseMoveX) { | |
| 992 | + toScrollDistanceX = -1 * maximumScrollValue; | |
| 993 | + } else { | |
| 994 | + toScrollDistanceX = mouseMoveX; | |
| 995 | + } | |
| 996 | + element.scrollLeft = element.scrollLeft - toScrollDistanceX; | |
| 997 | + element.classList.add('e-scroll-active'); | |
| 998 | +} | |
| 999 | +function setHorizontalScrollAlignment(_ref) { | |
| 1000 | + let { | |
| 1001 | + element, | |
| 1002 | + direction, | |
| 1003 | + justifyCSSVariable, | |
| 1004 | + horizontalScrollStatus | |
| 1005 | + } = _ref; | |
| 1006 | + if (!element) { | |
| 1007 | + return; | |
| 1008 | + } | |
| 1009 | + if (isHorizontalScroll(element, horizontalScrollStatus)) { | |
| 1010 | + initialScrollPosition(element, direction, justifyCSSVariable); | |
| 1011 | + } else { | |
| 1012 | + element.style.setProperty(justifyCSSVariable, ''); | |
| 1013 | + } | |
| 1014 | +} | |
| 1015 | +function isHorizontalScroll(element, horizontalScrollStatus) { | |
| 1016 | + return element.clientWidth < getChildrenWidth(element.children) && 'enable' === horizontalScrollStatus; | |
| 1017 | +} | |
| 1018 | +function getChildrenWidth(children) { | |
| 1019 | + let totalWidth = 0; | |
| 1020 | + const parentContainer = children[0].parentNode, | |
| 1021 | + computedStyles = getComputedStyle(parentContainer), | |
| 1022 | + gap = parseFloat(computedStyles.gap) || 0; // Get the gap value or default to 0 if it's not specified | |
| 1023 | + | |
| 1024 | + for (let i = 0; i < children.length; i++) { | |
| 1025 | + totalWidth += children[i].offsetWidth + gap; | |
| 1026 | + } | |
| 1027 | + return totalWidth; | |
| 1028 | +} | |
| 1029 | +function initialScrollPosition(element, direction, justifyCSSVariable) { | |
| 1030 | + const isRTL = elementorFrontend.config.is_rtl; | |
| 1031 | + switch (direction) { | |
| 1032 | + case 'end': | |
| 1033 | + element.style.setProperty(justifyCSSVariable, 'start'); | |
| 1034 | + element.scrollLeft = isRTL ? -1 * getChildrenWidth(element.children) : getChildrenWidth(element.children); | |
| 1035 | + break; | |
| 1036 | + default: | |
| 1037 | + element.style.setProperty(justifyCSSVariable, 'start'); | |
| 1038 | + element.scrollLeft = 0; | |
| 1039 | + } | |
| 1040 | +} | |
| 1041 | + | |
| 1042 | +/***/ }), | |
| 1043 | + | |
| 1079 | 1044 | /***/ "../assets/dev/js/modules/imports/args-object.js": |
| 1080 | 1045 | /*!*******************************************************!*\ |
| 1081 | 1046 | !*** ../assets/dev/js/modules/imports/args-object.js ***! |
| 1082 | 1047 | \*******************************************************/ |
| @@ -1118,9 +1083,10 @@ | ||
| 1118 | 1083 | * @param {{}} args |
| 1119 | 1084 | * |
| 1120 | 1085 | * @throws {Error} |
| 1121 | 1086 | */ |
| 1122 | - requireArgument(property, args = this.args) { | |
| 1087 | + requireArgument(property) { | |
| 1088 | + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.args; | |
| 1123 | 1089 | if (!Object.prototype.hasOwnProperty.call(args, property)) { |
| 1124 | 1090 | throw Error(`${property} is required.`); |
| 1125 | 1091 | } |
| 1126 | 1092 | } |
| @@ -1135,9 +1101,10 @@ | ||
| 1135 | 1101 | * @param {{}} args |
| 1136 | 1102 | * |
| 1137 | 1103 | * @throws {Error} |
| 1138 | 1104 | */ |
| 1139 | - requireArgumentType(property, type, args = this.args) { | |
| 1105 | + requireArgumentType(property, type) { | |
| 1106 | + let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; | |
| 1140 | 1107 | this.requireArgument(property, args); |
| 1141 | 1108 | if (typeof args[property] !== type) { |
| 1142 | 1109 | throw Error(`${property} invalid type: ${type}.`); |
| 1143 | 1110 | } |
| @@ -1153,9 +1120,10 @@ | ||
| 1153 | 1120 | * @param {{}} args |
| 1154 | 1121 | * |
| 1155 | 1122 | * @throws {Error} |
| 1156 | 1123 | */ |
| 1157 | - requireArgumentInstance(property, instance, args = this.args) { | |
| 1124 | + requireArgumentInstance(property, instance) { | |
| 1125 | + let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; | |
| 1158 | 1126 | this.requireArgument(property, args); |
| 1159 | 1127 | if (!(args[property] instanceof instance) && !(0, _isInstanceof.default)(args[property], instance)) { |
| 1160 | 1128 | throw Error(`${property} invalid instance.`); |
| 1161 | 1129 | } |
| @@ -1171,9 +1139,10 @@ | ||
| 1171 | 1139 | * @param {{}} args |
| 1172 | 1140 | * |
| 1173 | 1141 | * @throws {Error} |
| 1174 | 1142 | */ |
| 1175 | - requireArgumentConstructor(property, type, args = this.args) { | |
| 1143 | + requireArgumentConstructor(property, type) { | |
| 1144 | + let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; | |
| 1176 | 1145 | this.requireArgument(property, args); |
| 1177 | 1146 | |
| 1178 | 1147 | // Note: Converting the constructor to string in order to avoid equation issues |
| 1179 | 1148 | // due to different memory addresses between iframes (window.Object !== window.top.Object). |
| @@ -1189,9 +1158,9 @@ | ||
| 1189 | 1158 | /***/ "../assets/dev/js/modules/imports/force-method-implementation.js": |
| 1190 | 1159 | /*!***********************************************************************!*\ |
| 1191 | 1160 | !*** ../assets/dev/js/modules/imports/force-method-implementation.js ***! |
| 1192 | 1161 | \***********************************************************************/ |
| 1193 | -/***/ ((__unused_webpack_module, exports) => { | |
| 1162 | +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| 1194 | 1163 | |
| 1195 | 1164 | "use strict"; |
| 1196 | 1165 | |
| 1197 | 1166 | |
| @@ -1198,12 +1167,15 @@ | ||
| 1198 | 1167 | Object.defineProperty(exports, "__esModule", ({ |
| 1199 | 1168 | value: true |
| 1200 | 1169 | })); |
| 1201 | 1170 | exports["default"] = exports.ForceMethodImplementation = void 0; |
| 1171 | +__webpack_require__(/*! core-js/modules/es.array.includes.js */ "../node_modules/core-js/modules/es.array.includes.js"); | |
| 1202 | 1172 | // TODO: Wrong location used as `elementorModules.ForceMethodImplementation(); should be` `elementorUtils.forceMethodImplementation()`; |
| 1203 | 1173 | |
| 1204 | 1174 | class ForceMethodImplementation extends Error { |
| 1205 | - constructor(info = {}, args = {}) { | |
| 1175 | + constructor() { | |
| 1176 | + let info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | |
| 1177 | + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | |
| 1206 | 1178 | super(`${info.isStatic ? 'static ' : ''}${info.fullName}() should be implemented, please provide '${info.functionName || info.fullName}' functionality.`, args); |
| 1207 | 1179 | |
| 1208 | 1180 | // Allow to pass custom properties to the error. |
| 1209 | 1181 | if (Object.keys(args).length) { |
| @@ -1556,9 +1528,10 @@ | ||
| 1556 | 1528 | let lastScrollY = 0; |
| 1557 | 1529 | |
| 1558 | 1530 | // Generating thresholds points along the animation height |
| 1559 | 1531 | // More thresholds points = more trigger points of the callback |
| 1560 | - const buildThresholds = (sensitivityPercentage = 0) => { | |
| 1532 | + const buildThresholds = function () { | |
| 1533 | + let sensitivityPercentage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; | |
| 1561 | 1534 | const thresholds = []; |
| 1562 | 1535 | if (sensitivityPercentage > 0 && sensitivityPercentage <= 100) { |
| 1563 | 1536 | const increment = 100 / sensitivityPercentage; |
| 1564 | 1537 | for (let i = 0; i <= 100; i += increment) { |
| @@ -1595,9 +1568,10 @@ | ||
| 1595 | 1568 | * @param {Object} offsetObj |
| 1596 | 1569 | * @param {number} offsetObj.start - Offset start value in percentages |
| 1597 | 1570 | * @param {number} offsetObj.end - Offset end value in percentages |
| 1598 | 1571 | */ |
| 1599 | - static getElementViewportPercentage($element, offsetObj = {}) { | |
| 1572 | + static getElementViewportPercentage($element) { | |
| 1573 | + let offsetObj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | |
| 1600 | 1574 | const elementOffset = $element[0].getBoundingClientRect(), |
| 1601 | 1575 | offsetStart = offsetObj.start || 0, |
| 1602 | 1576 | offsetEnd = offsetObj.end || 0, |
| 1603 | 1577 | windowStartOffset = window.innerHeight * offsetStart / 100, |
| @@ -1615,9 +1589,11 @@ | ||
| 1615 | 1589 | * @param {number} offsetObj.start - Offset start value in percentages |
| 1616 | 1590 | * @param {number} offsetObj.end - Offset end value in percentages |
| 1617 | 1591 | * @param {number} limitPageHeight - Will limit the page height calculation |
| 1618 | 1592 | */ |
| 1619 | - static getPageScrollPercentage(offsetObj = {}, limitPageHeight) { | |
| 1593 | + static getPageScrollPercentage() { | |
| 1594 | + let offsetObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | |
| 1595 | + let limitPageHeight = arguments.length > 1 ? arguments[1] : undefined; | |
| 1620 | 1596 | const offsetStart = offsetObj.start || 0, |
| 1621 | 1597 | offsetEnd = offsetObj.end || 0, |
| 1622 | 1598 | initialPageHeight = limitPageHeight || document.documentElement.scrollHeight - document.documentElement.clientHeight, |
| 1623 | 1599 | heightOffset = initialPageHeight * offsetStart / 100, |
| @@ -1681,11 +1657,9 @@ | ||
| 1681 | 1657 | var _argsObject = _interopRequireDefault(__webpack_require__(/*! ./imports/args-object */ "../assets/dev/js/modules/imports/args-object.js")); |
| 1682 | 1658 | var _masonry = _interopRequireDefault(__webpack_require__(/*! ./imports/utils/masonry */ "../assets/dev/js/modules/imports/utils/masonry.js")); |
| 1683 | 1659 | var _scroll = _interopRequireDefault(__webpack_require__(/*! ./imports/utils/scroll */ "../assets/dev/js/modules/imports/utils/scroll.js")); |
| 1684 | 1660 | var _forceMethodImplementation = _interopRequireDefault(__webpack_require__(/*! ./imports/force-method-implementation */ "../assets/dev/js/modules/imports/force-method-implementation.js")); |
| 1685 | -var _templateRegistryHelpers = __webpack_require__(/*! ../../../../app/modules/import-export-customization/assets/js/shared/utils/template-registry-helpers */ "../app/modules/import-export-customization/assets/js/shared/utils/template-registry-helpers.js"); | |
| 1686 | -var _customizationDialogs = __webpack_require__(/*! ../../../../app/modules/import-export-customization/assets/js/shared/registry/customization-dialogs */ "../app/modules/import-export-customization/assets/js/shared/registry/customization-dialogs.js"); | |
| 1687 | -const baseModules = { | |
| 1661 | +var _default = exports["default"] = window.elementorModules = { | |
| 1688 | 1662 | Module: _module.default, |
| 1689 | 1663 | ViewModule: _viewModule.default, |
| 1690 | 1664 | ArgsObject: _argsObject.default, |
| 1691 | 1665 | ForceMethodImplementation: _forceMethodImplementation.default, |
| @@ -1691,20 +1665,419 @@ | ||
| 1691 | 1665 | ForceMethodImplementation: _forceMethodImplementation.default, |
| 1692 | 1666 | utils: { |
| 1693 | 1667 | Masonry: _masonry.default, |
| 1694 | 1668 | Scroll: _scroll.default |
| 1695 | - }, | |
| 1696 | - importExport: { | |
| 1697 | - createGetInitialState: _templateRegistryHelpers.createGetInitialState, | |
| 1698 | - customizationDialogsRegistry: _customizationDialogs.customizationDialogsRegistry | |
| 1699 | 1669 | } |
| 1700 | 1670 | }; |
| 1701 | -if (!window.elementorModules) { | |
| 1702 | - window.elementorModules = baseModules; | |
| 1703 | -} else { | |
| 1704 | - Object.assign(window.elementorModules, baseModules); | |
| 1671 | + | |
| 1672 | +/***/ }), | |
| 1673 | + | |
| 1674 | +/***/ "../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js": | |
| 1675 | +/*!*************************************************************************!*\ | |
| 1676 | + !*** ../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js ***! | |
| 1677 | + \*************************************************************************/ | |
| 1678 | +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | |
| 1679 | + | |
| 1680 | +"use strict"; | |
| 1681 | + | |
| 1682 | + | |
| 1683 | +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); | |
| 1684 | +Object.defineProperty(exports, "__esModule", ({ | |
| 1685 | + value: true | |
| 1686 | +})); | |
| 1687 | +exports["default"] = void 0; | |
| 1688 | +__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js"); | |
| 1689 | +__webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "../node_modules/core-js/modules/esnext.iterator.filter.js"); | |
| 1690 | +__webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "../node_modules/core-js/modules/esnext.iterator.find.js"); | |
| 1691 | +var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js")); | |
| 1692 | +var _flexHorizontalScroll = __webpack_require__(/*! elementor-frontend-utils/flex-horizontal-scroll */ "../assets/dev/js/frontend/utils/flex-horizontal-scroll.js"); | |
| 1693 | +class NestedTabs extends _base.default { | |
| 1694 | + /** | |
| 1695 | + * @param {string|number} tabIndex | |
| 1696 | + * | |
| 1697 | + * @return {string} | |
| 1698 | + */ | |
| 1699 | + getTabTitleFilterSelector(tabIndex) { | |
| 1700 | + return `[${this.getSettings('dataAttributes').tabIndex}="${tabIndex}"]`; | |
| 1701 | + } | |
| 1702 | + | |
| 1703 | + /** | |
| 1704 | + * @param {string|number} tabIndex | |
| 1705 | + * | |
| 1706 | + * @return {string} | |
| 1707 | + */ | |
| 1708 | + getTabContentFilterSelector(tabIndex) { | |
| 1709 | + return `*:nth-child(${tabIndex})`; | |
| 1710 | + } | |
| 1711 | + | |
| 1712 | + /** | |
| 1713 | + * @param {HTMLElement} tabTitleElement | |
| 1714 | + * | |
| 1715 | + * @return {string} | |
| 1716 | + */ | |
| 1717 | + getTabIndex(tabTitleElement) { | |
| 1718 | + return tabTitleElement.getAttribute(this.getSettings('dataAttributes').tabIndex); | |
| 1719 | + } | |
| 1720 | + getActiveTabIndex() { | |
| 1721 | + const settings = this.getSettings(), | |
| 1722 | + activeTitleFilter = settings.ariaAttributes.activeTitleSelector, | |
| 1723 | + tabIndexSelector = settings.dataAttributes.tabIndex, | |
| 1724 | + $activeTitle = this.elements.$tabTitles.filter(activeTitleFilter); | |
| 1725 | + return $activeTitle.attr(tabIndexSelector) || null; | |
| 1726 | + } | |
| 1727 | + getWidgetNumber() { | |
| 1728 | + return this.$element.find('> .elementor-widget-container > .e-n-tabs, > .e-n-tabs').attr('data-widget-number'); | |
| 1729 | + } | |
| 1730 | + getDefaultSettings() { | |
| 1731 | + const widgetNumber = this.getWidgetNumber(); | |
| 1732 | + return { | |
| 1733 | + selectors: { | |
| 1734 | + widgetContainer: `[data-widget-number="${widgetNumber}"]`, | |
| 1735 | + tabTitle: `[aria-controls*="e-n-tab-content-${widgetNumber}"]`, | |
| 1736 | + tabTitleIcon: `[id*="e-n-tab-title-${widgetNumber}"] > .e-n-tab-icon`, | |
| 1737 | + tabTitleText: `[id*="e-n-tab-title-${widgetNumber}"] > .e-n-tab-title-text`, | |
| 1738 | + tabContent: `[data-widget-number="${widgetNumber}"] > .e-n-tabs-content > .e-con`, | |
| 1739 | + headingContainer: `[data-widget-number="${widgetNumber}"] > .e-n-tabs-heading`, | |
| 1740 | + activeTabContentContainers: `[id*="e-n-tab-content-${widgetNumber}"].e-active` | |
| 1741 | + }, | |
| 1742 | + classes: { | |
| 1743 | + active: 'e-active' | |
| 1744 | + }, | |
| 1745 | + dataAttributes: { | |
| 1746 | + tabIndex: 'data-tab-index' | |
| 1747 | + }, | |
| 1748 | + ariaAttributes: { | |
| 1749 | + titleStateAttribute: 'aria-selected', | |
| 1750 | + activeTitleSelector: '[aria-selected="true"]' | |
| 1751 | + }, | |
| 1752 | + showTabFn: 'show', | |
| 1753 | + hideTabFn: 'hide', | |
| 1754 | + toggleSelf: false, | |
| 1755 | + hidePrevious: true, | |
| 1756 | + autoExpand: true | |
| 1757 | + }; | |
| 1758 | + } | |
| 1759 | + getDefaultElements() { | |
| 1760 | + const selectors = this.getSettings('selectors'); | |
| 1761 | + return { | |
| 1762 | + $widgetContainer: this.findElement(selectors.widgetContainer), | |
| 1763 | + $tabTitles: this.findElement(selectors.tabTitle), | |
| 1764 | + $tabContents: this.findElement(selectors.tabContent), | |
| 1765 | + $headingContainer: this.findElement(selectors.headingContainer) | |
| 1766 | + }; | |
| 1767 | + } | |
| 1768 | + getKeyboardNavigationSettings() { | |
| 1769 | + return this.getSettings(); | |
| 1770 | + } | |
| 1771 | + activateDefaultTab() { | |
| 1772 | + const settings = this.getSettings(); | |
| 1773 | + const defaultActiveTab = this.getEditSettings('activeItemIndex') || 1, | |
| 1774 | + originalToggleMethods = { | |
| 1775 | + showTabFn: settings.showTabFn, | |
| 1776 | + hideTabFn: settings.hideTabFn | |
| 1777 | + }; | |
| 1778 | + | |
| 1779 | + // Toggle tabs without animation to avoid jumping | |
| 1780 | + this.setSettings({ | |
| 1781 | + showTabFn: 'show', | |
| 1782 | + hideTabFn: 'hide' | |
| 1783 | + }); | |
| 1784 | + this.changeActiveTab(defaultActiveTab); | |
| 1785 | + | |
| 1786 | + // Return back original toggle effects | |
| 1787 | + this.setSettings(originalToggleMethods); | |
| 1788 | + this.elements.$widgetContainer.addClass('e-activated'); | |
| 1789 | + } | |
| 1790 | + deactivateActiveTab(newTabIndex) { | |
| 1791 | + const settings = this.getSettings(), | |
| 1792 | + activeClass = settings.classes.active, | |
| 1793 | + activeTitleFilter = settings.ariaAttributes.activeTitleSelector, | |
| 1794 | + activeContentFilter = '.' + activeClass, | |
| 1795 | + $activeTitle = this.elements.$tabTitles.filter(activeTitleFilter), | |
| 1796 | + $activeContent = this.elements.$tabContents.filter(activeContentFilter); | |
| 1797 | + this.setTabDeactivationAttributes($activeTitle, newTabIndex); | |
| 1798 | + $activeContent.removeClass(activeClass); | |
| 1799 | + $activeContent[settings.hideTabFn](0, () => this.onHideTabContent($activeContent)); | |
| 1800 | + return $activeContent; | |
| 1801 | + } | |
| 1802 | + getTitleActivationAttributes() { | |
| 1803 | + const titleStateAttribute = this.getSettings('ariaAttributes').titleStateAttribute; | |
| 1804 | + return { | |
| 1805 | + tabindex: '0', | |
| 1806 | + [titleStateAttribute]: 'true' | |
| 1807 | + }; | |
| 1808 | + } | |
| 1809 | + setTabDeactivationAttributes($activeTitle) { | |
| 1810 | + const titleStateAttribute = this.getSettings('ariaAttributes').titleStateAttribute; | |
| 1811 | + $activeTitle.attr({ | |
| 1812 | + tabindex: '-1', | |
| 1813 | + [titleStateAttribute]: 'false' | |
| 1814 | + }); | |
| 1815 | + } | |
| 1816 | + onHideTabContent() {} | |
| 1817 | + activateTab(tabIndex) { | |
| 1818 | + const settings = this.getSettings(), | |
| 1819 | + activeClass = settings.classes.active, | |
| 1820 | + animationDuration = 'show' === settings.showTabFn ? 0 : 400; | |
| 1821 | + let $requestedTitle = this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(tabIndex)), | |
| 1822 | + $requestedContent = this.elements.$tabContents.filter(this.getTabContentFilterSelector(tabIndex)); | |
| 1823 | + | |
| 1824 | + // Check if the tabIndex exists. | |
| 1825 | + if (!$requestedTitle.length) { | |
| 1826 | + // Activate the previous tab and ensure that the tab index is not less than 1. | |
| 1827 | + const previousTabIndex = Math.max(tabIndex - 1, 1); | |
| 1828 | + $requestedTitle = this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(previousTabIndex)); | |
| 1829 | + $requestedContent = this.elements.$tabContents.filter(this.getTabContentFilterSelector(previousTabIndex)); | |
| 1830 | + } | |
| 1831 | + $requestedTitle.attr(this.getTitleActivationAttributes()); | |
| 1832 | + $requestedContent.addClass(activeClass); | |
| 1833 | + $requestedContent[settings.showTabFn](animationDuration, () => this.onShowTabContent($requestedContent)); | |
| 1834 | + } | |
| 1835 | + onShowTabContent($requestedContent) { | |
| 1836 | + elementorFrontend.elements.$window.trigger('elementor-pro/motion-fx/recalc'); | |
| 1837 | + elementorFrontend.elements.$window.trigger('elementor/nested-tabs/activate', $requestedContent); | |
| 1838 | + elementorFrontend.elements.$window.trigger('elementor/bg-video/recalc'); | |
| 1839 | + } | |
| 1840 | + isActiveTab(tabIndex) { | |
| 1841 | + const settings = this.getSettings(), | |
| 1842 | + isActiveTabTitle = 'true' === this.elements.$tabTitles.filter(`[${settings.dataAttributes.tabIndex}="${tabIndex}"]`).attr(settings.ariaAttributes.titleStateAttribute), | |
| 1843 | + isActiveTabContent = this.elements.$tabContents.filter(this.getTabContentFilterSelector(tabIndex)).hasClass(this.getActiveClass()); | |
| 1844 | + return isActiveTabTitle && isActiveTabContent; | |
| 1845 | + } | |
| 1846 | + onTabClick(event) { | |
| 1847 | + event.preventDefault(); | |
| 1848 | + this.changeActiveTab(event.currentTarget?.getAttribute(this.getSettings('dataAttributes').tabIndex), true); | |
| 1849 | + } | |
| 1850 | + getTabEvents() { | |
| 1851 | + return { | |
| 1852 | + click: this.onTabClick.bind(this) | |
| 1853 | + }; | |
| 1854 | + } | |
| 1855 | + getHeadingEvents() { | |
| 1856 | + const navigationWrapper = this.elements.$headingContainer[0]; | |
| 1857 | + return { | |
| 1858 | + mousedown: _flexHorizontalScroll.changeScrollStatus.bind(this, navigationWrapper), | |
| 1859 | + mouseup: _flexHorizontalScroll.changeScrollStatus.bind(this, navigationWrapper), | |
| 1860 | + mouseleave: _flexHorizontalScroll.changeScrollStatus.bind(this, navigationWrapper), | |
| 1861 | + mousemove: _flexHorizontalScroll.setHorizontalTitleScrollValues.bind(this, navigationWrapper, this.getHorizontalScrollSetting()) | |
| 1862 | + }; | |
| 1863 | + } | |
| 1864 | + bindEvents() { | |
| 1865 | + this.elements.$tabTitles.on(this.getTabEvents()); | |
| 1866 | + this.elements.$headingContainer.on(this.getHeadingEvents()); | |
| 1867 | + elementorFrontend.elements.$window.on('resize', this.onResizeUpdateHorizontalScrolling.bind(this)); | |
| 1868 | + elementorFrontend.elements.$window.on('resize', this.setTouchMode.bind(this)); | |
| 1869 | + elementorFrontend.elements.$window.on('elementor/nested-tabs/activate', this.reInitSwipers); | |
| 1870 | + elementorFrontend.elements.$window.on('elementor/nested-elements/activate-by-keyboard', this.changeActiveTabByKeyboard.bind(this)); | |
| 1871 | + elementorFrontend.elements.$window.on('elementor/nested-container/atomic-repeater', this.linkContainer.bind(this)); | |
| 1872 | + } | |
| 1873 | + unbindEvents() { | |
| 1874 | + this.elements.$tabTitles.off(); | |
| 1875 | + this.elements.$headingContainer.off(); | |
| 1876 | + this.elements.$tabContents.children().off(); | |
| 1877 | + elementorFrontend.elements.$window.off('resize', this.onResizeUpdateHorizontalScrolling.bind(this)); | |
| 1878 | + elementorFrontend.elements.$window.off('resize', this.setTouchMode.bind(this)); | |
| 1879 | + elementorFrontend.elements.$window.off('elementor/nested-tabs/activate', this.reInitSwipers); | |
| 1880 | + elementorFrontend.elements.$window.off('elementor/nested-elements/activate-by-keyboard', this.changeActiveTabByKeyboard.bind(this)); | |
| 1881 | + elementorFrontend.elements.$window.off('elementor/nested-container/atomic-repeater', this.linkContainer.bind(this)); | |
| 1882 | + } | |
| 1883 | + | |
| 1884 | + /** | |
| 1885 | + * Fixes issues where Swipers that have been initialized while a tab is not visible are not properly rendered | |
| 1886 | + * and when switching to the tab the swiper will not respect any of the chosen `autoplay` related settings. | |
| 1887 | + * | |
| 1888 | + * This is triggered when switching to a nested tab, looks for Swipers in the tab content and reinitializes them. | |
| 1889 | + * | |
| 1890 | + * @param {Object} event - Incoming event. | |
| 1891 | + * @param {Object} content - Active nested tab dom element. | |
| 1892 | + */ | |
| 1893 | + reInitSwipers(event, content) { | |
| 1894 | + const swiperElements = content.querySelectorAll('.swiper'); | |
| 1895 | + for (const element of swiperElements) { | |
| 1896 | + if (!element.swiper) { | |
| 1897 | + return; | |
| 1898 | + } | |
| 1899 | + element.swiper.initialized = false; | |
| 1900 | + element.swiper.init(); | |
| 1901 | + } | |
| 1902 | + } | |
| 1903 | + onInit() { | |
| 1904 | + super.onInit(...arguments); | |
| 1905 | + if (this.getSettings('autoExpand')) { | |
| 1906 | + this.activateDefaultTab(); | |
| 1907 | + } | |
| 1908 | + (0, _flexHorizontalScroll.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings()); | |
| 1909 | + this.setTouchMode(); | |
| 1910 | + if ('nested-tabs.default' === this.getSettings('elementName')) { | |
| 1911 | + __webpack_require__.e(/*! import() | nested-title-keyboard-handler */ "nested-title-keyboard-handler").then(__webpack_require__.bind(__webpack_require__, /*! elementor-frontend/handlers/accessibility/nested-title-keyboard-handler */ "../assets/dev/js/frontend/handlers/accessibility/nested-title-keyboard-handler.js")).then(_ref => { | |
| 1912 | + let { | |
| 1913 | + default: NestedTitleKeyboardHandler | |
| 1914 | + } = _ref; | |
| 1915 | + new NestedTitleKeyboardHandler(this.getKeyboardNavigationSettings()); | |
| 1916 | + }).catch(error => { | |
| 1917 | + // eslint-disable-next-line no-console | |
| 1918 | + console.error('Error importing module:', error); | |
| 1919 | + }); | |
| 1920 | + } | |
| 1921 | + } | |
| 1922 | + onEditSettingsChange(propertyName, value) { | |
| 1923 | + if ('activeItemIndex' === propertyName) { | |
| 1924 | + this.changeActiveTab(value, false); | |
| 1925 | + } | |
| 1926 | + } | |
| 1927 | + onElementChange(propertyName) { | |
| 1928 | + if (this.checkSliderPropsToWatch(propertyName)) { | |
| 1929 | + (0, _flexHorizontalScroll.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings()); | |
| 1930 | + } | |
| 1931 | + } | |
| 1932 | + checkSliderPropsToWatch(propertyName) { | |
| 1933 | + return 0 === propertyName.indexOf('horizontal_scroll') || 'breakpoint_selector' === propertyName || 0 === propertyName.indexOf('tabs_justify_horizontal') || 0 === propertyName.indexOf('tabs_title_space_between'); | |
| 1934 | + } | |
| 1935 | + | |
| 1936 | + /** | |
| 1937 | + * @param {string} tabIndex | |
| 1938 | + * @param {boolean} fromUser - Whether the call is caused by the user or internal. | |
| 1939 | + */ | |
| 1940 | + changeActiveTab(tabIndex) { | |
| 1941 | + let fromUser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; | |
| 1942 | + // `document/repeater/select` is used only in the editor, only when the element | |
| 1943 | + // is in the currently-edited document, and only when its not internal call, | |
| 1944 | + if (fromUser && this.isEdit && this.isElementInTheCurrentDocument()) { | |
| 1945 | + return window.top.$e.run('document/repeater/select', { | |
| 1946 | + container: elementor.getContainer(this.$element.attr('data-id')), | |
| 1947 | + index: parseInt(tabIndex) | |
| 1948 | + }); | |
| 1949 | + } | |
| 1950 | + const isActiveTab = this.isActiveTab(tabIndex), | |
| 1951 | + settings = this.getSettings(); | |
| 1952 | + if ((settings.toggleSelf || !isActiveTab) && settings.hidePrevious) { | |
| 1953 | + this.deactivateActiveTab(tabIndex); | |
| 1954 | + } | |
| 1955 | + if (!settings.hidePrevious && isActiveTab) { | |
| 1956 | + this.deactivateActiveTab(tabIndex); | |
| 1957 | + } | |
| 1958 | + if (!isActiveTab) { | |
| 1959 | + if (this.isAccordionVersion()) { | |
| 1960 | + this.activateMobileTab(tabIndex); | |
| 1961 | + return; | |
| 1962 | + } | |
| 1963 | + this.activateTab(tabIndex); | |
| 1964 | + } | |
| 1965 | + } | |
| 1966 | + changeActiveTabByKeyboard(event, settings) { | |
| 1967 | + if (settings.widgetId.toString() !== this.getID().toString()) { | |
| 1968 | + return; | |
| 1969 | + } | |
| 1970 | + this.changeActiveTab(settings.titleIndex, true); | |
| 1971 | + } | |
| 1972 | + activateMobileTab(tabIndex) { | |
| 1973 | + // Timeout time added to ensure that opening of the active tab starts after closing the other tab on Apple devices. | |
| 1974 | + setTimeout(() => { | |
| 1975 | + this.activateTab(tabIndex); | |
| 1976 | + this.forceActiveTabToBeInViewport(tabIndex); | |
| 1977 | + }, 10); | |
| 1978 | + } | |
| 1979 | + forceActiveTabToBeInViewport(tabIndex) { | |
| 1980 | + if (!elementorFrontend.isEditMode()) { | |
| 1981 | + return; | |
| 1982 | + } | |
| 1983 | + const $activeTabTitle = this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(tabIndex)); | |
| 1984 | + if (!elementor.helpers.isInViewport($activeTabTitle[0])) { | |
| 1985 | + $activeTabTitle[0].scrollIntoView({ | |
| 1986 | + block: 'center' | |
| 1987 | + }); | |
| 1988 | + } | |
| 1989 | + } | |
| 1990 | + getActiveClass() { | |
| 1991 | + const settings = this.getSettings(); | |
| 1992 | + return settings.classes.active; | |
| 1993 | + } | |
| 1994 | + getTabsDirection() { | |
| 1995 | + const currentDevice = elementorFrontend.getCurrentDeviceMode(); | |
| 1996 | + return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), 'tabs_justify_horizontal', '', currentDevice); | |
| 1997 | + } | |
| 1998 | + getHorizontalScrollSetting() { | |
| 1999 | + const currentDevice = elementorFrontend.getCurrentDeviceMode(); | |
| 2000 | + return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), 'horizontal_scroll', '', currentDevice); | |
| 2001 | + } | |
| 2002 | + isAccordionVersion() { | |
| 2003 | + return 'contents' === this.elements.$headingContainer.css('display'); | |
| 2004 | + } | |
| 2005 | + setTouchMode() { | |
| 2006 | + const widgetSelector = this.getSettings('selectors').widgetContainer; | |
| 2007 | + if (elementorFrontend.isEditMode() || 'resize' === event?.type) { | |
| 2008 | + const responsiveDevices = ['mobile', 'mobile_extra', 'tablet', 'tablet_extra'], | |
| 2009 | + currentDevice = elementorFrontend.getCurrentDeviceMode(); | |
| 2010 | + if (-1 !== responsiveDevices.indexOf(currentDevice)) { | |
| 2011 | + this.$element.find(widgetSelector).attr('data-touch-mode', 'true'); | |
| 2012 | + return; | |
| 2013 | + } | |
| 2014 | + } else if ('ontouchstart' in window) { | |
| 2015 | + this.$element.find(widgetSelector).attr('data-touch-mode', 'true'); | |
| 2016 | + return; | |
| 2017 | + } | |
| 2018 | + this.$element.find(widgetSelector).attr('data-touch-mode', 'false'); | |
| 2019 | + } | |
| 2020 | + linkContainer(event) { | |
| 2021 | + const { | |
| 2022 | + container | |
| 2023 | + } = event.detail, | |
| 2024 | + id = container.model.get('id'), | |
| 2025 | + currentId = this.$element.data('id'), | |
| 2026 | + view = container.view.$el; | |
| 2027 | + if (id === currentId) { | |
| 2028 | + this.updateIndexValues(); | |
| 2029 | + this.updateListeners(view); | |
| 2030 | + elementor.$preview[0].contentWindow.dispatchEvent(new CustomEvent('elementor/elements/link-data-bindings')); | |
| 2031 | + } | |
| 2032 | + if (!this.getActiveTabIndex()) { | |
| 2033 | + const targetIndex = event.detail.index + 1 || 1; | |
| 2034 | + this.changeActiveTab(targetIndex); | |
| 2035 | + } | |
| 2036 | + } | |
| 2037 | + updateListeners(view) { | |
| 2038 | + this.elements.$tabContents = view.find(this.getSettings('selectors.tabContent')); | |
| 2039 | + this.elements.$tabTitles = view.find(this.getSettings('selectors.tabTitle')); | |
| 2040 | + this.elements.$tabTitles.on(this.getTabEvents()); | |
| 2041 | + } | |
| 2042 | + updateIndexValues() { | |
| 2043 | + const { | |
| 2044 | + $widgetContainer, | |
| 2045 | + $tabContents, | |
| 2046 | + $tabTitles | |
| 2047 | + } = this.getDefaultElements(), | |
| 2048 | + settings = this.getSettings(), | |
| 2049 | + dataTabIndex = settings.dataAttributes.tabIndex, | |
| 2050 | + widgetNumber = $widgetContainer.data('widgetNumber'); | |
| 2051 | + $tabTitles.each((index, element) => { | |
| 2052 | + const newIndex = index + 1, | |
| 2053 | + updatedTabID = `e-n-tab-title-${widgetNumber}${newIndex}`, | |
| 2054 | + updatedContainerID = `e-n-tab-content-${widgetNumber}${newIndex}`; | |
| 2055 | + element.setAttribute('id', updatedTabID); | |
| 2056 | + element.setAttribute('style', `--n-tabs-title-order: ${newIndex}`); | |
| 2057 | + element.setAttribute(dataTabIndex, newIndex); | |
| 2058 | + element.setAttribute('aria-controls', updatedContainerID); | |
| 2059 | + element.querySelector(settings.selectors.tabTitleIcon)?.setAttribute('data-binding-index', newIndex); | |
| 2060 | + element.querySelector(settings.selectors.tabTitleText).setAttribute('data-binding-index', newIndex); | |
| 2061 | + $tabContents[index].setAttribute('aria-labelledby', updatedTabID); | |
| 2062 | + $tabContents[index].setAttribute(dataTabIndex, newIndex); | |
| 2063 | + $tabContents[index].setAttribute('id', updatedContainerID); | |
| 2064 | + $tabContents[index].setAttribute('style', `--n-tabs-title-order: ${newIndex}`); | |
| 2065 | + }); | |
| 2066 | + } | |
| 2067 | + onResizeUpdateHorizontalScrolling() { | |
| 2068 | + (0, _flexHorizontalScroll.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings()); | |
| 2069 | + } | |
| 2070 | + getHorizontalScrollingSettings() { | |
| 2071 | + return { | |
| 2072 | + element: this.elements.$headingContainer[0], | |
| 2073 | + direction: this.getTabsDirection(), | |
| 2074 | + justifyCSSVariable: '--n-tabs-heading-justify-content', | |
| 2075 | + horizontalScrollStatus: this.getHorizontalScrollSetting() | |
| 2076 | + }; | |
| 2077 | + } | |
| 1705 | 2078 | } |
| 1706 | -var _default = exports["default"] = window.elementorModules; | |
| 2079 | +exports["default"] = NestedTabs; | |
| 1707 | 2080 | |
| 1708 | 2081 | /***/ }), |
| 1709 | 2082 | |
| 1710 | 2083 | /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": |
| @@ -1743,8 +2116,40 @@ | ||
| 1743 | 2116 | |
| 1744 | 2117 | |
| 1745 | 2118 | /***/ }), |
| 1746 | 2119 | |
| 2120 | +/***/ "../node_modules/core-js/internals/add-to-unscopables.js": | |
| 2121 | +/*!***************************************************************!*\ | |
| 2122 | + !*** ../node_modules/core-js/internals/add-to-unscopables.js ***! | |
| 2123 | + \***************************************************************/ | |
| 2124 | +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { | |
| 2125 | + | |
| 2126 | +"use strict"; | |
| 2127 | + | |
| 2128 | +var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js"); | |
| 2129 | +var create = __webpack_require__(/*! ../internals/object-create */ "../node_modules/core-js/internals/object-create.js"); | |
| 2130 | +var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js").f); | |
| 2131 | + | |
| 2132 | +var UNSCOPABLES = wellKnownSymbol('unscopables'); | |
| 2133 | +var ArrayPrototype = Array.prototype; | |
| 2134 | + | |
| 2135 | +// Array.prototype[@@unscopables] | |
| 2136 | +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables | |
| 2137 | +if (ArrayPrototype[UNSCOPABLES] === undefined) { | |
| 2138 | + defineProperty(ArrayPrototype, UNSCOPABLES, { | |
| 2139 | + configurable: true, | |
| 2140 | + value: create(null) | |
| 2141 | + }); | |
| 2142 | +} | |
| 2143 | + | |
| 2144 | +// add a key to Array.prototype[@@unscopables] | |
| 2145 | +module.exports = function (key) { | |
| 2146 | + ArrayPrototype[UNSCOPABLES][key] = true; | |
| 2147 | +}; | |
| 2148 | + | |
| 2149 | + | |
| 2150 | +/***/ }), | |
| 2151 | + | |
| 1747 | 2152 | /***/ "../node_modules/core-js/internals/an-instance.js": |
| 1748 | 2153 | /*!********************************************************!*\ |
| 1749 | 2154 | !*** ../node_modules/core-js/internals/an-instance.js ***! |
| 1750 | 2155 | \********************************************************/ |
| @@ -2460,9 +2865,9 @@ | ||
| 2460 | 2865 | |
| 2461 | 2866 | var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js"); |
| 2462 | 2867 | |
| 2463 | 2868 | var call = Function.prototype.call; |
| 2464 | -// eslint-disable-next-line es/no-function-prototype-bind -- safe | |
| 2869 | + | |
| 2465 | 2870 | module.exports = NATIVE_BIND ? call.bind(call) : function () { |
| 2466 | 2871 | return call.apply(call, arguments); |
| 2467 | 2872 | }; |
| 2468 | 2873 | |
| @@ -2530,9 +2935,8 @@ | ||
| 2530 | 2935 | var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js"); |
| 2531 | 2936 | |
| 2532 | 2937 | var FunctionPrototype = Function.prototype; |
| 2533 | 2938 | var call = FunctionPrototype.call; |
| 2534 | -// eslint-disable-next-line es/no-function-prototype-bind -- safe | |
| 2535 | 2939 | var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); |
| 2536 | 2940 | |
| 2537 | 2941 | module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { |
| 2538 | 2942 | return function () { |
| @@ -2573,9 +2977,9 @@ | ||
| 2573 | 2977 | |
| 2574 | 2978 | "use strict"; |
| 2575 | 2979 | |
| 2576 | 2980 | // `GetIteratorDirect(obj)` abstract operation |
| 2577 | -// https://tc39.es/ecma262/#sec-getiteratordirect | |
| 2981 | +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect | |
| 2578 | 2982 | module.exports = function (obj) { |
| 2579 | 2983 | return { |
| 2580 | 2984 | iterator: obj, |
| 2581 | 2985 | next: obj.next, |
| @@ -3101,9 +3505,9 @@ | ||
| 3101 | 3505 | var fn = bind(unboundFunction, that); |
| 3102 | 3506 | var iterator, iterFn, index, length, result, next, step; |
| 3103 | 3507 | |
| 3104 | 3508 | var stop = function (condition) { |
| 3105 | - if (iterator) iteratorClose(iterator, 'normal'); | |
| 3509 | + if (iterator) iteratorClose(iterator, 'normal', condition); | |
| 3106 | 3510 | return new Result(true, condition); |
| 3107 | 3511 | }; |
| 3108 | 3512 | |
| 3109 | 3513 | var callFn = function (value) { |
| @@ -3143,35 +3547,8 @@ | ||
| 3143 | 3547 | |
| 3144 | 3548 | |
| 3145 | 3549 | /***/ }), |
| 3146 | 3550 | |
| 3147 | -/***/ "../node_modules/core-js/internals/iterator-close-all.js": | |
| 3148 | -/*!***************************************************************!*\ | |
| 3149 | - !*** ../node_modules/core-js/internals/iterator-close-all.js ***! | |
| 3150 | - \***************************************************************/ | |
| 3151 | -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { | |
| 3152 | - | |
| 3153 | -"use strict"; | |
| 3154 | - | |
| 3155 | -var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "../node_modules/core-js/internals/iterator-close.js"); | |
| 3156 | - | |
| 3157 | -module.exports = function (iters, kind, value) { | |
| 3158 | - for (var i = iters.length - 1; i >= 0; i--) { | |
| 3159 | - if (iters[i] === undefined) continue; | |
| 3160 | - try { | |
| 3161 | - value = iteratorClose(iters[i].iterator, kind, value); | |
| 3162 | - } catch (error) { | |
| 3163 | - kind = 'throw'; | |
| 3164 | - value = error; | |
| 3165 | - } | |
| 3166 | - } | |
| 3167 | - if (kind === 'throw') throw value; | |
| 3168 | - return value; | |
| 3169 | -}; | |
| 3170 | - | |
| 3171 | - | |
| 3172 | -/***/ }), | |
| 3173 | - | |
| 3174 | 3551 | /***/ "../node_modules/core-js/internals/iterator-close.js": |
| 3175 | 3552 | /*!***********************************************************!*\ |
| 3176 | 3553 | !*** ../node_modules/core-js/internals/iterator-close.js ***! |
| 3177 | 3554 | \***********************************************************/ |
| @@ -3223,15 +3600,12 @@ | ||
| 3223 | 3600 | var getMethod = __webpack_require__(/*! ../internals/get-method */ "../node_modules/core-js/internals/get-method.js"); |
| 3224 | 3601 | var IteratorPrototype = (__webpack_require__(/*! ../internals/iterators-core */ "../node_modules/core-js/internals/iterators-core.js").IteratorPrototype); |
| 3225 | 3602 | var createIterResultObject = __webpack_require__(/*! ../internals/create-iter-result-object */ "../node_modules/core-js/internals/create-iter-result-object.js"); |
| 3226 | 3603 | var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "../node_modules/core-js/internals/iterator-close.js"); |
| 3227 | -var iteratorCloseAll = __webpack_require__(/*! ../internals/iterator-close-all */ "../node_modules/core-js/internals/iterator-close-all.js"); | |
| 3228 | 3604 | |
| 3229 | 3605 | var TO_STRING_TAG = wellKnownSymbol('toStringTag'); |
| 3230 | 3606 | var ITERATOR_HELPER = 'IteratorHelper'; |
| 3231 | 3607 | var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; |
| 3232 | -var NORMAL = 'normal'; | |
| 3233 | -var THROW = 'throw'; | |
| 3234 | 3608 | var setInternalState = InternalStateModule.set; |
| 3235 | 3609 | |
| 3236 | 3610 | var createIteratorProxyPrototype = function (IS_ITERATOR) { |
| 3237 | 3611 | var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); |
| @@ -3239,15 +3613,14 @@ | ||
| 3239 | 3613 | return defineBuiltIns(create(IteratorPrototype), { |
| 3240 | 3614 | next: function next() { |
| 3241 | 3615 | var state = getInternalState(this); |
| 3242 | 3616 | // for simplification: |
| 3243 | - // for `%WrapForValidIteratorPrototype%.next` or with `state.returnHandlerResult` our `nextHandler` returns `IterResultObject` | |
| 3617 | + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` | |
| 3244 | 3618 | // for `%IteratorHelperPrototype%.next` - just a value |
| 3245 | 3619 | if (IS_ITERATOR) return state.nextHandler(); |
| 3246 | - if (state.done) return createIterResultObject(undefined, true); | |
| 3247 | 3620 | try { |
| 3248 | - var result = state.nextHandler(); | |
| 3249 | - return state.returnHandlerResult ? result : createIterResultObject(result, state.done); | |
| 3621 | + var result = state.done ? undefined : state.nextHandler(); | |
| 3622 | + return createIterResultObject(result, state.done); | |
| 3250 | 3623 | } catch (error) { |
| 3251 | 3624 | state.done = true; |
| 3252 | 3625 | throw error; |
| 3253 | 3626 | } |
| @@ -3260,18 +3633,13 @@ | ||
| 3260 | 3633 | var returnMethod = getMethod(iterator, 'return'); |
| 3261 | 3634 | return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); |
| 3262 | 3635 | } |
| 3263 | 3636 | if (state.inner) try { |
| 3264 | - iteratorClose(state.inner.iterator, NORMAL); | |
| 3637 | + iteratorClose(state.inner.iterator, 'normal'); | |
| 3265 | 3638 | } catch (error) { |
| 3266 | - return iteratorClose(iterator, THROW, error); | |
| 3639 | + return iteratorClose(iterator, 'throw', error); | |
| 3267 | 3640 | } |
| 3268 | - if (state.openIters) try { | |
| 3269 | - iteratorCloseAll(state.openIters, NORMAL); | |
| 3270 | - } catch (error) { | |
| 3271 | - return iteratorClose(iterator, THROW, error); | |
| 3272 | - } | |
| 3273 | - if (iterator) iteratorClose(iterator, NORMAL); | |
| 3641 | + if (iterator) iteratorClose(iterator, 'normal'); | |
| 3274 | 3642 | return createIterResultObject(undefined, true); |
| 3275 | 3643 | } |
| 3276 | 3644 | }); |
| 3277 | 3645 | }; |
| @@ -3280,9 +3648,9 @@ | ||
| 3280 | 3648 | var IteratorHelperPrototype = createIteratorProxyPrototype(false); |
| 3281 | 3649 | |
| 3282 | 3650 | createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); |
| 3283 | 3651 | |
| 3284 | -module.exports = function (nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) { | |
| 3652 | +module.exports = function (nextHandler, IS_ITERATOR) { | |
| 3285 | 3653 | var IteratorProxy = function Iterator(record, state) { |
| 3286 | 3654 | if (state) { |
| 3287 | 3655 | state.iterator = record.iterator; |
| 3288 | 3656 | state.next = record.next; |
| @@ -3287,9 +3655,8 @@ | ||
| 3287 | 3655 | state.iterator = record.iterator; |
| 3288 | 3656 | state.next = record.next; |
| 3289 | 3657 | } else state = record; |
| 3290 | 3658 | state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; |
| 3291 | - state.returnHandlerResult = !!RETURN_HANDLER_RESULT; | |
| 3292 | 3659 | state.nextHandler = nextHandler; |
| 3293 | 3660 | state.counter = 0; |
| 3294 | 3661 | state.done = false; |
| 3295 | 3662 | setInternalState(this, state); |
| @@ -3302,65 +3669,8 @@ | ||
| 3302 | 3669 | |
| 3303 | 3670 | |
| 3304 | 3671 | /***/ }), |
| 3305 | 3672 | |
| 3306 | -/***/ "../node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js": | |
| 3307 | -/*!***************************************************************************************!*\ | |
| 3308 | - !*** ../node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js ***! | |
| 3309 | - \***************************************************************************************/ | |
| 3310 | -/***/ ((module) => { | |
| 3311 | - | |
| 3312 | -"use strict"; | |
| 3313 | - | |
| 3314 | -// Should throw an error on invalid iterator | |
| 3315 | -// https://issues.chromium.org/issues/336839115 | |
| 3316 | -module.exports = function (methodName, argument) { | |
| 3317 | - // eslint-disable-next-line es/no-iterator -- required for testing | |
| 3318 | - var method = typeof Iterator == 'function' && Iterator.prototype[methodName]; | |
| 3319 | - if (method) try { | |
| 3320 | - method.call({ next: null }, argument).next(); | |
| 3321 | - } catch (error) { | |
| 3322 | - return true; | |
| 3323 | - } | |
| 3324 | -}; | |
| 3325 | - | |
| 3326 | - | |
| 3327 | -/***/ }), | |
| 3328 | - | |
| 3329 | -/***/ "../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js": | |
| 3330 | -/*!*******************************************************************************************!*\ | |
| 3331 | - !*** ../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js ***! | |
| 3332 | - \*******************************************************************************************/ | |
| 3333 | -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { | |
| 3334 | - | |
| 3335 | -"use strict"; | |
| 3336 | - | |
| 3337 | -var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js"); | |
| 3338 | - | |
| 3339 | -// https://github.com/tc39/ecma262/pull/3467 | |
| 3340 | -module.exports = function (METHOD_NAME, ExpectedError) { | |
| 3341 | - var Iterator = globalThis.Iterator; | |
| 3342 | - var IteratorPrototype = Iterator && Iterator.prototype; | |
| 3343 | - var method = IteratorPrototype && IteratorPrototype[METHOD_NAME]; | |
| 3344 | - | |
| 3345 | - var CLOSED = false; | |
| 3346 | - | |
| 3347 | - if (method) try { | |
| 3348 | - method.call({ | |
| 3349 | - next: function () { return { done: true }; }, | |
| 3350 | - 'return': function () { CLOSED = true; } | |
| 3351 | - }, -1); | |
| 3352 | - } catch (error) { | |
| 3353 | - // https://bugs.webkit.org/show_bug.cgi?id=291195 | |
| 3354 | - if (!(error instanceof ExpectedError)) CLOSED = false; | |
| 3355 | - } | |
| 3356 | - | |
| 3357 | - if (!CLOSED) return method; | |
| 3358 | -}; | |
| 3359 | - | |
| 3360 | - | |
| 3361 | -/***/ }), | |
| 3362 | - | |
| 3363 | 3673 | /***/ "../node_modules/core-js/internals/iterators-core.js": |
| 3364 | 3674 | /*!***********************************************************!*\ |
| 3365 | 3675 | !*** ../node_modules/core-js/internals/iterators-core.js ***! |
| 3366 | 3676 | \***********************************************************/ |
| @@ -4030,12 +4340,12 @@ | ||
| 4030 | 4340 | var SHARED = '__core-js_shared__'; |
| 4031 | 4341 | var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); |
| 4032 | 4342 | |
| 4033 | 4343 | (store.versions || (store.versions = [])).push({ |
| 4034 | - version: '3.46.0', | |
| 4344 | + version: '3.39.0', | |
| 4035 | 4345 | mode: IS_PURE ? 'pure' : 'global', |
| 4036 | - copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)', | |
| 4037 | - license: 'https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE', | |
| 4346 | + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', | |
| 4347 | + license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', | |
| 4038 | 4348 | source: 'https://github.com/zloirock/core-js' |
| 4039 | 4349 | }); |
| 4040 | 4350 | |
| 4041 | 4351 | |
| @@ -4305,9 +4615,9 @@ | ||
| 4305 | 4615 | var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js"); |
| 4306 | 4616 | |
| 4307 | 4617 | var id = 0; |
| 4308 | 4618 | var postfix = Math.random(); |
| 4309 | -var toString = uncurryThis(1.1.toString); | |
| 4619 | +var toString = uncurryThis(1.0.toString); | |
| 4310 | 4620 | |
| 4311 | 4621 | module.exports = function (key) { |
| 4312 | 4622 | return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); |
| 4313 | 4623 | }; |
| @@ -4404,8 +4714,41 @@ | ||
| 4404 | 4714 | |
| 4405 | 4715 | |
| 4406 | 4716 | /***/ }), |
| 4407 | 4717 | |
| 4718 | +/***/ "../node_modules/core-js/modules/es.array.includes.js": | |
| 4719 | +/*!************************************************************!*\ | |
| 4720 | + !*** ../node_modules/core-js/modules/es.array.includes.js ***! | |
| 4721 | + \************************************************************/ | |
| 4722 | +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { | |
| 4723 | + | |
| 4724 | +"use strict"; | |
| 4725 | + | |
| 4726 | +var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js"); | |
| 4727 | +var $includes = (__webpack_require__(/*! ../internals/array-includes */ "../node_modules/core-js/internals/array-includes.js").includes); | |
| 4728 | +var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js"); | |
| 4729 | +var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "../node_modules/core-js/internals/add-to-unscopables.js"); | |
| 4730 | + | |
| 4731 | +// FF99+ bug | |
| 4732 | +var BROKEN_ON_SPARSE = fails(function () { | |
| 4733 | + // eslint-disable-next-line es/no-array-prototype-includes -- detection | |
| 4734 | + return !Array(1).includes(); | |
| 4735 | +}); | |
| 4736 | + | |
| 4737 | +// `Array.prototype.includes` method | |
| 4738 | +// https://tc39.es/ecma262/#sec-array.prototype.includes | |
| 4739 | +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { | |
| 4740 | + includes: function includes(el /* , fromIndex = 0 */) { | |
| 4741 | + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); | |
| 4742 | + } | |
| 4743 | +}); | |
| 4744 | + | |
| 4745 | +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables | |
| 4746 | +addToUnscopables('includes'); | |
| 4747 | + | |
| 4748 | + | |
| 4749 | +/***/ }), | |
| 4750 | + | |
| 4408 | 4751 | /***/ "../node_modules/core-js/modules/es.array.push.js": |
| 4409 | 4752 | /*!********************************************************!*\ |
| 4410 | 4753 | !*** ../node_modules/core-js/modules/es.array.push.js ***! |
| 4411 | 4754 | \********************************************************/ |
| @@ -4549,18 +4892,9 @@ | ||
| 4549 | 4892 | var getIteratorDirect = __webpack_require__(/*! ../internals/get-iterator-direct */ "../node_modules/core-js/internals/get-iterator-direct.js"); |
| 4550 | 4893 | var createIteratorProxy = __webpack_require__(/*! ../internals/iterator-create-proxy */ "../node_modules/core-js/internals/iterator-create-proxy.js"); |
| 4551 | 4894 | var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "../node_modules/core-js/internals/call-with-safe-iteration-closing.js"); |
| 4552 | 4895 | var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js"); |
| 4553 | -var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "../node_modules/core-js/internals/iterator-close.js"); | |
| 4554 | -var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(/*! ../internals/iterator-helper-throws-on-invalid-iterator */ "../node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js"); | |
| 4555 | -var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(/*! ../internals/iterator-helper-without-closing-on-early-error */ "../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js"); | |
| 4556 | 4896 | |
| 4557 | -var FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('filter', function () { /* empty */ }); | |
| 4558 | -var filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR | |
| 4559 | - && iteratorHelperWithoutClosingOnEarlyError('filter', TypeError); | |
| 4560 | - | |
| 4561 | -var FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError; | |
| 4562 | - | |
| 4563 | 4897 | var IteratorProxy = createIteratorProxy(function () { |
| 4564 | 4898 | var iterator = this.iterator; |
| 4565 | 4899 | var predicate = this.predicate; |
| 4566 | 4900 | var next = this.next; |
| @@ -4575,19 +4909,12 @@ | ||
| 4575 | 4909 | }); |
| 4576 | 4910 | |
| 4577 | 4911 | // `Iterator.prototype.filter` method |
| 4578 | 4912 | // https://tc39.es/ecma262/#sec-iterator.prototype.filter |
| 4579 | -$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, { | |
| 4913 | +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { | |
| 4580 | 4914 | filter: function filter(predicate) { |
| 4581 | 4915 | anObject(this); |
| 4582 | - try { | |
| 4583 | - aCallable(predicate); | |
| 4584 | - } catch (error) { | |
| 4585 | - iteratorClose(this, 'throw', error); | |
| 4586 | - } | |
| 4587 | - | |
| 4588 | - if (filterWithoutClosingOnEarlyError) return call(filterWithoutClosingOnEarlyError, this, predicate); | |
| 4589 | - | |
| 4916 | + aCallable(predicate); | |
| 4590 | 4917 | return new IteratorProxy(getIteratorDirect(this), { |
| 4591 | 4918 | predicate: predicate |
| 4592 | 4919 | }); |
| 4593 | 4920 | } |
| @@ -4604,31 +4931,19 @@ | ||
| 4604 | 4931 | |
| 4605 | 4932 | "use strict"; |
| 4606 | 4933 | |
| 4607 | 4934 | var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js"); |
| 4608 | -var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js"); | |
| 4609 | 4935 | var iterate = __webpack_require__(/*! ../internals/iterate */ "../node_modules/core-js/internals/iterate.js"); |
| 4610 | 4936 | var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js"); |
| 4611 | 4937 | var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js"); |
| 4612 | 4938 | var getIteratorDirect = __webpack_require__(/*! ../internals/get-iterator-direct */ "../node_modules/core-js/internals/get-iterator-direct.js"); |
| 4613 | -var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "../node_modules/core-js/internals/iterator-close.js"); | |
| 4614 | -var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(/*! ../internals/iterator-helper-without-closing-on-early-error */ "../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js"); | |
| 4615 | 4939 | |
| 4616 | -var findWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('find', TypeError); | |
| 4617 | - | |
| 4618 | 4940 | // `Iterator.prototype.find` method |
| 4619 | 4941 | // https://tc39.es/ecma262/#sec-iterator.prototype.find |
| 4620 | -$({ target: 'Iterator', proto: true, real: true, forced: findWithoutClosingOnEarlyError }, { | |
| 4942 | +$({ target: 'Iterator', proto: true, real: true }, { | |
| 4621 | 4943 | find: function find(predicate) { |
| 4622 | 4944 | anObject(this); |
| 4623 | - try { | |
| 4624 | - aCallable(predicate); | |
| 4625 | - } catch (error) { | |
| 4626 | - iteratorClose(this, 'throw', error); | |
| 4627 | - } | |
| 4628 | - | |
| 4629 | - if (findWithoutClosingOnEarlyError) return call(findWithoutClosingOnEarlyError, this, predicate); | |
| 4630 | - | |
| 4945 | + aCallable(predicate); | |
| 4631 | 4946 | var record = getIteratorDirect(this); |
| 4632 | 4947 | var counter = 0; |
| 4633 | 4948 | return iterate(record, function (value, stop) { |
| 4634 | 4949 | if (predicate(value, counter++)) return stop(value); |
| @@ -4647,31 +4962,19 @@ | ||
| 4647 | 4962 | |
| 4648 | 4963 | "use strict"; |
| 4649 | 4964 | |
| 4650 | 4965 | var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js"); |
| 4651 | -var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js"); | |
| 4652 | 4966 | var iterate = __webpack_require__(/*! ../internals/iterate */ "../node_modules/core-js/internals/iterate.js"); |
| 4653 | 4967 | var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js"); |
| 4654 | 4968 | var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js"); |
| 4655 | 4969 | var getIteratorDirect = __webpack_require__(/*! ../internals/get-iterator-direct */ "../node_modules/core-js/internals/get-iterator-direct.js"); |
| 4656 | -var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "../node_modules/core-js/internals/iterator-close.js"); | |
| 4657 | -var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(/*! ../internals/iterator-helper-without-closing-on-early-error */ "../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js"); | |
| 4658 | 4970 | |
| 4659 | -var forEachWithoutClosingOnEarlyError = iteratorHelperWithoutClosingOnEarlyError('forEach', TypeError); | |
| 4660 | - | |
| 4661 | 4971 | // `Iterator.prototype.forEach` method |
| 4662 | 4972 | // https://tc39.es/ecma262/#sec-iterator.prototype.foreach |
| 4663 | -$({ target: 'Iterator', proto: true, real: true, forced: forEachWithoutClosingOnEarlyError }, { | |
| 4973 | +$({ target: 'Iterator', proto: true, real: true }, { | |
| 4664 | 4974 | forEach: function forEach(fn) { |
| 4665 | 4975 | anObject(this); |
| 4666 | - try { | |
| 4667 | - aCallable(fn); | |
| 4668 | - } catch (error) { | |
| 4669 | - iteratorClose(this, 'throw', error); | |
| 4670 | - } | |
| 4671 | - | |
| 4672 | - if (forEachWithoutClosingOnEarlyError) return call(forEachWithoutClosingOnEarlyError, this, fn); | |
| 4673 | - | |
| 4976 | + aCallable(fn); | |
| 4674 | 4977 | var record = getIteratorDirect(this); |
| 4675 | 4978 | var counter = 0; |
| 4676 | 4979 | iterate(record, function (value) { |
| 4677 | 4980 | fn(value, counter++); |
| @@ -4681,63 +4984,8 @@ | ||
| 4681 | 4984 | |
| 4682 | 4985 | |
| 4683 | 4986 | /***/ }), |
| 4684 | 4987 | |
| 4685 | -/***/ "../node_modules/core-js/modules/es.iterator.map.js": | |
| 4686 | -/*!**********************************************************!*\ | |
| 4687 | - !*** ../node_modules/core-js/modules/es.iterator.map.js ***! | |
| 4688 | - \**********************************************************/ | |
| 4689 | -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { | |
| 4690 | - | |
| 4691 | -"use strict"; | |
| 4692 | - | |
| 4693 | -var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js"); | |
| 4694 | -var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js"); | |
| 4695 | -var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js"); | |
| 4696 | -var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js"); | |
| 4697 | -var getIteratorDirect = __webpack_require__(/*! ../internals/get-iterator-direct */ "../node_modules/core-js/internals/get-iterator-direct.js"); | |
| 4698 | -var createIteratorProxy = __webpack_require__(/*! ../internals/iterator-create-proxy */ "../node_modules/core-js/internals/iterator-create-proxy.js"); | |
| 4699 | -var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "../node_modules/core-js/internals/call-with-safe-iteration-closing.js"); | |
| 4700 | -var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "../node_modules/core-js/internals/iterator-close.js"); | |
| 4701 | -var iteratorHelperThrowsOnInvalidIterator = __webpack_require__(/*! ../internals/iterator-helper-throws-on-invalid-iterator */ "../node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js"); | |
| 4702 | -var iteratorHelperWithoutClosingOnEarlyError = __webpack_require__(/*! ../internals/iterator-helper-without-closing-on-early-error */ "../node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js"); | |
| 4703 | -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js"); | |
| 4704 | - | |
| 4705 | -var MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator('map', function () { /* empty */ }); | |
| 4706 | -var mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR | |
| 4707 | - && iteratorHelperWithoutClosingOnEarlyError('map', TypeError); | |
| 4708 | - | |
| 4709 | -var FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError; | |
| 4710 | - | |
| 4711 | -var IteratorProxy = createIteratorProxy(function () { | |
| 4712 | - var iterator = this.iterator; | |
| 4713 | - var result = anObject(call(this.next, iterator)); | |
| 4714 | - var done = this.done = !!result.done; | |
| 4715 | - if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); | |
| 4716 | -}); | |
| 4717 | - | |
| 4718 | -// `Iterator.prototype.map` method | |
| 4719 | -// https://tc39.es/ecma262/#sec-iterator.prototype.map | |
| 4720 | -$({ target: 'Iterator', proto: true, real: true, forced: FORCED }, { | |
| 4721 | - map: function map(mapper) { | |
| 4722 | - anObject(this); | |
| 4723 | - try { | |
| 4724 | - aCallable(mapper); | |
| 4725 | - } catch (error) { | |
| 4726 | - iteratorClose(this, 'throw', error); | |
| 4727 | - } | |
| 4728 | - | |
| 4729 | - if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper); | |
| 4730 | - | |
| 4731 | - return new IteratorProxy(getIteratorDirect(this), { | |
| 4732 | - mapper: mapper | |
| 4733 | - }); | |
| 4734 | - } | |
| 4735 | -}); | |
| 4736 | - | |
| 4737 | - | |
| 4738 | -/***/ }), | |
| 4739 | - | |
| 4740 | 4988 | /***/ "../node_modules/core-js/modules/esnext.iterator.constructor.js": |
| 4741 | 4989 | /*!**********************************************************************!*\ |
| 4742 | 4990 | !*** ../node_modules/core-js/modules/esnext.iterator.constructor.js ***! |
| 4743 | 4991 | \**********************************************************************/ |
| @@ -4788,22 +5036,8 @@ | ||
| 4788 | 5036 | "use strict"; |
| 4789 | 5037 | |
| 4790 | 5038 | // TODO: Remove from `core-js@4` |
| 4791 | 5039 | __webpack_require__(/*! ../modules/es.iterator.for-each */ "../node_modules/core-js/modules/es.iterator.for-each.js"); |
| 4792 | - | |
| 4793 | - | |
| 4794 | -/***/ }), | |
| 4795 | - | |
| 4796 | -/***/ "../node_modules/core-js/modules/esnext.iterator.map.js": | |
| 4797 | -/*!**************************************************************!*\ | |
| 4798 | - !*** ../node_modules/core-js/modules/esnext.iterator.map.js ***! | |
| 4799 | - \**************************************************************/ | |
| 4800 | -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { | |
| 4801 | - | |
| 4802 | -"use strict"; | |
| 4803 | - | |
| 4804 | -// TODO: Remove from `core-js@4` | |
| 4805 | -__webpack_require__(/*! ../modules/es.iterator.map */ "../node_modules/core-js/modules/es.iterator.map.js"); | |
| 4806 | 5040 | |
| 4807 | 5041 | |
| 4808 | 5042 | /***/ }) |
| 4809 | 5043 | |