PluginProbe
Elementor Website Builder – more than just a page builder / 3.6.7
Elementor Website Builder – more than just a page builder v3.6.7
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
elementor / assets / js / admin.js

admin.js in Elementor Website Builder – more than just a page builder 3.6.7, at assets/js/admin.js

1,583 lines 65.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.6.7 - 03-07-2022 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
6 /*!******************************************************************!*\
7 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
8 \******************************************************************/
9 /***/ ((module) => {
10
11 function _arrayLikeToArray(arr, len) {
12 if (len == null || len > arr.length) len = arr.length;
13
14 for (var i = 0, arr2 = new Array(len); i < len; i++) {
15 arr2[i] = arr[i];
16 }
17
18 return arr2;
19 }
20
21 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
22
23 /***/ }),
24
25 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
26 /*!****************************************************************!*\
27 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
28 \****************************************************************/
29 /***/ ((module) => {
30
31 function _arrayWithHoles(arr) {
32 if (Array.isArray(arr)) return arr;
33 }
34
35 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
36
37 /***/ }),
38
39 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
40 /*!***********************************************************************!*\
41 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
42 \***********************************************************************/
43 /***/ ((module) => {
44
45 function _assertThisInitialized(self) {
46 if (self === void 0) {
47 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
48 }
49
50 return self;
51 }
52
53 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
54
55 /***/ }),
56
57 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
58 /*!****************************************************************!*\
59 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
60 \****************************************************************/
61 /***/ ((module) => {
62
63 function _classCallCheck(instance, Constructor) {
64 if (!(instance instanceof Constructor)) {
65 throw new TypeError("Cannot call a class as a function");
66 }
67 }
68
69 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
70
71 /***/ }),
72
73 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
74 /*!*************************************************************!*\
75 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
76 \*************************************************************/
77 /***/ ((module) => {
78
79 function _defineProperties(target, props) {
80 for (var i = 0; i < props.length; i++) {
81 var descriptor = props[i];
82 descriptor.enumerable = descriptor.enumerable || false;
83 descriptor.configurable = true;
84 if ("value" in descriptor) descriptor.writable = true;
85 Object.defineProperty(target, descriptor.key, descriptor);
86 }
87 }
88
89 function _createClass(Constructor, protoProps, staticProps) {
90 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
91 if (staticProps) _defineProperties(Constructor, staticProps);
92 Object.defineProperty(Constructor, "prototype", {
93 writable: false
94 });
95 return Constructor;
96 }
97
98 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
99
100 /***/ }),
101
102 /***/ "../node_modules/@babel/runtime/helpers/get.js":
103 /*!*****************************************************!*\
104 !*** ../node_modules/@babel/runtime/helpers/get.js ***!
105 \*****************************************************/
106 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
107
108 var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js");
109
110 function _get() {
111 if (typeof Reflect !== "undefined" && Reflect.get) {
112 module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
113 } else {
114 module.exports = _get = function _get(target, property, receiver) {
115 var base = superPropBase(target, property);
116 if (!base) return;
117 var desc = Object.getOwnPropertyDescriptor(base, property);
118
119 if (desc.get) {
120 return desc.get.call(arguments.length < 3 ? target : receiver);
121 }
122
123 return desc.value;
124 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
125 }
126
127 return _get.apply(this, arguments);
128 }
129
130 module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
131
132 /***/ }),
133
134 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
135 /*!****************************************************************!*\
136 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
137 \****************************************************************/
138 /***/ ((module) => {
139
140 function _getPrototypeOf(o) {
141 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
142 return o.__proto__ || Object.getPrototypeOf(o);
143 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
144 return _getPrototypeOf(o);
145 }
146
147 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
148
149 /***/ }),
150
151 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
152 /*!**********************************************************!*\
153 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
154 \**********************************************************/
155 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
156
157 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
158
159 function _inherits(subClass, superClass) {
160 if (typeof superClass !== "function" && superClass !== null) {
161 throw new TypeError("Super expression must either be null or a function");
162 }
163
164 subClass.prototype = Object.create(superClass && superClass.prototype, {
165 constructor: {
166 value: subClass,
167 writable: true,
168 configurable: true
169 }
170 });
171 Object.defineProperty(subClass, "prototype", {
172 writable: false
173 });
174 if (superClass) setPrototypeOf(subClass, superClass);
175 }
176
177 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
178
179 /***/ }),
180
181 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
182 /*!***********************************************************************!*\
183 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
184 \***********************************************************************/
185 /***/ ((module) => {
186
187 function _interopRequireDefault(obj) {
188 return obj && obj.__esModule ? obj : {
189 "default": obj
190 };
191 }
192
193 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
194
195 /***/ }),
196
197 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
198 /*!**********************************************************************!*\
199 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
200 \**********************************************************************/
201 /***/ ((module) => {
202
203 function _iterableToArrayLimit(arr, i) {
204 var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
205
206 if (_i == null) return;
207 var _arr = [];
208 var _n = true;
209 var _d = false;
210
211 var _s, _e;
212
213 try {
214 for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
215 _arr.push(_s.value);
216
217 if (i && _arr.length === i) break;
218 }
219 } catch (err) {
220 _d = true;
221 _e = err;
222 } finally {
223 try {
224 if (!_n && _i["return"] != null) _i["return"]();
225 } finally {
226 if (_d) throw _e;
227 }
228 }
229
230 return _arr;
231 }
232
233 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
234
235 /***/ }),
236
237 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
238 /*!*****************************************************************!*\
239 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
240 \*****************************************************************/
241 /***/ ((module) => {
242
243 function _nonIterableRest() {
244 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
245 }
246
247 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
248
249 /***/ }),
250
251 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
252 /*!***************************************************************************!*\
253 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
254 \***************************************************************************/
255 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
256
257 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
258
259 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
260
261 function _possibleConstructorReturn(self, call) {
262 if (call && (_typeof(call) === "object" || typeof call === "function")) {
263 return call;
264 } else if (call !== void 0) {
265 throw new TypeError("Derived constructors may only return object or undefined");
266 }
267
268 return assertThisInitialized(self);
269 }
270
271 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
272
273 /***/ }),
274
275 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
276 /*!****************************************************************!*\
277 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
278 \****************************************************************/
279 /***/ ((module) => {
280
281 function _setPrototypeOf(o, p) {
282 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
283 o.__proto__ = p;
284 return o;
285 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
286 return _setPrototypeOf(o, p);
287 }
288
289 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
290
291 /***/ }),
292
293 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
294 /*!***************************************************************!*\
295 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
296 \***************************************************************/
297 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
298
299 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
300
301 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
302
303 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
304
305 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
306
307 function _slicedToArray(arr, i) {
308 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
309 }
310
311 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
312
313 /***/ }),
314
315 /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js":
316 /*!***************************************************************!*\
317 !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***!
318 \***************************************************************/
319 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
320
321 var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js");
322
323 function _superPropBase(object, property) {
324 while (!Object.prototype.hasOwnProperty.call(object, property)) {
325 object = getPrototypeOf(object);
326 if (object === null) break;
327 }
328
329 return object;
330 }
331
332 module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
333
334 /***/ }),
335
336 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
337 /*!********************************************************!*\
338 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
339 \********************************************************/
340 /***/ ((module) => {
341
342 function _typeof(obj) {
343 "@babel/helpers - typeof";
344
345 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
346 return typeof obj;
347 } : function (obj) {
348 return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
349 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
350 }
351
352 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
353
354 /***/ }),
355
356 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
357 /*!****************************************************************************!*\
358 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
359 \****************************************************************************/
360 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
361
362 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
363
364 function _unsupportedIterableToArray(o, minLen) {
365 if (!o) return;
366 if (typeof o === "string") return arrayLikeToArray(o, minLen);
367 var n = Object.prototype.toString.call(o).slice(8, -1);
368 if (n === "Object" && o.constructor) n = o.constructor.name;
369 if (n === "Map" || n === "Set") return Array.from(o);
370 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
371 }
372
373 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
374
375 /***/ }),
376
377 /***/ "../assets/dev/js/admin/maintenance-mode.js":
378 /*!**************************************************!*\
379 !*** ../assets/dev/js/admin/maintenance-mode.js ***!
380 \**************************************************/
381 /***/ ((module) => {
382
383 "use strict";
384
385
386 module.exports = elementorModules.ViewModule.extend({
387 getDefaultSettings: function getDefaultSettings() {
388 return {
389 selectors: {
390 modeSelect: '.elementor_maintenance_mode_mode select',
391 maintenanceModeTable: '#tab-maintenance_mode table',
392 maintenanceModeDescriptions: '.elementor-maintenance-mode-description',
393 excludeModeSelect: '.elementor_maintenance_mode_exclude_mode select',
394 excludeRolesArea: '.elementor_maintenance_mode_exclude_roles',
395 templateSelect: '.elementor_maintenance_mode_template_id select',
396 editTemplateButton: '.elementor-edit-template',
397 maintenanceModeError: '.elementor-maintenance-mode-error'
398 },
399 classes: {
400 isEnabled: 'elementor-maintenance-mode-is-enabled'
401 }
402 };
403 },
404 getDefaultElements: function getDefaultElements() {
405 var elements = {},
406 selectors = this.getSettings('selectors');
407 elements.$modeSelect = jQuery(selectors.modeSelect);
408 elements.$maintenanceModeTable = elements.$modeSelect.parents(selectors.maintenanceModeTable);
409 elements.$excludeModeSelect = elements.$maintenanceModeTable.find(selectors.excludeModeSelect);
410 elements.$excludeRolesArea = elements.$maintenanceModeTable.find(selectors.excludeRolesArea);
411 elements.$templateSelect = elements.$maintenanceModeTable.find(selectors.templateSelect);
412 elements.$editTemplateButton = elements.$maintenanceModeTable.find(selectors.editTemplateButton);
413 elements.$maintenanceModeDescriptions = elements.$maintenanceModeTable.find(selectors.maintenanceModeDescriptions);
414 elements.$maintenanceModeError = elements.$maintenanceModeTable.find(selectors.maintenanceModeError);
415 return elements;
416 },
417 handleModeSelectChange: function handleModeSelectChange() {
418 var settings = this.getSettings(),
419 elements = this.elements;
420 elements.$maintenanceModeTable.toggleClass(settings.classes.isEnabled, !!elements.$modeSelect.val());
421 elements.$maintenanceModeDescriptions.hide();
422 elements.$maintenanceModeDescriptions.filter('[data-value="' + elements.$modeSelect.val() + '"]').show();
423 },
424 handleExcludeModeSelectChange: function handleExcludeModeSelectChange() {
425 var elements = this.elements;
426 elements.$excludeRolesArea.toggle('custom' === elements.$excludeModeSelect.val());
427 },
428 handleTemplateSelectChange: function handleTemplateSelectChange() {
429 var elements = this.elements;
430 var templateID = elements.$templateSelect.val();
431
432 if (!templateID) {
433 elements.$editTemplateButton.hide();
434 elements.$maintenanceModeError.show();
435 return;
436 }
437
438 var editUrl = elementorAdmin.config.home_url + '?p=' + templateID + '&elementor';
439 elements.$editTemplateButton.prop('href', editUrl).show();
440 elements.$maintenanceModeError.hide();
441 },
442 bindEvents: function bindEvents() {
443 var elements = this.elements;
444 elements.$modeSelect.on('change', this.handleModeSelectChange.bind(this));
445 elements.$excludeModeSelect.on('change', this.handleExcludeModeSelectChange.bind(this));
446 elements.$templateSelect.on('change', this.handleTemplateSelectChange.bind(this));
447 },
448 onAdminInit: function onAdminInit() {
449 this.handleModeSelectChange();
450 this.handleExcludeModeSelectChange();
451 this.handleTemplateSelectChange();
452 },
453 onInit: function onInit() {
454 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
455 elementorCommon.elements.$window.on('elementor/admin/init', this.onAdminInit);
456 }
457 });
458
459 /***/ }),
460
461 /***/ "../assets/dev/js/admin/menu-handler.js":
462 /*!**********************************************!*\
463 !*** ../assets/dev/js/admin/menu-handler.js ***!
464 \**********************************************/
465 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
466
467 "use strict";
468
469
470 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
471
472 Object.defineProperty(exports, "__esModule", ({
473 value: true
474 }));
475 exports["default"] = void 0;
476
477 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
478
479 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
480
481 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
482
483 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
484
485 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
486
487 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
488
489 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
490
491 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
492
493 var MenuHandler = /*#__PURE__*/function (_elementorModules$Vie) {
494 (0, _inherits2.default)(MenuHandler, _elementorModules$Vie);
495
496 var _super = _createSuper(MenuHandler);
497
498 function MenuHandler() {
499 (0, _classCallCheck2.default)(this, MenuHandler);
500 return _super.apply(this, arguments);
501 }
502
503 (0, _createClass2.default)(MenuHandler, [{
504 key: "getDefaultSettings",
505 value: function getDefaultSettings() {
506 return {
507 selectors: {
508 currentSubmenuItems: '#adminmenu .current'
509 }
510 };
511 }
512 }, {
513 key: "getDefaultElements",
514 value: function getDefaultElements() {
515 var settings = this.getSettings();
516 return {
517 $currentSubmenuItems: jQuery(settings.selectors.currentSubmenuItems),
518 $adminPageMenuLink: jQuery("a[href=\"".concat(settings.path, "\"]"))
519 };
520 } // This method highlights the currently visited submenu item for the slug provided as an argument to this handler.
521 // This method also accepts a jQuery instance of a custom submenu item to highlight. If provided, the provided
522 // item will be the one highlighted.
523
524 }, {
525 key: "highlightSubMenuItem",
526 value: function highlightSubMenuItem() {
527 var $element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
528 var $submenuItem = $element || this.elements.$adminPageMenuLink;
529
530 if (this.elements.$currentSubmenuItems.length) {
531 this.elements.$currentSubmenuItems.removeClass('current');
532 }
533
534 $submenuItem.addClass('current'); // Need to add the 'current' class to the link element's parent `<li>` element as well.
535
536 $submenuItem.parent().addClass('current');
537 }
538 }, {
539 key: "highlightTopLevelMenuItem",
540 value: function highlightTopLevelMenuItem($elementToHighlight) {
541 var $elementToRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
542 var activeClasses = 'wp-has-current-submenu wp-menu-open current';
543 $elementToHighlight.parent().addClass(activeClasses).removeClass('wp-not-current-submenu');
544
545 if ($elementToRemove) {
546 $elementToRemove.removeClass(activeClasses);
547 }
548 }
549 }, {
550 key: "onInit",
551 value: function onInit() {
552 (0, _get2.default)((0, _getPrototypeOf2.default)(MenuHandler.prototype), "onInit", this).call(this);
553 var settings = this.getSettings();
554
555 if (window.location.href.includes(settings.path)) {
556 this.highlightSubMenuItem();
557 }
558 }
559 }]);
560 return MenuHandler;
561 }(elementorModules.ViewModule);
562
563 exports["default"] = MenuHandler;
564
565 /***/ }),
566
567 /***/ "../assets/dev/js/editor/utils/files-upload-handler.js":
568 /*!*************************************************************!*\
569 !*** ../assets/dev/js/editor/utils/files-upload-handler.js ***!
570 \*************************************************************/
571 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
572
573 "use strict";
574 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
575
576
577 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
578
579 Object.defineProperty(exports, "__esModule", ({
580 value: true
581 }));
582 exports["default"] = void 0;
583
584 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
585
586 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
587
588 var FilesUploadHandler = /*#__PURE__*/function () {
589 function FilesUploadHandler() {
590 (0, _classCallCheck2.default)(this, FilesUploadHandler);
591 }
592
593 (0, _createClass2.default)(FilesUploadHandler, null, [{
594 key: "isUploadEnabled",
595 value: function isUploadEnabled(mediaType) {
596 var unfilteredFilesTypes = ['svg', 'application/json'];
597
598 if (!unfilteredFilesTypes.includes(mediaType)) {
599 return true;
600 }
601
602 return elementorCommon.config.filesUpload.unfilteredFiles;
603 }
604 }, {
605 key: "setUploadTypeCaller",
606 value: function setUploadTypeCaller(frame) {
607 frame.uploader.uploader.param('uploadTypeCaller', 'elementor-wp-media-upload');
608 }
609 }, {
610 key: "getUnfilteredFilesNotEnabledDialog",
611 value: function getUnfilteredFilesNotEnabledDialog(callback) {
612 var onConfirm = function onConfirm() {
613 elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', {}, true);
614 elementorCommon.config.filesUpload.unfilteredFiles = true;
615 callback();
616 };
617
618 return elementor.helpers.getSimpleDialog('e-enable-unfiltered-files-dialog', __('Enable Unfiltered File Uploads', 'elementor'), __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor'), __('Enable', 'elementor'), onConfirm);
619 }
620 }, {
621 key: "getUnfilteredFilesNotEnabledImportTemplateDialog",
622 value: function getUnfilteredFilesNotEnabledImportTemplateDialog(callback) {
623 return elementorCommon.dialogsManager.createWidget('confirm', {
624 id: 'e-enable-unfiltered-files-dialog-import-template',
625 headerMessage: __('Enable Unfiltered File Uploads', 'elementor'),
626 message: __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor') + '<br /><br />' + __('If you do not enable uploading unfiltered files, any SVG or JSON (including lottie) files used in the uploaded template will not be imported.', 'elementor'),
627 position: {
628 my: 'center center',
629 at: 'center center'
630 },
631 strings: {
632 confirm: __('Enable and Import', 'elementor'),
633 cancel: __('Import Without Enabling', 'elementor')
634 },
635 onConfirm: function onConfirm() {
636 elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', {
637 success: function success() {
638 // This utility is used in both the admin and the Editor.
639 elementorCommon.config.filesUpload.unfilteredFiles = true;
640 callback();
641 }
642 }, true);
643 },
644 onCancel: function onCancel() {
645 return callback();
646 }
647 });
648 }
649 }]);
650 return FilesUploadHandler;
651 }();
652
653 exports["default"] = FilesUploadHandler;
654
655 /***/ }),
656
657 /***/ "../assets/dev/js/utils/events.js":
658 /*!****************************************!*\
659 !*** ../assets/dev/js/utils/events.js ***!
660 \****************************************/
661 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
662
663 "use strict";
664
665
666 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
667
668 Object.defineProperty(exports, "__esModule", ({
669 value: true
670 }));
671 exports["default"] = exports.Events = void 0;
672
673 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
674
675 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
676
677 var Events = /*#__PURE__*/function () {
678 function Events() {
679 (0, _classCallCheck2.default)(this, Events);
680 }
681
682 (0, _createClass2.default)(Events, null, [{
683 key: "dispatch",
684 value:
685 /**
686 * Dispatch an Elementor event.
687 *
688 * Will dispatch both native event & jQuery event (as BC).
689 * By default, `bcEvent` is `null`.
690 *
691 * @param {Object} context - The context that will dispatch the event.
692 * @param {string} event - Event to dispatch.
693 * @param {*} data - Data to pass to the event, default to `null`.
694 * @param {string|null} bcEvent - BC event to dispatch, default to `null`.
695 *
696 * @return {void}
697 */
698 function dispatch(context, event) {
699 var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
700 var bcEvent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
701 // Make sure to use the native context if it's a jQuery instance.
702 context = context instanceof jQuery ? context[0] : context; // Dispatch the BC event only if exists.
703
704 if (bcEvent) {
705 context.dispatchEvent(new CustomEvent(bcEvent, {
706 detail: data
707 }));
708 } // jQuery's `.on()` listens also to native custom events, so there is no need
709 // to dispatch also a jQuery event.
710
711
712 context.dispatchEvent(new CustomEvent(event, {
713 detail: data
714 }));
715 }
716 }]);
717 return Events;
718 }();
719
720 exports.Events = Events;
721 var _default = Events;
722 exports["default"] = _default;
723
724 /***/ }),
725
726 /***/ "../core/common/assets/js/utils/environment.js":
727 /*!*****************************************************!*\
728 !*** ../core/common/assets/js/utils/environment.js ***!
729 \*****************************************************/
730 /***/ ((__unused_webpack_module, exports) => {
731
732 "use strict";
733
734
735 Object.defineProperty(exports, "__esModule", ({
736 value: true
737 }));
738 exports["default"] = void 0;
739
740 var matchUserAgent = function matchUserAgent(UserAgentStr) {
741 return userAgent.indexOf(UserAgentStr) >= 0;
742 },
743 userAgent = navigator.userAgent,
744 // Solution influenced by https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
745 // Opera 8.0+
746 isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'),
747 // Firefox 1.0+
748 isFirefox = matchUserAgent('Firefox'),
749 // Safari 3.0+ "[object HTMLElementConstructor]"
750 isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || function (p) {
751 return '[object SafariRemoteNotification]' === p.toString();
752 }(!window.safari || typeof safari !== 'undefined' && safari.pushNotification),
753 // Internet Explorer 6-11
754 isIE = /Trident|MSIE/.test(userAgent) && (
755 /*@cc_on!@*/
756 false || !!document.documentMode),
757 // Edge 20+
758 isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'),
759 // Google Chrome (Not accurate)
760 isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera),
761 // Blink engine
762 isBlink = matchUserAgent('Chrome') && !!window.CSS,
763 // Apple Webkit engine
764 isAppleWebkit = matchUserAgent('AppleWebKit') && !isBlink,
765 environment = {
766 appleWebkit: isAppleWebkit,
767 blink: isBlink,
768 chrome: isChrome,
769 edge: isEdge,
770 firefox: isFirefox,
771 ie: isIE,
772 mac: matchUserAgent('Macintosh'),
773 opera: isOpera,
774 safari: isSafari,
775 webkit: matchUserAgent('AppleWebKit')
776 };
777
778 var _default = environment;
779 exports["default"] = _default;
780
781 /***/ }),
782
783 /***/ "../core/experiments/assets/js/admin/module.js":
784 /*!*****************************************************!*\
785 !*** ../core/experiments/assets/js/admin/module.js ***!
786 \*****************************************************/
787 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
788
789 "use strict";
790
791
792 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
793
794 Object.defineProperty(exports, "__esModule", ({
795 value: true
796 }));
797 exports["default"] = void 0;
798
799 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
800
801 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
802
803 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
804
805 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
806
807 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
808
809 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
810
811 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
812
813 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
814
815 var ExperimentsModule = /*#__PURE__*/function (_elementorModules$Vie) {
816 (0, _inherits2.default)(ExperimentsModule, _elementorModules$Vie);
817
818 var _super = _createSuper(ExperimentsModule);
819
820 function ExperimentsModule() {
821 (0, _classCallCheck2.default)(this, ExperimentsModule);
822 return _super.apply(this, arguments);
823 }
824
825 (0, _createClass2.default)(ExperimentsModule, [{
826 key: "getDefaultSettings",
827 value: function getDefaultSettings() {
828 return {
829 selectors: {
830 experimentIndicators: '.e-experiment__title__indicator',
831 experimentForm: '#elementor-settings-form',
832 experimentSelects: '.e-experiment__select',
833 experimentsButtons: '.e-experiment__button'
834 }
835 };
836 }
837 }, {
838 key: "getDefaultElements",
839 value: function getDefaultElements() {
840 var _this$getSettings = this.getSettings(),
841 selectors = _this$getSettings.selectors;
842
843 return {
844 $experimentIndicators: jQuery(selectors.experimentIndicators),
845 $experimentForm: jQuery(selectors.experimentForm),
846 $experimentSelects: jQuery(selectors.experimentSelects),
847 $experimentsButtons: jQuery(selectors.experimentsButtons)
848 };
849 }
850 }, {
851 key: "bindEvents",
852 value: function bindEvents() {
853 var _this = this;
854
855 this.elements.$experimentsButtons.on('click', function (event) {
856 return _this.onExperimentsButtonsClick(event);
857 });
858 }
859 }, {
860 key: "onExperimentsButtonsClick",
861 value: function onExperimentsButtonsClick(event) {
862 var submitButton = jQuery(event.currentTarget);
863 this.elements.$experimentSelects.val(submitButton.val());
864 this.elements.$experimentForm.find('#submit').trigger('click');
865 }
866 }, {
867 key: "addTipsy",
868 value: function addTipsy($element) {
869 $element.tipsy({
870 gravity: 's',
871 offset: 8,
872 title: function title() {
873 return this.getAttribute('data-tooltip');
874 }
875 });
876 }
877 }, {
878 key: "addIndicatorsTooltips",
879 value: function addIndicatorsTooltips() {
880 var _this2 = this;
881
882 this.elements.$experimentIndicators.each(function (index, experimentIndicator) {
883 return _this2.addTipsy(jQuery(experimentIndicator));
884 });
885 }
886 }, {
887 key: "onInit",
888 value: function onInit() {
889 var _this3 = this;
890
891 (0, _get2.default)((0, _getPrototypeOf2.default)(ExperimentsModule.prototype), "onInit", this).call(this);
892
893 if (this.elements.$experimentIndicators.length) {
894 import(
895 /* webpackIgnore: true */
896 "".concat(elementorCommon.config.urls.assets, "lib/tipsy/tipsy.min.js?ver=1.0.0")).then(function () {
897 return _this3.addIndicatorsTooltips();
898 });
899 }
900 }
901 }]);
902 return ExperimentsModule;
903 }(elementorModules.ViewModule);
904
905 exports["default"] = ExperimentsModule;
906
907 /***/ }),
908
909 /***/ "../modules/landing-pages/assets/js/admin/landing-pages.js":
910 /*!*****************************************************************!*\
911 !*** ../modules/landing-pages/assets/js/admin/landing-pages.js ***!
912 \*****************************************************************/
913 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
914
915 "use strict";
916
917
918 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
919
920 Object.defineProperty(exports, "__esModule", ({
921 value: true
922 }));
923 exports["default"] = void 0;
924
925 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
926
927 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
928
929 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
930
931 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
932
933 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
934
935 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
936
937 var _menuHandler = _interopRequireDefault(__webpack_require__(/*! elementor-admin/menu-handler */ "../assets/dev/js/admin/menu-handler.js"));
938
939 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
940
941 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
942
943 var LandingPagesHandler = /*#__PURE__*/function (_AdminMenuHandler) {
944 (0, _inherits2.default)(LandingPagesHandler, _AdminMenuHandler);
945
946 var _super = _createSuper(LandingPagesHandler);
947
948 function LandingPagesHandler() {
949 (0, _classCallCheck2.default)(this, LandingPagesHandler);
950 return _super.apply(this, arguments);
951 }
952
953 (0, _createClass2.default)(LandingPagesHandler, [{
954 key: "getDefaultSettings",
955 value: function getDefaultSettings() {
956 var pageName = 'e-landing-page',
957 adminMenuSelectors = {
958 // The escaping is done because jQuery requires it for selectors.
959 landingPagesTablePage: 'a[href=\"edit.php?post_type=' + pageName + '\"]',
960 landingPagesAddNewPage: 'a[href=\"edit.php?post_type=elementor_library&page=' + pageName + '\"]'
961 };
962 return {
963 selectors: {
964 addButton: '.page-title-action:first',
965 pagesMenuItemAndLink: '#menu-pages, #menu-pages > a',
966 landingPagesMenuItem: "".concat(adminMenuSelectors.landingPagesTablePage, ", ").concat(adminMenuSelectors.landingPagesAddNewPage),
967 templatesMenuItem: '.menu-icon-elementor_library'
968 }
969 };
970 }
971 }, {
972 key: "getDefaultElements",
973 value: function getDefaultElements() {
974 var selectors = this.getSettings('selectors'),
975 elements = (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "getDefaultElements", this).call(this);
976 elements.$landingPagesMenuItem = jQuery(selectors.landingPagesMenuItem);
977 elements.$templatesMenuItem = jQuery(selectors.templatesMenuItem);
978 elements.$pagesMenuItemAndLink = jQuery(selectors.pagesMenuItemAndLink);
979 return elements;
980 }
981 }, {
982 key: "onInit",
983 value: function onInit() {
984 (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "onInit", this).call(this);
985 var settings = this.getSettings(),
986 isLandingPagesTablePage = !!window.location.href.includes(settings.paths.landingPagesTablePage),
987 isLandingPagesTrashPage = !!window.location.href.includes(settings.paths.landingPagesTrashPage),
988 isLandingPagesCreateYourFirstPage = !!window.location.href.includes(settings.paths.landingPagesAddNewPage); // If the current page is a Landing Pages Page (the Posts Table page, "Create Your First.." page, or a native
989 // WordPress dashboard page edit screen when using WordPress' Classic Editor).
990
991 if (isLandingPagesTablePage || isLandingPagesTrashPage || isLandingPagesCreateYourFirstPage || settings.isLandingPageAdminEdit) {
992 // Make sure the active admin top level menu item is 'Templates', and not 'Pages'.
993 this.highlightTopLevelMenuItem(this.elements.$templatesMenuItem, this.elements.$pagesMenuItemAndLink);
994 this.highlightSubMenuItem(this.elements.$landingPagesMenuItem); // Overwrite the 'Add New' button at the top of the page to open in Elementor with the library module open.
995
996 jQuery(settings.selectors.addButton).attr('href', elementorAdminConfig.urls.addNewLandingPageUrl);
997 }
998 }
999 }]);
1000 return LandingPagesHandler;
1001 }(_menuHandler.default);
1002
1003 exports["default"] = LandingPagesHandler;
1004
1005 /***/ }),
1006
1007 /***/ "../modules/landing-pages/assets/js/admin/module.js":
1008 /*!**********************************************************!*\
1009 !*** ../modules/landing-pages/assets/js/admin/module.js ***!
1010 \**********************************************************/
1011 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1012
1013 "use strict";
1014
1015
1016 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1017
1018 Object.defineProperty(exports, "__esModule", ({
1019 value: true
1020 }));
1021 exports["default"] = void 0;
1022
1023 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1024
1025 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1026
1027 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1028
1029 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1030
1031 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1032
1033 var _landingPages = _interopRequireDefault(__webpack_require__(/*! ./landing-pages */ "../modules/landing-pages/assets/js/admin/landing-pages.js"));
1034
1035 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
1036
1037 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1038
1039 var _default = /*#__PURE__*/function (_elementorModules$Mod) {
1040 (0, _inherits2.default)(_default, _elementorModules$Mod);
1041
1042 var _super = _createSuper(_default);
1043
1044 function _default() {
1045 var _this;
1046
1047 (0, _classCallCheck2.default)(this, _default);
1048 _this = _super.call(this);
1049 elementorCommon.elements.$window.on('elementor/admin/init', function () {
1050 _this.runHandler();
1051 });
1052 return _this;
1053 }
1054
1055 (0, _createClass2.default)(_default, [{
1056 key: "runHandler",
1057 value: function runHandler() {
1058 var _elementorAdmin$confi, _elementorAdmin$confi2;
1059
1060 var pageName = 'e-landing-page',
1061 paths = {
1062 landingPagesTablePage: 'edit.php?post_type=' + pageName,
1063 landingPagesAddNewPage: 'edit.php?post_type=elementor_library&page=' + pageName,
1064 landingPagesTrashPage: 'edit.php?post_status=trash&post_type=' + pageName
1065 },
1066 args = {
1067 path: (_elementorAdmin$confi = elementorAdmin.config.landingPages) !== null && _elementorAdmin$confi !== void 0 && _elementorAdmin$confi.landingPagesHasPages ? paths.landingPagesTablePage : paths.landingPagesAddNewPage,
1068 isLandingPageAdminEdit: (_elementorAdmin$confi2 = elementorAdmin.config.landingPages) === null || _elementorAdmin$confi2 === void 0 ? void 0 : _elementorAdmin$confi2.isLandingPageAdminEdit,
1069 paths: paths
1070 }; // This class modifies elements in the WordPress admin that are rendered "wrong" by the WordPress core
1071 // and could not be modified in the backend.
1072
1073 new _landingPages.default(args);
1074 }
1075 }]);
1076 return _default;
1077 }(elementorModules.Module);
1078
1079 exports["default"] = _default;
1080
1081 /***/ }),
1082
1083 /***/ "@wordpress/i18n":
1084 /*!**************************!*\
1085 !*** external "wp.i18n" ***!
1086 \**************************/
1087 /***/ ((module) => {
1088
1089 "use strict";
1090 module.exports = wp.i18n;
1091
1092 /***/ })
1093
1094 /******/ });
1095 /************************************************************************/
1096 /******/ // The module cache
1097 /******/ var __webpack_module_cache__ = {};
1098 /******/
1099 /******/ // The require function
1100 /******/ function __webpack_require__(moduleId) {
1101 /******/ // Check if module is in cache
1102 /******/ var cachedModule = __webpack_module_cache__[moduleId];
1103 /******/ if (cachedModule !== undefined) {
1104 /******/ return cachedModule.exports;
1105 /******/ }
1106 /******/ // Create a new module (and put it into the cache)
1107 /******/ var module = __webpack_module_cache__[moduleId] = {
1108 /******/ // no module.id needed
1109 /******/ // no module.loaded needed
1110 /******/ exports: {}
1111 /******/ };
1112 /******/
1113 /******/ // Execute the module function
1114 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
1115 /******/
1116 /******/ // Return the exports of the module
1117 /******/ return module.exports;
1118 /******/ }
1119 /******/
1120 /************************************************************************/
1121 var __webpack_exports__ = {};
1122 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
1123 (() => {
1124 "use strict";
1125 /*!***************************************!*\
1126 !*** ../assets/dev/js/admin/admin.js ***!
1127 \***************************************/
1128 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1129
1130
1131 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1132
1133 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1134
1135 var _module = _interopRequireDefault(__webpack_require__(/*! elementor/modules/landing-pages/assets/js/admin/module */ "../modules/landing-pages/assets/js/admin/module.js"));
1136
1137 var _module2 = _interopRequireDefault(__webpack_require__(/*! elementor/core/experiments/assets/js/admin/module */ "../core/experiments/assets/js/admin/module.js"));
1138
1139 var _environment = _interopRequireDefault(__webpack_require__(/*! ../../../../core/common/assets/js/utils/environment */ "../core/common/assets/js/utils/environment.js"));
1140
1141 var _events = _interopRequireDefault(__webpack_require__(/*! elementor-utils/events */ "../assets/dev/js/utils/events.js"));
1142
1143 var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../editor/utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js"));
1144
1145 (function ($) {
1146 var ElementorAdmin = elementorModules.ViewModule.extend({
1147 maintenanceMode: null,
1148 config: elementorAdminConfig,
1149 getDefaultElements: function getDefaultElements() {
1150 var elements = {
1151 $switchMode: $('#elementor-switch-mode'),
1152 $goToEditLink: $('#elementor-go-to-edit-page-link'),
1153 $switchModeInput: $('#elementor-switch-mode-input'),
1154 $switchModeButton: $('#elementor-switch-mode-button'),
1155 $elementorLoader: $('.elementor-loader'),
1156 $builderEditor: $('#elementor-editor'),
1157 $importButton: $('#elementor-import-template-trigger'),
1158 $importNowButton: $('#e-import-template-action'),
1159 $importArea: $('#elementor-import-template-area'),
1160 $importForm: $('#elementor-import-template-form'),
1161 $importFormFileInput: $('#elementor-import-template-form input[type="file"]'),
1162 $settingsForm: $('#elementor-settings-form'),
1163 $settingsTabsWrapper: $('#elementor-settings-tabs-wrapper'),
1164 $menuGetHelpLink: $('a[href="admin.php?page=go_knowledge_base_site"]'),
1165 $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button')
1166 };
1167 elements.$settingsFormPages = elements.$settingsForm.find('.elementor-settings-form-page');
1168 elements.$activeSettingsPage = elements.$settingsFormPages.filter('.elementor-active');
1169 elements.$settingsTabs = elements.$settingsTabsWrapper.children();
1170 elements.$activeSettingsTab = elements.$settingsTabs.filter('.nav-tab-active');
1171 return elements;
1172 },
1173 toggleStatus: function toggleStatus() {
1174 var isElementorMode = this.isElementorMode();
1175 elementorCommon.elements.$body.toggleClass('elementor-editor-active', isElementorMode).toggleClass('elementor-editor-inactive', !isElementorMode);
1176 },
1177 bindEvents: function bindEvents() {
1178 var self = this;
1179 self.elements.$switchModeButton.on('click', function (event) {
1180 event.preventDefault();
1181
1182 if (self.isElementorMode()) {
1183 elementorCommon.dialogsManager.createWidget('confirm', {
1184 message: __('Please note that you are switching to WordPress default editor. Your current layout, design and content might break.', 'elementor'),
1185 headerMessage: __('Back to WordPress Editor', 'elementor'),
1186 strings: {
1187 confirm: __('Continue', 'elementor'),
1188 cancel: __('Cancel', 'elementor')
1189 },
1190 defaultOption: 'confirm',
1191 onConfirm: function onConfirm() {
1192 self.elements.$switchModeInput.val('');
1193 self.toggleStatus();
1194 }
1195 }).show();
1196 } else {
1197 self.elements.$switchModeInput.val(true);
1198 var $wpTitle = $('#title');
1199
1200 if (!$wpTitle.val()) {
1201 $wpTitle.val('Elementor #' + $('#post_ID').val());
1202 }
1203
1204 if (wp.autosave) {
1205 wp.autosave.server.triggerSave();
1206 }
1207
1208 self.animateLoader();
1209 $(document).on('heartbeat-tick.autosave', function () {
1210 elementorCommon.elements.$window.off('beforeunload.edit-post');
1211 location.href = self.elements.$goToEditLink.attr('href');
1212 });
1213 self.toggleStatus();
1214 }
1215 });
1216 self.elements.$goToEditLink.on('click', function () {
1217 self.animateLoader();
1218 });
1219 $('.e-notice--dismissible').on('click', '.e-notice__dismiss, .e-notice-dismiss', function (event) {
1220 event.preventDefault();
1221 var $wrapperElm = $(this).closest('.e-notice--dismissible');
1222 $.post(ajaxurl, {
1223 action: 'elementor_set_admin_notice_viewed',
1224 notice_id: $wrapperElm.data('notice_id')
1225 });
1226 $wrapperElm.fadeTo(100, 0, function () {
1227 $wrapperElm.slideUp(100, function () {
1228 $wrapperElm.remove();
1229 });
1230 });
1231 });
1232 $('#elementor-clear-cache-button').on('click', function (event) {
1233 event.preventDefault();
1234 var $thisButton = $(this);
1235 $thisButton.removeClass('success').addClass('loading');
1236 $.post(ajaxurl, {
1237 action: 'elementor_clear_cache',
1238 _nonce: $thisButton.data('nonce')
1239 }).done(function () {
1240 $thisButton.removeClass('loading').addClass('success');
1241 });
1242 });
1243 $('#elementor-library-sync-button').on('click', function (event) {
1244 event.preventDefault();
1245 var $thisButton = $(this);
1246 $thisButton.removeClass('success').addClass('loading');
1247 $.post(ajaxurl, {
1248 action: 'elementor_reset_library',
1249 _nonce: $thisButton.data('nonce')
1250 }).done(function () {
1251 $thisButton.removeClass('loading').addClass('success');
1252 });
1253 });
1254 $('#elementor-recreate-kit-button').on('click', function (event) {
1255 event.preventDefault();
1256 var $thisButton = $(this);
1257 $thisButton.removeClass('success error').addClass('loading').next('.e-recreate-kit-error-message').remove();
1258 $.post(ajaxurl, {
1259 action: 'elementor_recreate_kit',
1260 _nonce: $thisButton.data('nonce')
1261 }).done(function () {
1262 $thisButton.removeClass('loading').addClass('success');
1263 }).fail(function (_ref) {
1264 var _responseJSON$data;
1265
1266 var responseJSON = _ref.responseJSON;
1267 $thisButton.removeClass('loading').addClass('error');
1268
1269 if ((_responseJSON$data = responseJSON.data) !== null && _responseJSON$data !== void 0 && _responseJSON$data.message) {
1270 $thisButton.after("<div class=\"e-recreate-kit-error-message\">".concat(responseJSON.data.message, "</div>"));
1271 }
1272 });
1273 });
1274 $('#elementor-replace-url-button').on('click', function (event) {
1275 event.preventDefault();
1276 var $this = $(this),
1277 $tr = $this.parents('tr'),
1278 $from = $tr.find('[name="from"]'),
1279 $to = $tr.find('[name="to"]');
1280 $this.removeClass('success').addClass('loading');
1281 $.post(ajaxurl, {
1282 action: 'elementor_replace_url',
1283 from: $from.val(),
1284 to: $to.val(),
1285 _nonce: $this.data('nonce')
1286 }).done(function (response) {
1287 $this.removeClass('loading');
1288
1289 if (response.success) {
1290 $this.addClass('success');
1291 }
1292
1293 elementorCommon.dialogsManager.createWidget('alert', {
1294 message: response.data
1295 }).show();
1296 });
1297 });
1298 $('#elementor_upgrade_fa_button').on('click', function (event) {
1299 event.preventDefault();
1300 var $updateButton = $(this);
1301 $updateButton.addClass('loading');
1302 elementorCommon.dialogsManager.createWidget('confirm', {
1303 id: 'confirm_fa_migration_admin_modal',
1304 message: __('I understand that by upgrading to Font Awesome 5,', 'elementor') + '<br>' + __('I acknowledge that some changes may affect my website and that this action cannot be undone.', 'elementor'),
1305 headerMessage: __('Font Awesome 5 Migration', 'elementor'),
1306 strings: {
1307 confirm: __('Continue', 'elementor'),
1308 cancel: __('Cancel', 'elementor')
1309 },
1310 defaultOption: 'confirm',
1311 onConfirm: function onConfirm() {
1312 $updateButton.removeClass('error').addClass('loading');
1313
1314 var _$updateButton$data = $updateButton.data(),
1315 _nonce = _$updateButton$data._nonce,
1316 action = _$updateButton$data.action,
1317 redirectUrl = _$updateButton$data.redirectUrl;
1318
1319 $.post(ajaxurl, {
1320 action: action,
1321 _nonce: _nonce
1322 }).done(function (response) {
1323 $updateButton.removeClass('loading').addClass('success');
1324 var messageElement = document.createElement('p');
1325 messageElement.appendChild(document.createTextNode(response.data.message));
1326 $('#elementor_upgrade_fa_button').parent().append(messageElement);
1327
1328 if (redirectUrl) {
1329 location.href = decodeURIComponent(redirectUrl);
1330 return;
1331 }
1332
1333 history.go(-1);
1334 }).fail(function () {
1335 $updateButton.removeClass('loading').addClass('error');
1336 });
1337 },
1338 onCancel: function onCancel() {
1339 $updateButton.removeClass('loading').addClass('error');
1340 }
1341 }).show();
1342 });
1343 self.elements.$settingsTabs.on({
1344 click: function click(event) {
1345 event.preventDefault();
1346 event.currentTarget.focus(); // Safari does not focus the tab automatically
1347 },
1348 focus: function focus() {
1349 // Using focus event to enable navigation by tab key
1350 var hrefWithoutHash = location.href.replace(/#.*/, '');
1351 history.pushState({}, '', hrefWithoutHash + this.hash);
1352 self.goToSettingsTabFromHash();
1353 }
1354 });
1355 $('select.elementor-rollback-select').on('change', function () {
1356 var $this = $(this),
1357 $rollbackButton = $this.next('.elementor-rollback-button'),
1358 placeholderText = $rollbackButton.data('placeholder-text'),
1359 placeholderUrl = $rollbackButton.data('placeholder-url');
1360 $rollbackButton.html(placeholderText.replace('{VERSION}', $this.val()));
1361 $rollbackButton.attr('href', placeholderUrl.replace('VERSION', $this.val()));
1362 }).trigger('change');
1363 $('.elementor-rollback-button').on('click', function (event) {
1364 event.preventDefault();
1365 var $this = $(this);
1366 elementorCommon.dialogsManager.createWidget('confirm', {
1367 headerMessage: __('Rollback to Previous Version', 'elementor'),
1368 message: __('Are you sure you want to reinstall previous version?', 'elementor'),
1369 strings: {
1370 confirm: __('Continue', 'elementor'),
1371 cancel: __('Cancel', 'elementor')
1372 },
1373 onConfirm: function onConfirm() {
1374 $this.addClass('loading');
1375 location.href = $this.attr('href');
1376 }
1377 }).show();
1378 });
1379 self.elements.$reMigrateGlobalsButton.on('click', function (event) {
1380 event.preventDefault();
1381 var $this = $(event.currentTarget);
1382 elementorCommon.dialogsManager.createWidget('confirm', {
1383 headerMessage: __('Migrate to v3.0', 'elementor'),
1384 message: __('Please note that this process will revert all changes made to Global Colors and Fonts since upgrading to v3.x.', 'elementor'),
1385 strings: {
1386 confirm: __('Continue', 'elementor'),
1387 cancel: __('Cancel', 'elementor')
1388 },
1389 onConfirm: function onConfirm() {
1390 $this.removeClass('success').addClass('loading');
1391 elementorCommon.ajax.addRequest('re_migrate_globals', {
1392 success: function success() {
1393 return $this.removeClass('loading').addClass('success');
1394 }
1395 });
1396 }
1397 }).show();
1398 });
1399 $('.elementor_css_print_method select').on('change', function () {
1400 var $descriptions = $('.elementor-css-print-method-description');
1401 $descriptions.hide();
1402 $descriptions.filter('[data-value="' + $(this).val() + '"]').show();
1403 }).trigger('change');
1404 },
1405 onInit: function onInit() {
1406 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
1407 this.initTemplatesImport();
1408 this.initMaintenanceMode();
1409 this.goToSettingsTabFromHash();
1410 this.openGetHelpInNewTab();
1411 this.addUserAgentClasses();
1412 this.roleManager.init();
1413
1414 if (elementorCommon.config.experimentalFeatures['landing-pages']) {
1415 new _module.default();
1416 }
1417
1418 new _module2.default();
1419 },
1420 addUserAgentClasses: function addUserAgentClasses() {
1421 var body = document.querySelector('body');
1422 Object.entries(_environment.default).forEach(function (_ref2) {
1423 var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
1424 key = _ref3[0],
1425 value = _ref3[1];
1426
1427 if (!value) {
1428 return;
1429 }
1430
1431 body.classList.add('e--ua-' + key);
1432 });
1433 },
1434 openGetHelpInNewTab: function openGetHelpInNewTab() {
1435 this.elements.$menuGetHelpLink.attr('target', '_blank');
1436 },
1437 initTemplatesImport: function initTemplatesImport() {
1438 if (!elementorCommon.elements.$body.hasClass('post-type-elementor_library')) {
1439 return;
1440 }
1441
1442 var self = this,
1443 $importButton = self.elements.$importButton,
1444 $importArea = self.elements.$importArea,
1445 $importNowButton = self.elements.$importNowButton;
1446 self.elements.$formAnchor = $('.wp-header-end');
1447 $('#wpbody-content').find('.page-title-action').last().after($importButton);
1448 self.elements.$formAnchor.after($importArea);
1449 $importButton.on('click', function () {
1450 $('#elementor-import-template-area').toggle();
1451 });
1452 $importNowButton.on('click', function (event) {
1453 if (self.elements.$importFormFileInput[0].files.length && !elementorCommon.config.filesUpload.unfilteredFiles) {
1454 event.preventDefault();
1455
1456 var enableUnfilteredFilesModal = _filesUploadHandler.default.getUnfilteredFilesNotEnabledImportTemplateDialog(function () {
1457 self.elements.$importForm.trigger('submit');
1458 });
1459
1460 enableUnfilteredFilesModal.show();
1461 }
1462 });
1463 },
1464 initMaintenanceMode: function initMaintenanceMode() {
1465 var MaintenanceMode = __webpack_require__(/*! elementor-admin/maintenance-mode */ "../assets/dev/js/admin/maintenance-mode.js");
1466
1467 this.maintenanceMode = new MaintenanceMode();
1468 },
1469 isElementorMode: function isElementorMode() {
1470 return !!this.elements.$switchModeInput.val();
1471 },
1472 animateLoader: function animateLoader() {
1473 this.elements.$goToEditLink.addClass('elementor-animate');
1474 },
1475 goToSettingsTabFromHash: function goToSettingsTabFromHash() {
1476 var hash = location.hash.slice(1);
1477
1478 if (hash) {
1479 this.goToSettingsTab(hash);
1480 }
1481 },
1482 goToSettingsTab: function goToSettingsTab(tabName) {
1483 var $pages = this.elements.$settingsFormPages;
1484
1485 if (!$pages.length) {
1486 return;
1487 }
1488
1489 var $activePage = $pages.filter('#' + tabName);
1490 this.elements.$activeSettingsPage.removeClass('elementor-active');
1491 this.elements.$activeSettingsTab.removeClass('nav-tab-active');
1492 var $activeTab = this.elements.$settingsTabs.filter('#elementor-settings-' + tabName);
1493 $activePage.addClass('elementor-active');
1494 $activeTab.addClass('nav-tab-active');
1495 this.elements.$settingsForm.attr('action', 'options.php#' + tabName);
1496 this.elements.$activeSettingsPage = $activePage;
1497 this.elements.$activeSettingsTab = $activeTab;
1498 },
1499 translate: function translate(stringKey, templateArgs) {
1500 return elementorCommon.translate(stringKey, null, templateArgs, this.config.i18n);
1501 },
1502 roleManager: {
1503 selectors: {
1504 body: 'elementor-role-manager',
1505 row: '.elementor-role-row',
1506 label: '.elementor-role-label',
1507 excludedIndicator: '.elementor-role-excluded-indicator',
1508 excludedField: 'input[name="elementor_exclude_user_roles[]"]',
1509 controlsContainer: '.elementor-role-controls',
1510 toggleHandle: '.elementor-role-toggle',
1511 arrowUp: 'dashicons-arrow-up',
1512 arrowDown: 'dashicons-arrow-down'
1513 },
1514 toggle: function toggle($trigger) {
1515 var self = this,
1516 $row = $trigger.closest(self.selectors.row),
1517 $toggleHandleIcon = $row.find(self.selectors.toggleHandle).find('.dashicons'),
1518 $controls = $row.find(self.selectors.controlsContainer);
1519 $controls.toggleClass('hidden');
1520
1521 if ($controls.hasClass('hidden')) {
1522 $toggleHandleIcon.removeClass(self.selectors.arrowUp).addClass(self.selectors.arrowDown);
1523 } else {
1524 $toggleHandleIcon.removeClass(self.selectors.arrowDown).addClass(self.selectors.arrowUp);
1525 }
1526
1527 self.updateLabel($row);
1528 },
1529 updateLabel: function updateLabel($row) {
1530 var self = this,
1531 $indicator = $row.find(self.selectors.excludedIndicator),
1532 excluded = $row.find(self.selectors.excludedField).is(':checked');
1533
1534 if (excluded) {
1535 $indicator.html($indicator.data('excluded-label'));
1536 } else {
1537 $indicator.html('');
1538 }
1539
1540 self.setAdvancedState($row, excluded);
1541 },
1542 setAdvancedState: function setAdvancedState($row, state) {
1543 var self = this,
1544 $controls = $row.find('input[type="checkbox"]').not(self.selectors.excludedField);
1545 $controls.each(function (index, input) {
1546 $(input).prop('disabled', state);
1547 });
1548 },
1549 bind: function bind() {
1550 var self = this;
1551 $(document).on('click', self.selectors.label + ',' + self.selectors.toggleHandle, function (event) {
1552 event.stopPropagation();
1553 event.preventDefault();
1554 self.toggle($(this));
1555 }).on('change', self.selectors.excludedField, function () {
1556 self.updateLabel($(this).closest(self.selectors.row));
1557 });
1558 },
1559 init: function init() {
1560 var self = this;
1561
1562 if (!$('body[class*="' + self.selectors.body + '"]').length) {
1563 return;
1564 }
1565
1566 self.bind();
1567 $(self.selectors.row).each(function (index, row) {
1568 self.updateLabel($(row));
1569 });
1570 }
1571 }
1572 });
1573 $(function () {
1574 window.elementorAdmin = new ElementorAdmin();
1575
1576 _events.default.dispatch(elementorCommon.elements.$window, 'elementor/admin/init');
1577 });
1578 })(jQuery);
1579 })();
1580
1581 /******/ })()
1582 ;
1583 //# sourceMappingURL=admin.js.map