PluginProbe
Elementor Website Builder – more than just a page builder / 3.13.3
Elementor Website Builder – more than just a page builder v3.13.3
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / assets / js / admin.js

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

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