PluginProbe
Elementor Website Builder – more than just a page builder / 3.19.2
Elementor Website Builder – more than just a page builder v3.19.2
4.3.1 4.3.0 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 All 454 releases
← All changes | assets/js/frontend.js +2649 -3885 4.3.0 → 3.19.2 View file →
@@ -1,4043 +1,2807 @@
1 +/*! elementor - v3.19.0 - 07-02-2024 */
1 2 "use strict";
3 +(self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["frontend"],{
2 4
3 -(function() {
5 +/***/ "../assets/dev/js/frontend/documents-manager.js":
6 +/*!******************************************************!*\
7 + !*** ../assets/dev/js/frontend/documents-manager.js ***!
8 + \******************************************************/
9 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4 10
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 11
21 -//#endregion
22 12
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 - }));
13 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
14 +Object.defineProperty(exports, "__esModule", ({
15 + value: true
16 +}));
17 +exports["default"] = void 0;
18 +var _document = _interopRequireDefault(__webpack_require__(/*! ./document */ "../assets/dev/js/frontend/document.js"));
19 +class _default extends elementorModules.ViewModule {
20 + constructor() {
21 + super(...arguments);
22 + this.documents = {};
23 + this.initDocumentClasses();
24 + this.attachDocumentsClasses();
25 + }
26 + getDefaultSettings() {
27 + return {
28 + selectors: {
29 + document: '.elementor'
30 + }
31 + };
32 + }
33 + getDefaultElements() {
34 + const selectors = this.getSettings('selectors');
35 + return {
36 + $documents: jQuery(selectors.document)
37 + };
38 + }
39 + initDocumentClasses() {
40 + this.documentClasses = {
41 + base: _document.default
42 + };
43 + elementorFrontend.hooks.doAction('elementor/frontend/documents-manager/init-classes', this);
44 + }
45 + addDocumentClass(documentType, documentClass) {
46 + this.documentClasses[documentType] = documentClass;
47 + }
48 + attachDocumentsClasses() {
49 + this.elements.$documents.each((index, document) => this.attachDocumentClass(jQuery(document)));
50 + }
51 + attachDocumentClass($document) {
52 + const documentData = $document.data(),
53 + documentID = documentData.elementorId,
54 + documentType = documentData.elementorType,
55 + DocumentClass = this.documentClasses[documentType] || this.documentClasses.base;
56 + this.documents[documentID] = new DocumentClass({
57 + $element: $document,
58 + id: documentID
59 + });
60 + }
61 +}
62 +exports["default"] = _default;
30 63
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 - }));
64 +/***/ }),
41 65
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 - }));
66 +/***/ "../assets/dev/js/frontend/elements-handlers-manager.js":
67 +/*!**************************************************************!*\
68 + !*** ../assets/dev/js/frontend/elements-handlers-manager.js ***!
69 + \**************************************************************/
70 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
53 71
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 72
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 73
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 - }));
74 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
75 +var _global = _interopRequireDefault(__webpack_require__(/*! ./handlers/global */ "../assets/dev/js/frontend/handlers/global.js"));
76 +var _background = _interopRequireDefault(__webpack_require__(/*! ./handlers/background */ "../assets/dev/js/frontend/handlers/background.js"));
77 +var _container = _interopRequireDefault(__webpack_require__(/*! ./handlers/container/container */ "../assets/dev/js/frontend/handlers/container/container.js"));
78 +var _column = _interopRequireDefault(__webpack_require__(/*! ./handlers/column */ "../assets/dev/js/frontend/handlers/column.js"));
79 +var _handlesPosition = _interopRequireDefault(__webpack_require__(/*! ./handlers/section/handles-position */ "../assets/dev/js/frontend/handlers/section/handles-position.js"));
80 +var _stretchedSection = _interopRequireDefault(__webpack_require__(/*! ./handlers/section/stretched-section */ "../assets/dev/js/frontend/handlers/section/stretched-section.js"));
81 +var _shapes = _interopRequireDefault(__webpack_require__(/*! ./handlers/section/shapes */ "../assets/dev/js/frontend/handlers/section/shapes.js"));
82 +// Section handlers.
84 83
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 - }));
84 +/* global elementorFrontendConfig */
96 85
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 - }));
86 +module.exports = function ($) {
87 + var _this = this;
88 + const handlersInstances = {};
89 + this.elementsHandlers = {
90 + 'accordion.default': () => __webpack_require__.e(/*! import() | accordion */ "accordion").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/accordion */ "../assets/dev/js/frontend/handlers/accordion.js")),
91 + 'alert.default': () => __webpack_require__.e(/*! import() | alert */ "alert").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/alert */ "../assets/dev/js/frontend/handlers/alert.js")),
92 + 'counter.default': () => __webpack_require__.e(/*! import() | counter */ "counter").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/counter */ "../assets/dev/js/frontend/handlers/counter.js")),
93 + 'progress.default': () => __webpack_require__.e(/*! import() | progress */ "progress").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/progress */ "../assets/dev/js/frontend/handlers/progress.js")),
94 + 'tabs.default': () => __webpack_require__.e(/*! import() | tabs */ "tabs").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/tabs */ "../assets/dev/js/frontend/handlers/tabs.js")),
95 + 'toggle.default': () => __webpack_require__.e(/*! import() | toggle */ "toggle").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/toggle */ "../assets/dev/js/frontend/handlers/toggle.js")),
96 + 'video.default': () => __webpack_require__.e(/*! import() | video */ "video").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/video */ "../assets/dev/js/frontend/handlers/video.js")),
97 + '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")),
98 + '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")),
99 + '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"))
100 + };
101 + if (elementorFrontendConfig.experimentalFeatures['nested-elements']) {
102 + this.elementsHandlers['nested-tabs.default'] = () => Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! elementor/modules/nested-tabs/assets/js/frontend/handlers/nested-tabs */ "../modules/nested-tabs/assets/js/frontend/handlers/nested-tabs.js"));
103 + }
104 + if (elementorFrontendConfig.experimentalFeatures['nested-elements']) {
105 + this.elementsHandlers['nested-accordion.default'] = () => Promise.resolve(/*! import() */).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"));
106 + }
107 + const addGlobalHandlers = () => elementorFrontend.hooks.addAction('frontend/element_ready/global', _global.default);
108 + const addElementsHandlers = () => {
109 + this.elementsHandlers.section = [_stretchedSection.default,
110 + // Must run before background handlers to init the slideshow only after the stretch.
111 + ..._background.default, _handlesPosition.default, _shapes.default];
112 + this.elementsHandlers.container = [..._background.default];
109 113
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 - }));
114 + // Add editor-only handlers.
115 + if (elementorFrontend.isEditMode()) {
116 + this.elementsHandlers.container.push(..._container.default);
117 + }
118 + this.elementsHandlers.column = _column.default;
119 + $.each(this.elementsHandlers, (elementName, Handlers) => {
120 + const elementData = elementName.split('.');
121 + elementName = elementData[0];
122 + const skin = elementData[1] || null;
123 + this.attachHandler(elementName, Handlers, skin);
124 + });
125 + };
126 + const isClassHandler = Handler => Handler.prototype?.getUniqueHandlerID;
127 + const addHandlerWithHook = function (elementBaseName, Handler) {
128 + let skin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default';
129 + skin = skin ? '.' + skin : '';
130 + const elementName = elementBaseName + skin;
131 + elementorFrontend.hooks.addAction(`frontend/element_ready/${elementName}`, $element => {
132 + if (isClassHandler(Handler)) {
133 + _this.addHandler(Handler, {
134 + $element,
135 + elementName
136 + }, true);
137 + } else {
138 + const handlerValue = Handler();
139 + if (!handlerValue) {
140 + return;
141 + }
142 + if (handlerValue instanceof Promise) {
143 + handlerValue.then(_ref => {
144 + let {
145 + default: dynamicHandler
146 + } = _ref;
147 + _this.addHandler(dynamicHandler, {
148 + $element,
149 + elementName
150 + }, true);
151 + });
152 + } else {
153 + _this.addHandler(handlerValue, {
154 + $element,
155 + elementName
156 + }, true);
157 + }
158 + }
159 + });
160 + };
161 + this.addHandler = function (HandlerClass, options) {
162 + const elementID = options.$element.data('model-cid');
163 + let handlerID;
123 164
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 - }));
165 + // If element is in edit mode
166 + if (elementID) {
167 + handlerID = HandlerClass.prototype.getConstructorID();
168 + if (!handlersInstances[elementID]) {
169 + handlersInstances[elementID] = {};
170 + }
171 + const oldHandler = handlersInstances[elementID][handlerID];
172 + if (oldHandler) {
173 + oldHandler.onDestroy();
174 + }
175 + }
176 + const newHandler = new HandlerClass(options);
177 + elementorFrontend.hooks.doAction(`frontend/element_handler_ready/${options.elementName}`, options.$element, $);
178 + if (elementID) {
179 + handlersInstances[elementID][handlerID] = newHandler;
180 + }
181 + };
182 + this.attachHandler = (elementName, Handlers, skin) => {
183 + if (!Array.isArray(Handlers)) {
184 + Handlers = [Handlers];
185 + }
186 + Handlers.forEach(Handler => addHandlerWithHook(elementName, Handler, skin));
187 + };
188 + this.getHandler = function (handlerName) {
189 + const elementHandler = this.elementsHandlers[handlerName];
190 + if (isClassHandler(elementHandler)) {
191 + return elementHandler;
192 + }
193 + return new Promise(res => {
194 + elementHandler().then(_ref2 => {
195 + let {
196 + default: dynamicHandler
197 + } = _ref2;
198 + res(dynamicHandler);
199 + });
200 + });
201 + };
134 202
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 - }));
203 + /**
204 + * @param {string} handlerName
205 + * @deprecated since 3.1.0, use `elementorFrontend.elementsHandler.getHandler` instead.
206 + */
207 + this.getHandlers = function (handlerName) {
208 + elementorDevTools.deprecation.deprecated('getHandlers', '3.1.0', 'elementorFrontend.elementsHandler.getHandler');
209 + if (handlerName) {
210 + return this.getHandler(handlerName);
211 + }
212 + return this.elementsHandlers;
213 + };
214 + this.runReadyTrigger = function (scope) {
215 + if (elementorFrontend.config.is_static) {
216 + return;
217 + }
149 218
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 - }));
219 + // Initializing the `$scope` as frontend jQuery instance
220 + const $scope = jQuery(scope),
221 + elementType = $scope.attr('data-element_type');
222 + if (!elementType) {
223 + return;
224 + }
225 + elementorFrontend.hooks.doAction('frontend/element_ready/global', $scope, $);
226 + elementorFrontend.hooks.doAction(`frontend/element_ready/${elementType}`, $scope, $);
227 + if ('widget' === elementType) {
228 + const widgetType = $scope.attr('data-widget_type');
229 + elementorFrontend.hooks.doAction(`frontend/element_ready/${widgetType}`, $scope, $);
230 + }
231 + };
232 + this.init = () => {
233 + addGlobalHandlers();
234 + addElementsHandlers();
235 + };
236 +};
157 237
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 - }));
238 +/***/ }),
168 239
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 - }));
240 +/***/ "../assets/dev/js/frontend/frontend.js":
241 +/*!*********************************************!*\
242 + !*** ../assets/dev/js/frontend/frontend.js ***!
243 + \*********************************************/
244 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178 245
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 - }));
189 246
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 - }));
198 247
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 - }));
248 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
249 +Object.defineProperty(exports, "__esModule", ({
250 + value: true
251 +}));
252 +exports["default"] = void 0;
253 +__webpack_require__(/*! ../public-path */ "../assets/dev/js/public-path.js");
254 +var _documentsManager = _interopRequireDefault(__webpack_require__(/*! ./documents-manager */ "../assets/dev/js/frontend/documents-manager.js"));
255 +var _storage = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/storage */ "../core/common/assets/js/utils/storage.js"));
256 +var _environment = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/environment */ "../core/common/assets/js/utils/environment.js"));
257 +var _youtubeLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/video-api/youtube-loader */ "../assets/dev/js/frontend/utils/video-api/youtube-loader.js"));
258 +var _vimeoLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/video-api/vimeo-loader */ "../assets/dev/js/frontend/utils/video-api/vimeo-loader.js"));
259 +var _baseLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/video-api/base-loader */ "../assets/dev/js/frontend/utils/video-api/base-loader.js"));
260 +var _urlActions = _interopRequireDefault(__webpack_require__(/*! ./utils/url-actions */ "../assets/dev/js/frontend/utils/url-actions.js"));
261 +var _swiper = _interopRequireDefault(__webpack_require__(/*! ./utils/swiper */ "../assets/dev/js/frontend/utils/swiper.js"));
262 +var _lightboxManager = _interopRequireDefault(__webpack_require__(/*! ./utils/lightbox/lightbox-manager */ "../assets/dev/js/frontend/utils/lightbox/lightbox-manager.js"));
263 +var _assetsLoader = _interopRequireDefault(__webpack_require__(/*! ./utils/assets-loader */ "../assets/dev/js/frontend/utils/assets-loader.js"));
264 +var _breakpoints = _interopRequireDefault(__webpack_require__(/*! elementor-utils/breakpoints */ "../assets/dev/js/utils/breakpoints.js"));
265 +var _events = _interopRequireDefault(__webpack_require__(/*! elementor-utils/events */ "../assets/dev/js/utils/events.js"));
266 +var _frontend = _interopRequireDefault(__webpack_require__(/*! elementor/modules/shapes/assets/js/frontend/frontend */ "../modules/shapes/assets/js/frontend/frontend.js"));
267 +var _controls = _interopRequireDefault(__webpack_require__(/*! ./utils/controls */ "../assets/dev/js/frontend/utils/controls.js"));
268 +var _utils = __webpack_require__(/*! elementor-frontend/utils/utils */ "../assets/dev/js/frontend/utils/utils.js");
269 +/* global elementorFrontendConfig */
211 270
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 - }));
271 +const EventManager = __webpack_require__(/*! elementor-utils/hooks */ "../assets/dev/js/utils/hooks.js"),
272 + ElementsHandler = __webpack_require__(/*! elementor-frontend/elements-handlers-manager */ "../assets/dev/js/frontend/elements-handlers-manager.js"),
273 + AnchorsModule = __webpack_require__(/*! elementor-frontend/utils/anchors */ "../assets/dev/js/frontend/utils/anchors.js");
274 +class Frontend extends elementorModules.ViewModule {
275 + constructor() {
276 + super(...arguments);
277 + this.config = elementorFrontendConfig;
278 + this.config.legacyMode = {
279 + /**
280 + * @deprecated since 3.1.0
281 + */
282 + get elementWrappers() {
283 + if (elementorFrontend.isEditMode()) {
284 + window.top.elementorDevTools.deprecation.deprecated('elementorFrontend.config.legacyMode.elementWrappers', '3.1.0');
285 + }
286 + return false;
287 + }
288 + };
289 + this.populateActiveBreakpointsConfig();
290 + }
218 291
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 - }));
292 + /**
293 + * @deprecated since 2.5.0, use `elementorModules.frontend.handlers.Base` instead.
294 + */
295 + get Module() {
296 + if (this.isEditMode()) {
297 + parent.elementorDevTools.deprecation.deprecated('elementorFrontend.Module', '2.5.0', 'elementorModules.frontend.handlers.Base');
298 + }
299 + return elementorModules.frontend.handlers.Base;
300 + }
301 + getDefaultSettings() {
302 + return {
303 + selectors: {
304 + elementor: '.elementor',
305 + adminBar: '#wpadminbar'
306 + }
307 + };
308 + }
309 + getDefaultElements() {
310 + const defaultElements = {
311 + window,
312 + $window: jQuery(window),
313 + $document: jQuery(document),
314 + $head: jQuery(document.head),
315 + $body: jQuery(document.body),
316 + $deviceMode: jQuery('<span>', {
317 + id: 'elementor-device-mode',
318 + class: 'elementor-screen-only'
319 + })
320 + };
321 + defaultElements.$body.append(defaultElements.$deviceMode);
322 + return defaultElements;
323 + }
324 + bindEvents() {
325 + this.elements.$window.on('resize', () => this.setDeviceModeData());
326 + }
226 327
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 - }));
328 + /**
329 + * @param {string} elementName
330 + * @deprecated since 2.4.0, use `this.elements` instead.
331 + */
332 + getElements(elementName) {
333 + return this.getItems(this.elements, elementName);
334 + }
251 335
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 - }));
336 + /**
337 + * @param {string} settingName
338 + * @deprecated since 2.4.0, this method was never in use.
339 + */
340 + getPageSettings(settingName) {
341 + const settingsObject = this.isEditMode() ? elementor.settings.page.model.attributes : this.config.settings.page;
342 + return this.getItems(settingsObject, settingName);
343 + }
263 344
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 - }));
345 + /**
346 + * @param {string} settingName
347 + * @deprecated since 3.0.0, use `getKitSettings()` instead and remove the `elementor_` prefix.
348 + */
349 + getGeneralSettings(settingName) {
350 + if (this.isEditMode()) {
351 + parent.elementorDevTools.deprecation.deprecated('getGeneralSettings()', '3.0.0', 'getKitSettings() and remove the `elementor_` prefix');
352 + }
353 + return this.getKitSettings(`elementor_${settingName}`);
354 + }
355 + getKitSettings(settingName) {
356 + // TODO: use Data API.
357 + return this.getItems(this.config.kit, settingName);
358 + }
359 + getCurrentDeviceMode() {
360 + return getComputedStyle(this.elements.$deviceMode[0], ':after').content.replace(/"/g, '');
361 + }
362 + getDeviceSetting(deviceMode, settings, settingKey) {
363 + // Add specific handling for widescreen since it is larger than desktop.
364 + if ('widescreen' === deviceMode) {
365 + return this.getWidescreenSetting(settings, settingKey);
366 + }
367 + const devices = elementorFrontend.breakpoints.getActiveBreakpointsList({
368 + largeToSmall: true,
369 + withDesktop: true
370 + });
371 + let deviceIndex = devices.indexOf(deviceMode);
372 + while (deviceIndex > 0) {
373 + const currentDevice = devices[deviceIndex],
374 + fullSettingKey = settingKey + '_' + currentDevice,
375 + deviceValue = settings[fullSettingKey];
270 376
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 - }));
377 + // Accept 0 as value.
378 + if (deviceValue || 0 === deviceValue) {
379 + return deviceValue;
380 + }
381 + deviceIndex--;
382 + }
383 + return settings[settingKey];
384 + }
385 + getWidescreenSetting(settings, settingKey) {
386 + const deviceMode = 'widescreen',
387 + widescreenSettingKey = settingKey + '_' + deviceMode;
388 + let settingToReturn;
286 389
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 - }));
390 + // If the device mode is 'widescreen', and the setting exists - return it.
391 + if (settings[widescreenSettingKey]) {
392 + settingToReturn = settings[widescreenSettingKey];
393 + } else {
394 + // Otherwise, return the desktop setting
395 + settingToReturn = settings[settingKey];
396 + }
397 + return settingToReturn;
398 + }
399 + getCurrentDeviceSetting(settings, settingKey) {
400 + return this.getDeviceSetting(elementorFrontend.getCurrentDeviceMode(), settings, settingKey);
401 + }
402 + isEditMode() {
403 + return this.config.environmentMode.edit;
404 + }
405 + isWPPreviewMode() {
406 + return this.config.environmentMode.wpPreview;
407 + }
408 + initDialogsManager() {
409 + let dialogsManager;
410 + this.getDialogsManager = () => {
411 + if (!dialogsManager) {
412 + dialogsManager = new DialogsManager.Instance();
413 + }
414 + return dialogsManager;
415 + };
416 + }
417 + initOnReadyComponents() {
418 + this.utils = {
419 + youtube: new _youtubeLoader.default(),
420 + vimeo: new _vimeoLoader.default(),
421 + baseVideoLoader: new _baseLoader.default(),
422 + anchors: new AnchorsModule(),
423 + get lightbox() {
424 + return _lightboxManager.default.getLightbox();
425 + },
426 + urlActions: new _urlActions.default(),
427 + swiper: _swiper.default,
428 + environment: _environment.default,
429 + assetsLoader: new _assetsLoader.default(),
430 + escapeHTML: _utils.escapeHTML,
431 + events: _events.default,
432 + controls: new _controls.default()
433 + };
299 434
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 - }));
435 + // TODO: BC since 2.4.0
436 + this.modules = {
437 + StretchElement: elementorModules.frontend.tools.StretchElement,
438 + Masonry: elementorModules.utils.Masonry
439 + };
440 + this.elementsHandler.init();
441 + if (this.isEditMode()) {
442 + elementor.once('document:loaded', () => this.onDocumentLoaded());
443 + } else {
444 + this.onDocumentLoaded();
445 + }
446 + }
447 + initOnReadyElements() {
448 + this.elements.$wpAdminBar = this.elements.$document.find(this.getSettings('selectors.adminBar'));
449 + }
450 + addUserAgentClasses() {
451 + for (const [key, value] of Object.entries(_environment.default)) {
452 + if (value) {
453 + this.elements.$body.addClass('e--ua-' + key);
454 + }
455 + }
456 + }
457 + setDeviceModeData() {
458 + this.elements.$body.attr('data-elementor-device-mode', this.getCurrentDeviceMode());
459 + }
460 + addListenerOnce(listenerID, event, callback, to) {
461 + if (!to) {
462 + to = this.elements.$window;
463 + }
464 + if (!this.isEditMode()) {
465 + to.on(event, callback);
466 + return;
467 + }
468 + this.removeListeners(listenerID, event, to);
469 + if (to instanceof jQuery) {
470 + const eventNS = event + '.' + listenerID;
471 + to.on(eventNS, callback);
472 + } else {
473 + to.on(event, callback, listenerID);
474 + }
475 + }
476 + removeListeners(listenerID, event, callback, from) {
477 + if (!from) {
478 + from = this.elements.$window;
479 + }
480 + if (from instanceof jQuery) {
481 + const eventNS = event + '.' + listenerID;
482 + from.off(eventNS, callback);
483 + } else {
484 + from.off(event, callback, listenerID);
485 + }
486 + }
311 487
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 - }));
488 + // Based on underscore function
489 + debounce(func, wait) {
490 + let timeout;
491 + return function () {
492 + const context = this,
493 + args = arguments;
494 + const later = () => {
495 + timeout = null;
496 + func.apply(context, args);
497 + };
498 + const callNow = !timeout;
499 + clearTimeout(timeout);
500 + timeout = setTimeout(later, wait);
501 + if (callNow) {
502 + func.apply(context, args);
503 + }
504 + };
505 + }
506 + waypoint($element, callback, options) {
507 + const defaultOptions = {
508 + offset: '100%',
509 + triggerOnce: true
510 + };
511 + options = jQuery.extend(defaultOptions, options);
512 + const correctCallback = function () {
513 + const element = this.element || this,
514 + result = callback.apply(element, arguments);
322 515
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 - }));
516 + // If is Waypoint new API and is frontend
517 + if (options.triggerOnce && this.destroy) {
518 + this.destroy();
519 + }
520 + return result;
521 + };
522 + return $element.elementorWaypoint(correctCallback, options);
523 + }
524 + muteMigrationTraces() {
525 + jQuery.migrateMute = true;
526 + jQuery.migrateTrace = false;
527 + }
339 528
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 - }));
529 + /**
530 + * Initialize the modules' widgets handlers.
531 + */
532 + initModules() {
533 + const handlers = {
534 + shapes: _frontend.default
535 + };
345 536
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 - }));
537 + // TODO: BC - Deprecated since 3.5.0
538 + elementorFrontend.trigger('elementor/modules/init:before');
364 539
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 - }));
540 + // TODO: Use this instead.
541 + elementorFrontend.trigger('elementor/modules/init/before');
542 + Object.entries(handlers).forEach(_ref => {
543 + let [moduleName, ModuleClass] = _ref;
544 + this.modulesHandlers[moduleName] = new ModuleClass();
545 + });
546 + }
547 + populateActiveBreakpointsConfig() {
548 + this.config.responsive.activeBreakpoints = {};
549 + Object.entries(this.config.responsive.breakpoints).forEach(_ref2 => {
550 + let [breakpointKey, breakpointData] = _ref2;
551 + if (breakpointData.is_enabled) {
552 + this.config.responsive.activeBreakpoints[breakpointKey] = breakpointData;
553 + }
554 + });
555 + }
556 + init() {
557 + this.hooks = new EventManager();
558 + this.breakpoints = new _breakpoints.default(this.config.responsive);
559 + this.storage = new _storage.default();
560 + this.elementsHandler = new ElementsHandler(jQuery);
561 + this.modulesHandlers = {};
562 + this.addUserAgentClasses();
563 + this.setDeviceModeData();
564 + this.initDialogsManager();
565 + if (this.isEditMode()) {
566 + this.muteMigrationTraces();
567 + }
381 568
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 - }));
569 + // Keep this line before `initOnReadyComponents` call
570 + _events.default.dispatch(this.elements.$window, 'elementor/frontend/init');
571 + this.initModules();
572 + this.initOnReadyElements();
573 + this.initOnReadyComponents();
574 + }
575 + onDocumentLoaded() {
576 + this.documentsManager = new _documentsManager.default();
577 + this.trigger('components:init');
578 + new _lightboxManager.default();
579 + }
580 +}
581 +exports["default"] = Frontend;
582 +window.elementorFrontend = new Frontend();
583 +if (!elementorFrontend.isEditMode()) {
584 + jQuery(() => elementorFrontend.init());
585 +}
390 586
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 - }));
587 +/***/ }),
400 588
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 - }));
589 +/***/ "../assets/dev/js/frontend/handlers/background-slideshow.js":
590 +/*!******************************************************************!*\
591 + !*** ../assets/dev/js/frontend/handlers/background-slideshow.js ***!
592 + \******************************************************************/
593 +/***/ ((__unused_webpack_module, exports) => {
411 594
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 - }));
423 595
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 - }));
441 596
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 - }));
597 +Object.defineProperty(exports, "__esModule", ({
598 + value: true
599 +}));
600 +exports["default"] = void 0;
601 +class BackgroundSlideshow extends elementorModules.frontend.handlers.SwiperBase {
602 + getDefaultSettings() {
603 + return {
604 + classes: {
605 + swiperContainer: `elementor-background-slideshow ${elementorFrontend.config.swiperClass}`,
606 + swiperWrapper: 'swiper-wrapper',
607 + swiperSlide: 'elementor-background-slideshow__slide swiper-slide',
608 + swiperPreloader: 'swiper-lazy-preloader',
609 + slideBackground: 'elementor-background-slideshow__slide__image',
610 + kenBurns: 'elementor-ken-burns',
611 + kenBurnsActive: 'elementor-ken-burns--active',
612 + kenBurnsIn: 'elementor-ken-burns--in',
613 + kenBurnsOut: 'elementor-ken-burns--out'
614 + }
615 + };
616 + }
617 + getSwiperOptions() {
618 + const elementSettings = this.getElementSettings(),
619 + swiperOptions = {
620 + grabCursor: false,
621 + slidesPerView: 1,
622 + slidesPerGroup: 1,
623 + loop: 'yes' === elementSettings.background_slideshow_loop,
624 + speed: elementSettings.background_slideshow_transition_duration,
625 + autoplay: {
626 + delay: elementSettings.background_slideshow_slide_duration,
627 + stopOnLastSlide: !elementSettings.background_slideshow_loop
628 + },
629 + handleElementorBreakpoints: true,
630 + on: {
631 + slideChange: () => {
632 + if (elementSettings.background_slideshow_ken_burns) {
633 + this.handleKenBurns();
634 + }
635 + }
636 + }
637 + };
638 + if ('yes' === elementSettings.background_slideshow_loop) {
639 + swiperOptions.loopedSlides = this.getSlidesCount();
640 + }
641 + switch (elementSettings.background_slideshow_slide_transition) {
642 + case 'fade':
643 + swiperOptions.effect = 'fade';
644 + swiperOptions.fadeEffect = {
645 + crossFade: true
646 + };
647 + break;
648 + case 'slide_down':
649 + swiperOptions.autoplay.reverseDirection = true;
650 + swiperOptions.direction = 'vertical';
651 + break;
652 + case 'slide_up':
653 + swiperOptions.direction = 'vertical';
654 + break;
655 + }
656 + if ('yes' === elementSettings.background_slideshow_lazyload) {
657 + swiperOptions.lazy = {
658 + loadPrevNext: true,
659 + loadPrevNextAmount: 1
660 + };
661 + }
662 + return swiperOptions;
663 + }
664 + buildSwiperElements() {
665 + const classes = this.getSettings('classes'),
666 + elementSettings = this.getElementSettings(),
667 + direction = 'slide_left' === elementSettings.background_slideshow_slide_transition ? 'ltr' : 'rtl',
668 + $container = jQuery('<div>', {
669 + class: classes.swiperContainer,
670 + dir: direction
671 + }),
672 + $wrapper = jQuery('<div>', {
673 + class: classes.swiperWrapper
674 + }),
675 + kenBurnsActive = elementSettings.background_slideshow_ken_burns,
676 + lazyload = 'yes' === elementSettings.background_slideshow_lazyload;
677 + let slideInnerClass = classes.slideBackground;
678 + if (kenBurnsActive) {
679 + slideInnerClass += ' ' + classes.kenBurns;
680 + const kenBurnsDirection = 'in' === elementSettings.background_slideshow_ken_burns_zoom_direction ? 'kenBurnsIn' : 'kenBurnsOut';
681 + slideInnerClass += ' ' + classes[kenBurnsDirection];
682 + }
683 + if (lazyload) {
684 + slideInnerClass += ' swiper-lazy';
685 + }
686 + this.elements.$slides = jQuery();
687 + elementSettings.background_slideshow_gallery.forEach(slide => {
688 + const $slide = jQuery('<div>', {
689 + class: classes.swiperSlide
690 + });
691 + let $slidebg;
692 + if (lazyload) {
693 + const $slideloader = jQuery('<div>', {
694 + class: classes.swiperPreloader
695 + });
696 + $slidebg = jQuery('<div>', {
697 + class: slideInnerClass,
698 + 'data-background': slide.url
699 + });
700 + $slidebg.append($slideloader);
701 + } else {
702 + $slidebg = jQuery('<div>', {
703 + class: slideInnerClass,
704 + style: 'background-image: url("' + slide.url + '");'
705 + });
706 + }
707 + $slide.append($slidebg);
708 + $wrapper.append($slide);
709 + this.elements.$slides = this.elements.$slides.add($slide);
710 + });
711 + $container.append($wrapper);
712 + this.$element.prepend($container);
713 + this.elements.$backgroundSlideShowContainer = $container;
714 + }
715 + async initSlider() {
716 + if (1 >= this.getSlidesCount()) {
717 + return;
718 + }
719 + const elementSettings = this.getElementSettings();
720 + const Swiper = elementorFrontend.utils.swiper;
721 + this.swiper = await new Swiper(this.elements.$backgroundSlideShowContainer, this.getSwiperOptions());
467 722
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 - }));
723 + // Expose the swiper instance in the frontend
724 + this.elements.$backgroundSlideShowContainer.data('swiper', this.swiper);
725 + if (elementSettings.background_slideshow_ken_burns) {
726 + this.handleKenBurns();
727 + }
728 + }
729 + activate() {
730 + this.buildSwiperElements();
731 + this.initSlider();
732 + }
733 + deactivate() {
734 + if (this.swiper) {
735 + this.swiper.destroy();
736 + this.elements.$backgroundSlideShowContainer.remove();
737 + }
738 + }
739 + run() {
740 + if ('slideshow' === this.getElementSettings('background_background')) {
741 + this.activate();
742 + } else {
743 + this.deactivate();
744 + }
745 + }
746 + onInit() {
747 + super.onInit();
748 + if (this.getElementSettings('background_slideshow_gallery')) {
749 + this.run();
750 + }
751 + }
752 + onDestroy() {
753 + super.onDestroy();
754 + this.deactivate();
755 + }
756 + onElementChange(propertyName) {
757 + if ('background_background' === propertyName) {
758 + this.run();
759 + }
760 + }
761 +}
762 +exports["default"] = BackgroundSlideshow;
478 763
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 - }));
764 +/***/ }),
490 765
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 - }));
766 +/***/ "../assets/dev/js/frontend/handlers/background-video.js":
767 +/*!**************************************************************!*\
768 + !*** ../assets/dev/js/frontend/handlers/background-video.js ***!
769 + \**************************************************************/
770 +/***/ ((__unused_webpack_module, exports) => {
503 771
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 - }));
525 772
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 773
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 - }));
774 +Object.defineProperty(exports, "__esModule", ({
775 + value: true
776 +}));
777 +exports["default"] = void 0;
778 +class BackgroundVideo extends elementorModules.frontend.handlers.Base {
779 + getDefaultSettings() {
780 + return {
781 + selectors: {
782 + backgroundVideoContainer: '.elementor-background-video-container',
783 + backgroundVideoEmbed: '.elementor-background-video-embed',
784 + backgroundVideoHosted: '.elementor-background-video-hosted'
785 + }
786 + };
787 + }
788 + getDefaultElements() {
789 + const selectors = this.getSettings('selectors'),
790 + elements = {
791 + $backgroundVideoContainer: this.$element.find(selectors.backgroundVideoContainer)
792 + };
793 + elements.$backgroundVideoEmbed = elements.$backgroundVideoContainer.children(selectors.backgroundVideoEmbed);
794 + elements.$backgroundVideoHosted = elements.$backgroundVideoContainer.children(selectors.backgroundVideoHosted);
795 + return elements;
796 + }
797 + calcVideosSize($video) {
798 + let aspectRatioSetting = '16:9';
799 + if ('vimeo' === this.videoType) {
800 + aspectRatioSetting = $video[0].width + ':' + $video[0].height;
801 + }
802 + const containerWidth = this.elements.$backgroundVideoContainer.outerWidth(),
803 + containerHeight = this.elements.$backgroundVideoContainer.outerHeight(),
804 + aspectRatioArray = aspectRatioSetting.split(':'),
805 + aspectRatio = aspectRatioArray[0] / aspectRatioArray[1],
806 + ratioWidth = containerWidth / aspectRatio,
807 + ratioHeight = containerHeight * aspectRatio,
808 + isWidthFixed = containerWidth / containerHeight > aspectRatio;
809 + return {
810 + width: isWidthFixed ? containerWidth : ratioHeight,
811 + height: isWidthFixed ? ratioWidth : containerHeight
812 + };
813 + }
814 + changeVideoSize() {
815 + if (!('hosted' === this.videoType) && !this.player) {
816 + return;
817 + }
818 + let $video;
819 + if ('youtube' === this.videoType) {
820 + $video = jQuery(this.player.getIframe());
821 + } else if ('vimeo' === this.videoType) {
822 + $video = jQuery(this.player.element);
823 + } else if ('hosted' === this.videoType) {
824 + $video = this.elements.$backgroundVideoHosted;
825 + }
826 + if (!$video) {
827 + return;
828 + }
829 + const size = this.calcVideosSize($video);
830 + $video.width(size.width).height(size.height);
831 + }
832 + startVideoLoop(firstTime) {
833 + // If the section has been removed
834 + if (!this.player.getIframe().contentWindow) {
835 + return;
836 + }
837 + const elementSettings = this.getElementSettings(),
838 + startPoint = elementSettings.background_video_start || 0,
839 + endPoint = elementSettings.background_video_end;
840 + if (elementSettings.background_play_once && !firstTime) {
841 + this.player.stopVideo();
842 + return;
843 + }
844 + this.player.seekTo(startPoint);
845 + if (endPoint) {
846 + const durationToEnd = endPoint - startPoint + 1;
847 + setTimeout(() => {
848 + this.startVideoLoop(false);
849 + }, durationToEnd * 1000);
850 + }
851 + }
852 + prepareVimeoVideo(Vimeo, videoLink) {
853 + const elementSettings = this.getElementSettings(),
854 + videoSize = this.elements.$backgroundVideoContainer.outerWidth(),
855 + vimeoOptions = {
856 + url: videoLink,
857 + width: videoSize.width,
858 + autoplay: true,
859 + loop: !elementSettings.background_play_once,
860 + transparent: true,
861 + background: true,
862 + muted: true
863 + };
864 + if (elementSettings.background_privacy_mode) {
865 + vimeoOptions.dnt = true;
866 + }
867 + this.player = new Vimeo.Player(this.elements.$backgroundVideoContainer, vimeoOptions);
550 868
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 - }));
869 + // Handle user-defined start/end times
870 + this.handleVimeoStartEndTimes(elementSettings);
871 + this.player.ready().then(() => {
872 + jQuery(this.player.element).addClass('elementor-background-video-embed');
873 + this.changeVideoSize();
874 + });
875 + }
876 + handleVimeoStartEndTimes(elementSettings) {
877 + // If a start time is defined, set the start time
878 + if (elementSettings.background_video_start) {
879 + this.player.on('play', data => {
880 + if (0 === data.seconds) {
881 + this.player.setCurrentTime(elementSettings.background_video_start);
882 + }
883 + });
884 + }
885 + this.player.on('timeupdate', data => {
886 + // If an end time is defined, handle ending the video
887 + if (elementSettings.background_video_end && elementSettings.background_video_end < data.seconds) {
888 + if (elementSettings.background_play_once) {
889 + // Stop at user-defined end time if not loop
890 + this.player.pause();
891 + } else {
892 + // Go to start time if loop
893 + this.player.setCurrentTime(elementSettings.background_video_start);
894 + }
895 + }
593 896
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 - }));
897 + // If start time is defined but an end time is not, go to user-defined start time at video end.
898 + // Vimeo JS API has an 'ended' event, but it never fires when infinite loop is defined, so we
899 + // get the video duration (returns a promise) then use duration-0.5s as end time
900 + this.player.getDuration().then(duration => {
901 + if (elementSettings.background_video_start && !elementSettings.background_video_end && data.seconds > duration - 0.5) {
902 + this.player.setCurrentTime(elementSettings.background_video_start);
903 + }
904 + });
905 + });
906 + }
907 + prepareYTVideo(YT, videoID) {
908 + const $backgroundVideoContainer = this.elements.$backgroundVideoContainer,
909 + elementSettings = this.getElementSettings();
910 + let startStateCode = YT.PlayerState.PLAYING;
607 911
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 - }));
912 + // Since version 67, Chrome doesn't fire the `PLAYING` state at start time
913 + if (window.chrome) {
914 + startStateCode = YT.PlayerState.UNSTARTED;
915 + }
916 + const playerOptions = {
917 + videoId: videoID,
918 + events: {
919 + onReady: () => {
920 + this.player.mute();
921 + this.changeVideoSize();
922 + this.startVideoLoop(true);
923 + this.player.playVideo();
924 + },
925 + onStateChange: event => {
926 + switch (event.data) {
927 + case startStateCode:
928 + $backgroundVideoContainer.removeClass('elementor-invisible elementor-loading');
929 + break;
930 + case YT.PlayerState.ENDED:
931 + if ('function' === typeof this.player.seekTo) {
932 + this.player.seekTo(elementSettings.background_video_start || 0);
933 + }
934 + if (elementSettings.background_play_once) {
935 + this.player.destroy();
936 + }
937 + }
938 + }
939 + },
940 + playerVars: {
941 + controls: 0,
942 + rel: 0,
943 + playsinline: 1
944 + }
945 + };
624 946
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 - }));
947 + // To handle CORS issues, when the default host is changed, the origin parameter has to be set.
948 + if (elementSettings.background_privacy_mode) {
949 + playerOptions.host = 'https://www.youtube-nocookie.com';
950 + playerOptions.origin = window.location.hostname;
951 + }
952 + $backgroundVideoContainer.addClass('elementor-loading elementor-invisible');
953 + this.player = new YT.Player(this.elements.$backgroundVideoEmbed[0], playerOptions);
954 + }
955 + activate() {
956 + let videoLink = this.getElementSettings('background_video_link'),
957 + videoID;
958 + const playOnce = this.getElementSettings('background_play_once');
959 + if (-1 !== videoLink.indexOf('vimeo.com')) {
960 + this.videoType = 'vimeo';
961 + this.apiProvider = elementorFrontend.utils.vimeo;
962 + } else if (videoLink.match(/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com)/)) {
963 + this.videoType = 'youtube';
964 + this.apiProvider = elementorFrontend.utils.youtube;
965 + }
966 + if (this.apiProvider) {
967 + videoID = this.apiProvider.getVideoIDFromURL(videoLink);
968 + this.apiProvider.onApiReady(apiObject => {
969 + if ('youtube' === this.videoType) {
970 + this.prepareYTVideo(apiObject, videoID);
971 + }
972 + if ('vimeo' === this.videoType) {
973 + this.prepareVimeoVideo(apiObject, videoLink);
974 + }
975 + });
976 + } else {
977 + this.videoType = 'hosted';
978 + const startTime = this.getElementSettings('background_video_start'),
979 + endTime = this.getElementSettings('background_video_end');
980 + if (startTime || endTime) {
981 + videoLink += '#t=' + (startTime || 0) + (endTime ? ',' + endTime : '');
982 + }
983 + this.elements.$backgroundVideoHosted.attr('src', videoLink).one('canplay', this.changeVideoSize.bind(this));
984 + if (playOnce) {
985 + this.elements.$backgroundVideoHosted.on('ended', () => {
986 + this.elements.$backgroundVideoHosted.hide();
987 + });
988 + }
989 + }
990 + elementorFrontend.elements.$window.on('resize elementor/bg-video/recalc', this.changeVideoSize);
991 + }
992 + deactivate() {
993 + if ('youtube' === this.videoType && this.player.getIframe() || 'vimeo' === this.videoType) {
994 + this.player.destroy();
995 + } else {
996 + this.elements.$backgroundVideoHosted.removeAttr('src').off('ended');
997 + }
998 + elementorFrontend.elements.$window.off('resize', this.changeVideoSize);
999 + }
1000 + run() {
1001 + const elementSettings = this.getElementSettings();
1002 + if (!elementSettings.background_play_on_mobile && 'mobile' === elementorFrontend.getCurrentDeviceMode()) {
1003 + return;
1004 + }
1005 + if ('video' === elementSettings.background_background && elementSettings.background_video_link) {
1006 + this.activate();
1007 + } else {
1008 + this.deactivate();
1009 + }
1010 + }
1011 + onInit() {
1012 + super.onInit(...arguments);
1013 + this.changeVideoSize = this.changeVideoSize.bind(this);
1014 + this.run();
1015 + }
1016 + onElementChange(propertyName) {
1017 + if ('background_background' === propertyName) {
1018 + this.run();
1019 + }
1020 + }
1021 +}
1022 +exports["default"] = BackgroundVideo;
637 1023
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 - }));
1024 +/***/ }),
646 1025
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 - }));
1026 +/***/ "../assets/dev/js/frontend/handlers/background.js":
1027 +/*!********************************************************!*\
1028 + !*** ../assets/dev/js/frontend/handlers/background.js ***!
1029 + \********************************************************/
1030 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
657 1031
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 - }));
663 1032
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 - }));
732 1033
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 - }));
1034 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1035 +Object.defineProperty(exports, "__esModule", ({
1036 + value: true
1037 +}));
1038 +exports["default"] = void 0;
1039 +var _backgroundSlideshow = _interopRequireDefault(__webpack_require__(/*! ./background-slideshow */ "../assets/dev/js/frontend/handlers/background-slideshow.js"));
1040 +var _backgroundVideo = _interopRequireDefault(__webpack_require__(/*! ./background-video */ "../assets/dev/js/frontend/handlers/background-video.js"));
1041 +var _default = [_backgroundSlideshow.default, _backgroundVideo.default];
1042 +exports["default"] = _default;
778 1043
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 - }));
1044 +/***/ }),
809 1045
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 - }));
1046 +/***/ "../assets/dev/js/frontend/handlers/column.js":
1047 +/*!****************************************************!*\
1048 + !*** ../assets/dev/js/frontend/handlers/column.js ***!
1049 + \****************************************************/
1050 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
820 1051
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 - }));
830 1052
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 - }));
842 1053
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 - }));
1054 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1055 +Object.defineProperty(exports, "__esModule", ({
1056 + value: true
1057 +}));
1058 +exports["default"] = void 0;
1059 +var _backgroundSlideshow = _interopRequireDefault(__webpack_require__(/*! ./background-slideshow */ "../assets/dev/js/frontend/handlers/background-slideshow.js"));
1060 +var _default = [_backgroundSlideshow.default];
1061 +exports["default"] = _default;
853 1062
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 - }));
1063 +/***/ }),
862 1064
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 - }));
1065 +/***/ "../assets/dev/js/frontend/handlers/container/container.js":
1066 +/*!*****************************************************************!*\
1067 + !*** ../assets/dev/js/frontend/handlers/container/container.js ***!
1068 + \*****************************************************************/
1069 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
889 1070
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 - }));
909 1071
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 - }));
923 1072
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 - }));
1073 +Object.defineProperty(exports, "__esModule", ({
1074 + value: true
1075 +}));
1076 +exports["default"] = void 0;
1077 +var _default = [() => __webpack_require__.e(/*! import() | container */ "container").then(__webpack_require__.bind(__webpack_require__, /*! ./handles-position */ "../assets/dev/js/frontend/handlers/container/handles-position.js")), () => __webpack_require__.e(/*! import() | container */ "container").then(__webpack_require__.bind(__webpack_require__, /*! ./shapes */ "../assets/dev/js/frontend/handlers/container/shapes.js")), () => __webpack_require__.e(/*! import() | container */ "container").then(__webpack_require__.bind(__webpack_require__, /*! ./grid-container */ "../assets/dev/js/frontend/handlers/container/grid-container.js"))];
1078 +exports["default"] = _default;
933 1079
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 - }));
1080 +/***/ }),
939 1081
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 - }));
1082 +/***/ "../assets/dev/js/frontend/handlers/global.js":
1083 +/*!****************************************************!*\
1084 + !*** ../assets/dev/js/frontend/handlers/global.js ***!
1085 + \****************************************************/
1086 +/***/ ((__unused_webpack_module, exports) => {
955 1087
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 - }));
973 1088
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 - }));
992 1089
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 - }));
1090 +Object.defineProperty(exports, "__esModule", ({
1091 + value: true
1092 +}));
1093 +exports["default"] = void 0;
1094 +class GlobalHandler extends elementorModules.frontend.handlers.Base {
1095 + getWidgetType() {
1096 + return 'global';
1097 + }
1098 + animate() {
1099 + const $element = this.$element,
1100 + animation = this.getAnimation();
1101 + if ('none' === animation) {
1102 + $element.removeClass('elementor-invisible');
1103 + return;
1104 + }
1105 + const elementSettings = this.getElementSettings(),
1106 + animationDelay = elementSettings._animation_delay || elementSettings.animation_delay || 0;
1107 + $element.removeClass(animation);
1108 + if (this.currentAnimation) {
1109 + $element.removeClass(this.currentAnimation);
1110 + }
1111 + this.currentAnimation = animation;
1112 + setTimeout(() => {
1113 + $element.removeClass('elementor-invisible').addClass('animated ' + animation);
1114 + }, animationDelay);
1115 + }
1116 + getAnimation() {
1117 + return this.getCurrentDeviceSetting('animation') || this.getCurrentDeviceSetting('_animation');
1118 + }
1119 + onInit() {
1120 + super.onInit(...arguments);
1121 + if (this.getAnimation()) {
1122 + const observer = elementorModules.utils.Scroll.scrollObserver({
1123 + callback: event => {
1124 + if (event.isInViewport) {
1125 + this.animate();
1126 + observer.unobserve(this.$element[0]);
1127 + }
1128 + }
1129 + });
1130 + observer.observe(this.$element[0]);
1131 + }
1132 + }
1133 + onElementChange(propertyName) {
1134 + if (/^_?animation/.test(propertyName)) {
1135 + this.animate();
1136 + }
1137 + }
1138 +}
1139 +var _default = $scope => {
1140 + elementorFrontend.elementsHandler.addHandler(GlobalHandler, {
1141 + $element: $scope
1142 + });
1143 +};
1144 +exports["default"] = _default;
1032 1145
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 - }));
1146 +/***/ }),
1043 1147
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 - }));
1148 +/***/ "../assets/dev/js/frontend/handlers/section/handles-position.js":
1149 +/*!**********************************************************************!*\
1150 + !*** ../assets/dev/js/frontend/handlers/section/handles-position.js ***!
1151 + \**********************************************************************/
1152 +/***/ ((__unused_webpack_module, exports) => {
1054 1153
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 - }));
1074 1154
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 - }));
1086 1155
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 - }));
1156 +Object.defineProperty(exports, "__esModule", ({
1157 + value: true
1158 +}));
1159 +exports["default"] = void 0;
1160 +class HandlesPosition extends elementorModules.frontend.handlers.Base {
1161 + isActive() {
1162 + return elementorFrontend.isEditMode();
1163 + }
1164 + isFirstSection() {
1165 + return this.$element[0] === document.querySelector('.elementor-edit-mode .elementor-top-section');
1166 + }
1167 + isOverflowHidden() {
1168 + return 'hidden' === this.$element.css('overflow');
1169 + }
1170 + getOffset() {
1171 + if ('body' === elementor.config.document.container) {
1172 + return this.$element.offset().top;
1173 + }
1174 + const $container = jQuery(elementor.config.document.container);
1175 + return this.$element.offset().top - $container.offset().top;
1176 + }
1177 + setHandlesPosition() {
1178 + const document = elementor.documents.getCurrent();
1179 + if (!document || !document.container.isEditable()) {
1180 + return;
1181 + }
1182 + const insideHandleClass = 'elementor-section--handles-inside';
1183 + if (elementor.settings.page.model.attributes.scroll_snap) {
1184 + this.$element.addClass(insideHandleClass);
1185 + return;
1186 + }
1187 + const isOverflowHidden = this.isOverflowHidden();
1188 + if (!isOverflowHidden && !this.isFirstSection()) {
1189 + return;
1190 + }
1191 + const offset = isOverflowHidden ? 0 : this.getOffset();
1192 + if (offset < 25) {
1193 + this.$element.addClass(insideHandleClass);
1194 + const $handlesElement = this.$element.find('> .elementor-element-overlay > .elementor-editor-section-settings');
1195 + if (offset < -5) {
1196 + $handlesElement.css('top', -offset);
1197 + } else {
1198 + $handlesElement.css('top', '');
1199 + }
1200 + } else {
1201 + this.$element.removeClass(insideHandleClass);
1202 + }
1203 + }
1204 + onInit() {
1205 + if (!this.isActive()) {
1206 + return;
1207 + }
1208 + this.setHandlesPosition();
1209 + this.$element.on('mouseenter', this.setHandlesPosition.bind(this));
1210 + }
1211 +}
1212 +exports["default"] = HandlesPosition;
1098 1213
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 - }));
1214 +/***/ }),
1108 1215
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 - }));
1216 +/***/ "../assets/dev/js/frontend/handlers/section/shapes.js":
1217 +/*!************************************************************!*\
1218 + !*** ../assets/dev/js/frontend/handlers/section/shapes.js ***!
1219 + \************************************************************/
1220 +/***/ ((__unused_webpack_module, exports) => {
1129 1221
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 - }));
1136 1222
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 1223
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 - }));
1224 +Object.defineProperty(exports, "__esModule", ({
1225 + value: true
1226 +}));
1227 +exports["default"] = void 0;
1228 +class Shapes extends elementorModules.frontend.handlers.Base {
1229 + getDefaultSettings() {
1230 + return {
1231 + selectors: {
1232 + container: '> .elementor-shape-%s'
1233 + },
1234 + svgURL: elementorFrontend.config.urls.assets + 'shapes/'
1235 + };
1236 + }
1237 + getDefaultElements() {
1238 + const elements = {},
1239 + selectors = this.getSettings('selectors');
1240 + elements.$topContainer = this.$element.find(selectors.container.replace('%s', 'top'));
1241 + elements.$bottomContainer = this.$element.find(selectors.container.replace('%s', 'bottom'));
1242 + return elements;
1243 + }
1244 + isActive() {
1245 + return elementorFrontend.isEditMode();
1246 + }
1247 + getSvgURL(shapeType, fileName) {
1248 + let svgURL = this.getSettings('svgURL') + fileName + '.svg';
1249 + if (elementor.config.additional_shapes && shapeType in elementor.config.additional_shapes) {
1250 + svgURL = elementor.config.additional_shapes[shapeType];
1251 + if (-1 < fileName.indexOf('-negative')) {
1252 + svgURL = svgURL.replace('.svg', '-negative.svg');
1253 + }
1254 + }
1255 + return svgURL;
1256 + }
1257 + buildSVG(side) {
1258 + const baseSettingKey = 'shape_divider_' + side,
1259 + shapeType = this.getElementSettings(baseSettingKey),
1260 + $svgContainer = this.elements['$' + side + 'Container'];
1261 + $svgContainer.attr('data-shape', shapeType);
1262 + if (!shapeType) {
1263 + $svgContainer.empty(); // Shape-divider set to 'none'
1264 + return;
1265 + }
1266 + let fileName = shapeType;
1267 + if (this.getElementSettings(baseSettingKey + '_negative')) {
1268 + fileName += '-negative';
1269 + }
1270 + const svgURL = this.getSvgURL(shapeType, fileName);
1271 + jQuery.get(svgURL, data => {
1272 + $svgContainer.empty().append(data.childNodes[0]);
1273 + });
1274 + this.setNegative(side);
1275 + }
1276 + setNegative(side) {
1277 + this.elements['$' + side + 'Container'].attr('data-negative', !!this.getElementSettings('shape_divider_' + side + '_negative'));
1278 + }
1279 + onInit() {
1280 + if (!this.isActive(this.getSettings())) {
1281 + return;
1282 + }
1283 + super.onInit(...arguments);
1284 + ['top', 'bottom'].forEach(side => {
1285 + if (this.getElementSettings('shape_divider_' + side)) {
1286 + this.buildSVG(side);
1287 + }
1288 + });
1289 + }
1290 + onElementChange(propertyName) {
1291 + const shapeChange = propertyName.match(/^shape_divider_(top|bottom)$/);
1292 + if (shapeChange) {
1293 + this.buildSVG(shapeChange[1]);
1294 + return;
1295 + }
1296 + const negativeChange = propertyName.match(/^shape_divider_(top|bottom)_negative$/);
1297 + if (negativeChange) {
1298 + this.buildSVG(negativeChange[1]);
1299 + this.setNegative(negativeChange[1]);
1300 + }
1301 + }
1302 +}
1303 +exports["default"] = Shapes;
1236 1304
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 - }));
1305 +/***/ }),
1290 1306
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 - }));
1307 +/***/ "../assets/dev/js/frontend/handlers/section/stretched-section.js":
1308 +/*!***********************************************************************!*\
1309 + !*** ../assets/dev/js/frontend/handlers/section/stretched-section.js ***!
1310 + \***********************************************************************/
1311 +/***/ ((__unused_webpack_module, exports) => {
1296 1312
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 - }));
1306 1313
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 - }));
1321 1314
1322 -//#endregion
1323 -//#region node_modules/core-js/internals/iterators.js
1324 - var require_iterators = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1325 - module.exports = {};
1326 - }));
1315 +Object.defineProperty(exports, "__esModule", ({
1316 + value: true
1317 +}));
1318 +exports["default"] = void 0;
1319 +class StretchedSection extends elementorModules.frontend.handlers.StretchedElement {
1320 + getStretchedClass() {
1321 + return 'elementor-section-stretched';
1322 + }
1323 + getStretchSettingName() {
1324 + return 'stretch_section';
1325 + }
1326 + getStretchActiveValue() {
1327 + return 'section-stretched';
1328 + }
1329 +}
1330 +exports["default"] = StretchedSection;
1327 1331
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 - }));
1332 +/***/ }),
1339 1333
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 - }));
1334 +/***/ "../assets/dev/js/frontend/utils/anchors.js":
1335 +/*!**************************************************!*\
1336 + !*** ../assets/dev/js/frontend/utils/anchors.js ***!
1337 + \**************************************************/
1338 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1348 1339
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 - }));
1372 1340
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 - }));
1385 1341
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 - }));
1342 +var _utils = __webpack_require__(/*! ./utils */ "../assets/dev/js/frontend/utils/utils.js");
1343 +module.exports = elementorModules.ViewModule.extend({
1344 + getDefaultSettings() {
1345 + return {
1346 + scrollDuration: 500,
1347 + selectors: {
1348 + links: 'a[href*="#"]',
1349 + targets: '.elementor-element, .elementor-menu-anchor',
1350 + scrollable: (0, _utils.isScrollSnapActive)() ? 'body' : 'html, body'
1351 + }
1352 + };
1353 + },
1354 + getDefaultElements() {
1355 + var $ = jQuery,
1356 + selectors = this.getSettings('selectors');
1357 + return {
1358 + $scrollable: $(selectors.scrollable)
1359 + };
1360 + },
1361 + bindEvents() {
1362 + elementorFrontend.elements.$document.on('click', this.getSettings('selectors.links'), this.handleAnchorLinks);
1363 + },
1364 + handleAnchorLinks(event) {
1365 + var clickedLink = event.currentTarget,
1366 + isSamePathname = location.pathname === clickedLink.pathname,
1367 + isSameHostname = location.hostname === clickedLink.hostname,
1368 + $anchor;
1369 + if (!isSameHostname || !isSamePathname || clickedLink.hash.length < 2) {
1370 + return;
1371 + }
1372 + try {
1373 + $anchor = jQuery(clickedLink.hash).filter(this.getSettings('selectors.targets'));
1374 + } catch (e) {
1375 + return;
1376 + }
1377 + if (!$anchor.length) {
1378 + return;
1379 + }
1380 + var scrollTop = $anchor.offset().top,
1381 + $wpAdminBar = elementorFrontend.elements.$wpAdminBar,
1382 + $activeStickies = jQuery('.elementor-section.elementor-sticky--active:visible'),
1383 + maxStickyHeight = 0;
1384 + if ($wpAdminBar.length > 0) {
1385 + scrollTop -= $wpAdminBar.height();
1386 + }
1401 1387
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 - }));
1388 + // Offset height of tallest sticky
1389 + if ($activeStickies.length > 0) {
1390 + maxStickyHeight = Math.max.apply(null, $activeStickies.map(function () {
1391 + return jQuery(this).outerHeight();
1392 + }).get());
1393 + scrollTop -= maxStickyHeight;
1394 + }
1395 + event.preventDefault();
1396 + scrollTop = elementorFrontend.hooks.applyFilters('frontend/handlers/menu_anchor/scroll_top_distance', scrollTop);
1429 1397
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 - }));
1398 + // On scroll animation start: remove scroll-snap.
1399 + if ((0, _utils.isScrollSnapActive)()) {
1400 + elementorFrontend.elements.$body.css('scroll-snap-type', 'none');
1401 + }
1402 + this.elements.$scrollable.animate({
1403 + scrollTop
1404 + }, this.getSettings('scrollDuration'), 'linear', () => {
1405 + // On scroll animation complete: add scroll-snap back.
1406 + if ((0, _utils.isScrollSnapActive)()) {
1407 + elementorFrontend.elements.$body.css('scroll-snap-type', '');
1408 + }
1409 + });
1410 + },
1411 + onInit() {
1412 + elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
1413 + }
1414 +});
1500 1415
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 - }));
1416 +/***/ }),
1512 1417
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 - }));
1418 +/***/ "../assets/dev/js/frontend/utils/assets-loader.js":
1419 +/*!********************************************************!*\
1420 + !*** ../assets/dev/js/frontend/utils/assets-loader.js ***!
1421 + \********************************************************/
1422 +/***/ ((__unused_webpack_module, exports) => {
1537 1423
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 - }));
1572 1424
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 1425
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 - }));
1426 +Object.defineProperty(exports, "__esModule", ({
1427 + value: true
1428 +}));
1429 +exports["default"] = void 0;
1430 +class AssetsLoader {
1431 + getScriptElement(src) {
1432 + const scriptElement = document.createElement('script');
1433 + scriptElement.src = src;
1434 + return scriptElement;
1435 + }
1436 + getStyleElement(src) {
1437 + const styleElement = document.createElement('link');
1438 + styleElement.rel = 'stylesheet';
1439 + styleElement.href = src;
1440 + return styleElement;
1441 + }
1442 + load(type, key) {
1443 + const assetData = AssetsLoader.assets[type][key];
1444 + if (!assetData.loader) {
1445 + assetData.loader = new Promise(resolve => {
1446 + const element = 'style' === type ? this.getStyleElement(assetData.src) : this.getScriptElement(assetData.src);
1447 + element.onload = () => resolve(true);
1448 + const parent = 'head' === assetData.parent ? assetData.parent : 'body';
1449 + document[parent].appendChild(element);
1450 + });
1451 + }
1452 + return assetData.loader;
1453 + }
1454 +}
1455 +exports["default"] = AssetsLoader;
1456 +const fileSuffix = elementorFrontendConfig.environmentMode.isScriptDebug ? '' : '.min';
1457 +const swiperSource = elementorFrontendConfig.experimentalFeatures.e_swiper_latest ? `${elementorFrontendConfig.urls.assets}lib/swiper/v8/swiper${fileSuffix}.js?ver=8.4.5` : `${elementorFrontendConfig.urls.assets}lib/swiper/swiper${fileSuffix}.js?ver=5.3.6`;
1458 +AssetsLoader.assets = {
1459 + script: {
1460 + dialog: {
1461 + src: `${elementorFrontendConfig.urls.assets}lib/dialog/dialog${fileSuffix}.js?ver=4.9.0`
1462 + },
1463 + 'share-link': {
1464 + src: `${elementorFrontendConfig.urls.assets}lib/share-link/share-link${fileSuffix}.js?ver=${elementorFrontendConfig.version}`
1465 + },
1466 + swiper: {
1467 + src: swiperSource
1468 + }
1469 + },
1470 + style: {}
1471 +};
1610 1472
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 - }));
1473 +/***/ }),
1616 1474
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 - }));
1475 +/***/ "../assets/dev/js/frontend/utils/controls.js":
1476 +/*!***************************************************!*\
1477 + !*** ../assets/dev/js/frontend/utils/controls.js ***!
1478 + \***************************************************/
1479 +/***/ ((__unused_webpack_module, exports) => {
1622 1480
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 - }));
1678 1481
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 - }));
1727 1482
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 - }));
1483 +Object.defineProperty(exports, "__esModule", ({
1484 + value: true
1485 +}));
1486 +exports["default"] = void 0;
1487 +class Controls {
1488 + /**
1489 + * Get Control Value
1490 + *
1491 + * Retrieves a control value.
1492 + * This function has been copied from `elementor/assets/dev/js/editor/utils/conditions.js`.
1493 + *
1494 + * @since 3.11.0
1495 + *
1496 + * @param {{}} controlSettings A settings object (e.g. element settings - keys and values)
1497 + * @param {string} controlKey The control key name
1498 + * @param {string} controlSubKey A specific property of the control object.
1499 + * @return {*} Control Value
1500 + */
1501 + getControlValue(controlSettings, controlKey, controlSubKey) {
1502 + let value;
1503 + if ('object' === typeof controlSettings[controlKey] && controlSubKey) {
1504 + value = controlSettings[controlKey][controlSubKey];
1505 + } else {
1506 + value = controlSettings[controlKey];
1507 + }
1508 + return value;
1509 + }
1772 1510
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 - }));
1511 + /**
1512 + * Get the value of a responsive control.
1513 + *
1514 + * Retrieves the value of a responsive control for the current device or for this first parent device which has a control value.
1515 + *
1516 + * @since 3.11.0
1517 + *
1518 + * @param {{}} controlSettings A settings object (e.g. element settings - keys and values)
1519 + * @param {string} controlKey The control key name
1520 + * @param {string} controlSubKey A specific property of the control object.
1521 + * @param {string} device If we want to get a value for a specific device mode.
1522 + * @return {*} Control Value
1523 + */
1524 + getResponsiveControlValue(controlSettings, controlKey) {
1525 + let controlSubKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
1526 + let device = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
1527 + const currentDeviceMode = device || elementorFrontend.getCurrentDeviceMode(),
1528 + controlValueDesktop = this.getControlValue(controlSettings, controlKey, controlSubKey);
1833 1529
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 - }));
1530 + // Set the control value for the current device mode.
1531 + // First check the widescreen device mode.
1532 + if ('widescreen' === currentDeviceMode) {
1533 + const controlValueWidescreen = this.getControlValue(controlSettings, `${controlKey}_widescreen`, controlSubKey);
1534 + return !!controlValueWidescreen || 0 === controlValueWidescreen ? controlValueWidescreen : controlValueDesktop;
1535 + }
1868 1536
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 - }));
1537 + // Loop through all responsive and desktop device modes.
1538 + const activeBreakpoints = elementorFrontend.breakpoints.getActiveBreakpointsList({
1539 + withDesktop: true
1540 + });
1541 + let parentDeviceMode = currentDeviceMode,
1542 + deviceIndex = activeBreakpoints.indexOf(currentDeviceMode),
1543 + controlValue = '';
1544 + while (deviceIndex <= activeBreakpoints.length) {
1545 + if ('desktop' === parentDeviceMode) {
1546 + controlValue = controlValueDesktop;
1547 + break;
1548 + }
1549 + const responsiveControlKey = `${controlKey}_${parentDeviceMode}`,
1550 + responsiveControlValue = this.getControlValue(controlSettings, responsiveControlKey, controlSubKey);
1551 + if (!!responsiveControlValue || 0 === responsiveControlValue) {
1552 + controlValue = responsiveControlValue;
1553 + break;
1554 + }
1905 1555
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 - }));
1556 + // If no control value has been set for the current device mode, then check the parent device mode.
1557 + deviceIndex++;
1558 + parentDeviceMode = activeBreakpoints[deviceIndex];
1559 + }
1560 + return controlValue;
1561 + }
1562 +}
1563 +exports["default"] = Controls;
1929 1564
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 - }));
1565 +/***/ }),
1957 1566
1958 -//#endregion
1959 -//#region \0@[email protected]/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((() => {}));
1567 +/***/ "../assets/dev/js/frontend/utils/lightbox/lightbox-manager.js":
1568 +/*!********************************************************************!*\
1569 + !*** ../assets/dev/js/frontend/utils/lightbox/lightbox-manager.js ***!
1570 + \********************************************************************/
1571 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1987 1572
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 1573
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 - }));
2008 1574
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 - }));
1575 +Object.defineProperty(exports, "__esModule", ({
1576 + value: true
1577 +}));
1578 +exports["default"] = void 0;
1579 +class LightboxManager extends elementorModules.ViewModule {
1580 + static getLightbox() {
1581 + const lightboxPromise = new Promise(resolveLightbox => {
1582 + __webpack_require__.e(/*! import() | lightbox */ "lightbox").then(__webpack_require__.t.bind(__webpack_require__, /*! elementor-frontend/utils/lightbox/lightbox */ "../assets/dev/js/frontend/utils/lightbox/lightbox.js", 23)).then(_ref => {
1583 + let {
1584 + default: LightboxModule
1585 + } = _ref;
1586 + return resolveLightbox(new LightboxModule());
1587 + });
1588 + }),
1589 + dialogPromise = elementorFrontend.utils.assetsLoader.load('script', 'dialog'),
1590 + shareLinkPromise = elementorFrontend.utils.assetsLoader.load('script', 'share-link');
1591 + return Promise.all([lightboxPromise, dialogPromise, shareLinkPromise]).then(() => lightboxPromise);
1592 + }
1593 + getDefaultSettings() {
1594 + return {
1595 + selectors: {
1596 + links: 'a, [data-elementor-lightbox]'
1597 + }
1598 + };
1599 + }
1600 + getDefaultElements() {
1601 + return {
1602 + $links: jQuery(this.getSettings('selectors.links'))
1603 + };
1604 + }
1605 + isLightboxLink(element) {
1606 + // Check for lowercase `a` to make sure it works also for links inside SVGs.
1607 + if ('a' === element.tagName.toLowerCase() && (element.hasAttribute('download') || !/^[^?]+\.(png|jpe?g|gif|svg|webp)(\?.*)?$/i.test(element.href)) && !element.dataset.elementorLightboxVideo) {
1608 + return false;
1609 + }
1610 + const generalOpenInLightbox = elementorFrontend.getKitSettings('global_image_lightbox'),
1611 + currentLinkOpenInLightbox = element.dataset.elementorOpenLightbox;
1612 + return 'yes' === currentLinkOpenInLightbox || generalOpenInLightbox && 'no' !== currentLinkOpenInLightbox;
1613 + }
1614 + async onLinkClick(event) {
1615 + const element = event.currentTarget,
1616 + $target = jQuery(event.target),
1617 + editMode = elementorFrontend.isEditMode(),
1618 + isColorPickingMode = editMode && elementor.$previewContents.find('body').hasClass('elementor-editor__ui-state__color-picker'),
1619 + isClickInsideElementor = !!$target.closest('.elementor-edit-area').length;
1620 + if (!this.isLightboxLink(element)) {
1621 + if (editMode && isClickInsideElementor) {
1622 + event.preventDefault();
1623 + }
1624 + return;
1625 + }
1626 + event.preventDefault();
1627 + if (editMode && !elementor.getPreferences('lightbox_in_editor')) {
1628 + return;
1629 + }
2020 1630
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 - }));
1631 + // Disable lightbox on color picking mode.
1632 + if (isColorPickingMode) {
1633 + return;
1634 + }
1635 + const lightbox = this.isOptimizedAssetsLoading() ? await LightboxManager.getLightbox() : elementorFrontend.utils.lightbox;
1636 + lightbox.createLightbox(element);
1637 + }
1638 + isOptimizedAssetsLoading() {
1639 + return elementorFrontend.config.experimentalFeatures.e_optimized_assets_loading;
1640 + }
1641 + bindEvents() {
1642 + elementorFrontend.elements.$document.on('click', this.getSettings('selectors.links'), event => this.onLinkClick(event));
1643 + }
1644 + onInit() {
1645 + super.onInit(...arguments);
1646 + if (!this.isOptimizedAssetsLoading() || elementorFrontend.isEditMode()) {
1647 + return;
1648 + }
2047 1649
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 - }));
1650 + // Detecting lightbox links on init will reduce the time of waiting to the lightbox to be display on slow connections.
1651 + this.elements.$links.each((index, element) => {
1652 + if (this.isLightboxLink(element)) {
1653 + LightboxManager.getLightbox();
2061 1654
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 - }));
1655 + // Breaking the iteration when the library loading has already been triggered.
1656 + return false;
1657 + }
1658 + });
1659 + }
1660 +}
1661 +exports["default"] = LightboxManager;
2072 1662
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 - }));
1663 +/***/ }),
2081 1664
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 - }));
1665 +/***/ "../assets/dev/js/frontend/utils/swiper.js":
1666 +/*!*************************************************!*\
1667 + !*** ../assets/dev/js/frontend/utils/swiper.js ***!
1668 + \*************************************************/
1669 +/***/ ((__unused_webpack_module, exports) => {
2213 1670
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 - }));
2230 1671
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 1672
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 - }));
1673 +Object.defineProperty(exports, "__esModule", ({
1674 + value: true
1675 +}));
1676 +exports["default"] = void 0;
1677 +class Swiper {
1678 + constructor(container, config) {
1679 + this.config = config;
1680 + if (this.config.breakpoints) {
1681 + // The config is passed as a param to allow adjustConfig to be called outside of this wrapper
1682 + this.config = this.adjustConfig(config);
1683 + }
1684 + if (container instanceof jQuery) {
1685 + container = container[0];
1686 + }
2349 1687
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 - }));
1688 + // The Swiper will overlap the column width when applying custom margin values on the column.
1689 + container.closest('.elementor-widget-wrap')?.classList.add('e-swiper-container');
1690 + container.closest('.elementor-widget')?.classList.add('e-widget-swiper');
1691 + return new Promise(resolve => {
1692 + if (!elementorFrontend.config.experimentalFeatures.e_optimized_assets_loading) {
1693 + return resolve(this.createSwiperInstance(container, this.config));
1694 + }
1695 + elementorFrontend.utils.assetsLoader.load('script', 'swiper').then(() => resolve(this.createSwiperInstance(container, this.config)));
1696 + });
1697 + }
1698 + createSwiperInstance(container, config) {
1699 + const SwiperSource = window.Swiper;
1700 + SwiperSource.prototype.adjustConfig = this.adjustConfig;
1701 + return new SwiperSource(container, config);
1702 + }
2414 1703
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 - }));
1704 + // Backwards compatibility for Elementor Pro <2.9.0 (old Swiper version - <5.0.0)
1705 + // In Swiper 5.0.0 and up, breakpoints changed from acting as max-width to acting as min-width
1706 + adjustConfig(config) {
1707 + // Only reverse the breakpoints if the handle param has been defined
1708 + if (!config.handleElementorBreakpoints) {
1709 + return config;
1710 + }
1711 + const elementorBreakpoints = elementorFrontend.config.responsive.activeBreakpoints,
1712 + elementorBreakpointValues = elementorFrontend.breakpoints.getBreakpointValues();
1713 + Object.keys(config.breakpoints).forEach(configBPKey => {
1714 + const configBPKeyInt = parseInt(configBPKey);
1715 + let breakpointToUpdate;
2500 1716
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 - }));
1717 + // The `configBPKeyInt + 1` is a BC Fix for Elementor Pro Carousels from 2.8.0-2.8.3 used with Elementor >= 2.9.0
1718 + if (configBPKeyInt === elementorBreakpoints.mobile.value || configBPKeyInt + 1 === elementorBreakpoints.mobile.value) {
1719 + // This handles the mobile breakpoint. Elementor's default sm breakpoint is never actually used,
1720 + // so the mobile breakpoint (md) needs to be handled separately and set to the 0 breakpoint (xs)
1721 + breakpointToUpdate = 0;
1722 + } else if (elementorBreakpoints.widescreen && (configBPKeyInt === elementorBreakpoints.widescreen.value || configBPKeyInt + 1 === elementorBreakpoints.widescreen.value)) {
1723 + // Widescreen is a min-width breakpoint. Since in Swiper >5.0 the breakpoint system is min-width based,
1724 + // the value we pass to the Swiper instance in this case is the breakpoint from the user, unchanged.
1725 + breakpointToUpdate = configBPKeyInt;
1726 + } else {
1727 + // Find the index of the current config breakpoint in the Elementor Breakpoints array
1728 + const currentBPIndexInElementorBPs = elementorBreakpointValues.findIndex(elementorBP => {
1729 + // BC Fix for Elementor Pro Carousels from 2.8.0-2.8.3 used with Elementor >= 2.9.0
1730 + return configBPKeyInt === elementorBP || configBPKeyInt + 1 === elementorBP;
1731 + });
2570 1732
2571 -//#endregion
2572 -//#region \0@[email protected]/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((() => {}));
1733 + // For all other Swiper config breakpoints, move them one breakpoint down on the breakpoint list,
1734 + // according to the array of Elementor's global breakpoints
1735 + breakpointToUpdate = elementorBreakpointValues[currentBPIndexInElementorBPs - 1];
1736 + }
1737 + config.breakpoints[breakpointToUpdate] = config.breakpoints[configBPKey];
2582 1738
2583 -//#endregion
2584 -//#region \0@[email protected]/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 - }));
1739 + // Then reset the settings in the original breakpoint key to the default values
1740 + config.breakpoints[configBPKey] = {
1741 + slidesPerView: config.slidesPerView,
1742 + slidesPerGroup: config.slidesPerGroup ? config.slidesPerGroup : 1
1743 + };
1744 + });
1745 + return config;
1746 + }
1747 +}
1748 +exports["default"] = Swiper;
2598 1749
2599 -//#endregion
2600 -//#region \0@[email protected]/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 - }));
1750 +/***/ }),
2609 1751
2610 -//#endregion
2611 -//#region \0@[email protected]/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 - }));
1752 +/***/ "../assets/dev/js/frontend/utils/url-actions.js":
1753 +/*!******************************************************!*\
1754 + !*** ../assets/dev/js/frontend/utils/url-actions.js ***!
1755 + \******************************************************/
1756 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2623 1757
2624 -//#endregion
2625 -//#region \0@[email protected]/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 - }));
2650 1758
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 1759
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 - }));
1760 +Object.defineProperty(exports, "__esModule", ({
1761 + value: true
1762 +}));
1763 +exports["default"] = void 0;
1764 +__webpack_require__(/*! core-js/modules/web.dom-exception.stack.js */ "../node_modules/core-js/modules/web.dom-exception.stack.js");
1765 +class _default extends elementorModules.ViewModule {
1766 + getDefaultSettings() {
1767 + return {
1768 + selectors: {
1769 + links: 'a[href^="%23elementor-action"], a[href^="#elementor-action"]'
1770 + }
1771 + };
1772 + }
1773 + bindEvents() {
1774 + elementorFrontend.elements.$document.on('click', this.getSettings('selectors.links'), this.runLinkAction.bind(this));
1775 + }
1776 + initActions() {
1777 + this.actions = {
1778 + lightbox: async settings => {
1779 + const lightbox = await elementorFrontend.utils.lightbox;
1780 + if (settings.slideshow) {
1781 + // Handle slideshow display
1782 + lightbox.openSlideshow(settings.slideshow, settings.url);
1783 + } else {
1784 + // If the settings has an ID - the lightbox target content is an image - the ID is an attachment ID.
1785 + if (settings.id) {
1786 + settings.type = 'image';
1787 + }
1788 + lightbox.showModal(settings);
1789 + }
1790 + }
1791 + };
1792 + }
1793 + addAction(name, callback) {
1794 + this.actions[name] = callback;
1795 + }
1796 + runAction(url) {
1797 + url = decodeURIComponent(url);
1798 + const actionMatch = url.match(/action=(.+?)&/);
1799 + if (!actionMatch) {
1800 + return;
1801 + }
1802 + const action = this.actions[actionMatch[1]];
1803 + if (!action) {
1804 + return;
1805 + }
1806 + let settings = {};
1807 + const settingsMatch = url.match(/settings=(.+)/);
1808 + if (settingsMatch) {
1809 + settings = JSON.parse(atob(settingsMatch[1]));
1810 + }
1811 + for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1812 + restArgs[_key - 1] = arguments[_key];
1813 + }
1814 + action(settings, ...restArgs);
1815 + }
1816 + runLinkAction(event) {
1817 + event.preventDefault();
1818 + this.runAction(jQuery(event.currentTarget).attr('href'), event);
1819 + }
1820 + runHashAction() {
1821 + if (!location.hash) {
1822 + return;
1823 + }
2682 1824
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 - }));
1825 + // Only if an element with this action hash exists on the page do we allow running the action.
1826 + const elementWithHash = document.querySelector(`[data-e-action-hash="${location.hash}"], a[href*="${location.hash}"]`);
1827 + if (elementWithHash) {
1828 + this.runAction(elementWithHash.getAttribute('data-e-action-hash'));
1829 + }
1830 + }
1831 + createActionHash(action, settings) {
1832 + // We need to encode the hash tag (#) here, in order to support share links for a variety of providers
1833 + return encodeURIComponent(`#elementor-action:action=${action}&settings=${btoa(JSON.stringify(settings))}`);
1834 + }
1835 + onInit() {
1836 + super.onInit();
1837 + this.initActions();
1838 + elementorFrontend.on('components:init', this.runHashAction.bind(this));
1839 + }
1840 +}
1841 +exports["default"] = _default;
2693 1842
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 - }));
1843 +/***/ }),
2730 1844
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 - }));
1845 +/***/ "../assets/dev/js/frontend/utils/utils.js":
1846 +/*!************************************************!*\
1847 + !*** ../assets/dev/js/frontend/utils/utils.js ***!
1848 + \************************************************/
1849 +/***/ ((__unused_webpack_module, exports) => {
2740 1850
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 - }));
2751 1851
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 - }));
2770 1852
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 - }));
1853 +Object.defineProperty(exports, "__esModule", ({
1854 + value: true
1855 +}));
1856 +exports.isScrollSnapActive = exports.escapeHTML = void 0;
1857 +// Escape HTML special chars to prevent XSS.
1858 +const escapeHTML = str => {
1859 + const specialChars = {
1860 + '&': '&amp;',
1861 + '<': '&lt;',
1862 + '>': '&gt;',
1863 + "'": '&#39;',
1864 + '"': '&quot;'
1865 + };
1866 + return str.replace(/[&<>'"]/g, tag => specialChars[tag] || tag);
1867 +};
2849 1868
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 - }));
1869 +// Check if Scroll-Snap is active.
1870 +exports.escapeHTML = escapeHTML;
1871 +const isScrollSnapActive = () => {
1872 + const scrollSnapStatus = elementorFrontend.isEditMode() ? elementor.settings.page.model.attributes?.scroll_snap : elementorFrontend.config.settings.page?.scroll_snap;
1873 + return 'yes' === scrollSnapStatus ? true : false;
1874 +};
1875 +exports.isScrollSnapActive = isScrollSnapActive;
2863 1876
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 - }));
1877 +/***/ }),
2876 1878
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 - }));
1879 +/***/ "../assets/dev/js/frontend/utils/video-api/base-loader.js":
1880 +/*!****************************************************************!*\
1881 + !*** ../assets/dev/js/frontend/utils/video-api/base-loader.js ***!
1882 + \****************************************************************/
1883 +/***/ ((__unused_webpack_module, exports) => {
2915 1884
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 - }));
2921 1885
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 1886
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 - }));
1887 +Object.defineProperty(exports, "__esModule", ({
1888 + value: true
1889 +}));
1890 +exports["default"] = void 0;
1891 +class BaseLoader extends elementorModules.ViewModule {
1892 + getDefaultSettings() {
1893 + return {
1894 + isInserted: false,
1895 + selectors: {
1896 + firstScript: 'script:first'
1897 + }
1898 + };
1899 + }
1900 + getDefaultElements() {
1901 + return {
1902 + $firstScript: jQuery(this.getSettings('selectors.firstScript'))
1903 + };
1904 + }
1905 + insertAPI() {
1906 + this.elements.$firstScript.before(jQuery('<script>', {
1907 + src: this.getApiURL()
1908 + }));
1909 + this.setSettings('isInserted', true);
1910 + }
1911 + getVideoIDFromURL(url) {
1912 + const videoIDParts = url.match(this.getURLRegex());
1913 + return videoIDParts && videoIDParts[1];
1914 + }
1915 + onApiReady(callback) {
1916 + if (!this.getSettings('isInserted')) {
1917 + this.insertAPI();
1918 + }
1919 + if (this.isApiLoaded()) {
1920 + callback(this.getApiObject());
1921 + } else {
1922 + // If not ready check again by timeout..
1923 + setTimeout(() => {
1924 + this.onApiReady(callback);
1925 + }, 350);
1926 + }
1927 + }
1928 + getAutoplayURL(videoURL) {
1929 + return videoURL.replace('&autoplay=0', '') + '&autoplay=1';
1930 + }
1931 +}
1932 +exports["default"] = BaseLoader;
3076 1933
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 - }));
1934 +/***/ }),
3090 1935
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 - }));
1936 +/***/ "../assets/dev/js/frontend/utils/video-api/vimeo-loader.js":
1937 +/*!*****************************************************************!*\
1938 + !*** ../assets/dev/js/frontend/utils/video-api/vimeo-loader.js ***!
1939 + \*****************************************************************/
1940 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3159 1941
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 - }));
3208 1942
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 - }));
3214 1943
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 - }));
1944 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1945 +Object.defineProperty(exports, "__esModule", ({
1946 + value: true
1947 +}));
1948 +exports["default"] = void 0;
1949 +var _baseLoader = _interopRequireDefault(__webpack_require__(/*! ./base-loader */ "../assets/dev/js/frontend/utils/video-api/base-loader.js"));
1950 +class VimeoLoader extends _baseLoader.default {
1951 + getApiURL() {
1952 + return 'https://player.vimeo.com/api/player.js';
1953 + }
1954 + getURLRegex() {
1955 + return /^(?:https?:\/\/)?(?:www|player\.)?(?:vimeo\.com\/)?(?:video\/|external\/)?(\d+)([^.?&#"'>]?)/;
1956 + }
1957 + isApiLoaded() {
1958 + return window.Vimeo;
1959 + }
1960 + getApiObject() {
1961 + return Vimeo;
1962 + }
1963 + getAutoplayURL(videoURL) {
1964 + videoURL = super.getAutoplayURL(videoURL);
3328 1965
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 - }));
1966 + // Vimeo requires the '#t=' param to be last in the URL.
1967 + const timeMatch = videoURL.match(/#t=[^&]*/);
1968 + return videoURL.replace(timeMatch[0], '') + timeMatch;
1969 + }
1970 +}
1971 +exports["default"] = VimeoLoader;
3352 1972
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 - }));
1973 +/***/ }),
3553 1974
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 - }));
1975 +/***/ "../assets/dev/js/frontend/utils/video-api/youtube-loader.js":
1976 +/*!*******************************************************************!*\
1977 + !*** ../assets/dev/js/frontend/utils/video-api/youtube-loader.js ***!
1978 + \*******************************************************************/
1979 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3603 1980
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 - }));
3617 1981
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 - }));
3632 1982
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 - }));
1983 +var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1984 +Object.defineProperty(exports, "__esModule", ({
1985 + value: true
1986 +}));
1987 +exports["default"] = void 0;
1988 +var _baseLoader = _interopRequireDefault(__webpack_require__(/*! ./base-loader */ "../assets/dev/js/frontend/utils/video-api/base-loader.js"));
1989 +class YoutubeLoader extends _baseLoader.default {
1990 + getApiURL() {
1991 + return 'https://www.youtube.com/iframe_api';
1992 + }
1993 + getURLRegex() {
1994 + return /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user)\/))([^?&"'>]+)/;
1995 + }
1996 + isApiLoaded() {
1997 + return window.YT && YT.loaded;
1998 + }
1999 + getApiObject() {
2000 + return YT;
2001 + }
2002 +}
2003 +exports["default"] = YoutubeLoader;
3647 2004
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 - }));
2005 +/***/ }),
3655 2006
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 - }));
2007 +/***/ "../assets/dev/js/public-path.js":
2008 +/*!***************************************!*\
2009 + !*** ../assets/dev/js/public-path.js ***!
2010 + \***************************************/
2011 +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
3782 2012
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 - }));
4038 2013
4039 -//#endregion
4040 -return require_frontend();
4041 2014
4042 -})();
2015 +/* eslint-disable camelcase */
2016 +__webpack_require__.p = elementorFrontendConfig.urls.assets + 'js/';
2017 +
2018 +/***/ }),
2019 +
2020 +/***/ "../assets/dev/js/utils/breakpoints.js":
2021 +/*!*********************************************!*\
2022 + !*** ../assets/dev/js/utils/breakpoints.js ***!
2023 + \*********************************************/
2024 +/***/ ((__unused_webpack_module, exports) => {
2025 +
2026 +
2027 +
2028 +Object.defineProperty(exports, "__esModule", ({
2029 + value: true
2030 +}));
2031 +exports["default"] = void 0;
2032 +/**
2033 + * Breakpoints
2034 + *
2035 + * This utility class contains helper functions relating to Elementor's breakpoints system.
2036 + *
2037 + * @since 3.4.0
2038 + */
2039 +class Breakpoints extends elementorModules.Module {
2040 + constructor(responsiveConfig) {
2041 + super();
2042 +
2043 + // The passed config is either `elementor.config.responsive` or `elementorFrontend.config.responsive`
2044 + this.responsiveConfig = responsiveConfig;
2045 + }
2046 +
2047 + /**
2048 + * Get Active Breakpoints List
2049 + *
2050 + * Returns a flat array containing the active breakpoints/devices. By default, it returns the li
2051 + * the list ordered from smallest to largest breakpoint. If `true` is passed as a parameter, it reverses the order.
2052 + *
2053 + * @since 3.4.0
2054 + *
2055 + * @param {Object} args
2056 + */
2057 + getActiveBreakpointsList() {
2058 + let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2059 + const defaultArgs = {
2060 + largeToSmall: false,
2061 + withDesktop: false
2062 + };
2063 + args = {
2064 + ...defaultArgs,
2065 + ...args
2066 + };
2067 + const breakpointKeys = Object.keys(this.responsiveConfig.activeBreakpoints);
2068 + if (args.withDesktop) {
2069 + // If there is an active 'widescreen' breakpoint, insert the artificial 'desktop' device below it.
2070 + const widescreenIndex = breakpointKeys.indexOf('widescreen'),
2071 + indexToInsertDesktopDevice = -1 === widescreenIndex ? breakpointKeys.length : breakpointKeys.length - 1;
2072 + breakpointKeys.splice(indexToInsertDesktopDevice, 0, 'desktop');
2073 + }
2074 + if (args.largeToSmall) {
2075 + breakpointKeys.reverse();
2076 + }
2077 + return breakpointKeys;
2078 + }
2079 +
2080 + /**
2081 + * Get Active Breakpoint Values
2082 + *
2083 + * Returns a flat array containing the list of active breakpoint values, from smallest to largest.
2084 + *
2085 + * @since 3.4.0
2086 + */
2087 + getBreakpointValues() {
2088 + const {
2089 + activeBreakpoints
2090 + } = this.responsiveConfig,
2091 + breakpointValues = [];
2092 + Object.values(activeBreakpoints).forEach(breakpointConfig => {
2093 + breakpointValues.push(breakpointConfig.value);
2094 + });
2095 + return breakpointValues;
2096 + }
2097 +
2098 + /**
2099 + * Get Desktop Previous Device Key
2100 + *
2101 + * Returns the key of the device directly under desktop (can be 'tablet', 'tablet_extra', 'laptop').
2102 + *
2103 + * @since 3.4.0
2104 + *
2105 + * @return {string} device key
2106 + */
2107 + getDesktopPreviousDeviceKey() {
2108 + let desktopPreviousDevice = '';
2109 + const {
2110 + activeBreakpoints
2111 + } = this.responsiveConfig,
2112 + breakpointKeys = Object.keys(activeBreakpoints),
2113 + numOfDevices = breakpointKeys.length;
2114 + if ('min' === activeBreakpoints[breakpointKeys[numOfDevices - 1]].direction) {
2115 + // If the widescreen breakpoint is active, the device that's previous to desktop is the last one before
2116 + // widescreen.
2117 + desktopPreviousDevice = breakpointKeys[numOfDevices - 2];
2118 + } else {
2119 + // If the widescreen breakpoint isn't active, we just take the last device returned by the config.
2120 + desktopPreviousDevice = breakpointKeys[numOfDevices - 1];
2121 + }
2122 + return desktopPreviousDevice;
2123 + }
2124 +
2125 + /**
2126 + * Get Device Minimum Breakpoint
2127 + *
2128 + * Returns the minimum point in the device's display range. For each device, the minimum point of its display range
2129 + * is the max point of the device below it + 1px. For example, if the active devices are mobile, tablet,
2130 + * and desktop, and the mobile breakpoint is 767px, the minimum display point for tablet devices is 768px.
2131 + *
2132 + * @since 3.4.0
2133 + *
2134 + * @return {number|*} minimum breakpoint
2135 + */
2136 + getDesktopMinPoint() {
2137 + const {
2138 + activeBreakpoints
2139 + } = this.responsiveConfig,
2140 + desktopPreviousDevice = this.getDesktopPreviousDeviceKey();
2141 + return activeBreakpoints[desktopPreviousDevice].value + 1;
2142 + }
2143 +
2144 + /**
2145 + * Get Device Minimum Breakpoint
2146 + *
2147 + * Returns the minimum point in the device's display range. For each device, the minimum point of its display range
2148 + * is the max point of the device below it + 1px. For example, if the active devices are mobile, tablet,
2149 + * and desktop, and the mobile breakpoint is 767px, the minimum display point for tablet devices is 768px.
2150 + *
2151 + * @since 3.4.0
2152 + *
2153 + * @param {string} device
2154 + * @return {number|*} minimum breakpoint
2155 + */
2156 + getDeviceMinBreakpoint(device) {
2157 + if ('desktop' === device) {
2158 + return this.getDesktopMinPoint();
2159 + }
2160 + const {
2161 + activeBreakpoints
2162 + } = this.responsiveConfig,
2163 + breakpointNames = Object.keys(activeBreakpoints);
2164 + let minBreakpoint;
2165 + if (breakpointNames[0] === device) {
2166 + // For the lowest breakpoint, the min point is always 320.
2167 + minBreakpoint = 320;
2168 + } else if ('widescreen' === device) {
2169 + // Widescreen only has a minimum point. In this case, the breakpoint
2170 + // value in the Breakpoints config is itself the device min point.
2171 + if (activeBreakpoints[device]) {
2172 + minBreakpoint = activeBreakpoints[device].value;
2173 + } else {
2174 + // If the widescreen breakpoint does not exist in the active breakpoints config (for example, in the
2175 + // case this method runs as the breakpoint is being added), get the value from the full config.
2176 + minBreakpoint = this.responsiveConfig.breakpoints.widescreen;
2177 + }
2178 + } else {
2179 + const deviceNameIndex = breakpointNames.indexOf(device),
2180 + previousIndex = deviceNameIndex - 1;
2181 + minBreakpoint = activeBreakpoints[breakpointNames[previousIndex]].value + 1;
2182 + }
2183 + return minBreakpoint;
2184 + }
2185 +
2186 + /**
2187 + * Get Active Match Regex
2188 + *
2189 + * Returns a regular expression containing all active breakpoints prefixed with an underscore.
2190 + *
2191 + * @return {RegExp} Active Match Regex
2192 + */
2193 + getActiveMatchRegex() {
2194 + return new RegExp(this.getActiveBreakpointsList().map(device => '_' + device).join('|') + '$');
2195 + }
2196 +}
2197 +exports["default"] = Breakpoints;
2198 +
2199 +/***/ }),
2200 +
2201 +/***/ "../assets/dev/js/utils/events.js":
2202 +/*!****************************************!*\
2203 + !*** ../assets/dev/js/utils/events.js ***!
2204 + \****************************************/
2205 +/***/ ((__unused_webpack_module, exports) => {
2206 +
2207 +
2208 +
2209 +Object.defineProperty(exports, "__esModule", ({
2210 + value: true
2211 +}));
2212 +exports["default"] = exports.Events = void 0;
2213 +class Events {
2214 + /**
2215 + * Dispatch an Elementor event.
2216 + *
2217 + * Will dispatch both native event & jQuery event (as BC).
2218 + * By default, `bcEvent` is `null`.
2219 + *
2220 + * @param {Object} context - The context that will dispatch the event.
2221 + * @param {string} event - Event to dispatch.
2222 + * @param {*} data - Data to pass to the event, default to `null`.
2223 + * @param {string|null} bcEvent - BC event to dispatch, default to `null`.
2224 + *
2225 + * @return {void}
2226 + */
2227 + static dispatch(context, event) {
2228 + let data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
2229 + let bcEvent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
2230 + // Make sure to use the native context if it's a jQuery instance.
2231 + context = context instanceof jQuery ? context[0] : context;
2232 +
2233 + // Dispatch the BC event only if exists.
2234 + if (bcEvent) {
2235 + context.dispatchEvent(new CustomEvent(bcEvent, {
2236 + detail: data
2237 + }));
2238 + }
2239 +
2240 + // jQuery's `.on()` listens also to native custom events, so there is no need
2241 + // to dispatch also a jQuery event.
2242 + context.dispatchEvent(new CustomEvent(event, {
2243 + detail: data
2244 + }));
2245 + }
2246 +}
2247 +exports.Events = Events;
2248 +var _default = Events;
2249 +exports["default"] = _default;
2250 +
2251 +/***/ }),
2252 +
2253 +/***/ "../assets/dev/js/utils/hooks.js":
2254 +/*!***************************************!*\
2255 + !*** ../assets/dev/js/utils/hooks.js ***!
2256 + \***************************************/
2257 +/***/ ((module) => {
2258 +
2259 +
2260 +
2261 +/**
2262 + * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
2263 + * that, lowest priority hooks are fired first.
2264 + */
2265 +var EventManager = function () {
2266 + var slice = Array.prototype.slice,
2267 + MethodsAvailable;
2268 +
2269 + /**
2270 + * Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat"
2271 + * object literal such that looking up the hook utilizes the native object literal hash.
2272 + */
2273 + var STORAGE = {
2274 + actions: {},
2275 + filters: {}
2276 + };
2277 +
2278 + /**
2279 + * Removes the specified hook by resetting the value of it.
2280 + *
2281 + * @param {string} type Type of hook, either 'actions' or 'filters'
2282 + * @param {Function} hook The hook (namespace.identifier) to remove
2283 + * @param {Function} callback
2284 + * @param {*} context
2285 + * @private
2286 + */
2287 + function _removeHook(type, hook, callback, context) {
2288 + var handlers, handler, i;
2289 + if (!STORAGE[type][hook]) {
2290 + return;
2291 + }
2292 + if (!callback) {
2293 + STORAGE[type][hook] = [];
2294 + } else {
2295 + handlers = STORAGE[type][hook];
2296 + if (!context) {
2297 + for (i = handlers.length; i--;) {
2298 + if (handlers[i].callback === callback) {
2299 + handlers.splice(i, 1);
2300 + }
2301 + }
2302 + } else {
2303 + for (i = handlers.length; i--;) {
2304 + handler = handlers[i];
2305 + if (handler.callback === callback && handler.context === context) {
2306 + handlers.splice(i, 1);
2307 + }
2308 + }
2309 + }
2310 + }
2311 + }
2312 +
2313 + /**
2314 + * Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster
2315 + * than bubble sort, etc: http://jsperf.com/javascript-sort
2316 + *
2317 + * @param {Array<*>} hooks The custom array containing all of the appropriate hooks to perform an insert sort on.
2318 + * @private
2319 + */
2320 + function _hookInsertSort(hooks) {
2321 + var tmpHook, j, prevHook;
2322 + for (var i = 1, len = hooks.length; i < len; i++) {
2323 + tmpHook = hooks[i];
2324 + j = i;
2325 + while ((prevHook = hooks[j - 1]) && prevHook.priority > tmpHook.priority) {
2326 + hooks[j] = hooks[j - 1];
2327 + --j;
2328 + }
2329 + hooks[j] = tmpHook;
2330 + }
2331 + return hooks;
2332 + }
2333 +
2334 + /**
2335 + * Adds the hook to the appropriate storage container
2336 + *
2337 + * @param {string} type 'actions' or 'filters'
2338 + * @param {Array<*>} hook The hook (namespace.identifier) to add to our event manager
2339 + * @param {Function} callback The function that will be called when the hook is executed.
2340 + * @param {number} priority The priority of this hook. Must be an integer.
2341 + * @param {*} [context] A value to be used for this
2342 + * @private
2343 + */
2344 + function _addHook(type, hook, callback, priority, context) {
2345 + var hookObject = {
2346 + callback,
2347 + priority,
2348 + context
2349 + };
2350 +
2351 + // Utilize 'prop itself' : http://jsperf.com/hasownproperty-vs-in-vs-undefined/19
2352 + var hooks = STORAGE[type][hook];
2353 + if (hooks) {
2354 + // TEMP FIX BUG
2355 + var hasSameCallback = false;
2356 + jQuery.each(hooks, function () {
2357 + if (this.callback === callback) {
2358 + hasSameCallback = true;
2359 + return false;
2360 + }
2361 + });
2362 + if (hasSameCallback) {
2363 + return;
2364 + }
2365 + // END TEMP FIX BUG
2366 +
2367 + hooks.push(hookObject);
2368 + hooks = _hookInsertSort(hooks);
2369 + } else {
2370 + hooks = [hookObject];
2371 + }
2372 + STORAGE[type][hook] = hooks;
2373 + }
2374 +
2375 + /**
2376 + * Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is.
2377 + *
2378 + * @param {string} type 'actions' or 'filters'
2379 + * @param {*} hook The hook ( namespace.identifier ) to be ran.
2380 + * @param {Array<*>} args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter.
2381 + * @private
2382 + */
2383 + function _runHook(type, hook, args) {
2384 + var handlers = STORAGE[type][hook],
2385 + i,
2386 + len;
2387 + if (!handlers) {
2388 + return 'filters' === type ? args[0] : false;
2389 + }
2390 + len = handlers.length;
2391 + if ('filters' === type) {
2392 + for (i = 0; i < len; i++) {
2393 + args[0] = handlers[i].callback.apply(handlers[i].context, args);
2394 + }
2395 + } else {
2396 + for (i = 0; i < len; i++) {
2397 + handlers[i].callback.apply(handlers[i].context, args);
2398 + }
2399 + }
2400 + return 'filters' === type ? args[0] : true;
2401 + }
2402 +
2403 + /**
2404 + * Adds an action to the event manager.
2405 + *
2406 + * @param {string} action Must contain namespace.identifier
2407 + * @param {Function} callback Must be a valid callback function before this action is added
2408 + * @param {number} [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
2409 + * @param {*} [context] Supply a value to be used for this
2410 + */
2411 + function addAction(action, callback, priority, context) {
2412 + if ('string' === typeof action && 'function' === typeof callback) {
2413 + priority = parseInt(priority || 10, 10);
2414 + _addHook('actions', action, callback, priority, context);
2415 + }
2416 + return MethodsAvailable;
2417 + }
2418 +
2419 + /**
2420 + * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is
2421 + * that the first argument must always be the action.
2422 + */
2423 + function doAction( /* Action, arg1, arg2, ... */
2424 + ) {
2425 + var args = slice.call(arguments);
2426 + var action = args.shift();
2427 + if ('string' === typeof action) {
2428 + _runHook('actions', action, args);
2429 + }
2430 + return MethodsAvailable;
2431 + }
2432 +
2433 + /**
2434 + * Removes the specified action if it contains a namespace.identifier & exists.
2435 + *
2436 + * @param {string} action The action to remove
2437 + * @param {Function} [callback] Callback function to remove
2438 + */
2439 + function removeAction(action, callback) {
2440 + if ('string' === typeof action) {
2441 + _removeHook('actions', action, callback);
2442 + }
2443 + return MethodsAvailable;
2444 + }
2445 +
2446 + /**
2447 + * Adds a filter to the event manager.
2448 + *
2449 + * @param {string} filter Must contain namespace.identifier
2450 + * @param {Function} callback Must be a valid callback function before this action is added
2451 + * @param {number} [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
2452 + * @param {*} [context] Supply a value to be used for this
2453 + */
2454 + function addFilter(filter, callback, priority, context) {
2455 + if ('string' === typeof filter && 'function' === typeof callback) {
2456 + priority = parseInt(priority || 10, 10);
2457 + _addHook('filters', filter, callback, priority, context);
2458 + }
2459 + return MethodsAvailable;
2460 + }
2461 +
2462 + /**
2463 + * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that
2464 + * the first argument must always be the filter.
2465 + */
2466 + function applyFilters( /* Filter, filtered arg, arg2, ... */
2467 + ) {
2468 + var args = slice.call(arguments);
2469 + var filter = args.shift();
2470 + if ('string' === typeof filter) {
2471 + return _runHook('filters', filter, args);
2472 + }
2473 + return MethodsAvailable;
2474 + }
2475 +
2476 + /**
2477 + * Removes the specified filter if it contains a namespace.identifier & exists.
2478 + *
2479 + * @param {string} filter The action to remove
2480 + * @param {Function} [callback] Callback function to remove
2481 + */
2482 + function removeFilter(filter, callback) {
2483 + if ('string' === typeof filter) {
2484 + _removeHook('filters', filter, callback);
2485 + }
2486 + return MethodsAvailable;
2487 + }
2488 +
2489 + /**
2490 + * Maintain a reference to the object scope so our public methods never get confusing.
2491 + */
2492 + MethodsAvailable = {
2493 + removeFilter,
2494 + applyFilters,
2495 + addFilter,
2496 + removeAction,
2497 + doAction,
2498 + addAction
2499 + };
2500 +
2501 + // Return all of the publicly available methods
2502 + return MethodsAvailable;
2503 +};
2504 +module.exports = EventManager;
2505 +
2506 +/***/ }),
2507 +
2508 +/***/ "../core/common/assets/js/utils/environment.js":
2509 +/*!*****************************************************!*\
2510 + !*** ../core/common/assets/js/utils/environment.js ***!
2511 + \*****************************************************/
2512 +/***/ ((__unused_webpack_module, exports) => {
2513 +
2514 +
2515 +
2516 +Object.defineProperty(exports, "__esModule", ({
2517 + value: true
2518 +}));
2519 +exports["default"] = void 0;
2520 +const matchUserAgent = UserAgentStr => {
2521 + return userAgent.indexOf(UserAgentStr) >= 0;
2522 + },
2523 + userAgent = navigator.userAgent,
2524 + // Solution influenced by https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
2525 +
2526 + // Opera 8.0+
2527 + isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'),
2528 + // Firefox 1.0+
2529 + isFirefox = matchUserAgent('Firefox'),
2530 + // Safari 3.0+ "[object HTMLElementConstructor]"
2531 + isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || (p => {
2532 + return '[object SafariRemoteNotification]' === p.toString();
2533 + })(!window.safari || typeof safari !== 'undefined' && safari.pushNotification),
2534 + // Internet Explorer 6-11
2535 + isIE = /Trident|MSIE/.test(userAgent) && ( /* @cc_on!@*/ false || !!document.documentMode),
2536 + // Edge 20+
2537 + isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'),
2538 + // Google Chrome (Not accurate)
2539 + isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera),
2540 + // Blink engine
2541 + isBlink = matchUserAgent('Chrome') && !!window.CSS,
2542 + // Apple Webkit engine
2543 + isAppleWebkit = matchUserAgent('AppleWebKit') && !isBlink,
2544 + isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0,
2545 + environment = {
2546 + isTouchDevice,
2547 + appleWebkit: isAppleWebkit,
2548 + blink: isBlink,
2549 + chrome: isChrome,
2550 + edge: isEdge,
2551 + firefox: isFirefox,
2552 + ie: isIE,
2553 + mac: matchUserAgent('Macintosh'),
2554 + opera: isOpera,
2555 + safari: isSafari,
2556 + webkit: matchUserAgent('AppleWebKit')
2557 + };
2558 +var _default = environment;
2559 +exports["default"] = _default;
2560 +
2561 +/***/ }),
2562 +
2563 +/***/ "../core/common/assets/js/utils/storage.js":
2564 +/*!*************************************************!*\
2565 + !*** ../core/common/assets/js/utils/storage.js ***!
2566 + \*************************************************/
2567 +/***/ ((__unused_webpack_module, exports) => {
2568 +
2569 +
2570 +
2571 +Object.defineProperty(exports, "__esModule", ({
2572 + value: true
2573 +}));
2574 +exports["default"] = void 0;
2575 +class _default extends elementorModules.Module {
2576 + get(key, options) {
2577 + options = options || {};
2578 + let storage;
2579 + try {
2580 + storage = options.session ? sessionStorage : localStorage;
2581 + } catch (e) {
2582 + return key ? undefined : {};
2583 + }
2584 + let elementorStorage = storage.getItem('elementor');
2585 + if (elementorStorage) {
2586 + elementorStorage = JSON.parse(elementorStorage);
2587 + } else {
2588 + elementorStorage = {};
2589 + }
2590 + if (!elementorStorage.__expiration) {
2591 + elementorStorage.__expiration = {};
2592 + }
2593 + const expiration = elementorStorage.__expiration;
2594 + let expirationToCheck = [];
2595 + if (key) {
2596 + if (expiration[key]) {
2597 + expirationToCheck = [key];
2598 + }
2599 + } else {
2600 + expirationToCheck = Object.keys(expiration);
2601 + }
2602 + let entryExpired = false;
2603 + expirationToCheck.forEach(expirationKey => {
2604 + if (new Date(expiration[expirationKey]) < new Date()) {
2605 + delete elementorStorage[expirationKey];
2606 + delete expiration[expirationKey];
2607 + entryExpired = true;
2608 + }
2609 + });
2610 + if (entryExpired) {
2611 + this.save(elementorStorage, options.session);
2612 + }
2613 + if (key) {
2614 + return elementorStorage[key];
2615 + }
2616 + return elementorStorage;
2617 + }
2618 + set(key, value, options) {
2619 + options = options || {};
2620 + const elementorStorage = this.get(null, options);
2621 + elementorStorage[key] = value;
2622 + if (options.lifetimeInSeconds) {
2623 + const date = new Date();
2624 + date.setTime(date.getTime() + options.lifetimeInSeconds * 1000);
2625 + elementorStorage.__expiration[key] = date.getTime();
2626 + }
2627 + this.save(elementorStorage, options.session);
2628 + }
2629 + save(object, session) {
2630 + let storage;
2631 + try {
2632 + storage = session ? sessionStorage : localStorage;
2633 + } catch (e) {
2634 + return;
2635 + }
2636 + storage.setItem('elementor', JSON.stringify(object));
2637 + }
2638 +}
2639 +exports["default"] = _default;
2640 +
2641 +/***/ }),
2642 +
2643 +/***/ "../modules/shapes/assets/js/frontend/frontend.js":
2644 +/*!********************************************************!*\
2645 + !*** ../modules/shapes/assets/js/frontend/frontend.js ***!
2646 + \********************************************************/
2647 +/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2648 +
2649 +
2650 +
2651 +Object.defineProperty(exports, "__esModule", ({
2652 + value: true
2653 +}));
2654 +exports["default"] = void 0;
2655 +class _default extends elementorModules.Module {
2656 + constructor() {
2657 + super();
2658 + elementorFrontend.elementsHandler.attachHandler('text-path', () => __webpack_require__.e(/*! import() | text-path */ "text-path").then(__webpack_require__.bind(__webpack_require__, /*! ./handlers/text-path */ "../modules/shapes/assets/js/frontend/handlers/text-path.js")));
2659 + }
2660 +}
2661 +exports["default"] = _default;
2662 +
2663 +/***/ }),
2664 +
2665 +/***/ "../node_modules/core-js/internals/an-instance.js":
2666 +/*!********************************************************!*\
2667 + !*** ../node_modules/core-js/internals/an-instance.js ***!
2668 + \********************************************************/
2669 +/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2670 +
2671 +
2672 +var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "../node_modules/core-js/internals/object-is-prototype-of.js");
2673 +
2674 +var $TypeError = TypeError;
2675 +
2676 +module.exports = function (it, Prototype) {
2677 + if (isPrototypeOf(Prototype, it)) return it;
2678 + throw $TypeError('Incorrect invocation');
2679 +};
2680 +
2681 +
2682 +/***/ }),
2683 +
2684 +/***/ "../node_modules/core-js/internals/dom-exception-constants.js":
2685 +/*!********************************************************************!*\
2686 + !*** ../node_modules/core-js/internals/dom-exception-constants.js ***!
2687 + \********************************************************************/
2688 +/***/ ((module) => {
2689 +
2690 +
2691 +module.exports = {
2692 + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },
2693 + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },
2694 + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },
2695 + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },
2696 + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },
2697 + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },
2698 + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },
2699 + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },
2700 + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },
2701 + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },
2702 + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },
2703 + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },
2704 + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },
2705 + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },
2706 + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },
2707 + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },
2708 + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },
2709 + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },
2710 + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },
2711 + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },
2712 + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },
2713 + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },
2714 + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },
2715 + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },
2716 + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }
2717 +};
2718 +
2719 +
2720 +/***/ }),
2721 +
2722 +/***/ "../node_modules/core-js/modules/web.dom-exception.stack.js":
2723 +/*!******************************************************************!*\
2724 + !*** ../node_modules/core-js/modules/web.dom-exception.stack.js ***!
2725 + \******************************************************************/
2726 +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
2727 +
2728 +
2729 +var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js");
2730 +var global = __webpack_require__(/*! ../internals/global */ "../node_modules/core-js/internals/global.js");
2731 +var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
2732 +var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
2733 +var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js").f);
2734 +var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
2735 +var anInstance = __webpack_require__(/*! ../internals/an-instance */ "../node_modules/core-js/internals/an-instance.js");
2736 +var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "../node_modules/core-js/internals/inherit-if-required.js");
2737 +var normalizeStringArgument = __webpack_require__(/*! ../internals/normalize-string-argument */ "../node_modules/core-js/internals/normalize-string-argument.js");
2738 +var DOMExceptionConstants = __webpack_require__(/*! ../internals/dom-exception-constants */ "../node_modules/core-js/internals/dom-exception-constants.js");
2739 +var clearErrorStack = __webpack_require__(/*! ../internals/error-stack-clear */ "../node_modules/core-js/internals/error-stack-clear.js");
2740 +var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
2741 +var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js");
2742 +
2743 +var DOM_EXCEPTION = 'DOMException';
2744 +var Error = getBuiltIn('Error');
2745 +var NativeDOMException = getBuiltIn(DOM_EXCEPTION);
2746 +
2747 +var $DOMException = function DOMException() {
2748 + anInstance(this, DOMExceptionPrototype);
2749 + var argumentsLength = arguments.length;
2750 + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);
2751 + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');
2752 + var that = new NativeDOMException(message, name);
2753 + var error = Error(message);
2754 + error.name = DOM_EXCEPTION;
2755 + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));
2756 + inheritIfRequired(that, this, $DOMException);
2757 + return that;
2758 +};
2759 +
2760 +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;
2761 +
2762 +var ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);
2763 +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);
2764 +
2765 +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2766 +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);
2767 +
2768 +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it
2769 +// https://github.com/Jarred-Sumner/bun/issues/399
2770 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);
2771 +
2772 +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;
2773 +
2774 +// `DOMException` constructor patch for `.stack` where it's required
2775 +// https://webidl.spec.whatwg.org/#es-DOMException-specialness
2776 +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic
2777 + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException
2778 +});
2779 +
2780 +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);
2781 +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;
2782 +
2783 +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
2784 + if (!IS_PURE) {
2785 + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));
2786 + }
2787 +
2788 + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {
2789 + var constant = DOMExceptionConstants[key];
2790 + var constantName = constant.s;
2791 + if (!hasOwn(PolyfilledDOMException, constantName)) {
2792 + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));
2793 + }
2794 + }
2795 +}
2796 +
2797 +
2798 +/***/ })
2799 +
2800 +},
2801 +/******/ __webpack_require__ => { // webpackRuntimeModules
2802 +/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
2803 +/******/ __webpack_require__.O(0, ["frontend-modules"], () => (__webpack_exec__("../assets/dev/js/frontend/frontend.js")));
2804 +/******/ var __webpack_exports__ = __webpack_require__.O();
2805 +/******/ }
2806 +]);
4043 2807 //# sourceMappingURL=frontend.js.map