PluginProbe
Elementor Website Builder – more than just a page builder / 3.13.2
Elementor Website Builder – more than just a page builder v3.13.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.13.2, at assets/js/editor-modules.js

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