PluginProbe
Elementor Website Builder – more than just a page builder / 3.19.0-beta1
Elementor Website Builder – more than just a page builder v3.19.0-beta1
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.19.0-beta1, at assets/js/admin.js

2,399 lines 104.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.19.0 - 08-01-2024 */
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 /***/ "../assets/dev/js/utils/json-upload-warning-message.js":
385 /*!*************************************************************!*\
386 !*** ../assets/dev/js/utils/json-upload-warning-message.js ***!
387 \*************************************************************/
388 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
389
390 "use strict";
391 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
392
393
394 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
395 Object.defineProperty(exports, "__esModule", ({
396 value: true
397 }));
398 exports.showJsonUploadWarningMessageIfNeeded = showJsonUploadWarningMessageIfNeeded;
399 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
400 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
401 var genericMessageIntroductionKey = 'upload_json_warning_generic_message';
402 /**
403 * @type {import('../utils/introduction').default | null}
404 */
405 var genericWarningModal = null;
406 function showJsonUploadWarningMessageIfNeeded(_ref) {
407 var introductionMap = _ref.introductionMap,
408 IntroductionClass = _ref.IntroductionClass,
409 _ref$waitForSetViewed = _ref.waitForSetViewed,
410 waitForSetViewed = _ref$waitForSetViewed === void 0 ? false : _ref$waitForSetViewed;
411 if (!genericWarningModal) {
412 genericWarningModal = createGenericWarningModal(IntroductionClass);
413 }
414 genericWarningModal.setIntroductionMap(introductionMap);
415 if (genericWarningModal.introductionViewed) {
416 return Promise.resolve();
417 }
418 var dialog = genericWarningModal.getDialog();
419 return new Promise(function (resolve, reject) {
420 dialog.onHide = function () {
421 // When closing the dialog (esc, click on background, etc.) we need to reject the promise.
422 reject();
423 };
424 dialog.onConfirm = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
425 return _regenerator.default.wrap(function _callee$(_context) {
426 while (1) switch (_context.prev = _context.next) {
427 case 0:
428 if (!dialog.getElements('checkbox-dont-show-again').prop('checked')) {
429 _context.next = 7;
430 break;
431 }
432 if (!waitForSetViewed) {
433 _context.next = 6;
434 break;
435 }
436 _context.next = 4;
437 return genericWarningModal.setViewed();
438 case 4:
439 _context.next = 7;
440 break;
441 case 6:
442 genericWarningModal.setViewed();
443 case 7:
444 // Hack: we need to resolve the promise and then hide it manually, to avoid rejecting the promise.
445 // this because when closing the dialog (esc, click on background, etc.) it does not trigger `onCancel` method.
446 resolve();
447 dialog.hide();
448 case 9:
449 case "end":
450 return _context.stop();
451 }
452 }, _callee);
453 }));
454 dialog.onCancel = function () {
455 dialog.hide();
456 };
457 genericWarningModal.show();
458 });
459 }
460
461 /**
462 * @param {import('../utils/introduction').default.prototype.constructor} IntroductionClass
463 *
464 * @return {import('../utils/introduction').default}
465 */
466 function createGenericWarningModal(IntroductionClass) {
467 var _introduction$getDial, _introduction$getDial2;
468 var dialogId = 'e-generic-warning-modal-for-json-upload';
469 var introduction = new IntroductionClass({
470 introductionKey: genericMessageIntroductionKey,
471 dialogType: 'confirm',
472 dialogOptions: {
473 id: dialogId,
474 headerMessage: __('Warning: JSON files may be unsafe', 'elementor'),
475 message: __('Uploading JSON files from unknown sources can be harmful and put your site at risk. For maximum safety, only install JSON files from trusted sources.', 'elementor'),
476 effects: {
477 show: 'fadeIn',
478 hide: 'fadeOut'
479 },
480 hide: {
481 onBackgroundClick: true,
482 onButtonClick: false
483 },
484 strings: {
485 confirm: __('Continue', 'elementor'),
486 cancel: __('Cancel', 'elementor')
487 }
488 }
489 });
490 var _createCheckboxAndLab = createCheckboxAndLabel(dialogId),
491 checkbox = _createCheckboxAndLab.checkbox,
492 label = _createCheckboxAndLab.label;
493 introduction.getDialog().addElement('checkbox-dont-show-again', checkbox);
494 (_introduction$getDial = introduction.getDialog().getElements('message')) === null || _introduction$getDial === void 0 ? void 0 : (_introduction$getDial2 = _introduction$getDial.append) === null || _introduction$getDial2 === void 0 ? void 0 : _introduction$getDial2.call(_introduction$getDial, label); // `getElements` return JQuery object.
495
496 return introduction;
497 }
498 function createCheckboxAndLabel(dialogId) {
499 var checkboxId = "".concat(dialogId, "-dont-show-again");
500 var checkbox = document.createElement('input');
501 checkbox.type = 'checkbox';
502 checkbox.name = checkboxId;
503 checkbox.id = checkboxId;
504 var label = document.createElement('label');
505 label.htmlFor = checkboxId;
506 label.textContent = __('Do not show this message again', 'elementor');
507 label.style.display = 'block';
508 label.style.marginTop = '20px';
509 label.style.marginBottom = '20px';
510 label.prepend(checkbox);
511 return {
512 checkbox: checkbox,
513 label: label
514 };
515 }
516
517 /***/ }),
518
519 /***/ "../core/common/assets/js/utils/environment.js":
520 /*!*****************************************************!*\
521 !*** ../core/common/assets/js/utils/environment.js ***!
522 \*****************************************************/
523 /***/ ((__unused_webpack_module, exports) => {
524
525 "use strict";
526
527
528 Object.defineProperty(exports, "__esModule", ({
529 value: true
530 }));
531 exports["default"] = void 0;
532 var matchUserAgent = function matchUserAgent(UserAgentStr) {
533 return userAgent.indexOf(UserAgentStr) >= 0;
534 },
535 userAgent = navigator.userAgent,
536 // Solution influenced by https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser
537
538 // Opera 8.0+
539 isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'),
540 // Firefox 1.0+
541 isFirefox = matchUserAgent('Firefox'),
542 // Safari 3.0+ "[object HTMLElementConstructor]"
543 isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || function (p) {
544 return '[object SafariRemoteNotification]' === p.toString();
545 }(!window.safari || typeof safari !== 'undefined' && safari.pushNotification),
546 // Internet Explorer 6-11
547 isIE = /Trident|MSIE/.test(userAgent) && ( /* @cc_on!@*/ false || !!document.documentMode),
548 // Edge 20+
549 isEdge = !isIE && !!window.StyleMedia || matchUserAgent('Edg'),
550 // Google Chrome (Not accurate)
551 isChrome = !!window.chrome && matchUserAgent('Chrome') && !(isEdge || isOpera),
552 // Blink engine
553 isBlink = matchUserAgent('Chrome') && !!window.CSS,
554 // Apple Webkit engine
555 isAppleWebkit = matchUserAgent('AppleWebKit') && !isBlink,
556 isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0,
557 environment = {
558 isTouchDevice: isTouchDevice,
559 appleWebkit: isAppleWebkit,
560 blink: isBlink,
561 chrome: isChrome,
562 edge: isEdge,
563 firefox: isFirefox,
564 ie: isIE,
565 mac: matchUserAgent('Macintosh'),
566 opera: isOpera,
567 safari: isSafari,
568 webkit: matchUserAgent('AppleWebKit')
569 };
570 var _default = environment;
571 exports["default"] = _default;
572
573 /***/ }),
574
575 /***/ "../core/experiments/assets/js/admin/behaviors/experiments-messages.js":
576 /*!*****************************************************************************!*\
577 !*** ../core/experiments/assets/js/admin/behaviors/experiments-messages.js ***!
578 \*****************************************************************************/
579 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
580
581 "use strict";
582 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
583
584
585 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
586 Object.defineProperty(exports, "__esModule", ({
587 value: true
588 }));
589 exports["default"] = void 0;
590 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
591 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
592 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
593 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
594 var STATE_ACTIVE = 'active';
595 var STATE_INACTIVE = 'inactive';
596 var STATE_DEFAULT = 'default';
597 var ExperimentsMessages = /*#__PURE__*/function () {
598 function ExperimentsMessages(_ref) {
599 var selects = _ref.selects,
600 submit = _ref.submit;
601 (0, _classCallCheck2.default)(this, ExperimentsMessages);
602 (0, _defineProperty2.default)(this, "elements", {});
603 this.elements = {
604 /**
605 * @type {HTMLSelectElement[]}
606 */
607 selects: selects,
608 /**
609 * @type {HTMLInputElement}
610 */
611 submit: submit
612 };
613 }
614 (0, _createClass2.default)(ExperimentsMessages, [{
615 key: "bindEvents",
616 value: function bindEvents() {
617 var _this = this;
618 this.elements.selects.forEach(function (select) {
619 select.addEventListener('change', function (e) {
620 return _this.onExperimentStateChange(e);
621 });
622 });
623 }
624 }, {
625 key: "onExperimentStateChange",
626 value: function onExperimentStateChange(e) {
627 var experimentId = e.currentTarget.dataset.experimentId,
628 experimentNewState = this.getExperimentActualState(experimentId);
629 switch (experimentNewState) {
630 case STATE_ACTIVE:
631 if (this.shouldShowDependenciesDialog(experimentId)) {
632 this.showDependenciesDialog(experimentId);
633 }
634 break;
635 case STATE_INACTIVE:
636 if (this.shouldShowDeactivationDialog(experimentId)) {
637 this.showDeactivationDialog(experimentId);
638 } else {
639 this.deactivateDependantExperiments(experimentId);
640 }
641 break;
642 default:
643 break;
644 }
645 }
646 }, {
647 key: "getExperimentData",
648 value: function getExperimentData(experimentId) {
649 return elementorAdminConfig.experiments[experimentId];
650 }
651 }, {
652 key: "getExperimentDependencies",
653 value: function getExperimentDependencies(experimentId) {
654 var _this2 = this;
655 return this.getExperimentData(experimentId).dependencies.map(function (dependencyId) {
656 return _this2.getExperimentData(dependencyId);
657 });
658 }
659 }, {
660 key: "getExperimentSelect",
661 value: function getExperimentSelect(experimentId) {
662 return this.elements.selects.find(function (select) {
663 return select.matches("[data-experiment-id=\"".concat(experimentId, "\"]"));
664 });
665 }
666 }, {
667 key: "setExperimentState",
668 value: function setExperimentState(experimentId, state) {
669 this.getExperimentSelect(experimentId).value = state;
670 }
671 }, {
672 key: "getExperimentActualState",
673 value: function getExperimentActualState(experimentId) {
674 var _this$getExperimentSe;
675 var state = (_this$getExperimentSe = this.getExperimentSelect(experimentId)) === null || _this$getExperimentSe === void 0 ? void 0 : _this$getExperimentSe.value;
676 if (!state) {
677 return this.getExperimentData(experimentId).state;
678 }
679 if (state !== STATE_DEFAULT) {
680 return state;
681 }
682
683 // Normalize the "default" state to the actual state value.
684 return this.isExperimentActiveByDefault(experimentId) ? STATE_ACTIVE : STATE_INACTIVE;
685 }
686 }, {
687 key: "isExperimentActive",
688 value: function isExperimentActive(experimentId) {
689 return this.getExperimentActualState(experimentId) === STATE_ACTIVE;
690 }
691 }, {
692 key: "isExperimentActiveByDefault",
693 value: function isExperimentActiveByDefault(experimentId) {
694 return this.getExperimentData(experimentId).default === STATE_ACTIVE;
695 }
696 }, {
697 key: "areAllDependenciesActive",
698 value: function areAllDependenciesActive(dependencies) {
699 var _this3 = this;
700 return dependencies.every(function (dependency) {
701 return _this3.isExperimentActive(dependency.name);
702 });
703 }
704 }, {
705 key: "deactivateDependantExperiments",
706 value: function deactivateDependantExperiments(experimentId) {
707 var _this4 = this;
708 Object.entries(elementorAdminConfig.experiments).forEach(function (_ref2) {
709 var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
710 id = _ref3[0],
711 experimentData = _ref3[1];
712 var isDependant = experimentData.dependencies.includes(experimentId),
713 isActive = _this4.getExperimentActualState(id) === STATE_ACTIVE;
714 if (isDependant && isActive) {
715 _this4.setExperimentState(id, STATE_INACTIVE);
716 }
717 });
718 }
719 }, {
720 key: "shouldShowDependenciesDialog",
721 value: function shouldShowDependenciesDialog(experimentId) {
722 var dependencies = this.getExperimentDependencies(experimentId);
723 return !this.areAllDependenciesActive(dependencies);
724 }
725 }, {
726 key: "shouldShowDeactivationDialog",
727 value: function shouldShowDeactivationDialog(experimentId) {
728 var getExperimentData = this.getExperimentData(experimentId),
729 isInitialStateActive = getExperimentData.state === STATE_ACTIVE || getExperimentData.state === STATE_DEFAULT && getExperimentData.default === STATE_ACTIVE,
730 hasMessage = !!this.getMessage(experimentId, 'on_deactivate');
731 return hasMessage && isInitialStateActive;
732 }
733 }, {
734 key: "showDialog",
735 value: function showDialog(dialog) {
736 return elementorCommon.dialogsManager.createWidget('confirm', {
737 id: 'e-experiments-messages-dialog',
738 headerMessage: dialog.headerMessage,
739 message: dialog.message,
740 position: {
741 my: 'center center',
742 at: 'center center'
743 },
744 strings: {
745 confirm: dialog.strings.confirm,
746 cancel: dialog.strings.cancel
747 },
748 hide: {
749 onOutsideClick: false,
750 onBackgroundClick: false,
751 onEscKeyPress: false
752 },
753 onConfirm: dialog.onConfirm,
754 onCancel: dialog.onCancel
755 }).show();
756 }
757 }, {
758 key: "getSiteLanguageCode",
759 value: function getSiteLanguageCode() {
760 var languageCode = document.querySelector('html').getAttribute('lang');
761 return languageCode !== null && languageCode !== void 0 ? languageCode : 'en'; // Fallback to English if no language code found.
762 }
763 }, {
764 key: "formatDependenciesList",
765 value: function formatDependenciesList(dependencies) {
766 var dependenciesTitles = dependencies.map(function (d) {
767 return d.title;
768 });
769 var languageCode = this.getSiteLanguageCode();
770 return new Intl.ListFormat(languageCode).format(dependenciesTitles);
771 }
772 }, {
773 key: "showDependenciesDialog",
774 value: function showDependenciesDialog(experimentId) {
775 var _this5 = this;
776 var experiment = this.getExperimentData(experimentId),
777 experimentName = experiment.title,
778 dependenciesList = this.formatDependenciesList(this.getExperimentDependencies(experimentId));
779
780 // Translators: %1$s: Experiment title, %2$s: Comma-separated dependencies list
781 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', dependenciesList);
782 this.showDialog({
783 message: message,
784 headerMessage: __('First, activate another experiment.', 'elementor'),
785 strings: {
786 confirm: __('Activate', 'elementor'),
787 cancel: __('Cancel', 'elementor')
788 },
789 onConfirm: function onConfirm() {
790 _this5.getExperimentDependencies(experimentId).forEach(function (dependency) {
791 _this5.setExperimentState(dependency.name, STATE_ACTIVE);
792 });
793 _this5.elements.submit.click();
794 },
795 onCancel: function onCancel() {
796 _this5.setExperimentState(experimentId, STATE_INACTIVE);
797 }
798 });
799 }
800 }, {
801 key: "showDeactivationDialog",
802 value: function showDeactivationDialog(experimentId) {
803 var _this6 = this;
804 this.showDialog({
805 message: this.getMessage(experimentId, 'on_deactivate'),
806 headerMessage: __('Are you sure?', 'elementor'),
807 strings: {
808 confirm: __('Deactivate', 'elementor'),
809 cancel: __('Cancel', 'elementor')
810 },
811 onConfirm: function onConfirm() {
812 _this6.setExperimentState(experimentId, STATE_INACTIVE);
813 _this6.deactivateDependantExperiments(experimentId);
814 _this6.elements.submit.click();
815 },
816 onCancel: function onCancel() {
817 _this6.setExperimentState(experimentId, STATE_ACTIVE);
818 }
819 });
820 }
821 }, {
822 key: "getMessage",
823 value: function getMessage(experimentId, messageId) {
824 var _this$getExperimentDa;
825 return (_this$getExperimentDa = this.getExperimentData(experimentId)) === null || _this$getExperimentDa === void 0 ? void 0 : _this$getExperimentDa.messages[messageId];
826 }
827 }]);
828 return ExperimentsMessages;
829 }();
830 exports["default"] = ExperimentsMessages;
831
832 /***/ }),
833
834 /***/ "../core/experiments/assets/js/admin/module.js":
835 /*!*****************************************************!*\
836 !*** ../core/experiments/assets/js/admin/module.js ***!
837 \*****************************************************/
838 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
839
840 "use strict";
841
842
843 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
844 Object.defineProperty(exports, "__esModule", ({
845 value: true
846 }));
847 exports["default"] = void 0;
848 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
849 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
850 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
851 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
852 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
853 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
854 var _experimentsMessages = _interopRequireDefault(__webpack_require__(/*! ./behaviors/experiments-messages */ "../core/experiments/assets/js/admin/behaviors/experiments-messages.js"));
855 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); }; }
856 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; } }
857 var ExperimentsModule = /*#__PURE__*/function (_elementorModules$Vie) {
858 (0, _inherits2.default)(ExperimentsModule, _elementorModules$Vie);
859 var _super = _createSuper(ExperimentsModule);
860 function ExperimentsModule() {
861 (0, _classCallCheck2.default)(this, ExperimentsModule);
862 return _super.apply(this, arguments);
863 }
864 (0, _createClass2.default)(ExperimentsModule, [{
865 key: "getDefaultSettings",
866 value: function getDefaultSettings() {
867 return {
868 selectors: {
869 experimentIndicators: '.e-experiment__title__indicator',
870 experimentForm: '#elementor-settings-form',
871 experimentSelects: '.e-experiment__select',
872 experimentsButtons: '.e-experiment__button'
873 }
874 };
875 }
876 }, {
877 key: "getDefaultElements",
878 value: function getDefaultElements() {
879 var _this$getSettings = this.getSettings(),
880 selectors = _this$getSettings.selectors;
881 return {
882 $experimentIndicators: jQuery(selectors.experimentIndicators),
883 $experimentForm: jQuery(selectors.experimentForm),
884 $experimentSelects: jQuery(selectors.experimentSelects),
885 $experimentsButtons: jQuery(selectors.experimentsButtons)
886 };
887 }
888 }, {
889 key: "bindEvents",
890 value: function bindEvents() {
891 var _this = this;
892 this.elements.$experimentsButtons.on('click', function (event) {
893 return _this.onExperimentsButtonsClick(event);
894 });
895 }
896 }, {
897 key: "onExperimentsButtonsClick",
898 value: function onExperimentsButtonsClick(event) {
899 var submitButton = jQuery(event.currentTarget);
900 this.elements.$experimentSelects.val(submitButton.val());
901 this.elements.$experimentForm.find('#submit').trigger('click');
902 }
903 }, {
904 key: "addTipsy",
905 value: function addTipsy($element) {
906 $element.tipsy({
907 gravity: 's',
908 offset: 8,
909 title: function title() {
910 return this.getAttribute('data-tooltip');
911 }
912 });
913 }
914 }, {
915 key: "addIndicatorsTooltips",
916 value: function addIndicatorsTooltips() {
917 var _this2 = this;
918 this.elements.$experimentIndicators.each(function (index, experimentIndicator) {
919 return _this2.addTipsy(jQuery(experimentIndicator));
920 });
921 }
922 }, {
923 key: "onInit",
924 value: function onInit() {
925 var _this3 = this;
926 (0, _get2.default)((0, _getPrototypeOf2.default)(ExperimentsModule.prototype), "onInit", this).call(this);
927 this.experimentsDependency = new _experimentsMessages.default({
928 selects: this.elements.$experimentSelects.toArray(),
929 submit: this.elements.$experimentForm.find('#submit').get(0)
930 });
931 this.experimentsDependency.bindEvents();
932 if (this.elements.$experimentIndicators.length) {
933 import( /* webpackIgnore: true */"".concat(elementorCommon.config.urls.assets, "lib/tipsy/tipsy.min.js?ver=1.0.0")).then(function () {
934 return _this3.addIndicatorsTooltips();
935 });
936 }
937 }
938 }]);
939 return ExperimentsModule;
940 }(elementorModules.ViewModule);
941 exports["default"] = ExperimentsModule;
942
943 /***/ }),
944
945 /***/ "../modules/landing-pages/assets/js/admin/landing-pages.js":
946 /*!*****************************************************************!*\
947 !*** ../modules/landing-pages/assets/js/admin/landing-pages.js ***!
948 \*****************************************************************/
949 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
950
951 "use strict";
952
953
954 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
955 Object.defineProperty(exports, "__esModule", ({
956 value: true
957 }));
958 exports["default"] = void 0;
959 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
960 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
961 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
962 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
963 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
964 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
965 var _menuHandler = _interopRequireDefault(__webpack_require__(/*! elementor-admin/menu-handler */ "../assets/dev/js/admin/menu-handler.js"));
966 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); }; }
967 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; } }
968 var LandingPagesHandler = /*#__PURE__*/function (_AdminMenuHandler) {
969 (0, _inherits2.default)(LandingPagesHandler, _AdminMenuHandler);
970 var _super = _createSuper(LandingPagesHandler);
971 function LandingPagesHandler() {
972 (0, _classCallCheck2.default)(this, LandingPagesHandler);
973 return _super.apply(this, arguments);
974 }
975 (0, _createClass2.default)(LandingPagesHandler, [{
976 key: "getDefaultSettings",
977 value: function getDefaultSettings() {
978 var pageName = 'e-landing-page',
979 adminMenuSelectors = {
980 // The escaping is done because jQuery requires it for selectors.
981 landingPagesTablePage: 'a[href="edit.php?post_type=' + pageName + '"]',
982 landingPagesAddNewPage: 'a[href="edit.php?post_type=elementor_library&page=' + pageName + '"]'
983 };
984 return {
985 selectors: {
986 addButton: '.page-title-action:first',
987 pagesMenuItemAndLink: '#menu-pages, #menu-pages > a',
988 landingPagesMenuItem: "".concat(adminMenuSelectors.landingPagesTablePage, ", ").concat(adminMenuSelectors.landingPagesAddNewPage),
989 templatesMenuItem: '.menu-icon-elementor_library'
990 }
991 };
992 }
993 }, {
994 key: "getDefaultElements",
995 value: function getDefaultElements() {
996 var selectors = this.getSettings('selectors'),
997 elements = (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "getDefaultElements", this).call(this);
998 elements.$landingPagesMenuItem = jQuery(selectors.landingPagesMenuItem);
999 elements.$templatesMenuItem = jQuery(selectors.templatesMenuItem);
1000 elements.$pagesMenuItemAndLink = jQuery(selectors.pagesMenuItemAndLink);
1001 return elements;
1002 }
1003 }, {
1004 key: "onInit",
1005 value: function onInit() {
1006 (0, _get2.default)((0, _getPrototypeOf2.default)(LandingPagesHandler.prototype), "onInit", this).call(this);
1007 var settings = this.getSettings(),
1008 isLandingPagesTablePage = !!window.location.href.includes(settings.paths.landingPagesTablePage),
1009 isLandingPagesTrashPage = !!window.location.href.includes(settings.paths.landingPagesTrashPage),
1010 isLandingPagesCreateYourFirstPage = !!window.location.href.includes(settings.paths.landingPagesAddNewPage);
1011
1012 // If the current page is a Landing Pages Page (the Posts Table page, "Create Your First.." page, or a native
1013 // WordPress dashboard page edit screen when using WordPress' Classic Editor).
1014 if (isLandingPagesTablePage || isLandingPagesTrashPage || isLandingPagesCreateYourFirstPage || settings.isLandingPageAdminEdit) {
1015 // Make sure the active admin top level menu item is 'Templates', and not 'Pages'.
1016 this.highlightTopLevelMenuItem(this.elements.$templatesMenuItem, this.elements.$pagesMenuItemAndLink);
1017 this.highlightSubMenuItem(this.elements.$landingPagesMenuItem);
1018
1019 // Overwrite the 'Add New' button at the top of the page to open in Elementor with the library module open.
1020 jQuery(settings.selectors.addButton).attr('href', elementorAdminConfig.urls.addNewLandingPageUrl);
1021 }
1022 }
1023 }]);
1024 return LandingPagesHandler;
1025 }(_menuHandler.default);
1026 exports["default"] = LandingPagesHandler;
1027
1028 /***/ }),
1029
1030 /***/ "../modules/landing-pages/assets/js/admin/module.js":
1031 /*!**********************************************************!*\
1032 !*** ../modules/landing-pages/assets/js/admin/module.js ***!
1033 \**********************************************************/
1034 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1035
1036 "use strict";
1037
1038
1039 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1040 Object.defineProperty(exports, "__esModule", ({
1041 value: true
1042 }));
1043 exports["default"] = void 0;
1044 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1045 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1046 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1047 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1048 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1049 var _landingPages = _interopRequireDefault(__webpack_require__(/*! ./landing-pages */ "../modules/landing-pages/assets/js/admin/landing-pages.js"));
1050 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); }; }
1051 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; } }
1052 var _default = /*#__PURE__*/function (_elementorModules$Mod) {
1053 (0, _inherits2.default)(_default, _elementorModules$Mod);
1054 var _super = _createSuper(_default);
1055 function _default() {
1056 var _this;
1057 (0, _classCallCheck2.default)(this, _default);
1058 _this = _super.call(this);
1059 elementorCommon.elements.$window.on('elementor/admin/init', function () {
1060 _this.runHandler();
1061 });
1062 return _this;
1063 }
1064 (0, _createClass2.default)(_default, [{
1065 key: "runHandler",
1066 value: function runHandler() {
1067 var _elementorAdmin$confi, _elementorAdmin$confi2;
1068 var pageName = 'e-landing-page',
1069 paths = {
1070 landingPagesTablePage: 'edit.php?post_type=' + pageName,
1071 landingPagesAddNewPage: 'edit.php?post_type=elementor_library&page=' + pageName,
1072 landingPagesTrashPage: 'edit.php?post_status=trash&post_type=' + pageName
1073 },
1074 args = {
1075 path: (_elementorAdmin$confi = elementorAdmin.config.landingPages) !== null && _elementorAdmin$confi !== void 0 && _elementorAdmin$confi.landingPagesHasPages ? paths.landingPagesTablePage : paths.landingPagesAddNewPage,
1076 isLandingPageAdminEdit: (_elementorAdmin$confi2 = elementorAdmin.config.landingPages) === null || _elementorAdmin$confi2 === void 0 ? void 0 : _elementorAdmin$confi2.isLandingPageAdminEdit,
1077 paths: paths
1078 };
1079
1080 // This class modifies elements in the WordPress admin that are rendered "wrong" by the WordPress core
1081 // and could not be modified in the backend.
1082 new _landingPages.default(args);
1083 }
1084 }]);
1085 return _default;
1086 }(elementorModules.Module);
1087 exports["default"] = _default;
1088
1089 /***/ }),
1090
1091 /***/ "@wordpress/i18n":
1092 /*!**************************!*\
1093 !*** external "wp.i18n" ***!
1094 \**************************/
1095 /***/ ((module) => {
1096
1097 "use strict";
1098 module.exports = wp.i18n;
1099
1100 /***/ }),
1101
1102 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
1103 /*!******************************************************************!*\
1104 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
1105 \******************************************************************/
1106 /***/ ((module) => {
1107
1108 function _arrayLikeToArray(arr, len) {
1109 if (len == null || len > arr.length) len = arr.length;
1110 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
1111 return arr2;
1112 }
1113 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1114
1115 /***/ }),
1116
1117 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
1118 /*!****************************************************************!*\
1119 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
1120 \****************************************************************/
1121 /***/ ((module) => {
1122
1123 function _arrayWithHoles(arr) {
1124 if (Array.isArray(arr)) return arr;
1125 }
1126 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
1127
1128 /***/ }),
1129
1130 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
1131 /*!***********************************************************************!*\
1132 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
1133 \***********************************************************************/
1134 /***/ ((module) => {
1135
1136 function _assertThisInitialized(self) {
1137 if (self === void 0) {
1138 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1139 }
1140 return self;
1141 }
1142 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
1143
1144 /***/ }),
1145
1146 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
1147 /*!******************************************************************!*\
1148 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
1149 \******************************************************************/
1150 /***/ ((module) => {
1151
1152 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
1153 try {
1154 var info = gen[key](arg);
1155 var value = info.value;
1156 } catch (error) {
1157 reject(error);
1158 return;
1159 }
1160 if (info.done) {
1161 resolve(value);
1162 } else {
1163 Promise.resolve(value).then(_next, _throw);
1164 }
1165 }
1166 function _asyncToGenerator(fn) {
1167 return function () {
1168 var self = this,
1169 args = arguments;
1170 return new Promise(function (resolve, reject) {
1171 var gen = fn.apply(self, args);
1172 function _next(value) {
1173 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
1174 }
1175 function _throw(err) {
1176 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
1177 }
1178 _next(undefined);
1179 });
1180 };
1181 }
1182 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
1183
1184 /***/ }),
1185
1186 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
1187 /*!****************************************************************!*\
1188 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
1189 \****************************************************************/
1190 /***/ ((module) => {
1191
1192 function _classCallCheck(instance, Constructor) {
1193 if (!(instance instanceof Constructor)) {
1194 throw new TypeError("Cannot call a class as a function");
1195 }
1196 }
1197 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
1198
1199 /***/ }),
1200
1201 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
1202 /*!*************************************************************!*\
1203 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
1204 \*************************************************************/
1205 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1206
1207 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
1208 function _defineProperties(target, props) {
1209 for (var i = 0; i < props.length; i++) {
1210 var descriptor = props[i];
1211 descriptor.enumerable = descriptor.enumerable || false;
1212 descriptor.configurable = true;
1213 if ("value" in descriptor) descriptor.writable = true;
1214 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
1215 }
1216 }
1217 function _createClass(Constructor, protoProps, staticProps) {
1218 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1219 if (staticProps) _defineProperties(Constructor, staticProps);
1220 Object.defineProperty(Constructor, "prototype", {
1221 writable: false
1222 });
1223 return Constructor;
1224 }
1225 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
1226
1227 /***/ }),
1228
1229 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
1230 /*!****************************************************************!*\
1231 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
1232 \****************************************************************/
1233 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1234
1235 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
1236 function _defineProperty(obj, key, value) {
1237 key = toPropertyKey(key);
1238 if (key in obj) {
1239 Object.defineProperty(obj, key, {
1240 value: value,
1241 enumerable: true,
1242 configurable: true,
1243 writable: true
1244 });
1245 } else {
1246 obj[key] = value;
1247 }
1248 return obj;
1249 }
1250 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
1251
1252 /***/ }),
1253
1254 /***/ "../node_modules/@babel/runtime/helpers/get.js":
1255 /*!*****************************************************!*\
1256 !*** ../node_modules/@babel/runtime/helpers/get.js ***!
1257 \*****************************************************/
1258 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1259
1260 var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js");
1261 function _get() {
1262 if (typeof Reflect !== "undefined" && Reflect.get) {
1263 module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
1264 } else {
1265 module.exports = _get = function _get(target, property, receiver) {
1266 var base = superPropBase(target, property);
1267 if (!base) return;
1268 var desc = Object.getOwnPropertyDescriptor(base, property);
1269 if (desc.get) {
1270 return desc.get.call(arguments.length < 3 ? target : receiver);
1271 }
1272 return desc.value;
1273 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1274 }
1275 return _get.apply(this, arguments);
1276 }
1277 module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
1278
1279 /***/ }),
1280
1281 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
1282 /*!****************************************************************!*\
1283 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
1284 \****************************************************************/
1285 /***/ ((module) => {
1286
1287 function _getPrototypeOf(o) {
1288 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
1289 return o.__proto__ || Object.getPrototypeOf(o);
1290 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1291 return _getPrototypeOf(o);
1292 }
1293 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
1294
1295 /***/ }),
1296
1297 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
1298 /*!**********************************************************!*\
1299 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
1300 \**********************************************************/
1301 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1302
1303 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
1304 function _inherits(subClass, superClass) {
1305 if (typeof superClass !== "function" && superClass !== null) {
1306 throw new TypeError("Super expression must either be null or a function");
1307 }
1308 subClass.prototype = Object.create(superClass && superClass.prototype, {
1309 constructor: {
1310 value: subClass,
1311 writable: true,
1312 configurable: true
1313 }
1314 });
1315 Object.defineProperty(subClass, "prototype", {
1316 writable: false
1317 });
1318 if (superClass) setPrototypeOf(subClass, superClass);
1319 }
1320 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
1321
1322 /***/ }),
1323
1324 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
1325 /*!***********************************************************************!*\
1326 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
1327 \***********************************************************************/
1328 /***/ ((module) => {
1329
1330 function _interopRequireDefault(obj) {
1331 return obj && obj.__esModule ? obj : {
1332 "default": obj
1333 };
1334 }
1335 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
1336
1337 /***/ }),
1338
1339 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
1340 /*!**********************************************************************!*\
1341 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
1342 \**********************************************************************/
1343 /***/ ((module) => {
1344
1345 function _iterableToArrayLimit(r, l) {
1346 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
1347 if (null != t) {
1348 var e,
1349 n,
1350 i,
1351 u,
1352 a = [],
1353 f = !0,
1354 o = !1;
1355 try {
1356 if (i = (t = t.call(r)).next, 0 === l) {
1357 if (Object(t) !== t) return;
1358 f = !1;
1359 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
1360 } catch (r) {
1361 o = !0, n = r;
1362 } finally {
1363 try {
1364 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
1365 } finally {
1366 if (o) throw n;
1367 }
1368 }
1369 return a;
1370 }
1371 }
1372 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
1373
1374 /***/ }),
1375
1376 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
1377 /*!*****************************************************************!*\
1378 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
1379 \*****************************************************************/
1380 /***/ ((module) => {
1381
1382 function _nonIterableRest() {
1383 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1384 }
1385 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
1386
1387 /***/ }),
1388
1389 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
1390 /*!***************************************************************************!*\
1391 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
1392 \***************************************************************************/
1393 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1394
1395 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
1396 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
1397 function _possibleConstructorReturn(self, call) {
1398 if (call && (_typeof(call) === "object" || typeof call === "function")) {
1399 return call;
1400 } else if (call !== void 0) {
1401 throw new TypeError("Derived constructors may only return object or undefined");
1402 }
1403 return assertThisInitialized(self);
1404 }
1405 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
1406
1407 /***/ }),
1408
1409 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
1410 /*!********************************************************************!*\
1411 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
1412 \********************************************************************/
1413 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1414
1415 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
1416 function _regeneratorRuntime() {
1417 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
1418 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
1419 return e;
1420 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1421 var t,
1422 e = {},
1423 r = Object.prototype,
1424 n = r.hasOwnProperty,
1425 o = Object.defineProperty || function (t, e, r) {
1426 t[e] = r.value;
1427 },
1428 i = "function" == typeof Symbol ? Symbol : {},
1429 a = i.iterator || "@@iterator",
1430 c = i.asyncIterator || "@@asyncIterator",
1431 u = i.toStringTag || "@@toStringTag";
1432 function define(t, e, r) {
1433 return Object.defineProperty(t, e, {
1434 value: r,
1435 enumerable: !0,
1436 configurable: !0,
1437 writable: !0
1438 }), t[e];
1439 }
1440 try {
1441 define({}, "");
1442 } catch (t) {
1443 define = function define(t, e, r) {
1444 return t[e] = r;
1445 };
1446 }
1447 function wrap(t, e, r, n) {
1448 var i = e && e.prototype instanceof Generator ? e : Generator,
1449 a = Object.create(i.prototype),
1450 c = new Context(n || []);
1451 return o(a, "_invoke", {
1452 value: makeInvokeMethod(t, r, c)
1453 }), a;
1454 }
1455 function tryCatch(t, e, r) {
1456 try {
1457 return {
1458 type: "normal",
1459 arg: t.call(e, r)
1460 };
1461 } catch (t) {
1462 return {
1463 type: "throw",
1464 arg: t
1465 };
1466 }
1467 }
1468 e.wrap = wrap;
1469 var h = "suspendedStart",
1470 l = "suspendedYield",
1471 f = "executing",
1472 s = "completed",
1473 y = {};
1474 function Generator() {}
1475 function GeneratorFunction() {}
1476 function GeneratorFunctionPrototype() {}
1477 var p = {};
1478 define(p, a, function () {
1479 return this;
1480 });
1481 var d = Object.getPrototypeOf,
1482 v = d && d(d(values([])));
1483 v && v !== r && n.call(v, a) && (p = v);
1484 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
1485 function defineIteratorMethods(t) {
1486 ["next", "throw", "return"].forEach(function (e) {
1487 define(t, e, function (t) {
1488 return this._invoke(e, t);
1489 });
1490 });
1491 }
1492 function AsyncIterator(t, e) {
1493 function invoke(r, o, i, a) {
1494 var c = tryCatch(t[r], t, o);
1495 if ("throw" !== c.type) {
1496 var u = c.arg,
1497 h = u.value;
1498 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
1499 invoke("next", t, i, a);
1500 }, function (t) {
1501 invoke("throw", t, i, a);
1502 }) : e.resolve(h).then(function (t) {
1503 u.value = t, i(u);
1504 }, function (t) {
1505 return invoke("throw", t, i, a);
1506 });
1507 }
1508 a(c.arg);
1509 }
1510 var r;
1511 o(this, "_invoke", {
1512 value: function value(t, n) {
1513 function callInvokeWithMethodAndArg() {
1514 return new e(function (e, r) {
1515 invoke(t, n, e, r);
1516 });
1517 }
1518 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
1519 }
1520 });
1521 }
1522 function makeInvokeMethod(e, r, n) {
1523 var o = h;
1524 return function (i, a) {
1525 if (o === f) throw new Error("Generator is already running");
1526 if (o === s) {
1527 if ("throw" === i) throw a;
1528 return {
1529 value: t,
1530 done: !0
1531 };
1532 }
1533 for (n.method = i, n.arg = a;;) {
1534 var c = n.delegate;
1535 if (c) {
1536 var u = maybeInvokeDelegate(c, n);
1537 if (u) {
1538 if (u === y) continue;
1539 return u;
1540 }
1541 }
1542 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
1543 if (o === h) throw o = s, n.arg;
1544 n.dispatchException(n.arg);
1545 } else "return" === n.method && n.abrupt("return", n.arg);
1546 o = f;
1547 var p = tryCatch(e, r, n);
1548 if ("normal" === p.type) {
1549 if (o = n.done ? s : l, p.arg === y) continue;
1550 return {
1551 value: p.arg,
1552 done: n.done
1553 };
1554 }
1555 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
1556 }
1557 };
1558 }
1559 function maybeInvokeDelegate(e, r) {
1560 var n = r.method,
1561 o = e.iterator[n];
1562 if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
1563 var i = tryCatch(o, e.iterator, r.arg);
1564 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
1565 var a = i.arg;
1566 return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
1567 }
1568 function pushTryEntry(t) {
1569 var e = {
1570 tryLoc: t[0]
1571 };
1572 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
1573 }
1574 function resetTryEntry(t) {
1575 var e = t.completion || {};
1576 e.type = "normal", delete e.arg, t.completion = e;
1577 }
1578 function Context(t) {
1579 this.tryEntries = [{
1580 tryLoc: "root"
1581 }], t.forEach(pushTryEntry, this), this.reset(!0);
1582 }
1583 function values(e) {
1584 if (e || "" === e) {
1585 var r = e[a];
1586 if (r) return r.call(e);
1587 if ("function" == typeof e.next) return e;
1588 if (!isNaN(e.length)) {
1589 var o = -1,
1590 i = function next() {
1591 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
1592 return next.value = t, next.done = !0, next;
1593 };
1594 return i.next = i;
1595 }
1596 }
1597 throw new TypeError(_typeof(e) + " is not iterable");
1598 }
1599 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
1600 value: GeneratorFunctionPrototype,
1601 configurable: !0
1602 }), o(GeneratorFunctionPrototype, "constructor", {
1603 value: GeneratorFunction,
1604 configurable: !0
1605 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
1606 var e = "function" == typeof t && t.constructor;
1607 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
1608 }, e.mark = function (t) {
1609 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
1610 }, e.awrap = function (t) {
1611 return {
1612 __await: t
1613 };
1614 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
1615 return this;
1616 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
1617 void 0 === i && (i = Promise);
1618 var a = new AsyncIterator(wrap(t, r, n, o), i);
1619 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
1620 return t.done ? t.value : a.next();
1621 });
1622 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
1623 return this;
1624 }), define(g, "toString", function () {
1625 return "[object Generator]";
1626 }), e.keys = function (t) {
1627 var e = Object(t),
1628 r = [];
1629 for (var n in e) r.push(n);
1630 return r.reverse(), function next() {
1631 for (; r.length;) {
1632 var t = r.pop();
1633 if (t in e) return next.value = t, next.done = !1, next;
1634 }
1635 return next.done = !0, next;
1636 };
1637 }, e.values = values, Context.prototype = {
1638 constructor: Context,
1639 reset: function reset(e) {
1640 if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
1641 },
1642 stop: function stop() {
1643 this.done = !0;
1644 var t = this.tryEntries[0].completion;
1645 if ("throw" === t.type) throw t.arg;
1646 return this.rval;
1647 },
1648 dispatchException: function dispatchException(e) {
1649 if (this.done) throw e;
1650 var r = this;
1651 function handle(n, o) {
1652 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
1653 }
1654 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
1655 var i = this.tryEntries[o],
1656 a = i.completion;
1657 if ("root" === i.tryLoc) return handle("end");
1658 if (i.tryLoc <= this.prev) {
1659 var c = n.call(i, "catchLoc"),
1660 u = n.call(i, "finallyLoc");
1661 if (c && u) {
1662 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
1663 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
1664 } else if (c) {
1665 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
1666 } else {
1667 if (!u) throw new Error("try statement without catch or finally");
1668 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
1669 }
1670 }
1671 }
1672 },
1673 abrupt: function abrupt(t, e) {
1674 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
1675 var o = this.tryEntries[r];
1676 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
1677 var i = o;
1678 break;
1679 }
1680 }
1681 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
1682 var a = i ? i.completion : {};
1683 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
1684 },
1685 complete: function complete(t, e) {
1686 if ("throw" === t.type) throw t.arg;
1687 return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
1688 },
1689 finish: function finish(t) {
1690 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
1691 var r = this.tryEntries[e];
1692 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
1693 }
1694 },
1695 "catch": function _catch(t) {
1696 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
1697 var r = this.tryEntries[e];
1698 if (r.tryLoc === t) {
1699 var n = r.completion;
1700 if ("throw" === n.type) {
1701 var o = n.arg;
1702 resetTryEntry(r);
1703 }
1704 return o;
1705 }
1706 }
1707 throw new Error("illegal catch attempt");
1708 },
1709 delegateYield: function delegateYield(e, r, n) {
1710 return this.delegate = {
1711 iterator: values(e),
1712 resultName: r,
1713 nextLoc: n
1714 }, "next" === this.method && (this.arg = t), y;
1715 }
1716 }, e;
1717 }
1718 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
1719
1720 /***/ }),
1721
1722 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
1723 /*!****************************************************************!*\
1724 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
1725 \****************************************************************/
1726 /***/ ((module) => {
1727
1728 function _setPrototypeOf(o, p) {
1729 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
1730 o.__proto__ = p;
1731 return o;
1732 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
1733 return _setPrototypeOf(o, p);
1734 }
1735 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
1736
1737 /***/ }),
1738
1739 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
1740 /*!***************************************************************!*\
1741 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
1742 \***************************************************************/
1743 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1744
1745 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
1746 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
1747 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
1748 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
1749 function _slicedToArray(arr, i) {
1750 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
1751 }
1752 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1753
1754 /***/ }),
1755
1756 /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js":
1757 /*!***************************************************************!*\
1758 !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***!
1759 \***************************************************************/
1760 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1761
1762 var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js");
1763 function _superPropBase(object, property) {
1764 while (!Object.prototype.hasOwnProperty.call(object, property)) {
1765 object = getPrototypeOf(object);
1766 if (object === null) break;
1767 }
1768 return object;
1769 }
1770 module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
1771
1772 /***/ }),
1773
1774 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
1775 /*!*************************************************************!*\
1776 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
1777 \*************************************************************/
1778 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1779
1780 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
1781 function _toPrimitive(input, hint) {
1782 if (_typeof(input) !== "object" || input === null) return input;
1783 var prim = input[Symbol.toPrimitive];
1784 if (prim !== undefined) {
1785 var res = prim.call(input, hint || "default");
1786 if (_typeof(res) !== "object") return res;
1787 throw new TypeError("@@toPrimitive must return a primitive value.");
1788 }
1789 return (hint === "string" ? String : Number)(input);
1790 }
1791 module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
1792
1793 /***/ }),
1794
1795 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
1796 /*!***************************************************************!*\
1797 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
1798 \***************************************************************/
1799 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1800
1801 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
1802 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
1803 function _toPropertyKey(arg) {
1804 var key = toPrimitive(arg, "string");
1805 return _typeof(key) === "symbol" ? key : String(key);
1806 }
1807 module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
1808
1809 /***/ }),
1810
1811 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
1812 /*!********************************************************!*\
1813 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
1814 \********************************************************/
1815 /***/ ((module) => {
1816
1817 function _typeof(o) {
1818 "@babel/helpers - typeof";
1819
1820 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
1821 return typeof o;
1822 } : function (o) {
1823 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
1824 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
1825 }
1826 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
1827
1828 /***/ }),
1829
1830 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
1831 /*!****************************************************************************!*\
1832 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
1833 \****************************************************************************/
1834 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1835
1836 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
1837 function _unsupportedIterableToArray(o, minLen) {
1838 if (!o) return;
1839 if (typeof o === "string") return arrayLikeToArray(o, minLen);
1840 var n = Object.prototype.toString.call(o).slice(8, -1);
1841 if (n === "Object" && o.constructor) n = o.constructor.name;
1842 if (n === "Map" || n === "Set") return Array.from(o);
1843 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
1844 }
1845 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
1846
1847 /***/ }),
1848
1849 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
1850 /*!***********************************************************!*\
1851 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
1852 \***********************************************************/
1853 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1854
1855 // TODO(Babel 8): Remove this file.
1856
1857 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
1858 module.exports = runtime;
1859
1860 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
1861 try {
1862 regeneratorRuntime = runtime;
1863 } catch (accidentalStrictMode) {
1864 if (typeof globalThis === "object") {
1865 globalThis.regeneratorRuntime = runtime;
1866 } else {
1867 Function("r", "regeneratorRuntime = r")(runtime);
1868 }
1869 }
1870
1871
1872 /***/ })
1873
1874 /******/ });
1875 /************************************************************************/
1876 /******/ // The module cache
1877 /******/ var __webpack_module_cache__ = {};
1878 /******/
1879 /******/ // The require function
1880 /******/ function __webpack_require__(moduleId) {
1881 /******/ // Check if module is in cache
1882 /******/ var cachedModule = __webpack_module_cache__[moduleId];
1883 /******/ if (cachedModule !== undefined) {
1884 /******/ return cachedModule.exports;
1885 /******/ }
1886 /******/ // Create a new module (and put it into the cache)
1887 /******/ var module = __webpack_module_cache__[moduleId] = {
1888 /******/ // no module.id needed
1889 /******/ // no module.loaded needed
1890 /******/ exports: {}
1891 /******/ };
1892 /******/
1893 /******/ // Execute the module function
1894 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
1895 /******/
1896 /******/ // Return the exports of the module
1897 /******/ return module.exports;
1898 /******/ }
1899 /******/
1900 /************************************************************************/
1901 var __webpack_exports__ = {};
1902 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
1903 (() => {
1904 "use strict";
1905 /*!***************************************!*\
1906 !*** ../assets/dev/js/admin/admin.js ***!
1907 \***************************************/
1908 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1909
1910
1911 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1912 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1913 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1914 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1915 var _module = _interopRequireDefault(__webpack_require__(/*! elementor/modules/landing-pages/assets/js/admin/module */ "../modules/landing-pages/assets/js/admin/module.js"));
1916 var _module2 = _interopRequireDefault(__webpack_require__(/*! elementor/core/experiments/assets/js/admin/module */ "../core/experiments/assets/js/admin/module.js"));
1917 var _environment = _interopRequireDefault(__webpack_require__(/*! ../../../../core/common/assets/js/utils/environment */ "../core/common/assets/js/utils/environment.js"));
1918 var _events = _interopRequireDefault(__webpack_require__(/*! elementor-utils/events */ "../assets/dev/js/utils/events.js"));
1919 var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../editor/utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js"));
1920 var _templateControls = _interopRequireDefault(__webpack_require__(/*! ./new-template/template-controls.js */ "../assets/dev/js/admin/new-template/template-controls.js"));
1921 var _jsonUploadWarningMessage = __webpack_require__(/*! elementor-utils/json-upload-warning-message */ "../assets/dev/js/utils/json-upload-warning-message.js");
1922 (function ($) {
1923 var ElementorAdmin = elementorModules.ViewModule.extend({
1924 maintenanceMode: null,
1925 config: elementorAdminConfig,
1926 getDefaultElements: function getDefaultElements() {
1927 var elements = {
1928 $switchMode: $('#elementor-switch-mode'),
1929 $goToEditLink: $('#elementor-go-to-edit-page-link'),
1930 $switchModeInput: $('#elementor-switch-mode-input'),
1931 $switchModeButton: $('#elementor-switch-mode-button'),
1932 $elementorLoader: $('.elementor-loader'),
1933 $builderEditor: $('#elementor-editor'),
1934 $importButton: $('#elementor-import-template-trigger'),
1935 $importNowButton: $('#e-import-template-action'),
1936 $importArea: $('#elementor-import-template-area'),
1937 $importForm: $('#elementor-import-template-form'),
1938 $importFormFileInput: $('#elementor-import-template-form input[type="file"]'),
1939 $settingsForm: $('#elementor-settings-form'),
1940 $settingsTabsWrapper: $('#elementor-settings-tabs-wrapper'),
1941 $menuGetHelpLink: $('a[href="admin.php?page=go_knowledge_base_site"]'),
1942 $menuGoProLink: $('a[href="admin.php?page=go_elementor_pro"]'),
1943 $reMigrateGlobalsButton: $('.elementor-re-migrate-globals-button')
1944 };
1945 elements.$settingsFormPages = elements.$settingsForm.find('.elementor-settings-form-page');
1946 elements.$activeSettingsPage = elements.$settingsFormPages.filter('.elementor-active');
1947 elements.$settingsTabs = elements.$settingsTabsWrapper.children();
1948 elements.$activeSettingsTab = elements.$settingsTabs.filter('.nav-tab-active');
1949 return elements;
1950 },
1951 toggleStatus: function toggleStatus() {
1952 var isElementorMode = this.isElementorMode();
1953 elementorCommon.elements.$body.toggleClass('elementor-editor-active', isElementorMode).toggleClass('elementor-editor-inactive', !isElementorMode);
1954 },
1955 bindEvents: function bindEvents() {
1956 var self = this;
1957 self.elements.$switchModeButton.on('click', function (event) {
1958 event.preventDefault();
1959 if (self.isElementorMode()) {
1960 elementorCommon.dialogsManager.createWidget('confirm', {
1961 message: __('Please note that you are switching to WordPress default editor. Your current layout, design and content might break.', 'elementor'),
1962 headerMessage: __('Back to WordPress Editor', 'elementor'),
1963 strings: {
1964 confirm: __('Continue', 'elementor'),
1965 cancel: __('Cancel', 'elementor')
1966 },
1967 defaultOption: 'confirm',
1968 onConfirm: function onConfirm() {
1969 self.elements.$switchModeInput.val('');
1970 self.toggleStatus();
1971 }
1972 }).show();
1973 } else {
1974 self.elements.$switchModeInput.val(true);
1975 var $wpTitle = $('#title');
1976 if (!$wpTitle.val()) {
1977 $wpTitle.val('Elementor #' + $('#post_ID').val());
1978 }
1979 if (wp.autosave) {
1980 wp.autosave.server.triggerSave();
1981 }
1982 self.animateLoader();
1983 $(document).on('heartbeat-tick.autosave', function () {
1984 elementorCommon.elements.$window.off('beforeunload.edit-post');
1985 location.href = self.elements.$goToEditLink.attr('href');
1986 });
1987 self.toggleStatus();
1988 }
1989 });
1990 self.elements.$goToEditLink.on('click', function () {
1991 self.animateLoader();
1992 });
1993 $('.e-notice--dismissible').on('click', '.e-notice__dismiss, .e-notice-dismiss', function (event) {
1994 event.preventDefault();
1995 var $wrapperElm = $(this).closest('.e-notice--dismissible');
1996 $.post(ajaxurl, {
1997 action: 'elementor_set_admin_notice_viewed',
1998 notice_id: $wrapperElm.data('notice_id')
1999 });
2000 $wrapperElm.fadeTo(100, 0, function () {
2001 $wrapperElm.slideUp(100, function () {
2002 $wrapperElm.remove();
2003 });
2004 });
2005 });
2006 $('#elementor-clear-cache-button').on('click', function (event) {
2007 event.preventDefault();
2008 var $thisButton = $(this);
2009 $thisButton.removeClass('success').addClass('loading');
2010 $.post(ajaxurl, {
2011 action: 'elementor_clear_cache',
2012 _nonce: $thisButton.data('nonce')
2013 }).done(function () {
2014 $thisButton.removeClass('loading').addClass('success');
2015 });
2016 });
2017 $('#elementor-library-sync-button').on('click', function (event) {
2018 event.preventDefault();
2019 var $thisButton = $(this);
2020 $thisButton.removeClass('success').addClass('loading');
2021 $.post(ajaxurl, {
2022 action: 'elementor_reset_library',
2023 _nonce: $thisButton.data('nonce')
2024 }).done(function () {
2025 $thisButton.removeClass('loading').addClass('success');
2026 });
2027 });
2028 $('#elementor-recreate-kit-button').on('click', function (event) {
2029 event.preventDefault();
2030 var $thisButton = $(this);
2031 $thisButton.removeClass('success error').addClass('loading').next('.e-recreate-kit-error-message').remove();
2032 $.post(ajaxurl, {
2033 action: 'elementor_recreate_kit',
2034 _nonce: $thisButton.data('nonce')
2035 }).done(function () {
2036 $thisButton.removeClass('loading').addClass('success');
2037 }).fail(function (_ref) {
2038 var _responseJSON$data;
2039 var responseJSON = _ref.responseJSON;
2040 $thisButton.removeClass('loading').addClass('error');
2041 if ((_responseJSON$data = responseJSON.data) !== null && _responseJSON$data !== void 0 && _responseJSON$data.message) {
2042 $thisButton.after("<div class=\"e-recreate-kit-error-message\">".concat(responseJSON.data.message, "</div>"));
2043 }
2044 });
2045 });
2046 $('#elementor-replace-url-button').on('click', function (event) {
2047 event.preventDefault();
2048 var $this = $(this),
2049 $tr = $this.parents('tr'),
2050 $from = $tr.find('[name="from"]'),
2051 $to = $tr.find('[name="to"]');
2052 $this.removeClass('success').addClass('loading');
2053 $.post(ajaxurl, {
2054 action: 'elementor_replace_url',
2055 from: $from.val(),
2056 to: $to.val(),
2057 _nonce: $this.data('nonce')
2058 }).done(function (response) {
2059 $this.removeClass('loading');
2060 if (response.success) {
2061 $this.addClass('success');
2062 }
2063 elementorCommon.dialogsManager.createWidget('alert', {
2064 message: response.data
2065 }).show();
2066 });
2067 });
2068 $('#elementor_upgrade_fa_button').on('click', function (event) {
2069 event.preventDefault();
2070 var $updateButton = $(this);
2071 $updateButton.addClass('loading');
2072 elementorCommon.dialogsManager.createWidget('confirm', {
2073 id: 'confirm_fa_migration_admin_modal',
2074 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'),
2075 headerMessage: __('Font Awesome 5 Migration', 'elementor'),
2076 strings: {
2077 confirm: __('Continue', 'elementor'),
2078 cancel: __('Cancel', 'elementor')
2079 },
2080 defaultOption: 'confirm',
2081 onConfirm: function onConfirm() {
2082 $updateButton.removeClass('error').addClass('loading');
2083 var _$updateButton$data = $updateButton.data(),
2084 _nonce = _$updateButton$data._nonce,
2085 action = _$updateButton$data.action,
2086 redirectUrl = _$updateButton$data.redirectUrl;
2087 $.post(ajaxurl, {
2088 action: action,
2089 _nonce: _nonce
2090 }).done(function (response) {
2091 $updateButton.removeClass('loading').addClass('success');
2092 var messageElement = document.createElement('p');
2093 messageElement.appendChild(document.createTextNode(response.data.message));
2094 $('#elementor_upgrade_fa_button').parent().append(messageElement);
2095 if (redirectUrl) {
2096 location.href = decodeURIComponent(redirectUrl);
2097 return;
2098 }
2099 history.go(-1);
2100 }).fail(function () {
2101 $updateButton.removeClass('loading').addClass('error');
2102 });
2103 },
2104 onCancel: function onCancel() {
2105 $updateButton.removeClass('loading').addClass('error');
2106 }
2107 }).show();
2108 });
2109 self.elements.$settingsTabs.on({
2110 click: function click(event) {
2111 event.preventDefault();
2112 event.currentTarget.focus(); // Safari does not focus the tab automatically
2113 },
2114 focus: function focus() {
2115 // Using focus event to enable navigation by tab key
2116 var hrefWithoutHash = location.href.replace(/#.*/, '');
2117 history.pushState({}, '', hrefWithoutHash + this.hash);
2118 self.goToSettingsTabFromHash();
2119 }
2120 });
2121 $('select.elementor-rollback-select').on('change', function () {
2122 var $this = $(this),
2123 $rollbackButton = $this.next('.elementor-rollback-button'),
2124 placeholderText = $rollbackButton.data('placeholder-text'),
2125 placeholderUrl = $rollbackButton.data('placeholder-url');
2126 $rollbackButton.html(placeholderText.replace('{VERSION}', $this.val()));
2127 $rollbackButton.attr('href', placeholderUrl.replace('VERSION', $this.val()));
2128 }).trigger('change');
2129 $('.elementor-rollback-button').on('click', function (event) {
2130 event.preventDefault();
2131 var $this = $(this);
2132 elementorCommon.dialogsManager.createWidget('confirm', {
2133 headerMessage: __('Rollback to Previous Version', 'elementor'),
2134 message: __('Are you sure you want to reinstall previous version?', 'elementor'),
2135 strings: {
2136 confirm: __('Continue', 'elementor'),
2137 cancel: __('Cancel', 'elementor')
2138 },
2139 onConfirm: function onConfirm() {
2140 $this.addClass('loading');
2141 location.href = $this.attr('href');
2142 }
2143 }).show();
2144 });
2145 self.elements.$reMigrateGlobalsButton.on('click', function (event) {
2146 event.preventDefault();
2147 var $this = $(event.currentTarget);
2148 elementorCommon.dialogsManager.createWidget('confirm', {
2149 headerMessage: __('Migrate to v3.0', 'elementor'),
2150 message: __('Please note that this process will revert all changes made to Global Colors and Fonts since upgrading to v3.x.', 'elementor'),
2151 strings: {
2152 confirm: __('Continue', 'elementor'),
2153 cancel: __('Cancel', 'elementor')
2154 },
2155 onConfirm: function onConfirm() {
2156 $this.removeClass('success').addClass('loading');
2157 elementorCommon.ajax.addRequest('re_migrate_globals', {
2158 success: function success() {
2159 return $this.removeClass('loading').addClass('success');
2160 }
2161 });
2162 }
2163 }).show();
2164 });
2165 $('.elementor_css_print_method select').on('change', function () {
2166 var $descriptions = $('.elementor-css-print-method-description');
2167 $descriptions.hide();
2168 $descriptions.filter('[data-value="' + $(this).val() + '"]').show();
2169 }).trigger('change');
2170 $('.elementor_google_font select').on('change', function () {
2171 $('.elementor_font_display').toggle('1' === $(this).val());
2172 }).trigger('change');
2173 },
2174 onInit: function onInit() {
2175 elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
2176 this.initTemplatesImport();
2177 this.initMaintenanceMode();
2178 this.goToSettingsTabFromHash();
2179 this.openLinksInNewTab();
2180 this.addUserAgentClasses();
2181 this.roleManager.init();
2182 if (elementorCommon.config.experimentalFeatures['landing-pages']) {
2183 new _module.default();
2184 }
2185 this.templateControls = new _templateControls.default();
2186 new _module2.default();
2187 },
2188 addUserAgentClasses: function addUserAgentClasses() {
2189 var body = document.querySelector('body');
2190 Object.entries(_environment.default).forEach(function (_ref2) {
2191 var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
2192 key = _ref3[0],
2193 value = _ref3[1];
2194 if (!value) {
2195 return;
2196 }
2197 body.classList.add('e--ua-' + key);
2198 });
2199 },
2200 /**
2201 * Open Links in New Tab
2202 *
2203 * Adds a `target="_blank"` attribute to the Admin Dashboard menu items specified in the `elements` array,
2204 * if the elements are found in the DOM. The items in the `elements` array should be jQuery instances.
2205 *
2206 * @since 3.6.0
2207 */
2208 openLinksInNewTab: function openLinksInNewTab() {
2209 var elements = [this.elements.$menuGetHelpLink, this.elements.$menuGoProLink];
2210 elements.forEach(function ($element) {
2211 // Only add the attribute if the element is found.
2212 if ($element.length) {
2213 $element.attr('target', '_blank');
2214 }
2215 });
2216 },
2217 initTemplatesImport: function initTemplatesImport() {
2218 if (!elementorCommon.elements.$body.hasClass('post-type-elementor_library')) {
2219 return;
2220 }
2221 var self = this,
2222 $importForm = self.elements.$importForm,
2223 $importButton = self.elements.$importButton,
2224 $importArea = self.elements.$importArea,
2225 $importNowButton = self.elements.$importNowButton,
2226 $importFormFileInput = self.elements.$importFormFileInput;
2227 self.elements.$formAnchor = $('.wp-header-end');
2228 $('#wpbody-content').find('.page-title-action').last().after($importButton);
2229 self.elements.$formAnchor.after($importArea);
2230 $importButton.on('click', function () {
2231 $('#elementor-import-template-area').toggle();
2232 });
2233 var messageShown = false;
2234 var originalButtonValue = $importNowButton[0].value;
2235 $importForm.on('submit', /*#__PURE__*/function () {
2236 var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event) {
2237 var enableUnfilteredFilesModal;
2238 return _regenerator.default.wrap(function _callee$(_context) {
2239 while (1) switch (_context.prev = _context.next) {
2240 case 0:
2241 $importNowButton[0].disabled = true;
2242 $importNowButton[0].value = __('Importing...', 'elementor');
2243 if (messageShown) {
2244 _context.next = 16;
2245 break;
2246 }
2247 event.preventDefault();
2248 _context.prev = 4;
2249 _context.next = 7;
2250 return (0, _jsonUploadWarningMessage.showJsonUploadWarningMessageIfNeeded)({
2251 IntroductionClass: window.elementorModules.admin.utils.Introduction,
2252 introductionMap: window.elementorAdmin.config.user.introduction,
2253 waitForSetViewed: true
2254 });
2255 case 7:
2256 messageShown = true;
2257 $importForm.trigger('submit');
2258 _context.next = 15;
2259 break;
2260 case 11:
2261 _context.prev = 11;
2262 _context.t0 = _context["catch"](4);
2263 $importNowButton[0].disabled = false;
2264 $importNowButton[0].value = originalButtonValue;
2265 case 15:
2266 return _context.abrupt("return");
2267 case 16:
2268 if (!($importFormFileInput[0].files.length && !elementorCommon.config.filesUpload.unfilteredFiles)) {
2269 _context.next = 21;
2270 break;
2271 }
2272 event.preventDefault();
2273 enableUnfilteredFilesModal = _filesUploadHandler.default.getUnfilteredFilesNotEnabledImportTemplateDialog(function () {
2274 $importForm.trigger('submit');
2275 });
2276 enableUnfilteredFilesModal.show();
2277 return _context.abrupt("return");
2278 case 21:
2279 messageShown = false;
2280 case 22:
2281 case "end":
2282 return _context.stop();
2283 }
2284 }, _callee, null, [[4, 11]]);
2285 }));
2286 return function (_x) {
2287 return _ref4.apply(this, arguments);
2288 };
2289 }());
2290 },
2291 initMaintenanceMode: function initMaintenanceMode() {
2292 var MaintenanceMode = __webpack_require__(/*! elementor-admin/maintenance-mode */ "../assets/dev/js/admin/maintenance-mode.js");
2293 this.maintenanceMode = new MaintenanceMode();
2294 },
2295 isElementorMode: function isElementorMode() {
2296 return !!this.elements.$switchModeInput.val();
2297 },
2298 animateLoader: function animateLoader() {
2299 this.elements.$goToEditLink.addClass('elementor-animate');
2300 },
2301 goToSettingsTabFromHash: function goToSettingsTabFromHash() {
2302 var hash = location.hash.slice(1);
2303 if (hash) {
2304 this.goToSettingsTab(hash);
2305 }
2306 },
2307 goToSettingsTab: function goToSettingsTab(tabName) {
2308 var $pages = this.elements.$settingsFormPages;
2309 if (!$pages.length) {
2310 return;
2311 }
2312 var $activePage = $pages.filter('#' + tabName);
2313 this.elements.$activeSettingsPage.removeClass('elementor-active');
2314 this.elements.$activeSettingsTab.removeClass('nav-tab-active');
2315 var $activeTab = this.elements.$settingsTabs.filter('#elementor-settings-' + tabName);
2316 $activePage.addClass('elementor-active');
2317 $activeTab.addClass('nav-tab-active');
2318 this.elements.$settingsForm.attr('action', 'options.php#' + tabName);
2319 this.elements.$activeSettingsPage = $activePage;
2320 this.elements.$activeSettingsTab = $activeTab;
2321 },
2322 translate: function translate(stringKey, templateArgs) {
2323 return elementorCommon.translate(stringKey, null, templateArgs, this.config.i18n);
2324 },
2325 roleManager: {
2326 selectors: {
2327 body: 'elementor-role-manager',
2328 row: '.elementor-role-row',
2329 label: '.elementor-role-label',
2330 excludedIndicator: '.elementor-role-excluded-indicator',
2331 excludedField: 'input[name="elementor_exclude_user_roles[]"]',
2332 controlsContainer: '.elementor-role-controls',
2333 toggleHandle: '.elementor-role-toggle',
2334 arrowUp: 'dashicons-arrow-up',
2335 arrowDown: 'dashicons-arrow-down'
2336 },
2337 toggle: function toggle($trigger) {
2338 var self = this,
2339 $row = $trigger.closest(self.selectors.row),
2340 $toggleHandleIcon = $row.find(self.selectors.toggleHandle).find('.dashicons'),
2341 $controls = $row.find(self.selectors.controlsContainer);
2342 $controls.toggleClass('hidden');
2343 if ($controls.hasClass('hidden')) {
2344 $toggleHandleIcon.removeClass(self.selectors.arrowUp).addClass(self.selectors.arrowDown);
2345 } else {
2346 $toggleHandleIcon.removeClass(self.selectors.arrowDown).addClass(self.selectors.arrowUp);
2347 }
2348 self.updateLabel($row);
2349 },
2350 updateLabel: function updateLabel($row) {
2351 var self = this,
2352 $indicator = $row.find(self.selectors.excludedIndicator),
2353 excluded = $row.find(self.selectors.excludedField).is(':checked');
2354 if (excluded) {
2355 $indicator.html($indicator.data('excluded-label'));
2356 } else {
2357 $indicator.html('');
2358 }
2359 self.setAdvancedState($row, excluded);
2360 },
2361 setAdvancedState: function setAdvancedState($row, state) {
2362 var self = this,
2363 $controls = $row.find('input[type="checkbox"]').not(self.selectors.excludedField);
2364 $controls.each(function (index, input) {
2365 $(input).prop('disabled', state);
2366 });
2367 },
2368 bind: function bind() {
2369 var self = this;
2370 $(document).on('click', self.selectors.label + ',' + self.selectors.toggleHandle, function (event) {
2371 event.stopPropagation();
2372 event.preventDefault();
2373 self.toggle($(this));
2374 }).on('change', self.selectors.excludedField, function () {
2375 self.updateLabel($(this).closest(self.selectors.row));
2376 });
2377 },
2378 init: function init() {
2379 var self = this;
2380 if (!$('body[class*="' + self.selectors.body + '"]').length) {
2381 return;
2382 }
2383 self.bind();
2384 $(self.selectors.row).each(function (index, row) {
2385 self.updateLabel($(row));
2386 });
2387 }
2388 }
2389 });
2390 $(function () {
2391 window.elementorAdmin = new ElementorAdmin();
2392 _events.default.dispatch(elementorCommon.elements.$window, 'elementor/admin/init');
2393 });
2394 })(jQuery);
2395 })();
2396
2397 /******/ })()
2398 ;
2399 //# sourceMappingURL=admin.js.map