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-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
← All changes | assets/js/admin.js +32 -1784 4.2.23.32.0-dev3 View file →
@@ -1,1759 +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 - 'elementor-one-upgrade': 'Upgrade'
436 -};
437 -var MenuPromotionTracking = /*#__PURE__*/function (_BaseTracking) {
438 - function MenuPromotionTracking() {
439 - (0, _classCallCheck2.default)(this, MenuPromotionTracking);
440 - return _callSuper(this, MenuPromotionTracking, arguments);
441 - }
442 - (0, _inherits2.default)(MenuPromotionTracking, _BaseTracking);
443 - return (0, _createClass2.default)(MenuPromotionTracking, null, [{
444 - key: "init",
445 - value: function init() {
446 - this.attachDelegatedTracking();
447 - }
448 - }, {
449 - key: "attachDelegatedTracking",
450 - value: function attachDelegatedTracking() {
451 - var _this = this;
452 - this.addEventListenerTracked(document, 'click', function (event) {
453 - var target = event.target;
454 - if (!target) {
455 - return;
456 - }
457 - var link = target.closest('a');
458 - if (!link) {
459 - return;
460 - }
461 - var href = link.getAttribute('href');
462 - if (!href) {
463 - return;
464 - }
465 - var menuItemKey = _this.extractPromoMenuKey(href);
466 - if (!menuItemKey) {
467 - return;
468 - }
469 - _this.handleMenuPromoClick(link, menuItemKey);
470 - }, {
471 - capture: true
472 - });
473 - }
474 - }, {
475 - key: "extractPromoMenuKey",
476 - value: function extractPromoMenuKey(href) {
477 - for (var _i = 0, _Object$keys = Object.keys(PROMO_MENU_ITEMS); _i < _Object$keys.length; _i++) {
478 - var menuItemKey = _Object$keys[_i];
479 - if (href.includes("page=".concat(menuItemKey))) {
480 - return menuItemKey;
481 - }
482 - }
483 - return null;
484 - }
485 - }, {
486 - key: "handleMenuPromoClick",
487 - value: function handleMenuPromoClick(menuItem, menuItemKey) {
488 - var destination = menuItem.getAttribute('href');
489 - var promoName = PROMO_MENU_ITEMS[menuItemKey];
490 - var path = menuItemKey.replace('elementor_', '').replace(/_/g, '/');
491 - _wpDashboardTracking.default.trackPromoClicked(promoName, destination, path);
492 - }
493 - }]);
494 -}(_baseTracking.default);
495 -var _default = exports["default"] = MenuPromotionTracking;
496 -
497 -/***/ }),
498 -
499 -/***/ "../app/assets/js/event-track/dashboard/navigation.js":
500 -/*!************************************************************!*\
501 - !*** ../app/assets/js/event-track/dashboard/navigation.js ***!
502 - \************************************************************/
503 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
504 -
505 -"use strict";
506 -
507 -
508 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
509 -var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
510 -Object.defineProperty(exports, "__esModule", ({
511 - value: true
512 -}));
513 -exports["default"] = void 0;
514 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
515 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
516 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
517 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
518 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
519 -var _wpDashboardTracking = _interopRequireWildcard(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
520 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
521 -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); }
522 -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)); }
523 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
524 -var ELEMENTOR_MENU_SELECTORS = {
525 - ELEMENTOR_TOP_LEVEL: 'li#toplevel_page_elementor',
526 - TEMPLATES_TOP_LEVEL: 'li#menu-posts-elementor_library',
527 - ELEMENTOR_HOME_TOP_LEVEL: 'li#toplevel_page_elementor-home',
528 - ADMIN_MENU: '#adminmenu',
529 - TOP_LEVEL_LINK: '.wp-menu-name',
530 - SUBMENU_CONTAINER: '.wp-submenu',
531 - SUBMENU_ITEM: '.wp-submenu li a',
532 - SUBMENU_ITEM_TOP_LEVEL: '.wp-has-submenu',
533 - SIDEBAR_NAVIGATION: '#editor-one-sidebar-navigation'
534 -};
535 -var NavigationTracking = /*#__PURE__*/function (_BaseTracking) {
536 - function NavigationTracking() {
537 - (0, _classCallCheck2.default)(this, NavigationTracking);
538 - return _callSuper(this, NavigationTracking, arguments);
539 - }
540 - (0, _inherits2.default)(NavigationTracking, _BaseTracking);
541 - return (0, _createClass2.default)(NavigationTracking, null, [{
542 - key: "init",
543 - value: function init() {
544 - if (_wpDashboardTracking.default.isEditorOneActive()) {
545 - this.attachSidebarNavigationTracking();
546 - this.attachElementorHomeMenuTracking();
547 - } else {
548 - this.attachElementorMenuTracking();
549 - this.attachTemplatesMenuTracking();
550 - }
551 - }
552 - }, {
553 - key: "attachTemplatesMenuTracking",
554 - value: function attachTemplatesMenuTracking() {
555 - var templatesMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.TEMPLATES_TOP_LEVEL);
556 - if (!templatesMenu) {
557 - return;
558 - }
559 - this.attachMenuTracking(templatesMenu, 'Templates');
560 - }
561 - }, {
562 - key: "attachElementorHomeMenuTracking",
563 - value: function attachElementorHomeMenuTracking() {
564 - var elementorHomeMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.ELEMENTOR_HOME_TOP_LEVEL);
565 - if (!elementorHomeMenu) {
566 - return;
567 - }
568 - this.attachMenuTracking(elementorHomeMenu, 'Elementor');
569 - }
570 - }, {
571 - key: "attachElementorMenuTracking",
572 - value: function attachElementorMenuTracking() {
573 - var elementorMenu = document.querySelector(ELEMENTOR_MENU_SELECTORS.ELEMENTOR_TOP_LEVEL);
574 - if (!elementorMenu) {
575 - return;
576 - }
577 - this.attachMenuTracking(elementorMenu, 'Elementor');
578 - }
579 - }, {
580 - key: "attachSidebarNavigationTracking",
581 - value: function attachSidebarNavigationTracking() {
582 - var sidebar = document.querySelector(ELEMENTOR_MENU_SELECTORS.SIDEBAR_NAVIGATION);
583 - if (sidebar) {
584 - this.attachSidebarClickListener(sidebar);
585 - }
586 - }
587 - }, {
588 - key: "attachSidebarClickListener",
589 - value: function attachSidebarClickListener(sidebar) {
590 - var _this = this;
591 - this.addEventListenerTracked(sidebar, 'click', function (event) {
592 - _this.handleSidebarClick(event);
593 - }, {
594 - capture: true
595 - });
596 - }
597 - }, {
598 - key: "attachMenuTracking",
599 - value: function attachMenuTracking(menuElement, menuName) {
600 - var _this2 = this;
601 - this.addEventListenerTracked(menuElement, 'click', function (event) {
602 - _this2.handleMenuClick(event, menuName);
603 - });
604 - }
605 - }, {
606 - key: "handleMenuClick",
607 - value: function handleMenuClick(event, menuName) {
608 - var link = event.target.closest('a');
609 - if (!link) {
610 - return;
611 - }
612 - var isTopLevel = link.classList.contains('menu-top');
613 - var itemId = this.extractItemId(link);
614 - var area = this.determineNavArea(link);
615 - _wpDashboardTracking.default.trackNavClicked(itemId, isTopLevel ? null : menuName, area);
616 - }
617 - }, {
618 - key: "handleSidebarClick",
619 - value: function handleSidebarClick(event) {
620 - var clickedElement = event.target.closest('a, button, [role="button"]');
621 - if (!clickedElement) {
622 - return;
623 - }
624 - var itemId = this.extractSidebarItemId(clickedElement);
625 - _wpDashboardTracking.default.trackNavClicked(itemId, null, _wpDashboardTracking.NAV_AREAS.SIDEBAR_MENU);
626 - }
627 - }, {
628 - key: "extractSidebarItemId",
629 - value: function extractSidebarItemId(element) {
630 - var paragraph = element.querySelector('p');
631 - if (paragraph) {
632 - return paragraph.textContent.trim();
633 - }
634 - var textContent = element.textContent.trim();
635 - if (textContent) {
636 - return textContent;
637 - }
638 - return 'unknown';
639 - }
640 - }, {
641 - key: "extractPageFromUrl",
642 - value: function extractPageFromUrl(href) {
643 - var urlParams = new URLSearchParams(href.split('?')[1] || '');
644 - var page = urlParams.get('page');
645 - if (page) {
646 - return page;
647 - }
648 - var postType = urlParams.get('post_type');
649 - if (postType) {
650 - return postType;
651 - }
652 - return 'unknown';
653 - }
654 - }, {
655 - key: "extractItemId",
656 - value: function extractItemId(link) {
657 - var textContent = link.textContent.trim();
658 - if (textContent) {
659 - return textContent;
660 - }
661 - var href = link.getAttribute('href');
662 - if (href) {
663 - return this.extractPageFromUrl(href);
664 - }
665 - var linkId = link.getAttribute('id');
666 - if (linkId) {
667 - return linkId;
668 - }
669 - return 'unknown';
670 - }
671 - }, {
672 - key: "determineNavArea",
673 - value: function determineNavArea(link) {
674 - var parentMenu = link.closest('li.menu-top');
675 - if (parentMenu) {
676 - var isSubmenuItem = link.closest(ELEMENTOR_MENU_SELECTORS.SUBMENU_CONTAINER);
677 - if (isSubmenuItem) {
678 - var submenuElement = link.closest(ELEMENTOR_MENU_SELECTORS.SUBMENU_ITEM_TOP_LEVEL);
679 - if (submenuElement.classList.contains('wp-not-current-submenu')) {
680 - return _wpDashboardTracking.NAV_AREAS.HOVER_MENU;
681 - }
682 - return _wpDashboardTracking.NAV_AREAS.SUBMENU;
683 - }
684 - return _wpDashboardTracking.NAV_AREAS.LEFT_MENU;
685 - }
686 - return _wpDashboardTracking.NAV_AREAS.LEFT_MENU;
687 - }
688 - }]);
689 -}(_baseTracking.default);
690 -var _default = exports["default"] = NavigationTracking;
691 -
692 -/***/ }),
693 -
694 -/***/ "../app/assets/js/event-track/dashboard/plugin-actions.js":
695 -/*!****************************************************************!*\
696 - !*** ../app/assets/js/event-track/dashboard/plugin-actions.js ***!
697 - \****************************************************************/
698 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
699 -
700 -"use strict";
701 -
702 -
703 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
704 -Object.defineProperty(exports, "__esModule", ({
705 - value: true
706 -}));
707 -exports["default"] = void 0;
708 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
709 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
710 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
711 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
712 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
713 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
714 -var _wpDashboardTracking = _interopRequireDefault(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
715 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
716 -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)); }
717 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
718 -var PLUGIN_TYPE = {
719 - ELEMENTOR: 'core',
720 - ELEMENTOR_PRO: 'pro'
721 -};
722 -var PluginActions = /*#__PURE__*/function (_BaseTracking) {
723 - function PluginActions() {
724 - (0, _classCallCheck2.default)(this, PluginActions);
725 - return _callSuper(this, PluginActions, arguments);
726 - }
727 - (0, _inherits2.default)(PluginActions, _BaseTracking);
728 - return (0, _createClass2.default)(PluginActions, null, [{
729 - key: "init",
730 - value: function init() {
731 - this.attachCoreDeactivationTracking();
732 - this.attachProDeactivationTracking();
733 - this.attachProDeletionTracking();
734 - }
735 - }, {
736 - key: "attachCoreDeactivationTracking",
737 - value: function attachCoreDeactivationTracking() {
738 - var _this = this;
739 - var dialogForm = document.querySelector('#elementor-deactivate-feedback-dialog-form');
740 - if (!dialogForm) {
741 - return;
742 - }
743 - this.addEventListenerTracked(dialogForm, 'change', function (event) {
744 - var target = event.target;
745 - if (target.classList.contains('elementor-deactivate-feedback-dialog-input')) {
746 - _this.selectedReason = target.value;
747 - }
748 - });
749 - this.observeModalButtons();
750 - }
751 - }, {
752 - key: "attachProDeactivationTracking",
753 - value: function attachProDeactivationTracking() {
754 - var _this2 = this;
755 - var pluginsTable = document.querySelector('.plugins');
756 - if (!pluginsTable) {
757 - return;
758 - }
759 - this.addEventListenerTracked(pluginsTable, 'click', function (event) {
760 - var link = event.target.closest('a');
761 - if (link && 'deactivate-elementor-pro' === link.id) {
762 - _this2.trackProDeactivation();
763 - }
764 - }, {
765 - capture: true
766 - });
767 - }
768 - }, {
769 - key: "observeModalButtons",
770 - value: function observeModalButtons() {
771 - var _this3 = this;
772 - var checkAndAttachDelegation = function checkAndAttachDelegation() {
773 - var modal = document.querySelector('#elementor-deactivate-feedback-modal');
774 - if (!modal) {
775 - return false;
776 - }
777 - _this3.addEventListenerTracked(modal, 'click', function (event) {
778 - var submitButton = event.target.closest('.dialog-submit');
779 - var skipButton = event.target.closest('.dialog-skip');
780 - if (submitButton) {
781 - _this3.trackCoreDeactivation('submit&deactivate');
782 - } else if (skipButton) {
783 - _this3.trackCoreDeactivation('skip&deactivate');
784 - }
785 - }, {
786 - capture: true
787 - });
788 - return true;
789 - };
790 - if (checkAndAttachDelegation()) {
791 - return;
792 - }
793 - this.addObserver(document.body, {
794 - childList: true,
795 - subtree: true
796 - }, function (mutations, observer) {
797 - if (checkAndAttachDelegation()) {
798 - observer.disconnect();
799 - }
800 - });
801 - }
802 - }, {
803 - key: "getUserInput",
804 - value: function getUserInput() {
805 - var reasonsWithInput = ['found_a_better_plugin', 'other'];
806 - if (!this.selectedReason || !reasonsWithInput.includes(this.selectedReason)) {
807 - return null;
808 - }
809 - var inputField = document.querySelector("input[name=\"reason_".concat(this.selectedReason, "\"]"));
810 - if (inputField && inputField.value) {
811 - return inputField.value;
812 - }
813 - return null;
814 - }
815 - }, {
816 - key: "trackCoreDeactivation",
817 - value: function trackCoreDeactivation(action) {
818 - var properties = {
819 - deactivate_form_submit: action,
820 - deactivate_plugin_type: PLUGIN_TYPE.ELEMENTOR
821 - };
822 - if (this.selectedReason) {
823 - properties.deactivate_feedback_reason = this.selectedReason;
824 - }
825 - var userInput = this.getUserInput();
826 - if (userInput) {
827 - properties.deactivate_feedback_reason += "/".concat(userInput);
828 - }
829 - _wpDashboardTracking.default.dispatchEvent('wpdash_deactivate_plugin', properties, {
830 - send_immediately: true
831 - });
832 - }
833 - }, {
834 - key: "trackProDeactivation",
835 - value: function trackProDeactivation() {
836 - this.trackProAction('deactivate');
837 - }
838 - }, {
839 - key: "attachProDeletionTracking",
840 - value: function attachProDeletionTracking() {
841 - var _this4 = this;
842 - if ('undefined' === typeof jQuery) {
843 - return;
844 - }
845 - jQuery(document).on('wp-plugin-deleting', function (event, args) {
846 - if ('elementor-pro' === (args === null || args === void 0 ? void 0 : args.slug)) {
847 - _this4.trackProAction('delete');
848 - }
849 - });
850 - }
851 - }, {
852 - key: "destroy",
853 - value: function destroy() {
854 - if ('undefined' !== typeof jQuery) {
855 - jQuery(document).off('wp-plugin-deleting');
856 - }
857 - _baseTracking.default.destroy.call(this);
858 - }
859 - }, {
860 - key: "trackProAction",
861 - value: function trackProAction(action) {
862 - var eventMap = {
863 - deactivate: {
864 - eventName: 'wpdash_deactivate_plugin',
865 - propertyKey: 'deactivate_plugin_type'
866 - },
867 - delete: {
868 - eventName: 'wpdash_delete_plugin',
869 - propertyKey: 'plugin_delete'
870 - }
871 - };
872 - var config = eventMap[action];
873 - if (!config) {
874 - return;
875 - }
876 - var properties = (0, _defineProperty2.default)({}, config.propertyKey, PLUGIN_TYPE.ELEMENTOR_PRO);
877 - _wpDashboardTracking.default.dispatchEvent(config.eventName, properties, {
878 - send_immediately: true
879 - });
880 - }
881 - }]);
882 -}(_baseTracking.default);
883 -(0, _defineProperty2.default)(PluginActions, "selectedReason", null);
884 -var _default = exports["default"] = PluginActions;
885 -
886 -/***/ }),
887 -
888 -/***/ "../app/assets/js/event-track/dashboard/promotion.js":
889 -/*!***********************************************************!*\
890 - !*** ../app/assets/js/event-track/dashboard/promotion.js ***!
891 - \***********************************************************/
892 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
893 -
894 -"use strict";
895 -
896 -
897 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
898 -Object.defineProperty(exports, "__esModule", ({
899 - value: true
900 -}));
901 -exports["default"] = void 0;
902 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
903 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
904 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
905 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
906 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
907 -var _wpDashboardTracking = _interopRequireDefault(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
908 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
909 -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)); }
910 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
911 -var PROMO_SELECTORS = {
912 - PROMO_PAGE: '.e-feature-promotion, .elementor-settings-form-page, #elementor-element-manager-wrap',
913 - PROMO_BLANK_STATE: '.elementor-blank_state',
914 - CTA_BUTTON: '.go-pro',
915 - TITLE: 'h3'
916 -};
917 -var PromotionTracking = /*#__PURE__*/function (_BaseTracking) {
918 - function PromotionTracking() {
919 - (0, _classCallCheck2.default)(this, PromotionTracking);
920 - return _callSuper(this, PromotionTracking, arguments);
921 - }
922 - (0, _inherits2.default)(PromotionTracking, _BaseTracking);
923 - return (0, _createClass2.default)(PromotionTracking, null, [{
924 - key: "init",
925 - value: function init() {
926 - this.attachDelegatedTracking();
927 - }
928 - }, {
929 - key: "attachDelegatedTracking",
930 - value: function attachDelegatedTracking() {
931 - var _this = this;
932 - this.addEventListenerTracked(document, 'click', function (event) {
933 - var target = event.target;
934 - if (!target) {
935 - return;
936 - }
937 - var button = target.closest("a".concat(PROMO_SELECTORS.CTA_BUTTON));
938 - if (!button) {
939 - return;
940 - }
941 - var promoPage = button.closest("".concat(PROMO_SELECTORS.PROMO_PAGE, ", ").concat(PROMO_SELECTORS.PROMO_BLANK_STATE));
942 - if (!promoPage) {
943 - return;
944 - }
945 - _this.handlePromoClick(button, promoPage);
946 - }, {
947 - capture: true
948 - });
949 - }
950 - }, {
951 - key: "handlePromoClick",
952 - value: function handlePromoClick(button, promoPage) {
953 - var promoTitle = this.extractPromoTitle(promoPage, button);
954 - var destination = button.getAttribute('href');
955 - var path = this.extractPromoPath();
956 - _wpDashboardTracking.default.trackPromoClicked(promoTitle, destination, path);
957 - }
958 - }, {
959 - key: "extractPromoTitle",
960 - value: function extractPromoTitle(promoPage, button) {
961 - var titleElement = promoPage.querySelector(PROMO_SELECTORS.TITLE);
962 - return titleElement ? titleElement.textContent.trim() : button.textContent.trim();
963 - }
964 - }, {
965 - key: "extractPromoPath",
966 - value: function extractPromoPath() {
967 - var urlParams = new URLSearchParams(window.location.search);
968 - var page = urlParams.get('page');
969 - if (!page) {
970 - return 'elementor';
971 - }
972 - return page.replace('elementor_', '').replace(/_/g, '/');
973 - }
974 - }]);
975 -}(_baseTracking.default);
976 -var _default = exports["default"] = PromotionTracking;
977 -
978 -/***/ }),
979 -
980 -/***/ "../app/assets/js/event-track/dashboard/screen-view.js":
981 -/*!*************************************************************!*\
982 - !*** ../app/assets/js/event-track/dashboard/screen-view.js ***!
983 - \*************************************************************/
984 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
985 -
986 -"use strict";
987 -
988 -
989 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
990 -var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
991 -Object.defineProperty(exports, "__esModule", ({
992 - value: true
993 -}));
994 -exports["default"] = void 0;
995 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
996 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
997 -var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
998 -var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
999 -var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
1000 -var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1001 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1002 -var _wpDashboardTracking = _interopRequireWildcard(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
1003 -var _utils = __webpack_require__(/*! ./utils */ "../app/assets/js/event-track/dashboard/utils.js");
1004 -var _baseTracking = _interopRequireDefault(__webpack_require__(/*! ./base-tracking */ "../app/assets/js/event-track/dashboard/base-tracking.js"));
1005 -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); }
1006 -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; } } }; }
1007 -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; } }
1008 -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; }
1009 -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)); }
1010 -function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
1011 -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; }
1012 -var SCREEN_SELECTORS = {
1013 - NAV_TAB_WRAPPER: '.nav-tab-wrapper',
1014 - NAV_TAB: '.nav-tab',
1015 - NAV_TAB_ACTIVE: '.nav-tab-active',
1016 - SETTINGS_FORM_PAGE: '.elementor-settings-form-page',
1017 - SETTINGS_FORM_PAGE_ACTIVE: '.elementor-settings-form-page.elementor-active',
1018 - FLOATING_ELEMENTS_MODAL: '#elementor-new-floating-elements-modal',
1019 - TEMPLATE_DIALOG_MODAL: '#elementor-new-template-dialog-content'
1020 -};
1021 -var TRACKED_MODALS = [SCREEN_SELECTORS.FLOATING_ELEMENTS_MODAL, SCREEN_SELECTORS.TEMPLATE_DIALOG_MODAL];
1022 -var ScreenViewTracking = /*#__PURE__*/function (_BaseTracking) {
1023 - function ScreenViewTracking() {
1024 - (0, _classCallCheck2.default)(this, ScreenViewTracking);
1025 - return _callSuper(this, ScreenViewTracking, arguments);
1026 - }
1027 - (0, _inherits2.default)(ScreenViewTracking, _BaseTracking);
1028 - return (0, _createClass2.default)(ScreenViewTracking, null, [{
1029 - key: "init",
1030 - value: function init() {
1031 - if (!_utils.DashboardUtils.isElementorPage()) {
1032 - return;
1033 - }
1034 - var screenData = this.getScreenData();
1035 - if (screenData) {
1036 - this.trackScreen(screenData.screenId, screenData.screenType);
1037 - }
1038 - this.attachTabChangeTracking();
1039 - }
1040 - }, {
1041 - key: "destroy",
1042 - value: function destroy() {
1043 - _superPropGet(ScreenViewTracking, "destroy", this, 2)([]);
1044 - this.trackedScreens.clear();
1045 - }
1046 - }, {
1047 - key: "getScreenData",
1048 - value: function getScreenData() {
1049 - var urlParams = new URLSearchParams(window.location.search);
1050 - var page = urlParams.get('page');
1051 - var postType = urlParams.get('post_type');
1052 - var hash = window.location.hash;
1053 - var screenId = '';
1054 - var screenType = '';
1055 - if (page) {
1056 - screenId = page;
1057 - } else if (postType) {
1058 - screenId = postType;
1059 - } else {
1060 - screenId = this.getScreenIdFromBody();
1061 - }
1062 - if (this.isElementorAppPage()) {
1063 - var appScreenData = this.getAppScreenData(hash);
1064 - if (appScreenData) {
1065 - return appScreenData;
1066 - }
1067 - }
1068 - var hasNavTabs = document.querySelector(SCREEN_SELECTORS.NAV_TAB_WRAPPER);
1069 - var hasSettingsTabs = document.querySelectorAll(SCREEN_SELECTORS.SETTINGS_FORM_PAGE).length > 1;
1070 - if (hasNavTabs || hasSettingsTabs || hash && !this.isElementorAppPage()) {
1071 - screenType = _wpDashboardTracking.SCREEN_TYPES.TAB;
1072 - if (hash) {
1073 - var tabId = hash.replace(/^#(tab-)?/, '');
1074 - screenId = "".concat(screenId, "-").concat(tabId);
1075 - } else if (hasNavTabs) {
1076 - var activeTab = document.querySelector(SCREEN_SELECTORS.NAV_TAB_ACTIVE);
1077 - if (activeTab) {
1078 - var tabText = activeTab.textContent.trim();
1079 - var tabHref = activeTab.getAttribute('href');
1080 - if (tabText) {
1081 - screenId = "".concat(screenId, "-").concat(this.sanitizeScreenId(tabText));
1082 - } else if (tabHref && tabHref.includes('#')) {
1083 - var _tabId = tabHref.split('#')[1];
1084 - screenId = "".concat(screenId, "-").concat(_tabId);
1085 - }
1086 - }
1087 - } else if (hasSettingsTabs) {
1088 - var activeSettingsTab = document.querySelector(SCREEN_SELECTORS.SETTINGS_FORM_PAGE_ACTIVE);
1089 - if (activeSettingsTab) {
1090 - var _tabId2 = activeSettingsTab.id;
1091 - if (_tabId2) {
1092 - screenId = "".concat(screenId, "-").concat(_tabId2);
1093 - }
1094 - }
1095 - }
1096 - }
1097 - return {
1098 - screenId: screenId,
1099 - screenType: screenType
1100 - };
1101 - }
1102 - }, {
1103 - key: "isElementorAppPage",
1104 - value: function isElementorAppPage() {
1105 - var urlParams = new URLSearchParams(window.location.search);
1106 - return 'elementor-app' === urlParams.get('page');
1107 - }
1108 - }, {
1109 - key: "getAppScreenData",
1110 - value: function getAppScreenData(hash) {
1111 - if (!hash) {
1112 - return null;
1113 - }
1114 - var cleanHash = hash.replace(/^#/, '');
1115 - if (!cleanHash.startsWith('/')) {
1116 - return null;
1117 - }
1118 - var pathParts = cleanHash.split('/').filter(Boolean);
1119 - if (0 === pathParts.length) {
1120 - return null;
1121 - }
1122 - var screenId = pathParts.join('/');
1123 - var screenType = _wpDashboardTracking.SCREEN_TYPES.APP_SCREEN;
1124 - return {
1125 - screenId: screenId,
1126 - screenType: screenType
1127 - };
1128 - }
1129 - }, {
1130 - key: "getScreenIdFromBody",
1131 - value: function getScreenIdFromBody() {
1132 - var body = document.body;
1133 - var bodyClasses = body.className.split(' ');
1134 - var _iterator = _createForOfIteratorHelper(bodyClasses),
1135 - _step;
1136 - try {
1137 - for (_iterator.s(); !(_step = _iterator.n()).done;) {
1138 - var cls = _step.value;
1139 - if (cls.startsWith('elementor') && (cls.includes('page') || cls.includes('post-type'))) {
1140 - return cls;
1141 - }
1142 - }
1143 - } catch (err) {
1144 - _iterator.e(err);
1145 - } finally {
1146 - _iterator.f();
1147 - }
1148 - return 'elementor-unknown';
1149 - }
1150 - }, {
1151 - key: "sanitizeScreenId",
1152 - value: function sanitizeScreenId(text) {
1153 - return text.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
1154 - }
1155 - }, {
1156 - key: "attachTabChangeTracking",
1157 - value: function attachTabChangeTracking() {
1158 - this.attachNavTabTracking();
1159 - this.attachHashChangeTracking();
1160 - this.attachSettingsTabTracking();
1161 - this.attachModalTracking();
1162 - }
1163 - }, {
1164 - key: "attachNavTabTracking",
1165 - value: function attachNavTabTracking() {
1166 - var _this = this;
1167 - var wrapper = document.querySelector(SCREEN_SELECTORS.NAV_TAB_WRAPPER);
1168 - if (!wrapper) {
1169 - return;
1170 - }
1171 - this.addEventListenerTracked(wrapper, 'click', function (event) {
1172 - var navTab = event.target.closest(SCREEN_SELECTORS.NAV_TAB);
1173 - if (navTab && !navTab.classList.contains('nav-tab-active')) {
1174 - var screenData = _this.getScreenData();
1175 - if (screenData) {
1176 - _this.trackScreen(screenData.screenId, screenData.screenType);
1177 - }
1178 - }
1179 - });
1180 - }
1181 - }, {
1182 - key: "attachHashChangeTracking",
1183 - value: function attachHashChangeTracking() {
1184 - var _this2 = this;
1185 - this.addEventListenerTracked(window, 'hashchange', function () {
1186 - var screenData = _this2.getScreenData();
1187 - if (screenData) {
1188 - _this2.trackScreen(screenData.screenId, screenData.screenType);
1189 - }
1190 - });
1191 - }
1192 - }, {
1193 - key: "attachSettingsTabTracking",
1194 - value: function attachSettingsTabTracking() {
1195 - var _this3 = this;
1196 - var settingsPages = document.querySelectorAll(SCREEN_SELECTORS.SETTINGS_FORM_PAGE);
1197 - if (0 === settingsPages.length) {
1198 - return;
1199 - }
1200 - settingsPages.forEach(function (page) {
1201 - _this3.addObserver(page, {
1202 - attributes: true,
1203 - attributeFilter: ['class']
1204 - }, function () {
1205 - var screenData = _this3.getScreenData();
1206 - if (screenData) {
1207 - _this3.trackScreen(screenData.screenId, screenData.screenType);
1208 - }
1209 - });
1210 - });
1211 - }
1212 - }, {
1213 - key: "attachModalTracking",
1214 - value: function attachModalTracking() {
1215 - var _this4 = this;
1216 - this.addObserver(document.body, {
1217 - childList: true,
1218 - subtree: true
1219 - }, function (mutations) {
1220 - var _iterator2 = _createForOfIteratorHelper(mutations),
1221 - _step2;
1222 - try {
1223 - for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1224 - var mutation = _step2.value;
1225 - if ('childList' === mutation.type) {
1226 - TRACKED_MODALS.forEach(function (modalSelector) {
1227 - var modal = document.querySelector(modalSelector);
1228 - if (modal && _this4.isModalVisible(modal)) {
1229 - var modalId = modalSelector.replace('#', '');
1230 - _this4.trackScreen(modalId, _wpDashboardTracking.SCREEN_TYPES.POPUP);
1231 - }
1232 - });
1233 - }
1234 - }
1235 - } catch (err) {
1236 - _iterator2.e(err);
1237 - } finally {
1238 - _iterator2.f();
1239 - }
1240 - });
1241 - }
1242 - }, {
1243 - key: "isModalVisible",
1244 - value: function isModalVisible(element) {
1245 - if (!element) {
1246 - return false;
1247 - }
1248 - var style = window.getComputedStyle(element);
1249 - return 'none' !== style.display && 0 !== parseFloat(style.opacity);
1250 - }
1251 - }, {
1252 - key: "trackScreen",
1253 - value: function trackScreen(screenId) {
1254 - var screenType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _wpDashboardTracking.SCREEN_TYPES.TOP_LEVEL_PAGE;
1255 - var trackingKey = "".concat(screenId, "-").concat(screenType);
1256 - if (this.trackedScreens.has(trackingKey)) {
1257 - return;
1258 - }
1259 - this.trackedScreens.add(trackingKey);
1260 - _wpDashboardTracking.default.trackScreenViewed(screenId, screenType);
1261 - }
1262 - }]);
1263 -}(_baseTracking.default);
1264 -(0, _defineProperty2.default)(ScreenViewTracking, "trackedScreens", new Set());
1265 -var _default = exports["default"] = ScreenViewTracking;
1266 -
1267 -/***/ }),
1268 -
1269 -/***/ "../app/assets/js/event-track/dashboard/utils.js":
1270 -/*!*******************************************************!*\
1271 - !*** ../app/assets/js/event-track/dashboard/utils.js ***!
1272 - \*******************************************************/
1273 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1274 -
1275 -"use strict";
1276 -
1277 -
1278 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1279 -Object.defineProperty(exports, "__esModule", ({
1280 - value: true
1281 -}));
1282 -exports.DashboardUtils = void 0;
1283 -var _wpDashboardTracking = _interopRequireDefault(__webpack_require__(/*! ../wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js"));
1284 -var DashboardUtils = exports.DashboardUtils = {
1285 - isElementorPage: function isElementorPage() {
1286 - var urlParams = new URLSearchParams(window.location.search);
1287 - var page = urlParams.get('page');
1288 - if (page && _wpDashboardTracking.default.elementorPages.some(function (p) {
1289 - return page.includes(p);
1290 - })) {
1291 - return true;
1292 - }
1293 - var postType = urlParams.get('post_type');
1294 - if (_wpDashboardTracking.default.elementorPostTypes.includes(postType)) {
1295 - return true;
1296 - }
1297 - var body = document.body;
1298 - var bodyClasses = body.className.split(' ');
1299 - return bodyClasses.some(function (cls) {
1300 - return cls.includes('elementor') && (cls.includes('page') || cls.includes('post-type'));
1301 - });
1302 - }
1303 -};
1304 -
1305 -/***/ }),
1306 -
1307 -/***/ "../app/assets/js/event-track/wp-dashboard-tracking.js":
1308 -/*!*************************************************************!*\
1309 - !*** ../app/assets/js/event-track/wp-dashboard-tracking.js ***!
1310 - \*************************************************************/
1311 -/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1312 -
1313 -"use strict";
1314 -
1315 -
1316 -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1317 -Object.defineProperty(exports, "__esModule", ({
1318 - value: true
1319 -}));
1320 -exports["default"] = exports.SCREEN_TYPES = exports.NAV_AREAS = exports.CONTROL_TYPES = void 0;
1321 -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1322 -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1323 -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1324 -var _navigation = _interopRequireDefault(__webpack_require__(/*! ./dashboard/navigation */ "../app/assets/js/event-track/dashboard/navigation.js"));
1325 -var _pluginActions = _interopRequireDefault(__webpack_require__(/*! ./dashboard/plugin-actions */ "../app/assets/js/event-track/dashboard/plugin-actions.js"));
1326 -var _promotion = _interopRequireDefault(__webpack_require__(/*! ./dashboard/promotion */ "../app/assets/js/event-track/dashboard/promotion.js"));
1327 -var _screenView = _interopRequireDefault(__webpack_require__(/*! ./dashboard/screen-view */ "../app/assets/js/event-track/dashboard/screen-view.js"));
1328 -var _menuPromotion = _interopRequireDefault(__webpack_require__(/*! ./dashboard/menu-promotion */ "../app/assets/js/event-track/dashboard/menu-promotion.js"));
1329 -var _actionControls = _interopRequireDefault(__webpack_require__(/*! ./dashboard/action-controls */ "../app/assets/js/event-track/dashboard/action-controls.js"));
1330 -var _WpDashboardTracking;
1331 -var SESSION_TIMEOUT_MINUTES = 30;
1332 -var MINUTE_MS = 60 * 1000;
1333 -var SESSION_TIMEOUT = SESSION_TIMEOUT_MINUTES * MINUTE_MS;
1334 -var ACTIVITY_CHECK_INTERVAL = 1 * MINUTE_MS;
1335 -var SESSION_STORAGE_KEY = 'elementor_wpdash_session';
1336 -var PENDING_NAV_CLICK_KEY = 'elementor_wpdash_pending_nav';
1337 -var CONTROL_TYPES = exports.CONTROL_TYPES = {
1338 - BUTTON: 'button',
1339 - CHECKBOX: 'checkbox',
1340 - RADIO: 'radio',
1341 - LINK: 'link',
1342 - SELECT: 'select',
1343 - TOGGLE: 'toggle',
1344 - FILTER: 'filter'
1345 -};
1346 -var NAV_AREAS = exports.NAV_AREAS = {
1347 - LEFT_MENU: 'left_menu',
1348 - SUBMENU: 'submenu',
1349 - HOVER_MENU: 'hover_menu',
1350 - TOP_BAR: 'top_bar',
1351 - SIDEBAR_MENU: 'sidebar'
1352 -};
1353 -var SCREEN_TYPES = exports.SCREEN_TYPES = {
1354 - TAB: 'tab',
1355 - POPUP: 'popup',
1356 - APP_SCREEN: 'app_screen'
1357 -};
1358 -var WpDashboardTracking = exports["default"] = /*#__PURE__*/function () {
1359 - function WpDashboardTracking() {
1360 - (0, _classCallCheck2.default)(this, WpDashboardTracking);
1361 - }
1362 - return (0, _createClass2.default)(WpDashboardTracking, null, [{
1363 - key: "getElementorCommon",
1364 - value: function getElementorCommon() {
1365 - return window.elementorCommon;
1366 - }
1367 - }, {
1368 - key: "init",
1369 - value: function init() {
1370 - if (this.initialized) {
1371 - return;
1372 - }
1373 - this.restoreOrCreateSession();
1374 - if (this.isEventsManagerAvailable()) {
1375 - this.startSessionMonitoring();
1376 - this.attachActivityListeners();
1377 - this.attachNavigationListener();
1378 - this.initialized = true;
1379 - }
1380 - }
1381 - }, {
1382 - key: "restoreOrCreateSession",
1383 - value: function restoreOrCreateSession() {
1384 - var storedSession = this.getStoredSession();
1385 - if (storedSession) {
1386 - this.sessionStartTime = storedSession.sessionStartTime;
1387 - this.navItemsVisited = new Set(storedSession.navItemsVisited);
1388 - this.lastActivityTime = Date.now();
1389 - this.sessionEnded = false;
1390 - } else {
1391 - this.sessionStartTime = Date.now();
1392 - this.lastActivityTime = Date.now();
1393 - this.sessionEnded = false;
1394 - this.navItemsVisited = new Set();
1395 - }
1396 - this.processPendingNavClick();
1397 - this.saveSessionToStorage();
1398 - }
1399 - }, {
1400 - key: "isEditorOneActive",
1401 - value: function isEditorOneActive() {
1402 - var _elementorCommon$conf, _elementorCommon$conf2;
1403 - var elementorCommon = this.getElementorCommon();
1404 - 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;
1405 - }
1406 - }, {
1407 - key: "processPendingNavClick",
1408 - value: function processPendingNavClick() {
1409 - try {
1410 - var pendingNav = sessionStorage.getItem(PENDING_NAV_CLICK_KEY);
1411 - if (pendingNav) {
1412 - var _JSON$parse = JSON.parse(pendingNav),
1413 - itemId = _JSON$parse.itemId,
1414 - rootItem = _JSON$parse.rootItem,
1415 - area = _JSON$parse.area;
1416 - this.navItemsVisited.add(itemId);
1417 - var properties = {
1418 - wpdash_nav_item_id: itemId,
1419 - wpdash_nav_area: area
1420 - };
1421 - if (rootItem) {
1422 - properties.wpdash_nav_item_root = rootItem;
1423 - }
1424 - this.dispatchEvent('wpdash_nav_clicked', properties, {
1425 - send_immediately: true
1426 - });
1427 - sessionStorage.removeItem(PENDING_NAV_CLICK_KEY);
1428 - }
1429 - } catch (error) {
1430 - sessionStorage.removeItem(PENDING_NAV_CLICK_KEY);
1431 - }
1432 - }
1433 - }, {
1434 - key: "getStoredSession",
1435 - value: function getStoredSession() {
1436 - try {
1437 - var stored = sessionStorage.getItem(SESSION_STORAGE_KEY);
1438 - return stored ? JSON.parse(stored) : null;
1439 - } catch (error) {
1440 - return null;
1441 - }
1442 - }
1443 - }, {
1444 - key: "saveSessionToStorage",
1445 - value: function saveSessionToStorage() {
1446 - var sessionData = {
1447 - sessionStartTime: this.sessionStartTime,
1448 - navItemsVisited: Array.from(this.navItemsVisited)
1449 - };
1450 - sessionStorage.setItem(SESSION_STORAGE_KEY, JSON.stringify(sessionData));
1451 - }
1452 - }, {
1453 - key: "clearStoredSession",
1454 - value: function clearStoredSession() {
1455 - sessionStorage.removeItem(SESSION_STORAGE_KEY);
1456 - }
1457 - }, {
1458 - key: "isEventsManagerAvailable",
1459 - value: function isEventsManagerAvailable() {
1460 - var elementorCommon = this.getElementorCommon();
1461 - return (elementorCommon === null || elementorCommon === void 0 ? void 0 : elementorCommon.eventsManager) && 'function' === typeof elementorCommon.eventsManager.dispatchEvent;
1462 - }
1463 - }, {
1464 - key: "canSendEvents",
1465 - value: function canSendEvents() {
1466 - var _elementorCommon$conf3, _elementorCommon$conf4;
1467 - var elementorCommon = this.getElementorCommon();
1468 - 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;
1469 - }
1470 - }, {
1471 - key: "dispatchEvent",
1472 - value: function dispatchEvent(eventName) {
1473 - var _elementorCommon$even;
1474 - var properties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1475 - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1476 - if (!this.isEventsManagerAvailable() || !this.canSendEvents()) {
1477 - return;
1478 - }
1479 - var elementorCommon = this.getElementorCommon();
1480 - elementorCommon === null || elementorCommon === void 0 || (_elementorCommon$even = elementorCommon.eventsManager) === null || _elementorCommon$even === void 0 || _elementorCommon$even.dispatchEvent(eventName, properties, options);
1481 - }
1482 - }, {
1483 - key: "updateActivity",
1484 - value: function updateActivity() {
1485 - this.lastActivityTime = Date.now();
1486 - }
1487 - }, {
1488 - key: "startSessionMonitoring",
1489 - value: function startSessionMonitoring() {
1490 - var _this = this;
1491 - this.activityCheckInterval = setInterval(function () {
1492 - _this.checkSessionTimeout();
1493 - }, ACTIVITY_CHECK_INTERVAL);
1494 - window.addEventListener('beforeunload', function () {
1495 - if (!_this.sessionEnded && !_this.isNavigatingToElementor) {
1496 - _this.trackSessionEnd('tab_closed');
1497 - }
1498 - });
1499 - document.addEventListener('visibilitychange', function () {
1500 - if (!_this.sessionEnded && document.hidden) {
1501 - var timeSinceLastActivity = Date.now() - _this.lastActivityTime;
1502 - if (timeSinceLastActivity > SESSION_TIMEOUT) {
1503 - _this.trackSessionEnd('tab_inactive');
1504 - }
1505 - }
1506 - });
1507 - }
1508 - }, {
1509 - key: "isElementorPage",
1510 - value: function isElementorPage(url) {
1511 - try {
1512 - var urlObj = new URL(url, window.location.origin);
1513 - var params = urlObj.searchParams;
1514 - var page = params.get('page');
1515 - var postType = params.get('post_type');
1516 - var action = params.get('action');
1517 - return !!(page && this.elementorPages.some(function (p) {
1518 - return page.includes(p);
1519 - }) || postType && this.elementorPostTypes.includes(postType) || action && action.includes(this.anyPageWithElementorString));
1520 - } catch (error) {
1521 - return false;
1522 - }
1523 - }
1524 - }, {
1525 - key: "isPluginsPage",
1526 - value: function isPluginsPage(url) {
1527 - try {
1528 - var urlObj = new URL(url, window.location.origin);
1529 - return urlObj.pathname.includes('plugins.php');
1530 - } catch (error) {
1531 - return false;
1532 - }
1533 - }
1534 - }, {
1535 - key: "isNavigatingAwayFromElementor",
1536 - value: function isNavigatingAwayFromElementor(targetUrl) {
1537 - if (!targetUrl) {
1538 - return false;
1539 - }
1540 - if (targetUrl.startsWith('#')) {
1541 - return false;
1542 - }
1543 - return !this.isElementorPage(targetUrl);
1544 - }
1545 - }, {
1546 - key: "isLinkOpeningInNewTab",
1547 - value: function isLinkOpeningInNewTab(link) {
1548 - var target = link.getAttribute('target');
1549 - return '_blank' === target || '_new' === target;
1550 - }
1551 - }, {
1552 - key: "attachNavigationListener",
1553 - value: function attachNavigationListener() {
1554 - var _this2 = this;
1555 - var handleLinkClick = function handleLinkClick(event) {
1556 - var link = event.target.closest('a');
1557 - if (link && link.href) {
1558 - if (_this2.isLinkOpeningInNewTab(link)) {
1559 - return;
1560 - }
1561 - if (!_this2.sessionEnded && _this2.isNavigatingAwayFromElementor(link.href)) {
1562 - _this2.trackSessionEnd('navigate_away');
1563 - } else if (_this2.isElementorPage(link.href)) {
1564 - _this2.isNavigatingToElementor = true;
1565 - }
1566 - }
1567 - var isSidebar = event.target.closest('#editor-one-sidebar-navigation');
1568 - if (isSidebar) {
1569 - _this2.isNavigatingToElementor = true;
1570 - }
1571 - };
1572 - var handleFormSubmit = function handleFormSubmit(event) {
1573 - var form = event.target;
1574 - if (form.action) {
1575 - if (!_this2.sessionEnded && _this2.isNavigatingAwayFromElementor(form.action)) {
1576 - _this2.trackSessionEnd('navigate_away');
1577 - } else if (_this2.isElementorPage(form.action)) {
1578 - _this2.isNavigatingToElementor = true;
1579 - }
1580 - }
1581 - };
1582 - document.addEventListener('click', handleLinkClick, true);
1583 - document.addEventListener('submit', handleFormSubmit, true);
1584 - this.navigationListeners.push({
1585 - type: 'click',
1586 - handler: handleLinkClick
1587 - }, {
1588 - type: 'submit',
1589 - handler: handleFormSubmit
1590 - });
1591 - }
1592 - }, {
1593 - key: "checkSessionTimeout",
1594 - value: function checkSessionTimeout() {
1595 - var timeSinceLastActivity = Date.now() - this.lastActivityTime;
1596 - if (timeSinceLastActivity > SESSION_TIMEOUT && !this.sessionEnded) {
1597 - this.trackSessionEnd('timeout');
1598 - }
1599 - }
1600 - }, {
1601 - key: "attachActivityListeners",
1602 - value: function attachActivityListeners() {
1603 - var _this3 = this;
1604 - var events = ['mousedown', 'keydown', 'scroll', 'touchstart', 'click'];
1605 - events.forEach(function (event) {
1606 - document.addEventListener(event, function () {
1607 - _this3.updateActivity();
1608 - }, {
1609 - capture: true,
1610 - passive: true
1611 - });
1612 - });
1613 - }
1614 - }, {
1615 - key: "formatDuration",
1616 - value: function formatDuration(milliseconds) {
1617 - var totalSeconds = Math.floor(milliseconds / 1000);
1618 - return Number(totalSeconds.toFixed(2));
1619 - }
1620 - }, {
1621 - key: "trackNavClicked",
1622 - value: function trackNavClicked(itemId) {
1623 - var rootItem = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1624 - var area = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NAV_AREAS.LEFT_MENU;
1625 - if (!this.initialized) {
1626 - var pendingNav = {
1627 - itemId: itemId,
1628 - rootItem: rootItem,
1629 - area: area
1630 - };
1631 - sessionStorage.setItem(PENDING_NAV_CLICK_KEY, JSON.stringify(pendingNav));
1632 - return;
1633 - }
1634 - this.updateActivity();
1635 - this.navItemsVisited.add(itemId);
1636 - this.saveSessionToStorage();
1637 - var properties = {
1638 - wpdash_nav_item_id: itemId,
1639 - wpdash_nav_area: area
1640 - };
1641 - if (rootItem) {
1642 - properties.wpdash_nav_item_root = rootItem;
1643 - }
1644 - this.dispatchEvent('wpdash_nav_clicked', properties);
1645 - }
1646 - }, {
1647 - key: "trackScreenViewed",
1648 - value: function trackScreenViewed(screenId) {
1649 - var screenType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SCREEN_TYPES.TAB;
1650 - this.updateActivity();
1651 - var properties = {
1652 - wpdash_screen_id: screenId,
1653 - wpdash_screen_type: screenType
1654 - };
1655 - this.dispatchEvent('wpdash_screen_viewed', properties);
1656 - }
1657 - }, {
1658 - key: "trackActionControl",
1659 - value: function trackActionControl(controlIdentifier, controlType) {
1660 - this.updateActivity();
1661 - var properties = {
1662 - wpdash_action_control_interacted: controlIdentifier,
1663 - wpdash_control_type: controlType
1664 - };
1665 - this.dispatchEvent('wpdash_action_control', properties);
1666 - }
1667 - }, {
1668 - key: "trackPromoClicked",
1669 - value: function trackPromoClicked(promoName, destination, clickPath) {
1670 - this.updateActivity();
1671 - var properties = {
1672 - wpdash_promo_name: promoName,
1673 - wpdash_promo_destination: destination,
1674 - wpdash_promo_clicked_path: clickPath
1675 - };
1676 - this.dispatchEvent('wpdash_promo_clicked', properties);
1677 - }
1678 - }, {
1679 - key: "trackSessionEnd",
1680 - value: function trackSessionEnd() {
1681 - var reason = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'timeout';
1682 - if (this.sessionEnded) {
1683 - return;
1684 - }
1685 - this.sessionEnded = true;
1686 - if (this.activityCheckInterval) {
1687 - clearInterval(this.activityCheckInterval);
1688 - this.activityCheckInterval = null;
1689 - }
1690 - var duration = Date.now() - this.sessionStartTime;
1691 - var properties = {
1692 - wpdash_endstate_nav_summary: Array.from(this.navItemsVisited),
1693 - wpdash_endstate_nav_count: this.navItemsVisited.size,
1694 - wpdash_endstate_duration: this.formatDuration(duration),
1695 - reason: reason
1696 - };
1697 - this.dispatchEvent('wpdash_session_end_state', properties);
1698 - this.clearStoredSession();
1699 - }
1700 - }, {
1701 - key: "destroy",
1702 - value: function destroy() {
1703 - if (this.activityCheckInterval) {
1704 - clearInterval(this.activityCheckInterval);
1705 - }
1706 - this.navigationListeners.forEach(function (_ref) {
1707 - var type = _ref.type,
1708 - handler = _ref.handler;
1709 - document.removeEventListener(type, handler, true);
1710 - });
1711 - this.navigationListeners = [];
1712 - _screenView.default.destroy();
1713 - _promotion.default.destroy();
1714 - _menuPromotion.default.destroy();
1715 - _actionControls.default.destroy();
1716 - this.initialized = false;
1717 - }
1718 - }]);
1719 -}();
1720 -_WpDashboardTracking = WpDashboardTracking;
1721 -(0, _defineProperty2.default)(WpDashboardTracking, "anyPageWithElementorString", 'elementor');
1722 -(0, _defineProperty2.default)(WpDashboardTracking, "elementorPages", [_WpDashboardTracking.anyPageWithElementorString, 'e-form-submissions', 'popup_templates']);
1723 -(0, _defineProperty2.default)(WpDashboardTracking, "elementorPostTypes", ['elementor_library', 'e-floating-buttons', 'elementor_snippet', 'elementor_font', 'elementor_icons']);
1724 -(0, _defineProperty2.default)(WpDashboardTracking, "sessionStartTime", Date.now());
1725 -(0, _defineProperty2.default)(WpDashboardTracking, "lastActivityTime", Date.now());
1726 -(0, _defineProperty2.default)(WpDashboardTracking, "sessionEnded", false);
1727 -(0, _defineProperty2.default)(WpDashboardTracking, "navItemsVisited", new Set());
1728 -(0, _defineProperty2.default)(WpDashboardTracking, "activityCheckInterval", null);
1729 -(0, _defineProperty2.default)(WpDashboardTracking, "initialized", false);
1730 -(0, _defineProperty2.default)(WpDashboardTracking, "navigationListeners", []);
1731 -(0, _defineProperty2.default)(WpDashboardTracking, "isNavigatingToElementor", false);
1732 -window.addEventListener('elementor/admin/init', function () {
1733 - var currentUrl = window.location.href;
1734 - var isPluginsPage = WpDashboardTracking.isPluginsPage(currentUrl);
1735 - var isElementorPage = WpDashboardTracking.isElementorPage(currentUrl);
1736 - if (isPluginsPage) {
1737 - _pluginActions.default.init();
1738 - }
1739 - _navigation.default.init();
1740 - if (isElementorPage) {
1741 - WpDashboardTracking.init();
1742 - _screenView.default.init();
1743 - _promotion.default.init();
1744 - _menuPromotion.default.init();
1745 - _actionControls.default.init();
1746 - }
1747 -});
1748 -window.addEventListener('beforeunload', function () {
1749 - _navigation.default.destroy();
1750 - _pluginActions.default.destroy();
1751 - WpDashboardTracking.destroy();
1752 -});
1753 -
1754 -/***/ }),
1755 -
1756 5 /***/ "../assets/dev/js/admin/maintenance-mode.js":
1757 6 /*!**************************************************!*\
1758 7 !*** ../assets/dev/js/admin/maintenance-mode.js ***!
1759 8 \**************************************************/
@@ -3445,19 +1694,21 @@
3445 1694 } catch (e) {
3446 1695 i = 0;
3447 1696 }
3448 1697 module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
3449 - function o(r, n) {
3450 - _regeneratorDefine(e, r, function (e) {
3451 - return this._invoke(r, n, e);
3452 - });
3453 - }
3454 - r ? i ? i(e, r, {
1698 + if (r) i ? i(e, r, {
3455 1699 value: n,
3456 1700 enumerable: !t,
3457 1701 configurable: !t,
3458 1702 writable: !t
3459 - }) : 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 + }
3460 1711 }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
3461 1712 }
3462 1713 module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
3463 1714
@@ -3801,9 +2052,8 @@
3801 2052 var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../editor/utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js"));
3802 2053 var _templateControls = _interopRequireDefault(__webpack_require__(/*! ./new-template/template-controls.js */ "../assets/dev/js/admin/new-template/template-controls.js"));
3803 2054 var _jsonUploadWarningMessage = __webpack_require__(/*! elementor-utils/json-upload-warning-message */ "../assets/dev/js/utils/json-upload-warning-message.js");
3804 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"));
3805 -__webpack_require__(/*! elementor-app/event-track/wp-dashboard-tracking */ "../app/assets/js/event-track/wp-dashboard-tracking.js");
3806 2056 (function ($) {
3807 2057 var ElementorAdmin = elementorModules.ViewModule.extend({
3808 2058 maintenanceMode: null,
3809 2059 config: elementorAdminConfig,
@@ -3821,10 +2071,12 @@
3821 2071 $importForm: $('#elementor-import-template-form'),
3822 2072 $importFormFileInput: $('#elementor-import-template-form input[type="file"]'),
3823 2073 $settingsForm: $('#elementor-settings-form'),
3824 2074 $settingsTabsWrapper: $('#elementor-settings-tabs-wrapper'),
3825 - $menuGoProLink: $('a[href="admin.php?page=go_elementor_pro"], a[href*="admin.php?page=elementor-one-upgrade"]'),
3826 - $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button')
2075 + $menuGetHelpLink: $('a[href="admin.php?page=go_knowledge_base_site"]'),
2076 + $menuGoProLink: $('a[href="admin.php?page=go_elementor_pro"]'),
2077 + $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button'),
2078 + $menuCloudHostingPlansLink: $('a[href="edit.php?post_type=elementor_library&page=go_cloud_hosting_plans"]')
3827 2079 };
3828 2080 elements.$settingsFormPages = elements.$settingsForm.find('.elementor-settings-form-page');
3829 2081 elements.$activeSettingsPage = elements.$settingsFormPages.filter('.elementor-active');
3830 2082 elements.$settingsTabs = elements.$settingsTabsWrapper.children();
@@ -3886,34 +2138,30 @@
3886 2138 $wrapperElm.remove();
3887 2139 });
3888 2140 });
3889 2141 });
3890 - var campaignNotices = {
3891 - plugin_image_optimization: 'elementor_image_optimization_campaign',
3892 - site_mailer_promotion: 'elementor_core_site_mailer_campaign'
3893 - };
3894 - Object.keys(campaignNotices).forEach(function (noticeId) {
3895 - $(".e-notice--cta.e-notice--dismissible[data-notice_id=\"".concat(noticeId, "\"] a.e-button--cta")).on('click', function () {
3896 - var $button = $(this);
3897 - elementorCommon.ajax.addRequest(campaignNotices[noticeId], {
3898 - data: {
3899 - campaign: ($button === null || $button === void 0 ? void 0 : $button.data('campaign')) || '',
3900 - source: ($button === null || $button === void 0 ? void 0 : $button.data('source')) || '',
3901 - medium: ($button === null || $button === void 0 ? void 0 : $button.data('medium')) || ''
3902 - }
3903 - });
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 + }
3904 2147 });
3905 2148 });
3906 2149 $('.e-a-apps .e-a-item[data-plugin="image-optimization/image-optimization.php"] a.e-btn').on('click', function () {
3907 - var $button = $(this);
3908 2150 elementorCommon.ajax.addRequest('elementor_image_optimization_campaign', {
3909 2151 data: {
3910 - campaign: ($button === null || $button === void 0 ? void 0 : $button.data('campaign')) || '',
3911 - source: ($button === null || $button === void 0 ? void 0 : $button.data('source')) || '',
3912 - medium: ($button === null || $button === void 0 ? void 0 : $button.data('medium')) || ''
2152 + source: 'io-esetting-addons-install'
3913 2153 }
3914 2154 });
3915 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 + });
3916 2164 $('#elementor-clear-cache-button').on('click', function (event) {
3917 2165 event.preventDefault();
3918 2166 var $thisButton = $(this);
3919 2167 $thisButton.removeClass('success').addClass('loading');
@@ -4033,9 +2281,9 @@
4033 2281 $rollbackButton = $this.next('.elementor-rollback-button'),
4034 2282 placeholderText = $rollbackButton.data('placeholder-text'),
4035 2283 placeholderUrl = $rollbackButton.data('placeholder-url');
4036 2284 $rollbackButton.html(placeholderText.replace('{VERSION}', $this.val()));
4037 - $rollbackButton.data('href', placeholderUrl.replace('VERSION', $this.val()));
2285 + $rollbackButton.attr('href', placeholderUrl.replace('VERSION', $this.val()));
4038 2286 }).trigger('change');
4039 2287 $('.elementor-rollback-button').on('click', function (event) {
4040 2288 event.preventDefault();
4041 2289 var $this = $(this);
@@ -4047,9 +2295,9 @@
4047 2295 cancel: __('Cancel', 'elementor')
4048 2296 },
4049 2297 onConfirm: function onConfirm() {
4050 2298 $this.addClass('loading');
4051 - location.href = $this.data('href');
2299 + location.href = $this.attr('href');
4052 2300 }
4053 2301 }).show();
4054 2302 });
4055 2303 self.elements.$reMigrateGlobalsButton.on('click', function (event) {
@@ -4113,9 +2361,9 @@
4113 2361 *
4114 2362 * @since 3.6.0
4115 2363 */
4116 2364 openLinksInNewTab: function openLinksInNewTab() {
4117 - var elements = [this.elements.$menuGoProLink];
2365 + var elements = [this.elements.$menuGetHelpLink, this.elements.$menuGoProLink, this.elements.$menuCloudHostingPlansLink];
4118 2366 elements.forEach(function ($element) {
4119 2367 // Only add the attribute if the element is found.
4120 2368 if ($element.length) {
4121 2369 $element.attr('target', '_blank');
@@ -4137,9 +2385,9 @@
4137 2385 $importArea = self.elements.$importArea,
4138 2386 $importNowButton = self.elements.$importNowButton,
4139 2387 $importFormFileInput = self.elements.$importFormFileInput;
4140 2388 self.elements.$formAnchor = $('.wp-header-end');
4141 - $('#wpbody-content').find('.page-title-action').first().before($importButton);
2389 + $('#wpbody-content').find('.page-title-action').last().after($importButton);
4142 2390 self.elements.$formAnchor.after($importArea);
4143 2391 $importButton.on('click', function () {
4144 2392 $('#elementor-import-template-area').toggle();
4145 2393 });