PluginProbe
Elementor Website Builder – more than just a page builder / 3.13.2
Elementor Website Builder – more than just a page builder v3.13.2
4.3.0-beta3 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 All 452 releases
← All changes | assets/js/frontend.js +867 -503 4.1.0-dev23.13.2 View file →
@@ -1,6 +1,6 @@
1 -"use strict";
2 -(self["webpackChunkelementorFrontend"] = self["webpackChunkelementorFrontend"] || []).push([["frontend"],{
1 +/*! elementor - v3.13.2 - 11-05-2023 */
2 +(self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["frontend"],{
3 3
4 4 /***/ "../assets/dev/js/frontend/documents-manager.js":
5 5 /*!******************************************************!*\
6 6 !*** ../assets/dev/js/frontend/documents-manager.js ***!
@@ -6,8 +6,9 @@
6 6 !*** ../assets/dev/js/frontend/documents-manager.js ***!
7 7 \******************************************************/
8 8 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9 9
10 +"use strict";
10 11
11 12
12 13 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13 14 Object.defineProperty(exports, "__esModule", ({
@@ -15,10 +16,10 @@
15 16 }));
16 17 exports["default"] = void 0;
17 18 var _document = _interopRequireDefault(__webpack_require__(/*! ./document */ "../assets/dev/js/frontend/document.js"));
18 19 class _default extends elementorModules.ViewModule {
19 - constructor(...args) {
20 - super(...args);
20 + constructor() {
21 + super(...arguments);
21 22 this.documents = {};
22 23 this.initDocumentClasses();
23 24 this.attachDocumentsClasses();
24 25 }
@@ -67,20 +68,25 @@
67 68 !*** ../assets/dev/js/frontend/elements-handlers-manager.js ***!
68 69 \**************************************************************/
69 70 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
70 71
72 +"use strict";
71 73
72 74
73 75 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
74 -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
75 -__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
76 76 var _global = _interopRequireDefault(__webpack_require__(/*! ./handlers/global */ "../assets/dev/js/frontend/handlers/global.js"));
77 +var _background = _interopRequireDefault(__webpack_require__(/*! ./handlers/background */ "../assets/dev/js/frontend/handlers/background.js"));
77 78 var _container = _interopRequireDefault(__webpack_require__(/*! ./handlers/container/container */ "../assets/dev/js/frontend/handlers/container/container.js"));
78 -var _section = _interopRequireDefault(__webpack_require__(/*! ./handlers/section/section */ "../assets/dev/js/frontend/handlers/section/section.js"));
79 79 var _column = _interopRequireDefault(__webpack_require__(/*! ./handlers/column */ "../assets/dev/js/frontend/handlers/column.js"));
80 +var _handlesPosition = _interopRequireDefault(__webpack_require__(/*! ./handlers/section/handles-position */ "../assets/dev/js/frontend/handlers/section/handles-position.js"));
81 +var _stretchedSection = _interopRequireDefault(__webpack_require__(/*! ./handlers/section/stretched-section */ "../assets/dev/js/frontend/handlers/section/stretched-section.js"));
82 +var _shapes = _interopRequireDefault(__webpack_require__(/*! ./handlers/section/shapes */ "../assets/dev/js/frontend/handlers/section/shapes.js"));
83 +// Section handlers.
84 +
80 85 /* global elementorFrontendConfig */
81 86
82 87 module.exports = function ($) {
88 + var _this = this;
83 89 const handlersInstances = {};
84 90 this.elementsHandlers = {
85 91 'accordion.default': () => __webpack_require__.e(/*! import() | accordion */ "accordion").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/accordion */ "../assets/dev/js/frontend/handlers/accordion.js")),
86 92 'alert.default': () => __webpack_require__.e(/*! import() | alert */ "alert").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/alert */ "../assets/dev/js/frontend/handlers/alert.js")),
@@ -90,25 +96,25 @@
90 96 'toggle.default': () => __webpack_require__.e(/*! import() | toggle */ "toggle").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/toggle */ "../assets/dev/js/frontend/handlers/toggle.js")),
91 97 'video.default': () => __webpack_require__.e(/*! import() | video */ "video").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/video */ "../assets/dev/js/frontend/handlers/video.js")),
92 98 'image-carousel.default': () => __webpack_require__.e(/*! import() | image-carousel */ "image-carousel").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/image-carousel */ "../assets/dev/js/frontend/handlers/image-carousel.js")),
93 99 'text-editor.default': () => __webpack_require__.e(/*! import() | text-editor */ "text-editor").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/text-editor */ "../assets/dev/js/frontend/handlers/text-editor.js")),
94 - 'wp-widget-media_audio.default': () => __webpack_require__.e(/*! import() | wp-audio */ "wp-audio").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/wp-audio */ "../assets/dev/js/frontend/handlers/wp-audio.js")),
95 - container: _container.default,
96 - section: _section.default,
97 - column: _column.default
100 + 'wp-widget-media_audio.default': () => __webpack_require__.e(/*! import() | wp-audio */ "wp-audio").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/wp-audio */ "../assets/dev/js/frontend/handlers/wp-audio.js"))
98 101 };
99 102 if (elementorFrontendConfig.experimentalFeatures['nested-elements']) {
100 - this.elementsHandlers['nested-tabs.default'] = () => __webpack_require__.e(/*! import() | nested-tabs */ "nested-tabs").then(__webpack_require__.bind(__webpack_require__, /*! elementor/modules/nested-tabs/assets/js/frontend/handlers/nested-tabs */ "../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js"));
103 + this.elementsHandlers['nested-tabs.default'] = () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! elementor/modules/nested-tabs/assets/js/frontend/handlers/nested-tabs */ "../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js"));
101 104 }
102 - if (elementorFrontendConfig.experimentalFeatures['nested-elements']) {
103 - this.elementsHandlers['nested-accordion.default'] = () => __webpack_require__.e(/*! import() | nested-accordion */ "nested-accordion").then(__webpack_require__.bind(__webpack_require__, /*! elementor/modules/nested-accordion/assets/js/frontend/handlers/nested-accordion */ "../modules/nested-accordion/assets/js/frontend/handlers/nested-accordion.js"));
104 - }
105 - if (elementorFrontendConfig.experimentalFeatures.container) {
106 - this.elementsHandlers['contact-buttons.default'] = () => __webpack_require__.e(/*! import() | contact-buttons */ "contact-buttons").then(__webpack_require__.bind(__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"));
107 - this.elementsHandlers['floating-bars-var-1.default'] = () => __webpack_require__.e(/*! import() | floating-bars */ "floating-bars").then(__webpack_require__.bind(__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"));
108 - }
109 105 const addGlobalHandlers = () => elementorFrontend.hooks.addAction('frontend/element_ready/global', _global.default);
110 106 const addElementsHandlers = () => {
107 + this.elementsHandlers.section = [_stretchedSection.default,
108 + // Must run before background handlers to init the slideshow only after the stretch.
109 + ..._background.default, _handlesPosition.default, _shapes.default];
110 + this.elementsHandlers.container = [..._background.default];
111 +
112 + // Add editor-only handlers.
113 + if (elementorFrontend.isEditMode()) {
114 + this.elementsHandlers.container.push(..._container.default);
115 + }
116 + this.elementsHandlers.column = _column.default;
111 117 $.each(this.elementsHandlers, (elementName, Handlers) => {
112 118 const elementData = elementName.split('.');
113 119 elementName = elementData[0];
114 120 const skin = elementData[1] || null;
@@ -115,14 +121,15 @@
115 121 this.attachHandler(elementName, Handlers, skin);
116 122 });
117 123 };
118 124 const isClassHandler = Handler => Handler.prototype?.getUniqueHandlerID;
119 - const addHandlerWithHook = (elementBaseName, Handler, skin = 'default') => {
125 + const addHandlerWithHook = function (elementBaseName, Handler) {
126 + let skin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
120 127 skin = skin ? '.' + skin : '';
121 128 const elementName = elementBaseName + skin;
122 129 elementorFrontend.hooks.addAction(`frontend/element_ready/${elementName}`, $element => {
123 130 if (isClassHandler(Handler)) {
124 - this.addHandler(Handler, {
131 + _this.addHandler(Handler, {
125 132 $element,
126 133 elementName
127 134 }, true);
128 135 } else {
@@ -130,18 +137,19 @@
130 137 if (!handlerValue) {
131 138 return;
132 139 }
133 140 if (handlerValue instanceof Promise) {
134 - handlerValue.then(({
135 - default: dynamicHandler
136 - }) => {
137 - this.addHandler(dynamicHandler, {
141 + handlerValue.then(_ref => {
142 + let {
143 + default: dynamicHandler
144 + } = _ref;
145 + _this.addHandler(dynamicHandler, {
138 146 $element,
139 147 elementName
140 148 }, true);
141 149 });
142 150 } else {
143 - this.addHandler(handlerValue, {
151 + _this.addHandler(handlerValue, {
144 152 $element,
145 153 elementName
146 154 }, true);
147 155 }
@@ -180,20 +188,16 @@
180 188 if (isClassHandler(elementHandler)) {
181 189 return elementHandler;
182 190 }
183 191 return new Promise(res => {
184 - elementHandler().then(({
185 - default: dynamicHandler
186 - }) => {
192 + elementHandler().then(_ref2 => {
193 + let {
194 + default: dynamicHandler
195 + } = _ref2;
187 196 res(dynamicHandler);
188 197 });
189 198 });
190 199 };
191 -
192 - /**
193 - * @param {string} handlerName
194 - * @deprecated since 3.1.0, use `elementorFrontend.elementsHandler.getHandler` instead.
195 - */
196 200 this.getHandlers = function (handlerName) {
197 201 elementorDevTools.deprecation.deprecated('getHandlers', '3.1.0', 'elementorFrontend.elementsHandler.getHandler');
198 202 if (handlerName) {
199 203 return this.getHandler(handlerName);
@@ -200,10 +204,9 @@
200 204 }
201 205 return this.elementsHandlers;
202 206 };
203 207 this.runReadyTrigger = function (scope) {
204 - const isDelayChildHandlers = !!scope.closest('[data-delay-child-handlers="true"]') && 0 !== scope.closest('[data-delay-child-handlers="true"]').length;
205 - if (elementorFrontend.config.is_static || isDelayChildHandlers) {
208 + if (elementorFrontend.config.is_static) {
206 209 return;
207 210 }
208 211
209 212 // Initializing the `$scope` as frontend jQuery instance
@@ -232,8 +235,9 @@
232 235 !*** ../assets/dev/js/frontend/frontend.js ***!
233 236 \*********************************************/
234 237 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
235 238
239 +"use strict";
236 240
237 241
238 242 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
239 243 Object.defineProperty(exports, "__esModule", ({
@@ -239,11 +243,8 @@
239 243 Object.defineProperty(exports, "__esModule", ({
240 244 value: true
241 245 }));
242 246 exports["default"] = void 0;
243 -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
244 -__webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "../node_modules/core-js/modules/esnext.iterator.find.js");
245 -__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
246 247 __webpack_require__(/*! ../public-path */ "../assets/dev/js/public-path.js");
247 248 var _documentsManager = _interopRequireDefault(__webpack_require__(/*! ./documents-manager */ "../assets/dev/js/frontend/documents-manager.js"));
248 249 var _storage = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/storage */ "../core/common/assets/js/utils/storage.js"));
249 250 var _environment = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/environment */ "../core/common/assets/js/utils/environment.js"));
@@ -257,35 +258,30 @@
257 258 var _breakpoints = _interopRequireDefault(__webpack_require__(/*! elementor-utils/breakpoints */ "../assets/dev/js/utils/breakpoints.js"));
258 259 var _events = _interopRequireDefault(__webpack_require__(/*! elementor-utils/events */ "../assets/dev/js/utils/events.js"));
259 260 var _frontend = _interopRequireDefault(__webpack_require__(/*! elementor/modules/shapes/assets/js/frontend/frontend */ "../modules/shapes/assets/js/frontend/frontend.js"));
260 261 var _controls = _interopRequireDefault(__webpack_require__(/*! ./utils/controls */ "../assets/dev/js/frontend/utils/controls.js"));
261 -var _anchorScrollMargin = _interopRequireDefault(__webpack_require__(/*! ./utils/anchor-scroll-margin */ "../assets/dev/js/frontend/utils/anchor-scroll-margin.js"));
262 262 var _utils = __webpack_require__(/*! elementor-frontend/utils/utils */ "../assets/dev/js/frontend/utils/utils.js");
263 263 /* global elementorFrontendConfig */
264 264
265 265 const EventManager = __webpack_require__(/*! elementor-utils/hooks */ "../assets/dev/js/utils/hooks.js"),
266 - ElementsHandler = __webpack_require__(/*! elementor-frontend/elements-handlers-manager */ "../assets/dev/js/frontend/elements-handlers-manager.js");
266 + ElementsHandler = __webpack_require__(/*! elementor-frontend/elements-handlers-manager */ "../assets/dev/js/frontend/elements-handlers-manager.js"),
267 + AnchorsModule = __webpack_require__(/*! elementor-frontend/utils/anchors */ "../assets/dev/js/frontend/utils/anchors.js");
267 268 class Frontend extends elementorModules.ViewModule {
268 - constructor(...args) {
269 - super(...args);
269 + constructor() {
270 + super(...arguments);
270 271 this.config = elementorFrontendConfig;
271 272 this.config.legacyMode = {
272 - /**
273 - * @deprecated since 3.1.0
274 - */
275 273 get elementWrappers() {
276 274 if (elementorFrontend.isEditMode()) {
277 - window.top.elementorDevTools.deprecation.deprecated('elementorFrontend.config.legacyMode.elementWrappers', '3.1.0');
275 + window.top.elementorDevTools.deprecation.deprecated('elementorFrontend.config.legacyMode.elementWrappers', '3.1.0', 'elementorFrontend.config.experimentalFeatures.e_dom_optimization');
278 276 }
279 - return false;
277 + return !elementorFrontend.config.experimentalFeatures.e_dom_optimization;
280 278 }
281 279 };
282 280 this.populateActiveBreakpointsConfig();
283 281 }
284 282
285 - /**
286 - * @deprecated since 2.5.0, use `elementorModules.frontend.handlers.Base` instead.
287 - */
283 + // TODO: BC since 2.5.0
288 284 get Module() {
289 285 if (this.isEditMode()) {
290 286 parent.elementorDevTools.deprecation.deprecated('elementorFrontend.Module', '2.5.0', 'elementorModules.frontend.handlers.Base');
291 287 }
@@ -319,9 +315,9 @@
319 315 }
320 316
321 317 /**
322 318 * @param {string} elementName
323 - * @deprecated since 2.4.0, use `this.elements` instead.
319 + * @deprecated 2.4.0 Use just `this.elements` instead
324 320 */
325 321 getElements(elementName) {
326 322 return this.getItems(this.elements, elementName);
327 323 }
@@ -327,22 +323,17 @@
327 323 }
328 324
329 325 /**
330 326 * @param {string} settingName
331 - * @deprecated since 2.4.0, this method was never in use.
327 + * @deprecated 2.4.0 This method was never in use
332 328 */
333 329 getPageSettings(settingName) {
334 330 const settingsObject = this.isEditMode() ? elementor.settings.page.model.attributes : this.config.settings.page;
335 331 return this.getItems(settingsObject, settingName);
336 332 }
337 -
338 - /**
339 - * @param {string} settingName
340 - * @deprecated since 3.0.0, use `getKitSettings()` instead and remove the `elementor_` prefix.
341 - */
342 333 getGeneralSettings(settingName) {
343 334 if (this.isEditMode()) {
344 - parent.elementorDevTools.deprecation.deprecated('getGeneralSettings()', '3.0.0', 'getKitSettings() and remove the `elementor_` prefix');
335 + parent.elementorDevTools.deprecation.deprecated('getGeneralSettings', '3.0.0', 'getKitSettings and remove the `elementor_` prefix');
345 336 }
346 337 return this.getKitSettings(`elementor_${settingName}`);
347 338 }
348 339 getKitSettings(settingName) {
@@ -411,8 +402,9 @@
411 402 this.utils = {
412 403 youtube: new _youtubeLoader.default(),
413 404 vimeo: new _vimeoLoader.default(),
414 405 baseVideoLoader: new _baseLoader.default(),
406 + anchors: new AnchorsModule(),
415 407 get lightbox() {
416 408 return _lightboxManager.default.getLightbox();
417 409 },
418 410 urlActions: new _urlActions.default(),
@@ -420,10 +412,9 @@
420 412 environment: _environment.default,
421 413 assetsLoader: new _assetsLoader.default(),
422 414 escapeHTML: _utils.escapeHTML,
423 415 events: _events.default,
424 - controls: new _controls.default(),
425 - anchor_scroll_margin: new _anchorScrollMargin.default()
416 + controls: new _controls.default()
426 417 };
427 418
428 419 // TODO: BC since 2.4.0
429 420 this.modules = {
@@ -495,8 +486,26 @@
495 486 func.apply(context, args);
496 487 }
497 488 };
498 489 }
490 + waypoint($element, callback, options) {
491 + const defaultOptions = {
492 + offset: '100%',
493 + triggerOnce: true
494 + };
495 + options = jQuery.extend(defaultOptions, options);
496 + const correctCallback = function () {
497 + const element = this.element || this,
498 + result = callback.apply(element, arguments);
499 +
500 + // If is Waypoint new API and is frontend
501 + if (options.triggerOnce && this.destroy) {
502 + this.destroy();
503 + }
504 + return result;
505 + };
506 + return $element.elementorWaypoint(correctCallback, options);
507 + }
499 508 muteMigrationTraces() {
500 509 jQuery.migrateMute = true;
501 510 jQuery.migrateTrace = false;
502 511 }
@@ -513,15 +522,17 @@
513 522 elementorFrontend.trigger('elementor/modules/init:before');
514 523
515 524 // TODO: Use this instead.
516 525 elementorFrontend.trigger('elementor/modules/init/before');
517 - Object.entries(handlers).forEach(([moduleName, ModuleClass]) => {
526 + Object.entries(handlers).forEach(_ref => {
527 + let [moduleName, ModuleClass] = _ref;
518 528 this.modulesHandlers[moduleName] = new ModuleClass();
519 529 });
520 530 }
521 531 populateActiveBreakpointsConfig() {
522 532 this.config.responsive.activeBreakpoints = {};
523 - Object.entries(this.config.responsive.breakpoints).forEach(([breakpointKey, breakpointData]) => {
533 + Object.entries(this.config.responsive.breakpoints).forEach(_ref2 => {
534 + let [breakpointKey, breakpointData] = _ref2;
524 535 if (breakpointData.is_enabled) {
525 536 this.config.responsive.activeBreakpoints[breakpointKey] = breakpointData;
526 537 }
527 538 });
@@ -558,62 +569,503 @@
558 569 }
559 570
560 571 /***/ }),
561 572
562 -/***/ "../assets/dev/js/frontend/handlers/column.js":
563 -/*!****************************************************!*\
564 - !*** ../assets/dev/js/frontend/handlers/column.js ***!
565 - \****************************************************/
573 +/***/ "../assets/dev/js/frontend/handlers/background-slideshow.js":
574 +/*!******************************************************************!*\
575 + !*** ../assets/dev/js/frontend/handlers/background-slideshow.js ***!
576 + \******************************************************************/
577 +/***/ ((__unused_webpack_module, exports) => {
578 +
579 +"use strict";
580 +
581 +
582 +Object.defineProperty(exports, "__esModule", ({
583 + value: true
584 +}));
585 +exports["default"] = void 0;
586 +class BackgroundSlideshow extends elementorModules.frontend.handlers.SwiperBase {
587 + getDefaultSettings() {
588 + return {
589 + classes: {
590 + swiperContainer: `elementor-background-slideshow ${elementorFrontend.config.swiperClass}`,
591 + swiperWrapper: 'swiper-wrapper',
592 + swiperSlide: 'elementor-background-slideshow__slide swiper-slide',
593 + swiperPreloader: 'swiper-lazy-preloader',
594 + slideBackground: 'elementor-background-slideshow__slide__image',
595 + kenBurns: 'elementor-ken-burns',
596 + kenBurnsActive: 'elementor-ken-burns--active',
597 + kenBurnsIn: 'elementor-ken-burns--in',
598 + kenBurnsOut: 'elementor-ken-burns--out'
599 + }
600 + };
601 + }
602 + getSwiperOptions() {
603 + const elementSettings = this.getElementSettings(),
604 + swiperOptions = {
605 + grabCursor: false,
606 + slidesPerView: 1,
607 + slidesPerGroup: 1,
608 + loop: 'yes' === elementSettings.background_slideshow_loop,
609 + speed: elementSettings.background_slideshow_transition_duration,
610 + autoplay: {
611 + delay: elementSettings.background_slideshow_slide_duration,
612 + stopOnLastSlide: !elementSettings.background_slideshow_loop
613 + },
614 + handleElementorBreakpoints: true,
615 + on: {
616 + slideChange: () => {
617 + if (elementSettings.background_slideshow_ken_burns) {
618 + this.handleKenBurns();
619 + }
620 + }
621 + }
622 + };
623 + if ('yes' === elementSettings.background_slideshow_loop) {
624 + swiperOptions.loopedSlides = this.getSlidesCount();
625 + }
626 + switch (elementSettings.background_slideshow_slide_transition) {
627 + case 'fade':
628 + swiperOptions.effect = 'fade';
629 + swiperOptions.fadeEffect = {
630 + crossFade: true
631 + };
632 + break;
633 + case 'slide_down':
634 + swiperOptions.autoplay.reverseDirection = true;
635 + swiperOptions.direction = 'vertical';
636 + break;
637 + case 'slide_up':
638 + swiperOptions.direction = 'vertical';
639 + break;
640 + }
641 + if ('yes' === elementSettings.background_slideshow_lazyload) {
642 + swiperOptions.lazy = {
643 + loadPrevNext: true,
644 + loadPrevNextAmount: 1
645 + };
646 + }
647 + return swiperOptions;
648 + }
649 + buildSwiperElements() {
650 + const classes = this.getSettings('classes'),
651 + elementSettings = this.getElementSettings(),
652 + direction = 'slide_left' === elementSettings.background_slideshow_slide_transition ? 'ltr' : 'rtl',
653 + $container = jQuery('<div>', {
654 + class: classes.swiperContainer,
655 + dir: direction
656 + }),
657 + $wrapper = jQuery('<div>', {
658 + class: classes.swiperWrapper
659 + }),
660 + kenBurnsActive = elementSettings.background_slideshow_ken_burns,
661 + lazyload = 'yes' === elementSettings.background_slideshow_lazyload;
662 + let slideInnerClass = classes.slideBackground;
663 + if (kenBurnsActive) {
664 + slideInnerClass += ' ' + classes.kenBurns;
665 + const kenBurnsDirection = 'in' === elementSettings.background_slideshow_ken_burns_zoom_direction ? 'kenBurnsIn' : 'kenBurnsOut';
666 + slideInnerClass += ' ' + classes[kenBurnsDirection];
667 + }
668 + if (lazyload) {
669 + slideInnerClass += ' swiper-lazy';
670 + }
671 + this.elements.$slides = jQuery();
672 + elementSettings.background_slideshow_gallery.forEach(slide => {
673 + const $slide = jQuery('<div>', {
674 + class: classes.swiperSlide
675 + });
676 + let $slidebg;
677 + if (lazyload) {
678 + const $slideloader = jQuery('<div>', {
679 + class: classes.swiperPreloader
680 + });
681 + $slidebg = jQuery('<div>', {
682 + class: slideInnerClass,
683 + 'data-background': slide.url
684 + });
685 + $slidebg.append($slideloader);
686 + } else {
687 + $slidebg = jQuery('<div>', {
688 + class: slideInnerClass,
689 + style: 'background-image: url("' + slide.url + '");'
690 + });
691 + }
692 + $slide.append($slidebg);
693 + $wrapper.append($slide);
694 + this.elements.$slides = this.elements.$slides.add($slide);
695 + });
696 + $container.append($wrapper);
697 + this.$element.prepend($container);
698 + this.elements.$backgroundSlideShowContainer = $container;
699 + }
700 + async initSlider() {
701 + if (1 >= this.getSlidesCount()) {
702 + return;
703 + }
704 + const elementSettings = this.getElementSettings();
705 + const Swiper = elementorFrontend.utils.swiper;
706 + this.swiper = await new Swiper(this.elements.$backgroundSlideShowContainer, this.getSwiperOptions());
707 +
708 + // Expose the swiper instance in the frontend
709 + this.elements.$backgroundSlideShowContainer.data('swiper', this.swiper);
710 + if (elementSettings.background_slideshow_ken_burns) {
711 + this.handleKenBurns();
712 + }
713 + }
714 + activate() {
715 + this.buildSwiperElements();
716 + this.initSlider();
717 + }
718 + deactivate() {
719 + if (this.swiper) {
720 + this.swiper.destroy();
721 + this.elements.$backgroundSlideShowContainer.remove();
722 + }
723 + }
724 + run() {
725 + if ('slideshow' === this.getElementSettings('background_background')) {
726 + this.activate();
727 + } else {
728 + this.deactivate();
729 + }
730 + }
731 + onInit() {
732 + super.onInit();
733 + if (this.getElementSettings('background_slideshow_gallery')) {
734 + this.run();
735 + }
736 + }
737 + onDestroy() {
738 + super.onDestroy();
739 + this.deactivate();
740 + }
741 + onElementChange(propertyName) {
742 + if ('background_background' === propertyName) {
743 + this.run();
744 + }
745 + }
746 +}
747 +exports["default"] = BackgroundSlideshow;
748 +
749 +/***/ }),
750 +
751 +/***/ "../assets/dev/js/frontend/handlers/background-video.js":
752 +/*!**************************************************************!*\
753 + !*** ../assets/dev/js/frontend/handlers/background-video.js ***!
754 + \**************************************************************/
755 +/***/ ((__unused_webpack_module, exports) => {
756 +
757 +"use strict";
758 +
759 +
760 +Object.defineProperty(exports, "__esModule", ({
761 + value: true
762 +}));
763 +exports["default"] = void 0;
764 +class BackgroundVideo extends elementorModules.frontend.handlers.Base {
765 + getDefaultSettings() {
766 + return {
767 + selectors: {
768 + backgroundVideoContainer: '.elementor-background-video-container',
769 + backgroundVideoEmbed: '.elementor-background-video-embed',
770 + backgroundVideoHosted: '.elementor-background-video-hosted'
771 + }
772 + };
773 + }
774 + getDefaultElements() {
775 + const selectors = this.getSettings('selectors'),
776 + elements = {
777 + $backgroundVideoContainer: this.$element.find(selectors.backgroundVideoContainer)
778 + };
779 + elements.$backgroundVideoEmbed = elements.$backgroundVideoContainer.children(selectors.backgroundVideoEmbed);
780 + elements.$backgroundVideoHosted = elements.$backgroundVideoContainer.children(selectors.backgroundVideoHosted);
781 + return elements;
782 + }
783 + calcVideosSize($video) {
784 + let aspectRatioSetting = '16:9';
785 + if ('vimeo' === this.videoType) {
786 + aspectRatioSetting = $video[0].width + ':' + $video[0].height;
787 + }
788 + const containerWidth = this.elements.$backgroundVideoContainer.outerWidth(),
789 + containerHeight = this.elements.$backgroundVideoContainer.outerHeight(),
790 + aspectRatioArray = aspectRatioSetting.split(':'),
791 + aspectRatio = aspectRatioArray[0] / aspectRatioArray[1],
792 + ratioWidth = containerWidth / aspectRatio,
793 + ratioHeight = containerHeight * aspectRatio,
794 + isWidthFixed = containerWidth / containerHeight > aspectRatio;
795 + return {
796 + width: isWidthFixed ? containerWidth : ratioHeight,
797 + height: isWidthFixed ? ratioWidth : containerHeight
798 + };
799 + }
800 + changeVideoSize() {
801 + if (!('hosted' === this.videoType) && !this.player) {
802 + return;
803 + }
804 + let $video;
805 + if ('youtube' === this.videoType) {
806 + $video = jQuery(this.player.getIframe());
807 + } else if ('vimeo' === this.videoType) {
808 + $video = jQuery(this.player.element);
809 + } else if ('hosted' === this.videoType) {
810 + $video = this.elements.$backgroundVideoHosted;
811 + }
812 + if (!$video) {
813 + return;
814 + }
815 + const size = this.calcVideosSize($video);
816 + $video.width(size.width).height(size.height);
817 + }
818 + startVideoLoop(firstTime) {
819 + // If the section has been removed
820 + if (!this.player.getIframe().contentWindow) {
821 + return;
822 + }
823 + const elementSettings = this.getElementSettings(),
824 + startPoint = elementSettings.background_video_start || 0,
825 + endPoint = elementSettings.background_video_end;
826 + if (elementSettings.background_play_once && !firstTime) {
827 + this.player.stopVideo();
828 + return;
829 + }
830 + this.player.seekTo(startPoint);
831 + if (endPoint) {
832 + const durationToEnd = endPoint - startPoint + 1;
833 + setTimeout(() => {
834 + this.startVideoLoop(false);
835 + }, durationToEnd * 1000);
836 + }
837 + }
838 + prepareVimeoVideo(Vimeo, videoLink) {
839 + const elementSettings = this.getElementSettings(),
840 + videoSize = this.elements.$backgroundVideoContainer.outerWidth(),
841 + vimeoOptions = {
842 + url: videoLink,
843 + width: videoSize.width,
844 + autoplay: true,
845 + loop: !elementSettings.background_play_once,
846 + transparent: false,
847 + background: true,
848 + muted: true
849 + };
850 + if (elementSettings.background_privacy_mode) {
851 + vimeoOptions.dnt = true;
852 + }
853 + this.player = new Vimeo.Player(this.elements.$backgroundVideoContainer, vimeoOptions);
854 +
855 + // Handle user-defined start/end times
856 + this.handleVimeoStartEndTimes(elementSettings);
857 + this.player.ready().then(() => {
858 + jQuery(this.player.element).addClass('elementor-background-video-embed');
859 + this.changeVideoSize();
860 + });
861 + }
862 + handleVimeoStartEndTimes(elementSettings) {
863 + // If a start time is defined, set the start time
864 + if (elementSettings.background_video_start) {
865 + this.player.on('play', data => {
866 + if (0 === data.seconds) {
867 + this.player.setCurrentTime(elementSettings.background_video_start);
868 + }
869 + });
870 + }
871 + this.player.on('timeupdate', data => {
872 + // If an end time is defined, handle ending the video
873 + if (elementSettings.background_video_end && elementSettings.background_video_end < data.seconds) {
874 + if (elementSettings.background_play_once) {
875 + // Stop at user-defined end time if not loop
876 + this.player.pause();
877 + } else {
878 + // Go to start time if loop
879 + this.player.setCurrentTime(elementSettings.background_video_start);
880 + }
881 + }
882 +
883 + // If start time is defined but an end time is not, go to user-defined start time at video end.
884 + // Vimeo JS API has an 'ended' event, but it never fires when infinite loop is defined, so we
885 + // get the video duration (returns a promise) then use duration-0.5s as end time
886 + this.player.getDuration().then(duration => {
887 + if (elementSettings.background_video_start && !elementSettings.background_video_end && data.seconds > duration - 0.5) {
888 + this.player.setCurrentTime(elementSettings.background_video_start);
889 + }
890 + });
891 + });
892 + }
893 + prepareYTVideo(YT, videoID) {
894 + const $backgroundVideoContainer = this.elements.$backgroundVideoContainer,
895 + elementSettings = this.getElementSettings();
896 + let startStateCode = YT.PlayerState.PLAYING;
897 +
898 + // Since version 67, Chrome doesn't fire the `PLAYING` state at start time
899 + if (window.chrome) {
900 + startStateCode = YT.PlayerState.UNSTARTED;
901 + }
902 + const playerOptions = {
903 + videoId: videoID,
904 + events: {
905 + onReady: () => {
906 + this.player.mute();
907 + this.changeVideoSize();
908 + this.startVideoLoop(true);
909 + this.player.playVideo();
910 + },
911 + onStateChange: event => {
912 + switch (event.data) {
913 + case startStateCode:
914 + $backgroundVideoContainer.removeClass('elementor-invisible elementor-loading');
915 + break;
916 + case YT.PlayerState.ENDED:
917 + if ('function' === typeof this.player.seekTo) {
918 + this.player.seekTo(elementSettings.background_video_start || 0);
919 + }
920 + if (elementSettings.background_play_once) {
921 + this.player.destroy();
922 + }
923 + }
924 + }
925 + },
926 + playerVars: {
927 + controls: 0,
928 + rel: 0,
929 + playsinline: 1
930 + }
931 + };
932 +
933 + // To handle CORS issues, when the default host is changed, the origin parameter has to be set.
934 + if (elementSettings.background_privacy_mode) {
935 + playerOptions.host = 'https://www.youtube-nocookie.com';
936 + playerOptions.origin = window.location.hostname;
937 + }
938 + $backgroundVideoContainer.addClass('elementor-loading elementor-invisible');
939 + this.player = new YT.Player(this.elements.$backgroundVideoEmbed[0], playerOptions);
940 + }
941 + activate() {
942 + let videoLink = this.getElementSettings('background_video_link'),
943 + videoID;
944 + const playOnce = this.getElementSettings('background_play_once');
945 + if (-1 !== videoLink.indexOf('vimeo.com')) {
946 + this.videoType = 'vimeo';
947 + this.apiProvider = elementorFrontend.utils.vimeo;
948 + } else if (videoLink.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/)) {
949 + this.videoType = 'youtube';
950 + this.apiProvider = elementorFrontend.utils.youtube;
951 + }
952 + if (this.apiProvider) {
953 + videoID = this.apiProvider.getVideoIDFromURL(videoLink);
954 + this.apiProvider.onApiReady(apiObject => {
955 + if ('youtube' === this.videoType) {
956 + this.prepareYTVideo(apiObject, videoID);
957 + }
958 + if ('vimeo' === this.videoType) {
959 + this.prepareVimeoVideo(apiObject, videoLink);
960 + }
961 + });
962 + } else {
963 + this.videoType = 'hosted';
964 + const startTime = this.getElementSettings('background_video_start'),
965 + endTime = this.getElementSettings('background_video_end');
966 + if (startTime || endTime) {
967 + videoLink += '#t=' + (startTime || 0) + (endTime ? ',' + endTime : '');
968 + }
969 + this.elements.$backgroundVideoHosted.attr('src', videoLink).one('canplay', this.changeVideoSize.bind(this));
970 + if (playOnce) {
971 + this.elements.$backgroundVideoHosted.on('ended', () => {
972 + this.elements.$backgroundVideoHosted.hide();
973 + });
974 + }
975 + }
976 + elementorFrontend.elements.$window.on('resize', this.changeVideoSize);
977 + }
978 + deactivate() {
979 + if ('youtube' === this.videoType && this.player.getIframe() || 'vimeo' === this.videoType) {
980 + this.player.destroy();
981 + } else {
982 + this.elements.$backgroundVideoHosted.removeAttr('src').off('ended');
983 + }
984 + elementorFrontend.elements.$window.off('resize', this.changeVideoSize);
985 + }
986 + run() {
987 + const elementSettings = this.getElementSettings();
988 + if (!elementSettings.background_play_on_mobile && 'mobile' === elementorFrontend.getCurrentDeviceMode()) {
989 + return;
990 + }
991 + if ('video' === elementSettings.background_background && elementSettings.background_video_link) {
992 + this.activate();
993 + } else {
994 + this.deactivate();
995 + }
996 + }
997 + onInit() {
998 + super.onInit(...arguments);
999 + this.changeVideoSize = this.changeVideoSize.bind(this);
1000 + this.run();
1001 + }
1002 + onElementChange(propertyName) {
1003 + if ('background_background' === propertyName) {
1004 + this.run();
1005 + }
1006 + }
1007 +}
1008 +exports["default"] = BackgroundVideo;
1009 +
1010 +/***/ }),
1011 +
1012 +/***/ "../assets/dev/js/frontend/handlers/background.js":
1013 +/*!********************************************************!*\
1014 + !*** ../assets/dev/js/frontend/handlers/background.js ***!
1015 + \********************************************************/
566 1016 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
567 1017
1018 +"use strict";
568 1019
569 1020
1021 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
570 1022 Object.defineProperty(exports, "__esModule", ({
571 1023 value: true
572 1024 }));
573 1025 exports["default"] = void 0;
574 -var _default = exports["default"] = [() => __webpack_require__.e(/*! import() | shared-frontend-handlers */ "shared-frontend-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ./background-slideshow */ "../assets/dev/js/frontend/handlers/background-slideshow.js"))];
1026 +var _backgroundSlideshow = _interopRequireDefault(__webpack_require__(/*! ./background-slideshow */ "../assets/dev/js/frontend/handlers/background-slideshow.js"));
1027 +var _backgroundVideo = _interopRequireDefault(__webpack_require__(/*! ./background-video */ "../assets/dev/js/frontend/handlers/background-video.js"));
1028 +var _default = [_backgroundSlideshow.default, _backgroundVideo.default];
1029 +exports["default"] = _default;
575 1030
576 1031 /***/ }),
577 1032
578 -/***/ "../assets/dev/js/frontend/handlers/container/container.js":
579 -/*!*****************************************************************!*\
580 - !*** ../assets/dev/js/frontend/handlers/container/container.js ***!
581 - \*****************************************************************/
1033 +/***/ "../assets/dev/js/frontend/handlers/column.js":
1034 +/*!****************************************************!*\
1035 + !*** ../assets/dev/js/frontend/handlers/column.js ***!
1036 + \****************************************************/
582 1037 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
583 1038
1039 +"use strict";
584 1040
585 1041
1042 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
586 1043 Object.defineProperty(exports, "__esModule", ({
587 1044 value: true
588 1045 }));
589 1046 exports["default"] = void 0;
590 -var _createEditorHandler = __webpack_require__(/*! ../create-editor-handler */ "../assets/dev/js/frontend/handlers/create-editor-handler.js");
591 -var _default = exports["default"] = [() => __webpack_require__.e(/*! import() | shared-frontend-handlers */ "shared-frontend-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ../background-slideshow */ "../assets/dev/js/frontend/handlers/background-slideshow.js")), () => __webpack_require__.e(/*! import() | shared-frontend-handlers */ "shared-frontend-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ../background-video */ "../assets/dev/js/frontend/handlers/background-video.js")), (0, _createEditorHandler.createEditorHandler)(() => __webpack_require__.e(/*! import() | shared-editor-handlers */ "shared-editor-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ../handles-position */ "../assets/dev/js/frontend/handlers/handles-position.js"))), (0, _createEditorHandler.createEditorHandler)(() => __webpack_require__.e(/*! import() | container-editor-handlers */ "container-editor-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ./shapes */ "../assets/dev/js/frontend/handlers/container/shapes.js"))), (0, _createEditorHandler.createEditorHandler)(() => __webpack_require__.e(/*! import() | container-editor-handlers */ "container-editor-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ./grid-container */ "../assets/dev/js/frontend/handlers/container/grid-container.js")))];
1047 +var _backgroundSlideshow = _interopRequireDefault(__webpack_require__(/*! ./background-slideshow */ "../assets/dev/js/frontend/handlers/background-slideshow.js"));
1048 +var _default = [_backgroundSlideshow.default];
1049 +exports["default"] = _default;
592 1050
593 1051 /***/ }),
594 1052
595 -/***/ "../assets/dev/js/frontend/handlers/create-editor-handler.js":
596 -/*!*******************************************************************!*\
597 - !*** ../assets/dev/js/frontend/handlers/create-editor-handler.js ***!
598 - \*******************************************************************/
599 -/***/ ((__unused_webpack_module, exports) => {
1053 +/***/ "../assets/dev/js/frontend/handlers/container/container.js":
1054 +/*!*****************************************************************!*\
1055 + !*** ../assets/dev/js/frontend/handlers/container/container.js ***!
1056 + \*****************************************************************/
1057 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
600 1058
1059 +"use strict";
601 1060
602 1061
603 1062 Object.defineProperty(exports, "__esModule", ({
604 1063 value: true
605 1064 }));
606 -exports.createEditorHandler = createEditorHandler;
607 -function createEditorHandler(importer) {
608 - return () => {
609 - return new Promise(resolve => {
610 - if (elementorFrontend.isEditMode()) {
611 - importer().then(resolve);
612 - }
613 - });
614 - };
615 -}
1065 +exports["default"] = void 0;
1066 +var _default = [() => __webpack_require__.e(/*! import() | container */ "container").then(__webpack_require__.bind(__webpack_require__, /*! ./handles-position */ "../assets/dev/js/frontend/handlers/container/handles-position.js")), () => __webpack_require__.e(/*! import() | container */ "container").then(__webpack_require__.bind(__webpack_require__, /*! ./shapes */ "../assets/dev/js/frontend/handlers/container/shapes.js")), () => __webpack_require__.e(/*! import() | container */ "container").then(__webpack_require__.bind(__webpack_require__, /*! ./grid-container */ "../assets/dev/js/frontend/handlers/container/grid-container.js"))];
1067 +exports["default"] = _default;
616 1068
617 1069 /***/ }),
618 1070
619 1071 /***/ "../assets/dev/js/frontend/handlers/global.js":
@@ -621,8 +1073,9 @@
621 1073 !*** ../assets/dev/js/frontend/handlers/global.js ***!
622 1074 \****************************************************/
623 1075 /***/ ((__unused_webpack_module, exports) => {
624 1076
1077 +"use strict";
625 1078
626 1079
627 1080 Object.defineProperty(exports, "__esModule", ({
628 1081 value: true
@@ -652,10 +1105,10 @@
652 1105 }
653 1106 getAnimation() {
654 1107 return this.getCurrentDeviceSetting('animation') || this.getCurrentDeviceSetting('_animation');
655 1108 }
656 - onInit(...args) {
657 - super.onInit(...args);
1109 + onInit() {
1110 + super.onInit(...arguments);
658 1111 if (this.getAnimation()) {
659 1112 const observer = elementorModules.utils.Scroll.scrollObserver({
660 1113 callback: event => {
661 1114 if (event.isInViewport) {
@@ -681,14 +1134,15 @@
681 1134 exports["default"] = _default;
682 1135
683 1136 /***/ }),
684 1137
685 -/***/ "../assets/dev/js/frontend/handlers/section/section.js":
686 -/*!*************************************************************!*\
687 - !*** ../assets/dev/js/frontend/handlers/section/section.js ***!
688 - \*************************************************************/
689 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1138 +/***/ "../assets/dev/js/frontend/handlers/section/handles-position.js":
1139 +/*!**********************************************************************!*\
1140 + !*** ../assets/dev/js/frontend/handlers/section/handles-position.js ***!
1141 + \**********************************************************************/
1142 +/***/ ((__unused_webpack_module, exports) => {
690 1143
1144 +"use strict";
691 1145
692 1146
693 1147 Object.defineProperty(exports, "__esModule", ({
694 1148 value: true
@@ -693,21 +1147,71 @@
693 1147 Object.defineProperty(exports, "__esModule", ({
694 1148 value: true
695 1149 }));
696 1150 exports["default"] = void 0;
697 -var _createEditorHandler = __webpack_require__(/*! ../create-editor-handler */ "../assets/dev/js/frontend/handlers/create-editor-handler.js");
698 -var _default = exports["default"] = [() => __webpack_require__.e(/*! import() | section-frontend-handlers */ "section-frontend-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ./stretched-section */ "../assets/dev/js/frontend/handlers/section/stretched-section.js")),
699 -// Must run before BackgroundSlideshow to init the slideshow only after the stretch.
700 -() => __webpack_require__.e(/*! import() | shared-frontend-handlers */ "shared-frontend-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ../background-slideshow */ "../assets/dev/js/frontend/handlers/background-slideshow.js")), () => __webpack_require__.e(/*! import() | shared-frontend-handlers */ "shared-frontend-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ../background-video */ "../assets/dev/js/frontend/handlers/background-video.js")), (0, _createEditorHandler.createEditorHandler)(() => __webpack_require__.e(/*! import() | shared-editor-handlers */ "shared-editor-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ../handles-position */ "../assets/dev/js/frontend/handlers/handles-position.js"))), (0, _createEditorHandler.createEditorHandler)(() => __webpack_require__.e(/*! import() | section-editor-handlers */ "section-editor-handlers").then(__webpack_require__.bind(__webpack_require__, /*! ./shapes */ "../assets/dev/js/frontend/handlers/section/shapes.js")))];
1151 +class HandlesPosition extends elementorModules.frontend.handlers.Base {
1152 + isActive() {
1153 + return elementorFrontend.isEditMode();
1154 + }
1155 + isFirstSection() {
1156 + return this.$element[0] === document.querySelector('.elementor-edit-mode .elementor-top-section');
1157 + }
1158 + isOverflowHidden() {
1159 + return 'hidden' === this.$element.css('overflow');
1160 + }
1161 + getOffset() {
1162 + if ('body' === elementor.config.document.container) {
1163 + return this.$element.offset().top;
1164 + }
1165 + const $container = jQuery(elementor.config.document.container);
1166 + return this.$element.offset().top - $container.offset().top;
1167 + }
1168 + setHandlesPosition() {
1169 + const document = elementor.documents.getCurrent();
1170 + if (!document || !document.container.isEditable()) {
1171 + return;
1172 + }
1173 + const insideHandleClass = 'elementor-section--handles-inside';
1174 + if (elementor.settings.page.model.attributes.scroll_snap) {
1175 + this.$element.addClass(insideHandleClass);
1176 + return;
1177 + }
1178 + const isOverflowHidden = this.isOverflowHidden();
1179 + if (!isOverflowHidden && !this.isFirstSection()) {
1180 + return;
1181 + }
1182 + const offset = isOverflowHidden ? 0 : this.getOffset();
1183 + if (offset < 25) {
1184 + this.$element.addClass(insideHandleClass);
1185 + const $handlesElement = this.$element.find('> .elementor-element-overlay > .elementor-editor-section-settings');
1186 + if (offset < -5) {
1187 + $handlesElement.css('top', -offset);
1188 + } else {
1189 + $handlesElement.css('top', '');
1190 + }
1191 + } else {
1192 + this.$element.removeClass(insideHandleClass);
1193 + }
1194 + }
1195 + onInit() {
1196 + if (!this.isActive()) {
1197 + return;
1198 + }
1199 + this.setHandlesPosition();
1200 + this.$element.on('mouseenter', this.setHandlesPosition.bind(this));
1201 + }
1202 +}
1203 +exports["default"] = HandlesPosition;
701 1204
702 1205 /***/ }),
703 1206
704 -/***/ "../assets/dev/js/frontend/utils/anchor-scroll-margin.js":
705 -/*!***************************************************************!*\
706 - !*** ../assets/dev/js/frontend/utils/anchor-scroll-margin.js ***!
707 - \***************************************************************/
708 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1207 +/***/ "../assets/dev/js/frontend/handlers/section/shapes.js":
1208 +/*!************************************************************!*\
1209 + !*** ../assets/dev/js/frontend/handlers/section/shapes.js ***!
1210 + \************************************************************/
1211 +/***/ ((__unused_webpack_module, exports) => {
709 1212
1213 +"use strict";
710 1214
711 1215
712 1216 Object.defineProperty(exports, "__esModule", ({
713 1217 value: true
@@ -712,135 +1216,197 @@
712 1216 Object.defineProperty(exports, "__esModule", ({
713 1217 value: true
714 1218 }));
715 1219 exports["default"] = void 0;
716 -__webpack_require__(/*! core-js/modules/es.array.push.js */ "../node_modules/core-js/modules/es.array.push.js");
717 -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
718 -__webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "../node_modules/core-js/modules/esnext.iterator.filter.js");
719 -__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
720 -class _default extends elementorModules.ViewModule {
1220 +class Shapes extends elementorModules.frontend.handlers.Base {
721 1221 getDefaultSettings() {
722 1222 return {
723 1223 selectors: {
724 - links: '.elementor-element a[href*="#"]',
725 - stickyElements: '.elementor-element.elementor-sticky'
726 - }
1224 + container: '> .elementor-shape-%s'
1225 + },
1226 + svgURL: elementorFrontend.config.urls.assets + 'shapes/'
727 1227 };
728 1228 }
729 - onInit() {
730 - this.observeStickyElements(() => {
731 - this.initializeStickyAndAnchorTracking();
732 - });
1229 + getDefaultElements() {
1230 + const elements = {},
1231 + selectors = this.getSettings('selectors');
1232 + elements.$topContainer = this.$element.find(selectors.container.replace('%s', 'top'));
1233 + elements.$bottomContainer = this.$element.find(selectors.container.replace('%s', 'bottom'));
1234 + return elements;
733 1235 }
734 - observeStickyElements(callback) {
735 - const observer = new MutationObserver(mutationsList => {
736 - for (const mutation of mutationsList) {
737 - if ('childList' === mutation.type || 'attributes' === mutation.type && mutation.target.classList.contains('elementor-sticky')) {
738 - callback();
739 - }
1236 + isActive() {
1237 + return elementorFrontend.isEditMode();
1238 + }
1239 + getSvgURL(shapeType, fileName) {
1240 + let svgURL = this.getSettings('svgURL') + fileName + '.svg';
1241 + if (elementor.config.additional_shapes && shapeType in elementor.config.additional_shapes) {
1242 + svgURL = elementor.config.additional_shapes[shapeType];
1243 + if (-1 < fileName.indexOf('-negative')) {
1244 + svgURL = svgURL.replace('.svg', '-negative.svg');
740 1245 }
741 - });
742 - observer.observe(document.body, {
743 - childList: true,
744 - subtree: true,
745 - attributes: true,
746 - attributeFilter: ['class', 'style']
747 - });
1246 + }
1247 + return svgURL;
748 1248 }
749 - initializeStickyAndAnchorTracking() {
750 - const anchorLinks = this.getAllAnchorLinks();
751 - const stickyElements = this.getAllStickyElements();
752 - const trackedElements = [];
753 - if (!stickyElements.length > 0 && !anchorLinks.length > 0) {
1249 + buildSVG(side) {
1250 + const baseSettingKey = 'shape_divider_' + side,
1251 + shapeType = this.getElementSettings(baseSettingKey),
1252 + $svgContainer = this.elements['$' + side + 'Container'];
1253 + $svgContainer.attr('data-shape', shapeType);
1254 + if (!shapeType) {
1255 + $svgContainer.empty(); // Shape-divider set to 'none'
754 1256 return;
755 1257 }
756 - this.trackStickyElements(stickyElements, trackedElements);
757 - this.trackAnchorLinks(anchorLinks, trackedElements);
758 - this.organizeStickyAndAnchors(trackedElements);
759 - }
760 - trackAnchorLinks(anchorLinks, trackedElements) {
761 - anchorLinks.forEach(element => {
762 - const target = this.getAnchorTarget(element);
763 - const scrollPosition = this.getScrollPosition(target);
764 - trackedElements.push({
765 - element: target,
766 - type: 'anchor',
767 - scrollPosition
768 - });
1258 + let fileName = shapeType;
1259 + if (this.getElementSettings(baseSettingKey + '_negative')) {
1260 + fileName += '-negative';
1261 + }
1262 + const svgURL = this.getSvgURL(shapeType, fileName);
1263 + jQuery.get(svgURL, data => {
1264 + $svgContainer.empty().append(data.childNodes[0]);
769 1265 });
1266 + this.setNegative(side);
770 1267 }
771 - trackStickyElements(stickyElements, trackedElements) {
772 - stickyElements.forEach(element => {
773 - const settings = this.getElementSettings(element);
774 - if (!settings || !settings.sticky_anchor_link_offset) {
775 - return;
776 - }
777 - const {
778 - sticky_anchor_link_offset: scrollMarginTop
779 - } = settings;
780 - if (0 === scrollMarginTop) {
781 - return;
782 - }
783 - const scrollPosition = this.getScrollPosition(element);
784 - trackedElements.push({
785 - scrollMarginTop,
786 - type: 'sticky',
787 - scrollPosition
788 - });
789 - });
1268 + setNegative(side) {
1269 + this.elements['$' + side + 'Container'].attr('data-negative', !!this.getElementSettings('shape_divider_' + side + '_negative'));
790 1270 }
791 - organizeStickyAndAnchors(elements) {
792 - const stickyList = this.filterAndSortElementsByType(elements, 'sticky');
793 - const anchorList = this.filterAndSortElementsByType(elements, 'anchor');
794 - stickyList.forEach((sticky, index) => {
795 - this.defineCurrentStickyRange(sticky, index, stickyList, anchorList);
796 - });
797 - }
798 - defineCurrentStickyRange(sticky, index, stickyList, anchorList) {
799 - const nextStickyScrollPosition = index + 1 < stickyList.length ? stickyList[index + 1].scrollPosition : Infinity;
800 - sticky.anchor = anchorList.filter(anchor => {
801 - const withinRange = anchor.scrollPosition > sticky.scrollPosition && anchor.scrollPosition < nextStickyScrollPosition;
802 - if (withinRange) {
803 - anchor.element.style.scrollMarginTop = `${sticky.scrollMarginTop}px`;
1271 + onInit() {
1272 + if (!this.isActive(this.getSettings())) {
1273 + return;
1274 + }
1275 + super.onInit(...arguments);
1276 + ['top', 'bottom'].forEach(side => {
1277 + if (this.getElementSettings('shape_divider_' + side)) {
1278 + this.buildSVG(side);
804 1279 }
805 - return withinRange;
806 1280 });
807 1281 }
808 - getScrollPosition(element) {
809 - let offsetTop = 0;
810 - while (element) {
811 - offsetTop += element.offsetTop;
812 - element = element.offsetParent;
1282 + onElementChange(propertyName) {
1283 + const shapeChange = propertyName.match(/^shape_divider_(top|bottom)$/);
1284 + if (shapeChange) {
1285 + this.buildSVG(shapeChange[1]);
1286 + return;
813 1287 }
814 - return offsetTop;
1288 + const negativeChange = propertyName.match(/^shape_divider_(top|bottom)_negative$/);
1289 + if (negativeChange) {
1290 + this.buildSVG(negativeChange[1]);
1291 + this.setNegative(negativeChange[1]);
1292 + }
815 1293 }
816 - getAllStickyElements() {
817 - const allStickyElements = document.querySelectorAll(this.getSettings('selectors.stickyElements'));
818 - return Array.from(allStickyElements).filter((anchor, index, self) => index === self.findIndex(t => t.getAttribute('data-id') === anchor.getAttribute('data-id')));
1294 +}
1295 +exports["default"] = Shapes;
1296 +
1297 +/***/ }),
1298 +
1299 +/***/ "../assets/dev/js/frontend/handlers/section/stretched-section.js":
1300 +/*!***********************************************************************!*\
1301 + !*** ../assets/dev/js/frontend/handlers/section/stretched-section.js ***!
1302 + \***********************************************************************/
1303 +/***/ ((__unused_webpack_module, exports) => {
1304 +
1305 +"use strict";
1306 +
1307 +
1308 +Object.defineProperty(exports, "__esModule", ({
1309 + value: true
1310 +}));
1311 +exports["default"] = void 0;
1312 +class StretchedSection extends elementorModules.frontend.handlers.StretchedElement {
1313 + getStretchedClass() {
1314 + return 'elementor-section-stretched';
819 1315 }
820 - getAllAnchorLinks() {
821 - const allAnchors = document.querySelectorAll(this.getSettings('selectors.links'));
822 - return Array.from(allAnchors).filter((anchor, index, self) => index === self.findIndex(t => t.getAttribute('href') === anchor.getAttribute('href')));
1316 + getStretchSettingName() {
1317 + return 'stretch_section';
823 1318 }
824 - filterAndSortElementsByType(elements, type) {
825 - return elements.filter(item => type === item.type).sort((a, b) => a.scrollPosition - b.scrollPosition);
1319 + getStretchActiveValue() {
1320 + return 'section-stretched';
826 1321 }
827 - isValidSelector(hash) {
828 - const validSelectorPattern = /^#[A-Za-z_][\w-]*$/;
829 - return validSelectorPattern.test(hash);
830 - }
831 - getAnchorTarget(element) {
832 - const hash = element?.hash;
833 - if (!this.isValidSelector(hash)) {
834 - return null;
1322 +}
1323 +exports["default"] = StretchedSection;
1324 +
1325 +/***/ }),
1326 +
1327 +/***/ "../assets/dev/js/frontend/utils/anchors.js":
1328 +/*!**************************************************!*\
1329 + !*** ../assets/dev/js/frontend/utils/anchors.js ***!
1330 + \**************************************************/
1331 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1332 +
1333 +"use strict";
1334 +
1335 +
1336 +var _utils = __webpack_require__(/*! ./utils */ "../assets/dev/js/frontend/utils/utils.js");
1337 +module.exports = elementorModules.ViewModule.extend({
1338 + getDefaultSettings() {
1339 + return {
1340 + scrollDuration: 500,
1341 + selectors: {
1342 + links: 'a[href*="#"]',
1343 + targets: '.elementor-element, .elementor-menu-anchor',
1344 + scrollable: (0, _utils.isScrollSnapActive)() ? 'body' : 'html, body'
1345 + }
1346 + };
1347 + },
1348 + getDefaultElements() {
1349 + var $ = jQuery,
1350 + selectors = this.getSettings('selectors');
1351 + return {
1352 + $scrollable: $(selectors.scrollable)
1353 + };
1354 + },
1355 + bindEvents() {
1356 + elementorFrontend.elements.$document.on('click', this.getSettings('selectors.links'), this.handleAnchorLinks);
1357 + },
1358 + handleAnchorLinks(event) {
1359 + var clickedLink = event.currentTarget,
1360 + isSamePathname = location.pathname === clickedLink.pathname,
1361 + isSameHostname = location.hostname === clickedLink.hostname,
1362 + $anchor;
1363 + if (!isSameHostname || !isSamePathname || clickedLink.hash.length < 2) {
1364 + return;
835 1365 }
836 - return document.querySelector(hash);
1366 + try {
1367 + $anchor = jQuery(clickedLink.hash).filter(this.getSettings('selectors.targets'));
1368 + } catch (e) {
1369 + return;
1370 + }
1371 + if (!$anchor.length) {
1372 + return;
1373 + }
1374 + var scrollTop = $anchor.offset().top,
1375 + $wpAdminBar = elementorFrontend.elements.$wpAdminBar,
1376 + $activeStickies = jQuery('.elementor-section.elementor-sticky--active:visible'),
1377 + maxStickyHeight = 0;
1378 + if ($wpAdminBar.length > 0) {
1379 + scrollTop -= $wpAdminBar.height();
1380 + }
1381 +
1382 + // Offset height of tallest sticky
1383 + if ($activeStickies.length > 0) {
1384 + maxStickyHeight = Math.max.apply(null, $activeStickies.map(function () {
1385 + return jQuery(this).outerHeight();
1386 + }).get());
1387 + scrollTop -= maxStickyHeight;
1388 + }
1389 + event.preventDefault();
1390 + scrollTop = elementorFrontend.hooks.applyFilters('frontend/handlers/menu_anchor/scroll_top_distance', scrollTop);
1391 +
1392 + // On scroll animation start: remove scroll-snap.
1393 + if ((0, _utils.isScrollSnapActive)()) {
1394 + elementorFrontend.elements.$body.css('scroll-snap-type', 'none');
1395 + }
1396 + this.elements.$scrollable.animate({
1397 + scrollTop
1398 + }, this.getSettings('scrollDuration'), 'linear', () => {
1399 + // On scroll animation complete: add scroll-snap back.
1400 + if ((0, _utils.isScrollSnapActive)()) {
1401 + elementorFrontend.elements.$body.css('scroll-snap-type', '');
1402 + }
1403 + });
1404 + },
1405 + onInit() {
1406 + elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
837 1407 }
838 - getElementSettings(element) {
839 - return JSON.parse(element.getAttribute('data-settings'));
840 - }
841 -}
842 -exports["default"] = _default;
1408 +});
843 1409
844 1410 /***/ }),
845 1411
846 1412 /***/ "../assets/dev/js/frontend/utils/assets-loader.js":
@@ -848,8 +1414,9 @@
848 1414 !*** ../assets/dev/js/frontend/utils/assets-loader.js ***!
849 1415 \********************************************************/
850 1416 /***/ ((__unused_webpack_module, exports) => {
851 1417
1418 +"use strict";
852 1419
853 1420
854 1421 Object.defineProperty(exports, "__esModule", ({
855 1422 value: true
@@ -869,64 +1436,34 @@
869 1436 }
870 1437 load(type, key) {
871 1438 const assetData = AssetsLoader.assets[type][key];
872 1439 if (!assetData.loader) {
873 - assetData.loader = this.isAssetLoaded(assetData, type) ? Promise.resolve(true) : this.loadAsset(assetData, type);
1440 + assetData.loader = new Promise(resolve => {
1441 + const element = 'style' === type ? this.getStyleElement(assetData.src) : this.getScriptElement(assetData.src);
1442 + element.onload = () => resolve(true);
1443 + const parent = 'head' === assetData.parent ? assetData.parent : 'body';
1444 + document[parent].appendChild(element);
1445 + });
874 1446 }
875 1447 return assetData.loader;
876 1448 }
877 - isAssetLoaded(assetData, assetType) {
878 - const filePath = 'script' === assetType ? `script[src="${assetData.src}"]` : `link[href="${assetData.src}"]`;
879 - return !!document.querySelectorAll(filePath)?.length;
880 - }
881 - loadAsset(assetData, assetType) {
882 - return new Promise(resolve => {
883 - const element = 'style' === assetType ? this.getStyleElement(assetData.src) : this.getScriptElement(assetData.src);
884 - element.onload = () => resolve(true);
885 - this.appendAsset(assetData, element);
886 - });
887 - }
888 - appendAsset(assetData, element) {
889 - const beforeElement = document.querySelector(assetData.before);
890 - if (!!beforeElement) {
891 - beforeElement.insertAdjacentElement('beforebegin', element);
892 - return;
893 - }
894 - const parent = 'head' === assetData.parent ? assetData.parent : 'body';
895 - document[parent].appendChild(element);
896 - }
897 1449 }
898 1450 exports["default"] = AssetsLoader;
899 -const assetsUrl = elementorFrontendConfig.urls.assets;
900 1451 const fileSuffix = elementorFrontendConfig.environmentMode.isScriptDebug ? '' : '.min';
901 -const pluginVersion = elementorFrontendConfig.version;
1452 +const swiperSource = elementorFrontendConfig.experimentalFeatures.e_swiper_latest ? `${elementorFrontendConfig.urls.assets}lib/swiper/v8/swiper${fileSuffix}.js?ver=8.4.5` : `${elementorFrontendConfig.urls.assets}lib/swiper/swiper${fileSuffix}.js?ver=5.3.6`;
902 1453 AssetsLoader.assets = {
903 1454 script: {
904 1455 dialog: {
905 - src: `${assetsUrl}lib/dialog/dialog${fileSuffix}.js?ver=4.9.3`
1456 + src: `${elementorFrontendConfig.urls.assets}lib/dialog/dialog${fileSuffix}.js?ver=4.9.0`
906 1457 },
907 1458 'share-link': {
908 - src: `${assetsUrl}lib/share-link/share-link${fileSuffix}.js?ver=${pluginVersion}`
1459 + src: `${elementorFrontendConfig.urls.assets}lib/share-link/share-link${fileSuffix}.js?ver=${elementorFrontendConfig.version}`
909 1460 },
910 - // TODO: Remove 'swiper' in v3.29.0 [ED-16272].
911 1461 swiper: {
912 - src: `${assetsUrl}lib/swiper/v8/swiper${fileSuffix}.js?ver=8.4.5`
1462 + src: swiperSource
913 1463 }
914 1464 },
915 - style: {
916 - swiper: {
917 - src: `${assetsUrl}lib/swiper/v8/css/swiper${fileSuffix}.css?ver=8.4.5`,
918 - parent: 'head'
919 - },
920 - 'e-lightbox': {
921 - src: elementorFrontendConfig?.responsive?.hasCustomBreakpoints ? `${elementorFrontendConfig.urls.uploadUrl}/elementor/css/custom-lightbox.min.css?ver=${pluginVersion}` : `${assetsUrl}css/conditionals/lightbox${fileSuffix}.css?ver=${pluginVersion}`
922 - },
923 - dialog: {
924 - src: `${assetsUrl}css/conditionals/dialog${fileSuffix}.css?ver=${pluginVersion}`,
925 - parent: 'head',
926 - before: '#elementor-frontend-css'
927 - }
928 - }
1465 + style: {}
929 1466 };
930 1467
931 1468 /***/ }),
932 1469
@@ -935,8 +1472,9 @@
935 1472 !*** ../assets/dev/js/frontend/utils/controls.js ***!
936 1473 \***************************************************/
937 1474 /***/ ((__unused_webpack_module, exports) => {
938 1475
1476 +"use strict";
939 1477
940 1478
941 1479 Object.defineProperty(exports, "__esModule", ({
942 1480 value: true
@@ -978,9 +1516,11 @@
978 1516 * @param {string} controlSubKey A specific property of the control object.
979 1517 * @param {string} device If we want to get a value for a specific device mode.
980 1518 * @return {*} Control Value
981 1519 */
982 - getResponsiveControlValue(controlSettings, controlKey, controlSubKey = '', device = null) {
1520 + getResponsiveControlValue(controlSettings, controlKey) {
1521 + let controlSubKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
1522 + let device = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
983 1523 const currentDeviceMode = device || elementorFrontend.getCurrentDeviceMode(),
984 1524 controlValueDesktop = this.getControlValue(controlSettings, controlKey, controlSubKey);
985 1525
986 1526 // Set the control value for the current device mode.
@@ -1025,8 +1565,9 @@
1025 1565 !*** ../assets/dev/js/frontend/utils/lightbox/lightbox-manager.js ***!
1026 1566 \********************************************************************/
1027 1567 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1028 1568
1569 +"use strict";
1029 1570
1030 1571
1031 1572 Object.defineProperty(exports, "__esModule", ({
1032 1573 value: true
@@ -1031,41 +1572,37 @@
1031 1572 Object.defineProperty(exports, "__esModule", ({
1032 1573 value: true
1033 1574 }));
1034 1575 exports["default"] = void 0;
1035 -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
1036 -__webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "../node_modules/core-js/modules/esnext.iterator.find.js");
1037 1576 class LightboxManager extends elementorModules.ViewModule {
1038 1577 static getLightbox() {
1039 1578 const lightboxPromise = new Promise(resolveLightbox => {
1040 - Promise.all(/*! import() | lightbox */[__webpack_require__.e("vendors-node_modules_dompurify_dist_purify_cjs_js"), __webpack_require__.e("lightbox")]).then(__webpack_require__.t.bind(__webpack_require__, /*! elementor-frontend/utils/lightbox/lightbox */ "../assets/dev/js/frontend/utils/lightbox/lightbox.js", 23)).then(({
1041 - default: LightboxModule
1042 - }) => resolveLightbox(new LightboxModule()));
1579 + __webpack_require__.e(/*! import() | lightbox */ "lightbox").then(__webpack_require__.t.bind(__webpack_require__, /*! elementor-frontend/utils/lightbox/lightbox */ "../assets/dev/js/frontend/utils/lightbox/lightbox.js", 23)).then(_ref => {
1580 + let {
1581 + default: LightboxModule
1582 + } = _ref;
1583 + return resolveLightbox(new LightboxModule());
1584 + });
1043 1585 }),
1044 - dialogScriptPromise = elementorFrontend.utils.assetsLoader.load('script', 'dialog'),
1045 - dialogStylePromise = elementorFrontend.utils.assetsLoader.load('style', 'dialog'),
1046 - shareLinkPromise = elementorFrontend.utils.assetsLoader.load('script', 'share-link'),
1047 - swiperStylePromise = elementorFrontend.utils.assetsLoader.load('style', 'swiper'),
1048 - lightboxStylePromise = elementorFrontend.utils.assetsLoader.load('style', 'e-lightbox');
1049 - return Promise.all([lightboxPromise, dialogScriptPromise, dialogStylePromise, shareLinkPromise, swiperStylePromise, lightboxStylePromise]).then(() => lightboxPromise);
1586 + dialogPromise = elementorFrontend.utils.assetsLoader.load('script', 'dialog'),
1587 + shareLinkPromise = elementorFrontend.utils.assetsLoader.load('script', 'share-link');
1588 + return Promise.all([lightboxPromise, dialogPromise, shareLinkPromise]).then(() => lightboxPromise);
1050 1589 }
1051 1590 getDefaultSettings() {
1052 1591 return {
1053 1592 selectors: {
1054 - links: 'a, [data-elementor-lightbox]',
1055 - slideshow: '[data-elementor-lightbox-slideshow]'
1593 + links: 'a, [data-elementor-lightbox]'
1056 1594 }
1057 1595 };
1058 1596 }
1059 1597 getDefaultElements() {
1060 1598 return {
1061 - $links: jQuery(this.getSettings('selectors.links')),
1062 - $slideshow: jQuery(this.getSettings('selectors.slideshow'))
1599 + $links: jQuery(this.getSettings('selectors.links'))
1063 1600 };
1064 1601 }
1065 1602 isLightboxLink(element) {
1066 1603 // Check for lowercase `a` to make sure it works also for links inside SVGs.
1067 - if ('a' === element.tagName.toLowerCase() && (element.hasAttribute('download') || !/^[^?]+\.(png|jpe?g|gif|svg|webp|avif)(\?.*)?$/i.test(element.href)) && !element.dataset.elementorLightboxVideo) {
1604 + if ('a' === element.tagName.toLowerCase() && (element.hasAttribute('download') || !/^[^?]+\.(png|jpe?g|gif|svg|webp)(\?.*)?$/i.test(element.href)) && !element.dataset.elementorLightboxVideo) {
1068 1605 return false;
1069 1606 }
1070 1607 const generalOpenInLightbox = elementorFrontend.getKitSettings('global_image_lightbox'),
1071 1608 currentLinkOpenInLightbox = element.dataset.elementorOpenLightbox;
@@ -1070,11 +1607,8 @@
1070 1607 const generalOpenInLightbox = elementorFrontend.getKitSettings('global_image_lightbox'),
1071 1608 currentLinkOpenInLightbox = element.dataset.elementorOpenLightbox;
1072 1609 return 'yes' === currentLinkOpenInLightbox || generalOpenInLightbox && 'no' !== currentLinkOpenInLightbox;
1073 1610 }
1074 - isLightboxSlideshow() {
1075 - return 0 !== this.elements.$slideshow.length;
1076 - }
1077 1611 async onLinkClick(event) {
1078 1612 const element = event.currentTarget,
1079 1613 $target = jQuery(event.target),
1080 1614 editMode = elementorFrontend.isEditMode(),
@@ -1094,22 +1628,23 @@
1094 1628 // Disable lightbox on color picking mode.
1095 1629 if (isColorPickingMode) {
1096 1630 return;
1097 1631 }
1098 - const lightbox = await LightboxManager.getLightbox();
1632 + const lightbox = this.isOptimizedAssetsLoading() ? await LightboxManager.getLightbox() : elementorFrontend.utils.lightbox;
1099 1633 lightbox.createLightbox(element);
1100 1634 }
1635 + isOptimizedAssetsLoading() {
1636 + return elementorFrontend.config.experimentalFeatures.e_optimized_assets_loading;
1637 + }
1101 1638 bindEvents() {
1102 1639 elementorFrontend.elements.$document.on('click', this.getSettings('selectors.links'), event => this.onLinkClick(event));
1103 1640 }
1104 - onInit(...args) {
1105 - super.onInit(...args);
1106 - if (elementorFrontend.isEditMode()) {
1641 + onInit() {
1642 + super.onInit(...arguments);
1643 + if (!this.isOptimizedAssetsLoading() || elementorFrontend.isEditMode()) {
1107 1644 return;
1108 1645 }
1109 - this.maybeActivateLightboxOnLink();
1110 - }
1111 - maybeActivateLightboxOnLink() {
1646 +
1112 1647 // Detecting lightbox links on init will reduce the time of waiting to the lightbox to be display on slow connections.
1113 1648 this.elements.$links.each((index, element) => {
1114 1649 if (this.isLightboxLink(element)) {
1115 1650 LightboxManager.getLightbox();
@@ -1127,10 +1662,11 @@
1127 1662 /***/ "../assets/dev/js/frontend/utils/swiper.js":
1128 1663 /*!*************************************************!*\
1129 1664 !*** ../assets/dev/js/frontend/utils/swiper.js ***!
1130 1665 \*************************************************/
1131 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1666 +/***/ ((__unused_webpack_module, exports) => {
1132 1667
1668 +"use strict";
1133 1669
1134 1670
1135 1671 Object.defineProperty(exports, "__esModule", ({
1136 1672 value: true
@@ -1135,11 +1671,9 @@
1135 1671 Object.defineProperty(exports, "__esModule", ({
1136 1672 value: true
1137 1673 }));
1138 1674 exports["default"] = void 0;
1139 -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
1140 -__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
1141 -class SwiperHandler {
1675 +class Swiper {
1142 1676 constructor(container, config) {
1143 1677 this.config = config;
1144 1678 if (this.config.breakpoints) {
1145 1679 // The config is passed as a param to allow adjustConfig to be called outside of this wrapper
@@ -1152,23 +1686,17 @@
1152 1686 // The Swiper will overlap the column width when applying custom margin values on the column.
1153 1687 container.closest('.elementor-widget-wrap')?.classList.add('e-swiper-container');
1154 1688 container.closest('.elementor-widget')?.classList.add('e-widget-swiper');
1155 1689 return new Promise(resolve => {
1156 - // TODO: Remove in v3.29.0 [ED-16272].
1157 - if ('undefined' === typeof Swiper) {
1158 - elementorFrontend.utils.assetsLoader.load('script', 'swiper').then(() => resolve(this.createSwiperInstance(container, this.config)));
1159 - return;
1690 + if (!elementorFrontend.config.experimentalFeatures.e_optimized_assets_loading) {
1691 + return resolve(this.createSwiperInstance(container, this.config));
1160 1692 }
1161 - if ('function' === typeof Swiper && 'undefined' === typeof window.Swiper) {
1162 - window.Swiper = Swiper;
1163 - }
1164 - resolve(this.createSwiperInstance(container, this.config));
1693 + elementorFrontend.utils.assetsLoader.load('script', 'swiper').then(() => resolve(this.createSwiperInstance(container, this.config)));
1165 1694 });
1166 1695 }
1167 1696 createSwiperInstance(container, config) {
1168 1697 const SwiperSource = window.Swiper;
1169 1698 SwiperSource.prototype.adjustConfig = this.adjustConfig;
1170 - config = this.applyMotionPreferences(config);
1171 1699 return new SwiperSource(container, config);
1172 1700 }
1173 1701
1174 1702 // Backwards compatibility for Elementor Pro <2.9.0 (old Swiper version - <5.0.0)
@@ -1213,20 +1741,10 @@
1213 1741 };
1214 1742 });
1215 1743 return config;
1216 1744 }
1217 - applyMotionPreferences(config) {
1218 - const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
1219 - if (!prefersReducedMotion) {
1220 - return config;
1221 - }
1222 - return Object.assign({}, config, {
1223 - speed: 0,
1224 - autoplay: false
1225 - });
1226 - }
1227 1745 }
1228 -exports["default"] = SwiperHandler;
1746 +exports["default"] = Swiper;
1229 1747
1230 1748 /***/ }),
1231 1749
1232 1750 /***/ "../assets/dev/js/frontend/utils/url-actions.js":
@@ -1234,8 +1752,9 @@
1234 1752 !*** ../assets/dev/js/frontend/utils/url-actions.js ***!
1235 1753 \******************************************************/
1236 1754 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1237 1755
1756 +"use strict";
1238 1757
1239 1758
1240 1759 Object.defineProperty(exports, "__esModule", ({
1241 1760 value: true
@@ -1272,10 +1791,9 @@
1272 1791 }
1273 1792 addAction(name, callback) {
1274 1793 this.actions[name] = callback;
1275 1794 }
1276 - runAction(url, ...restArgs) {
1277 - url = decodeURI(url);
1795 + runAction(url) {
1278 1796 url = decodeURIComponent(url);
1279 1797 const actionMatch = url.match(/action=(.+?)&/);
1280 1798 if (!actionMatch) {
1281 1799 return;
@@ -1288,9 +1806,11 @@
1288 1806 const settingsMatch = url.match(/settings=(.+)/);
1289 1807 if (settingsMatch) {
1290 1808 settings = JSON.parse(atob(settingsMatch[1]));
1291 1809 }
1292 - settings.previousEvent = event;
1810 + for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1811 + restArgs[_key - 1] = arguments[_key];
1812 + }
1293 1813 action(settings, ...restArgs);
1294 1814 }
1295 1815 runLinkAction(event) {
1296 1816 event.preventDefault();
@@ -1326,8 +1846,9 @@
1326 1846 !*** ../assets/dev/js/frontend/utils/utils.js ***!
1327 1847 \************************************************/
1328 1848 /***/ ((__unused_webpack_module, exports) => {
1329 1849
1850 +"use strict";
1330 1851
1331 1852
1332 1853 Object.defineProperty(exports, "__esModule", ({
1333 1854 value: true
@@ -1360,8 +1881,9 @@
1360 1881 !*** ../assets/dev/js/frontend/utils/video-api/base-loader.js ***!
1361 1882 \****************************************************************/
1362 1883 /***/ ((__unused_webpack_module, exports) => {
1363 1884
1885 +"use strict";
1364 1886
1365 1887
1366 1888 Object.defineProperty(exports, "__esModule", ({
1367 1889 value: true
@@ -1417,8 +1939,9 @@
1417 1939 !*** ../assets/dev/js/frontend/utils/video-api/vimeo-loader.js ***!
1418 1940 \*****************************************************************/
1419 1941 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1420 1942
1943 +"use strict";
1421 1944
1422 1945
1423 1946 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1424 1947 Object.defineProperty(exports, "__esModule", ({
@@ -1439,8 +1962,10 @@
1439 1962 getApiObject() {
1440 1963 return Vimeo;
1441 1964 }
1442 1965 getAutoplayURL(videoURL) {
1966 + videoURL = super.getAutoplayURL(videoURL);
1967 +
1443 1968 // Vimeo requires the '#t=' param to be last in the URL.
1444 1969 const timeMatch = videoURL.match(/#t=[^&]*/);
1445 1970 return videoURL.replace(timeMatch[0], '') + timeMatch;
1446 1971 }
@@ -1454,8 +1979,9 @@
1454 1979 !*** ../assets/dev/js/frontend/utils/video-api/youtube-loader.js ***!
1455 1980 \*******************************************************************/
1456 1981 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1457 1982
1983 +"use strict";
1458 1984
1459 1985
1460 1986 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1461 1987 Object.defineProperty(exports, "__esModule", ({
@@ -1467,9 +1993,9 @@
1467 1993 getApiURL() {
1468 1994 return 'https://www.youtube.com/iframe_api';
1469 1995 }
1470 1996 getURLRegex() {
1471 - return /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user|shorts)\/))([^?&"'>]+)/;
1997 + return /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user)\/))([^?&"'>]+)/;
1472 1998 }
1473 1999 isApiLoaded() {
1474 2000 return window.YT && YT.loaded;
1475 2001 }
@@ -1486,8 +2012,9 @@
1486 2012 !*** ../assets/dev/js/public-path.js ***!
1487 2013 \***************************************/
1488 2014 /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
1489 2015
2016 +"use strict";
1490 2017
1491 2018
1492 2019 /* eslint-disable camelcase */
1493 2020 __webpack_require__.p = elementorFrontendConfig.urls.assets + 'js/';
@@ -1497,10 +2024,11 @@
1497 2024 /***/ "../assets/dev/js/utils/breakpoints.js":
1498 2025 /*!*********************************************!*\
1499 2026 !*** ../assets/dev/js/utils/breakpoints.js ***!
1500 2027 \*********************************************/
1501 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2028 +/***/ ((__unused_webpack_module, exports) => {
1502 2029
2030 +"use strict";
1503 2031
1504 2032
1505 2033 Object.defineProperty(exports, "__esModule", ({
1506 2034 value: true
@@ -1505,12 +2033,8 @@
1505 2033 Object.defineProperty(exports, "__esModule", ({
1506 2034 value: true
1507 2035 }));
1508 2036 exports["default"] = void 0;
1509 -__webpack_require__(/*! core-js/modules/es.array.push.js */ "../node_modules/core-js/modules/es.array.push.js");
1510 -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
1511 -__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
1512 -__webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "../node_modules/core-js/modules/esnext.iterator.map.js");
1513 2037 /**
1514 2038 * Breakpoints
1515 2039 *
1516 2040 * This utility class contains helper functions relating to Elementor's breakpoints system.
@@ -1534,9 +2058,10 @@
1534 2058 * @since 3.4.0
1535 2059 *
1536 2060 * @param {Object} args
1537 2061 */
1538 - getActiveBreakpointsList(args = {}) {
2062 + getActiveBreakpointsList() {
2063 + let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1539 2064 const defaultArgs = {
1540 2065 largeToSmall: false,
1541 2066 withDesktop: false
1542 2067 };
@@ -1683,8 +2208,9 @@
1683 2208 !*** ../assets/dev/js/utils/events.js ***!
1684 2209 \****************************************/
1685 2210 /***/ ((__unused_webpack_module, exports) => {
1686 2211
2212 +"use strict";
1687 2213
1688 2214
1689 2215 Object.defineProperty(exports, "__esModule", ({
1690 2216 value: true
@@ -1703,9 +2229,11 @@
1703 2229 * @param {string|null} bcEvent - BC event to dispatch, default to `null`.
1704 2230 *
1705 2231 * @return {void}
1706 2232 */
1707 - static dispatch(context, event, data = null, bcEvent = null) {
2233 + static dispatch(context, event) {
2234 + let data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
2235 + let bcEvent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
1708 2236 // Make sure to use the native context if it's a jQuery instance.
1709 2237 context = context instanceof jQuery ? context[0] : context;
1710 2238
1711 2239 // Dispatch the BC event only if exists.
@@ -1722,9 +2250,10 @@
1722 2250 }));
1723 2251 }
1724 2252 }
1725 2253 exports.Events = Events;
1726 -var _default = exports["default"] = Events;
2254 +var _default = Events;
2255 +exports["default"] = _default;
1727 2256
1728 2257 /***/ }),
1729 2258
1730 2259 /***/ "../assets/dev/js/utils/hooks.js":
@@ -1730,10 +2259,11 @@
1730 2259 /***/ "../assets/dev/js/utils/hooks.js":
1731 2260 /*!***************************************!*\
1732 2261 !*** ../assets/dev/js/utils/hooks.js ***!
1733 2262 \***************************************/
1734 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2263 +/***/ ((module) => {
1735 2264
2265 +"use strict";
1736 2266
1737 2267
1738 2268 /**
1739 2269 * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
@@ -1738,9 +2268,8 @@
1738 2268 /**
1739 2269 * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
1740 2270 * that, lowest priority hooks are fired first.
1741 2271 */
1742 -__webpack_require__(/*! core-js/modules/es.array.push.js */ "../node_modules/core-js/modules/es.array.push.js");
1743 2272 var EventManager = function () {
1744 2273 var slice = Array.prototype.slice,
1745 2274 MethodsAvailable;
1746 2275
@@ -1897,9 +2426,9 @@
1897 2426 /**
1898 2427 * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is
1899 2428 * that the first argument must always be the action.
1900 2429 */
1901 - function doAction(/* Action, arg1, arg2, ... */
2430 + function doAction( /* Action, arg1, arg2, ... */
1902 2431 ) {
1903 2432 var args = slice.call(arguments);
1904 2433 var action = args.shift();
1905 2434 if ('string' === typeof action) {
@@ -1940,9 +2469,9 @@
1940 2469 /**
1941 2470 * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that
1942 2471 * the first argument must always be the filter.
1943 2472 */
1944 - function applyFilters(/* Filter, filtered arg, arg2, ... */
2473 + function applyFilters( /* Filter, filtered arg, arg2, ... */
1945 2474 ) {
1946 2475 var args = slice.call(arguments);
1947 2476 var filter = args.shift();
1948 2477 if ('string' === typeof filter) {
@@ -1988,8 +2517,9 @@
1988 2517 !*** ../core/common/assets/js/utils/environment.js ***!
1989 2518 \*****************************************************/
1990 2519 /***/ ((__unused_webpack_module, exports) => {
1991 2520
2521 +"use strict";
1992 2522
1993 2523
1994 2524 Object.defineProperty(exports, "__esModule", ({
1995 2525 value: true
@@ -2009,9 +2539,9 @@
2009 2539 isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || (p => {
2010 2540 return '[object SafariRemoteNotification]' === p.toString();
2011 2541 })(!window.safari || typeof safari !== 'undefined' && safari.pushNotification),
2012 2542 // Internet Explorer 6-11
2013 - isIE = /Trident|MSIE/.test(userAgent) && (/* @cc_on!@*/ false || !!document.documentMode),
2543 + isIE = /Trident|MSIE/.test(userAgent) && ( /* @cc_on!@*/ false || !!document.documentMode),
2014 2544 // Edge 20+
2015 2545 isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'),
2016 2546 // Google Chrome (Not accurate)
2017 2547 isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera),
@@ -2032,9 +2562,10 @@
2032 2562 opera: isOpera,
2033 2563 safari: isSafari,
2034 2564 webkit: matchUserAgent('AppleWebKit')
2035 2565 };
2036 -var _default = exports["default"] = environment;
2566 +var _default = environment;
2567 +exports["default"] = _default;
2037 2568
2038 2569 /***/ }),
2039 2570
2040 2571 /***/ "../core/common/assets/js/utils/storage.js":
@@ -2040,10 +2571,11 @@
2040 2571 /***/ "../core/common/assets/js/utils/storage.js":
2041 2572 /*!*************************************************!*\
2042 2573 !*** ../core/common/assets/js/utils/storage.js ***!
2043 2574 \*************************************************/
2044 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2575 +/***/ ((__unused_webpack_module, exports) => {
2045 2576
2577 +"use strict";
2046 2578
2047 2579
2048 2580 Object.defineProperty(exports, "__esModule", ({
2049 2581 value: true
@@ -2048,10 +2580,8 @@
2048 2580 Object.defineProperty(exports, "__esModule", ({
2049 2581 value: true
2050 2582 }));
2051 2583 exports["default"] = void 0;
2052 -__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
2053 -__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
2054 2584 class _default extends elementorModules.Module {
2055 2585 get(key, options) {
2056 2586 options = options || {};
2057 2587 let storage;
@@ -2124,8 +2654,9 @@
2124 2654 !*** ../modules/shapes/assets/js/frontend/frontend.js ***!
2125 2655 \********************************************************/
2126 2656 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2127 2657
2658 +"use strict";
2128 2659
2129 2660
2130 2661 Object.defineProperty(exports, "__esModule", ({
2131 2662 value: true
@@ -2133,9 +2664,9 @@
2133 2664 exports["default"] = void 0;
2134 2665 class _default extends elementorModules.Module {
2135 2666 constructor() {
2136 2667 super();
2137 - elementorFrontend.elementsHandler.attachHandler('text-path', () => Promise.all(/*! import() | text-path */[__webpack_require__.e("vendors-node_modules_dompurify_dist_purify_cjs_js"), __webpack_require__.e("text-path")]).then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/text-path */ "../modules/shapes/assets/js/frontend/handlers/text-path.js")));
2668 + elementorFrontend.elementsHandler.attachHandler('text-path', () => __webpack_require__.e(/*! import() | text-path */ "text-path").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/text-path */ "../modules/shapes/assets/js/frontend/handlers/text-path.js")));
2138 2669 }
2139 2670 }
2140 2671 exports["default"] = _default;
2141 2672
@@ -2140,23 +2671,21 @@
2140 2671 exports["default"] = _default;
2141 2672
2142 2673 /***/ }),
2143 2674
2144 -/***/ "../node_modules/core-js/internals/a-possible-prototype.js":
2145 -/*!*****************************************************************!*\
2146 - !*** ../node_modules/core-js/internals/a-possible-prototype.js ***!
2147 - \*****************************************************************/
2675 +/***/ "../node_modules/core-js/internals/an-instance.js":
2676 +/*!********************************************************!*\
2677 + !*** ../node_modules/core-js/internals/an-instance.js ***!
2678 + \********************************************************/
2148 2679 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2149 2680
2681 +var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "../node_modules/core-js/internals/object-is-prototype-of.js");
2150 2682
2151 -var isPossiblePrototype = __webpack_require__(/*! ../internals/is-possible-prototype */ "../node_modules/core-js/internals/is-possible-prototype.js");
2152 -
2153 -var $String = String;
2154 2683 var $TypeError = TypeError;
2155 2684
2156 -module.exports = function (argument) {
2157 - if (isPossiblePrototype(argument)) return argument;
2158 - throw new $TypeError("Can't set " + $String(argument) + ' as a prototype');
2685 +module.exports = function (it, Prototype) {
2686 + if (isPrototypeOf(Prototype, it)) return it;
2687 + throw $TypeError('Incorrect invocation');
2159 2688 };
2160 2689
2161 2690
2162 2691 /***/ }),
@@ -2166,9 +2695,8 @@
2166 2695 !*** ../node_modules/core-js/internals/dom-exception-constants.js ***!
2167 2696 \********************************************************************/
2168 2697 /***/ ((module) => {
2169 2698
2170 -
2171 2699 module.exports = {
2172 2700 IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },
2173 2701 DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },
2174 2702 HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },
@@ -2198,173 +2726,8 @@
2198 2726
2199 2727
2200 2728 /***/ }),
2201 2729
2202 -/***/ "../node_modules/core-js/internals/error-stack-clear.js":
2203 -/*!**************************************************************!*\
2204 - !*** ../node_modules/core-js/internals/error-stack-clear.js ***!
2205 - \**************************************************************/
2206 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2207 -
2208 -
2209 -var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
2210 -
2211 -var $Error = Error;
2212 -var replace = uncurryThis(''.replace);
2213 -
2214 -var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');
2215 -// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe
2216 -var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
2217 -var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
2218 -
2219 -module.exports = function (stack, dropEntries) {
2220 - if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {
2221 - while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
2222 - } return stack;
2223 -};
2224 -
2225 -
2226 -/***/ }),
2227 -
2228 -/***/ "../node_modules/core-js/internals/function-uncurry-this-accessor.js":
2229 -/*!***************************************************************************!*\
2230 - !*** ../node_modules/core-js/internals/function-uncurry-this-accessor.js ***!
2231 - \***************************************************************************/
2232 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2233 -
2234 -
2235 -var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
2236 -var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js");
2237 -
2238 -module.exports = function (object, key, method) {
2239 - try {
2240 - // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2241 - return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
2242 - } catch (error) { /* empty */ }
2243 -};
2244 -
2245 -
2246 -/***/ }),
2247 -
2248 -/***/ "../node_modules/core-js/internals/inherit-if-required.js":
2249 -/*!****************************************************************!*\
2250 - !*** ../node_modules/core-js/internals/inherit-if-required.js ***!
2251 - \****************************************************************/
2252 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2253 -
2254 -
2255 -var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
2256 -var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
2257 -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "../node_modules/core-js/internals/object-set-prototype-of.js");
2258 -
2259 -// makes subclassing work correct for wrapped built-ins
2260 -module.exports = function ($this, dummy, Wrapper) {
2261 - var NewTarget, NewTargetPrototype;
2262 - if (
2263 - // it can work only with native `setPrototypeOf`
2264 - setPrototypeOf &&
2265 - // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
2266 - isCallable(NewTarget = dummy.constructor) &&
2267 - NewTarget !== Wrapper &&
2268 - isObject(NewTargetPrototype = NewTarget.prototype) &&
2269 - NewTargetPrototype !== Wrapper.prototype
2270 - ) setPrototypeOf($this, NewTargetPrototype);
2271 - return $this;
2272 -};
2273 -
2274 -
2275 -/***/ }),
2276 -
2277 -/***/ "../node_modules/core-js/internals/is-possible-prototype.js":
2278 -/*!******************************************************************!*\
2279 - !*** ../node_modules/core-js/internals/is-possible-prototype.js ***!
2280 - \******************************************************************/
2281 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2282 -
2283 -
2284 -var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
2285 -
2286 -module.exports = function (argument) {
2287 - return isObject(argument) || argument === null;
2288 -};
2289 -
2290 -
2291 -/***/ }),
2292 -
2293 -/***/ "../node_modules/core-js/internals/normalize-string-argument.js":
2294 -/*!**********************************************************************!*\
2295 - !*** ../node_modules/core-js/internals/normalize-string-argument.js ***!
2296 - \**********************************************************************/
2297 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2298 -
2299 -
2300 -var toString = __webpack_require__(/*! ../internals/to-string */ "../node_modules/core-js/internals/to-string.js");
2301 -
2302 -module.exports = function (argument, $default) {
2303 - return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
2304 -};
2305 -
2306 -
2307 -/***/ }),
2308 -
2309 -/***/ "../node_modules/core-js/internals/object-set-prototype-of.js":
2310 -/*!********************************************************************!*\
2311 - !*** ../node_modules/core-js/internals/object-set-prototype-of.js ***!
2312 - \********************************************************************/
2313 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2314 -
2315 -
2316 -/* eslint-disable no-proto -- safe */
2317 -var uncurryThisAccessor = __webpack_require__(/*! ../internals/function-uncurry-this-accessor */ "../node_modules/core-js/internals/function-uncurry-this-accessor.js");
2318 -var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
2319 -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
2320 -var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "../node_modules/core-js/internals/a-possible-prototype.js");
2321 -
2322 -// `Object.setPrototypeOf` method
2323 -// https://tc39.es/ecma262/#sec-object.setprototypeof
2324 -// Works with __proto__ only. Old v8 can't work with null proto objects.
2325 -// eslint-disable-next-line es/no-object-setprototypeof -- safe
2326 -module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
2327 - var CORRECT_SETTER = false;
2328 - var test = {};
2329 - var setter;
2330 - try {
2331 - setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
2332 - setter(test, []);
2333 - CORRECT_SETTER = test instanceof Array;
2334 - } catch (error) { /* empty */ }
2335 - return function setPrototypeOf(O, proto) {
2336 - requireObjectCoercible(O);
2337 - aPossiblePrototype(proto);
2338 - if (!isObject(O)) return O;
2339 - if (CORRECT_SETTER) setter(O, proto);
2340 - else O.__proto__ = proto;
2341 - return O;
2342 - };
2343 -}() : undefined);
2344 -
2345 -
2346 -/***/ }),
2347 -
2348 -/***/ "../node_modules/core-js/internals/to-string.js":
2349 -/*!******************************************************!*\
2350 - !*** ../node_modules/core-js/internals/to-string.js ***!
2351 - \******************************************************/
2352 -/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2353 -
2354 -
2355 -var classof = __webpack_require__(/*! ../internals/classof */ "../node_modules/core-js/internals/classof.js");
2356 -
2357 -var $String = String;
2358 -
2359 -module.exports = function (argument) {
2360 - if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
2361 - return $String(argument);
2362 -};
2363 -
2364 -
2365 -/***/ }),
2366 -
2367 2730 /***/ "../node_modules/core-js/modules/web.dom-exception.stack.js":
2368 2731 /*!******************************************************************!*\
2369 2732 !*** ../node_modules/core-js/modules/web.dom-exception.stack.js ***!
2370 2733 \******************************************************************/
@@ -2369,11 +2732,12 @@
2369 2732 !*** ../node_modules/core-js/modules/web.dom-exception.stack.js ***!
2370 2733 \******************************************************************/
2371 2734 /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
2372 2735
2736 +"use strict";
2373 2737
2374 2738 var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js");
2375 -var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
2739 +var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
2376 2740 var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
2377 2741 var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
2378 2742 var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js").f);
2379 2743 var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
@@ -2394,9 +2758,9 @@
2394 2758 var argumentsLength = arguments.length;
2395 2759 var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);
2396 2760 var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');
2397 2761 var that = new NativeDOMException(message, name);
2398 - var error = new Error(message);
2762 + var error = Error(message);
2399 2763 error.name = DOM_EXCEPTION;
2400 2764 defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
2401 2765 inheritIfRequired(that, this, $DOMException);
2402 2766 return that;
@@ -2403,13 +2767,13 @@
2403 2767 };
2404 2768
2405 2769 var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;
2406 2770
2407 -var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);
2771 +var ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);
2408 2772 var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);
2409 2773
2410 2774 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2411 -var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION);
2775 +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);
2412 2776
2413 2777 // Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it
2414 2778 // https://github.com/Jarred-Sumner/bun/issues/399
2415 2779 var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);