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

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