PluginProbe
Elementor Website Builder – more than just a page builder / 4.0.8
Elementor Website Builder – more than just a page builder v4.0.8
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 +2283 -3885 4.3.0-beta34.0.8 View file →
@@ -1,4043 +1,2441 @@
1 1 "use strict";
2 +(self["webpackChunkelementorFrontend"] = self["webpackChunkelementorFrontend"] || []).push([["frontend"],{
2 3
3 -(function() {
4 +/***/ "../assets/dev/js/frontend/documents-manager.js":
5 +/*!******************************************************!*\
6 + !*** ../assets/dev/js/frontend/documents-manager.js ***!
7 + \******************************************************/
8 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4 9
5 -//#region \0rolldown/runtime.js
6 - var __defProp = Object.defineProperty;
7 - var __name = (target, value) => __defProp(target, "name", {
8 - value,
9 - configurable: true
10 - });
11 - var __esmMin = (fn, res, err) => () => {
12 - if (err) throw err[0];
13 - try {
14 - return fn && (res = fn(fn = 0)), res;
15 - } catch (e) {
16 - throw err = [e], e;
17 - }
18 - };
19 - var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
20 10
21 -//#endregion
22 11
23 -//#region node_modules/@babel/runtime/helpers/interopRequireDefault.js
24 - var require_interopRequireDefault = /* @__PURE__ */ __commonJSMin(((exports, module) => {
25 - function _interopRequireDefault(e) {
26 - return e && e.__esModule ? e : { "default": e };
27 - }
28 - module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
29 - }));
12 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13 +Object.defineProperty(exports, "__esModule", ({
14 + value: true
15 +}));
16 +exports["default"] = void 0;
17 +var _document = _interopRequireDefault(__webpack_require__(/*! ./document */ "../assets/dev/js/frontend/document.js"));
18 +class _default extends elementorModules.ViewModule {
19 + constructor(...args) {
20 + super(...args);
21 + this.documents = {};
22 + this.initDocumentClasses();
23 + this.attachDocumentsClasses();
24 + }
25 + getDefaultSettings() {
26 + return {
27 + selectors: {
28 + document: '.elementor'
29 + }
30 + };
31 + }
32 + getDefaultElements() {
33 + const selectors = this.getSettings('selectors');
34 + return {
35 + $documents: jQuery(selectors.document)
36 + };
37 + }
38 + initDocumentClasses() {
39 + this.documentClasses = {
40 + base: _document.default
41 + };
42 + elementorFrontend.hooks.doAction('elementor/frontend/documents-manager/init-classes', this);
43 + }
44 + addDocumentClass(documentType, documentClass) {
45 + this.documentClasses[documentType] = documentClass;
46 + }
47 + attachDocumentsClasses() {
48 + this.elements.$documents.each((index, document) => this.attachDocumentClass(jQuery(document)));
49 + }
50 + attachDocumentClass($document) {
51 + const documentData = $document.data(),
52 + documentID = documentData.elementorId,
53 + documentType = documentData.elementorType,
54 + DocumentClass = this.documentClasses[documentType] || this.documentClasses.base;
55 + this.documents[documentID] = new DocumentClass({
56 + $element: $document,
57 + id: documentID
58 + });
59 + }
60 +}
61 +exports["default"] = _default;
30 62
31 -//#endregion
32 -//#region node_modules/core-js/internals/global-this.js
33 - var require_global_this = /* @__PURE__ */ __commonJSMin(((exports, module) => {
34 - var check = function(it) {
35 - return it && it.Math === Math && it;
36 - };
37 - module.exports = check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || check(typeof self == "object" && self) || check(typeof global == "object" && global) || check(typeof exports == "object" && exports) || (function() {
38 - return this;
39 - })() || Function("return this")();
40 - }));
63 +/***/ }),
41 64
42 -//#endregion
43 -//#region node_modules/core-js/internals/fails.js
44 - var require_fails = /* @__PURE__ */ __commonJSMin(((exports, module) => {
45 - module.exports = function(exec) {
46 - try {
47 - return !!exec();
48 - } catch (error) {
49 - return true;
50 - }
51 - };
52 - }));
65 +/***/ "../assets/dev/js/frontend/elements-handlers-manager.js":
66 +/*!**************************************************************!*\
67 + !*** ../assets/dev/js/frontend/elements-handlers-manager.js ***!
68 + \**************************************************************/
69 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
53 70
54 -//#endregion
55 -//#region node_modules/core-js/internals/descriptors.js
56 - var require_descriptors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
57 - var fails = require_fails();
58 - module.exports = !fails(function() {
59 - return Object.defineProperty({}, 1, { get: function() {
60 - return 7;
61 - } })[1] !== 7;
62 - });
63 - }));
64 71
65 -//#endregion
66 -//#region node_modules/core-js/internals/function-bind-native.js
67 - var require_function_bind_native = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68 - var fails = require_fails();
69 - module.exports = !fails(function() {
70 - var test = (function() {}).bind();
71 - return typeof test != "function" || test.hasOwnProperty("prototype");
72 - });
73 - }));
74 72
75 -//#endregion
76 -//#region node_modules/core-js/internals/function-call.js
77 - var require_function_call = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78 - var NATIVE_BIND = require_function_bind_native();
79 - var call = Function.prototype.call;
80 - module.exports = NATIVE_BIND ? call.bind(call) : function() {
81 - return call.apply(call, arguments);
82 - };
83 - }));
73 +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 +var _global = _interopRequireDefault(__webpack_require__(/*! ./handlers/global */ "../assets/dev/js/frontend/handlers/global.js"));
77 +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 +var _column = _interopRequireDefault(__webpack_require__(/*! ./handlers/column */ "../assets/dev/js/frontend/handlers/column.js"));
80 +/* global elementorFrontendConfig */
84 81
85 -//#endregion
86 -//#region node_modules/core-js/internals/object-property-is-enumerable.js
87 - var require_object_property_is_enumerable = /* @__PURE__ */ __commonJSMin(((exports) => {
88 - var $propertyIsEnumerable = {}.propertyIsEnumerable;
89 - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
90 - var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
91 - exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
92 - var descriptor = getOwnPropertyDescriptor(this, V);
93 - return !!descriptor && descriptor.enumerable;
94 - } : $propertyIsEnumerable;
95 - }));
82 +module.exports = function ($) {
83 + const handlersInstances = {};
84 + this.elementsHandlers = {
85 + 'accordion.default': () => __webpack_require__.e(/*! import() | accordion */ "accordion").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/accordion */ "../assets/dev/js/frontend/handlers/accordion.js")),
86 + 'alert.default': () => __webpack_require__.e(/*! import() | alert */ "alert").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/alert */ "../assets/dev/js/frontend/handlers/alert.js")),
87 + 'counter.default': () => __webpack_require__.e(/*! import() | counter */ "counter").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/counter */ "../assets/dev/js/frontend/handlers/counter.js")),
88 + 'progress.default': () => __webpack_require__.e(/*! import() | progress */ "progress").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/progress */ "../assets/dev/js/frontend/handlers/progress.js")),
89 + 'tabs.default': () => __webpack_require__.e(/*! import() | tabs */ "tabs").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/tabs */ "../assets/dev/js/frontend/handlers/tabs.js")),
90 + 'toggle.default': () => __webpack_require__.e(/*! import() | toggle */ "toggle").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/toggle */ "../assets/dev/js/frontend/handlers/toggle.js")),
91 + 'video.default': () => __webpack_require__.e(/*! import() | video */ "video").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/video */ "../assets/dev/js/frontend/handlers/video.js")),
92 + '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 + '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
98 + };
99 + 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"));
101 + }
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 + const addGlobalHandlers = () => elementorFrontend.hooks.addAction('frontend/element_ready/global', _global.default);
110 + const addElementsHandlers = () => {
111 + $.each(this.elementsHandlers, (elementName, Handlers) => {
112 + const elementData = elementName.split('.');
113 + elementName = elementData[0];
114 + const skin = elementData[1] || null;
115 + this.attachHandler(elementName, Handlers, skin);
116 + });
117 + };
118 + const isClassHandler = Handler => Handler.prototype?.getUniqueHandlerID;
119 + const addHandlerWithHook = (elementBaseName, Handler, skin = 'default') => {
120 + skin = skin ? '.' + skin : '';
121 + const elementName = elementBaseName + skin;
122 + elementorFrontend.hooks.addAction(`frontend/element_ready/${elementName}`, $element => {
123 + if (isClassHandler(Handler)) {
124 + this.addHandler(Handler, {
125 + $element,
126 + elementName
127 + }, true);
128 + } else {
129 + const handlerValue = Handler();
130 + if (!handlerValue) {
131 + return;
132 + }
133 + if (handlerValue instanceof Promise) {
134 + handlerValue.then(({
135 + default: dynamicHandler
136 + }) => {
137 + this.addHandler(dynamicHandler, {
138 + $element,
139 + elementName
140 + }, true);
141 + });
142 + } else {
143 + this.addHandler(handlerValue, {
144 + $element,
145 + elementName
146 + }, true);
147 + }
148 + }
149 + });
150 + };
151 + this.addHandler = function (HandlerClass, options) {
152 + const elementID = options.$element.data('model-cid');
153 + let handlerID;
96 154
97 -//#endregion
98 -//#region node_modules/core-js/internals/create-property-descriptor.js
99 - var require_create_property_descriptor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
100 - module.exports = function(bitmap, value) {
101 - return {
102 - enumerable: !(bitmap & 1),
103 - configurable: !(bitmap & 2),
104 - writable: !(bitmap & 4),
105 - value
106 - };
107 - };
108 - }));
155 + // If element is in edit mode
156 + if (elementID) {
157 + handlerID = HandlerClass.prototype.getConstructorID();
158 + if (!handlersInstances[elementID]) {
159 + handlersInstances[elementID] = {};
160 + }
161 + const oldHandler = handlersInstances[elementID][handlerID];
162 + if (oldHandler) {
163 + oldHandler.onDestroy();
164 + }
165 + }
166 + const newHandler = new HandlerClass(options);
167 + elementorFrontend.hooks.doAction(`frontend/element_handler_ready/${options.elementName}`, options.$element, $);
168 + if (elementID) {
169 + handlersInstances[elementID][handlerID] = newHandler;
170 + }
171 + };
172 + this.attachHandler = (elementName, Handlers, skin) => {
173 + if (!Array.isArray(Handlers)) {
174 + Handlers = [Handlers];
175 + }
176 + Handlers.forEach(Handler => addHandlerWithHook(elementName, Handler, skin));
177 + };
178 + this.getHandler = function (handlerName) {
179 + const elementHandler = this.elementsHandlers[handlerName];
180 + if (isClassHandler(elementHandler)) {
181 + return elementHandler;
182 + }
183 + return new Promise(res => {
184 + elementHandler().then(({
185 + default: dynamicHandler
186 + }) => {
187 + res(dynamicHandler);
188 + });
189 + });
190 + };
109 191
110 -//#endregion
111 -//#region node_modules/core-js/internals/function-uncurry-this.js
112 - var require_function_uncurry_this = /* @__PURE__ */ __commonJSMin(((exports, module) => {
113 - var NATIVE_BIND = require_function_bind_native();
114 - var FunctionPrototype = Function.prototype;
115 - var call = FunctionPrototype.call;
116 - var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
117 - module.exports = NATIVE_BIND ? uncurryThisWithBind : function(fn) {
118 - return function() {
119 - return call.apply(fn, arguments);
120 - };
121 - };
122 - }));
192 + /**
193 + * @param {string} handlerName
194 + * @deprecated since 3.1.0, use `elementorFrontend.elementsHandler.getHandler` instead.
195 + */
196 + this.getHandlers = function (handlerName) {
197 + elementorDevTools.deprecation.deprecated('getHandlers', '3.1.0', 'elementorFrontend.elementsHandler.getHandler');
198 + if (handlerName) {
199 + return this.getHandler(handlerName);
200 + }
201 + return this.elementsHandlers;
202 + };
203 + 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) {
206 + return;
207 + }
123 208
124 -//#endregion
125 -//#region node_modules/core-js/internals/classof-raw.js
126 - var require_classof_raw = /* @__PURE__ */ __commonJSMin(((exports, module) => {
127 - var uncurryThis = require_function_uncurry_this();
128 - var toString = uncurryThis({}.toString);
129 - var stringSlice = uncurryThis("".slice);
130 - module.exports = function(it) {
131 - return stringSlice(toString(it), 8, -1);
132 - };
133 - }));
209 + // Initializing the `$scope` as frontend jQuery instance
210 + const $scope = jQuery(scope),
211 + elementType = $scope.attr('data-element_type');
212 + if (!elementType) {
213 + return;
214 + }
215 + elementorFrontend.hooks.doAction('frontend/element_ready/global', $scope, $);
216 + elementorFrontend.hooks.doAction(`frontend/element_ready/${elementType}`, $scope, $);
217 + if ('widget' === elementType) {
218 + const widgetType = $scope.attr('data-widget_type');
219 + elementorFrontend.hooks.doAction(`frontend/element_ready/${widgetType}`, $scope, $);
220 + }
221 + };
222 + this.init = () => {
223 + addGlobalHandlers();
224 + addElementsHandlers();
225 + };
226 +};
134 227
135 -//#endregion
136 -//#region node_modules/core-js/internals/indexed-object.js
137 - var require_indexed_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {
138 - var uncurryThis = require_function_uncurry_this();
139 - var fails = require_fails();
140 - var classof = require_classof_raw();
141 - var $Object = Object;
142 - var split = uncurryThis("".split);
143 - module.exports = fails(function() {
144 - return !$Object("z").propertyIsEnumerable(0);
145 - }) ? function(it) {
146 - return classof(it) === "String" ? split(it, "") : $Object(it);
147 - } : $Object;
148 - }));
228 +/***/ }),
149 229
150 -//#endregion
151 -//#region node_modules/core-js/internals/is-null-or-undefined.js
152 - var require_is_null_or_undefined = /* @__PURE__ */ __commonJSMin(((exports, module) => {
153 - module.exports = function(it) {
154 - return it === null || it === void 0;
155 - };
156 - }));
230 +/***/ "../assets/dev/js/frontend/frontend.js":
231 +/*!*********************************************!*\
232 + !*** ../assets/dev/js/frontend/frontend.js ***!
233 + \*********************************************/
234 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
157 235
158 -//#endregion
159 -//#region node_modules/core-js/internals/require-object-coercible.js
160 - var require_require_object_coercible = /* @__PURE__ */ __commonJSMin(((exports, module) => {
161 - var isNullOrUndefined = require_is_null_or_undefined();
162 - var $TypeError = TypeError;
163 - module.exports = function(it) {
164 - if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it);
165 - return it;
166 - };
167 - }));
168 236
169 -//#endregion
170 -//#region node_modules/core-js/internals/to-indexed-object.js
171 - var require_to_indexed_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {
172 - var IndexedObject = require_indexed_object();
173 - var requireObjectCoercible = require_require_object_coercible();
174 - module.exports = function(it) {
175 - return IndexedObject(requireObjectCoercible(it));
176 - };
177 - }));
178 237
179 -//#endregion
180 -//#region node_modules/core-js/internals/is-callable.js
181 - var require_is_callable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
182 - var documentAll = typeof document == "object" && document.all;
183 - module.exports = typeof documentAll == "undefined" && documentAll !== void 0 ? function(argument) {
184 - return typeof argument == "function" || argument === documentAll;
185 - } : function(argument) {
186 - return typeof argument == "function";
187 - };
188 - }));
238 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
239 +Object.defineProperty(exports, "__esModule", ({
240 + value: true
241 +}));
242 +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 +__webpack_require__(/*! ../public-path */ "../assets/dev/js/public-path.js");
247 +var _documentsManager = _interopRequireDefault(__webpack_require__(/*! ./documents-manager */ "../assets/dev/js/frontend/documents-manager.js"));
248 +var _storage = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/storage */ "../core/common/assets/js/utils/storage.js"));
249 +var _environment = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/environment */ "../core/common/assets/js/utils/environment.js"));
250 +var _youtubeLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/video-api/youtube-loader */ "../assets/dev/js/frontend/utils/video-api/youtube-loader.js"));
251 +var _vimeoLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/video-api/vimeo-loader */ "../assets/dev/js/frontend/utils/video-api/vimeo-loader.js"));
252 +var _baseLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/video-api/base-loader */ "../assets/dev/js/frontend/utils/video-api/base-loader.js"));
253 +var _urlActions = _interopRequireDefault(__webpack_require__(/*! ./utils/url-actions */ "../assets/dev/js/frontend/utils/url-actions.js"));
254 +var _swiper = _interopRequireDefault(__webpack_require__(/*! ./utils/swiper */ "../assets/dev/js/frontend/utils/swiper.js"));
255 +var _lightboxManager = _interopRequireDefault(__webpack_require__(/*! ./utils/lightbox/lightbox-manager */ "../assets/dev/js/frontend/utils/lightbox/lightbox-manager.js"));
256 +var _assetsLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/assets-loader */ "../assets/dev/js/frontend/utils/assets-loader.js"));
257 +var _breakpoints = _interopRequireDefault(__webpack_require__(/*! elementor-utils/breakpoints */ "../assets/dev/js/utils/breakpoints.js"));
258 +var _events = _interopRequireDefault(__webpack_require__(/*! elementor-utils/events */ "../assets/dev/js/utils/events.js"));
259 +var _frontend = _interopRequireDefault(__webpack_require__(/*! elementor/modules/shapes/assets/js/frontend/frontend */ "../modules/shapes/assets/js/frontend/frontend.js"));
260 +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 +var _utils = __webpack_require__(/*! elementor-frontend/utils/utils */ "../assets/dev/js/frontend/utils/utils.js");
263 +/* global elementorFrontendConfig */
189 264
190 -//#endregion
191 -//#region node_modules/core-js/internals/is-object.js
192 - var require_is_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {
193 - var isCallable = require_is_callable();
194 - module.exports = function(it) {
195 - return typeof it == "object" ? it !== null : isCallable(it);
196 - };
197 - }));
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");
267 +class Frontend extends elementorModules.ViewModule {
268 + constructor(...args) {
269 + super(...args);
270 + this.config = elementorFrontendConfig;
271 + this.config.legacyMode = {
272 + /**
273 + * @deprecated since 3.1.0
274 + */
275 + get elementWrappers() {
276 + if (elementorFrontend.isEditMode()) {
277 + window.top.elementorDevTools.deprecation.deprecated('elementorFrontend.config.legacyMode.elementWrappers', '3.1.0');
278 + }
279 + return false;
280 + }
281 + };
282 + this.populateActiveBreakpointsConfig();
283 + }
198 284
199 -//#endregion
200 -//#region node_modules/core-js/internals/get-built-in.js
201 - var require_get_built_in = /* @__PURE__ */ __commonJSMin(((exports, module) => {
202 - var globalThis = require_global_this();
203 - var isCallable = require_is_callable();
204 - var aFunction = function(argument) {
205 - return isCallable(argument) ? argument : void 0;
206 - };
207 - module.exports = function(namespace, method) {
208 - return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];
209 - };
210 - }));
285 + /**
286 + * @deprecated since 2.5.0, use `elementorModules.frontend.handlers.Base` instead.
287 + */
288 + get Module() {
289 + if (this.isEditMode()) {
290 + parent.elementorDevTools.deprecation.deprecated('elementorFrontend.Module', '2.5.0', 'elementorModules.frontend.handlers.Base');
291 + }
292 + return elementorModules.frontend.handlers.Base;
293 + }
294 + getDefaultSettings() {
295 + return {
296 + selectors: {
297 + elementor: '.elementor',
298 + adminBar: '#wpadminbar'
299 + }
300 + };
301 + }
302 + getDefaultElements() {
303 + const defaultElements = {
304 + window,
305 + $window: jQuery(window),
306 + $document: jQuery(document),
307 + $head: jQuery(document.head),
308 + $body: jQuery(document.body),
309 + $deviceMode: jQuery('<span>', {
310 + id: 'elementor-device-mode',
311 + class: 'elementor-screen-only'
312 + })
313 + };
314 + defaultElements.$body.append(defaultElements.$deviceMode);
315 + return defaultElements;
316 + }
317 + bindEvents() {
318 + this.elements.$window.on('resize', () => this.setDeviceModeData());
319 + }
211 320
212 -//#endregion
213 -//#region node_modules/core-js/internals/object-is-prototype-of.js
214 - var require_object_is_prototype_of = /* @__PURE__ */ __commonJSMin(((exports, module) => {
215 - var uncurryThis = require_function_uncurry_this();
216 - module.exports = uncurryThis({}.isPrototypeOf);
217 - }));
321 + /**
322 + * @param {string} elementName
323 + * @deprecated since 2.4.0, use `this.elements` instead.
324 + */
325 + getElements(elementName) {
326 + return this.getItems(this.elements, elementName);
327 + }
218 328
219 -//#endregion
220 -//#region node_modules/core-js/internals/environment-user-agent.js
221 - var require_environment_user_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
222 - var navigator = require_global_this().navigator;
223 - var userAgent = navigator && navigator.userAgent;
224 - module.exports = userAgent ? String(userAgent) : "";
225 - }));
329 + /**
330 + * @param {string} settingName
331 + * @deprecated since 2.4.0, this method was never in use.
332 + */
333 + getPageSettings(settingName) {
334 + const settingsObject = this.isEditMode() ? elementor.settings.page.model.attributes : this.config.settings.page;
335 + return this.getItems(settingsObject, settingName);
336 + }
226 337
227 -//#endregion
228 -//#region node_modules/core-js/internals/environment-v8-version.js
229 - var require_environment_v8_version = /* @__PURE__ */ __commonJSMin(((exports, module) => {
230 - var globalThis = require_global_this();
231 - var userAgent = require_environment_user_agent();
232 - var process = globalThis.process;
233 - var Deno = globalThis.Deno;
234 - var versions = process && process.versions || Deno && Deno.version;
235 - var v8 = versions && versions.v8;
236 - var match;
237 - var version;
238 - if (v8) {
239 - match = v8.split(".");
240 - version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
241 - }
242 - if (!version && userAgent) {
243 - match = userAgent.match(/Edge\/(\d+)/);
244 - if (!match || match[1] >= 74) {
245 - match = userAgent.match(/Chrome\/(\d+)/);
246 - if (match) version = +match[1];
247 - }
248 - }
249 - module.exports = version;
250 - }));
338 + /**
339 + * @param {string} settingName
340 + * @deprecated since 3.0.0, use `getKitSettings()` instead and remove the `elementor_` prefix.
341 + */
342 + getGeneralSettings(settingName) {
343 + if (this.isEditMode()) {
344 + parent.elementorDevTools.deprecation.deprecated('getGeneralSettings()', '3.0.0', 'getKitSettings() and remove the `elementor_` prefix');
345 + }
346 + return this.getKitSettings(`elementor_${settingName}`);
347 + }
348 + getKitSettings(settingName) {
349 + // TODO: use Data API.
350 + return this.getItems(this.config.kit, settingName);
351 + }
352 + getCurrentDeviceMode() {
353 + return getComputedStyle(this.elements.$deviceMode[0], ':after').content.replace(/"/g, '');
354 + }
355 + getDeviceSetting(deviceMode, settings, settingKey) {
356 + // Add specific handling for widescreen since it is larger than desktop.
357 + if ('widescreen' === deviceMode) {
358 + return this.getWidescreenSetting(settings, settingKey);
359 + }
360 + const devices = elementorFrontend.breakpoints.getActiveBreakpointsList({
361 + largeToSmall: true,
362 + withDesktop: true
363 + });
364 + let deviceIndex = devices.indexOf(deviceMode);
365 + while (deviceIndex > 0) {
366 + const currentDevice = devices[deviceIndex],
367 + fullSettingKey = settingKey + '_' + currentDevice,
368 + deviceValue = settings[fullSettingKey];
251 369
252 -//#endregion
253 -//#region node_modules/core-js/internals/symbol-constructor-detection.js
254 - var require_symbol_constructor_detection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
255 - var V8_VERSION = require_environment_v8_version();
256 - var fails = require_fails();
257 - var $String = require_global_this().String;
258 - module.exports = !!Object.getOwnPropertySymbols && !fails(function() {
259 - var symbol = Symbol("symbol detection");
260 - return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;
261 - });
262 - }));
370 + // Accept 0 as value.
371 + if (deviceValue || 0 === deviceValue) {
372 + return deviceValue;
373 + }
374 + deviceIndex--;
375 + }
376 + return settings[settingKey];
377 + }
378 + getWidescreenSetting(settings, settingKey) {
379 + const deviceMode = 'widescreen',
380 + widescreenSettingKey = settingKey + '_' + deviceMode;
381 + let settingToReturn;
263 382
264 -//#endregion
265 -//#region node_modules/core-js/internals/use-symbol-as-uid.js
266 - var require_use_symbol_as_uid = /* @__PURE__ */ __commonJSMin(((exports, module) => {
267 - var NATIVE_SYMBOL = require_symbol_constructor_detection();
268 - module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == "symbol";
269 - }));
383 + // If the device mode is 'widescreen', and the setting exists - return it.
384 + if (settings[widescreenSettingKey]) {
385 + settingToReturn = settings[widescreenSettingKey];
386 + } else {
387 + // Otherwise, return the desktop setting
388 + settingToReturn = settings[settingKey];
389 + }
390 + return settingToReturn;
391 + }
392 + getCurrentDeviceSetting(settings, settingKey) {
393 + return this.getDeviceSetting(elementorFrontend.getCurrentDeviceMode(), settings, settingKey);
394 + }
395 + isEditMode() {
396 + return this.config.environmentMode.edit;
397 + }
398 + isWPPreviewMode() {
399 + return this.config.environmentMode.wpPreview;
400 + }
401 + initDialogsManager() {
402 + let dialogsManager;
403 + this.getDialogsManager = () => {
404 + if (!dialogsManager) {
405 + dialogsManager = new DialogsManager.Instance();
406 + }
407 + return dialogsManager;
408 + };
409 + }
410 + initOnReadyComponents() {
411 + this.utils = {
412 + youtube: new _youtubeLoader.default(),
413 + vimeo: new _vimeoLoader.default(),
414 + baseVideoLoader: new _baseLoader.default(),
415 + get lightbox() {
416 + return _lightboxManager.default.getLightbox();
417 + },
418 + urlActions: new _urlActions.default(),
419 + swiper: _swiper.default,
420 + environment: _environment.default,
421 + assetsLoader: new _assetsLoader.default(),
422 + escapeHTML: _utils.escapeHTML,
423 + events: _events.default,
424 + controls: new _controls.default(),
425 + anchor_scroll_margin: new _anchorScrollMargin.default()
426 + };
270 427
271 -//#endregion
272 -//#region node_modules/core-js/internals/is-symbol.js
273 - var require_is_symbol = /* @__PURE__ */ __commonJSMin(((exports, module) => {
274 - var getBuiltIn = require_get_built_in();
275 - var isCallable = require_is_callable();
276 - var isPrototypeOf = require_object_is_prototype_of();
277 - var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();
278 - var $Object = Object;
279 - module.exports = USE_SYMBOL_AS_UID ? function(it) {
280 - return typeof it == "symbol";
281 - } : function(it) {
282 - var $Symbol = getBuiltIn("Symbol");
283 - return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
284 - };
285 - }));
428 + // TODO: BC since 2.4.0
429 + this.modules = {
430 + StretchElement: elementorModules.frontend.tools.StretchElement,
431 + Masonry: elementorModules.utils.Masonry
432 + };
433 + this.elementsHandler.init();
434 + if (this.isEditMode()) {
435 + elementor.once('document:loaded', () => this.onDocumentLoaded());
436 + } else {
437 + this.onDocumentLoaded();
438 + }
439 + }
440 + initOnReadyElements() {
441 + this.elements.$wpAdminBar = this.elements.$document.find(this.getSettings('selectors.adminBar'));
442 + }
443 + addUserAgentClasses() {
444 + for (const [key, value] of Object.entries(_environment.default)) {
445 + if (value) {
446 + this.elements.$body.addClass('e--ua-' + key);
447 + }
448 + }
449 + }
450 + setDeviceModeData() {
451 + this.elements.$body.attr('data-elementor-device-mode', this.getCurrentDeviceMode());
452 + }
453 + addListenerOnce(listenerID, event, callback, to) {
454 + if (!to) {
455 + to = this.elements.$window;
456 + }
457 + if (!this.isEditMode()) {
458 + to.on(event, callback);
459 + return;
460 + }
461 + this.removeListeners(listenerID, event, to);
462 + if (to instanceof jQuery) {
463 + const eventNS = event + '.' + listenerID;
464 + to.on(eventNS, callback);
465 + } else {
466 + to.on(event, callback, listenerID);
467 + }
468 + }
469 + removeListeners(listenerID, event, callback, from) {
470 + if (!from) {
471 + from = this.elements.$window;
472 + }
473 + if (from instanceof jQuery) {
474 + const eventNS = event + '.' + listenerID;
475 + from.off(eventNS, callback);
476 + } else {
477 + from.off(event, callback, listenerID);
478 + }
479 + }
286 480
287 -//#endregion
288 -//#region node_modules/core-js/internals/try-to-string.js
289 - var require_try_to_string = /* @__PURE__ */ __commonJSMin(((exports, module) => {
290 - var $String = String;
291 - module.exports = function(argument) {
292 - try {
293 - return $String(argument);
294 - } catch (error) {
295 - return "Object";
296 - }
297 - };
298 - }));
481 + // Based on underscore function
482 + debounce(func, wait) {
483 + let timeout;
484 + return function () {
485 + const context = this,
486 + args = arguments;
487 + const later = () => {
488 + timeout = null;
489 + func.apply(context, args);
490 + };
491 + const callNow = !timeout;
492 + clearTimeout(timeout);
493 + timeout = setTimeout(later, wait);
494 + if (callNow) {
495 + func.apply(context, args);
496 + }
497 + };
498 + }
499 + muteMigrationTraces() {
500 + jQuery.migrateMute = true;
501 + jQuery.migrateTrace = false;
502 + }
299 503
300 -//#endregion
301 -//#region node_modules/core-js/internals/a-callable.js
302 - var require_a_callable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
303 - var isCallable = require_is_callable();
304 - var tryToString = require_try_to_string();
305 - var $TypeError = TypeError;
306 - module.exports = function(argument) {
307 - if (isCallable(argument)) return argument;
308 - throw new $TypeError(tryToString(argument) + " is not a function");
309 - };
310 - }));
504 + /**
505 + * Initialize the modules' widgets handlers.
506 + */
507 + initModules() {
508 + const handlers = {
509 + shapes: _frontend.default
510 + };
311 511
312 -//#endregion
313 -//#region node_modules/core-js/internals/get-method.js
314 - var require_get_method = /* @__PURE__ */ __commonJSMin(((exports, module) => {
315 - var aCallable = require_a_callable();
316 - var isNullOrUndefined = require_is_null_or_undefined();
317 - module.exports = function(V, P) {
318 - var func = V[P];
319 - return isNullOrUndefined(func) ? void 0 : aCallable(func);
320 - };
321 - }));
512 + // TODO: BC - Deprecated since 3.5.0
513 + elementorFrontend.trigger('elementor/modules/init:before');
322 514
323 -//#endregion
324 -//#region node_modules/core-js/internals/ordinary-to-primitive.js
325 - var require_ordinary_to_primitive = /* @__PURE__ */ __commonJSMin(((exports, module) => {
326 - var call = require_function_call();
327 - var isCallable = require_is_callable();
328 - var isObject = require_is_object();
329 - var $TypeError = TypeError;
330 - module.exports = function(input, pref) {
331 - var fn;
332 - var val;
333 - if (pref === "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
334 - if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
335 - if (pref !== "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
336 - throw new $TypeError("Can't convert object to primitive value");
337 - };
338 - }));
515 + // TODO: Use this instead.
516 + elementorFrontend.trigger('elementor/modules/init/before');
517 + Object.entries(handlers).forEach(([moduleName, ModuleClass]) => {
518 + this.modulesHandlers[moduleName] = new ModuleClass();
519 + });
520 + }
521 + populateActiveBreakpointsConfig() {
522 + this.config.responsive.activeBreakpoints = {};
523 + Object.entries(this.config.responsive.breakpoints).forEach(([breakpointKey, breakpointData]) => {
524 + if (breakpointData.is_enabled) {
525 + this.config.responsive.activeBreakpoints[breakpointKey] = breakpointData;
526 + }
527 + });
528 + }
529 + init() {
530 + this.hooks = new EventManager();
531 + this.breakpoints = new _breakpoints.default(this.config.responsive);
532 + this.storage = new _storage.default();
533 + this.elementsHandler = new ElementsHandler(jQuery);
534 + this.modulesHandlers = {};
535 + this.addUserAgentClasses();
536 + this.setDeviceModeData();
537 + this.initDialogsManager();
538 + if (this.isEditMode()) {
539 + this.muteMigrationTraces();
540 + }
339 541
340 -//#endregion
341 -//#region node_modules/core-js/internals/is-pure.js
342 - var require_is_pure = /* @__PURE__ */ __commonJSMin(((exports, module) => {
343 - module.exports = false;
344 - }));
542 + // Keep this line before `initOnReadyComponents` call
543 + _events.default.dispatch(this.elements.$window, 'elementor/frontend/init');
544 + this.initModules();
545 + this.initOnReadyElements();
546 + this.initOnReadyComponents();
547 + }
548 + onDocumentLoaded() {
549 + this.documentsManager = new _documentsManager.default();
550 + this.trigger('components:init');
551 + new _lightboxManager.default();
552 + }
553 +}
554 +exports["default"] = Frontend;
555 +window.elementorFrontend = new Frontend();
556 +if (!elementorFrontend.isEditMode()) {
557 + jQuery(() => elementorFrontend.init());
558 +}
345 559
346 -//#endregion
347 -//#region node_modules/core-js/internals/define-global-property.js
348 - var require_define_global_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {
349 - var globalThis = require_global_this();
350 - var defineProperty = Object.defineProperty;
351 - module.exports = function(key, value) {
352 - try {
353 - defineProperty(globalThis, key, {
354 - value,
355 - configurable: true,
356 - writable: true
357 - });
358 - } catch (error) {
359 - globalThis[key] = value;
360 - }
361 - return value;
362 - };
363 - }));
560 +/***/ }),
364 561
365 -//#endregion
366 -//#region node_modules/core-js/internals/shared-store.js
367 - var require_shared_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {
368 - var IS_PURE = require_is_pure();
369 - var globalThis = require_global_this();
370 - var defineGlobalProperty = require_define_global_property();
371 - var SHARED = "__core-js_shared__";
372 - var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
373 - (store.versions || (store.versions = [])).push({
374 - version: "3.46.0",
375 - mode: IS_PURE ? "pure" : "global",
376 - copyright: "© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)",
377 - license: "https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE",
378 - source: "https://github.com/zloirock/core-js"
379 - });
380 - }));
562 +/***/ "../assets/dev/js/frontend/handlers/column.js":
563 +/*!****************************************************!*\
564 + !*** ../assets/dev/js/frontend/handlers/column.js ***!
565 + \****************************************************/
566 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
381 567
382 -//#endregion
383 -//#region node_modules/core-js/internals/shared.js
384 - var require_shared = /* @__PURE__ */ __commonJSMin(((exports, module) => {
385 - var store = require_shared_store();
386 - module.exports = function(key, value) {
387 - return store[key] || (store[key] = value || {});
388 - };
389 - }));
390 568
391 -//#endregion
392 -//#region node_modules/core-js/internals/to-object.js
393 - var require_to_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {
394 - var requireObjectCoercible = require_require_object_coercible();
395 - var $Object = Object;
396 - module.exports = function(argument) {
397 - return $Object(requireObjectCoercible(argument));
398 - };
399 - }));
400 569
401 -//#endregion
402 -//#region node_modules/core-js/internals/has-own-property.js
403 - var require_has_own_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {
404 - var uncurryThis = require_function_uncurry_this();
405 - var toObject = require_to_object();
406 - var hasOwnProperty = uncurryThis({}.hasOwnProperty);
407 - module.exports = Object.hasOwn || function hasOwn(it, key) {
408 - return hasOwnProperty(toObject(it), key);
409 - };
410 - }));
570 +Object.defineProperty(exports, "__esModule", ({
571 + value: true
572 +}));
573 +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"))];
411 575
412 -//#endregion
413 -//#region node_modules/core-js/internals/uid.js
414 - var require_uid = /* @__PURE__ */ __commonJSMin(((exports, module) => {
415 - var uncurryThis = require_function_uncurry_this();
416 - var id = 0;
417 - var postfix = Math.random();
418 - var toString = uncurryThis(1.1.toString);
419 - module.exports = function(key) {
420 - return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36);
421 - };
422 - }));
576 +/***/ }),
423 577
424 -//#endregion
425 -//#region node_modules/core-js/internals/well-known-symbol.js
426 - var require_well_known_symbol = /* @__PURE__ */ __commonJSMin(((exports, module) => {
427 - var globalThis = require_global_this();
428 - var shared = require_shared();
429 - var hasOwn = require_has_own_property();
430 - var uid = require_uid();
431 - var NATIVE_SYMBOL = require_symbol_constructor_detection();
432 - var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();
433 - var Symbol = globalThis.Symbol;
434 - var WellKnownSymbolsStore = shared("wks");
435 - var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol["for"] || Symbol : Symbol && Symbol.withoutSetter || uid;
436 - module.exports = function(name) {
437 - if (!hasOwn(WellKnownSymbolsStore, name)) WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol("Symbol." + name);
438 - return WellKnownSymbolsStore[name];
439 - };
440 - }));
578 +/***/ "../assets/dev/js/frontend/handlers/container/container.js":
579 +/*!*****************************************************************!*\
580 + !*** ../assets/dev/js/frontend/handlers/container/container.js ***!
581 + \*****************************************************************/
582 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
441 583
442 -//#endregion
443 -//#region node_modules/core-js/internals/to-primitive.js
444 - var require_to_primitive = /* @__PURE__ */ __commonJSMin(((exports, module) => {
445 - var call = require_function_call();
446 - var isObject = require_is_object();
447 - var isSymbol = require_is_symbol();
448 - var getMethod = require_get_method();
449 - var ordinaryToPrimitive = require_ordinary_to_primitive();
450 - var wellKnownSymbol = require_well_known_symbol();
451 - var $TypeError = TypeError;
452 - var TO_PRIMITIVE = wellKnownSymbol("toPrimitive");
453 - module.exports = function(input, pref) {
454 - if (!isObject(input) || isSymbol(input)) return input;
455 - var exoticToPrim = getMethod(input, TO_PRIMITIVE);
456 - var result;
457 - if (exoticToPrim) {
458 - if (pref === void 0) pref = "default";
459 - result = call(exoticToPrim, input, pref);
460 - if (!isObject(result) || isSymbol(result)) return result;
461 - throw new $TypeError("Can't convert object to primitive value");
462 - }
463 - if (pref === void 0) pref = "number";
464 - return ordinaryToPrimitive(input, pref);
465 - };
466 - }));
467 584
468 -//#endregion
469 -//#region node_modules/core-js/internals/to-property-key.js
470 - var require_to_property_key = /* @__PURE__ */ __commonJSMin(((exports, module) => {
471 - var toPrimitive = require_to_primitive();
472 - var isSymbol = require_is_symbol();
473 - module.exports = function(argument) {
474 - var key = toPrimitive(argument, "string");
475 - return isSymbol(key) ? key : key + "";
476 - };
477 - }));
478 585
479 -//#endregion
480 -//#region node_modules/core-js/internals/document-create-element.js
481 - var require_document_create_element = /* @__PURE__ */ __commonJSMin(((exports, module) => {
482 - var globalThis = require_global_this();
483 - var isObject = require_is_object();
484 - var document = globalThis.document;
485 - var EXISTS = isObject(document) && isObject(document.createElement);
486 - module.exports = function(it) {
487 - return EXISTS ? document.createElement(it) : {};
488 - };
489 - }));
586 +Object.defineProperty(exports, "__esModule", ({
587 + value: true
588 +}));
589 +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")))];
490 592
491 -//#endregion
492 -//#region node_modules/core-js/internals/ie8-dom-define.js
493 - var require_ie8_dom_define = /* @__PURE__ */ __commonJSMin(((exports, module) => {
494 - var DESCRIPTORS = require_descriptors();
495 - var fails = require_fails();
496 - var createElement = require_document_create_element();
497 - module.exports = !DESCRIPTORS && !fails(function() {
498 - return Object.defineProperty(createElement("div"), "a", { get: function() {
499 - return 7;
500 - } }).a !== 7;
501 - });
502 - }));
593 +/***/ }),
503 594
504 -//#endregion
505 -//#region node_modules/core-js/internals/object-get-own-property-descriptor.js
506 - var require_object_get_own_property_descriptor = /* @__PURE__ */ __commonJSMin(((exports) => {
507 - var DESCRIPTORS = require_descriptors();
508 - var call = require_function_call();
509 - var propertyIsEnumerableModule = require_object_property_is_enumerable();
510 - var createPropertyDescriptor = require_create_property_descriptor();
511 - var toIndexedObject = require_to_indexed_object();
512 - var toPropertyKey = require_to_property_key();
513 - var hasOwn = require_has_own_property();
514 - var IE8_DOM_DEFINE = require_ie8_dom_define();
515 - var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
516 - exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
517 - O = toIndexedObject(O);
518 - P = toPropertyKey(P);
519 - if (IE8_DOM_DEFINE) try {
520 - return $getOwnPropertyDescriptor(O, P);
521 - } catch (error) {}
522 - if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
523 - };
524 - }));
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) => {
525 600
526 -//#endregion
527 -//#region node_modules/core-js/internals/v8-prototype-define-bug.js
528 - var require_v8_prototype_define_bug = /* @__PURE__ */ __commonJSMin(((exports, module) => {
529 - var DESCRIPTORS = require_descriptors();
530 - var fails = require_fails();
531 - module.exports = DESCRIPTORS && fails(function() {
532 - return Object.defineProperty(function() {}, "prototype", {
533 - value: 42,
534 - writable: false
535 - }).prototype !== 42;
536 - });
537 - }));
538 601
539 -//#endregion
540 -//#region node_modules/core-js/internals/an-object.js
541 - var require_an_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {
542 - var isObject = require_is_object();
543 - var $String = String;
544 - var $TypeError = TypeError;
545 - module.exports = function(argument) {
546 - if (isObject(argument)) return argument;
547 - throw new $TypeError($String(argument) + " is not an object");
548 - };
549 - }));
550 602
551 -//#endregion
552 -//#region node_modules/core-js/internals/object-define-property.js
553 - var require_object_define_property = /* @__PURE__ */ __commonJSMin(((exports) => {
554 - var DESCRIPTORS = require_descriptors();
555 - var IE8_DOM_DEFINE = require_ie8_dom_define();
556 - var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();
557 - var anObject = require_an_object();
558 - var toPropertyKey = require_to_property_key();
559 - var $TypeError = TypeError;
560 - var $defineProperty = Object.defineProperty;
561 - var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
562 - var ENUMERABLE = "enumerable";
563 - var CONFIGURABLE = "configurable";
564 - var WRITABLE = "writable";
565 - exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
566 - anObject(O);
567 - P = toPropertyKey(P);
568 - anObject(Attributes);
569 - if (typeof O === "function" && P === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
570 - var current = $getOwnPropertyDescriptor(O, P);
571 - if (current && current[WRITABLE]) {
572 - O[P] = Attributes.value;
573 - Attributes = {
574 - configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
575 - enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
576 - writable: false
577 - };
578 - }
579 - }
580 - return $defineProperty(O, P, Attributes);
581 - } : $defineProperty : function defineProperty(O, P, Attributes) {
582 - anObject(O);
583 - P = toPropertyKey(P);
584 - anObject(Attributes);
585 - if (IE8_DOM_DEFINE) try {
586 - return $defineProperty(O, P, Attributes);
587 - } catch (error) {}
588 - if ("get" in Attributes || "set" in Attributes) throw new $TypeError("Accessors not supported");
589 - if ("value" in Attributes) O[P] = Attributes.value;
590 - return O;
591 - };
592 - }));
603 +Object.defineProperty(exports, "__esModule", ({
604 + value: true
605 +}));
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 +}
593 616
594 -//#endregion
595 -//#region node_modules/core-js/internals/create-non-enumerable-property.js
596 - var require_create_non_enumerable_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {
597 - var DESCRIPTORS = require_descriptors();
598 - var definePropertyModule = require_object_define_property();
599 - var createPropertyDescriptor = require_create_property_descriptor();
600 - module.exports = DESCRIPTORS ? function(object, key, value) {
601 - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
602 - } : function(object, key, value) {
603 - object[key] = value;
604 - return object;
605 - };
606 - }));
617 +/***/ }),
607 618
608 -//#endregion
609 -//#region node_modules/core-js/internals/function-name.js
610 - var require_function_name = /* @__PURE__ */ __commonJSMin(((exports, module) => {
611 - var DESCRIPTORS = require_descriptors();
612 - var hasOwn = require_has_own_property();
613 - var FunctionPrototype = Function.prototype;
614 - var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
615 - var EXISTS = hasOwn(FunctionPrototype, "name");
616 - var PROPER = EXISTS && (function something() {}).name === "something";
617 - var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, "name").configurable);
618 - module.exports = {
619 - EXISTS,
620 - PROPER,
621 - CONFIGURABLE
622 - };
623 - }));
619 +/***/ "../assets/dev/js/frontend/handlers/global.js":
620 +/*!****************************************************!*\
621 + !*** ../assets/dev/js/frontend/handlers/global.js ***!
622 + \****************************************************/
623 +/***/ ((__unused_webpack_module, exports) => {
624 624
625 -//#endregion
626 -//#region node_modules/core-js/internals/inspect-source.js
627 - var require_inspect_source = /* @__PURE__ */ __commonJSMin(((exports, module) => {
628 - var uncurryThis = require_function_uncurry_this();
629 - var isCallable = require_is_callable();
630 - var store = require_shared_store();
631 - var functionToString = uncurryThis(Function.toString);
632 - if (!isCallable(store.inspectSource)) store.inspectSource = function(it) {
633 - return functionToString(it);
634 - };
635 - module.exports = store.inspectSource;
636 - }));
637 625
638 -//#endregion
639 -//#region node_modules/core-js/internals/weak-map-basic-detection.js
640 - var require_weak_map_basic_detection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
641 - var globalThis = require_global_this();
642 - var isCallable = require_is_callable();
643 - var WeakMap = globalThis.WeakMap;
644 - module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
645 - }));
646 626
647 -//#endregion
648 -//#region node_modules/core-js/internals/shared-key.js
649 - var require_shared_key = /* @__PURE__ */ __commonJSMin(((exports, module) => {
650 - var shared = require_shared();
651 - var uid = require_uid();
652 - var keys = shared("keys");
653 - module.exports = function(key) {
654 - return keys[key] || (keys[key] = uid(key));
655 - };
656 - }));
627 +Object.defineProperty(exports, "__esModule", ({
628 + value: true
629 +}));
630 +exports["default"] = void 0;
631 +class GlobalHandler extends elementorModules.frontend.handlers.Base {
632 + getWidgetType() {
633 + return 'global';
634 + }
635 + animate() {
636 + const $element = this.$element,
637 + animation = this.getAnimation();
638 + if ('none' === animation) {
639 + $element.removeClass('elementor-invisible');
640 + return;
641 + }
642 + const elementSettings = this.getElementSettings(),
643 + animationDelay = elementSettings._animation_delay || elementSettings.animation_delay || 0;
644 + $element.removeClass(animation);
645 + if (this.currentAnimation) {
646 + $element.removeClass(this.currentAnimation);
647 + }
648 + this.currentAnimation = animation;
649 + setTimeout(() => {
650 + $element.removeClass('elementor-invisible').addClass('animated ' + animation);
651 + }, animationDelay);
652 + }
653 + getAnimation() {
654 + return this.getCurrentDeviceSetting('animation') || this.getCurrentDeviceSetting('_animation');
655 + }
656 + onInit(...args) {
657 + super.onInit(...args);
658 + if (this.getAnimation()) {
659 + const observer = elementorModules.utils.Scroll.scrollObserver({
660 + callback: event => {
661 + if (event.isInViewport) {
662 + this.animate();
663 + observer.unobserve(this.$element[0]);
664 + }
665 + }
666 + });
667 + observer.observe(this.$element[0]);
668 + }
669 + }
670 + onElementChange(propertyName) {
671 + if (/^_?animation/.test(propertyName)) {
672 + this.animate();
673 + }
674 + }
675 +}
676 +var _default = $scope => {
677 + elementorFrontend.elementsHandler.addHandler(GlobalHandler, {
678 + $element: $scope
679 + });
680 +};
681 +exports["default"] = _default;
657 682
658 -//#endregion
659 -//#region node_modules/core-js/internals/hidden-keys.js
660 - var require_hidden_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => {
661 - module.exports = {};
662 - }));
683 +/***/ }),
663 684
664 -//#endregion
665 -//#region node_modules/core-js/internals/internal-state.js
666 - var require_internal_state = /* @__PURE__ */ __commonJSMin(((exports, module) => {
667 - var NATIVE_WEAK_MAP = require_weak_map_basic_detection();
668 - var globalThis = require_global_this();
669 - var isObject = require_is_object();
670 - var createNonEnumerableProperty = require_create_non_enumerable_property();
671 - var hasOwn = require_has_own_property();
672 - var shared = require_shared_store();
673 - var sharedKey = require_shared_key();
674 - var hiddenKeys = require_hidden_keys();
675 - var OBJECT_ALREADY_INITIALIZED = "Object already initialized";
676 - var TypeError = globalThis.TypeError;
677 - var WeakMap = globalThis.WeakMap;
678 - var set;
679 - var get;
680 - var has;
681 - var enforce = function(it) {
682 - return has(it) ? get(it) : set(it, {});
683 - };
684 - var getterFor = function(TYPE) {
685 - return function(it) {
686 - var state;
687 - if (!isObject(it) || (state = get(it)).type !== TYPE) throw new TypeError("Incompatible receiver, " + TYPE + " required");
688 - return state;
689 - };
690 - };
691 - if (NATIVE_WEAK_MAP || shared.state) {
692 - var store = shared.state || (shared.state = new WeakMap());
693 - store.get = store.get;
694 - store.has = store.has;
695 - store.set = store.set;
696 - set = function(it, metadata) {
697 - if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
698 - metadata.facade = it;
699 - store.set(it, metadata);
700 - return metadata;
701 - };
702 - get = function(it) {
703 - return store.get(it) || {};
704 - };
705 - has = function(it) {
706 - return store.has(it);
707 - };
708 - } else {
709 - var STATE = sharedKey("state");
710 - hiddenKeys[STATE] = true;
711 - set = function(it, metadata) {
712 - if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
713 - metadata.facade = it;
714 - createNonEnumerableProperty(it, STATE, metadata);
715 - return metadata;
716 - };
717 - get = function(it) {
718 - return hasOwn(it, STATE) ? it[STATE] : {};
719 - };
720 - has = function(it) {
721 - return hasOwn(it, STATE);
722 - };
723 - }
724 - module.exports = {
725 - set,
726 - get,
727 - has,
728 - enforce,
729 - getterFor
730 - };
731 - }));
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__) => {
732 690
733 -//#endregion
734 -//#region node_modules/core-js/internals/make-built-in.js
735 - var require_make_built_in = /* @__PURE__ */ __commonJSMin(((exports, module) => {
736 - var uncurryThis = require_function_uncurry_this();
737 - var fails = require_fails();
738 - var isCallable = require_is_callable();
739 - var hasOwn = require_has_own_property();
740 - var DESCRIPTORS = require_descriptors();
741 - var CONFIGURABLE_FUNCTION_NAME = require_function_name().CONFIGURABLE;
742 - var inspectSource = require_inspect_source();
743 - var InternalStateModule = require_internal_state();
744 - var enforceInternalState = InternalStateModule.enforce;
745 - var getInternalState = InternalStateModule.get;
746 - var $String = String;
747 - var defineProperty = Object.defineProperty;
748 - var stringSlice = uncurryThis("".slice);
749 - var replace = uncurryThis("".replace);
750 - var join = uncurryThis([].join);
751 - var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function() {
752 - return defineProperty(function() {}, "length", { value: 8 }).length !== 8;
753 - });
754 - var TEMPLATE = String(String).split("String");
755 - var makeBuiltIn = module.exports = function(value, name, options) {
756 - if (stringSlice($String(name), 0, 7) === "Symbol(") name = "[" + replace($String(name), /^Symbol\(([^)]*)\).*$/, "$1") + "]";
757 - if (options && options.getter) name = "get " + name;
758 - if (options && options.setter) name = "set " + name;
759 - if (!hasOwn(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) if (DESCRIPTORS) defineProperty(value, "name", {
760 - value: name,
761 - configurable: true
762 - });
763 - else value.name = name;
764 - if (CONFIGURABLE_LENGTH && options && hasOwn(options, "arity") && value.length !== options.arity) defineProperty(value, "length", { value: options.arity });
765 - try {
766 - if (options && hasOwn(options, "constructor") && options.constructor) {
767 - if (DESCRIPTORS) defineProperty(value, "prototype", { writable: false });
768 - } else if (value.prototype) value.prototype = void 0;
769 - } catch (error) {}
770 - var state = enforceInternalState(value);
771 - if (!hasOwn(state, "source")) state.source = join(TEMPLATE, typeof name == "string" ? name : "");
772 - return value;
773 - };
774 - Function.prototype.toString = makeBuiltIn(function toString() {
775 - return isCallable(this) && getInternalState(this).source || inspectSource(this);
776 - }, "toString");
777 - }));
778 691
779 -//#endregion
780 -//#region node_modules/core-js/internals/define-built-in.js
781 - var require_define_built_in = /* @__PURE__ */ __commonJSMin(((exports, module) => {
782 - var isCallable = require_is_callable();
783 - var definePropertyModule = require_object_define_property();
784 - var makeBuiltIn = require_make_built_in();
785 - var defineGlobalProperty = require_define_global_property();
786 - module.exports = function(O, key, value, options) {
787 - if (!options) options = {};
788 - var simple = options.enumerable;
789 - var name = options.name !== void 0 ? options.name : key;
790 - if (isCallable(value)) makeBuiltIn(value, name, options);
791 - if (options.global) if (simple) O[key] = value;
792 - else defineGlobalProperty(key, value);
793 - else {
794 - try {
795 - if (!options.unsafe) delete O[key];
796 - else if (O[key]) simple = true;
797 - } catch (error) {}
798 - if (simple) O[key] = value;
799 - else definePropertyModule.f(O, key, {
800 - value,
801 - enumerable: false,
802 - configurable: !options.nonConfigurable,
803 - writable: !options.nonWritable
804 - });
805 - }
806 - return O;
807 - };
808 - }));
809 692
810 -//#endregion
811 -//#region node_modules/core-js/internals/math-trunc.js
812 - var require_math_trunc = /* @__PURE__ */ __commonJSMin(((exports, module) => {
813 - var ceil = Math.ceil;
814 - var floor = Math.floor;
815 - module.exports = Math.trunc || function trunc(x) {
816 - var n = +x;
817 - return (n > 0 ? floor : ceil)(n);
818 - };
819 - }));
693 +Object.defineProperty(exports, "__esModule", ({
694 + value: true
695 +}));
696 +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")))];
820 701
821 -//#endregion
822 -//#region node_modules/core-js/internals/to-integer-or-infinity.js
823 - var require_to_integer_or_infinity = /* @__PURE__ */ __commonJSMin(((exports, module) => {
824 - var trunc = require_math_trunc();
825 - module.exports = function(argument) {
826 - var number = +argument;
827 - return number !== number || number === 0 ? 0 : trunc(number);
828 - };
829 - }));
702 +/***/ }),
830 703
831 -//#endregion
832 -//#region node_modules/core-js/internals/to-absolute-index.js
833 - var require_to_absolute_index = /* @__PURE__ */ __commonJSMin(((exports, module) => {
834 - var toIntegerOrInfinity = require_to_integer_or_infinity();
835 - var max = Math.max;
836 - var min = Math.min;
837 - module.exports = function(index, length) {
838 - var integer = toIntegerOrInfinity(index);
839 - return integer < 0 ? max(integer + length, 0) : min(integer, length);
840 - };
841 - }));
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__) => {
842 709
843 -//#endregion
844 -//#region node_modules/core-js/internals/to-length.js
845 - var require_to_length = /* @__PURE__ */ __commonJSMin(((exports, module) => {
846 - var toIntegerOrInfinity = require_to_integer_or_infinity();
847 - var min = Math.min;
848 - module.exports = function(argument) {
849 - var len = toIntegerOrInfinity(argument);
850 - return len > 0 ? min(len, 9007199254740991) : 0;
851 - };
852 - }));
853 710
854 -//#endregion
855 -//#region node_modules/core-js/internals/length-of-array-like.js
856 - var require_length_of_array_like = /* @__PURE__ */ __commonJSMin(((exports, module) => {
857 - var toLength = require_to_length();
858 - module.exports = function(obj) {
859 - return toLength(obj.length);
860 - };
861 - }));
862 711
863 -//#endregion
864 -//#region node_modules/core-js/internals/array-includes.js
865 - var require_array_includes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
866 - var toIndexedObject = require_to_indexed_object();
867 - var toAbsoluteIndex = require_to_absolute_index();
868 - var lengthOfArrayLike = require_length_of_array_like();
869 - var createMethod = function(IS_INCLUDES) {
870 - return function($this, el, fromIndex) {
871 - var O = toIndexedObject($this);
872 - var length = lengthOfArrayLike(O);
873 - if (length === 0) return !IS_INCLUDES && -1;
874 - var index = toAbsoluteIndex(fromIndex, length);
875 - var value;
876 - if (IS_INCLUDES && el !== el) while (length > index) {
877 - value = O[index++];
878 - if (value !== value) return true;
879 - }
880 - else for (; length > index; index++) if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
881 - return !IS_INCLUDES && -1;
882 - };
883 - };
884 - module.exports = {
885 - includes: createMethod(true),
886 - indexOf: createMethod(false)
887 - };
888 - }));
712 +Object.defineProperty(exports, "__esModule", ({
713 + value: true
714 +}));
715 +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 {
721 + getDefaultSettings() {
722 + return {
723 + selectors: {
724 + links: '.elementor-element a[href*="#"]',
725 + stickyElements: '.elementor-element.elementor-sticky'
726 + }
727 + };
728 + }
729 + onInit() {
730 + this.observeStickyElements(() => {
731 + this.initializeStickyAndAnchorTracking();
732 + });
733 + }
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 + }
740 + }
741 + });
742 + observer.observe(document.body, {
743 + childList: true,
744 + subtree: true,
745 + attributes: true,
746 + attributeFilter: ['class', 'style']
747 + });
748 + }
749 + initializeStickyAndAnchorTracking() {
750 + const anchorLinks = this.getAllAnchorLinks();
751 + const stickyElements = this.getAllStickyElements();
752 + const trackedElements = [];
753 + if (!stickyElements.length > 0 && !anchorLinks.length > 0) {
754 + return;
755 + }
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 + });
769 + });
770 + }
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 + });
790 + }
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`;
804 + }
805 + return withinRange;
806 + });
807 + }
808 + getScrollPosition(element) {
809 + let offsetTop = 0;
810 + while (element) {
811 + offsetTop += element.offsetTop;
812 + element = element.offsetParent;
813 + }
814 + return offsetTop;
815 + }
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')));
819 + }
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')));
823 + }
824 + filterAndSortElementsByType(elements, type) {
825 + return elements.filter(item => type === item.type).sort((a, b) => a.scrollPosition - b.scrollPosition);
826 + }
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;
835 + }
836 + return document.querySelector(hash);
837 + }
838 + getElementSettings(element) {
839 + return JSON.parse(element.getAttribute('data-settings'));
840 + }
841 +}
842 +exports["default"] = _default;
889 843
890 -//#endregion
891 -//#region node_modules/core-js/internals/object-keys-internal.js
892 - var require_object_keys_internal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
893 - var uncurryThis = require_function_uncurry_this();
894 - var hasOwn = require_has_own_property();
895 - var toIndexedObject = require_to_indexed_object();
896 - var indexOf = require_array_includes().indexOf;
897 - var hiddenKeys = require_hidden_keys();
898 - var push = uncurryThis([].push);
899 - module.exports = function(object, names) {
900 - var O = toIndexedObject(object);
901 - var i = 0;
902 - var result = [];
903 - var key;
904 - for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
905 - while (names.length > i) if (hasOwn(O, key = names[i++])) ~indexOf(result, key) || push(result, key);
906 - return result;
907 - };
908 - }));
844 +/***/ }),
909 845
910 -//#endregion
911 -//#region node_modules/core-js/internals/enum-bug-keys.js
912 - var require_enum_bug_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => {
913 - module.exports = [
914 - "constructor",
915 - "hasOwnProperty",
916 - "isPrototypeOf",
917 - "propertyIsEnumerable",
918 - "toLocaleString",
919 - "toString",
920 - "valueOf"
921 - ];
922 - }));
846 +/***/ "../assets/dev/js/frontend/utils/assets-loader.js":
847 +/*!********************************************************!*\
848 + !*** ../assets/dev/js/frontend/utils/assets-loader.js ***!
849 + \********************************************************/
850 +/***/ ((__unused_webpack_module, exports) => {
923 851
924 -//#endregion
925 -//#region node_modules/core-js/internals/object-get-own-property-names.js
926 - var require_object_get_own_property_names = /* @__PURE__ */ __commonJSMin(((exports) => {
927 - var internalObjectKeys = require_object_keys_internal();
928 - var hiddenKeys = require_enum_bug_keys().concat("length", "prototype");
929 - exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
930 - return internalObjectKeys(O, hiddenKeys);
931 - };
932 - }));
933 852
934 -//#endregion
935 -//#region node_modules/core-js/internals/object-get-own-property-symbols.js
936 - var require_object_get_own_property_symbols = /* @__PURE__ */ __commonJSMin(((exports) => {
937 - exports.f = Object.getOwnPropertySymbols;
938 - }));
939 853
940 -//#endregion
941 -//#region node_modules/core-js/internals/own-keys.js
942 - var require_own_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => {
943 - var getBuiltIn = require_get_built_in();
944 - var uncurryThis = require_function_uncurry_this();
945 - var getOwnPropertyNamesModule = require_object_get_own_property_names();
946 - var getOwnPropertySymbolsModule = require_object_get_own_property_symbols();
947 - var anObject = require_an_object();
948 - var concat = uncurryThis([].concat);
949 - module.exports = getBuiltIn("Reflect", "ownKeys") || function ownKeys(it) {
950 - var keys = getOwnPropertyNamesModule.f(anObject(it));
951 - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
952 - return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
953 - };
954 - }));
854 +Object.defineProperty(exports, "__esModule", ({
855 + value: true
856 +}));
857 +exports["default"] = void 0;
858 +class AssetsLoader {
859 + getScriptElement(src) {
860 + const scriptElement = document.createElement('script');
861 + scriptElement.src = src;
862 + return scriptElement;
863 + }
864 + getStyleElement(src) {
865 + const styleElement = document.createElement('link');
866 + styleElement.rel = 'stylesheet';
867 + styleElement.href = src;
868 + return styleElement;
869 + }
870 + load(type, key) {
871 + const assetData = AssetsLoader.assets[type][key];
872 + if (!assetData.loader) {
873 + assetData.loader = this.isAssetLoaded(assetData, type) ? Promise.resolve(true) : this.loadAsset(assetData, type);
874 + }
875 + return assetData.loader;
876 + }
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 +}
898 +exports["default"] = AssetsLoader;
899 +const assetsUrl = elementorFrontendConfig.urls.assets;
900 +const fileSuffix = elementorFrontendConfig.environmentMode.isScriptDebug ? '' : '.min';
901 +const pluginVersion = elementorFrontendConfig.version;
902 +AssetsLoader.assets = {
903 + script: {
904 + dialog: {
905 + src: `${assetsUrl}lib/dialog/dialog${fileSuffix}.js?ver=4.9.3`
906 + },
907 + 'share-link': {
908 + src: `${assetsUrl}lib/share-link/share-link${fileSuffix}.js?ver=${pluginVersion}`
909 + },
910 + // TODO: Remove 'swiper' in v3.29.0 [ED-16272].
911 + swiper: {
912 + src: `${assetsUrl}lib/swiper/v8/swiper${fileSuffix}.js?ver=8.4.5`
913 + }
914 + },
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 + }
929 +};
955 930
956 -//#endregion
957 -//#region node_modules/core-js/internals/copy-constructor-properties.js
958 - var require_copy_constructor_properties = /* @__PURE__ */ __commonJSMin(((exports, module) => {
959 - var hasOwn = require_has_own_property();
960 - var ownKeys = require_own_keys();
961 - var getOwnPropertyDescriptorModule = require_object_get_own_property_descriptor();
962 - var definePropertyModule = require_object_define_property();
963 - module.exports = function(target, source, exceptions) {
964 - var keys = ownKeys(source);
965 - var defineProperty = definePropertyModule.f;
966 - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
967 - for (var i = 0; i < keys.length; i++) {
968 - var key = keys[i];
969 - if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
970 - }
971 - };
972 - }));
931 +/***/ }),
973 932
974 -//#endregion
975 -//#region node_modules/core-js/internals/is-forced.js
976 - var require_is_forced = /* @__PURE__ */ __commonJSMin(((exports, module) => {
977 - var fails = require_fails();
978 - var isCallable = require_is_callable();
979 - var replacement = /#|\.prototype\./;
980 - var isForced = function(feature, detection) {
981 - var value = data[normalize(feature)];
982 - return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
983 - };
984 - var normalize = isForced.normalize = function(string) {
985 - return String(string).replace(replacement, ".").toLowerCase();
986 - };
987 - var data = isForced.data = {};
988 - var NATIVE = isForced.NATIVE = "N";
989 - var POLYFILL = isForced.POLYFILL = "P";
990 - module.exports = isForced;
991 - }));
933 +/***/ "../assets/dev/js/frontend/utils/controls.js":
934 +/*!***************************************************!*\
935 + !*** ../assets/dev/js/frontend/utils/controls.js ***!
936 + \***************************************************/
937 +/***/ ((__unused_webpack_module, exports) => {
992 938
993 -//#endregion
994 -//#region node_modules/core-js/internals/export.js
995 - var require_export = /* @__PURE__ */ __commonJSMin(((exports, module) => {
996 - var globalThis = require_global_this();
997 - var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;
998 - var createNonEnumerableProperty = require_create_non_enumerable_property();
999 - var defineBuiltIn = require_define_built_in();
1000 - var defineGlobalProperty = require_define_global_property();
1001 - var copyConstructorProperties = require_copy_constructor_properties();
1002 - var isForced = require_is_forced();
1003 - module.exports = function(options, source) {
1004 - var TARGET = options.target;
1005 - var GLOBAL = options.global;
1006 - var STATIC = options.stat;
1007 - var FORCED;
1008 - var target;
1009 - var key;
1010 - var targetProperty;
1011 - var sourceProperty;
1012 - var descriptor;
1013 - if (GLOBAL) target = globalThis;
1014 - else if (STATIC) target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});
1015 - else target = globalThis[TARGET] && globalThis[TARGET].prototype;
1016 - if (target) for (key in source) {
1017 - sourceProperty = source[key];
1018 - if (options.dontCallGetSet) {
1019 - descriptor = getOwnPropertyDescriptor(target, key);
1020 - targetProperty = descriptor && descriptor.value;
1021 - } else targetProperty = target[key];
1022 - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced);
1023 - if (!FORCED && targetProperty !== void 0) {
1024 - if (typeof sourceProperty == typeof targetProperty) continue;
1025 - copyConstructorProperties(sourceProperty, targetProperty);
1026 - }
1027 - if (options.sham || targetProperty && targetProperty.sham) createNonEnumerableProperty(sourceProperty, "sham", true);
1028 - defineBuiltIn(target, key, sourceProperty, options);
1029 - }
1030 - };
1031 - }));
1032 939
1033 -//#endregion
1034 -//#region node_modules/core-js/internals/an-instance.js
1035 - var require_an_instance = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1036 - var isPrototypeOf = require_object_is_prototype_of();
1037 - var $TypeError = TypeError;
1038 - module.exports = function(it, Prototype) {
1039 - if (isPrototypeOf(Prototype, it)) return it;
1040 - throw new $TypeError("Incorrect invocation");
1041 - };
1042 - }));
1043 940
1044 -//#endregion
1045 -//#region node_modules/core-js/internals/correct-prototype-getter.js
1046 - var require_correct_prototype_getter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1047 - var fails = require_fails();
1048 - module.exports = !fails(function() {
1049 - function F() {}
1050 - F.prototype.constructor = null;
1051 - return Object.getPrototypeOf(new F()) !== F.prototype;
1052 - });
1053 - }));
941 +Object.defineProperty(exports, "__esModule", ({
942 + value: true
943 +}));
944 +exports["default"] = void 0;
945 +class Controls {
946 + /**
947 + * Get Control Value
948 + *
949 + * Retrieves a control value.
950 + * This function has been copied from `elementor/assets/dev/js/editor/utils/conditions.js`.
951 + *
952 + * @since 3.11.0
953 + *
954 + * @param {{}} controlSettings A settings object (e.g. element settings - keys and values)
955 + * @param {string} controlKey The control key name
956 + * @param {string} controlSubKey A specific property of the control object.
957 + * @return {*} Control Value
958 + */
959 + getControlValue(controlSettings, controlKey, controlSubKey) {
960 + let value;
961 + if ('object' === typeof controlSettings[controlKey] && controlSubKey) {
962 + value = controlSettings[controlKey][controlSubKey];
963 + } else {
964 + value = controlSettings[controlKey];
965 + }
966 + return value;
967 + }
1054 968
1055 -//#endregion
1056 -//#region node_modules/core-js/internals/object-get-prototype-of.js
1057 - var require_object_get_prototype_of = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1058 - var hasOwn = require_has_own_property();
1059 - var isCallable = require_is_callable();
1060 - var toObject = require_to_object();
1061 - var sharedKey = require_shared_key();
1062 - var CORRECT_PROTOTYPE_GETTER = require_correct_prototype_getter();
1063 - var IE_PROTO = sharedKey("IE_PROTO");
1064 - var $Object = Object;
1065 - var ObjectPrototype = $Object.prototype;
1066 - module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function(O) {
1067 - var object = toObject(O);
1068 - if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
1069 - var constructor = object.constructor;
1070 - if (isCallable(constructor) && object instanceof constructor) return constructor.prototype;
1071 - return object instanceof $Object ? ObjectPrototype : null;
1072 - };
1073 - }));
969 + /**
970 + * Get the value of a responsive control.
971 + *
972 + * Retrieves the value of a responsive control for the current device or for this first parent device which has a control value.
973 + *
974 + * @since 3.11.0
975 + *
976 + * @param {{}} controlSettings A settings object (e.g. element settings - keys and values)
977 + * @param {string} controlKey The control key name
978 + * @param {string} controlSubKey A specific property of the control object.
979 + * @param {string} device If we want to get a value for a specific device mode.
980 + * @return {*} Control Value
981 + */
982 + getResponsiveControlValue(controlSettings, controlKey, controlSubKey = '', device = null) {
983 + const currentDeviceMode = device || elementorFrontend.getCurrentDeviceMode(),
984 + controlValueDesktop = this.getControlValue(controlSettings, controlKey, controlSubKey);
1074 985
1075 -//#endregion
1076 -//#region node_modules/core-js/internals/define-built-in-accessor.js
1077 - var require_define_built_in_accessor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1078 - var makeBuiltIn = require_make_built_in();
1079 - var defineProperty = require_object_define_property();
1080 - module.exports = function(target, name, descriptor) {
1081 - if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
1082 - if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
1083 - return defineProperty.f(target, name, descriptor);
1084 - };
1085 - }));
986 + // Set the control value for the current device mode.
987 + // First check the widescreen device mode.
988 + if ('widescreen' === currentDeviceMode) {
989 + const controlValueWidescreen = this.getControlValue(controlSettings, `${controlKey}_widescreen`, controlSubKey);
990 + return !!controlValueWidescreen || 0 === controlValueWidescreen ? controlValueWidescreen : controlValueDesktop;
991 + }
1086 992
1087 -//#endregion
1088 -//#region node_modules/core-js/internals/create-property.js
1089 - var require_create_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1090 - var DESCRIPTORS = require_descriptors();
1091 - var definePropertyModule = require_object_define_property();
1092 - var createPropertyDescriptor = require_create_property_descriptor();
1093 - module.exports = function(object, key, value) {
1094 - if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));
1095 - else object[key] = value;
1096 - };
1097 - }));
993 + // Loop through all responsive and desktop device modes.
994 + const activeBreakpoints = elementorFrontend.breakpoints.getActiveBreakpointsList({
995 + withDesktop: true
996 + });
997 + let parentDeviceMode = currentDeviceMode,
998 + deviceIndex = activeBreakpoints.indexOf(currentDeviceMode),
999 + controlValue = '';
1000 + while (deviceIndex <= activeBreakpoints.length) {
1001 + if ('desktop' === parentDeviceMode) {
1002 + controlValue = controlValueDesktop;
1003 + break;
1004 + }
1005 + const responsiveControlKey = `${controlKey}_${parentDeviceMode}`,
1006 + responsiveControlValue = this.getControlValue(controlSettings, responsiveControlKey, controlSubKey);
1007 + if (!!responsiveControlValue || 0 === responsiveControlValue) {
1008 + controlValue = responsiveControlValue;
1009 + break;
1010 + }
1098 1011
1099 -//#endregion
1100 -//#region node_modules/core-js/internals/object-keys.js
1101 - var require_object_keys = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1102 - var internalObjectKeys = require_object_keys_internal();
1103 - var enumBugKeys = require_enum_bug_keys();
1104 - module.exports = Object.keys || function keys(O) {
1105 - return internalObjectKeys(O, enumBugKeys);
1106 - };
1107 - }));
1012 + // If no control value has been set for the current device mode, then check the parent device mode.
1013 + deviceIndex++;
1014 + parentDeviceMode = activeBreakpoints[deviceIndex];
1015 + }
1016 + return controlValue;
1017 + }
1018 +}
1019 +exports["default"] = Controls;
1108 1020
1109 -//#endregion
1110 -//#region node_modules/core-js/internals/object-define-properties.js
1111 - var require_object_define_properties = /* @__PURE__ */ __commonJSMin(((exports) => {
1112 - var DESCRIPTORS = require_descriptors();
1113 - var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();
1114 - var definePropertyModule = require_object_define_property();
1115 - var anObject = require_an_object();
1116 - var toIndexedObject = require_to_indexed_object();
1117 - var objectKeys = require_object_keys();
1118 - exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1119 - anObject(O);
1120 - var props = toIndexedObject(Properties);
1121 - var keys = objectKeys(Properties);
1122 - var length = keys.length;
1123 - var index = 0;
1124 - var key;
1125 - while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
1126 - return O;
1127 - };
1128 - }));
1021 +/***/ }),
1129 1022
1130 -//#endregion
1131 -//#region node_modules/core-js/internals/html.js
1132 - var require_html = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1133 - var getBuiltIn = require_get_built_in();
1134 - module.exports = getBuiltIn("document", "documentElement");
1135 - }));
1023 +/***/ "../assets/dev/js/frontend/utils/lightbox/lightbox-manager.js":
1024 +/*!********************************************************************!*\
1025 + !*** ../assets/dev/js/frontend/utils/lightbox/lightbox-manager.js ***!
1026 + \********************************************************************/
1027 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1136 1028
1137 -//#endregion
1138 -//#region node_modules/core-js/internals/object-create.js
1139 - var require_object_create = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1140 - var anObject = require_an_object();
1141 - var definePropertiesModule = require_object_define_properties();
1142 - var enumBugKeys = require_enum_bug_keys();
1143 - var hiddenKeys = require_hidden_keys();
1144 - var html = require_html();
1145 - var documentCreateElement = require_document_create_element();
1146 - var sharedKey = require_shared_key();
1147 - var GT = ">";
1148 - var LT = "<";
1149 - var PROTOTYPE = "prototype";
1150 - var SCRIPT = "script";
1151 - var IE_PROTO = sharedKey("IE_PROTO");
1152 - var EmptyConstructor = function() {};
1153 - var scriptTag = function(content) {
1154 - return LT + SCRIPT + GT + content + LT + "/" + SCRIPT + GT;
1155 - };
1156 - var NullProtoObjectViaActiveX = function(activeXDocument) {
1157 - activeXDocument.write(scriptTag(""));
1158 - activeXDocument.close();
1159 - var temp = activeXDocument.parentWindow.Object;
1160 - activeXDocument = null;
1161 - return temp;
1162 - };
1163 - var NullProtoObjectViaIFrame = function() {
1164 - var iframe = documentCreateElement("iframe");
1165 - var JS = "java" + SCRIPT + ":";
1166 - var iframeDocument;
1167 - iframe.style.display = "none";
1168 - html.appendChild(iframe);
1169 - iframe.src = String(JS);
1170 - iframeDocument = iframe.contentWindow.document;
1171 - iframeDocument.open();
1172 - iframeDocument.write(scriptTag("document.F=Object"));
1173 - iframeDocument.close();
1174 - return iframeDocument.F;
1175 - };
1176 - var activeXDocument;
1177 - var NullProtoObject = function() {
1178 - try {
1179 - activeXDocument = new ActiveXObject("htmlfile");
1180 - } catch (error) {}
1181 - NullProtoObject = typeof document != "undefined" ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
1182 - var length = enumBugKeys.length;
1183 - while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1184 - return NullProtoObject();
1185 - };
1186 - hiddenKeys[IE_PROTO] = true;
1187 - module.exports = Object.create || function create(O, Properties) {
1188 - var result;
1189 - if (O !== null) {
1190 - EmptyConstructor[PROTOTYPE] = anObject(O);
1191 - result = new EmptyConstructor();
1192 - EmptyConstructor[PROTOTYPE] = null;
1193 - result[IE_PROTO] = O;
1194 - } else result = NullProtoObject();
1195 - return Properties === void 0 ? result : definePropertiesModule.f(result, Properties);
1196 - };
1197 - }));
1198 1029
1199 -//#endregion
1200 -//#region node_modules/core-js/internals/iterators-core.js
1201 - var require_iterators_core = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1202 - var fails = require_fails();
1203 - var isCallable = require_is_callable();
1204 - var isObject = require_is_object();
1205 - var create = require_object_create();
1206 - var getPrototypeOf = require_object_get_prototype_of();
1207 - var defineBuiltIn = require_define_built_in();
1208 - var wellKnownSymbol = require_well_known_symbol();
1209 - var IS_PURE = require_is_pure();
1210 - var ITERATOR = wellKnownSymbol("iterator");
1211 - var BUGGY_SAFARI_ITERATORS = false;
1212 - var IteratorPrototype;
1213 - var PrototypeOfArrayIteratorPrototype;
1214 - var arrayIterator;
1215 - if ([].keys) {
1216 - arrayIterator = [].keys();
1217 - if (!("next" in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
1218 - else {
1219 - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
1220 - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
1221 - }
1222 - }
1223 - if (!isObject(IteratorPrototype) || fails(function() {
1224 - var test = {};
1225 - return IteratorPrototype[ITERATOR].call(test) !== test;
1226 - })) IteratorPrototype = {};
1227 - else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);
1228 - if (!isCallable(IteratorPrototype[ITERATOR])) defineBuiltIn(IteratorPrototype, ITERATOR, function() {
1229 - return this;
1230 - });
1231 - module.exports = {
1232 - IteratorPrototype,
1233 - BUGGY_SAFARI_ITERATORS
1234 - };
1235 - }));
1236 1030
1237 -//#endregion
1238 -//#region node_modules/core-js/modules/es.iterator.constructor.js
1239 - var require_es_iterator_constructor = /* @__PURE__ */ __commonJSMin((() => {
1240 - var $ = require_export();
1241 - var globalThis = require_global_this();
1242 - var anInstance = require_an_instance();
1243 - var anObject = require_an_object();
1244 - var isCallable = require_is_callable();
1245 - var getPrototypeOf = require_object_get_prototype_of();
1246 - var defineBuiltInAccessor = require_define_built_in_accessor();
1247 - var createProperty = require_create_property();
1248 - var fails = require_fails();
1249 - var hasOwn = require_has_own_property();
1250 - var wellKnownSymbol = require_well_known_symbol();
1251 - var IteratorPrototype = require_iterators_core().IteratorPrototype;
1252 - var DESCRIPTORS = require_descriptors();
1253 - var IS_PURE = require_is_pure();
1254 - var CONSTRUCTOR = "constructor";
1255 - var ITERATOR = "Iterator";
1256 - var TO_STRING_TAG = wellKnownSymbol("toStringTag");
1257 - var $TypeError = TypeError;
1258 - var NativeIterator = globalThis[ITERATOR];
1259 - var FORCED = IS_PURE || !isCallable(NativeIterator) || NativeIterator.prototype !== IteratorPrototype || !fails(function() {
1260 - NativeIterator({});
1261 - });
1262 - var IteratorConstructor = function Iterator() {
1263 - anInstance(this, IteratorPrototype);
1264 - if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError("Abstract class Iterator not directly constructable");
1265 - };
1266 - var defineIteratorPrototypeAccessor = function(key, value) {
1267 - if (DESCRIPTORS) defineBuiltInAccessor(IteratorPrototype, key, {
1268 - configurable: true,
1269 - get: function() {
1270 - return value;
1271 - },
1272 - set: function(replacement) {
1273 - anObject(this);
1274 - if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property");
1275 - if (hasOwn(this, key)) this[key] = replacement;
1276 - else createProperty(this, key, replacement);
1277 - }
1278 - });
1279 - else IteratorPrototype[key] = value;
1280 - };
1281 - if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR);
1282 - if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor);
1283 - IteratorConstructor.prototype = IteratorPrototype;
1284 - $({
1285 - global: true,
1286 - constructor: true,
1287 - forced: FORCED
1288 - }, { Iterator: IteratorConstructor });
1289 - }));
1031 +Object.defineProperty(exports, "__esModule", ({
1032 + value: true
1033 +}));
1034 +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 +class LightboxManager extends elementorModules.ViewModule {
1038 + static getLightbox() {
1039 + 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()));
1043 + }),
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);
1050 + }
1051 + getDefaultSettings() {
1052 + return {
1053 + selectors: {
1054 + links: 'a, [data-elementor-lightbox]',
1055 + slideshow: '[data-elementor-lightbox-slideshow]'
1056 + }
1057 + };
1058 + }
1059 + getDefaultElements() {
1060 + return {
1061 + $links: jQuery(this.getSettings('selectors.links')),
1062 + $slideshow: jQuery(this.getSettings('selectors.slideshow'))
1063 + };
1064 + }
1065 + isLightboxLink(element) {
1066 + // 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) {
1068 + return false;
1069 + }
1070 + const generalOpenInLightbox = elementorFrontend.getKitSettings('global_image_lightbox'),
1071 + currentLinkOpenInLightbox = element.dataset.elementorOpenLightbox;
1072 + return 'yes' === currentLinkOpenInLightbox || generalOpenInLightbox && 'no' !== currentLinkOpenInLightbox;
1073 + }
1074 + isLightboxSlideshow() {
1075 + return 0 !== this.elements.$slideshow.length;
1076 + }
1077 + async onLinkClick(event) {
1078 + const element = event.currentTarget,
1079 + $target = jQuery(event.target),
1080 + editMode = elementorFrontend.isEditMode(),
1081 + isColorPickingMode = editMode && elementor.$previewContents.find('body').hasClass('elementor-editor__ui-state__color-picker'),
1082 + isClickInsideElementor = !!$target.closest('.elementor-edit-area').length;
1083 + if (!this.isLightboxLink(element)) {
1084 + if (editMode && isClickInsideElementor) {
1085 + event.preventDefault();
1086 + }
1087 + return;
1088 + }
1089 + event.preventDefault();
1090 + if (editMode && !elementor.getPreferences('lightbox_in_editor')) {
1091 + return;
1092 + }
1290 1093
1291 -//#endregion
1292 -//#region node_modules/core-js/modules/esnext.iterator.constructor.js
1293 - var require_esnext_iterator_constructor = /* @__PURE__ */ __commonJSMin((() => {
1294 - require_es_iterator_constructor();
1295 - }));
1094 + // Disable lightbox on color picking mode.
1095 + if (isColorPickingMode) {
1096 + return;
1097 + }
1098 + const lightbox = await LightboxManager.getLightbox();
1099 + lightbox.createLightbox(element);
1100 + }
1101 + bindEvents() {
1102 + elementorFrontend.elements.$document.on('click', this.getSettings('selectors.links'), event => this.onLinkClick(event));
1103 + }
1104 + onInit(...args) {
1105 + super.onInit(...args);
1106 + if (elementorFrontend.isEditMode()) {
1107 + return;
1108 + }
1109 + this.maybeActivateLightboxOnLink();
1110 + }
1111 + maybeActivateLightboxOnLink() {
1112 + // Detecting lightbox links on init will reduce the time of waiting to the lightbox to be display on slow connections.
1113 + this.elements.$links.each((index, element) => {
1114 + if (this.isLightboxLink(element)) {
1115 + LightboxManager.getLightbox();
1296 1116
1297 -//#endregion
1298 -//#region node_modules/core-js/internals/function-uncurry-this-clause.js
1299 - var require_function_uncurry_this_clause = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1300 - var classofRaw = require_classof_raw();
1301 - var uncurryThis = require_function_uncurry_this();
1302 - module.exports = function(fn) {
1303 - if (classofRaw(fn) === "Function") return uncurryThis(fn);
1304 - };
1305 - }));
1117 + // Breaking the iteration when the library loading has already been triggered.
1118 + return false;
1119 + }
1120 + });
1121 + }
1122 +}
1123 +exports["default"] = LightboxManager;
1306 1124
1307 -//#endregion
1308 -//#region node_modules/core-js/internals/function-bind-context.js
1309 - var require_function_bind_context = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1310 - var uncurryThis = require_function_uncurry_this_clause();
1311 - var aCallable = require_a_callable();
1312 - var NATIVE_BIND = require_function_bind_native();
1313 - var bind = uncurryThis(uncurryThis.bind);
1314 - module.exports = function(fn, that) {
1315 - aCallable(fn);
1316 - return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() {
1317 - return fn.apply(that, arguments);
1318 - };
1319 - };
1320 - }));
1125 +/***/ }),
1321 1126
1322 -//#endregion
1323 -//#region node_modules/core-js/internals/iterators.js
1324 - var require_iterators = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1325 - module.exports = {};
1326 - }));
1127 +/***/ "../assets/dev/js/frontend/utils/swiper.js":
1128 +/*!*************************************************!*\
1129 + !*** ../assets/dev/js/frontend/utils/swiper.js ***!
1130 + \*************************************************/
1131 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1327 1132
1328 -//#endregion
1329 -//#region node_modules/core-js/internals/is-array-iterator-method.js
1330 - var require_is_array_iterator_method = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1331 - var wellKnownSymbol = require_well_known_symbol();
1332 - var Iterators = require_iterators();
1333 - var ITERATOR = wellKnownSymbol("iterator");
1334 - var ArrayPrototype = Array.prototype;
1335 - module.exports = function(it) {
1336 - return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
1337 - };
1338 - }));
1339 1133
1340 -//#endregion
1341 -//#region node_modules/core-js/internals/to-string-tag-support.js
1342 - var require_to_string_tag_support = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1343 - var TO_STRING_TAG = require_well_known_symbol()("toStringTag");
1344 - var test = {};
1345 - test[TO_STRING_TAG] = "z";
1346 - module.exports = String(test) === "[object z]";
1347 - }));
1348 1134
1349 -//#endregion
1350 -//#region node_modules/core-js/internals/classof.js
1351 - var require_classof = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1352 - var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
1353 - var isCallable = require_is_callable();
1354 - var classofRaw = require_classof_raw();
1355 - var TO_STRING_TAG = require_well_known_symbol()("toStringTag");
1356 - var $Object = Object;
1357 - var CORRECT_ARGUMENTS = classofRaw(function() {
1358 - return arguments;
1359 - }()) === "Arguments";
1360 - var tryGet = function(it, key) {
1361 - try {
1362 - return it[key];
1363 - } catch (error) {}
1364 - };
1365 - module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {
1366 - var O;
1367 - var tag;
1368 - var result;
1369 - return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === "Object" && isCallable(O.callee) ? "Arguments" : result;
1370 - };
1371 - }));
1135 +Object.defineProperty(exports, "__esModule", ({
1136 + value: true
1137 +}));
1138 +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 {
1142 + constructor(container, config) {
1143 + this.config = config;
1144 + if (this.config.breakpoints) {
1145 + // The config is passed as a param to allow adjustConfig to be called outside of this wrapper
1146 + this.config = this.adjustConfig(config);
1147 + }
1148 + if (container instanceof jQuery) {
1149 + container = container[0];
1150 + }
1372 1151
1373 -//#endregion
1374 -//#region node_modules/core-js/internals/get-iterator-method.js
1375 - var require_get_iterator_method = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1376 - var classof = require_classof();
1377 - var getMethod = require_get_method();
1378 - var isNullOrUndefined = require_is_null_or_undefined();
1379 - var Iterators = require_iterators();
1380 - var ITERATOR = require_well_known_symbol()("iterator");
1381 - module.exports = function(it) {
1382 - if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) || getMethod(it, "@@iterator") || Iterators[classof(it)];
1383 - };
1384 - }));
1152 + // The Swiper will overlap the column width when applying custom margin values on the column.
1153 + container.closest('.elementor-widget-wrap')?.classList.add('e-swiper-container');
1154 + container.closest('.elementor-widget')?.classList.add('e-widget-swiper');
1155 + 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;
1160 + }
1161 + if ('function' === typeof Swiper && 'undefined' === typeof window.Swiper) {
1162 + window.Swiper = Swiper;
1163 + }
1164 + resolve(this.createSwiperInstance(container, this.config));
1165 + });
1166 + }
1167 + createSwiperInstance(container, config) {
1168 + const SwiperSource = window.Swiper;
1169 + SwiperSource.prototype.adjustConfig = this.adjustConfig;
1170 + return new SwiperSource(container, config);
1171 + }
1385 1172
1386 -//#endregion
1387 -//#region node_modules/core-js/internals/get-iterator.js
1388 - var require_get_iterator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1389 - var call = require_function_call();
1390 - var aCallable = require_a_callable();
1391 - var anObject = require_an_object();
1392 - var tryToString = require_try_to_string();
1393 - var getIteratorMethod = require_get_iterator_method();
1394 - var $TypeError = TypeError;
1395 - module.exports = function(argument, usingIterator) {
1396 - var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
1397 - if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
1398 - throw new $TypeError(tryToString(argument) + " is not iterable");
1399 - };
1400 - }));
1173 + // Backwards compatibility for Elementor Pro <2.9.0 (old Swiper version - <5.0.0)
1174 + // In Swiper 5.0.0 and up, breakpoints changed from acting as max-width to acting as min-width
1175 + adjustConfig(config) {
1176 + // Only reverse the breakpoints if the handle param has been defined
1177 + if (!config.handleElementorBreakpoints) {
1178 + return config;
1179 + }
1180 + const elementorBreakpoints = elementorFrontend.config.responsive.activeBreakpoints,
1181 + elementorBreakpointValues = elementorFrontend.breakpoints.getBreakpointValues();
1182 + Object.keys(config.breakpoints).forEach(configBPKey => {
1183 + const configBPKeyInt = parseInt(configBPKey);
1184 + let breakpointToUpdate;
1401 1185
1402 -//#endregion
1403 -//#region node_modules/core-js/internals/iterator-close.js
1404 - var require_iterator_close = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1405 - var call = require_function_call();
1406 - var anObject = require_an_object();
1407 - var getMethod = require_get_method();
1408 - module.exports = function(iterator, kind, value) {
1409 - var innerResult;
1410 - var innerError;
1411 - anObject(iterator);
1412 - try {
1413 - innerResult = getMethod(iterator, "return");
1414 - if (!innerResult) {
1415 - if (kind === "throw") throw value;
1416 - return value;
1417 - }
1418 - innerResult = call(innerResult, iterator);
1419 - } catch (error) {
1420 - innerError = true;
1421 - innerResult = error;
1422 - }
1423 - if (kind === "throw") throw value;
1424 - if (innerError) throw innerResult;
1425 - anObject(innerResult);
1426 - return value;
1427 - };
1428 - }));
1186 + // The `configBPKeyInt + 1` is a BC Fix for Elementor Pro Carousels from 2.8.0-2.8.3 used with Elementor >= 2.9.0
1187 + if (configBPKeyInt === elementorBreakpoints.mobile.value || configBPKeyInt + 1 === elementorBreakpoints.mobile.value) {
1188 + // This handles the mobile breakpoint. Elementor's default sm breakpoint is never actually used,
1189 + // so the mobile breakpoint (md) needs to be handled separately and set to the 0 breakpoint (xs)
1190 + breakpointToUpdate = 0;
1191 + } else if (elementorBreakpoints.widescreen && (configBPKeyInt === elementorBreakpoints.widescreen.value || configBPKeyInt + 1 === elementorBreakpoints.widescreen.value)) {
1192 + // Widescreen is a min-width breakpoint. Since in Swiper >5.0 the breakpoint system is min-width based,
1193 + // the value we pass to the Swiper instance in this case is the breakpoint from the user, unchanged.
1194 + breakpointToUpdate = configBPKeyInt;
1195 + } else {
1196 + // Find the index of the current config breakpoint in the Elementor Breakpoints array
1197 + const currentBPIndexInElementorBPs = elementorBreakpointValues.findIndex(elementorBP => {
1198 + // BC Fix for Elementor Pro Carousels from 2.8.0-2.8.3 used with Elementor >= 2.9.0
1199 + return configBPKeyInt === elementorBP || configBPKeyInt + 1 === elementorBP;
1200 + });
1429 1201
1430 -//#endregion
1431 -//#region node_modules/core-js/internals/iterate.js
1432 - var require_iterate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1433 - var bind = require_function_bind_context();
1434 - var call = require_function_call();
1435 - var anObject = require_an_object();
1436 - var tryToString = require_try_to_string();
1437 - var isArrayIteratorMethod = require_is_array_iterator_method();
1438 - var lengthOfArrayLike = require_length_of_array_like();
1439 - var isPrototypeOf = require_object_is_prototype_of();
1440 - var getIterator = require_get_iterator();
1441 - var getIteratorMethod = require_get_iterator_method();
1442 - var iteratorClose = require_iterator_close();
1443 - var $TypeError = TypeError;
1444 - var Result = function(stopped, result) {
1445 - this.stopped = stopped;
1446 - this.result = result;
1447 - };
1448 - var ResultPrototype = Result.prototype;
1449 - module.exports = function(iterable, unboundFunction, options) {
1450 - var that = options && options.that;
1451 - var AS_ENTRIES = !!(options && options.AS_ENTRIES);
1452 - var IS_RECORD = !!(options && options.IS_RECORD);
1453 - var IS_ITERATOR = !!(options && options.IS_ITERATOR);
1454 - var INTERRUPTED = !!(options && options.INTERRUPTED);
1455 - var fn = bind(unboundFunction, that);
1456 - var iterator;
1457 - var iterFn;
1458 - var index;
1459 - var length;
1460 - var result;
1461 - var next;
1462 - var step;
1463 - var stop = function(condition) {
1464 - if (iterator) iteratorClose(iterator, "normal");
1465 - return new Result(true, condition);
1466 - };
1467 - var callFn = function(value) {
1468 - if (AS_ENTRIES) {
1469 - anObject(value);
1470 - return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
1471 - }
1472 - return INTERRUPTED ? fn(value, stop) : fn(value);
1473 - };
1474 - if (IS_RECORD) iterator = iterable.iterator;
1475 - else if (IS_ITERATOR) iterator = iterable;
1476 - else {
1477 - iterFn = getIteratorMethod(iterable);
1478 - if (!iterFn) throw new $TypeError(tryToString(iterable) + " is not iterable");
1479 - if (isArrayIteratorMethod(iterFn)) {
1480 - for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
1481 - result = callFn(iterable[index]);
1482 - if (result && isPrototypeOf(ResultPrototype, result)) return result;
1483 - }
1484 - return new Result(false);
1485 - }
1486 - iterator = getIterator(iterable, iterFn);
1487 - }
1488 - next = IS_RECORD ? iterable.next : iterator.next;
1489 - while (!(step = call(next, iterator)).done) {
1490 - try {
1491 - result = callFn(step.value);
1492 - } catch (error) {
1493 - iteratorClose(iterator, "throw", error);
1494 - }
1495 - if (typeof result == "object" && result && isPrototypeOf(ResultPrototype, result)) return result;
1496 - }
1497 - return new Result(false);
1498 - };
1499 - }));
1202 + // For all other Swiper config breakpoints, move them one breakpoint down on the breakpoint list,
1203 + // according to the array of Elementor's global breakpoints
1204 + breakpointToUpdate = elementorBreakpointValues[currentBPIndexInElementorBPs - 1];
1205 + }
1206 + config.breakpoints[breakpointToUpdate] = config.breakpoints[configBPKey];
1500 1207
1501 -//#endregion
1502 -//#region node_modules/core-js/internals/get-iterator-direct.js
1503 - var require_get_iterator_direct = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1504 - module.exports = function(obj) {
1505 - return {
1506 - iterator: obj,
1507 - next: obj.next,
1508 - done: false
1509 - };
1510 - };
1511 - }));
1208 + // Then reset the settings in the original breakpoint key to the default values
1209 + config.breakpoints[configBPKey] = {
1210 + slidesPerView: config.slidesPerView,
1211 + slidesPerGroup: config.slidesPerGroup ? config.slidesPerGroup : 1
1212 + };
1213 + });
1214 + return config;
1215 + }
1216 +}
1217 +exports["default"] = SwiperHandler;
1512 1218
1513 -//#endregion
1514 -//#region node_modules/core-js/internals/iterator-helper-without-closing-on-early-error.js
1515 - var require_iterator_helper_without_closing_on_early_error = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1516 - var globalThis = require_global_this();
1517 - module.exports = function(METHOD_NAME, ExpectedError) {
1518 - var Iterator = globalThis.Iterator;
1519 - var IteratorPrototype = Iterator && Iterator.prototype;
1520 - var method = IteratorPrototype && IteratorPrototype[METHOD_NAME];
1521 - var CLOSED = false;
1522 - if (method) try {
1523 - method.call({
1524 - next: function() {
1525 - return { done: true };
1526 - },
1527 - "return": function() {
1528 - CLOSED = true;
1529 - }
1530 - }, -1);
1531 - } catch (error) {
1532 - if (!(error instanceof ExpectedError)) CLOSED = false;
1533 - }
1534 - if (!CLOSED) return method;
1535 - };
1536 - }));
1219 +/***/ }),
1537 1220
1538 -//#endregion
1539 -//#region node_modules/core-js/modules/es.iterator.find.js
1540 - var require_es_iterator_find = /* @__PURE__ */ __commonJSMin((() => {
1541 - var $ = require_export();
1542 - var call = require_function_call();
1543 - var iterate = require_iterate();
1544 - var aCallable = require_a_callable();
1545 - var anObject = require_an_object();
1546 - var getIteratorDirect = require_get_iterator_direct();
1547 - var iteratorClose = require_iterator_close();
1548 - var findWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error()("find", TypeError);
1549 - $({
1550 - target: "Iterator",
1551 - proto: true,
1552 - real: true,
1553 - forced: findWithoutClosingOnEarlyError
1554 - }, { find: function find(predicate) {
1555 - anObject(this);
1556 - try {
1557 - aCallable(predicate);
1558 - } catch (error) {
1559 - iteratorClose(this, "throw", error);
1560 - }
1561 - if (findWithoutClosingOnEarlyError) return call(findWithoutClosingOnEarlyError, this, predicate);
1562 - var record = getIteratorDirect(this);
1563 - var counter = 0;
1564 - return iterate(record, function(value, stop) {
1565 - if (predicate(value, counter++)) return stop(value);
1566 - }, {
1567 - IS_RECORD: true,
1568 - INTERRUPTED: true
1569 - }).result;
1570 - } });
1571 - }));
1221 +/***/ "../assets/dev/js/frontend/utils/url-actions.js":
1222 +/*!******************************************************!*\
1223 + !*** ../assets/dev/js/frontend/utils/url-actions.js ***!
1224 + \******************************************************/
1225 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1572 1226
1573 -//#endregion
1574 -//#region node_modules/core-js/modules/esnext.iterator.find.js
1575 - var require_esnext_iterator_find = /* @__PURE__ */ __commonJSMin((() => {
1576 - require_es_iterator_find();
1577 - }));
1578 1227
1579 -//#endregion
1580 -//#region node_modules/core-js/modules/es.iterator.for-each.js
1581 - var require_es_iterator_for_each = /* @__PURE__ */ __commonJSMin((() => {
1582 - var $ = require_export();
1583 - var call = require_function_call();
1584 - var iterate = require_iterate();
1585 - var aCallable = require_a_callable();
1586 - var anObject = require_an_object();
1587 - var getIteratorDirect = require_get_iterator_direct();
1588 - var iteratorClose = require_iterator_close();
1589 - var forEachWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error()("forEach", TypeError);
1590 - $({
1591 - target: "Iterator",
1592 - proto: true,
1593 - real: true,
1594 - forced: forEachWithoutClosingOnEarlyError
1595 - }, { forEach: function forEach(fn) {
1596 - anObject(this);
1597 - try {
1598 - aCallable(fn);
1599 - } catch (error) {
1600 - iteratorClose(this, "throw", error);
1601 - }
1602 - if (forEachWithoutClosingOnEarlyError) return call(forEachWithoutClosingOnEarlyError, this, fn);
1603 - var record = getIteratorDirect(this);
1604 - var counter = 0;
1605 - iterate(record, function(value) {
1606 - fn(value, counter++);
1607 - }, { IS_RECORD: true });
1608 - } });
1609 - }));
1610 1228
1611 -//#endregion
1612 -//#region node_modules/core-js/modules/esnext.iterator.for-each.js
1613 - var require_esnext_iterator_for_each = /* @__PURE__ */ __commonJSMin((() => {
1614 - require_es_iterator_for_each();
1615 - }));
1229 +Object.defineProperty(exports, "__esModule", ({
1230 + value: true
1231 +}));
1232 +exports["default"] = void 0;
1233 +__webpack_require__(/*! core-js/modules/web.dom-exception.stack.js */ "../node_modules/core-js/modules/web.dom-exception.stack.js");
1234 +class _default extends elementorModules.ViewModule {
1235 + getDefaultSettings() {
1236 + return {
1237 + selectors: {
1238 + links: 'a[href^="%23elementor-action"], a[href^="#elementor-action"]'
1239 + }
1240 + };
1241 + }
1242 + bindEvents() {
1243 + elementorFrontend.elements.$document.on('click', this.getSettings('selectors.links'), this.runLinkAction.bind(this));
1244 + }
1245 + initActions() {
1246 + this.actions = {
1247 + lightbox: async settings => {
1248 + const lightbox = await elementorFrontend.utils.lightbox;
1249 + if (settings.slideshow) {
1250 + // Handle slideshow display
1251 + lightbox.openSlideshow(settings.slideshow, settings.url);
1252 + } else {
1253 + // If the settings has an ID - the lightbox target content is an image - the ID is an attachment ID.
1254 + if (settings.id) {
1255 + settings.type = 'image';
1256 + }
1257 + lightbox.showModal(settings);
1258 + }
1259 + }
1260 + };
1261 + }
1262 + addAction(name, callback) {
1263 + this.actions[name] = callback;
1264 + }
1265 + runAction(url, ...restArgs) {
1266 + url = decodeURI(url);
1267 + url = decodeURIComponent(url);
1268 + const actionMatch = url.match(/action=(.+?)&/);
1269 + if (!actionMatch) {
1270 + return;
1271 + }
1272 + const action = this.actions[actionMatch[1]];
1273 + if (!action) {
1274 + return;
1275 + }
1276 + let settings = {};
1277 + const settingsMatch = url.match(/settings=(.+)/);
1278 + if (settingsMatch) {
1279 + settings = JSON.parse(atob(settingsMatch[1]));
1280 + }
1281 + settings.previousEvent = event;
1282 + action(settings, ...restArgs);
1283 + }
1284 + runLinkAction(event) {
1285 + event.preventDefault();
1286 + this.runAction(jQuery(event.currentTarget).attr('href'), event);
1287 + }
1288 + runHashAction() {
1289 + if (!location.hash) {
1290 + return;
1291 + }
1616 1292
1617 -//#endregion
1618 -//#region assets/dev/js/public-path.js
1619 - var require_public_path = /* @__PURE__ */ __commonJSMin(((exports) => {
1620 - Object.defineProperty(exports, "__esModule", { value: true });
1621 - }));
1293 + // Only if an element with this action hash exists on the page do we allow running the action.
1294 + const elementWithHash = document.querySelector(`[data-e-action-hash="${location.hash}"], a[href*="${location.hash}"]`);
1295 + if (elementWithHash) {
1296 + this.runAction(elementWithHash.getAttribute('data-e-action-hash'));
1297 + }
1298 + }
1299 + createActionHash(action, settings) {
1300 + // We need to encode the hash tag (#) here, in order to support share links for a variety of providers
1301 + return encodeURIComponent(`#elementor-action:action=${action}&settings=${btoa(JSON.stringify(settings))}`);
1302 + }
1303 + onInit() {
1304 + super.onInit();
1305 + this.initActions();
1306 + elementorFrontend.on('components:init', this.runHashAction.bind(this));
1307 + }
1308 +}
1309 +exports["default"] = _default;
1622 1310
1623 -//#endregion
1624 -//#region assets/dev/js/frontend/utils/chunk-loader.js
1625 - var require_chunk_loader = /* @__PURE__ */ __commonJSMin(((exports) => {
1626 - Object.defineProperty(exports, "__esModule", { value: true });
1627 - exports.loadChunk = loadChunk;
1628 - /**
1629 - * On-demand loader for frontend code chunks.
1630 - *
1631 - * Rolldown's IIFE output cannot code split, so every dynamic `import()` would otherwise be inlined
1632 - * into the entry. That regressed `frontend.min.js` from 10.4 KiB gzip to 53.7 KiB, most of it
1633 - * unused on any given page. The build rewrites those imports at build time to `loadChunk(name)`
1634 - * so the entry stays small and each handler ships as its own bundle fetched only when a widget
1635 - * needs it.
1636 - *
1637 - * A chunk bundle is an IIFE that assigns its default export to `window.__elementorChunks[name]`.
1638 - * The `__ELEMENTOR_CHUNK_SUFFIX__` constant is replaced at build time with `.min` for the
1639 - * production build and the empty string otherwise, so a dev frontend loads dev chunks and a prod
1640 - * frontend loads minified ones.
1641 - */
1642 - function chunkUrl(name) {
1643 - var _config$urls;
1644 - const config = window.elementorFrontendConfig || {};
1645 - const assetsUrl = ((_config$urls = config.urls) === null || _config$urls === void 0 ? void 0 : _config$urls.assets) || "";
1646 - const version = config.version ? "?ver=" + encodeURIComponent(config.version) : "";
1647 - return assetsUrl + "js/chunks/" + name + ".js" + version;
1648 - }
1649 - var registry = window.__elementorChunks = window.__elementorChunks || {};
1650 - var inflight = /* @__PURE__ */ new Map();
1651 - function appendChunkScript(name) {
1652 - return new Promise((resolve, reject) => {
1653 - const script = document.createElement("script");
1654 - script.src = chunkUrl(name);
1655 - script.async = true;
1656 - script.onload = () => {
1657 - if (registry[name]) resolve(registry[name]);
1658 - else reject(/* @__PURE__ */ new Error(`[elementor] chunk "${name}" loaded but did not register`));
1659 - };
1660 - script.onerror = () => reject(/* @__PURE__ */ new Error(`[elementor] failed to load chunk "${name}" from ${script.src}`));
1661 - document.head.appendChild(script);
1662 - });
1663 - }
1664 - /**
1665 - * Returns a promise for the module namespace of a chunk, appending its script tag on first
1666 - * request. The build rewrites `import( './handlers/video' )` in frontend sources to
1667 - * `loadChunk( 'video' )`, so call sites see the same then-able interface they wrote against.
1668 - *
1669 - * @param {string} name
1670 - */
1671 - function loadChunk(name) {
1672 - if (registry[name]) return Promise.resolve(registry[name]);
1673 - if (!inflight.has(name)) inflight.set(name, appendChunkScript(name));
1674 - return inflight.get(name);
1675 - }
1676 - window.__elementorLoadChunk = loadChunk;
1677 - }));
1311 +/***/ }),
1678 1312
1679 -//#endregion
1680 -//#region assets/dev/js/frontend/document.js
1681 - var require_document = /* @__PURE__ */ __commonJSMin(((exports) => {
1682 - Object.defineProperty(exports, "__esModule", { value: true });
1683 - exports.default = void 0;
1684 - require_esnext_iterator_constructor();
1685 - require_esnext_iterator_find();
1686 - var _default = class extends elementorModules.ViewModule {
1687 - getDefaultSettings() {
1688 - return {
1689 - selectors: {
1690 - elements: ".elementor-element",
1691 - nestedDocumentElements: ".elementor .elementor-element"
1692 - },
1693 - classes: { editMode: "elementor-edit-mode" }
1694 - };
1695 - }
1696 - getDefaultElements() {
1697 - const selectors = this.getSettings("selectors");
1698 - return { $elements: this.$element.find(selectors.elements).not(this.$element.find(selectors.nestedDocumentElements)) };
1699 - }
1700 - getDocumentSettings(setting) {
1701 - let elementSettings;
1702 - if (this.isEdit) {
1703 - elementSettings = {};
1704 - const settings = elementor.settings.page.model;
1705 - jQuery.each(settings.getActiveControls(), (controlKey) => {
1706 - elementSettings[controlKey] = settings.attributes[controlKey];
1707 - });
1708 - } else elementSettings = this.$element.data("elementor-settings") || {};
1709 - return this.getItems(elementSettings, setting);
1710 - }
1711 - runElementsHandlers() {
1712 - this.elements.$elements.each((index, element) => setTimeout(() => elementorFrontend.elementsHandler.runReadyTrigger(element)));
1713 - }
1714 - onInit() {
1715 - this.$element = this.getSettings("$element");
1716 - super.onInit();
1717 - this.isEdit = this.$element.hasClass(this.getSettings("classes.editMode"));
1718 - if (this.isEdit) elementor.on("document:loaded", () => {
1719 - elementor.settings.page.model.on("change", this.onSettingsChange.bind(this));
1720 - });
1721 - else this.runElementsHandlers();
1722 - }
1723 - onSettingsChange() {}
1724 - };
1725 - exports.default = _default;
1726 - }));
1313 +/***/ "../assets/dev/js/frontend/utils/utils.js":
1314 +/*!************************************************!*\
1315 + !*** ../assets/dev/js/frontend/utils/utils.js ***!
1316 + \************************************************/
1317 +/***/ ((__unused_webpack_module, exports) => {
1727 1318
1728 -//#endregion
1729 -//#region assets/dev/js/frontend/documents-manager.js
1730 - var require_documents_manager = /* @__PURE__ */ __commonJSMin(((exports) => {
1731 - var _interopRequireDefault = require_interopRequireDefault();
1732 - Object.defineProperty(exports, "__esModule", { value: true });
1733 - exports.default = void 0;
1734 - var _document = _interopRequireDefault(require_document());
1735 - var _default = class extends elementorModules.ViewModule {
1736 - constructor(...args) {
1737 - super(...args);
1738 - this.documents = {};
1739 - this.initDocumentClasses();
1740 - this.attachDocumentsClasses();
1741 - }
1742 - getDefaultSettings() {
1743 - return { selectors: { document: ".elementor" } };
1744 - }
1745 - getDefaultElements() {
1746 - const selectors = this.getSettings("selectors");
1747 - return { $documents: jQuery(selectors.document) };
1748 - }
1749 - initDocumentClasses() {
1750 - this.documentClasses = { base: _document.default };
1751 - elementorFrontend.hooks.doAction("elementor/frontend/documents-manager/init-classes", this);
1752 - }
1753 - addDocumentClass(documentType, documentClass) {
1754 - this.documentClasses[documentType] = documentClass;
1755 - }
1756 - attachDocumentsClasses() {
1757 - this.elements.$documents.each((index, document) => this.attachDocumentClass(jQuery(document)));
1758 - }
1759 - attachDocumentClass($document) {
1760 - const documentData = $document.data();
1761 - const documentID = documentData.elementorId;
1762 - const documentType = documentData.elementorType;
1763 - const DocumentClass = this.documentClasses[documentType] || this.documentClasses.base;
1764 - this.documents[documentID] = new DocumentClass({
1765 - $element: $document,
1766 - id: documentID
1767 - });
1768 - }
1769 - };
1770 - exports.default = _default;
1771 - }));
1772 1319
1773 -//#endregion
1774 -//#region core/common/assets/js/utils/storage.js
1775 - var require_storage = /* @__PURE__ */ __commonJSMin(((exports) => {
1776 - Object.defineProperty(exports, "__esModule", { value: true });
1777 - exports.default = void 0;
1778 - require_esnext_iterator_constructor();
1779 - require_esnext_iterator_for_each();
1780 - var _default = class extends elementorModules.Module {
1781 - get(key, options) {
1782 - options = options || {};
1783 - let storage;
1784 - try {
1785 - storage = options.session ? sessionStorage : localStorage;
1786 - } catch (e) {
1787 - return key ? void 0 : {};
1788 - }
1789 - let elementorStorage = storage.getItem("elementor");
1790 - if (elementorStorage) elementorStorage = JSON.parse(elementorStorage);
1791 - else elementorStorage = {};
1792 - if (!elementorStorage.__expiration) elementorStorage.__expiration = {};
1793 - const expiration = elementorStorage.__expiration;
1794 - let expirationToCheck = [];
1795 - if (key) {
1796 - if (expiration[key]) expirationToCheck = [key];
1797 - } else expirationToCheck = Object.keys(expiration);
1798 - let entryExpired = false;
1799 - expirationToCheck.forEach((expirationKey) => {
1800 - if (new Date(expiration[expirationKey]) < /* @__PURE__ */ new Date()) {
1801 - delete elementorStorage[expirationKey];
1802 - delete expiration[expirationKey];
1803 - entryExpired = true;
1804 - }
1805 - });
1806 - if (entryExpired) this.save(elementorStorage, options.session);
1807 - if (key) return elementorStorage[key];
1808 - return elementorStorage;
1809 - }
1810 - set(key, value, options) {
1811 - options = options || {};
1812 - const elementorStorage = this.get(null, options);
1813 - elementorStorage[key] = value;
1814 - if (options.lifetimeInSeconds) {
1815 - const date = /* @__PURE__ */ new Date();
1816 - date.setTime(date.getTime() + options.lifetimeInSeconds * 1e3);
1817 - elementorStorage.__expiration[key] = date.getTime();
1818 - }
1819 - this.save(elementorStorage, options.session);
1820 - }
1821 - save(object, session) {
1822 - let storage;
1823 - try {
1824 - storage = session ? sessionStorage : localStorage;
1825 - } catch (e) {
1826 - return;
1827 - }
1828 - storage.setItem("elementor", JSON.stringify(object));
1829 - }
1830 - };
1831 - exports.default = _default;
1832 - }));
1833 1320
1834 -//#endregion
1835 -//#region core/common/assets/js/utils/environment.js
1836 - var require_environment = /* @__PURE__ */ __commonJSMin(((exports) => {
1837 - Object.defineProperty(exports, "__esModule", { value: true });
1838 - exports.default = void 0;
1839 - var matchUserAgent = (UserAgentStr) => {
1840 - return userAgent.indexOf(UserAgentStr) >= 0;
1841 - };
1842 - var userAgent = navigator.userAgent;
1843 - var isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(" OPR/");
1844 - var isFirefox = matchUserAgent("Firefox");
1845 - var isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || ((p) => {
1846 - return "[object SafariRemoteNotification]" === p.toString();
1847 - })(!window.safari || typeof safari !== "undefined" && safari.pushNotification);
1848 - var isIE = /Trident|MSIE/.test(userAgent) && !!document.documentMode;
1849 - var isEdge = !isIE && !!window.StyleMedia || matchUserAgent("Edg");
1850 - var isChrome = !!window.chrome && matchUserAgent("Chrome") && !(isEdge || isOpera);
1851 - var isBlink = matchUserAgent("Chrome") && !!window.CSS;
1852 - var isAppleWebkit = matchUserAgent("AppleWebKit") && !isBlink;
1853 - var environment = {
1854 - isTouchDevice: "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0,
1855 - appleWebkit: isAppleWebkit,
1856 - blink: isBlink,
1857 - chrome: isChrome,
1858 - edge: isEdge,
1859 - firefox: isFirefox,
1860 - ie: isIE,
1861 - mac: matchUserAgent("Macintosh"),
1862 - opera: isOpera,
1863 - safari: isSafari,
1864 - webkit: matchUserAgent("AppleWebKit")
1865 - };
1866 - exports.default = environment;
1867 - }));
1321 +Object.defineProperty(exports, "__esModule", ({
1322 + value: true
1323 +}));
1324 +exports.isScrollSnapActive = exports.escapeHTML = void 0;
1325 +// Escape HTML special chars to prevent XSS.
1326 +const escapeHTML = str => {
1327 + const specialChars = {
1328 + '&': '&amp;',
1329 + '<': '&lt;',
1330 + '>': '&gt;',
1331 + "'": '&#39;',
1332 + '"': '&quot;'
1333 + };
1334 + return str.replace(/[&<>'"]/g, tag => specialChars[tag] || tag);
1335 +};
1868 1336
1869 -//#endregion
1870 -//#region assets/dev/js/frontend/utils/video-api/base-loader.js
1871 - var require_base_loader = /* @__PURE__ */ __commonJSMin(((exports) => {
1872 - Object.defineProperty(exports, "__esModule", { value: true });
1873 - exports.default = void 0;
1874 - var BaseLoader = class extends elementorModules.ViewModule {
1875 - getDefaultSettings() {
1876 - return {
1877 - isInserted: false,
1878 - selectors: { firstScript: "script:first" }
1879 - };
1880 - }
1881 - getDefaultElements() {
1882 - return { $firstScript: jQuery(this.getSettings("selectors.firstScript")) };
1883 - }
1884 - insertAPI() {
1885 - this.elements.$firstScript.before(jQuery("<script>", { src: this.getApiURL() }));
1886 - this.setSettings("isInserted", true);
1887 - }
1888 - getVideoIDFromURL(url) {
1889 - const videoIDParts = url.match(this.getURLRegex());
1890 - return videoIDParts && videoIDParts[1];
1891 - }
1892 - onApiReady(callback) {
1893 - if (!this.getSettings("isInserted")) this.insertAPI();
1894 - if (this.isApiLoaded()) callback(this.getApiObject());
1895 - else setTimeout(() => {
1896 - this.onApiReady(callback);
1897 - }, 350);
1898 - }
1899 - getAutoplayURL(videoURL) {
1900 - return videoURL.replace("&autoplay=0", "") + "&autoplay=1";
1901 - }
1902 - };
1903 - exports.default = BaseLoader;
1904 - }));
1337 +// Check if Scroll-Snap is active.
1338 +exports.escapeHTML = escapeHTML;
1339 +const isScrollSnapActive = () => {
1340 + const scrollSnapStatus = elementorFrontend.isEditMode() ? elementor.settings.page.model.attributes?.scroll_snap : elementorFrontend.config.settings.page?.scroll_snap;
1341 + return 'yes' === scrollSnapStatus ? true : false;
1342 +};
1343 +exports.isScrollSnapActive = isScrollSnapActive;
1905 1344
1906 -//#endregion
1907 -//#region assets/dev/js/frontend/utils/video-api/youtube-loader.js
1908 - var require_youtube_loader = /* @__PURE__ */ __commonJSMin(((exports) => {
1909 - var _interopRequireDefault = require_interopRequireDefault();
1910 - Object.defineProperty(exports, "__esModule", { value: true });
1911 - exports.default = void 0;
1912 - var _baseLoader = _interopRequireDefault(require_base_loader());
1913 - var YoutubeLoader = class extends _baseLoader.default {
1914 - getApiURL() {
1915 - return "https://www.youtube.com/iframe_api";
1916 - }
1917 - getURLRegex() {
1918 - return /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user|shorts)\/))([^?&"'>]+)/;
1919 - }
1920 - isApiLoaded() {
1921 - return window.YT && YT.loaded;
1922 - }
1923 - getApiObject() {
1924 - return YT;
1925 - }
1926 - };
1927 - exports.default = YoutubeLoader;
1928 - }));
1345 +/***/ }),
1929 1346
1930 -//#endregion
1931 -//#region assets/dev/js/frontend/utils/video-api/vimeo-loader.js
1932 - var require_vimeo_loader = /* @__PURE__ */ __commonJSMin(((exports) => {
1933 - var _interopRequireDefault = require_interopRequireDefault();
1934 - Object.defineProperty(exports, "__esModule", { value: true });
1935 - exports.default = void 0;
1936 - var _baseLoader = _interopRequireDefault(require_base_loader());
1937 - var VimeoLoader = class extends _baseLoader.default {
1938 - getApiURL() {
1939 - return "https://player.vimeo.com/api/player.js";
1940 - }
1941 - getURLRegex() {
1942 - return /^(?:https?:\/\/)?(?:www|player\.)?(?:vimeo\.com\/)?(?:video\/|external\/)?(\d+)([^.?&#"'>]?)/;
1943 - }
1944 - isApiLoaded() {
1945 - return window.Vimeo;
1946 - }
1947 - getApiObject() {
1948 - return Vimeo;
1949 - }
1950 - getAutoplayURL(videoURL) {
1951 - const timeMatch = videoURL.match(/#t=[^&]*/);
1952 - return videoURL.replace(timeMatch[0], "") + timeMatch;
1953 - }
1954 - };
1955 - exports.default = VimeoLoader;
1956 - }));
1347 +/***/ "../assets/dev/js/frontend/utils/video-api/base-loader.js":
1348 +/*!****************************************************************!*\
1349 + !*** ../assets/dev/js/frontend/utils/video-api/base-loader.js ***!
1350 + \****************************************************************/
1351 +/***/ ((__unused_webpack_module, exports) => {
1957 1352
1958 -//#endregion
1959 -//#region \0@oxc-project+runtime@0.140.0/helpers/esm/asyncToGenerator.js
1960 - function asyncGeneratorStep(n, t, e, r, o, a, c) {
1961 - try {
1962 - var i = n[a](c);
1963 - var u = i.value;
1964 - } catch (n) {
1965 - e(n);
1966 - return;
1967 - }
1968 - i.done ? t(u) : Promise.resolve(u).then(r, o);
1969 - }
1970 - function _asyncToGenerator(n) {
1971 - return function() {
1972 - var t = this;
1973 - var e = arguments;
1974 - return new Promise(function(r, o) {
1975 - var a = n.apply(t, e);
1976 - function _next(n) {
1977 - asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
1978 - }
1979 - function _throw(n) {
1980 - asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
1981 - }
1982 - _next(void 0);
1983 - });
1984 - };
1985 - }
1986 - var init_asyncToGenerator = __esmMin((() => {}));
1987 1353
1988 -//#endregion
1989 -//#region node_modules/core-js/internals/function-uncurry-this-accessor.js
1990 - var require_function_uncurry_this_accessor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1991 - var uncurryThis = require_function_uncurry_this();
1992 - var aCallable = require_a_callable();
1993 - module.exports = function(object, key, method) {
1994 - try {
1995 - return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
1996 - } catch (error) {}
1997 - };
1998 - }));
1999 1354
2000 -//#endregion
2001 -//#region node_modules/core-js/internals/is-possible-prototype.js
2002 - var require_is_possible_prototype = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2003 - var isObject = require_is_object();
2004 - module.exports = function(argument) {
2005 - return isObject(argument) || argument === null;
2006 - };
2007 - }));
1355 +Object.defineProperty(exports, "__esModule", ({
1356 + value: true
1357 +}));
1358 +exports["default"] = void 0;
1359 +class BaseLoader extends elementorModules.ViewModule {
1360 + getDefaultSettings() {
1361 + return {
1362 + isInserted: false,
1363 + selectors: {
1364 + firstScript: 'script:first'
1365 + }
1366 + };
1367 + }
1368 + getDefaultElements() {
1369 + return {
1370 + $firstScript: jQuery(this.getSettings('selectors.firstScript'))
1371 + };
1372 + }
1373 + insertAPI() {
1374 + this.elements.$firstScript.before(jQuery('<script>', {
1375 + src: this.getApiURL()
1376 + }));
1377 + this.setSettings('isInserted', true);
1378 + }
1379 + getVideoIDFromURL(url) {
1380 + const videoIDParts = url.match(this.getURLRegex());
1381 + return videoIDParts && videoIDParts[1];
1382 + }
1383 + onApiReady(callback) {
1384 + if (!this.getSettings('isInserted')) {
1385 + this.insertAPI();
1386 + }
1387 + if (this.isApiLoaded()) {
1388 + callback(this.getApiObject());
1389 + } else {
1390 + // If not ready check again by timeout..
1391 + setTimeout(() => {
1392 + this.onApiReady(callback);
1393 + }, 350);
1394 + }
1395 + }
1396 + getAutoplayURL(videoURL) {
1397 + return videoURL.replace('&autoplay=0', '') + '&autoplay=1';
1398 + }
1399 +}
1400 +exports["default"] = BaseLoader;
2008 1401
2009 -//#endregion
2010 -//#region node_modules/core-js/internals/a-possible-prototype.js
2011 - var require_a_possible_prototype = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2012 - var isPossiblePrototype = require_is_possible_prototype();
2013 - var $String = String;
2014 - var $TypeError = TypeError;
2015 - module.exports = function(argument) {
2016 - if (isPossiblePrototype(argument)) return argument;
2017 - throw new $TypeError("Can't set " + $String(argument) + " as a prototype");
2018 - };
2019 - }));
1402 +/***/ }),
2020 1403
2021 -//#endregion
2022 -//#region node_modules/core-js/internals/object-set-prototype-of.js
2023 - var require_object_set_prototype_of = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2024 - var uncurryThisAccessor = require_function_uncurry_this_accessor();
2025 - var isObject = require_is_object();
2026 - var requireObjectCoercible = require_require_object_coercible();
2027 - var aPossiblePrototype = require_a_possible_prototype();
2028 - module.exports = Object.setPrototypeOf || ("__proto__" in {} ? function() {
2029 - var CORRECT_SETTER = false;
2030 - var test = {};
2031 - var setter;
2032 - try {
2033 - setter = uncurryThisAccessor(Object.prototype, "__proto__", "set");
2034 - setter(test, []);
2035 - CORRECT_SETTER = test instanceof Array;
2036 - } catch (error) {}
2037 - return function setPrototypeOf(O, proto) {
2038 - requireObjectCoercible(O);
2039 - aPossiblePrototype(proto);
2040 - if (!isObject(O)) return O;
2041 - if (CORRECT_SETTER) setter(O, proto);
2042 - else O.__proto__ = proto;
2043 - return O;
2044 - };
2045 - }() : void 0);
2046 - }));
1404 +/***/ "../assets/dev/js/frontend/utils/video-api/vimeo-loader.js":
1405 +/*!*****************************************************************!*\
1406 + !*** ../assets/dev/js/frontend/utils/video-api/vimeo-loader.js ***!
1407 + \*****************************************************************/
1408 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2047 1409
2048 -//#endregion
2049 -//#region node_modules/core-js/internals/inherit-if-required.js
2050 - var require_inherit_if_required = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2051 - var isCallable = require_is_callable();
2052 - var isObject = require_is_object();
2053 - var setPrototypeOf = require_object_set_prototype_of();
2054 - module.exports = function($this, dummy, Wrapper) {
2055 - var NewTarget;
2056 - var NewTargetPrototype;
2057 - if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) setPrototypeOf($this, NewTargetPrototype);
2058 - return $this;
2059 - };
2060 - }));
2061 1410
2062 -//#endregion
2063 -//#region node_modules/core-js/internals/to-string.js
2064 - var require_to_string = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2065 - var classof = require_classof();
2066 - var $String = String;
2067 - module.exports = function(argument) {
2068 - if (classof(argument) === "Symbol") throw new TypeError("Cannot convert a Symbol value to a string");
2069 - return $String(argument);
2070 - };
2071 - }));
2072 1411
2073 -//#endregion
2074 -//#region node_modules/core-js/internals/normalize-string-argument.js
2075 - var require_normalize_string_argument = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2076 - var toString = require_to_string();
2077 - module.exports = function(argument, $default) {
2078 - return argument === void 0 ? arguments.length < 2 ? "" : $default : toString(argument);
2079 - };
2080 - }));
1412 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1413 +Object.defineProperty(exports, "__esModule", ({
1414 + value: true
1415 +}));
1416 +exports["default"] = void 0;
1417 +var _baseLoader = _interopRequireDefault(__webpack_require__(/*! ./base-loader */ "../assets/dev/js/frontend/utils/video-api/base-loader.js"));
1418 +class VimeoLoader extends _baseLoader.default {
1419 + getApiURL() {
1420 + return 'https://player.vimeo.com/api/player.js';
1421 + }
1422 + getURLRegex() {
1423 + return /^(?:https?:\/\/)?(?:www|player\.)?(?:vimeo\.com\/)?(?:video\/|external\/)?(\d+)([^.?&#"'>]?)/;
1424 + }
1425 + isApiLoaded() {
1426 + return window.Vimeo;
1427 + }
1428 + getApiObject() {
1429 + return Vimeo;
1430 + }
1431 + getAutoplayURL(videoURL) {
1432 + // Vimeo requires the '#t=' param to be last in the URL.
1433 + const timeMatch = videoURL.match(/#t=[^&]*/);
1434 + return videoURL.replace(timeMatch[0], '') + timeMatch;
1435 + }
1436 +}
1437 +exports["default"] = VimeoLoader;
2081 1438
2082 -//#endregion
2083 -//#region node_modules/core-js/internals/dom-exception-constants.js
2084 - var require_dom_exception_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2085 - module.exports = {
2086 - IndexSizeError: {
2087 - s: "INDEX_SIZE_ERR",
2088 - c: 1,
2089 - m: 1
2090 - },
2091 - DOMStringSizeError: {
2092 - s: "DOMSTRING_SIZE_ERR",
2093 - c: 2,
2094 - m: 0
2095 - },
2096 - HierarchyRequestError: {
2097 - s: "HIERARCHY_REQUEST_ERR",
2098 - c: 3,
2099 - m: 1
2100 - },
2101 - WrongDocumentError: {
2102 - s: "WRONG_DOCUMENT_ERR",
2103 - c: 4,
2104 - m: 1
2105 - },
2106 - InvalidCharacterError: {
2107 - s: "INVALID_CHARACTER_ERR",
2108 - c: 5,
2109 - m: 1
2110 - },
2111 - NoDataAllowedError: {
2112 - s: "NO_DATA_ALLOWED_ERR",
2113 - c: 6,
2114 - m: 0
2115 - },
2116 - NoModificationAllowedError: {
2117 - s: "NO_MODIFICATION_ALLOWED_ERR",
2118 - c: 7,
2119 - m: 1
2120 - },
2121 - NotFoundError: {
2122 - s: "NOT_FOUND_ERR",
2123 - c: 8,
2124 - m: 1
2125 - },
2126 - NotSupportedError: {
2127 - s: "NOT_SUPPORTED_ERR",
2128 - c: 9,
2129 - m: 1
2130 - },
2131 - InUseAttributeError: {
2132 - s: "INUSE_ATTRIBUTE_ERR",
2133 - c: 10,
2134 - m: 1
2135 - },
2136 - InvalidStateError: {
2137 - s: "INVALID_STATE_ERR",
2138 - c: 11,
2139 - m: 1
2140 - },
2141 - SyntaxError: {
2142 - s: "SYNTAX_ERR",
2143 - c: 12,
2144 - m: 1
2145 - },
2146 - InvalidModificationError: {
2147 - s: "INVALID_MODIFICATION_ERR",
2148 - c: 13,
2149 - m: 1
2150 - },
2151 - NamespaceError: {
2152 - s: "NAMESPACE_ERR",
2153 - c: 14,
2154 - m: 1
2155 - },
2156 - InvalidAccessError: {
2157 - s: "INVALID_ACCESS_ERR",
2158 - c: 15,
2159 - m: 1
2160 - },
2161 - ValidationError: {
2162 - s: "VALIDATION_ERR",
2163 - c: 16,
2164 - m: 0
2165 - },
2166 - TypeMismatchError: {
2167 - s: "TYPE_MISMATCH_ERR",
2168 - c: 17,
2169 - m: 1
2170 - },
2171 - SecurityError: {
2172 - s: "SECURITY_ERR",
2173 - c: 18,
2174 - m: 1
2175 - },
2176 - NetworkError: {
2177 - s: "NETWORK_ERR",
2178 - c: 19,
2179 - m: 1
2180 - },
2181 - AbortError: {
2182 - s: "ABORT_ERR",
2183 - c: 20,
2184 - m: 1
2185 - },
2186 - URLMismatchError: {
2187 - s: "URL_MISMATCH_ERR",
2188 - c: 21,
2189 - m: 1
2190 - },
2191 - QuotaExceededError: {
2192 - s: "QUOTA_EXCEEDED_ERR",
2193 - c: 22,
2194 - m: 1
2195 - },
2196 - TimeoutError: {
2197 - s: "TIMEOUT_ERR",
2198 - c: 23,
2199 - m: 1
2200 - },
2201 - InvalidNodeTypeError: {
2202 - s: "INVALID_NODE_TYPE_ERR",
2203 - c: 24,
2204 - m: 1
2205 - },
2206 - DataCloneError: {
2207 - s: "DATA_CLONE_ERR",
2208 - c: 25,
2209 - m: 1
2210 - }
2211 - };
2212 - }));
1439 +/***/ }),
2213 1440
2214 -//#endregion
2215 -//#region node_modules/core-js/internals/error-stack-clear.js
2216 - var require_error_stack_clear = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2217 - var uncurryThis = require_function_uncurry_this();
2218 - var $Error = Error;
2219 - var replace = uncurryThis("".replace);
2220 - var TEST = (function(arg) {
2221 - return String(new $Error(arg).stack);
2222 - })("zxcasd");
2223 - var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
2224 - var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
2225 - module.exports = function(stack, dropEntries) {
2226 - if (IS_V8_OR_CHAKRA_STACK && typeof stack == "string" && !$Error.prepareStackTrace) while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, "");
2227 - return stack;
2228 - };
2229 - }));
1441 +/***/ "../assets/dev/js/frontend/utils/video-api/youtube-loader.js":
1442 +/*!*******************************************************************!*\
1443 + !*** ../assets/dev/js/frontend/utils/video-api/youtube-loader.js ***!
1444 + \*******************************************************************/
1445 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2230 1446
2231 -//#endregion
2232 -//#region node_modules/core-js/modules/web.dom-exception.stack.js
2233 - var require_web_dom_exception_stack = /* @__PURE__ */ __commonJSMin((() => {
2234 - var $ = require_export();
2235 - var globalThis = require_global_this();
2236 - var getBuiltIn = require_get_built_in();
2237 - var createPropertyDescriptor = require_create_property_descriptor();
2238 - var defineProperty = require_object_define_property().f;
2239 - var hasOwn = require_has_own_property();
2240 - var anInstance = require_an_instance();
2241 - var inheritIfRequired = require_inherit_if_required();
2242 - var normalizeStringArgument = require_normalize_string_argument();
2243 - var DOMExceptionConstants = require_dom_exception_constants();
2244 - var clearErrorStack = require_error_stack_clear();
2245 - var DESCRIPTORS = require_descriptors();
2246 - var IS_PURE = require_is_pure();
2247 - var DOM_EXCEPTION = "DOMException";
2248 - var Error = getBuiltIn("Error");
2249 - var NativeDOMException = getBuiltIn(DOM_EXCEPTION);
2250 - var $DOMException = function DOMException() {
2251 - anInstance(this, DOMExceptionPrototype);
2252 - var argumentsLength = arguments.length;
2253 - var message = normalizeStringArgument(argumentsLength < 1 ? void 0 : arguments[0]);
2254 - var that = new NativeDOMException(message, normalizeStringArgument(argumentsLength < 2 ? void 0 : arguments[1], "Error"));
2255 - var error = new Error(message);
2256 - error.name = DOM_EXCEPTION;
2257 - defineProperty(that, "stack", createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
2258 - inheritIfRequired(that, this, $DOMException);
2259 - return that;
2260 - };
2261 - var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;
2262 - var ERROR_HAS_STACK = "stack" in new Error(DOM_EXCEPTION);
2263 - var DOM_EXCEPTION_HAS_STACK = "stack" in new NativeDOMException(1, 2);
2264 - var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION);
2265 - var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);
2266 - var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;
2267 - $({
2268 - global: true,
2269 - constructor: true,
2270 - forced: IS_PURE || FORCED_CONSTRUCTOR
2271 - }, { DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException });
2272 - var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
2273 - var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
2274 - if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
2275 - if (!IS_PURE) defineProperty(PolyfilledDOMExceptionPrototype, "constructor", createPropertyDescriptor(1, PolyfilledDOMException));
2276 - for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {
2277 - var constant = DOMExceptionConstants[key];
2278 - var constantName = constant.s;
2279 - if (!hasOwn(PolyfilledDOMException, constantName)) defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));
2280 - }
2281 - }
2282 - }));
2283 1447
2284 -//#endregion
2285 -//#region assets/dev/js/frontend/utils/url-actions.js
2286 - var require_url_actions = /* @__PURE__ */ __commonJSMin(((exports) => {
2287 - init_asyncToGenerator();
2288 - Object.defineProperty(exports, "__esModule", { value: true });
2289 - exports.default = void 0;
2290 - require_web_dom_exception_stack();
2291 - var _default = class extends elementorModules.ViewModule {
2292 - getDefaultSettings() {
2293 - return { selectors: { links: "a[href^=\"%23elementor-action\"], a[href^=\"#elementor-action\"]" } };
2294 - }
2295 - bindEvents() {
2296 - elementorFrontend.elements.$document.on("click", this.getSettings("selectors.links"), this.runLinkAction.bind(this));
2297 - }
2298 - initActions() {
2299 - this.actions = { lightbox: function() {
2300 - var _ref = _asyncToGenerator(function* (settings) {
2301 - const lightbox = yield elementorFrontend.utils.lightbox;
2302 - if (settings.slideshow) lightbox.openSlideshow(settings.slideshow, settings.url);
2303 - else {
2304 - if (settings.id) settings.type = "image";
2305 - lightbox.showModal(settings);
2306 - }
2307 - });
2308 - return function lightbox(_x) {
2309 - return _ref.apply(this, arguments);
2310 - };
2311 - }() };
2312 - }
2313 - addAction(name, callback) {
2314 - this.actions[name] = callback;
2315 - }
2316 - runAction(url, ...restArgs) {
2317 - url = decodeURI(url);
2318 - url = decodeURIComponent(url);
2319 - const actionMatch = url.match(/action=(.+?)&/);
2320 - if (!actionMatch) return;
2321 - const action = this.actions[actionMatch[1]];
2322 - if (!action) return;
2323 - let settings = {};
2324 - const settingsMatch = url.match(/settings=(.+)/);
2325 - if (settingsMatch) settings = JSON.parse(atob(settingsMatch[1]));
2326 - settings.previousEvent = event;
2327 - action(settings, ...restArgs);
2328 - }
2329 - runLinkAction(event) {
2330 - event.preventDefault();
2331 - this.runAction(jQuery(event.currentTarget).attr("href"), event);
2332 - }
2333 - runHashAction() {
2334 - if (!location.hash) return;
2335 - const elementWithHash = document.querySelector(`[data-e-action-hash="${location.hash}"], a[href*="${location.hash}"]`);
2336 - if (elementWithHash) this.runAction(elementWithHash.getAttribute("data-e-action-hash"));
2337 - }
2338 - createActionHash(action, settings) {
2339 - return encodeURIComponent(`#elementor-action:action=${action}&settings=${btoa(JSON.stringify(settings))}`);
2340 - }
2341 - onInit() {
2342 - super.onInit();
2343 - this.initActions();
2344 - elementorFrontend.on("components:init", this.runHashAction.bind(this));
2345 - }
2346 - };
2347 - exports.default = _default;
2348 - }));
2349 1448
2350 -//#endregion
2351 -//#region assets/dev/js/frontend/utils/swiper.js
2352 - var require_swiper = /* @__PURE__ */ __commonJSMin(((exports) => {
2353 - Object.defineProperty(exports, "__esModule", { value: true });
2354 - exports.default = void 0;
2355 - require_esnext_iterator_constructor();
2356 - require_esnext_iterator_for_each();
2357 - var SwiperHandler = class {
2358 - constructor(container, config) {
2359 - var _container$closest;
2360 - var _container$closest2;
2361 - this.config = config;
2362 - if (this.config.breakpoints) this.config = this.adjustConfig(config);
2363 - if (container instanceof jQuery) container = container[0];
2364 - (_container$closest = container.closest(".elementor-widget-wrap")) === null || _container$closest === void 0 || _container$closest.classList.add("e-swiper-container");
2365 - (_container$closest2 = container.closest(".elementor-widget")) === null || _container$closest2 === void 0 || _container$closest2.classList.add("e-widget-swiper");
2366 - return new Promise((resolve) => {
2367 - if ("undefined" === typeof Swiper) {
2368 - elementorFrontend.utils.assetsLoader.load("script", "swiper").then(() => resolve(this.createSwiperInstance(container, this.config)));
2369 - return;
2370 - }
2371 - if ("function" === typeof Swiper && "undefined" === typeof window.Swiper) window.Swiper = Swiper;
2372 - resolve(this.createSwiperInstance(container, this.config));
2373 - });
2374 - }
2375 - createSwiperInstance(container, config) {
2376 - const SwiperSource = window.Swiper;
2377 - SwiperSource.prototype.adjustConfig = this.adjustConfig;
2378 - config = this.applyMotionPreferences(config);
2379 - return new SwiperSource(container, config);
2380 - }
2381 - adjustConfig(config) {
2382 - if (!config.handleElementorBreakpoints) return config;
2383 - const elementorBreakpoints = elementorFrontend.config.responsive.activeBreakpoints;
2384 - const elementorBreakpointValues = elementorFrontend.breakpoints.getBreakpointValues();
2385 - Object.keys(config.breakpoints).forEach((configBPKey) => {
2386 - const configBPKeyInt = parseInt(configBPKey);
2387 - let breakpointToUpdate;
2388 - if (configBPKeyInt === elementorBreakpoints.mobile.value || configBPKeyInt + 1 === elementorBreakpoints.mobile.value) breakpointToUpdate = 0;
2389 - else if (elementorBreakpoints.widescreen && (configBPKeyInt === elementorBreakpoints.widescreen.value || configBPKeyInt + 1 === elementorBreakpoints.widescreen.value)) breakpointToUpdate = configBPKeyInt;
2390 - else {
2391 - const currentBPIndexInElementorBPs = elementorBreakpointValues.findIndex((elementorBP) => {
2392 - return configBPKeyInt === elementorBP || configBPKeyInt + 1 === elementorBP;
2393 - });
2394 - breakpointToUpdate = elementorBreakpointValues[currentBPIndexInElementorBPs - 1];
2395 - }
2396 - config.breakpoints[breakpointToUpdate] = config.breakpoints[configBPKey];
2397 - config.breakpoints[configBPKey] = {
2398 - slidesPerView: config.slidesPerView,
2399 - slidesPerGroup: config.slidesPerGroup ? config.slidesPerGroup : 1
2400 - };
2401 - });
2402 - return config;
2403 - }
2404 - applyMotionPreferences(config) {
2405 - if (!window.matchMedia("(prefers-reduced-motion: reduce)").matches) return config;
2406 - return Object.assign({}, config, {
2407 - speed: 0,
2408 - autoplay: false
2409 - });
2410 - }
2411 - };
2412 - exports.default = SwiperHandler;
2413 - }));
1449 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1450 +Object.defineProperty(exports, "__esModule", ({
1451 + value: true
1452 +}));
1453 +exports["default"] = void 0;
1454 +var _baseLoader = _interopRequireDefault(__webpack_require__(/*! ./base-loader */ "../assets/dev/js/frontend/utils/video-api/base-loader.js"));
1455 +class YoutubeLoader extends _baseLoader.default {
1456 + getApiURL() {
1457 + return 'https://www.youtube.com/iframe_api';
1458 + }
1459 + getURLRegex() {
1460 + return /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user|shorts)\/))([^?&"'>]+)/;
1461 + }
1462 + isApiLoaded() {
1463 + return window.YT && YT.loaded;
1464 + }
1465 + getApiObject() {
1466 + return YT;
1467 + }
1468 +}
1469 +exports["default"] = YoutubeLoader;
2414 1470
2415 -//#endregion
2416 -//#region assets/dev/js/frontend/utils/lightbox/lightbox-manager.js
2417 - var require_lightbox_manager = /* @__PURE__ */ __commonJSMin(((exports) => {
2418 - init_asyncToGenerator();
2419 - Object.defineProperty(exports, "__esModule", { value: true });
2420 - exports.default = void 0;
2421 - require_esnext_iterator_constructor();
2422 - require_esnext_iterator_find();
2423 - var LightboxManager = class LightboxManager extends elementorModules.ViewModule {
2424 - static getLightbox() {
2425 - const lightboxPromise = new Promise((resolveLightbox) => {
2426 - __elementorLoadChunk("lightbox-lightbox").then(({ default: LightboxModule }) => resolveLightbox(new LightboxModule()));
2427 - });
2428 - const dialogScriptPromise = elementorFrontend.utils.assetsLoader.load("script", "dialog");
2429 - const dialogStylePromise = elementorFrontend.utils.assetsLoader.load("style", "dialog");
2430 - const shareLinkPromise = elementorFrontend.utils.assetsLoader.load("script", "share-link");
2431 - const swiperStylePromise = elementorFrontend.utils.assetsLoader.load("style", "swiper");
2432 - const lightboxStylePromise = elementorFrontend.utils.assetsLoader.load("style", "e-lightbox");
2433 - return Promise.all([
2434 - lightboxPromise,
2435 - dialogScriptPromise,
2436 - dialogStylePromise,
2437 - shareLinkPromise,
2438 - swiperStylePromise,
2439 - lightboxStylePromise
2440 - ]).then(() => lightboxPromise);
2441 - }
2442 - getDefaultSettings() {
2443 - return { selectors: {
2444 - links: "a, [data-elementor-lightbox]",
2445 - slideshow: "[data-elementor-lightbox-slideshow]"
2446 - } };
2447 - }
2448 - getDefaultElements() {
2449 - return {
2450 - $links: jQuery(this.getSettings("selectors.links")),
2451 - $slideshow: jQuery(this.getSettings("selectors.slideshow"))
2452 - };
2453 - }
2454 - isLightboxLink(element) {
2455 - if ("a" === element.tagName.toLowerCase() && (element.hasAttribute("download") || !/^[^?]+\.(png|jpe?g|gif|svg|webp|avif)(\?.*)?$/i.test(element.href)) && !element.dataset.elementorLightboxVideo) return false;
2456 - const generalOpenInLightbox = elementorFrontend.getKitSettings("global_image_lightbox");
2457 - const currentLinkOpenInLightbox = element.dataset.elementorOpenLightbox;
2458 - return "yes" === currentLinkOpenInLightbox || generalOpenInLightbox && "no" !== currentLinkOpenInLightbox;
2459 - }
2460 - isLightboxSlideshow() {
2461 - return 0 !== this.elements.$slideshow.length;
2462 - }
2463 - onLinkClick(event) {
2464 - var _this = this;
2465 - return _asyncToGenerator(function* () {
2466 - const element = event.currentTarget;
2467 - const $target = jQuery(event.target);
2468 - const editMode = elementorFrontend.isEditMode();
2469 - const isColorPickingMode = editMode && elementor.$previewContents.find("body").hasClass("elementor-editor__ui-state__color-picker");
2470 - const isClickInsideElementor = !!$target.closest(".elementor-edit-area").length;
2471 - if (!_this.isLightboxLink(element)) {
2472 - if (editMode && isClickInsideElementor) event.preventDefault();
2473 - return;
2474 - }
2475 - event.preventDefault();
2476 - if (editMode && !elementor.getPreferences("lightbox_in_editor")) return;
2477 - if (isColorPickingMode) return;
2478 - (yield LightboxManager.getLightbox()).createLightbox(element);
2479 - })();
2480 - }
2481 - bindEvents() {
2482 - elementorFrontend.elements.$document.on("click", this.getSettings("selectors.links"), (event) => this.onLinkClick(event));
2483 - }
2484 - onInit(...args) {
2485 - super.onInit(...args);
2486 - if (elementorFrontend.isEditMode()) return;
2487 - this.maybeActivateLightboxOnLink();
2488 - }
2489 - maybeActivateLightboxOnLink() {
2490 - this.elements.$links.each((index, element) => {
2491 - if (this.isLightboxLink(element)) {
2492 - LightboxManager.getLightbox();
2493 - return false;
2494 - }
2495 - });
2496 - }
2497 - };
2498 - exports.default = LightboxManager;
2499 - }));
1471 +/***/ }),
2500 1472
2501 -//#endregion
2502 -//#region assets/dev/js/frontend/utils/assets-loader.js
2503 - var require_assets_loader = /* @__PURE__ */ __commonJSMin(((exports) => {
2504 - var _elementorFrontendCon;
2505 - Object.defineProperty(exports, "__esModule", { value: true });
2506 - exports.default = void 0;
2507 - var AssetsLoader = class AssetsLoader {
2508 - getScriptElement(src) {
2509 - const scriptElement = document.createElement("script");
2510 - scriptElement.src = src;
2511 - return scriptElement;
2512 - }
2513 - getStyleElement(src) {
2514 - const styleElement = document.createElement("link");
2515 - styleElement.rel = "stylesheet";
2516 - styleElement.href = src;
2517 - return styleElement;
2518 - }
2519 - load(type, key) {
2520 - const assetData = AssetsLoader.assets[type][key];
2521 - if (!assetData.loader) assetData.loader = this.isAssetLoaded(assetData, type) ? Promise.resolve(true) : this.loadAsset(assetData, type);
2522 - return assetData.loader;
2523 - }
2524 - isAssetLoaded(assetData, assetType) {
2525 - var _document$querySelect;
2526 - const filePath = "script" === assetType ? `script[src="${assetData.src}"]` : `link[href="${assetData.src}"]`;
2527 - return !!((_document$querySelect = document.querySelectorAll(filePath)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.length);
2528 - }
2529 - loadAsset(assetData, assetType) {
2530 - return new Promise((resolve) => {
2531 - const element = "style" === assetType ? this.getStyleElement(assetData.src) : this.getScriptElement(assetData.src);
2532 - element.onload = () => resolve(true);
2533 - this.appendAsset(assetData, element);
2534 - });
2535 - }
2536 - appendAsset(assetData, element) {
2537 - const beforeElement = document.querySelector(assetData.before);
2538 - if (!!beforeElement) {
2539 - beforeElement.insertAdjacentElement("beforebegin", element);
2540 - return;
2541 - }
2542 - const parent = "head" === assetData.parent ? assetData.parent : "body";
2543 - document[parent].appendChild(element);
2544 - }
2545 - };
2546 - exports.default = AssetsLoader;
2547 - var assetsUrl = elementorFrontendConfig.urls.assets;
2548 - var fileSuffix = elementorFrontendConfig.environmentMode.isScriptDebug ? "" : ".min";
2549 - var pluginVersion = elementorFrontendConfig.version;
2550 - AssetsLoader.assets = {
2551 - script: {
2552 - dialog: { src: `${assetsUrl}lib/dialog/dialog${fileSuffix}.js?ver=4.9.3` },
2553 - "share-link": { src: `${assetsUrl}lib/share-link/share-link${fileSuffix}.js?ver=${pluginVersion}` },
2554 - swiper: { src: `${assetsUrl}lib/swiper/v8/swiper${fileSuffix}.js?ver=8.4.5` }
2555 - },
2556 - style: {
2557 - swiper: {
2558 - src: `${assetsUrl}lib/swiper/v8/css/swiper${fileSuffix}.css?ver=8.4.5`,
2559 - parent: "head"
2560 - },
2561 - "e-lightbox": { src: ((_elementorFrontendCon = elementorFrontendConfig) === null || _elementorFrontendCon === void 0 || (_elementorFrontendCon = _elementorFrontendCon.responsive) === null || _elementorFrontendCon === void 0 ? void 0 : _elementorFrontendCon.hasCustomBreakpoints) ? `${elementorFrontendConfig.urls.uploadUrl}/elementor/css/custom-lightbox.min.css?ver=${pluginVersion}` : `${assetsUrl}css/conditionals/lightbox${fileSuffix}.css?ver=${pluginVersion}` },
2562 - dialog: {
2563 - src: `${assetsUrl}css/conditionals/dialog${fileSuffix}.css?ver=${pluginVersion}`,
2564 - parent: "head",
2565 - before: "#elementor-frontend-css"
2566 - }
2567 - }
2568 - };
2569 - }));
1473 +/***/ "../assets/dev/js/public-path.js":
1474 +/*!***************************************!*\
1475 + !*** ../assets/dev/js/public-path.js ***!
1476 + \***************************************/
1477 +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
2570 1478
2571 -//#endregion
2572 -//#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
2573 - function _typeof(o) {
2574 - "@babel/helpers - typeof";
2575 - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
2576 - return typeof o;
2577 - } : function(o) {
2578 - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
2579 - }, _typeof(o);
2580 - }
2581 - var init_typeof = __esmMin((() => {}));
2582 1479
2583 -//#endregion
2584 -//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
2585 - function toPrimitive(t, r) {
2586 - if ("object" != _typeof(t) || !t) return t;
2587 - var e = t[Symbol.toPrimitive];
2588 - if (void 0 !== e) {
2589 - var i = e.call(t, r || "default");
2590 - if ("object" != _typeof(i)) return i;
2591 - throw new TypeError("@@toPrimitive must return a primitive value.");
2592 - }
2593 - return ("string" === r ? String : Number)(t);
2594 - }
2595 - var init_toPrimitive = __esmMin((() => {
2596 - init_typeof();
2597 - }));
2598 1480
2599 -//#endregion
2600 -//#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
2601 - function toPropertyKey(t) {
2602 - var i = toPrimitive(t, "string");
2603 - return "symbol" == _typeof(i) ? i : i + "";
2604 - }
2605 - var init_toPropertyKey = __esmMin((() => {
2606 - init_typeof();
2607 - init_toPrimitive();
2608 - }));
1481 +/* eslint-disable camelcase */
1482 +__webpack_require__.p = elementorFrontendConfig.urls.assets + 'js/';
2609 1483
2610 -//#endregion
2611 -//#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
2612 - function _defineProperty(e, r, t) {
2613 - return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
2614 - value: t,
2615 - enumerable: !0,
2616 - configurable: !0,
2617 - writable: !0
2618 - }) : e[r] = t, e;
2619 - }
2620 - var init_defineProperty = __esmMin((() => {
2621 - init_toPropertyKey();
2622 - }));
1484 +/***/ }),
2623 1485
2624 -//#endregion
2625 -//#region \0@oxc-project+runtime@0.140.0/helpers/esm/objectSpread2.js
2626 - function ownKeys(e, r) {
2627 - var t = Object.keys(e);
2628 - if (Object.getOwnPropertySymbols) {
2629 - var o = Object.getOwnPropertySymbols(e);
2630 - r && (o = o.filter(function(r) {
2631 - return Object.getOwnPropertyDescriptor(e, r).enumerable;
2632 - })), t.push.apply(t, o);
2633 - }
2634 - return t;
2635 - }
2636 - function _objectSpread2(e) {
2637 - for (var r = 1; r < arguments.length; r++) {
2638 - var t = null != arguments[r] ? arguments[r] : {};
2639 - r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
2640 - _defineProperty(e, r, t[r]);
2641 - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
2642 - Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
2643 - });
2644 - }
2645 - return e;
2646 - }
2647 - var init_objectSpread2 = __esmMin((() => {
2648 - init_defineProperty();
2649 - }));
1486 +/***/ "../assets/dev/js/utils/breakpoints.js":
1487 +/*!*********************************************!*\
1488 + !*** ../assets/dev/js/utils/breakpoints.js ***!
1489 + \*********************************************/
1490 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2650 1491
2651 -//#endregion
2652 -//#region node_modules/core-js/internals/is-array.js
2653 - var require_is_array = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2654 - var classof = require_classof_raw();
2655 - module.exports = Array.isArray || function isArray(argument) {
2656 - return classof(argument) === "Array";
2657 - };
2658 - }));
2659 1492
2660 -//#endregion
2661 -//#region node_modules/core-js/internals/array-set-length.js
2662 - var require_array_set_length = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2663 - var DESCRIPTORS = require_descriptors();
2664 - var isArray = require_is_array();
2665 - var $TypeError = TypeError;
2666 - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
2667 - var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function() {
2668 - if (this !== void 0) return true;
2669 - try {
2670 - Object.defineProperty([], "length", { writable: false }).length = 1;
2671 - } catch (error) {
2672 - return error instanceof TypeError;
2673 - }
2674 - }();
2675 - module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function(O, length) {
2676 - if (isArray(O) && !getOwnPropertyDescriptor(O, "length").writable) throw new $TypeError("Cannot set read only .length");
2677 - return O.length = length;
2678 - } : function(O, length) {
2679 - return O.length = length;
2680 - };
2681 - }));
2682 1493
2683 -//#endregion
2684 -//#region node_modules/core-js/internals/does-not-exceed-safe-integer.js
2685 - var require_does_not_exceed_safe_integer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2686 - var $TypeError = TypeError;
2687 - var MAX_SAFE_INTEGER = 9007199254740991;
2688 - module.exports = function(it) {
2689 - if (it > MAX_SAFE_INTEGER) throw $TypeError("Maximum allowed index exceeded");
2690 - return it;
2691 - };
2692 - }));
1494 +Object.defineProperty(exports, "__esModule", ({
1495 + value: true
1496 +}));
1497 +exports["default"] = void 0;
1498 +__webpack_require__(/*! core-js/modules/es.array.push.js */ "../node_modules/core-js/modules/es.array.push.js");
1499 +__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
1500 +__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
1501 +__webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "../node_modules/core-js/modules/esnext.iterator.map.js");
1502 +/**
1503 + * Breakpoints
1504 + *
1505 + * This utility class contains helper functions relating to Elementor's breakpoints system.
1506 + *
1507 + * @since 3.4.0
1508 + */
1509 +class Breakpoints extends elementorModules.Module {
1510 + constructor(responsiveConfig) {
1511 + super();
2693 1512
2694 -//#endregion
2695 -//#region node_modules/core-js/modules/es.array.push.js
2696 - var require_es_array_push = /* @__PURE__ */ __commonJSMin((() => {
2697 - var $ = require_export();
2698 - var toObject = require_to_object();
2699 - var lengthOfArrayLike = require_length_of_array_like();
2700 - var setArrayLength = require_array_set_length();
2701 - var doesNotExceedSafeInteger = require_does_not_exceed_safe_integer();
2702 - var INCORRECT_TO_LENGTH = require_fails()(function() {
2703 - return [].push.call({ length: 4294967296 }, 1) !== 4294967297;
2704 - });
2705 - var properErrorOnNonWritableLength = function() {
2706 - try {
2707 - Object.defineProperty([], "length", { writable: false }).push();
2708 - } catch (error) {
2709 - return error instanceof TypeError;
2710 - }
2711 - };
2712 - $({
2713 - target: "Array",
2714 - proto: true,
2715 - arity: 1,
2716 - forced: INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength()
2717 - }, { push: function push(item) {
2718 - var O = toObject(this);
2719 - var len = lengthOfArrayLike(O);
2720 - var argCount = arguments.length;
2721 - doesNotExceedSafeInteger(len + argCount);
2722 - for (var i = 0; i < argCount; i++) {
2723 - O[len] = arguments[i];
2724 - len++;
2725 - }
2726 - setArrayLength(O, len);
2727 - return len;
2728 - } });
2729 - }));
1513 + // The passed config is either `elementor.config.responsive` or `elementorFrontend.config.responsive`
1514 + this.responsiveConfig = responsiveConfig;
1515 + }
2730 1516
2731 -//#endregion
2732 -//#region node_modules/core-js/internals/define-built-ins.js
2733 - var require_define_built_ins = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2734 - var defineBuiltIn = require_define_built_in();
2735 - module.exports = function(target, src, options) {
2736 - for (var key in src) defineBuiltIn(target, key, src[key], options);
2737 - return target;
2738 - };
2739 - }));
1517 + /**
1518 + * Get Active Breakpoints List
1519 + *
1520 + * Returns a flat array containing the active breakpoints/devices. By default, it returns the li
1521 + * the list ordered from smallest to largest breakpoint. If `true` is passed as a parameter, it reverses the order.
1522 + *
1523 + * @since 3.4.0
1524 + *
1525 + * @param {Object} args
1526 + */
1527 + getActiveBreakpointsList(args = {}) {
1528 + const defaultArgs = {
1529 + largeToSmall: false,
1530 + withDesktop: false
1531 + };
1532 + args = {
1533 + ...defaultArgs,
1534 + ...args
1535 + };
1536 + const breakpointKeys = Object.keys(this.responsiveConfig.activeBreakpoints);
1537 + if (args.withDesktop) {
1538 + // If there is an active 'widescreen' breakpoint, insert the artificial 'desktop' device below it.
1539 + const widescreenIndex = breakpointKeys.indexOf('widescreen'),
1540 + indexToInsertDesktopDevice = -1 === widescreenIndex ? breakpointKeys.length : breakpointKeys.length - 1;
1541 + breakpointKeys.splice(indexToInsertDesktopDevice, 0, 'desktop');
1542 + }
1543 + if (args.largeToSmall) {
1544 + breakpointKeys.reverse();
1545 + }
1546 + return breakpointKeys;
1547 + }
2740 1548
2741 -//#endregion
2742 -//#region node_modules/core-js/internals/create-iter-result-object.js
2743 - var require_create_iter_result_object = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2744 - module.exports = function(value, done) {
2745 - return {
2746 - value,
2747 - done
2748 - };
2749 - };
2750 - }));
1549 + /**
1550 + * Get Active Breakpoint Values
1551 + *
1552 + * Returns a flat array containing the list of active breakpoint values, from smallest to largest.
1553 + *
1554 + * @since 3.4.0
1555 + */
1556 + getBreakpointValues() {
1557 + const {
1558 + activeBreakpoints
1559 + } = this.responsiveConfig,
1560 + breakpointValues = [];
1561 + Object.values(activeBreakpoints).forEach(breakpointConfig => {
1562 + breakpointValues.push(breakpointConfig.value);
1563 + });
1564 + return breakpointValues;
1565 + }
2751 1566
2752 -//#endregion
2753 -//#region node_modules/core-js/internals/iterator-close-all.js
2754 - var require_iterator_close_all = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2755 - var iteratorClose = require_iterator_close();
2756 - module.exports = function(iters, kind, value) {
2757 - for (var i = iters.length - 1; i >= 0; i--) {
2758 - if (iters[i] === void 0) continue;
2759 - try {
2760 - value = iteratorClose(iters[i].iterator, kind, value);
2761 - } catch (error) {
2762 - kind = "throw";
2763 - value = error;
2764 - }
2765 - }
2766 - if (kind === "throw") throw value;
2767 - return value;
2768 - };
2769 - }));
1567 + /**
1568 + * Get Desktop Previous Device Key
1569 + *
1570 + * Returns the key of the device directly under desktop (can be 'tablet', 'tablet_extra', 'laptop').
1571 + *
1572 + * @since 3.4.0
1573 + *
1574 + * @return {string} device key
1575 + */
1576 + getDesktopPreviousDeviceKey() {
1577 + let desktopPreviousDevice = '';
1578 + const {
1579 + activeBreakpoints
1580 + } = this.responsiveConfig,
1581 + breakpointKeys = Object.keys(activeBreakpoints),
1582 + numOfDevices = breakpointKeys.length;
1583 + if ('min' === activeBreakpoints[breakpointKeys[numOfDevices - 1]].direction) {
1584 + // If the widescreen breakpoint is active, the device that's previous to desktop is the last one before
1585 + // widescreen.
1586 + desktopPreviousDevice = breakpointKeys[numOfDevices - 2];
1587 + } else {
1588 + // If the widescreen breakpoint isn't active, we just take the last device returned by the config.
1589 + desktopPreviousDevice = breakpointKeys[numOfDevices - 1];
1590 + }
1591 + return desktopPreviousDevice;
1592 + }
2770 1593
2771 -//#endregion
2772 -//#region node_modules/core-js/internals/iterator-create-proxy.js
2773 - var require_iterator_create_proxy = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2774 - var call = require_function_call();
2775 - var create = require_object_create();
2776 - var createNonEnumerableProperty = require_create_non_enumerable_property();
2777 - var defineBuiltIns = require_define_built_ins();
2778 - var wellKnownSymbol = require_well_known_symbol();
2779 - var InternalStateModule = require_internal_state();
2780 - var getMethod = require_get_method();
2781 - var IteratorPrototype = require_iterators_core().IteratorPrototype;
2782 - var createIterResultObject = require_create_iter_result_object();
2783 - var iteratorClose = require_iterator_close();
2784 - var iteratorCloseAll = require_iterator_close_all();
2785 - var TO_STRING_TAG = wellKnownSymbol("toStringTag");
2786 - var ITERATOR_HELPER = "IteratorHelper";
2787 - var WRAP_FOR_VALID_ITERATOR = "WrapForValidIterator";
2788 - var NORMAL = "normal";
2789 - var THROW = "throw";
2790 - var setInternalState = InternalStateModule.set;
2791 - var createIteratorProxyPrototype = function(IS_ITERATOR) {
2792 - var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);
2793 - return defineBuiltIns(create(IteratorPrototype), {
2794 - next: function next() {
2795 - var state = getInternalState(this);
2796 - if (IS_ITERATOR) return state.nextHandler();
2797 - if (state.done) return createIterResultObject(void 0, true);
2798 - try {
2799 - var result = state.nextHandler();
2800 - return state.returnHandlerResult ? result : createIterResultObject(result, state.done);
2801 - } catch (error) {
2802 - state.done = true;
2803 - throw error;
2804 - }
2805 - },
2806 - "return": function() {
2807 - var state = getInternalState(this);
2808 - var iterator = state.iterator;
2809 - state.done = true;
2810 - if (IS_ITERATOR) {
2811 - var returnMethod = getMethod(iterator, "return");
2812 - return returnMethod ? call(returnMethod, iterator) : createIterResultObject(void 0, true);
2813 - }
2814 - if (state.inner) try {
2815 - iteratorClose(state.inner.iterator, NORMAL);
2816 - } catch (error) {
2817 - return iteratorClose(iterator, THROW, error);
2818 - }
2819 - if (state.openIters) try {
2820 - iteratorCloseAll(state.openIters, NORMAL);
2821 - } catch (error) {
2822 - return iteratorClose(iterator, THROW, error);
2823 - }
2824 - if (iterator) iteratorClose(iterator, NORMAL);
2825 - return createIterResultObject(void 0, true);
2826 - }
2827 - });
2828 - };
2829 - var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);
2830 - var IteratorHelperPrototype = createIteratorProxyPrototype(false);
2831 - createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, "Iterator Helper");
2832 - module.exports = function(nextHandler, IS_ITERATOR, RETURN_HANDLER_RESULT) {
2833 - var IteratorProxy = function Iterator(record, state) {
2834 - if (state) {
2835 - state.iterator = record.iterator;
2836 - state.next = record.next;
2837 - } else state = record;
2838 - state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;
2839 - state.returnHandlerResult = !!RETURN_HANDLER_RESULT;
2840 - state.nextHandler = nextHandler;
2841 - state.counter = 0;
2842 - state.done = false;
2843 - setInternalState(this, state);
2844 - };
2845 - IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;
2846 - return IteratorProxy;
2847 - };
2848 - }));
1594 + /**
1595 + * Get Device Minimum Breakpoint
1596 + *
1597 + * Returns the minimum point in the device's display range. For each device, the minimum point of its display range
1598 + * is the max point of the device below it + 1px. For example, if the active devices are mobile, tablet,
1599 + * and desktop, and the mobile breakpoint is 767px, the minimum display point for tablet devices is 768px.
1600 + *
1601 + * @since 3.4.0
1602 + *
1603 + * @return {number|*} minimum breakpoint
1604 + */
1605 + getDesktopMinPoint() {
1606 + const {
1607 + activeBreakpoints
1608 + } = this.responsiveConfig,
1609 + desktopPreviousDevice = this.getDesktopPreviousDeviceKey();
1610 + return activeBreakpoints[desktopPreviousDevice].value + 1;
1611 + }
2849 1612
2850 -//#endregion
2851 -//#region node_modules/core-js/internals/call-with-safe-iteration-closing.js
2852 - var require_call_with_safe_iteration_closing = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2853 - var anObject = require_an_object();
2854 - var iteratorClose = require_iterator_close();
2855 - module.exports = function(iterator, fn, value, ENTRIES) {
2856 - try {
2857 - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
2858 - } catch (error) {
2859 - iteratorClose(iterator, "throw", error);
2860 - }
2861 - };
2862 - }));
1613 + /**
1614 + * Get Device Minimum Breakpoint
1615 + *
1616 + * Returns the minimum point in the device's display range. For each device, the minimum point of its display range
1617 + * is the max point of the device below it + 1px. For example, if the active devices are mobile, tablet,
1618 + * and desktop, and the mobile breakpoint is 767px, the minimum display point for tablet devices is 768px.
1619 + *
1620 + * @since 3.4.0
1621 + *
1622 + * @param {string} device
1623 + * @return {number|*} minimum breakpoint
1624 + */
1625 + getDeviceMinBreakpoint(device) {
1626 + if ('desktop' === device) {
1627 + return this.getDesktopMinPoint();
1628 + }
1629 + const {
1630 + activeBreakpoints
1631 + } = this.responsiveConfig,
1632 + breakpointNames = Object.keys(activeBreakpoints);
1633 + let minBreakpoint;
1634 + if (breakpointNames[0] === device) {
1635 + // For the lowest breakpoint, the min point is always 320.
1636 + minBreakpoint = 320;
1637 + } else if ('widescreen' === device) {
1638 + // Widescreen only has a minimum point. In this case, the breakpoint
1639 + // value in the Breakpoints config is itself the device min point.
1640 + if (activeBreakpoints[device]) {
1641 + minBreakpoint = activeBreakpoints[device].value;
1642 + } else {
1643 + // If the widescreen breakpoint does not exist in the active breakpoints config (for example, in the
1644 + // case this method runs as the breakpoint is being added), get the value from the full config.
1645 + minBreakpoint = this.responsiveConfig.breakpoints.widescreen;
1646 + }
1647 + } else {
1648 + const deviceNameIndex = breakpointNames.indexOf(device),
1649 + previousIndex = deviceNameIndex - 1;
1650 + minBreakpoint = activeBreakpoints[breakpointNames[previousIndex]].value + 1;
1651 + }
1652 + return minBreakpoint;
1653 + }
2863 1654
2864 -//#endregion
2865 -//#region node_modules/core-js/internals/iterator-helper-throws-on-invalid-iterator.js
2866 - var require_iterator_helper_throws_on_invalid_iterator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2867 - module.exports = function(methodName, argument) {
2868 - var method = typeof Iterator == "function" && Iterator.prototype[methodName];
2869 - if (method) try {
2870 - method.call({ next: null }, argument).next();
2871 - } catch (error) {
2872 - return true;
2873 - }
2874 - };
2875 - }));
1655 + /**
1656 + * Get Active Match Regex
1657 + *
1658 + * Returns a regular expression containing all active breakpoints prefixed with an underscore.
1659 + *
1660 + * @return {RegExp} Active Match Regex
1661 + */
1662 + getActiveMatchRegex() {
1663 + return new RegExp(this.getActiveBreakpointsList().map(device => '_' + device).join('|') + '$');
1664 + }
1665 +}
1666 +exports["default"] = Breakpoints;
2876 1667
2877 -//#endregion
2878 -//#region node_modules/core-js/modules/es.iterator.map.js
2879 - var require_es_iterator_map = /* @__PURE__ */ __commonJSMin((() => {
2880 - var $ = require_export();
2881 - var call = require_function_call();
2882 - var aCallable = require_a_callable();
2883 - var anObject = require_an_object();
2884 - var getIteratorDirect = require_get_iterator_direct();
2885 - var createIteratorProxy = require_iterator_create_proxy();
2886 - var callWithSafeIterationClosing = require_call_with_safe_iteration_closing();
2887 - var iteratorClose = require_iterator_close();
2888 - var iteratorHelperThrowsOnInvalidIterator = require_iterator_helper_throws_on_invalid_iterator();
2889 - var iteratorHelperWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error();
2890 - var IS_PURE = require_is_pure();
2891 - var MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator("map", function() {});
2892 - var mapWithoutClosingOnEarlyError = !IS_PURE && !MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR && iteratorHelperWithoutClosingOnEarlyError("map", TypeError);
2893 - var FORCED = IS_PURE || MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || mapWithoutClosingOnEarlyError;
2894 - var IteratorProxy = createIteratorProxy(function() {
2895 - var iterator = this.iterator;
2896 - var result = anObject(call(this.next, iterator));
2897 - if (!(this.done = !!result.done)) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);
2898 - });
2899 - $({
2900 - target: "Iterator",
2901 - proto: true,
2902 - real: true,
2903 - forced: FORCED
2904 - }, { map: function map(mapper) {
2905 - anObject(this);
2906 - try {
2907 - aCallable(mapper);
2908 - } catch (error) {
2909 - iteratorClose(this, "throw", error);
2910 - }
2911 - if (mapWithoutClosingOnEarlyError) return call(mapWithoutClosingOnEarlyError, this, mapper);
2912 - return new IteratorProxy(getIteratorDirect(this), { mapper });
2913 - } });
2914 - }));
1668 +/***/ }),
2915 1669
2916 -//#endregion
2917 -//#region node_modules/core-js/modules/esnext.iterator.map.js
2918 - var require_esnext_iterator_map = /* @__PURE__ */ __commonJSMin((() => {
2919 - require_es_iterator_map();
2920 - }));
1670 +/***/ "../assets/dev/js/utils/events.js":
1671 +/*!****************************************!*\
1672 + !*** ../assets/dev/js/utils/events.js ***!
1673 + \****************************************/
1674 +/***/ ((__unused_webpack_module, exports) => {
2921 1675
2922 -//#endregion
2923 -//#region assets/dev/js/utils/breakpoints.js
2924 - var require_breakpoints = /* @__PURE__ */ __commonJSMin(((exports) => {
2925 - init_objectSpread2();
2926 - Object.defineProperty(exports, "__esModule", { value: true });
2927 - exports.default = void 0;
2928 - require_es_array_push();
2929 - require_esnext_iterator_constructor();
2930 - require_esnext_iterator_for_each();
2931 - require_esnext_iterator_map();
2932 - /**
2933 - * Breakpoints
2934 - *
2935 - * This utility class contains helper functions relating to Elementor's breakpoints system.
2936 - *
2937 - * @since 3.4.0
2938 - */
2939 - var Breakpoints = class extends elementorModules.Module {
2940 - constructor(responsiveConfig) {
2941 - super();
2942 - this.responsiveConfig = responsiveConfig;
2943 - }
2944 - /**
2945 - * Get Active Breakpoints List
2946 - *
2947 - * Returns a flat array containing the active breakpoints/devices. By default, it returns the li
2948 - * the list ordered from smallest to largest breakpoint. If `true` is passed as a parameter, it reverses the order.
2949 - *
2950 - * @since 3.4.0
2951 - *
2952 - * @param {Object} args
2953 - */
2954 - getActiveBreakpointsList(args = {}) {
2955 - args = _objectSpread2(_objectSpread2({}, {
2956 - largeToSmall: false,
2957 - withDesktop: false
2958 - }), args);
2959 - const breakpointKeys = Object.keys(this.responsiveConfig.activeBreakpoints);
2960 - if (args.withDesktop) {
2961 - const indexToInsertDesktopDevice = -1 === breakpointKeys.indexOf("widescreen") ? breakpointKeys.length : breakpointKeys.length - 1;
2962 - breakpointKeys.splice(indexToInsertDesktopDevice, 0, "desktop");
2963 - }
2964 - if (args.largeToSmall) breakpointKeys.reverse();
2965 - return breakpointKeys;
2966 - }
2967 - /**
2968 - * Get Active Breakpoint Values
2969 - *
2970 - * Returns a flat array containing the list of active breakpoint values, from smallest to largest.
2971 - *
2972 - * @since 3.4.0
2973 - */
2974 - getBreakpointValues() {
2975 - const { activeBreakpoints } = this.responsiveConfig, breakpointValues = [];
2976 - Object.values(activeBreakpoints).forEach((breakpointConfig) => {
2977 - breakpointValues.push(breakpointConfig.value);
2978 - });
2979 - return breakpointValues;
2980 - }
2981 - /**
2982 - * Get Desktop Previous Device Key
2983 - *
2984 - * Returns the key of the device directly under desktop (can be 'tablet', 'tablet_extra', 'laptop').
2985 - *
2986 - * @since 3.4.0
2987 - *
2988 - * @return {string} device key
2989 - */
2990 - getDesktopPreviousDeviceKey() {
2991 - let desktopPreviousDevice = "";
2992 - const { activeBreakpoints } = this.responsiveConfig, breakpointKeys = Object.keys(activeBreakpoints), numOfDevices = breakpointKeys.length;
2993 - if ("min" === activeBreakpoints[breakpointKeys[numOfDevices - 1]].direction) desktopPreviousDevice = breakpointKeys[numOfDevices - 2];
2994 - else desktopPreviousDevice = breakpointKeys[numOfDevices - 1];
2995 - return desktopPreviousDevice;
2996 - }
2997 - /**
2998 - * Get Device Minimum Breakpoint
2999 - *
3000 - * Returns the minimum point in the device's display range. For each device, the minimum point of its display range
3001 - * is the max point of the device below it + 1px. For example, if the active devices are mobile, tablet,
3002 - * and desktop, and the mobile breakpoint is 767px, the minimum display point for tablet devices is 768px.
3003 - *
3004 - * @since 3.4.0
3005 - *
3006 - * @return {number|*} minimum breakpoint
3007 - */
3008 - getDesktopMinPoint() {
3009 - const { activeBreakpoints } = this.responsiveConfig;
3010 - return activeBreakpoints[this.getDesktopPreviousDeviceKey()].value + 1;
3011 - }
3012 - /**
3013 - * Get Device Minimum Breakpoint
3014 - *
3015 - * Returns the minimum point in the device's display range. For each device, the minimum point of its display range
3016 - * is the max point of the device below it + 1px. For example, if the active devices are mobile, tablet,
3017 - * and desktop, and the mobile breakpoint is 767px, the minimum display point for tablet devices is 768px.
3018 - *
3019 - * @since 3.4.0
3020 - *
3021 - * @param {string} device
3022 - * @return {number|*} minimum breakpoint
3023 - */
3024 - getDeviceMinBreakpoint(device) {
3025 - if ("desktop" === device) return this.getDesktopMinPoint();
3026 - const { activeBreakpoints } = this.responsiveConfig, breakpointNames = Object.keys(activeBreakpoints);
3027 - let minBreakpoint;
3028 - if (breakpointNames[0] === device) minBreakpoint = 320;
3029 - else if ("widescreen" === device) if (activeBreakpoints[device]) minBreakpoint = activeBreakpoints[device].value;
3030 - else minBreakpoint = this.responsiveConfig.breakpoints.widescreen;
3031 - else minBreakpoint = activeBreakpoints[breakpointNames[breakpointNames.indexOf(device) - 1]].value + 1;
3032 - return minBreakpoint;
3033 - }
3034 - /**
3035 - * Get Active Match Regex
3036 - *
3037 - * Returns a regular expression containing all active breakpoints prefixed with an underscore.
3038 - *
3039 - * @return {RegExp} Active Match Regex
3040 - */
3041 - getActiveMatchRegex() {
3042 - return new RegExp(this.getActiveBreakpointsList().map((device) => "_" + device).join("|") + "$");
3043 - }
3044 - };
3045 - exports.default = Breakpoints;
3046 - }));
3047 1676
3048 -//#endregion
3049 -//#region assets/dev/js/utils/events.js
3050 - var require_events = /* @__PURE__ */ __commonJSMin(((exports) => {
3051 - Object.defineProperty(exports, "__esModule", { value: true });
3052 - exports.default = exports.Events = void 0;
3053 - var Events = class {
3054 - /**
3055 - * Dispatch an Elementor event.
3056 - *
3057 - * Will dispatch both native event & jQuery event (as BC).
3058 - * By default, `bcEvent` is `null`.
3059 - *
3060 - * @param {Object} context - The context that will dispatch the event.
3061 - * @param {string} event - Event to dispatch.
3062 - * @param {*} data - Data to pass to the event, default to `null`.
3063 - * @param {string|null} bcEvent - BC event to dispatch, default to `null`.
3064 - *
3065 - * @return {void}
3066 - */
3067 - static dispatch(context, event, data = null, bcEvent = null) {
3068 - context = context instanceof jQuery ? context[0] : context;
3069 - if (bcEvent) context.dispatchEvent(new CustomEvent(bcEvent, { detail: data }));
3070 - context.dispatchEvent(new CustomEvent(event, { detail: data }));
3071 - }
3072 - };
3073 - exports.Events = Events;
3074 - exports.default = Events;
3075 - }));
3076 1677
3077 -//#endregion
3078 -//#region modules/shapes/assets/js/frontend/frontend.js
3079 - var require_frontend$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
3080 - Object.defineProperty(exports, "__esModule", { value: true });
3081 - exports.default = void 0;
3082 - var _default = class extends elementorModules.Module {
3083 - constructor() {
3084 - super();
3085 - elementorFrontend.elementsHandler.attachHandler("text-path", () => __elementorLoadChunk("text-path"));
3086 - }
3087 - };
3088 - exports.default = _default;
3089 - }));
1678 +Object.defineProperty(exports, "__esModule", ({
1679 + value: true
1680 +}));
1681 +exports["default"] = exports.Events = void 0;
1682 +class Events {
1683 + /**
1684 + * Dispatch an Elementor event.
1685 + *
1686 + * Will dispatch both native event & jQuery event (as BC).
1687 + * By default, `bcEvent` is `null`.
1688 + *
1689 + * @param {Object} context - The context that will dispatch the event.
1690 + * @param {string} event - Event to dispatch.
1691 + * @param {*} data - Data to pass to the event, default to `null`.
1692 + * @param {string|null} bcEvent - BC event to dispatch, default to `null`.
1693 + *
1694 + * @return {void}
1695 + */
1696 + static dispatch(context, event, data = null, bcEvent = null) {
1697 + // Make sure to use the native context if it's a jQuery instance.
1698 + context = context instanceof jQuery ? context[0] : context;
3090 1699
3091 -//#endregion
3092 -//#region assets/dev/js/frontend/utils/controls.js
3093 - var require_controls = /* @__PURE__ */ __commonJSMin(((exports) => {
3094 - Object.defineProperty(exports, "__esModule", { value: true });
3095 - exports.default = void 0;
3096 - var Controls = class {
3097 - /**
3098 - * Get Control Value
3099 - *
3100 - * Retrieves a control value.
3101 - * This function has been copied from `elementor/assets/dev/js/editor/utils/conditions.js`.
3102 - *
3103 - * @since 3.11.0
3104 - *
3105 - * @param {{}} controlSettings A settings object (e.g. element settings - keys and values)
3106 - * @param {string} controlKey The control key name
3107 - * @param {string} controlSubKey A specific property of the control object.
3108 - * @return {*} Control Value
3109 - */
3110 - getControlValue(controlSettings, controlKey, controlSubKey) {
3111 - let value;
3112 - if ("object" === typeof controlSettings[controlKey] && controlSubKey) value = controlSettings[controlKey][controlSubKey];
3113 - else value = controlSettings[controlKey];
3114 - return value;
3115 - }
3116 - /**
3117 - * Get the value of a responsive control.
3118 - *
3119 - * Retrieves the value of a responsive control for the current device or for this first parent device which has a control value.
3120 - *
3121 - * @since 3.11.0
3122 - *
3123 - * @param {{}} controlSettings A settings object (e.g. element settings - keys and values)
3124 - * @param {string} controlKey The control key name
3125 - * @param {string} controlSubKey A specific property of the control object.
3126 - * @param {string} device If we want to get a value for a specific device mode.
3127 - * @return {*} Control Value
3128 - */
3129 - getResponsiveControlValue(controlSettings, controlKey, controlSubKey = "", device = null) {
3130 - const currentDeviceMode = device || elementorFrontend.getCurrentDeviceMode();
3131 - const controlValueDesktop = this.getControlValue(controlSettings, controlKey, controlSubKey);
3132 - if ("widescreen" === currentDeviceMode) {
3133 - const controlValueWidescreen = this.getControlValue(controlSettings, `${controlKey}_widescreen`, controlSubKey);
3134 - return !!controlValueWidescreen || 0 === controlValueWidescreen ? controlValueWidescreen : controlValueDesktop;
3135 - }
3136 - const activeBreakpoints = elementorFrontend.breakpoints.getActiveBreakpointsList({ withDesktop: true });
3137 - let parentDeviceMode = currentDeviceMode;
3138 - let deviceIndex = activeBreakpoints.indexOf(currentDeviceMode);
3139 - let controlValue = "";
3140 - while (deviceIndex <= activeBreakpoints.length) {
3141 - if ("desktop" === parentDeviceMode) {
3142 - controlValue = controlValueDesktop;
3143 - break;
3144 - }
3145 - const responsiveControlKey = `${controlKey}_${parentDeviceMode}`;
3146 - const responsiveControlValue = this.getControlValue(controlSettings, responsiveControlKey, controlSubKey);
3147 - if (!!responsiveControlValue || 0 === responsiveControlValue) {
3148 - controlValue = responsiveControlValue;
3149 - break;
3150 - }
3151 - deviceIndex++;
3152 - parentDeviceMode = activeBreakpoints[deviceIndex];
3153 - }
3154 - return controlValue;
3155 - }
3156 - };
3157 - exports.default = Controls;
3158 - }));
1700 + // Dispatch the BC event only if exists.
1701 + if (bcEvent) {
1702 + context.dispatchEvent(new CustomEvent(bcEvent, {
1703 + detail: data
1704 + }));
1705 + }
3159 1706
3160 -//#endregion
3161 -//#region node_modules/core-js/modules/es.iterator.filter.js
3162 - var require_es_iterator_filter = /* @__PURE__ */ __commonJSMin((() => {
3163 - var $ = require_export();
3164 - var call = require_function_call();
3165 - var aCallable = require_a_callable();
3166 - var anObject = require_an_object();
3167 - var getIteratorDirect = require_get_iterator_direct();
3168 - var createIteratorProxy = require_iterator_create_proxy();
3169 - var callWithSafeIterationClosing = require_call_with_safe_iteration_closing();
3170 - var IS_PURE = require_is_pure();
3171 - var iteratorClose = require_iterator_close();
3172 - var iteratorHelperThrowsOnInvalidIterator = require_iterator_helper_throws_on_invalid_iterator();
3173 - var iteratorHelperWithoutClosingOnEarlyError = require_iterator_helper_without_closing_on_early_error();
3174 - var FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE && !iteratorHelperThrowsOnInvalidIterator("filter", function() {});
3175 - var filterWithoutClosingOnEarlyError = !IS_PURE && !FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR && iteratorHelperWithoutClosingOnEarlyError("filter", TypeError);
3176 - var FORCED = IS_PURE || FILTER_WITHOUT_THROWING_ON_INVALID_ITERATOR || filterWithoutClosingOnEarlyError;
3177 - var IteratorProxy = createIteratorProxy(function() {
3178 - var iterator = this.iterator;
3179 - var predicate = this.predicate;
3180 - var next = this.next;
3181 - var result;
3182 - var done;
3183 - var value;
3184 - while (true) {
3185 - result = anObject(call(next, iterator));
3186 - done = this.done = !!result.done;
3187 - if (done) return;
3188 - value = result.value;
3189 - if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;
3190 - }
3191 - });
3192 - $({
3193 - target: "Iterator",
3194 - proto: true,
3195 - real: true,
3196 - forced: FORCED
3197 - }, { filter: function filter(predicate) {
3198 - anObject(this);
3199 - try {
3200 - aCallable(predicate);
3201 - } catch (error) {
3202 - iteratorClose(this, "throw", error);
3203 - }
3204 - if (filterWithoutClosingOnEarlyError) return call(filterWithoutClosingOnEarlyError, this, predicate);
3205 - return new IteratorProxy(getIteratorDirect(this), { predicate });
3206 - } });
3207 - }));
1707 + // jQuery's `.on()` listens also to native custom events, so there is no need
1708 + // to dispatch also a jQuery event.
1709 + context.dispatchEvent(new CustomEvent(event, {
1710 + detail: data
1711 + }));
1712 + }
1713 +}
1714 +exports.Events = Events;
1715 +var _default = exports["default"] = Events;
3208 1716
3209 -//#endregion
3210 -//#region node_modules/core-js/modules/esnext.iterator.filter.js
3211 - var require_esnext_iterator_filter = /* @__PURE__ */ __commonJSMin((() => {
3212 - require_es_iterator_filter();
3213 - }));
1717 +/***/ }),
3214 1718
3215 -//#endregion
3216 -//#region assets/dev/js/frontend/utils/anchor-scroll-margin.js
3217 - var require_anchor_scroll_margin = /* @__PURE__ */ __commonJSMin(((exports) => {
3218 - Object.defineProperty(exports, "__esModule", { value: true });
3219 - exports.default = void 0;
3220 - require_es_array_push();
3221 - require_esnext_iterator_constructor();
3222 - require_esnext_iterator_filter();
3223 - require_esnext_iterator_for_each();
3224 - var _default = class extends elementorModules.ViewModule {
3225 - getDefaultSettings() {
3226 - return { selectors: {
3227 - links: ".elementor-element a[href*=\"#\"]",
3228 - stickyElements: ".elementor-element.elementor-sticky"
3229 - } };
3230 - }
3231 - onInit() {
3232 - this.observeStickyElements(() => {
3233 - this.initializeStickyAndAnchorTracking();
3234 - });
3235 - }
3236 - observeStickyElements(callback) {
3237 - new MutationObserver((mutationsList) => {
3238 - for (const mutation of mutationsList) if ("childList" === mutation.type || "attributes" === mutation.type && mutation.target.classList.contains("elementor-sticky")) callback();
3239 - }).observe(document.body, {
3240 - childList: true,
3241 - subtree: true,
3242 - attributes: true,
3243 - attributeFilter: ["class", "style"]
3244 - });
3245 - }
3246 - initializeStickyAndAnchorTracking() {
3247 - const anchorLinks = this.getAllAnchorLinks();
3248 - const stickyElements = this.getAllStickyElements();
3249 - const trackedElements = [];
3250 - if (!stickyElements.length > 0 && !anchorLinks.length > 0) return;
3251 - this.trackStickyElements(stickyElements, trackedElements);
3252 - this.trackAnchorLinks(anchorLinks, trackedElements);
3253 - this.organizeStickyAndAnchors(trackedElements);
3254 - }
3255 - trackAnchorLinks(anchorLinks, trackedElements) {
3256 - anchorLinks.forEach((element) => {
3257 - const target = this.getAnchorTarget(element);
3258 - const scrollPosition = this.getScrollPosition(target);
3259 - trackedElements.push({
3260 - element: target,
3261 - type: "anchor",
3262 - scrollPosition
3263 - });
3264 - });
3265 - }
3266 - trackStickyElements(stickyElements, trackedElements) {
3267 - stickyElements.forEach((element) => {
3268 - const settings = this.getElementSettings(element);
3269 - if (!settings || !settings.sticky_anchor_link_offset) return;
3270 - const { sticky_anchor_link_offset: scrollMarginTop } = settings;
3271 - if (0 === scrollMarginTop) return;
3272 - const scrollPosition = this.getScrollPosition(element);
3273 - trackedElements.push({
3274 - scrollMarginTop,
3275 - type: "sticky",
3276 - scrollPosition
3277 - });
3278 - });
3279 - }
3280 - organizeStickyAndAnchors(elements) {
3281 - const stickyList = this.filterAndSortElementsByType(elements, "sticky");
3282 - const anchorList = this.filterAndSortElementsByType(elements, "anchor");
3283 - stickyList.forEach((sticky, index) => {
3284 - this.defineCurrentStickyRange(sticky, index, stickyList, anchorList);
3285 - });
3286 - }
3287 - defineCurrentStickyRange(sticky, index, stickyList, anchorList) {
3288 - const nextStickyScrollPosition = index + 1 < stickyList.length ? stickyList[index + 1].scrollPosition : Infinity;
3289 - sticky.anchor = anchorList.filter((anchor) => {
3290 - const withinRange = anchor.scrollPosition > sticky.scrollPosition && anchor.scrollPosition < nextStickyScrollPosition;
3291 - if (withinRange) anchor.element.style.scrollMarginTop = `${sticky.scrollMarginTop}px`;
3292 - return withinRange;
3293 - });
3294 - }
3295 - getScrollPosition(element) {
3296 - let offsetTop = 0;
3297 - while (element) {
3298 - offsetTop += element.offsetTop;
3299 - element = element.offsetParent;
3300 - }
3301 - return offsetTop;
3302 - }
3303 - getAllStickyElements() {
3304 - const allStickyElements = document.querySelectorAll(this.getSettings("selectors.stickyElements"));
3305 - return Array.from(allStickyElements).filter((anchor, index, self) => index === self.findIndex((t) => t.getAttribute("data-id") === anchor.getAttribute("data-id")));
3306 - }
3307 - getAllAnchorLinks() {
3308 - const allAnchors = document.querySelectorAll(this.getSettings("selectors.links"));
3309 - return Array.from(allAnchors).filter((anchor, index, self) => index === self.findIndex((t) => t.getAttribute("href") === anchor.getAttribute("href")));
3310 - }
3311 - filterAndSortElementsByType(elements, type) {
3312 - return elements.filter((item) => type === item.type).sort((a, b) => a.scrollPosition - b.scrollPosition);
3313 - }
3314 - isValidSelector(hash) {
3315 - return /^#[A-Za-z_][\w-]*$/.test(hash);
3316 - }
3317 - getAnchorTarget(element) {
3318 - const hash = element === null || element === void 0 ? void 0 : element.hash;
3319 - if (!this.isValidSelector(hash)) return null;
3320 - return document.querySelector(hash);
3321 - }
3322 - getElementSettings(element) {
3323 - return JSON.parse(element.getAttribute("data-settings"));
3324 - }
3325 - };
3326 - exports.default = _default;
3327 - }));
1719 +/***/ "../assets/dev/js/utils/hooks.js":
1720 +/*!***************************************!*\
1721 + !*** ../assets/dev/js/utils/hooks.js ***!
1722 + \***************************************/
1723 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3328 1724
3329 -//#endregion
3330 -//#region assets/dev/js/frontend/utils/utils.js
3331 - var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
3332 - Object.defineProperty(exports, "__esModule", { value: true });
3333 - exports.isScrollSnapActive = exports.escapeHTML = void 0;
3334 - var escapeHTML = (str) => {
3335 - const specialChars = {
3336 - "&": "&amp;",
3337 - "<": "&lt;",
3338 - ">": "&gt;",
3339 - "'": "&#39;",
3340 - "\"": "&quot;"
3341 - };
3342 - return str.replace(/[&<>'"]/g, (tag) => specialChars[tag] || tag);
3343 - };
3344 - exports.escapeHTML = escapeHTML;
3345 - var isScrollSnapActive = () => {
3346 - var _elementor$settings$p;
3347 - var _elementorFrontend$co;
3348 - return "yes" === (elementorFrontend.isEditMode() ? (_elementor$settings$p = elementor.settings.page.model.attributes) === null || _elementor$settings$p === void 0 ? void 0 : _elementor$settings$p.scroll_snap : (_elementorFrontend$co = elementorFrontend.config.settings.page) === null || _elementorFrontend$co === void 0 ? void 0 : _elementorFrontend$co.scroll_snap) ? true : false;
3349 - };
3350 - exports.isScrollSnapActive = isScrollSnapActive;
3351 - }));
3352 1725
3353 -//#endregion
3354 -//#region assets/dev/js/utils/hooks.js
3355 - var require_hooks = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3356 - /**
3357 - * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
3358 - * that, lowest priority hooks are fired first.
3359 - */
3360 - require_es_array_push();
3361 - var EventManager = function() {
3362 - var slice = Array.prototype.slice;
3363 - var MethodsAvailable;
3364 - /**
3365 - * Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat"
3366 - * object literal such that looking up the hook utilizes the native object literal hash.
3367 - */
3368 - var STORAGE = {
3369 - actions: {},
3370 - filters: {}
3371 - };
3372 - /**
3373 - * Removes the specified hook by resetting the value of it.
3374 - *
3375 - * @param {string} type Type of hook, either 'actions' or 'filters'
3376 - * @param {Function} hook The hook (namespace.identifier) to remove
3377 - * @param {Function} callback
3378 - * @param {*} context
3379 - * @private
3380 - */
3381 - function _removeHook(type, hook, callback, context) {
3382 - var handlers;
3383 - var handler;
3384 - var i;
3385 - if (!STORAGE[type][hook]) return;
3386 - if (!callback) STORAGE[type][hook] = [];
3387 - else {
3388 - handlers = STORAGE[type][hook];
3389 - if (!context) {
3390 - for (i = handlers.length; i--;) if (handlers[i].callback === callback) handlers.splice(i, 1);
3391 - } else for (i = handlers.length; i--;) {
3392 - handler = handlers[i];
3393 - if (handler.callback === callback && handler.context === context) handlers.splice(i, 1);
3394 - }
3395 - }
3396 - }
3397 - /**
3398 - * Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster
3399 - * than bubble sort, etc: http://jsperf.com/javascript-sort
3400 - *
3401 - * @param {Array<*>} hooks The custom array containing all of the appropriate hooks to perform an insert sort on.
3402 - * @private
3403 - */
3404 - function _hookInsertSort(hooks) {
3405 - var tmpHook;
3406 - var j;
3407 - var prevHook;
3408 - for (var i = 1, len = hooks.length; i < len; i++) {
3409 - tmpHook = hooks[i];
3410 - j = i;
3411 - while ((prevHook = hooks[j - 1]) && prevHook.priority > tmpHook.priority) {
3412 - hooks[j] = hooks[j - 1];
3413 - --j;
3414 - }
3415 - hooks[j] = tmpHook;
3416 - }
3417 - return hooks;
3418 - }
3419 - /**
3420 - * Adds the hook to the appropriate storage container
3421 - *
3422 - * @param {string} type 'actions' or 'filters'
3423 - * @param {Array<*>} hook The hook (namespace.identifier) to add to our event manager
3424 - * @param {Function} callback The function that will be called when the hook is executed.
3425 - * @param {number} priority The priority of this hook. Must be an integer.
3426 - * @param {*} [context] A value to be used for this
3427 - * @private
3428 - */
3429 - function _addHook(type, hook, callback, priority, context) {
3430 - var hookObject = {
3431 - callback,
3432 - priority,
3433 - context
3434 - };
3435 - var hooks = STORAGE[type][hook];
3436 - if (hooks) {
3437 - var hasSameCallback = false;
3438 - jQuery.each(hooks, function() {
3439 - if (this.callback === callback) {
3440 - hasSameCallback = true;
3441 - return false;
3442 - }
3443 - });
3444 - if (hasSameCallback) return;
3445 - hooks.push(hookObject);
3446 - hooks = _hookInsertSort(hooks);
3447 - } else hooks = [hookObject];
3448 - STORAGE[type][hook] = hooks;
3449 - }
3450 - /**
3451 - * Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is.
3452 - *
3453 - * @param {string} type 'actions' or 'filters'
3454 - * @param {*} hook The hook ( namespace.identifier ) to be ran.
3455 - * @param {Array<*>} args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter.
3456 - * @private
3457 - */
3458 - function _runHook(type, hook, args) {
3459 - var handlers = STORAGE[type][hook];
3460 - var i;
3461 - var len;
3462 - if (!handlers) return "filters" === type ? args[0] : false;
3463 - len = handlers.length;
3464 - if ("filters" === type) for (i = 0; i < len; i++) args[0] = handlers[i].callback.apply(handlers[i].context, args);
3465 - else for (i = 0; i < len; i++) handlers[i].callback.apply(handlers[i].context, args);
3466 - return "filters" === type ? args[0] : true;
3467 - }
3468 - /**
3469 - * Adds an action to the event manager.
3470 - *
3471 - * @param {string} action Must contain namespace.identifier
3472 - * @param {Function} callback Must be a valid callback function before this action is added
3473 - * @param {number} [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
3474 - * @param {*} [context] Supply a value to be used for this
3475 - */
3476 - function addAction(action, callback, priority, context) {
3477 - if ("string" === typeof action && "function" === typeof callback) {
3478 - priority = parseInt(priority || 10, 10);
3479 - _addHook("actions", action, callback, priority, context);
3480 - }
3481 - return MethodsAvailable;
3482 - }
3483 - /**
3484 - * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is
3485 - * that the first argument must always be the action.
3486 - */
3487 - function doAction() {
3488 - var args = slice.call(arguments);
3489 - var action = args.shift();
3490 - if ("string" === typeof action) _runHook("actions", action, args);
3491 - return MethodsAvailable;
3492 - }
3493 - /**
3494 - * Removes the specified action if it contains a namespace.identifier & exists.
3495 - *
3496 - * @param {string} action The action to remove
3497 - * @param {Function} [callback] Callback function to remove
3498 - */
3499 - function removeAction(action, callback) {
3500 - if ("string" === typeof action) _removeHook("actions", action, callback);
3501 - return MethodsAvailable;
3502 - }
3503 - /**
3504 - * Adds a filter to the event manager.
3505 - *
3506 - * @param {string} filter Must contain namespace.identifier
3507 - * @param {Function} callback Must be a valid callback function before this action is added
3508 - * @param {number} [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
3509 - * @param {*} [context] Supply a value to be used for this
3510 - */
3511 - function addFilter(filter, callback, priority, context) {
3512 - if ("string" === typeof filter && "function" === typeof callback) {
3513 - priority = parseInt(priority || 10, 10);
3514 - _addHook("filters", filter, callback, priority, context);
3515 - }
3516 - return MethodsAvailable;
3517 - }
3518 - /**
3519 - * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that
3520 - * the first argument must always be the filter.
3521 - */
3522 - function applyFilters() {
3523 - var args = slice.call(arguments);
3524 - var filter = args.shift();
3525 - if ("string" === typeof filter) return _runHook("filters", filter, args);
3526 - return MethodsAvailable;
3527 - }
3528 - /**
3529 - * Removes the specified filter if it contains a namespace.identifier & exists.
3530 - *
3531 - * @param {string} filter The action to remove
3532 - * @param {Function} [callback] Callback function to remove
3533 - */
3534 - function removeFilter(filter, callback) {
3535 - if ("string" === typeof filter) _removeHook("filters", filter, callback);
3536 - return MethodsAvailable;
3537 - }
3538 - /**
3539 - * Maintain a reference to the object scope so our public methods never get confusing.
3540 - */
3541 - MethodsAvailable = {
3542 - removeFilter,
3543 - applyFilters,
3544 - addFilter,
3545 - removeAction,
3546 - doAction,
3547 - addAction
3548 - };
3549 - return MethodsAvailable;
3550 - };
3551 - module.exports = EventManager;
3552 - }));
3553 1726
3554 -//#endregion
3555 -//#region assets/dev/js/frontend/handlers/global.js
3556 - var require_global = /* @__PURE__ */ __commonJSMin(((exports) => {
3557 - Object.defineProperty(exports, "__esModule", { value: true });
3558 - exports.default = void 0;
3559 - var GlobalHandler = class extends elementorModules.frontend.handlers.Base {
3560 - getWidgetType() {
3561 - return "global";
3562 - }
3563 - animate() {
3564 - const $element = this.$element;
3565 - const animation = this.getAnimation();
3566 - if ("none" === animation) {
3567 - $element.removeClass("elementor-invisible");
3568 - return;
3569 - }
3570 - const elementSettings = this.getElementSettings();
3571 - const animationDelay = elementSettings._animation_delay || elementSettings.animation_delay || 0;
3572 - $element.removeClass(animation);
3573 - if (this.currentAnimation) $element.removeClass(this.currentAnimation);
3574 - this.currentAnimation = animation;
3575 - setTimeout(() => {
3576 - $element.removeClass("elementor-invisible").addClass("animated " + animation);
3577 - }, animationDelay);
3578 - }
3579 - getAnimation() {
3580 - return this.getCurrentDeviceSetting("animation") || this.getCurrentDeviceSetting("_animation");
3581 - }
3582 - onInit(...args) {
3583 - super.onInit(...args);
3584 - if (this.getAnimation()) {
3585 - const observer = elementorModules.utils.Scroll.scrollObserver({ callback: (event) => {
3586 - if (event.isInViewport) {
3587 - this.animate();
3588 - observer.unobserve(this.$element[0]);
3589 - }
3590 - } });
3591 - observer.observe(this.$element[0]);
3592 - }
3593 - }
3594 - onElementChange(propertyName) {
3595 - if (/^_?animation/.test(propertyName)) this.animate();
3596 - }
3597 - };
3598 - var _default = ($scope) => {
3599 - elementorFrontend.elementsHandler.addHandler(GlobalHandler, { $element: $scope });
3600 - };
3601 - exports.default = _default;
3602 - }));
1727 +/**
1728 + * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
1729 + * that, lowest priority hooks are fired first.
1730 + */
1731 +__webpack_require__(/*! core-js/modules/es.array.push.js */ "../node_modules/core-js/modules/es.array.push.js");
1732 +var EventManager = function () {
1733 + var slice = Array.prototype.slice,
1734 + MethodsAvailable;
3603 1735
3604 -//#endregion
3605 -//#region assets/dev/js/frontend/handlers/create-editor-handler.js
3606 - var require_create_editor_handler = /* @__PURE__ */ __commonJSMin(((exports) => {
3607 - Object.defineProperty(exports, "__esModule", { value: true });
3608 - exports.createEditorHandler = createEditorHandler;
3609 - function createEditorHandler(importer) {
3610 - return () => {
3611 - return new Promise((resolve) => {
3612 - if (elementorFrontend.isEditMode()) importer().then(resolve);
3613 - });
3614 - };
3615 - }
3616 - }));
1736 + /**
1737 + * Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat"
1738 + * object literal such that looking up the hook utilizes the native object literal hash.
1739 + */
1740 + var STORAGE = {
1741 + actions: {},
1742 + filters: {}
1743 + };
3617 1744
3618 -//#endregion
3619 -//#region assets/dev/js/frontend/handlers/container/container.js
3620 - var require_container = /* @__PURE__ */ __commonJSMin(((exports) => {
3621 - Object.defineProperty(exports, "__esModule", { value: true });
3622 - exports.default = void 0;
3623 - var _createEditorHandler = require_create_editor_handler();
3624 - exports.default = [
3625 - () => __elementorLoadChunk("background-slideshow"),
3626 - () => __elementorLoadChunk("background-video"),
3627 - (0, _createEditorHandler.createEditorHandler)(() => __elementorLoadChunk("handles-position")),
3628 - (0, _createEditorHandler.createEditorHandler)(() => __elementorLoadChunk("container-shapes")),
3629 - (0, _createEditorHandler.createEditorHandler)(() => __elementorLoadChunk("container-grid-container"))
3630 - ];
3631 - }));
1745 + /**
1746 + * Removes the specified hook by resetting the value of it.
1747 + *
1748 + * @param {string} type Type of hook, either 'actions' or 'filters'
1749 + * @param {Function} hook The hook (namespace.identifier) to remove
1750 + * @param {Function} callback
1751 + * @param {*} context
1752 + * @private
1753 + */
1754 + function _removeHook(type, hook, callback, context) {
1755 + var handlers, handler, i;
1756 + if (!STORAGE[type][hook]) {
1757 + return;
1758 + }
1759 + if (!callback) {
1760 + STORAGE[type][hook] = [];
1761 + } else {
1762 + handlers = STORAGE[type][hook];
1763 + if (!context) {
1764 + for (i = handlers.length; i--;) {
1765 + if (handlers[i].callback === callback) {
1766 + handlers.splice(i, 1);
1767 + }
1768 + }
1769 + } else {
1770 + for (i = handlers.length; i--;) {
1771 + handler = handlers[i];
1772 + if (handler.callback === callback && handler.context === context) {
1773 + handlers.splice(i, 1);
1774 + }
1775 + }
1776 + }
1777 + }
1778 + }
3632 1779
3633 -//#endregion
3634 -//#region assets/dev/js/frontend/handlers/section/section.js
3635 - var require_section = /* @__PURE__ */ __commonJSMin(((exports) => {
3636 - Object.defineProperty(exports, "__esModule", { value: true });
3637 - exports.default = void 0;
3638 - var _createEditorHandler = require_create_editor_handler();
3639 - exports.default = [
3640 - () => __elementorLoadChunk("section-stretched-section"),
3641 - () => __elementorLoadChunk("background-slideshow"),
3642 - () => __elementorLoadChunk("background-video"),
3643 - (0, _createEditorHandler.createEditorHandler)(() => __elementorLoadChunk("handles-position")),
3644 - (0, _createEditorHandler.createEditorHandler)(() => __elementorLoadChunk("section-shapes"))
3645 - ];
3646 - }));
1780 + /**
1781 + * Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster
1782 + * than bubble sort, etc: http://jsperf.com/javascript-sort
1783 + *
1784 + * @param {Array<*>} hooks The custom array containing all of the appropriate hooks to perform an insert sort on.
1785 + * @private
1786 + */
1787 + function _hookInsertSort(hooks) {
1788 + var tmpHook, j, prevHook;
1789 + for (var i = 1, len = hooks.length; i < len; i++) {
1790 + tmpHook = hooks[i];
1791 + j = i;
1792 + while ((prevHook = hooks[j - 1]) && prevHook.priority > tmpHook.priority) {
1793 + hooks[j] = hooks[j - 1];
1794 + --j;
1795 + }
1796 + hooks[j] = tmpHook;
1797 + }
1798 + return hooks;
1799 + }
3647 1800
3648 -//#endregion
3649 -//#region assets/dev/js/frontend/handlers/column.js
3650 - var require_column = /* @__PURE__ */ __commonJSMin(((exports) => {
3651 - Object.defineProperty(exports, "__esModule", { value: true });
3652 - exports.default = void 0;
3653 - exports.default = [() => __elementorLoadChunk("background-slideshow")];
3654 - }));
1801 + /**
1802 + * Adds the hook to the appropriate storage container
1803 + *
1804 + * @param {string} type 'actions' or 'filters'
1805 + * @param {Array<*>} hook The hook (namespace.identifier) to add to our event manager
1806 + * @param {Function} callback The function that will be called when the hook is executed.
1807 + * @param {number} priority The priority of this hook. Must be an integer.
1808 + * @param {*} [context] A value to be used for this
1809 + * @private
1810 + */
1811 + function _addHook(type, hook, callback, priority, context) {
1812 + var hookObject = {
1813 + callback,
1814 + priority,
1815 + context
1816 + };
3655 1817
3656 -//#endregion
3657 -//#region assets/dev/js/frontend/elements-handlers-manager.js
3658 - var require_elements_handlers_manager = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3659 - var _interopRequireDefault = require_interopRequireDefault();
3660 - require_esnext_iterator_constructor();
3661 - require_esnext_iterator_for_each();
3662 - var _global = _interopRequireDefault(require_global());
3663 - var _container = _interopRequireDefault(require_container());
3664 - var _section = _interopRequireDefault(require_section());
3665 - var _column = _interopRequireDefault(require_column());
3666 - module.exports = function($) {
3667 - const handlersInstances = {};
3668 - this.elementsHandlers = {
3669 - "accordion.default": () => __elementorLoadChunk("accordion"),
3670 - "alert.default": () => __elementorLoadChunk("alert"),
3671 - "counter.default": () => __elementorLoadChunk("counter"),
3672 - "progress.default": () => __elementorLoadChunk("progress"),
3673 - "tabs.default": () => __elementorLoadChunk("tabs"),
3674 - "toggle.default": () => __elementorLoadChunk("toggle"),
3675 - "video.default": () => __elementorLoadChunk("video"),
3676 - "image-carousel.default": () => __elementorLoadChunk("image-carousel"),
3677 - "text-editor.default": () => __elementorLoadChunk("text-editor"),
3678 - "wp-widget-media_audio.default": () => __elementorLoadChunk("wp-audio"),
3679 - container: _container.default,
3680 - section: _section.default,
3681 - column: _column.default
3682 - };
3683 - if (elementorFrontendConfig.experimentalFeatures.container) {
3684 - this.elementsHandlers["nested-tabs.default"] = () => __elementorLoadChunk("nested-tabs");
3685 - this.elementsHandlers["nested-accordion.default"] = () => __elementorLoadChunk("nested-accordion");
3686 - }
3687 - if (elementorFrontendConfig.experimentalFeatures.container) {
3688 - this.elementsHandlers["contact-buttons.default"] = () => __elementorLoadChunk("contact-buttons");
3689 - this.elementsHandlers["floating-bars-var-1.default"] = () => __elementorLoadChunk("floating-bars");
3690 - }
3691 - const addGlobalHandlers = () => elementorFrontend.hooks.addAction("frontend/element_ready/global", _global.default);
3692 - const addElementsHandlers = () => {
3693 - $.each(this.elementsHandlers, (elementName, Handlers) => {
3694 - const elementData = elementName.split(".");
3695 - elementName = elementData[0];
3696 - const skin = elementData[1] || null;
3697 - this.attachHandler(elementName, Handlers, skin);
3698 - });
3699 - };
3700 - const isClassHandler = (Handler) => {
3701 - var _Handler$prototype;
3702 - return (_Handler$prototype = Handler.prototype) === null || _Handler$prototype === void 0 ? void 0 : _Handler$prototype.getUniqueHandlerID;
3703 - };
3704 - const addHandlerWithHook = (elementBaseName, Handler, skin = "default") => {
3705 - skin = skin ? "." + skin : "";
3706 - const elementName = elementBaseName + skin;
3707 - elementorFrontend.hooks.addAction(`frontend/element_ready/${elementName}`, ($element) => {
3708 - if (isClassHandler(Handler)) this.addHandler(Handler, {
3709 - $element,
3710 - elementName
3711 - }, true);
3712 - else {
3713 - const handlerValue = Handler();
3714 - if (!handlerValue) return;
3715 - if (handlerValue instanceof Promise) handlerValue.then(({ default: dynamicHandler }) => {
3716 - this.addHandler(dynamicHandler, {
3717 - $element,
3718 - elementName
3719 - }, true);
3720 - });
3721 - else this.addHandler(handlerValue, {
3722 - $element,
3723 - elementName
3724 - }, true);
3725 - }
3726 - });
3727 - };
3728 - this.addHandler = function(HandlerClass, options) {
3729 - const elementID = options.$element.data("model-cid");
3730 - let handlerID;
3731 - if (elementID) {
3732 - handlerID = HandlerClass.prototype.getConstructorID();
3733 - if (!handlersInstances[elementID]) handlersInstances[elementID] = {};
3734 - const oldHandler = handlersInstances[elementID][handlerID];
3735 - if (oldHandler) oldHandler.onDestroy();
3736 - }
3737 - const newHandler = new HandlerClass(options);
3738 - elementorFrontend.hooks.doAction(`frontend/element_handler_ready/${options.elementName}`, options.$element, $);
3739 - if (elementID) handlersInstances[elementID][handlerID] = newHandler;
3740 - };
3741 - this.attachHandler = (elementName, Handlers, skin) => {
3742 - if (!Array.isArray(Handlers)) Handlers = [Handlers];
3743 - Handlers.forEach((Handler) => addHandlerWithHook(elementName, Handler, skin));
3744 - };
3745 - this.getHandler = function(handlerName) {
3746 - const elementHandler = this.elementsHandlers[handlerName];
3747 - if (isClassHandler(elementHandler)) return elementHandler;
3748 - return new Promise((res) => {
3749 - elementHandler().then(({ default: dynamicHandler }) => {
3750 - res(dynamicHandler);
3751 - });
3752 - });
3753 - };
3754 - /**
3755 - * @param {string} handlerName
3756 - * @deprecated since 3.1.0, use `elementorFrontend.elementsHandler.getHandler` instead.
3757 - */
3758 - this.getHandlers = function(handlerName) {
3759 - elementorDevTools.deprecation.deprecated("getHandlers", "3.1.0", "elementorFrontend.elementsHandler.getHandler");
3760 - if (handlerName) return this.getHandler(handlerName);
3761 - return this.elementsHandlers;
3762 - };
3763 - this.runReadyTrigger = function(scope) {
3764 - const isDelayChildHandlers = !!scope.closest("[data-delay-child-handlers=\"true\"]") && 0 !== scope.closest("[data-delay-child-handlers=\"true\"]").length;
3765 - if (elementorFrontend.config.is_static || isDelayChildHandlers) return;
3766 - const $scope = jQuery(scope);
3767 - const elementType = $scope.attr("data-element_type");
3768 - if (!elementType) return;
3769 - elementorFrontend.hooks.doAction("frontend/element_ready/global", $scope, $);
3770 - elementorFrontend.hooks.doAction(`frontend/element_ready/${elementType}`, $scope, $);
3771 - if ("widget" === elementType) {
3772 - const widgetType = $scope.attr("data-widget_type");
3773 - elementorFrontend.hooks.doAction(`frontend/element_ready/${widgetType}`, $scope, $);
3774 - }
3775 - };
3776 - this.init = () => {
3777 - addGlobalHandlers();
3778 - addElementsHandlers();
3779 - };
3780 - };
3781 - }));
1818 + // Utilize 'prop itself' : http://jsperf.com/hasownproperty-vs-in-vs-undefined/19
1819 + var hooks = STORAGE[type][hook];
1820 + if (hooks) {
1821 + // TEMP FIX BUG
1822 + var hasSameCallback = false;
1823 + jQuery.each(hooks, function () {
1824 + if (this.callback === callback) {
1825 + hasSameCallback = true;
1826 + return false;
1827 + }
1828 + });
1829 + if (hasSameCallback) {
1830 + return;
1831 + }
1832 + // END TEMP FIX BUG
3782 1833
3783 -//#endregion
3784 -//#region assets/dev/js/frontend/frontend.js
3785 - var require_frontend = /* @__PURE__ */ __commonJSMin(((exports) => {
3786 - var _interopRequireDefault = require_interopRequireDefault();
3787 - Object.defineProperty(exports, "__esModule", { value: true });
3788 - exports.default = void 0;
3789 - require_esnext_iterator_constructor();
3790 - require_esnext_iterator_find();
3791 - require_esnext_iterator_for_each();
3792 - require_public_path();
3793 - require_chunk_loader();
3794 - var _documentsManager = _interopRequireDefault(require_documents_manager());
3795 - var _storage = _interopRequireDefault(require_storage());
3796 - var _environment = _interopRequireDefault(require_environment());
3797 - var _youtubeLoader = _interopRequireDefault(require_youtube_loader());
3798 - var _vimeoLoader = _interopRequireDefault(require_vimeo_loader());
3799 - var _baseLoader = _interopRequireDefault(require_base_loader());
3800 - var _urlActions = _interopRequireDefault(require_url_actions());
3801 - var _swiper = _interopRequireDefault(require_swiper());
3802 - var _lightboxManager = _interopRequireDefault(require_lightbox_manager());
3803 - var _assetsLoader = _interopRequireDefault(require_assets_loader());
3804 - var _breakpoints = _interopRequireDefault(require_breakpoints());
3805 - var _events = _interopRequireDefault(require_events());
3806 - var _frontend = _interopRequireDefault(require_frontend$1());
3807 - var _controls = _interopRequireDefault(require_controls());
3808 - var _anchorScrollMargin = _interopRequireDefault(require_anchor_scroll_margin());
3809 - var _utils = require_utils();
3810 - var EventManager = require_hooks();
3811 - var ElementsHandler = require_elements_handlers_manager();
3812 - var Frontend = class extends elementorModules.ViewModule {
3813 - constructor(...args) {
3814 - super(...args);
3815 - this.config = elementorFrontendConfig;
3816 - this.config.legacyMode = {
3817 - /**
3818 - * @deprecated since 3.1.0
3819 - */
3820 -get elementWrappers() {
3821 - if (elementorFrontend.isEditMode()) window.top.elementorDevTools.deprecation.deprecated("elementorFrontend.config.legacyMode.elementWrappers", "3.1.0");
3822 - return false;
3823 - } };
3824 - this.populateActiveBreakpointsConfig();
3825 - }
3826 - /**
3827 - * @deprecated since 2.5.0, use `elementorModules.frontend.handlers.Base` instead.
3828 - */
3829 - get Module() {
3830 - if (this.isEditMode()) parent.elementorDevTools.deprecation.deprecated("elementorFrontend.Module", "2.5.0", "elementorModules.frontend.handlers.Base");
3831 - return elementorModules.frontend.handlers.Base;
3832 - }
3833 - getDefaultSettings() {
3834 - return { selectors: {
3835 - elementor: ".elementor",
3836 - adminBar: "#wpadminbar"
3837 - } };
3838 - }
3839 - getDefaultElements() {
3840 - const defaultElements = {
3841 - window,
3842 - $window: jQuery(window),
3843 - $document: jQuery(document),
3844 - $head: jQuery(document.head),
3845 - $body: jQuery(document.body),
3846 - $deviceMode: jQuery("<span>", {
3847 - id: "elementor-device-mode",
3848 - class: "elementor-screen-only"
3849 - })
3850 - };
3851 - defaultElements.$body.append(defaultElements.$deviceMode);
3852 - return defaultElements;
3853 - }
3854 - bindEvents() {
3855 - this.elements.$window.on("resize", () => this.setDeviceModeData());
3856 - }
3857 - /**
3858 - * @param {string} elementName
3859 - * @deprecated since 2.4.0, use `this.elements` instead.
3860 - */
3861 - getElements(elementName) {
3862 - return this.getItems(this.elements, elementName);
3863 - }
3864 - /**
3865 - * @param {string} settingName
3866 - * @deprecated since 2.4.0, this method was never in use.
3867 - */
3868 - getPageSettings(settingName) {
3869 - const settingsObject = this.isEditMode() ? elementor.settings.page.model.attributes : this.config.settings.page;
3870 - return this.getItems(settingsObject, settingName);
3871 - }
3872 - /**
3873 - * @param {string} settingName
3874 - * @deprecated since 3.0.0, use `getKitSettings()` instead and remove the `elementor_` prefix.
3875 - */
3876 - getGeneralSettings(settingName) {
3877 - if (this.isEditMode()) parent.elementorDevTools.deprecation.deprecated("getGeneralSettings()", "3.0.0", "getKitSettings() and remove the `elementor_` prefix");
3878 - return this.getKitSettings(`elementor_${settingName}`);
3879 - }
3880 - getKitSettings(settingName) {
3881 - return this.getItems(this.config.kit, settingName);
3882 - }
3883 - getCurrentDeviceMode() {
3884 - return getComputedStyle(this.elements.$deviceMode[0], ":after").content.replace(/"/g, "");
3885 - }
3886 - getDeviceSetting(deviceMode, settings, settingKey) {
3887 - if ("widescreen" === deviceMode) return this.getWidescreenSetting(settings, settingKey);
3888 - const devices = elementorFrontend.breakpoints.getActiveBreakpointsList({
3889 - largeToSmall: true,
3890 - withDesktop: true
3891 - });
3892 - let deviceIndex = devices.indexOf(deviceMode);
3893 - while (deviceIndex > 0) {
3894 - const currentDevice = devices[deviceIndex];
3895 - const deviceValue = settings[settingKey + "_" + currentDevice];
3896 - if (deviceValue || 0 === deviceValue) return deviceValue;
3897 - deviceIndex--;
3898 - }
3899 - return settings[settingKey];
3900 - }
3901 - getWidescreenSetting(settings, settingKey) {
3902 - const widescreenSettingKey = settingKey + "_widescreen";
3903 - let settingToReturn;
3904 - if (settings[widescreenSettingKey]) settingToReturn = settings[widescreenSettingKey];
3905 - else settingToReturn = settings[settingKey];
3906 - return settingToReturn;
3907 - }
3908 - getCurrentDeviceSetting(settings, settingKey) {
3909 - return this.getDeviceSetting(elementorFrontend.getCurrentDeviceMode(), settings, settingKey);
3910 - }
3911 - isEditMode() {
3912 - return this.config.environmentMode.edit;
3913 - }
3914 - isWPPreviewMode() {
3915 - return this.config.environmentMode.wpPreview;
3916 - }
3917 - initDialogsManager() {
3918 - let dialogsManager;
3919 - this.getDialogsManager = () => {
3920 - if (!dialogsManager) dialogsManager = new DialogsManager.Instance();
3921 - return dialogsManager;
3922 - };
3923 - }
3924 - initOnReadyComponents() {
3925 - this.utils = {
3926 - youtube: new _youtubeLoader.default(),
3927 - vimeo: new _vimeoLoader.default(),
3928 - baseVideoLoader: new _baseLoader.default(),
3929 - get lightbox() {
3930 - return _lightboxManager.default.getLightbox();
3931 - },
3932 - urlActions: new _urlActions.default(),
3933 - swiper: _swiper.default,
3934 - environment: _environment.default,
3935 - assetsLoader: new _assetsLoader.default(),
3936 - escapeHTML: _utils.escapeHTML,
3937 - events: _events.default,
3938 - controls: new _controls.default(),
3939 - anchor_scroll_margin: new _anchorScrollMargin.default()
3940 - };
3941 - this.modules = {
3942 - StretchElement: elementorModules.frontend.tools.StretchElement,
3943 - Masonry: elementorModules.utils.Masonry
3944 - };
3945 - this.elementsHandler.init();
3946 - if (this.isEditMode()) elementor.once("document:loaded", () => this.onDocumentLoaded());
3947 - else this.onDocumentLoaded();
3948 - }
3949 - initOnReadyElements() {
3950 - this.elements.$wpAdminBar = this.elements.$document.find(this.getSettings("selectors.adminBar"));
3951 - }
3952 - addUserAgentClasses() {
3953 - for (const [key, value] of Object.entries(_environment.default)) if (value) this.elements.$body.addClass("e--ua-" + key);
3954 - }
3955 - setDeviceModeData() {
3956 - this.elements.$body.attr("data-elementor-device-mode", this.getCurrentDeviceMode());
3957 - }
3958 - addListenerOnce(listenerID, event, callback, to) {
3959 - if (!to) to = this.elements.$window;
3960 - if (!this.isEditMode()) {
3961 - to.on(event, callback);
3962 - return;
3963 - }
3964 - this.removeListeners(listenerID, event, to);
3965 - if (to instanceof jQuery) {
3966 - const eventNS = event + "." + listenerID;
3967 - to.on(eventNS, callback);
3968 - } else to.on(event, callback, listenerID);
3969 - }
3970 - removeListeners(listenerID, event, callback, from) {
3971 - if (!from) from = this.elements.$window;
3972 - if (from instanceof jQuery) {
3973 - const eventNS = event + "." + listenerID;
3974 - from.off(eventNS, callback);
3975 - } else from.off(event, callback, listenerID);
3976 - }
3977 - debounce(func, wait) {
3978 - let timeout;
3979 - return function() {
3980 - const context = this;
3981 - const args = arguments;
3982 - const later = () => {
3983 - timeout = null;
3984 - func.apply(context, args);
3985 - };
3986 - const callNow = !timeout;
3987 - clearTimeout(timeout);
3988 - timeout = setTimeout(later, wait);
3989 - if (callNow) func.apply(context, args);
3990 - };
3991 - }
3992 - muteMigrationTraces() {
3993 - jQuery.migrateMute = true;
3994 - jQuery.migrateTrace = false;
3995 - }
3996 - /**
3997 - * Initialize the modules' widgets handlers.
3998 - */
3999 - initModules() {
4000 - const handlers = { shapes: _frontend.default };
4001 - elementorFrontend.trigger("elementor/modules/init:before");
4002 - elementorFrontend.trigger("elementor/modules/init/before");
4003 - Object.entries(handlers).forEach(([moduleName, ModuleClass]) => {
4004 - this.modulesHandlers[moduleName] = new ModuleClass();
4005 - });
4006 - }
4007 - populateActiveBreakpointsConfig() {
4008 - this.config.responsive.activeBreakpoints = {};
4009 - Object.entries(this.config.responsive.breakpoints).forEach(([breakpointKey, breakpointData]) => {
4010 - if (breakpointData.is_enabled) this.config.responsive.activeBreakpoints[breakpointKey] = breakpointData;
4011 - });
4012 - }
4013 - init() {
4014 - this.hooks = new EventManager();
4015 - this.breakpoints = new _breakpoints.default(this.config.responsive);
4016 - this.storage = new _storage.default();
4017 - this.elementsHandler = new ElementsHandler(jQuery);
4018 - this.modulesHandlers = {};
4019 - this.addUserAgentClasses();
4020 - this.setDeviceModeData();
4021 - this.initDialogsManager();
4022 - if (this.isEditMode()) this.muteMigrationTraces();
4023 - _events.default.dispatch(this.elements.$window, "elementor/frontend/init");
4024 - this.initModules();
4025 - this.initOnReadyElements();
4026 - this.initOnReadyComponents();
4027 - }
4028 - onDocumentLoaded() {
4029 - this.documentsManager = new _documentsManager.default();
4030 - this.trigger("components:init");
4031 - new _lightboxManager.default();
4032 - }
4033 - };
4034 - exports.default = Frontend;
4035 - window.elementorFrontend = new Frontend();
4036 - if (!elementorFrontend.isEditMode()) jQuery(() => elementorFrontend.init());
4037 - }));
1834 + hooks.push(hookObject);
1835 + hooks = _hookInsertSort(hooks);
1836 + } else {
1837 + hooks = [hookObject];
1838 + }
1839 + STORAGE[type][hook] = hooks;
1840 + }
4038 1841
4039 -//#endregion
4040 -return require_frontend();
1842 + /**
1843 + * Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is.
1844 + *
1845 + * @param {string} type 'actions' or 'filters'
1846 + * @param {*} hook The hook ( namespace.identifier ) to be ran.
1847 + * @param {Array<*>} args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter.
1848 + * @private
1849 + */
1850 + function _runHook(type, hook, args) {
1851 + var handlers = STORAGE[type][hook],
1852 + i,
1853 + len;
1854 + if (!handlers) {
1855 + return 'filters' === type ? args[0] : false;
1856 + }
1857 + len = handlers.length;
1858 + if ('filters' === type) {
1859 + for (i = 0; i < len; i++) {
1860 + args[0] = handlers[i].callback.apply(handlers[i].context, args);
1861 + }
1862 + } else {
1863 + for (i = 0; i < len; i++) {
1864 + handlers[i].callback.apply(handlers[i].context, args);
1865 + }
1866 + }
1867 + return 'filters' === type ? args[0] : true;
1868 + }
4041 1869
4042 -})();
1870 + /**
1871 + * Adds an action to the event manager.
1872 + *
1873 + * @param {string} action Must contain namespace.identifier
1874 + * @param {Function} callback Must be a valid callback function before this action is added
1875 + * @param {number} [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
1876 + * @param {*} [context] Supply a value to be used for this
1877 + */
1878 + function addAction(action, callback, priority, context) {
1879 + if ('string' === typeof action && 'function' === typeof callback) {
1880 + priority = parseInt(priority || 10, 10);
1881 + _addHook('actions', action, callback, priority, context);
1882 + }
1883 + return MethodsAvailable;
1884 + }
1885 +
1886 + /**
1887 + * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is
1888 + * that the first argument must always be the action.
1889 + */
1890 + function doAction(/* Action, arg1, arg2, ... */
1891 + ) {
1892 + var args = slice.call(arguments);
1893 + var action = args.shift();
1894 + if ('string' === typeof action) {
1895 + _runHook('actions', action, args);
1896 + }
1897 + return MethodsAvailable;
1898 + }
1899 +
1900 + /**
1901 + * Removes the specified action if it contains a namespace.identifier & exists.
1902 + *
1903 + * @param {string} action The action to remove
1904 + * @param {Function} [callback] Callback function to remove
1905 + */
1906 + function removeAction(action, callback) {
1907 + if ('string' === typeof action) {
1908 + _removeHook('actions', action, callback);
1909 + }
1910 + return MethodsAvailable;
1911 + }
1912 +
1913 + /**
1914 + * Adds a filter to the event manager.
1915 + *
1916 + * @param {string} filter Must contain namespace.identifier
1917 + * @param {Function} callback Must be a valid callback function before this action is added
1918 + * @param {number} [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
1919 + * @param {*} [context] Supply a value to be used for this
1920 + */
1921 + function addFilter(filter, callback, priority, context) {
1922 + if ('string' === typeof filter && 'function' === typeof callback) {
1923 + priority = parseInt(priority || 10, 10);
1924 + _addHook('filters', filter, callback, priority, context);
1925 + }
1926 + return MethodsAvailable;
1927 + }
1928 +
1929 + /**
1930 + * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that
1931 + * the first argument must always be the filter.
1932 + */
1933 + function applyFilters(/* Filter, filtered arg, arg2, ... */
1934 + ) {
1935 + var args = slice.call(arguments);
1936 + var filter = args.shift();
1937 + if ('string' === typeof filter) {
1938 + return _runHook('filters', filter, args);
1939 + }
1940 + return MethodsAvailable;
1941 + }
1942 +
1943 + /**
1944 + * Removes the specified filter if it contains a namespace.identifier & exists.
1945 + *
1946 + * @param {string} filter The action to remove
1947 + * @param {Function} [callback] Callback function to remove
1948 + */
1949 + function removeFilter(filter, callback) {
1950 + if ('string' === typeof filter) {
1951 + _removeHook('filters', filter, callback);
1952 + }
1953 + return MethodsAvailable;
1954 + }
1955 +
1956 + /**
1957 + * Maintain a reference to the object scope so our public methods never get confusing.
1958 + */
1959 + MethodsAvailable = {
1960 + removeFilter,
1961 + applyFilters,
1962 + addFilter,
1963 + removeAction,
1964 + doAction,
1965 + addAction
1966 + };
1967 +
1968 + // Return all of the publicly available methods
1969 + return MethodsAvailable;
1970 +};
1971 +module.exports = EventManager;
1972 +
1973 +/***/ }),
1974 +
1975 +/***/ "../core/common/assets/js/utils/environment.js":
1976 +/*!*****************************************************!*\
1977 + !*** ../core/common/assets/js/utils/environment.js ***!
1978 + \*****************************************************/
1979 +/***/ ((__unused_webpack_module, exports) => {
1980 +
1981 +
1982 +
1983 +Object.defineProperty(exports, "__esModule", ({
1984 + value: true
1985 +}));
1986 +exports["default"] = void 0;
1987 +const matchUserAgent = UserAgentStr => {
1988 + return userAgent.indexOf(UserAgentStr) >= 0;
1989 + },
1990 + userAgent = navigator.userAgent,
1991 + // Solution influenced by https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
1992 +
1993 + // Opera 8.0+
1994 + isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'),
1995 + // Firefox 1.0+
1996 + isFirefox = matchUserAgent('Firefox'),
1997 + // Safari 3.0+ "[object HTMLElementConstructor]"
1998 + isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || (p => {
1999 + return '[object SafariRemoteNotification]' === p.toString();
2000 + })(!window.safari || typeof safari !== 'undefined' && safari.pushNotification),
2001 + // Internet Explorer 6-11
2002 + isIE = /Trident|MSIE/.test(userAgent) && (/* @cc_on!@*/ false || !!document.documentMode),
2003 + // Edge 20+
2004 + isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'),
2005 + // Google Chrome (Not accurate)
2006 + isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera),
2007 + // Blink engine
2008 + isBlink = matchUserAgent('Chrome') && !!window.CSS,
2009 + // Apple Webkit engine
2010 + isAppleWebkit = matchUserAgent('AppleWebKit') && !isBlink,
2011 + isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0,
2012 + environment = {
2013 + isTouchDevice,
2014 + appleWebkit: isAppleWebkit,
2015 + blink: isBlink,
2016 + chrome: isChrome,
2017 + edge: isEdge,
2018 + firefox: isFirefox,
2019 + ie: isIE,
2020 + mac: matchUserAgent('Macintosh'),
2021 + opera: isOpera,
2022 + safari: isSafari,
2023 + webkit: matchUserAgent('AppleWebKit')
2024 + };
2025 +var _default = exports["default"] = environment;
2026 +
2027 +/***/ }),
2028 +
2029 +/***/ "../core/common/assets/js/utils/storage.js":
2030 +/*!*************************************************!*\
2031 + !*** ../core/common/assets/js/utils/storage.js ***!
2032 + \*************************************************/
2033 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2034 +
2035 +
2036 +
2037 +Object.defineProperty(exports, "__esModule", ({
2038 + value: true
2039 +}));
2040 +exports["default"] = void 0;
2041 +__webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "../node_modules/core-js/modules/esnext.iterator.constructor.js");
2042 +__webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "../node_modules/core-js/modules/esnext.iterator.for-each.js");
2043 +class _default extends elementorModules.Module {
2044 + get(key, options) {
2045 + options = options || {};
2046 + let storage;
2047 + try {
2048 + storage = options.session ? sessionStorage : localStorage;
2049 + } catch (e) {
2050 + return key ? undefined : {};
2051 + }
2052 + let elementorStorage = storage.getItem('elementor');
2053 + if (elementorStorage) {
2054 + elementorStorage = JSON.parse(elementorStorage);
2055 + } else {
2056 + elementorStorage = {};
2057 + }
2058 + if (!elementorStorage.__expiration) {
2059 + elementorStorage.__expiration = {};
2060 + }
2061 + const expiration = elementorStorage.__expiration;
2062 + let expirationToCheck = [];
2063 + if (key) {
2064 + if (expiration[key]) {
2065 + expirationToCheck = [key];
2066 + }
2067 + } else {
2068 + expirationToCheck = Object.keys(expiration);
2069 + }
2070 + let entryExpired = false;
2071 + expirationToCheck.forEach(expirationKey => {
2072 + if (new Date(expiration[expirationKey]) < new Date()) {
2073 + delete elementorStorage[expirationKey];
2074 + delete expiration[expirationKey];
2075 + entryExpired = true;
2076 + }
2077 + });
2078 + if (entryExpired) {
2079 + this.save(elementorStorage, options.session);
2080 + }
2081 + if (key) {
2082 + return elementorStorage[key];
2083 + }
2084 + return elementorStorage;
2085 + }
2086 + set(key, value, options) {
2087 + options = options || {};
2088 + const elementorStorage = this.get(null, options);
2089 + elementorStorage[key] = value;
2090 + if (options.lifetimeInSeconds) {
2091 + const date = new Date();
2092 + date.setTime(date.getTime() + options.lifetimeInSeconds * 1000);
2093 + elementorStorage.__expiration[key] = date.getTime();
2094 + }
2095 + this.save(elementorStorage, options.session);
2096 + }
2097 + save(object, session) {
2098 + let storage;
2099 + try {
2100 + storage = session ? sessionStorage : localStorage;
2101 + } catch (e) {
2102 + return;
2103 + }
2104 + storage.setItem('elementor', JSON.stringify(object));
2105 + }
2106 +}
2107 +exports["default"] = _default;
2108 +
2109 +/***/ }),
2110 +
2111 +/***/ "../modules/shapes/assets/js/frontend/frontend.js":
2112 +/*!********************************************************!*\
2113 + !*** ../modules/shapes/assets/js/frontend/frontend.js ***!
2114 + \********************************************************/
2115 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2116 +
2117 +
2118 +
2119 +Object.defineProperty(exports, "__esModule", ({
2120 + value: true
2121 +}));
2122 +exports["default"] = void 0;
2123 +class _default extends elementorModules.Module {
2124 + constructor() {
2125 + super();
2126 + 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")));
2127 + }
2128 +}
2129 +exports["default"] = _default;
2130 +
2131 +/***/ }),
2132 +
2133 +/***/ "../node_modules/core-js/internals/a-possible-prototype.js":
2134 +/*!*****************************************************************!*\
2135 + !*** ../node_modules/core-js/internals/a-possible-prototype.js ***!
2136 + \*****************************************************************/
2137 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2138 +
2139 +
2140 +var isPossiblePrototype = __webpack_require__(/*! ../internals/is-possible-prototype */ "../node_modules/core-js/internals/is-possible-prototype.js");
2141 +
2142 +var $String = String;
2143 +var $TypeError = TypeError;
2144 +
2145 +module.exports = function (argument) {
2146 + if (isPossiblePrototype(argument)) return argument;
2147 + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype');
2148 +};
2149 +
2150 +
2151 +/***/ }),
2152 +
2153 +/***/ "../node_modules/core-js/internals/dom-exception-constants.js":
2154 +/*!********************************************************************!*\
2155 + !*** ../node_modules/core-js/internals/dom-exception-constants.js ***!
2156 + \********************************************************************/
2157 +/***/ ((module) => {
2158 +
2159 +
2160 +module.exports = {
2161 + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },
2162 + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },
2163 + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },
2164 + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },
2165 + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },
2166 + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },
2167 + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },
2168 + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },
2169 + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },
2170 + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },
2171 + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },
2172 + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },
2173 + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },
2174 + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },
2175 + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },
2176 + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },
2177 + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },
2178 + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },
2179 + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },
2180 + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },
2181 + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },
2182 + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },
2183 + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },
2184 + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },
2185 + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }
2186 +};
2187 +
2188 +
2189 +/***/ }),
2190 +
2191 +/***/ "../node_modules/core-js/internals/error-stack-clear.js":
2192 +/*!**************************************************************!*\
2193 + !*** ../node_modules/core-js/internals/error-stack-clear.js ***!
2194 + \**************************************************************/
2195 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2196 +
2197 +
2198 +var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
2199 +
2200 +var $Error = Error;
2201 +var replace = uncurryThis(''.replace);
2202 +
2203 +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');
2204 +// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe
2205 +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
2206 +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
2207 +
2208 +module.exports = function (stack, dropEntries) {
2209 + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {
2210 + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
2211 + } return stack;
2212 +};
2213 +
2214 +
2215 +/***/ }),
2216 +
2217 +/***/ "../node_modules/core-js/internals/function-uncurry-this-accessor.js":
2218 +/*!***************************************************************************!*\
2219 + !*** ../node_modules/core-js/internals/function-uncurry-this-accessor.js ***!
2220 + \***************************************************************************/
2221 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2222 +
2223 +
2224 +var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
2225 +var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js");
2226 +
2227 +module.exports = function (object, key, method) {
2228 + try {
2229 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2230 + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
2231 + } catch (error) { /* empty */ }
2232 +};
2233 +
2234 +
2235 +/***/ }),
2236 +
2237 +/***/ "../node_modules/core-js/internals/inherit-if-required.js":
2238 +/*!****************************************************************!*\
2239 + !*** ../node_modules/core-js/internals/inherit-if-required.js ***!
2240 + \****************************************************************/
2241 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2242 +
2243 +
2244 +var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
2245 +var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
2246 +var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "../node_modules/core-js/internals/object-set-prototype-of.js");
2247 +
2248 +// makes subclassing work correct for wrapped built-ins
2249 +module.exports = function ($this, dummy, Wrapper) {
2250 + var NewTarget, NewTargetPrototype;
2251 + if (
2252 + // it can work only with native `setPrototypeOf`
2253 + setPrototypeOf &&
2254 + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
2255 + isCallable(NewTarget = dummy.constructor) &&
2256 + NewTarget !== Wrapper &&
2257 + isObject(NewTargetPrototype = NewTarget.prototype) &&
2258 + NewTargetPrototype !== Wrapper.prototype
2259 + ) setPrototypeOf($this, NewTargetPrototype);
2260 + return $this;
2261 +};
2262 +
2263 +
2264 +/***/ }),
2265 +
2266 +/***/ "../node_modules/core-js/internals/is-possible-prototype.js":
2267 +/*!******************************************************************!*\
2268 + !*** ../node_modules/core-js/internals/is-possible-prototype.js ***!
2269 + \******************************************************************/
2270 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2271 +
2272 +
2273 +var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
2274 +
2275 +module.exports = function (argument) {
2276 + return isObject(argument) || argument === null;
2277 +};
2278 +
2279 +
2280 +/***/ }),
2281 +
2282 +/***/ "../node_modules/core-js/internals/normalize-string-argument.js":
2283 +/*!**********************************************************************!*\
2284 + !*** ../node_modules/core-js/internals/normalize-string-argument.js ***!
2285 + \**********************************************************************/
2286 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2287 +
2288 +
2289 +var toString = __webpack_require__(/*! ../internals/to-string */ "../node_modules/core-js/internals/to-string.js");
2290 +
2291 +module.exports = function (argument, $default) {
2292 + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
2293 +};
2294 +
2295 +
2296 +/***/ }),
2297 +
2298 +/***/ "../node_modules/core-js/internals/object-set-prototype-of.js":
2299 +/*!********************************************************************!*\
2300 + !*** ../node_modules/core-js/internals/object-set-prototype-of.js ***!
2301 + \********************************************************************/
2302 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2303 +
2304 +
2305 +/* eslint-disable no-proto -- safe */
2306 +var uncurryThisAccessor = __webpack_require__(/*! ../internals/function-uncurry-this-accessor */ "../node_modules/core-js/internals/function-uncurry-this-accessor.js");
2307 +var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
2308 +var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
2309 +var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "../node_modules/core-js/internals/a-possible-prototype.js");
2310 +
2311 +// `Object.setPrototypeOf` method
2312 +// https://tc39.es/ecma262/#sec-object.setprototypeof
2313 +// Works with __proto__ only. Old v8 can't work with null proto objects.
2314 +// eslint-disable-next-line es/no-object-setprototypeof -- safe
2315 +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
2316 + var CORRECT_SETTER = false;
2317 + var test = {};
2318 + var setter;
2319 + try {
2320 + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
2321 + setter(test, []);
2322 + CORRECT_SETTER = test instanceof Array;
2323 + } catch (error) { /* empty */ }
2324 + return function setPrototypeOf(O, proto) {
2325 + requireObjectCoercible(O);
2326 + aPossiblePrototype(proto);
2327 + if (!isObject(O)) return O;
2328 + if (CORRECT_SETTER) setter(O, proto);
2329 + else O.__proto__ = proto;
2330 + return O;
2331 + };
2332 +}() : undefined);
2333 +
2334 +
2335 +/***/ }),
2336 +
2337 +/***/ "../node_modules/core-js/internals/to-string.js":
2338 +/*!******************************************************!*\
2339 + !*** ../node_modules/core-js/internals/to-string.js ***!
2340 + \******************************************************/
2341 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2342 +
2343 +
2344 +var classof = __webpack_require__(/*! ../internals/classof */ "../node_modules/core-js/internals/classof.js");
2345 +
2346 +var $String = String;
2347 +
2348 +module.exports = function (argument) {
2349 + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
2350 + return $String(argument);
2351 +};
2352 +
2353 +
2354 +/***/ }),
2355 +
2356 +/***/ "../node_modules/core-js/modules/web.dom-exception.stack.js":
2357 +/*!******************************************************************!*\
2358 + !*** ../node_modules/core-js/modules/web.dom-exception.stack.js ***!
2359 + \******************************************************************/
2360 +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
2361 +
2362 +
2363 +var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js");
2364 +var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
2365 +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
2366 +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
2367 +var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js").f);
2368 +var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
2369 +var anInstance = __webpack_require__(/*! ../internals/an-instance */ "../node_modules/core-js/internals/an-instance.js");
2370 +var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "../node_modules/core-js/internals/inherit-if-required.js");
2371 +var normalizeStringArgument = __webpack_require__(/*! ../internals/normalize-string-argument */ "../node_modules/core-js/internals/normalize-string-argument.js");
2372 +var DOMExceptionConstants = __webpack_require__(/*! ../internals/dom-exception-constants */ "../node_modules/core-js/internals/dom-exception-constants.js");
2373 +var clearErrorStack = __webpack_require__(/*! ../internals/error-stack-clear */ "../node_modules/core-js/internals/error-stack-clear.js");
2374 +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
2375 +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js");
2376 +
2377 +var DOM_EXCEPTION = 'DOMException';
2378 +var Error = getBuiltIn('Error');
2379 +var NativeDOMException = getBuiltIn(DOM_EXCEPTION);
2380 +
2381 +var $DOMException = function DOMException() {
2382 + anInstance(this, DOMExceptionPrototype);
2383 + var argumentsLength = arguments.length;
2384 + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);
2385 + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');
2386 + var that = new NativeDOMException(message, name);
2387 + var error = new Error(message);
2388 + error.name = DOM_EXCEPTION;
2389 + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
2390 + inheritIfRequired(that, this, $DOMException);
2391 + return that;
2392 +};
2393 +
2394 +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;
2395 +
2396 +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);
2397 +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);
2398 +
2399 +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2400 +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION);
2401 +
2402 +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it
2403 +// https://github.com/Jarred-Sumner/bun/issues/399
2404 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);
2405 +
2406 +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;
2407 +
2408 +// `DOMException` constructor patch for `.stack` where it's required
2409 +// https://webidl.spec.whatwg.org/#es-DOMException-specialness
2410 +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic
2411 + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException
2412 +});
2413 +
2414 +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
2415 +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
2416 +
2417 +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
2418 + if (!IS_PURE) {
2419 + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));
2420 + }
2421 +
2422 + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {
2423 + var constant = DOMExceptionConstants[key];
2424 + var constantName = constant.s;
2425 + if (!hasOwn(PolyfilledDOMException, constantName)) {
2426 + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));
2427 + }
2428 + }
2429 +}
2430 +
2431 +
2432 +/***/ })
2433 +
2434 +},
2435 +/******/ __webpack_require__ => { // webpackRuntimeModules
2436 +/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
2437 +/******/ __webpack_require__.O(0, ["frontend-modules"], () => (__webpack_exec__("../assets/dev/js/frontend/frontend.js")));
2438 +/******/ var __webpack_exports__ = __webpack_require__.O();
2439 +/******/ }
2440 +]);
4043 2441 //# sourceMappingURL=frontend.js.map