PluginProbe
Elementor Website Builder – more than just a page builder / 3.24.0-dev2
Elementor Website Builder – more than just a page builder v3.24.0-dev2
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / assets / js / frontend-modules.js

frontend-modules.js in Elementor Website Builder – more than just a page builder 3.24.0-dev2, at assets/js/frontend-modules.js

5,469 lines 208.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.24.0 - 02-09-2024 */
2 (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["frontend-modules"],{
3
4 /***/ "../assets/dev/js/editor/utils/is-instanceof.js":
5 /*!******************************************************!*\
6 !*** ../assets/dev/js/editor/utils/is-instanceof.js ***!
7 \******************************************************/
8 /***/ ((__unused_webpack_module, exports) => {
9
10 "use strict";
11
12
13 Object.defineProperty(exports, "__esModule", ({
14 value: true
15 }));
16 exports["default"] = void 0;
17 /**
18 * Some FileAPI objects such as FileList, DataTransferItem and DataTransferItemList has inconsistency with the retrieved
19 * object (from events, etc.) and the actual JavaScript object so a regular instanceof doesn't work. This function can
20 * check whether it's instanceof by using the objects constructor and prototype names.
21 *
22 * @param object
23 * @param constructors
24 * @return {boolean}
25 */
26 var _default = (object, constructors) => {
27 constructors = Array.isArray(constructors) ? constructors : [constructors];
28 for (const constructor of constructors) {
29 if (object.constructor.name === constructor.prototype[Symbol.toStringTag]) {
30 return true;
31 }
32 }
33 return false;
34 };
35 exports["default"] = _default;
36
37 /***/ }),
38
39 /***/ "../assets/dev/js/frontend/document.js":
40 /*!*********************************************!*\
41 !*** ../assets/dev/js/frontend/document.js ***!
42 \*********************************************/
43 /***/ ((__unused_webpack_module, exports) => {
44
45 "use strict";
46
47
48 Object.defineProperty(exports, "__esModule", ({
49 value: true
50 }));
51 exports["default"] = void 0;
52 class _default extends elementorModules.ViewModule {
53 getDefaultSettings() {
54 return {
55 selectors: {
56 elements: '.elementor-element',
57 nestedDocumentElements: '.elementor .elementor-element'
58 },
59 classes: {
60 editMode: 'elementor-edit-mode'
61 }
62 };
63 }
64 getDefaultElements() {
65 const selectors = this.getSettings('selectors');
66 return {
67 $elements: this.$element.find(selectors.elements).not(this.$element.find(selectors.nestedDocumentElements))
68 };
69 }
70 getDocumentSettings(setting) {
71 let elementSettings;
72 if (this.isEdit) {
73 elementSettings = {};
74 const settings = elementor.settings.page.model;
75 jQuery.each(settings.getActiveControls(), controlKey => {
76 elementSettings[controlKey] = settings.attributes[controlKey];
77 });
78 } else {
79 elementSettings = this.$element.data('elementor-settings') || {};
80 }
81 return this.getItems(elementSettings, setting);
82 }
83 runElementsHandlers() {
84 this.elements.$elements.each((index, element) => setTimeout(() => elementorFrontend.elementsHandler.runReadyTrigger(element)));
85 }
86 onInit() {
87 this.$element = this.getSettings('$element');
88 super.onInit();
89 this.isEdit = this.$element.hasClass(this.getSettings('classes.editMode'));
90 if (this.isEdit) {
91 elementor.on('document:loaded', () => {
92 elementor.settings.page.model.on('change', this.onSettingsChange.bind(this));
93 });
94 } else {
95 this.runElementsHandlers();
96 }
97 }
98 onSettingsChange() {}
99 }
100 exports["default"] = _default;
101
102 /***/ }),
103
104 /***/ "../assets/dev/js/frontend/handlers/accessibility/nested-title-keyboard-handler.js":
105 /*!*****************************************************************************************!*\
106 !*** ../assets/dev/js/frontend/handlers/accessibility/nested-title-keyboard-handler.js ***!
107 \*****************************************************************************************/
108 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
109
110 "use strict";
111
112
113 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
114 Object.defineProperty(exports, "__esModule", ({
115 value: true
116 }));
117 exports["default"] = void 0;
118 var _base = _interopRequireDefault(__webpack_require__(/*! ../base */ "../assets/dev/js/frontend/handlers/base.js"));
119 class NestedTitleKeyboardHandler extends _base.default {
120 __construct(settings) {
121 super.__construct(settings);
122 this.directionNext = 'next';
123 this.directionPrevious = 'previous';
124 this.focusableElementSelector = 'audio, button, canvas, details, iframe, input, select, summary, textarea, video, [accesskey], [contenteditable], [href], [tabindex]:not([tabindex="-1"])';
125 }
126 getWidgetNumber() {
127 return this.$element.find('> .elementor-widget-container > .e-n-tabs, > .e-n-tabs').attr('data-widget-number');
128 }
129 getDefaultSettings() {
130 return {
131 selectors: {
132 itemTitle: `[id*="e-n-tab-title-${this.getWidgetNumber()}"]`,
133 itemContainer: `[id*="e-n-tab-content-${this.getWidgetNumber()}"]`
134 },
135 ariaAttributes: {
136 titleStateAttribute: 'aria-selected',
137 activeTitleSelector: '[aria-selected="true"]'
138 },
139 datasets: {
140 titleIndex: 'data-tab-index'
141 },
142 keyDirection: {
143 ArrowLeft: elementorFrontendConfig.is_rtl ? this.directionNext : this.directionPrevious,
144 ArrowUp: this.directionPrevious,
145 ArrowRight: elementorFrontendConfig.is_rtl ? this.directionPrevious : this.directionNext,
146 ArrowDown: this.directionNext
147 }
148 };
149 }
150 getDefaultElements() {
151 const selectors = this.getSettings('selectors');
152 return {
153 $itemTitles: this.findElement(selectors.itemTitle),
154 $itemContainers: this.findElement(selectors.itemContainer),
155 $focusableContainerElements: this.getFocusableElements(this.findElement(selectors.itemContainer))
156 };
157 }
158 getFocusableElements($elements) {
159 return $elements.find(this.focusableElementSelector).not('[disabled], [inert]');
160 }
161 getKeyDirectionValue(event) {
162 const direction = this.getSettings('keyDirection')[event.key];
163 return this.directionNext === direction ? 1 : -1;
164 }
165
166 /**
167 * @param {HTMLElement} itemTitleElement
168 *
169 * @return {string}
170 */
171 getTitleIndex(itemTitleElement) {
172 const {
173 titleIndex: indexAttribute
174 } = this.getSettings('datasets');
175 return itemTitleElement.getAttribute(indexAttribute);
176 }
177
178 /**
179 * @param {string|number} titleIndex
180 *
181 * @return {string}
182 */
183 getTitleFilterSelector(titleIndex) {
184 const {
185 titleIndex: indexAttribute
186 } = this.getSettings('datasets');
187 return `[${indexAttribute}="${titleIndex}"]`;
188 }
189 getActiveTitleElement() {
190 const activeTitleFilter = this.getSettings('ariaAttributes').activeTitleSelector;
191 return this.elements.$itemTitles.filter(activeTitleFilter);
192 }
193 onInit() {
194 super.onInit(...arguments);
195 }
196 bindEvents() {
197 this.elements.$itemTitles.on(this.getTitleEvents());
198 this.elements.$focusableContainerElements.on(this.getContentElementEvents());
199 }
200 unbindEvents() {
201 this.elements.$itemTitles.off(this.getTitleEvents());
202 this.elements.$focusableContainerElements.children().off(this.getContentElementEvents());
203 }
204 getTitleEvents() {
205 return {
206 keydown: this.handleTitleKeyboardNavigation.bind(this)
207 };
208 }
209 getContentElementEvents() {
210 return {
211 keydown: this.handleContentElementKeyboardNavigation.bind(this)
212 };
213 }
214 isDirectionKey(event) {
215 const directionKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'];
216 return directionKeys.includes(event.key);
217 }
218 isActivationKey(event) {
219 const activationKeys = ['Enter', ' '];
220 return activationKeys.includes(event.key);
221 }
222 handleTitleKeyboardNavigation(event) {
223 if (this.isDirectionKey(event)) {
224 event.preventDefault();
225 const currentTitleIndex = parseInt(this.getTitleIndex(event.currentTarget)) || 1,
226 numberOfTitles = this.elements.$itemTitles.length,
227 titleIndexUpdated = this.getTitleIndexFocusUpdated(event, currentTitleIndex, numberOfTitles);
228 this.changeTitleFocus(titleIndexUpdated);
229 event.stopPropagation();
230 } else if (this.isActivationKey(event)) {
231 event.preventDefault();
232 if (this.handeTitleLinkEnterOrSpaceEvent(event)) {
233 return;
234 }
235 const titleIndex = this.getTitleIndex(event.currentTarget);
236 elementorFrontend.elements.$window.trigger('elementor/nested-elements/activate-by-keyboard', {
237 widgetId: this.getID(),
238 titleIndex
239 });
240 } else if ('Escape' === event.key) {
241 this.handleTitleEscapeKeyEvents(event);
242 }
243 }
244 handeTitleLinkEnterOrSpaceEvent(event) {
245 const isLinkElement = 'a' === event?.currentTarget?.tagName?.toLowerCase();
246 if (!elementorFrontend.isEditMode() && isLinkElement) {
247 event?.currentTarget?.click();
248 event.stopPropagation();
249 }
250 return isLinkElement;
251 }
252 getTitleIndexFocusUpdated(event, currentTitleIndex, numberOfTitles) {
253 let titleIndexUpdated = 0;
254 switch (event.key) {
255 case 'Home':
256 titleIndexUpdated = 1;
257 break;
258 case 'End':
259 titleIndexUpdated = numberOfTitles;
260 break;
261 default:
262 const directionValue = this.getKeyDirectionValue(event),
263 isEndReached = numberOfTitles < currentTitleIndex + directionValue,
264 isStartReached = 0 === currentTitleIndex + directionValue;
265 if (isEndReached) {
266 titleIndexUpdated = 1;
267 } else if (isStartReached) {
268 titleIndexUpdated = numberOfTitles;
269 } else {
270 titleIndexUpdated = currentTitleIndex + directionValue;
271 }
272 }
273 return titleIndexUpdated;
274 }
275 changeTitleFocus(titleIndexUpdated) {
276 const $newTitle = this.elements.$itemTitles.filter(this.getTitleFilterSelector(titleIndexUpdated));
277 this.setTitleTabindex(titleIndexUpdated);
278 $newTitle.trigger('focus');
279 }
280 setTitleTabindex(titleIndex) {
281 this.elements.$itemTitles.attr('tabindex', '-1');
282 const $newTitle = this.elements.$itemTitles.filter(this.getTitleFilterSelector(titleIndex));
283 $newTitle.attr('tabindex', '0');
284 }
285 handleTitleEscapeKeyEvents() {}
286 handleContentElementKeyboardNavigation(event) {
287 if ('Tab' === event.key && !event.shiftKey) {
288 this.handleContentElementTabEvents(event);
289 } else if ('Escape' === event.key) {
290 event.preventDefault();
291 event.stopPropagation();
292 this.handleContentElementEscapeEvents(event);
293 }
294 }
295 handleContentElementEscapeEvents() {
296 this.getActiveTitleElement().trigger('focus');
297 }
298 handleContentElementTabEvents() {}
299 }
300 exports["default"] = NestedTitleKeyboardHandler;
301
302 /***/ }),
303
304 /***/ "../assets/dev/js/frontend/handlers/base-carousel.js":
305 /*!***********************************************************!*\
306 !*** ../assets/dev/js/frontend/handlers/base-carousel.js ***!
307 \***********************************************************/
308 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
309
310 "use strict";
311
312
313 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
314 Object.defineProperty(exports, "__esModule", ({
315 value: true
316 }));
317 exports["default"] = void 0;
318 var _baseSwiper = _interopRequireDefault(__webpack_require__(/*! ./base-swiper */ "../assets/dev/js/frontend/handlers/base-swiper.js"));
319 class CarouselHandlerBase extends _baseSwiper.default {
320 getDefaultSettings() {
321 return {
322 selectors: {
323 carousel: `.${elementorFrontend.config.swiperClass}`,
324 swiperWrapper: '.swiper-wrapper',
325 slideContent: '.swiper-slide',
326 swiperArrow: '.elementor-swiper-button',
327 paginationWrapper: '.swiper-pagination',
328 paginationBullet: '.swiper-pagination-bullet',
329 paginationBulletWrapper: '.swiper-pagination-bullets'
330 }
331 };
332 }
333 getDefaultElements() {
334 const selectors = this.getSettings('selectors'),
335 elements = {
336 $swiperContainer: this.$element.find(selectors.carousel),
337 $swiperWrapper: this.$element.find(selectors.swiperWrapper),
338 $swiperArrows: this.$element.find(selectors.swiperArrow),
339 $paginationWrapper: this.$element.find(selectors.paginationWrapper),
340 $paginationBullets: this.$element.find(selectors.paginationBullet),
341 $paginationBulletWrapper: this.$element.find(selectors.paginationBulletWrapper)
342 };
343 elements.$slides = elements.$swiperContainer.find(selectors.slideContent);
344 return elements;
345 }
346 getSwiperSettings() {
347 const elementSettings = this.getElementSettings(),
348 slidesToShow = +elementSettings.slides_to_show || 3,
349 isSingleSlide = 1 === slidesToShow,
350 elementorBreakpoints = elementorFrontend.config.responsive.activeBreakpoints,
351 defaultSlidesToShowMap = {
352 mobile: 1,
353 tablet: isSingleSlide ? 1 : 2
354 };
355 const swiperOptions = {
356 slidesPerView: slidesToShow,
357 loop: 'yes' === elementSettings.infinite,
358 speed: elementSettings.speed,
359 handleElementorBreakpoints: true
360 };
361 swiperOptions.breakpoints = {};
362 let lastBreakpointSlidesToShowValue = slidesToShow;
363 Object.keys(elementorBreakpoints).reverse().forEach(breakpointName => {
364 // Tablet has a specific default `slides_to_show`.
365 const defaultSlidesToShow = defaultSlidesToShowMap[breakpointName] ? defaultSlidesToShowMap[breakpointName] : lastBreakpointSlidesToShowValue;
366 swiperOptions.breakpoints[elementorBreakpoints[breakpointName].value] = {
367 slidesPerView: +elementSettings['slides_to_show_' + breakpointName] || defaultSlidesToShow,
368 slidesPerGroup: +elementSettings['slides_to_scroll_' + breakpointName] || 1
369 };
370 if (elementSettings.image_spacing_custom) {
371 swiperOptions.breakpoints[elementorBreakpoints[breakpointName].value].spaceBetween = this.getSpaceBetween(breakpointName);
372 }
373 lastBreakpointSlidesToShowValue = +elementSettings['slides_to_show_' + breakpointName] || defaultSlidesToShow;
374 });
375 if ('yes' === elementSettings.autoplay) {
376 swiperOptions.autoplay = {
377 delay: elementSettings.autoplay_speed,
378 disableOnInteraction: 'yes' === elementSettings.pause_on_interaction
379 };
380 }
381 if (isSingleSlide) {
382 swiperOptions.effect = elementSettings.effect;
383 if ('fade' === elementSettings.effect) {
384 swiperOptions.fadeEffect = {
385 crossFade: true
386 };
387 }
388 } else {
389 swiperOptions.slidesPerGroup = +elementSettings.slides_to_scroll || 1;
390 }
391 if (elementSettings.image_spacing_custom) {
392 swiperOptions.spaceBetween = this.getSpaceBetween();
393 }
394 const showArrows = 'arrows' === elementSettings.navigation || 'both' === elementSettings.navigation,
395 showPagination = 'dots' === elementSettings.navigation || 'both' === elementSettings.navigation || elementSettings.pagination;
396 if (showArrows) {
397 swiperOptions.navigation = {
398 prevEl: '.elementor-swiper-button-prev',
399 nextEl: '.elementor-swiper-button-next'
400 };
401 }
402 if (showPagination) {
403 swiperOptions.pagination = {
404 el: `.elementor-element-${this.getID()} .swiper-pagination`,
405 type: !!elementSettings.pagination ? elementSettings.pagination : 'bullets',
406 clickable: true,
407 renderBullet: (index, classname) => {
408 return `<span class="${classname}" data-bullet-index="${index}" aria-label="${elementorFrontend.config.i18n.a11yCarouselPaginationBulletMessage} ${index + 1}"></span>`;
409 }
410 };
411 }
412 if ('yes' === elementSettings.lazyload) {
413 swiperOptions.lazy = {
414 loadPrevNext: true,
415 loadPrevNextAmount: 1
416 };
417 }
418 swiperOptions.a11y = {
419 enabled: true,
420 prevSlideMessage: elementorFrontend.config.i18n.a11yCarouselPrevSlideMessage,
421 nextSlideMessage: elementorFrontend.config.i18n.a11yCarouselNextSlideMessage,
422 firstSlideMessage: elementorFrontend.config.i18n.a11yCarouselFirstSlideMessage,
423 lastSlideMessage: elementorFrontend.config.i18n.a11yCarouselLastSlideMessage
424 };
425 swiperOptions.on = {
426 slideChangeTransitionEnd: () => {
427 this.a11ySetSlideAriaHidden();
428 },
429 slideChange: () => {
430 this.a11ySetPaginationTabindex();
431 this.handleElementHandlers();
432 },
433 init: () => {
434 this.a11ySetWidgetAriaDetails();
435 this.a11ySetPaginationTabindex();
436 this.a11ySetSlideAriaHidden('initialisation');
437 }
438 };
439 this.applyOffsetSettings(elementSettings, swiperOptions, slidesToShow);
440 return swiperOptions;
441 }
442 getOffsetWidth() {
443 const currentDevice = elementorFrontend.getCurrentDeviceMode();
444 return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), 'offset_width', 'size', currentDevice) || 0;
445 }
446 applyOffsetSettings(elementSettings, swiperOptions, slidesToShow) {
447 const offsetSide = elementSettings.offset_sides,
448 isNestedCarouselInEditMode = elementorFrontend.isEditMode() && 'NestedCarousel' === this.constructor.name;
449 if (isNestedCarouselInEditMode || !offsetSide || 'none' === offsetSide) {
450 return;
451 }
452 switch (offsetSide) {
453 case 'right':
454 this.forceSliderToShowNextSlideWhenOnLast(swiperOptions, slidesToShow);
455 this.addClassToSwiperContainer('offset-right');
456 break;
457 case 'left':
458 this.addClassToSwiperContainer('offset-left');
459 break;
460 case 'both':
461 this.forceSliderToShowNextSlideWhenOnLast(swiperOptions, slidesToShow);
462 this.addClassToSwiperContainer('offset-both');
463 break;
464 }
465 }
466 forceSliderToShowNextSlideWhenOnLast(swiperOptions, slidesToShow) {
467 swiperOptions.slidesPerView = slidesToShow + 0.001;
468 }
469 addClassToSwiperContainer(className) {
470 this.getDefaultElements().$swiperContainer[0].classList.add(className);
471 }
472 async onInit() {
473 super.onInit(...arguments);
474 if (!this.elements.$swiperContainer.length || 2 > this.elements.$slides.length) {
475 return;
476 }
477 await this.initSwiper();
478 const elementSettings = this.getElementSettings();
479 if ('yes' === elementSettings.pause_on_hover) {
480 this.togglePauseOnHover(true);
481 }
482 }
483 async initSwiper() {
484 const Swiper = elementorFrontend.utils.swiper;
485 this.swiper = await new Swiper(this.elements.$swiperContainer, this.getSwiperSettings());
486
487 // Expose the swiper instance in the frontend
488 this.elements.$swiperContainer.data('swiper', this.swiper);
489 }
490 bindEvents() {
491 this.elements.$swiperArrows.on('keydown', this.onDirectionArrowKeydown.bind(this));
492 this.elements.$paginationWrapper.on('keydown', '.swiper-pagination-bullet', this.onDirectionArrowKeydown.bind(this));
493 this.elements.$swiperContainer.on('keydown', '.swiper-slide', this.onDirectionArrowKeydown.bind(this));
494 this.$element.find(':focusable').on('focus', this.onFocusDisableAutoplay.bind(this));
495 elementorFrontend.elements.$window.on('resize', this.getSwiperSettings.bind(this));
496 }
497 unbindEvents() {
498 this.elements.$swiperArrows.off();
499 this.elements.$paginationWrapper.off();
500 this.elements.$swiperContainer.off();
501 this.$element.find(':focusable').off();
502 elementorFrontend.elements.$window.off('resize');
503 }
504 onDirectionArrowKeydown(event) {
505 const isRTL = elementorFrontend.config.is_rtl,
506 inlineDirectionArrows = ['ArrowLeft', 'ArrowRight'],
507 currentKeydown = event.originalEvent.code,
508 isDirectionInlineKeydown = -1 !== inlineDirectionArrows.indexOf(currentKeydown),
509 directionStart = isRTL ? 'ArrowRight' : 'ArrowLeft',
510 directionEnd = isRTL ? 'ArrowLeft' : 'ArrowRight';
511 if (!isDirectionInlineKeydown) {
512 return true;
513 } else if (directionStart === currentKeydown) {
514 this.swiper.slidePrev();
515 } else if (directionEnd === currentKeydown) {
516 this.swiper.slideNext();
517 }
518 }
519 onFocusDisableAutoplay() {
520 this.swiper.autoplay.stop();
521 }
522 updateSwiperOption(propertyName) {
523 const elementSettings = this.getElementSettings(),
524 newSettingValue = elementSettings[propertyName],
525 params = this.swiper.params;
526
527 // Handle special cases where the value to update is not the value that the Swiper library accepts.
528 switch (propertyName) {
529 case 'autoplay_speed':
530 params.autoplay.delay = newSettingValue;
531 break;
532 case 'speed':
533 params.speed = newSettingValue;
534 break;
535 }
536 this.swiper.update();
537 }
538 getChangeableProperties() {
539 return {
540 pause_on_hover: 'pauseOnHover',
541 autoplay_speed: 'delay',
542 speed: 'speed',
543 arrows_position: 'arrows_position' // Not a Swiper setting.
544 };
545 }
546
547 onElementChange(propertyName) {
548 if (0 === propertyName.indexOf('image_spacing_custom')) {
549 this.updateSpaceBetween(propertyName);
550 return;
551 }
552 const changeableProperties = this.getChangeableProperties();
553 if (changeableProperties[propertyName]) {
554 // 'pause_on_hover' is implemented by the handler with event listeners, not the Swiper library.
555 if ('pause_on_hover' === propertyName) {
556 const newSettingValue = this.getElementSettings('pause_on_hover');
557 this.togglePauseOnHover('yes' === newSettingValue);
558 } else {
559 this.updateSwiperOption(propertyName);
560 }
561 }
562 }
563 onEditSettingsChange(propertyName) {
564 if ('activeItemIndex' === propertyName) {
565 this.swiper.slideToLoop(this.getEditSettings('activeItemIndex') - 1);
566 }
567 }
568 getSpaceBetween() {
569 let device = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
570 return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), 'image_spacing_custom', 'size', device) || 0;
571 }
572 updateSpaceBetween(propertyName) {
573 const deviceMatch = propertyName.match('image_spacing_custom_(.*)'),
574 device = deviceMatch ? deviceMatch[1] : 'desktop',
575 newSpaceBetween = this.getSpaceBetween(device);
576 if ('desktop' !== device) {
577 this.swiper.params.breakpoints[elementorFrontend.config.responsive.activeBreakpoints[device].value].spaceBetween = newSpaceBetween;
578 }
579 this.swiper.params.spaceBetween = newSpaceBetween;
580 this.swiper.update();
581 }
582 getPaginationBullets() {
583 let type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'array';
584 const paginationBullets = this.$element.find(this.getSettings('selectors').paginationBullet);
585 return 'array' === type ? Array.from(paginationBullets) : paginationBullets;
586 }
587 a11ySetWidgetAriaDetails() {
588 const $widget = this.$element;
589 $widget.attr('aria-roledescription', 'carousel');
590 $widget.attr('aria-label', elementorFrontend.config.i18n.a11yCarouselWrapperAriaLabel);
591 }
592 a11ySetPaginationTabindex() {
593 const bulletClass = this.swiper?.params?.pagination.bulletClass,
594 activeBulletClass = this.swiper?.params?.pagination.bulletActiveClass;
595 this.getPaginationBullets().forEach(bullet => {
596 if (!bullet.classList?.contains(activeBulletClass)) {
597 bullet.removeAttribute('tabindex');
598 }
599 });
600 const isDirectionInlineArrowKey = 'ArrowLeft' === event?.code || 'ArrowRight' === event?.code;
601 if (event?.target?.classList?.contains(bulletClass) && isDirectionInlineArrowKey) {
602 this.$element.find(`.${activeBulletClass}`).trigger('focus');
603 }
604 }
605 getSwiperWrapperTranformXValue() {
606 let transformValue = this.elements.$swiperWrapper[0]?.style.transform;
607 transformValue = transformValue.replace('translate3d(', '');
608 transformValue = transformValue.split(',');
609 transformValue = parseInt(transformValue[0].replace('px', ''));
610 return !!transformValue ? transformValue : 0;
611 }
612 a11ySetSlideAriaHidden() {
613 let status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
614 const currentIndex = 'initialisation' === status ? 0 : this.swiper?.activeIndex;
615 if ('number' !== typeof currentIndex) {
616 return;
617 }
618 const swiperWrapperTransformXValue = this.getSwiperWrapperTranformXValue(),
619 swiperWrapperWidth = this.elements.$swiperWrapper[0].clientWidth,
620 $slides = this.elements.$swiperContainer.find(this.getSettings('selectors').slideContent);
621 $slides.each((index, slide) => {
622 const isSlideInsideWrapper = 0 <= slide.offsetLeft + swiperWrapperTransformXValue && swiperWrapperWidth > slide.offsetLeft + swiperWrapperTransformXValue;
623 if (!isSlideInsideWrapper) {
624 slide.setAttribute('aria-hidden', true);
625 slide.setAttribute('inert', '');
626 } else {
627 slide.removeAttribute('aria-hidden');
628 slide.removeAttribute('inert');
629 }
630 });
631 }
632
633 // Empty method which can be overwritten by child methods.
634 handleElementHandlers() {}
635 }
636 exports["default"] = CarouselHandlerBase;
637
638 /***/ }),
639
640 /***/ "../assets/dev/js/frontend/handlers/base-swiper.js":
641 /*!*********************************************************!*\
642 !*** ../assets/dev/js/frontend/handlers/base-swiper.js ***!
643 \*********************************************************/
644 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
645
646 "use strict";
647
648
649 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
650 Object.defineProperty(exports, "__esModule", ({
651 value: true
652 }));
653 exports["default"] = void 0;
654 var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../assets/dev/js/frontend/handlers/base.js"));
655 class SwiperHandlerBase extends _base.default {
656 getInitialSlide() {
657 const editSettings = this.getEditSettings();
658 return editSettings.activeItemIndex ? editSettings.activeItemIndex - 1 : 0;
659 }
660 getSlidesCount() {
661 return this.elements.$slides.length;
662 }
663
664 // This method live-handles the 'Pause On Hover' control's value being changed in the Editor Panel
665 togglePauseOnHover(toggleOn) {
666 if (toggleOn) {
667 this.elements.$swiperContainer.on({
668 mouseenter: () => {
669 this.swiper.autoplay.stop();
670 },
671 mouseleave: () => {
672 this.swiper.autoplay.start();
673 }
674 });
675 } else {
676 this.elements.$swiperContainer.off('mouseenter mouseleave');
677 }
678 }
679 handleKenBurns() {
680 const settings = this.getSettings();
681 if (this.$activeImageBg) {
682 this.$activeImageBg.removeClass(settings.classes.kenBurnsActive);
683 }
684 this.activeItemIndex = this.swiper ? this.swiper.activeIndex : this.getInitialSlide();
685 if (this.swiper) {
686 this.$activeImageBg = jQuery(this.swiper.slides[this.activeItemIndex]).children('.' + settings.classes.slideBackground);
687 } else {
688 this.$activeImageBg = jQuery(this.elements.$slides[0]).children('.' + settings.classes.slideBackground);
689 }
690 this.$activeImageBg.addClass(settings.classes.kenBurnsActive);
691 }
692 }
693 exports["default"] = SwiperHandlerBase;
694
695 /***/ }),
696
697 /***/ "../assets/dev/js/frontend/handlers/base.js":
698 /*!**************************************************!*\
699 !*** ../assets/dev/js/frontend/handlers/base.js ***!
700 \**************************************************/
701 /***/ ((module) => {
702
703 "use strict";
704
705
706 module.exports = elementorModules.ViewModule.extend({
707 $element: null,
708 editorListeners: null,
709 onElementChange: null,
710 onEditSettingsChange: null,
711 onPageSettingsChange: null,
712 isEdit: null,
713 __construct(settings) {
714 if (!this.isActive(settings)) {
715 return;
716 }
717 this.$element = settings.$element;
718 this.isEdit = this.$element.hasClass('elementor-element-edit-mode');
719 if (this.isEdit) {
720 this.addEditorListeners();
721 }
722 },
723 isActive() {
724 return true;
725 },
726 isElementInTheCurrentDocument() {
727 if (!elementorFrontend.isEditMode()) {
728 return false;
729 }
730 return elementor.documents.currentDocument.id.toString() === this.$element[0].closest('.elementor').dataset.elementorId;
731 },
732 findElement(selector) {
733 var $mainElement = this.$element;
734 return $mainElement.find(selector).filter(function () {
735 // Start `closest` from parent since self can be `.elementor-element`.
736 return jQuery(this).parent().closest('.elementor-element').is($mainElement);
737 });
738 },
739 getUniqueHandlerID(cid, $element) {
740 if (!cid) {
741 cid = this.getModelCID();
742 }
743 if (!$element) {
744 $element = this.$element;
745 }
746 return cid + $element.attr('data-element_type') + this.getConstructorID();
747 },
748 initEditorListeners() {
749 var self = this;
750 self.editorListeners = [{
751 event: 'element:destroy',
752 to: elementor.channels.data,
753 callback(removedModel) {
754 if (removedModel.cid !== self.getModelCID()) {
755 return;
756 }
757 self.onDestroy();
758 }
759 }];
760 if (self.onElementChange) {
761 const elementType = self.getWidgetType() || self.getElementType();
762 let eventName = 'change';
763 if ('global' !== elementType) {
764 eventName += ':' + elementType;
765 }
766 self.editorListeners.push({
767 event: eventName,
768 to: elementor.channels.editor,
769 callback(controlView, elementView) {
770 var elementViewHandlerID = self.getUniqueHandlerID(elementView.model.cid, elementView.$el);
771 if (elementViewHandlerID !== self.getUniqueHandlerID()) {
772 return;
773 }
774 self.onElementChange(controlView.model.get('name'), controlView, elementView);
775 }
776 });
777 }
778 if (self.onEditSettingsChange) {
779 self.editorListeners.push({
780 event: 'change:editSettings',
781 to: elementor.channels.editor,
782 callback(changedModel, view) {
783 if (view.model.cid !== self.getModelCID()) {
784 return;
785 }
786 const propName = Object.keys(changedModel.changed)[0];
787 self.onEditSettingsChange(propName, changedModel.changed[propName]);
788 }
789 });
790 }
791 ['page'].forEach(function (settingsType) {
792 var listenerMethodName = 'on' + settingsType[0].toUpperCase() + settingsType.slice(1) + 'SettingsChange';
793 if (self[listenerMethodName]) {
794 self.editorListeners.push({
795 event: 'change',
796 to: elementor.settings[settingsType].model,
797 callback(model) {
798 self[listenerMethodName](model.changed);
799 }
800 });
801 }
802 });
803 },
804 getEditorListeners() {
805 if (!this.editorListeners) {
806 this.initEditorListeners();
807 }
808 return this.editorListeners;
809 },
810 addEditorListeners() {
811 var uniqueHandlerID = this.getUniqueHandlerID();
812 this.getEditorListeners().forEach(function (listener) {
813 elementorFrontend.addListenerOnce(uniqueHandlerID, listener.event, listener.callback, listener.to);
814 });
815 },
816 removeEditorListeners() {
817 var uniqueHandlerID = this.getUniqueHandlerID();
818 this.getEditorListeners().forEach(function (listener) {
819 elementorFrontend.removeListeners(uniqueHandlerID, listener.event, null, listener.to);
820 });
821 },
822 getElementType() {
823 return this.$element.data('element_type');
824 },
825 getWidgetType() {
826 const widgetType = this.$element.data('widget_type');
827 if (!widgetType) {
828 return;
829 }
830 return widgetType.split('.')[0];
831 },
832 getID() {
833 return this.$element.data('id');
834 },
835 getModelCID() {
836 return this.$element.data('model-cid');
837 },
838 getElementSettings(setting) {
839 let elementSettings = {};
840 const modelCID = this.getModelCID();
841 if (this.isEdit && modelCID) {
842 const settings = elementorFrontend.config.elements.data[modelCID],
843 attributes = settings.attributes;
844 let type = attributes.widgetType || attributes.elType;
845 if (attributes.isInner) {
846 type = 'inner-' + type;
847 }
848 let settingsKeys = elementorFrontend.config.elements.keys[type];
849 if (!settingsKeys) {
850 settingsKeys = elementorFrontend.config.elements.keys[type] = [];
851 jQuery.each(settings.controls, (name, control) => {
852 if (control.frontend_available || control.editor_available) {
853 settingsKeys.push(name);
854 }
855 });
856 }
857 jQuery.each(settings.getActiveControls(), function (controlKey) {
858 if (-1 !== settingsKeys.indexOf(controlKey)) {
859 let value = attributes[controlKey];
860 if (value.toJSON) {
861 value = value.toJSON();
862 }
863 elementSettings[controlKey] = value;
864 }
865 });
866 } else {
867 elementSettings = this.$element.data('settings') || {};
868 }
869 return this.getItems(elementSettings, setting);
870 },
871 getEditSettings(setting) {
872 var attributes = {};
873 if (this.isEdit) {
874 attributes = elementorFrontend.config.elements.editSettings[this.getModelCID()].attributes;
875 }
876 return this.getItems(attributes, setting);
877 },
878 getCurrentDeviceSetting(settingKey) {
879 return elementorFrontend.getCurrentDeviceSetting(this.getElementSettings(), settingKey);
880 },
881 onInit() {
882 if (this.isActive(this.getSettings())) {
883 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
884 }
885 },
886 onDestroy() {
887 if (this.isEdit) {
888 this.removeEditorListeners();
889 }
890 if (this.unbindEvents) {
891 this.unbindEvents();
892 }
893 }
894 });
895
896 /***/ }),
897
898 /***/ "../assets/dev/js/frontend/handlers/stretched-element.js":
899 /*!***************************************************************!*\
900 !*** ../assets/dev/js/frontend/handlers/stretched-element.js ***!
901 \***************************************************************/
902 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
903
904 "use strict";
905
906
907 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
908 Object.defineProperty(exports, "__esModule", ({
909 value: true
910 }));
911 exports["default"] = void 0;
912 var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../assets/dev/js/frontend/handlers/base.js"));
913 class StretchedElement extends _base.default {
914 getStretchedClass() {
915 return 'e-stretched';
916 }
917 getStretchSettingName() {
918 return 'stretch_element';
919 }
920 getStretchActiveValue() {
921 return 'yes';
922 }
923 bindEvents() {
924 const handlerID = this.getUniqueHandlerID();
925 elementorFrontend.addListenerOnce(handlerID, 'resize', this.stretch);
926 elementorFrontend.addListenerOnce(handlerID, 'sticky:stick', this.stretch, this.$element);
927 elementorFrontend.addListenerOnce(handlerID, 'sticky:unstick', this.stretch, this.$element);
928 if (elementorFrontend.isEditMode()) {
929 this.onKitChangeStretchContainerChange = this.onKitChangeStretchContainerChange.bind(this);
930 elementor.channels.editor.on('kit:change:stretchContainer', this.onKitChangeStretchContainerChange);
931 }
932 }
933 unbindEvents() {
934 elementorFrontend.removeListeners(this.getUniqueHandlerID(), 'resize', this.stretch);
935 if (elementorFrontend.isEditMode()) {
936 elementor.channels.editor.off('kit:change:stretchContainer', this.onKitChangeStretchContainerChange);
937 }
938 }
939 isActive(settings) {
940 return elementorFrontend.isEditMode() || settings.$element.hasClass(this.getStretchedClass());
941 }
942 getStretchElementForConfig() {
943 let childSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
944 if (childSelector) {
945 return this.$element.find(childSelector);
946 }
947 return this.$element;
948 }
949 getStretchElementConfig() {
950 return {
951 element: this.getStretchElementForConfig(),
952 selectors: {
953 container: this.getStretchContainer()
954 },
955 considerScrollbar: elementorFrontend.isEditMode() && elementorFrontend.config.is_rtl
956 };
957 }
958 initStretch() {
959 this.stretch = this.stretch.bind(this);
960 this.stretchElement = new elementorModules.frontend.tools.StretchElement(this.getStretchElementConfig());
961 }
962 getStretchContainer() {
963 return elementorFrontend.getKitSettings('stretched_section_container') || window;
964 }
965 isStretchSettingEnabled() {
966 return this.getElementSettings(this.getStretchSettingName()) === this.getStretchActiveValue();
967 }
968 stretch() {
969 if (!this.isStretchSettingEnabled()) {
970 return;
971 }
972 this.stretchElement.stretch();
973 }
974 onInit() {
975 if (!this.isActive(this.getSettings())) {
976 return;
977 }
978 this.initStretch();
979 super.onInit(...arguments);
980 this.stretch();
981 }
982 onElementChange(propertyName) {
983 const stretchSettingName = this.getStretchSettingName();
984 if (stretchSettingName === propertyName) {
985 if (this.isStretchSettingEnabled()) {
986 this.stretch();
987 } else {
988 this.stretchElement.reset();
989 }
990 }
991 }
992 onKitChangeStretchContainerChange() {
993 this.stretchElement.setSettings('selectors.container', this.getStretchContainer());
994 this.stretch();
995 }
996 }
997 exports["default"] = StretchedElement;
998
999 /***/ }),
1000
1001 /***/ "../assets/dev/js/frontend/modules.js":
1002 /*!********************************************!*\
1003 !*** ../assets/dev/js/frontend/modules.js ***!
1004 \********************************************/
1005 /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
1006
1007 "use strict";
1008
1009
1010 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1011 var _modules = _interopRequireDefault(__webpack_require__(/*! ../modules/modules */ "../assets/dev/js/modules/modules.js"));
1012 var _document = _interopRequireDefault(__webpack_require__(/*! ./document */ "../assets/dev/js/frontend/document.js"));
1013 var _stretchElement = _interopRequireDefault(__webpack_require__(/*! ./tools/stretch-element */ "../assets/dev/js/frontend/tools/stretch-element.js"));
1014 var _stretchedElement = _interopRequireDefault(__webpack_require__(/*! ./handlers/stretched-element */ "../assets/dev/js/frontend/handlers/stretched-element.js"));
1015 var _base = _interopRequireDefault(__webpack_require__(/*! ./handlers/base */ "../assets/dev/js/frontend/handlers/base.js"));
1016 var _baseSwiper = _interopRequireDefault(__webpack_require__(/*! ./handlers/base-swiper */ "../assets/dev/js/frontend/handlers/base-swiper.js"));
1017 var _baseCarousel = _interopRequireDefault(__webpack_require__(/*! ./handlers/base-carousel */ "../assets/dev/js/frontend/handlers/base-carousel.js"));
1018 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"));
1019 var _nestedAccordion = _interopRequireDefault(__webpack_require__(/*! elementor/modules/nested-accordion/assets/js/frontend/handlers/nested-accordion */ "../modules/nested-accordion/assets/js/frontend/handlers/nested-accordion.js"));
1020 var _contactButtons = _interopRequireDefault(__webpack_require__(/*! elementor/modules/floating-buttons/assets/js/floating-buttons/frontend/handlers/contact-buttons */ "../modules/floating-buttons/assets/js/floating-buttons/frontend/handlers/contact-buttons.js"));
1021 var _floatingBars = _interopRequireDefault(__webpack_require__(/*! elementor/modules/floating-buttons/assets/js/floating-bars/frontend/handlers/floating-bars */ "../modules/floating-buttons/assets/js/floating-bars/frontend/handlers/floating-bars.js"));
1022 var _nestedTitleKeyboardHandler = _interopRequireDefault(__webpack_require__(/*! ./handlers/accessibility/nested-title-keyboard-handler */ "../assets/dev/js/frontend/handlers/accessibility/nested-title-keyboard-handler.js"));
1023 _modules.default.frontend = {
1024 Document: _document.default,
1025 tools: {
1026 StretchElement: _stretchElement.default
1027 },
1028 handlers: {
1029 Base: _base.default,
1030 StretchedElement: _stretchedElement.default,
1031 SwiperBase: _baseSwiper.default,
1032 CarouselBase: _baseCarousel.default,
1033 NestedTabs: _nestedTabs.default,
1034 NestedAccordion: _nestedAccordion.default,
1035 NestedTitleKeyboardHandler: _nestedTitleKeyboardHandler.default,
1036 ContactButtonsHandler: _contactButtons.default,
1037 FloatingBarsHandler: _floatingBars.default
1038 }
1039 };
1040
1041 /***/ }),
1042
1043 /***/ "../assets/dev/js/frontend/tools/stretch-element.js":
1044 /*!**********************************************************!*\
1045 !*** ../assets/dev/js/frontend/tools/stretch-element.js ***!
1046 \**********************************************************/
1047 /***/ ((module) => {
1048
1049 "use strict";
1050
1051
1052 module.exports = elementorModules.ViewModule.extend({
1053 getDefaultSettings() {
1054 return {
1055 element: null,
1056 direction: elementorFrontend.config.is_rtl ? 'right' : 'left',
1057 selectors: {
1058 container: window
1059 },
1060 considerScrollbar: false,
1061 cssOutput: 'inline'
1062 };
1063 },
1064 getDefaultElements() {
1065 return {
1066 $element: jQuery(this.getSettings('element'))
1067 };
1068 },
1069 stretch() {
1070 const settings = this.getSettings();
1071 let $container;
1072 try {
1073 $container = jQuery(settings.selectors.container);
1074 // eslint-disable-next-line no-empty
1075 } catch (e) {}
1076 if (!$container || !$container.length) {
1077 $container = jQuery(this.getDefaultSettings().selectors.container);
1078 }
1079 this.reset();
1080 var $element = this.elements.$element,
1081 containerWidth = $container.innerWidth(),
1082 elementOffset = $element.offset().left,
1083 isFixed = 'fixed' === $element.css('position'),
1084 correctOffset = isFixed ? 0 : elementOffset,
1085 isContainerFullScreen = window === $container[0];
1086 if (!isContainerFullScreen) {
1087 var containerOffset = $container.offset().left;
1088 if (isFixed) {
1089 correctOffset = containerOffset;
1090 }
1091 if (elementOffset > containerOffset) {
1092 correctOffset = elementOffset - containerOffset;
1093 }
1094 }
1095 if (settings.considerScrollbar && isContainerFullScreen) {
1096 const scrollbarWidth = window.innerWidth - containerWidth;
1097 correctOffset -= scrollbarWidth;
1098 }
1099 if (!isFixed) {
1100 if (elementorFrontend.config.is_rtl) {
1101 correctOffset = containerWidth - ($element.outerWidth() + correctOffset);
1102 }
1103 correctOffset = -correctOffset;
1104 }
1105
1106 // Consider margin
1107 if (settings.margin) {
1108 correctOffset += settings.margin;
1109 }
1110 var css = {};
1111 let width = containerWidth;
1112 if (settings.margin) {
1113 width -= settings.margin * 2;
1114 }
1115 css.width = width + 'px';
1116 css[settings.direction] = correctOffset + 'px';
1117 if ('variables' === settings.cssOutput) {
1118 this.applyCssVariables($element, css);
1119 return;
1120 }
1121 $element.css(css);
1122 },
1123 reset() {
1124 const css = {},
1125 settings = this.getSettings(),
1126 $element = this.elements.$element;
1127 if ('variables' === settings.cssOutput) {
1128 this.resetCssVariables($element);
1129 return;
1130 }
1131 css.width = '';
1132 css[settings.direction] = '';
1133 $element.css(css);
1134 },
1135 applyCssVariables($element, css) {
1136 $element.css('--stretch-width', css.width);
1137 if (!!css.left) {
1138 $element.css('--stretch-left', css.left);
1139 } else {
1140 $element.css('--stretch-right', css.right);
1141 }
1142 },
1143 resetCssVariables($element) {
1144 $element.css({
1145 '--stretch-width': '',
1146 '--stretch-left': '',
1147 '--stretch-right': ''
1148 });
1149 }
1150 });
1151
1152 /***/ }),
1153
1154 /***/ "../assets/dev/js/frontend/utils/flex-horizontal-scroll.js":
1155 /*!*****************************************************************!*\
1156 !*** ../assets/dev/js/frontend/utils/flex-horizontal-scroll.js ***!
1157 \*****************************************************************/
1158 /***/ ((__unused_webpack_module, exports) => {
1159
1160 "use strict";
1161
1162
1163 Object.defineProperty(exports, "__esModule", ({
1164 value: true
1165 }));
1166 exports.changeScrollStatus = changeScrollStatus;
1167 exports.setHorizontalScrollAlignment = setHorizontalScrollAlignment;
1168 exports.setHorizontalTitleScrollValues = setHorizontalTitleScrollValues;
1169 function changeScrollStatus(element, event) {
1170 if ('mousedown' === event.type) {
1171 element.classList.add('e-scroll');
1172 element.dataset.pageX = event.pageX;
1173 } else {
1174 element.classList.remove('e-scroll', 'e-scroll-active');
1175 element.dataset.pageX = '';
1176 }
1177 }
1178
1179 // This function was written using this example https://codepen.io/thenutz/pen/VwYeYEE.
1180 function setHorizontalTitleScrollValues(element, horizontalScrollStatus, event) {
1181 const isActiveScroll = element.classList.contains('e-scroll'),
1182 isHorizontalScrollActive = 'enable' === horizontalScrollStatus,
1183 headingContentIsWiderThanWrapper = element.scrollWidth > element.clientWidth;
1184 if (!isActiveScroll || !isHorizontalScrollActive || !headingContentIsWiderThanWrapper) {
1185 return;
1186 }
1187 event.preventDefault();
1188 const previousPositionX = parseFloat(element.dataset.pageX),
1189 mouseMoveX = event.pageX - previousPositionX,
1190 maximumScrollValue = 5,
1191 stepLimit = 20;
1192 let toScrollDistanceX = 0;
1193 if (stepLimit < mouseMoveX) {
1194 toScrollDistanceX = maximumScrollValue;
1195 } else if (stepLimit * -1 > mouseMoveX) {
1196 toScrollDistanceX = -1 * maximumScrollValue;
1197 } else {
1198 toScrollDistanceX = mouseMoveX;
1199 }
1200 element.scrollLeft = element.scrollLeft - toScrollDistanceX;
1201 element.classList.add('e-scroll-active');
1202 }
1203 function setHorizontalScrollAlignment(_ref) {
1204 let {
1205 element,
1206 direction,
1207 justifyCSSVariable,
1208 horizontalScrollStatus
1209 } = _ref;
1210 if (!element) {
1211 return;
1212 }
1213 if (isHorizontalScroll(element, horizontalScrollStatus)) {
1214 initialScrollPosition(element, direction, justifyCSSVariable);
1215 } else {
1216 element.style.setProperty(justifyCSSVariable, '');
1217 }
1218 }
1219 function isHorizontalScroll(element, horizontalScrollStatus) {
1220 return element.clientWidth < getChildrenWidth(element.children) && 'enable' === horizontalScrollStatus;
1221 }
1222 function getChildrenWidth(children) {
1223 let totalWidth = 0;
1224 const parentContainer = children[0].parentNode,
1225 computedStyles = getComputedStyle(parentContainer),
1226 gap = parseFloat(computedStyles.gap) || 0; // Get the gap value or default to 0 if it's not specified
1227
1228 for (let i = 0; i < children.length; i++) {
1229 totalWidth += children[i].offsetWidth + gap;
1230 }
1231 return totalWidth;
1232 }
1233 function initialScrollPosition(element, direction, justifyCSSVariable) {
1234 const isRTL = elementorFrontend.config.is_rtl;
1235 switch (direction) {
1236 case 'end':
1237 element.style.setProperty(justifyCSSVariable, 'start');
1238 element.scrollLeft = isRTL ? -1 * getChildrenWidth(element.children) : getChildrenWidth(element.children);
1239 break;
1240 default:
1241 element.style.setProperty(justifyCSSVariable, 'start');
1242 element.scrollLeft = 0;
1243 }
1244 }
1245
1246 /***/ }),
1247
1248 /***/ "../assets/dev/js/modules/imports/args-object.js":
1249 /*!*******************************************************!*\
1250 !*** ../assets/dev/js/modules/imports/args-object.js ***!
1251 \*******************************************************/
1252 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1253
1254 "use strict";
1255
1256
1257 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1258 Object.defineProperty(exports, "__esModule", ({
1259 value: true
1260 }));
1261 exports["default"] = void 0;
1262 __webpack_require__(/*! core-js/modules/es.error.cause.js */ "../node_modules/core-js/modules/es.error.cause.js");
1263 var _instanceType = _interopRequireDefault(__webpack_require__(/*! ./instance-type */ "../assets/dev/js/modules/imports/instance-type.js"));
1264 var _isInstanceof = _interopRequireDefault(__webpack_require__(/*! ../../editor/utils/is-instanceof */ "../assets/dev/js/editor/utils/is-instanceof.js"));
1265 class ArgsObject extends _instanceType.default {
1266 static getInstanceType() {
1267 return 'ArgsObject';
1268 }
1269
1270 /**
1271 * Function constructor().
1272 *
1273 * Create ArgsObject.
1274 *
1275 * @param {{}} args
1276 */
1277 constructor(args) {
1278 super();
1279 this.args = args;
1280 }
1281
1282 /**
1283 * Function requireArgument().
1284 *
1285 * Validate property in args.
1286 *
1287 * @param {string} property
1288 * @param {{}} args
1289 *
1290 * @throws {Error}
1291 */
1292 requireArgument(property) {
1293 let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.args;
1294 if (!Object.prototype.hasOwnProperty.call(args, property)) {
1295 throw Error(`${property} is required.`);
1296 }
1297 }
1298
1299 /**
1300 * Function requireArgumentType().
1301 *
1302 * Validate property in args using `type === typeof(args.whatever)`.
1303 *
1304 * @param {string} property
1305 * @param {string} type
1306 * @param {{}} args
1307 *
1308 * @throws {Error}
1309 */
1310 requireArgumentType(property, type) {
1311 let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
1312 this.requireArgument(property, args);
1313 if (typeof args[property] !== type) {
1314 throw Error(`${property} invalid type: ${type}.`);
1315 }
1316 }
1317
1318 /**
1319 * Function requireArgumentInstance().
1320 *
1321 * Validate property in args using `args.whatever instanceof instance`.
1322 *
1323 * @param {string} property
1324 * @param {*} instance
1325 * @param {{}} args
1326 *
1327 * @throws {Error}
1328 */
1329 requireArgumentInstance(property, instance) {
1330 let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
1331 this.requireArgument(property, args);
1332 if (!(args[property] instanceof instance) && !(0, _isInstanceof.default)(args[property], instance)) {
1333 throw Error(`${property} invalid instance.`);
1334 }
1335 }
1336
1337 /**
1338 * Function requireArgumentConstructor().
1339 *
1340 * Validate property in args using `type === args.whatever.constructor`.
1341 *
1342 * @param {string} property
1343 * @param {*} type
1344 * @param {{}} args
1345 *
1346 * @throws {Error}
1347 */
1348 requireArgumentConstructor(property, type) {
1349 let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
1350 this.requireArgument(property, args);
1351
1352 // Note: Converting the constructor to string in order to avoid equation issues
1353 // due to different memory addresses between iframes (window.Object !== window.top.Object).
1354 if (args[property].constructor.toString() !== type.prototype.constructor.toString()) {
1355 throw Error(`${property} invalid constructor type.`);
1356 }
1357 }
1358 }
1359 exports["default"] = ArgsObject;
1360
1361 /***/ }),
1362
1363 /***/ "../assets/dev/js/modules/imports/force-method-implementation.js":
1364 /*!***********************************************************************!*\
1365 !*** ../assets/dev/js/modules/imports/force-method-implementation.js ***!
1366 \***********************************************************************/
1367 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1368
1369 "use strict";
1370
1371
1372 Object.defineProperty(exports, "__esModule", ({
1373 value: true
1374 }));
1375 exports["default"] = exports.ForceMethodImplementation = void 0;
1376 __webpack_require__(/*! core-js/modules/es.error.cause.js */ "../node_modules/core-js/modules/es.error.cause.js");
1377 // TODO: Wrong location used as `elementorModules.ForceMethodImplementation(); should be` `elementorUtils.forceMethodImplementation()`;
1378
1379 class ForceMethodImplementation extends Error {
1380 constructor() {
1381 let info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1382 let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1383 super(`${info.isStatic ? 'static ' : ''}${info.fullName}() should be implemented, please provide '${info.functionName || info.fullName}' functionality.`, args);
1384
1385 // Allow to pass custom properties to the error.
1386 if (Object.keys(args).length) {
1387 // eslint-disable-next-line no-console
1388 console.error(args);
1389 }
1390 Error.captureStackTrace(this, ForceMethodImplementation);
1391 }
1392 }
1393 exports.ForceMethodImplementation = ForceMethodImplementation;
1394 var _default = args => {
1395 const stack = Error().stack,
1396 caller = stack.split('\n')[2].trim(),
1397 callerName = caller.startsWith('at new') ? 'constructor' : caller.split(' ')[1],
1398 info = {};
1399 info.functionName = callerName;
1400 info.fullName = callerName;
1401 if (info.functionName.includes('.')) {
1402 const parts = info.functionName.split('.');
1403 info.className = parts[0];
1404 info.functionName = parts[1];
1405 } else {
1406 info.isStatic = true;
1407 }
1408 throw new ForceMethodImplementation(info, args);
1409 };
1410 exports["default"] = _default;
1411
1412 /***/ }),
1413
1414 /***/ "../assets/dev/js/modules/imports/instance-type.js":
1415 /*!*********************************************************!*\
1416 !*** ../assets/dev/js/modules/imports/instance-type.js ***!
1417 \*********************************************************/
1418 /***/ ((__unused_webpack_module, exports) => {
1419
1420 "use strict";
1421
1422
1423 Object.defineProperty(exports, "__esModule", ({
1424 value: true
1425 }));
1426 exports["default"] = void 0;
1427 class InstanceType {
1428 static [Symbol.hasInstance](target) {
1429 /**
1430 * This is function extending being called each time JS uses instanceOf, since babel use it each time it create new class
1431 * its give's opportunity to mange capabilities of instanceOf operator.
1432 * saving current class each time will give option later to handle instanceOf manually.
1433 */
1434 let result = super[Symbol.hasInstance](target);
1435
1436 // Act normal when validate a class, which does not have instance type.
1437 if (target && !target.constructor.getInstanceType) {
1438 return result;
1439 }
1440 if (target) {
1441 if (!target.instanceTypes) {
1442 target.instanceTypes = [];
1443 }
1444 if (!result) {
1445 if (this.getInstanceType() === target.constructor.getInstanceType()) {
1446 result = true;
1447 }
1448 }
1449 if (result) {
1450 const name = this.getInstanceType === InstanceType.getInstanceType ? 'BaseInstanceType' : this.getInstanceType();
1451 if (-1 === target.instanceTypes.indexOf(name)) {
1452 target.instanceTypes.push(name);
1453 }
1454 }
1455 }
1456 if (!result && target) {
1457 // Check if the given 'target', is instance of known types.
1458 result = target.instanceTypes && Array.isArray(target.instanceTypes) && -1 !== target.instanceTypes.indexOf(this.getInstanceType());
1459 }
1460 return result;
1461 }
1462 static getInstanceType() {
1463 elementorModules.ForceMethodImplementation();
1464 }
1465 constructor() {
1466 // Since anonymous classes sometimes do not get validated by babel, do it manually.
1467 let target = new.target;
1468 const prototypes = [];
1469 while (target.__proto__ && target.__proto__.name) {
1470 prototypes.push(target.__proto__);
1471 target = target.__proto__;
1472 }
1473 prototypes.reverse().forEach(proto => this instanceof proto);
1474 }
1475 }
1476 exports["default"] = InstanceType;
1477
1478 /***/ }),
1479
1480 /***/ "../assets/dev/js/modules/imports/module.js":
1481 /*!**************************************************!*\
1482 !*** ../assets/dev/js/modules/imports/module.js ***!
1483 \**************************************************/
1484 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1485
1486 "use strict";
1487
1488
1489 __webpack_require__(/*! core-js/modules/es.error.cause.js */ "../node_modules/core-js/modules/es.error.cause.js");
1490 const Module = function () {
1491 const $ = jQuery,
1492 instanceParams = arguments,
1493 self = this,
1494 events = {};
1495 let settings;
1496 const ensureClosureMethods = function () {
1497 $.each(self, function (methodName) {
1498 const oldMethod = self[methodName];
1499 if ('function' !== typeof oldMethod) {
1500 return;
1501 }
1502 self[methodName] = function () {
1503 return oldMethod.apply(self, arguments);
1504 };
1505 });
1506 };
1507 const initSettings = function () {
1508 settings = self.getDefaultSettings();
1509 const instanceSettings = instanceParams[0];
1510 if (instanceSettings) {
1511 $.extend(true, settings, instanceSettings);
1512 }
1513 };
1514 const init = function () {
1515 self.__construct.apply(self, instanceParams);
1516 ensureClosureMethods();
1517 initSettings();
1518 self.trigger('init');
1519 };
1520 this.getItems = function (items, itemKey) {
1521 if (itemKey) {
1522 const keyStack = itemKey.split('.'),
1523 currentKey = keyStack.splice(0, 1);
1524 if (!keyStack.length) {
1525 return items[currentKey];
1526 }
1527 if (!items[currentKey]) {
1528 return;
1529 }
1530 return this.getItems(items[currentKey], keyStack.join('.'));
1531 }
1532 return items;
1533 };
1534 this.getSettings = function (setting) {
1535 return this.getItems(settings, setting);
1536 };
1537 this.setSettings = function (settingKey, value, settingsContainer) {
1538 if (!settingsContainer) {
1539 settingsContainer = settings;
1540 }
1541 if ('object' === typeof settingKey) {
1542 $.extend(settingsContainer, settingKey);
1543 return self;
1544 }
1545 const keyStack = settingKey.split('.'),
1546 currentKey = keyStack.splice(0, 1);
1547 if (!keyStack.length) {
1548 settingsContainer[currentKey] = value;
1549 return self;
1550 }
1551 if (!settingsContainer[currentKey]) {
1552 settingsContainer[currentKey] = {};
1553 }
1554 return self.setSettings(keyStack.join('.'), value, settingsContainer[currentKey]);
1555 };
1556 this.getErrorMessage = function (type, functionName) {
1557 let message;
1558 switch (type) {
1559 case 'forceMethodImplementation':
1560 message = `The method '${functionName}' must to be implemented in the inheritor child.`;
1561 break;
1562 default:
1563 message = 'An error occurs';
1564 }
1565 return message;
1566 };
1567
1568 // TODO: This function should be deleted ?.
1569 this.forceMethodImplementation = function (functionName) {
1570 throw new Error(this.getErrorMessage('forceMethodImplementation', functionName));
1571 };
1572 this.on = function (eventName, callback) {
1573 if ('object' === typeof eventName) {
1574 $.each(eventName, function (singleEventName) {
1575 self.on(singleEventName, this);
1576 });
1577 return self;
1578 }
1579 const eventNames = eventName.split(' ');
1580 eventNames.forEach(function (singleEventName) {
1581 if (!events[singleEventName]) {
1582 events[singleEventName] = [];
1583 }
1584 events[singleEventName].push(callback);
1585 });
1586 return self;
1587 };
1588 this.off = function (eventName, callback) {
1589 if (!events[eventName]) {
1590 return self;
1591 }
1592 if (!callback) {
1593 delete events[eventName];
1594 return self;
1595 }
1596 const callbackIndex = events[eventName].indexOf(callback);
1597 if (-1 !== callbackIndex) {
1598 delete events[eventName][callbackIndex];
1599
1600 // Reset array index (for next off on same event).
1601 events[eventName] = events[eventName].filter(val => val);
1602 }
1603 return self;
1604 };
1605 this.trigger = function (eventName) {
1606 const methodName = 'on' + eventName[0].toUpperCase() + eventName.slice(1),
1607 params = Array.prototype.slice.call(arguments, 1);
1608 if (self[methodName]) {
1609 self[methodName].apply(self, params);
1610 }
1611 const callbacks = events[eventName];
1612 if (!callbacks) {
1613 return self;
1614 }
1615 $.each(callbacks, function (index, callback) {
1616 callback.apply(self, params);
1617 });
1618 return self;
1619 };
1620 init();
1621 };
1622 Module.prototype.__construct = function () {};
1623 Module.prototype.getDefaultSettings = function () {
1624 return {};
1625 };
1626 Module.prototype.getConstructorID = function () {
1627 return this.constructor.name;
1628 };
1629 Module.extend = function (properties) {
1630 const $ = jQuery,
1631 parent = this;
1632 const child = function () {
1633 return parent.apply(this, arguments);
1634 };
1635 $.extend(child, parent);
1636 child.prototype = Object.create($.extend({}, parent.prototype, properties));
1637 child.prototype.constructor = child;
1638 child.__super__ = parent.prototype;
1639 return child;
1640 };
1641 module.exports = Module;
1642
1643 /***/ }),
1644
1645 /***/ "../assets/dev/js/modules/imports/utils/masonry.js":
1646 /*!*********************************************************!*\
1647 !*** ../assets/dev/js/modules/imports/utils/masonry.js ***!
1648 \*********************************************************/
1649 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1650
1651 "use strict";
1652
1653
1654 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1655 Object.defineProperty(exports, "__esModule", ({
1656 value: true
1657 }));
1658 exports["default"] = void 0;
1659 var _viewModule = _interopRequireDefault(__webpack_require__(/*! ../view-module */ "../assets/dev/js/modules/imports/view-module.js"));
1660 var _default = _viewModule.default.extend({
1661 getDefaultSettings() {
1662 return {
1663 container: null,
1664 items: null,
1665 columnsCount: 3,
1666 verticalSpaceBetween: 30
1667 };
1668 },
1669 getDefaultElements() {
1670 return {
1671 $container: jQuery(this.getSettings('container')),
1672 $items: jQuery(this.getSettings('items'))
1673 };
1674 },
1675 run() {
1676 var heights = [],
1677 distanceFromTop = this.elements.$container.position().top,
1678 settings = this.getSettings(),
1679 columnsCount = settings.columnsCount;
1680 distanceFromTop += parseInt(this.elements.$container.css('margin-top'), 10);
1681 this.elements.$items.each(function (index) {
1682 var row = Math.floor(index / columnsCount),
1683 $item = jQuery(this),
1684 itemHeight = $item[0].getBoundingClientRect().height + settings.verticalSpaceBetween;
1685 if (row) {
1686 var itemPosition = $item.position(),
1687 indexAtRow = index % columnsCount,
1688 pullHeight = itemPosition.top - distanceFromTop - heights[indexAtRow];
1689 pullHeight -= parseInt($item.css('margin-top'), 10);
1690 pullHeight *= -1;
1691 $item.css('margin-top', pullHeight + 'px');
1692 heights[indexAtRow] += itemHeight;
1693 } else {
1694 heights.push(itemHeight);
1695 }
1696 });
1697 }
1698 });
1699 exports["default"] = _default;
1700
1701 /***/ }),
1702
1703 /***/ "../assets/dev/js/modules/imports/utils/scroll.js":
1704 /*!********************************************************!*\
1705 !*** ../assets/dev/js/modules/imports/utils/scroll.js ***!
1706 \********************************************************/
1707 /***/ ((__unused_webpack_module, exports) => {
1708
1709 "use strict";
1710
1711
1712 Object.defineProperty(exports, "__esModule", ({
1713 value: true
1714 }));
1715 exports["default"] = void 0;
1716 // Moved from elementor pro: 'assets/dev/js/frontend/utils'
1717 class Scroll {
1718 /**
1719 * @param {Object} obj
1720 * @param {number} obj.sensitivity - Value between 0-100 - Will determine the intersection trigger points on the element
1721 * @param {Function} obj.callback - Will be triggered on each intersection point between the element and the viewport top/bottom
1722 * @param {string} obj.offset - Offset between the element intersection points and the viewport, written like in CSS: '-50% 0 -25%'
1723 * @param {HTMLElement} obj.root - The element that the events will be relative to, if 'null' will be relative to the viewport
1724 */
1725 static scrollObserver(obj) {
1726 let lastScrollY = 0;
1727
1728 // Generating thresholds points along the animation height
1729 // More thresholds points = more trigger points of the callback
1730 const buildThresholds = function () {
1731 let sensitivityPercentage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
1732 const thresholds = [];
1733 if (sensitivityPercentage > 0 && sensitivityPercentage <= 100) {
1734 const increment = 100 / sensitivityPercentage;
1735 for (let i = 0; i <= 100; i += increment) {
1736 thresholds.push(i / 100);
1737 }
1738 } else {
1739 thresholds.push(0);
1740 }
1741 return thresholds;
1742 };
1743 const options = {
1744 root: obj.root || null,
1745 rootMargin: obj.offset || '0px',
1746 threshold: buildThresholds(obj.sensitivity)
1747 };
1748 function handleIntersect(entries) {
1749 const currentScrollY = entries[0].boundingClientRect.y,
1750 isInViewport = entries[0].isIntersecting,
1751 intersectionScrollDirection = currentScrollY < lastScrollY ? 'down' : 'up',
1752 scrollPercentage = Math.abs(parseFloat((entries[0].intersectionRatio * 100).toFixed(2)));
1753 obj.callback({
1754 sensitivity: obj.sensitivity,
1755 isInViewport,
1756 scrollPercentage,
1757 intersectionScrollDirection
1758 });
1759 lastScrollY = currentScrollY;
1760 }
1761 return new IntersectionObserver(handleIntersect, options);
1762 }
1763
1764 /**
1765 * @param {jQuery.Element} $element
1766 * @param {Object} offsetObj
1767 * @param {number} offsetObj.start - Offset start value in percentages
1768 * @param {number} offsetObj.end - Offset end value in percentages
1769 */
1770 static getElementViewportPercentage($element) {
1771 let offsetObj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1772 const elementOffset = $element[0].getBoundingClientRect(),
1773 offsetStart = offsetObj.start || 0,
1774 offsetEnd = offsetObj.end || 0,
1775 windowStartOffset = window.innerHeight * offsetStart / 100,
1776 windowEndOffset = window.innerHeight * offsetEnd / 100,
1777 y1 = elementOffset.top - window.innerHeight,
1778 y2 = elementOffset.top + windowStartOffset + $element.height(),
1779 startPosition = 0 - y1 + windowStartOffset,
1780 endPosition = y2 - y1 + windowEndOffset,
1781 percent = Math.max(0, Math.min(startPosition / endPosition, 1));
1782 return parseFloat((percent * 100).toFixed(2));
1783 }
1784
1785 /**
1786 * @param {Object} offsetObj
1787 * @param {number} offsetObj.start - Offset start value in percentages
1788 * @param {number} offsetObj.end - Offset end value in percentages
1789 * @param {number} limitPageHeight - Will limit the page height calculation
1790 */
1791 static getPageScrollPercentage() {
1792 let offsetObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1793 let limitPageHeight = arguments.length > 1 ? arguments[1] : undefined;
1794 const offsetStart = offsetObj.start || 0,
1795 offsetEnd = offsetObj.end || 0,
1796 initialPageHeight = limitPageHeight || document.documentElement.scrollHeight - document.documentElement.clientHeight,
1797 heightOffset = initialPageHeight * offsetStart / 100,
1798 pageRange = initialPageHeight + heightOffset + initialPageHeight * offsetEnd / 100,
1799 scrollPos = document.documentElement.scrollTop + document.body.scrollTop + heightOffset;
1800 return scrollPos / pageRange * 100;
1801 }
1802 }
1803 exports["default"] = Scroll;
1804
1805 /***/ }),
1806
1807 /***/ "../assets/dev/js/modules/imports/view-module.js":
1808 /*!*******************************************************!*\
1809 !*** ../assets/dev/js/modules/imports/view-module.js ***!
1810 \*******************************************************/
1811 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1812
1813 "use strict";
1814
1815
1816 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1817 Object.defineProperty(exports, "__esModule", ({
1818 value: true
1819 }));
1820 exports["default"] = void 0;
1821 var _module = _interopRequireDefault(__webpack_require__(/*! ./module */ "../assets/dev/js/modules/imports/module.js"));
1822 var _default = _module.default.extend({
1823 elements: null,
1824 getDefaultElements() {
1825 return {};
1826 },
1827 bindEvents() {},
1828 onInit() {
1829 this.initElements();
1830 this.bindEvents();
1831 },
1832 initElements() {
1833 this.elements = this.getDefaultElements();
1834 }
1835 });
1836 exports["default"] = _default;
1837
1838 /***/ }),
1839
1840 /***/ "../assets/dev/js/modules/modules.js":
1841 /*!*******************************************!*\
1842 !*** ../assets/dev/js/modules/modules.js ***!
1843 \*******************************************/
1844 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1845
1846 "use strict";
1847
1848
1849 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1850 Object.defineProperty(exports, "__esModule", ({
1851 value: true
1852 }));
1853 exports["default"] = void 0;
1854 var _module = _interopRequireDefault(__webpack_require__(/*! ./imports/module */ "../assets/dev/js/modules/imports/module.js"));
1855 var _viewModule = _interopRequireDefault(__webpack_require__(/*! ./imports/view-module */ "../assets/dev/js/modules/imports/view-module.js"));
1856 var _argsObject = _interopRequireDefault(__webpack_require__(/*! ./imports/args-object */ "../assets/dev/js/modules/imports/args-object.js"));
1857 var _masonry = _interopRequireDefault(__webpack_require__(/*! ./imports/utils/masonry */ "../assets/dev/js/modules/imports/utils/masonry.js"));
1858 var _scroll = _interopRequireDefault(__webpack_require__(/*! ./imports/utils/scroll */ "../assets/dev/js/modules/imports/utils/scroll.js"));
1859 var _forceMethodImplementation = _interopRequireDefault(__webpack_require__(/*! ./imports/force-method-implementation */ "../assets/dev/js/modules/imports/force-method-implementation.js"));
1860 var _default = window.elementorModules = {
1861 Module: _module.default,
1862 ViewModule: _viewModule.default,
1863 ArgsObject: _argsObject.default,
1864 ForceMethodImplementation: _forceMethodImplementation.default,
1865 utils: {
1866 Masonry: _masonry.default,
1867 Scroll: _scroll.default
1868 }
1869 };
1870 exports["default"] = _default;
1871
1872 /***/ }),
1873
1874 /***/ "../modules/floating-buttons/assets/js/floating-bars/frontend/classes/floatin-bar-dom.js":
1875 /*!***********************************************************************************************!*\
1876 !*** ../modules/floating-buttons/assets/js/floating-bars/frontend/classes/floatin-bar-dom.js ***!
1877 \***********************************************************************************************/
1878 /***/ ((__unused_webpack_module, exports) => {
1879
1880 "use strict";
1881
1882
1883 Object.defineProperty(exports, "__esModule", ({
1884 value: true
1885 }));
1886 exports["default"] = void 0;
1887 class FloatingBarDomHelper {
1888 constructor($element) {
1889 this.$element = $element;
1890 }
1891 maybeMoveToTop() {
1892 const el = this.$element[0];
1893 const widget = el.querySelector('.e-floating-bars');
1894 if (elementorFrontend.isEditMode()) {
1895 widget.classList.add('is-sticky');
1896 return;
1897 }
1898 if (el.dataset.widget_type.startsWith('floating-bars') && widget.classList.contains('has-vertical-position-top') && !widget.classList.contains('is-sticky')) {
1899 const wpAdminBar = document.getElementById('wpadminbar');
1900 const elementToInsert = el.closest('.elementor');
1901 if (wpAdminBar) {
1902 wpAdminBar.after(elementToInsert);
1903 } else {
1904 document.body.prepend(elementToInsert);
1905 }
1906 }
1907 }
1908 }
1909 exports["default"] = FloatingBarDomHelper;
1910
1911 /***/ }),
1912
1913 /***/ "../modules/floating-buttons/assets/js/floating-bars/frontend/handlers/floating-bars.js":
1914 /*!**********************************************************************************************!*\
1915 !*** ../modules/floating-buttons/assets/js/floating-bars/frontend/handlers/floating-bars.js ***!
1916 \**********************************************************************************************/
1917 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1918
1919 "use strict";
1920
1921
1922 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1923 Object.defineProperty(exports, "__esModule", ({
1924 value: true
1925 }));
1926 exports["default"] = void 0;
1927 var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js"));
1928 var _floatinBarDom = _interopRequireDefault(__webpack_require__(/*! ../classes/floatin-bar-dom */ "../modules/floating-buttons/assets/js/floating-bars/frontend/classes/floatin-bar-dom.js"));
1929 var _clickTracking = _interopRequireDefault(__webpack_require__(/*! ../../../shared/frontend/handlers/click-tracking */ "../modules/floating-buttons/assets/js/shared/frontend/handlers/click-tracking.js"));
1930 class FloatingBarsHandler extends _base.default {
1931 getDefaultSettings() {
1932 return {
1933 selectors: {
1934 main: '.e-floating-bars',
1935 closeButton: '.e-floating-bars__close-button',
1936 ctaButton: '.e-floating-bars__cta-button'
1937 },
1938 constants: {
1939 ctaEntranceAnimation: 'style_cta_button_animation',
1940 ctaEntranceAnimationDelay: 'style_cta_button_animation_delay',
1941 hasEntranceAnimation: 'has-entrance-animation',
1942 visible: 'visible',
1943 isSticky: 'is-sticky',
1944 hasVerticalPositionTop: 'has-vertical-position-top',
1945 isHidden: 'is-hidden',
1946 animated: 'animated'
1947 }
1948 };
1949 }
1950 getDefaultElements() {
1951 const selectors = this.getSettings('selectors');
1952 return {
1953 main: this.$element[0].querySelector(selectors.main),
1954 mainAll: this.$element[0].querySelectorAll(selectors.main),
1955 closeButton: this.$element[0].querySelector(selectors.closeButton),
1956 ctaButton: this.$element[0].querySelector(selectors.ctaButton)
1957 };
1958 }
1959 getResponsiveSetting(controlName) {
1960 const currentDevice = elementorFrontend.getCurrentDeviceMode();
1961 return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), controlName, '', currentDevice);
1962 }
1963 bindEvents() {
1964 if (this.elements.closeButton) {
1965 this.elements.closeButton.addEventListener('click', this.closeFloatingBar.bind(this));
1966 }
1967 if (this.elements.ctaButton) {
1968 this.elements.ctaButton.addEventListener('animationend', this.handleAnimationEnd.bind(this));
1969 }
1970 if (this.elements.main) {
1971 window.addEventListener('keyup', this.onDocumentKeyup.bind(this));
1972 }
1973 }
1974 isStickyTop() {
1975 const {
1976 isSticky,
1977 hasVerticalPositionTop
1978 } = this.getSettings('constants');
1979 return this.elements.main.classList.contains(isSticky) && this.elements.main.classList.contains(hasVerticalPositionTop);
1980 }
1981 focusOnLoad() {
1982 this.elements.main.setAttribute('tabindex', '0');
1983 this.elements.main.focus({
1984 focusVisible: true
1985 });
1986 }
1987 applyBodyPadding() {
1988 const mainHeight = this.elements.main.offsetHeight;
1989 document.body.style.paddingTop = `${mainHeight}px`;
1990 }
1991 removeBodyPadding() {
1992 document.body.style.paddingTop = '0';
1993 }
1994 handleWPAdminBar() {
1995 const wpAdminBar = elementorFrontend.elements.$wpAdminBar;
1996 if (wpAdminBar.length) {
1997 this.elements.main.style.top = `${wpAdminBar.height()}px`;
1998 }
1999 }
2000 closeFloatingBar() {
2001 const {
2002 isHidden
2003 } = this.getSettings('constants');
2004 if (!elementorFrontend.isEditMode()) {
2005 this.elements.main.classList.add(isHidden);
2006 if (this.isStickyTop()) {
2007 this.removeBodyPadding();
2008 }
2009 }
2010 }
2011 initEntranceAnimation() {
2012 const {
2013 animated,
2014 ctaEntranceAnimation,
2015 ctaEntranceAnimationDelay,
2016 hasEntranceAnimation
2017 } = this.getSettings('constants');
2018 const entranceAnimationClass = this.getResponsiveSetting(ctaEntranceAnimation);
2019 const entranceAnimationDelay = this.getResponsiveSetting(ctaEntranceAnimationDelay) || 0;
2020 const setTimeoutDelay = entranceAnimationDelay + 500;
2021 this.elements.ctaButton.classList.add(animated);
2022 this.elements.ctaButton.classList.add(entranceAnimationClass);
2023 setTimeout(() => {
2024 this.elements.ctaButton.classList.remove(hasEntranceAnimation);
2025 }, setTimeoutDelay);
2026 }
2027 handleAnimationEnd() {
2028 this.removeEntranceAnimationClasses();
2029 this.focusOnLoad();
2030 }
2031 removeEntranceAnimationClasses() {
2032 if (!this.elements.ctaButton) {
2033 return;
2034 }
2035 const {
2036 animated,
2037 ctaEntranceAnimation,
2038 visible
2039 } = this.getSettings('constants');
2040 const entranceAnimationClass = this.getResponsiveSetting(ctaEntranceAnimation);
2041 this.elements.ctaButton.classList.remove(animated);
2042 this.elements.ctaButton.classList.remove(entranceAnimationClass);
2043 this.elements.ctaButton.classList.add(visible);
2044 }
2045 onDocumentKeyup(event) {
2046 // Bail if not ESC key
2047 if (event.keyCode !== 27 || !this.elements.main) {
2048 return;
2049 }
2050
2051 /* eslint-disable @wordpress/no-global-active-element */
2052 if (this.elements.main.contains(document.activeElement)) {
2053 this.closeFloatingBar();
2054 }
2055 /* eslint-enable @wordpress/no-global-active-element */
2056 }
2057
2058 initDefaultState() {
2059 const {
2060 hasEntranceAnimation
2061 } = this.getSettings('constants');
2062 if (this.isStickyTop()) {
2063 this.applyBodyPadding();
2064 this.handleWPAdminBar();
2065 }
2066 if (this.elements.main && !this.elements.ctaButton.classList.contains(hasEntranceAnimation) && !elementorFrontend.isEditMode()) {
2067 this.focusOnLoad();
2068 }
2069 }
2070 onInit() {
2071 const {
2072 hasEntranceAnimation
2073 } = this.getSettings('constants');
2074 super.onInit(...arguments);
2075 this.clickTrackingHandler = new _clickTracking.default({
2076 $element: this.$element
2077 });
2078 const domHelper = new _floatinBarDom.default(this.$element);
2079 domHelper.maybeMoveToTop();
2080 if (this.elements.ctaButton && this.elements.ctaButton.classList.contains(hasEntranceAnimation)) {
2081 this.initEntranceAnimation();
2082 }
2083 this.initDefaultState();
2084 }
2085 }
2086 exports["default"] = FloatingBarsHandler;
2087
2088 /***/ }),
2089
2090 /***/ "../modules/floating-buttons/assets/js/floating-buttons/frontend/handlers/contact-buttons.js":
2091 /*!***************************************************************************************************!*\
2092 !*** ../modules/floating-buttons/assets/js/floating-buttons/frontend/handlers/contact-buttons.js ***!
2093 \***************************************************************************************************/
2094 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2095
2096 "use strict";
2097
2098
2099 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2100 Object.defineProperty(exports, "__esModule", ({
2101 value: true
2102 }));
2103 exports["default"] = void 0;
2104 var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js"));
2105 var _clickTracking = _interopRequireDefault(__webpack_require__(/*! ../../../shared/frontend/handlers/click-tracking */ "../modules/floating-buttons/assets/js/shared/frontend/handlers/click-tracking.js"));
2106 class ContactButtonsHandler extends _base.default {
2107 getDefaultSettings() {
2108 return {
2109 selectors: {
2110 main: '.e-contact-buttons',
2111 content: '.e-contact-buttons__content',
2112 contentWrapper: '.e-contact-buttons__content-wrapper',
2113 chatButton: '.e-contact-buttons__chat-button',
2114 closeButton: '.e-contact-buttons__close-button',
2115 messageBubbleTime: '.e-contact-buttons__message-bubble-time'
2116 },
2117 constants: {
2118 entranceAnimation: 'style_chat_box_entrance_animation',
2119 exitAnimation: 'style_chat_box_exit_animation',
2120 chatButtonAnimation: 'style_chat_button_animation',
2121 animated: 'animated',
2122 animatedWrapper: 'animated-wrapper',
2123 visible: 'visible',
2124 reverse: 'reverse',
2125 hidden: 'hidden',
2126 hasAnimations: 'has-animations',
2127 hasEntranceAnimation: 'has-entrance-animation',
2128 none: 'none'
2129 }
2130 };
2131 }
2132 getDefaultElements() {
2133 const selectors = this.getSettings('selectors');
2134 return {
2135 main: this.$element[0].querySelector(selectors.main),
2136 content: this.$element[0].querySelector(selectors.content),
2137 contentWrapper: this.$element[0].querySelector(selectors.contentWrapper),
2138 chatButton: this.$element[0].querySelector(selectors.chatButton),
2139 closeButton: this.$element[0].querySelector(selectors.closeButton),
2140 messageBubbleTime: this.$element[0].querySelector(selectors.messageBubbleTime)
2141 };
2142 }
2143 getResponsiveSetting(controlName) {
2144 const currentDevice = elementorFrontend.getCurrentDeviceMode();
2145 return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), controlName, '', currentDevice);
2146 }
2147 bindEvents() {
2148 if (this.elements.closeButton) {
2149 this.elements.closeButton.addEventListener('click', this.closeChatBox.bind(this));
2150 }
2151 if (this.elements.chatButton) {
2152 this.elements.chatButton.addEventListener('click', this.onChatButtonClick.bind(this));
2153 this.elements.chatButton.addEventListener('animationend', this.removeChatButtonAnimationClasses.bind(this));
2154 }
2155 if (this.elements.content) {
2156 this.elements.content.addEventListener('animationend', this.removeAnimationClasses.bind(this));
2157 }
2158 if (this.elements.contentWrapper) {
2159 window.addEventListener('keyup', this.onDocumentKeyup.bind(this));
2160 }
2161 }
2162 contentWrapperIsHidden(hide) {
2163 if (!this.elements.contentWrapper) {
2164 return false;
2165 }
2166 const {
2167 hidden
2168 } = this.getSettings('constants');
2169
2170 // Set current state
2171 if (true === hide) {
2172 this.elements.contentWrapper.classList.add(hidden);
2173 this.elements.contentWrapper.setAttribute('aria-hidden', 'true');
2174 return;
2175 }
2176 if (false === hide) {
2177 this.elements.contentWrapper.classList.remove(hidden);
2178 this.elements.contentWrapper.setAttribute('aria-hidden', 'false');
2179 return;
2180 }
2181
2182 // Get current state
2183 return this.elements.contentWrapper.classList.contains(hidden);
2184 }
2185 onDocumentKeyup(event) {
2186 // Bail if not ESC key
2187 if (event.keyCode !== 27 || !this.elements.main) {
2188 return;
2189 }
2190
2191 /* eslint-disable @wordpress/no-global-active-element */
2192 if (!this.contentWrapperIsHidden() && this.elements.main.contains(document.activeElement)) {
2193 this.closeChatBox();
2194 }
2195 /* eslint-enable @wordpress/no-global-active-element */
2196 }
2197
2198 removeAnimationClasses() {
2199 if (!this.elements.content) {
2200 return;
2201 }
2202 const {
2203 reverse,
2204 entranceAnimation,
2205 exitAnimation,
2206 animated,
2207 visible
2208 } = this.getSettings('constants');
2209 const isExitAnimation = this.elements.content.classList.contains(reverse),
2210 openAnimationClass = this.getResponsiveSetting(entranceAnimation),
2211 exitAnimationClass = this.getResponsiveSetting(exitAnimation);
2212 if (isExitAnimation) {
2213 this.elements.content.classList.remove(animated);
2214 this.elements.content.classList.remove(reverse);
2215 if (exitAnimationClass) {
2216 this.elements.content.classList.remove(exitAnimationClass);
2217 }
2218 this.elements.content.classList.remove(visible);
2219 } else {
2220 this.elements.content.classList.remove(animated);
2221 if (openAnimationClass) {
2222 this.elements.content.classList.remove(openAnimationClass);
2223 }
2224 this.elements.content.classList.add(visible);
2225 }
2226 }
2227 chatBoxEntranceAnimation() {
2228 const {
2229 entranceAnimation,
2230 animated,
2231 animatedWrapper,
2232 none
2233 } = this.getSettings('constants');
2234 const entranceAnimationControl = this.getResponsiveSetting(entranceAnimation);
2235 if (!entranceAnimationControl || none === entranceAnimationControl) {
2236 return;
2237 }
2238 if (this.elements.content) {
2239 this.elements.content.classList.add(animated);
2240 this.elements.content.classList.add(entranceAnimationControl);
2241 }
2242 if (this.elements.contentWrapper) {
2243 this.elements.contentWrapper.classList.remove(animatedWrapper);
2244 }
2245 }
2246 chatBoxExitAnimation() {
2247 const {
2248 reverse,
2249 exitAnimation,
2250 animated,
2251 animatedWrapper,
2252 none
2253 } = this.getSettings('constants');
2254 const exitAnimationControl = this.getResponsiveSetting(exitAnimation);
2255 if (!exitAnimationControl || none === exitAnimationControl) {
2256 return;
2257 }
2258 if (this.elements.content) {
2259 this.elements.content.classList.add(animated);
2260 this.elements.content.classList.add(reverse);
2261 this.elements.content.classList.add(exitAnimationControl);
2262 }
2263 if (this.elements.contentWrapper) {
2264 this.elements.contentWrapper.classList.add(animatedWrapper);
2265 }
2266 }
2267 openChatBox() {
2268 const {
2269 hasAnimations,
2270 visible
2271 } = this.getSettings('constants');
2272 if (this.elements.main && this.elements.main.classList.contains(hasAnimations)) {
2273 this.chatBoxEntranceAnimation();
2274 } else if (this.elements.content) {
2275 this.elements.content.classList.add(visible);
2276 }
2277 if (this.elements.contentWrapper) {
2278 this.contentWrapperIsHidden(false);
2279 if (!elementorFrontend.isEditMode()) {
2280 this.elements.contentWrapper.setAttribute('tabindex', '0');
2281 this.elements.contentWrapper.focus({
2282 focusVisible: true
2283 });
2284 }
2285 }
2286 if (this.elements.chatButton) {
2287 this.elements.chatButton.setAttribute('aria-expanded', 'true');
2288 }
2289 if (this.elements.closeButton) {
2290 this.elements.closeButton.setAttribute('aria-expanded', 'true');
2291 }
2292 }
2293 closeChatBox() {
2294 const {
2295 hasAnimations,
2296 visible
2297 } = this.getSettings('constants');
2298 if (this.elements.main && this.elements.main.classList.contains(hasAnimations)) {
2299 this.chatBoxExitAnimation();
2300 } else if (this.elements.content) {
2301 this.elements.content.classList.remove(visible);
2302 }
2303 if (this.elements.contentWrapper) {
2304 this.contentWrapperIsHidden(true);
2305 }
2306 if (this.elements.chatButton) {
2307 this.elements.chatButton.setAttribute('aria-expanded', 'false');
2308 this.elements.chatButton.focus({
2309 focusVisible: true
2310 });
2311 }
2312 if (this.elements.closeButton) {
2313 this.elements.closeButton.setAttribute('aria-expanded', 'false');
2314 }
2315 }
2316 onChatButtonClick() {
2317 if (this.elements.contentWrapper && this.contentWrapperIsHidden()) {
2318 this.openChatBox();
2319 } else {
2320 this.closeChatBox();
2321 }
2322 }
2323 initMessageBubbleTime() {
2324 if (!this.elements.messageBubbleTime) {
2325 return;
2326 }
2327 const messageBubbleTimeFormat = this.elements.messageBubbleTime.dataset.timeFormat;
2328 const is12hFormat = '12h' === messageBubbleTimeFormat;
2329 this.elements.messageBubbleTime.innerHTML = new Intl.DateTimeFormat('default', {
2330 hour12: is12hFormat,
2331 hour: 'numeric',
2332 minute: 'numeric'
2333 }).format(new Date());
2334 }
2335 removeChatButtonAnimationClasses() {
2336 if (!this.elements.chatButton) {
2337 return;
2338 }
2339 const {
2340 chatButtonAnimation,
2341 visible
2342 } = this.getSettings('constants');
2343 this.elements.chatButton.classList.remove(chatButtonAnimation);
2344 this.elements.chatButton.classList.add(visible);
2345 }
2346 initChatButtonEntranceAnimation() {
2347 const {
2348 none,
2349 chatButtonAnimation
2350 } = this.getSettings('constants');
2351 const entranceAnimationControl = this.getResponsiveSetting(chatButtonAnimation);
2352 if (!entranceAnimationControl || none === entranceAnimationControl) {
2353 return;
2354 }
2355 this.elements.chatButton.classList.add(entranceAnimationControl);
2356 }
2357 initDefaultState() {
2358 // Manage accessibility
2359 if (this.elements.contentWrapper) {
2360 const isHidden = this.contentWrapperIsHidden();
2361 if (this.elements.chatButton) {
2362 this.elements.chatButton.setAttribute('aria-expanded', !isHidden);
2363 }
2364 if (this.elements.closeButton) {
2365 this.elements.closeButton.setAttribute('aria-expanded', !isHidden);
2366 }
2367 }
2368 if (elementorFrontend.isEditMode() && 'floating-buttons' === elementor?.config?.document?.type) {
2369 this.openChatBox();
2370 }
2371 }
2372 onInit() {
2373 const {
2374 hasEntranceAnimation
2375 } = this.getSettings('constants');
2376 super.onInit(...arguments);
2377 this.clickTrackingHandler = new _clickTracking.default({
2378 $element: this.$element
2379 });
2380 if (this.elements.messageBubbleTime) {
2381 this.initMessageBubbleTime();
2382 }
2383 this.initDefaultState();
2384 if (this.elements.chatButton) {
2385 if (this.elements.chatButton.classList.contains(hasEntranceAnimation)) {
2386 this.initChatButtonEntranceAnimation();
2387 }
2388 }
2389 }
2390 }
2391 exports["default"] = ContactButtonsHandler;
2392
2393 /***/ }),
2394
2395 /***/ "../modules/floating-buttons/assets/js/shared/frontend/handlers/click-tracking.js":
2396 /*!****************************************************************************************!*\
2397 !*** ../modules/floating-buttons/assets/js/shared/frontend/handlers/click-tracking.js ***!
2398 \****************************************************************************************/
2399 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2400
2401 "use strict";
2402
2403
2404 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2405 Object.defineProperty(exports, "__esModule", ({
2406 value: true
2407 }));
2408 exports["default"] = void 0;
2409 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2410 var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js"));
2411 class ClickTrackingHandler extends _base.default {
2412 constructor() {
2413 super(...arguments);
2414 (0, _defineProperty2.default)(this, "clicks", []);
2415 }
2416 getDefaultSettings() {
2417 return {
2418 selectors: {
2419 contentWrapper: '.e-contact-buttons__content-wrapper',
2420 contactButtonCore: '.e-contact-buttons__send-button',
2421 contentWrapperFloatingBars: '.e-floating-bars',
2422 floatingBarCTAButton: '.e-floating-bars__cta-button',
2423 elementorWrapper: '[data-elementor-type="floating-buttons"]'
2424 }
2425 };
2426 }
2427 getDefaultElements() {
2428 const selectors = this.getSettings('selectors');
2429 return {
2430 contentWrapper: this.$element[0].querySelector(selectors.contentWrapper),
2431 contentWrapperFloatingBars: this.$element[0].querySelector(selectors.contentWrapperFloatingBars)
2432 };
2433 }
2434 bindEvents() {
2435 if (this.elements.contentWrapper) {
2436 this.elements.contentWrapper.addEventListener('click', this.onChatButtonTrackClick.bind(this));
2437 }
2438 if (this.elements.contentWrapperFloatingBars) {
2439 this.elements.contentWrapperFloatingBars.addEventListener('click', this.onChatButtonTrackClick.bind(this));
2440 }
2441 window.addEventListener('beforeunload', () => {
2442 if (this.clicks.length > 0) {
2443 this.sendClicks();
2444 }
2445 });
2446 }
2447 onChatButtonTrackClick(event) {
2448 const targetElement = event.target || event.srcElement;
2449 const selectors = this.getSettings('selectors');
2450 if (targetElement.matches(selectors.contactButtonCore) || targetElement.closest(selectors.contactButtonCore) || targetElement.matches(selectors.floatingBarCTAButton) || targetElement.closest(selectors.floatingBarCTAButton)) {
2451 this.getDocumentIdAndTrack(targetElement, selectors);
2452 }
2453 }
2454 getDocumentIdAndTrack(targetElement, selectors) {
2455 const documentId = targetElement.closest(selectors.elementorWrapper).dataset.elementorId;
2456 this.trackClick(documentId);
2457 }
2458 trackClick(documentId) {
2459 if (!documentId) {
2460 return;
2461 }
2462 this.clicks.push(documentId);
2463 if (this.clicks.length >= 10) {
2464 this.sendClicks();
2465 }
2466 }
2467 sendClicks() {
2468 const formData = new FormData();
2469 formData.append('action', 'elementor_send_clicks');
2470 formData.append('_nonce', elementorFrontendConfig?.nonces?.floatingButtonsClickTracking);
2471 this.clicks.forEach(documentId => formData.append('clicks[]', documentId));
2472 fetch(elementorFrontendConfig?.urls?.ajaxurl, {
2473 method: 'POST',
2474 body: formData
2475 }).then(() => {
2476 this.clicks = [];
2477 });
2478 }
2479 }
2480 exports["default"] = ClickTrackingHandler;
2481
2482 /***/ }),
2483
2484 /***/ "../modules/nested-accordion/assets/js/frontend/handlers/nested-accordion-title-keyboard-handler.js":
2485 /*!**********************************************************************************************************!*\
2486 !*** ../modules/nested-accordion/assets/js/frontend/handlers/nested-accordion-title-keyboard-handler.js ***!
2487 \**********************************************************************************************************/
2488 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2489
2490 "use strict";
2491
2492
2493 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2494 Object.defineProperty(exports, "__esModule", ({
2495 value: true
2496 }));
2497 exports["default"] = void 0;
2498 var _nestedTitleKeyboardHandler = _interopRequireDefault(__webpack_require__(/*! elementor-assets-js/frontend/handlers/accessibility/nested-title-keyboard-handler */ "../assets/dev/js/frontend/handlers/accessibility/nested-title-keyboard-handler.js"));
2499 class NestedAccordionTitleKeyboardHandler extends _nestedTitleKeyboardHandler.default {
2500 __construct() {
2501 super.__construct(...arguments);
2502 const config = arguments.length <= 0 ? undefined : arguments[0];
2503 this.toggleTitle = config.toggleTitle;
2504 }
2505 getDefaultSettings() {
2506 const parentSettings = super.getDefaultSettings();
2507 return {
2508 ...parentSettings,
2509 selectors: {
2510 itemTitle: '.e-n-accordion-item-title',
2511 itemContainer: '.e-n-accordion-item > .e-con'
2512 },
2513 ariaAttributes: {
2514 titleStateAttribute: 'aria-expanded',
2515 activeTitleSelector: '[aria-expanded="true"]'
2516 },
2517 datasets: {
2518 titleIndex: 'data-accordion-index'
2519 }
2520 };
2521 }
2522 handeTitleLinkEnterOrSpaceEvent(event) {
2523 this.toggleTitle(event);
2524 }
2525 handleContentElementEscapeEvents(event) {
2526 this.getActiveTitleElement().trigger('focus');
2527 this.toggleTitle(event);
2528 }
2529 handleTitleEscapeKeyEvents(event) {
2530 const detailsNode = event?.currentTarget?.parentElement,
2531 isOpen = detailsNode?.open;
2532 if (isOpen) {
2533 this.toggleTitle(event);
2534 }
2535 }
2536 }
2537 exports["default"] = NestedAccordionTitleKeyboardHandler;
2538
2539 /***/ }),
2540
2541 /***/ "../modules/nested-accordion/assets/js/frontend/handlers/nested-accordion.js":
2542 /*!***********************************************************************************!*\
2543 !*** ../modules/nested-accordion/assets/js/frontend/handlers/nested-accordion.js ***!
2544 \***********************************************************************************/
2545 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2546
2547 "use strict";
2548
2549
2550 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2551 Object.defineProperty(exports, "__esModule", ({
2552 value: true
2553 }));
2554 exports["default"] = void 0;
2555 var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js"));
2556 var _nestedAccordionTitleKeyboardHandler = _interopRequireDefault(__webpack_require__(/*! ./nested-accordion-title-keyboard-handler */ "../modules/nested-accordion/assets/js/frontend/handlers/nested-accordion-title-keyboard-handler.js"));
2557 class NestedAccordion extends _base.default {
2558 constructor() {
2559 super(...arguments);
2560 this.animations = new Map();
2561 }
2562 getDefaultSettings() {
2563 return {
2564 selectors: {
2565 accordion: '.e-n-accordion',
2566 accordionContentContainers: '.e-n-accordion > .e-con',
2567 accordionItems: '.e-n-accordion-item',
2568 accordionItemTitles: '.e-n-accordion-item-title',
2569 accordionItemTitlesText: '.e-n-accordion-item-title-text',
2570 accordionContent: '.e-n-accordion-item > .e-con',
2571 directAccordionItems: ':scope > .e-n-accordion-item',
2572 directAccordionItemTitles: ':scope > .e-n-accordion-item > .e-n-accordion-item-title'
2573 },
2574 default_state: 'expanded',
2575 attributes: {
2576 index: 'data-accordion-index',
2577 ariaLabelledBy: 'aria-labelledby'
2578 }
2579 };
2580 }
2581 getDefaultElements() {
2582 const selectors = this.getSettings('selectors');
2583 return {
2584 $accordion: this.findElement(selectors.accordion),
2585 $contentContainers: this.findElement(selectors.accordionContentContainers),
2586 $accordionItems: this.findElement(selectors.accordionItems),
2587 $accordionTitles: this.findElement(selectors.accordionItemTitles),
2588 $accordionContent: this.findElement(selectors.accordionContent)
2589 };
2590 }
2591 onInit() {
2592 super.onInit(...arguments);
2593 if (elementorFrontend.isEditMode() && !elementorCommon.config.experimentalFeatures.e_nested_atomic_repeaters) {
2594 this.interlaceContainers();
2595 }
2596 this.injectKeyboardHandler();
2597 }
2598 injectKeyboardHandler() {
2599 if ('nested-accordion.default' === this.getSettings('elementName')) {
2600 new _nestedAccordionTitleKeyboardHandler.default({
2601 $element: this.$element,
2602 toggleTitle: this.clickListener.bind(this)
2603 });
2604 }
2605 }
2606 interlaceContainers() {
2607 const {
2608 $contentContainers,
2609 $accordionItems
2610 } = this.getDefaultElements();
2611 $contentContainers.each((index, element) => {
2612 $accordionItems[index].appendChild(element);
2613 });
2614 }
2615 linkContainer(event) {
2616 const {
2617 container,
2618 index,
2619 targetContainer,
2620 action: {
2621 type
2622 }
2623 } = event.detail,
2624 view = container.view.$el,
2625 id = container.model.get('id'),
2626 currentId = this.$element.data('id');
2627 if (id === currentId) {
2628 const {
2629 $accordionItems
2630 } = this.getDefaultElements();
2631 let accordionItem, contentContainer;
2632 switch (type) {
2633 case 'move':
2634 [accordionItem, contentContainer] = this.move(view, index, targetContainer, $accordionItems);
2635 break;
2636 case 'duplicate':
2637 [accordionItem, contentContainer] = this.duplicate(view, index, targetContainer, $accordionItems);
2638 break;
2639 default:
2640 break;
2641 }
2642 if (undefined !== accordionItem) {
2643 accordionItem.appendChild(contentContainer);
2644 }
2645 this.updateIndexValues();
2646 this.updateListeners(view);
2647 elementor.$preview[0].contentWindow.dispatchEvent(new CustomEvent('elementor/elements/link-data-bindings'));
2648 }
2649 }
2650 move(view, index, targetContainer, accordionItems) {
2651 return [accordionItems[index], targetContainer.view.$el[0]];
2652 }
2653 duplicate(view, index, targetContainer, accordionItems) {
2654 return [accordionItems[index + 1], targetContainer.view.$el[0]];
2655 }
2656 updateIndexValues() {
2657 const {
2658 $accordionContent,
2659 $accordionItems
2660 } = this.getDefaultElements(),
2661 settings = this.getSettings(),
2662 itemIdBase = $accordionItems[0].getAttribute('id').slice(0, -1);
2663 $accordionItems.each((index, element) => {
2664 element.setAttribute('id', `${itemIdBase}${index}`);
2665 element.querySelector(settings.selectors.accordionItemTitles).setAttribute(settings.attributes.index, index + 1);
2666 element.querySelector(settings.selectors.accordionItemTitles).setAttribute('aria-controls', `${itemIdBase}${index}`);
2667 element.querySelector(settings.selectors.accordionItemTitlesText).setAttribute('data-binding-index', index + 1);
2668 $accordionContent[index].setAttribute(settings.attributes.ariaLabelledBy, `${itemIdBase}${index}`);
2669 });
2670 }
2671 updateListeners(view) {
2672 this.elements.$accordionTitles = view.find(this.getSettings('selectors.accordionItemTitles'));
2673 this.elements.$accordionItems = view.find(this.getSettings('selectors.accordionItems'));
2674 this.elements.$accordionTitles.on('click', this.clickListener.bind(this));
2675 }
2676 bindEvents() {
2677 this.elements.$accordionTitles.on('click', this.clickListener.bind(this));
2678 elementorFrontend.elements.$window.on('elementor/nested-container/atomic-repeater', this.linkContainer.bind(this));
2679 }
2680 unbindEvents() {
2681 this.elements.$accordionTitles.off();
2682 }
2683 clickListener(event) {
2684 event.preventDefault();
2685 this.elements = this.getDefaultElements();
2686 const settings = this.getSettings(),
2687 accordionItem = event?.currentTarget?.closest(settings.selectors.accordionItems),
2688 accordion = event?.currentTarget?.closest(settings.selectors.accordion),
2689 itemSummary = accordionItem.querySelector(settings.selectors.accordionItemTitles),
2690 accordionContent = accordionItem.querySelector(settings.selectors.accordionContent),
2691 {
2692 max_items_expended: maxItemsExpended
2693 } = this.getElementSettings(),
2694 directAccordionItems = accordion.querySelectorAll(settings.selectors.directAccordionItems),
2695 directAccordionItemTitles = accordion.querySelectorAll(settings.selectors.directAccordionItemTitles);
2696 if ('one' === maxItemsExpended) {
2697 this.closeAllItems(directAccordionItems, directAccordionItemTitles);
2698 }
2699 if (!accordionItem.open) {
2700 this.prepareOpenAnimation(accordionItem, itemSummary, accordionContent);
2701 } else {
2702 this.closeAccordionItem(accordionItem, itemSummary);
2703 }
2704 }
2705 animateItem(accordionItem, startHeight, endHeight, isOpen) {
2706 accordionItem.style.overflow = 'hidden';
2707 let animation = this.animations.get(accordionItem);
2708 if (animation) {
2709 animation.cancel();
2710 }
2711 animation = accordionItem.animate({
2712 height: [startHeight, endHeight]
2713 }, {
2714 duration: this.getAnimationDuration()
2715 });
2716 animation.onfinish = () => this.onAnimationFinish(accordionItem, isOpen);
2717 this.animations.set(accordionItem, animation);
2718 accordionItem.querySelector('summary')?.setAttribute('aria-expanded', isOpen);
2719 }
2720 closeAccordionItem(accordionItem, accordionItemTitle) {
2721 const startHeight = `${accordionItem.offsetHeight}px`,
2722 endHeight = `${accordionItemTitle.offsetHeight}px`;
2723 this.animateItem(accordionItem, startHeight, endHeight, false);
2724 }
2725 prepareOpenAnimation(accordionItem, accordionItemTitle, accordionItemContent) {
2726 accordionItem.style.overflow = 'hidden';
2727 accordionItem.style.height = `${accordionItem.offsetHeight}px`;
2728 accordionItem.open = true;
2729 window.requestAnimationFrame(() => this.openAccordionItem(accordionItem, accordionItemTitle, accordionItemContent));
2730 }
2731 openAccordionItem(accordionItem, accordionItemTitle, accordionItemContent) {
2732 const startHeight = `${accordionItem.offsetHeight}px`,
2733 endHeight = `${accordionItemTitle.offsetHeight + accordionItemContent.offsetHeight}px`;
2734 this.animateItem(accordionItem, startHeight, endHeight, true);
2735 }
2736 onAnimationFinish(accordionItem, isOpen) {
2737 accordionItem.open = isOpen;
2738 this.animations.set(accordionItem, null);
2739 accordionItem.style.height = accordionItem.style.overflow = '';
2740 }
2741 closeAllItems(items, titles) {
2742 titles.forEach((title, index) => {
2743 this.closeAccordionItem(items[index], title);
2744 });
2745 }
2746 getAnimationDuration() {
2747 const {
2748 size,
2749 unit
2750 } = this.getElementSettings('n_accordion_animation_duration');
2751 return size * ('ms' === unit ? 1 : 1000);
2752 }
2753 }
2754 exports["default"] = NestedAccordion;
2755
2756 /***/ }),
2757
2758 /***/ "../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js":
2759 /*!*************************************************************************!*\
2760 !*** ../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js ***!
2761 \*************************************************************************/
2762 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2763
2764 "use strict";
2765
2766
2767 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2768 Object.defineProperty(exports, "__esModule", ({
2769 value: true
2770 }));
2771 exports["default"] = void 0;
2772 var _base = _interopRequireDefault(__webpack_require__(/*! elementor-frontend/handlers/base */ "../assets/dev/js/frontend/handlers/base.js"));
2773 var _flexHorizontalScroll = __webpack_require__(/*! elementor-frontend-utils/flex-horizontal-scroll */ "../assets/dev/js/frontend/utils/flex-horizontal-scroll.js");
2774 class NestedTabs extends _base.default {
2775 /**
2776 * @param {string|number} tabIndex
2777 *
2778 * @return {string}
2779 */
2780 getTabTitleFilterSelector(tabIndex) {
2781 return `[${this.getSettings('dataAttributes').tabIndex}="${tabIndex}"]`;
2782 }
2783
2784 /**
2785 * @param {string|number} tabIndex
2786 *
2787 * @return {string}
2788 */
2789 getTabContentFilterSelector(tabIndex) {
2790 return `*:nth-child(${tabIndex})`;
2791 }
2792
2793 /**
2794 * @param {HTMLElement} tabTitleElement
2795 *
2796 * @return {string}
2797 */
2798 getTabIndex(tabTitleElement) {
2799 return tabTitleElement.getAttribute(this.getSettings('dataAttributes').tabIndex);
2800 }
2801 getActiveTabIndex() {
2802 const settings = this.getSettings(),
2803 activeTitleFilter = settings.ariaAttributes.activeTitleSelector,
2804 tabIndexSelector = settings.dataAttributes.tabIndex,
2805 $activeTitle = this.elements.$tabTitles.filter(activeTitleFilter);
2806 return $activeTitle.attr(tabIndexSelector) || null;
2807 }
2808 getWidgetNumber() {
2809 return this.$element.find('> .elementor-widget-container > .e-n-tabs, > .e-n-tabs').attr('data-widget-number');
2810 }
2811 getDefaultSettings() {
2812 const widgetNumber = this.getWidgetNumber();
2813 return {
2814 selectors: {
2815 widgetContainer: `[data-widget-number="${widgetNumber}"]`,
2816 tabTitle: `[aria-controls*="e-n-tab-content-${widgetNumber}"]`,
2817 tabTitleIcon: `[id*="e-n-tab-title-${widgetNumber}"] > .e-n-tab-icon`,
2818 tabTitleText: `[id*="e-n-tab-title-${widgetNumber}"] > .e-n-tab-title-text`,
2819 tabContent: `[data-widget-number="${widgetNumber}"] > .e-n-tabs-content > .e-con`,
2820 headingContainer: `[data-widget-number="${widgetNumber}"] > .e-n-tabs-heading`,
2821 activeTabContentContainers: `[id*="e-n-tab-content-${widgetNumber}"].e-active`
2822 },
2823 classes: {
2824 active: 'e-active'
2825 },
2826 dataAttributes: {
2827 tabIndex: 'data-tab-index'
2828 },
2829 ariaAttributes: {
2830 titleStateAttribute: 'aria-selected',
2831 activeTitleSelector: '[aria-selected="true"]'
2832 },
2833 showTabFn: 'show',
2834 hideTabFn: 'hide',
2835 toggleSelf: false,
2836 hidePrevious: true,
2837 autoExpand: true
2838 };
2839 }
2840 getDefaultElements() {
2841 const selectors = this.getSettings('selectors');
2842 return {
2843 $widgetContainer: this.findElement(selectors.widgetContainer),
2844 $tabTitles: this.findElement(selectors.tabTitle),
2845 $tabContents: this.findElement(selectors.tabContent),
2846 $headingContainer: this.findElement(selectors.headingContainer)
2847 };
2848 }
2849 getKeyboardNavigationSettings() {
2850 return this.getSettings();
2851 }
2852 activateDefaultTab() {
2853 const settings = this.getSettings();
2854 const defaultActiveTab = this.getEditSettings('activeItemIndex') || 1,
2855 originalToggleMethods = {
2856 showTabFn: settings.showTabFn,
2857 hideTabFn: settings.hideTabFn
2858 };
2859
2860 // Toggle tabs without animation to avoid jumping
2861 this.setSettings({
2862 showTabFn: 'show',
2863 hideTabFn: 'hide'
2864 });
2865 this.changeActiveTab(defaultActiveTab);
2866
2867 // Return back original toggle effects
2868 this.setSettings(originalToggleMethods);
2869 this.elements.$widgetContainer.addClass('e-activated');
2870 }
2871 deactivateActiveTab(newTabIndex) {
2872 const settings = this.getSettings(),
2873 activeClass = settings.classes.active,
2874 activeTitleFilter = settings.ariaAttributes.activeTitleSelector,
2875 activeContentFilter = '.' + activeClass,
2876 $activeTitle = this.elements.$tabTitles.filter(activeTitleFilter),
2877 $activeContent = this.elements.$tabContents.filter(activeContentFilter);
2878 this.setTabDeactivationAttributes($activeTitle, newTabIndex);
2879 $activeContent.removeClass(activeClass);
2880 $activeContent[settings.hideTabFn](0, () => this.onHideTabContent($activeContent));
2881 return $activeContent;
2882 }
2883 getTitleActivationAttributes() {
2884 const titleStateAttribute = this.getSettings('ariaAttributes').titleStateAttribute;
2885 return {
2886 tabindex: '0',
2887 [titleStateAttribute]: 'true'
2888 };
2889 }
2890 setTabDeactivationAttributes($activeTitle) {
2891 const titleStateAttribute = this.getSettings('ariaAttributes').titleStateAttribute;
2892 $activeTitle.attr({
2893 tabindex: '-1',
2894 [titleStateAttribute]: 'false'
2895 });
2896 }
2897 onHideTabContent() {}
2898 activateTab(tabIndex) {
2899 const settings = this.getSettings(),
2900 activeClass = settings.classes.active,
2901 animationDuration = 'show' === settings.showTabFn ? 0 : 400;
2902 let $requestedTitle = this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(tabIndex)),
2903 $requestedContent = this.elements.$tabContents.filter(this.getTabContentFilterSelector(tabIndex));
2904
2905 // Check if the tabIndex exists.
2906 if (!$requestedTitle.length) {
2907 // Activate the previous tab and ensure that the tab index is not less than 1.
2908 const previousTabIndex = Math.max(tabIndex - 1, 1);
2909 $requestedTitle = this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(previousTabIndex));
2910 $requestedContent = this.elements.$tabContents.filter(this.getTabContentFilterSelector(previousTabIndex));
2911 }
2912 $requestedTitle.attr(this.getTitleActivationAttributes());
2913 $requestedContent.addClass(activeClass);
2914 $requestedContent[settings.showTabFn](animationDuration, () => this.onShowTabContent($requestedContent));
2915 }
2916 onShowTabContent($requestedContent) {
2917 elementorFrontend.elements.$window.trigger('elementor-pro/motion-fx/recalc');
2918 elementorFrontend.elements.$window.trigger('elementor/nested-tabs/activate', $requestedContent);
2919 elementorFrontend.elements.$window.trigger('elementor/bg-video/recalc');
2920 }
2921 isActiveTab(tabIndex) {
2922 const settings = this.getSettings(),
2923 isActiveTabTitle = 'true' === this.elements.$tabTitles.filter(`[${settings.dataAttributes.tabIndex}="${tabIndex}"]`).attr(settings.ariaAttributes.titleStateAttribute),
2924 isActiveTabContent = this.elements.$tabContents.filter(this.getTabContentFilterSelector(tabIndex)).hasClass(this.getActiveClass());
2925 return isActiveTabTitle && isActiveTabContent;
2926 }
2927 onTabClick(event) {
2928 event.preventDefault();
2929 this.changeActiveTab(event.currentTarget?.getAttribute(this.getSettings('dataAttributes').tabIndex), true);
2930 }
2931 getTabEvents() {
2932 return {
2933 click: this.onTabClick.bind(this)
2934 };
2935 }
2936 getHeadingEvents() {
2937 const navigationWrapper = this.elements.$headingContainer[0];
2938 return {
2939 mousedown: _flexHorizontalScroll.changeScrollStatus.bind(this, navigationWrapper),
2940 mouseup: _flexHorizontalScroll.changeScrollStatus.bind(this, navigationWrapper),
2941 mouseleave: _flexHorizontalScroll.changeScrollStatus.bind(this, navigationWrapper),
2942 mousemove: _flexHorizontalScroll.setHorizontalTitleScrollValues.bind(this, navigationWrapper, this.getHorizontalScrollSetting())
2943 };
2944 }
2945 bindEvents() {
2946 this.elements.$tabTitles.on(this.getTabEvents());
2947 this.elements.$headingContainer.on(this.getHeadingEvents());
2948 elementorFrontend.elements.$window.on('resize', this.onResizeUpdateHorizontalScrolling.bind(this));
2949 elementorFrontend.elements.$window.on('resize', this.setTouchMode.bind(this));
2950 elementorFrontend.elements.$window.on('elementor/nested-tabs/activate', this.reInitSwipers);
2951 elementorFrontend.elements.$window.on('elementor/nested-elements/activate-by-keyboard', this.changeActiveTabByKeyboard.bind(this));
2952 elementorFrontend.elements.$window.on('elementor/nested-container/atomic-repeater', this.linkContainer.bind(this));
2953 }
2954 unbindEvents() {
2955 this.elements.$tabTitles.off();
2956 this.elements.$headingContainer.off();
2957 this.elements.$tabContents.children().off();
2958 elementorFrontend.elements.$window.off('resize', this.onResizeUpdateHorizontalScrolling.bind(this));
2959 elementorFrontend.elements.$window.off('resize', this.setTouchMode.bind(this));
2960 elementorFrontend.elements.$window.off('elementor/nested-tabs/activate', this.reInitSwipers);
2961 elementorFrontend.elements.$window.off('elementor/nested-elements/activate-by-keyboard', this.changeActiveTabByKeyboard.bind(this));
2962 elementorFrontend.elements.$window.off('elementor/nested-container/atomic-repeater', this.linkContainer.bind(this));
2963 }
2964
2965 /**
2966 * Fixes issues where Swipers that have been initialized while a tab is not visible are not properly rendered
2967 * and when switching to the tab the swiper will not respect any of the chosen `autoplay` related settings.
2968 *
2969 * This is triggered when switching to a nested tab, looks for Swipers in the tab content and reinitializes them.
2970 *
2971 * @param {Object} event - Incoming event.
2972 * @param {Object} content - Active nested tab dom element.
2973 */
2974 reInitSwipers(event, content) {
2975 const swiperElements = content.querySelectorAll(`.${elementorFrontend.config.swiperClass}`);
2976 for (const element of swiperElements) {
2977 if (!element.swiper) {
2978 return;
2979 }
2980 element.swiper.initialized = false;
2981 element.swiper.init();
2982 }
2983 }
2984 onInit() {
2985 super.onInit(...arguments);
2986 if (this.getSettings('autoExpand')) {
2987 this.activateDefaultTab();
2988 }
2989 (0, _flexHorizontalScroll.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings());
2990 this.setTouchMode();
2991 if ('nested-tabs.default' === this.getSettings('elementName')) {
2992 new elementorModules.frontend.handlers.NestedTitleKeyboardHandler(this.getKeyboardNavigationSettings());
2993 }
2994 }
2995 onEditSettingsChange(propertyName, value) {
2996 if ('activeItemIndex' === propertyName) {
2997 this.changeActiveTab(value, false);
2998 }
2999 }
3000 onElementChange(propertyName) {
3001 if (this.checkSliderPropsToWatch(propertyName)) {
3002 (0, _flexHorizontalScroll.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings());
3003 }
3004 }
3005 checkSliderPropsToWatch(propertyName) {
3006 return 0 === propertyName.indexOf('horizontal_scroll') || 'breakpoint_selector' === propertyName || 0 === propertyName.indexOf('tabs_justify_horizontal') || 0 === propertyName.indexOf('tabs_title_space_between');
3007 }
3008
3009 /**
3010 * @param {string} tabIndex
3011 * @param {boolean} fromUser - Whether the call is caused by the user or internal.
3012 */
3013 changeActiveTab(tabIndex) {
3014 let fromUser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
3015 // `document/repeater/select` is used only in the editor, only when the element
3016 // is in the currently-edited document, and only when its not internal call,
3017 if (fromUser && this.isEdit && this.isElementInTheCurrentDocument()) {
3018 return window.top.$e.run('document/repeater/select', {
3019 container: elementor.getContainer(this.$element.attr('data-id')),
3020 index: parseInt(tabIndex)
3021 });
3022 }
3023 const isActiveTab = this.isActiveTab(tabIndex),
3024 settings = this.getSettings();
3025 if ((settings.toggleSelf || !isActiveTab) && settings.hidePrevious) {
3026 this.deactivateActiveTab(tabIndex);
3027 }
3028 if (!settings.hidePrevious && isActiveTab) {
3029 this.deactivateActiveTab(tabIndex);
3030 }
3031 if (!isActiveTab) {
3032 if (this.isAccordionVersion()) {
3033 this.activateMobileTab(tabIndex);
3034 return;
3035 }
3036 this.activateTab(tabIndex);
3037 }
3038 }
3039 changeActiveTabByKeyboard(event, settings) {
3040 if (settings.widgetId.toString() !== this.getID().toString()) {
3041 return;
3042 }
3043 this.changeActiveTab(settings.titleIndex, true);
3044 }
3045 activateMobileTab(tabIndex) {
3046 // Timeout time added to ensure that opening of the active tab starts after closing the other tab on Apple devices.
3047 setTimeout(() => {
3048 this.activateTab(tabIndex);
3049 this.forceActiveTabToBeInViewport(tabIndex);
3050 }, 10);
3051 }
3052 forceActiveTabToBeInViewport(tabIndex) {
3053 if (!elementorFrontend.isEditMode()) {
3054 return;
3055 }
3056 const $activeTabTitle = this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(tabIndex));
3057 if (!elementor.helpers.isInViewport($activeTabTitle[0])) {
3058 $activeTabTitle[0].scrollIntoView({
3059 block: 'center'
3060 });
3061 }
3062 }
3063 getActiveClass() {
3064 const settings = this.getSettings();
3065 return settings.classes.active;
3066 }
3067 getTabsDirection() {
3068 const currentDevice = elementorFrontend.getCurrentDeviceMode();
3069 return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), 'tabs_justify_horizontal', '', currentDevice);
3070 }
3071 getHorizontalScrollSetting() {
3072 const currentDevice = elementorFrontend.getCurrentDeviceMode();
3073 return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(), 'horizontal_scroll', '', currentDevice);
3074 }
3075 isAccordionVersion() {
3076 return 'contents' === this.elements.$headingContainer.css('display');
3077 }
3078 setTouchMode() {
3079 const widgetSelector = this.getSettings('selectors').widgetContainer;
3080 if (elementorFrontend.isEditMode() || 'resize' === event?.type) {
3081 const responsiveDevices = ['mobile', 'mobile_extra', 'tablet', 'tablet_extra'],
3082 currentDevice = elementorFrontend.getCurrentDeviceMode();
3083 if (-1 !== responsiveDevices.indexOf(currentDevice)) {
3084 this.$element.find(widgetSelector).attr('data-touch-mode', 'true');
3085 return;
3086 }
3087 } else if ('ontouchstart' in window) {
3088 this.$element.find(widgetSelector).attr('data-touch-mode', 'true');
3089 return;
3090 }
3091 this.$element.find(widgetSelector).attr('data-touch-mode', 'false');
3092 }
3093 linkContainer(event) {
3094 const {
3095 container
3096 } = event.detail,
3097 id = container.model.get('id'),
3098 currentId = this.$element.data('id'),
3099 view = container.view.$el;
3100 if (id === currentId) {
3101 this.updateIndexValues();
3102 this.updateListeners(view);
3103 elementor.$preview[0].contentWindow.dispatchEvent(new CustomEvent('elementor/elements/link-data-bindings'));
3104 }
3105 if (!this.getActiveTabIndex()) {
3106 const targetIndex = event.detail.index + 1 || 1;
3107 this.changeActiveTab(targetIndex);
3108 }
3109 }
3110 updateListeners(view) {
3111 this.elements.$tabContents = view.find(this.getSettings('selectors.tabContent'));
3112 this.elements.$tabTitles = view.find(this.getSettings('selectors.tabTitle'));
3113 this.elements.$tabTitles.on(this.getTabEvents());
3114 }
3115 updateIndexValues() {
3116 const {
3117 $widgetContainer,
3118 $tabContents,
3119 $tabTitles
3120 } = this.getDefaultElements(),
3121 settings = this.getSettings(),
3122 dataTabIndex = settings.dataAttributes.tabIndex,
3123 widgetNumber = $widgetContainer.data('widgetNumber');
3124 $tabTitles.each((index, element) => {
3125 const newIndex = index + 1,
3126 updatedTabID = `e-n-tab-title-${widgetNumber}${newIndex}`,
3127 updatedContainerID = `e-n-tab-content-${widgetNumber}${newIndex}`;
3128 element.setAttribute('id', updatedTabID);
3129 element.setAttribute('style', `--n-tabs-title-order: ${newIndex}`);
3130 element.setAttribute(dataTabIndex, newIndex);
3131 element.setAttribute('aria-controls', updatedContainerID);
3132 element.querySelector(settings.selectors.tabTitleIcon)?.setAttribute('data-binding-index', newIndex);
3133 element.querySelector(settings.selectors.tabTitleText).setAttribute('data-binding-index', newIndex);
3134 $tabContents[index].setAttribute('aria-labelledby', updatedTabID);
3135 $tabContents[index].setAttribute(dataTabIndex, newIndex);
3136 $tabContents[index].setAttribute('id', updatedContainerID);
3137 $tabContents[index].setAttribute('style', `--n-tabs-title-order: ${newIndex}`);
3138 });
3139 }
3140 onResizeUpdateHorizontalScrolling() {
3141 (0, _flexHorizontalScroll.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings());
3142 }
3143 getHorizontalScrollingSettings() {
3144 return {
3145 element: this.elements.$headingContainer[0],
3146 direction: this.getTabsDirection(),
3147 justifyCSSVariable: '--n-tabs-heading-justify-content',
3148 horizontalScrollStatus: this.getHorizontalScrollSetting()
3149 };
3150 }
3151 }
3152 exports["default"] = NestedTabs;
3153
3154 /***/ }),
3155
3156 /***/ "../node_modules/core-js/internals/a-callable.js":
3157 /*!*******************************************************!*\
3158 !*** ../node_modules/core-js/internals/a-callable.js ***!
3159 \*******************************************************/
3160 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3161
3162 "use strict";
3163
3164 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
3165 var tryToString = __webpack_require__(/*! ../internals/try-to-string */ "../node_modules/core-js/internals/try-to-string.js");
3166
3167 var $TypeError = TypeError;
3168
3169 // `Assert: IsCallable(argument) is true`
3170 module.exports = function (argument) {
3171 if (isCallable(argument)) return argument;
3172 throw $TypeError(tryToString(argument) + ' is not a function');
3173 };
3174
3175
3176 /***/ }),
3177
3178 /***/ "../node_modules/core-js/internals/a-possible-prototype.js":
3179 /*!*****************************************************************!*\
3180 !*** ../node_modules/core-js/internals/a-possible-prototype.js ***!
3181 \*****************************************************************/
3182 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3183
3184 "use strict";
3185
3186 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
3187
3188 var $String = String;
3189 var $TypeError = TypeError;
3190
3191 module.exports = function (argument) {
3192 if (typeof argument == 'object' || isCallable(argument)) return argument;
3193 throw $TypeError("Can't set " + $String(argument) + ' as a prototype');
3194 };
3195
3196
3197 /***/ }),
3198
3199 /***/ "../node_modules/core-js/internals/an-object.js":
3200 /*!******************************************************!*\
3201 !*** ../node_modules/core-js/internals/an-object.js ***!
3202 \******************************************************/
3203 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3204
3205 "use strict";
3206
3207 var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
3208
3209 var $String = String;
3210 var $TypeError = TypeError;
3211
3212 // `Assert: Type(argument) is Object`
3213 module.exports = function (argument) {
3214 if (isObject(argument)) return argument;
3215 throw $TypeError($String(argument) + ' is not an object');
3216 };
3217
3218
3219 /***/ }),
3220
3221 /***/ "../node_modules/core-js/internals/array-includes.js":
3222 /*!***********************************************************!*\
3223 !*** ../node_modules/core-js/internals/array-includes.js ***!
3224 \***********************************************************/
3225 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3226
3227 "use strict";
3228
3229 var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
3230 var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "../node_modules/core-js/internals/to-absolute-index.js");
3231 var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "../node_modules/core-js/internals/length-of-array-like.js");
3232
3233 // `Array.prototype.{ indexOf, includes }` methods implementation
3234 var createMethod = function (IS_INCLUDES) {
3235 return function ($this, el, fromIndex) {
3236 var O = toIndexedObject($this);
3237 var length = lengthOfArrayLike(O);
3238 var index = toAbsoluteIndex(fromIndex, length);
3239 var value;
3240 // Array#includes uses SameValueZero equality algorithm
3241 // eslint-disable-next-line no-self-compare -- NaN check
3242 if (IS_INCLUDES && el != el) while (length > index) {
3243 value = O[index++];
3244 // eslint-disable-next-line no-self-compare -- NaN check
3245 if (value != value) return true;
3246 // Array#indexOf ignores holes, Array#includes - not
3247 } else for (;length > index; index++) {
3248 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
3249 } return !IS_INCLUDES && -1;
3250 };
3251 };
3252
3253 module.exports = {
3254 // `Array.prototype.includes` method
3255 // https://tc39.es/ecma262/#sec-array.prototype.includes
3256 includes: createMethod(true),
3257 // `Array.prototype.indexOf` method
3258 // https://tc39.es/ecma262/#sec-array.prototype.indexof
3259 indexOf: createMethod(false)
3260 };
3261
3262
3263 /***/ }),
3264
3265 /***/ "../node_modules/core-js/internals/classof-raw.js":
3266 /*!********************************************************!*\
3267 !*** ../node_modules/core-js/internals/classof-raw.js ***!
3268 \********************************************************/
3269 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3270
3271 "use strict";
3272
3273 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
3274
3275 var toString = uncurryThis({}.toString);
3276 var stringSlice = uncurryThis(''.slice);
3277
3278 module.exports = function (it) {
3279 return stringSlice(toString(it), 8, -1);
3280 };
3281
3282
3283 /***/ }),
3284
3285 /***/ "../node_modules/core-js/internals/classof.js":
3286 /*!****************************************************!*\
3287 !*** ../node_modules/core-js/internals/classof.js ***!
3288 \****************************************************/
3289 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3290
3291 "use strict";
3292
3293 var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "../node_modules/core-js/internals/to-string-tag-support.js");
3294 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
3295 var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "../node_modules/core-js/internals/classof-raw.js");
3296 var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js");
3297
3298 var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3299 var $Object = Object;
3300
3301 // ES3 wrong here
3302 var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
3303
3304 // fallback for IE11 Script Access Denied error
3305 var tryGet = function (it, key) {
3306 try {
3307 return it[key];
3308 } catch (error) { /* empty */ }
3309 };
3310
3311 // getting tag from ES6+ `Object.prototype.toString`
3312 module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
3313 var O, tag, result;
3314 return it === undefined ? 'Undefined' : it === null ? 'Null'
3315 // @@toStringTag case
3316 : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
3317 // builtinTag case
3318 : CORRECT_ARGUMENTS ? classofRaw(O)
3319 // ES3 arguments fallback
3320 : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
3321 };
3322
3323
3324 /***/ }),
3325
3326 /***/ "../node_modules/core-js/internals/copy-constructor-properties.js":
3327 /*!************************************************************************!*\
3328 !*** ../node_modules/core-js/internals/copy-constructor-properties.js ***!
3329 \************************************************************************/
3330 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3331
3332 "use strict";
3333
3334 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
3335 var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "../node_modules/core-js/internals/own-keys.js");
3336 var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "../node_modules/core-js/internals/object-get-own-property-descriptor.js");
3337 var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
3338
3339 module.exports = function (target, source, exceptions) {
3340 var keys = ownKeys(source);
3341 var defineProperty = definePropertyModule.f;
3342 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
3343 for (var i = 0; i < keys.length; i++) {
3344 var key = keys[i];
3345 if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
3346 defineProperty(target, key, getOwnPropertyDescriptor(source, key));
3347 }
3348 }
3349 };
3350
3351
3352 /***/ }),
3353
3354 /***/ "../node_modules/core-js/internals/create-non-enumerable-property.js":
3355 /*!***************************************************************************!*\
3356 !*** ../node_modules/core-js/internals/create-non-enumerable-property.js ***!
3357 \***************************************************************************/
3358 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3359
3360 "use strict";
3361
3362 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
3363 var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
3364 var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
3365
3366 module.exports = DESCRIPTORS ? function (object, key, value) {
3367 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
3368 } : function (object, key, value) {
3369 object[key] = value;
3370 return object;
3371 };
3372
3373
3374 /***/ }),
3375
3376 /***/ "../node_modules/core-js/internals/create-property-descriptor.js":
3377 /*!***********************************************************************!*\
3378 !*** ../node_modules/core-js/internals/create-property-descriptor.js ***!
3379 \***********************************************************************/
3380 /***/ ((module) => {
3381
3382 "use strict";
3383
3384 module.exports = function (bitmap, value) {
3385 return {
3386 enumerable: !(bitmap & 1),
3387 configurable: !(bitmap & 2),
3388 writable: !(bitmap & 4),
3389 value: value
3390 };
3391 };
3392
3393
3394 /***/ }),
3395
3396 /***/ "../node_modules/core-js/internals/define-built-in.js":
3397 /*!************************************************************!*\
3398 !*** ../node_modules/core-js/internals/define-built-in.js ***!
3399 \************************************************************/
3400 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3401
3402 "use strict";
3403
3404 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
3405 var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
3406 var makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ "../node_modules/core-js/internals/make-built-in.js");
3407 var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
3408
3409 module.exports = function (O, key, value, options) {
3410 if (!options) options = {};
3411 var simple = options.enumerable;
3412 var name = options.name !== undefined ? options.name : key;
3413 if (isCallable(value)) makeBuiltIn(value, name, options);
3414 if (options.global) {
3415 if (simple) O[key] = value;
3416 else defineGlobalProperty(key, value);
3417 } else {
3418 try {
3419 if (!options.unsafe) delete O[key];
3420 else if (O[key]) simple = true;
3421 } catch (error) { /* empty */ }
3422 if (simple) O[key] = value;
3423 else definePropertyModule.f(O, key, {
3424 value: value,
3425 enumerable: false,
3426 configurable: !options.nonConfigurable,
3427 writable: !options.nonWritable
3428 });
3429 } return O;
3430 };
3431
3432
3433 /***/ }),
3434
3435 /***/ "../node_modules/core-js/internals/define-global-property.js":
3436 /*!*******************************************************************!*\
3437 !*** ../node_modules/core-js/internals/define-global-property.js ***!
3438 \*******************************************************************/
3439 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3440
3441 "use strict";
3442
3443 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
3444
3445 // eslint-disable-next-line es/no-object-defineproperty -- safe
3446 var defineProperty = Object.defineProperty;
3447
3448 module.exports = function (key, value) {
3449 try {
3450 defineProperty(global, key, { value: value, configurable: true, writable: true });
3451 } catch (error) {
3452 global[key] = value;
3453 } return value;
3454 };
3455
3456
3457 /***/ }),
3458
3459 /***/ "../node_modules/core-js/internals/descriptors.js":
3460 /*!********************************************************!*\
3461 !*** ../node_modules/core-js/internals/descriptors.js ***!
3462 \********************************************************/
3463 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3464
3465 "use strict";
3466
3467 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
3468
3469 // Detect IE8's incomplete defineProperty implementation
3470 module.exports = !fails(function () {
3471 // eslint-disable-next-line es/no-object-defineproperty -- required for testing
3472 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
3473 });
3474
3475
3476 /***/ }),
3477
3478 /***/ "../node_modules/core-js/internals/document-all.js":
3479 /*!*********************************************************!*\
3480 !*** ../node_modules/core-js/internals/document-all.js ***!
3481 \*********************************************************/
3482 /***/ ((module) => {
3483
3484 "use strict";
3485
3486 var documentAll = typeof document == 'object' && document.all;
3487
3488 // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
3489 // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
3490 var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;
3491
3492 module.exports = {
3493 all: documentAll,
3494 IS_HTMLDDA: IS_HTMLDDA
3495 };
3496
3497
3498 /***/ }),
3499
3500 /***/ "../node_modules/core-js/internals/document-create-element.js":
3501 /*!********************************************************************!*\
3502 !*** ../node_modules/core-js/internals/document-create-element.js ***!
3503 \********************************************************************/
3504 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3505
3506 "use strict";
3507
3508 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
3509 var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
3510
3511 var document = global.document;
3512 // typeof document.createElement is 'object' in old IE
3513 var EXISTS = isObject(document) && isObject(document.createElement);
3514
3515 module.exports = function (it) {
3516 return EXISTS ? document.createElement(it) : {};
3517 };
3518
3519
3520 /***/ }),
3521
3522 /***/ "../node_modules/core-js/internals/engine-user-agent.js":
3523 /*!**************************************************************!*\
3524 !*** ../node_modules/core-js/internals/engine-user-agent.js ***!
3525 \**************************************************************/
3526 /***/ ((module) => {
3527
3528 "use strict";
3529
3530 module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
3531
3532
3533 /***/ }),
3534
3535 /***/ "../node_modules/core-js/internals/engine-v8-version.js":
3536 /*!**************************************************************!*\
3537 !*** ../node_modules/core-js/internals/engine-v8-version.js ***!
3538 \**************************************************************/
3539 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3540
3541 "use strict";
3542
3543 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
3544 var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "../node_modules/core-js/internals/engine-user-agent.js");
3545
3546 var process = global.process;
3547 var Deno = global.Deno;
3548 var versions = process && process.versions || Deno && Deno.version;
3549 var v8 = versions && versions.v8;
3550 var match, version;
3551
3552 if (v8) {
3553 match = v8.split('.');
3554 // in old Chrome, versions of V8 isn't V8 = Chrome / 10
3555 // but their correct versions are not interesting for us
3556 version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
3557 }
3558
3559 // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
3560 // so check `userAgent` even if `.v8` exists, but 0
3561 if (!version && userAgent) {
3562 match = userAgent.match(/Edge\/(\d+)/);
3563 if (!match || match[1] >= 74) {
3564 match = userAgent.match(/Chrome\/(\d+)/);
3565 if (match) version = +match[1];
3566 }
3567 }
3568
3569 module.exports = version;
3570
3571
3572 /***/ }),
3573
3574 /***/ "../node_modules/core-js/internals/enum-bug-keys.js":
3575 /*!**********************************************************!*\
3576 !*** ../node_modules/core-js/internals/enum-bug-keys.js ***!
3577 \**********************************************************/
3578 /***/ ((module) => {
3579
3580 "use strict";
3581
3582 // IE8- don't enum bug keys
3583 module.exports = [
3584 'constructor',
3585 'hasOwnProperty',
3586 'isPrototypeOf',
3587 'propertyIsEnumerable',
3588 'toLocaleString',
3589 'toString',
3590 'valueOf'
3591 ];
3592
3593
3594 /***/ }),
3595
3596 /***/ "../node_modules/core-js/internals/error-stack-clear.js":
3597 /*!**************************************************************!*\
3598 !*** ../node_modules/core-js/internals/error-stack-clear.js ***!
3599 \**************************************************************/
3600 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3601
3602 "use strict";
3603
3604 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
3605
3606 var $Error = Error;
3607 var replace = uncurryThis(''.replace);
3608
3609 var TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');
3610 // eslint-disable-next-line redos/no-vulnerable -- safe
3611 var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
3612 var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
3613
3614 module.exports = function (stack, dropEntries) {
3615 if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {
3616 while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
3617 } return stack;
3618 };
3619
3620
3621 /***/ }),
3622
3623 /***/ "../node_modules/core-js/internals/error-stack-install.js":
3624 /*!****************************************************************!*\
3625 !*** ../node_modules/core-js/internals/error-stack-install.js ***!
3626 \****************************************************************/
3627 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3628
3629 "use strict";
3630
3631 var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
3632 var clearErrorStack = __webpack_require__(/*! ../internals/error-stack-clear */ "../node_modules/core-js/internals/error-stack-clear.js");
3633 var ERROR_STACK_INSTALLABLE = __webpack_require__(/*! ../internals/error-stack-installable */ "../node_modules/core-js/internals/error-stack-installable.js");
3634
3635 // non-standard V8
3636 var captureStackTrace = Error.captureStackTrace;
3637
3638 module.exports = function (error, C, stack, dropEntries) {
3639 if (ERROR_STACK_INSTALLABLE) {
3640 if (captureStackTrace) captureStackTrace(error, C);
3641 else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));
3642 }
3643 };
3644
3645
3646 /***/ }),
3647
3648 /***/ "../node_modules/core-js/internals/error-stack-installable.js":
3649 /*!********************************************************************!*\
3650 !*** ../node_modules/core-js/internals/error-stack-installable.js ***!
3651 \********************************************************************/
3652 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3653
3654 "use strict";
3655
3656 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
3657 var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
3658
3659 module.exports = !fails(function () {
3660 var error = Error('a');
3661 if (!('stack' in error)) return true;
3662 // eslint-disable-next-line es/no-object-defineproperty -- safe
3663 Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
3664 return error.stack !== 7;
3665 });
3666
3667
3668 /***/ }),
3669
3670 /***/ "../node_modules/core-js/internals/export.js":
3671 /*!***************************************************!*\
3672 !*** ../node_modules/core-js/internals/export.js ***!
3673 \***************************************************/
3674 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3675
3676 "use strict";
3677
3678 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
3679 var getOwnPropertyDescriptor = (__webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "../node_modules/core-js/internals/object-get-own-property-descriptor.js").f);
3680 var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
3681 var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ "../node_modules/core-js/internals/define-built-in.js");
3682 var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
3683 var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "../node_modules/core-js/internals/copy-constructor-properties.js");
3684 var isForced = __webpack_require__(/*! ../internals/is-forced */ "../node_modules/core-js/internals/is-forced.js");
3685
3686 /*
3687 options.target - name of the target object
3688 options.global - target is the global object
3689 options.stat - export as static methods of target
3690 options.proto - export as prototype methods of target
3691 options.real - real prototype method for the `pure` version
3692 options.forced - export even if the native feature is available
3693 options.bind - bind methods to the target, required for the `pure` version
3694 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
3695 options.unsafe - use the simple assignment of property instead of delete + defineProperty
3696 options.sham - add a flag to not completely full polyfills
3697 options.enumerable - export as enumerable property
3698 options.dontCallGetSet - prevent calling a getter on target
3699 options.name - the .name of the function if it does not match the key
3700 */
3701 module.exports = function (options, source) {
3702 var TARGET = options.target;
3703 var GLOBAL = options.global;
3704 var STATIC = options.stat;
3705 var FORCED, target, key, targetProperty, sourceProperty, descriptor;
3706 if (GLOBAL) {
3707 target = global;
3708 } else if (STATIC) {
3709 target = global[TARGET] || defineGlobalProperty(TARGET, {});
3710 } else {
3711 target = (global[TARGET] || {}).prototype;
3712 }
3713 if (target) for (key in source) {
3714 sourceProperty = source[key];
3715 if (options.dontCallGetSet) {
3716 descriptor = getOwnPropertyDescriptor(target, key);
3717 targetProperty = descriptor && descriptor.value;
3718 } else targetProperty = target[key];
3719 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
3720 // contained in target
3721 if (!FORCED && targetProperty !== undefined) {
3722 if (typeof sourceProperty == typeof targetProperty) continue;
3723 copyConstructorProperties(sourceProperty, targetProperty);
3724 }
3725 // add a flag to not completely full polyfills
3726 if (options.sham || (targetProperty && targetProperty.sham)) {
3727 createNonEnumerableProperty(sourceProperty, 'sham', true);
3728 }
3729 defineBuiltIn(target, key, sourceProperty, options);
3730 }
3731 };
3732
3733
3734 /***/ }),
3735
3736 /***/ "../node_modules/core-js/internals/fails.js":
3737 /*!**************************************************!*\
3738 !*** ../node_modules/core-js/internals/fails.js ***!
3739 \**************************************************/
3740 /***/ ((module) => {
3741
3742 "use strict";
3743
3744 module.exports = function (exec) {
3745 try {
3746 return !!exec();
3747 } catch (error) {
3748 return true;
3749 }
3750 };
3751
3752
3753 /***/ }),
3754
3755 /***/ "../node_modules/core-js/internals/function-apply.js":
3756 /*!***********************************************************!*\
3757 !*** ../node_modules/core-js/internals/function-apply.js ***!
3758 \***********************************************************/
3759 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3760
3761 "use strict";
3762
3763 var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js");
3764
3765 var FunctionPrototype = Function.prototype;
3766 var apply = FunctionPrototype.apply;
3767 var call = FunctionPrototype.call;
3768
3769 // eslint-disable-next-line es/no-reflect -- safe
3770 module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
3771 return call.apply(apply, arguments);
3772 });
3773
3774
3775 /***/ }),
3776
3777 /***/ "../node_modules/core-js/internals/function-bind-native.js":
3778 /*!*****************************************************************!*\
3779 !*** ../node_modules/core-js/internals/function-bind-native.js ***!
3780 \*****************************************************************/
3781 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3782
3783 "use strict";
3784
3785 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
3786
3787 module.exports = !fails(function () {
3788 // eslint-disable-next-line es/no-function-prototype-bind -- safe
3789 var test = (function () { /* empty */ }).bind();
3790 // eslint-disable-next-line no-prototype-builtins -- safe
3791 return typeof test != 'function' || test.hasOwnProperty('prototype');
3792 });
3793
3794
3795 /***/ }),
3796
3797 /***/ "../node_modules/core-js/internals/function-call.js":
3798 /*!**********************************************************!*\
3799 !*** ../node_modules/core-js/internals/function-call.js ***!
3800 \**********************************************************/
3801 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3802
3803 "use strict";
3804
3805 var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js");
3806
3807 var call = Function.prototype.call;
3808
3809 module.exports = NATIVE_BIND ? call.bind(call) : function () {
3810 return call.apply(call, arguments);
3811 };
3812
3813
3814 /***/ }),
3815
3816 /***/ "../node_modules/core-js/internals/function-name.js":
3817 /*!**********************************************************!*\
3818 !*** ../node_modules/core-js/internals/function-name.js ***!
3819 \**********************************************************/
3820 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3821
3822 "use strict";
3823
3824 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
3825 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
3826
3827 var FunctionPrototype = Function.prototype;
3828 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
3829 var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
3830
3831 var EXISTS = hasOwn(FunctionPrototype, 'name');
3832 // additional protection from minified / mangled / dropped function names
3833 var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
3834 var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
3835
3836 module.exports = {
3837 EXISTS: EXISTS,
3838 PROPER: PROPER,
3839 CONFIGURABLE: CONFIGURABLE
3840 };
3841
3842
3843 /***/ }),
3844
3845 /***/ "../node_modules/core-js/internals/function-uncurry-this-accessor.js":
3846 /*!***************************************************************************!*\
3847 !*** ../node_modules/core-js/internals/function-uncurry-this-accessor.js ***!
3848 \***************************************************************************/
3849 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3850
3851 "use strict";
3852
3853 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
3854 var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js");
3855
3856 module.exports = function (object, key, method) {
3857 try {
3858 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
3859 return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
3860 } catch (error) { /* empty */ }
3861 };
3862
3863
3864 /***/ }),
3865
3866 /***/ "../node_modules/core-js/internals/function-uncurry-this.js":
3867 /*!******************************************************************!*\
3868 !*** ../node_modules/core-js/internals/function-uncurry-this.js ***!
3869 \******************************************************************/
3870 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3871
3872 "use strict";
3873
3874 var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js");
3875
3876 var FunctionPrototype = Function.prototype;
3877 var call = FunctionPrototype.call;
3878 var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
3879
3880 module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
3881 return function () {
3882 return call.apply(fn, arguments);
3883 };
3884 };
3885
3886
3887 /***/ }),
3888
3889 /***/ "../node_modules/core-js/internals/get-built-in.js":
3890 /*!*********************************************************!*\
3891 !*** ../node_modules/core-js/internals/get-built-in.js ***!
3892 \*********************************************************/
3893 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3894
3895 "use strict";
3896
3897 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
3898 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
3899
3900 var aFunction = function (argument) {
3901 return isCallable(argument) ? argument : undefined;
3902 };
3903
3904 module.exports = function (namespace, method) {
3905 return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];
3906 };
3907
3908
3909 /***/ }),
3910
3911 /***/ "../node_modules/core-js/internals/get-method.js":
3912 /*!*******************************************************!*\
3913 !*** ../node_modules/core-js/internals/get-method.js ***!
3914 \*******************************************************/
3915 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3916
3917 "use strict";
3918
3919 var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js");
3920 var isNullOrUndefined = __webpack_require__(/*! ../internals/is-null-or-undefined */ "../node_modules/core-js/internals/is-null-or-undefined.js");
3921
3922 // `GetMethod` abstract operation
3923 // https://tc39.es/ecma262/#sec-getmethod
3924 module.exports = function (V, P) {
3925 var func = V[P];
3926 return isNullOrUndefined(func) ? undefined : aCallable(func);
3927 };
3928
3929
3930 /***/ }),
3931
3932 /***/ "../node_modules/core-js/internals/global.js":
3933 /*!***************************************************!*\
3934 !*** ../node_modules/core-js/internals/global.js ***!
3935 \***************************************************/
3936 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3937
3938 "use strict";
3939
3940 var check = function (it) {
3941 return it && it.Math == Math && it;
3942 };
3943
3944 // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
3945 module.exports =
3946 // eslint-disable-next-line es/no-global-this -- safe
3947 check(typeof globalThis == 'object' && globalThis) ||
3948 check(typeof window == 'object' && window) ||
3949 // eslint-disable-next-line no-restricted-globals -- safe
3950 check(typeof self == 'object' && self) ||
3951 check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
3952 // eslint-disable-next-line no-new-func -- fallback
3953 (function () { return this; })() || this || Function('return this')();
3954
3955
3956 /***/ }),
3957
3958 /***/ "../node_modules/core-js/internals/has-own-property.js":
3959 /*!*************************************************************!*\
3960 !*** ../node_modules/core-js/internals/has-own-property.js ***!
3961 \*************************************************************/
3962 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3963
3964 "use strict";
3965
3966 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
3967 var toObject = __webpack_require__(/*! ../internals/to-object */ "../node_modules/core-js/internals/to-object.js");
3968
3969 var hasOwnProperty = uncurryThis({}.hasOwnProperty);
3970
3971 // `HasOwnProperty` abstract operation
3972 // https://tc39.es/ecma262/#sec-hasownproperty
3973 // eslint-disable-next-line es/no-object-hasown -- safe
3974 module.exports = Object.hasOwn || function hasOwn(it, key) {
3975 return hasOwnProperty(toObject(it), key);
3976 };
3977
3978
3979 /***/ }),
3980
3981 /***/ "../node_modules/core-js/internals/hidden-keys.js":
3982 /*!********************************************************!*\
3983 !*** ../node_modules/core-js/internals/hidden-keys.js ***!
3984 \********************************************************/
3985 /***/ ((module) => {
3986
3987 "use strict";
3988
3989 module.exports = {};
3990
3991
3992 /***/ }),
3993
3994 /***/ "../node_modules/core-js/internals/ie8-dom-define.js":
3995 /*!***********************************************************!*\
3996 !*** ../node_modules/core-js/internals/ie8-dom-define.js ***!
3997 \***********************************************************/
3998 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3999
4000 "use strict";
4001
4002 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
4003 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
4004 var createElement = __webpack_require__(/*! ../internals/document-create-element */ "../node_modules/core-js/internals/document-create-element.js");
4005
4006 // Thanks to IE8 for its funny defineProperty
4007 module.exports = !DESCRIPTORS && !fails(function () {
4008 // eslint-disable-next-line es/no-object-defineproperty -- required for testing
4009 return Object.defineProperty(createElement('div'), 'a', {
4010 get: function () { return 7; }
4011 }).a != 7;
4012 });
4013
4014
4015 /***/ }),
4016
4017 /***/ "../node_modules/core-js/internals/indexed-object.js":
4018 /*!***********************************************************!*\
4019 !*** ../node_modules/core-js/internals/indexed-object.js ***!
4020 \***********************************************************/
4021 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4022
4023 "use strict";
4024
4025 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
4026 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
4027 var classof = __webpack_require__(/*! ../internals/classof-raw */ "../node_modules/core-js/internals/classof-raw.js");
4028
4029 var $Object = Object;
4030 var split = uncurryThis(''.split);
4031
4032 // fallback for non-array-like ES3 and non-enumerable old V8 strings
4033 module.exports = fails(function () {
4034 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
4035 // eslint-disable-next-line no-prototype-builtins -- safe
4036 return !$Object('z').propertyIsEnumerable(0);
4037 }) ? function (it) {
4038 return classof(it) == 'String' ? split(it, '') : $Object(it);
4039 } : $Object;
4040
4041
4042 /***/ }),
4043
4044 /***/ "../node_modules/core-js/internals/inherit-if-required.js":
4045 /*!****************************************************************!*\
4046 !*** ../node_modules/core-js/internals/inherit-if-required.js ***!
4047 \****************************************************************/
4048 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4049
4050 "use strict";
4051
4052 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
4053 var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
4054 var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "../node_modules/core-js/internals/object-set-prototype-of.js");
4055
4056 // makes subclassing work correct for wrapped built-ins
4057 module.exports = function ($this, dummy, Wrapper) {
4058 var NewTarget, NewTargetPrototype;
4059 if (
4060 // it can work only with native `setPrototypeOf`
4061 setPrototypeOf &&
4062 // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
4063 isCallable(NewTarget = dummy.constructor) &&
4064 NewTarget !== Wrapper &&
4065 isObject(NewTargetPrototype = NewTarget.prototype) &&
4066 NewTargetPrototype !== Wrapper.prototype
4067 ) setPrototypeOf($this, NewTargetPrototype);
4068 return $this;
4069 };
4070
4071
4072 /***/ }),
4073
4074 /***/ "../node_modules/core-js/internals/inspect-source.js":
4075 /*!***********************************************************!*\
4076 !*** ../node_modules/core-js/internals/inspect-source.js ***!
4077 \***********************************************************/
4078 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4079
4080 "use strict";
4081
4082 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
4083 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
4084 var store = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
4085
4086 var functionToString = uncurryThis(Function.toString);
4087
4088 // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
4089 if (!isCallable(store.inspectSource)) {
4090 store.inspectSource = function (it) {
4091 return functionToString(it);
4092 };
4093 }
4094
4095 module.exports = store.inspectSource;
4096
4097
4098 /***/ }),
4099
4100 /***/ "../node_modules/core-js/internals/install-error-cause.js":
4101 /*!****************************************************************!*\
4102 !*** ../node_modules/core-js/internals/install-error-cause.js ***!
4103 \****************************************************************/
4104 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4105
4106 "use strict";
4107
4108 var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
4109 var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
4110
4111 // `InstallErrorCause` abstract operation
4112 // https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
4113 module.exports = function (O, options) {
4114 if (isObject(options) && 'cause' in options) {
4115 createNonEnumerableProperty(O, 'cause', options.cause);
4116 }
4117 };
4118
4119
4120 /***/ }),
4121
4122 /***/ "../node_modules/core-js/internals/internal-state.js":
4123 /*!***********************************************************!*\
4124 !*** ../node_modules/core-js/internals/internal-state.js ***!
4125 \***********************************************************/
4126 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4127
4128 "use strict";
4129
4130 var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/weak-map-basic-detection */ "../node_modules/core-js/internals/weak-map-basic-detection.js");
4131 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
4132 var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
4133 var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
4134 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
4135 var shared = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
4136 var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "../node_modules/core-js/internals/shared-key.js");
4137 var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
4138
4139 var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
4140 var TypeError = global.TypeError;
4141 var WeakMap = global.WeakMap;
4142 var set, get, has;
4143
4144 var enforce = function (it) {
4145 return has(it) ? get(it) : set(it, {});
4146 };
4147
4148 var getterFor = function (TYPE) {
4149 return function (it) {
4150 var state;
4151 if (!isObject(it) || (state = get(it)).type !== TYPE) {
4152 throw TypeError('Incompatible receiver, ' + TYPE + ' required');
4153 } return state;
4154 };
4155 };
4156
4157 if (NATIVE_WEAK_MAP || shared.state) {
4158 var store = shared.state || (shared.state = new WeakMap());
4159 /* eslint-disable no-self-assign -- prototype methods protection */
4160 store.get = store.get;
4161 store.has = store.has;
4162 store.set = store.set;
4163 /* eslint-enable no-self-assign -- prototype methods protection */
4164 set = function (it, metadata) {
4165 if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
4166 metadata.facade = it;
4167 store.set(it, metadata);
4168 return metadata;
4169 };
4170 get = function (it) {
4171 return store.get(it) || {};
4172 };
4173 has = function (it) {
4174 return store.has(it);
4175 };
4176 } else {
4177 var STATE = sharedKey('state');
4178 hiddenKeys[STATE] = true;
4179 set = function (it, metadata) {
4180 if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
4181 metadata.facade = it;
4182 createNonEnumerableProperty(it, STATE, metadata);
4183 return metadata;
4184 };
4185 get = function (it) {
4186 return hasOwn(it, STATE) ? it[STATE] : {};
4187 };
4188 has = function (it) {
4189 return hasOwn(it, STATE);
4190 };
4191 }
4192
4193 module.exports = {
4194 set: set,
4195 get: get,
4196 has: has,
4197 enforce: enforce,
4198 getterFor: getterFor
4199 };
4200
4201
4202 /***/ }),
4203
4204 /***/ "../node_modules/core-js/internals/is-callable.js":
4205 /*!********************************************************!*\
4206 !*** ../node_modules/core-js/internals/is-callable.js ***!
4207 \********************************************************/
4208 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4209
4210 "use strict";
4211
4212 var $documentAll = __webpack_require__(/*! ../internals/document-all */ "../node_modules/core-js/internals/document-all.js");
4213
4214 var documentAll = $documentAll.all;
4215
4216 // `IsCallable` abstract operation
4217 // https://tc39.es/ecma262/#sec-iscallable
4218 module.exports = $documentAll.IS_HTMLDDA ? function (argument) {
4219 return typeof argument == 'function' || argument === documentAll;
4220 } : function (argument) {
4221 return typeof argument == 'function';
4222 };
4223
4224
4225 /***/ }),
4226
4227 /***/ "../node_modules/core-js/internals/is-forced.js":
4228 /*!******************************************************!*\
4229 !*** ../node_modules/core-js/internals/is-forced.js ***!
4230 \******************************************************/
4231 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4232
4233 "use strict";
4234
4235 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
4236 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
4237
4238 var replacement = /#|\.prototype\./;
4239
4240 var isForced = function (feature, detection) {
4241 var value = data[normalize(feature)];
4242 return value == POLYFILL ? true
4243 : value == NATIVE ? false
4244 : isCallable(detection) ? fails(detection)
4245 : !!detection;
4246 };
4247
4248 var normalize = isForced.normalize = function (string) {
4249 return String(string).replace(replacement, '.').toLowerCase();
4250 };
4251
4252 var data = isForced.data = {};
4253 var NATIVE = isForced.NATIVE = 'N';
4254 var POLYFILL = isForced.POLYFILL = 'P';
4255
4256 module.exports = isForced;
4257
4258
4259 /***/ }),
4260
4261 /***/ "../node_modules/core-js/internals/is-null-or-undefined.js":
4262 /*!*****************************************************************!*\
4263 !*** ../node_modules/core-js/internals/is-null-or-undefined.js ***!
4264 \*****************************************************************/
4265 /***/ ((module) => {
4266
4267 "use strict";
4268
4269 // we can't use just `it == null` since of `document.all` special case
4270 // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
4271 module.exports = function (it) {
4272 return it === null || it === undefined;
4273 };
4274
4275
4276 /***/ }),
4277
4278 /***/ "../node_modules/core-js/internals/is-object.js":
4279 /*!******************************************************!*\
4280 !*** ../node_modules/core-js/internals/is-object.js ***!
4281 \******************************************************/
4282 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4283
4284 "use strict";
4285
4286 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
4287 var $documentAll = __webpack_require__(/*! ../internals/document-all */ "../node_modules/core-js/internals/document-all.js");
4288
4289 var documentAll = $documentAll.all;
4290
4291 module.exports = $documentAll.IS_HTMLDDA ? function (it) {
4292 return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;
4293 } : function (it) {
4294 return typeof it == 'object' ? it !== null : isCallable(it);
4295 };
4296
4297
4298 /***/ }),
4299
4300 /***/ "../node_modules/core-js/internals/is-pure.js":
4301 /*!****************************************************!*\
4302 !*** ../node_modules/core-js/internals/is-pure.js ***!
4303 \****************************************************/
4304 /***/ ((module) => {
4305
4306 "use strict";
4307
4308 module.exports = false;
4309
4310
4311 /***/ }),
4312
4313 /***/ "../node_modules/core-js/internals/is-symbol.js":
4314 /*!******************************************************!*\
4315 !*** ../node_modules/core-js/internals/is-symbol.js ***!
4316 \******************************************************/
4317 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4318
4319 "use strict";
4320
4321 var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
4322 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
4323 var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "../node_modules/core-js/internals/object-is-prototype-of.js");
4324 var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "../node_modules/core-js/internals/use-symbol-as-uid.js");
4325
4326 var $Object = Object;
4327
4328 module.exports = USE_SYMBOL_AS_UID ? function (it) {
4329 return typeof it == 'symbol';
4330 } : function (it) {
4331 var $Symbol = getBuiltIn('Symbol');
4332 return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
4333 };
4334
4335
4336 /***/ }),
4337
4338 /***/ "../node_modules/core-js/internals/length-of-array-like.js":
4339 /*!*****************************************************************!*\
4340 !*** ../node_modules/core-js/internals/length-of-array-like.js ***!
4341 \*****************************************************************/
4342 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4343
4344 "use strict";
4345
4346 var toLength = __webpack_require__(/*! ../internals/to-length */ "../node_modules/core-js/internals/to-length.js");
4347
4348 // `LengthOfArrayLike` abstract operation
4349 // https://tc39.es/ecma262/#sec-lengthofarraylike
4350 module.exports = function (obj) {
4351 return toLength(obj.length);
4352 };
4353
4354
4355 /***/ }),
4356
4357 /***/ "../node_modules/core-js/internals/make-built-in.js":
4358 /*!**********************************************************!*\
4359 !*** ../node_modules/core-js/internals/make-built-in.js ***!
4360 \**********************************************************/
4361 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4362
4363 "use strict";
4364
4365 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
4366 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
4367 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
4368 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
4369 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
4370 var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(/*! ../internals/function-name */ "../node_modules/core-js/internals/function-name.js").CONFIGURABLE);
4371 var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "../node_modules/core-js/internals/inspect-source.js");
4372 var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "../node_modules/core-js/internals/internal-state.js");
4373
4374 var enforceInternalState = InternalStateModule.enforce;
4375 var getInternalState = InternalStateModule.get;
4376 var $String = String;
4377 // eslint-disable-next-line es/no-object-defineproperty -- safe
4378 var defineProperty = Object.defineProperty;
4379 var stringSlice = uncurryThis(''.slice);
4380 var replace = uncurryThis(''.replace);
4381 var join = uncurryThis([].join);
4382
4383 var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
4384 return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
4385 });
4386
4387 var TEMPLATE = String(String).split('String');
4388
4389 var makeBuiltIn = module.exports = function (value, name, options) {
4390 if (stringSlice($String(name), 0, 7) === 'Symbol(') {
4391 name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']';
4392 }
4393 if (options && options.getter) name = 'get ' + name;
4394 if (options && options.setter) name = 'set ' + name;
4395 if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
4396 if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });
4397 else value.name = name;
4398 }
4399 if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
4400 defineProperty(value, 'length', { value: options.arity });
4401 }
4402 try {
4403 if (options && hasOwn(options, 'constructor') && options.constructor) {
4404 if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });
4405 // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
4406 } else if (value.prototype) value.prototype = undefined;
4407 } catch (error) { /* empty */ }
4408 var state = enforceInternalState(value);
4409 if (!hasOwn(state, 'source')) {
4410 state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
4411 } return value;
4412 };
4413
4414 // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
4415 // eslint-disable-next-line no-extend-native -- required
4416 Function.prototype.toString = makeBuiltIn(function toString() {
4417 return isCallable(this) && getInternalState(this).source || inspectSource(this);
4418 }, 'toString');
4419
4420
4421 /***/ }),
4422
4423 /***/ "../node_modules/core-js/internals/math-trunc.js":
4424 /*!*******************************************************!*\
4425 !*** ../node_modules/core-js/internals/math-trunc.js ***!
4426 \*******************************************************/
4427 /***/ ((module) => {
4428
4429 "use strict";
4430
4431 var ceil = Math.ceil;
4432 var floor = Math.floor;
4433
4434 // `Math.trunc` method
4435 // https://tc39.es/ecma262/#sec-math.trunc
4436 // eslint-disable-next-line es/no-math-trunc -- safe
4437 module.exports = Math.trunc || function trunc(x) {
4438 var n = +x;
4439 return (n > 0 ? floor : ceil)(n);
4440 };
4441
4442
4443 /***/ }),
4444
4445 /***/ "../node_modules/core-js/internals/normalize-string-argument.js":
4446 /*!**********************************************************************!*\
4447 !*** ../node_modules/core-js/internals/normalize-string-argument.js ***!
4448 \**********************************************************************/
4449 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4450
4451 "use strict";
4452
4453 var toString = __webpack_require__(/*! ../internals/to-string */ "../node_modules/core-js/internals/to-string.js");
4454
4455 module.exports = function (argument, $default) {
4456 return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
4457 };
4458
4459
4460 /***/ }),
4461
4462 /***/ "../node_modules/core-js/internals/object-define-property.js":
4463 /*!*******************************************************************!*\
4464 !*** ../node_modules/core-js/internals/object-define-property.js ***!
4465 \*******************************************************************/
4466 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4467
4468 "use strict";
4469
4470 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
4471 var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "../node_modules/core-js/internals/ie8-dom-define.js");
4472 var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "../node_modules/core-js/internals/v8-prototype-define-bug.js");
4473 var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
4474 var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "../node_modules/core-js/internals/to-property-key.js");
4475
4476 var $TypeError = TypeError;
4477 // eslint-disable-next-line es/no-object-defineproperty -- safe
4478 var $defineProperty = Object.defineProperty;
4479 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
4480 var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
4481 var ENUMERABLE = 'enumerable';
4482 var CONFIGURABLE = 'configurable';
4483 var WRITABLE = 'writable';
4484
4485 // `Object.defineProperty` method
4486 // https://tc39.es/ecma262/#sec-object.defineproperty
4487 exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
4488 anObject(O);
4489 P = toPropertyKey(P);
4490 anObject(Attributes);
4491 if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
4492 var current = $getOwnPropertyDescriptor(O, P);
4493 if (current && current[WRITABLE]) {
4494 O[P] = Attributes.value;
4495 Attributes = {
4496 configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
4497 enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
4498 writable: false
4499 };
4500 }
4501 } return $defineProperty(O, P, Attributes);
4502 } : $defineProperty : function defineProperty(O, P, Attributes) {
4503 anObject(O);
4504 P = toPropertyKey(P);
4505 anObject(Attributes);
4506 if (IE8_DOM_DEFINE) try {
4507 return $defineProperty(O, P, Attributes);
4508 } catch (error) { /* empty */ }
4509 if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');
4510 if ('value' in Attributes) O[P] = Attributes.value;
4511 return O;
4512 };
4513
4514
4515 /***/ }),
4516
4517 /***/ "../node_modules/core-js/internals/object-get-own-property-descriptor.js":
4518 /*!*******************************************************************************!*\
4519 !*** ../node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
4520 \*******************************************************************************/
4521 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4522
4523 "use strict";
4524
4525 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
4526 var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
4527 var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "../node_modules/core-js/internals/object-property-is-enumerable.js");
4528 var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
4529 var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
4530 var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "../node_modules/core-js/internals/to-property-key.js");
4531 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
4532 var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "../node_modules/core-js/internals/ie8-dom-define.js");
4533
4534 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
4535 var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
4536
4537 // `Object.getOwnPropertyDescriptor` method
4538 // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
4539 exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
4540 O = toIndexedObject(O);
4541 P = toPropertyKey(P);
4542 if (IE8_DOM_DEFINE) try {
4543 return $getOwnPropertyDescriptor(O, P);
4544 } catch (error) { /* empty */ }
4545 if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
4546 };
4547
4548
4549 /***/ }),
4550
4551 /***/ "../node_modules/core-js/internals/object-get-own-property-names.js":
4552 /*!**************************************************************************!*\
4553 !*** ../node_modules/core-js/internals/object-get-own-property-names.js ***!
4554 \**************************************************************************/
4555 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4556
4557 "use strict";
4558
4559 var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "../node_modules/core-js/internals/object-keys-internal.js");
4560 var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "../node_modules/core-js/internals/enum-bug-keys.js");
4561
4562 var hiddenKeys = enumBugKeys.concat('length', 'prototype');
4563
4564 // `Object.getOwnPropertyNames` method
4565 // https://tc39.es/ecma262/#sec-object.getownpropertynames
4566 // eslint-disable-next-line es/no-object-getownpropertynames -- safe
4567 exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
4568 return internalObjectKeys(O, hiddenKeys);
4569 };
4570
4571
4572 /***/ }),
4573
4574 /***/ "../node_modules/core-js/internals/object-get-own-property-symbols.js":
4575 /*!****************************************************************************!*\
4576 !*** ../node_modules/core-js/internals/object-get-own-property-symbols.js ***!
4577 \****************************************************************************/
4578 /***/ ((__unused_webpack_module, exports) => {
4579
4580 "use strict";
4581
4582 // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
4583 exports.f = Object.getOwnPropertySymbols;
4584
4585
4586 /***/ }),
4587
4588 /***/ "../node_modules/core-js/internals/object-is-prototype-of.js":
4589 /*!*******************************************************************!*\
4590 !*** ../node_modules/core-js/internals/object-is-prototype-of.js ***!
4591 \*******************************************************************/
4592 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4593
4594 "use strict";
4595
4596 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
4597
4598 module.exports = uncurryThis({}.isPrototypeOf);
4599
4600
4601 /***/ }),
4602
4603 /***/ "../node_modules/core-js/internals/object-keys-internal.js":
4604 /*!*****************************************************************!*\
4605 !*** ../node_modules/core-js/internals/object-keys-internal.js ***!
4606 \*****************************************************************/
4607 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4608
4609 "use strict";
4610
4611 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
4612 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
4613 var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
4614 var indexOf = (__webpack_require__(/*! ../internals/array-includes */ "../node_modules/core-js/internals/array-includes.js").indexOf);
4615 var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
4616
4617 var push = uncurryThis([].push);
4618
4619 module.exports = function (object, names) {
4620 var O = toIndexedObject(object);
4621 var i = 0;
4622 var result = [];
4623 var key;
4624 for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
4625 // Don't enum bug & hidden keys
4626 while (names.length > i) if (hasOwn(O, key = names[i++])) {
4627 ~indexOf(result, key) || push(result, key);
4628 }
4629 return result;
4630 };
4631
4632
4633 /***/ }),
4634
4635 /***/ "../node_modules/core-js/internals/object-property-is-enumerable.js":
4636 /*!**************************************************************************!*\
4637 !*** ../node_modules/core-js/internals/object-property-is-enumerable.js ***!
4638 \**************************************************************************/
4639 /***/ ((__unused_webpack_module, exports) => {
4640
4641 "use strict";
4642
4643 var $propertyIsEnumerable = {}.propertyIsEnumerable;
4644 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
4645 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
4646
4647 // Nashorn ~ JDK8 bug
4648 var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
4649
4650 // `Object.prototype.propertyIsEnumerable` method implementation
4651 // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
4652 exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
4653 var descriptor = getOwnPropertyDescriptor(this, V);
4654 return !!descriptor && descriptor.enumerable;
4655 } : $propertyIsEnumerable;
4656
4657
4658 /***/ }),
4659
4660 /***/ "../node_modules/core-js/internals/object-set-prototype-of.js":
4661 /*!********************************************************************!*\
4662 !*** ../node_modules/core-js/internals/object-set-prototype-of.js ***!
4663 \********************************************************************/
4664 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4665
4666 "use strict";
4667
4668 /* eslint-disable no-proto -- safe */
4669 var uncurryThisAccessor = __webpack_require__(/*! ../internals/function-uncurry-this-accessor */ "../node_modules/core-js/internals/function-uncurry-this-accessor.js");
4670 var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
4671 var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "../node_modules/core-js/internals/a-possible-prototype.js");
4672
4673 // `Object.setPrototypeOf` method
4674 // https://tc39.es/ecma262/#sec-object.setprototypeof
4675 // Works with __proto__ only. Old v8 can't work with null proto objects.
4676 // eslint-disable-next-line es/no-object-setprototypeof -- safe
4677 module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
4678 var CORRECT_SETTER = false;
4679 var test = {};
4680 var setter;
4681 try {
4682 setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
4683 setter(test, []);
4684 CORRECT_SETTER = test instanceof Array;
4685 } catch (error) { /* empty */ }
4686 return function setPrototypeOf(O, proto) {
4687 anObject(O);
4688 aPossiblePrototype(proto);
4689 if (CORRECT_SETTER) setter(O, proto);
4690 else O.__proto__ = proto;
4691 return O;
4692 };
4693 }() : undefined);
4694
4695
4696 /***/ }),
4697
4698 /***/ "../node_modules/core-js/internals/ordinary-to-primitive.js":
4699 /*!******************************************************************!*\
4700 !*** ../node_modules/core-js/internals/ordinary-to-primitive.js ***!
4701 \******************************************************************/
4702 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4703
4704 "use strict";
4705
4706 var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
4707 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
4708 var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
4709
4710 var $TypeError = TypeError;
4711
4712 // `OrdinaryToPrimitive` abstract operation
4713 // https://tc39.es/ecma262/#sec-ordinarytoprimitive
4714 module.exports = function (input, pref) {
4715 var fn, val;
4716 if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
4717 if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
4718 if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
4719 throw $TypeError("Can't convert object to primitive value");
4720 };
4721
4722
4723 /***/ }),
4724
4725 /***/ "../node_modules/core-js/internals/own-keys.js":
4726 /*!*****************************************************!*\
4727 !*** ../node_modules/core-js/internals/own-keys.js ***!
4728 \*****************************************************/
4729 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4730
4731 "use strict";
4732
4733 var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
4734 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
4735 var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "../node_modules/core-js/internals/object-get-own-property-names.js");
4736 var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "../node_modules/core-js/internals/object-get-own-property-symbols.js");
4737 var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
4738
4739 var concat = uncurryThis([].concat);
4740
4741 // all object keys, includes non-enumerable and symbols
4742 module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
4743 var keys = getOwnPropertyNamesModule.f(anObject(it));
4744 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
4745 return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
4746 };
4747
4748
4749 /***/ }),
4750
4751 /***/ "../node_modules/core-js/internals/proxy-accessor.js":
4752 /*!***********************************************************!*\
4753 !*** ../node_modules/core-js/internals/proxy-accessor.js ***!
4754 \***********************************************************/
4755 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4756
4757 "use strict";
4758
4759 var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js").f);
4760
4761 module.exports = function (Target, Source, key) {
4762 key in Target || defineProperty(Target, key, {
4763 configurable: true,
4764 get: function () { return Source[key]; },
4765 set: function (it) { Source[key] = it; }
4766 });
4767 };
4768
4769
4770 /***/ }),
4771
4772 /***/ "../node_modules/core-js/internals/require-object-coercible.js":
4773 /*!*********************************************************************!*\
4774 !*** ../node_modules/core-js/internals/require-object-coercible.js ***!
4775 \*********************************************************************/
4776 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4777
4778 "use strict";
4779
4780 var isNullOrUndefined = __webpack_require__(/*! ../internals/is-null-or-undefined */ "../node_modules/core-js/internals/is-null-or-undefined.js");
4781
4782 var $TypeError = TypeError;
4783
4784 // `RequireObjectCoercible` abstract operation
4785 // https://tc39.es/ecma262/#sec-requireobjectcoercible
4786 module.exports = function (it) {
4787 if (isNullOrUndefined(it)) throw $TypeError("Can't call method on " + it);
4788 return it;
4789 };
4790
4791
4792 /***/ }),
4793
4794 /***/ "../node_modules/core-js/internals/shared-key.js":
4795 /*!*******************************************************!*\
4796 !*** ../node_modules/core-js/internals/shared-key.js ***!
4797 \*******************************************************/
4798 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4799
4800 "use strict";
4801
4802 var shared = __webpack_require__(/*! ../internals/shared */ "../node_modules/core-js/internals/shared.js");
4803 var uid = __webpack_require__(/*! ../internals/uid */ "../node_modules/core-js/internals/uid.js");
4804
4805 var keys = shared('keys');
4806
4807 module.exports = function (key) {
4808 return keys[key] || (keys[key] = uid(key));
4809 };
4810
4811
4812 /***/ }),
4813
4814 /***/ "../node_modules/core-js/internals/shared-store.js":
4815 /*!*********************************************************!*\
4816 !*** ../node_modules/core-js/internals/shared-store.js ***!
4817 \*********************************************************/
4818 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4819
4820 "use strict";
4821
4822 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
4823 var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
4824
4825 var SHARED = '__core-js_shared__';
4826 var store = global[SHARED] || defineGlobalProperty(SHARED, {});
4827
4828 module.exports = store;
4829
4830
4831 /***/ }),
4832
4833 /***/ "../node_modules/core-js/internals/shared.js":
4834 /*!***************************************************!*\
4835 !*** ../node_modules/core-js/internals/shared.js ***!
4836 \***************************************************/
4837 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4838
4839 "use strict";
4840
4841 var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js");
4842 var store = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
4843
4844 (module.exports = function (key, value) {
4845 return store[key] || (store[key] = value !== undefined ? value : {});
4846 })('versions', []).push({
4847 version: '3.32.0',
4848 mode: IS_PURE ? 'pure' : 'global',
4849 copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
4850 license: 'https://github.com/zloirock/core-js/blob/v3.32.0/LICENSE',
4851 source: 'https://github.com/zloirock/core-js'
4852 });
4853
4854
4855 /***/ }),
4856
4857 /***/ "../node_modules/core-js/internals/symbol-constructor-detection.js":
4858 /*!*************************************************************************!*\
4859 !*** ../node_modules/core-js/internals/symbol-constructor-detection.js ***!
4860 \*************************************************************************/
4861 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4862
4863 "use strict";
4864
4865 /* eslint-disable es/no-symbol -- required for testing */
4866 var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "../node_modules/core-js/internals/engine-v8-version.js");
4867 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
4868 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
4869
4870 var $String = global.String;
4871
4872 // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
4873 module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
4874 var symbol = Symbol();
4875 // Chrome 38 Symbol has incorrect toString conversion
4876 // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
4877 // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
4878 // of course, fail.
4879 return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||
4880 // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
4881 !Symbol.sham && V8_VERSION && V8_VERSION < 41;
4882 });
4883
4884
4885 /***/ }),
4886
4887 /***/ "../node_modules/core-js/internals/to-absolute-index.js":
4888 /*!**************************************************************!*\
4889 !*** ../node_modules/core-js/internals/to-absolute-index.js ***!
4890 \**************************************************************/
4891 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4892
4893 "use strict";
4894
4895 var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "../node_modules/core-js/internals/to-integer-or-infinity.js");
4896
4897 var max = Math.max;
4898 var min = Math.min;
4899
4900 // Helper for a popular repeating case of the spec:
4901 // Let integer be ? ToInteger(index).
4902 // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
4903 module.exports = function (index, length) {
4904 var integer = toIntegerOrInfinity(index);
4905 return integer < 0 ? max(integer + length, 0) : min(integer, length);
4906 };
4907
4908
4909 /***/ }),
4910
4911 /***/ "../node_modules/core-js/internals/to-indexed-object.js":
4912 /*!**************************************************************!*\
4913 !*** ../node_modules/core-js/internals/to-indexed-object.js ***!
4914 \**************************************************************/
4915 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4916
4917 "use strict";
4918
4919 // toObject with fallback for non-array-like ES3 strings
4920 var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "../node_modules/core-js/internals/indexed-object.js");
4921 var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
4922
4923 module.exports = function (it) {
4924 return IndexedObject(requireObjectCoercible(it));
4925 };
4926
4927
4928 /***/ }),
4929
4930 /***/ "../node_modules/core-js/internals/to-integer-or-infinity.js":
4931 /*!*******************************************************************!*\
4932 !*** ../node_modules/core-js/internals/to-integer-or-infinity.js ***!
4933 \*******************************************************************/
4934 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4935
4936 "use strict";
4937
4938 var trunc = __webpack_require__(/*! ../internals/math-trunc */ "../node_modules/core-js/internals/math-trunc.js");
4939
4940 // `ToIntegerOrInfinity` abstract operation
4941 // https://tc39.es/ecma262/#sec-tointegerorinfinity
4942 module.exports = function (argument) {
4943 var number = +argument;
4944 // eslint-disable-next-line no-self-compare -- NaN check
4945 return number !== number || number === 0 ? 0 : trunc(number);
4946 };
4947
4948
4949 /***/ }),
4950
4951 /***/ "../node_modules/core-js/internals/to-length.js":
4952 /*!******************************************************!*\
4953 !*** ../node_modules/core-js/internals/to-length.js ***!
4954 \******************************************************/
4955 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4956
4957 "use strict";
4958
4959 var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "../node_modules/core-js/internals/to-integer-or-infinity.js");
4960
4961 var min = Math.min;
4962
4963 // `ToLength` abstract operation
4964 // https://tc39.es/ecma262/#sec-tolength
4965 module.exports = function (argument) {
4966 return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
4967 };
4968
4969
4970 /***/ }),
4971
4972 /***/ "../node_modules/core-js/internals/to-object.js":
4973 /*!******************************************************!*\
4974 !*** ../node_modules/core-js/internals/to-object.js ***!
4975 \******************************************************/
4976 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4977
4978 "use strict";
4979
4980 var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
4981
4982 var $Object = Object;
4983
4984 // `ToObject` abstract operation
4985 // https://tc39.es/ecma262/#sec-toobject
4986 module.exports = function (argument) {
4987 return $Object(requireObjectCoercible(argument));
4988 };
4989
4990
4991 /***/ }),
4992
4993 /***/ "../node_modules/core-js/internals/to-primitive.js":
4994 /*!*********************************************************!*\
4995 !*** ../node_modules/core-js/internals/to-primitive.js ***!
4996 \*********************************************************/
4997 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4998
4999 "use strict";
5000
5001 var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
5002 var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
5003 var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "../node_modules/core-js/internals/is-symbol.js");
5004 var getMethod = __webpack_require__(/*! ../internals/get-method */ "../node_modules/core-js/internals/get-method.js");
5005 var ordinaryToPrimitive = __webpack_require__(/*! ../internals/ordinary-to-primitive */ "../node_modules/core-js/internals/ordinary-to-primitive.js");
5006 var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js");
5007
5008 var $TypeError = TypeError;
5009 var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
5010
5011 // `ToPrimitive` abstract operation
5012 // https://tc39.es/ecma262/#sec-toprimitive
5013 module.exports = function (input, pref) {
5014 if (!isObject(input) || isSymbol(input)) return input;
5015 var exoticToPrim = getMethod(input, TO_PRIMITIVE);
5016 var result;
5017 if (exoticToPrim) {
5018 if (pref === undefined) pref = 'default';
5019 result = call(exoticToPrim, input, pref);
5020 if (!isObject(result) || isSymbol(result)) return result;
5021 throw $TypeError("Can't convert object to primitive value");
5022 }
5023 if (pref === undefined) pref = 'number';
5024 return ordinaryToPrimitive(input, pref);
5025 };
5026
5027
5028 /***/ }),
5029
5030 /***/ "../node_modules/core-js/internals/to-property-key.js":
5031 /*!************************************************************!*\
5032 !*** ../node_modules/core-js/internals/to-property-key.js ***!
5033 \************************************************************/
5034 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5035
5036 "use strict";
5037
5038 var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "../node_modules/core-js/internals/to-primitive.js");
5039 var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "../node_modules/core-js/internals/is-symbol.js");
5040
5041 // `ToPropertyKey` abstract operation
5042 // https://tc39.es/ecma262/#sec-topropertykey
5043 module.exports = function (argument) {
5044 var key = toPrimitive(argument, 'string');
5045 return isSymbol(key) ? key : key + '';
5046 };
5047
5048
5049 /***/ }),
5050
5051 /***/ "../node_modules/core-js/internals/to-string-tag-support.js":
5052 /*!******************************************************************!*\
5053 !*** ../node_modules/core-js/internals/to-string-tag-support.js ***!
5054 \******************************************************************/
5055 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5056
5057 "use strict";
5058
5059 var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js");
5060
5061 var TO_STRING_TAG = wellKnownSymbol('toStringTag');
5062 var test = {};
5063
5064 test[TO_STRING_TAG] = 'z';
5065
5066 module.exports = String(test) === '[object z]';
5067
5068
5069 /***/ }),
5070
5071 /***/ "../node_modules/core-js/internals/to-string.js":
5072 /*!******************************************************!*\
5073 !*** ../node_modules/core-js/internals/to-string.js ***!
5074 \******************************************************/
5075 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5076
5077 "use strict";
5078
5079 var classof = __webpack_require__(/*! ../internals/classof */ "../node_modules/core-js/internals/classof.js");
5080
5081 var $String = String;
5082
5083 module.exports = function (argument) {
5084 if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
5085 return $String(argument);
5086 };
5087
5088
5089 /***/ }),
5090
5091 /***/ "../node_modules/core-js/internals/try-to-string.js":
5092 /*!**********************************************************!*\
5093 !*** ../node_modules/core-js/internals/try-to-string.js ***!
5094 \**********************************************************/
5095 /***/ ((module) => {
5096
5097 "use strict";
5098
5099 var $String = String;
5100
5101 module.exports = function (argument) {
5102 try {
5103 return $String(argument);
5104 } catch (error) {
5105 return 'Object';
5106 }
5107 };
5108
5109
5110 /***/ }),
5111
5112 /***/ "../node_modules/core-js/internals/uid.js":
5113 /*!************************************************!*\
5114 !*** ../node_modules/core-js/internals/uid.js ***!
5115 \************************************************/
5116 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5117
5118 "use strict";
5119
5120 var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
5121
5122 var id = 0;
5123 var postfix = Math.random();
5124 var toString = uncurryThis(1.0.toString);
5125
5126 module.exports = function (key) {
5127 return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
5128 };
5129
5130
5131 /***/ }),
5132
5133 /***/ "../node_modules/core-js/internals/use-symbol-as-uid.js":
5134 /*!**************************************************************!*\
5135 !*** ../node_modules/core-js/internals/use-symbol-as-uid.js ***!
5136 \**************************************************************/
5137 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5138
5139 "use strict";
5140
5141 /* eslint-disable es/no-symbol -- required for testing */
5142 var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/symbol-constructor-detection */ "../node_modules/core-js/internals/symbol-constructor-detection.js");
5143
5144 module.exports = NATIVE_SYMBOL
5145 && !Symbol.sham
5146 && typeof Symbol.iterator == 'symbol';
5147
5148
5149 /***/ }),
5150
5151 /***/ "../node_modules/core-js/internals/v8-prototype-define-bug.js":
5152 /*!********************************************************************!*\
5153 !*** ../node_modules/core-js/internals/v8-prototype-define-bug.js ***!
5154 \********************************************************************/
5155 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5156
5157 "use strict";
5158
5159 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
5160 var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
5161
5162 // V8 ~ Chrome 36-
5163 // https://bugs.chromium.org/p/v8/issues/detail?id=3334
5164 module.exports = DESCRIPTORS && fails(function () {
5165 // eslint-disable-next-line es/no-object-defineproperty -- required for testing
5166 return Object.defineProperty(function () { /* empty */ }, 'prototype', {
5167 value: 42,
5168 writable: false
5169 }).prototype != 42;
5170 });
5171
5172
5173 /***/ }),
5174
5175 /***/ "../node_modules/core-js/internals/weak-map-basic-detection.js":
5176 /*!*********************************************************************!*\
5177 !*** ../node_modules/core-js/internals/weak-map-basic-detection.js ***!
5178 \*********************************************************************/
5179 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5180
5181 "use strict";
5182
5183 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
5184 var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
5185
5186 var WeakMap = global.WeakMap;
5187
5188 module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
5189
5190
5191 /***/ }),
5192
5193 /***/ "../node_modules/core-js/internals/well-known-symbol.js":
5194 /*!**************************************************************!*\
5195 !*** ../node_modules/core-js/internals/well-known-symbol.js ***!
5196 \**************************************************************/
5197 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5198
5199 "use strict";
5200
5201 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
5202 var shared = __webpack_require__(/*! ../internals/shared */ "../node_modules/core-js/internals/shared.js");
5203 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
5204 var uid = __webpack_require__(/*! ../internals/uid */ "../node_modules/core-js/internals/uid.js");
5205 var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/symbol-constructor-detection */ "../node_modules/core-js/internals/symbol-constructor-detection.js");
5206 var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "../node_modules/core-js/internals/use-symbol-as-uid.js");
5207
5208 var Symbol = global.Symbol;
5209 var WellKnownSymbolsStore = shared('wks');
5210 var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
5211
5212 module.exports = function (name) {
5213 if (!hasOwn(WellKnownSymbolsStore, name)) {
5214 WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
5215 ? Symbol[name]
5216 : createWellKnownSymbol('Symbol.' + name);
5217 } return WellKnownSymbolsStore[name];
5218 };
5219
5220
5221 /***/ }),
5222
5223 /***/ "../node_modules/core-js/internals/wrap-error-constructor-with-cause.js":
5224 /*!******************************************************************************!*\
5225 !*** ../node_modules/core-js/internals/wrap-error-constructor-with-cause.js ***!
5226 \******************************************************************************/
5227 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5228
5229 "use strict";
5230
5231 var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
5232 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
5233 var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
5234 var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "../node_modules/core-js/internals/object-is-prototype-of.js");
5235 var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "../node_modules/core-js/internals/object-set-prototype-of.js");
5236 var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "../node_modules/core-js/internals/copy-constructor-properties.js");
5237 var proxyAccessor = __webpack_require__(/*! ../internals/proxy-accessor */ "../node_modules/core-js/internals/proxy-accessor.js");
5238 var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "../node_modules/core-js/internals/inherit-if-required.js");
5239 var normalizeStringArgument = __webpack_require__(/*! ../internals/normalize-string-argument */ "../node_modules/core-js/internals/normalize-string-argument.js");
5240 var installErrorCause = __webpack_require__(/*! ../internals/install-error-cause */ "../node_modules/core-js/internals/install-error-cause.js");
5241 var installErrorStack = __webpack_require__(/*! ../internals/error-stack-install */ "../node_modules/core-js/internals/error-stack-install.js");
5242 var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
5243 var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js");
5244
5245 module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {
5246 var STACK_TRACE_LIMIT = 'stackTraceLimit';
5247 var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;
5248 var path = FULL_NAME.split('.');
5249 var ERROR_NAME = path[path.length - 1];
5250 var OriginalError = getBuiltIn.apply(null, path);
5251
5252 if (!OriginalError) return;
5253
5254 var OriginalErrorPrototype = OriginalError.prototype;
5255
5256 // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006
5257 if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;
5258
5259 if (!FORCED) return OriginalError;
5260
5261 var BaseError = getBuiltIn('Error');
5262
5263 var WrappedError = wrapper(function (a, b) {
5264 var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);
5265 var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();
5266 if (message !== undefined) createNonEnumerableProperty(result, 'message', message);
5267 installErrorStack(result, WrappedError, result.stack, 2);
5268 if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);
5269 if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);
5270 return result;
5271 });
5272
5273 WrappedError.prototype = OriginalErrorPrototype;
5274
5275 if (ERROR_NAME !== 'Error') {
5276 if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);
5277 else copyConstructorProperties(WrappedError, BaseError, { name: true });
5278 } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {
5279 proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);
5280 proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');
5281 }
5282
5283 copyConstructorProperties(WrappedError, OriginalError);
5284
5285 if (!IS_PURE) try {
5286 // Safari 13- bug: WebAssembly errors does not have a proper `.name`
5287 if (OriginalErrorPrototype.name !== ERROR_NAME) {
5288 createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);
5289 }
5290 OriginalErrorPrototype.constructor = WrappedError;
5291 } catch (error) { /* empty */ }
5292
5293 return WrappedError;
5294 };
5295
5296
5297 /***/ }),
5298
5299 /***/ "../node_modules/core-js/modules/es.error.cause.js":
5300 /*!*********************************************************!*\
5301 !*** ../node_modules/core-js/modules/es.error.cause.js ***!
5302 \*********************************************************/
5303 /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
5304
5305 "use strict";
5306
5307 /* eslint-disable no-unused-vars -- required for functions `.length` */
5308 var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js");
5309 var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
5310 var apply = __webpack_require__(/*! ../internals/function-apply */ "../node_modules/core-js/internals/function-apply.js");
5311 var wrapErrorConstructorWithCause = __webpack_require__(/*! ../internals/wrap-error-constructor-with-cause */ "../node_modules/core-js/internals/wrap-error-constructor-with-cause.js");
5312
5313 var WEB_ASSEMBLY = 'WebAssembly';
5314 var WebAssembly = global[WEB_ASSEMBLY];
5315
5316 var FORCED = Error('e', { cause: 7 }).cause !== 7;
5317
5318 var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
5319 var O = {};
5320 O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
5321 $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);
5322 };
5323
5324 var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
5325 if (WebAssembly && WebAssembly[ERROR_NAME]) {
5326 var O = {};
5327 O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
5328 $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);
5329 }
5330 };
5331
5332 // https://tc39.es/ecma262/#sec-nativeerror
5333 exportGlobalErrorCauseWrapper('Error', function (init) {
5334 return function Error(message) { return apply(init, this, arguments); };
5335 });
5336 exportGlobalErrorCauseWrapper('EvalError', function (init) {
5337 return function EvalError(message) { return apply(init, this, arguments); };
5338 });
5339 exportGlobalErrorCauseWrapper('RangeError', function (init) {
5340 return function RangeError(message) { return apply(init, this, arguments); };
5341 });
5342 exportGlobalErrorCauseWrapper('ReferenceError', function (init) {
5343 return function ReferenceError(message) { return apply(init, this, arguments); };
5344 });
5345 exportGlobalErrorCauseWrapper('SyntaxError', function (init) {
5346 return function SyntaxError(message) { return apply(init, this, arguments); };
5347 });
5348 exportGlobalErrorCauseWrapper('TypeError', function (init) {
5349 return function TypeError(message) { return apply(init, this, arguments); };
5350 });
5351 exportGlobalErrorCauseWrapper('URIError', function (init) {
5352 return function URIError(message) { return apply(init, this, arguments); };
5353 });
5354 exportWebAssemblyErrorCauseWrapper('CompileError', function (init) {
5355 return function CompileError(message) { return apply(init, this, arguments); };
5356 });
5357 exportWebAssemblyErrorCauseWrapper('LinkError', function (init) {
5358 return function LinkError(message) { return apply(init, this, arguments); };
5359 });
5360 exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {
5361 return function RuntimeError(message) { return apply(init, this, arguments); };
5362 });
5363
5364
5365 /***/ }),
5366
5367 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
5368 /*!****************************************************************!*\
5369 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
5370 \****************************************************************/
5371 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5372
5373 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
5374 function _defineProperty(obj, key, value) {
5375 key = toPropertyKey(key);
5376 if (key in obj) {
5377 Object.defineProperty(obj, key, {
5378 value: value,
5379 enumerable: true,
5380 configurable: true,
5381 writable: true
5382 });
5383 } else {
5384 obj[key] = value;
5385 }
5386 return obj;
5387 }
5388 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
5389
5390 /***/ }),
5391
5392 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
5393 /*!***********************************************************************!*\
5394 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
5395 \***********************************************************************/
5396 /***/ ((module) => {
5397
5398 function _interopRequireDefault(obj) {
5399 return obj && obj.__esModule ? obj : {
5400 "default": obj
5401 };
5402 }
5403 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
5404
5405 /***/ }),
5406
5407 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
5408 /*!*************************************************************!*\
5409 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
5410 \*************************************************************/
5411 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5412
5413 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
5414 function toPrimitive(t, r) {
5415 if ("object" != _typeof(t) || !t) return t;
5416 var e = t[Symbol.toPrimitive];
5417 if (void 0 !== e) {
5418 var i = e.call(t, r || "default");
5419 if ("object" != _typeof(i)) return i;
5420 throw new TypeError("@@toPrimitive must return a primitive value.");
5421 }
5422 return ("string" === r ? String : Number)(t);
5423 }
5424 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
5425
5426 /***/ }),
5427
5428 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
5429 /*!***************************************************************!*\
5430 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
5431 \***************************************************************/
5432 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
5433
5434 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
5435 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
5436 function toPropertyKey(t) {
5437 var i = toPrimitive(t, "string");
5438 return "symbol" == _typeof(i) ? i : String(i);
5439 }
5440 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
5441
5442 /***/ }),
5443
5444 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
5445 /*!********************************************************!*\
5446 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
5447 \********************************************************/
5448 /***/ ((module) => {
5449
5450 function _typeof(o) {
5451 "@babel/helpers - typeof";
5452
5453 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
5454 return typeof o;
5455 } : function (o) {
5456 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
5457 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
5458 }
5459 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
5460
5461 /***/ })
5462
5463 },
5464 /******/ __webpack_require__ => { // webpackRuntimeModules
5465 /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
5466 /******/ var __webpack_exports__ = (__webpack_exec__("../assets/dev/js/frontend/modules.js"));
5467 /******/ }
5468 ]);
5469 //# sourceMappingURL=frontend-modules.js.map