PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0
Elementor Website Builder – more than just a page builder v4.3.0
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
elementor / assets / js / e-home-screen.js

e-home-screen.js in Elementor Website Builder – more than just a page builder 4.3.0, at assets/js/e-home-screen.js

3,239 lines 122.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function(react, react_dom, _elementor_ui, _elementor_ui_Typography, _elementor_ui_Button, _wordpress_i18n, _elementor_ui_Link, _elementor_ui_List, _elementor_ui_ListItem, _elementor_ui_ListItemText, _elementor_ui_ListItemButton, _elementor_ui_Box, _elementor_ui_DialogHeader, _elementor_ui_DialogHeaderGroup, _elementor_ui_DialogTitle, _elementor_ui_DialogContent, _elementor_ui_DialogContentText, _elementor_ui_TextField, _elementor_ui_DialogActions, _elementor_ui_Dialog) {
2
3 //#region \0rolldown/runtime.js
4 var __create = Object.create;
5 var __defProp = Object.defineProperty;
6 var __name = (target, value) => __defProp(target, "name", {
7 value,
8 configurable: true
9 });
10 var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11 var __getOwnPropNames = Object.getOwnPropertyNames;
12 var __getProtoOf = Object.getPrototypeOf;
13 var __hasOwnProp = Object.prototype.hasOwnProperty;
14 var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
15 var __copyProps = (to, from, except, desc) => {
16 if (from && typeof from === "object" || typeof from === "function") {
17 for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
18 key = keys[i];
19 if (!__hasOwnProp.call(to, key) && key !== except) {
20 __defProp(to, key, {
21 get: ((k) => from[k]).bind(null, key),
22 enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23 });
24 }
25 }
26 }
27 return to;
28 };
29 var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30 value: mod,
31 enumerable: true
32 }) : target, mod));
33
34 //#endregion
35 react = __toESM(react);
36 react_dom = __toESM(react_dom);
37 _elementor_ui_Typography = __toESM(_elementor_ui_Typography);
38 _elementor_ui_Button = __toESM(_elementor_ui_Button);
39 _elementor_ui_Link = __toESM(_elementor_ui_Link);
40 _elementor_ui_List = __toESM(_elementor_ui_List);
41 _elementor_ui_ListItem = __toESM(_elementor_ui_ListItem);
42 _elementor_ui_ListItemText = __toESM(_elementor_ui_ListItemText);
43 _elementor_ui_ListItemButton = __toESM(_elementor_ui_ListItemButton);
44 _elementor_ui_Box = __toESM(_elementor_ui_Box);
45 _elementor_ui_DialogHeader = __toESM(_elementor_ui_DialogHeader);
46 _elementor_ui_DialogHeaderGroup = __toESM(_elementor_ui_DialogHeaderGroup);
47 _elementor_ui_DialogTitle = __toESM(_elementor_ui_DialogTitle);
48 _elementor_ui_DialogContent = __toESM(_elementor_ui_DialogContent);
49 _elementor_ui_DialogContentText = __toESM(_elementor_ui_DialogContentText);
50 _elementor_ui_TextField = __toESM(_elementor_ui_TextField);
51 _elementor_ui_DialogActions = __toESM(_elementor_ui_DialogActions);
52 _elementor_ui_Dialog = __toESM(_elementor_ui_Dialog);
53
54 //#region node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js
55 /** @license React v16.13.1
56 * react-is.development.js
57 *
58 * Copyright (c) Facebook, Inc. and its affiliates.
59 *
60 * This source code is licensed under the MIT license found in the
61 * LICENSE file in the root directory of this source tree.
62 */
63 var require_react_is_development = /* @__PURE__ */ __commonJSMin(((exports) => {
64 (function() {
65 "use strict";
66 var hasSymbol = typeof Symbol === "function" && Symbol.for;
67 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103;
68 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106;
69 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107;
70 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108;
71 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114;
72 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109;
73 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110;
74 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111;
75 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111;
76 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112;
77 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113;
78 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120;
79 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115;
80 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116;
81 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121;
82 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117;
83 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118;
84 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119;
85 function isValidElementType(type) {
86 return typeof type === "string" || typeof type === "function" || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
87 }
88 function typeOf(object) {
89 if (typeof object === "object" && object !== null) {
90 var $$typeof = object.$$typeof;
91 switch ($$typeof) {
92 case REACT_ELEMENT_TYPE:
93 var type = object.type;
94 switch (type) {
95 case REACT_ASYNC_MODE_TYPE:
96 case REACT_CONCURRENT_MODE_TYPE:
97 case REACT_FRAGMENT_TYPE:
98 case REACT_PROFILER_TYPE:
99 case REACT_STRICT_MODE_TYPE:
100 case REACT_SUSPENSE_TYPE: return type;
101 default:
102 var $$typeofType = type && type.$$typeof;
103 switch ($$typeofType) {
104 case REACT_CONTEXT_TYPE:
105 case REACT_FORWARD_REF_TYPE:
106 case REACT_LAZY_TYPE:
107 case REACT_MEMO_TYPE:
108 case REACT_PROVIDER_TYPE: return $$typeofType;
109 default: return $$typeof;
110 }
111 }
112 case REACT_PORTAL_TYPE: return $$typeof;
113 }
114 }
115 }
116 var AsyncMode = REACT_ASYNC_MODE_TYPE;
117 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
118 var ContextConsumer = REACT_CONTEXT_TYPE;
119 var ContextProvider = REACT_PROVIDER_TYPE;
120 var Element = REACT_ELEMENT_TYPE;
121 var ForwardRef = REACT_FORWARD_REF_TYPE;
122 var Fragment = REACT_FRAGMENT_TYPE;
123 var Lazy = REACT_LAZY_TYPE;
124 var Memo = REACT_MEMO_TYPE;
125 var Portal = REACT_PORTAL_TYPE;
126 var Profiler = REACT_PROFILER_TYPE;
127 var StrictMode = REACT_STRICT_MODE_TYPE;
128 var Suspense = REACT_SUSPENSE_TYPE;
129 var hasWarnedAboutDeprecatedIsAsyncMode = false;
130 function isAsyncMode(object) {
131 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
132 hasWarnedAboutDeprecatedIsAsyncMode = true;
133 console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");
134 }
135 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
136 }
137 function isConcurrentMode(object) {
138 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
139 }
140 function isContextConsumer(object) {
141 return typeOf(object) === REACT_CONTEXT_TYPE;
142 }
143 function isContextProvider(object) {
144 return typeOf(object) === REACT_PROVIDER_TYPE;
145 }
146 function isElement(object) {
147 return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
148 }
149 function isForwardRef(object) {
150 return typeOf(object) === REACT_FORWARD_REF_TYPE;
151 }
152 function isFragment(object) {
153 return typeOf(object) === REACT_FRAGMENT_TYPE;
154 }
155 function isLazy(object) {
156 return typeOf(object) === REACT_LAZY_TYPE;
157 }
158 function isMemo(object) {
159 return typeOf(object) === REACT_MEMO_TYPE;
160 }
161 function isPortal(object) {
162 return typeOf(object) === REACT_PORTAL_TYPE;
163 }
164 function isProfiler(object) {
165 return typeOf(object) === REACT_PROFILER_TYPE;
166 }
167 function isStrictMode(object) {
168 return typeOf(object) === REACT_STRICT_MODE_TYPE;
169 }
170 function isSuspense(object) {
171 return typeOf(object) === REACT_SUSPENSE_TYPE;
172 }
173 exports.AsyncMode = AsyncMode;
174 exports.ConcurrentMode = ConcurrentMode;
175 exports.ContextConsumer = ContextConsumer;
176 exports.ContextProvider = ContextProvider;
177 exports.Element = Element;
178 exports.ForwardRef = ForwardRef;
179 exports.Fragment = Fragment;
180 exports.Lazy = Lazy;
181 exports.Memo = Memo;
182 exports.Portal = Portal;
183 exports.Profiler = Profiler;
184 exports.StrictMode = StrictMode;
185 exports.Suspense = Suspense;
186 exports.isAsyncMode = isAsyncMode;
187 exports.isConcurrentMode = isConcurrentMode;
188 exports.isContextConsumer = isContextConsumer;
189 exports.isContextProvider = isContextProvider;
190 exports.isElement = isElement;
191 exports.isForwardRef = isForwardRef;
192 exports.isFragment = isFragment;
193 exports.isLazy = isLazy;
194 exports.isMemo = isMemo;
195 exports.isPortal = isPortal;
196 exports.isProfiler = isProfiler;
197 exports.isStrictMode = isStrictMode;
198 exports.isSuspense = isSuspense;
199 exports.isValidElementType = isValidElementType;
200 exports.typeOf = typeOf;
201 })();
202 }));
203
204 //#endregion
205 //#region node_modules/prop-types/node_modules/react-is/index.js
206 var require_react_is = /* @__PURE__ */ __commonJSMin(((exports, module) => {
207 module.exports = require_react_is_development();
208 }));
209
210 //#endregion
211 //#region node_modules/object-assign/index.js
212 /*
213 object-assign
214 (c) Sindre Sorhus
215 @license MIT
216 */
217 var require_object_assign = /* @__PURE__ */ __commonJSMin(((exports, module) => {
218 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
219 var hasOwnProperty = Object.prototype.hasOwnProperty;
220 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
221 function toObject(val) {
222 if (val === null || val === void 0) throw new TypeError("Object.assign cannot be called with null or undefined");
223 return Object(val);
224 }
225 function shouldUseNative() {
226 try {
227 if (!Object.assign) return false;
228 var test1 = /* @__PURE__ */ new String("abc");
229 test1[5] = "de";
230 if (Object.getOwnPropertyNames(test1)[0] === "5") return false;
231 var test2 = {};
232 for (var i = 0; i < 10; i++) test2["_" + String.fromCharCode(i)] = i;
233 if (Object.getOwnPropertyNames(test2).map(function(n) {
234 return test2[n];
235 }).join("") !== "0123456789") return false;
236 var test3 = {};
237 "abcdefghijklmnopqrst".split("").forEach(function(letter) {
238 test3[letter] = letter;
239 });
240 if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") return false;
241 return true;
242 } catch (err) {
243 return false;
244 }
245 }
246 module.exports = shouldUseNative() ? Object.assign : function(target, source) {
247 var from;
248 var to = toObject(target);
249 var symbols;
250 for (var s = 1; s < arguments.length; s++) {
251 from = Object(arguments[s]);
252 for (var key in from) if (hasOwnProperty.call(from, key)) to[key] = from[key];
253 if (getOwnPropertySymbols) {
254 symbols = getOwnPropertySymbols(from);
255 for (var i = 0; i < symbols.length; i++) if (propIsEnumerable.call(from, symbols[i])) to[symbols[i]] = from[symbols[i]];
256 }
257 }
258 return to;
259 };
260 }));
261
262 //#endregion
263 //#region node_modules/prop-types/lib/ReactPropTypesSecret.js
264 /**
265 * Copyright (c) 2013-present, Facebook, Inc.
266 *
267 * This source code is licensed under the MIT license found in the
268 * LICENSE file in the root directory of this source tree.
269 */
270 var require_ReactPropTypesSecret = /* @__PURE__ */ __commonJSMin(((exports, module) => {
271 var ReactPropTypesSecret = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
272 module.exports = ReactPropTypesSecret;
273 }));
274
275 //#endregion
276 //#region node_modules/prop-types/lib/has.js
277 var require_has = /* @__PURE__ */ __commonJSMin(((exports, module) => {
278 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
279 }));
280
281 //#endregion
282 //#region node_modules/prop-types/checkPropTypes.js
283 /**
284 * Copyright (c) 2013-present, Facebook, Inc.
285 *
286 * This source code is licensed under the MIT license found in the
287 * LICENSE file in the root directory of this source tree.
288 */
289 var require_checkPropTypes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
290 var printWarning = function() {};
291 var ReactPropTypesSecret = require_ReactPropTypesSecret();
292 var loggedTypeFailures = {};
293 var has = require_has();
294 printWarning = function(text) {
295 var message = "Warning: " + text;
296 if (typeof console !== "undefined") console.error(message);
297 try {
298 throw new Error(message);
299 } catch (x) {}
300 };
301 /**
302 * Assert that the values match with the type specs.
303 * Error messages are memorized and will only be shown once.
304 *
305 * @param {object} typeSpecs Map of name to a ReactPropType
306 * @param {object} values Runtime values that need to be type-checked
307 * @param {string} location e.g. "prop", "context", "child context"
308 * @param {string} componentName Name of the component for error messages.
309 * @param {?Function} getStack Returns the component stack.
310 * @private
311 */
312 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
313 for (var typeSpecName in typeSpecs) if (has(typeSpecs, typeSpecName)) {
314 var error;
315 try {
316 if (typeof typeSpecs[typeSpecName] !== "function") {
317 var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
318 err.name = "Invariant Violation";
319 throw err;
320 }
321 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
322 } catch (ex) {
323 error = ex;
324 }
325 if (error && !(error instanceof Error)) printWarning((componentName || "React class") + ": type specification of " + location + " `" + typeSpecName + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof error + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");
326 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
327 loggedTypeFailures[error.message] = true;
328 var stack = getStack ? getStack() : "";
329 printWarning("Failed " + location + " type: " + error.message + (stack != null ? stack : ""));
330 }
331 }
332 }
333 /**
334 * Resets warning cache when testing.
335 *
336 * @private
337 */
338 checkPropTypes.resetWarningCache = function() {
339 loggedTypeFailures = {};
340 };
341 module.exports = checkPropTypes;
342 }));
343
344 //#endregion
345 //#region node_modules/prop-types/factoryWithTypeCheckers.js
346 /**
347 * Copyright (c) 2013-present, Facebook, Inc.
348 *
349 * This source code is licensed under the MIT license found in the
350 * LICENSE file in the root directory of this source tree.
351 */
352 var require_factoryWithTypeCheckers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
353 var ReactIs = require_react_is();
354 var assign = require_object_assign();
355 var ReactPropTypesSecret = require_ReactPropTypesSecret();
356 var has = require_has();
357 var checkPropTypes = require_checkPropTypes();
358 var printWarning = function() {};
359 printWarning = function(text) {
360 var message = "Warning: " + text;
361 if (typeof console !== "undefined") console.error(message);
362 try {
363 throw new Error(message);
364 } catch (x) {}
365 };
366 function emptyFunctionThatReturnsNull() {
367 return null;
368 }
369 module.exports = function(isValidElement, throwOnDirectAccess) {
370 var ITERATOR_SYMBOL = typeof Symbol === "function" && Symbol.iterator;
371 var FAUX_ITERATOR_SYMBOL = "@@iterator";
372 /**
373 * Returns the iterator method function contained on the iterable object.
374 *
375 * Be sure to invoke the function with the iterable as context:
376 *
377 * var iteratorFn = getIteratorFn(myIterable);
378 * if (iteratorFn) {
379 * var iterator = iteratorFn.call(myIterable);
380 * ...
381 * }
382 *
383 * @param {?object} maybeIterable
384 * @return {?function}
385 */
386 function getIteratorFn(maybeIterable) {
387 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
388 if (typeof iteratorFn === "function") return iteratorFn;
389 }
390 /**
391 * Collection of methods that allow declaration and validation of props that are
392 * supplied to React components. Example usage:
393 *
394 * var Props = require('ReactPropTypes');
395 * var MyArticle = React.createClass({
396 * propTypes: {
397 * // An optional string prop named "description".
398 * description: Props.string,
399 *
400 * // A required enum prop named "category".
401 * category: Props.oneOf(['News','Photos']).isRequired,
402 *
403 * // A prop named "dialog" that requires an instance of Dialog.
404 * dialog: Props.instanceOf(Dialog).isRequired
405 * },
406 * render: function() { ... }
407 * });
408 *
409 * A more formal specification of how these methods are used:
410 *
411 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
412 * decl := ReactPropTypes.{type}(.isRequired)?
413 *
414 * Each and every declaration produces a function with the same signature. This
415 * allows the creation of custom validation functions. For example:
416 *
417 * var MyLink = React.createClass({
418 * propTypes: {
419 * // An optional string or URI prop named "href".
420 * href: function(props, propName, componentName) {
421 * var propValue = props[propName];
422 * if (propValue != null && typeof propValue !== 'string' &&
423 * !(propValue instanceof URI)) {
424 * return new Error(
425 * 'Expected a string or an URI for ' + propName + ' in ' +
426 * componentName
427 * );
428 * }
429 * }
430 * },
431 * render: function() {...}
432 * });
433 *
434 * @internal
435 */
436 var ANONYMOUS = "<<anonymous>>";
437 var ReactPropTypes = {
438 array: createPrimitiveTypeChecker("array"),
439 bigint: createPrimitiveTypeChecker("bigint"),
440 bool: createPrimitiveTypeChecker("boolean"),
441 func: createPrimitiveTypeChecker("function"),
442 number: createPrimitiveTypeChecker("number"),
443 object: createPrimitiveTypeChecker("object"),
444 string: createPrimitiveTypeChecker("string"),
445 symbol: createPrimitiveTypeChecker("symbol"),
446 any: createAnyTypeChecker(),
447 arrayOf: createArrayOfTypeChecker,
448 element: createElementTypeChecker(),
449 elementType: createElementTypeTypeChecker(),
450 instanceOf: createInstanceTypeChecker,
451 node: createNodeChecker(),
452 objectOf: createObjectOfTypeChecker,
453 oneOf: createEnumTypeChecker,
454 oneOfType: createUnionTypeChecker,
455 shape: createShapeTypeChecker,
456 exact: createStrictShapeTypeChecker
457 };
458 /**
459 * inlined Object.is polyfill to avoid requiring consumers ship their own
460 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
461 */
462 function is(x, y) {
463 if (x === y) return x !== 0 || 1 / x === 1 / y;
464 else return x !== x && y !== y;
465 }
466 /**
467 * We use an Error-like object for backward compatibility as people may call
468 * PropTypes directly and inspect their output. However, we don't use real
469 * Errors anymore. We don't inspect their stack anyway, and creating them
470 * is prohibitively expensive if they are created too often, such as what
471 * happens in oneOfType() for any type before the one that matched.
472 */
473 function PropTypeError(message, data) {
474 this.message = message;
475 this.data = data && typeof data === "object" ? data : {};
476 this.stack = "";
477 }
478 PropTypeError.prototype = Error.prototype;
479 function createChainableTypeChecker(validate) {
480 var manualPropTypeCallCache = {};
481 var manualPropTypeWarningCount = 0;
482 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
483 componentName = componentName || ANONYMOUS;
484 propFullName = propFullName || propName;
485 if (secret !== ReactPropTypesSecret) {
486 if (throwOnDirectAccess) {
487 var err = /* @__PURE__ */ new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");
488 err.name = "Invariant Violation";
489 throw err;
490 } else if (typeof console !== "undefined") {
491 var cacheKey = componentName + ":" + propName;
492 if (!manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3) {
493 printWarning("You are manually calling a React.PropTypes validation function for the `" + propFullName + "` prop on `" + componentName + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.");
494 manualPropTypeCallCache[cacheKey] = true;
495 manualPropTypeWarningCount++;
496 }
497 }
498 }
499 if (props[propName] == null) {
500 if (isRequired) {
501 if (props[propName] === null) return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required " + ("in `" + componentName + "`, but its value is `null`."));
502 return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required in " + ("`" + componentName + "`, but its value is `undefined`."));
503 }
504 return null;
505 } else return validate(props, propName, componentName, location, propFullName);
506 }
507 var chainedCheckType = checkType.bind(null, false);
508 chainedCheckType.isRequired = checkType.bind(null, true);
509 return chainedCheckType;
510 }
511 function createPrimitiveTypeChecker(expectedType) {
512 function validate(props, propName, componentName, location, propFullName, secret) {
513 var propValue = props[propName];
514 if (getPropType(propValue) !== expectedType) {
515 var preciseType = getPreciseType(propValue);
516 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + preciseType + "` supplied to `" + componentName + "`, expected ") + ("`" + expectedType + "`."), { expectedType });
517 }
518 return null;
519 }
520 return createChainableTypeChecker(validate);
521 }
522 function createAnyTypeChecker() {
523 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
524 }
525 function createArrayOfTypeChecker(typeChecker) {
526 function validate(props, propName, componentName, location, propFullName) {
527 if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside arrayOf.");
528 var propValue = props[propName];
529 if (!Array.isArray(propValue)) {
530 var propType = getPropType(propValue);
531 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an array."));
532 }
533 for (var i = 0; i < propValue.length; i++) {
534 var error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret);
535 if (error instanceof Error) return error;
536 }
537 return null;
538 }
539 return createChainableTypeChecker(validate);
540 }
541 function createElementTypeChecker() {
542 function validate(props, propName, componentName, location, propFullName) {
543 var propValue = props[propName];
544 if (!isValidElement(propValue)) {
545 var propType = getPropType(propValue);
546 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement."));
547 }
548 return null;
549 }
550 return createChainableTypeChecker(validate);
551 }
552 function createElementTypeTypeChecker() {
553 function validate(props, propName, componentName, location, propFullName) {
554 var propValue = props[propName];
555 if (!ReactIs.isValidElementType(propValue)) {
556 var propType = getPropType(propValue);
557 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement type."));
558 }
559 return null;
560 }
561 return createChainableTypeChecker(validate);
562 }
563 function createInstanceTypeChecker(expectedClass) {
564 function validate(props, propName, componentName, location, propFullName) {
565 if (!(props[propName] instanceof expectedClass)) {
566 var expectedClassName = expectedClass.name || ANONYMOUS;
567 var actualClassName = getClassName(props[propName]);
568 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + actualClassName + "` supplied to `" + componentName + "`, expected ") + ("instance of `" + expectedClassName + "`."));
569 }
570 return null;
571 }
572 return createChainableTypeChecker(validate);
573 }
574 function createEnumTypeChecker(expectedValues) {
575 if (!Array.isArray(expectedValues)) {
576 if (arguments.length > 1) printWarning("Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");
577 else printWarning("Invalid argument supplied to oneOf, expected an array.");
578 return emptyFunctionThatReturnsNull;
579 }
580 function validate(props, propName, componentName, location, propFullName) {
581 var propValue = props[propName];
582 for (var i = 0; i < expectedValues.length; i++) if (is(propValue, expectedValues[i])) return null;
583 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
584 if (getPreciseType(value) === "symbol") return String(value);
585 return value;
586 });
587 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of value `" + String(propValue) + "` " + ("supplied to `" + componentName + "`, expected one of " + valuesString + "."));
588 }
589 return createChainableTypeChecker(validate);
590 }
591 function createObjectOfTypeChecker(typeChecker) {
592 function validate(props, propName, componentName, location, propFullName) {
593 if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside objectOf.");
594 var propValue = props[propName];
595 var propType = getPropType(propValue);
596 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
597 for (var key in propValue) if (has(propValue, key)) {
598 var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
599 if (error instanceof Error) return error;
600 }
601 return null;
602 }
603 return createChainableTypeChecker(validate);
604 }
605 function createUnionTypeChecker(arrayOfTypeCheckers) {
606 if (!Array.isArray(arrayOfTypeCheckers)) {
607 printWarning("Invalid argument supplied to oneOfType, expected an instance of array.");
608 return emptyFunctionThatReturnsNull;
609 }
610 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
611 var checker = arrayOfTypeCheckers[i];
612 if (typeof checker !== "function") {
613 printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + getPostfixForTypeWarning(checker) + " at index " + i + ".");
614 return emptyFunctionThatReturnsNull;
615 }
616 }
617 function validate(props, propName, componentName, location, propFullName) {
618 var expectedTypes = [];
619 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
620 var checker = arrayOfTypeCheckers[i];
621 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
622 if (checkerResult == null) return null;
623 if (checkerResult.data && has(checkerResult.data, "expectedType")) expectedTypes.push(checkerResult.data.expectedType);
624 }
625 var expectedTypesMessage = expectedTypes.length > 0 ? ", expected one of type [" + expectedTypes.join(", ") + "]" : "";
626 return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`" + expectedTypesMessage + "."));
627 }
628 return createChainableTypeChecker(validate);
629 }
630 function createNodeChecker() {
631 function validate(props, propName, componentName, location, propFullName) {
632 if (!isNode(props[propName])) return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`, expected a ReactNode."));
633 return null;
634 }
635 return createChainableTypeChecker(validate);
636 }
637 function invalidValidatorError(componentName, location, propFullName, key, type) {
638 return new PropTypeError((componentName || "React class") + ": " + location + " type `" + propFullName + "." + key + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + type + "`.");
639 }
640 function createShapeTypeChecker(shapeTypes) {
641 function validate(props, propName, componentName, location, propFullName) {
642 var propValue = props[propName];
643 var propType = getPropType(propValue);
644 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
645 for (var key in shapeTypes) {
646 var checker = shapeTypes[key];
647 if (typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
648 var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
649 if (error) return error;
650 }
651 return null;
652 }
653 return createChainableTypeChecker(validate);
654 }
655 function createStrictShapeTypeChecker(shapeTypes) {
656 function validate(props, propName, componentName, location, propFullName) {
657 var propValue = props[propName];
658 var propType = getPropType(propValue);
659 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
660 for (var key in assign({}, props[propName], shapeTypes)) {
661 var checker = shapeTypes[key];
662 if (has(shapeTypes, key) && typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
663 if (!checker) return new PropTypeError("Invalid " + location + " `" + propFullName + "` key `" + key + "` supplied to `" + componentName + "`.\nBad object: " + JSON.stringify(props[propName], null, " ") + "\nValid keys: " + JSON.stringify(Object.keys(shapeTypes), null, " "));
664 var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
665 if (error) return error;
666 }
667 return null;
668 }
669 return createChainableTypeChecker(validate);
670 }
671 function isNode(propValue) {
672 switch (typeof propValue) {
673 case "number":
674 case "string":
675 case "undefined": return true;
676 case "boolean": return !propValue;
677 case "object":
678 if (Array.isArray(propValue)) return propValue.every(isNode);
679 if (propValue === null || isValidElement(propValue)) return true;
680 var iteratorFn = getIteratorFn(propValue);
681 if (iteratorFn) {
682 var iterator = iteratorFn.call(propValue);
683 var step;
684 if (iteratorFn !== propValue.entries) {
685 while (!(step = iterator.next()).done) if (!isNode(step.value)) return false;
686 } else while (!(step = iterator.next()).done) {
687 var entry = step.value;
688 if (entry) {
689 if (!isNode(entry[1])) return false;
690 }
691 }
692 } else return false;
693 return true;
694 default: return false;
695 }
696 }
697 function isSymbol(propType, propValue) {
698 if (propType === "symbol") return true;
699 if (!propValue) return false;
700 if (propValue["@@toStringTag"] === "Symbol") return true;
701 if (typeof Symbol === "function" && propValue instanceof Symbol) return true;
702 return false;
703 }
704 function getPropType(propValue) {
705 var propType = typeof propValue;
706 if (Array.isArray(propValue)) return "array";
707 if (propValue instanceof RegExp) return "object";
708 if (isSymbol(propType, propValue)) return "symbol";
709 return propType;
710 }
711 function getPreciseType(propValue) {
712 if (typeof propValue === "undefined" || propValue === null) return "" + propValue;
713 var propType = getPropType(propValue);
714 if (propType === "object") {
715 if (propValue instanceof Date) return "date";
716 else if (propValue instanceof RegExp) return "regexp";
717 }
718 return propType;
719 }
720 function getPostfixForTypeWarning(value) {
721 var type = getPreciseType(value);
722 switch (type) {
723 case "array":
724 case "object": return "an " + type;
725 case "boolean":
726 case "date":
727 case "regexp": return "a " + type;
728 default: return type;
729 }
730 }
731 function getClassName(propValue) {
732 if (!propValue.constructor || !propValue.constructor.name) return ANONYMOUS;
733 return propValue.constructor.name;
734 }
735 ReactPropTypes.checkPropTypes = checkPropTypes;
736 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
737 ReactPropTypes.PropTypes = ReactPropTypes;
738 return ReactPropTypes;
739 };
740 }));
741
742 //#endregion
743 //#region node_modules/prop-types/index.js
744 var require_prop_types = /* @__PURE__ */ __commonJSMin(((exports, module) => {
745 var ReactIs = require_react_is();
746 var throwOnDirectAccess = true;
747 module.exports = require_factoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
748 }));
749
750 //#endregion
751 //#region node_modules/react-dom/client.js
752 var require_client = /* @__PURE__ */ __commonJSMin(((exports) => {
753 var m = (globalThis.ReactDOM);
754 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
755 exports.createRoot = function(c, o) {
756 i.usingClientEntryPoint = true;
757 try {
758 return m.createRoot(c, o);
759 } finally {
760 i.usingClientEntryPoint = false;
761 }
762 };
763 }));
764
765 //#endregion
766 //#region assets/dev/js/utils/react.js
767 var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types());
768 var import_client = require_client();
769 /**
770 * Support conditional rendering of a React App to the DOM, based on the React version.
771 * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
772 *
773 * @param {Promise.resolve(React).ReactElement} app The app to render.
774 * @param {HTMLElement} domElement The DOM element to render the app into.
775 *
776 * @return {{ unmount: () => void }} The unmount function.
777 */
778 function render(app, domElement) {
779 var unmountFunction;
780 try {
781 var root = (0, import_client.createRoot)(domElement);
782 root.render(app);
783 unmountFunction = function unmountFunction() {
784 root.unmount();
785 };
786 } catch (e) {
787 react_dom.render(app, domElement);
788 unmountFunction = function unmountFunction() {
789 react_dom.unmountComponentAtNode(domElement);
790 };
791 }
792 return { unmount: unmountFunction };
793 }
794 var react_default = { render };
795
796 //#endregion
797 //#region modules/home/assets/js/components/header-section.js
798 var HeaderSection = function HeaderSection(props) {
799 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
800 elevation: 0,
801 sx: {
802 display: "flex",
803 flexDirection: "row",
804 justifyContent: "space-between",
805 alignItems: "center",
806 pt: 2.5
807 }
808 }, /*#__PURE__*/ react.default.createElement(_elementor_ui_Typography.default, { variant: "h5" }, (0, _wordpress_i18n.__)("Quick Start", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui_Button.default, {
809 variant: "contained",
810 size: "medium",
811 color: "primary",
812 href: props.editWebsiteUrl,
813 target: "_blank",
814 rel: "noopener noreferrer"
815 }, (0, _wordpress_i18n.__)("Edit site", "elementor")));
816 };
817 HeaderSection.propTypes = { editWebsiteUrl: import_prop_types.default.string.isRequired };
818
819 //#endregion
820 //#region node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js
821 function _objectDestructuringEmpty(t) {
822 if (null == t) throw new TypeError("Cannot destructure " + t);
823 }
824
825 //#endregion
826 //#region node_modules/@babel/runtime/helpers/esm/extends.js
827 function _extends() {
828 return _extends = Object.assign ? Object.assign.bind() : function(n) {
829 for (var e = 1; e < arguments.length; e++) {
830 var t = arguments[e];
831 for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
832 }
833 return n;
834 }, _extends.apply(null, arguments);
835 }
836
837 //#endregion
838 //#region modules/home/assets/js/icons/youtube-icon.js
839 var YoutubeIcon = function YoutubeIcon(props) {
840 return /*#__PURE__*/ react.createElement(_elementor_ui.SvgIcon, _extends({ viewBox: "0 0 24 24" }, props), /*#__PURE__*/ react.createElement("path", {
841 fillRule: "evenodd",
842 clipRule: "evenodd",
843 d: "M7 5.75C5.20507 5.75 3.75 7.20507 3.75 9V15C3.75 16.7949 5.20507 18.25 7 18.25H17C18.7949 18.25 20.25 16.7949 20.25 15V9C20.25 7.20507 18.7949 5.75 17 5.75H7ZM2.25 9C2.25 6.37665 4.37665 4.25 7 4.25H17C19.6234 4.25 21.75 6.37665 21.75 9V15C21.75 17.6234 19.6234 19.75 17 19.75H7C4.37665 19.75 2.25 17.6234 2.25 15V9ZM9.63048 8.34735C9.86561 8.21422 10.1542 8.21786 10.3859 8.35688L15.3859 11.3569C15.6118 11.4924 15.75 11.7366 15.75 12C15.75 12.2634 15.6118 12.5076 15.3859 12.6431L10.3859 15.6431C10.1542 15.7821 9.86561 15.7858 9.63048 15.6526C9.39534 15.5195 9.25 15.2702 9.25 15V9C9.25 8.7298 9.39534 8.48048 9.63048 8.34735ZM10.75 10.3246V13.6754L13.5423 12L10.75 10.3246Z"
844 }));
845 };
846
847 //#endregion
848 //#region node_modules/@babel/runtime/helpers/esm/classCallCheck.js
849 function _classCallCheck(a, n) {
850 if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
851 }
852
853 //#endregion
854 //#region node_modules/@babel/runtime/helpers/esm/typeof.js
855 function _typeof(o) {
856 "@babel/helpers - typeof";
857 return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
858 return typeof o;
859 } : function(o) {
860 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
861 }, _typeof(o);
862 }
863
864 //#endregion
865 //#region node_modules/@babel/runtime/helpers/esm/toPrimitive.js
866 function toPrimitive(t, r) {
867 if ("object" != _typeof(t) || !t) return t;
868 var e = t[Symbol.toPrimitive];
869 if (void 0 !== e) {
870 var i = e.call(t, r || "default");
871 if ("object" != _typeof(i)) return i;
872 throw new TypeError("@@toPrimitive must return a primitive value.");
873 }
874 return ("string" === r ? String : Number)(t);
875 }
876
877 //#endregion
878 //#region node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
879 function toPropertyKey(t) {
880 var i = toPrimitive(t, "string");
881 return "symbol" == _typeof(i) ? i : i + "";
882 }
883
884 //#endregion
885 //#region node_modules/@babel/runtime/helpers/esm/createClass.js
886 function _defineProperties(e, r) {
887 for (var t = 0; t < r.length; t++) {
888 var o = r[t];
889 o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
890 }
891 }
892 function _createClass(e, r, t) {
893 return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
894 }
895
896 //#endregion
897 //#region node_modules/@babel/runtime/helpers/esm/defineProperty.js
898 function _defineProperty(e, r, t) {
899 return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
900 value: t,
901 enumerable: !0,
902 configurable: !0,
903 writable: !0
904 }) : e[r] = t, e;
905 }
906
907 //#endregion
908 //#region node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
909 function _assertThisInitialized(e) {
910 if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
911 return e;
912 }
913
914 //#endregion
915 //#region node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
916 function _possibleConstructorReturn(t, e) {
917 if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
918 if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
919 return _assertThisInitialized(t);
920 }
921
922 //#endregion
923 //#region node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
924 function _getPrototypeOf(t) {
925 return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
926 return t.__proto__ || Object.getPrototypeOf(t);
927 }, _getPrototypeOf(t);
928 }
929
930 //#endregion
931 //#region node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
932 function _setPrototypeOf(t, e) {
933 return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
934 return t.__proto__ = e, t;
935 }, _setPrototypeOf(t, e);
936 }
937
938 //#endregion
939 //#region node_modules/@babel/runtime/helpers/esm/inherits.js
940 function _inherits(t, e) {
941 if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
942 t.prototype = Object.create(e && e.prototype, { constructor: {
943 value: t,
944 writable: !0,
945 configurable: !0
946 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e);
947 }
948
949 //#endregion
950 //#region app/assets/js/event-track/dashboard/base-tracking.js
951 var BaseTracking = /*#__PURE__*/ function() {
952 function BaseTracking() {
953 _classCallCheck(this, BaseTracking);
954 }
955 return _createClass(BaseTracking, null, [
956 {
957 key: "ensureOwnArrays",
958 value: function ensureOwnArrays() {
959 if (!Object.prototype.hasOwnProperty.call(this, "observers")) this.observers = [];
960 if (!Object.prototype.hasOwnProperty.call(this, "eventListeners")) this.eventListeners = [];
961 }
962 },
963 {
964 key: "destroy",
965 value: function destroy() {
966 this.ensureOwnArrays();
967 this.observers.forEach(function(observer) {
968 return observer.disconnect();
969 });
970 this.observers = [];
971 this.eventListeners.forEach(function(_ref) {
972 var target = _ref.target;
973 var type = _ref.type;
974 var handler = _ref.handler;
975 var options = _ref.options;
976 target.removeEventListener(type, handler, options);
977 });
978 this.eventListeners = [];
979 }
980 },
981 {
982 key: "addObserver",
983 value: function addObserver(target, options, callback) {
984 this.ensureOwnArrays();
985 var observer = new MutationObserver(callback);
986 observer.observe(target, options);
987 this.observers.push(observer);
988 return observer;
989 }
990 },
991 {
992 key: "addEventListenerTracked",
993 value: function addEventListenerTracked(target, type, handler) {
994 var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
995 this.ensureOwnArrays();
996 target.addEventListener(type, handler, options);
997 this.eventListeners.push({
998 target,
999 type,
1000 handler,
1001 options
1002 });
1003 }
1004 }
1005 ]);
1006 }();
1007
1008 //#endregion
1009 //#region app/assets/js/event-track/dashboard/navigation.js
1010 function _callSuper$5(t, o, e) {
1011 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$5() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
1012 }
1013 __name(_callSuper$5, "_callSuper");
1014 function _isNativeReflectConstruct$5() {
1015 try {
1016 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
1017 } catch (t) {}
1018 return (_isNativeReflectConstruct$5 = function _isNativeReflectConstruct() {
1019 return !!t;
1020 })();
1021 }
1022 __name(_isNativeReflectConstruct$5, "_isNativeReflectConstruct");
1023 var ELEMENTOR_MENU_SELECTORS = {
1024 ELEMENTOR_TOP_LEVEL: "li#toplevel_page_elementor",
1025 TEMPLATES_TOP_LEVEL: "li#menu-posts-elementor_library",
1026 ELEMENTOR_HOME_TOP_LEVEL: "li#toplevel_page_elementor-home",
1027 ADMIN_MENU: "#adminmenu",
1028 TOP_LEVEL_LINK: ".wp-menu-name",
1029 SUBMENU_CONTAINER: ".wp-submenu",
1030 SUBMENU_ITEM: ".wp-submenu li a",
1031 SUBMENU_ITEM_TOP_LEVEL: ".wp-has-submenu",
1032 SIDEBAR_NAVIGATION: "#editor-one-sidebar-navigation"
1033 };
1034 var NavigationTracking = /*#__PURE__*/ function(_BaseTracking) {
1035 function NavigationTracking() {
1036 _classCallCheck(this, NavigationTracking);
1037 return _callSuper$5(this, NavigationTracking, arguments);
1038 }
1039 _inherits(NavigationTracking, _BaseTracking);
1040 return _createClass(NavigationTracking, null, [
1041 {
1042 key: "init",
1043 value: function init() {
1044 if (WpDashboardTracking.isEditorOneActive()) {
1045 this.attachSidebarNavigationTracking();
1046 this.attachElementorHomeMenuTracking();
1047 } else {
1048 this.attachElementorMenuTracking();
1049 this.attachTemplatesMenuTracking();
1050 }
1051 }
1052 },
1053 {
1054 key: "attachTemplatesMenuTracking",
1055 value: function attachTemplatesMenuTracking() {
1056 var templatesMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.TEMPLATES_TOP_LEVEL);
1057 if (!templatesMenu) return;
1058 this.attachMenuTracking(templatesMenu, "Templates");
1059 }
1060 },
1061 {
1062 key: "attachElementorHomeMenuTracking",
1063 value: function attachElementorHomeMenuTracking() {
1064 var elementorHomeMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.ELEMENTOR_HOME_TOP_LEVEL);
1065 if (!elementorHomeMenu) return;
1066 this.attachMenuTracking(elementorHomeMenu, "Elementor");
1067 }
1068 },
1069 {
1070 key: "attachElementorMenuTracking",
1071 value: function attachElementorMenuTracking() {
1072 var elementorMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.ELEMENTOR_TOP_LEVEL);
1073 if (!elementorMenu) return;
1074 this.attachMenuTracking(elementorMenu, "Elementor");
1075 }
1076 },
1077 {
1078 key: "attachSidebarNavigationTracking",
1079 value: function attachSidebarNavigationTracking() {
1080 var sidebar = document.querySelector(ELEMENTOR_MENU_SELECTORS.SIDEBAR_NAVIGATION);
1081 if (sidebar) this.attachSidebarClickListener(sidebar);
1082 }
1083 },
1084 {
1085 key: "attachSidebarClickListener",
1086 value: function attachSidebarClickListener(sidebar) {
1087 var _this = this;
1088 this.addEventListenerTracked(sidebar, "click", function(event) {
1089 _this.handleSidebarClick(event);
1090 }, { capture: true });
1091 }
1092 },
1093 {
1094 key: "attachMenuTracking",
1095 value: function attachMenuTracking(menuElement, menuName) {
1096 var _this2 = this;
1097 this.addEventListenerTracked(menuElement, "click", function(event) {
1098 _this2.handleMenuClick(event, menuName);
1099 });
1100 }
1101 },
1102 {
1103 key: "handleMenuClick",
1104 value: function handleMenuClick(event, menuName) {
1105 var link = event.target.closest("a");
1106 if (!link) return;
1107 var isTopLevel = link.classList.contains("menu-top");
1108 var itemId = this.extractItemId(link);
1109 var area = this.determineNavArea(link);
1110 WpDashboardTracking.trackNavClicked(itemId, isTopLevel ? null : menuName, area);
1111 }
1112 },
1113 {
1114 key: "handleSidebarClick",
1115 value: function handleSidebarClick(event) {
1116 var clickedElement = event.target.closest("a, button, [role=\"button\"]");
1117 if (!clickedElement) return;
1118 var itemId = this.extractSidebarItemId(clickedElement);
1119 WpDashboardTracking.trackNavClicked(itemId, null, NAV_AREAS.SIDEBAR_MENU);
1120 }
1121 },
1122 {
1123 key: "extractSidebarItemId",
1124 value: function extractSidebarItemId(element) {
1125 var paragraph = element.querySelector("p");
1126 if (paragraph) return paragraph.textContent.trim();
1127 var textContent = element.textContent.trim();
1128 if (textContent) return textContent;
1129 return "unknown";
1130 }
1131 },
1132 {
1133 key: "extractPageFromUrl",
1134 value: function extractPageFromUrl(href) {
1135 var urlParams = new URLSearchParams(href.split("?")[1] || "");
1136 var page = urlParams.get("page");
1137 if (page) return page;
1138 var postType = urlParams.get("post_type");
1139 if (postType) return postType;
1140 return "unknown";
1141 }
1142 },
1143 {
1144 key: "extractItemId",
1145 value: function extractItemId(link) {
1146 var textContent = link.textContent.trim();
1147 if (textContent) return textContent;
1148 var href = link.getAttribute("href");
1149 if (href) return this.extractPageFromUrl(href);
1150 var linkId = link.getAttribute("id");
1151 if (linkId) return linkId;
1152 return "unknown";
1153 }
1154 },
1155 {
1156 key: "determineNavArea",
1157 value: function determineNavArea(link) {
1158 if (link.closest("li.menu-top")) {
1159 if (link.closest(ELEMENTOR_MENU_SELECTORS.SUBMENU_CONTAINER)) {
1160 if (link.closest(ELEMENTOR_MENU_SELECTORS.SUBMENU_ITEM_TOP_LEVEL).classList.contains("wp-not-current-submenu")) return NAV_AREAS.HOVER_MENU;
1161 return NAV_AREAS.SUBMENU;
1162 }
1163 return NAV_AREAS.LEFT_MENU;
1164 }
1165 return NAV_AREAS.LEFT_MENU;
1166 }
1167 }
1168 ]);
1169 }(BaseTracking);
1170
1171 //#endregion
1172 //#region app/assets/js/event-track/dashboard/plugin-actions.js
1173 function _callSuper$4(t, o, e) {
1174 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$4() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
1175 }
1176 __name(_callSuper$4, "_callSuper");
1177 function _isNativeReflectConstruct$4() {
1178 try {
1179 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
1180 } catch (t) {}
1181 return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() {
1182 return !!t;
1183 })();
1184 }
1185 __name(_isNativeReflectConstruct$4, "_isNativeReflectConstruct");
1186 var PLUGIN_TYPE = {
1187 ELEMENTOR: "core",
1188 ELEMENTOR_PRO: "pro"
1189 };
1190 var PluginActions = /*#__PURE__*/ function(_BaseTracking) {
1191 function PluginActions() {
1192 _classCallCheck(this, PluginActions);
1193 return _callSuper$4(this, PluginActions, arguments);
1194 }
1195 _inherits(PluginActions, _BaseTracking);
1196 return _createClass(PluginActions, null, [
1197 {
1198 key: "init",
1199 value: function init() {
1200 this.attachCoreDeactivationTracking();
1201 this.attachProDeactivationTracking();
1202 this.attachProDeletionTracking();
1203 }
1204 },
1205 {
1206 key: "attachCoreDeactivationTracking",
1207 value: function attachCoreDeactivationTracking() {
1208 var _this = this;
1209 var dialogForm = document.querySelector("#elementor-deactivate-feedback-dialog-form");
1210 if (!dialogForm) return;
1211 this.addEventListenerTracked(dialogForm, "change", function(event) {
1212 var target = event.target;
1213 if (target.classList.contains("elementor-deactivate-feedback-dialog-input")) _this.selectedReason = target.value;
1214 });
1215 this.observeModalButtons();
1216 }
1217 },
1218 {
1219 key: "attachProDeactivationTracking",
1220 value: function attachProDeactivationTracking() {
1221 var _this2 = this;
1222 var pluginsTable = document.querySelector(".plugins");
1223 if (!pluginsTable) return;
1224 this.addEventListenerTracked(pluginsTable, "click", function(event) {
1225 var link = event.target.closest("a");
1226 if (link && "deactivate-elementor-pro" === link.id) _this2.trackProDeactivation();
1227 }, { capture: true });
1228 }
1229 },
1230 {
1231 key: "observeModalButtons",
1232 value: function observeModalButtons() {
1233 var _this3 = this;
1234 var checkAndAttachDelegation = function checkAndAttachDelegation() {
1235 var modal = document.querySelector("#elementor-deactivate-feedback-modal");
1236 if (!modal) return false;
1237 _this3.addEventListenerTracked(modal, "click", function(event) {
1238 var submitButton = event.target.closest(".dialog-submit");
1239 var skipButton = event.target.closest(".dialog-skip");
1240 if (submitButton) _this3.trackCoreDeactivation("submit&deactivate");
1241 else if (skipButton) _this3.trackCoreDeactivation("skip&deactivate");
1242 }, { capture: true });
1243 return true;
1244 };
1245 if (checkAndAttachDelegation()) return;
1246 this.addObserver(document.body, {
1247 childList: true,
1248 subtree: true
1249 }, function(mutations, observer) {
1250 if (checkAndAttachDelegation()) observer.disconnect();
1251 });
1252 }
1253 },
1254 {
1255 key: "getUserInput",
1256 value: function getUserInput() {
1257 if (!this.selectedReason || !["found_a_better_plugin", "other"].includes(this.selectedReason)) return null;
1258 var inputField = document.querySelector("input[name=\"reason_".concat(this.selectedReason, "\"]"));
1259 if (inputField && inputField.value) return inputField.value;
1260 return null;
1261 }
1262 },
1263 {
1264 key: "trackCoreDeactivation",
1265 value: function trackCoreDeactivation(action) {
1266 var properties = {
1267 deactivate_form_submit: action,
1268 deactivate_plugin_type: PLUGIN_TYPE.ELEMENTOR
1269 };
1270 if (this.selectedReason) properties.deactivate_feedback_reason = this.selectedReason;
1271 var userInput = this.getUserInput();
1272 if (userInput) properties.deactivate_feedback_reason += "/".concat(userInput);
1273 WpDashboardTracking.dispatchEvent("wpdash_deactivate_plugin", properties, { send_immediately: true });
1274 }
1275 },
1276 {
1277 key: "trackProDeactivation",
1278 value: function trackProDeactivation() {
1279 this.trackProAction("deactivate");
1280 }
1281 },
1282 {
1283 key: "attachProDeletionTracking",
1284 value: function attachProDeletionTracking() {
1285 var _this4 = this;
1286 if ("undefined" === typeof jQuery) return;
1287 jQuery(document).on("wp-plugin-deleting", function(event, args) {
1288 if ("elementor-pro" === (args === null || args === void 0 ? void 0 : args.slug)) _this4.trackProAction("delete");
1289 });
1290 }
1291 },
1292 {
1293 key: "destroy",
1294 value: function destroy() {
1295 if ("undefined" !== typeof jQuery) jQuery(document).off("wp-plugin-deleting");
1296 BaseTracking.destroy.call(this);
1297 }
1298 },
1299 {
1300 key: "trackProAction",
1301 value: function trackProAction(action) {
1302 var config = {
1303 deactivate: {
1304 eventName: "wpdash_deactivate_plugin",
1305 propertyKey: "deactivate_plugin_type"
1306 },
1307 delete: {
1308 eventName: "wpdash_delete_plugin",
1309 propertyKey: "plugin_delete"
1310 }
1311 }[action];
1312 if (!config) return;
1313 var properties = _defineProperty({}, config.propertyKey, PLUGIN_TYPE.ELEMENTOR_PRO);
1314 WpDashboardTracking.dispatchEvent(config.eventName, properties, { send_immediately: true });
1315 }
1316 }
1317 ]);
1318 }(BaseTracking);
1319 _defineProperty(PluginActions, "selectedReason", null);
1320
1321 //#endregion
1322 //#region app/assets/js/event-track/dashboard/promotion.js
1323 function _callSuper$3(t, o, e) {
1324 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$3() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
1325 }
1326 __name(_callSuper$3, "_callSuper");
1327 function _isNativeReflectConstruct$3() {
1328 try {
1329 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
1330 } catch (t) {}
1331 return (_isNativeReflectConstruct$3 = function _isNativeReflectConstruct() {
1332 return !!t;
1333 })();
1334 }
1335 __name(_isNativeReflectConstruct$3, "_isNativeReflectConstruct");
1336 var PROMO_SELECTORS = {
1337 PROMO_PAGE: ".e-feature-promotion, .elementor-settings-form-page, #elementor-element-manager-wrap",
1338 PROMO_BLANK_STATE: ".elementor-blank_state",
1339 CTA_BUTTON: ".go-pro",
1340 TITLE: "h3"
1341 };
1342 var PromotionTracking = /*#__PURE__*/ function(_BaseTracking) {
1343 function PromotionTracking() {
1344 _classCallCheck(this, PromotionTracking);
1345 return _callSuper$3(this, PromotionTracking, arguments);
1346 }
1347 _inherits(PromotionTracking, _BaseTracking);
1348 return _createClass(PromotionTracking, null, [
1349 {
1350 key: "init",
1351 value: function init() {
1352 this.attachDelegatedTracking();
1353 }
1354 },
1355 {
1356 key: "attachDelegatedTracking",
1357 value: function attachDelegatedTracking() {
1358 var _this = this;
1359 this.addEventListenerTracked(document, "click", function(event) {
1360 var target = event.target;
1361 if (!target) return;
1362 var button = target.closest("a".concat(PROMO_SELECTORS.CTA_BUTTON));
1363 if (!button) return;
1364 var promoPage = button.closest("".concat(PROMO_SELECTORS.PROMO_PAGE, ", ").concat(PROMO_SELECTORS.PROMO_BLANK_STATE));
1365 if (!promoPage) return;
1366 _this.handlePromoClick(button, promoPage);
1367 }, { capture: true });
1368 }
1369 },
1370 {
1371 key: "handlePromoClick",
1372 value: function handlePromoClick(button, promoPage) {
1373 var promoTitle = this.extractPromoTitle(promoPage, button);
1374 var destination = button.getAttribute("href");
1375 var path = this.extractPromoPath();
1376 WpDashboardTracking.trackPromoClicked(promoTitle, destination, path);
1377 }
1378 },
1379 {
1380 key: "extractPromoTitle",
1381 value: function extractPromoTitle(promoPage, button) {
1382 var titleElement = promoPage.querySelector(PROMO_SELECTORS.TITLE);
1383 return titleElement ? titleElement.textContent.trim() : button.textContent.trim();
1384 }
1385 },
1386 {
1387 key: "extractPromoPath",
1388 value: function extractPromoPath() {
1389 var page = new URLSearchParams(window.location.search).get("page");
1390 if (!page) return "elementor";
1391 return page.replace("elementor_", "").replace(/_/g, "/");
1392 }
1393 }
1394 ]);
1395 }(BaseTracking);
1396
1397 //#endregion
1398 //#region node_modules/@babel/runtime/helpers/esm/superPropBase.js
1399 function _superPropBase(t, o) {
1400 for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););
1401 return t;
1402 }
1403
1404 //#endregion
1405 //#region node_modules/@babel/runtime/helpers/esm/get.js
1406 function _get() {
1407 return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function(e, t, r) {
1408 var p = _superPropBase(e, t);
1409 if (p) {
1410 var n = Object.getOwnPropertyDescriptor(p, t);
1411 return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;
1412 }
1413 }, _get.apply(null, arguments);
1414 }
1415
1416 //#endregion
1417 //#region app/assets/js/event-track/dashboard/utils.js
1418 var DashboardUtils = { isElementorPage: function isElementorPage() {
1419 var urlParams = new URLSearchParams(window.location.search);
1420 var page = urlParams.get("page");
1421 if (page && WpDashboardTracking.elementorPages.some(function(p) {
1422 return page.includes(p);
1423 })) return true;
1424 var postType = urlParams.get("post_type");
1425 if (WpDashboardTracking.elementorPostTypes.includes(postType)) return true;
1426 return document.body.className.split(" ").some(function(cls) {
1427 return cls.includes("elementor") && (cls.includes("page") || cls.includes("post-type"));
1428 });
1429 } };
1430
1431 //#endregion
1432 //#region app/assets/js/event-track/dashboard/screen-view.js
1433 function _createForOfIteratorHelper$1(r, e) {
1434 var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
1435 if (!t) {
1436 if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e && r && "number" == typeof r.length) {
1437 t && (r = t);
1438 var _n = 0;
1439 var F = function F() {};
1440 return {
1441 s: F,
1442 n: function n() {
1443 return _n >= r.length ? { done: !0 } : {
1444 done: !1,
1445 value: r[_n++]
1446 };
1447 },
1448 e: function e(r) {
1449 throw r;
1450 },
1451 f: F
1452 };
1453 }
1454 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1455 }
1456 var o;
1457 var a = !0;
1458 var u = !1;
1459 return {
1460 s: function s() {
1461 t = t.call(r);
1462 },
1463 n: function n() {
1464 var r = t.next();
1465 return a = r.done, r;
1466 },
1467 e: function e(r) {
1468 u = !0, o = r;
1469 },
1470 f: function f() {
1471 try {
1472 a || null == t.return || t.return();
1473 } finally {
1474 if (u) throw o;
1475 }
1476 }
1477 };
1478 }
1479 __name(_createForOfIteratorHelper$1, "_createForOfIteratorHelper");
1480 function _unsupportedIterableToArray$2(r, a) {
1481 if (r) {
1482 if ("string" == typeof r) return _arrayLikeToArray$2(r, a);
1483 var t = {}.toString.call(r).slice(8, -1);
1484 return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0;
1485 }
1486 }
1487 __name(_unsupportedIterableToArray$2, "_unsupportedIterableToArray");
1488 function _arrayLikeToArray$2(r, a) {
1489 (null == a || a > r.length) && (a = r.length);
1490 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
1491 return n;
1492 }
1493 __name(_arrayLikeToArray$2, "_arrayLikeToArray");
1494 function _callSuper$2(t, o, e) {
1495 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
1496 }
1497 __name(_callSuper$2, "_callSuper");
1498 function _isNativeReflectConstruct$2() {
1499 try {
1500 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
1501 } catch (t) {}
1502 return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() {
1503 return !!t;
1504 })();
1505 }
1506 __name(_isNativeReflectConstruct$2, "_isNativeReflectConstruct");
1507 function _superPropGet(t, o, e, r) {
1508 var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
1509 return 2 & r && "function" == typeof p ? function(t) {
1510 return p.apply(e, t);
1511 } : p;
1512 }
1513 var SCREEN_SELECTORS = {
1514 NAV_TAB_WRAPPER: ".nav-tab-wrapper",
1515 NAV_TAB: ".nav-tab",
1516 NAV_TAB_ACTIVE: ".nav-tab-active",
1517 SETTINGS_FORM_PAGE: ".elementor-settings-form-page",
1518 SETTINGS_FORM_PAGE_ACTIVE: ".elementor-settings-form-page.elementor-active",
1519 FLOATING_ELEMENTS_MODAL: "#elementor-new-floating-elements-modal",
1520 TEMPLATE_DIALOG_MODAL: "#elementor-new-template-dialog-content"
1521 };
1522 var TRACKED_MODALS = [SCREEN_SELECTORS.FLOATING_ELEMENTS_MODAL, SCREEN_SELECTORS.TEMPLATE_DIALOG_MODAL];
1523 var ScreenViewTracking = /*#__PURE__*/ function(_BaseTracking) {
1524 function ScreenViewTracking() {
1525 _classCallCheck(this, ScreenViewTracking);
1526 return _callSuper$2(this, ScreenViewTracking, arguments);
1527 }
1528 _inherits(ScreenViewTracking, _BaseTracking);
1529 return _createClass(ScreenViewTracking, null, [
1530 {
1531 key: "init",
1532 value: function init() {
1533 if (!DashboardUtils.isElementorPage()) return;
1534 var screenData = this.getScreenData();
1535 if (screenData) this.trackScreen(screenData.screenId, screenData.screenType);
1536 this.attachTabChangeTracking();
1537 }
1538 },
1539 {
1540 key: "destroy",
1541 value: function destroy() {
1542 _superPropGet(ScreenViewTracking, "destroy", this, 2)([]);
1543 this.trackedScreens.clear();
1544 }
1545 },
1546 {
1547 key: "getScreenData",
1548 value: function getScreenData() {
1549 var urlParams = new URLSearchParams(window.location.search);
1550 var page = urlParams.get("page");
1551 var postType = urlParams.get("post_type");
1552 var hash = window.location.hash;
1553 var screenId = "";
1554 var screenType = "";
1555 if (page) screenId = page;
1556 else if (postType) screenId = postType;
1557 else screenId = this.getScreenIdFromBody();
1558 if (this.isElementorAppPage()) {
1559 var appScreenData = this.getAppScreenData(hash);
1560 if (appScreenData) return appScreenData;
1561 }
1562 var hasNavTabs = document.querySelector(SCREEN_SELECTORS.NAV_TAB_WRAPPER);
1563 var hasSettingsTabs = document.querySelectorAll(SCREEN_SELECTORS.SETTINGS_FORM_PAGE).length > 1;
1564 if (hasNavTabs || hasSettingsTabs || hash && !this.isElementorAppPage()) {
1565 screenType = SCREEN_TYPES.TAB;
1566 if (hash) {
1567 var tabId = hash.replace(/^#(tab-)?/, "");
1568 screenId = "".concat(screenId, "-").concat(tabId);
1569 } else if (hasNavTabs) {
1570 var activeTab = document.querySelector(SCREEN_SELECTORS.NAV_TAB_ACTIVE);
1571 if (activeTab) {
1572 var tabText = activeTab.textContent.trim();
1573 var tabHref = activeTab.getAttribute("href");
1574 if (tabText) screenId = "".concat(screenId, "-").concat(this.sanitizeScreenId(tabText));
1575 else if (tabHref && tabHref.includes("#")) {
1576 var _tabId = tabHref.split("#")[1];
1577 screenId = "".concat(screenId, "-").concat(_tabId);
1578 }
1579 }
1580 } else if (hasSettingsTabs) {
1581 var activeSettingsTab = document.querySelector(SCREEN_SELECTORS.SETTINGS_FORM_PAGE_ACTIVE);
1582 if (activeSettingsTab) {
1583 var _tabId2 = activeSettingsTab.id;
1584 if (_tabId2) screenId = "".concat(screenId, "-").concat(_tabId2);
1585 }
1586 }
1587 }
1588 return {
1589 screenId,
1590 screenType
1591 };
1592 }
1593 },
1594 {
1595 key: "isElementorAppPage",
1596 value: function isElementorAppPage() {
1597 return "elementor-app" === new URLSearchParams(window.location.search).get("page");
1598 }
1599 },
1600 {
1601 key: "getAppScreenData",
1602 value: function getAppScreenData(hash) {
1603 if (!hash) return null;
1604 var cleanHash = hash.replace(/^#/, "");
1605 if (!cleanHash.startsWith("/")) return null;
1606 var pathParts = cleanHash.split("/").filter(Boolean);
1607 if (0 === pathParts.length) return null;
1608 return {
1609 screenId: pathParts.join("/"),
1610 screenType: SCREEN_TYPES.APP_SCREEN
1611 };
1612 }
1613 },
1614 {
1615 key: "getScreenIdFromBody",
1616 value: function getScreenIdFromBody() {
1617 var _iterator = _createForOfIteratorHelper$1(document.body.className.split(" "));
1618 var _step;
1619 try {
1620 for (_iterator.s(); !(_step = _iterator.n()).done;) {
1621 var cls = _step.value;
1622 if (cls.startsWith("elementor") && (cls.includes("page") || cls.includes("post-type"))) return cls;
1623 }
1624 } catch (err) {
1625 _iterator.e(err);
1626 } finally {
1627 _iterator.f();
1628 }
1629 return "elementor-unknown";
1630 }
1631 },
1632 {
1633 key: "sanitizeScreenId",
1634 value: function sanitizeScreenId(text) {
1635 return text.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
1636 }
1637 },
1638 {
1639 key: "attachTabChangeTracking",
1640 value: function attachTabChangeTracking() {
1641 this.attachNavTabTracking();
1642 this.attachHashChangeTracking();
1643 this.attachSettingsTabTracking();
1644 this.attachModalTracking();
1645 }
1646 },
1647 {
1648 key: "attachNavTabTracking",
1649 value: function attachNavTabTracking() {
1650 var _this = this;
1651 var wrapper = document.querySelector(SCREEN_SELECTORS.NAV_TAB_WRAPPER);
1652 if (!wrapper) return;
1653 this.addEventListenerTracked(wrapper, "click", function(event) {
1654 var navTab = event.target.closest(SCREEN_SELECTORS.NAV_TAB);
1655 if (navTab && !navTab.classList.contains("nav-tab-active")) {
1656 var screenData = _this.getScreenData();
1657 if (screenData) _this.trackScreen(screenData.screenId, screenData.screenType);
1658 }
1659 });
1660 }
1661 },
1662 {
1663 key: "attachHashChangeTracking",
1664 value: function attachHashChangeTracking() {
1665 var _this2 = this;
1666 this.addEventListenerTracked(window, "hashchange", function() {
1667 var screenData = _this2.getScreenData();
1668 if (screenData) _this2.trackScreen(screenData.screenId, screenData.screenType);
1669 });
1670 }
1671 },
1672 {
1673 key: "attachSettingsTabTracking",
1674 value: function attachSettingsTabTracking() {
1675 var _this3 = this;
1676 var settingsPages = document.querySelectorAll(SCREEN_SELECTORS.SETTINGS_FORM_PAGE);
1677 if (0 === settingsPages.length) return;
1678 settingsPages.forEach(function(page) {
1679 _this3.addObserver(page, {
1680 attributes: true,
1681 attributeFilter: ["class"]
1682 }, function() {
1683 var screenData = _this3.getScreenData();
1684 if (screenData) _this3.trackScreen(screenData.screenId, screenData.screenType);
1685 });
1686 });
1687 }
1688 },
1689 {
1690 key: "attachModalTracking",
1691 value: function attachModalTracking() {
1692 var _this4 = this;
1693 this.addObserver(document.body, {
1694 childList: true,
1695 subtree: true
1696 }, function(mutations) {
1697 var _iterator2 = _createForOfIteratorHelper$1(mutations);
1698 var _step2;
1699 try {
1700 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) if ("childList" === _step2.value.type) TRACKED_MODALS.forEach(function(modalSelector) {
1701 var modal = document.querySelector(modalSelector);
1702 if (modal && _this4.isModalVisible(modal)) {
1703 var modalId = modalSelector.replace("#", "");
1704 _this4.trackScreen(modalId, SCREEN_TYPES.POPUP);
1705 }
1706 });
1707 } catch (err) {
1708 _iterator2.e(err);
1709 } finally {
1710 _iterator2.f();
1711 }
1712 });
1713 }
1714 },
1715 {
1716 key: "isModalVisible",
1717 value: function isModalVisible(element) {
1718 if (!element) return false;
1719 var style = window.getComputedStyle(element);
1720 return "none" !== style.display && 0 !== parseFloat(style.opacity);
1721 }
1722 },
1723 {
1724 key: "trackScreen",
1725 value: function trackScreen(screenId) {
1726 var screenType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : SCREEN_TYPES.TOP_LEVEL_PAGE;
1727 var trackingKey = "".concat(screenId, "-").concat(screenType);
1728 if (this.trackedScreens.has(trackingKey)) return;
1729 this.trackedScreens.add(trackingKey);
1730 WpDashboardTracking.trackScreenViewed(screenId, screenType);
1731 }
1732 }
1733 ]);
1734 }(BaseTracking);
1735 _defineProperty(ScreenViewTracking, "trackedScreens", /* @__PURE__ */ new Set());
1736
1737 //#endregion
1738 //#region app/assets/js/event-track/dashboard/menu-promotion.js
1739 function _callSuper$1(t, o, e) {
1740 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
1741 }
1742 __name(_callSuper$1, "_callSuper");
1743 function _isNativeReflectConstruct$1() {
1744 try {
1745 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
1746 } catch (t) {}
1747 return (_isNativeReflectConstruct$1 = function _isNativeReflectConstruct() {
1748 return !!t;
1749 })();
1750 }
1751 __name(_isNativeReflectConstruct$1, "_isNativeReflectConstruct");
1752 var PROMO_MENU_ITEMS = {
1753 go_elementor_pro: "Upgrade",
1754 "elementor-one-upgrade": "Upgrade"
1755 };
1756 var MenuPromotionTracking = /*#__PURE__*/ function(_BaseTracking) {
1757 function MenuPromotionTracking() {
1758 _classCallCheck(this, MenuPromotionTracking);
1759 return _callSuper$1(this, MenuPromotionTracking, arguments);
1760 }
1761 _inherits(MenuPromotionTracking, _BaseTracking);
1762 return _createClass(MenuPromotionTracking, null, [
1763 {
1764 key: "init",
1765 value: function init() {
1766 this.attachDelegatedTracking();
1767 }
1768 },
1769 {
1770 key: "attachDelegatedTracking",
1771 value: function attachDelegatedTracking() {
1772 var _this = this;
1773 this.addEventListenerTracked(document, "click", function(event) {
1774 var target = event.target;
1775 if (!target) return;
1776 var link = target.closest("a");
1777 if (!link) return;
1778 var href = link.getAttribute("href");
1779 if (!href) return;
1780 var menuItemKey = _this.extractPromoMenuKey(href);
1781 if (!menuItemKey) return;
1782 _this.handleMenuPromoClick(link, menuItemKey);
1783 }, { capture: true });
1784 }
1785 },
1786 {
1787 key: "extractPromoMenuKey",
1788 value: function extractPromoMenuKey(href) {
1789 for (var _i = 0, _Object$keys = Object.keys(PROMO_MENU_ITEMS); _i < _Object$keys.length; _i++) {
1790 var menuItemKey = _Object$keys[_i];
1791 if (href.includes("page=".concat(menuItemKey))) return menuItemKey;
1792 }
1793 return null;
1794 }
1795 },
1796 {
1797 key: "handleMenuPromoClick",
1798 value: function handleMenuPromoClick(menuItem, menuItemKey) {
1799 var destination = menuItem.getAttribute("href");
1800 var promoName = PROMO_MENU_ITEMS[menuItemKey];
1801 var path = menuItemKey.replace("elementor_", "").replace(/_/g, "/");
1802 WpDashboardTracking.trackPromoClicked(promoName, destination, path);
1803 }
1804 }
1805 ]);
1806 }(BaseTracking);
1807
1808 //#endregion
1809 //#region app/assets/js/event-track/dashboard/action-controls.js
1810 function _createForOfIteratorHelper(r, e) {
1811 var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
1812 if (!t) {
1813 if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e && r && "number" == typeof r.length) {
1814 t && (r = t);
1815 var _n = 0;
1816 var F = function F() {};
1817 return {
1818 s: F,
1819 n: function n() {
1820 return _n >= r.length ? { done: !0 } : {
1821 done: !1,
1822 value: r[_n++]
1823 };
1824 },
1825 e: function e(r) {
1826 throw r;
1827 },
1828 f: F
1829 };
1830 }
1831 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1832 }
1833 var o;
1834 var a = !0;
1835 var u = !1;
1836 return {
1837 s: function s() {
1838 t = t.call(r);
1839 },
1840 n: function n() {
1841 var r = t.next();
1842 return a = r.done, r;
1843 },
1844 e: function e(r) {
1845 u = !0, o = r;
1846 },
1847 f: function f() {
1848 try {
1849 a || null == t.return || t.return();
1850 } finally {
1851 if (u) throw o;
1852 }
1853 }
1854 };
1855 }
1856 function _unsupportedIterableToArray$1(r, a) {
1857 if (r) {
1858 if ("string" == typeof r) return _arrayLikeToArray$1(r, a);
1859 var t = {}.toString.call(r).slice(8, -1);
1860 return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0;
1861 }
1862 }
1863 __name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray");
1864 function _arrayLikeToArray$1(r, a) {
1865 (null == a || a > r.length) && (a = r.length);
1866 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
1867 return n;
1868 }
1869 __name(_arrayLikeToArray$1, "_arrayLikeToArray");
1870 function _callSuper(t, o, e) {
1871 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
1872 }
1873 function _isNativeReflectConstruct() {
1874 try {
1875 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
1876 } catch (t) {}
1877 return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
1878 return !!t;
1879 })();
1880 }
1881 var EXCLUDED_SELECTORS = {
1882 ADMIN_MENU: "#adminmenu",
1883 TOP_BAR: ".e-admin-top-bar",
1884 TOP_BAR_EDITOR_ONE: "#editor-one-top-bar",
1885 WP_ADMIN_BAR: "#wpadminbar",
1886 SUBMENU: ".wp-submenu",
1887 PROMO_PAGE: ".e-feature-promotion",
1888 PROMO_BLANK_STATE: ".elementor-blank_state",
1889 APP: ".e-app",
1890 SIDEBAR_NAVIGATION: "#editor-one-sidebar-navigation",
1891 FLYOUT_MENU: ".elementor-submenu-flyout"
1892 };
1893 var ActionControlTracking = /*#__PURE__*/ function(_BaseTracking) {
1894 function ActionControlTracking() {
1895 _classCallCheck(this, ActionControlTracking);
1896 return _callSuper(this, ActionControlTracking, arguments);
1897 }
1898 _inherits(ActionControlTracking, _BaseTracking);
1899 return _createClass(ActionControlTracking, null, [
1900 {
1901 key: "init",
1902 value: function init() {
1903 if (!DashboardUtils.isElementorPage()) return;
1904 this.attachDelegatedHandlers();
1905 this.addTrackingAttributesToFilterButtons();
1906 this.initializeLinkDataIds();
1907 }
1908 },
1909 {
1910 key: "initializeLinkDataIds",
1911 value: function initializeLinkDataIds() {
1912 var _this = this;
1913 var initializeLinks = function initializeLinks() {
1914 document.querySelectorAll("a[href]").forEach(function(link) {
1915 if (_this.isExcludedElement(link) || _this.isNavigationLink(link) || link.hasAttribute("data-id")) return;
1916 var href = link.getAttribute("href");
1917 if (!href) return;
1918 var cleanedHref = _this.removeNonceFromUrl(href);
1919 if (cleanedHref) link.setAttribute("data-id", cleanedHref);
1920 });
1921 };
1922 if ("loading" === document.readyState) document.addEventListener("DOMContentLoaded", initializeLinks);
1923 else initializeLinks();
1924 }
1925 },
1926 {
1927 key: "addTrackingAttributesToFilterButtons",
1928 value: function addTrackingAttributesToFilterButtons() {
1929 var body = document.body;
1930 if (!body) return;
1931 var screenPrefix = "";
1932 switch (true) {
1933 case body.classList.contains("post-type-elementor_library"):
1934 screenPrefix = "elementor_library-library";
1935 break;
1936 case body.classList.contains("post-type-e-floating-buttons"):
1937 screenPrefix = "e-floating-buttons";
1938 break;
1939 default: return;
1940 }
1941 var addDataIdToListTableButtons = function addDataIdToListTableButtons() {
1942 [
1943 {
1944 id: "post-query-submit",
1945 suffix: "filter"
1946 },
1947 {
1948 id: "search-submit",
1949 suffix: "search"
1950 },
1951 {
1952 id: "doaction",
1953 suffix: "apply"
1954 },
1955 {
1956 id: "doaction2",
1957 suffix: "apply-bottom"
1958 }
1959 ].forEach(function(config) {
1960 var button = document.getElementById(config.id);
1961 if (!button || button.hasAttribute("data-id")) return;
1962 button.setAttribute("data-id", "".concat(screenPrefix, "-button-").concat(config.suffix));
1963 });
1964 };
1965 if ("loading" === document.readyState) document.addEventListener("DOMContentLoaded", addDataIdToListTableButtons);
1966 else addDataIdToListTableButtons();
1967 }
1968 },
1969 {
1970 key: "isExcludedElement",
1971 value: function isExcludedElement(element) {
1972 for (var _i = 0, _Object$values = Object.values(EXCLUDED_SELECTORS); _i < _Object$values.length; _i++) {
1973 var selector = _Object$values[_i];
1974 if (element.closest(selector)) return true;
1975 }
1976 if (element.classList.contains("go-pro")) return true;
1977 return false;
1978 }
1979 },
1980 {
1981 key: "attachDelegatedHandlers",
1982 value: function attachDelegatedHandlers() {
1983 var _this2 = this;
1984 var FILTER_BUTTON_IDS = ["search-submit", "post-query-submit"];
1985 this.addEventListenerTracked(document, "click", function(event) {
1986 var _event$target;
1987 var base = event.target && 1 === event.target.nodeType ? event.target : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.parentElement;
1988 if (!base) return;
1989 var toggle = base.closest(".elementor-role-toggle");
1990 if (toggle && !_this2.isExcludedElement(toggle)) {
1991 _this2.trackControl(toggle, CONTROL_TYPES.TOGGLE);
1992 return;
1993 }
1994 var button = base.closest("button, input[type=\"submit\"], input[type=\"button\"], .button, .e-btn");
1995 if (button && !_this2.isExcludedElement(button)) {
1996 if (FILTER_BUTTON_IDS.includes(button.id)) {
1997 _this2.trackControl(button, CONTROL_TYPES.FILTER);
1998 return;
1999 }
2000 _this2.trackControl(button, CONTROL_TYPES.BUTTON);
2001 return;
2002 }
2003 var link = base.closest("a");
2004 if (link && !_this2.isExcludedElement(link) && !_this2.isNavigationLink(link)) _this2.trackControl(link, CONTROL_TYPES.LINK);
2005 }, { capture: false });
2006 this.addEventListenerTracked(document, "change", function(event) {
2007 var _event$target2;
2008 var base = event.target && 1 === event.target.nodeType ? event.target : (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.parentElement;
2009 if (!base) return;
2010 var toggle = null;
2011 if (WpDashboardTracking.isEditorOneActive()) toggle = base.closest(".MuiSwitch-switchBase");
2012 else toggle = base.closest(".components-toggle-control");
2013 if (toggle && !_this2.isExcludedElement(toggle)) {
2014 _this2.trackControl(toggle, CONTROL_TYPES.TOGGLE);
2015 return;
2016 }
2017 var checkbox = base.closest("input[type=\"checkbox\"]");
2018 if (checkbox && !_this2.isExcludedElement(checkbox)) {
2019 _this2.trackControl(checkbox, CONTROL_TYPES.CHECKBOX);
2020 return;
2021 }
2022 var radio = base.closest("input[type=\"radio\"]");
2023 if (radio && !_this2.isExcludedElement(radio)) {
2024 _this2.trackControl(radio, CONTROL_TYPES.RADIO);
2025 return;
2026 }
2027 var select = base.closest("select");
2028 if (select && !_this2.isExcludedElement(select)) _this2.trackControl(select, CONTROL_TYPES.SELECT);
2029 });
2030 }
2031 },
2032 {
2033 key: "isNavigationLink",
2034 value: function isNavigationLink(link) {
2035 var href = link.getAttribute("href");
2036 if (!href) return false;
2037 if (href.startsWith("#") && href.includes("tab")) return true;
2038 if (link.classList.contains("nav-tab")) return true;
2039 return !!link.closest(".wp-submenu, #adminmenu, .e-admin-top-bar, #wpadminbar");
2040 }
2041 },
2042 {
2043 key: "trackControl",
2044 value: function trackControl(element, controlType) {
2045 var controlIdentifier = this.extractControlIdentifier(element, controlType);
2046 if (!controlIdentifier) return;
2047 WpDashboardTracking.trackActionControl(controlIdentifier, controlType);
2048 }
2049 },
2050 {
2051 key: "extractControlIdentifier",
2052 value: function extractControlIdentifier(element, controlType) {
2053 if (CONTROL_TYPES.RADIO === controlType) {
2054 var name = element.getAttribute("name");
2055 var value = element.value || element.getAttribute("value");
2056 if (name && value) return "".concat(name, "-").concat(value);
2057 if (name) return name;
2058 }
2059 if (CONTROL_TYPES.SELECT === controlType) {
2060 var _name = element.getAttribute("name");
2061 if (_name) return _name;
2062 }
2063 if (CONTROL_TYPES.CHECKBOX === controlType) {
2064 var _name2 = element.getAttribute("name");
2065 if (_name2) {
2066 if (document.querySelectorAll("input[type=\"checkbox\"][name=\"".concat(CSS.escape(_name2), "\"]")).length > 1) {
2067 var _value = element.value || element.getAttribute("value");
2068 if (_value) return "".concat(_name2, "-").concat(_value);
2069 }
2070 return _name2;
2071 }
2072 }
2073 if (CONTROL_TYPES.LINK === controlType) {
2074 var dataId = element.getAttribute("data-id");
2075 if (dataId) return dataId;
2076 var href = element.getAttribute("href");
2077 if (href) return this.removeNonceFromUrl(href);
2078 }
2079 if (CONTROL_TYPES.BUTTON === controlType || CONTROL_TYPES.TOGGLE === controlType || CONTROL_TYPES.FILTER === controlType) {
2080 var _dataId = element.getAttribute("data-id");
2081 if (_dataId) return _dataId;
2082 var classIdMatch = this.extractClassId(element);
2083 if (classIdMatch) return classIdMatch;
2084 }
2085 return "";
2086 }
2087 },
2088 {
2089 key: "extractClassId",
2090 value: function extractClassId(element) {
2091 var classes = element.className;
2092 if (!classes || "string" !== typeof classes) return "";
2093 var _iterator = _createForOfIteratorHelper(classes.split(" "));
2094 var _step;
2095 try {
2096 for (_iterator.s(); !(_step = _iterator.n()).done;) {
2097 var cls = _step.value;
2098 if (cls.startsWith("e-id-")) return cls.substring(5);
2099 }
2100 } catch (err) {
2101 _iterator.e(err);
2102 } finally {
2103 _iterator.f();
2104 }
2105 return "";
2106 }
2107 },
2108 {
2109 key: "removeNonceFromUrl",
2110 value: function removeNonceFromUrl(url) {
2111 try {
2112 var urlObj = new URL(url, window.location.origin);
2113 urlObj.searchParams.delete("_wpnonce");
2114 var postParam = urlObj.searchParams.get("post");
2115 if (postParam !== null && /^[0-9]+$/.test(postParam)) urlObj.searchParams.delete("post");
2116 return urlObj.pathname + urlObj.search + urlObj.hash;
2117 } catch (e) {
2118 return url;
2119 }
2120 }
2121 }
2122 ]);
2123 }(BaseTracking);
2124
2125 //#endregion
2126 //#region app/assets/js/event-track/wp-dashboard-tracking.js
2127 var _WpDashboardTracking;
2128 var SESSION_TIMEOUT_MINUTES = 30;
2129 var MINUTE_MS = 60 * 1e3;
2130 var SESSION_TIMEOUT = SESSION_TIMEOUT_MINUTES * MINUTE_MS;
2131 var ACTIVITY_CHECK_INTERVAL = 1 * MINUTE_MS;
2132 var SESSION_STORAGE_KEY = "elementor_wpdash_session";
2133 var PENDING_NAV_CLICK_KEY = "elementor_wpdash_pending_nav";
2134 var CONTROL_TYPES = {
2135 BUTTON: "button",
2136 CHECKBOX: "checkbox",
2137 RADIO: "radio",
2138 LINK: "link",
2139 SELECT: "select",
2140 TOGGLE: "toggle",
2141 FILTER: "filter"
2142 };
2143 var NAV_AREAS = {
2144 LEFT_MENU: "left_menu",
2145 SUBMENU: "submenu",
2146 HOVER_MENU: "hover_menu",
2147 TOP_BAR: "top_bar",
2148 SIDEBAR_MENU: "sidebar"
2149 };
2150 var SCREEN_TYPES = {
2151 TAB: "tab",
2152 POPUP: "popup",
2153 APP_SCREEN: "app_screen"
2154 };
2155 var WpDashboardTracking = /*#__PURE__*/ function() {
2156 function WpDashboardTracking() {
2157 _classCallCheck(this, WpDashboardTracking);
2158 }
2159 return _createClass(WpDashboardTracking, null, [
2160 {
2161 key: "getElementorCommon",
2162 value: function getElementorCommon() {
2163 return window.elementorCommon;
2164 }
2165 },
2166 {
2167 key: "init",
2168 value: function init() {
2169 if (this.initialized) return;
2170 this.restoreOrCreateSession();
2171 if (this.isEventsManagerAvailable()) {
2172 this.startSessionMonitoring();
2173 this.attachActivityListeners();
2174 this.attachNavigationListener();
2175 this.initialized = true;
2176 }
2177 }
2178 },
2179 {
2180 key: "restoreOrCreateSession",
2181 value: function restoreOrCreateSession() {
2182 var storedSession = this.getStoredSession();
2183 if (storedSession) {
2184 this.sessionStartTime = storedSession.sessionStartTime;
2185 this.navItemsVisited = new Set(storedSession.navItemsVisited);
2186 this.lastActivityTime = Date.now();
2187 this.sessionEnded = false;
2188 } else {
2189 this.sessionStartTime = Date.now();
2190 this.lastActivityTime = Date.now();
2191 this.sessionEnded = false;
2192 this.navItemsVisited = /* @__PURE__ */ new Set();
2193 }
2194 this.processPendingNavClick();
2195 this.saveSessionToStorage();
2196 }
2197 },
2198 {
2199 key: "isEditorOneActive",
2200 value: function isEditorOneActive() {
2201 var _elementorCommon$conf;
2202 var _elementorCommon$conf2;
2203 var elementorCommon = this.getElementorCommon();
2204 return (_elementorCommon$conf = elementorCommon === null || elementorCommon === void 0 || (_elementorCommon$conf2 = elementorCommon.config) === null || _elementorCommon$conf2 === void 0 || (_elementorCommon$conf2 = _elementorCommon$conf2.editor_events) === null || _elementorCommon$conf2 === void 0 ? void 0 : _elementorCommon$conf2.isEditorOneActive) !== null && _elementorCommon$conf !== void 0 ? _elementorCommon$conf : false;
2205 }
2206 },
2207 {
2208 key: "processPendingNavClick",
2209 value: function processPendingNavClick() {
2210 try {
2211 var pendingNav = sessionStorage.getItem(PENDING_NAV_CLICK_KEY);
2212 if (pendingNav) {
2213 var _JSON$parse = JSON.parse(pendingNav);
2214 var itemId = _JSON$parse.itemId;
2215 var rootItem = _JSON$parse.rootItem;
2216 var area = _JSON$parse.area;
2217 this.navItemsVisited.add(itemId);
2218 var properties = {
2219 wpdash_nav_item_id: itemId,
2220 wpdash_nav_area: area
2221 };
2222 if (rootItem) properties.wpdash_nav_item_root = rootItem;
2223 this.dispatchEvent("wpdash_nav_clicked", properties, { send_immediately: true });
2224 sessionStorage.removeItem(PENDING_NAV_CLICK_KEY);
2225 }
2226 } catch (error) {
2227 sessionStorage.removeItem(PENDING_NAV_CLICK_KEY);
2228 }
2229 }
2230 },
2231 {
2232 key: "getStoredSession",
2233 value: function getStoredSession() {
2234 try {
2235 var stored = sessionStorage.getItem(SESSION_STORAGE_KEY);
2236 return stored ? JSON.parse(stored) : null;
2237 } catch (error) {
2238 return null;
2239 }
2240 }
2241 },
2242 {
2243 key: "saveSessionToStorage",
2244 value: function saveSessionToStorage() {
2245 var sessionData = {
2246 sessionStartTime: this.sessionStartTime,
2247 navItemsVisited: Array.from(this.navItemsVisited)
2248 };
2249 sessionStorage.setItem(SESSION_STORAGE_KEY, JSON.stringify(sessionData));
2250 }
2251 },
2252 {
2253 key: "clearStoredSession",
2254 value: function clearStoredSession() {
2255 sessionStorage.removeItem(SESSION_STORAGE_KEY);
2256 }
2257 },
2258 {
2259 key: "isEventsManagerAvailable",
2260 value: function isEventsManagerAvailable() {
2261 var elementorCommon = this.getElementorCommon();
2262 return (elementorCommon === null || elementorCommon === void 0 ? void 0 : elementorCommon.eventsManager) && "function" === typeof elementorCommon.eventsManager.dispatchEvent;
2263 }
2264 },
2265 {
2266 key: "canSendEvents",
2267 value: function canSendEvents() {
2268 var _elementorCommon$conf3;
2269 var _elementorCommon$conf4;
2270 var elementorCommon = this.getElementorCommon();
2271 return (_elementorCommon$conf3 = elementorCommon === null || elementorCommon === void 0 || (_elementorCommon$conf4 = elementorCommon.config) === null || _elementorCommon$conf4 === void 0 || (_elementorCommon$conf4 = _elementorCommon$conf4.editor_events) === null || _elementorCommon$conf4 === void 0 ? void 0 : _elementorCommon$conf4.can_send_events) !== null && _elementorCommon$conf3 !== void 0 ? _elementorCommon$conf3 : false;
2272 }
2273 },
2274 {
2275 key: "dispatchEvent",
2276 value: function dispatchEvent(eventName) {
2277 var _elementorCommon$even;
2278 var properties = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
2279 var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
2280 if (!this.isEventsManagerAvailable() || !this.canSendEvents()) return;
2281 var elementorCommon = this.getElementorCommon();
2282 elementorCommon === null || elementorCommon === void 0 || (_elementorCommon$even = elementorCommon.eventsManager) === null || _elementorCommon$even === void 0 || _elementorCommon$even.dispatchEvent(eventName, properties, options);
2283 }
2284 },
2285 {
2286 key: "updateActivity",
2287 value: function updateActivity() {
2288 this.lastActivityTime = Date.now();
2289 }
2290 },
2291 {
2292 key: "startSessionMonitoring",
2293 value: function startSessionMonitoring() {
2294 var _this = this;
2295 this.activityCheckInterval = setInterval(function() {
2296 _this.checkSessionTimeout();
2297 }, ACTIVITY_CHECK_INTERVAL);
2298 window.addEventListener("beforeunload", function() {
2299 if (!_this.sessionEnded && !_this.isNavigatingToElementor) _this.trackSessionEnd("tab_closed");
2300 });
2301 document.addEventListener("visibilitychange", function() {
2302 if (!_this.sessionEnded && document.hidden) {
2303 if (Date.now() - _this.lastActivityTime > SESSION_TIMEOUT) _this.trackSessionEnd("tab_inactive");
2304 }
2305 });
2306 }
2307 },
2308 {
2309 key: "isElementorPage",
2310 value: function isElementorPage(url) {
2311 try {
2312 var params = new URL(url, window.location.origin).searchParams;
2313 var page = params.get("page");
2314 var postType = params.get("post_type");
2315 var action = params.get("action");
2316 return !!(page && this.elementorPages.some(function(p) {
2317 return page.includes(p);
2318 }) || postType && this.elementorPostTypes.includes(postType) || action && action.includes(this.anyPageWithElementorString));
2319 } catch (error) {
2320 return false;
2321 }
2322 }
2323 },
2324 {
2325 key: "isPluginsPage",
2326 value: function isPluginsPage(url) {
2327 try {
2328 return new URL(url, window.location.origin).pathname.includes("plugins.php");
2329 } catch (error) {
2330 return false;
2331 }
2332 }
2333 },
2334 {
2335 key: "isNavigatingAwayFromElementor",
2336 value: function isNavigatingAwayFromElementor(targetUrl) {
2337 if (!targetUrl) return false;
2338 if (targetUrl.startsWith("#")) return false;
2339 return !this.isElementorPage(targetUrl);
2340 }
2341 },
2342 {
2343 key: "isLinkOpeningInNewTab",
2344 value: function isLinkOpeningInNewTab(link) {
2345 var target = link.getAttribute("target");
2346 return "_blank" === target || "_new" === target;
2347 }
2348 },
2349 {
2350 key: "attachNavigationListener",
2351 value: function attachNavigationListener() {
2352 var _this2 = this;
2353 var handleLinkClick = function handleLinkClick(event) {
2354 var link = event.target.closest("a");
2355 if (link && link.href) {
2356 if (_this2.isLinkOpeningInNewTab(link)) return;
2357 if (!_this2.sessionEnded && _this2.isNavigatingAwayFromElementor(link.href)) _this2.trackSessionEnd("navigate_away");
2358 else if (_this2.isElementorPage(link.href)) _this2.isNavigatingToElementor = true;
2359 }
2360 if (event.target.closest("#editor-one-sidebar-navigation")) _this2.isNavigatingToElementor = true;
2361 };
2362 var handleFormSubmit = function handleFormSubmit(event) {
2363 var form = event.target;
2364 if (form.action) {
2365 if (!_this2.sessionEnded && _this2.isNavigatingAwayFromElementor(form.action)) _this2.trackSessionEnd("navigate_away");
2366 else if (_this2.isElementorPage(form.action)) _this2.isNavigatingToElementor = true;
2367 }
2368 };
2369 document.addEventListener("click", handleLinkClick, true);
2370 document.addEventListener("submit", handleFormSubmit, true);
2371 this.navigationListeners.push({
2372 type: "click",
2373 handler: handleLinkClick
2374 }, {
2375 type: "submit",
2376 handler: handleFormSubmit
2377 });
2378 }
2379 },
2380 {
2381 key: "checkSessionTimeout",
2382 value: function checkSessionTimeout() {
2383 if (Date.now() - this.lastActivityTime > SESSION_TIMEOUT && !this.sessionEnded) this.trackSessionEnd("timeout");
2384 }
2385 },
2386 {
2387 key: "attachActivityListeners",
2388 value: function attachActivityListeners() {
2389 var _this3 = this;
2390 [
2391 "mousedown",
2392 "keydown",
2393 "scroll",
2394 "touchstart",
2395 "click"
2396 ].forEach(function(event) {
2397 document.addEventListener(event, function() {
2398 _this3.updateActivity();
2399 }, {
2400 capture: true,
2401 passive: true
2402 });
2403 });
2404 }
2405 },
2406 {
2407 key: "formatDuration",
2408 value: function formatDuration(milliseconds) {
2409 var totalSeconds = Math.floor(milliseconds / 1e3);
2410 return Number(totalSeconds.toFixed(2));
2411 }
2412 },
2413 {
2414 key: "trackNavClicked",
2415 value: function trackNavClicked(itemId) {
2416 var rootItem = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
2417 var area = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : NAV_AREAS.LEFT_MENU;
2418 if (!this.initialized) {
2419 var pendingNav = {
2420 itemId,
2421 rootItem,
2422 area
2423 };
2424 sessionStorage.setItem(PENDING_NAV_CLICK_KEY, JSON.stringify(pendingNav));
2425 return;
2426 }
2427 this.updateActivity();
2428 this.navItemsVisited.add(itemId);
2429 this.saveSessionToStorage();
2430 var properties = {
2431 wpdash_nav_item_id: itemId,
2432 wpdash_nav_area: area
2433 };
2434 if (rootItem) properties.wpdash_nav_item_root = rootItem;
2435 this.dispatchEvent("wpdash_nav_clicked", properties);
2436 }
2437 },
2438 {
2439 key: "trackScreenViewed",
2440 value: function trackScreenViewed(screenId) {
2441 var screenType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : SCREEN_TYPES.TAB;
2442 this.updateActivity();
2443 var properties = {
2444 wpdash_screen_id: screenId,
2445 wpdash_screen_type: screenType
2446 };
2447 this.dispatchEvent("wpdash_screen_viewed", properties);
2448 }
2449 },
2450 {
2451 key: "trackActionControl",
2452 value: function trackActionControl(controlIdentifier, controlType) {
2453 this.updateActivity();
2454 var properties = {
2455 wpdash_action_control_interacted: controlIdentifier,
2456 wpdash_control_type: controlType
2457 };
2458 this.dispatchEvent("wpdash_action_control", properties);
2459 }
2460 },
2461 {
2462 key: "trackPromoClicked",
2463 value: function trackPromoClicked(promoName, destination, clickPath) {
2464 this.updateActivity();
2465 var properties = {
2466 wpdash_promo_name: promoName,
2467 wpdash_promo_destination: destination,
2468 wpdash_promo_clicked_path: clickPath
2469 };
2470 this.dispatchEvent("wpdash_promo_clicked", properties);
2471 }
2472 },
2473 {
2474 key: "trackSessionEnd",
2475 value: function trackSessionEnd() {
2476 var reason = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "timeout";
2477 if (this.sessionEnded) return;
2478 this.sessionEnded = true;
2479 if (this.activityCheckInterval) {
2480 clearInterval(this.activityCheckInterval);
2481 this.activityCheckInterval = null;
2482 }
2483 var duration = Date.now() - this.sessionStartTime;
2484 var properties = {
2485 wpdash_endstate_nav_summary: Array.from(this.navItemsVisited),
2486 wpdash_endstate_nav_count: this.navItemsVisited.size,
2487 wpdash_endstate_duration: this.formatDuration(duration),
2488 reason
2489 };
2490 this.dispatchEvent("wpdash_session_end_state", properties);
2491 this.clearStoredSession();
2492 }
2493 },
2494 {
2495 key: "destroy",
2496 value: function destroy() {
2497 if (this.activityCheckInterval) clearInterval(this.activityCheckInterval);
2498 this.navigationListeners.forEach(function(_ref) {
2499 var type = _ref.type;
2500 var handler = _ref.handler;
2501 document.removeEventListener(type, handler, true);
2502 });
2503 this.navigationListeners = [];
2504 ScreenViewTracking.destroy();
2505 PromotionTracking.destroy();
2506 MenuPromotionTracking.destroy();
2507 ActionControlTracking.destroy();
2508 this.initialized = false;
2509 }
2510 }
2511 ]);
2512 }();
2513 _WpDashboardTracking = WpDashboardTracking;
2514 _defineProperty(WpDashboardTracking, "anyPageWithElementorString", "elementor");
2515 _defineProperty(WpDashboardTracking, "elementorPages", [
2516 _WpDashboardTracking.anyPageWithElementorString,
2517 "e-form-submissions",
2518 "popup_templates"
2519 ]);
2520 _defineProperty(WpDashboardTracking, "elementorPostTypes", [
2521 "elementor_library",
2522 "e-floating-buttons",
2523 "elementor_snippet",
2524 "elementor_font",
2525 "elementor_icons"
2526 ]);
2527 _defineProperty(WpDashboardTracking, "sessionStartTime", Date.now());
2528 _defineProperty(WpDashboardTracking, "lastActivityTime", Date.now());
2529 _defineProperty(WpDashboardTracking, "sessionEnded", false);
2530 _defineProperty(WpDashboardTracking, "navItemsVisited", /* @__PURE__ */ new Set());
2531 _defineProperty(WpDashboardTracking, "activityCheckInterval", null);
2532 _defineProperty(WpDashboardTracking, "initialized", false);
2533 _defineProperty(WpDashboardTracking, "navigationListeners", []);
2534 _defineProperty(WpDashboardTracking, "isNavigatingToElementor", false);
2535 window.addEventListener("elementor/admin/init", function() {
2536 var currentUrl = window.location.href;
2537 var isPluginsPage = WpDashboardTracking.isPluginsPage(currentUrl);
2538 var isElementorPage = WpDashboardTracking.isElementorPage(currentUrl);
2539 if (isPluginsPage) PluginActions.init();
2540 NavigationTracking.init();
2541 if (isElementorPage) {
2542 WpDashboardTracking.init();
2543 ScreenViewTracking.init();
2544 PromotionTracking.init();
2545 MenuPromotionTracking.init();
2546 ActionControlTracking.init();
2547 }
2548 });
2549 window.addEventListener("beforeunload", function() {
2550 NavigationTracking.destroy();
2551 PluginActions.destroy();
2552 WpDashboardTracking.destroy();
2553 });
2554
2555 //#endregion
2556 //#region modules/home/assets/js/utils/promo-tracking.js
2557 var trackPromoClick = function trackPromoClick(promoName, destination, path) {
2558 if (WpDashboardTracking && "function" === typeof WpDashboardTracking.trackPromoClicked) WpDashboardTracking.trackPromoClicked(promoName, destination, path);
2559 };
2560 var getHomeScreenPath = function getHomeScreenPath(section) {
2561 return ["home", section];
2562 };
2563
2564 //#endregion
2565 //#region modules/home/assets/js/components/top-section.js
2566 var TopSection = function TopSection(_ref) {
2567 var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
2568 var topData = props.topData;
2569 var buttonCtaUrl = props.buttonCtaUrl;
2570 if (!topData) return null;
2571 var title = topData.title;
2572 var description = topData.description;
2573 var buttonCtaTitle = topData.button_cta_text;
2574 var buttonCreatePageTitle = topData.button_create_page_title;
2575 var youtubeEmbeddedId = topData.youtube_embed_id;
2576 var buttonWatchURL = topData.button_watch_url;
2577 var buttonWatchTitle = topData.button_watch_title;
2578 var ctaButtonTitle = buttonCtaTitle !== null && buttonCtaTitle !== void 0 ? buttonCtaTitle : buttonCreatePageTitle;
2579 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
2580 elevation: 0,
2581 sx: {
2582 display: "flex",
2583 flexDirection: {
2584 xs: "column",
2585 sm: "row"
2586 },
2587 justifyContent: "space-between",
2588 py: 3,
2589 px: {
2590 xs: 3,
2591 md: 4
2592 },
2593 gap: {
2594 xs: 2,
2595 sm: 3,
2596 lg: 10,
2597 xl: 22
2598 },
2599 borderRadius: 1,
2600 border: "1px solid rgba(0, 0, 0, 0.12)"
2601 }
2602 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
2603 gap: 3,
2604 justifyContent: "center"
2605 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui_Typography.default, { variant: "h6" }, title), /*#__PURE__*/ react.default.createElement(_elementor_ui_Typography.default, {
2606 variant: "body2",
2607 color: "secondary"
2608 }, description)), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: {
2609 display: "flex",
2610 gap: 1
2611 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui_Button.default, {
2612 "data-testid": "e-create-button",
2613 variant: "contained",
2614 size: "small",
2615 href: buttonCtaUrl,
2616 target: "_blank",
2617 onClick: function handleCtaClick() {
2618 trackPromoClick(ctaButtonTitle, buttonCtaUrl, getHomeScreenPath("top_section"));
2619 }
2620 }, ctaButtonTitle), /*#__PURE__*/ react.default.createElement(_elementor_ui_Button.default, {
2621 variant: "outlined",
2622 color: "secondary",
2623 size: "small",
2624 startIcon: /*#__PURE__*/ react.default.createElement(YoutubeIcon, null),
2625 href: buttonWatchURL,
2626 target: "_blank",
2627 onClick: function handleWatchClick() {
2628 trackPromoClick(buttonWatchTitle, buttonWatchURL, getHomeScreenPath("top_section"));
2629 }
2630 }, buttonWatchTitle))), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
2631 component: "iframe",
2632 src: "https://www.youtube.com/embed/".concat(youtubeEmbeddedId),
2633 title: "YouTube video player",
2634 frameBorder: "0",
2635 allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",
2636 allowFullScreen: true,
2637 sx: {
2638 aspectRatio: "16/9",
2639 borderRadius: 1,
2640 display: "flex",
2641 width: "100%",
2642 maxWidth: "365px"
2643 }
2644 }));
2645 };
2646 TopSection.propTypes = {
2647 topData: import_prop_types.default.object.isRequired,
2648 buttonCtaUrl: import_prop_types.default.string.isRequired
2649 };
2650
2651 //#endregion
2652 //#region modules/home/assets/js/components/promotions/sidebar-banner.js
2653 var SidebarBanner = function SidebarBanner(_ref) {
2654 var image = _ref.image;
2655 var link = _ref.link;
2656 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
2657 elevation: 0,
2658 sx: {
2659 overflow: "hidden",
2660 borderRadius: 1
2661 }
2662 }, /*#__PURE__*/ react.default.createElement(_elementor_ui_Link.default, {
2663 target: "_blank",
2664 href: link,
2665 onClick: function handleClick() {
2666 trackPromoClick("Sidebar Banner", link, getHomeScreenPath("sidebar"));
2667 },
2668 sx: {
2669 lineHeight: 0,
2670 display: "block",
2671 width: "100%",
2672 height: "100%",
2673 boxShadow: "none",
2674 "&:focus": { boxShadow: "none" },
2675 "&:active": { boxShadow: "none" }
2676 }
2677 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
2678 component: "img",
2679 src: image,
2680 sx: {
2681 width: "100%",
2682 height: "100%"
2683 }
2684 })));
2685 };
2686 SidebarBanner.propTypes = {
2687 image: import_prop_types.default.string.isRequired,
2688 link: import_prop_types.default.string.isRequired
2689 };
2690
2691 //#endregion
2692 //#region modules/home/assets/js/icons/side-bar-check-icon.js
2693 var SideBarCheckIcon = function SideBarCheckIcon(props) {
2694 return /*#__PURE__*/ react.createElement(_elementor_ui.SvgIcon, _extends({ viewBox: "0 0 24 24" }, props), /*#__PURE__*/ react.createElement("path", {
2695 fillRule: "evenodd",
2696 clipRule: "evenodd",
2697 d: "M9.09013 3.69078C10.273 3.2008 11.5409 2.94861 12.8213 2.94861C14.1017 2.94861 15.3695 3.2008 16.5525 3.69078C17.7354 4.18077 18.8102 4.89895 19.7156 5.80432C20.621 6.70969 21.3391 7.78452 21.8291 8.96744C22.3191 10.1504 22.5713 11.4182 22.5713 12.6986C22.5713 13.979 22.3191 15.2468 21.8291 16.4298C21.3391 17.6127 20.621 18.6875 19.7156 19.5929C18.8102 20.4983 17.7354 21.2165 16.5525 21.7064C15.3695 22.1964 14.1017 22.4486 12.8213 22.4486C11.5409 22.4486 10.2731 22.1964 9.09013 21.7064C7.9072 21.2165 6.83237 20.4983 5.927 19.5929C5.02163 18.6875 4.30345 17.6127 3.81346 16.4298C3.32348 15.2468 3.07129 13.979 3.07129 12.6986C3.07129 11.4182 3.32348 10.1504 3.81346 8.96744C4.30345 7.78452 5.02163 6.70969 5.927 5.80432C6.83237 4.89895 7.9072 4.18077 9.09013 3.69078ZM12.8213 4.44861C11.7379 4.44861 10.6651 4.662 9.66415 5.0766C8.66321 5.4912 7.75374 6.09889 6.98766 6.86498C6.22157 7.63106 5.61388 8.54053 5.19928 9.54147C4.78468 10.5424 4.57129 11.6152 4.57129 12.6986C4.57129 13.782 4.78468 14.8548 5.19928 15.8557C5.61388 16.8567 6.22157 17.7662 6.98766 18.5322C7.75374 19.2983 8.66322 19.906 9.66415 20.3206C10.6651 20.7352 11.7379 20.9486 12.8213 20.9486C13.9047 20.9486 14.9775 20.7352 15.9784 20.3206C16.9794 19.906 17.8888 19.2983 18.6549 18.5322C19.421 17.7662 20.0287 16.8567 20.4433 15.8557C20.8579 14.8548 21.0713 13.782 21.0713 12.6986C21.0713 11.6152 20.8579 10.5424 20.4433 9.54147C20.0287 8.54053 19.421 7.63106 18.6549 6.86498C17.8888 6.09889 16.9794 5.4912 15.9784 5.0766C14.9775 4.662 13.9047 4.44861 12.8213 4.44861Z",
2698 fill: "#93003F"
2699 }), /*#__PURE__*/ react.createElement("path", {
2700 fillRule: "evenodd",
2701 clipRule: "evenodd",
2702 d: "M17.3213 9.69424C17.6142 9.98713 17.6142 10.462 17.3213 10.7549L12.3732 15.703C12.0803 15.9959 11.6054 15.9959 11.3125 15.703L8.83851 13.2289C8.54562 12.936 8.54562 12.4612 8.83851 12.1683C9.1314 11.8754 9.60628 11.8754 9.89917 12.1683L11.8429 14.112L16.2606 9.69424C16.5535 9.40135 17.0284 9.40135 17.3213 9.69424Z",
2703 fill: "#93003F"
2704 }));
2705 };
2706
2707 //#endregion
2708 //#region modules/home/assets/js/components/promotions/sidebar-default.js
2709 var SidebarDefault = function SidebarDefault(_ref) {
2710 var header = _ref.header;
2711 var cta = _ref.cta;
2712 var repeater = _ref.repeater;
2713 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
2714 elevation: 0,
2715 sx: {
2716 p: 3,
2717 borderRadius: 1
2718 }
2719 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
2720 gap: 1.5,
2721 alignItems: "center",
2722 textAlign: "center",
2723 sx: { pb: 4 }
2724 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
2725 component: "img",
2726 src: header.image
2727 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, { variant: "h6" }, header.title), /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
2728 variant: "body2",
2729 color: "text.secondary"
2730 }, header.description)), /*#__PURE__*/ react.default.createElement(_elementor_ui_Button.default, {
2731 variant: "contained",
2732 size: "medium",
2733 color: "promotion",
2734 href: cta.url,
2735 onClick: function handleCtaClick() {
2736 trackPromoClick(header.title, cta.url, getHomeScreenPath("sidebar"));
2737 },
2738 startIcon: /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
2739 component: "img",
2740 src: cta.image,
2741 sx: { width: "16px" }
2742 }),
2743 target: "_blank",
2744 sx: { maxWidth: "fit-content" }
2745 }, cta.label)), /*#__PURE__*/ react.default.createElement(_elementor_ui_List.default, { sx: { p: 0 } }, repeater.map(function(item, index) {
2746 return /*#__PURE__*/ react.default.createElement(_elementor_ui_ListItem.default, {
2747 key: index,
2748 sx: {
2749 p: 0,
2750 gap: 1
2751 }
2752 }, /*#__PURE__*/ react.default.createElement(SideBarCheckIcon, null), /*#__PURE__*/ react.default.createElement(_elementor_ui_ListItemText.default, {
2753 primaryTypographyProps: { variant: "body2" },
2754 primary: item.title
2755 }));
2756 })));
2757 };
2758 SidebarDefault.propTypes = {
2759 header: import_prop_types.default.object.isRequired,
2760 cta: import_prop_types.default.object.isRequired,
2761 repeater: import_prop_types.default.array
2762 };
2763
2764 //#endregion
2765 //#region modules/home/assets/js/components/sidebar-promotion.js
2766 var SideBarPromotion = function SideBarPromotion(_ref) {
2767 var sideData = _ref.sideData;
2768 if ("banner" === sideData.type) return /*#__PURE__*/ react.default.createElement(SidebarBanner, sideData.data);
2769 return /*#__PURE__*/ react.default.createElement(SidebarDefault, sideData.data);
2770 };
2771 SideBarPromotion.propTypes = { sideData: import_prop_types.default.object.isRequired };
2772
2773 //#endregion
2774 //#region modules/home/assets/js/components/external-links-section.js
2775 var ExternalLinksSection = function ExternalLinksSection(_ref) {
2776 var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
2777 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
2778 elevation: 0,
2779 sx: {
2780 py: 3,
2781 px: {
2782 xs: 3,
2783 md: 4
2784 },
2785 borderRadius: 1,
2786 border: "1px solid rgba(0, 0, 0, 0.12)"
2787 }
2788 }, /*#__PURE__*/ react.default.createElement(_elementor_ui_List.default, { sx: {
2789 display: "flex",
2790 flexDirection: {
2791 xs: "column",
2792 sm: "row"
2793 },
2794 rowGap: 2,
2795 columnGap: 7.5,
2796 flexWrap: "wrap"
2797 } }, props.externalLinksData.map(function(item) {
2798 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
2799 key: item.label,
2800 sx: {
2801 display: "flex",
2802 alignItems: "center"
2803 }
2804 }, /*#__PURE__*/ react.default.createElement(_elementor_ui_ListItemButton.default, {
2805 href: item.url,
2806 target: "_blank",
2807 sx: {
2808 "&:hover": { backgroundColor: "initial" },
2809 gap: 2,
2810 px: 0,
2811 py: 0
2812 }
2813 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
2814 component: "img",
2815 src: item.image,
2816 sx: { width: "38px" }
2817 }), /*#__PURE__*/ react.default.createElement(_elementor_ui_ListItemText.default, {
2818 sx: { color: "text.secondary" },
2819 primary: item.label
2820 })));
2821 })));
2822 };
2823 ExternalLinksSection.propTypes = { externalLinksData: import_prop_types.default.array.isRequired };
2824
2825 //#endregion
2826 //#region node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
2827 function _arrayWithHoles(r) {
2828 if (Array.isArray(r)) return r;
2829 }
2830
2831 //#endregion
2832 //#region node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
2833 function _iterableToArrayLimit(r, l) {
2834 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
2835 if (null != t) {
2836 var e;
2837 var n;
2838 var i;
2839 var u;
2840 var a = [];
2841 var f = !0;
2842 var o = !1;
2843 try {
2844 if (i = (t = t.call(r)).next, 0 === l) {
2845 if (Object(t) !== t) return;
2846 f = !1;
2847 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
2848 } catch (r) {
2849 o = !0, n = r;
2850 } finally {
2851 try {
2852 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
2853 } finally {
2854 if (o) throw n;
2855 }
2856 }
2857 return a;
2858 }
2859 }
2860
2861 //#endregion
2862 //#region node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
2863 function _arrayLikeToArray(r, a) {
2864 (null == a || a > r.length) && (a = r.length);
2865 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
2866 return n;
2867 }
2868
2869 //#endregion
2870 //#region node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
2871 function _unsupportedIterableToArray(r, a) {
2872 if (r) {
2873 if ("string" == typeof r) return _arrayLikeToArray(r, a);
2874 var t = {}.toString.call(r).slice(8, -1);
2875 return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
2876 }
2877 }
2878
2879 //#endregion
2880 //#region node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
2881 function _nonIterableRest() {
2882 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2883 }
2884
2885 //#endregion
2886 //#region node_modules/@babel/runtime/helpers/esm/slicedToArray.js
2887 function _slicedToArray(r, e) {
2888 return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
2889 }
2890
2891 //#endregion
2892 //#region modules/home/assets/js/components/create-new-page-dialog.js
2893 var CreateNewPageDialog = function CreateNewPageDialog(_ref) {
2894 var url = _ref.url;
2895 var isOpen = _ref.isOpen;
2896 var closedDialogCallback = _ref.closedDialogCallback;
2897 var _React$useState2 = _slicedToArray(react.default.useState(false), 2);
2898 var open = _React$useState2[0];
2899 var setOpen = _React$useState2[1];
2900 var _React$useState4 = _slicedToArray(react.default.useState(""), 2);
2901 var pageName = _React$useState4[0];
2902 var setPageName = _React$useState4[1];
2903 (0, react.useEffect)(function() {
2904 setOpen(isOpen);
2905 }, [isOpen]);
2906 var handleDialogClose = function handleDialogClose() {
2907 setOpen(false);
2908 closedDialogCallback();
2909 };
2910 return /*#__PURE__*/ react.default.createElement(_elementor_ui_Dialog.default, {
2911 open,
2912 onClose: handleDialogClose,
2913 maxWidth: "xs",
2914 width: "xs",
2915 fullWidth: true
2916 }, /*#__PURE__*/ react.default.createElement(_elementor_ui_DialogHeader.default, null, /*#__PURE__*/ react.default.createElement(_elementor_ui_DialogHeaderGroup.default, null, /*#__PURE__*/ react.default.createElement(_elementor_ui_DialogTitle.default, null, (0, _wordpress_i18n.__)("Name your page", "elementor")))), /*#__PURE__*/ react.default.createElement(_elementor_ui_DialogContent.default, { dividers: true }, /*#__PURE__*/ react.default.createElement(_elementor_ui_DialogContentText.default, { sx: { mb: 2 } }, (0, _wordpress_i18n.__)("To proceed, please name your first page,", "elementor"), /*#__PURE__*/ react.default.createElement("br", null), (0, _wordpress_i18n.__)("or rename it later.", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui_TextField.default, {
2917 onChange: function handleChange(event) {
2918 var urlParams = new URLSearchParams();
2919 urlParams.append("post_data[post_title]", event.target.value);
2920 setPageName(urlParams.toString());
2921 },
2922 fullWidth: true,
2923 placeholder: (0, _wordpress_i18n.__)("New Page", "elementor")
2924 })), /*#__PURE__*/ react.default.createElement(_elementor_ui_DialogActions.default, null, /*#__PURE__*/ react.default.createElement(_elementor_ui_Button.default, {
2925 onClick: handleDialogClose,
2926 color: "secondary"
2927 }, (0, _wordpress_i18n.__)("Cancel", "elementor")), /*#__PURE__*/ react.default.createElement(_elementor_ui_Button.default, {
2928 variant: "contained",
2929 href: pageName ? url + "&" + pageName : url,
2930 target: "_blank"
2931 }, (0, _wordpress_i18n.__)("Save", "elementor"))));
2932 };
2933 CreateNewPageDialog.propTypes = {
2934 url: import_prop_types.default.string.isRequired,
2935 isOpen: import_prop_types.default.bool.isRequired,
2936 closedDialogCallback: import_prop_types.default.func.isRequired
2937 };
2938
2939 //#endregion
2940 //#region modules/home/assets/js/components/get-started-list-item.js
2941 var GetStartedListItem = function GetStartedListItem(_ref) {
2942 var item = _ref.item;
2943 var image = _ref.image;
2944 var adminUrl = _ref.adminUrl;
2945 var url = item.is_relative_url ? adminUrl + item.url : item.url;
2946 var _React$useState2 = _slicedToArray(react.default.useState(false), 2);
2947 var isOpen = _React$useState2[0];
2948 var openDialog = _React$useState2[1];
2949 return /*#__PURE__*/ react.default.createElement(_elementor_ui_ListItem.default, {
2950 alignItems: "flex-start",
2951 sx: {
2952 gap: 1,
2953 p: 0,
2954 maxWidth: "150px"
2955 }
2956 }, /*#__PURE__*/ react.default.createElement(_elementor_ui_Box.default, {
2957 component: "img",
2958 src: image
2959 }), /*#__PURE__*/ react.default.createElement(_elementor_ui_Box.default, null, /*#__PURE__*/ react.default.createElement(_elementor_ui_ListItemText.default, {
2960 primary: item.title,
2961 primaryTypographyProps: { variant: "subtitle1" },
2962 sx: { my: 0 }
2963 }), /*#__PURE__*/ react.default.createElement(_elementor_ui_Link.default, {
2964 variant: "body2",
2965 color: item.title_small_color ? item.title_small_color : "text.tertiary",
2966 underline: "hover",
2967 href: url,
2968 target: "_blank",
2969 onClick: function handleLinkClick(event) {
2970 if (!item.new_page) return;
2971 event.preventDefault();
2972 openDialog(true);
2973 }
2974 }, item.title_small)), item.new_page && /*#__PURE__*/ react.default.createElement(CreateNewPageDialog, {
2975 url,
2976 isOpen,
2977 closedDialogCallback: function closedDialogCallback() {
2978 return openDialog(false);
2979 }
2980 }));
2981 };
2982 GetStartedListItem.propTypes = {
2983 item: import_prop_types.default.shape({
2984 title: import_prop_types.default.string.isRequired,
2985 title_small: import_prop_types.default.string.isRequired,
2986 url: import_prop_types.default.string.isRequired,
2987 new_page: import_prop_types.default.bool,
2988 is_relative_url: import_prop_types.default.bool,
2989 title_small_color: import_prop_types.default.string
2990 }).isRequired,
2991 adminUrl: import_prop_types.default.string.isRequired,
2992 image: import_prop_types.default.string
2993 };
2994
2995 //#endregion
2996 //#region modules/home/assets/js/components/get-started-section.js
2997 var GetStarted = function GetStarted(_ref) {
2998 var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
2999 var mdGridColumns = props.homeScreenData.hasOwnProperty("sidebar_promotion_variants") ? "repeat(3, 1fr)" : "repeat(4, 1fr)";
3000 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
3001 elevation: 0,
3002 sx: {
3003 py: 3,
3004 px: {
3005 xs: 3,
3006 md: 4
3007 },
3008 display: "flex",
3009 flexDirection: "column",
3010 gap: 2,
3011 borderRadius: 1,
3012 border: "1px solid rgba(0, 0, 0, 0.12)"
3013 }
3014 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, { variant: "h6" }, props.getStartedData.header.title), /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
3015 variant: "body2",
3016 color: "text.secondary"
3017 }, props.getStartedData.header.description)), /*#__PURE__*/ react.default.createElement(_elementor_ui_List.default, { sx: {
3018 display: "grid",
3019 gridTemplateColumns: {
3020 xl: "repeat(4, 1fr)",
3021 md: mdGridColumns,
3022 xs: "repeat(2, 1fr)"
3023 },
3024 columnGap: {
3025 md: 9,
3026 xs: 7
3027 },
3028 rowGap: 3
3029 } }, props.getStartedData.repeater.map(function(item) {
3030 return /*#__PURE__*/ react.default.createElement(GetStartedListItem, {
3031 key: item.title,
3032 item,
3033 image: item.image,
3034 adminUrl: props.adminUrl
3035 });
3036 })));
3037 };
3038 GetStarted.propTypes = {
3039 getStartedData: import_prop_types.default.object.isRequired,
3040 adminUrl: import_prop_types.default.string.isRequired,
3041 homeScreenData: import_prop_types.default.object.isRequired
3042 };
3043
3044 //#endregion
3045 //#region modules/home/assets/js/components/create-with-ai-banner.js
3046 var CreateWithAIBanner = function CreateWithAIBanner(_ref) {
3047 var createWithAIData = _extends({}, (_objectDestructuringEmpty(_ref), _ref)).createWithAIData;
3048 var _useState2 = _slicedToArray((0, react.useState)(""), 2);
3049 var inputValue = _useState2[0];
3050 var setInputValue = _useState2[1];
3051 if (!createWithAIData) return null;
3052 var title = createWithAIData.title;
3053 var description = createWithAIData.description;
3054 var inputPlaceholder = createWithAIData.input_placeholder;
3055 var buttonTitle = createWithAIData.button_title;
3056 var buttonCtaUrl = createWithAIData.button_cta_url;
3057 var backgroundImage = createWithAIData.background_image;
3058 var utmSource = createWithAIData.utm_source;
3059 var utmMedium = createWithAIData.utm_medium;
3060 var utmCampaign = createWithAIData.utm_campaign;
3061 var handleInputChange = function handleInputChange(event) {
3062 setInputValue(event.target.value);
3063 };
3064 var getButtonHref = function getButtonHref() {
3065 if (!inputValue) return buttonCtaUrl;
3066 var url = new URL(buttonCtaUrl);
3067 url.searchParams.append("prompt", inputValue);
3068 url.searchParams.append("utm_source", utmSource);
3069 url.searchParams.append("utm_medium", utmMedium);
3070 url.searchParams.append("utm_campaign", utmCampaign);
3071 return url.toString();
3072 };
3073 var handleNavigation = function handleNavigation() {
3074 if (!inputValue) return;
3075 var destination = getButtonHref();
3076 trackPromoClick(title, destination, getHomeScreenPath("ai_banner"));
3077 window.open(destination, "_blank");
3078 setInputValue("");
3079 };
3080 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
3081 elevation: 0,
3082 sx: {
3083 display: "flex",
3084 flexDirection: "column",
3085 py: 3,
3086 px: {
3087 xs: 3,
3088 md: 4
3089 },
3090 gap: 2,
3091 backgroundImage: "url(".concat(backgroundImage, ")"),
3092 backgroundSize: "cover",
3093 backgroundPosition: "right center",
3094 backgroundRepeat: "no-repeat",
3095 borderRadius: 1,
3096 border: "1px solid rgba(0, 0, 0, 0.12)"
3097 }
3098 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
3099 gap: 1,
3100 justifyContent: "center"
3101 }, /*#__PURE__*/ react.default.createElement(_elementor_ui_Typography.default, { variant: "h6" }, title), /*#__PURE__*/ react.default.createElement(_elementor_ui_Typography.default, {
3102 variant: "body2",
3103 color: "secondary"
3104 }, description)), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: {
3105 display: "flex",
3106 flexDirection: {
3107 xs: "column",
3108 sm: "row"
3109 },
3110 gap: 2,
3111 mt: 1
3112 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.TextField, {
3113 fullWidth: true,
3114 placeholder: inputPlaceholder,
3115 variant: "outlined",
3116 color: "secondary",
3117 size: "small",
3118 sx: { flex: 1 },
3119 value: inputValue,
3120 onChange: handleInputChange,
3121 onKeyDown: function handleKeyDown(event) {
3122 if ("Enter" === event.key) {
3123 event.preventDefault();
3124 handleNavigation();
3125 }
3126 }
3127 }), /*#__PURE__*/ react.default.createElement(_elementor_ui_Button.default, {
3128 variant: "outlined",
3129 size: "small",
3130 color: "secondary",
3131 startIcon: /*#__PURE__*/ react.default.createElement("span", { className: "eicon-ai" }),
3132 onClick: handleNavigation
3133 }, buttonTitle)));
3134 };
3135 CreateWithAIBanner.propTypes = { createWithAIData: import_prop_types.default.object };
3136
3137 //#endregion
3138 //#region modules/home/assets/js/components/load-fallback-message.js
3139 var LoadFallbackMessage = function LoadFallbackMessage() {
3140 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Container, {
3141 disableGutters: true,
3142 maxWidth: "lg",
3143 sx: {
3144 px: 4,
3145 pt: 4
3146 }
3147 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Paper, {
3148 elevation: 0,
3149 sx: {
3150 py: 4,
3151 px: 4,
3152 borderRadius: 1,
3153 border: 1,
3154 borderColor: "divider",
3155 textAlign: "center"
3156 }
3157 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
3158 variant: "body1",
3159 color: "text.secondary"
3160 }, (0, _wordpress_i18n.__)("We couldn't load this content right now. Please try again later.", "elementor")))));
3161 };
3162
3163 //#endregion
3164 //#region modules/home/assets/js/components/home-screen.js
3165 var EditorScreen = function EditorScreen(props) {
3166 var _props$homeScreenData;
3167 if (!((_props$homeScreenData = props.homeScreenData) !== null && _props$homeScreenData !== void 0 && _props$homeScreenData.get_started)) return /*#__PURE__*/ react.default.createElement(LoadFallbackMessage, null);
3168 var hasSidebarPromotion = props.homeScreenData.hasOwnProperty("sidebar_promotion_variants");
3169 return /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.Container, {
3170 disableGutters: true,
3171 maxWidth: "lg",
3172 sx: {
3173 display: "flex",
3174 flexDirection: "column",
3175 gap: 2.5,
3176 px: {
3177 xs: 1.5,
3178 md: 4
3179 }
3180 }
3181 }, /*#__PURE__*/ react.default.createElement(HeaderSection, { editWebsiteUrl: props.homeScreenData.edit_website_url }), props.homeScreenData.top_with_licences && /*#__PURE__*/ react.default.createElement(TopSection, {
3182 topData: props.homeScreenData.top_with_licences,
3183 buttonCtaUrl: props.homeScreenData.button_cta_url
3184 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: {
3185 display: "flex",
3186 flexDirection: {
3187 xs: "column",
3188 sm: "row"
3189 },
3190 justifyContent: "space-between",
3191 gap: 2.5
3192 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, { sx: {
3193 flex: 1,
3194 gap: 2.5
3195 } }, props.homeScreenData.create_with_ai && /*#__PURE__*/ react.default.createElement(CreateWithAIBanner, { createWithAIData: props.homeScreenData.create_with_ai }), /*#__PURE__*/ react.default.createElement(GetStarted, {
3196 getStartedData: props.homeScreenData.get_started,
3197 adminUrl: props.adminUrl,
3198 homeScreenData: props.homeScreenData
3199 }), /*#__PURE__*/ react.default.createElement(ExternalLinksSection, { externalLinksData: props.homeScreenData.external_links })), hasSidebarPromotion && /*#__PURE__*/ react.default.createElement(_elementor_ui.Container, {
3200 maxWidth: "xs",
3201 disableGutters: true,
3202 sx: {
3203 width: { sm: "305px" },
3204 display: "flex",
3205 flexDirection: "column",
3206 gap: 2.5
3207 }
3208 }, /*#__PURE__*/ react.default.createElement(SideBarPromotion, { sideData: props.homeScreenData.sidebar_promotion_variants })))));
3209 };
3210 EditorScreen.propTypes = {
3211 homeScreenData: import_prop_types.default.object,
3212 adminUrl: import_prop_types.default.string
3213 };
3214
3215 //#endregion
3216 //#region modules/home/assets/js/app.js
3217 var App = function App(props) {
3218 return /*#__PURE__*/ react.default.createElement(_elementor_ui.DirectionProvider, { rtl: props.isRTL }, /*#__PURE__*/ react.default.createElement(_elementor_ui.LocalizationProvider, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.ThemeProvider, { colorScheme: "light" }, /*#__PURE__*/ react.default.createElement(EditorScreen, {
3219 homeScreenData: props.homeScreenData,
3220 adminUrl: props.adminUrl
3221 }))));
3222 };
3223 var isRTL = elementorCommon.config.isRTL;
3224 var adminUrl = elementorAppConfig.admin_url;
3225 var rootElement = document.querySelector("#e-home-screen");
3226 App.propTypes = {
3227 isRTL: import_prop_types.default.bool,
3228 adminUrl: import_prop_types.default.string,
3229 homeScreenData: import_prop_types.default.object
3230 };
3231 react_default.render(/*#__PURE__*/ react.default.createElement(App, {
3232 isRTL,
3233 homeScreenData: elementorHomeScreenData,
3234 adminUrl
3235 }), rootElement);
3236
3237 //#endregion
3238 })(React, ReactDOM, elementorV2.ui, elementorV2.ui['Typography'], elementorV2.ui['Button'], wp.i18n, elementorV2.ui['Link'], elementorV2.ui['List'], elementorV2.ui['ListItem'], elementorV2.ui['ListItemText'], elementorV2.ui['ListItemButton'], elementorV2.ui['Box'], elementorV2.ui['DialogHeader'], elementorV2.ui['DialogHeaderGroup'], elementorV2.ui['DialogTitle'], elementorV2.ui['DialogContent'], elementorV2.ui['DialogContentText'], elementorV2.ui['TextField'], elementorV2.ui['DialogActions'], elementorV2.ui['Dialog']);
3239 //# sourceMappingURL=e-home-screen.js.map