PluginProbe
Elementor Website Builder – more than just a page builder / 3.32.0-dev3
Elementor Website Builder – more than just a page builder v3.32.0-dev3
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
← All changes | assets/js/admin.js +31 -1771 4.0.83.32.0-dev3 View file →
@@ -1,1747 +1,8 @@
1 +/*! elementor - v3.32.0 - 08-09-2025 */
1 2 /******/ (() => { // webpackBootstrap
2 3 /******/ var __webpack_modules__ = ({
3 4
4 -/***/ "../app/assets/js/event-track/dashboard/action-controls.js":
5 -/*!*****************************************************************!*\
6 - !*** ../app/assets/js/event-track/dashboard/action-controls.js ***!
7 - \*****************************************************************/
8 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9 -
10 -"use strict";
11 -
12 -
13 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
14 -var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
15 -Object.defineProperty(exports, "__esModule", ({
16 - value: true
17 -}));
18 -exports["default"] = void 0;
19 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
20 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
21 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
22 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
23 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
24 -var _wpDashboardTracking = _interopRequireWildcard(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
25 -var _utils = __webpack_require__(/*! ./utils */ "../app/assets/js/event-track/dashboard/utils.js");
26 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
27 -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28 -function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
29 -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); 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; } }
30 -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
31 -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
32 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
33 -var EXCLUDED_SELECTORS = {
34 - ADMIN_MENU: '#adminmenu',
35 - TOP_BAR: '.e-admin-top-bar',
36 - TOP_BAR_EDITOR_ONE: '#editor-one-top-bar',
37 - WP_ADMIN_BAR: '#wpadminbar',
38 - SUBMENU: '.wp-submenu',
39 - PROMO_PAGE: '.e-feature-promotion',
40 - PROMO_BLANK_STATE: '.elementor-blank_state',
41 - APP: '.e-app',
42 - SIDEBAR_NAVIGATION: '#editor-one-sidebar-navigation',
43 - FLYOUT_MENU: '.elementor-submenu-flyout'
44 -};
45 -var ActionControlTracking = /*#__PURE__*/function (_BaseTracking) {
46 - function ActionControlTracking() {
47 - (0, _classCallCheck2.default)(this, ActionControlTracking);
48 - return _callSuper(this, ActionControlTracking, arguments);
49 - }
50 - (0, _inherits2.default)(ActionControlTracking, _BaseTracking);
51 - return (0, _createClass2.default)(ActionControlTracking, null, [{
52 - key: "init",
53 - value: function init() {
54 - if (!_utils.DashboardUtils.isElementorPage()) {
55 - return;
56 - }
57 - this.attachDelegatedHandlers();
58 - this.addTrackingAttributesToFilterButtons();
59 - this.initializeLinkDataIds();
60 - }
61 - }, {
62 - key: "initializeLinkDataIds",
63 - value: function initializeLinkDataIds() {
64 - var _this = this;
65 - var initializeLinks = function initializeLinks() {
66 - var links = document.querySelectorAll('a[href]');
67 - links.forEach(function (link) {
68 - if (_this.isExcludedElement(link) || _this.isNavigationLink(link) || link.hasAttribute('data-id')) {
69 - return;
70 - }
71 - var href = link.getAttribute('href');
72 - if (!href) {
73 - return;
74 - }
75 - var cleanedHref = _this.removeNonceFromUrl(href);
76 - if (cleanedHref) {
77 - link.setAttribute('data-id', cleanedHref);
78 - }
79 - });
80 - };
81 - if ('loading' === document.readyState) {
82 - document.addEventListener('DOMContentLoaded', initializeLinks);
83 - } else {
84 - initializeLinks();
85 - }
86 - }
87 - }, {
88 - key: "addTrackingAttributesToFilterButtons",
89 - value: function addTrackingAttributesToFilterButtons() {
90 - var body = document.body;
91 - if (!body) {
92 - return;
93 - }
94 - var screenPrefix = '';
95 - switch (true) {
96 - case body.classList.contains('post-type-elementor_library'):
97 - screenPrefix = 'elementor_library-library';
98 - break;
99 - case body.classList.contains('post-type-e-floating-buttons'):
100 - screenPrefix = 'e-floating-buttons';
101 - break;
102 - default:
103 - return;
104 - }
105 - var addDataIdToListTableButtons = function addDataIdToListTableButtons() {
106 - var buttonConfigs = [{
107 - id: 'post-query-submit',
108 - suffix: 'filter'
109 - }, {
110 - id: 'search-submit',
111 - suffix: 'search'
112 - }, {
113 - id: 'doaction',
114 - suffix: 'apply'
115 - }, {
116 - id: 'doaction2',
117 - suffix: 'apply-bottom'
118 - }];
119 - buttonConfigs.forEach(function (config) {
120 - var button = document.getElementById(config.id);
121 - if (!button || button.hasAttribute('data-id')) {
122 - return;
123 - }
124 - button.setAttribute('data-id', "".concat(screenPrefix, "-button-").concat(config.suffix));
125 - });
126 - };
127 - if ('loading' === document.readyState) {
128 - document.addEventListener('DOMContentLoaded', addDataIdToListTableButtons);
129 - } else {
130 - addDataIdToListTableButtons();
131 - }
132 - }
133 - }, {
134 - key: "isExcludedElement",
135 - value: function isExcludedElement(element) {
136 - for (var _i = 0, _Object$values = Object.values(EXCLUDED_SELECTORS); _i < _Object$values.length; _i++) {
137 - var selector = _Object$values[_i];
138 - if (element.closest(selector)) {
139 - return true;
140 - }
141 - }
142 - if (element.classList.contains('go-pro')) {
143 - return true;
144 - }
145 - return false;
146 - }
147 - }, {
148 - key: "attachDelegatedHandlers",
149 - value: function attachDelegatedHandlers() {
150 - var _this2 = this;
151 - var FILTER_BUTTON_IDS = ['search-submit', 'post-query-submit'];
152 - this.addEventListenerTracked(document, 'click', function (event) {
153 - var _event$target;
154 - var base = event.target && 1 === event.target.nodeType ? event.target : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.parentElement;
155 - if (!base) {
156 - return;
157 - }
158 - var toggle = base.closest('.elementor-role-toggle');
159 - if (toggle && !_this2.isExcludedElement(toggle)) {
160 - _this2.trackControl(toggle, _wpDashboardTracking.CONTROL_TYPES.TOGGLE);
161 - return;
162 - }
163 - var button = base.closest('button, input[type="submit"], input[type="button"], .button, .e-btn');
164 - if (button && !_this2.isExcludedElement(button)) {
165 - if (FILTER_BUTTON_IDS.includes(button.id)) {
166 - _this2.trackControl(button, _wpDashboardTracking.CONTROL_TYPES.FILTER);
167 - return;
168 - }
169 - _this2.trackControl(button, _wpDashboardTracking.CONTROL_TYPES.BUTTON);
170 - return;
171 - }
172 - var link = base.closest('a');
173 - if (link && !_this2.isExcludedElement(link) && !_this2.isNavigationLink(link)) {
174 - _this2.trackControl(link, _wpDashboardTracking.CONTROL_TYPES.LINK);
175 - }
176 - }, {
177 - capture: false
178 - });
179 - this.addEventListenerTracked(document, 'change', function (event) {
180 - var _event$target2;
181 - var base = event.target && 1 === event.target.nodeType ? event.target : (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.parentElement;
182 - if (!base) {
183 - return;
184 - }
185 - var toggle = null;
186 - if (_wpDashboardTracking.default.isEditorOneActive()) {
187 - toggle = base.closest('.MuiSwitch-switchBase');
188 - } else {
189 - toggle = base.closest('.components-toggle-control');
190 - }
191 - if (toggle && !_this2.isExcludedElement(toggle)) {
192 - _this2.trackControl(toggle, _wpDashboardTracking.CONTROL_TYPES.TOGGLE);
193 - return;
194 - }
195 - var checkbox = base.closest('input[type="checkbox"]');
196 - if (checkbox && !_this2.isExcludedElement(checkbox)) {
197 - _this2.trackControl(checkbox, _wpDashboardTracking.CONTROL_TYPES.CHECKBOX);
198 - return;
199 - }
200 - var radio = base.closest('input[type="radio"]');
201 - if (radio && !_this2.isExcludedElement(radio)) {
202 - _this2.trackControl(radio, _wpDashboardTracking.CONTROL_TYPES.RADIO);
203 - return;
204 - }
205 - var select = base.closest('select');
206 - if (select && !_this2.isExcludedElement(select)) {
207 - _this2.trackControl(select, _wpDashboardTracking.CONTROL_TYPES.SELECT);
208 - }
209 - });
210 - }
211 - }, {
212 - key: "isNavigationLink",
213 - value: function isNavigationLink(link) {
214 - var href = link.getAttribute('href');
215 - if (!href) {
216 - return false;
217 - }
218 - if (href.startsWith('#') && href.includes('tab')) {
219 - return true;
220 - }
221 - if (link.classList.contains('nav-tab')) {
222 - return true;
223 - }
224 - var isInNavigation = link.closest('.wp-submenu, #adminmenu, .e-admin-top-bar, #wpadminbar');
225 - return !!isInNavigation;
226 - }
227 - }, {
228 - key: "trackControl",
229 - value: function trackControl(element, controlType) {
230 - var controlIdentifier = this.extractControlIdentifier(element, controlType);
231 - if (!controlIdentifier) {
232 - return;
233 - }
234 - _wpDashboardTracking.default.trackActionControl(controlIdentifier, controlType);
235 - }
236 - }, {
237 - key: "extractControlIdentifier",
238 - value: function extractControlIdentifier(element, controlType) {
239 - if (_wpDashboardTracking.CONTROL_TYPES.RADIO === controlType) {
240 - var name = element.getAttribute('name');
241 - var value = element.value || element.getAttribute('value');
242 - if (name && value) {
243 - return "".concat(name, "-").concat(value);
244 - }
245 - if (name) {
246 - return name;
247 - }
248 - }
249 - if (_wpDashboardTracking.CONTROL_TYPES.SELECT === controlType) {
250 - var _name = element.getAttribute('name');
251 - if (_name) {
252 - return _name;
253 - }
254 - }
255 - if (_wpDashboardTracking.CONTROL_TYPES.CHECKBOX === controlType) {
256 - var _name2 = element.getAttribute('name');
257 - if (_name2) {
258 - var checkboxesWithSameName = document.querySelectorAll("input[type=\"checkbox\"][name=\"".concat(CSS.escape(_name2), "\"]"));
259 - if (checkboxesWithSameName.length > 1) {
260 - var _value = element.value || element.getAttribute('value');
261 - if (_value) {
262 - return "".concat(_name2, "-").concat(_value);
263 - }
264 - }
265 - return _name2;
266 - }
267 - }
268 - if (_wpDashboardTracking.CONTROL_TYPES.LINK === controlType) {
269 - var dataId = element.getAttribute('data-id');
270 - if (dataId) {
271 - return dataId;
272 - }
273 - var href = element.getAttribute('href');
274 - if (href) {
275 - return this.removeNonceFromUrl(href);
276 - }
277 - }
278 - if (_wpDashboardTracking.CONTROL_TYPES.BUTTON === controlType || _wpDashboardTracking.CONTROL_TYPES.TOGGLE === controlType || _wpDashboardTracking.CONTROL_TYPES.FILTER === controlType) {
279 - var _dataId = element.getAttribute('data-id');
280 - if (_dataId) {
281 - return _dataId;
282 - }
283 - var classIdMatch = this.extractClassId(element);
284 - if (classIdMatch) {
285 - return classIdMatch;
286 - }
287 - }
288 - return '';
289 - }
290 - }, {
291 - key: "extractClassId",
292 - value: function extractClassId(element) {
293 - var classes = element.className;
294 - if (!classes || 'string' !== typeof classes) {
295 - return '';
296 - }
297 - var classList = classes.split(' ');
298 - var _iterator = _createForOfIteratorHelper(classList),
299 - _step;
300 - try {
301 - for (_iterator.s(); !(_step = _iterator.n()).done;) {
302 - var cls = _step.value;
303 - if (cls.startsWith('e-id-')) {
304 - return cls.substring(5);
305 - }
306 - }
307 - } catch (err) {
308 - _iterator.e(err);
309 - } finally {
310 - _iterator.f();
311 - }
312 - return '';
313 - }
314 - }, {
315 - key: "removeNonceFromUrl",
316 - value: function removeNonceFromUrl(url) {
317 - try {
318 - var urlObj = new URL(url, window.location.origin);
319 - urlObj.searchParams.delete('_wpnonce');
320 - var postParam = urlObj.searchParams.get('post');
321 - if (postParam !== null && /^[0-9]+$/.test(postParam)) {
322 - urlObj.searchParams.delete('post');
323 - }
324 - return urlObj.pathname + urlObj.search + urlObj.hash;
325 - } catch (e) {
326 - return url;
327 - }
328 - }
329 - }]);
330 -}(_baseTracking.default);
331 -var _default = exports["default"] = ActionControlTracking;
332 -
333 -/***/ }),
334 -
335 -/***/ "../app/assets/js/event-track/dashboard/base-tracking.js":
336 -/*!***************************************************************!*\
337 - !*** ../app/assets/js/event-track/dashboard/base-tracking.js ***!
338 - \***************************************************************/
339 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
340 -
341 -"use strict";
342 -
343 -
344 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
345 -Object.defineProperty(exports, "__esModule", ({
346 - value: true
347 -}));
348 -exports["default"] = void 0;
349 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
350 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
351 -var BaseTracking = /*#__PURE__*/function () {
352 - function BaseTracking() {
353 - (0, _classCallCheck2.default)(this, BaseTracking);
354 - }
355 - return (0, _createClass2.default)(BaseTracking, null, [{
356 - key: "ensureOwnArrays",
357 - value: function ensureOwnArrays() {
358 - if (!Object.prototype.hasOwnProperty.call(this, 'observers')) {
359 - this.observers = [];
360 - }
361 - if (!Object.prototype.hasOwnProperty.call(this, 'eventListeners')) {
362 - this.eventListeners = [];
363 - }
364 - }
365 - }, {
366 - key: "destroy",
367 - value: function destroy() {
368 - this.ensureOwnArrays();
369 - this.observers.forEach(function (observer) {
370 - return observer.disconnect();
371 - });
372 - this.observers = [];
373 - this.eventListeners.forEach(function (_ref) {
374 - var target = _ref.target,
375 - type = _ref.type,
376 - handler = _ref.handler,
377 - options = _ref.options;
378 - target.removeEventListener(type, handler, options);
379 - });
380 - this.eventListeners = [];
381 - }
382 - }, {
383 - key: "addObserver",
384 - value: function addObserver(target, options, callback) {
385 - this.ensureOwnArrays();
386 - var observer = new MutationObserver(callback);
387 - observer.observe(target, options);
388 - this.observers.push(observer);
389 - return observer;
390 - }
391 - }, {
392 - key: "addEventListenerTracked",
393 - value: function addEventListenerTracked(target, type, handler) {
394 - var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
395 - this.ensureOwnArrays();
396 - target.addEventListener(type, handler, options);
397 - this.eventListeners.push({
398 - target: target,
399 - type: type,
400 - handler: handler,
401 - options: options
402 - });
403 - }
404 - }]);
405 -}();
406 -var _default = exports["default"] = BaseTracking;
407 -
408 -/***/ }),
409 -
410 -/***/ "../app/assets/js/event-track/dashboard/menu-promotion.js":
411 -/*!****************************************************************!*\
412 - !*** ../app/assets/js/event-track/dashboard/menu-promotion.js ***!
413 - \****************************************************************/
414 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
415 -
416 -"use strict";
417 -
418 -
419 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
420 -Object.defineProperty(exports, "__esModule", ({
421 - value: true
422 -}));
423 -exports["default"] = void 0;
424 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
425 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
426 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
427 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
428 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
429 -var _wpDashboardTracking = _interopRequireDefault(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
430 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
431 -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
432 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
433 -var PROMO_MENU_ITEMS = {
434 - go_elementor_pro: 'Upgrade'
435 -};
436 -var MenuPromotionTracking = /*#__PURE__*/function (_BaseTracking) {
437 - function MenuPromotionTracking() {
438 - (0, _classCallCheck2.default)(this, MenuPromotionTracking);
439 - return _callSuper(this, MenuPromotionTracking, arguments);
440 - }
441 - (0, _inherits2.default)(MenuPromotionTracking, _BaseTracking);
442 - return (0, _createClass2.default)(MenuPromotionTracking, null, [{
443 - key: "init",
444 - value: function init() {
445 - this.attachDelegatedTracking();
446 - }
447 - }, {
448 - key: "attachDelegatedTracking",
449 - value: function attachDelegatedTracking() {
450 - var _this = this;
451 - this.addEventListenerTracked(document, 'click', function (event) {
452 - var target = event.target;
453 - if (!target) {
454 - return;
455 - }
456 - var link = target.closest('a');
457 - if (!link) {
458 - return;
459 - }
460 - var href = link.getAttribute('href');
461 - if (!href) {
462 - return;
463 - }
464 - var menuItemKey = _this.extractPromoMenuKey(href);
465 - if (!menuItemKey) {
466 - return;
467 - }
468 - _this.handleMenuPromoClick(link, menuItemKey);
469 - }, {
470 - capture: true
471 - });
472 - }
473 - }, {
474 - key: "extractPromoMenuKey",
475 - value: function extractPromoMenuKey(href) {
476 - for (var _i = 0, _Object$keys = Object.keys(PROMO_MENU_ITEMS); _i < _Object$keys.length; _i++) {
477 - var menuItemKey = _Object$keys[_i];
478 - if (href.includes("page=".concat(menuItemKey))) {
479 - return menuItemKey;
480 - }
481 - }
482 - return null;
483 - }
484 - }, {
485 - key: "handleMenuPromoClick",
486 - value: function handleMenuPromoClick(menuItem, menuItemKey) {
487 - var destination = menuItem.getAttribute('href');
488 - var promoName = PROMO_MENU_ITEMS[menuItemKey];
489 - var path = menuItemKey.replace('elementor_', '').replace(/_/g, '/');
490 - _wpDashboardTracking.default.trackPromoClicked(promoName, destination, path);
491 - }
492 - }]);
493 -}(_baseTracking.default);
494 -var _default = exports["default"] = MenuPromotionTracking;
495 -
496 -/***/ }),
497 -
498 -/***/ "../app/assets/js/event-track/dashboard/navigation.js":
499 -/*!************************************************************!*\
500 - !*** ../app/assets/js/event-track/dashboard/navigation.js ***!
501 - \************************************************************/
502 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
503 -
504 -"use strict";
505 -
506 -
507 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
508 -var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
509 -Object.defineProperty(exports, "__esModule", ({
510 - value: true
511 -}));
512 -exports["default"] = void 0;
513 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
514 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
515 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
516 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
517 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
518 -var _wpDashboardTracking = _interopRequireWildcard(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
519 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
520 -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
521 -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
522 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
523 -var ELEMENTOR_MENU_SELECTORS = {
524 - ELEMENTOR_TOP_LEVEL: 'li#toplevel_page_elementor',
525 - TEMPLATES_TOP_LEVEL: 'li#menu-posts-elementor_library',
526 - ELEMENTOR_HOME_TOP_LEVEL: 'li#toplevel_page_elementor-home',
527 - ADMIN_MENU: '#adminmenu',
528 - TOP_LEVEL_LINK: '.wp-menu-name',
529 - SUBMENU_CONTAINER: '.wp-submenu',
530 - SUBMENU_ITEM: '.wp-submenu li a',
531 - SUBMENU_ITEM_TOP_LEVEL: '.wp-has-submenu',
532 - SIDEBAR_NAVIGATION: '#editor-one-sidebar-navigation'
533 -};
534 -var NavigationTracking = /*#__PURE__*/function (_BaseTracking) {
535 - function NavigationTracking() {
536 - (0, _classCallCheck2.default)(this, NavigationTracking);
537 - return _callSuper(this, NavigationTracking, arguments);
538 - }
539 - (0, _inherits2.default)(NavigationTracking, _BaseTracking);
540 - return (0, _createClass2.default)(NavigationTracking, null, [{
541 - key: "init",
542 - value: function init() {
543 - if (_wpDashboardTracking.default.isEditorOneActive()) {
544 - this.attachSidebarNavigationTracking();
545 - this.attachElementorHomeMenuTracking();
546 - } else {
547 - this.attachElementorMenuTracking();
548 - this.attachTemplatesMenuTracking();
549 - }
550 - }
551 - }, {
552 - key: "attachTemplatesMenuTracking",
553 - value: function attachTemplatesMenuTracking() {
554 - var templatesMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.TEMPLATES_TOP_LEVEL);
555 - if (!templatesMenu) {
556 - return;
557 - }
558 - this.attachMenuTracking(templatesMenu, 'Templates');
559 - }
560 - }, {
561 - key: "attachElementorHomeMenuTracking",
562 - value: function attachElementorHomeMenuTracking() {
563 - var elementorHomeMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.ELEMENTOR_HOME_TOP_LEVEL);
564 - if (!elementorHomeMenu) {
565 - return;
566 - }
567 - this.attachMenuTracking(elementorHomeMenu, 'Elementor');
568 - }
569 - }, {
570 - key: "attachElementorMenuTracking",
571 - value: function attachElementorMenuTracking() {
572 - var elementorMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.ELEMENTOR_TOP_LEVEL);
573 - if (!elementorMenu) {
574 - return;
575 - }
576 - this.attachMenuTracking(elementorMenu, 'Elementor');
577 - }
578 - }, {
579 - key: "attachSidebarNavigationTracking",
580 - value: function attachSidebarNavigationTracking() {
581 - var sidebar = document.querySelector(ELEMENTOR_MENU_SELECTORS.SIDEBAR_NAVIGATION);
582 - if (sidebar) {
583 - this.attachSidebarClickListener(sidebar);
584 - }
585 - }
586 - }, {
587 - key: "attachSidebarClickListener",
588 - value: function attachSidebarClickListener(sidebar) {
589 - var _this = this;
590 - this.addEventListenerTracked(sidebar, 'click', function (event) {
591 - _this.handleSidebarClick(event);
592 - }, {
593 - capture: true
594 - });
595 - }
596 - }, {
597 - key: "attachMenuTracking",
598 - value: function attachMenuTracking(menuElement, menuName) {
599 - var _this2 = this;
600 - this.addEventListenerTracked(menuElement, 'click', function (event) {
601 - _this2.handleMenuClick(event, menuName);
602 - });
603 - }
604 - }, {
605 - key: "handleMenuClick",
606 - value: function handleMenuClick(event, menuName) {
607 - var link = event.target.closest('a');
608 - if (!link) {
609 - return;
610 - }
611 - var isTopLevel = link.classList.contains('menu-top');
612 - var itemId = this.extractItemId(link);
613 - var area = this.determineNavArea(link);
614 - _wpDashboardTracking.default.trackNavClicked(itemId, isTopLevel ? null : menuName, area);
615 - }
616 - }, {
617 - key: "handleSidebarClick",
618 - value: function handleSidebarClick(event) {
619 - var clickedElement = event.target.closest('a, button, [role="button"]');
620 - if (!clickedElement) {
621 - return;
622 - }
623 - var itemId = this.extractSidebarItemId(clickedElement);
624 - _wpDashboardTracking.default.trackNavClicked(itemId, null, _wpDashboardTracking.NAV_AREAS.SIDEBAR_MENU);
625 - }
626 - }, {
627 - key: "extractSidebarItemId",
628 - value: function extractSidebarItemId(element) {
629 - var paragraph = element.querySelector('p');
630 - if (paragraph) {
631 - return paragraph.textContent.trim();
632 - }
633 - var textContent = element.textContent.trim();
634 - if (textContent) {
635 - return textContent;
636 - }
637 - return 'unknown';
638 - }
639 - }, {
640 - key: "extractPageFromUrl",
641 - value: function extractPageFromUrl(href) {
642 - var urlParams = new URLSearchParams(href.split('?')[1] || '');
643 - var page = urlParams.get('page');
644 - if (page) {
645 - return page;
646 - }
647 - var postType = urlParams.get('post_type');
648 - if (postType) {
649 - return postType;
650 - }
651 - return 'unknown';
652 - }
653 - }, {
654 - key: "extractItemId",
655 - value: function extractItemId(link) {
656 - var textContent = link.textContent.trim();
657 - if (textContent) {
658 - return textContent;
659 - }
660 - var href = link.getAttribute('href');
661 - if (href) {
662 - return this.extractPageFromUrl(href);
663 - }
664 - var linkId = link.getAttribute('id');
665 - if (linkId) {
666 - return linkId;
667 - }
668 - return 'unknown';
669 - }
670 - }, {
671 - key: "determineNavArea",
672 - value: function determineNavArea(link) {
673 - var parentMenu = link.closest('li.menu-top');
674 - if (parentMenu) {
675 - var isSubmenuItem = link.closest(ELEMENTOR_MENU_SELECTORS.SUBMENU_CONTAINER);
676 - if (isSubmenuItem) {
677 - var submenuElement = link.closest(ELEMENTOR_MENU_SELECTORS.SUBMENU_ITEM_TOP_LEVEL);
678 - if (submenuElement.classList.contains('wp-not-current-submenu')) {
679 - return _wpDashboardTracking.NAV_AREAS.HOVER_MENU;
680 - }
681 - return _wpDashboardTracking.NAV_AREAS.SUBMENU;
682 - }
683 - return _wpDashboardTracking.NAV_AREAS.LEFT_MENU;
684 - }
685 - return _wpDashboardTracking.NAV_AREAS.LEFT_MENU;
686 - }
687 - }]);
688 -}(_baseTracking.default);
689 -var _default = exports["default"] = NavigationTracking;
690 -
691 -/***/ }),
692 -
693 -/***/ "../app/assets/js/event-track/dashboard/plugin-actions.js":
694 -/*!****************************************************************!*\
695 - !*** ../app/assets/js/event-track/dashboard/plugin-actions.js ***!
696 - \****************************************************************/
697 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
698 -
699 -"use strict";
700 -
701 -
702 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
703 -Object.defineProperty(exports, "__esModule", ({
704 - value: true
705 -}));
706 -exports["default"] = void 0;
707 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
708 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
709 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
710 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
711 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
712 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
713 -var _wpDashboardTracking = _interopRequireDefault(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
714 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
715 -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
716 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
717 -var PLUGIN_TYPE = {
718 - ELEMENTOR: 'core',
719 - ELEMENTOR_PRO: 'pro'
720 -};
721 -var PluginActions = /*#__PURE__*/function (_BaseTracking) {
722 - function PluginActions() {
723 - (0, _classCallCheck2.default)(this, PluginActions);
724 - return _callSuper(this, PluginActions, arguments);
725 - }
726 - (0, _inherits2.default)(PluginActions, _BaseTracking);
727 - return (0, _createClass2.default)(PluginActions, null, [{
728 - key: "init",
729 - value: function init() {
730 - this.attachCoreDeactivationTracking();
731 - this.attachProDeactivationTracking();
732 - this.attachProDeletionTracking();
733 - }
734 - }, {
735 - key: "attachCoreDeactivationTracking",
736 - value: function attachCoreDeactivationTracking() {
737 - var _this = this;
738 - var dialogForm = document.querySelector('#elementor-deactivate-feedback-dialog-form');
739 - if (!dialogForm) {
740 - return;
741 - }
742 - this.addEventListenerTracked(dialogForm, 'change', function (event) {
743 - var target = event.target;
744 - if (target.classList.contains('elementor-deactivate-feedback-dialog-input')) {
745 - _this.selectedReason = target.value;
746 - }
747 - });
748 - this.observeModalButtons();
749 - }
750 - }, {
751 - key: "attachProDeactivationTracking",
752 - value: function attachProDeactivationTracking() {
753 - var _this2 = this;
754 - var pluginsTable = document.querySelector('.plugins');
755 - if (!pluginsTable) {
756 - return;
757 - }
758 - this.addEventListenerTracked(pluginsTable, 'click', function (event) {
759 - var link = event.target.closest('a');
760 - if (link && 'deactivate-elementor-pro' === link.id) {
761 - _this2.trackProDeactivation();
762 - }
763 - }, {
764 - capture: true
765 - });
766 - }
767 - }, {
768 - key: "observeModalButtons",
769 - value: function observeModalButtons() {
770 - var _this3 = this;
771 - var checkAndAttachDelegation = function checkAndAttachDelegation() {
772 - var modal = document.querySelector('#elementor-deactivate-feedback-modal');
773 - if (!modal) {
774 - return false;
775 - }
776 - _this3.addEventListenerTracked(modal, 'click', function (event) {
777 - var submitButton = event.target.closest('.dialog-submit');
778 - var skipButton = event.target.closest('.dialog-skip');
779 - if (submitButton) {
780 - _this3.trackCoreDeactivation('submit&deactivate');
781 - } else if (skipButton) {
782 - _this3.trackCoreDeactivation('skip&deactivate');
783 - }
784 - }, {
785 - capture: true
786 - });
787 - return true;
788 - };
789 - if (checkAndAttachDelegation()) {
790 - return;
791 - }
792 - this.addObserver(document.body, {
793 - childList: true,
794 - subtree: true
795 - }, function (mutations, observer) {
796 - if (checkAndAttachDelegation()) {
797 - observer.disconnect();
798 - }
799 - });
800 - }
801 - }, {
802 - key: "getUserInput",
803 - value: function getUserInput() {
804 - var reasonsWithInput = ['found_a_better_plugin', 'other'];
805 - if (!this.selectedReason || !reasonsWithInput.includes(this.selectedReason)) {
806 - return null;
807 - }
808 - var inputField = document.querySelector("input[name=\"reason_".concat(this.selectedReason, "\"]"));
809 - if (inputField && inputField.value) {
810 - return inputField.value;
811 - }
812 - return null;
813 - }
814 - }, {
815 - key: "trackCoreDeactivation",
816 - value: function trackCoreDeactivation(action) {
817 - var properties = {
818 - deactivate_form_submit: action,
819 - deactivate_plugin_type: PLUGIN_TYPE.ELEMENTOR
820 - };
821 - if (this.selectedReason) {
822 - properties.deactivate_feedback_reason = this.selectedReason;
823 - }
824 - var userInput = this.getUserInput();
825 - if (userInput) {
826 - properties.deactivate_feedback_reason += "/".concat(userInput);
827 - }
828 - _wpDashboardTracking.default.dispatchEvent('wpdash_deactivate_plugin', properties, {
829 - send_immediately: true
830 - });
831 - }
832 - }, {
833 - key: "trackProDeactivation",
834 - value: function trackProDeactivation() {
835 - this.trackProAction('deactivate');
836 - }
837 - }, {
838 - key: "attachProDeletionTracking",
839 - value: function attachProDeletionTracking() {
840 - var _this4 = this;
841 - if ('undefined' === typeof jQuery) {
842 - return;
843 - }
844 - jQuery(document).on('wp-plugin-deleting', function (event, args) {
845 - if ('elementor-pro' === (args === null || args === void 0 ? void 0 : args.slug)) {
846 - _this4.trackProAction('delete');
847 - }
848 - });
849 - }
850 - }, {
851 - key: "destroy",
852 - value: function destroy() {
853 - if ('undefined' !== typeof jQuery) {
854 - jQuery(document).off('wp-plugin-deleting');
855 - }
856 - _baseTracking.default.destroy.call(this);
857 - }
858 - }, {
859 - key: "trackProAction",
860 - value: function trackProAction(action) {
861 - var eventMap = {
862 - deactivate: {
863 - eventName: 'wpdash_deactivate_plugin',
864 - propertyKey: 'deactivate_plugin_type'
865 - },
866 - delete: {
867 - eventName: 'wpdash_delete_plugin',
868 - propertyKey: 'plugin_delete'
869 - }
870 - };
871 - var config = eventMap[action];
872 - if (!config) {
873 - return;
874 - }
875 - var properties = (0, _defineProperty2.default)({}, config.propertyKey, PLUGIN_TYPE.ELEMENTOR_PRO);
876 - _wpDashboardTracking.default.dispatchEvent(config.eventName, properties, {
877 - send_immediately: true
878 - });
879 - }
880 - }]);
881 -}(_baseTracking.default);
882 -(0, _defineProperty2.default)(PluginActions, "selectedReason", null);
883 -var _default = exports["default"] = PluginActions;
884 -
885 -/***/ }),
886 -
887 -/***/ "../app/assets/js/event-track/dashboard/promotion.js":
888 -/*!***********************************************************!*\
889 - !*** ../app/assets/js/event-track/dashboard/promotion.js ***!
890 - \***********************************************************/
891 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
892 -
893 -"use strict";
894 -
895 -
896 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
897 -Object.defineProperty(exports, "__esModule", ({
898 - value: true
899 -}));
900 -exports["default"] = void 0;
901 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
902 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
903 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
904 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
905 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
906 -var _wpDashboardTracking = _interopRequireDefault(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
907 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
908 -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
909 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
910 -var PROMO_SELECTORS = {
911 - PROMO_PAGE: '.e-feature-promotion, .elementor-settings-form-page, #elementor-element-manager-wrap',
912 - PROMO_BLANK_STATE: '.elementor-blank_state',
913 - CTA_BUTTON: '.go-pro',
914 - TITLE: 'h3'
915 -};
916 -var PromotionTracking = /*#__PURE__*/function (_BaseTracking) {
917 - function PromotionTracking() {
918 - (0, _classCallCheck2.default)(this, PromotionTracking);
919 - return _callSuper(this, PromotionTracking, arguments);
920 - }
921 - (0, _inherits2.default)(PromotionTracking, _BaseTracking);
922 - return (0, _createClass2.default)(PromotionTracking, null, [{
923 - key: "init",
924 - value: function init() {
925 - this.attachDelegatedTracking();
926 - }
927 - }, {
928 - key: "attachDelegatedTracking",
929 - value: function attachDelegatedTracking() {
930 - var _this = this;
931 - this.addEventListenerTracked(document, 'click', function (event) {
932 - var target = event.target;
933 - if (!target) {
934 - return;
935 - }
936 - var button = target.closest("a".concat(PROMO_SELECTORS.CTA_BUTTON));
937 - if (!button) {
938 - return;
939 - }
940 - var promoPage = button.closest("".concat(PROMO_SELECTORS.PROMO_PAGE, ", ").concat(PROMO_SELECTORS.PROMO_BLANK_STATE));
941 - if (!promoPage) {
942 - return;
943 - }
944 - _this.handlePromoClick(button, promoPage);
945 - }, {
946 - capture: true
947 - });
948 - }
949 - }, {
950 - key: "handlePromoClick",
951 - value: function handlePromoClick(button, promoPage) {
952 - var promoTitle = this.extractPromoTitle(promoPage, button);
953 - var destination = button.getAttribute('href');
954 - var path = this.extractPromoPath();
955 - _wpDashboardTracking.default.trackPromoClicked(promoTitle, destination, path);
956 - }
957 - }, {
958 - key: "extractPromoTitle",
959 - value: function extractPromoTitle(promoPage, button) {
960 - var titleElement = promoPage.querySelector(PROMO_SELECTORS.TITLE);
961 - return titleElement ? titleElement.textContent.trim() : button.textContent.trim();
962 - }
963 - }, {
964 - key: "extractPromoPath",
965 - value: function extractPromoPath() {
966 - var urlParams = new URLSearchParams(window.location.search);
967 - var page = urlParams.get('page');
968 - if (!page) {
969 - return 'elementor';
970 - }
971 - return page.replace('elementor_', '').replace(/_/g, '/');
972 - }
973 - }]);
974 -}(_baseTracking.default);
975 -var _default = exports["default"] = PromotionTracking;
976 -
977 -/***/ }),
978 -
979 -/***/ "../app/assets/js/event-track/dashboard/screen-view.js":
980 -/*!*************************************************************!*\
981 - !*** ../app/assets/js/event-track/dashboard/screen-view.js ***!
982 - \*************************************************************/
983 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
984 -
985 -"use strict";
986 -
987 -
988 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
989 -var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
990 -Object.defineProperty(exports, "__esModule", ({
991 - value: true
992 -}));
993 -exports["default"] = void 0;
994 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
995 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
996 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
997 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
998 -var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
999 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1000 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1001 -var _wpDashboardTracking = _interopRequireWildcard(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
1002 -var _utils = __webpack_require__(/*! ./utils */ "../app/assets/js/event-track/dashboard/utils.js");
1003 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
1004 -function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
1005 -function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
1006 -function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); 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; } }
1007 -function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
1008 -function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
1009 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1010 -function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
1011 -var SCREEN_SELECTORS = {
1012 - NAV_TAB_WRAPPER: '.nav-tab-wrapper',
1013 - NAV_TAB: '.nav-tab',
1014 - NAV_TAB_ACTIVE: '.nav-tab-active',
1015 - SETTINGS_FORM_PAGE: '.elementor-settings-form-page',
1016 - SETTINGS_FORM_PAGE_ACTIVE: '.elementor-settings-form-page.elementor-active',
1017 - FLOATING_ELEMENTS_MODAL: '#elementor-new-floating-elements-modal',
1018 - TEMPLATE_DIALOG_MODAL: '#elementor-new-template-dialog-content'
1019 -};
1020 -var TRACKED_MODALS = [SCREEN_SELECTORS.FLOATING_ELEMENTS_MODAL, SCREEN_SELECTORS.TEMPLATE_DIALOG_MODAL];
1021 -var ScreenViewTracking = /*#__PURE__*/function (_BaseTracking) {
1022 - function ScreenViewTracking() {
1023 - (0, _classCallCheck2.default)(this, ScreenViewTracking);
1024 - return _callSuper(this, ScreenViewTracking, arguments);
1025 - }
1026 - (0, _inherits2.default)(ScreenViewTracking, _BaseTracking);
1027 - return (0, _createClass2.default)(ScreenViewTracking, null, [{
1028 - key: "init",
1029 - value: function init() {
1030 - if (!_utils.DashboardUtils.isElementorPage()) {
1031 - return;
1032 - }
1033 - this.attachTabChangeTracking();
1034 - }
1035 - }, {
1036 - key: "destroy",
1037 - value: function destroy() {
1038 - _superPropGet(ScreenViewTracking, "destroy", this, 2)([]);
1039 - this.trackedScreens.clear();
1040 - }
1041 - }, {
1042 - key: "getScreenData",
1043 - value: function getScreenData() {
1044 - var urlParams = new URLSearchParams(window.location.search);
1045 - var page = urlParams.get('page');
1046 - var postType = urlParams.get('post_type');
1047 - var hash = window.location.hash;
1048 - var screenId = '';
1049 - var screenType = '';
1050 - if (page) {
1051 - screenId = page;
1052 - } else if (postType) {
1053 - screenId = postType;
1054 - } else {
1055 - screenId = this.getScreenIdFromBody();
1056 - }
1057 - if (this.isElementorAppPage()) {
1058 - var appScreenData = this.getAppScreenData(hash);
1059 - if (appScreenData) {
1060 - return appScreenData;
1061 - }
1062 - }
1063 - var hasNavTabs = document.querySelector(SCREEN_SELECTORS.NAV_TAB_WRAPPER);
1064 - var hasSettingsTabs = document.querySelectorAll(SCREEN_SELECTORS.SETTINGS_FORM_PAGE).length > 1;
1065 - if (hasNavTabs || hasSettingsTabs || hash && !this.isElementorAppPage()) {
1066 - screenType = _wpDashboardTracking.SCREEN_TYPES.TAB;
1067 - if (hash) {
1068 - var tabId = hash.replace(/^#(tab-)?/, '');
1069 - screenId = "".concat(screenId, "-").concat(tabId);
1070 - } else if (hasNavTabs) {
1071 - var activeTab = document.querySelector(SCREEN_SELECTORS.NAV_TAB_ACTIVE);
1072 - if (activeTab) {
1073 - var tabText = activeTab.textContent.trim();
1074 - var tabHref = activeTab.getAttribute('href');
1075 - if (tabText) {
1076 - screenId = "".concat(screenId, "-").concat(this.sanitizeScreenId(tabText));
1077 - } else if (tabHref && tabHref.includes('#')) {
1078 - var _tabId = tabHref.split('#')[1];
1079 - screenId = "".concat(screenId, "-").concat(_tabId);
1080 - }
1081 - }
1082 - } else if (hasSettingsTabs) {
1083 - var activeSettingsTab = document.querySelector(SCREEN_SELECTORS.SETTINGS_FORM_PAGE_ACTIVE);
1084 - if (activeSettingsTab) {
1085 - var _tabId2 = activeSettingsTab.id;
1086 - if (_tabId2) {
1087 - screenId = "".concat(screenId, "-").concat(_tabId2);
1088 - }
1089 - }
1090 - }
1091 - }
1092 - return {
1093 - screenId: screenId,
1094 - screenType: screenType
1095 - };
1096 - }
1097 - }, {
1098 - key: "isElementorAppPage",
1099 - value: function isElementorAppPage() {
1100 - var urlParams = new URLSearchParams(window.location.search);
1101 - return 'elementor-app' === urlParams.get('page');
1102 - }
1103 - }, {
1104 - key: "getAppScreenData",
1105 - value: function getAppScreenData(hash) {
1106 - if (!hash) {
1107 - return null;
1108 - }
1109 - var cleanHash = hash.replace(/^#/, '');
1110 - if (!cleanHash.startsWith('/')) {
1111 - return null;
1112 - }
1113 - var pathParts = cleanHash.split('/').filter(Boolean);
1114 - if (0 === pathParts.length) {
1115 - return null;
1116 - }
1117 - var screenId = pathParts.join('/');
1118 - var screenType = _wpDashboardTracking.SCREEN_TYPES.APP_SCREEN;
1119 - return {
1120 - screenId: screenId,
1121 - screenType: screenType
1122 - };
1123 - }
1124 - }, {
1125 - key: "getScreenIdFromBody",
1126 - value: function getScreenIdFromBody() {
1127 - var body = document.body;
1128 - var bodyClasses = body.className.split(' ');
1129 - var _iterator = _createForOfIteratorHelper(bodyClasses),
1130 - _step;
1131 - try {
1132 - for (_iterator.s(); !(_step = _iterator.n()).done;) {
1133 - var cls = _step.value;
1134 - if (cls.startsWith('elementor') && (cls.includes('page') || cls.includes('post-type'))) {
1135 - return cls;
1136 - }
1137 - }
1138 - } catch (err) {
1139 - _iterator.e(err);
1140 - } finally {
1141 - _iterator.f();
1142 - }
1143 - return 'elementor-unknown';
1144 - }
1145 - }, {
1146 - key: "sanitizeScreenId",
1147 - value: function sanitizeScreenId(text) {
1148 - return text.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
1149 - }
1150 - }, {
1151 - key: "attachTabChangeTracking",
1152 - value: function attachTabChangeTracking() {
1153 - this.attachNavTabTracking();
1154 - this.attachHashChangeTracking();
1155 - this.attachSettingsTabTracking();
1156 - this.attachModalTracking();
1157 - }
1158 - }, {
1159 - key: "attachNavTabTracking",
1160 - value: function attachNavTabTracking() {
1161 - var _this = this;
1162 - var wrapper = document.querySelector(SCREEN_SELECTORS.NAV_TAB_WRAPPER);
1163 - if (!wrapper) {
1164 - return;
1165 - }
1166 - this.addEventListenerTracked(wrapper, 'click', function (event) {
1167 - var navTab = event.target.closest(SCREEN_SELECTORS.NAV_TAB);
1168 - if (navTab && !navTab.classList.contains('nav-tab-active')) {
1169 - var screenData = _this.getScreenData();
1170 - if (screenData) {
1171 - _this.trackScreen(screenData.screenId, screenData.screenType);
1172 - }
1173 - }
1174 - });
1175 - }
1176 - }, {
1177 - key: "attachHashChangeTracking",
1178 - value: function attachHashChangeTracking() {
1179 - var _this2 = this;
1180 - this.addEventListenerTracked(window, 'hashchange', function () {
1181 - var screenData = _this2.getScreenData();
1182 - if (screenData) {
1183 - _this2.trackScreen(screenData.screenId, screenData.screenType);
1184 - }
1185 - });
1186 - }
1187 - }, {
1188 - key: "attachSettingsTabTracking",
1189 - value: function attachSettingsTabTracking() {
1190 - var _this3 = this;
1191 - var settingsPages = document.querySelectorAll(SCREEN_SELECTORS.SETTINGS_FORM_PAGE);
1192 - if (0 === settingsPages.length) {
1193 - return;
1194 - }
1195 - settingsPages.forEach(function (page) {
1196 - _this3.addObserver(page, {
1197 - attributes: true,
1198 - attributeFilter: ['class']
1199 - }, function () {
1200 - var screenData = _this3.getScreenData();
1201 - if (screenData) {
1202 - _this3.trackScreen(screenData.screenId, screenData.screenType);
1203 - }
1204 - });
1205 - });
1206 - }
1207 - }, {
1208 - key: "attachModalTracking",
1209 - value: function attachModalTracking() {
1210 - var _this4 = this;
1211 - this.addObserver(document.body, {
1212 - childList: true,
1213 - subtree: true
1214 - }, function (mutations) {
1215 - var _iterator2 = _createForOfIteratorHelper(mutations),
1216 - _step2;
1217 - try {
1218 - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1219 - var mutation = _step2.value;
1220 - if ('childList' === mutation.type) {
1221 - TRACKED_MODALS.forEach(function (modalSelector) {
1222 - var modal = document.querySelector(modalSelector);
1223 - if (modal && _this4.isModalVisible(modal)) {
1224 - var modalId = modalSelector.replace('#', '');
1225 - _this4.trackScreen(modalId, _wpDashboardTracking.SCREEN_TYPES.POPUP);
1226 - }
1227 - });
1228 - }
1229 - }
1230 - } catch (err) {
1231 - _iterator2.e(err);
1232 - } finally {
1233 - _iterator2.f();
1234 - }
1235 - });
1236 - }
1237 - }, {
1238 - key: "isModalVisible",
1239 - value: function isModalVisible(element) {
1240 - if (!element) {
1241 - return false;
1242 - }
1243 - var style = window.getComputedStyle(element);
1244 - return 'none' !== style.display && 0 !== parseFloat(style.opacity);
1245 - }
1246 - }, {
1247 - key: "trackScreen",
1248 - value: function trackScreen(screenId) {
1249 - var screenType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _wpDashboardTracking.SCREEN_TYPES.TOP_LEVEL_PAGE;
1250 - var trackingKey = "".concat(screenId, "-").concat(screenType);
1251 - if (this.trackedScreens.has(trackingKey)) {
1252 - return;
1253 - }
1254 - this.trackedScreens.add(trackingKey);
1255 - _wpDashboardTracking.default.trackScreenViewed(screenId, screenType);
1256 - }
1257 - }]);
1258 -}(_baseTracking.default);
1259 -(0, _defineProperty2.default)(ScreenViewTracking, "trackedScreens", new Set());
1260 -var _default = exports["default"] = ScreenViewTracking;
1261 -
1262 -/***/ }),
1263 -
1264 -/***/ "../app/assets/js/event-track/dashboard/utils.js":
1265 -/*!*******************************************************!*\
1266 - !*** ../app/assets/js/event-track/dashboard/utils.js ***!
1267 - \*******************************************************/
1268 -/***/ ((__unused_webpack_module, exports) => {
1269 -
1270 -"use strict";
1271 -
1272 -
1273 -Object.defineProperty(exports, "__esModule", ({
1274 - value: true
1275 -}));
1276 -exports.DashboardUtils = void 0;
1277 -var DashboardUtils = exports.DashboardUtils = {
1278 - isElementorPage: function isElementorPage() {
1279 - var urlParams = new URLSearchParams(window.location.search);
1280 - var page = urlParams.get('page');
1281 - if (page && (page.startsWith('elementor') || page.includes('elementor'))) {
1282 - return true;
1283 - }
1284 - var postType = urlParams.get('post_type');
1285 - if ('elementor_library' === postType || 'e-floating-buttons' === postType) {
1286 - return true;
1287 - }
1288 - var body = document.body;
1289 - var bodyClasses = body.className.split(' ');
1290 - return bodyClasses.some(function (cls) {
1291 - return cls.includes('elementor') && (cls.includes('page') || cls.includes('post-type'));
1292 - });
1293 - }
1294 -};
1295 -
1296 -/***/ }),
1297 -
1298 -/***/ "../app/assets/js/event-track/wp-dashboard-tracking.js":
1299 -/*!*************************************************************!*\
1300 - !*** ../app/assets/js/event-track/wp-dashboard-tracking.js ***!
1301 - \*************************************************************/
1302 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1303 -
1304 -"use strict";
1305 -
1306 -
1307 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1308 -Object.defineProperty(exports, "__esModule", ({
1309 - value: true
1310 -}));
1311 -exports["default"] = exports.SCREEN_TYPES = exports.NAV_AREAS = exports.CONTROL_TYPES = void 0;
1312 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1313 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1314 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1315 -var _navigation = _interopRequireDefault(__webpack_require__(/*! ./dashboard/navigation */ "../app/assets/js/event-track/dashboard/navigation.js"));
1316 -var _pluginActions = _interopRequireDefault(__webpack_require__(/*! ./dashboard/plugin-actions */ "../app/assets/js/event-track/dashboard/plugin-actions.js"));
1317 -var _promotion = _interopRequireDefault(__webpack_require__(/*! ./dashboard/promotion */ "../app/assets/js/event-track/dashboard/promotion.js"));
1318 -var _screenView = _interopRequireDefault(__webpack_require__(/*! ./dashboard/screen-view */ "../app/assets/js/event-track/dashboard/screen-view.js"));
1319 -var _menuPromotion = _interopRequireDefault(__webpack_require__(/*! ./dashboard/menu-promotion */ "../app/assets/js/event-track/dashboard/menu-promotion.js"));
1320 -var _actionControls = _interopRequireDefault(__webpack_require__(/*! ./dashboard/action-controls */ "../app/assets/js/event-track/dashboard/action-controls.js"));
1321 -var SESSION_TIMEOUT_MINUTES = 30;
1322 -var MINUTE_MS = 60 * 1000;
1323 -var SESSION_TIMEOUT = SESSION_TIMEOUT_MINUTES * MINUTE_MS;
1324 -var ACTIVITY_CHECK_INTERVAL = 1 * MINUTE_MS;
1325 -var SESSION_STORAGE_KEY = 'elementor_wpdash_session';
1326 -var PENDING_NAV_CLICK_KEY = 'elementor_wpdash_pending_nav';
1327 -var CONTROL_TYPES = exports.CONTROL_TYPES = {
1328 - BUTTON: 'button',
1329 - CHECKBOX: 'checkbox',
1330 - RADIO: 'radio',
1331 - LINK: 'link',
1332 - SELECT: 'select',
1333 - TOGGLE: 'toggle',
1334 - FILTER: 'filter'
1335 -};
1336 -var NAV_AREAS = exports.NAV_AREAS = {
1337 - LEFT_MENU: 'left_menu',
1338 - SUBMENU: 'submenu',
1339 - HOVER_MENU: 'hover_menu',
1340 - TOP_BAR: 'top_bar',
1341 - SIDEBAR_MENU: 'sidebar'
1342 -};
1343 -var SCREEN_TYPES = exports.SCREEN_TYPES = {
1344 - TAB: 'tab',
1345 - POPUP: 'popup',
1346 - APP_SCREEN: 'app_screen'
1347 -};
1348 -var WpDashboardTracking = exports["default"] = /*#__PURE__*/function () {
1349 - function WpDashboardTracking() {
1350 - (0, _classCallCheck2.default)(this, WpDashboardTracking);
1351 - }
1352 - return (0, _createClass2.default)(WpDashboardTracking, null, [{
1353 - key: "getElementorCommon",
1354 - value: function getElementorCommon() {
1355 - return window.elementorCommon;
1356 - }
1357 - }, {
1358 - key: "init",
1359 - value: function init() {
1360 - if (this.initialized) {
1361 - return;
1362 - }
1363 - this.restoreOrCreateSession();
1364 - if (this.isEventsManagerAvailable()) {
1365 - this.startSessionMonitoring();
1366 - this.attachActivityListeners();
1367 - this.attachNavigationListener();
1368 - this.initialized = true;
1369 - }
1370 - }
1371 - }, {
1372 - key: "restoreOrCreateSession",
1373 - value: function restoreOrCreateSession() {
1374 - var storedSession = this.getStoredSession();
1375 - if (storedSession) {
1376 - this.sessionStartTime = storedSession.sessionStartTime;
1377 - this.navItemsVisited = new Set(storedSession.navItemsVisited);
1378 - this.lastActivityTime = Date.now();
1379 - this.sessionEnded = false;
1380 - } else {
1381 - this.sessionStartTime = Date.now();
1382 - this.lastActivityTime = Date.now();
1383 - this.sessionEnded = false;
1384 - this.navItemsVisited = new Set();
1385 - }
1386 - this.processPendingNavClick();
1387 - this.saveSessionToStorage();
1388 - }
1389 - }, {
1390 - key: "isEditorOneActive",
1391 - value: function isEditorOneActive() {
1392 - var _elementorCommon$conf, _elementorCommon$conf2;
1393 - var elementorCommon = this.getElementorCommon();
1394 - 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;
1395 - }
1396 - }, {
1397 - key: "processPendingNavClick",
1398 - value: function processPendingNavClick() {
1399 - try {
1400 - var pendingNav = sessionStorage.getItem(PENDING_NAV_CLICK_KEY);
1401 - if (pendingNav) {
1402 - var _JSON$parse = JSON.parse(pendingNav),
1403 - itemId = _JSON$parse.itemId,
1404 - rootItem = _JSON$parse.rootItem,
1405 - area = _JSON$parse.area;
1406 - this.navItemsVisited.add(itemId);
1407 - var properties = {
1408 - wpdash_nav_item_id: itemId,
1409 - wpdash_nav_area: area
1410 - };
1411 - if (rootItem) {
1412 - properties.wpdash_nav_item_root = rootItem;
1413 - }
1414 - this.dispatchEvent('wpdash_nav_clicked', properties, {
1415 - send_immediately: true
1416 - });
1417 - sessionStorage.removeItem(PENDING_NAV_CLICK_KEY);
1418 - }
1419 - } catch (error) {
1420 - sessionStorage.removeItem(PENDING_NAV_CLICK_KEY);
1421 - }
1422 - }
1423 - }, {
1424 - key: "getStoredSession",
1425 - value: function getStoredSession() {
1426 - try {
1427 - var stored = sessionStorage.getItem(SESSION_STORAGE_KEY);
1428 - return stored ? JSON.parse(stored) : null;
1429 - } catch (error) {
1430 - return null;
1431 - }
1432 - }
1433 - }, {
1434 - key: "saveSessionToStorage",
1435 - value: function saveSessionToStorage() {
1436 - var sessionData = {
1437 - sessionStartTime: this.sessionStartTime,
1438 - navItemsVisited: Array.from(this.navItemsVisited)
1439 - };
1440 - sessionStorage.setItem(SESSION_STORAGE_KEY, JSON.stringify(sessionData));
1441 - }
1442 - }, {
1443 - key: "clearStoredSession",
1444 - value: function clearStoredSession() {
1445 - sessionStorage.removeItem(SESSION_STORAGE_KEY);
1446 - }
1447 - }, {
1448 - key: "isEventsManagerAvailable",
1449 - value: function isEventsManagerAvailable() {
1450 - var elementorCommon = this.getElementorCommon();
1451 - return (elementorCommon === null || elementorCommon === void 0 ? void 0 : elementorCommon.eventsManager) && 'function' === typeof elementorCommon.eventsManager.dispatchEvent;
1452 - }
1453 - }, {
1454 - key: "canSendEvents",
1455 - value: function canSendEvents() {
1456 - var _elementorCommon$conf3, _elementorCommon$conf4;
1457 - var elementorCommon = this.getElementorCommon();
1458 - 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;
1459 - }
1460 - }, {
1461 - key: "dispatchEvent",
1462 - value: function dispatchEvent(eventName) {
1463 - var _elementorCommon$even;
1464 - var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1465 - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1466 - if (!this.isEventsManagerAvailable() || !this.canSendEvents()) {
1467 - return;
1468 - }
1469 - var elementorCommon = this.getElementorCommon();
1470 - elementorCommon === null || elementorCommon === void 0 || (_elementorCommon$even = elementorCommon.eventsManager) === null || _elementorCommon$even === void 0 || _elementorCommon$even.dispatchEvent(eventName, properties, options);
1471 - }
1472 - }, {
1473 - key: "updateActivity",
1474 - value: function updateActivity() {
1475 - this.lastActivityTime = Date.now();
1476 - }
1477 - }, {
1478 - key: "startSessionMonitoring",
1479 - value: function startSessionMonitoring() {
1480 - var _this = this;
1481 - this.activityCheckInterval = setInterval(function () {
1482 - _this.checkSessionTimeout();
1483 - }, ACTIVITY_CHECK_INTERVAL);
1484 - window.addEventListener('beforeunload', function () {
1485 - if (!_this.sessionEnded && !_this.isNavigatingToElementor) {
1486 - _this.trackSessionEnd('tab_closed');
1487 - }
1488 - });
1489 - document.addEventListener('visibilitychange', function () {
1490 - if (!_this.sessionEnded && document.hidden) {
1491 - var timeSinceLastActivity = Date.now() - _this.lastActivityTime;
1492 - if (timeSinceLastActivity > SESSION_TIMEOUT) {
1493 - _this.trackSessionEnd('tab_inactive');
1494 - }
1495 - }
1496 - });
1497 - }
1498 - }, {
1499 - key: "isElementorPage",
1500 - value: function isElementorPage(url) {
1501 - try {
1502 - var urlObj = new URL(url, window.location.origin);
1503 - var params = urlObj.searchParams;
1504 - var page = params.get('page');
1505 - var postType = params.get('post_type');
1506 - var action = params.get('action');
1507 - var elementorPages = ['elementor-home', 'e-form-submissions'];
1508 - var elementorPostTypes = ['elementor_library', 'e-floating-buttons'];
1509 - return page && elementorPages.some(function (p) {
1510 - return page.includes(p);
1511 - }) || postType && elementorPostTypes.includes(postType) || action && action.includes('elementor');
1512 - } catch (error) {
1513 - return false;
1514 - }
1515 - }
1516 - }, {
1517 - key: "isPluginsPage",
1518 - value: function isPluginsPage(url) {
1519 - try {
1520 - var urlObj = new URL(url, window.location.origin);
1521 - return urlObj.pathname.includes('plugins.php');
1522 - } catch (error) {
1523 - return false;
1524 - }
1525 - }
1526 - }, {
1527 - key: "isNavigatingAwayFromElementor",
1528 - value: function isNavigatingAwayFromElementor(targetUrl) {
1529 - if (!targetUrl) {
1530 - return false;
1531 - }
1532 - if (targetUrl.startsWith('#')) {
1533 - return false;
1534 - }
1535 - return !this.isElementorPage(targetUrl);
1536 - }
1537 - }, {
1538 - key: "isLinkOpeningInNewTab",
1539 - value: function isLinkOpeningInNewTab(link) {
1540 - var target = link.getAttribute('target');
1541 - return '_blank' === target || '_new' === target;
1542 - }
1543 - }, {
1544 - key: "attachNavigationListener",
1545 - value: function attachNavigationListener() {
1546 - var _this2 = this;
1547 - var handleLinkClick = function handleLinkClick(event) {
1548 - var link = event.target.closest('a');
1549 - if (link && link.href) {
1550 - if (_this2.isLinkOpeningInNewTab(link)) {
1551 - return;
1552 - }
1553 - if (!_this2.sessionEnded && _this2.isNavigatingAwayFromElementor(link.href)) {
1554 - _this2.trackSessionEnd('navigate_away');
1555 - } else if (_this2.isElementorPage(link.href)) {
1556 - _this2.isNavigatingToElementor = true;
1557 - }
1558 - }
1559 - var isSidebar = event.target.closest('#editor-one-sidebar-navigation');
1560 - if (isSidebar) {
1561 - _this2.isNavigatingToElementor = true;
1562 - }
1563 - };
1564 - var handleFormSubmit = function handleFormSubmit(event) {
1565 - var form = event.target;
1566 - if (form.action) {
1567 - if (!_this2.sessionEnded && _this2.isNavigatingAwayFromElementor(form.action)) {
1568 - _this2.trackSessionEnd('navigate_away');
1569 - } else if (_this2.isElementorPage(form.action)) {
1570 - _this2.isNavigatingToElementor = true;
1571 - }
1572 - }
1573 - };
1574 - document.addEventListener('click', handleLinkClick, true);
1575 - document.addEventListener('submit', handleFormSubmit, true);
1576 - this.navigationListeners.push({
1577 - type: 'click',
1578 - handler: handleLinkClick
1579 - }, {
1580 - type: 'submit',
1581 - handler: handleFormSubmit
1582 - });
1583 - }
1584 - }, {
1585 - key: "checkSessionTimeout",
1586 - value: function checkSessionTimeout() {
1587 - var timeSinceLastActivity = Date.now() - this.lastActivityTime;
1588 - if (timeSinceLastActivity > SESSION_TIMEOUT && !this.sessionEnded) {
1589 - this.trackSessionEnd('timeout');
1590 - }
1591 - }
1592 - }, {
1593 - key: "attachActivityListeners",
1594 - value: function attachActivityListeners() {
1595 - var _this3 = this;
1596 - var events = ['mousedown', 'keydown', 'scroll', 'touchstart', 'click'];
1597 - events.forEach(function (event) {
1598 - document.addEventListener(event, function () {
1599 - _this3.updateActivity();
1600 - }, {
1601 - capture: true,
1602 - passive: true
1603 - });
1604 - });
1605 - }
1606 - }, {
1607 - key: "formatDuration",
1608 - value: function formatDuration(milliseconds) {
1609 - var totalSeconds = Math.floor(milliseconds / 1000);
1610 - return Number(totalSeconds.toFixed(2));
1611 - }
1612 - }, {
1613 - key: "trackNavClicked",
1614 - value: function trackNavClicked(itemId) {
1615 - var rootItem = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1616 - var area = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NAV_AREAS.LEFT_MENU;
1617 - if (!this.initialized) {
1618 - var pendingNav = {
1619 - itemId: itemId,
1620 - rootItem: rootItem,
1621 - area: area
1622 - };
1623 - sessionStorage.setItem(PENDING_NAV_CLICK_KEY, JSON.stringify(pendingNav));
1624 - return;
1625 - }
1626 - this.updateActivity();
1627 - this.navItemsVisited.add(itemId);
1628 - this.saveSessionToStorage();
1629 - var properties = {
1630 - wpdash_nav_item_id: itemId,
1631 - wpdash_nav_area: area
1632 - };
1633 - if (rootItem) {
1634 - properties.wpdash_nav_item_root = rootItem;
1635 - }
1636 - this.dispatchEvent('wpdash_nav_clicked', properties);
1637 - }
1638 - }, {
1639 - key: "trackScreenViewed",
1640 - value: function trackScreenViewed(screenId) {
1641 - var screenType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SCREEN_TYPES.TAB;
1642 - this.updateActivity();
1643 - var properties = {
1644 - wpdash_screen_id: screenId,
1645 - wpdash_screen_type: screenType
1646 - };
1647 - this.dispatchEvent('wpdash_screen_viewed', properties);
1648 - }
1649 - }, {
1650 - key: "trackActionControl",
1651 - value: function trackActionControl(controlIdentifier, controlType) {
1652 - this.updateActivity();
1653 - var properties = {
1654 - wpdash_action_control_interacted: controlIdentifier,
1655 - wpdash_control_type: controlType
1656 - };
1657 - this.dispatchEvent('wpdash_action_control', properties);
1658 - }
1659 - }, {
1660 - key: "trackPromoClicked",
1661 - value: function trackPromoClicked(promoName, destination, clickPath) {
1662 - this.updateActivity();
1663 - var properties = {
1664 - wpdash_promo_name: promoName,
1665 - wpdash_promo_destination: destination,
1666 - wpdash_promo_clicked_path: clickPath
1667 - };
1668 - this.dispatchEvent('wpdash_promo_clicked', properties);
1669 - }
1670 - }, {
1671 - key: "trackSessionEnd",
1672 - value: function trackSessionEnd() {
1673 - var reason = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'timeout';
1674 - if (this.sessionEnded) {
1675 - return;
1676 - }
1677 - this.sessionEnded = true;
1678 - if (this.activityCheckInterval) {
1679 - clearInterval(this.activityCheckInterval);
1680 - this.activityCheckInterval = null;
1681 - }
1682 - var duration = Date.now() - this.sessionStartTime;
1683 - var properties = {
1684 - wpdash_endstate_nav_summary: Array.from(this.navItemsVisited),
1685 - wpdash_endstate_nav_count: this.navItemsVisited.size,
1686 - wpdash_endstate_duration: this.formatDuration(duration),
1687 - reason: reason
1688 - };
1689 - this.dispatchEvent('wpdash_session_end_state', properties);
1690 - this.clearStoredSession();
1691 - }
1692 - }, {
1693 - key: "destroy",
1694 - value: function destroy() {
1695 - if (this.activityCheckInterval) {
1696 - clearInterval(this.activityCheckInterval);
1697 - }
1698 - this.navigationListeners.forEach(function (_ref) {
1699 - var type = _ref.type,
1700 - handler = _ref.handler;
1701 - document.removeEventListener(type, handler, true);
1702 - });
1703 - this.navigationListeners = [];
1704 - _screenView.default.destroy();
1705 - _promotion.default.destroy();
1706 - _menuPromotion.default.destroy();
1707 - _actionControls.default.destroy();
1708 - this.initialized = false;
1709 - }
1710 - }]);
1711 -}();
1712 -(0, _defineProperty2.default)(WpDashboardTracking, "sessionStartTime", Date.now());
1713 -(0, _defineProperty2.default)(WpDashboardTracking, "lastActivityTime", Date.now());
1714 -(0, _defineProperty2.default)(WpDashboardTracking, "sessionEnded", false);
1715 -(0, _defineProperty2.default)(WpDashboardTracking, "navItemsVisited", new Set());
1716 -(0, _defineProperty2.default)(WpDashboardTracking, "activityCheckInterval", null);
1717 -(0, _defineProperty2.default)(WpDashboardTracking, "initialized", false);
1718 -(0, _defineProperty2.default)(WpDashboardTracking, "navigationListeners", []);
1719 -(0, _defineProperty2.default)(WpDashboardTracking, "isNavigatingToElementor", false);
1720 -window.addEventListener('elementor/admin/init', function () {
1721 - var currentUrl = window.location.href;
1722 - var isPluginsPage = WpDashboardTracking.isPluginsPage(currentUrl);
1723 - var isElementorPage = WpDashboardTracking.isElementorPage(currentUrl);
1724 - if (isPluginsPage) {
1725 - _pluginActions.default.init();
1726 - }
1727 - _navigation.default.init();
1728 - if (isElementorPage) {
1729 - WpDashboardTracking.init();
1730 - _screenView.default.init();
1731 - _promotion.default.init();
1732 - _menuPromotion.default.init();
1733 - _actionControls.default.init();
1734 - }
1735 -});
1736 -window.addEventListener('beforeunload', function () {
1737 - _navigation.default.destroy();
1738 - _pluginActions.default.destroy();
1739 - WpDashboardTracking.destroy();
1740 -});
1741 -
1742 -/***/ }),
1743 -
1744 5 /***/ "../assets/dev/js/admin/maintenance-mode.js":
1745 6 /*!**************************************************!*\
1746 7 !*** ../assets/dev/js/admin/maintenance-mode.js ***!
1747 8 \**************************************************/
@@ -3433,19 +1694,21 @@
3433 1694 } catch (e) {
3434 1695 i = 0;
3435 1696 }
3436 1697 module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
3437 - function o(r, n) {
3438 - _regeneratorDefine(e, r, function (e) {
3439 - return this._invoke(r, n, e);
3440 - });
3441 - }
3442 - r ? i ? i(e, r, {
1698 + if (r) i ? i(e, r, {
3443 1699 value: n,
3444 1700 enumerable: !t,
3445 1701 configurable: !t,
3446 1702 writable: !t
3447 - }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
1703 + }) : e[r] = n;else {
1704 + var o = function o(r, n) {
1705 + _regeneratorDefine(e, r, function (e) {
1706 + return this._invoke(r, n, e);
1707 + });
1708 + };
1709 + o("next", 0), o("throw", 1), o("return", 2);
1710 + }
3448 1711 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
3449 1712 }
3450 1713 module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
3451 1714
@@ -3789,9 +2052,8 @@
3789 2052 var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../editor/utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js"));
3790 2053 var _templateControls = _interopRequireDefault(__webpack_require__(/*! ./new-template/template-controls.js */ "../assets/dev/js/admin/new-template/template-controls.js"));
3791 2054 var _jsonUploadWarningMessage = __webpack_require__(/*! elementor-utils/json-upload-warning-message */ "../assets/dev/js/utils/json-upload-warning-message.js");
3792 2055 var _module3 = _interopRequireDefault(__webpack_require__(/*! elementor/modules/floating-buttons/assets/js/floating-buttons/admin/module */ "../modules/floating-buttons/assets/js/floating-buttons/admin/module.js"));
3793 -__webpack_require__(/*! elementor-app/event-track/wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js");
3794 2056 (function ($) {
3795 2057 var ElementorAdmin = elementorModules.ViewModule.extend({
3796 2058 maintenanceMode: null,
3797 2059 config: elementorAdminConfig,
@@ -3809,10 +2071,12 @@
3809 2071 $importForm: $('#elementor-import-template-form'),
3810 2072 $importFormFileInput: $('#elementor-import-template-form input[type="file"]'),
3811 2073 $settingsForm: $('#elementor-settings-form'),
3812 2074 $settingsTabsWrapper: $('#elementor-settings-tabs-wrapper'),
2075 + $menuGetHelpLink: $('a[href="admin.php?page=go_knowledge_base_site"]'),
3813 2076 $menuGoProLink: $('a[href="admin.php?page=go_elementor_pro"]'),
3814 - $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button')
2077 + $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button'),
2078 + $menuCloudHostingPlansLink: $('a[href="edit.php?post_type=elementor_library&page=go_cloud_hosting_plans"]')
3815 2079 };
3816 2080 elements.$settingsFormPages = elements.$settingsForm.find('.elementor-settings-form-page');
3817 2081 elements.$activeSettingsPage = elements.$settingsFormPages.filter('.elementor-active');
3818 2082 elements.$settingsTabs = elements.$settingsTabsWrapper.children();
@@ -3874,34 +2138,30 @@
3874 2138 $wrapperElm.remove();
3875 2139 });
3876 2140 });
3877 2141 });
3878 - var campaignNotices = {
3879 - plugin_image_optimization: 'elementor_image_optimization_campaign',
3880 - site_mailer_promotion: 'elementor_core_site_mailer_campaign'
3881 - };
3882 - Object.keys(campaignNotices).forEach(function (noticeId) {
3883 - $(".e-notice--cta.e-notice--dismissible[data-notice_id=\"".concat(noticeId, "\"] a.e-button--cta")).on('click', function () {
3884 - var $button = $(this);
3885 - elementorCommon.ajax.addRequest(campaignNotices[noticeId], {
3886 - data: {
3887 - campaign: ($button === null || $button === void 0 ? void 0 : $button.data('campaign')) || '',
3888 - source: ($button === null || $button === void 0 ? void 0 : $button.data('source')) || '',
3889 - medium: ($button === null || $button === void 0 ? void 0 : $button.data('medium')) || ''
3890 - }
3891 - });
2142 + $('.e-notice--cta.e-notice--dismissible[data-notice_id="plugin_image_optimization"] a.e-button--cta').on('click', function () {
2143 + elementorCommon.ajax.addRequest('elementor_image_optimization_campaign', {
2144 + data: {
2145 + source: 'io-wp-media-library-install'
2146 + }
3892 2147 });
3893 2148 });
3894 2149 $('.e-a-apps .e-a-item[data-plugin="image-optimization/image-optimization.php"] a.e-btn').on('click', function () {
3895 - var $button = $(this);
3896 2150 elementorCommon.ajax.addRequest('elementor_image_optimization_campaign', {
3897 2151 data: {
3898 - campaign: ($button === null || $button === void 0 ? void 0 : $button.data('campaign')) || '',
3899 - source: ($button === null || $button === void 0 ? void 0 : $button.data('source')) || '',
3900 - medium: ($button === null || $button === void 0 ? void 0 : $button.data('medium')) || ''
2152 + source: 'io-esetting-addons-install'
3901 2153 }
3902 2154 });
3903 2155 });
2156 + $('.e-notice--cta.e-notice--dismissible[data-notice_id="site_mailer_promotion"] a.e-button--cta').on('click', function () {
2157 + var isWcNotice = $(this).closest('.e-notice').hasClass('sm-notice-wc');
2158 + elementorCommon.ajax.addRequest('elementor_core_site_mailer_campaign', {
2159 + data: {
2160 + source: isWcNotice ? 'sm-core-woo-install' : 'sm-core-form-install'
2161 + }
2162 + });
2163 + });
3904 2164 $('#elementor-clear-cache-button').on('click', function (event) {
3905 2165 event.preventDefault();
3906 2166 var $thisButton = $(this);
3907 2167 $thisButton.removeClass('success').addClass('loading');
@@ -4021,9 +2281,9 @@
4021 2281 $rollbackButton = $this.next('.elementor-rollback-button'),
4022 2282 placeholderText = $rollbackButton.data('placeholder-text'),
4023 2283 placeholderUrl = $rollbackButton.data('placeholder-url');
4024 2284 $rollbackButton.html(placeholderText.replace('{VERSION}', $this.val()));
4025 - $rollbackButton.data('href', placeholderUrl.replace('VERSION', $this.val()));
2285 + $rollbackButton.attr('href', placeholderUrl.replace('VERSION', $this.val()));
4026 2286 }).trigger('change');
4027 2287 $('.elementor-rollback-button').on('click', function (event) {
4028 2288 event.preventDefault();
4029 2289 var $this = $(this);
@@ -4035,9 +2295,9 @@
4035 2295 cancel: __('Cancel', 'elementor')
4036 2296 },
4037 2297 onConfirm: function onConfirm() {
4038 2298 $this.addClass('loading');
4039 - location.href = $this.data('href');
2299 + location.href = $this.attr('href');
4040 2300 }
4041 2301 }).show();
4042 2302 });
4043 2303 self.elements.$reMigrateGlobalsButton.on('click', function (event) {
@@ -4101,9 +2361,9 @@
4101 2361 *
4102 2362 * @since 3.6.0
4103 2363 */
4104 2364 openLinksInNewTab: function openLinksInNewTab() {
4105 - var elements = [this.elements.$menuGoProLink];
2365 + var elements = [this.elements.$menuGetHelpLink, this.elements.$menuGoProLink, this.elements.$menuCloudHostingPlansLink];
4106 2366 elements.forEach(function ($element) {
4107 2367 // Only add the attribute if the element is found.
4108 2368 if ($element.length) {
4109 2369 $element.attr('target', '_blank');
@@ -4125,9 +2385,9 @@
4125 2385 $importArea = self.elements.$importArea,
4126 2386 $importNowButton = self.elements.$importNowButton,
4127 2387 $importFormFileInput = self.elements.$importFormFileInput;
4128 2388 self.elements.$formAnchor = $('.wp-header-end');
4129 - $('#wpbody-content').find('.page-title-action').first().before($importButton);
2389 + $('#wpbody-content').find('.page-title-action').last().after($importButton);
4130 2390 self.elements.$formAnchor.after($importArea);
4131 2391 $importButton.on('click', function () {
4132 2392 $('#elementor-import-template-area').toggle();
4133 2393 });