PluginProbe
Elementor Website Builder – more than just a page builder / 3.11.2
Elementor Website Builder – more than just a page builder v3.11.2
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 / editor-modules.js

editor-modules.js in Elementor Website Builder – more than just a page builder 3.11.2, at assets/js/editor-modules.js

2,605 lines 102.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.11.2 - 22-02-2023 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../assets/dev/js/editor/container/container.js":
6 /*!******************************************************!*\
7 !*** ../assets/dev/js/editor/container/container.js ***!
8 \******************************************************/
9 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10
11 "use strict";
12 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
13
14
15 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
16 Object.defineProperty(exports, "__esModule", ({
17 value: true
18 }));
19 exports["default"] = void 0;
20 var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
21 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
22 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
23 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
24 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
25 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
26 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
27 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
28 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
29 var _argsObject = _interopRequireDefault(__webpack_require__(/*! ../../modules/imports/args-object */ "../assets/dev/js/modules/imports/args-object.js"));
30 var _panel = _interopRequireDefault(__webpack_require__(/*! ./panel */ "../assets/dev/js/editor/container/panel.js"));
31 var _childrenArray = _interopRequireDefault(__webpack_require__(/*! ./model/children-array */ "../assets/dev/js/editor/container/model/children-array.js"));
32 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); }; }
33 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; } }
34 /**
35 * @typedef {import('../../../../lib/backbone/backbone.marionette')} Backbone
36 * @typedef {import('../../../../lib/backbone/backbone.marionette')} Marionette
37 * @typedef {import('../elements/views/base')} BaseElementView
38 * @typedef {import('../elements/views/section')} SectionView
39 * @typedef {import('../views/base-container')} BaseContainer
40 * @typedef {import('../elements/models/base-element-model')} BaseElementModel
41 */
42 /**
43 * TODO: ViewsOptions
44 *
45 * @typedef {(Marionette.View|Marionette.CompositeView|BaseElementView|SectionView|BaseContainer)} ViewsOptions
46 */
47 var Container = /*#__PURE__*/function (_ArgsObject) {
48 (0, _inherits2.default)(Container, _ArgsObject);
49 var _super = _createSuper(Container);
50 // TODO: Swap those backwards compatibility is required.
51
52 /**
53 * Container type.
54 *
55 * @type {string}
56 */
57
58 /**
59 * Container id.
60 *
61 * @type {string}
62 */
63
64 /**
65 * Document Object.
66 *
67 * @type {{}}
68 */
69
70 /**
71 * Container model.
72 *
73 * @type {(Backbone.Model|BaseElementModel)}
74 */
75
76 /**
77 * Container settings.
78 *
79 * @type {Backbone.Model}
80 */
81
82 /**
83 * Container view.
84 *
85 * @type {ViewsOptions}
86 */
87
88 /**
89 * Container parent.
90 *
91 * @type {Container}
92 */
93
94 /**
95 * Container children(s).
96 *
97 * @type {ChildrenArray}
98 */
99
100 /**
101 * Container dynamic.
102 *
103 * @type {Backbone.Model}
104 */
105
106 /**
107 * Container globals.
108 *
109 * @type {Backbone.Model}
110 */
111
112 /**
113 * Container label.
114 *
115 * @type {string}
116 */
117
118 /**
119 * Container controls.
120 *
121 * @type {{}}
122 */
123
124 /**
125 * Repeaters containers
126 *
127 * @type {{}}
128 */
129
130 /**
131 * Container renderer (The one who render).
132 *
133 * @type {Container}
134 */
135
136 /**
137 * Container panel.
138 *
139 * @type {Panel}
140 */
141
142 /**
143 * Controls placeholders.
144 *
145 * @type {{}}
146 */
147
148 /**
149 * Function constructor().
150 *
151 * Create container.
152 *
153 * @param {{}} args
154 *
155 * @throws {Error}
156 */
157 function Container(args) {
158 var _this;
159 (0, _classCallCheck2.default)(this, Container);
160 _this = _super.call(this, args);
161
162 // Validate args.
163 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", void 0);
164 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "id", void 0);
165 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "document", void 0);
166 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "model", void 0);
167 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "settings", void 0);
168 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "view", void 0);
169 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "parent", void 0);
170 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "children", new _childrenArray.default());
171 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dynamic", void 0);
172 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "globals", void 0);
173 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "label", void 0);
174 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "controls", {});
175 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "repeaters", {});
176 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderer", void 0);
177 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "panel", void 0);
178 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "placeholders", {});
179 _this.validateArgs(args);
180 args = Object.entries(args);
181
182 // If empty.
183 if (0 === args.length) {
184 throw Error('Container cannot be empty.');
185 }
186
187 // Set properties, if not defined - keep the defaults.
188 args.forEach(function (_ref) {
189 var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
190 key = _ref2[0],
191 value = _ref2[1];
192 _this[key] = 'undefined' === typeof value ? _this[key] : value;
193 });
194 if ('undefined' === typeof _this.renderer) {
195 _this.renderer = (0, _assertThisInitialized2.default)(_this);
196 }
197 if (!_this.document) {
198 _this.document = elementor.documents.getCurrent();
199 }
200 _this.dynamic = new Backbone.Model(_this.settings.get('__dynamic__'));
201 _this.globals = new Backbone.Model(_this.settings.get('__globals__'));
202 _this.panel = new _panel.default((0, _assertThisInitialized2.default)(_this));
203 _this.initialize();
204 return _this;
205 }
206 (0, _createClass2.default)(Container, [{
207 key: "initialize",
208 value: function initialize() {
209 if (this.isViewElement()) {
210 this.addToParent();
211 this.handleChildrenRecursive();
212 this.view.on('destroy', this.removeFromParent.bind(this));
213 }
214 this.handleRepeaterChildren();
215 }
216 }, {
217 key: "validateArgs",
218 value: function validateArgs(args) {
219 this.requireArgumentType('type', 'string', args);
220 this.requireArgumentType('id', 'string', args);
221 this.requireArgumentInstance('settings', Backbone.Model, args);
222 this.requireArgumentInstance('model', Backbone.Model, args);
223
224 // Require it, unless it's forced to be `false`.
225 if (false !== args.parent) {
226 this.requireArgumentInstance('parent', elementorModules.editor.Container, args);
227 }
228 }
229
230 /**
231 * Function getGroupRelatedControls().
232 *
233 * Example:
234 * Settings = { typography_typography: 'whatever', button_text_color: 'whatever' };
235 * Result { control_name: controlValue, ... - and so on };
236 * `Object.keys( Result ) = [ 'typography_typography', 'typography_font_family', 'typography_font_size', 'typography_font_size_tablet', 'typography_font_size_mobile', 'typography_font_weight', 'typography_text_transform', 'typography_font_style', 'typography_text_decoration', 'typography_line_height', 'typography_line_height_tablet', 'typography_line_height_mobile', 'typography_letter_spacing', 'typography_letter_spacing_tablet', 'typography_letter_spacing_mobile', 'button_text_color' ]`.
237 *
238 * @param {{}} settings
239 *
240 * @return {{}} result
241 */
242 }, {
243 key: "getGroupRelatedControls",
244 value: function getGroupRelatedControls(settings) {
245 var _this2 = this;
246 var result = {};
247 Object.keys(settings).forEach(function (settingKey) {
248 Object.values(_this2.controls).forEach(function (control) {
249 var _this2$controls$setti;
250 if (settingKey === control.name) {
251 result[control.name] = control;
252 } else if ((_this2$controls$setti = _this2.controls[settingKey]) !== null && _this2$controls$setti !== void 0 && _this2$controls$setti.groupPrefix) {
253 var groupPrefix = _this2.controls[settingKey].groupPrefix;
254 if (control.name.toString().startsWith(groupPrefix)) {
255 result[control.name] = control;
256 }
257 }
258 });
259 });
260 return result;
261 }
262
263 /**
264 * Function getAffectingControls().
265 *
266 * @return {{}} All controls that effecting the container.
267 */
268 }, {
269 key: "getAffectingControls",
270 value: function getAffectingControls() {
271 var _this3 = this;
272 var result = {},
273 activeControls = this.settings.getActiveControls();
274 Object.entries(activeControls).forEach(function (_ref3) {
275 var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
276 controlName = _ref4[0],
277 control = _ref4[1];
278 var controlValue = _this3.settings.get(control.name);
279 if (control.global && !(controlValue !== null && controlValue !== void 0 && controlValue.length)) {
280 var _this3$globals$get;
281 if ((_this3$globals$get = _this3.globals.get(control.name)) !== null && _this3$globals$get !== void 0 && _this3$globals$get.length || _this3.getGlobalDefault(controlName).length) {
282 control.global.utilized = true;
283 result[controlName] = control;
284 return;
285 }
286 }
287 if (control.dynamic) {
288 if (_this3.dynamic.get(controlName)) {
289 control.dynamic.utilized = true;
290 result[controlName] = control;
291 return;
292 }
293 }
294 if (controlValue === control.default) {
295 return;
296 }
297 if (!controlValue) {
298 return;
299 }
300 if ('object' === (0, _typeof2.default)(controlValue) && Object.values(controlValue).join() === Object.values(control.default).join()) {
301 return;
302 }
303 result[controlName] = control;
304 });
305 return result;
306 }
307
308 /**
309 * Function getParentAncestry().
310 *
311 * Recursively run over all parents from current container till the top
312 *
313 * @return {Array.<Container>} All parent as flat array.
314 */
315 }, {
316 key: "getParentAncestry",
317 value: function getParentAncestry() {
318 var result = [];
319 var parent = this;
320 while (parent) {
321 result.push(parent);
322 parent = parent.parent;
323 }
324 return result;
325 }
326 }, {
327 key: "handleChildrenRecursive",
328 value: function handleChildrenRecursive() {
329 var _this$view$children;
330 if ((_this$view$children = this.view.children) !== null && _this$view$children !== void 0 && _this$view$children.length) {
331 Object.values(this.view.children._views).forEach(function (view) {
332 if (!view.container) {
333 return;
334 }
335 var container = view.container;
336
337 // Since the way 'global-widget' rendered, it does not have parent sometimes.
338 if (container.parent.children) {
339 container.parent.children[view._index] = container;
340 }
341 container.handleChildrenRecursive();
342 });
343 } else {
344 this.children.clear();
345 }
346 }
347 }, {
348 key: "addToParent",
349 value: function addToParent() {
350 if (!this.parent.children || this.isRepeaterItem()) {
351 return;
352 }
353
354 // On create container tell the parent where it was created.
355 this.parent.children.splice(this.view._index, 0, this);
356 }
357 }, {
358 key: "removeFromParent",
359 value: function removeFromParent() {
360 var _this4 = this;
361 if (!this.parent.children || this.isRepeater()) {
362 return;
363 }
364
365 // When delete container its should notify its parent, that his children is dead.
366 this.parent.children = this.parent.children.filter(function (filtered) {
367 return filtered.id !== _this4.id;
368 });
369 }
370 }, {
371 key: "handleRepeaterChildren",
372 value: function handleRepeaterChildren() {
373 var _this5 = this;
374 Object.values(this.controls).forEach(function (control) {
375 if (!control.is_repeater) {
376 return;
377 }
378 var model = new Backbone.Model({
379 name: control.name
380 });
381 _this5.repeaters[control.name] = new elementorModules.editor.Container({
382 type: Container.TYPE_REPEATER,
383 id: control.name,
384 model: model,
385 settings: model,
386 view: _this5.view,
387 parent: _this5,
388 label: control.label || control.name,
389 controls: {},
390 renderer: _this5.renderer
391 });
392 _this5.settings.get(control.name).forEach(function (rowModel, index) {
393 _this5.addRepeaterItem(control.name, rowModel, index);
394 });
395 });
396
397 // Backwards Compatibility: if there is only one repeater (type=repeater), set it's children as current children.
398 // Since 3.0.0.
399 if (['widget', 'document'].includes(this.type)) {
400 var repeaters = Object.values(this.controls).filter(function (control) {
401 return 'repeater' === control.type;
402 });
403 if (!this.model.get('supportRepeaterChildren') && 1 === repeaters.length) {
404 Object.defineProperty(this, 'children', {
405 get: function get() {
406 elementorDevTools.deprecation.deprecated('children', '3.0.0', 'container.repeaters[ repeaterName ].children');
407 return this.repeaters[repeaters[0].name].children;
408 }
409 });
410 }
411 }
412 }
413
414 /**
415 * Function addRepeaterItem().
416 *
417 * The method add repeater item, find the repeater control by it name, and create new container for the item.
418 *
419 * @param {string} repeaterName
420 * @param {Backbone.Model} rowSettingsModel
421 * @param {number} index
422 *
423 * @return {Container} container
424 */
425 }, {
426 key: "addRepeaterItem",
427 value: function addRepeaterItem(repeaterName, rowSettingsModel, index) {
428 var rowId = rowSettingsModel.get('_id');
429
430 // TODO: Temp backwards compatibility. since 2.8.0.
431 if (!rowId) {
432 rowId = 'bc-' + elementorCommon.helpers.getUniqueId();
433 rowSettingsModel.set('_id', rowId);
434 }
435 this.repeaters[repeaterName].children.splice(index, 0, new elementorModules.editor.Container({
436 type: Container.TYPE_REPEATER_ITEM,
437 id: rowSettingsModel.get('_id'),
438 model: new Backbone.Model({
439 name: repeaterName
440 }),
441 settings: rowSettingsModel,
442 view: this.view,
443 parent: this.repeaters[repeaterName],
444 label: this.label + ' ' + __('Item', 'elementor'),
445 controls: rowSettingsModel.options.controls,
446 renderer: this.renderer
447 }));
448 return this.repeaters[repeaterName];
449 }
450
451 /**
452 * Function lookup().
453 *
454 * If the view were destroyed, try to find it again if it exists.
455 *
456 * TODO: Refactor.
457 *
458 * @return {Container} container
459 */
460 }, {
461 key: "lookup",
462 value: function lookup() {
463 var _this$renderer$view;
464 var result = this;
465 if (!this.renderer) {
466 return this;
467 }
468 if (this !== this.renderer && (_this$renderer$view = this.renderer.view) !== null && _this$renderer$view !== void 0 && _this$renderer$view.isDisconnected && this.renderer.view.isDisconnected()) {
469 this.renderer = this.renderer.lookup();
470 }
471 if (undefined === this.view || !this.view.lookup || !this.view.isDisconnected()) {
472 // Hack For repeater item the result is the parent container.
473 if (Container.TYPE_REPEATER_ITEM === this.type) {
474 this.settings = this.parent.parent.settings.get(this.model.get('name')).findWhere({
475 _id: this.id
476 });
477 }
478 return result;
479 }
480 var lookup = this.view.lookup();
481 if (lookup) {
482 result = lookup.getContainer();
483
484 // Hack For repeater item the result is the parent container.
485 if (Container.REPEATER === this.type) {
486 this.settings = result.settings.get(this.model.get('name')).findWhere({
487 _id: this.id
488 });
489 return this;
490 }
491
492 // If lookup were done, new container were created and parent does not know about it.
493 if (result.parent.children) {
494 result.parent.children[result.view._index] = result;
495 }
496 }
497 return result;
498 }
499 }, {
500 key: "findChildrenRecursive",
501 value: function findChildrenRecursive(callback) {
502 elementorDevTools.deprecation.deprecated('container.findChildrenRecursive( callback )', '3.5.0', 'container.children.findRecursive( callback )');
503 return this.children.findRecursive(callback);
504 }
505 }, {
506 key: "forEachChildrenRecursive",
507 value: function forEachChildrenRecursive(callback) {
508 elementorDevTools.deprecation.deprecated('container.forEachChildrenRecursive( callback )', '3.5.0', 'container.children.forEachRecursive( callback )');
509 return this.children.forEachRecursive(callback);
510 }
511
512 /**
513 * Function render().
514 *
515 * Call view render.
516 *
517 * Run's `this.renderer.view.renderOnChange( this.settings ) `.
518 * When `this.renderer` exist.
519 *
520 */
521 }, {
522 key: "render",
523 value: function render() {
524 if (!this.renderer) {
525 return;
526 }
527 this.renderer.view.renderOnChange(this.settings);
528 }
529 }, {
530 key: "renderUI",
531 value: function renderUI() {
532 if (!this.renderer) {
533 return;
534 }
535 this.renderer.view.renderUI();
536 }
537 }, {
538 key: "isEditable",
539 value: function isEditable() {
540 return 'edit' === elementor.channels.dataEditMode.request('activeMode') && 'open' === this.document.editor.status;
541 }
542 }, {
543 key: "isDesignable",
544 value: function isDesignable() {
545 return elementor.userCan('design') && this.isEditable();
546 }
547
548 /**
549 * @return {boolean}
550 */
551 }, {
552 key: "isLocked",
553 value: function isLocked() {
554 return this.model.get('isLocked');
555 }
556 }, {
557 key: "isRepeater",
558 value: function isRepeater() {
559 return Container.TYPE_REPEATER === this.type;
560 }
561 }, {
562 key: "isRepeaterItem",
563 value: function isRepeaterItem() {
564 return Container.TYPE_REPEATER_ITEM === this.type;
565 }
566 }, {
567 key: "isViewElement",
568 value: function isViewElement() {
569 return this.view && this.model.get('elType');
570 }
571 }, {
572 key: "getSetting",
573 value: function getSetting(name) {
574 var localOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
575 var localValue = this.settings.get(name);
576 if (localOnly) {
577 return localValue;
578 }
579
580 // Try to get the value in the order: Global, Local, Global default.
581 var globalValue;
582 if (this.getGlobalKey(name)) {
583 globalValue = this.getGlobalValue(name);
584 }
585 return globalValue || localValue || this.getGlobalDefault(name);
586 }
587 }, {
588 key: "getGlobalKey",
589 value: function getGlobalKey(name) {
590 return this.globals.get(name);
591 }
592 }, {
593 key: "getGlobalValue",
594 value: function getGlobalValue(name) {
595 var control = this.controls[name],
596 globalKey = this.getGlobalKey(name),
597 globalArgs = $e.data.commandExtractArgs(globalKey),
598 data = $e.data.getCache($e.components.get('globals'), globalArgs.command, globalArgs.args.query);
599 if (!(data !== null && data !== void 0 && data.value)) {
600 return;
601 }
602 var id = data.id;
603 var value;
604
605 // It's a global settings with additional controls in group.
606 if (control.groupType) {
607 // A regex containing all of the active breakpoints' prefixes ('_mobile', '_tablet' etc.).
608 var responsivePrefixRegex = elementor.breakpoints.getActiveMatchRegex();
609 var propertyName = control.name.replace(control.groupPrefix, '').replace(responsivePrefixRegex, '');
610 if (!data.value[elementor.config.kit_config.typography_prefix + propertyName]) {
611 return;
612 }
613 propertyName = propertyName.replace('_', '-');
614 value = "var( --e-global-".concat(control.groupType, "-").concat(id, "-").concat(propertyName, " )");
615 if (elementor.config.ui.defaultGenericFonts && control.groupPrefix + 'font_family' === control.name) {
616 value += ", ".concat(elementor.config.ui.defaultGenericFonts);
617 }
618 } else {
619 value = "var( --e-global-".concat(control.type, "-").concat(id, " )");
620 }
621 return value;
622 }
623
624 /**
625 * Determine if a control's global value is applied.
626 * It actually checks if the local value is different than the global value.
627 *
628 * @param {string} controlName - Control name
629 * @return {boolean} true if a control's global value is applied
630 */
631 }, {
632 key: "isGlobalApplied",
633 value: function isGlobalApplied(controlName) {
634 return this.getSetting(controlName) !== this.settings.get(controlName);
635 }
636 }, {
637 key: "getGlobalDefault",
638 value: function getGlobalDefault(controlName) {
639 var _this$controls$contro;
640 var controlGlobalArgs = (_this$controls$contro = this.controls[controlName]) === null || _this$controls$contro === void 0 ? void 0 : _this$controls$contro.global;
641 if (controlGlobalArgs !== null && controlGlobalArgs !== void 0 && controlGlobalArgs.default) {
642 // Temp fix.
643 var controlType = this.controls[controlName].type;
644 if ('color' === controlType) {
645 controlType = 'colors';
646 }
647 // End temp fix
648
649 // If the control is a color/typography control and default colors/typography are disabled, don't return the global value.
650 if (!elementor.config.globals.defaults_enabled[controlType]) {
651 return '';
652 }
653 var _$e$data$commandExtra = $e.data.commandExtractArgs(controlGlobalArgs.default),
654 command = _$e$data$commandExtra.command,
655 args = _$e$data$commandExtra.args,
656 result = $e.data.getCache($e.components.get('globals'), command, args.query);
657 return result === null || result === void 0 ? void 0 : result.value;
658 }
659
660 // No global default.
661 return '';
662 }
663 }]);
664 return Container;
665 }(_argsObject.default);
666 exports["default"] = Container;
667 (0, _defineProperty2.default)(Container, "TYPE_REPEATER", 'repeater-control');
668 (0, _defineProperty2.default)(Container, "TYPE_REPEATER_ITEM", 'repeater');
669
670 /***/ }),
671
672 /***/ "../assets/dev/js/editor/container/model/children-array.js":
673 /*!*****************************************************************!*\
674 !*** ../assets/dev/js/editor/container/model/children-array.js ***!
675 \*****************************************************************/
676 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
677
678 "use strict";
679
680
681 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
682 Object.defineProperty(exports, "__esModule", ({
683 value: true
684 }));
685 exports["default"] = void 0;
686 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
687 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
688 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
689 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
690 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
691 var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.js"));
692 function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
693 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
694 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
695 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); }; }
696 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; } }
697 /**
698 * @typedef {import('../container')} Container
699 */
700 var ChildrenArray = /*#__PURE__*/function (_Array) {
701 (0, _inherits2.default)(ChildrenArray, _Array);
702 var _super = _createSuper(ChildrenArray);
703 function ChildrenArray() {
704 (0, _classCallCheck2.default)(this, ChildrenArray);
705 return _super.apply(this, arguments);
706 }
707 (0, _createClass2.default)(ChildrenArray, [{
708 key: "clear",
709 value: function clear() {
710 this.length = 0;
711 }
712
713 /**
714 * Function findRecursive().
715 *
716 * Will run over children recursively and pass the children to the callback till the callback returns positive value.
717 *
718 * @param {function(Container) : *} callback
719 *
720 * @return {Container|false} child
721 */
722 }, {
723 key: "findRecursive",
724 value: function findRecursive(callback) {
725 var _iterator = _createForOfIteratorHelper(this),
726 _step;
727 try {
728 for (_iterator.s(); !(_step = _iterator.n()).done;) {
729 var container = _step.value;
730 if (callback(container)) {
731 return container;
732 }
733 if (container.children.length) {
734 var foundChildren = container.children.findRecursive(callback);
735 if (foundChildren) {
736 return foundChildren;
737 }
738 }
739 }
740 } catch (err) {
741 _iterator.e(err);
742 } finally {
743 _iterator.f();
744 }
745 return false;
746 }
747
748 /**
749 * Function forEachRecursive().
750 *
751 * Will run over children recursively.
752 *
753 * @param {function(Container) : *} callback
754 *
755 * @return {void}
756 */
757 }, {
758 key: "forEachRecursive",
759 value: function forEachRecursive(callback) {
760 var _iterator2 = _createForOfIteratorHelper(this),
761 _step2;
762 try {
763 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
764 var container = _step2.value;
765 callback(container);
766 if (container.children.length) {
767 container.children.forEachRecursive(callback);
768 }
769 }
770 } catch (err) {
771 _iterator2.e(err);
772 } finally {
773 _iterator2.f();
774 }
775 }
776
777 /**
778 * Function someRecursive().
779 *
780 * Will run over children recursively, breaks if the callback return true.
781 *
782 * @param {function(Container) : *} callback
783 *
784 */
785 }, {
786 key: "someRecursive",
787 value: function someRecursive(callback) {
788 var _iterator3 = _createForOfIteratorHelper(this),
789 _step3;
790 try {
791 for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
792 var _container$children;
793 var container = _step3.value;
794 if (callback(container)) {
795 return true;
796 }
797 if ((_container$children = container.children) !== null && _container$children !== void 0 && _container$children.length) {
798 if (container.children.someRecursive(callback)) {
799 return true;
800 }
801 }
802 }
803 } catch (err) {
804 _iterator3.e(err);
805 } finally {
806 _iterator3.f();
807 }
808 return false;
809 }
810 }]);
811 return ChildrenArray;
812 }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Array));
813 exports["default"] = ChildrenArray;
814
815 /***/ }),
816
817 /***/ "../assets/dev/js/editor/container/panel.js":
818 /*!**************************************************!*\
819 !*** ../assets/dev/js/editor/container/panel.js ***!
820 \**************************************************/
821 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
822
823 "use strict";
824
825
826 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
827 Object.defineProperty(exports, "__esModule", ({
828 value: true
829 }));
830 exports["default"] = void 0;
831 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
832 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
833 /**
834 * @typedef {import('./container')} Container
835 */
836 var Panel = /*#__PURE__*/function () {
837 /**
838 * Function constructor().
839 *
840 * Create constructor panel.
841 *
842 * @param {Container} container
843 */
844 function Panel(container) {
845 (0, _classCallCheck2.default)(this, Panel);
846 this.container = container;
847 }
848
849 /**
850 * Function refresh().
851 *
852 * Refresh the panel.
853 */
854 (0, _createClass2.default)(Panel, [{
855 key: "refresh",
856 value: function refresh() {
857 if ($e.routes.isPartOf('panel/editor')) {
858 $e.routes.refreshContainer('panel');
859 }
860 }
861
862 /**
863 * Function closeEditor().
864 *
865 * Route to `panel/elements/categories`
866 */
867 }, {
868 key: "closeEditor",
869 value: function closeEditor() {
870 $e.route('panel/elements/categories');
871 }
872 }, {
873 key: "getControlView",
874 value: function getControlView(name) {
875 var editor = elementor.getPanelView().getCurrentPageView();
876 return editor.children.findByModelCid(this.getControlModel(name).cid);
877 }
878 }, {
879 key: "getControlModel",
880 value: function getControlModel(name) {
881 var editor = elementor.getPanelView().getCurrentPageView();
882 return editor.collection.findWhere({
883 name: name
884 });
885 }
886 }]);
887 return Panel;
888 }();
889 exports["default"] = Panel;
890
891 /***/ }),
892
893 /***/ "../assets/dev/js/editor/elements/models/base-settings.js":
894 /*!****************************************************************!*\
895 !*** ../assets/dev/js/editor/elements/models/base-settings.js ***!
896 \****************************************************************/
897 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
898
899 "use strict";
900
901
902 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
903 var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
904 var BaseSettingsModel;
905
906 /**
907 * @name BaseSettingsModel
908 */
909 BaseSettingsModel = Backbone.Model.extend({
910 options: {},
911 initialize: function initialize(data, options) {
912 var self = this;
913
914 // Keep the options for cloning
915 self.options = options;
916 self.controls = elementor.mergeControlsSettings(options.controls);
917 self.validators = {};
918 if (!self.controls) {
919 return;
920 }
921 var attrs = data || {},
922 defaults = {};
923 _.each(self.controls, function (control) {
924 // Check features since they does not exist in tests.
925 var isUIControl = control.features && -1 !== control.features.indexOf('ui');
926 if (isUIControl) {
927 return;
928 }
929 var controlName = control.name;
930 if ('object' === (0, _typeof2.default)(control.default)) {
931 defaults[controlName] = elementorCommon.helpers.cloneObject(control.default);
932 } else {
933 defaults[controlName] = control.default;
934 }
935 var isDynamicControl = control.dynamic && control.dynamic.active,
936 hasDynamicSettings = isDynamicControl && attrs.__dynamic__ && attrs.__dynamic__[controlName];
937 if (isDynamicControl && !hasDynamicSettings && control.dynamic.default) {
938 if (!attrs.__dynamic__) {
939 attrs.__dynamic__ = {};
940 }
941 attrs.__dynamic__[controlName] = control.dynamic.default;
942 hasDynamicSettings = true;
943 }
944
945 // Check if the value is a plain object ( and not an array )
946 var isMultipleControl = jQuery.isPlainObject(control.default);
947 if (undefined !== attrs[controlName] && isMultipleControl && !_.isObject(attrs[controlName]) && !hasDynamicSettings) {
948 elementorCommon.debug.addCustomError(new TypeError('An invalid argument supplied as multiple control value'), 'InvalidElementData', 'Element `' + (self.get('widgetType') || self.get('elType')) + '` got <' + attrs[controlName] + '> as `' + controlName + '` value. Expected array or object.');
949 delete attrs[controlName];
950 }
951 if (undefined === attrs[controlName]) {
952 attrs[controlName] = defaults[controlName];
953 }
954 });
955 self.defaults = defaults;
956 self.handleRepeaterData(attrs);
957 self.set(attrs);
958 },
959 convertRepeaterValueToCollection: function convertRepeaterValueToCollection(attrs, repeaterControl) {
960 return new Backbone.Collection(attrs[repeaterControl.name], {
961 model: function model(attributes, options) {
962 options = options || {};
963 options.controls = {};
964 Object.values(repeaterControl.fields).forEach(function (item) {
965 options.controls[item.name] = item;
966 });
967
968 // TODO: Cannot be deleted, since it handle repeater items after repeater widget creation.
969 if (!attributes._id) {
970 attributes._id = elementorCommon.helpers.getUniqueId();
971 }
972 return new BaseSettingsModel(attributes, options);
973 }
974 });
975 },
976 handleRepeaterData: function handleRepeaterData(attrs) {
977 var self = this;
978 _.each(this.controls, function (field) {
979 if (field.is_repeater) {
980 // TODO: Apply defaults on each field in repeater fields
981 if (!(attrs[field.name] instanceof Backbone.Collection)) {
982 attrs[field.name] = self.convertRepeaterValueToCollection(attrs, field);
983 }
984 }
985 });
986 },
987 getFontControls: function getFontControls() {
988 return this.getControlsByType('font');
989 },
990 getIconsControls: function getIconsControls() {
991 return this.getControlsByType('icons');
992 },
993 getControlsByType: function getControlsByType(type) {
994 return _.filter(this.getActiveControls(), function (control) {
995 return type === control.type;
996 });
997 },
998 getStyleControls: function getStyleControls(controls, attributes) {
999 var self = this;
1000 controls = elementorCommon.helpers.cloneObject(self.getActiveControls(controls, attributes));
1001 var styleControls = [];
1002 jQuery.each(controls, function () {
1003 var _control$dynamic;
1004 var control = this,
1005 controlDefaultSettings = elementor.config.controls[control.type];
1006 control = jQuery.extend({}, controlDefaultSettings, control);
1007 if (control.fields) {
1008 var styleFields = [];
1009 if (!(self.attributes[control.name] instanceof Backbone.Collection)) {
1010 self.attributes[control.name] = self.convertRepeaterValueToCollection(self.attributes, control);
1011 }
1012 self.attributes[control.name].each(function (item) {
1013 styleFields.push(self.getStyleControls(control.fields, item.attributes));
1014 });
1015 control.styleFields = styleFields;
1016 }
1017 if (control.fields || (_control$dynamic = control.dynamic) !== null && _control$dynamic !== void 0 && _control$dynamic.active || self.isGlobalControl(control, controls) || self.isStyleControl(control.name, controls)) {
1018 styleControls.push(control);
1019 }
1020 });
1021 return styleControls;
1022 },
1023 isGlobalControl: function isGlobalControl(control, controls) {
1024 var _globalControl$global, _this$attributes$__gl;
1025 var controlGlobalKey = control.name;
1026 if (control.groupType) {
1027 controlGlobalKey = control.groupPrefix + control.groupType;
1028 }
1029 var globalControl = controls[controlGlobalKey];
1030 if (!((_globalControl$global = globalControl.global) !== null && _globalControl$global !== void 0 && _globalControl$global.active)) {
1031 return false;
1032 }
1033 var globalValue = (_this$attributes$__gl = this.attributes.__globals__) === null || _this$attributes$__gl === void 0 ? void 0 : _this$attributes$__gl[controlGlobalKey];
1034 return !!globalValue;
1035 },
1036 isStyleControl: function isStyleControl(attribute, controls) {
1037 controls = controls || this.controls;
1038 var currentControl = _.find(controls, function (control) {
1039 return attribute === control.name;
1040 });
1041 return currentControl && !_.isEmpty(currentControl.selectors);
1042 },
1043 getClassControls: function getClassControls(controls) {
1044 controls = controls || this.controls;
1045 return _.filter(controls, function (control) {
1046 return !_.isUndefined(control.prefix_class);
1047 });
1048 },
1049 isClassControl: function isClassControl(attribute) {
1050 var currentControl = _.find(this.controls, function (control) {
1051 return attribute === control.name;
1052 });
1053 return currentControl && !_.isUndefined(currentControl.prefix_class);
1054 },
1055 getControl: function getControl(id) {
1056 return _.find(this.controls, function (control) {
1057 return id === control.name;
1058 });
1059 },
1060 getActiveControls: function getActiveControls(controls, attributes) {
1061 var activeControls = {};
1062 if (!controls) {
1063 controls = this.controls;
1064 }
1065 if (!attributes) {
1066 attributes = this.attributes;
1067 }
1068 attributes = this.parseGlobalSettings(attributes, controls);
1069 jQuery.each(controls, function (controlKey, control) {
1070 if (elementor.helpers.isActiveControl(control, attributes, controls)) {
1071 activeControls[controlKey] = control;
1072 }
1073 });
1074 return activeControls;
1075 },
1076 clone: function clone() {
1077 return new BaseSettingsModel(elementorCommon.helpers.cloneObject(this.attributes), elementorCommon.helpers.cloneObject(this.options));
1078 },
1079 setExternalChange: function setExternalChange(key, value) {
1080 var self = this,
1081 settingsToChange;
1082 if ('object' === (0, _typeof2.default)(key)) {
1083 settingsToChange = key;
1084 } else {
1085 settingsToChange = {};
1086 settingsToChange[key] = value;
1087 }
1088 self.set(settingsToChange);
1089 jQuery.each(settingsToChange, function (changedKey, changedValue) {
1090 self.trigger('change:external:' + changedKey, changedValue);
1091 });
1092 },
1093 parseDynamicSettings: function parseDynamicSettings(settings, options, controls) {
1094 var self = this;
1095 settings = elementorCommon.helpers.cloneObject(settings || self.attributes);
1096 options = options || {};
1097 controls = controls || this.controls;
1098 jQuery.each(controls, function () {
1099 var control = this,
1100 valueToParse;
1101 if (control.is_repeater) {
1102 valueToParse = settings[control.name];
1103 valueToParse.forEach(function (value, key) {
1104 valueToParse[key] = self.parseDynamicSettings(value, options, control.fields);
1105 });
1106 return;
1107 }
1108 valueToParse = settings.__dynamic__ && settings.__dynamic__[control.name];
1109 if (!valueToParse) {
1110 return;
1111 }
1112 var dynamicSettings = control.dynamic;
1113 if (undefined === dynamicSettings) {
1114 dynamicSettings = elementor.config.controls[control.type].dynamic;
1115 }
1116 if (!dynamicSettings || !dynamicSettings.active) {
1117 return;
1118 }
1119 var dynamicValue;
1120 try {
1121 dynamicValue = elementor.dynamicTags.parseTagsText(valueToParse, dynamicSettings, elementor.dynamicTags.getTagDataContent);
1122 } catch (error) {
1123 if (elementor.dynamicTags.CACHE_KEY_NOT_FOUND_ERROR !== error.message) {
1124 throw error;
1125 }
1126 dynamicValue = '';
1127 if (options.onServerRequestStart) {
1128 options.onServerRequestStart();
1129 }
1130 elementor.dynamicTags.refreshCacheFromServer(function () {
1131 if (options.onServerRequestEnd) {
1132 options.onServerRequestEnd();
1133 }
1134 });
1135 }
1136 if (dynamicSettings.property) {
1137 settings[control.name][dynamicSettings.property] = dynamicValue;
1138 } else {
1139 settings[control.name] = dynamicValue;
1140 }
1141 });
1142 return settings;
1143 },
1144 parseGlobalSettings: function parseGlobalSettings(settings, controls) {
1145 var _this = this;
1146 settings = elementorCommon.helpers.cloneObject(settings);
1147 controls = controls || this.controls;
1148 jQuery.each(controls, function (index, control) {
1149 var _settings$__globals__, _globalSettings;
1150 var valueToParse;
1151 if (control.is_repeater) {
1152 valueToParse = settings[control.name];
1153 valueToParse.forEach(function (value, key) {
1154 valueToParse[key] = _this.parseGlobalSettings(value, control.fields);
1155 });
1156 return;
1157 }
1158 valueToParse = (_settings$__globals__ = settings.__globals__) === null || _settings$__globals__ === void 0 ? void 0 : _settings$__globals__[control.name];
1159 if (!valueToParse) {
1160 return;
1161 }
1162 var globalSettings = control.global;
1163 if (undefined === globalSettings) {
1164 globalSettings = elementor.config.controls[control.type].global;
1165 }
1166 if (!((_globalSettings = globalSettings) !== null && _globalSettings !== void 0 && _globalSettings.active)) {
1167 return;
1168 }
1169 var _$e$data$commandExtra = $e.data.commandExtractArgs(valueToParse),
1170 command = _$e$data$commandExtra.command,
1171 args = _$e$data$commandExtra.args,
1172 globalValue = $e.data.getCache($e.components.get('globals'), command, args.query);
1173 if (control.groupType) {
1174 settings[control.name] = 'custom';
1175 } else {
1176 settings[control.name] = globalValue;
1177 }
1178 });
1179 return settings;
1180 },
1181 removeDataDefaults: function removeDataDefaults(data, controls) {
1182 var _this2 = this;
1183 jQuery.each(data, function (key) {
1184 var control = controls[key];
1185 if (!control) {
1186 return;
1187 }
1188
1189 // TODO: use `save_default` in text|textarea controls.
1190 if (control.save_default || ('text' === control.type || 'textarea' === control.type) && data[key]) {
1191 return;
1192 }
1193 if (control.is_repeater) {
1194 data[key].forEach(function (repeaterRow) {
1195 _this2.removeDataDefaults(repeaterRow, control.fields);
1196 });
1197 return;
1198 }
1199 if (_.isEqual(data[key], control.default)) {
1200 delete data[key];
1201 }
1202 });
1203 },
1204 toJSON: function toJSON(options) {
1205 var data = Backbone.Model.prototype.toJSON.call(this);
1206 options = options || {};
1207 delete data.widgetType;
1208 delete data.elType;
1209 delete data.isInner;
1210 _.each(data, function (attribute, key) {
1211 if (attribute && attribute.toJSON) {
1212 data[key] = attribute.toJSON();
1213 }
1214 });
1215 if (options.remove && -1 !== options.remove.indexOf('default')) {
1216 this.removeDataDefaults(data, this.controls);
1217 }
1218 return elementorCommon.helpers.cloneObject(data);
1219 }
1220 });
1221
1222 /**
1223 * @name BaseSettingsModel
1224 */
1225 module.exports = BaseSettingsModel;
1226
1227 /***/ }),
1228
1229 /***/ "../assets/dev/js/editor/elements/views/behaviors/inner-tabs.js":
1230 /*!**********************************************************************!*\
1231 !*** ../assets/dev/js/editor/elements/views/behaviors/inner-tabs.js ***!
1232 \**********************************************************************/
1233 /***/ ((module) => {
1234
1235 "use strict";
1236
1237
1238 var InnerTabsBehavior;
1239 InnerTabsBehavior = Marionette.Behavior.extend({
1240 onRenderCollection: function onRenderCollection() {
1241 this.handleInnerTabs(this.view);
1242 },
1243 handleInnerTabs: function handleInnerTabs(parent) {
1244 var closedClass = 'elementor-tab-close',
1245 activeClass = 'elementor-tab-active',
1246 tabsWrappers = parent.children.filter(function (view) {
1247 return 'tabs' === view.model.get('type');
1248 });
1249 _.each(tabsWrappers, function (view) {
1250 view.$el.find('.elementor-control-content').remove();
1251 var tabsId = view.model.get('name'),
1252 tabs = parent.children.filter(function (childView) {
1253 return 'tab' === childView.model.get('type') && childView.model.get('tabs_wrapper') === tabsId;
1254 });
1255 _.each(tabs, function (childView, index) {
1256 view._addChildView(childView);
1257 var tabId = childView.model.get('name'),
1258 controlsUnderTab = parent.children.filter(function (controlView) {
1259 return tabId === controlView.model.get('inner_tab');
1260 });
1261 if (0 === index) {
1262 childView.$el.addClass(activeClass);
1263 } else {
1264 _.each(controlsUnderTab, function (controlView) {
1265 controlView.$el.addClass(closedClass);
1266 });
1267 }
1268 });
1269 });
1270 },
1271 onChildviewControlTabClicked: function onChildviewControlTabClicked(childView) {
1272 var closedClass = 'elementor-tab-close',
1273 activeClass = 'elementor-tab-active',
1274 tabClicked = childView.model.get('name'),
1275 childrenUnderTab = this.view.children.filter(function (view) {
1276 return 'tab' !== view.model.get('type') && childView.model.get('tabs_wrapper') === view.model.get('tabs_wrapper');
1277 }),
1278 siblingTabs = this.view.children.filter(function (view) {
1279 return 'tab' === view.model.get('type') && childView.model.get('tabs_wrapper') === view.model.get('tabs_wrapper');
1280 });
1281 _.each(siblingTabs, function (view) {
1282 view.$el.removeClass(activeClass);
1283 });
1284 childView.$el.addClass(activeClass);
1285 _.each(childrenUnderTab, function (view) {
1286 if (view.model.get('inner_tab') === tabClicked) {
1287 view.$el.removeClass(closedClass);
1288 } else {
1289 view.$el.addClass(closedClass);
1290 }
1291 });
1292 elementor.getPanelView().updateScrollbar();
1293 }
1294 });
1295 module.exports = InnerTabsBehavior;
1296
1297 /***/ }),
1298
1299 /***/ "../assets/dev/js/editor/utils/introduction.js":
1300 /*!*****************************************************!*\
1301 !*** ../assets/dev/js/editor/utils/introduction.js ***!
1302 \*****************************************************/
1303 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1304
1305 "use strict";
1306
1307
1308 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1309 Object.defineProperty(exports, "__esModule", ({
1310 value: true
1311 }));
1312 exports["default"] = void 0;
1313 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1314 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1315 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1316 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1317 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1318 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); }; }
1319 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; } }
1320 var _default = /*#__PURE__*/function (_elementorModules$Mod) {
1321 (0, _inherits2.default)(_default, _elementorModules$Mod);
1322 var _super = _createSuper(_default);
1323 function _default() {
1324 var _this;
1325 (0, _classCallCheck2.default)(this, _default);
1326 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1327 args[_key] = arguments[_key];
1328 }
1329 _this = _super.call.apply(_super, [this].concat(args));
1330 _this.initDialog();
1331 return _this;
1332 }
1333 (0, _createClass2.default)(_default, [{
1334 key: "getDefaultSettings",
1335 value: function getDefaultSettings() {
1336 return {
1337 dialogType: 'buttons',
1338 dialogOptions: {
1339 effects: {
1340 hide: 'hide',
1341 show: 'show'
1342 },
1343 hide: {
1344 onBackgroundClick: false
1345 }
1346 }
1347 };
1348 }
1349 }, {
1350 key: "initDialog",
1351 value: function initDialog() {
1352 var _this2 = this;
1353 var dialog;
1354 this.getDialog = function () {
1355 if (!dialog) {
1356 var settings = _this2.getSettings();
1357 dialog = elementorCommon.dialogsManager.createWidget(settings.dialogType, settings.dialogOptions);
1358 if (settings.onDialogInitCallback) {
1359 settings.onDialogInitCallback.call(_this2, dialog);
1360 }
1361 }
1362 return dialog;
1363 };
1364 }
1365 }, {
1366 key: "show",
1367 value: function show(target) {
1368 if (this.introductionViewed) {
1369 return;
1370 }
1371 var dialog = this.getDialog();
1372 if (target) {
1373 dialog.setSettings('position', {
1374 of: target
1375 });
1376 }
1377 dialog.show();
1378 }
1379 }, {
1380 key: "setViewed",
1381 value: function setViewed() {
1382 this.introductionViewed = true;
1383 elementorCommon.ajax.addRequest('introduction_viewed', {
1384 data: {
1385 introductionKey: this.getSettings('introductionKey')
1386 }
1387 });
1388 }
1389 }]);
1390 return _default;
1391 }(elementorModules.Module);
1392 exports["default"] = _default;
1393
1394 /***/ }),
1395
1396 /***/ "../assets/dev/js/editor/utils/is-instanceof.js":
1397 /*!******************************************************!*\
1398 !*** ../assets/dev/js/editor/utils/is-instanceof.js ***!
1399 \******************************************************/
1400 /***/ ((__unused_webpack_module, exports) => {
1401
1402 "use strict";
1403
1404
1405 Object.defineProperty(exports, "__esModule", ({
1406 value: true
1407 }));
1408 exports["default"] = void 0;
1409 function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
1410 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1411 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1412 /**
1413 * Some FileAPI objects such as FileList, DataTransferItem and DataTransferItemList has inconsistency with the retrieved
1414 * object (from events, etc.) and the actual JavaScript object so a regular instanceof doesn't work. This function can
1415 * check whether it's instanceof by using the objects constructor and prototype names.
1416 *
1417 * @param object
1418 * @param constructors
1419 * @return {boolean}
1420 */
1421 var _default = function _default(object, constructors) {
1422 constructors = Array.isArray(constructors) ? constructors : [constructors];
1423 var _iterator = _createForOfIteratorHelper(constructors),
1424 _step;
1425 try {
1426 for (_iterator.s(); !(_step = _iterator.n()).done;) {
1427 var _constructor = _step.value;
1428 if (object.constructor.name === _constructor.prototype[Symbol.toStringTag]) {
1429 return true;
1430 }
1431 }
1432 } catch (err) {
1433 _iterator.e(err);
1434 } finally {
1435 _iterator.f();
1436 }
1437 return false;
1438 };
1439 exports["default"] = _default;
1440
1441 /***/ }),
1442
1443 /***/ "../assets/dev/js/editor/utils/module.js":
1444 /*!***********************************************!*\
1445 !*** ../assets/dev/js/editor/utils/module.js ***!
1446 \***********************************************/
1447 /***/ ((module) => {
1448
1449 "use strict";
1450
1451
1452 var EditorModule = elementorModules.Module.extend({
1453 onInit: function onInit() {
1454 var _this = this;
1455 var $window = jQuery(window);
1456 $window.on('elementor:init-components', this.onElementorInitComponents.bind(this));
1457 $window.on('elementor:loaded', function () {
1458 _this.onElementorLoaded();
1459 elementor.on('document:loaded', _this.onDocumentLoaded.bind(_this));
1460 });
1461 $window.on('elementor:init', this.onElementorReady);
1462 },
1463 // TODO: Delete as soon as possible.
1464 getEditorControlView: function getEditorControlView(name) {
1465 var editor = elementor.getPanelView().getCurrentPageView();
1466 return editor.children.findByModelCid(this.getEditorControlModel(name).cid);
1467 },
1468 // TODO: Delete as soon as possible.
1469 getEditorControlModel: function getEditorControlModel(name) {
1470 var editor = elementor.getPanelView().getCurrentPageView();
1471 return editor.collection.findWhere({
1472 name: name
1473 });
1474 },
1475 onElementorReady: function onElementorReady() {
1476 this.onElementorInit();
1477 elementor.on('frontend:init', this.onElementorFrontendInit.bind(this)).on('preview:loaded', this.onElementorPreviewLoaded.bind(this));
1478 }
1479 });
1480 EditorModule.prototype.onElementorLoaded = function () {};
1481 EditorModule.prototype.onElementorInit = function () {};
1482 EditorModule.prototype.onElementorPreviewLoaded = function () {};
1483 EditorModule.prototype.onDocumentLoaded = function () {};
1484 EditorModule.prototype.onElementorFrontendInit = function () {};
1485 EditorModule.prototype.onElementorInitComponents = function () {};
1486 module.exports = EditorModule;
1487
1488 /***/ }),
1489
1490 /***/ "../assets/dev/js/editor/views/controls-popover.js":
1491 /*!*********************************************************!*\
1492 !*** ../assets/dev/js/editor/views/controls-popover.js ***!
1493 \*********************************************************/
1494 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1495
1496 "use strict";
1497 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1498
1499
1500 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1501 Object.defineProperty(exports, "__esModule", ({
1502 value: true
1503 }));
1504 exports["default"] = void 0;
1505 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1506 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1507 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1508 var ControlsPopover = /*#__PURE__*/function () {
1509 function ControlsPopover(child) {
1510 (0, _classCallCheck2.default)(this, ControlsPopover);
1511 this.child = child;
1512 this.$popover = jQuery('<div>', {
1513 class: 'elementor-controls-popover'
1514 });
1515 child.$el.before(this.$popover);
1516 this.$popover.append(child.$el);
1517 this.popoverToggleView = child._parent.children.findByIndex(child._index - 1);
1518
1519 // Add the "Typography" header to the popover
1520 if ('typography' === this.child.model.attributes.groupType) {
1521 this.createPopoverHeader();
1522 }
1523 }
1524 (0, _createClass2.default)(ControlsPopover, [{
1525 key: "addChild",
1526 value: function addChild(child) {
1527 this.$popover.append(child.$el);
1528 }
1529 }, {
1530 key: "createPopoverHeader",
1531 value: function createPopoverHeader() {
1532 var _this = this;
1533 var $popoverToggleControl = this.$popover.prev(),
1534 // Get the existing reset button.
1535 $resetLabel = $popoverToggleControl.find('.elementor-control-popover-toggle-reset-label');
1536 this.$popoverHeader = jQuery('<div>', {
1537 class: 'e-group-control-header'
1538 }).html('<span>' + __('Typography', 'elementor') + '</span>');
1539 this.$headerControlsWrapper = jQuery('<div>', {
1540 class: 'e-control-tools'
1541 });
1542
1543 // Give the reset button the control tool styling, and add a click event so clicking on it closes the popover.
1544 $resetLabel.addClass('e-control-tool').on('click', function () {
1545 return _this.onResetButtonClick();
1546 });
1547
1548 // Move the popover toggle reset button into the popover header.
1549 this.$headerControlsWrapper.append($resetLabel);
1550 this.$popoverHeader.append(this.$headerControlsWrapper);
1551 var globalConfig = this.popoverToggleView.model.get('global');
1552 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.active) {
1553 this.createAddButton();
1554 }
1555 this.$popover.prepend(this.$popoverHeader).addClass('e-controls-popover--typography');
1556 }
1557 }, {
1558 key: "onResetButtonClick",
1559 value: function onResetButtonClick() {
1560 this.$popover.hide();
1561 var groupControlName = this.child.model.get('groupPrefix') + 'typography',
1562 args = {
1563 container: this.child.options.container,
1564 settings: (0, _defineProperty2.default)({}, groupControlName, '')
1565 };
1566 if (this.child.options.container.globals.get(groupControlName)) {
1567 // The Disable Globals command applies global settings locally,
1568 // so disabling the global shouldn't actually change the appearance of the widget.
1569 $e.run('document/globals/disable', args);
1570 } else {
1571 $e.run('document/elements/settings', args);
1572 }
1573 }
1574 }, {
1575 key: "onAddButtonClick",
1576 value: function onAddButtonClick() {
1577 this.popoverToggleView.onAddGlobalButtonClick();
1578 }
1579 }, {
1580 key: "createAddButton",
1581 value: function createAddButton() {
1582 var _this2 = this;
1583 this.$addButton = jQuery('<button>', {
1584 class: 'e-control-tool'
1585 }).html(jQuery('<i>', {
1586 class: 'eicon-plus'
1587 }));
1588 this.$headerControlsWrapper.append(this.$addButton);
1589 this.$addButton.on('click', function () {
1590 return _this2.onAddButtonClick();
1591 });
1592 this.$addButton.tipsy({
1593 title: function title() {
1594 return __('Create New Global Font', 'elementor');
1595 },
1596 gravity: function gravity() {
1597 return 's';
1598 }
1599 });
1600 }
1601 }, {
1602 key: "destroy",
1603 value: function destroy() {
1604 this.$popover.remove();
1605 }
1606 }]);
1607 return ControlsPopover;
1608 }();
1609 exports["default"] = ControlsPopover;
1610
1611 /***/ }),
1612
1613 /***/ "../assets/dev/js/editor/views/controls-stack.js":
1614 /*!*******************************************************!*\
1615 !*** ../assets/dev/js/editor/views/controls-stack.js ***!
1616 \*******************************************************/
1617 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1618
1619 "use strict";
1620
1621
1622 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1623 Object.defineProperty(exports, "__esModule", ({
1624 value: true
1625 }));
1626 exports["default"] = void 0;
1627 var _controlsPopover = _interopRequireDefault(__webpack_require__(/*! ./controls-popover */ "../assets/dev/js/editor/views/controls-popover.js"));
1628 var ControlsStack;
1629 ControlsStack = Marionette.CompositeView.extend({
1630 classes: {
1631 popover: 'elementor-controls-popover'
1632 },
1633 activeTab: null,
1634 activeSection: null,
1635 className: function className() {
1636 return 'elementor-controls-stack';
1637 },
1638 templateHelpers: function templateHelpers() {
1639 return {
1640 elementData: elementor.getElementData(this.model)
1641 };
1642 },
1643 childViewOptions: function childViewOptions() {
1644 return {
1645 // TODO: elementSettingsModel is deprecated since 2.8.0.
1646 elementSettingsModel: this.model
1647 };
1648 },
1649 ui: function ui() {
1650 return {
1651 tabs: '.elementor-panel-navigation-tab',
1652 reloadButton: '.elementor-update-preview-button'
1653 };
1654 },
1655 events: function events() {
1656 return {
1657 'click @ui.reloadButton': 'onReloadButtonClick'
1658 };
1659 },
1660 modelEvents: {
1661 destroy: 'onModelDestroy'
1662 },
1663 behaviors: {
1664 HandleInnerTabs: {
1665 behaviorClass: __webpack_require__(/*! elementor-behaviors/inner-tabs */ "../assets/dev/js/editor/elements/views/behaviors/inner-tabs.js")
1666 }
1667 },
1668 initialize: function initialize(options) {
1669 this.initCollection();
1670 if (options.tab) {
1671 this.activeTab = options.tab;
1672 this.activateFirstSection();
1673 }
1674 this.listenTo(elementor.channels.deviceMode, 'change', this.onDeviceModeChange);
1675 },
1676 initCollection: function initCollection() {
1677 this.collection = new Backbone.Collection(_.values(elementor.mergeControlsSettings(this.getOption('controls'))));
1678 },
1679 filter: function filter(controlModel) {
1680 if (controlModel.get('tab') !== this.activeTab) {
1681 return false;
1682 }
1683 if ('section' === controlModel.get('type')) {
1684 return true;
1685 }
1686 var section = controlModel.get('section');
1687 return !section || section === this.activeSection;
1688 },
1689 getControlViewByModel: function getControlViewByModel(model) {
1690 return this.children.findByModelCid(model.cid);
1691 },
1692 getControlViewByName: function getControlViewByName(name) {
1693 return this.getControlViewByModel(this.getControlModel(name));
1694 },
1695 getControlModel: function getControlModel(name) {
1696 return this.collection.findWhere({
1697 name: name
1698 });
1699 },
1700 isVisibleSectionControl: function isVisibleSectionControl(sectionControlModel) {
1701 return this.activeTab === sectionControlModel.get('tab');
1702 },
1703 activateTab: function activateTab(tab) {
1704 this.activeTab = tab;
1705 this.activateFirstSection();
1706 this._renderChildren();
1707 return this;
1708 },
1709 activateSection: function activateSection(sectionName) {
1710 this.activeSection = sectionName;
1711 return this;
1712 },
1713 activateFirstSection: function activateFirstSection() {
1714 var self = this;
1715 var sectionControls = self.collection.filter(function (controlModel) {
1716 return 'section' === controlModel.get('type') && self.isVisibleSectionControl(controlModel);
1717 });
1718 var sectionToActivate;
1719 if (!sectionControls[0]) {
1720 self.activeSection = null;
1721 sectionToActivate = null;
1722 } else {
1723 sectionToActivate = sectionControls[0].get('name');
1724 }
1725 var preActivatedSection = sectionControls.filter(function (controlModel) {
1726 return self.activeSection === controlModel.get('name');
1727 });
1728 if (preActivatedSection[0]) {
1729 return;
1730 }
1731 self.activateSection(sectionToActivate);
1732 return this;
1733 },
1734 getChildView: function getChildView(item) {
1735 var controlType = item.get('type');
1736 return elementor.getControlView(controlType);
1737 },
1738 getNamespaceArray: function getNamespaceArray() {
1739 return [elementor.getPanelView().getCurrentPageName()];
1740 },
1741 openActiveSection: function openActiveSection() {
1742 var activeSection = this.activeSection,
1743 activeSectionView = this.children.filter(function (view) {
1744 return activeSection === view.model.get('name');
1745 });
1746 if (activeSectionView[0]) {
1747 activeSectionView[0].$el.addClass('elementor-open');
1748 var eventNamespace = this.getNamespaceArray();
1749 eventNamespace.push(activeSection, 'activated');
1750 elementor.channels.editor.trigger(eventNamespace.join(':'), this);
1751 }
1752 },
1753 onRenderCollection: function onRenderCollection() {
1754 this.openActiveSection();
1755 ControlsStack.handlePopovers(this);
1756 },
1757 onModelDestroy: function onModelDestroy() {
1758 this.destroy();
1759 },
1760 onReloadButtonClick: function onReloadButtonClick() {
1761 elementor.reloadPreview();
1762 },
1763 onDeviceModeChange: function onDeviceModeChange() {
1764 if ('desktop' === elementor.channels.deviceMode.request('currentMode')) {
1765 this.$el.removeClass('elementor-responsive-switchers-open');
1766 }
1767 },
1768 onChildviewControlSectionClicked: function onChildviewControlSectionClicked(childView) {
1769 var isSectionOpen = childView.$el.hasClass('elementor-open');
1770 this.activateSection(isSectionOpen ? null : childView.model.get('name'));
1771 this._renderChildren();
1772 },
1773 onChildviewResponsiveSwitcherClick: function onChildviewResponsiveSwitcherClick(childView, device) {
1774 if ('desktop' === device) {
1775 this.$el.toggleClass('elementor-responsive-switchers-open');
1776 }
1777 }
1778 }, {
1779 handlePopovers: function handlePopovers(view) {
1780 var popover;
1781 view.popovers = [];
1782 this.removePopovers(view);
1783 view.children.each(function (control) {
1784 if (popover) {
1785 popover.addChild(control);
1786 }
1787 var popoverData = control.model.get('popover');
1788 if (!popoverData) {
1789 return;
1790 }
1791 if (popoverData.start) {
1792 popover = new _controlsPopover.default(control);
1793 view.popovers.push(popover);
1794 }
1795 if (popoverData.end) {
1796 popover = null;
1797 }
1798 });
1799 },
1800 removePopovers: function removePopovers(view) {
1801 view.popovers.forEach(function (popover) {
1802 return popover.destroy();
1803 });
1804 }
1805 });
1806 var _default = ControlsStack;
1807 exports["default"] = _default;
1808
1809 /***/ }),
1810
1811 /***/ "../assets/dev/js/modules/imports/args-object.js":
1812 /*!*******************************************************!*\
1813 !*** ../assets/dev/js/modules/imports/args-object.js ***!
1814 \*******************************************************/
1815 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1816
1817 "use strict";
1818
1819
1820 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1821 Object.defineProperty(exports, "__esModule", ({
1822 value: true
1823 }));
1824 exports["default"] = void 0;
1825 var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
1826 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1827 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1828 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
1829 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
1830 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1831 var _instanceType = _interopRequireDefault(__webpack_require__(/*! ./instance-type */ "../assets/dev/js/modules/imports/instance-type.js"));
1832 var _isInstanceof = _interopRequireDefault(__webpack_require__(/*! ../../editor/utils/is-instanceof */ "../assets/dev/js/editor/utils/is-instanceof.js"));
1833 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); }; }
1834 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; } }
1835 var ArgsObject = /*#__PURE__*/function (_InstanceType) {
1836 (0, _inherits2.default)(ArgsObject, _InstanceType);
1837 var _super = _createSuper(ArgsObject);
1838 /**
1839 * Function constructor().
1840 *
1841 * Create ArgsObject.
1842 *
1843 * @param {{}} args
1844 */
1845 function ArgsObject(args) {
1846 var _this;
1847 (0, _classCallCheck2.default)(this, ArgsObject);
1848 _this = _super.call(this);
1849 _this.args = args;
1850 return _this;
1851 }
1852
1853 /**
1854 * Function requireArgument().
1855 *
1856 * Validate property in args.
1857 *
1858 * @param {string} property
1859 * @param {{}} args
1860 *
1861 * @throws {Error}
1862 *
1863 */
1864 (0, _createClass2.default)(ArgsObject, [{
1865 key: "requireArgument",
1866 value: function requireArgument(property) {
1867 var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.args;
1868 if (!Object.prototype.hasOwnProperty.call(args, property)) {
1869 throw Error("".concat(property, " is required."));
1870 }
1871 }
1872
1873 /**
1874 * Function requireArgumentType().
1875 *
1876 * Validate property in args using `type === typeof(args.whatever)`.
1877 *
1878 * @param {string} property
1879 * @param {string} type
1880 * @param {{}} args
1881 *
1882 * @throws {Error}
1883 *
1884 */
1885 }, {
1886 key: "requireArgumentType",
1887 value: function requireArgumentType(property, type) {
1888 var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
1889 this.requireArgument(property, args);
1890 if ((0, _typeof2.default)(args[property]) !== type) {
1891 throw Error("".concat(property, " invalid type: ").concat(type, "."));
1892 }
1893 }
1894
1895 /**
1896 * Function requireArgumentInstance().
1897 *
1898 * Validate property in args using `args.whatever instanceof instance`.
1899 *
1900 * @param {string} property
1901 * @param {*} instance
1902 * @param {{}} args
1903 *
1904 * @throws {Error}
1905 *
1906 */
1907 }, {
1908 key: "requireArgumentInstance",
1909 value: function requireArgumentInstance(property, instance) {
1910 var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
1911 this.requireArgument(property, args);
1912 if (!(args[property] instanceof instance) && !(0, _isInstanceof.default)(args[property], instance)) {
1913 throw Error("".concat(property, " invalid instance."));
1914 }
1915 }
1916
1917 /**
1918 * Function requireArgumentConstructor().
1919 *
1920 * Validate property in args using `type === args.whatever.constructor`.
1921 *
1922 * @param {string} property
1923 * @param {*} type
1924 * @param {{}} args
1925 *
1926 * @throws {Error}
1927 *
1928 */
1929 }, {
1930 key: "requireArgumentConstructor",
1931 value: function requireArgumentConstructor(property, type) {
1932 var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args;
1933 this.requireArgument(property, args);
1934
1935 // Note: Converting the constructor to string in order to avoid equation issues
1936 // due to different memory addresses between iframes (window.Object !== window.top.Object).
1937 if (args[property].constructor.toString() !== type.prototype.constructor.toString()) {
1938 throw Error("".concat(property, " invalid constructor type."));
1939 }
1940 }
1941 }], [{
1942 key: "getInstanceType",
1943 value: function getInstanceType() {
1944 return 'ArgsObject';
1945 }
1946 }]);
1947 return ArgsObject;
1948 }(_instanceType.default);
1949 exports["default"] = ArgsObject;
1950
1951 /***/ }),
1952
1953 /***/ "../assets/dev/js/modules/imports/instance-type.js":
1954 /*!*********************************************************!*\
1955 !*** ../assets/dev/js/modules/imports/instance-type.js ***!
1956 \*********************************************************/
1957 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1958
1959 "use strict";
1960
1961
1962 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1963 Object.defineProperty(exports, "__esModule", ({
1964 value: true
1965 }));
1966 exports["default"] = void 0;
1967 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
1968 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
1969 var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
1970 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
1971 var InstanceType = /*#__PURE__*/function (_Symbol$hasInstance) {
1972 function InstanceType() {
1973 var _this = this;
1974 (0, _classCallCheck2.default)(this, InstanceType);
1975 // Since anonymous classes sometimes do not get validated by babel, do it manually.
1976 var target = this instanceof InstanceType ? this.constructor : void 0;
1977 var prototypes = [];
1978 while (target.__proto__ && target.__proto__.name) {
1979 prototypes.push(target.__proto__);
1980 target = target.__proto__;
1981 }
1982 prototypes.reverse().forEach(function (proto) {
1983 return _this instanceof proto;
1984 });
1985 }
1986 (0, _createClass2.default)(InstanceType, null, [{
1987 key: _Symbol$hasInstance,
1988 value: function value(target) {
1989 /**
1990 * This is function extending being called each time JS uses instanceOf, since babel use it each time it create new class
1991 * its give's opportunity to mange capabilities of instanceOf operator.
1992 * saving current class each time will give option later to handle instanceOf manually.
1993 */
1994 var result = (0, _get2.default)((0, _getPrototypeOf2.default)(InstanceType), Symbol.hasInstance, this).call(this, target);
1995
1996 // Act normal when validate a class, which does not have instance type.
1997 if (target && !target.constructor.getInstanceType) {
1998 return result;
1999 }
2000 if (target) {
2001 if (!target.instanceTypes) {
2002 target.instanceTypes = [];
2003 }
2004 if (!result) {
2005 if (this.getInstanceType() === target.constructor.getInstanceType()) {
2006 result = true;
2007 }
2008 }
2009 if (result) {
2010 var name = this.getInstanceType === InstanceType.getInstanceType ? 'BaseInstanceType' : this.getInstanceType();
2011 if (-1 === target.instanceTypes.indexOf(name)) {
2012 target.instanceTypes.push(name);
2013 }
2014 }
2015 }
2016 if (!result && target) {
2017 // Check if the given 'target', is instance of known types.
2018 result = target.instanceTypes && Array.isArray(target.instanceTypes) && -1 !== target.instanceTypes.indexOf(this.getInstanceType());
2019 }
2020 return result;
2021 }
2022 }, {
2023 key: "getInstanceType",
2024 value: function getInstanceType() {
2025 elementorModules.ForceMethodImplementation();
2026 }
2027 }]);
2028 return InstanceType;
2029 }(Symbol.hasInstance);
2030 exports["default"] = InstanceType;
2031
2032 /***/ }),
2033
2034 /***/ "@wordpress/i18n":
2035 /*!**************************!*\
2036 !*** external "wp.i18n" ***!
2037 \**************************/
2038 /***/ ((module) => {
2039
2040 "use strict";
2041 module.exports = wp.i18n;
2042
2043 /***/ }),
2044
2045 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
2046 /*!******************************************************************!*\
2047 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
2048 \******************************************************************/
2049 /***/ ((module) => {
2050
2051 function _arrayLikeToArray(arr, len) {
2052 if (len == null || len > arr.length) len = arr.length;
2053 for (var i = 0, arr2 = new Array(len); i < len; i++) {
2054 arr2[i] = arr[i];
2055 }
2056 return arr2;
2057 }
2058 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
2059
2060 /***/ }),
2061
2062 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
2063 /*!****************************************************************!*\
2064 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
2065 \****************************************************************/
2066 /***/ ((module) => {
2067
2068 function _arrayWithHoles(arr) {
2069 if (Array.isArray(arr)) return arr;
2070 }
2071 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
2072
2073 /***/ }),
2074
2075 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
2076 /*!***********************************************************************!*\
2077 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
2078 \***********************************************************************/
2079 /***/ ((module) => {
2080
2081 function _assertThisInitialized(self) {
2082 if (self === void 0) {
2083 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2084 }
2085 return self;
2086 }
2087 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
2088
2089 /***/ }),
2090
2091 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
2092 /*!****************************************************************!*\
2093 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
2094 \****************************************************************/
2095 /***/ ((module) => {
2096
2097 function _classCallCheck(instance, Constructor) {
2098 if (!(instance instanceof Constructor)) {
2099 throw new TypeError("Cannot call a class as a function");
2100 }
2101 }
2102 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
2103
2104 /***/ }),
2105
2106 /***/ "../node_modules/@babel/runtime/helpers/construct.js":
2107 /*!***********************************************************!*\
2108 !*** ../node_modules/@babel/runtime/helpers/construct.js ***!
2109 \***********************************************************/
2110 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2111
2112 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
2113 var isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js");
2114 function _construct(Parent, args, Class) {
2115 if (isNativeReflectConstruct()) {
2116 module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
2117 } else {
2118 module.exports = _construct = function _construct(Parent, args, Class) {
2119 var a = [null];
2120 a.push.apply(a, args);
2121 var Constructor = Function.bind.apply(Parent, a);
2122 var instance = new Constructor();
2123 if (Class) setPrototypeOf(instance, Class.prototype);
2124 return instance;
2125 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
2126 }
2127 return _construct.apply(null, arguments);
2128 }
2129 module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;
2130
2131 /***/ }),
2132
2133 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
2134 /*!*************************************************************!*\
2135 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
2136 \*************************************************************/
2137 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2138
2139 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
2140 function _defineProperties(target, props) {
2141 for (var i = 0; i < props.length; i++) {
2142 var descriptor = props[i];
2143 descriptor.enumerable = descriptor.enumerable || false;
2144 descriptor.configurable = true;
2145 if ("value" in descriptor) descriptor.writable = true;
2146 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
2147 }
2148 }
2149 function _createClass(Constructor, protoProps, staticProps) {
2150 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
2151 if (staticProps) _defineProperties(Constructor, staticProps);
2152 Object.defineProperty(Constructor, "prototype", {
2153 writable: false
2154 });
2155 return Constructor;
2156 }
2157 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
2158
2159 /***/ }),
2160
2161 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
2162 /*!****************************************************************!*\
2163 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
2164 \****************************************************************/
2165 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2166
2167 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
2168 function _defineProperty(obj, key, value) {
2169 key = toPropertyKey(key);
2170 if (key in obj) {
2171 Object.defineProperty(obj, key, {
2172 value: value,
2173 enumerable: true,
2174 configurable: true,
2175 writable: true
2176 });
2177 } else {
2178 obj[key] = value;
2179 }
2180 return obj;
2181 }
2182 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
2183
2184 /***/ }),
2185
2186 /***/ "../node_modules/@babel/runtime/helpers/get.js":
2187 /*!*****************************************************!*\
2188 !*** ../node_modules/@babel/runtime/helpers/get.js ***!
2189 \*****************************************************/
2190 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2191
2192 var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js");
2193 function _get() {
2194 if (typeof Reflect !== "undefined" && Reflect.get) {
2195 module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
2196 } else {
2197 module.exports = _get = function _get(target, property, receiver) {
2198 var base = superPropBase(target, property);
2199 if (!base) return;
2200 var desc = Object.getOwnPropertyDescriptor(base, property);
2201 if (desc.get) {
2202 return desc.get.call(arguments.length < 3 ? target : receiver);
2203 }
2204 return desc.value;
2205 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
2206 }
2207 return _get.apply(this, arguments);
2208 }
2209 module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
2210
2211 /***/ }),
2212
2213 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
2214 /*!****************************************************************!*\
2215 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
2216 \****************************************************************/
2217 /***/ ((module) => {
2218
2219 function _getPrototypeOf(o) {
2220 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
2221 return o.__proto__ || Object.getPrototypeOf(o);
2222 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
2223 return _getPrototypeOf(o);
2224 }
2225 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
2226
2227 /***/ }),
2228
2229 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
2230 /*!**********************************************************!*\
2231 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
2232 \**********************************************************/
2233 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2234
2235 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
2236 function _inherits(subClass, superClass) {
2237 if (typeof superClass !== "function" && superClass !== null) {
2238 throw new TypeError("Super expression must either be null or a function");
2239 }
2240 subClass.prototype = Object.create(superClass && superClass.prototype, {
2241 constructor: {
2242 value: subClass,
2243 writable: true,
2244 configurable: true
2245 }
2246 });
2247 Object.defineProperty(subClass, "prototype", {
2248 writable: false
2249 });
2250 if (superClass) setPrototypeOf(subClass, superClass);
2251 }
2252 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
2253
2254 /***/ }),
2255
2256 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
2257 /*!***********************************************************************!*\
2258 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
2259 \***********************************************************************/
2260 /***/ ((module) => {
2261
2262 function _interopRequireDefault(obj) {
2263 return obj && obj.__esModule ? obj : {
2264 "default": obj
2265 };
2266 }
2267 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
2268
2269 /***/ }),
2270
2271 /***/ "../node_modules/@babel/runtime/helpers/isNativeFunction.js":
2272 /*!******************************************************************!*\
2273 !*** ../node_modules/@babel/runtime/helpers/isNativeFunction.js ***!
2274 \******************************************************************/
2275 /***/ ((module) => {
2276
2277 function _isNativeFunction(fn) {
2278 return Function.toString.call(fn).indexOf("[native code]") !== -1;
2279 }
2280 module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports;
2281
2282 /***/ }),
2283
2284 /***/ "../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js":
2285 /*!**************************************************************************!*\
2286 !*** ../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***!
2287 \**************************************************************************/
2288 /***/ ((module) => {
2289
2290 function _isNativeReflectConstruct() {
2291 if (typeof Reflect === "undefined" || !Reflect.construct) return false;
2292 if (Reflect.construct.sham) return false;
2293 if (typeof Proxy === "function") return true;
2294 try {
2295 Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
2296 return true;
2297 } catch (e) {
2298 return false;
2299 }
2300 }
2301 module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports;
2302
2303 /***/ }),
2304
2305 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
2306 /*!**********************************************************************!*\
2307 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
2308 \**********************************************************************/
2309 /***/ ((module) => {
2310
2311 function _iterableToArrayLimit(arr, i) {
2312 var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
2313 if (null != _i) {
2314 var _s,
2315 _e,
2316 _x,
2317 _r,
2318 _arr = [],
2319 _n = !0,
2320 _d = !1;
2321 try {
2322 if (_x = (_i = _i.call(arr)).next, 0 === i) {
2323 if (Object(_i) !== _i) return;
2324 _n = !1;
2325 } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {
2326 ;
2327 }
2328 } catch (err) {
2329 _d = !0, _e = err;
2330 } finally {
2331 try {
2332 if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
2333 } finally {
2334 if (_d) throw _e;
2335 }
2336 }
2337 return _arr;
2338 }
2339 }
2340 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
2341
2342 /***/ }),
2343
2344 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
2345 /*!*****************************************************************!*\
2346 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
2347 \*****************************************************************/
2348 /***/ ((module) => {
2349
2350 function _nonIterableRest() {
2351 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2352 }
2353 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
2354
2355 /***/ }),
2356
2357 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
2358 /*!***************************************************************************!*\
2359 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
2360 \***************************************************************************/
2361 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2362
2363 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
2364 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
2365 function _possibleConstructorReturn(self, call) {
2366 if (call && (_typeof(call) === "object" || typeof call === "function")) {
2367 return call;
2368 } else if (call !== void 0) {
2369 throw new TypeError("Derived constructors may only return object or undefined");
2370 }
2371 return assertThisInitialized(self);
2372 }
2373 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
2374
2375 /***/ }),
2376
2377 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
2378 /*!****************************************************************!*\
2379 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
2380 \****************************************************************/
2381 /***/ ((module) => {
2382
2383 function _setPrototypeOf(o, p) {
2384 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
2385 o.__proto__ = p;
2386 return o;
2387 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
2388 return _setPrototypeOf(o, p);
2389 }
2390 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
2391
2392 /***/ }),
2393
2394 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
2395 /*!***************************************************************!*\
2396 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
2397 \***************************************************************/
2398 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2399
2400 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
2401 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
2402 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
2403 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
2404 function _slicedToArray(arr, i) {
2405 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
2406 }
2407 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
2408
2409 /***/ }),
2410
2411 /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js":
2412 /*!***************************************************************!*\
2413 !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***!
2414 \***************************************************************/
2415 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2416
2417 var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js");
2418 function _superPropBase(object, property) {
2419 while (!Object.prototype.hasOwnProperty.call(object, property)) {
2420 object = getPrototypeOf(object);
2421 if (object === null) break;
2422 }
2423 return object;
2424 }
2425 module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
2426
2427 /***/ }),
2428
2429 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
2430 /*!*************************************************************!*\
2431 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
2432 \*************************************************************/
2433 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2434
2435 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
2436 function _toPrimitive(input, hint) {
2437 if (_typeof(input) !== "object" || input === null) return input;
2438 var prim = input[Symbol.toPrimitive];
2439 if (prim !== undefined) {
2440 var res = prim.call(input, hint || "default");
2441 if (_typeof(res) !== "object") return res;
2442 throw new TypeError("@@toPrimitive must return a primitive value.");
2443 }
2444 return (hint === "string" ? String : Number)(input);
2445 }
2446 module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
2447
2448 /***/ }),
2449
2450 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
2451 /*!***************************************************************!*\
2452 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
2453 \***************************************************************/
2454 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2455
2456 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
2457 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
2458 function _toPropertyKey(arg) {
2459 var key = toPrimitive(arg, "string");
2460 return _typeof(key) === "symbol" ? key : String(key);
2461 }
2462 module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
2463
2464 /***/ }),
2465
2466 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
2467 /*!********************************************************!*\
2468 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
2469 \********************************************************/
2470 /***/ ((module) => {
2471
2472 function _typeof(obj) {
2473 "@babel/helpers - typeof";
2474
2475 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
2476 return typeof obj;
2477 } : function (obj) {
2478 return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
2479 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
2480 }
2481 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
2482
2483 /***/ }),
2484
2485 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
2486 /*!****************************************************************************!*\
2487 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
2488 \****************************************************************************/
2489 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2490
2491 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
2492 function _unsupportedIterableToArray(o, minLen) {
2493 if (!o) return;
2494 if (typeof o === "string") return arrayLikeToArray(o, minLen);
2495 var n = Object.prototype.toString.call(o).slice(8, -1);
2496 if (n === "Object" && o.constructor) n = o.constructor.name;
2497 if (n === "Map" || n === "Set") return Array.from(o);
2498 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
2499 }
2500 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
2501
2502 /***/ }),
2503
2504 /***/ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.js":
2505 /*!*****************************************************************!*\
2506 !*** ../node_modules/@babel/runtime/helpers/wrapNativeSuper.js ***!
2507 \*****************************************************************/
2508 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2509
2510 var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js");
2511 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
2512 var isNativeFunction = __webpack_require__(/*! ./isNativeFunction.js */ "../node_modules/@babel/runtime/helpers/isNativeFunction.js");
2513 var construct = __webpack_require__(/*! ./construct.js */ "../node_modules/@babel/runtime/helpers/construct.js");
2514 function _wrapNativeSuper(Class) {
2515 var _cache = typeof Map === "function" ? new Map() : undefined;
2516 module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {
2517 if (Class === null || !isNativeFunction(Class)) return Class;
2518 if (typeof Class !== "function") {
2519 throw new TypeError("Super expression must either be null or a function");
2520 }
2521 if (typeof _cache !== "undefined") {
2522 if (_cache.has(Class)) return _cache.get(Class);
2523 _cache.set(Class, Wrapper);
2524 }
2525 function Wrapper() {
2526 return construct(Class, arguments, getPrototypeOf(this).constructor);
2527 }
2528 Wrapper.prototype = Object.create(Class.prototype, {
2529 constructor: {
2530 value: Wrapper,
2531 enumerable: false,
2532 writable: true,
2533 configurable: true
2534 }
2535 });
2536 return setPrototypeOf(Wrapper, Class);
2537 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
2538 return _wrapNativeSuper(Class);
2539 }
2540 module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports;
2541
2542 /***/ })
2543
2544 /******/ });
2545 /************************************************************************/
2546 /******/ // The module cache
2547 /******/ var __webpack_module_cache__ = {};
2548 /******/
2549 /******/ // The require function
2550 /******/ function __webpack_require__(moduleId) {
2551 /******/ // Check if module is in cache
2552 /******/ var cachedModule = __webpack_module_cache__[moduleId];
2553 /******/ if (cachedModule !== undefined) {
2554 /******/ return cachedModule.exports;
2555 /******/ }
2556 /******/ // Create a new module (and put it into the cache)
2557 /******/ var module = __webpack_module_cache__[moduleId] = {
2558 /******/ // no module.id needed
2559 /******/ // no module.loaded needed
2560 /******/ exports: {}
2561 /******/ };
2562 /******/
2563 /******/ // Execute the module function
2564 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
2565 /******/
2566 /******/ // Return the exports of the module
2567 /******/ return module.exports;
2568 /******/ }
2569 /******/
2570 /************************************************************************/
2571 var __webpack_exports__ = {};
2572 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
2573 (() => {
2574 "use strict";
2575 /*!******************************************!*\
2576 !*** ../assets/dev/js/editor/modules.js ***!
2577 \******************************************/
2578
2579
2580 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2581 var _module = _interopRequireDefault(__webpack_require__(/*! ./utils/module */ "../assets/dev/js/editor/utils/module.js"));
2582 var _introduction = _interopRequireDefault(__webpack_require__(/*! ./utils/introduction */ "../assets/dev/js/editor/utils/introduction.js"));
2583 var _controlsStack = _interopRequireDefault(__webpack_require__(/*! ./views/controls-stack */ "../assets/dev/js/editor/views/controls-stack.js"));
2584 var _baseSettings = _interopRequireDefault(__webpack_require__(/*! ./elements/models/base-settings */ "../assets/dev/js/editor/elements/models/base-settings.js"));
2585 var _container = _interopRequireDefault(__webpack_require__(/*! ./container/container */ "../assets/dev/js/editor/container/container.js"));
2586 elementorModules.editor = {
2587 elements: {
2588 models: {
2589 BaseSettings: _baseSettings.default
2590 }
2591 },
2592 utils: {
2593 Module: _module.default,
2594 Introduction: _introduction.default
2595 },
2596 views: {
2597 ControlsStack: _controlsStack.default
2598 },
2599 Container: _container.default
2600 };
2601 })();
2602
2603 /******/ })()
2604 ;
2605 //# sourceMappingURL=editor-modules.js.map