# elementor/4.3.0-beta3/assets/js/editor.js

Elementor Website Builder – more than just a page builder, version 4.3.0-beta3. 54,519 lines.

- Page: https://pluginprobe.com/plugins/elementor/4.3.0-beta3/code/assets/js/editor.js
- Raw: https://pluginprobe.com/plugins/elementor/4.3.0-beta3/raw/assets/js/editor.js
- Modified: 2026-09-17T09:04:38+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/elementor/4.3.0-beta3/code/assets/js/editor.js#L10-L20`.

```javascript
(function(_wordpress_i18n, _reduxjs_toolkit, react, react_dom) {

//#region \0rolldown/runtime.js
	var __create = Object.create;
	var __defProp = Object.defineProperty;
	var __name = (target, value) => __defProp(target, "name", {
		value,
		configurable: true
	});
	var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
	var __getOwnPropNames = Object.getOwnPropertyNames;
	var __getProtoOf = Object.getPrototypeOf;
	var __hasOwnProp = Object.prototype.hasOwnProperty;
	var __esmMin = (fn, res, err) => () => {
		if (err) throw err[0];
		try {
			return fn && (res = fn(fn = 0)), res;
		} catch (e) {
			throw err = [e], e;
		}
	};
	var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
	var __exportAll = (all, no_symbols) => {
		let target = {};
		for (var name in all) {
			__defProp(target, name, {
				get: all[name],
				enumerable: true
			});
		}
		if (!no_symbols) {
			__defProp(target, Symbol.toStringTag, { value: "Module" });
		}
		return target;
	};
	var __copyProps = (to, from, except, desc) => {
		if (from && typeof from === "object" || typeof from === "function") {
			for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
				key = keys[i];
				if (!__hasOwnProp.call(to, key) && key !== except) {
					__defProp(to, key, {
						get: ((k) => from[k]).bind(null, key),
						enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
					});
				}
			}
		}
		return to;
	};
	var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
		value: mod,
		enumerable: true
	}) : target, mod));
	var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);

//#endregion
react = __toESM(react);
react_dom = __toESM(react_dom);

//#region assets/dev/js/editor/utils/jquery-serialize-object.js
	(function($) {
		$.fn.elementorSerializeObject = function() {
			var serializedArray = this.serializeArray();
			var data = {};
			var _parseObject = function parseObject(dataContainer, key, value) {
				var isArrayKey = /^[^\[\]]+\[]/.test(key);
				var isObjectKey = /^[^\[\]]+\[[^\[\]]+]/.test(key);
				var keyName = key.replace(/\[.*/, "");
				if (isArrayKey) {
					if (!dataContainer[keyName]) dataContainer[keyName] = [];
				} else {
					if (!isObjectKey) {
						if (dataContainer.push) dataContainer.push(value);
						else dataContainer[keyName] = value;
						return;
					}
					if (!dataContainer[keyName]) dataContainer[keyName] = {};
				}
				var nextKeys = key.match(/\[[^\[\]]*]/g);
				nextKeys[0] = nextKeys[0].replace(/\[|]/g, "");
				return _parseObject(dataContainer[keyName], nextKeys.join(""), value);
			};
			$.each(serializedArray, function() {
				_parseObject(data, this.name, this.value);
			});
			return data;
		};
	})(jQuery);

//#endregion
//#region assets/dev/js/editor/utils/jquery-html5-dnd.js
/**
	* HTML5 - Drag and Drop
	*
	* @param {jQuery} $
	*/
	(function($) {
		var hasFullDataTransferSupport = function hasFullDataTransferSupport(event) {
			try {
				event.originalEvent.dataTransfer.setData("test", "test");
				event.originalEvent.dataTransfer.clearData("test");
				return true;
			} catch (e) {
				return false;
			}
		};
		$.each({
			html5Draggable: function Draggable(userSettings) {
				var self = this;
				var settings = {};
				var elementsCache = {};
				var defaultSettings = {
					element: "",
					groups: null,
					onDragStart: null,
					onDragEnd: null
				};
				var initSettings = function initSettings() {
					$.extend(true, settings, defaultSettings, userSettings);
				};
				var initElementsCache = function initElementsCache() {
					elementsCache.$element = $(settings.element);
				};
				var buildElements = function buildElements() {
					elementsCache.$element.attr("draggable", true);
				};
				var onDragEnd = function onDragEnd(event) {
					if ("function" === typeof settings.onDragEnd) settings.onDragEnd.call(elementsCache.$element, event, self);
				};
				var onDragStart = function onDragStart(event) {
					var dataContainer = { groups: settings.groups || [] };
					if (hasFullDataTransferSupport(event)) event.originalEvent.dataTransfer.setData(JSON.stringify(dataContainer), true);
					if ("function" === typeof settings.onDragStart) settings.onDragStart.call(elementsCache.$element, event, self);
				};
				var attachEvents = function attachEvents() {
					elementsCache.$element.on("dragstart", onDragStart).on("dragend", onDragEnd);
				};
				var init = function init() {
					initSettings();
					initElementsCache();
					buildElements();
					attachEvents();
				};
				this.destroy = function() {
					elementsCache.$element.off("dragstart", onDragStart);
					elementsCache.$element.removeAttr("draggable");
				};
				init();
			},
			html5Droppable: function Droppable(userSettings) {
				var self = this;
				var settings = {};
				var elementsCache = {};
				var currentElement;
				var currentSide;
				var isDroppingAllowedState = false;
				var originalCurrentElementOpacity = null;
				var placeholderContext = {};
				var defaultSettings = {
					element: "",
					items: ">",
					horizontalThreshold: 0,
					horizontalSensitivity: "10%",
					axis: ["vertical", "horizontal"],
					placeholder: true,
					currentElementClass: "html5dnd-current-element",
					placeholderClass: "html5dnd-placeholder",
					hasDraggingOnChildClass: "html5dnd-has-dragging-on-child",
					groups: null,
					isDroppingAllowed: null,
					onDragEnter: null,
					onDragging: null,
					onDropping: null,
					onDragLeave: null
				};
				var initSettings = function initSettings() {
					$.extend(settings, defaultSettings, userSettings);
				};
				var initElementsCache = function initElementsCache() {
					elementsCache.$element = $(settings.element);
					elementsCache.$placeholder = $("<div>", { class: settings.placeholderClass });
				};
				var hasHorizontalDetection = function hasHorizontalDetection() {
					if (!!settings.axis) return -1 !== settings.axis.indexOf("horizontal");
					return placeholderContext.isFlexRowContainer;
				};
				var hasVerticalDetection = function hasVerticalDetection() {
					if (!!settings.axis) return -1 !== settings.axis.indexOf("vertical");
					return !placeholderContext.isFlexRowContainer;
				};
				var checkHorizontal = function checkHorizontal(offsetX, clientX, elementWidth) {
					var isPercentValue;
					var sensitivity;
					if (!hasHorizontalDetection()) return false;
					if (!hasVerticalDetection()) {
						var threshold = settings.horizontalThreshold;
						var _placeholderContext$p = placeholderContext.placeholderTarget.getBoundingClientRect();
						var left = _placeholderContext$p.left;
						var right = _placeholderContext$p.right;
						if (clientX - threshold <= left) return "left";
						if (clientX + threshold >= right) return "right";
						return offsetX > elementWidth / 2 ? "right" : "left";
					}
					sensitivity = settings.horizontalSensitivity.match(/\d+/);
					if (!sensitivity) return false;
					sensitivity = sensitivity[0];
					isPercentValue = /%$/.test(settings.horizontalSensitivity);
					if (isPercentValue) sensitivity = elementWidth / sensitivity;
					if (offsetX > elementWidth - sensitivity) return "right";
					else if (offsetX < sensitivity) return "left";
					return false;
				};
				var setSide = function setSide(event) {
					var placeholderTarget = placeholderContext.placeholderTarget;
					var $element = $(placeholderTarget);
					var elementHeight = $element.outerHeight() - elementsCache.$placeholder.outerHeight();
					var elementWidth = $element.outerWidth();
					event = event.originalEvent;
					currentSide = checkHorizontal(event.offsetX, event.clientX, elementWidth);
					if (currentSide) return;
					if (!hasVerticalDetection()) {
						currentSide = null;
						return;
					}
					var elementPosition = placeholderTarget.getBoundingClientRect();
					currentSide = event.clientY > elementPosition.top + elementHeight / 2 ? "bottom" : "top";
				};
				var insertPlaceholder = function insertPlaceholder() {
					if (!settings.placeholder) return;
					clearPreviousPlaceholder();
					switch (getInsertMode()) {
						case "atomicGrid":
							insertAtomicGridPlaceholder();
							break;
						case "gridRow":
							insertGridRowPlaceholder();
							break;
						case "flexRow":
							insertFlexRowPlaceholder();
							break;
						default:
							insertDefaultPlaceholder();
							break;
					}
				};
				var createPlaceholderContext = function createPlaceholderContext() {
					if (!currentElement || !currentElement.nodeType) return;
					var $currentElement = $(currentElement);
					var hasLogicalWrapper = "contents" === getComputedStyle(currentElement).display;
					var container = currentElement.closest(".e-con");
					var containerDisplayStyle = container ? getComputedStyle(container).display : null;
					var innerContainer = container === null || container === void 0 ? void 0 : container.querySelector(":scope > .e-con-inner");
					var containerWrapperStyle = !!container ? getComputedStyle(innerContainer || container) : null;
					var isFlexContainer = !!container && ["flex", "inline-flex"].includes(containerWrapperStyle.display);
					var isRowDirection = !!container && ["row", "row-reverse"].includes(containerWrapperStyle.flexDirection);
					maybeAddFlexRowClass(container);
					return {
						$currentElement,
						placeholderTarget: hasLogicalWrapper ? currentElement.querySelector(":scope > :not(.elementor-widget-placeholder)") : currentElement,
						$parentContainer: $currentElement.closest(".e-con").parent().closest(".e-con"),
						isFirstInsert: $currentElement.hasClass("elementor-first-add"),
						isInnerContainer: $currentElement.hasClass("e-con-inner"),
						isGridRowContainer: 0 !== $currentElement.parents(".e-grid.e-con--row").length,
						isAtomicGridContainer: 0 !== $currentElement.closest(".e-grid-base").length,
						isFlexContainer,
						isRowDirection,
						isFlexRowContainer: isFlexContainer && isRowDirection,
						isBlockContainer: ["block", "inline-block"].includes(containerDisplayStyle),
						hasLogicalWrapper,
						isAtomicContainer: [
							"e-div-block",
							"e-flexbox",
							"e-grid"
						].includes(currentElement.dataset.element_type)
					};
				};
				var maybeAddFlexRowClass = function maybeAddFlexRowClass(container) {
					if (!container || container.classList.contains("e-grid")) return;
					if (placeholderContext.isFlexRowContainer) {
						container.classList.add("e-con--row");
						return;
					}
					container.classList.remove("e-con--row");
				};
				var getInsertMode = function getInsertMode() {
					if (placeholderContext.isFirstInsert) return "default";
					if (placeholderContext.isAtomicGridContainer) return "atomicGrid";
					if (placeholderContext.isGridRowContainer) return "gridRow";
					if (placeholderContext.isFlexRowContainer) return "flexRow";
					if (placeholderContext.isBlockContainer) return "block";
					return "default";
				};
				var clearPreviousPlaceholder = function clearPreviousPlaceholder() {
					placeholderContext.$parentContainer.find(".elementor-widget-placeholder").remove();
					elementsCache.$placeholder.removeClass("e-dragging-left e-dragging-right e-dragging-top e-dragging-bottom is-logical");
					elementsCache.$placeholder.css("--e-placeholder-margin-top", "");
					elementsCache.$placeholder.css("--e-placeholder-margin-bottom", "");
					elementsCache.$placeholder.css("--e-placeholder-margin-inline-start", "");
					elementsCache.$placeholder.css("--e-placeholder-width", "");
				};
				var insertPlaceholderInsideElement = function insertPlaceholderInsideElement() {
					var targetElement = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
					if (!targetElement) targetElement = currentElement;
					var insertMethod = ["bottom", "right"].includes(currentSide) ? "appendTo" : "prependTo";
					elementsCache.$placeholder[insertMethod](targetElement);
				};
				var insertPlaceholderOutsideElement = function insertPlaceholderOutsideElement() {
					var targetElement = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
					if (!targetElement) targetElement = currentElement;
					var insertMethod = ["bottom", "right"].includes(currentSide) ? "after" : "before";
					$(targetElement)[insertMethod](elementsCache.$placeholder);
				};
				var VOID_PLACEHOLDER_TAGS = /* @__PURE__ */ new Set([
					"area",
					"base",
					"br",
					"col",
					"embed",
					"hr",
					"img",
					"input",
					"link",
					"meta",
					"param",
					"source",
					"track",
					"wbr"
				]);
				var isVoidPlaceholderTarget = function isVoidPlaceholderTarget(element) {
					return !!(element !== null && element !== void 0 && element.tagName) && VOID_PLACEHOLDER_TAGS.has(element.tagName.toLowerCase());
				};
				var insertPlaceholderOutsideLogicalWrapperChild = function insertPlaceholderOutsideLogicalWrapperChild() {
					var _placeholderContext3 = placeholderContext;
					var hasLogicalWrapper = _placeholderContext3.hasLogicalWrapper;
					var placeholderTarget = _placeholderContext3.placeholderTarget;
					if (!hasLogicalWrapper || !placeholderTarget) return false;
					insertPlaceholderOutsideElement(placeholderTarget);
					return true;
				};
				var getDefaultPlaceholderInsertPlan = function getDefaultPlaceholderInsertPlan() {
					var _placeholderContext4 = placeholderContext;
					var placeholderTarget = _placeholderContext4.placeholderTarget;
					var hasLogicalWrapper = _placeholderContext4.hasLogicalWrapper;
					var isAtomicContainer = _placeholderContext4.isAtomicContainer;
					var insertTarget = placeholderTarget || currentElement;
					return {
						insertTarget,
						insertOutside: hasLogicalWrapper || isVoidPlaceholderTarget(insertTarget),
						useLogicalAttributes: hasLogicalWrapper || isAtomicContainer
					};
				};
				var insertAtomicGridPlaceholder = function insertAtomicGridPlaceholder() {
					if (!["top", "bottom"].includes(currentSide)) return;
					var placeholderTarget = placeholderContext.placeholderTarget;
					elementsCache.$placeholder.addClass("e-dragging-" + currentSide);
					insertPlaceholderInsideElement(placeholderTarget);
				};
				var insertGridRowPlaceholder = function insertGridRowPlaceholder() {
					var _placeholderContext6 = placeholderContext;
					var hasLogicalWrapper = _placeholderContext6.hasLogicalWrapper;
					var placeholderTarget = _placeholderContext6.placeholderTarget;
					if (!hasLogicalWrapper) elementsCache.$placeholder.addClass("e-dragging-" + currentSide);
					insertPlaceholderInsideElement(placeholderTarget);
				};
				var insertFlexRowPlaceholder = function insertFlexRowPlaceholder() {
					var _placeholderContext7 = placeholderContext;
					var $currentElement = _placeholderContext7.$currentElement;
					var isInnerContainer = _placeholderContext7.isInnerContainer;
					if (insertPlaceholderOutsideLogicalWrapperChild()) return;
					insertPlaceholderOutsideElement((isInnerContainer ? $currentElement.closest(".e-con") : $currentElement)[0]);
				};
				var insertDefaultPlaceholder = function insertDefaultPlaceholder() {
					var _getDefaultPlaceholde = getDefaultPlaceholderInsertPlan();
					var insertTarget = _getDefaultPlaceholde.insertTarget;
					var insertOutside = _getDefaultPlaceholde.insertOutside;
					if (_getDefaultPlaceholde.useLogicalAttributes) addLogicalAttributesToPlaceholder();
					if (insertOutside) {
						insertPlaceholderOutsideElement(insertTarget);
						return;
					}
					insertPlaceholderInsideElement(insertTarget);
				};
				var addLogicalAttributesToPlaceholder = function addLogicalAttributesToPlaceholder() {
					var PLACEHOLDER_HEIGHT = 10;
					var placeholderTarget = placeholderContext.placeholderTarget;
					var placeholder = elementsCache.$placeholder[0];
					placeholder.classList.add("is-logical");
					var styles = getComputedStyle(placeholderTarget);
					var paddingTop = parseFloat(styles.paddingTop) || 0;
					var borderTop = parseFloat(styles.borderTopWidth) || 0;
					var paddingBottom = parseFloat(styles.paddingBottom) || 0;
					var borderBottom = parseFloat(styles.borderBottomWidth) || 0;
					var paddingInlineStart = parseFloat(styles.paddingInlineStart) || 0;
					var borderInlineStart = parseFloat(styles.borderInlineStartWidth) || 0;
					var width = parseFloat(styles.width) || "100%";
					var totalTopOffset = paddingTop + borderTop;
					var totalBottomOffset = paddingBottom + borderBottom;
					var totalInlineStartOffset = paddingInlineStart + borderInlineStart;
					placeholder.style.setProperty("--e-placeholder-width", "".concat(width, "px"));
					placeholder.style.setProperty("--e-placeholder-margin-inline-start", "-".concat(totalInlineStartOffset, "px"));
					if ("top" === currentSide) {
						placeholder.style.setProperty("--e-placeholder-margin-top", "-".concat(totalTopOffset, "px"));
						placeholder.style.setProperty("--e-placeholder-margin-bottom", "".concat(PLACEHOLDER_HEIGHT, "px"));
					} else if ("bottom" === currentSide) {
						placeholder.style.setProperty("--e-placeholder-margin-bottom", "-".concat(totalBottomOffset, "px"));
						placeholder.style.setProperty("--e-placeholder-margin-top", "".concat(PLACEHOLDER_HEIGHT, "px"));
					}
				};
				var isDroppingAllowed = function isDroppingAllowed(event) {
					var dataTransferTypes;
					var draggableGroups;
					var isGroupMatch;
					var droppingAllowed;
					if (settings.groups && hasFullDataTransferSupport(event)) {
						dataTransferTypes = event.originalEvent.dataTransfer.types;
						isGroupMatch = false;
						dataTransferTypes = Array.prototype.slice.apply(dataTransferTypes);
						dataTransferTypes.forEach(function(type) {
							try {
								draggableGroups = JSON.parse(type);
								if (!draggableGroups.groups.slice) return;
								settings.groups.forEach(function(groupName) {
									if (-1 !== draggableGroups.groups.indexOf(groupName)) {
										isGroupMatch = true;
										return false;
									}
								});
							} catch (e) {}
						});
						if (!isGroupMatch) return false;
					}
					if ("function" === typeof settings.isDroppingAllowed) {
						droppingAllowed = settings.isDroppingAllowed.call(currentElement, currentSide, event, self);
						if (!droppingAllowed) return false;
					}
					return true;
				};
				var onDragEnter = function onDragEnter(event) {
					event.stopPropagation();
					if (currentElement) return;
					currentElement = this;
					var $parents = elementsCache.$element.parents();
					var $children = elementsCache.$element.children();
					$children.find("." + settings.currentElementClass).removeClass(settings.currentElementClass);
					$parents.add($children).each(function() {
						var droppableInstance = $(this).data("html5Droppable");
						if (!droppableInstance) return;
						droppableInstance.doDragLeave();
					});
					placeholderContext = createPlaceholderContext();
					setSide(event);
					$e.internal("editor/browser-import/validate", { input: event.originalEvent.dataTransfer.items }).then(function(importAllowed) {
						var _currentElement;
						var _currentElement$close;
						var _currentElement2;
						isDroppingAllowedState = isDroppingAllowed(event) || importAllowed;
						if (!isDroppingAllowedState) return;
						if ((_currentElement = currentElement) !== null && _currentElement !== void 0 && (_currentElement = _currentElement.classList) !== null && _currentElement !== void 0 && _currentElement.contains("elementor-first-add") && (_currentElement$close = (_currentElement2 = currentElement).closest) !== null && _currentElement$close !== void 0 && _currentElement$close.call(_currentElement2, ".e-grid-base")) {
							originalCurrentElementOpacity = currentElement.style.opacity || "";
							currentElement.style.opacity = "1";
							$(document).on("dragend", _onDocumentDragEnd);
						}
						insertPlaceholder();
						elementsCache.$element.addClass(settings.hasDraggingOnChildClass);
						$(currentElement).addClass(settings.currentElementClass);
						if ("function" === typeof settings.onDragEnter) settings.onDragEnter.call(currentElement, currentSide, event, self);
					});
				};
				var onDragOver = function onDragOver(event) {
					event.stopPropagation();
					if (!currentElement) onDragEnter.call(this, event);
					var oldSide = currentSide;
					setSide(event);
					if (!isDroppingAllowedState) return;
					event.preventDefault();
					if (oldSide !== currentSide) insertPlaceholder();
					if ("function" === typeof settings.onDragging) settings.onDragging.call(this, currentSide, event, self);
				};
				var restoreFirstAddOpacity = function restoreFirstAddOpacity() {
					var _currentElement3;
					if (null !== originalCurrentElementOpacity && (_currentElement3 = currentElement) !== null && _currentElement3 !== void 0 && _currentElement3.style) {
						currentElement.style.opacity = originalCurrentElementOpacity;
						originalCurrentElementOpacity = null;
					}
				};
				var _onDocumentDragEnd = function onDocumentDragEnd() {
					$(document).off("dragend", _onDocumentDragEnd);
					restoreFirstAddOpacity();
				};
				var onDragLeave = function onDragLeave(event) {
					var elementPosition = this.getBoundingClientRect();
					if ("dragleave" === event.type && !(event.clientX < elementPosition.left || event.clientX >= elementPosition.right || event.clientY < elementPosition.top || event.clientY >= elementPosition.bottom)) return;
					$(currentElement).removeClass(settings.currentElementClass);
					self.doDragLeave();
					isDroppingAllowedState = false;
				};
				var onDrop = function onDrop(event) {
					event.preventDefault();
					setSide(event);
					if (!isDroppingAllowedState) return;
					if (settings.onDropping) settings.onDropping(currentSide, event);
				};
				var attachEvents = function attachEvents() {
					elementsCache.$element.on("dragenter", settings.items, onDragEnter).on("dragover", settings.items, onDragOver).on("drop", settings.items, onDrop).on("dragleave drop", settings.items, onDragLeave);
				};
				var init = function init() {
					initSettings();
					initElementsCache();
					attachEvents();
				};
				this.doDragLeave = function() {
					if (settings.placeholder) elementsCache.$placeholder.remove();
					elementsCache.$element.removeClass(settings.hasDraggingOnChildClass);
					$(document).off("dragend", _onDocumentDragEnd);
					restoreFirstAddOpacity();
					if ("function" === typeof settings.onDragLeave) settings.onDragLeave.call(currentElement, event, self);
					currentElement = currentSide = null;
				};
				this.destroy = function() {
					elementsCache.$element.off("dragenter", settings.items, onDragEnter).off("dragover", settings.items, onDragOver).off("drop", settings.items, onDrop).off("dragleave drop", settings.items, onDragLeave);
				};
				init();
			}
		}, function(pluginName, Plugin) {
			$.fn[pluginName] = function(options) {
				options = options || {};
				this.each(function() {
					var instance = $.data(this, pluginName);
					if (instance instanceof Plugin) {
						if ("destroy" === options) {
							instance.destroy();
							$.removeData(this, pluginName);
						}
						return;
					} else if ("destroy" === options) return;
					options.element = this;
					$.data(this, pluginName, new Plugin(options));
				});
				return this;
			};
		});
	})(jQuery);

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/classCallCheck.js
	function _classCallCheck(a, n) {
		if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
	}
	var init_classCallCheck = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/typeof.js
	function _typeof(o) {
		"@babel/helpers - typeof";
		return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
			return typeof o;
		} : function(o) {
			return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
		}, _typeof(o);
	}
	var init_typeof = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/toPrimitive.js
	function toPrimitive(t, r) {
		if ("object" != _typeof(t) || !t) return t;
		var e = t[Symbol.toPrimitive];
		if (void 0 !== e) {
			var i = e.call(t, r || "default");
			if ("object" != _typeof(i)) return i;
			throw new TypeError("@@toPrimitive must return a primitive value.");
		}
		return ("string" === r ? String : Number)(t);
	}
	var init_toPrimitive = __esmMin((() => {
		init_typeof();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
	function toPropertyKey(t) {
		var i = toPrimitive(t, "string");
		return "symbol" == _typeof(i) ? i : i + "";
	}
	var init_toPropertyKey = __esmMin((() => {
		init_typeof();
		init_toPrimitive();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/createClass.js
	function _defineProperties(e, r) {
		for (var t = 0; t < r.length; t++) {
			var o = r[t];
			o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
		}
	}
	function _createClass(e, r, t) {
		return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
	}
	var init_createClass = __esmMin((() => {
		init_toPropertyKey();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
	function _assertThisInitialized(e) {
		if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
		return e;
	}
	var init_assertThisInitialized = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
	function _possibleConstructorReturn(t, e) {
		if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
		if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
		return _assertThisInitialized(t);
	}
	var init_possibleConstructorReturn = __esmMin((() => {
		init_typeof();
		init_assertThisInitialized();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
	function _getPrototypeOf(t) {
		return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
			return t.__proto__ || Object.getPrototypeOf(t);
		}, _getPrototypeOf(t);
	}
	var init_getPrototypeOf = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/superPropBase.js
	function _superPropBase(t, o) {
		for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t)););
		return t;
	}
	var init_superPropBase = __esmMin((() => {
		init_getPrototypeOf();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/get.js
	function _get() {
		return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function(e, t, r) {
			var p = _superPropBase(e, t);
			if (p) {
				var n = Object.getOwnPropertyDescriptor(p, t);
				return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;
			}
		}, _get.apply(null, arguments);
	}
	var init_get = __esmMin((() => {
		init_superPropBase();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
	function _setPrototypeOf(t, e) {
		return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
			return t.__proto__ = e, t;
		}, _setPrototypeOf(t, e);
	}
	var init_setPrototypeOf = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/inherits.js
	function _inherits(t, e) {
		if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
		t.prototype = Object.create(e && e.prototype, { constructor: {
			value: t,
			writable: !0,
			configurable: !0
		} }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e);
	}
	var init_inherits = __esmMin((() => {
		init_setPrototypeOf();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
	function _arrayWithHoles(r) {
		if (Array.isArray(r)) return r;
	}
	var init_arrayWithHoles = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
	function _iterableToArrayLimit(r, l) {
		var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (null != t) {
			var e;
			var n;
			var i;
			var u;
			var a = [];
			var f = !0;
			var o = !1;
			try {
				if (i = (t = t.call(r)).next, 0 === l) {
					if (Object(t) !== t) return;
					f = !1;
				} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
			} catch (r) {
				o = !0, n = r;
			} finally {
				try {
					if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
				} finally {
					if (o) throw n;
				}
			}
			return a;
		}
	}
	var init_iterableToArrayLimit = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
	function _arrayLikeToArray$10(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	var init_arrayLikeToArray = __esmMin((() => {
		__name(_arrayLikeToArray$10, "_arrayLikeToArray");
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
	function _unsupportedIterableToArray$10(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$10(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$10(r, a) : void 0;
		}
	}
	var init_unsupportedIterableToArray = __esmMin((() => {
		init_arrayLikeToArray();
		__name(_unsupportedIterableToArray$10, "_unsupportedIterableToArray");
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
	function _nonIterableRest() {
		throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
	}
	var init_nonIterableRest = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/slicedToArray.js
	function _slicedToArray(r, e) {
		return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray$10(r, e) || _nonIterableRest();
	}
	var init_slicedToArray = __esmMin((() => {
		init_arrayWithHoles();
		init_iterableToArrayLimit();
		init_unsupportedIterableToArray();
		init_nonIterableRest();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
	function asyncGeneratorStep(n, t, e, r, o, a, c) {
		try {
			var i = n[a](c);
			var u = i.value;
		} catch (n) {
			e(n);
			return;
		}
		i.done ? t(u) : Promise.resolve(u).then(r, o);
	}
	function _asyncToGenerator(n) {
		return function() {
			var t = this;
			var e = arguments;
			return new Promise(function(r, o) {
				var a = n.apply(t, e);
				function _next(n) {
					asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
				}
				function _throw(n) {
					asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
				}
				_next(void 0);
			});
		};
	}
	var init_asyncToGenerator = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/defineProperty.js
	function _defineProperty(e, r, t) {
		return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
			value: t,
			enumerable: !0,
			configurable: !0,
			writable: !0
		}) : e[r] = t, e;
	}
	var init_defineProperty = __esmMin((() => {
		init_toPropertyKey();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/OverloadYield.js
	var require_OverloadYield = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		function _OverloadYield(e, d) {
			this.v = e, this.k = d;
		}
		module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regeneratorDefine.js
	var require_regeneratorDefine = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		function _regeneratorDefine(e, r, n, t) {
			var i = Object.defineProperty;
			try {
				i({}, "", {});
			} catch (e) {
				i = 0;
			}
			module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
				function o(r, n) {
					_regeneratorDefine(e, r, function(e) {
						return this._invoke(r, n, e);
					});
				}
				r ? i ? i(e, r, {
					value: n,
					enumerable: !t,
					configurable: !t,
					writable: !t
				}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
			}, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
		}
		module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regenerator.js
	var require_regenerator$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var regeneratorDefine = require_regeneratorDefine();
		function _regenerator() {
			/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
			var e;
			var t;
			var r = "function" == typeof Symbol ? Symbol : {};
			var n = r.iterator || "@@iterator";
			var o = r.toStringTag || "@@toStringTag";
			function i(r, n, o, i) {
				var c = n && n.prototype instanceof Generator ? n : Generator;
				var u = Object.create(c.prototype);
				return regeneratorDefine(u, "_invoke", function(r, n, o) {
					var i;
					var c;
					var u;
					var f = 0;
					var p = o || [];
					var y = !1;
					var G = {
						p: 0,
						n: 0,
						v: e,
						a: d,
						f: d.bind(e, 4),
						d: function d(t, r) {
							return i = t, c = 0, u = e, G.n = r, a;
						}
					};
					function d(r, n) {
						for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
							var o;
							var i = p[t];
							var d = G.p;
							var l = i[2];
							r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
						}
						if (o || r > 1) return a;
						throw y = !0, n;
					}
					return function(o, p, l) {
						if (f > 1) throw TypeError("Generator is already running");
						for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
							i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
							try {
								if (f = 2, i) {
									if (c || (o = "next"), t = i[o]) {
										if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
										if (!t.done) return t;
										u = t.value, c < 2 && (c = 0);
									} else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
									i = e;
								} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
							} catch (t) {
								i = e, c = 1, u = t;
							} finally {
								f = 1;
							}
						}
						return {
							value: t,
							done: y
						};
					};
				}(r, o, i), !0), u;
			}
			var a = {};
			function Generator() {}
			function GeneratorFunction() {}
			function GeneratorFunctionPrototype() {}
			t = Object.getPrototypeOf;
			var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function() {
				return this;
			}), t);
			var u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
			function f(e) {
				return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
			}
			return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function() {
				return this;
			}), regeneratorDefine(u, "toString", function() {
				return "[object Generator]";
			}), (module.exports = _regenerator = function _regenerator() {
				return {
					w: i,
					m: f
				};
			}, module.exports.__esModule = true, module.exports["default"] = module.exports)();
		}
		module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js
	var require_regeneratorAsyncIterator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var OverloadYield = require_OverloadYield();
		var regeneratorDefine = require_regeneratorDefine();
		function AsyncIterator(t, e) {
			function n(r, o, i, f) {
				try {
					var c = t[r](o);
					var u = c.value;
					return u instanceof OverloadYield ? e.resolve(u.v).then(function(t) {
						n("next", t, i, f);
					}, function(t) {
						n("throw", t, i, f);
					}) : e.resolve(u).then(function(t) {
						c.value = t, i(c);
					}, function(t) {
						return n("throw", t, i, f);
					});
				} catch (t) {
					f(t);
				}
			}
			var r;
			this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function() {
				return this;
			})), regeneratorDefine(this, "_invoke", function(t, o, i) {
				function f() {
					return new e(function(e, r) {
						n(t, i, e, r);
					});
				}
				return r = r ? r.then(f, f) : f();
			}, !0);
		}
		module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js
	var require_regeneratorAsyncGen = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var regenerator = require_regenerator$1();
		var regeneratorAsyncIterator = require_regeneratorAsyncIterator();
		function _regeneratorAsyncGen(r, e, t, o, n) {
			return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);
		}
		module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regeneratorAsync.js
	var require_regeneratorAsync = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var regeneratorAsyncGen = require_regeneratorAsyncGen();
		function _regeneratorAsync(n, e, r, t, o) {
			var a = regeneratorAsyncGen(n, e, r, t, o);
			return a.next().then(function(n) {
				return n.done ? n.value : a.next();
			});
		}
		module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regeneratorKeys.js
	var require_regeneratorKeys = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		function _regeneratorKeys(e) {
			var n = Object(e);
			var r = [];
			for (var t in n) r.unshift(t);
			return function e() {
				for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;
				return e.done = !0, e;
			};
		}
		module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/typeof.js
	var require_typeof = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		function _typeof(o) {
			"@babel/helpers - typeof";
			return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
				return typeof o;
			} : function(o) {
				return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
			}, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
		}
		module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regeneratorValues.js
	var require_regeneratorValues = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var _typeof = require_typeof()["default"];
		function _regeneratorValues(e) {
			if (null != e) {
				var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"];
				var r = 0;
				if (t) return t.call(e);
				if ("function" == typeof e.next) return e;
				if (!isNaN(e.length)) return { next: function next() {
					return e && r >= e.length && (e = void 0), {
						value: e && e[r++],
						done: !e
					};
				} };
			}
			throw new TypeError(_typeof(e) + " is not iterable");
		}
		module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/regeneratorRuntime.js
	var require_regeneratorRuntime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var OverloadYield = require_OverloadYield();
		var regenerator = require_regenerator$1();
		var regeneratorAsync = require_regeneratorAsync();
		var regeneratorAsyncGen = require_regeneratorAsyncGen();
		var regeneratorAsyncIterator = require_regeneratorAsyncIterator();
		var regeneratorKeys = require_regeneratorKeys();
		var regeneratorValues = require_regeneratorValues();
		function _regeneratorRuntime() {
			"use strict";
			var r = regenerator();
			var e = r.m(_regeneratorRuntime);
			var t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;
			function n(r) {
				var e = "function" == typeof r && r.constructor;
				return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name));
			}
			var o = {
				"throw": 1,
				"return": 2,
				"break": 3,
				"continue": 3
			};
			function a(r) {
				var e;
				var t;
				return function(n) {
					e || (e = {
						stop: function stop() {
							return t(n.a, 2);
						},
						"catch": function _catch() {
							return n.v;
						},
						abrupt: function abrupt(r, e) {
							return t(n.a, o[r], e);
						},
						delegateYield: function delegateYield(r, o, a) {
							return e.resultName = o, t(n.d, regeneratorValues(r), a);
						},
						finish: function finish(r) {
							return t(n.f, r);
						}
					}, t = function t(r, _t, o) {
						n.p = e.prev, n.n = e.next;
						try {
							return r(_t, o);
						} finally {
							e.next = n.n;
						}
					}), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;
					try {
						return r.call(this, e);
					} finally {
						n.p = e.prev, n.n = e.next;
					}
				};
			}
			return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
				return {
					wrap: function wrap(e, t, n, o) {
						return r.w(a(e), t, n, o && o.reverse());
					},
					isGeneratorFunction: n,
					mark: r.m,
					awrap: function awrap(r, e) {
						return new OverloadYield(r, e);
					},
					AsyncIterator: regeneratorAsyncIterator,
					async: function async(r, e, t, o, u) {
						return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);
					},
					keys: regeneratorKeys,
					values: regeneratorValues
				};
			}, module.exports.__esModule = true, module.exports["default"] = module.exports)();
		}
		module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
	}));

//#endregion
//#region node_modules/@babel/runtime/regenerator/index.js
	var require_regenerator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var runtime = require_regeneratorRuntime()();
		module.exports = runtime;
		try {
			regeneratorRuntime = runtime;
		} catch (accidentalStrictMode) {
			if (typeof globalThis === "object") globalThis.regeneratorRuntime = runtime;
			else Function("r", "regeneratorRuntime = r")(runtime);
		}
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
	function _arrayWithoutHoles(r) {
		if (Array.isArray(r)) return _arrayLikeToArray$10(r);
	}
	var init_arrayWithoutHoles = __esmMin((() => {
		init_arrayLikeToArray();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/iterableToArray.js
	function _iterableToArray(r) {
		if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
	}
	var init_iterableToArray = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
	function _nonIterableSpread() {
		throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
	}
	var init_nonIterableSpread = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
	function _toConsumableArray(r) {
		return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray$10(r) || _nonIterableSpread();
	}
	var init_toConsumableArray = __esmMin((() => {
		init_arrayWithoutHoles();
		init_iterableToArray();
		init_unsupportedIterableToArray();
		init_nonIterableSpread();
	}));

//#endregion
//#region assets/dev/js/editor/components/validator/base.js
	var require_base$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = elementorModules.Module.extend({
			errors: [],
			__construct: function __construct(settings) {
				var customValidationMethod = settings.customValidationMethod;
				if (customValidationMethod) this.validationMethod = customValidationMethod;
			},
			getDefaultSettings: function getDefaultSettings() {
				return { validationTerms: {} };
			},
			isValid: function isValid() {
				var validationErrors = this.validationMethod.apply(this, arguments);
				if (validationErrors.length) {
					this.errors = validationErrors;
					return false;
				}
				return true;
			},
			validationMethod: function validationMethod(newValue) {
				var validationTerms = this.getSettings("validationTerms");
				var errors = [];
				if (validationTerms.required) {
					if (!("" + newValue).length) errors.push("Required value is empty");
				}
				return errors;
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/validator/number.js
	var require_number$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var Validator = require_base$4();
		module.exports = Validator.extend({ validationMethod: function validationMethod(newValue) {
			var validationTerms = this.getSettings("validationTerms");
			var errors = [];
			if (_.isFinite(newValue)) {
				if (void 0 !== validationTerms.min && newValue < validationTerms.min) errors.push("Value is less than minimum");
				if (void 0 !== validationTerms.max && newValue > validationTerms.max) errors.push("Value is greater than maximum");
			}
			return errors;
		} });
	}));

//#endregion
//#region assets/dev/js/editor/components/validator/breakpoint.js
	function _callSuper$321(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$322() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$322() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$322 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var NumberValidator, BreakpointValidator;
	var init_breakpoint = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$321, "_callSuper");
		__name(_isNativeReflectConstruct$322, "_isNativeReflectConstruct");
		NumberValidator = require_number$1();
		BreakpointValidator = /*#__PURE__*/ function(_NumberValidator) {
			function BreakpointValidator() {
				_classCallCheck(this, BreakpointValidator);
				return _callSuper$321(this, BreakpointValidator, arguments);
			}
			_inherits(BreakpointValidator, _NumberValidator);
			return _createClass(BreakpointValidator, [
				{
					key: "getDefaultSettings",
					value: function getDefaultSettings() {
						return { validationTerms: { max: 5120 } };
					}
				},
				{
					key: "getPanelActiveBreakpoints",
					value: function getPanelActiveBreakpoints() {
						var panelBreakpoints = elementor.documents.currentDocument.config.settings.settings.active_breakpoints.map(function(breakpointName) {
							return breakpointName.replace("viewport_", "");
						});
						var panelActiveBreakpoints = {};
						panelBreakpoints.forEach(function(breakpointName) {
							panelActiveBreakpoints[breakpointName] = elementorFrontend.config.responsive.breakpoints[breakpointName];
						});
						return panelActiveBreakpoints;
					}
				},
				{
					key: "initBreakpointProperties",
					value: function initBreakpointProperties() {
						var _activeBreakpoints$br;
						var _activeBreakpoints$br2;
						var validationTerms = this.getSettings("validationTerms");
						var activeBreakpoints = this.getPanelActiveBreakpoints();
						var breakpointKeys = Object.keys(activeBreakpoints);
						this.breakpointIndex = breakpointKeys.indexOf(validationTerms.breakpointName);
						this.topBreakpoint = (_activeBreakpoints$br = activeBreakpoints[breakpointKeys[this.breakpointIndex + 1]]) === null || _activeBreakpoints$br === void 0 ? void 0 : _activeBreakpoints$br.value;
						this.bottomBreakpoint = (_activeBreakpoints$br2 = activeBreakpoints[breakpointKeys[this.breakpointIndex - 1]]) === null || _activeBreakpoints$br2 === void 0 ? void 0 : _activeBreakpoints$br2.value;
					}
				},
				{
					key: "validationMethod",
					value: function validationMethod(newValue) {
						var validationTerms = this.getSettings("validationTerms");
						var errors = NumberValidator.prototype.validationMethod.call(this, newValue);
						if (_.isFinite(newValue) || "" === newValue) {
							if (!this.validateMinMaxForBreakpoint(newValue, validationTerms)) errors.push("Value is not between the breakpoints above or under the edited breakpoint");
						}
						return errors;
					}
				},
				{
					key: "validateMinMaxForBreakpoint",
					value: function validateMinMaxForBreakpoint(newValue, validationTerms) {
						var breakpointDefaultValue = elementorFrontend.config.responsive.breakpoints[validationTerms.breakpointName].default_value;
						var isValid = true;
						this.initBreakpointProperties();
						if ("mobile" === validationTerms.breakpointName && 320 === this.bottomBreakpoint) this.bottomBreakpoint -= 1;
						if (this.bottomBreakpoint) {
							if ("" !== newValue && newValue <= this.bottomBreakpoint) isValid = false;
							if ("" === newValue && breakpointDefaultValue <= this.bottomBreakpoint) isValid = false;
						}
						if (this.topBreakpoint) {
							if ("" !== newValue && newValue >= this.topBreakpoint) isValid = false;
							if ("" === newValue && breakpointDefaultValue >= this.topBreakpoint) isValid = false;
						}
						return isValid;
					}
				}
			]);
		}(NumberValidator);
	}));

//#endregion
//#region assets/dev/js/editor/controls/base.js
	var require_base$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var ControlBaseView = Marionette.CompositeView.extend({
			ui: function ui() {
				return { controlTitle: ".elementor-control-title" };
			},
			behaviors: function behaviors() {
				return elementor.hooks.applyFilters("controls/base/behaviors", {}, this);
			},
			getBehavior: function getBehavior(name) {
				return this._behaviors[Object.keys(this.behaviors()).indexOf(name)];
			},
			className: function className() {
				var classes = "elementor-control elementor-control-" + this.model.get("name") + " elementor-control-type-" + this.model.get("type");
				var modelClasses = this.model.get("classes");
				var responsive = this.model.get("responsive");
				if (!_.isEmpty(modelClasses)) classes += " " + modelClasses;
				if (!_.isEmpty(responsive)) {
					var responsiveControlName = responsive.max || responsive.min;
					classes += " elementor-control-responsive-" + responsiveControlName;
				}
				return classes;
			},
			templateHelpers: function templateHelpers() {
				var controlData = { _cid: this.model.cid };
				return {
					view: this,
					data: _.extend({}, this.model.toJSON(), controlData)
				};
			},
			getTemplate: function getTemplate() {
				return Marionette.TemplateCache.get("#tmpl-elementor-control-" + this.model.get("type") + "-content");
			},
			initialize: function initialize(options) {
				var label = this.model.get("label");
				Object.defineProperty(this, "container", { get: function get() {
					if (!options.container) {
						var settingsModel = options.elementSettingsModel;
						var view = $e.components.get("document").utils.findViewById(settingsModel.id);
						if (view && view.getContainer) options.container = view.getContainer();
						else {
							if (!settingsModel.id) settingsModel.id = "bc-" + elementorCommon.helpers.getUniqueId();
							options.container = new elementorModules.editor.Container({
								type: "bc-container",
								id: settingsModel.id,
								model: settingsModel,
								settings: settingsModel,
								label,
								view: false,
								parent: false,
								renderer: false,
								controls: settingsModel.options.controls
							});
						}
					}
					return options.container;
				} });
				Object.defineProperty(this, "elementSettingsModel", { get: function get() {
					elementorDevTools.deprecation.deprecated("elementSettingsModel", "2.8.0", "container.settings");
					return options.container ? options.container.settings : options.elementSettingsModel;
				} });
				var controlType = this.model.get("type");
				var controlSettings = jQuery.extend(true, {}, elementor.config.controls[controlType], this.model.attributes);
				this.model.set(controlSettings);
				var settings = this.container ? this.container.settings : this.elementSettingsModel;
				this.listenTo(settings, "change", this.onAfterChange);
				if (this.model.attributes.responsive) {
					this.onDeviceModeChange = this.onDeviceModeChange.bind(this);
					elementor.listenTo(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
				}
			},
			onDestroy: function onDestroy() {
				elementor.stopListening(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
			},
			onDeviceModeChange: function onDeviceModeChange() {
				this.toggleControlVisibility();
			},
			onAfterChange: function onAfterChange() {
				this.toggleControlVisibility();
			},
			toggleControlVisibility: function toggleControlVisibility() {
				var settings = this.container ? this.container.settings : this.elementSettingsModel;
				var isVisible = elementor.helpers.isActiveControl(this.model, settings.attributes, settings.controls);
				this.$el.toggleClass("elementor-hidden-control", !isVisible);
				elementor.getPanelView().updateScrollbar();
			},
			onRender: function onRender() {
				var layoutType = this.model.get("label_block") ? "block" : "inline";
				var showLabel = this.model.get("show_label");
				var elClasses = "elementor-label-" + layoutType;
				elClasses += " elementor-control-separator-" + this.model.get("separator");
				if (!showLabel) elClasses += " elementor-control-hidden-label";
				this.$el.addClass(elClasses);
				this.toggleControlVisibility();
			},
			reRoute: function reRoute(controlActive) {
				$e.route($e.routes.getCurrent("panel"), this.getControlInRouteArgs(controlActive ? this.getControlPath() : ""), { history: false });
			},
			getControlInRouteArgs: function getControlInRouteArgs(path) {
				return _objectSpread(_objectSpread({}, $e.routes.getCurrentArgs("panel")), {}, { activeControl: path });
			},
			getControlPath: function getControlPath() {
				var controlPath = this.model.get("name");
				var parent = this._parent;
				while (!parent.$el.hasClass("elementor-controls-stack")) {
					controlPath = (parent.model.get("name") || parent.model.get("_id")) + "/" + controlPath;
					parent = parent._parent;
				}
				return controlPath;
			}
		});
		module.exports = ControlBaseView;
	}));

//#endregion
//#region assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js
	var require_tag_controls_stack_empty = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			className: "elementor-tag-controls-stack-empty",
			template: "#tmpl-elementor-tag-controls-stack-empty"
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js
	var require_tag_controls_stack = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var EmptyView = require_tag_controls_stack_empty();
		module.exports = elementorModules.editor.views.ControlsStack.extend({
			activeTab: "content",
			template: _.noop,
			emptyView: EmptyView,
			isEmpty: function isEmpty() {
				return this.collection.length < 2;
			},
			childViewOptions: function childViewOptions() {
				return { container: this.options.container };
			},
			getNamespaceArray: function getNamespaceArray() {
				var currentPageView = elementor.getPanelView().getCurrentPageView();
				var eventNamespace = currentPageView.getNamespaceArray();
				eventNamespace.push(currentPageView.activeSection);
				eventNamespace.push(this.getOption("controlName"));
				eventNamespace.push(this.getOption("name"));
				return eventNamespace;
			},
			onRenderTemplate: function onRenderTemplate() {
				this.activateFirstSection();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js
	var require_tag_panel_view = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TagControlsStack = require_tag_controls_stack();
		module.exports = Marionette.ItemView.extend({
			className: "elementor-dynamic-cover e-input-style",
			tagControlsStack: null,
			templateHelpers: function templateHelpers() {
				var helpers = {};
				if (this.model) helpers.controls = this.model.options.controls;
				return helpers;
			},
			ui: { remove: ".elementor-dynamic-cover__remove" },
			events: function events() {
				var events = { "click @ui.remove": "onRemoveClick" };
				if (this.hasSettings()) events.click = "onClick";
				return events;
			},
			getTemplate: function getTemplate() {
				var config = this.getTagConfig();
				var templateFunction = Marionette.TemplateCache.get("#tmpl-elementor-control-dynamic-cover");
				var renderedTemplate = Marionette.Renderer.render(templateFunction, {
					hasSettings: this.hasSettings(),
					isRemovable: !this.getOption("dynamicSettings").default,
					title: config.title,
					content: config.panel_template
				});
				return Marionette.TemplateCache.prototype.compileTemplate(renderedTemplate.trim());
			},
			getTagConfig: function getTagConfig() {
				return elementor.dynamicTags.getConfig("tags." + this.getOption("name"));
			},
			initSettingsPopup: function initSettingsPopup() {
				var settingsPopupOptions = {
					className: "elementor-tag-settings-popup",
					position: {
						my: "left top+5",
						at: "left bottom",
						of: this.$el,
						autoRefresh: true
					},
					hide: { ignore: ".select2-container" }
				};
				var settingsPopup = elementorCommon.dialogsManager.createWidget("buttons", settingsPopupOptions);
				this.getSettingsPopup = function() {
					return settingsPopup;
				};
			},
			hasSettings: function hasSettings() {
				return !!Object.values(this.getTagConfig().controls).length;
			},
			showSettingsPopup: function showSettingsPopup() {
				if (!this.tagControlsStack) this.initTagControlsStack();
				var settingsPopup = this.getSettingsPopup();
				if (settingsPopup.isVisible()) return;
				settingsPopup.show();
			},
			initTagControlsStack: function initTagControlsStack() {
				this.tagControlsStack = new TagControlsStack({
					model: this.model,
					controls: this.model.controls,
					name: this.options.name,
					controlName: this.options.controlName,
					container: this.options.container,
					el: this.getSettingsPopup().getElements("message")[0]
				});
				this.tagControlsStack.render();
			},
			initModel: function initModel() {
				this.model = new elementorModules.editor.elements.models.BaseSettings(this.getOption("settings"), { controls: this.getTagConfig().controls });
			},
			initialize: function initialize() {
				this.initModel();
				if (!this.hasSettings()) return;
				this.initSettingsPopup();
				this.listenTo(this.model, "change", this.render);
			},
			onClick: function onClick() {
				this.showSettingsPopup();
			},
			onRemoveClick: function onRemoveClick(event) {
				event.stopPropagation();
				this.destroy();
				this.trigger("remove");
			},
			onDestroy: function onDestroy() {
				if (this.hasSettings()) this.getSettingsPopup().destroy();
				if (this.tagControlsStack) this.tagControlsStack.destroy();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/dynamic-tags/control-behavior.js
	var require_control_behavior = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		var TagPanelView = require_tag_panel_view();
		module.exports = Marionette.Behavior.extend({
			tagView: null,
			listenerAttached: false,
			initialize: function initialize() {
				if (!this.listenerAttached) {
					this.listenTo(this.view.options.container.settings, "change:external:__dynamic__", this.onAfterExternalChange);
					this.listenerAttached = true;
				}
			},
			shouldRenderTools: function shouldRenderTools() {
				if (this.getOption("dynamicSettings").default) return false;
				var isFeatureAvailableToUser = elementor.helpers.hasPro() && !elementor.helpers.hasProAndNotConnected();
				var hasTags = this.getOption("tags").length > 0;
				return !isFeatureAvailableToUser || hasTags;
			},
			renderTools: function renderTools() {
				var _this = this;
				if (!this.shouldRenderTools()) return;
				var $dynamicSwitcher = jQuery(Marionette.Renderer.render("#tmpl-elementor-control-dynamic-switcher"));
				$dynamicSwitcher.on("click", function(event) {
					return _this.onDynamicSwitcherClick(event);
				});
				this.$el.find(".elementor-control-dynamic-switcher-wrapper").append($dynamicSwitcher);
				this.ui.dynamicSwitcher = $dynamicSwitcher;
				if ("color" === this.view.model.get("type")) if (this.view.colorPicker) this.moveDynamicSwitcherToColorPicker();
				else setTimeout(function() {
					return _this.moveDynamicSwitcherToColorPicker();
				});
				this.ui.dynamicSwitcher.tipsy({
					title: function title() {
						return this.getAttribute("data-tooltip");
					},
					gravity: "s"
				});
			},
			moveDynamicSwitcherToColorPicker: function moveDynamicSwitcherToColorPicker() {
				var $colorPickerToolsContainer = this.view.colorPicker.$pickerToolsContainer;
				this.ui.dynamicSwitcher.removeClass("elementor-control-unit-1").addClass("e-control-tool");
				var $eyedropper = $colorPickerToolsContainer.find(".elementor-control-element-color-picker");
				if ($eyedropper.length) this.ui.dynamicSwitcher.insertBefore($eyedropper);
				else $colorPickerToolsContainer.append(this.ui.dynamicSwitcher);
			},
			toggleDynamicClass: function toggleDynamicClass() {
				this.$el.toggleClass("elementor-control-dynamic-value", this.isDynamicMode());
			},
			isDynamicMode: function isDynamicMode() {
				var dynamicSettings = this.view.container.settings.get("__dynamic__");
				return !!(dynamicSettings && dynamicSettings[this.view.model.get("name")]);
			},
			createTagsList: function createTagsList() {
				var tags = _.groupBy(this.getOption("tags"), "group");
				var groups = elementor.dynamicTags.getConfig("groups");
				var $tagsList = this.ui.tagsList = jQuery("<div>", { class: "elementor-tags-list" });
				var $tagsListInner = jQuery("<div>", { class: "elementor-tags-list__inner" });
				$tagsList.append($tagsListInner);
				jQuery.each(groups, function(groupName) {
					var groupTags = tags[groupName];
					if (!groupTags) return;
					var group = this;
					var $groupTitle = jQuery("<div>", { class: "elementor-tags-list__group-title" }).text(group.title);
					$tagsListInner.append($groupTitle);
					groupTags.forEach(function(tag) {
						var $tag = jQuery("<div>", { class: "elementor-tags-list__item" });
						$tag.text(tag.title).attr("data-tag-name", tag.name);
						$tagsListInner.append($tag);
					});
				});
				if (!elementor.helpers.hasPro() && Object.keys(tags).length) {
					var proTeaser = Marionette.Renderer.render("#tmpl-elementor-dynamic-tags-promo", { promotionUrl: elementor.config.dynamicPromotionURL.replace("%s", this.view.model.get("name")) });
					$tagsListInner.append(proTeaser);
				}
				$tagsListInner.on("click", ".elementor-tags-list__item", this.onTagsListItemClick.bind(this));
				elementorCommon.elements.$body.append($tagsList);
			},
			getTagsList: function getTagsList() {
				if (!this.ui.tagsList) this.createTagsList();
				return this.ui.tagsList;
			},
			toggleTagsList: function toggleTagsList() {
				var $tagsList = this.getTagsList();
				if ($tagsList.is(":visible")) {
					$tagsList.hide();
					return;
				}
				var direction = elementorCommon.config.isRTL ? "left" : "right";
				$tagsList.show().position({
					my: "".concat(direction, " top"),
					at: "".concat(direction, " bottom+5"),
					of: this.ui.dynamicSwitcher
				});
			},
			setTagView: function setTagView(id, name, settings) {
				if (this.tagView) this.tagView.destroy();
				var tagView = this.tagView = new TagPanelView({
					id,
					name,
					settings,
					controlName: this.view.model.get("name"),
					dynamicSettings: this.getOption("dynamicSettings")
				});
				var elementContainer = this.view.options.container;
				var tagViewLabel = elementContainer.controls[tagView.options.controlName].label;
				tagView.options.container = new elementorModules.editor.Container({
					type: "dynamic",
					id,
					model: tagView.model,
					settings: tagView.model,
					view: tagView,
					parent: elementContainer,
					label: elementContainer.label + " " + tagViewLabel,
					controls: tagView.model.options.controls,
					renderer: elementContainer
				});
				tagView.render();
				this.$el.find(".elementor-control-tag-area").after(tagView.el);
				this.listenTo(tagView, "remove", this.onTagViewRemove.bind(this));
			},
			setDefaultTagView: function setDefaultTagView() {
				var tagData = elementor.dynamicTags.tagTextToTagData(this.getDynamicValue());
				this.setTagView(tagData.id, tagData.name, tagData.settings);
			},
			tagViewToTagText: function tagViewToTagText() {
				var tagView = this.tagView;
				return elementor.dynamicTags.tagDataToTagText(tagView.getOption("id"), tagView.getOption("name"), tagView.model);
			},
			getDynamicValue: function getDynamicValue() {
				return this.view.container.dynamic.get(this.view.model.get("name"));
			},
			destroyTagView: function destroyTagView() {
				if (this.tagView) {
					this.tagView.destroy();
					this.tagView = null;
				}
			},
			showPromotion: function showPromotion() {
				var hasProAndNotConnected = elementor.helpers.hasProAndNotConnected();
				var dialogOptions = {
					title: (0, _wordpress_i18n.__)("Dynamic Content", "elementor"),
					content: (0, _wordpress_i18n.__)("Create more personalized and dynamic sites by populating data from various sources with dozens of dynamic tags to choose from.", "elementor"),
					targetElement: this.ui.dynamicSwitcher,
					position: { blockStart: "-10" },
					actionButton: {
						url: hasProAndNotConnected ? elementorProEditorConfig.urls.connect : elementor.config.dynamicPromotionURL.replace("%s", this.view.model.get("name")),
						text: hasProAndNotConnected ? (0, _wordpress_i18n.__)("Connect & Activate", "elementor") : (0, _wordpress_i18n.__)("Upgrade", "elementor")
					}
				};
				elementor.promotion.showDialog(dialogOptions);
			},
			onRender: function onRender() {
				this.$el.addClass("elementor-control-dynamic");
				this.renderTools();
				this.toggleDynamicClass();
				if (this.isDynamicMode()) this.setDefaultTagView();
			},
			onDynamicSwitcherClick: function onDynamicSwitcherClick(event) {
				event.stopPropagation();
				if (this.getOption("tags").length) this.toggleTagsList();
				else this.showPromotion();
			},
			onTagsListItemClick: function onTagsListItemClick(event) {
				var $tag = jQuery(event.currentTarget);
				this.setTagView(elementorCommon.helpers.getUniqueId(), $tag.data("tagName"), {});
				if (this.view.getGlobalKey()) this.view.triggerMethod("unset:global:value");
				if (this.isDynamicMode()) $e.run("document/dynamic/settings", {
					container: this.view.options.container,
					settings: _defineProperty({}, this.view.model.get("name"), this.tagViewToTagText())
				});
				else $e.run("document/dynamic/enable", {
					container: this.view.options.container,
					settings: _defineProperty({}, this.view.model.get("name"), this.tagViewToTagText())
				});
				this.toggleDynamicClass();
				this.toggleTagsList();
				if (this.tagView.getTagConfig().settings_required) this.tagView.showSettingsPopup();
			},
			onTagViewRemove: function onTagViewRemove() {
				$e.run("document/dynamic/disable", {
					container: this.view.options.container,
					settings: _defineProperty({}, this.view.model.get("name"), this.tagViewToTagText())
				});
				this.toggleDynamicClass();
			},
			onAfterExternalChange: function onAfterExternalChange() {
				this.destroyTagView();
				if (this.isDynamicMode()) this.setDefaultTagView();
				this.toggleDynamicClass();
			},
			onDestroy: function onDestroy() {
				this.destroyTagView();
				if (this.ui.tagsList) this.ui.tagsList.remove();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/controls/base-data.js
	var require_base_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_slicedToArray();
		init_defineProperty();
		init_breakpoint();
		function _createForOfIteratorHelper(r, e) {
			var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
			if (!t) {
				if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
					t && (r = t);
					var _n = 0;
					var F = function F() {};
					return {
						s: F,
						n: function n() {
							return _n >= r.length ? { done: !0 } : {
								done: !1,
								value: r[_n++]
							};
						},
						e: function e(r) {
							throw r;
						},
						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 o;
			var a = !0;
			var u = !1;
			return {
				s: function s() {
					t = t.call(r);
				},
				n: function n() {
					var r = t.next();
					return a = r.done, r;
				},
				e: function e(r) {
					u = !0, o = r;
				},
				f: function f() {
					try {
						a || null == t.return || t.return();
					} finally {
						if (u) throw o;
					}
				}
			};
		}
		function _unsupportedIterableToArray(r, a) {
			if (r) {
				if ("string" == typeof r) return _arrayLikeToArray(r, a);
				var t = {}.toString.call(r).slice(8, -1);
				return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
			}
		}
		function _arrayLikeToArray(r, a) {
			(null == a || a > r.length) && (a = r.length);
			for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
			return n;
		}
		var ControlBaseView = require_base$3();
		var TagsBehavior = require_control_behavior();
		var Validator = require_base$4();
		var NumberValidator = require_number$1();
		var ControlBaseDataView = ControlBaseView.extend({
			validatorTypes: {
				Base: Validator,
				Number: NumberValidator,
				Breakpoint: BreakpointValidator
			},
			ui: function ui() {
				var ui = ControlBaseView.prototype.ui.apply(this, arguments);
				_.extend(ui, {
					input: "input[data-setting][type!=\"checkbox\"][type!=\"radio\"]",
					checkbox: "input[data-setting][type=\"checkbox\"]",
					radio: "input[data-setting][type=\"radio\"]",
					select: "select[data-setting]",
					textarea: "textarea[data-setting]",
					responsiveSwitchersSibling: "".concat(ui.controlTitle, "[data-e-responsive-switcher-sibling!=\"false\"]"),
					responsiveSwitchers: ".elementor-responsive-switcher",
					contentEditable: "[contenteditable=\"true\"]"
				});
				return ui;
			},
			templateHelpers: function templateHelpers() {
				var controlData = ControlBaseView.prototype.templateHelpers.apply(this, arguments);
				controlData.data.controlValue = this.getControlValue();
				return controlData;
			},
			events: function events() {
				return {
					"input @ui.input": "onBaseInputTextChange",
					"change @ui.checkbox": "onBaseInputChange",
					"change @ui.radio": "onBaseInputChange",
					"input @ui.textarea": "onBaseInputTextChange",
					"change @ui.select": "onBaseInputChange",
					"input @ui.contentEditable": "onBaseInputTextChange",
					"click @ui.responsiveSwitchers": "onResponsiveSwitchersClick"
				};
			},
			behaviors: function behaviors() {
				var behaviors = ControlBaseView.prototype.behaviors.apply(this, arguments);
				var dynamicSettings = this.options.model.get("dynamic");
				if (dynamicSettings && dynamicSettings.active) {
					var tags = _.filter(elementor.dynamicTags.getConfig("tags"), function(tag) {
						return tag.editable && _.intersection(tag.categories, dynamicSettings.categories).length;
					});
					if (tags.length || elementor.config.user.is_administrator) behaviors.tags = {
						behaviorClass: TagsBehavior,
						tags,
						dynamicSettings
					};
				}
				return behaviors;
			},
			initialize: function initialize() {
				ControlBaseView.prototype.initialize.apply(this, arguments);
				this.registerValidators();
				if (this.model.get("responsive")) this.setPlaceholderFromParent();
				if (void 0 === this.model.get("inherit_placeholders")) this.model.set("inherit_placeholders", true);
				var settings = this.container ? this.container.settings : this.elementSettingsModel;
				this.listenTo(settings, "change:external:" + this.model.get("name"), this.onAfterExternalChange);
			},
			getControlValue: function getControlValue() {
				return this.container.settings.get(this.model.get("name"));
			},
			getGlobalKey: function getGlobalKey() {
				return this.container.globals.get(this.model.get("name"));
			},
			getGlobalValue: function getGlobalValue() {
				return this.globalValue;
			},
			getGlobalDefault: function getGlobalDefault() {
				var controlGlobalArgs = this.model.get("global");
				if (controlGlobalArgs !== null && controlGlobalArgs !== void 0 && controlGlobalArgs.default) {
					if (!elementor.config.globals.defaults_enabled[this.getGlobalMeta().controlType]) return "";
					var _$e$data$commandExtra = $e.data.commandExtractArgs(controlGlobalArgs.default);
					var command = _$e$data$commandExtra.command;
					var args = _$e$data$commandExtra.args;
					var result = $e.data.getCache($e.components.get("globals"), command, args.query);
					return result === null || result === void 0 ? void 0 : result.value;
				}
				return "";
			},
			getCurrentValue: function getCurrentValue() {
				if (this.getGlobalKey() && !this.globalValue) return "";
				if (this.globalValue) return this.globalValue;
				var controlValue = this.getControlValue();
				if (controlValue) return controlValue;
				return this.getGlobalDefault();
			},
			isGlobalActive: function isGlobalActive() {
				var _this$options$model$g;
				return (_this$options$model$g = this.options.model.get("global")) === null || _this$options$model$g === void 0 ? void 0 : _this$options$model$g.active;
			},
			setValue: function setValue(value) {
				this.setSettingsModel(value);
			},
			setSettingsModel: function setSettingsModel(value) {
				var key = this.model.get("name");
				$e.run("document/elements/settings", {
					container: this.options.container,
					settings: _defineProperty({}, key, value)
				});
				this.triggerMethod("settings:change");
			},
			applySavedValue: function applySavedValue() {
				this.setInputValue("[data-setting=\"" + this.model.get("name") + "\"]", this.getControlValue());
			},
			getEditSettings: function getEditSettings(setting) {
				var settings = this.getOption("elementEditSettings").toJSON();
				if (setting) return settings[setting];
				return settings;
			},
			setEditSetting: function setEditSetting(settingKey, settingValue) {
				(this.getOption("elementEditSettings") || this.getOption("container").settings).set(settingKey, settingValue);
			},
			/**
			* Get the placeholder for the current control.
			*
			* @return {*} placeholder
			*/
			getControlPlaceholder: function getControlPlaceholder() {
				var placeholder = this.model.get("placeholder");
				if (this.model.get("responsive") && this.model.get("inherit_placeholders")) placeholder = placeholder || this.container.placeholders[this.model.get("name")];
				return placeholder;
			},
			/**
			* Get the responsive parent view if exists.
			*
			* @return {ControlBaseDataView|undefined} responsive parent view if exists
			*/
			getResponsiveParentView: function getResponsiveParentView() {
				var parent = this.model.get("parent");
				try {
					return parent && this.container.panel.getControlView(parent);
				} catch (e) {}
			},
			/**
			* Get the responsive children views if exists.
			*
			* @return {ControlBaseDataView|null} responsive children views if exists
			*/
			getResponsiveChildrenViews: function getResponsiveChildrenViews() {
				var children = this.model.get("inheritors");
				var views = [];
				try {
					var _iterator = _createForOfIteratorHelper(children);
					var _step;
					try {
						for (_iterator.s(); !(_step = _iterator.n()).done;) {
							var child = _step.value;
							views.push(this.container.panel.getControlView(child));
						}
					} catch (err) {
						_iterator.e(err);
					} finally {
						_iterator.f();
					}
				} catch (e) {}
				return views;
			},
			/**
			* Get prepared placeholder from the responsive parent, and put it into current
			* control model as placeholder.
			*/
			setPlaceholderFromParent: function setPlaceholderFromParent() {
				var parent = this.getResponsiveParentView();
				if (parent) this.container.placeholders[this.model.get("name")] = parent.preparePlaceholderForChildren();
			},
			/**
			* Returns the value of the current control if exists, or the parent value if not,
			* so responsive children can set it as their placeholder. When there are multiple
			* inputs, the inputs which are empty on this control will inherit their values
			* from the responsive parent.
			* For example, if on desktop the padding of all edges is 10, and on tablet only
			* padding right and left is set to 15, the mobile control placeholder will
			* eventually be: { top: 10, right: 15, left: 15, bottom: 10 }, because of the
			* inheritance of multiple values.
			*
			* @return {*} value of the current control if exists, or the parent value if not
			*/
			preparePlaceholderForChildren: function preparePlaceholderForChildren() {
				var _this$getResponsivePa;
				var cleanValue = this.getCleanControlValue();
				var parentValue = (_this$getResponsivePa = this.getResponsiveParentView()) === null || _this$getResponsivePa === void 0 ? void 0 : _this$getResponsivePa.preparePlaceholderForChildren();
				if (cleanValue instanceof Object) return Object.assign({}, parentValue, cleanValue);
				return cleanValue || parentValue;
			},
			/**
			* Start the re-rendering recursive chain from the responsive child of this
			* control. It's useful when the current control value is changed and we want
			* to update all responsive children. In this case, the re-rendering is supposed
			* to be applied only from the responsive child of this control and on.
			*/
			propagatePlaceholder: function propagatePlaceholder() {
				var _iterator2 = _createForOfIteratorHelper(this.getResponsiveChildrenViews());
				var _step2;
				try {
					for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) _step2.value.renderWithChildren();
				} catch (err) {
					_iterator2.e(err);
				} finally {
					_iterator2.f();
				}
			},
			/**
			* Re-render current control and trigger this method on the responsive child.
			* The purpose of those actions is to recursively re-render all responsive
			* children.
			*/
			renderWithChildren: function renderWithChildren() {
				this.render();
				this.propagatePlaceholder();
			},
			/**
			* Get control value without empty properties, and without default values.
			*
			* @return {{}} control value without empty properties, and without default values
			*/
			getCleanControlValue: function getCleanControlValue() {
				var value = this.getControlValue();
				return value && value !== this.model.get("default") ? value : void 0;
			},
			onAfterChange: function onAfterChange(control) {
				if (Object.keys(control.changed).includes(this.model.get("name"))) this.propagatePlaceholder();
				ControlBaseView.prototype.onAfterChange.apply(this, arguments);
			},
			getInputValue: function getInputValue(input) {
				var $input = this.$(input);
				if ($input.is("[contenteditable=\"true\"]")) return $input.html();
				var inputValue = $input.val();
				var inputType = $input.attr("type");
				if (-1 !== ["radio", "checkbox"].indexOf(inputType)) return $input.prop("checked") ? inputValue : "";
				if ("number" === inputType && _.isFinite(inputValue)) return +inputValue;
				if ("SELECT" === input.tagName && $input.prop("multiple") && null === inputValue) inputValue = [];
				return inputValue;
			},
			setInputValue: function setInputValue(input, value) {
				var $input = this.$(input);
				var inputType = $input.attr("type");
				if ("checkbox" === inputType) $input.prop("checked", !!value);
				else if ("radio" === inputType) $input.filter("[value=\"" + value + "\"]").prop("checked", true);
				else $input.val(value);
			},
			addValidator: function addValidator(validator) {
				this.validators.push(validator);
			},
			registerValidators: function registerValidators() {
				var _this = this;
				this.validators = [];
				var validationTerms = {};
				if (this.model.get("required")) validationTerms.required = true;
				if (!jQuery.isEmptyObject(validationTerms)) this.addValidator(new this.validatorTypes.Base({ validationTerms }));
				var validators = this.model.get("validators");
				if (validators) Object.entries(validators).forEach(function(_ref) {
					var _ref2 = _slicedToArray(_ref, 2);
					var key = _ref2[0];
					var args = _ref2[1];
					_this.addValidator(new _this.validatorTypes[key]({ validationTerms: args }));
				});
			},
			onBeforeRender: function onBeforeRender() {
				this.setPlaceholderFromParent();
			},
			onRender: function onRender() {
				ControlBaseView.prototype.onRender.apply(this, arguments);
				if (this.model.get("responsive")) this.renderResponsiveSwitchers();
				this.applySavedValue();
				this.triggerMethod("ready");
				this.toggleControlVisibility();
				this.addTooltip();
			},
			onBaseInputTextChange: function onBaseInputTextChange(event) {
				this.onBaseInputChange(event);
			},
			onBaseInputChange: function onBaseInputChange(event) {
				clearTimeout(this.correctionTimeout);
				var input = event.currentTarget;
				var value = this.getInputValue(input);
				var validators = this.validators.slice(0);
				var settingsValidators = this.container.settings.validators[this.model.get("name")];
				if (settingsValidators) validators = validators.concat(settingsValidators);
				if (validators) {
					var oldValue = this.getControlValue(input.dataset.setting);
					if (!validators.every(function(validator) {
						return validator.isValid(value, oldValue);
					})) {
						this.correctionTimeout = setTimeout(this.setInputValue.bind(this, input, oldValue), 1200);
						return;
					}
				}
				this.updateElementModel(value, input);
				this.triggerMethod("input:change", event);
			},
			onResponsiveSwitchersClick: function onResponsiveSwitchersClick(event) {
				var $switcher = jQuery(event.currentTarget);
				var device = $switcher.data("device");
				var $switchersWrapper = this.ui.responsiveSwitchersWrapper;
				var selectedOption = $switcher.index();
				$switchersWrapper.toggleClass("elementor-responsive-switchers-open");
				$switchersWrapper[0].style.setProperty("--selected-option", selectedOption);
				this.triggerMethod("responsive:switcher:click", device);
				elementor.changeDeviceMode(device);
			},
			renderResponsiveSwitchers: function renderResponsiveSwitchers() {
				var templateHtml = Marionette.Renderer.render("#tmpl-elementor-control-responsive-switchers", this.model.attributes);
				this.ui.responsiveSwitchersSibling.after(templateHtml);
				this.ui.responsiveSwitchersWrapper = this.$el.find(".elementor-control-responsive-switchers");
			},
			onAfterExternalChange: function onAfterExternalChange() {
				this.hideTooltip();
				this.applySavedValue();
			},
			addTooltip: function addTooltip() {
				this.ui.tooltipTargets = this.$el.find(".tooltip-target");
				if (!this.ui.tooltipTargets.length) return;
				this.ui.tooltipTargets.tipsy({
					gravity: function gravity() {
						var gravity = jQuery(this).data("tooltip-pos");
						if (void 0 !== gravity) return gravity;
						return "s";
					},
					title: function title() {
						return this.getAttribute("data-tooltip");
					}
				});
			},
			hideTooltip: function hideTooltip() {
				if (this.ui.tooltipTargets.length) this.ui.tooltipTargets.tipsy("hide");
			},
			updateElementModel: function updateElementModel(value) {
				this.setValue(value);
			}
		}, {
			getStyleValue: function getStyleValue(placeholder, controlValue, controlData) {
				if ("DEFAULT" === placeholder) return controlData.default;
				return controlValue;
			},
			onPasteStyle: function onPasteStyle() {
				return true;
			}
		});
		module.exports = ControlBaseDataView;
	}));

//#endregion
//#region assets/dev/js/editor/utils/color-picker.js
	function _callSuper$320(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$321() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$321() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$321 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ColorPicker;
	var init_color_picker = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$320, "_callSuper");
		__name(_isNativeReflectConstruct$321, "_isNativeReflectConstruct");
		ColorPicker = /*#__PURE__*/ function(_elementorModules$Mod) {
			function ColorPicker() {
				var _this;
				_classCallCheck(this, ColorPicker);
				for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
				_this = _callSuper$320(this, ColorPicker, [].concat(args));
				_this.createPicker();
				return _this;
			}
			_inherits(ColorPicker, _elementorModules$Mod);
			return _createClass(ColorPicker, [
				{
					key: "getDefaultSettings",
					value: function getDefaultSettings() {
						return {
							picker: {
								theme: "monolith",
								position: "bottom-middle",
								components: {
									opacity: true,
									hue: true,
									interaction: {
										input: true,
										hex: true,
										rgba: true,
										hsla: true
									}
								}
							},
							classes: {
								active: "elementor-active",
								pickerHeader: "elementor-color-picker__header",
								pickerToolsContainer: "e-color-picker__tools",
								pickerTool: "e-control-tool",
								clearButton: "e-color-picker__clear",
								plusIcon: "eicon-plus"
							}
						};
					}
				},
				{
					key: "createPicker",
					value: function createPicker() {
						var _this2 = this;
						var pickerSettings = this.getSettings("picker");
						pickerSettings.default = pickerSettings.default || null;
						this.picker = new Pickr(pickerSettings);
						this.picker.setColor(pickerSettings.default || "#020101");
						this.color = this.processColor();
						this.picker.on("change", function() {
							return _this2.onPickerChange();
						}).on("clear", function() {
							return _this2.onPickerClear();
						}).on("show", function() {
							return _this2.onPickerShow();
						}).on("hide", function() {
							return _this2.onPickerHide();
						});
						this.$pickerAppContainer = jQuery(this.picker.getRoot().app);
						this.createPickerHeader();
					}
				},
				{
					key: "addTipsyToClearButton",
					value: function addTipsyToClearButton() {
						this.$clearButton.tipsy({
							title: function title() {
								return (0, _wordpress_i18n.__)("Clear", "elementor");
							},
							gravity: function gravity() {
								return "s";
							}
						});
					}
				},
				{
					key: "processColor",
					value: function processColor() {
						var color = this.picker.getColor();
						var colorRepresentation;
						if (1 === color.a) colorRepresentation = color.toHEXA();
						else colorRepresentation = color.toRGBA();
						return colorRepresentation.toString();
					}
				},
				{
					key: "getColor",
					value: function getColor() {
						return this.color;
					}
				},
				{
					key: "createPickerHeader",
					value: function createPickerHeader() {
						var classes = this.getSettings().classes;
						var $pickerHeader = jQuery("<div>", { class: classes.pickerHeader }).text((0, _wordpress_i18n.__)("Color Picker", "elementor"));
						var $pickerToolsContainer = jQuery("<div>", { class: classes.pickerToolsContainer });
						var addButton = this.getSettings("addButton");
						this.$pickerToolsContainer = $pickerToolsContainer;
						if (addButton) this.createAddButton();
						this.createClearButton();
						$pickerToolsContainer.append(this.$clearButton, this.$addButton);
						$pickerHeader.append($pickerToolsContainer);
						this.$pickerAppContainer.prepend($pickerHeader);
					}
				},
				{
					key: "createAddButton",
					value: function createAddButton() {
						var _this3 = this;
						var classes = this.getSettings().classes;
						this.$addButton = jQuery("<button>", { class: classes.pickerTool }).html(jQuery("<i>", { class: classes.plusIcon }));
						this.$addButton.on("click", function() {
							return _this3.onAddButtonClick();
						});
						this.$addButton.tipsy({
							title: function title() {
								return (0, _wordpress_i18n.__)("Create New Global Color", "elementor");
							},
							gravity: function gravity() {
								return "s";
							}
						});
					}
				},
				{
					key: "createClearButton",
					value: function createClearButton() {
						var _this4 = this;
						var classes = this.getSettings().classes;
						this.$clearButton = jQuery("<button>", { class: classes.clearButton + " " + classes.pickerTool }).html("<i class=\"eicon-undo\"></i>");
						this.$clearButton.on("click", function() {
							return _this4.picker._clearColor();
						});
						this.addTipsyToClearButton();
					}
				},
				{
					key: "destroy",
					value: function destroy() {
						this.picker.destroyAndRemove();
					}
				},
				{
					key: "fixTipsyForFF",
					value: function fixTipsyForFF($button) {
						$button.data("tipsy").hide();
					}
				},
				{
					key: "introductionViewed",
					value: function introductionViewed() {
						return ColorPicker.droppingIntroductionViewed || elementor.config.user.introduction.colorPickerDropping;
					}
				},
				{
					key: "toggleClearButtonState",
					value: function toggleClearButtonState(active) {
						this.$clearButton.toggleClass("e-control-tool-disabled", !active);
					}
				},
				{
					key: "onPickerChange",
					value: function onPickerChange() {
						this.picker.applyColor();
						var newColor = this.processColor();
						if (newColor === this.color) return;
						this.color = newColor;
						var onChange = this.getSettings("onChange");
						if (onChange) onChange();
					}
				},
				{
					key: "onPickerClear",
					value: function onPickerClear() {
						this.color = "";
						var onClear = this.getSettings("onClear");
						if (onClear) onClear();
					}
				},
				{
					key: "onPickerShow",
					value: function onPickerShow() {
						var resultInput = this.picker.getRoot().interaction.result;
						var onPickerShow = this.getSettings("onPickerShow");
						if (onPickerShow) onPickerShow();
						setTimeout(function() {
							resultInput.select();
						}, 100);
					}
				},
				{
					key: "onPickerHide",
					value: function onPickerHide() {
						var onPickerHide = this.getSettings("onPickerHide");
						if (onPickerHide) onPickerHide();
					}
				},
				{
					key: "onAddButtonClick",
					value: function onAddButtonClick() {
						this.picker.hide();
						var onPickerAddButtonClick = this.getSettings("onAddButtonClick");
						if (onPickerAddButtonClick) onPickerAddButtonClick();
						this.fixTipsyForFF(this.$addButton);
					}
				}
			]);
		}(elementorModules.Module);
	}));

//#endregion
//#region assets/dev/js/editor/controls/color.js
	init_asyncToGenerator();
	init_toConsumableArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	var import_regenerator$16 = /* @__PURE__ */ __toESM(require_regenerator());
	var import_base_data$1 = /* @__PURE__ */ __toESM(require_base_data());
	init_color_picker();
	function _callSuper$319(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$320() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$319, "_callSuper");
	function _isNativeReflectConstruct$320() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$320 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$320, "_isNativeReflectConstruct");
	function _superPropGet$37(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$37, "_superPropGet");
	var _default$29 = /*#__PURE__*/ function(_ControlBaseDataView) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$319(this, _default, arguments);
		}
		_inherits(_default, _ControlBaseDataView);
		return _createClass(_default, [
			{
				key: "ui",
				value: function ui() {
					var ui = _superPropGet$37(_default, "ui", this, 3)([]);
					ui.pickerContainer = ".elementor-color-picker-placeholder";
					return ui;
				}
			},
			{
				key: "applySavedValue",
				value: function applySavedValue() {
					var currentValue = this.getCurrentValue();
					if (this.colorPicker) if (currentValue) {
						var _this$colorPicker$pic;
						var parsedColor = this.colorPicker.picker._parseLocalColor(currentValue);
						(_this$colorPicker$pic = this.colorPicker.picker).setHSVA.apply(_this$colorPicker$pic, _toConsumableArray(parsedColor.values).concat([false]));
					} else this.colorPicker.picker._clearColor(true);
					else this.initPicker();
					this.$el.toggleClass("e-control-color--no-value", !currentValue);
				}
			},
			{
				key: "initPicker",
				value: function initPicker() {
					var _this$model$get;
					var _this = this;
					var options = {
						picker: {
							el: this.ui.pickerContainer[0],
							default: this.getCurrentValue(),
							components: { opacity: this.model.get("alpha") },
							defaultRepresentation: "HEX"
						},
						addButton: (_this$model$get = this.model.get("global")) === null || _this$model$get === void 0 ? void 0 : _this$model$get.active,
						onChange: function onChange() {
							return _this.onPickerChange();
						},
						onClear: function onClear() {
							return _this.onPickerClear();
						},
						onAddButtonClick: function onAddButtonClick() {
							return _this.onAddGlobalButtonClick();
						},
						onPickerShow: function onPickerShow() {
							return _this.reRoute(true);
						},
						onPickerHide: function onPickerHide() {
							return _this.reRoute(false);
						}
					};
					this.colorPicker = new ColorPicker(options);
					this.hidePickerOnPreviewClick();
					this.$pickerButton = jQuery(this.colorPicker.picker.getRoot().button);
					this.addTipsyToPickerButton();
					this.addEyedropper();
					this.$pickerButton.on("click", function() {
						return _this.onPickerButtonClick();
					});
					jQuery(this.colorPicker.picker.getRoot().root).addClass("elementor-control-unit-1 elementor-control-tag-area");
				}
			},
			{
				key: "hidePickerOnPreviewClick",
				value: function hidePickerOnPreviewClick() {
					var picker = this.colorPicker.picker;
					var pickerUtils = picker.constructor.utils;
					picker._eventBindings.push(pickerUtils.on(elementorFrontend.elements.window.document, ["touchstart", "pointerdown"], function() {
						if (picker.isOpen()) picker.hide();
					}));
				}
			},
			{
				key: "addTipsyToPickerButton",
				value: function addTipsyToPickerButton() {
					var _this2 = this;
					this.$pickerButton.tipsy({
						title: function title() {
							var currentValue = _this2.getCurrentValue();
							if (_this2.getGlobalKey() && !currentValue) currentValue = "".concat((0, _wordpress_i18n.__)("Invalid Global Color", "elementor"));
							return currentValue || "";
						},
						offset: 4,
						gravity: function gravity() {
							return "s";
						}
					});
				}
			},
			{
				key: "addEyedropper",
				value: function addEyedropper() {
					var _this3 = this;
					var $colorPicker = jQuery(Marionette.Renderer.render("#tmpl-elementor-control-element-color-picker"));
					var $colorPickerToolsContainer = this.colorPicker.$pickerToolsContainer;
					var container = this.getOption("container");
					var kit = null;
					if ("kit" === container.document.config.type) kit = container.document;
					$colorPicker.tipsy({
						title: function title() {
							return (0, _wordpress_i18n.__)("Color Sampler", "elementor");
						},
						gravity: "s"
					});
					$colorPicker.on("click", function() {
						$e.run("elements-color-picker/start", {
							container,
							kit,
							control: _this3.model.get("name"),
							trigger: $colorPicker[0]
						});
					});
					$colorPickerToolsContainer.append($colorPicker);
				}
			},
			{
				key: "getGlobalMeta",
				value: function getGlobalMeta() {
					return {
						commandName: this.getGlobalCommand(),
						key: this.model.get("name"),
						controlType: "colors",
						route: "panel/global/global-colors"
					};
				}
			},
			{
				key: "getNameAlreadyExistsMessage",
				value: function getNameAlreadyExistsMessage() {
					return "<i class=\"eicon-info-circle\"></i> " + (0, _wordpress_i18n.__)("Please note that the same exact color already exists in your Global Colors list. Are you sure you want to create it?", "elementor");
				}
			},
			{
				key: "getConfirmTextMessage",
				value: function getConfirmTextMessage() {
					return (0, _wordpress_i18n.__)("Are you sure you want to create a new Global Color?", "elementor");
				}
			},
			{
				key: "getAddGlobalConfirmMessage",
				value: function getAddGlobalConfirmMessage(globalColors) {
					var colorTitle = (0, _wordpress_i18n.__)("New Global Color", "elementor");
					var currentValue = this.getCurrentValue();
					var $message = jQuery("<div>", { class: "e-global__confirm-message" });
					var $messageText = jQuery("<div>", { class: "e-global__confirm-message-text" });
					var $inputWrapper = jQuery("<div>", { class: "e-global__confirm-input-wrapper" });
					var $colorPreview = this.createColorPreviewBox(currentValue);
					var $input = jQuery("<input>", {
						type: "text",
						name: "global-name",
						placeholder: colorTitle
					}).val(colorTitle);
					var messageContent;
					for (var _i = 0, _Object$values = Object.values(globalColors); _i < _Object$values.length; _i++) {
						var globalColor = _Object$values[_i];
						if (currentValue === globalColor.value) {
							messageContent = this.getNameAlreadyExistsMessage();
							break;
						} else if (colorTitle === globalColor.title) {
							messageContent = this.getConfirmTextMessage();
							break;
						} else messageContent = (0, _wordpress_i18n.__)("Are you sure you want to create a new Global Color?", "elementor");
					}
					$messageText.html(messageContent);
					$inputWrapper.append($colorPreview, $input);
					$message.append($messageText, $inputWrapper);
					return $message;
				}
			},
			{
				key: "getGlobalCommand",
				value: function getGlobalCommand() {
					return "globals/colors";
				}
			},
			{
				key: "createGlobalItemMarkup",
				value: function createGlobalItemMarkup(globalData) {
					var $color = jQuery("<div>", {
						class: "e-global__preview-item e-global__color",
						"data-global-id": globalData.id
					});
					var $colorPreview = this.createColorPreviewBox(globalData.value);
					var $colorTitle = jQuery("<span>", { class: "e-global__color-title" }).html(_.escape(globalData.title));
					var $colorHex = jQuery("<span>", { class: "e-global__color-hex" }).text(globalData.value);
					$color.append($colorPreview, $colorTitle, $colorHex);
					return $color;
				}
			},
			{
				key: "createHeaderItemMarkup",
				value: function createHeaderItemMarkup(text) {
					return jQuery("<div>", { class: "e-global__group-header" }).text(text);
				}
			},
			{
				key: "createColorPreviewBox",
				value: function createColorPreviewBox(color) {
					var $colorPreviewContainer = jQuery("<div>", { class: "e-global__color-preview-container" });
					var $colorPreviewColor = jQuery("<div>", {
						class: "e-global__color-preview-color",
						style: "background-color: " + color
					});
					var $colorPreviewBg = jQuery("<div>", { class: "e-global__color-preview-transparent-bg" });
					$colorPreviewContainer.append($colorPreviewBg, $colorPreviewColor);
					return $colorPreviewContainer;
				}
			},
			{
				key: "getGlobalsList",
				value: function() {
					var _getGlobalsList = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
						var result;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									_context.next = 1;
									return $e.data.get(this.getGlobalCommand());
								case 1:
									result = _context.sent;
									return _context.abrupt("return", result.data);
								case 2:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function getGlobalsList() {
						return _getGlobalsList.apply(this, arguments);
					}
					return getGlobalsList;
				}()
			},
			{
				key: "buildGlobalsList",
				value: function buildGlobalsList(globalColors, $globalPreviewItemsContainer) {
					var _this4 = this;
					var v4Colors = [];
					var v3Colors = [];
					Object.values(globalColors).forEach(function(color) {
						if (!color.value) return;
						if ("v4" === color.group) v4Colors.push(color);
						else v3Colors.push(color);
					});
					if (v4Colors.length) {
						$globalPreviewItemsContainer.append(this.createHeaderItemMarkup((0, _wordpress_i18n.__)("Atomic Variables", "elementor")));
						v4Colors.forEach(function(color) {
							$globalPreviewItemsContainer.append(_this4.createGlobalItemMarkup(color));
						});
						$globalPreviewItemsContainer.append(this.createHeaderItemMarkup((0, _wordpress_i18n.__)("Global Colors", "elementor")));
					}
					v3Colors.forEach(function(color) {
						$globalPreviewItemsContainer.append(_this4.createGlobalItemMarkup(color));
					});
				}
			},
			{
				key: "onPickerChange",
				value: function onPickerChange() {
					this.setValue(this.colorPicker.picker.getColor().toHEXA().toString());
					if (!this.isCustom) {
						this.triggerMethod("value:type:change");
						this.colorPicker.toggleClearButtonState(true);
						if (this.$el.hasClass("e-control-color--no-value")) this.$el.removeClass("e-control-color--no-value");
						this.isCustom = true;
					}
				}
			},
			{
				key: "onPickerClear",
				value: function onPickerClear() {
					this.isCustom = false;
					this.setValue("");
					this.triggerMethod("value:type:change");
					this.applySavedValue();
					this.colorPicker.toggleClearButtonState(false);
				}
			},
			{
				key: "onPickerButtonClick",
				value: function onPickerButtonClick() {
					if (this.getGlobalKey()) this.triggerMethod("unset:global:value");
					else if (this.isGlobalActive() && !this.getControlValue() && this.getGlobalDefault()) this.triggerMethod("unlink:global:default");
					this.colorPicker.toggleClearButtonState(!!this.getCurrentValue());
				}
			},
			{
				key: "onAddGlobalButtonClick",
				value: function onAddGlobalButtonClick() {
					var _this5 = this;
					this.getGlobalsList().then(function(globalsList) {
						_this5.globalsList = globalsList;
						_this5.triggerMethod("add:global:to:list", _this5.getAddGlobalConfirmMessage(globalsList));
					});
				}
			},
			{
				key: "activate",
				value: function activate() {
					this.colorPicker.picker.show();
				}
			},
			{
				key: "onBeforeDestroy",
				value: function onBeforeDestroy() {
					if (this.colorPicker) this.colorPicker.destroy();
				}
			}
		]);
	}(import_base_data$1.default);

//#endregion
//#region assets/dev/js/editor/controls/date-time.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$318(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$319() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$318, "_callSuper");
	function _isNativeReflectConstruct$319() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$319 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$319, "_isNativeReflectConstruct");
	function _superPropGet$36(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$36, "_superPropGet");
	var _default$28 = /*#__PURE__*/ function(_ControlBaseDataView) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$318(this, _default, arguments);
		}
		_inherits(_default, _ControlBaseDataView);
		return _createClass(_default, [
			{
				key: "onReady",
				value: function onReady() {
					var options = _.extend({
						enableTime: true,
						minuteIncrement: 1
					}, this.model.get("picker_options"));
					this.ui.input.flatpickr(options);
				}
			},
			{
				key: "onBaseInputChange",
				value: function onBaseInputChange() {
					var _this$model$get;
					_superPropGet$36(_default, "onBaseInputChange", this, 3)(arguments);
					if ((_this$model$get = this.model.get("validation")) !== null && _this$model$get !== void 0 && _this$model$get.date_time) this.validateDateTime();
				}
			},
			{
				key: "validateDateTime",
				value: function validateDateTime() {
					var _this$model$get$date_ = this.model.get("validation").date_time;
					var controlName = _this$model$get$date_.control_name;
					var operator = _this$model$get$date_.operator;
					var startDate = this.options.container.settings.get(controlName);
					var endDate = this.ui.input.val();
					if (!startDate || !endDate) return;
					var startDateTimestamp = new Date(startDate).getTime();
					var endDateTimestamp = new Date(endDate).getTime();
					if (elementor.conditions.compare(startDateTimestamp, endDateTimestamp, operator)) this.ui.input.val("");
				}
			},
			{
				key: "onBeforeDestroy",
				value: function onBeforeDestroy() {
					this.ui.input.flatpickr().destroy();
				}
			}
		]);
	}(require_base_data());

//#endregion
//#region assets/dev/js/modules/imports/instance-type.js
	function _superPropGet$35(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var InstanceType;
	var init_instance_type = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_getPrototypeOf();
		init_get();
		__name(_superPropGet$35, "_superPropGet");
		InstanceType = /*#__PURE__*/ function() {
			function InstanceType() {
				var _this = this;
				_classCallCheck(this, InstanceType);
				var target = this instanceof InstanceType ? this.constructor : void 0;
				var prototypes = [];
				while (target.__proto__ && target.__proto__.name) {
					prototypes.push(target.__proto__);
					target = target.__proto__;
				}
				prototypes.reverse().forEach(function(proto) {
					return _this instanceof proto;
				});
			}
			return _createClass(InstanceType, null, [{
				key: Symbol.hasInstance,
				value: function value(target) {
					/**
					* This is function extending being called each time JS uses instanceOf, since babel use it each time it create new class
					* its give's opportunity to mange capabilities of instanceOf operator.
					* saving current class each time will give option later to handle instanceOf manually.
					*/
					var result = _superPropGet$35(InstanceType, Symbol.hasInstance, this, 2)([target]);
					if (target && !target.constructor.getInstanceType) return result;
					if (target) {
						if (!target.instanceTypes) target.instanceTypes = [];
						if (!result) {
							if (this.getInstanceType() === target.constructor.getInstanceType()) result = true;
						}
						if (result) {
							var name = this.getInstanceType === InstanceType.getInstanceType ? "BaseInstanceType" : this.getInstanceType();
							if (-1 === target.instanceTypes.indexOf(name)) target.instanceTypes.push(name);
						}
					}
					if (!result && target) result = target.instanceTypes && Array.isArray(target.instanceTypes) && -1 !== target.instanceTypes.indexOf(this.getInstanceType());
					return result;
				}
			}, {
				key: "getInstanceType",
				value: function getInstanceType() {
					elementorModules.ForceMethodImplementation();
				}
			}]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/utils/is-instanceof.js
	function _createForOfIteratorHelper$9(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$9(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	function _unsupportedIterableToArray$9(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$9(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$9(r, a) : void 0;
		}
	}
	function _arrayLikeToArray$9(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	var is_instanceof_default;
	var init_is_instanceof = __esmMin((() => {
		__name(_createForOfIteratorHelper$9, "_createForOfIteratorHelper");
		__name(_unsupportedIterableToArray$9, "_unsupportedIterableToArray");
		__name(_arrayLikeToArray$9, "_arrayLikeToArray");
		is_instanceof_default = /* @__PURE__ */ __name((function(object, constructors) {
			constructors = Array.isArray(constructors) ? constructors : [constructors];
			var _iterator = _createForOfIteratorHelper$9(constructors);
			var _step;
			try {
				for (_iterator.s(); !(_step = _iterator.n()).done;) {
					var constructor = _step.value;
					if (object.constructor.name === constructor.prototype[Symbol.toStringTag]) return true;
				}
			} catch (err) {
				_iterator.e(err);
			} finally {
				_iterator.f();
			}
			return false;
		}), "default");
	}));

//#endregion
//#region assets/dev/js/modules/imports/args-object.js
	function _callSuper$317(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$318() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$318() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$318 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ArgsObject;
	var init_args_object = __esmMin((() => {
		init_typeof();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_instance_type();
		init_is_instanceof();
		__name(_callSuper$317, "_callSuper");
		__name(_isNativeReflectConstruct$318, "_isNativeReflectConstruct");
		ArgsObject = /*#__PURE__*/ function(_InstanceType) {
			/**
			* Function constructor().
			*
			* Create ArgsObject.
			*
			* @param {{}} args
			*/
			function ArgsObject(args) {
				var _this;
				_classCallCheck(this, ArgsObject);
				_this = _callSuper$317(this, ArgsObject);
				_this.args = args;
				return _this;
			}
			/**
			* Function requireArgument().
			*
			* Validate property in args.
			*
			* @param {string} property
			* @param {{}}     args
			*
			* @throws {Error}
			*/
			_inherits(ArgsObject, _InstanceType);
			return _createClass(ArgsObject, [
				{
					key: "requireArgument",
					value: function requireArgument(property) {
						var args = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this.args;
						if (!Object.prototype.hasOwnProperty.call(args, property)) throw Error("".concat(property, " is required."));
					}
				},
				{
					key: "requireArgumentType",
					value: function requireArgumentType(property, type) {
						var args = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.args;
						this.requireArgument(property, args);
						if (_typeof(args[property]) !== type) throw Error("".concat(property, " invalid type: ").concat(type, "."));
					}
				},
				{
					key: "requireArgumentInstance",
					value: function requireArgumentInstance(property, instance) {
						var args = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.args;
						this.requireArgument(property, args);
						if (!(args[property] instanceof instance) && !is_instanceof_default(args[property], instance)) throw Error("".concat(property, " invalid instance."));
					}
				},
				{
					key: "requireArgumentConstructor",
					value: function requireArgumentConstructor(property, type) {
						var args = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this.args;
						this.requireArgument(property, args);
						if (args[property].constructor.toString() !== type.prototype.constructor.toString()) throw Error("".concat(property, " invalid constructor type."));
					}
				}
			], [{
				key: "getInstanceType",
				value: function getInstanceType() {
					return "ArgsObject";
				}
			}]);
		}(InstanceType);
	}));

//#endregion
//#region modules/web-cli/assets/js/utils/console.js
	var Console;
	var init_console = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		Console = /*#__PURE__*/ function() {
			function Console() {
				_classCallCheck(this, Console);
			}
			return _createClass(Console, null, [{
				key: "error",
				value: function error(message) {
					if ($e.devTools) $e.devTools.log.error(message);
					if (!(message instanceof $e.modules.HookBreak)) console.error(message);
				}
			}, {
				key: "warn",
				value: function warn() {
					var _console;
					var style = "font-size: 12px; background-image: url(\"".concat(elementorWebCliConfig.urls.assets, "images/logo-icon.png\"); background-repeat: no-repeat; background-size: contain;");
					for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
					args.unshift("%c  %c", style, "");
					(_console = console).warn.apply(_console, args);
				}
			}]);
		}();
	}));

//#endregion
//#region modules/web-cli/assets/js/utils/deprecation.js
	var softDeprecated, hardDeprecated, deprecatedMessage, Deprecation;
	var init_deprecation = __esmMin((() => {
		init_slicedToArray();
		init_classCallCheck();
		init_createClass();
		init_console();
		softDeprecated = function softDeprecated(name, version, replacement) {
			if (elementorWebCliConfig.isDebug) deprecatedMessage("soft", name, version, replacement);
		};
		hardDeprecated = function hardDeprecated(name, version, replacement) {
			deprecatedMessage("hard", name, version, replacement);
		};
		deprecatedMessage = function deprecatedMessage(type, name, version, replacement) {
			var message = "`".concat(name, "` is ").concat(type, " deprecated since ").concat(version);
			if (replacement) message += " - Use `".concat(replacement, "` instead");
			Console.warn(message);
		};
		Deprecation = /*#__PURE__*/ function() {
			function Deprecation() {
				_classCallCheck(this, Deprecation);
			}
			return _createClass(Deprecation, null, [
				{
					key: "deprecated",
					value: function deprecated(name, version, replacement) {
						if (this.isHardDeprecated(version)) hardDeprecated(name, version, replacement);
						else softDeprecated(name, version, replacement);
					}
				},
				{
					key: "parseVersion",
					value: function parseVersion(version) {
						var versionParts = version.split(".");
						if (versionParts.length < 3 || versionParts.length > 4) throw new RangeError("Invalid Semantic Version string provided");
						var _versionParts = _slicedToArray(versionParts, 4);
						var major1 = _versionParts[0];
						var major2 = _versionParts[1];
						var minor = _versionParts[2];
						var _versionParts$ = _versionParts[3];
						return {
							major1: parseInt(major1),
							major2: parseInt(major2),
							minor: parseInt(minor),
							build: _versionParts$ === void 0 ? "" : _versionParts$
						};
					}
				},
				{
					key: "getTotalMajor",
					value: function getTotalMajor(versionObj) {
						var total = parseInt("".concat(versionObj.major1).concat(versionObj.major2, "0"));
						total = Number((total / 10).toFixed(0));
						if (versionObj.major2 > 9) total = versionObj.major2 - 9;
						return total;
					}
				},
				{
					key: "compareVersion",
					value: function compareVersion(version1, version2) {
						var _this = this;
						return [this.parseVersion(version1), this.parseVersion(version2)].map(function(versionObj) {
							return _this.getTotalMajor(versionObj);
						}).reduce(function(acc, major) {
							return acc - major;
						});
					}
				},
				{
					key: "isSoftDeprecated",
					value: function isSoftDeprecated(version) {
						return this.compareVersion(version, elementorWebCliConfig.version) <= 4;
					}
				},
				{
					key: "isHardDeprecated",
					value: function isHardDeprecated(version) {
						var total = this.compareVersion(version, elementorWebCliConfig.version);
						return total < 0 || total >= 8;
					}
				}
			]);
		}();
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/command-infra.js
	function _callSuper$316(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$317() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$317() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$317 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var CommandInfra;
	var init_command_infra = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_defineProperty();
		init_args_object();
		init_deprecation();
		__name(_callSuper$316, "_callSuper");
		__name(_isNativeReflectConstruct$317, "_isNativeReflectConstruct");
		CommandInfra = /*#__PURE__*/ function(_ArgsObject) {
			/**
			* Function constructor().
			*
			* Create Commands Base.
			*
			* @param {{}} args
			*/
			function CommandInfra() {
				var _this;
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				_classCallCheck(this, CommandInfra);
				_this = _callSuper$316(this, CommandInfra, [args]);
				if (!_this.constructor.registerConfig) throw RangeError("Doing it wrong: Each command type should have `registerConfig`.");
				_this.command = _this.constructor.getCommand();
				_this.component = _this.constructor.getComponent();
				_this.initialize(args);
				args = _this.args;
				_this.validateArgs(args);
				return _this;
			}
			/**
			* Function initialize().
			*
			* Initialize command, called after construction.
			*
			* @param {{}} args
			*/
			_inherits(CommandInfra, _ArgsObject);
			return _createClass(CommandInfra, [
				{
					key: "currentCommand",
					get: function get() {
						Deprecation.deprecated("this.currentCommand", "3.7.0", "this.command");
						return this.command;
					}
				},
				{
					key: "initialize",
					value: function initialize() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
					}
				},
				{
					key: "validateArgs",
					value: function validateArgs() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
					}
				},
				{
					key: "apply",
					value: function apply() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
						elementorModules.ForceMethodImplementation();
					}
				},
				{
					key: "run",
					value: function run() {
						return this.apply(this.args);
					}
				},
				{
					key: "onBeforeRun",
					value: function onBeforeRun() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
					}
				},
				{
					key: "onAfterRun",
					value: function onAfterRun() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
						arguments.length > 1 && arguments[1];
					}
				},
				{
					key: "onBeforeApply",
					value: function onBeforeApply() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
					}
				},
				{
					key: "onAfterApply",
					value: function onAfterApply() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
						arguments.length > 1 && arguments[1];
					}
				},
				{
					key: "onCatchApply",
					value: function onCatchApply(e) {}
				}
			], [
				{
					key: "getInstanceType",
					value: function getInstanceType() {
						return "CommandInfra";
					}
				},
				{
					key: "getInfo",
					value: function getInfo() {
						return {};
					}
				},
				{
					key: "getCommand",
					value: function getCommand() {
						return this.registerConfig.command;
					}
				},
				{
					key: "getComponent",
					value: function getComponent() {
						return this.registerConfig.component;
					}
				},
				{
					key: "setRegisterConfig",
					value: function setRegisterConfig(config) {
						this.registerConfig = Object.freeze(config);
					}
				}
			]);
		}(ArgsObject);
		/**
		* @type {Object}
		*/
		_defineProperty(CommandInfra, "registerConfig", null);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/command-base.js
	function _callSuper$315(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$316() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$316() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$316 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var CommandBase;
	var init_command_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_command_infra();
		init_deprecation();
		__name(_callSuper$315, "_callSuper");
		__name(_isNativeReflectConstruct$316, "_isNativeReflectConstruct");
		CommandBase = /*#__PURE__*/ function(_CommandInfra) {
			function CommandBase() {
				_classCallCheck(this, CommandBase);
				return _callSuper$315(this, CommandBase, arguments);
			}
			_inherits(CommandBase, _CommandInfra);
			return _createClass(CommandBase, [
				{
					key: "onBeforeRun",
					value: function onBeforeRun() {
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						$e.hooks.runUIBefore(this.command, args);
					}
				},
				{
					key: "onAfterRun",
					value: function onAfterRun() {
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						var result = arguments.length > 1 ? arguments[1] : void 0;
						$e.hooks.runUIAfter(this.command, args, result);
					}
				},
				{
					key: "onBeforeApply",
					value: function onBeforeApply() {
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						$e.hooks.runDataDependency(this.command, args);
					}
				},
				{
					key: "onAfterApply",
					value: function onAfterApply() {
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						var result = arguments.length > 1 ? arguments[1] : void 0;
						return $e.hooks.runDataAfter(this.command, args, result);
					}
				},
				{
					key: "onCatchApply",
					value: function onCatchApply(e) {
						this.runCatchHooks(e);
					}
				},
				{
					key: "runCatchHooks",
					value: function runCatchHooks(e) {
						$e.hooks.runDataCatch(this.command, this.args, e);
						$e.hooks.runUICatch(this.command, this.args, e);
					}
				},
				{
					key: "requireContainer",
					value: function requireContainer() {
						var _this = this;
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.args;
						Deprecation.deprecated("requireContainer()", "3.7.0", "Extend `$e.modules.editor.CommandContainerBase` or `$e.modules.editor.CommandContainerInternalBase`");
						if (!args.container && !args.containers) throw Error("container or containers are required.");
						if (args.container && args.containers) throw Error("container and containers cannot go together please select one of them.");
						(args.containers || [args.container]).forEach(function(container) {
							_this.requireArgumentInstance("container", elementorModules.editor.Container, { container });
						});
					}
				}
			], [{
				key: "getInstanceType",
				value: function getInstanceType() {
					return "CommandBase";
				}
			}]);
		}(CommandInfra);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/command-callback-base.js
	function _callSuper$314(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$315() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$315() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$315 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var CommandCallbackBase;
	var init_command_callback_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_command_base();
		__name(_callSuper$314, "_callSuper");
		__name(_isNativeReflectConstruct$315, "_isNativeReflectConstruct");
		CommandCallbackBase = /*#__PURE__*/ function(_CommandBase) {
			function CommandCallbackBase() {
				_classCallCheck(this, CommandCallbackBase);
				return _callSuper$314(this, CommandCallbackBase, arguments);
			}
			_inherits(CommandCallbackBase, _CommandBase);
			return _createClass(CommandCallbackBase, [{
				key: "apply",
				value: function apply() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					return this.constructor.getCallback()(args);
				}
			}], [{
				key: "getInstanceType",
				value: function getInstanceType() {
					return "CommandCallbackBase";
				}
			}, {
				key: "getCallback",
				value: function getCallback() {
					return this.registerConfig.callback;
				}
			}]);
		}(CommandBase);
	}));

//#endregion
//#region assets/dev/js/modules/imports/module.js
	var require_module = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_typeof();
		var Module = function Module() {
			var $ = jQuery;
			var instanceParams = arguments;
			var self = this;
			var events = {};
			var settings;
			var ensureClosureMethods = function ensureClosureMethods() {
				$.each(self, function(methodName) {
					var oldMethod = self[methodName];
					if ("function" !== typeof oldMethod) return;
					self[methodName] = function() {
						return oldMethod.apply(self, arguments);
					};
				});
			};
			var initSettings = function initSettings() {
				settings = self.getDefaultSettings();
				var instanceSettings = instanceParams[0];
				if (instanceSettings) $.extend(true, settings, instanceSettings);
			};
			var init = function init() {
				self.__construct.apply(self, instanceParams);
				ensureClosureMethods();
				initSettings();
				self.trigger("init");
			};
			this.getItems = function(items, itemKey) {
				if (itemKey) {
					var keyStack = itemKey.split(".");
					var currentKey = keyStack.splice(0, 1);
					if (!keyStack.length) return items[currentKey];
					if (!items[currentKey]) return;
					return this.getItems(items[currentKey], keyStack.join("."));
				}
				return items;
			};
			this.getSettings = function(setting) {
				return this.getItems(settings, setting);
			};
			this.setSettings = function(settingKey, value, settingsContainer) {
				if (!settingsContainer) settingsContainer = settings;
				if ("object" === _typeof(settingKey)) {
					$.extend(settingsContainer, settingKey);
					return self;
				}
				var keyStack = settingKey.split(".");
				var currentKey = keyStack.splice(0, 1);
				if (!keyStack.length) {
					settingsContainer[currentKey] = value;
					return self;
				}
				if (!settingsContainer[currentKey]) settingsContainer[currentKey] = {};
				return self.setSettings(keyStack.join("."), value, settingsContainer[currentKey]);
			};
			this.getErrorMessage = function(type, functionName) {
				var message;
				switch (type) {
					case "forceMethodImplementation":
						message = "The method '".concat(functionName, "' must to be implemented in the inheritor child.");
						break;
					default: message = "An error occurs";
				}
				return message;
			};
			this.forceMethodImplementation = function(functionName) {
				throw new Error(this.getErrorMessage("forceMethodImplementation", functionName));
			};
			this.on = function(eventName, callback) {
				if ("object" === _typeof(eventName)) {
					$.each(eventName, function(singleEventName) {
						self.on(singleEventName, this);
					});
					return self;
				}
				eventName.split(" ").forEach(function(singleEventName) {
					if (!events[singleEventName]) events[singleEventName] = [];
					events[singleEventName].push(callback);
				});
				return self;
			};
			this.off = function(eventName, callback) {
				if (!events[eventName]) return self;
				if (!callback) {
					delete events[eventName];
					return self;
				}
				var callbackIndex = events[eventName].indexOf(callback);
				if (-1 !== callbackIndex) {
					delete events[eventName][callbackIndex];
					events[eventName] = events[eventName].filter(function(val) {
						return val;
					});
				}
				return self;
			};
			this.trigger = function(eventName) {
				var methodName = "on" + eventName[0].toUpperCase() + eventName.slice(1);
				var params = Array.prototype.slice.call(arguments, 1);
				if (self[methodName]) self[methodName].apply(self, params);
				var callbacks = events[eventName];
				if (!callbacks) return self;
				$.each(callbacks, function(index, callback) {
					callback.apply(self, params);
				});
				return self;
			};
			init();
		};
		Module.prototype.__construct = function() {};
		Module.prototype.getDefaultSettings = function() {
			return {};
		};
		Module.prototype.getConstructorID = function() {
			return this.constructor.name;
		};
		Module.extend = function(properties) {
			var $ = jQuery;
			var parent = this;
			var child = function child() {
				return parent.apply(this, arguments);
			};
			$.extend(child, parent);
			child.prototype = Object.create($.extend({}, parent.prototype, properties));
			child.prototype.constructor = child;
			child.__super__ = parent.prototype;
			return child;
		};
		module.exports = Module;
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/isNativeFunction.js
	function _isNativeFunction(t) {
		try {
			return -1 !== Function.toString.call(t).indexOf("[native code]");
		} catch (n) {
			return "function" == typeof t;
		}
	}
	var init_isNativeFunction = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js
	function _isNativeReflectConstruct$314() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$314 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var init_isNativeReflectConstruct = __esmMin((() => {
		__name(_isNativeReflectConstruct$314, "_isNativeReflectConstruct");
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/construct.js
	function _construct(t, e, r) {
		if (_isNativeReflectConstruct$314()) return Reflect.construct.apply(null, arguments);
		var o = [null];
		o.push.apply(o, e);
		var p = new (t.bind.apply(t, o))();
		return r && _setPrototypeOf(p, r.prototype), p;
	}
	var init_construct = __esmMin((() => {
		init_isNativeReflectConstruct();
		init_setPrototypeOf();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js
	function _wrapNativeSuper(t) {
		var r = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0;
		return _wrapNativeSuper = function _wrapNativeSuper(t) {
			if (null === t || !_isNativeFunction(t)) return t;
			if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
			if (void 0 !== r) {
				if (r.has(t)) return r.get(t);
				r.set(t, Wrapper);
			}
			function Wrapper() {
				return _construct(t, arguments, _getPrototypeOf(this).constructor);
			}
			return Wrapper.prototype = Object.create(t.prototype, { constructor: {
				value: Wrapper,
				enumerable: !1,
				writable: !0,
				configurable: !0
			} }), _setPrototypeOf(Wrapper, t);
		}, _wrapNativeSuper(t);
	}
	var init_wrapNativeSuper = __esmMin((() => {
		init_getPrototypeOf();
		init_setPrototypeOf();
		init_isNativeFunction();
		init_construct();
	}));

//#endregion
//#region modules/web-cli/assets/js/utils/force-method-implementation.js
	function _callSuper$313(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$313() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$313() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$313 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ForceMethodImplementation, force_method_implementation_default;
	var init_force_method_implementation = __esmMin((() => {
		init_createClass();
		init_classCallCheck();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_wrapNativeSuper();
		__name(_callSuper$313, "_callSuper");
		__name(_isNativeReflectConstruct$313, "_isNativeReflectConstruct");
		ForceMethodImplementation = /*#__PURE__*/ function(_Error) {
			function ForceMethodImplementation() {
				var _this;
				var info = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				_classCallCheck(this, ForceMethodImplementation);
				_this = _callSuper$313(this, ForceMethodImplementation, ["".concat(info.isStatic ? "static " : "").concat(info.fullName, "() should be implemented, please provide '").concat(info.functionName || info.fullName, "' functionality.")]);
				Error.captureStackTrace(_this, ForceMethodImplementation);
				return _this;
			}
			_inherits(ForceMethodImplementation, _Error);
			return _createClass(ForceMethodImplementation);
		}(/*#__PURE__*/ _wrapNativeSuper(Error));
		force_method_implementation_default = /* @__PURE__ */ __name((function() {
			var caller = Error().stack.split("\n")[2].trim();
			var callerName = caller.startsWith("at new") ? "constructor" : caller.split(" ")[1];
			var info = {};
			info.functionName = callerName;
			info.fullName = callerName;
			if (info.functionName.includes(".")) {
				var parts = info.functionName.split(".");
				info.className = parts[0];
				info.functionName = parts[1];
			} else info.isStatic = true;
			throw new ForceMethodImplementation(info);
		}), "default");
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/component-base.js
	function ownKeys$22(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$22(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$22(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$22(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function _callSuper$312(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$312() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$312() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$312 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_module, ComponentBase$1;
	var init_component_base$1 = __esmMin((() => {
		init_defineProperty();
		init_slicedToArray();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_command_callback_base();
		import_module = /* @__PURE__ */ __toESM(require_module());
		init_force_method_implementation();
		init_deprecation();
		__name(ownKeys$22, "ownKeys");
		__name(_objectSpread$22, "_objectSpread");
		__name(_callSuper$312, "_callSuper");
		__name(_isNativeReflectConstruct$312, "_isNativeReflectConstruct");
		ComponentBase$1 = /*#__PURE__*/ function(_Module) {
			function ComponentBase() {
				_classCallCheck(this, ComponentBase);
				return _callSuper$312(this, ComponentBase, arguments);
			}
			_inherits(ComponentBase, _Module);
			return _createClass(ComponentBase, [
				{
					key: "__construct",
					value: function __construct() {
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						if (args.manager) this.manager = args.manager;
						this.commands = this.defaultCommands();
						this.commandsInternal = this.defaultCommandsInternal();
						this.hooks = this.defaultHooks();
						this.routes = this.defaultRoutes();
						this.tabs = this.defaultTabs();
						this.shortcuts = this.defaultShortcuts();
						this.utils = this.defaultUtils();
						this.data = this.defaultData();
						this.uiStates = this.defaultUiStates();
						this.states = this.defaultStates();
						this.defaultRoute = "";
						this.currentTab = "";
					}
				},
				{
					key: "registerAPI",
					value: function registerAPI() {
						var _this = this;
						Object.entries(this.getTabs()).forEach(function(tab) {
							return _this.registerTabRoute(tab[0]);
						});
						Object.entries(this.getRoutes()).forEach(function(_ref) {
							var _ref2 = _slicedToArray(_ref, 2);
							var route = _ref2[0];
							var callback = _ref2[1];
							return _this.registerRoute(route, callback);
						});
						Object.entries(this.getCommands()).forEach(function(_ref3) {
							var _ref4 = _slicedToArray(_ref3, 2);
							var command = _ref4[0];
							var callback = _ref4[1];
							return _this.registerCommand(command, callback);
						});
						Object.entries(this.getCommandsInternal()).forEach(function(_ref5) {
							var _ref6 = _slicedToArray(_ref5, 2);
							var command = _ref6[0];
							var callback = _ref6[1];
							return _this.registerCommandInternal(command, callback);
						});
						Object.values(this.getHooks()).forEach(function(instance) {
							return _this.registerHook(instance);
						});
						Object.entries(this.getData()).forEach(function(_ref7) {
							var _ref8 = _slicedToArray(_ref7, 2);
							var command = _ref8[0];
							var callback = _ref8[1];
							return _this.registerData(command, callback);
						});
						Object.values(this.getUiStates()).forEach(function(instance) {
							return _this.registerUiState(instance);
						});
						Object.entries(this.getStates()).forEach(function(_ref9) {
							var _ref0 = _slicedToArray(_ref9, 2);
							var id = _ref0[0];
							var state = _ref0[1];
							return _this.registerState(id, state);
						});
					}
				},
				{
					key: "getNamespace",
					value: function getNamespace() {
						force_method_implementation_default();
					}
				},
				{
					key: "getRootContainer",
					value: function getRootContainer() {
						Deprecation.deprecated("getRootContainer()", "3.7.0", "getServiceName()");
						return this.getServiceName();
					}
				},
				{
					key: "getServiceName",
					value: function getServiceName() {
						return this.getNamespace().split("/")[0];
					}
				},
				{
					key: "store",
					get: function get() {
						return $e.store.get(this.getNamespace());
					}
				},
				{
					key: "defaultTabs",
					value: function defaultTabs() {
						return {};
					}
				},
				{
					key: "defaultRoutes",
					value: function defaultRoutes() {
						return {};
					}
				},
				{
					key: "defaultCommands",
					value: function defaultCommands() {
						return {};
					}
				},
				{
					key: "defaultCommandsInternal",
					value: function defaultCommandsInternal() {
						return {};
					}
				},
				{
					key: "defaultHooks",
					value: function defaultHooks() {
						return {};
					}
				},
				{
					key: "defaultUiStates",
					value: function defaultUiStates() {
						return {};
					}
				},
				{
					key: "defaultStates",
					value: function defaultStates() {
						return {};
					}
				},
				{
					key: "defaultShortcuts",
					value: function defaultShortcuts() {
						return {};
					}
				},
				{
					key: "defaultUtils",
					value: function defaultUtils() {
						return {};
					}
				},
				{
					key: "defaultData",
					value: function defaultData() {
						return {};
					}
				},
				{
					key: "getCommands",
					value: function getCommands() {
						return this.commands;
					}
				},
				{
					key: "getCommandsInternal",
					value: function getCommandsInternal() {
						return this.commandsInternal;
					}
				},
				{
					key: "getHooks",
					value: function getHooks() {
						return this.hooks;
					}
				},
				{
					key: "getUiStates",
					value: function getUiStates() {
						return this.uiStates;
					}
				},
				{
					key: "getStates",
					value: function getStates() {
						return this.states;
					}
				},
				{
					key: "getRoutes",
					value: function getRoutes() {
						return this.routes;
					}
				},
				{
					key: "getTabs",
					value: function getTabs() {
						return this.tabs;
					}
				},
				{
					key: "getShortcuts",
					value: function getShortcuts() {
						return this.shortcuts;
					}
				},
				{
					key: "getData",
					value: function getData() {
						return this.data;
					}
				},
				{
					key: "registerCommand",
					value: function registerCommand(command, context) {
						var commandsType = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "default";
						var commandsManager;
						switch (commandsType) {
							case "default":
								commandsManager = $e.commands;
								break;
							case "internal":
								commandsManager = $e.commandsInternal;
								break;
							case "data":
								commandsManager = $e.data;
								break;
							default: throw new Error("Invalid commands type: '".concat(command, "'"));
						}
						var fullCommand = this.getNamespace() + "/" + command;
						var instanceType = context.getInstanceType ? context.getInstanceType() : false;
						var registerConfig = {
							command: fullCommand,
							component: this
						};
						if (!instanceType) {
							if ($e.devTools) $e.devTools.log.warn("Attach command-callback-base, on command: '".concat(fullCommand, "', context is unknown type."));
							registerConfig.callback = context;
							context = /*#__PURE__*/ function(_CommandCallbackBase) {
								function context() {
									_classCallCheck(this, context);
									return _callSuper$312(this, context, arguments);
								}
								_inherits(context, _CommandCallbackBase);
								return _createClass(context);
							}(CommandCallbackBase);
						}
						context.setRegisterConfig(registerConfig);
						commandsManager.register(this, command, context);
					}
				},
				{
					key: "registerHook",
					value: function registerHook(instance) {
						return instance.register();
					}
				},
				{
					key: "registerCommandInternal",
					value: function registerCommandInternal(command, context) {
						this.registerCommand(command, context, "internal");
					}
				},
				{
					key: "registerUiState",
					value: function registerUiState(instance) {
						$e.uiStates.register(instance);
					}
				},
				{
					key: "registerState",
					value: function registerState(id, stateConfig) {
						id = this.getNamespace() + (id ? "/".concat(id) : "");
						var slice = (0, _reduxjs_toolkit.createSlice)(_objectSpread$22(_objectSpread$22({}, stateConfig), {}, { name: id }));
						$e.store.register(id, slice);
					}
				},
				{
					key: "registerRoute",
					value: function registerRoute(route, callback) {
						$e.routes.register(this, route, callback);
					}
				},
				{
					key: "registerData",
					value: function registerData(command, context) {
						this.registerCommand(command, context, "data");
					}
				},
				{
					key: "unregisterRoute",
					value: function unregisterRoute(route) {
						$e.routes.unregister(this, route);
					}
				},
				{
					key: "registerTabRoute",
					value: function registerTabRoute(tab) {
						var _this2 = this;
						this.registerRoute(tab, function(args) {
							return _this2.activateTab(tab, args);
						});
					}
				},
				{
					key: "dependency",
					value: function dependency() {
						return true;
					}
				},
				{
					key: "open",
					value: function open() {
						return true;
					}
				},
				{
					key: "close",
					value: function close() {
						if (!this.isOpen) return false;
						this.isOpen = false;
						this.inactivate();
						$e.routes.clearCurrent(this.getNamespace());
						$e.routes.clearHistory(this.getServiceName());
						return true;
					}
				},
				{
					key: "activate",
					value: function activate() {
						$e.components.activate(this.getNamespace());
					}
				},
				{
					key: "inactivate",
					value: function inactivate() {
						$e.components.inactivate(this.getNamespace());
					}
				},
				{
					key: "isActive",
					value: function isActive() {
						return $e.components.isActive(this.getNamespace());
					}
				},
				{
					key: "onRoute",
					value: function onRoute(route) {
						this.toggleRouteClass(route, true);
						this.toggleHistoryClass();
						this.activate();
						this.trigger("route/open", route);
					}
				},
				{
					key: "onCloseRoute",
					value: function onCloseRoute(route) {
						this.toggleRouteClass(route, false);
						this.inactivate();
						this.trigger("route/close", route);
					}
				},
				{
					key: "setDefaultRoute",
					value: function setDefaultRoute(route) {
						this.defaultRoute = this.getNamespace() + "/" + route;
					}
				},
				{
					key: "getDefaultRoute",
					value: function getDefaultRoute() {
						return this.defaultRoute;
					}
				},
				{
					key: "removeTab",
					value: function removeTab(tab) {
						delete this.tabs[tab];
						this.unregisterRoute(tab);
					}
				},
				{
					key: "hasTab",
					value: function hasTab(tab) {
						return !!this.tabs[tab];
					}
				},
				{
					key: "addTab",
					value: function addTab(tab, args, position) {
						var _this3 = this;
						this.tabs[tab] = args;
						if ("undefined" !== typeof position) {
							var newTabs = {};
							var ids = Object.keys(this.tabs);
							ids.pop();
							ids.splice(position, 0, tab);
							ids.forEach(function(id) {
								newTabs[id] = _this3.tabs[id];
							});
							this.tabs = newTabs;
						}
						this.registerTabRoute(tab);
					}
				},
				{
					key: "getTabsWrapperSelector",
					value: function getTabsWrapperSelector() {
						return "";
					}
				},
				{
					key: "getTabRoute",
					value: function getTabRoute(tab) {
						return this.getNamespace() + "/" + tab;
					}
				},
				{
					key: "renderTab",
					value: function renderTab(tab) {}
				},
				{
					key: "activateTab",
					value: function activateTab(tab, args) {
						var _this4 = this;
						this.renderTab(tab, args);
						jQuery(this.getTabsWrapperSelector() + " .elementor-component-tab").off("click").on("click", function(event) {
							$e.route(_this4.getTabRoute(event.currentTarget.dataset.tab), args);
						}).removeClass("elementor-active").filter("[data-tab=\"" + tab + "\"]").addClass("elementor-active");
					}
				},
				{
					key: "getActiveTabConfig",
					value: function getActiveTabConfig() {
						return this.tabs[this.currentTab] || {};
					}
				},
				{
					key: "getBodyClass",
					value: function getBodyClass(route) {
						return "e-route-" + route.replace(/\//g, "-");
					}
				},
				{
					key: "normalizeCommandName",
					value: function normalizeCommandName(commandName) {
						return commandName.replace(/[A-Z]/g, function(match, offset) {
							return (offset > 0 ? "-" : "") + match.toLowerCase();
						});
					}
				},
				{
					key: "importCommands",
					value: function importCommands(commandsFromImport) {
						var _this5 = this;
						var commands = {};
						Object.entries(commandsFromImport).forEach(function(_ref1) {
							var _ref10 = _slicedToArray(_ref1, 2);
							var className = _ref10[0];
							var Class = _ref10[1];
							var command = _this5.normalizeCommandName(className);
							commands[command] = Class;
						});
						return commands;
					}
				},
				{
					key: "importHooks",
					value: function importHooks(hooksFromImport) {
						var hooks = {};
						for (var key in hooksFromImport) {
							var hook = new hooksFromImport[key]();
							hooks[hook.getId()] = hook;
						}
						return hooks;
					}
				},
				{
					key: "importUiStates",
					value: function importUiStates(statesFromImport) {
						var _this6 = this;
						var uiStates = {};
						Object.values(statesFromImport).forEach(function(className) {
							var uiState = new className(_this6);
							uiStates[uiState.getId()] = uiState;
						});
						return uiStates;
					}
				},
				{
					key: "setUiState",
					value: function setUiState(state, value) {
						$e.uiStates.set("".concat(this.getNamespace(), "/").concat(state), value);
					}
				},
				{
					key: "toggleRouteClass",
					value: function toggleRouteClass(route, state) {
						document.body.classList.toggle(this.getBodyClass(route), state);
					}
				},
				{
					key: "toggleHistoryClass",
					value: function toggleHistoryClass() {
						document.body.classList.toggle("e-routes-has-history", !!$e.routes.getHistory(this.getServiceName()).length);
					}
				}
			]);
		}(import_module.default);
	}));

//#endregion
//#region modules/history/assets/js/history/item-model.js
	var require_item_model = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Backbone.Model.extend({
			defaults: {
				id: 0,
				type: "",
				status: "not_applied",
				title: "",
				subTitle: "",
				action: "",
				history: {}
			},
			initialize: function initialize() {
				this.set("items", new Backbone.Collection());
			}
		});
	}));

//#endregion
//#region modules/history/assets/js/history/manager.js
init_component_base$1();
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	var import_item_model = /* @__PURE__ */ __toESM(require_item_model());
	/**
	* TODO: consider refactor this class.
	* TODO: should be `Document/History` component.
	* TODO: should be attached to elementor.history.history + BC.
	*/
	var HistoryManager = /*#__PURE__*/ function() {
		function HistoryManager(document) {
			_classCallCheck(this, HistoryManager);
			_defineProperty(this, "currentItemID", null);
			_defineProperty(this, "items", new Backbone.Collection([], { model: import_item_model.default }));
			_defineProperty(this, "active", true);
			_defineProperty(this, "translations", {
				add: (0, _wordpress_i18n.__)("Added", "elementor"),
				change: (0, _wordpress_i18n.__)("Edited", "elementor"),
				disable: (0, _wordpress_i18n.__)("Disabled", "elementor"),
				duplicate: (0, _wordpress_i18n.__)("Duplicate", "elementor"),
				enable: (0, _wordpress_i18n.__)("Enabled", "elementor"),
				import: (0, _wordpress_i18n.__)("Imported", "elementor"),
				move: (0, _wordpress_i18n.__)("Moved", "elementor"),
				paste: (0, _wordpress_i18n.__)("Pasted", "elementor"),
				paste_style: (0, _wordpress_i18n.__)("Style Pasted", "elementor"),
				remove: (0, _wordpress_i18n.__)("Removed", "elementor"),
				reset_settings: (0, _wordpress_i18n.__)("Settings Reset", "elementor"),
				reset_style: (0, _wordpress_i18n.__)("Style Reset", "elementor"),
				selected: (0, _wordpress_i18n.__)("Selected", "elementor")
			});
			this.document = document;
			this.currentItem = new Backbone.Model({ id: 0 });
		}
		return _createClass(HistoryManager, [
			{
				key: "getActionLabel",
				value: function getActionLabel(itemData) {
					if (this.translations[itemData.type]) return this.translations[itemData.type];
					return itemData.type;
				}
			},
			{
				key: "navigate",
				value: function navigate(isRedo) {
					var currentItem = this.items.find(function(model) {
						return "not_applied" === model.get("status");
					});
					var currentItemIndex = this.items.indexOf(currentItem);
					var requiredIndex = isRedo ? currentItemIndex - 1 : currentItemIndex + 1;
					if (!isRedo && !currentItem || requiredIndex < 0 || requiredIndex >= this.items.length) return;
					this.doItem(requiredIndex);
					return isRedo ? this.items.at(requiredIndex) : this.items.at(requiredIndex - 1);
				}
			},
			{
				key: "setActive",
				value: function setActive(value) {
					this.active = value;
				}
			},
			{
				key: "getActive",
				value: function getActive() {
					return this.active;
				}
			},
			{
				key: "getItems",
				value: function getItems() {
					return this.items;
				}
			},
			{
				key: "startItem",
				value: function startItem(itemData) {
					this.currentItemID = this.addItem(itemData);
					return this.currentItemID;
				}
			},
			{
				key: "endItem",
				value: function endItem(id) {
					if (this.currentItemID !== id) return;
					this.currentItemID = null;
				}
			},
			{
				key: "deleteItem",
				value: function deleteItem(id) {
					var item = this.items.findWhere({ id });
					this.items.remove(item);
					this.currentItemID = null;
				}
			},
			{
				key: "isItemStarted",
				value: function isItemStarted() {
					return null !== this.currentItemID;
				}
			},
			{
				key: "getCurrentId",
				value: function getCurrentId() {
					return this.currentItemID;
				}
			},
			{
				key: "addItem",
				value: function addItem(itemData) {
					if (!this.getActive()) return;
					if (!this.items.length) this.items.add({
						status: "not_applied",
						title: (0, _wordpress_i18n.__)("Editing Started", "elementor"),
						subTitle: "",
						action: "",
						editing_started: true
					});
					while (this.items.length && "applied" === this.items.first().get("status")) this.items.shift();
					var id = this.currentItemID ? this.currentItemID : (/* @__PURE__ */ new Date()).getTime();
					var currentItem = this.items.findWhere({ id });
					if (!currentItem) {
						currentItem = new import_item_model.default({
							id,
							title: itemData.title,
							subTitle: itemData.subTitle,
							action: this.getActionLabel(itemData),
							type: itemData.type
						});
						this.startItemTitle = "";
						this.startItemAction = "";
					}
					currentItem.get("items").add(itemData, { at: 0 });
					this.items.add(currentItem, { at: 0 });
					this.updateCurrentItem(currentItem);
					return id;
				}
			},
			{
				key: "doItem",
				value: function doItem(index) {
					this.setActive(false);
					var item = this.items.at(index);
					if ("not_applied" === item.get("status")) this.undoItem(index);
					else this.redoItem(index);
					this.setActive(true);
					var editedElementView = elementor.getPanelView().getCurrentPageView().getOption("editedElementView");
					var viewToScroll;
					if ($e.routes.isPartOf("panel/editor") && editedElementView) if (editedElementView.isDestroyed) $e.route("panel/history/actions");
					else viewToScroll = editedElementView;
					else if (item instanceof Backbone.Model && item.get("items").length) {
						var historyItem = item.get("items").first();
						if (historyItem.get("restore")) {
							var container = "sub-add" === historyItem.get("type") ? historyItem.get("data").containerToRestore : historyItem.get("container") || historyItem.get("containers");
							if (Array.isArray(container)) container = container[0];
							if (container) viewToScroll = container.lookup().view;
						}
					}
					$e.internal("document/save/set-is-modified", { status: item.get("id") !== this.document.editor.lastSaveHistoryId });
					this.updateCurrentItem(item);
					if (viewToScroll && !elementor.helpers.isInViewport(viewToScroll.$el[0], elementor.$previewContents.find("html")[0])) elementor.helpers.scrollToView(viewToScroll.$el);
				}
			},
			{
				key: "undoItem",
				value: function undoItem(index) {
					for (var stepNum = 0; stepNum < index; stepNum++) {
						var item = this.items.at(stepNum);
						if ("not_applied" === item.get("status")) {
							item.get("items").each(function(subItem) {
								var restore = subItem.get("restore");
								if (restore) restore(subItem);
							});
							item.set("status", "applied");
						}
					}
				}
			},
			{
				key: "redoItem",
				value: function redoItem(index) {
					for (var stepNum = this.items.length - 1; stepNum >= index; stepNum--) {
						var item = this.items.at(stepNum);
						if ("applied" === item.get("status")) {
							var reversedSubItems = _.toArray(item.get("items").models).reverse();
							_(reversedSubItems).each(function(subItem) {
								var restore = subItem.get("restore");
								if (restore) restore(subItem, true);
							});
							item.set("status", "not_applied");
						}
					}
				}
			},
			{
				key: "updateCurrentItem",
				value: function updateCurrentItem(item) {
					this.currentItem = item;
					this.updatePanelPageCurrentItem();
				}
			},
			{
				key: "updatePanelPageCurrentItem",
				value: function updatePanelPageCurrentItem() {
					if ($e.routes.is("panel/history/actions")) elementor.getPanelView().getCurrentPageView().getCurrentTab().updateCurrentItem();
				}
			}
		]);
	}();

//#endregion
//#region modules/history/assets/js/revisions/model.js
	var require_model = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var RevisionModel = Backbone.Model.extend();
		RevisionModel.prototype.sync = function() {
			return null;
		};
		module.exports = RevisionModel;
	}));

//#endregion
//#region modules/history/assets/js/revisions/collection.js
	var require_collection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var RevisionModel = require_model();
		module.exports = Backbone.Collection.extend({
			model: RevisionModel,
			comparator: function comparator(model) {
				return -model.get("timestamp");
			}
		});
	}));

//#endregion
//#region modules/history/assets/js/revisions/manager.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	var RevisionsCollection = require_collection();
	/**
	* TODO: consider refactor this class.
	* TODO: Rename to RevisionsModule.
	*/
	var RevisionsManager = /*#__PURE__*/ function() {
		function RevisionsManager(document) {
			_classCallCheck(this, RevisionsManager);
			_defineProperty(this, "document", void 0);
			_defineProperty(this, "revisions", void 0);
			this.document = document;
		}
		return _createClass(RevisionsManager, [
			{
				key: "getItems",
				value: function getItems() {
					return this.revisions;
				}
			},
			{
				key: "requestRevisions",
				value: function requestRevisions(callback) {
					var _this = this;
					if (this.revisions) {
						callback(this.revisions);
						return;
					}
					elementorCommon.ajax.addRequest("get_revisions", { success: function success(data) {
						_this.revisions = new RevisionsCollection(data);
						_this.revisions.on("update", _this.onRevisionsUpdate.bind(_this));
						callback(_this.revisions);
					} });
				}
			},
			{
				key: "setEditorData",
				value: function setEditorData(data) {
					elementor.getPreviewView().collection.reset(data);
				}
			},
			{
				key: "getRevisionDataAsync",
				value: function getRevisionDataAsync(id, options) {
					_.extend(options, { data: { id } });
					return elementorCommon.ajax.addRequest("get_revision_data", options);
				}
			},
			{
				key: "addRevisions",
				value: function addRevisions(items) {
					var _this2 = this;
					this.requestRevisions(function() {
						items.forEach(function(item) {
							var existedModel = _this2.revisions.findWhere({ id: item.id });
							if (existedModel) _this2.revisions.remove(existedModel, { silent: true });
							_this2.revisions.add(item, { silent: true });
						});
						_this2.revisions.trigger("update");
					});
				}
			},
			{
				key: "deleteRevision",
				value: function deleteRevision(revisionModel, options) {
					var params = {
						data: { id: revisionModel.get("id") },
						success: function success() {
							if (options.success) options.success();
							revisionModel.destroy();
						}
					};
					if (options.error) params.error = options.error;
					elementorCommon.ajax.addRequest("delete_revision", params);
				}
			},
			{
				key: "onRevisionsUpdate",
				value: function onRevisionsUpdate() {
					if ($e.routes.is("panel/history/revisions")) $e.routes.refreshContainer("panel");
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/components/documents/models/editor.js
	init_createClass();
	init_classCallCheck();
	init_defineProperty();
	var Editor$1 = /*#__PURE__*/ _createClass(function Editor() {
		_classCallCheck(this, Editor);
		/**
		* Editor status.
		*
		* @type {'open'|'closed'}
		*/
		_defineProperty(this, "status", "closed");
		/**
		* Is document still saving?.
		*
		* @type {boolean}
		*/
		_defineProperty(this, "isSaving", false);
		/**
		* Is document changed?.
		*
		* @type {boolean}
		*/
		_defineProperty(this, "isChanged", false);
		/**
		* Is document changed during save?.
		*
		* @type {boolean}
		*/
		_defineProperty(this, "isChangedDuringSave", false);
		/**
		* Is document saved?
		*
		* @type {boolean}
		*/
		_defineProperty(this, "isSaved", true);
		/**
		* Last save history id.
		*
		* @type {number}
		*/
		_defineProperty(this, "lastSaveHistoryId", 0);
	});

//#endregion
//#region assets/dev/js/editor/components/documents/document.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	/**
	* @typedef {import('../../container/container')} Container
	*/
	var Document$2 = /*#__PURE__*/ function() {
		/**
		* Function constructor().
		*
		* Create document.
		*
		* @param {{}} config
		*/
		function Document(config) {
			_classCallCheck(this, Document);
			/**
			* Document id.
			*
			* @type {number|null}
			*/
			_defineProperty(this, "id", null);
			/**
			* History of the document.
			*
			* @type {HistoryManager}
			*/
			_defineProperty(this, "history", null);
			/**
			* Revisions of the document.
			*
			* @type {RevisionsManager}
			*/
			_defineProperty(this, "revisions", null);
			/**
			* Current container.
			*
			* @type {Container}
			*/
			_defineProperty(this, "container", null);
			/**
			* Editor Settings.
			*
			* @type {Editor}
			*/
			_defineProperty(this, "editor", new Editor$1());
			this.config = config;
			this.id = config.id;
			this.history = new HistoryManager(this);
			this.revisions = new RevisionsManager(this);
		}
		return _createClass(Document, [{
			key: "isDraft",
			value: function isDraft() {
				return this.config.revisions.current_id !== this.config.id;
			}
		}]);
	}();

//#endregion
//#region assets/dev/js/editor/components/documents/commands/close.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$311(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$311() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$311, "_callSuper");
	function _isNativeReflectConstruct$311() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$311 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$311, "_isNativeReflectConstruct");
	var Close$4 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Close() {
			_classCallCheck(this, Close);
			return _callSuper$311(this, Close, arguments);
		}
		_inherits(Close, _$e$modules$CommandBa);
		return _createClass(Close, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireArgument("id", args);
				}
			},
			{
				key: "apply",
				value: function() {
					var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(args) {
						var id;
						var mode;
						var onClose;
						var document;
						var deferred;
						var _t;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									id = args.id, mode = args.mode, onClose = args.onClose, document = elementor.documents.get(id);
									if (!("closed" === document.editor.status)) {
										_context.next = 1;
										break;
									}
									return _context.abrupt("return", jQuery.Deferred().resolve());
								case 1:
									if (!(!mode && (document.editor.isChanged || document.isDraft()))) {
										_context.next = 2;
										break;
									}
									deferred = jQuery.Deferred();
									this.getConfirmDialog(deferred).show();
									return _context.abrupt("return", deferred.promise());
								case 2:
									_t = mode;
									_context.next = _t === "autosave" ? 3 : _t === "save" ? 5 : _t === "discard" ? 7 : 9;
									break;
								case 3:
									_context.next = 4;
									return $e.run("document/save/auto");
								case 4: return _context.abrupt("continue", 9);
								case 5:
									_context.next = 6;
									return $e.run("document/save/update");
								case 6: return _context.abrupt("continue", 9);
								case 7:
									_context.next = 8;
									return $e.run("document/save/discard", { document });
								case 8: return _context.abrupt("continue", 9);
								case 9:
									$e.run("document/elements/deselect-all");
									_context.next = 10;
									return $e.internal("editor/documents/unload", { document });
								case 10:
									if (!onClose) {
										_context.next = 11;
										break;
									}
									_context.next = 11;
									return onClose(document);
								case 11: return _context.abrupt("return", jQuery.Deferred().resolve());
								case 12:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function apply(_x) {
						return _apply.apply(this, arguments);
					}
					return apply;
				}()
			},
			{
				key: "getConfirmDialog",
				value: function getConfirmDialog(deferred) {
					var _this = this;
					if (this.confirmDialog) return this.confirmDialog;
					this.confirmDialog = elementorCommon.dialogsManager.createWidget("confirm", {
						id: "elementor-document-save-on-close",
						headerMessage: (0, _wordpress_i18n.__)("You are leaving to a separate site part.", "elementor"),
						message: (0, _wordpress_i18n.__)("Save your changes before moving on because the current document and the one you’re moving to are separate site parts.", "elementor"),
						position: {
							my: "center center",
							at: "center center"
						},
						strings: {
							confirm: (0, _wordpress_i18n.__)("Save & leave", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Don't leave", "elementor")
						},
						onHide: function onHide() {
							_.defer(function() {
								if (!_this.args.mode) deferred.reject("Close document has been canceled.");
							});
						},
						onCancel: function onCancel() {
							window.top.$e.internal("panel/state-ready");
							deferred.reject("Close document has been canceled.");
						},
						onConfirm: function onConfirm() {
							_this.args.mode = "save";
							$e.run("editor/documents/close", _this.args).then(function() {
								deferred.resolve();
							});
						}
					});
					return this.confirmDialog;
				}
			}
		]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/documents/commands/open.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$310(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$310() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$310, "_callSuper");
	function _isNativeReflectConstruct$310() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$310 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$310, "_isNativeReflectConstruct");
	var Open$6 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Open() {
			_classCallCheck(this, Open);
			return _callSuper$310(this, Open, arguments);
		}
		_inherits(Open, _$e$modules$CommandBa);
		return _createClass(Open, [{
			key: "validateArgs",
			value: function validateArgs(args) {
				this.requireArgument("id", args);
			}
		}, {
			key: "apply",
			value: function apply(args) {
				var id = args.id;
				var selector = args.selector;
				var _args$shouldScroll = args.shouldScroll;
				var shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll;
				var _args$shouldNavigateT = args.shouldNavigateToDefaultRoute;
				var shouldNavigateToDefaultRoute = _args$shouldNavigateT === void 0 ? true : _args$shouldNavigateT;
				var _args$setAsInitial = args.setAsInitial;
				var setAsInitial = _args$setAsInitial === void 0 ? false : _args$setAsInitial;
				var currentDocument = elementor.documents.getCurrent();
				if (currentDocument && id === currentDocument.id) return jQuery.Deferred().resolve();
				if (elementor.loaded) elementor.$previewContents.find(".elementor-".concat(id)).addClass("loading");
				if (setAsInitial) {
					elementorCommon.ajax.addRequestConstant("initial_document_id", id);
					elementor.documents.invalidateCache();
				}
				return elementor.documents.request(id).then(function(config) {
					elementorCommon.elements.$body.addClass("elementor-editor-".concat(config.type));
					return $e.internal("editor/documents/load", {
						config,
						selector,
						setAsInitial,
						shouldScroll,
						shouldNavigateToDefaultRoute
					});
				}).always(function() {
					if (elementor.loaded) elementor.$previewContents.find(".elementor-".concat(id)).removeClass("loading");
				});
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/documents/commands/preview.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$309(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$309() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$309, "_callSuper");
	function _isNativeReflectConstruct$309() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$309 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$309, "_isNativeReflectConstruct");
	var Preview$1 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Preview() {
			_classCallCheck(this, Preview);
			return _callSuper$309(this, Preview, arguments);
		}
		_inherits(Preview, _$e$modules$CommandBa);
		return _createClass(Preview, [{
			key: "validateArgs",
			value: function validateArgs(args) {
				this.requireArgument("id", args);
			}
		}, {
			key: "apply",
			value: function() {
				var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(args) {
					var id;
					var _$e$components$get;
					var footerSaver;
					var document;
					return import_regenerator$16.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								id = args.id, _$e$components$get = $e.components.get("document/save"), footerSaver = _$e$components$get.footerSaver, document = elementor.documents.get(id);
								if (!document.editor.isChanged) {
									_context.next = 1;
									break;
								}
								_context.next = 1;
								return $e.run("document/save/auto", { force: true });
							case 1: footerSaver.previewWindow = open(document.config.urls.wp_preview, "wp-preview-".concat(document.id));
							case 2:
							case "end": return _context.stop();
						}
					}, _callee);
				}));
				function apply(_x) {
					return _apply.apply(this, arguments);
				}
				return apply;
			}()
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/documents/commands/view.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$308(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$308() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$308, "_callSuper");
	function _isNativeReflectConstruct$308() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$308 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$308, "_isNativeReflectConstruct");
	var View$5 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function View() {
			_classCallCheck(this, View);
			return _callSuper$308(this, View, arguments);
		}
		_inherits(View, _$e$modules$CommandBa);
		return _createClass(View, [{
			key: "validateArgs",
			value: function validateArgs(args) {
				this.requireArgument("id", args);
			}
		}, {
			key: "apply",
			value: function() {
				var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(args) {
					var id;
					var document;
					return import_regenerator$16.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								id = args.id, document = elementor.documents.get(id);
								open(document.config.urls.permalink, "wp-view-".concat(document.id));
							case 1:
							case "end": return _context.stop();
						}
					}, _callee);
				}));
				function apply(_x) {
					return _apply.apply(this, arguments);
				}
				return apply;
			}()
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/documents/commands/switch.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$307(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$307() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$307, "_callSuper");
	function _isNativeReflectConstruct$307() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$307 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$307, "_isNativeReflectConstruct");
	var Switch = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Switch() {
			_classCallCheck(this, Switch);
			return _callSuper$307(this, Switch, arguments);
		}
		_inherits(Switch, _$e$modules$CommandBa);
		return _createClass(Switch, [{
			key: "validateArgs",
			value: function validateArgs(args) {
				this.requireArgument("id", args);
			}
		}, {
			key: "apply",
			value: function apply(args) {
				var id = args.id;
				var mode = args.mode;
				var onClose = args.onClose;
				var _args$shouldScroll = args.shouldScroll;
				var shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll;
				var _args$shouldNavigateT = args.shouldNavigateToDefaultRoute;
				var shouldNavigateToDefaultRoute = _args$shouldNavigateT === void 0 ? true : _args$shouldNavigateT;
				var _args$setAsInitial = args.setAsInitial;
				var setAsInitial = _args$setAsInitial === void 0 ? false : _args$setAsInitial;
				if (setAsInitial) jQuery("#elementor-preview-loading").show();
				return $e.run("editor/documents/close", {
					id: elementor.documents.getCurrentId(),
					mode,
					onClose,
					selector: args.selector
				}).then(function() {
					return $e.run("editor/documents/open", {
						id,
						shouldScroll,
						shouldNavigateToDefaultRoute,
						selector: args.selector,
						setAsInitial
					});
				}).then(function() {
					elementor.getPanelView().getPages("menu").view.addExitItem();
				});
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/documents/commands/index.js
	var commands_exports$20 = /* @__PURE__ */ __exportAll({
		Close: () => Close$4,
		Open: () => Open$6,
		Preview: () => Preview$1,
		Switch: () => Switch,
		View: () => View$5
	});

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
	function _objectWithoutPropertiesLoose(r, e) {
		if (null == r) return {};
		var t = {};
		for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
			if (-1 !== e.indexOf(n)) continue;
			t[n] = r[n];
		}
		return t;
	}

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
	function _objectWithoutProperties(e, t) {
		if (null == e) return {};
		var o;
		var r;
		var i = _objectWithoutPropertiesLoose(e, t);
		if (Object.getOwnPropertySymbols) {
			var n = Object.getOwnPropertySymbols(e);
			for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
		}
		return i;
	}

//#endregion
//#region assets/dev/js/editor/components/documents/commands/internal/attach-preview.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	var _excluded = ["shouldNavigateToDefaultRoute"];
	function _callSuper$306(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$306() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$306, "_callSuper");
	function _isNativeReflectConstruct$306() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$306 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$306, "_isNativeReflectConstruct");
	var AttachPreview = /*#__PURE__*/ function(_$e$modules$CommandIn) {
		function AttachPreview() {
			_classCallCheck(this, AttachPreview);
			return _callSuper$306(this, AttachPreview, arguments);
		}
		_inherits(AttachPreview, _$e$modules$CommandIn);
		return _createClass(AttachPreview, [
			{
				key: "validateArgs",
				value: function validateArgs() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					if (args.selector) {
						this.requireArgumentType("selector", "string");
						if (0 === elementor.$previewContents.find(args.selector).length) throw new Error("Invalid argument. The `selector` argument must be existed selector.");
					}
				}
			},
			{
				key: "apply",
				value: function apply() {
					var _this = this;
					var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					var _ref$shouldNavigateTo = _ref.shouldNavigateToDefaultRoute;
					var shouldNavigateToDefaultRoute = _ref$shouldNavigateTo === void 0 ? true : _ref$shouldNavigateTo;
					var args = _objectWithoutProperties(_ref, _excluded);
					var document = elementor.documents.getCurrent();
					return $e.data.get("globals/index").then(function() {
						elementor.trigger("globals:loaded");
						return _this.attachDocumentToPreview(document, args);
					}).then(function() {
						elementor.toggleDocumentCssFiles(document, false);
						elementor.onEditModeSwitched();
						elementor.checkPageStatus();
						elementor.trigger("document:loaded", document);
						if (shouldNavigateToDefaultRoute) return $e.internal("panel/open-default", { refresh: true });
					});
				}
			},
			{
				key: "attachDocumentToPreview",
				value: function attachDocumentToPreview(document, args) {
					var _args$selector = args.selector;
					var selector = _args$selector === void 0 ? ".elementor-" + document.id : _args$selector;
					var _args$shouldScroll = args.shouldScroll;
					var shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll;
					return new Promise(function(resolve, reject) {
						if (!document) return reject("Can't attach preview, there is no open document.");
						if (!document.config.elements) return resolve();
						document.$element = elementor.$previewContents.find(selector);
						var isInitialDocument = document.id === elementor.config.initial_document.id;
						if (!document.$element.length) {
							if (isInitialDocument) elementor.onPreviewElNotFound();
							return reject("Can't attach preview to document '".concat(document.id, "', element '").concat(selector, "' was not found."));
						}
						document.$element.addClass("elementor-edit-area elementor-edit-mode");
						if (!isInitialDocument) elementor.documents.getCurrent().$element.addClass("elementor-embedded-editor");
						elementor.initElements();
						elementor.initPreviewView(document);
						document.container.view = elementor.getPreviewView();
						document.container.model.attributes.elements = elementor.elements;
						if (shouldScroll) elementor.helpers.scrollToView(document.$element);
						document.$element.addClass("elementor-edit-area-active").removeClass("elementor-editor-preview");
						resolve();
					});
				}
			}
		]);
	}($e.modules.CommandInternalBase);

//#endregion
//#region assets/dev/js/editor/utils/heartbeat.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	function ownKeys$21(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$21, "ownKeys");
	function _objectSpread$21(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$21(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$21(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$21, "_objectSpread");
	var Heartbeat = /*#__PURE__*/ function() {
		function Heartbeat(document) {
			var _this = this;
			_classCallCheck(this, Heartbeat);
			_defineProperty(this, "modal", null);
			_defineProperty(this, "externalChangeModal", null);
			_defineProperty(this, "document", null);
			_defineProperty(this, "lastSyncedAt", 0);
			_defineProperty(this, "pendingSyncTime", true);
			_defineProperty(this, "lastStateOfDocumentChange", false);
			_defineProperty(this, "getModal", function() {
				if (!_this.modal) _this.modal = _this.initModal();
				return _this.modal;
			});
			this.document = document;
			this.lastStateOfDocumentChange = document.editor.isChanged;
			this.onSend = this.onSend.bind(this);
			this.onTick = this.onTick.bind(this);
			this.onRefreshNonce = this.onRefreshNonce.bind(this);
			this.onDocumentChanged = this.onDocumentChanged.bind(this);
			this.onDocumentLoaded = this.onDocumentLoaded.bind(this);
			this.bindEvents();
			wp.heartbeat.connectNow();
		}
		return _createClass(Heartbeat, [
			{
				key: "initModal",
				value: function initModal() {
					return elementorCommon.dialogsManager.createWidget("confirm", {
						headerMessage: (0, _wordpress_i18n.__)("Take Over", "elementor"),
						strings: {
							confirm: (0, _wordpress_i18n.__)("Take Over", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Go Back", "elementor")
						},
						defaultOption: "confirm",
						onConfirm: function onConfirm() {
							wp.heartbeat.enqueue("elementor_force_post_lock", true);
							wp.heartbeat.connectNow();
						},
						onCancel: function onCancel() {
							parent.history.go(-1);
						}
					});
				}
			},
			{
				key: "showLockMessage",
				value: function showLockMessage(lockedUser) {
					this.getModal().setMessage((0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("%s has taken over and is currently editing. Do you want to take over this page editing?", "elementor"), lockedUser)).show();
				}
			},
			{
				key: "onSend",
				value: function onSend(event, data) {
					data.elementor_post_lock = { post_ID: this.document.id };
					data.elementor_has_unsaved = this.document.editor.isChanged ? this.document.id : null;
				}
			},
			{
				key: "onTick",
				value: function onTick(event, response) {
					var _response$elementor_m;
					if (this.pendingSyncTime && response.elementor_server_time) {
						this.lastSyncedAt = response.elementor_server_time;
						this.pendingSyncTime = false;
					}
					if (response.locked_user) {
						if (this.document.editor.isChanged) $e.run("document/save/auto", { document: this.document });
						this.showLockMessage(response.locked_user);
					} else this.getModal().hide();
					var mutatedAt = (_response$elementor_m = response.elementor_mcp_mutation) === null || _response$elementor_m === void 0 ? void 0 : _response$elementor_m.mutated_at;
					if (mutatedAt && mutatedAt > this.lastSyncedAt) this.showExternalChangeModal();
					elementorCommon.ajax.addRequestConstant("_nonce", response.elementorNonce);
				}
			},
			{
				key: "onRefreshNonce",
				value: function onRefreshNonce(event, response) {
					var nonces = response["elementor-refresh-nonces"];
					if (nonces) {
						if (nonces.heartbeatNonce) elementorCommon.ajax.addRequestConstant("_nonce", nonces.elementorNonce);
						if (nonces.heartbeatNonce) window.heartbeatSettings.nonce = nonces.heartbeatNonce;
					}
				}
			},
			{
				key: "onDocumentLoaded",
				value: function onDocumentLoaded() {
					this.pendingSyncTime = true;
				}
			},
			{
				key: "reloadDocument",
				value: function reloadDocument() {
					$e.internal("document/save/set-is-modified", { status: false });
					this._doReload();
				}
			},
			{
				key: "_doReload",
				value: function _doReload() {
					window.location.reload();
				}
			},
			{
				key: "forceSave",
				value: function forceSave() {
					this.pendingSyncTime = true;
					$e.run("document/save/save", { document: this.document });
				}
			},
			{
				key: "showExternalChangeModal",
				value: function showExternalChangeModal() {
					var _this2 = this;
					if (this.externalChangeModal) return;
					var isDirty = this.document.editor.isChanged;
					var baseConfig = {
						headerMessage: (0, _wordpress_i18n.__)("Page Updated by AI", "elementor"),
						defaultOption: "confirm",
						onConfirm: function onConfirm() {
							return _this2.reloadDocument();
						}
					};
					var config = isDirty ? _objectSpread$21(_objectSpread$21({}, baseConfig), {}, {
						message: (0, _wordpress_i18n.__)("This page was changed externally. Save your changes or reload to get the latest version.", "elementor"),
						strings: {
							confirm: (0, _wordpress_i18n.__)("Force Save", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Reload", "elementor")
						},
						onConfirm: function onConfirm() {
							return _this2.forceSave();
						},
						onCancel: function onCancel() {
							return _this2.reloadDocument();
						}
					}) : _objectSpread$21(_objectSpread$21({}, baseConfig), {}, {
						message: (0, _wordpress_i18n.__)("This page was changed externally. Reload to get the latest version.", "elementor"),
						strings: { confirm: (0, _wordpress_i18n.__)("Reload", "elementor") }
					});
					this.externalChangeModal = elementorCommon.dialogsManager.createWidget(isDirty ? "confirm" : "alert", _objectSpread$21(_objectSpread$21({}, config), {}, {
						closeButton: false,
						hide: {
							onOutsideClick: false,
							onEscKeyPress: false,
							onBackgroundClick: false
						}
					}));
					this.externalChangeModal.show();
				}
			},
			{
				key: "onDocumentChanged",
				value: function onDocumentChanged() {
					var newChangeOfDocumentState = this.document.editor.isChanged;
					if (newChangeOfDocumentState === this.lastStateOfDocumentChange) return;
					if (newChangeOfDocumentState) wp.heartbeat.connectNow();
					this.lastStateOfDocumentChange = newChangeOfDocumentState;
				}
			},
			{
				key: "bindEvents",
				value: function bindEvents() {
					jQuery(document).on({
						"heartbeat-send": this.onSend,
						"heartbeat-tick": this.onTick,
						"heartbeat-tick.wp-refresh-nonces": this.onRefreshNonce
					});
					elementor.channels.editor.on("status:change", this.onDocumentChanged);
					elementor.on("document:loaded", this.onDocumentLoaded);
				}
			},
			{
				key: "destroy",
				value: function destroy() {
					jQuery(document).off({
						"heartbeat-send": this.onSend,
						"heartbeat-tick": this.onTick,
						"heartbeat-tick.wp-refresh-nonces": this.onRefreshNonce
					});
					elementor.channels.editor.off("status:change", this.onDocumentChanged);
					elementor.off("document:loaded", this.onDocumentLoaded);
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/components/documents/commands/internal/load.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$305(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$305() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$305, "_callSuper");
	function _isNativeReflectConstruct$305() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$305 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$305, "_isNativeReflectConstruct");
	var Load = /*#__PURE__*/ function(_$e$modules$CommandIn) {
		function Load() {
			_classCallCheck(this, Load);
			return _callSuper$305(this, Load, arguments);
		}
		_inherits(Load, _$e$modules$CommandIn);
		return _createClass(Load, [{
			key: "validateArgs",
			value: function validateArgs() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				this.requireArgument("config", args);
			}
		}, {
			key: "apply",
			value: function apply(args) {
				var config = args.config;
				var _args$setAsInitial = args.setAsInitial;
				var setAsInitial = _args$setAsInitial === void 0 ? false : _args$setAsInitial;
				var _args$shouldScroll = args.shouldScroll;
				var shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll;
				var _args$shouldNavigateT = args.shouldNavigateToDefaultRoute;
				var shouldNavigateToDefaultRoute = _args$shouldNavigateT === void 0 ? true : _args$shouldNavigateT;
				if (elementorCommon.config.experimentalFeatures.additional_custom_breakpoints) config.settings.controls = elementor.generateResponsiveControls(config.settings.controls);
				elementor.config.document = config;
				elementor.setAjax();
				elementor.addWidgetsCache(config.widgets);
				elementor.templates.init();
				var document = new Document$2(config);
				elementor.documents.add(document);
				elementor.documents.setCurrent(document);
				if (setAsInitial) elementor.documents.setInitialById(document.id);
				elementor.settings.page = new elementor.settings.modules.page(config.settings);
				document.container = elementor.settings.page.getEditedView().getContainer();
				document.container.document = document;
				elementor.heartbeat = new Heartbeat(document);
				var isOldPageVersion = elementor.config.document.version && elementor.helpers.compareVersions(elementor.config.document.version, "2.5.0", "<");
				if (!elementor.config.user.introduction.flexbox && isOldPageVersion) elementor.showFlexBoxAttentionDialog();
				if (elementor.loaded) return $e.data.get("globals/index").then(function() {
					if (setAsInitial) {
						elementor.reloadPreview();
						return Promise.resolve();
					}
					return $e.internal("editor/documents/attach-preview", {
						shouldScroll,
						shouldNavigateToDefaultRoute,
						selector: args.selector
					});
				});
				return Promise.resolve(document);
			}
		}]);
	}($e.modules.CommandInternalBase);

//#endregion
//#region assets/dev/js/editor/components/documents/commands/internal/unload.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$304(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$304() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$304, "_callSuper");
	function _isNativeReflectConstruct$304() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$304 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$304, "_isNativeReflectConstruct");
	var Unload = /*#__PURE__*/ function(_$e$modules$CommandIn) {
		function Unload() {
			_classCallCheck(this, Unload);
			return _callSuper$304(this, Unload, arguments);
		}
		_inherits(Unload, _$e$modules$CommandIn);
		return _createClass(Unload, [{
			key: "validateArgs",
			value: function validateArgs() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				this.requireArgumentConstructor("document", Document$2, args);
			}
		}, {
			key: "apply",
			value: function apply(args) {
				return new Promise(function(resolve, reject) {
					var document = args.document;
					if (document.id !== elementor.config.document.id) reject();
					elementor.elements = [];
					elementor.saver.stopAutoSave(document);
					elementor.channels.dataEditMode.trigger("switch", "preview");
					if (document.$element) document.$element.removeClass("elementor-edit-area-active elementor-edit-mode").addClass("elementor-editor-preview");
					elementorCommon.elements.$body.removeClass("elementor-editor-".concat(document.config.type));
					elementor.settings.page.destroy();
					elementor.heartbeat.destroy();
					document.editor.status = "closed";
					elementor.config.document = {};
					elementor.documents.unsetCurrent();
					elementor.trigger("document:unloaded", document);
					resolve();
				});
			}
		}]);
	}($e.modules.CommandInternalBase);

//#endregion
//#region assets/dev/js/editor/components/documents/commands/internal/index.js
	var internal_exports$3 = /* @__PURE__ */ __exportAll({
		AttachPreview: () => AttachPreview,
		Load: () => Load,
		Unload: () => Unload
	});

//#endregion
//#region assets/dev/js/editor/utils/query-params.js
	function getQueryParam(name) {
		return new URLSearchParams(window.location.search).get(name);
	}
	function setQueryParam(name, value) {
		var url = new URL(window.location.href);
		if (null === value) url.searchParams.delete(name);
		else url.searchParams.set(name, value);
		history.replaceState({}, "", url);
	}
	function removeQueryParam(name) {
		setQueryParam(name, null);
	}

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-document-query-param.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$303(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$303() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$303, "_callSuper");
	function _isNativeReflectConstruct$303() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$303 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$303, "_isNativeReflectConstruct");
	var RemoveActiveDocumentQueryParam = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function RemoveActiveDocumentQueryParam() {
			_classCallCheck(this, RemoveActiveDocumentQueryParam);
			return _callSuper$303(this, RemoveActiveDocumentQueryParam, arguments);
		}
		_inherits(RemoveActiveDocumentQueryParam, _$e$modules$hookUI$Af);
		return _createClass(RemoveActiveDocumentQueryParam, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/close";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "remove-active-document-query-param";
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var activeDocumentId = parseInt(getQueryParam("active-document"));
					if (activeDocumentId === parseInt(args.id)) removeQueryParam("active-document");
					args.previous_active_document_id = activeDocumentId;
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/ui/open/set-active-document-query-param.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$302(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$302() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$302, "_callSuper");
	function _isNativeReflectConstruct$302() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$302 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$302, "_isNativeReflectConstruct");
	var SetActiveDocumentQueryParam = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function SetActiveDocumentQueryParam() {
			_classCallCheck(this, SetActiveDocumentQueryParam);
			return _callSuper$302(this, SetActiveDocumentQueryParam, arguments);
		}
		_inherits(SetActiveDocumentQueryParam, _$e$modules$hookUI$Af);
		return _createClass(SetActiveDocumentQueryParam, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/open";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "set-active-document-query-param";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return parseInt(args.id) !== parseInt(elementor.config.initial_document.id);
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var id = parseInt(args.id);
					if (!isNaN(id)) setQueryParam("active-document", args.id);
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/ui/open/clear-dynamic-tags-cache.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$301(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$301() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$301, "_callSuper");
	function _isNativeReflectConstruct$301() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$301 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$301, "_isNativeReflectConstruct");
	var ClearDynamicTagsCache = /*#__PURE__*/ function(_$e$modules$hookUI$Be) {
		function ClearDynamicTagsCache() {
			_classCallCheck(this, ClearDynamicTagsCache);
			return _callSuper$301(this, ClearDynamicTagsCache, arguments);
		}
		_inherits(ClearDynamicTagsCache, _$e$modules$hookUI$Be);
		return _createClass(ClearDynamicTagsCache, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/open";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "clear-dynamic-tags-cache-on-document-open";
				}
			},
			{
				key: "apply",
				value: function apply() {
					elementor.dynamicTags.cleanCache();
				}
			}
		]);
	}($e.modules.hookUI.Before);

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/ui/attach-preview/switch-to-active-document.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$300(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$300() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$300, "_callSuper");
	function _isNativeReflectConstruct$300() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$300 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$300, "_isNativeReflectConstruct");
	/**
	* Switch to the document in the `active-document` query param on initial Editor load.
	* This hook runs only once, when the initial document has been attached.
	*/
	var SwitchToActiveDocument = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function SwitchToActiveDocument() {
			_classCallCheck(this, SwitchToActiveDocument);
			return _callSuper$300(this, SwitchToActiveDocument, arguments);
		}
		_inherits(SwitchToActiveDocument, _$e$modules$hookUI$Af);
		return _createClass(SwitchToActiveDocument, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/attach-preview";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "switch-to-active-document";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					if (this.constructor.calledOnce) return false;
					return elementor.documents.getCurrentId() === elementor.config.initial_document.id;
				}
			},
			{
				key: "apply",
				value: function() {
					var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
						var activeDocumentId;
						var isLoadedAlready;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									this.constructor.calledOnce = true;
									activeDocumentId = parseInt(getQueryParam("active-document")), isLoadedAlready = activeDocumentId === elementor.documents.getCurrentId();
									if (!(isNaN(activeDocumentId) || isLoadedAlready)) {
										_context.next = 1;
										break;
									}
									return _context.abrupt("return");
								case 1:
									_context.prev = 1;
									_context.next = 2;
									return $e.run("editor/documents/switch", {
										id: activeDocumentId,
										mode: "autosave"
									});
								case 2:
									_context.next = 4;
									break;
								case 3:
									_context.prev = 3;
									_context["catch"](1);
									$e.run("editor/documents/switch", {
										id: elementor.config.initial_document.id,
										mode: "autosave"
									});
									removeQueryParam("active-document");
								case 4:
								case "end": return _context.stop();
							}
						}, _callee, this, [[1, 3]]);
					}));
					function apply() {
						return _apply.apply(this, arguments);
					}
					return apply;
				}()
			}
		]);
	}($e.modules.hookUI.After);
	_defineProperty(SwitchToActiveDocument, "calledOnce", false);

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/ui/switch/switch-to-active-tab.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$299(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$299() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$299, "_callSuper");
	function _isNativeReflectConstruct$299() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$299 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$299, "_isNativeReflectConstruct");
	var SwitchToActiveTab = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function SwitchToActiveTab() {
			_classCallCheck(this, SwitchToActiveTab);
			return _callSuper$299(this, SwitchToActiveTab, arguments);
		}
		_inherits(SwitchToActiveTab, _$e$modules$hookUI$Af);
		return _createClass(SwitchToActiveTab, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/switch";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "switch-to-active-tab";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					if (this.constructor.calledOnce) return false;
					return true;
				}
			},
			{
				key: "apply",
				value: function apply() {
					this.constructor.calledOnce = true;
					try {
						var activeTab = getQueryParam("active-tab");
						if (activeTab) $e.route("panel/global/" + activeTab);
					} catch (e) {
						removeQueryParam("active-tab");
					}
				}
			}
		]);
	}($e.modules.hookUI.After);
	_defineProperty(SwitchToActiveTab, "calledOnce", false);

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$298(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$298() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$298, "_callSuper");
	function _isNativeReflectConstruct$298() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$298 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$298, "_isNativeReflectConstruct");
	var RemoveActiveTabQueryParam = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function RemoveActiveTabQueryParam() {
			_classCallCheck(this, RemoveActiveTabQueryParam);
			return _callSuper$298(this, RemoveActiveTabQueryParam, arguments);
		}
		_inherits(RemoveActiveTabQueryParam, _$e$modules$hookUI$Af);
		return _createClass(RemoveActiveTabQueryParam, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/close";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "remove-active-tab-query-param";
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var activeTab = getQueryParam("active-tab");
					if (parseInt(args.previous_active_document_id) === parseInt(args.id) && activeTab) removeQueryParam("active-tab");
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param-back.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$297(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$297() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$297, "_callSuper");
	function _isNativeReflectConstruct$297() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$297 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$297, "_isNativeReflectConstruct");
	var RemoveActiveTabQueryParamBack = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function RemoveActiveTabQueryParamBack() {
			_classCallCheck(this, RemoveActiveTabQueryParamBack);
			return _callSuper$297(this, RemoveActiveTabQueryParamBack, arguments);
		}
		_inherits(RemoveActiveTabQueryParamBack, _$e$modules$hookUI$Af);
		return _createClass(RemoveActiveTabQueryParamBack, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "panel/global/back";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "remove-active-tab-query-param-back";
				}
			},
			{
				key: "apply",
				value: function apply() {
					if (getQueryParam("active-tab")) removeQueryParam("active-tab");
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region assets/dev/js/editor/components/documents/hooks/index.js
	var hooks_exports$6 = /* @__PURE__ */ __exportAll({
		ClearDynamicTagsCache: () => ClearDynamicTagsCache,
		RemoveActiveDocumentQueryParam: () => RemoveActiveDocumentQueryParam,
		RemoveActiveTabQueryParam: () => RemoveActiveTabQueryParam,
		RemoveActiveTabQueryParamBack: () => RemoveActiveTabQueryParamBack,
		SetActiveDocumentQueryParam: () => SetActiveDocumentQueryParam,
		SwitchToActiveDocument: () => SwitchToActiveDocument,
		SwitchToActiveTab: () => SwitchToActiveTab
	});

//#endregion
//#region assets/dev/js/editor/components/documents/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$296(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$296() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$296, "_callSuper");
	function _isNativeReflectConstruct$296() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$296 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$296, "_isNativeReflectConstruct");
	function _superPropGet$34(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$34, "_superPropGet");
	var Component$31 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$296(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "__construct",
				value: function __construct() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					_superPropGet$34(Component, "__construct", this, 3)([args]);
					/**
					* All the documents.
					*
					* @type {Object.<Document>}
					*/
					this.documents = {};
					/**
					* Current document.
					*
					* @type {Document}
					*/
					this.currentDocument = null;
					this.saveInitialDocumentToCache();
				}
			},
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "editor/documents";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$20);
				}
			},
			{
				key: "defaultHooks",
				value: function defaultHooks() {
					return this.importHooks(hooks_exports$6);
				}
			},
			{
				key: "defaultCommandsInternal",
				value: function defaultCommandsInternal() {
					return this.importCommands(internal_exports$3);
				}
			},
			{
				key: "add",
				value: function add(document) {
					var id = document.id;
					this.documents[id] = document;
					return document;
				}
			},
			{
				key: "addDocumentByConfig",
				value: function addDocumentByConfig(config) {
					return this.add(new Document$2(config));
				}
			},
			{
				key: "get",
				value: function get(id) {
					if (void 0 !== this.documents[id]) return this.documents[id];
					return false;
				}
			},
			{
				key: "getCurrent",
				value: function getCurrent() {
					return this.currentDocument;
				}
			},
			{
				key: "getCurrentId",
				value: function getCurrentId() {
					return this.currentDocument.id;
				}
			},
			{
				key: "getInitialId",
				value: function getInitialId() {
					return elementor.config.initial_document.id;
				}
			},
			{
				key: "setInitialById",
				value: function setInitialById(id) {
					var document = this.get(id);
					if (!document) return;
					elementor.config.initial_document = document.config;
					elementorCommon.ajax.addRequestConstant("initial_document_id", document.id);
				}
			},
			{
				key: "setCurrent",
				value: function setCurrent(document) {
					if (void 0 === this.documents[document.id]) throw Error("The document with id: '".concat(document.id, "' does not exist/loaded"));
					if (this.currentDocument) this.currentDocument.editor.status = "closed";
					this.currentDocument = this.documents[document.id];
					this.currentDocument.editor.status = "open";
					elementorCommon.ajax.addRequestConstant("editor_post_id", document.id);
				}
			},
			{
				key: "isCurrent",
				value: function isCurrent(id) {
					return parseInt(id) === this.currentDocument.id;
				}
			},
			{
				key: "unsetCurrent",
				value: function unsetCurrent() {
					this.currentDocument = null;
					elementorCommon.ajax.addRequestConstant("editor_post_id", null);
				}
			},
			{
				key: "request",
				value: function request(id) {
					return elementorCommon.ajax.load(this.getRequestArgs(id), true);
				}
			},
			{
				key: "invalidateCache",
				value: function invalidateCache() {
					var _this = this;
					var id = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
					if (id) {
						elementorCommon.ajax.invalidateCache(this.getRequestArgs(id));
						return;
					}
					Object.keys(this.documents).forEach(function(docId) {
						elementorCommon.ajax.invalidateCache(_this.getRequestArgs(docId));
					});
				}
			},
			{
				key: "getRequestArgs",
				value: function getRequestArgs(id) {
					id = parseInt(id);
					return {
						action: "get_document_config",
						unique_id: "document-".concat(id),
						data: { id },
						success: function success(config) {
							return config;
						},
						error: function error(data) {
							var message;
							if (_.isString(data)) message = data;
							else if (data.statusText) {
								message = elementor.createAjaxErrorMessage(data);
								if (0 === data.readyState) message += " " + (0, _wordpress_i18n.__)("Cannot load editor", "elementor");
							} else if (data[0] && data[0].code) message = (0, _wordpress_i18n.__)("Server Error", "elementor") + " " + data[0].code;
							alert(message);
						}
					};
				}
			},
			{
				key: "saveInitialDocumentToCache",
				value: function saveInitialDocumentToCache() {
					var document = elementor.config.initial_document;
					elementorCommon.ajax.addRequestCache(this.getRequestArgs(document.id), document);
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region core/common/assets/js/utils/environment.js
	var matchUserAgent, userAgent, isOpera, isFirefox, isSafari, isIE, isEdge, isChrome, isBlink, isAppleWebkit, environment;
	var init_environment = __esmMin((() => {
		matchUserAgent = function matchUserAgent(UserAgentStr) {
			return userAgent.indexOf(UserAgentStr) >= 0;
		};
		userAgent = navigator.userAgent;
		isOpera = !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(" OPR/");
		isFirefox = matchUserAgent("Firefox");
		isSafari = /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || function(p) {
			return "[object SafariRemoteNotification]" === p.toString();
		}(!window.safari || typeof safari !== "undefined" && safari.pushNotification);
		isIE = /Trident|MSIE/.test(userAgent) && !!document.documentMode;
		isEdge = !isIE && !!window.StyleMedia || matchUserAgent("Edg");
		isChrome = !!window.chrome && matchUserAgent("Chrome") && !(isEdge || isOpera);
		isBlink = matchUserAgent("Chrome") && !!window.CSS;
		isAppleWebkit = matchUserAgent("AppleWebKit") && !isBlink;
		environment = {
			isTouchDevice: "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0,
			appleWebkit: isAppleWebkit,
			blink: isBlink,
			chrome: isChrome,
			edge: isEdge,
			firefox: isFirefox,
			ie: isIE,
			mac: matchUserAgent("Macintosh"),
			opera: isOpera,
			safari: isSafari,
			webkit: matchUserAgent("AppleWebKit")
		};
	}));

//#endregion
//#region assets/dev/js/editor/elements/types/base/element-base.js
	var ElementBase;
	var init_element_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		ElementBase = /*#__PURE__*/ function() {
			function ElementBase() {
				_classCallCheck(this, ElementBase);
			}
			return _createClass(ElementBase, [
				{
					key: "getType",
					value: function getType() {
						elementorModules.ForceMethodImplementation();
					}
				},
				{
					key: "getView",
					value: function getView() {
						elementorModules.ForceMethodImplementation();
					}
				},
				{
					key: "getEmptyView",
					value: function getEmptyView() {
						elementorModules.ForceMethodImplementation();
					}
				},
				{
					key: "getModel",
					value: function getModel() {
						elementorModules.ForceMethodImplementation();
					}
				}
			]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/elements/models/base-element-model.js
	function _callSuper$295(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$295() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$295() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$295 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var BaseElementModel;
	var init_base_element_model = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$295, "_callSuper");
		__name(_isNativeReflectConstruct$295, "_isNativeReflectConstruct");
		BaseElementModel = /*#__PURE__*/ function(_Backbone$Model) {
			function BaseElementModel() {
				_classCallCheck(this, BaseElementModel);
				return _callSuper$295(this, BaseElementModel, arguments);
			}
			_inherits(BaseElementModel, _Backbone$Model);
			return _createClass(BaseElementModel, [{
				key: "isValidChild",
				value: function isValidChild(childModel) {
					elementorModules.ForceMethodImplementation({ attributes: this.attributes });
				}
			}]);
		}(Backbone.Model);
	}));

//#endregion
//#region assets/dev/js/editor/elements/models/column-settings.js
	var require_column_settings = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = elementorModules.editor.elements.models.BaseSettings.extend({ defaults: { _column_size: 100 } });
	}));

//#endregion
//#region assets/dev/js/editor/errors/element-type-not-found.js
	function _callSuper$294(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$294() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$294() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$294 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ElementTypeNotFound;
	var init_element_type_not_found = __esmMin((() => {
		init_createClass();
		init_classCallCheck();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_wrapNativeSuper();
		__name(_callSuper$294, "_callSuper");
		__name(_isNativeReflectConstruct$294, "_isNativeReflectConstruct");
		ElementTypeNotFound = /*#__PURE__*/ function(_Error) {
			function ElementTypeNotFound(elementType) {
				_classCallCheck(this, ElementTypeNotFound);
				return _callSuper$294(this, ElementTypeNotFound, ["Element type not found: '".concat(elementType, "'")]);
			}
			_inherits(ElementTypeNotFound, _Error);
			return _createClass(ElementTypeNotFound);
		}(/*#__PURE__*/ _wrapNativeSuper(Error));
	}));

//#endregion
//#region assets/dev/js/editor/elements/collections/elements.js
	var require_elements$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_element_type_not_found();
		var ElementsCollection = Backbone.Collection.extend({
			add: function add(models, options, isCorrectSet) {
				if ((!options || !options.silent) && !isCorrectSet) throw "Call Error: Adding model to element collection is allowed only by the dedicated addChildModel() method.";
				return Backbone.Collection.prototype.add.call(this, models, options);
			},
			model: function model(attrs, options) {
				var ModelClass = Backbone.Model;
				if (attrs.elType) {
					var elementType = attrs.widgetType || attrs.elType;
					var elementTypeClass = elementor.elementsManager.getElementTypeClass(elementType);
					if (!elementTypeClass) throw new ElementTypeNotFound(elementType);
					ModelClass = elementor.hooks.applyFilters("element/model", elementTypeClass.getModel(), attrs);
				}
				return new ModelClass(attrs, options);
			},
			clone: function clone() {
				var tempCollection = Backbone.Collection.prototype.clone.apply(this, arguments);
				var newCollection = new ElementsCollection();
				tempCollection.forEach(function(model) {
					newCollection.add(model.clone(), null, true);
				});
				return newCollection;
			}
		});
		ElementsCollection.prototype.sync = ElementsCollection.prototype.fetch = ElementsCollection.prototype.save = _.noop;
		module.exports = ElementsCollection;
	}));

//#endregion
//#region assets/dev/js/editor/elements/models/element.js
	var require_element$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_typeof();
		init_defineProperty();
		init_base_element_model();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var ColumnSettingsModel = require_column_settings();
		var ElementModel = BaseElementModel.extend({
			defaults: {
				id: "",
				elType: "",
				isInner: false,
				isLocked: false,
				settings: {},
				defaultEditSettings: { defaultEditRoute: "content" },
				interactions: {}
			},
			remoteRender: false,
			_htmlCache: null,
			_jqueryXhr: null,
			renderOnLeave: false,
			initialize: function initialize(options) {
				var elType = this.get("elType");
				var elements = this.get("elements");
				if (void 0 !== elements) {
					var ElementsCollection = require_elements$3();
					this.set("elements", new ElementsCollection(elements));
				}
				if ("widget" === elType) {
					this.remoteRender = true;
					this.setHtmlCache(options.htmlCache || "");
				}
				delete options.htmlCache;
				this.renderRemoteServer = _.throttle(this.renderRemoteServer, 1e3);
				this.initSettings();
				this.initEditSettings();
				this.on({
					destroy: this.onDestroy,
					"editor:close": this.onCloseEditor
				});
			},
			initSettings: function initSettings() {
				var elType = this.get("elType");
				var settings = this.get("settings");
				var SettingsModel = { column: ColumnSettingsModel }[elType] || elementorModules.editor.elements.models.BaseSettings;
				if (jQuery.isEmptyObject(settings)) settings = structuredClone(settings);
				if ("widget" === elType) settings.widgetType = this.get("widgetType");
				settings = _objectSpread(_objectSpread({}, settings), {}, { elType });
				settings.isInner = this.get("isInner");
				var customTitle = this.get("_title");
				if (customTitle) settings._title = customTitle;
				settings = new SettingsModel(settings, { controls: elementor.getElementControls(this) });
				this.set("settings", settings);
				elementorFrontend.config.elements.data[this.cid] = settings;
			},
			initEditSettings: function initEditSettings() {
				var editSettings = new Backbone.Model(this.get("defaultEditSettings"));
				this.set("editSettings", editSettings);
				elementorFrontend.config.elements.editSettings[this.cid] = editSettings;
			},
			setSetting: function setSetting(key, value) {
				var settings = this.get("settings");
				if ("object" !== _typeof(key)) {
					var keyParts = key.split(".");
					var isRepeaterKey = 3 === keyParts.length;
					key = keyParts[0];
					if (isRepeaterKey) {
						settings = settings.get(key).models[keyParts[1]];
						key = keyParts[2];
					}
				}
				settings.setExternalChange(key, value);
			},
			getSetting: function getSetting(key) {
				var keyParts = key.split(".");
				var isRepeaterKey = 3 === keyParts.length;
				var settings = this.get("settings");
				key = keyParts[0];
				var value = settings.get(key);
				if (void 0 === value) return "";
				if (isRepeaterKey) value = value.models[keyParts[1]].get(keyParts[2]);
				return value;
			},
			setHtmlCache: function setHtmlCache(htmlCache) {
				this._htmlCache = htmlCache;
			},
			getHtmlCache: function getHtmlCache() {
				return this._htmlCache;
			},
			getDefaultTitle: function getDefaultTitle() {
				return elementor.getElementData(this).title;
			},
			getTitle: function getTitle() {
				var _custom$isPreset;
				var editorSettings = this.get("editor_settings");
				var title = (editorSettings === null || editorSettings === void 0 ? void 0 : editorSettings.title) || this.getSetting("_title") || this.getSetting("presetTitle");
				var custom = this.get("custom");
				if (!title && ((_custom$isPreset = custom === null || custom === void 0 ? void 0 : custom.isPreset) !== null && _custom$isPreset !== void 0 ? _custom$isPreset : false)) return this.get("title") || title;
				if (!title) title = this.getDefaultTitle();
				return title;
			},
			getVisibility: function getVisibility() {
				if (elementor.helpers.isAtomicWidget(this)) {
					var _this$get;
					return !!((_this$get = this.get("editor_settings")) !== null && _this$get !== void 0 && _this$get.is_hidden);
				}
				return !!this.get("hidden");
			},
			setVisibility: function setVisibility() {
				var isHidden = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
				if (elementor.helpers.isAtomicWidget(this)) {
					var prevEditorSettings = this.get("editor_settings") || {};
					this.set("editor_settings", _objectSpread(_objectSpread({}, prevEditorSettings), {}, { is_hidden: isHidden }));
				} else this.set("hidden", isHidden);
			},
			toggleVisibility: function toggleVisibility() {
				var isHidden = this.getVisibility();
				this.setVisibility(!isHidden);
			},
			getIcon: function getIcon() {
				var _custom$isPreset2;
				var mainIcon = elementor.getElementData(this).icon;
				var custom = this.get("custom");
				if ((_custom$isPreset2 = custom === null || custom === void 0 ? void 0 : custom.isPreset) !== null && _custom$isPreset2 !== void 0 ? _custom$isPreset2 : false) return this.attributes.custom.preset_settings.presetIcon || mainIcon;
				var savedPresetIcon = this.getSetting("presetIcon");
				if ("string" === typeof savedPresetIcon && "" !== savedPresetIcon.trim()) return savedPresetIcon;
				return mainIcon;
			},
			createRemoteRenderRequest: function createRemoteRenderRequest() {
				var data = this.toJSON();
				return elementorCommon.ajax.addRequest("render_widget", {
					unique_id: this.cid,
					data: { data },
					success: this.onRemoteGetHtml.bind(this)
				}, true).jqXhr;
			},
			renderRemoteServer: function renderRemoteServer() {
				if (!this.remoteRender) return;
				this.renderOnLeave = false;
				this.trigger("before:remote:render");
				if (this.isRemoteRequestActive()) this._jqueryXhr.abort();
				this._jqueryXhr = this.createRemoteRenderRequest();
			},
			isRemoteRequestActive: function isRemoteRequestActive() {
				return this._jqueryXhr && 4 !== this._jqueryXhr.readyState;
			},
			onRemoteGetHtml: function onRemoteGetHtml(data) {
				this.setHtmlCache(data.render);
				this.trigger("remote:render");
			},
			clone: function clone() {
				var newModel = new this.constructor(elementorCommon.helpers.cloneObject(this.attributes));
				newModel.set("id", elementorCommon.helpers.getUniqueId());
				newModel.setHtmlCache(this.getHtmlCache());
				var elements = this.get("elements");
				if (!_.isEmpty(elements)) newModel.set("elements", elements.clone());
				return newModel;
			},
			toJSON: function toJSON(options) {
				options = options || {};
				var data = Backbone.Model.prototype.toJSON.call(this);
				_.each(data, function(attribute, key) {
					if (attribute && attribute.toJSON) data[key] = attribute.toJSON(options);
				});
				if (options.copyHtmlCache) data.htmlCache = this.getHtmlCache();
				else delete data.htmlCache;
				if (options.remove) options.remove.forEach(function(key) {
					return delete data[key];
				});
				return data;
			},
			onCloseEditor: function onCloseEditor() {
				if (this.renderOnLeave) this.renderRemoteServer();
			},
			onDestroy: function onDestroy() {
				var settings = this.get("settings");
				var elements = this.get("elements");
				if (void 0 !== elements) _.each(_.clone(elements.models), function(model) {
					model.destroy();
				});
				settings.destroy();
			}
		});
		ElementModel.prototype.sync = ElementModel.prototype.fetch = ElementModel.prototype.save = _.noop;
		module.exports = ElementModel;
	}));

//#endregion
//#region assets/dev/js/editor/elements/models/column.js
init_environment();
init_element_base();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	var import_element$1 = /* @__PURE__ */ __toESM(require_element$2());
	function _callSuper$293(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$293() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$293, "_callSuper");
	function _isNativeReflectConstruct$293() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$293 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$293, "_isNativeReflectConstruct");
	/**
	* @typedef {import('../../../editor/elements/models/base-element-model')} BaseModel
	*/
	var Column$1 = /*#__PURE__*/ function(_Element) {
		function Column() {
			_classCallCheck(this, Column);
			return _callSuper$293(this, Column, arguments);
		}
		_inherits(Column, _Element);
		return _createClass(Column, [{
			key: "isValidChild",
			value: function isValidChild(childModel) {
				var childElType = childModel.get("elType");
				if ("section" === childElType && childModel.get("isInner")) return true;
				return ["widget", "container"].includes(childElType);
			}
		}]);
	}(import_element$1.default);

//#endregion
//#region assets/dev/js/editor/utils/v4-preset-utils.js
/**
	* @typedef {import('../container/container')} Container
	*/
	/**
	* @typedef {Object} AtomicProp
	* @property {string} $$type - Atomic prop type identifier.
	* @property {*}      value  - Prop value payload.
	*/
	/**
	* @typedef {Object.<string, AtomicProp>} AtomicPropsMap
	*/
	/**
	* @typedef {Object} ElementModel
	* @property {string}                  id         - Element id.
	* @property {string}                  elType     - Element type (e.g. `e-grid`).
	* @property {Array}                   elements   - Child element models.
	* @property {Object.<string, Object>} [styles]   - Local style classes keyed by style id.
	* @property {{ classes: AtomicProp }} [settings] - Element settings.
	*/
	/**
	* Build a V4 element model with optional desktop and mobile style variants.
	*
	* @param {string}         elType      - V4 element type.
	* @param {AtomicPropsMap} cssProps    - Desktop breakpoint style props.
	* @param {AtomicPropsMap} mobileProps - Mobile breakpoint style props.
	*
	* @return {ElementModel} Element model ready for document insertion.
	*/
	function buildModel(elType, cssProps, mobileProps) {
		var model = {
			id: elementorCommon.helpers.getUniqueId(),
			elType,
			elements: []
		};
		var hasBase = cssProps && Object.keys(cssProps).length > 0;
		var hasMobile = mobileProps && Object.keys(mobileProps).length > 0;
		if (!hasBase && !hasMobile) return model;
		var styleId = "e-".concat(elementorCommon.helpers.getUniqueId());
		var variants = [{
			meta: {
				breakpoint: "desktop",
				state: null
			},
			props: cssProps !== null && cssProps !== void 0 ? cssProps : {},
			custom_css: null
		}];
		if (hasMobile) variants.push({
			meta: {
				breakpoint: "mobile",
				state: null
			},
			props: mobileProps,
			custom_css: null
		});
		model.styles = _defineProperty({}, styleId, {
			id: styleId,
			label: "local",
			type: "class",
			variants
		});
		model.settings = { classes: {
			$$type: "classes",
			value: [styleId]
		} };
		return model;
	}
	/**
	* Insert an element model into the document under the given target container.
	*
	* Expects to run inside a `runWithHistory()` transaction when the operation should be undoable.
	*
	* @param {Container|Object} target  - Parent container (or stub with `id` / `lookup`).
	* @param {ElementModel}     model   - Element model to insert.
	* @param {Object}           options - `document/elements/create` command options.
	*
	* @return {Container|Object} Created container, or a lookup stub when Container is unavailable.
	*/
	function insertElementFromModel(target, model, options) {
		var _elementorModules;
		var containerClass = (_elementorModules = elementorModules) === null || _elementorModules === void 0 || (_elementorModules = _elementorModules.editor) === null || _elementorModules === void 0 ? void 0 : _elementorModules.Container;
		var getDocumentUtils = function getDocumentUtils() {
			var _$e;
			var _$e$get;
			return (_$e = $e) === null || _$e === void 0 || (_$e = _$e.components) === null || _$e === void 0 || (_$e$get = _$e.get) === null || _$e$get === void 0 || (_$e$get = _$e$get.call(_$e, "document")) === null || _$e$get === void 0 ? void 0 : _$e$get.utils;
		};
		var getContainerById = function getContainerById(id) {
			var _getDocumentUtils$fin;
			var _getDocumentUtils;
			var _getDocumentUtils$fin2;
			return (_getDocumentUtils$fin = (_getDocumentUtils = getDocumentUtils()) === null || _getDocumentUtils === void 0 || (_getDocumentUtils$fin2 = _getDocumentUtils.findContainerById) === null || _getDocumentUtils$fin2 === void 0 ? void 0 : _getDocumentUtils$fin2.call(_getDocumentUtils, id)) !== null && _getDocumentUtils$fin !== void 0 ? _getDocumentUtils$fin : null;
		};
		var isContainerInstance = function isContainerInstance(candidate) {
			var _candidate$constructo;
			var _containerClass$proto;
			if (!containerClass || !candidate) return false;
			return candidate instanceof containerClass || ((_candidate$constructo = candidate.constructor) === null || _candidate$constructo === void 0 ? void 0 : _candidate$constructo.name) === ((_containerClass$proto = containerClass.prototype) === null || _containerClass$proto === void 0 ? void 0 : _containerClass$proto[Symbol.toStringTag]);
		};
		var resolveContainer = function resolveContainer(candidate) {
			var _candidate$lookup;
			if (!containerClass) return candidate;
			if (isContainerInstance(candidate)) return candidate;
			var lookedUp = candidate === null || candidate === void 0 || (_candidate$lookup = candidate.lookup) === null || _candidate$lookup === void 0 ? void 0 : _candidate$lookup.call(candidate);
			if (isContainerInstance(lookedUp)) return lookedUp;
			var byId = candidate !== null && candidate !== void 0 && candidate.id ? getContainerById(candidate.id) : null;
			if (isContainerInstance(byId)) return byId;
			return null;
		};
		var resolvedTarget = resolveContainer(target);
		if (!resolvedTarget && containerClass && target !== null && target !== void 0 && target.id) {
			var _getDocumentUtils2;
			var _getDocumentUtils2$ad;
			(_getDocumentUtils2 = getDocumentUtils()) === null || _getDocumentUtils2 === void 0 || (_getDocumentUtils2$ad = _getDocumentUtils2.addModelToParent) === null || _getDocumentUtils2$ad === void 0 || _getDocumentUtils2$ad.call(_getDocumentUtils2, target.id, model, options);
			var inserted = getContainerById(model.id);
			if (inserted) return inserted;
			return {
				id: model.id,
				lookup: function lookup() {
					return getContainerById(model.id);
				}
			};
		}
		var created = $e.run("document/elements/create", {
			container: resolvedTarget !== null && resolvedTarget !== void 0 ? resolvedTarget : target,
			model,
			options
		});
		var resolvedCreated = resolveContainer(created);
		if (resolvedCreated || !containerClass) return resolvedCreated !== null && resolvedCreated !== void 0 ? resolvedCreated : created;
		return {
			id: model.id,
			lookup: function lookup() {
				return getContainerById(model.id);
			}
		};
	}
	/**
	* Run a callback inside a single document history transaction.
	*
	* @param {string}   title    - History log title shown in the undo stack.
	* @param {Function} callback - Operation to run while history is open.
	*
	* @return {*} Callback return value.
	*/
	function runWithHistory(title, callback) {
		var historyId = $e.internal("document/history/start-log", {
			type: "add",
			title
		});
		var result;
		try {
			result = callback();
			$e.internal("document/history/end-log", { id: historyId });
		} catch (e) {
			$e.internal("document/history/delete-log", { id: historyId });
		}
		return result;
	}
	var init_v4_preset_utils = __esmMin((() => {
		init_defineProperty();
	}));

//#endregion
//#region assets/dev/js/editor/utils/v4-flexbox-preset.js
	function ownKeys$20(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$20(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$20(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$20(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function getPresetDefinition(preset) {
		if (PRESET_DEFINITIONS[preset]) return PRESET_DEFINITIONS[preset];
		return rowOfSizes(preset.split("-"));
	}
	function buildTreeModel(definition) {
		var parentProps = definition.parent;
		var parentMobile = definition.parentMobile;
		var _definition$children = definition.children;
		var children = _definition$children === void 0 ? [] : _definition$children;
		var model = buildModel(V4_ELEMENT_TYPE$1, parentProps, parentMobile);
		model.elements = children.map(function(childDef) {
			return buildTreeModel(childDef);
		});
		return model;
	}
	function buildNode(definition, target, options, isRoot) {
		var _target$lookup;
		var _target$lookup2;
		var parentProps = definition.parent;
		var parentMobile = definition.parentMobile;
		var children = definition.children;
		var node = isRoot && false === options.createWrapper ? (_target$lookup = target === null || target === void 0 || (_target$lookup2 = target.lookup) === null || _target$lookup2 === void 0 ? void 0 : _target$lookup2.call(target)) !== null && _target$lookup !== void 0 ? _target$lookup : target : insertElementFromModel(target, buildModel(V4_ELEMENT_TYPE$1, parentProps, parentMobile), isRoot ? options : { edit: false });
		children.forEach(function(childDef) {
			var _childDef$children;
			if (!!((_childDef$children = childDef.children) !== null && _childDef$children !== void 0 && _childDef$children.length)) {
				insertElementFromModel(node, buildTreeModel(childDef), { edit: false });
				return;
			}
			buildNode(childDef, node, options, false);
		});
		return node;
	}
	function createV4FlexboxFromPreset(preset) {
		var target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : elementor.getPreviewContainer();
		var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
		return runWithHistory((0, _wordpress_i18n.__)("Container", "elementor"), function() {
			return buildNode(getPresetDefinition(preset), target, options, true);
		});
	}
	var V4_ELEMENT_TYPE$1, DIRECTION_ROW$1, DIRECTION_COLUMN$1, SIZES_MAP, sizeProp, stringProp, widthPercent, FULL_WIDTH_MOBILE, ROW, COLUMN, ROW_WRAP, widthChild, bareChild, rowOfSizes, PRESET_DEFINITIONS;
	var init_v4_flexbox_preset = __esmMin((() => {
		init_defineProperty();
		init_v4_preset_utils();
		__name(ownKeys$20, "ownKeys");
		__name(_objectSpread$20, "_objectSpread");
		V4_ELEMENT_TYPE$1 = "e-flexbox";
		DIRECTION_ROW$1 = "row";
		DIRECTION_COLUMN$1 = "column";
		SIZES_MAP = {
			33: "33.3333",
			66: "66.6666"
		};
		sizeProp = function sizeProp(size) {
			return {
				$$type: "size",
				value: {
					size,
					unit: arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px"
				}
			};
		};
		stringProp = function stringProp(value) {
			return {
				$$type: "string",
				value
			};
		};
		widthPercent = function widthPercent(size) {
			var _SIZES_MAP$size;
			return { width: sizeProp(Number((_SIZES_MAP$size = SIZES_MAP[size]) !== null && _SIZES_MAP$size !== void 0 ? _SIZES_MAP$size : size), "%") };
		};
		FULL_WIDTH_MOBILE = { width: sizeProp(100, "%") };
		ROW = { "flex-direction": stringProp(DIRECTION_ROW$1) };
		COLUMN = { "flex-direction": stringProp(DIRECTION_COLUMN$1) };
		ROW_WRAP = _objectSpread$20(_objectSpread$20({}, ROW), {}, { "flex-wrap": stringProp("wrap") });
		widthChild = function widthChild(size) {
			return {
				parent: _objectSpread$20(_objectSpread$20({}, COLUMN), widthPercent(size)),
				parentMobile: FULL_WIDTH_MOBILE,
				children: []
			};
		};
		bareChild = function bareChild() {
			return {
				parent: COLUMN,
				children: []
			};
		};
		rowOfSizes = function rowOfSizes(sizes) {
			return {
				parent: sizes.reduce(function(s, n) {
					return s + Number(n);
				}, 0) > 100 ? ROW_WRAP : ROW,
				children: sizes.map(widthChild)
			};
		};
		PRESET_DEFINITIONS = {
			c100: {
				parent: COLUMN,
				children: []
			},
			r100: {
				parent: ROW,
				children: []
			},
			"c100-c50-50": {
				parent: ROW,
				children: [widthChild("50"), {
					parent: _objectSpread$20(_objectSpread$20(_objectSpread$20({}, COLUMN), widthPercent("50")), {}, { padding: sizeProp(0, "px") }),
					parentMobile: FULL_WIDTH_MOBILE,
					children: [bareChild(), bareChild()]
				}]
			}
		};
	}));

//#endregion
//#region assets/dev/js/editor/utils/v4-grid-preset.js
	function getGridPresetProps(structure) {
		var parsedStructure = elementor.presetsFactory.getParsedGridStructure(structure);
		return {
			desktop: {
				"grid-template-columns": gridTrackSizeProp(parsedStructure.columns),
				"grid-template-rows": gridTrackSizeProp(parsedStructure.rows)
			},
			mobile: {
				"grid-template-columns": gridTrackSizeProp(1),
				"grid-template-rows": gridTrackSizeProp(parsedStructure.rows)
			}
		};
	}
	function createV4GridFromPreset(structure) {
		var target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : elementor.getPreviewContainer();
		var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
		return runWithHistory((0, _wordpress_i18n.__)("Grid", "elementor"), function() {
			var _getGridPresetProps = getGridPresetProps(structure);
			var desktop = _getGridPresetProps.desktop;
			var mobile = _getGridPresetProps.mobile;
			return insertElementFromModel(target, buildModel(V4_ELEMENT_TYPE, desktop, mobile), options);
		});
	}
	var V4_ELEMENT_TYPE, gridTrackSizeProp;
	var init_v4_grid_preset = __esmMin((() => {
		init_v4_preset_utils();
		V4_ELEMENT_TYPE = "e-grid";
		gridTrackSizeProp = function gridTrackSizeProp(size) {
			return {
				$$type: "grid-track-size",
				value: {
					size: Number(size),
					unit: "fr"
				}
			};
		};
	}));

//#endregion
//#region assets/dev/js/editor/utils/container-helper.js
	function ownKeys$19(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$19(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$19(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$19(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	var _ContainerHelper, ContainerHelper;
	var init_container_helper = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_defineProperty();
		init_v4_flexbox_preset();
		init_v4_grid_preset();
		;
		__name(ownKeys$19, "ownKeys");
		__name(_objectSpread$19, "_objectSpread");
		ContainerHelper = /*#__PURE__*/ function() {
			function ContainerHelper() {
				_classCallCheck(this, ContainerHelper);
			}
			return _createClass(ContainerHelper, null, [
				{
					key: "isV4OptIn",
					value: function isV4OptIn() {
						var _elementorCommon;
						return !!((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.config) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.experimentalFeatures) !== null && _elementorCommon !== void 0 && _elementorCommon.e_opt_in_v4);
					}
				},
				{
					key: "createContainers",
					value: function createContainers(count, settings) {
						var target = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
						var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
						var containers = [];
						for (var i = 0; i < count; i++) containers.push(this.createContainer(settings, target, options));
						return containers;
					}
				},
				{
					key: "createContainer",
					value: function createContainer() {
						var settings = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						var target = arguments.length > 1 ? arguments[1] : void 0;
						var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
						var modelAttributes = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
						return $e.run("document/elements/create", {
							container: target,
							model: _objectSpread$19({
								elType: "container",
								settings
							}, modelAttributes),
							options
						});
					}
				},
				{
					key: "setContainerSettings",
					value: function setContainerSettings(settings, container) {
						$e.run("document/elements/settings", {
							container,
							settings,
							options: { external: true }
						});
					}
				},
				{
					key: "createContainerFromSizes",
					value: function createContainerFromSizes(sizes, target) {
						var _this = this;
						var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
						var _options$createWrappe = options.createWrapper;
						var createWrapper = _options$createWrappe === void 0 ? true : _options$createWrappe;
						var sizesMap = {
							33: "33.3333",
							66: "66.6666"
						};
						var shouldWrap = sizes.reduce(function(sum, size) {
							return sum + parseInt(size);
						}, 0) > 100;
						var settings = _objectSpread$19(_objectSpread$19({ flex_direction: this.DIRECTION_ROW }, shouldWrap ? { flex_wrap: "wrap" } : {}), {}, { flex_gap: {
							unit: "px",
							size: 0,
							column: "0",
							row: "0"
						} });
						var parentContainer;
						if (!createWrapper) {
							$e.run("document/elements/settings", {
								container: target,
								settings
							});
							parentContainer = target;
						} else parentContainer = this.createContainer(settings, target, options);
						sizes.forEach(function(size) {
							size = sizesMap[size] || size;
							_this.createContainer({
								flex_direction: _this.DIRECTION_COLUMN,
								content_width: "full",
								width: {
									unit: "%",
									size
								}
							}, parentContainer, { edit: false });
						});
						return parentContainer;
					}
				},
				{
					key: "createContainerFromGridPreset",
					value: function createContainerFromGridPreset(structure) {
						var target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : elementor.getPreviewContainer();
						var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
						var modelAttributes = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
						if (ContainerHelper.isV4OptIn()) return createV4GridFromPreset(structure, target, options);
						var parsedStructure = elementor.presetsFactory.getParsedGridStructure(structure);
						return ContainerHelper.createContainer({
							container_type: ContainerHelper.CONTAINER_TYPE_GRID,
							grid_columns_grid: {
								unit: "fr",
								size: parsedStructure.columns
							},
							grid_rows_grid: {
								unit: "fr",
								size: parsedStructure.rows
							},
							grid_rows_grid_mobile: {
								unit: "fr",
								size: parsedStructure.rows
							}
						}, target, options, _objectSpread$19({
							title: (0, _wordpress_i18n.__)("Grid", "elementor"),
							custom: {
								isPreset: true,
								preset_settings: { presetIcon: "eicon-container-grid" }
							}
						}, modelAttributes));
					}
				},
				{
					key: "createContainerFromPreset",
					value: function createContainerFromPreset(preset) {
						var target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : elementor.getPreviewContainer();
						var options = arguments.length > 2 ? arguments[2] : void 0;
						if (ContainerHelper.isV4OptIn()) return createV4FlexboxFromPreset(preset, target, options);
						var historyId = $e.internal("document/history/start-log", {
							type: "add",
							title: (0, _wordpress_i18n.__)("Container", "elementor")
						});
						var _options$createWrappe2 = options.createWrapper;
						var createWrapper = _options$createWrappe2 === void 0 ? true : _options$createWrappe2;
						var newContainer;
						var settings;
						try {
							switch (preset) {
								case "c100":
									newContainer = ContainerHelper.createContainer({ flex_direction: ContainerHelper.DIRECTION_COLUMN }, target, options);
									break;
								case "r100":
									newContainer = ContainerHelper.createContainer({ flex_direction: ContainerHelper.DIRECTION_ROW }, target, options);
									break;
								case "c100-c50-50":
									settings = {
										flex_direction: ContainerHelper.DIRECTION_ROW,
										flex_gap: {
											unit: "px",
											size: 0,
											column: "0",
											row: "0"
										}
									};
									if (!createWrapper) {
										$e.run("document/elements/settings", {
											container: target,
											settings
										});
										newContainer = target;
									} else newContainer = ContainerHelper.createContainer(settings, target, options);
									settings = {
										content_width: "full",
										width: {
											unit: "%",
											size: "50"
										}
									};
									ContainerHelper.createContainer(settings, newContainer, { edit: false });
									var rightContainer = ContainerHelper.createContainer(_objectSpread$19(_objectSpread$19({}, settings), {}, {
										padding: {
											unit: "px",
											top: 0,
											right: 0,
											bottom: 0,
											left: 0,
											isLinked: true
										},
										flex_gap: {
											unit: "px",
											size: 0,
											column: "0",
											row: "0"
										}
									}), newContainer, { edit: false });
									ContainerHelper.createContainers(2, {}, rightContainer, { edit: false });
									break;
								default:
									var sizes = preset.split("-");
									newContainer = ContainerHelper.createContainerFromSizes(sizes, target, options);
							}
							$e.internal("document/history/end-log", { id: historyId });
						} catch (e) {
							$e.internal("document/history/delete-log", { id: historyId });
						}
						return newContainer;
					}
				},
				{
					key: "openEditMode",
					value: function openEditMode(container) {
						$e.run("document/elements/select", { container });
					}
				},
				{
					key: "createContainerFromModel",
					value: function createContainerFromModel(model, target) {
						var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
						return $e.run("document/elements/create", _objectSpread$19({
							model,
							container: target
						}, options));
					}
				}
			]);
		}();
		_ContainerHelper = ContainerHelper;
		_defineProperty(ContainerHelper, "DIRECTION_ROW", "row");
		_defineProperty(ContainerHelper, "DIRECTION_COLUMN", "column");
		_defineProperty(ContainerHelper, "DIRECTION_ROW_REVERSED", "row-reverse");
		_defineProperty(ContainerHelper, "DIRECTION_COLUMN_REVERSED", "column-reverse");
		_defineProperty(ContainerHelper, "DIRECTION_DEFAULT", _ContainerHelper.DIRECTION_COLUMN);
		_defineProperty(ContainerHelper, "CONTAINER_TYPE_GRID", "grid");
		_defineProperty(ContainerHelper, "V4_DEFAULT_CONTAINER_TYPE", "e-flexbox");
	}));

//#endregion
//#region assets/dev/js/editor/utils/editor-one-events.js
	function ownKeys$18(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$18(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$18(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$18(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	var EditorOneEventManager, createDebouncedWidgetPanelSearch;
	var init_editor_one_events = __esmMin((() => {
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		__name(ownKeys$18, "ownKeys");
		__name(_objectSpread$18, "_objectSpread");
		EditorOneEventManager = /*#__PURE__*/ function() {
			function EditorOneEventManager() {
				_classCallCheck(this, EditorOneEventManager);
			}
			return _createClass(EditorOneEventManager, null, [
				{
					key: "getEventsManager",
					value: function getEventsManager() {
						var _elementorCommon;
						return (_elementorCommon = elementorCommon) === null || _elementorCommon === void 0 ? void 0 : _elementorCommon.eventsManager;
					}
				},
				{
					key: "getConfig",
					value: function getConfig() {
						var _this$getEventsManage;
						return (_this$getEventsManage = this.getEventsManager()) === null || _this$getEventsManage === void 0 ? void 0 : _this$getEventsManage.config;
					}
				},
				{
					key: "canSendEvents",
					value: function canSendEvents() {
						var _elementorCommon2;
						return ((_elementorCommon2 = elementorCommon) === null || _elementorCommon2 === void 0 || (_elementorCommon2 = _elementorCommon2.config) === null || _elementorCommon2 === void 0 || (_elementorCommon2 = _elementorCommon2.editor_events) === null || _elementorCommon2 === void 0 ? void 0 : _elementorCommon2.can_send_events) || false;
					}
				},
				{
					key: "isEventsManagerAvailable",
					value: function isEventsManagerAvailable() {
						var eventsManager = this.getEventsManager();
						return eventsManager && "function" === typeof eventsManager.dispatchEvent;
					}
				},
				{
					key: "dispatchEvent",
					value: function dispatchEvent(eventName, payload) {
						try {
							if (!this.isEventsManagerAvailable() || !this.canSendEvents()) return false;
							this.getEventsManager().dispatchEvent(eventName, payload);
							return true;
						} catch (error) {
							return false;
						}
					}
				},
				{
					key: "toLowerSnake",
					value: function toLowerSnake(value) {
						if (!value || "string" !== typeof value) return value;
						return value.replace(/\s+/g, "_").toLowerCase();
					}
				},
				{
					key: "decodeHtmlEntities",
					value: function decodeHtmlEntities(text) {
						if (!text || "string" !== typeof text) return text;
						return new DOMParser().parseFromString(text, "text/html").body.textContent || text;
					}
				},
				{
					key: "isInEditorContext",
					value: function isInEditorContext() {
						var _window$elementor;
						return "undefined" !== typeof window.elementor && !!((_window$elementor = window.elementor) !== null && _window$elementor !== void 0 && _window$elementor.documents);
					}
				},
				{
					key: "getFinderContext",
					value: function getFinderContext() {
						var _config$appTypes;
						var _config$appTypes2;
						var _config$locations;
						var _config$locations2;
						var config = this.getConfig();
						var isEditor = this.isInEditorContext();
						return {
							windowName: isEditor ? config === null || config === void 0 || (_config$appTypes = config.appTypes) === null || _config$appTypes === void 0 ? void 0 : _config$appTypes.editor : config === null || config === void 0 || (_config$appTypes2 = config.appTypes) === null || _config$appTypes2 === void 0 ? void 0 : _config$appTypes2.wpAdmin,
							targetLocation: this.toLowerSnake(isEditor ? config === null || config === void 0 || (_config$locations = config.locations) === null || _config$locations === void 0 ? void 0 : _config$locations.topBar : config === null || config === void 0 || (_config$locations2 = config.locations) === null || _config$locations2 === void 0 ? void 0 : _config$locations2.sidebar)
						};
					}
				},
				{
					key: "createBasePayload",
					value: function createBasePayload() {
						var _config$appTypes$edit;
						var _config$appTypes3;
						var overrides = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						var config = this.getConfig();
						return _objectSpread$18({ window_name: (_config$appTypes$edit = config === null || config === void 0 || (_config$appTypes3 = config.appTypes) === null || _config$appTypes3 === void 0 ? void 0 : _config$appTypes3.editor) !== null && _config$appTypes$edit !== void 0 ? _config$appTypes$edit : "editor" }, overrides);
					}
				},
				{
					key: "sendTopBarPublishDropdown",
					value: function sendTopBarPublishDropdown(targetName) {
						var _config$names;
						var _config$triggers;
						var _config$targetTypes;
						var _config$interactionRe;
						var _config$locations3;
						var _config$secondaryLoca;
						var _config$targetTypes2;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names = config.names) === null || _config$names === void 0 || (_config$names = _config$names.editorOne) === null || _config$names === void 0 ? void 0 : _config$names.topBarPublishDropdown, this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers = config.triggers) === null || _config$triggers === void 0 ? void 0 : _config$triggers.click),
							target_type: config === null || config === void 0 || (_config$targetTypes = config.targetTypes) === null || _config$targetTypes === void 0 ? void 0 : _config$targetTypes.dropdownItem,
							target_name: targetName,
							interaction_result: config === null || config === void 0 || (_config$interactionRe = config.interactionResults) === null || _config$interactionRe === void 0 ? void 0 : _config$interactionRe.actionSelected,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations3 = config.locations) === null || _config$locations3 === void 0 ? void 0 : _config$locations3.topBar),
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca = config.secondaryLocations) === null || _config$secondaryLoca === void 0 ? void 0 : _config$secondaryLoca.publishDropdown),
							location_l2: config === null || config === void 0 || (_config$targetTypes2 = config.targetTypes) === null || _config$targetTypes2 === void 0 ? void 0 : _config$targetTypes2.dropdownItem,
							interaction_description: "User selected an action from the publish dropdown"
						}));
					}
				},
				{
					key: "sendTopBarPageList",
					value: function sendTopBarPageList(targetName) {
						var _config$names2;
						var _config$triggers2;
						var _config$targetTypes3;
						var _config$interactionRe2;
						var _config$interactionRe3;
						var _config$locations4;
						var _config$secondaryLoca2;
						var _config$targetTypes4;
						var isCreate = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names2 = config.names) === null || _config$names2 === void 0 || (_config$names2 = _config$names2.editorOne) === null || _config$names2 === void 0 ? void 0 : _config$names2.topBarPageList, this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers2 = config.triggers) === null || _config$triggers2 === void 0 ? void 0 : _config$triggers2.click),
							target_type: config === null || config === void 0 || (_config$targetTypes3 = config.targetTypes) === null || _config$targetTypes3 === void 0 ? void 0 : _config$targetTypes3.dropdownItem,
							target_name: targetName,
							interaction_result: isCreate ? config === null || config === void 0 || (_config$interactionRe2 = config.interactionResults) === null || _config$interactionRe2 === void 0 ? void 0 : _config$interactionRe2.create : config === null || config === void 0 || (_config$interactionRe3 = config.interactionResults) === null || _config$interactionRe3 === void 0 ? void 0 : _config$interactionRe3.navigate,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations4 = config.locations) === null || _config$locations4 === void 0 ? void 0 : _config$locations4.topBar),
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca2 = config.secondaryLocations) === null || _config$secondaryLoca2 === void 0 ? void 0 : _config$secondaryLoca2.pageListDropdown),
							location_l2: config === null || config === void 0 || (_config$targetTypes4 = config.targetTypes) === null || _config$targetTypes4 === void 0 ? void 0 : _config$targetTypes4.dropdownItem,
							interaction_description: "User selected an action from the page list dropdown"
						}));
					}
				},
				{
					key: "sendSiteSettingsSession",
					value: function sendSiteSettingsSession(_ref) {
						var _config$names3;
						var _config$triggers3;
						var _config$interactionRe4;
						var _config$locations5;
						var _config$secondaryLoca3;
						var targetType = _ref.targetType;
						var _ref$visitedItems = _ref.visitedItems;
						var visitedItems = _ref$visitedItems === void 0 ? [] : _ref$visitedItems;
						var _ref$savedItems = _ref.savedItems;
						var savedItems = _ref$savedItems === void 0 ? [] : _ref$savedItems;
						var state = _ref.state;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names3 = config.names) === null || _config$names3 === void 0 || (_config$names3 = _config$names3.editorOne) === null || _config$names3 === void 0 ? void 0 : _config$names3.siteSettingsSession, this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers3 = config.triggers) === null || _config$triggers3 === void 0 ? void 0 : _config$triggers3.click),
							target_type: targetType,
							target_name: "site_settings",
							interaction_result: config === null || config === void 0 || (_config$interactionRe4 = config.interactionResults) === null || _config$interactionRe4 === void 0 ? void 0 : _config$interactionRe4.sessionEnd,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations5 = config.locations) === null || _config$locations5 === void 0 ? void 0 : _config$locations5.leftPanel),
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca3 = config.secondaryLocations) === null || _config$secondaryLoca3 === void 0 ? void 0 : _config$secondaryLoca3.siteSettings),
							interaction_description: "Records areas visited as part of the site setting session",
							metadata: {
								visited_items: visitedItems,
								saved_items: savedItems
							},
							state
						}));
					}
				},
				{
					key: "sendELibraryNav",
					value: function sendELibraryNav(tabName) {
						var _config$names4;
						var _config$triggers4;
						var _config$targetTypes5;
						var _config$interactionRe5;
						var _config$locations6;
						var _config$secondaryLoca4;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names4 = config.names) === null || _config$names4 === void 0 || (_config$names4 = _config$names4.editorOne) === null || _config$names4 === void 0 ? void 0 : _config$names4.eLibraryNav, this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers4 = config.triggers) === null || _config$triggers4 === void 0 ? void 0 : _config$triggers4.tabSelect),
							target_type: config === null || config === void 0 || (_config$targetTypes5 = config.targetTypes) === null || _config$targetTypes5 === void 0 ? void 0 : _config$targetTypes5.tab,
							target_name: this.toLowerSnake(tabName),
							interaction_result: config === null || config === void 0 || (_config$interactionRe5 = config.interactionResults) === null || _config$interactionRe5 === void 0 ? void 0 : _config$interactionRe5.tabChanged,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations6 = config.locations) === null || _config$locations6 === void 0 ? void 0 : _config$locations6.elementorLibrary),
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca4 = config.secondaryLocations) === null || _config$secondaryLoca4 === void 0 ? void 0 : _config$secondaryLoca4.libraryTabs),
							interaction_description: "User navigates within elementor library"
						}));
					}
				},
				{
					key: "sendELibraryInsert",
					value: function sendELibraryInsert(_ref2) {
						var _config$triggers5;
						var _config$targetTypes6;
						var _config$interactionRe6;
						var _config$locations7;
						var _config$secondaryLoca5;
						var _config$names5;
						var assetId = _ref2.assetId;
						var assetName = _ref2.assetName;
						var libraryType = _ref2.libraryType;
						var _ref2$proRequired = _ref2.proRequired;
						var proRequired = _ref2$proRequired === void 0 ? false : _ref2$proRequired;
						var config = this.getConfig();
						var payload = this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers5 = config.triggers) === null || _config$triggers5 === void 0 ? void 0 : _config$triggers5.insert),
							target_type: config === null || config === void 0 || (_config$targetTypes6 = config.targetTypes) === null || _config$targetTypes6 === void 0 ? void 0 : _config$targetTypes6.button,
							target_name: String(assetId),
							interaction_result: config === null || config === void 0 || (_config$interactionRe6 = config.interactionResults) === null || _config$interactionRe6 === void 0 ? void 0 : _config$interactionRe6.assetInserted,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations7 = config.locations) === null || _config$locations7 === void 0 ? void 0 : _config$locations7.elementorLibrary),
							location_l1: this.toLowerSnake(libraryType),
							location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca5 = config.secondaryLocations) === null || _config$secondaryLoca5 === void 0 ? void 0 : _config$secondaryLoca5.assetCard),
							interaction_description: "User inserts block/pages from elementor library",
							metadata: {
								template_id: String(assetId),
								template_name: this.decodeHtmlEntities(assetName) || ""
							}
						});
						if (proRequired) payload.state = "pro_plan_required";
						return this.dispatchEvent(config === null || config === void 0 || (_config$names5 = config.names) === null || _config$names5 === void 0 || (_config$names5 = _config$names5.editorOne) === null || _config$names5 === void 0 ? void 0 : _config$names5.eLibraryInsert, payload);
					}
				},
				{
					key: "sendELibraryFavorite",
					value: function sendELibraryFavorite(_ref3) {
						var _config$triggers6;
						var _config$targetTypes7;
						var _config$interactionRe7;
						var _config$locations8;
						var _config$secondaryLoca6;
						var _config$names6;
						var assetId = _ref3.assetId;
						var assetName = _ref3.assetName;
						var libraryType = _ref3.libraryType;
						var isFavorite = _ref3.isFavorite;
						var _ref3$proRequired = _ref3.proRequired;
						var proRequired = _ref3$proRequired === void 0 ? false : _ref3$proRequired;
						var config = this.getConfig();
						var payload = this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers6 = config.triggers) === null || _config$triggers6 === void 0 ? void 0 : _config$triggers6.click),
							target_type: config === null || config === void 0 || (_config$targetTypes7 = config.targetTypes) === null || _config$targetTypes7 === void 0 ? void 0 : _config$targetTypes7.toggle,
							target_name: String(assetId),
							interaction_result: config === null || config === void 0 || (_config$interactionRe7 = config.interactionResults) === null || _config$interactionRe7 === void 0 ? void 0 : _config$interactionRe7.assetFavorite,
							target_value: Boolean(isFavorite),
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations8 = config.locations) === null || _config$locations8 === void 0 ? void 0 : _config$locations8.elementorLibrary),
							location_l1: this.toLowerSnake(libraryType),
							location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca6 = config.secondaryLocations) === null || _config$secondaryLoca6 === void 0 ? void 0 : _config$secondaryLoca6.assetCard),
							interaction_description: "User favorite block/pages from elementor library",
							metadata: {
								template_id: String(assetId),
								template_name: this.decodeHtmlEntities(assetName) || ""
							}
						});
						if (proRequired) payload.state = "pro_plan_required";
						return this.dispatchEvent(config === null || config === void 0 || (_config$names6 = config.names) === null || _config$names6 === void 0 || (_config$names6 = _config$names6.editorOne) === null || _config$names6 === void 0 ? void 0 : _config$names6.eLibraryFavorite, payload);
					}
				},
				{
					key: "sendELibraryGenerateAi",
					value: function sendELibraryGenerateAi(_ref4) {
						var _config$names7;
						var _config$triggers7;
						var _config$targetTypes8;
						var _config$interactionRe8;
						var _config$locations9;
						var _config$secondaryLoca7;
						var assetId = _ref4.assetId;
						var assetName = _ref4.assetName;
						var libraryType = _ref4.libraryType;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names7 = config.names) === null || _config$names7 === void 0 || (_config$names7 = _config$names7.editorOne) === null || _config$names7 === void 0 ? void 0 : _config$names7.eLibraryGenerateAi, this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers7 = config.triggers) === null || _config$triggers7 === void 0 ? void 0 : _config$triggers7.click),
							target_type: config === null || config === void 0 || (_config$targetTypes8 = config.targetTypes) === null || _config$targetTypes8 === void 0 ? void 0 : _config$targetTypes8.button,
							target_name: String(assetId),
							interaction_result: config === null || config === void 0 || (_config$interactionRe8 = config.interactionResults) === null || _config$interactionRe8 === void 0 ? void 0 : _config$interactionRe8.aiGenerate,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations9 = config.locations) === null || _config$locations9 === void 0 ? void 0 : _config$locations9.elementorLibrary),
							location_l1: this.toLowerSnake(libraryType),
							location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca7 = config.secondaryLocations) === null || _config$secondaryLoca7 === void 0 ? void 0 : _config$secondaryLoca7.assetCard),
							interaction_description: "User generated block/page based on a library asset",
							metadata: {
								template_id: String(assetId),
								template_name: this.decodeHtmlEntities(assetName) || ""
							}
						}));
					}
				},
				{
					key: "sendFinderSearchInput",
					value: function sendFinderSearchInput(_ref5) {
						var _config$triggers8;
						var _config$targetTypes9;
						var _config$interactionRe9;
						var _config$interactionRe0;
						var _config$secondaryLoca8;
						var _config$names8;
						var resultsCount = _ref5.resultsCount;
						var _ref5$searchTerm = _ref5.searchTerm;
						var searchTerm = _ref5$searchTerm === void 0 ? null : _ref5$searchTerm;
						var config = this.getConfig();
						var hasResults = resultsCount > 0;
						var finderContext = this.getFinderContext();
						var payload = this.createBasePayload({
							window_name: finderContext.windowName,
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers8 = config.triggers) === null || _config$triggers8 === void 0 ? void 0 : _config$triggers8.typing),
							target_type: config === null || config === void 0 || (_config$targetTypes9 = config.targetTypes) === null || _config$targetTypes9 === void 0 ? void 0 : _config$targetTypes9.searchInput,
							target_name: "finder",
							interaction_result: hasResults ? config === null || config === void 0 || (_config$interactionRe9 = config.interactionResults) === null || _config$interactionRe9 === void 0 ? void 0 : _config$interactionRe9.resultsUpdated : config === null || config === void 0 || (_config$interactionRe0 = config.interactionResults) === null || _config$interactionRe0 === void 0 ? void 0 : _config$interactionRe0.noResults,
							target_location: finderContext.targetLocation,
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca8 = config.secondaryLocations) === null || _config$secondaryLoca8 === void 0 ? void 0 : _config$secondaryLoca8.finder),
							interaction_description: "Finder search input, follows debounce behavior",
							metadata: { results_count: resultsCount }
						});
						if (!hasResults && searchTerm) payload.metadata.search_term = searchTerm;
						return this.dispatchEvent(config === null || config === void 0 || (_config$names8 = config.names) === null || _config$names8 === void 0 || (_config$names8 = _config$names8.editorOne) === null || _config$names8 === void 0 ? void 0 : _config$names8.finderSearchInput, payload);
					}
				},
				{
					key: "sendFinderResultSelect",
					value: function sendFinderResultSelect(choice) {
						var _config$names9;
						var _config$triggers9;
						var _config$targetTypes0;
						var _config$interactionRe1;
						var _config$secondaryLoca9;
						var _config$secondaryLoca0;
						var config = this.getConfig();
						var finderContext = this.getFinderContext();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names9 = config.names) === null || _config$names9 === void 0 || (_config$names9 = _config$names9.editorOne) === null || _config$names9 === void 0 ? void 0 : _config$names9.finderResultSelect, this.createBasePayload({
							window_name: finderContext.windowName,
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers9 = config.triggers) === null || _config$triggers9 === void 0 ? void 0 : _config$triggers9.click),
							target_type: config === null || config === void 0 || (_config$targetTypes0 = config.targetTypes) === null || _config$targetTypes0 === void 0 ? void 0 : _config$targetTypes0.searchResult,
							target_name: choice,
							interaction_result: config === null || config === void 0 || (_config$interactionRe1 = config.interactionResults) === null || _config$interactionRe1 === void 0 ? void 0 : _config$interactionRe1.selected,
							target_location: finderContext.targetLocation,
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca9 = config.secondaryLocations) === null || _config$secondaryLoca9 === void 0 ? void 0 : _config$secondaryLoca9.finder),
							location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca0 = config.secondaryLocations) === null || _config$secondaryLoca0 === void 0 ? void 0 : _config$secondaryLoca0.finderResults),
							interaction_description: "Finder search results was selected"
						}));
					}
				},
				{
					key: "sendCanvasEmptyBoxAction",
					value: function sendCanvasEmptyBoxAction(_ref6) {
						var _config$triggers0;
						var _config$targetTypes1;
						var _config$interactionRe10;
						var _config$locations0;
						var _config$secondaryLoca1;
						var _config$names0;
						var targetName = _ref6.targetName;
						var _ref6$metadata = _ref6.metadata;
						var metadata = _ref6$metadata === void 0 ? {} : _ref6$metadata;
						var _ref6$containerCreate = _ref6.containerCreated;
						var containerCreated = _ref6$containerCreate === void 0 ? null : _ref6$containerCreate;
						var config = this.getConfig();
						var payload = this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers0 = config.triggers) === null || _config$triggers0 === void 0 ? void 0 : _config$triggers0.click),
							target_type: config === null || config === void 0 || (_config$targetTypes1 = config.targetTypes) === null || _config$targetTypes1 === void 0 ? void 0 : _config$targetTypes1.buttons,
							target_name: targetName,
							interaction_result: config === null || config === void 0 || (_config$interactionRe10 = config.interactionResults) === null || _config$interactionRe10 === void 0 ? void 0 : _config$interactionRe10.selected,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations0 = config.locations) === null || _config$locations0 === void 0 ? void 0 : _config$locations0.canvas),
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca1 = config.secondaryLocations) === null || _config$secondaryLoca1 === void 0 ? void 0 : _config$secondaryLoca1.emptyBox),
							interaction_description: "Empty box on canvas actions"
						});
						if (Object.keys(metadata).length > 0) payload.metadata = metadata;
						if (containerCreated !== null) payload.state = containerCreated;
						return this.dispatchEvent(config === null || config === void 0 || (_config$names0 = config.names) === null || _config$names0 === void 0 || (_config$names0 = _config$names0.editorOne) === null || _config$names0 === void 0 ? void 0 : _config$names0.canvasEmptyBoxAction, payload);
					}
				},
				{
					key: "sendWidgetPanelSearch",
					value: function sendWidgetPanelSearch(_ref7) {
						var _config$triggers1;
						var _config$targetTypes10;
						var _config$interactionRe11;
						var _config$interactionRe12;
						var _config$locations1;
						var _config$locations10;
						var _config$secondaryLoca10;
						var _config$names1;
						var resultsCount = _ref7.resultsCount;
						var _ref7$userInput = _ref7.userInput;
						var userInput = _ref7$userInput === void 0 ? null : _ref7$userInput;
						var config = this.getConfig();
						var hasResults = resultsCount > 0;
						var payload = this.createBasePayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers1 = config.triggers) === null || _config$triggers1 === void 0 ? void 0 : _config$triggers1.typing),
							target_type: config === null || config === void 0 || (_config$targetTypes10 = config.targetTypes) === null || _config$targetTypes10 === void 0 ? void 0 : _config$targetTypes10.searchWidget,
							target_name: "search_widget",
							interaction_result: hasResults ? config === null || config === void 0 || (_config$interactionRe11 = config.interactionResults) === null || _config$interactionRe11 === void 0 ? void 0 : _config$interactionRe11.resultsUpdated : config === null || config === void 0 || (_config$interactionRe12 = config.interactionResults) === null || _config$interactionRe12 === void 0 ? void 0 : _config$interactionRe12.noResults,
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations1 = config.locations) === null || _config$locations1 === void 0 ? void 0 : _config$locations1.leftPanel),
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$locations10 = config.locations) === null || _config$locations10 === void 0 ? void 0 : _config$locations10.widgetPanel),
							location_l2: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca10 = config.secondaryLocations) === null || _config$secondaryLoca10 === void 0 ? void 0 : _config$secondaryLoca10.searchBar),
							interaction_description: "Widget search input, follows debounce behavior"
						});
						if (!hasResults && userInput) payload.metadata = { user_input: userInput };
						return this.dispatchEvent(config === null || config === void 0 || (_config$names1 = config.names) === null || _config$names1 === void 0 || (_config$names1 = _config$names1.editorOne) === null || _config$names1 === void 0 ? void 0 : _config$names1.widgetPanelSearch, payload);
					}
				},
				{
					key: "createWpDashPayload",
					value: function createWpDashPayload() {
						var _config$appTypes$wpDa;
						var _config$appTypes4;
						var _config$locations11;
						var overrides = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						var config = this.getConfig();
						return this.createBasePayload(_objectSpread$18({
							window_name: (_config$appTypes$wpDa = config === null || config === void 0 || (_config$appTypes4 = config.appTypes) === null || _config$appTypes4 === void 0 ? void 0 : _config$appTypes4.wpDash) !== null && _config$appTypes$wpDa !== void 0 ? _config$appTypes$wpDa : "wpdash",
							target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations11 = config.locations) === null || _config$locations11 === void 0 ? void 0 : _config$locations11.wpDashAdmin),
							location_l2: ""
						}, overrides));
					}
				},
				{
					key: "sendWpDashElementorMenuClick",
					value: function sendWpDashElementorMenuClick() {
						var _config$names10;
						var _config$triggers10;
						var _config$targetTypes11;
						var _config$interactionRe13;
						var _config$secondaryLoca11;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names10 = config.names) === null || _config$names10 === void 0 || (_config$names10 = _config$names10.editorOne) === null || _config$names10 === void 0 ? void 0 : _config$names10.wpDashElementorMenuClick, this.createWpDashPayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers10 = config.triggers) === null || _config$triggers10 === void 0 ? void 0 : _config$triggers10.click),
							target_type: config === null || config === void 0 || (_config$targetTypes11 = config.targetTypes) === null || _config$targetTypes11 === void 0 ? void 0 : _config$targetTypes11.wpDashAdminMenuItem,
							target_name: "elementor_menu_item",
							interaction_result: config === null || config === void 0 || (_config$interactionRe13 = config.interactionResults) === null || _config$interactionRe13 === void 0 ? void 0 : _config$interactionRe13.elementorSideMenuOpened,
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca11 = config.secondaryLocations) === null || _config$secondaryLoca11 === void 0 ? void 0 : _config$secondaryLoca11.wpDashElementorCoreMenu),
							interaction_description: "core_user_clicked_elementor_menu_item"
						}));
					}
				},
				{
					key: "sendWpDashEditorSubMenuHover",
					value: function sendWpDashEditorSubMenuHover() {
						var _config$names11;
						var _config$triggers11;
						var _config$targetTypes12;
						var _config$interactionRe14;
						var _config$secondaryLoca12;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names11 = config.names) === null || _config$names11 === void 0 || (_config$names11 = _config$names11.editorOne) === null || _config$names11 === void 0 ? void 0 : _config$names11.wpDashEditorSubMenuHover, this.createWpDashPayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers11 = config.triggers) === null || _config$triggers11 === void 0 ? void 0 : _config$triggers11.hover),
							target_type: config === null || config === void 0 || (_config$targetTypes12 = config.targetTypes) === null || _config$targetTypes12 === void 0 ? void 0 : _config$targetTypes12.wpDashEditorMenu,
							target_name: "wpdash_editor_sub_menu",
							interaction_result: config === null || config === void 0 || (_config$interactionRe14 = config.interactionResults) === null || _config$interactionRe14 === void 0 ? void 0 : _config$interactionRe14.editorSubMenuOpened,
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca12 = config.secondaryLocations) === null || _config$secondaryLoca12 === void 0 ? void 0 : _config$secondaryLoca12.wpDashElementorCoreSubMenu),
							interaction_description: "core_user_hovered_sub_menu"
						}));
					}
				},
				{
					key: "sendWpDashThemeBuilderClick",
					value: function sendWpDashThemeBuilderClick() {
						var _config$names12;
						var _config$triggers12;
						var _config$targetTypes13;
						var _config$interactionRe15;
						var _config$secondaryLoca13;
						var config = this.getConfig();
						return this.dispatchEvent(config === null || config === void 0 || (_config$names12 = config.names) === null || _config$names12 === void 0 || (_config$names12 = _config$names12.editorOne) === null || _config$names12 === void 0 ? void 0 : _config$names12.wpDashThemeBuilderClick, this.createWpDashPayload({
							interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers12 = config.triggers) === null || _config$triggers12 === void 0 ? void 0 : _config$triggers12.click),
							target_type: config === null || config === void 0 || (_config$targetTypes13 = config.targetTypes) === null || _config$targetTypes13 === void 0 ? void 0 : _config$targetTypes13.wpDashSubMenuItem,
							target_name: "theme_builder_menu_item",
							interaction_result: config === null || config === void 0 || (_config$interactionRe15 = config.interactionResults) === null || _config$interactionRe15 === void 0 ? void 0 : _config$interactionRe15.themeBuilderPromotionWindow,
							location_l1: this.toLowerSnake(config === null || config === void 0 || (_config$secondaryLoca13 = config.secondaryLocations) === null || _config$secondaryLoca13 === void 0 ? void 0 : _config$secondaryLoca13.wpDashThemeBuilder),
							interaction_description: "core_user_clicked_theme_builder_menu_item"
						}));
					}
				},
				{
					key: "sendSidebarMenuItemClicked",
					value: function sendSidebarMenuItemClicked(_ref8) {
						var eventId = _ref8.eventId;
						var groupEventId = _ref8.groupEventId;
						try {
							var _config$windowNames;
							var _config$triggers13;
							var _config$targetTypes14;
							var _config$interactionRe16;
							var _config$locations12;
							var _config$names13;
							var config = this.getConfig();
							var payload = this.createBasePayload({
								window_name: config === null || config === void 0 || (_config$windowNames = config.windowNames) === null || _config$windowNames === void 0 ? void 0 : _config$windowNames.sidebarMenu,
								interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers13 = config.triggers) === null || _config$triggers13 === void 0 ? void 0 : _config$triggers13.click),
								target_type: config === null || config === void 0 || (_config$targetTypes14 = config.targetTypes) === null || _config$targetTypes14 === void 0 ? void 0 : _config$targetTypes14.link,
								target_name: eventId,
								interaction_result: config === null || config === void 0 || (_config$interactionRe16 = config.interactionResults) === null || _config$interactionRe16 === void 0 ? void 0 : _config$interactionRe16.pageOpened,
								target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations12 = config.locations) === null || _config$locations12 === void 0 ? void 0 : _config$locations12.sidebar)
							});
							if (groupEventId) payload.location_l1 = groupEventId;
							return this.dispatchEvent(config === null || config === void 0 || (_config$names13 = config.names) === null || _config$names13 === void 0 || (_config$names13 = _config$names13.editorOne) === null || _config$names13 === void 0 ? void 0 : _config$names13.sidebarMenuItemClicked, payload);
						} catch (error) {
							return false;
						}
					}
				},
				{
					key: "sendSidebarMenuGroupToggled",
					value: function sendSidebarMenuGroupToggled(_ref9) {
						var eventId = _ref9.eventId;
						var isExpanded = _ref9.isExpanded;
						try {
							var _config$interactionRe17;
							var _config$interactionRe18;
							var _config$names14;
							var _config$windowNames2;
							var _config$triggers14;
							var _config$targetTypes15;
							var _config$locations13;
							var config = this.getConfig();
							var interactionResult = isExpanded ? config === null || config === void 0 || (_config$interactionRe17 = config.interactionResults) === null || _config$interactionRe17 === void 0 ? void 0 : _config$interactionRe17.expanded : config === null || config === void 0 || (_config$interactionRe18 = config.interactionResults) === null || _config$interactionRe18 === void 0 ? void 0 : _config$interactionRe18.collapsed;
							return this.dispatchEvent(config === null || config === void 0 || (_config$names14 = config.names) === null || _config$names14 === void 0 || (_config$names14 = _config$names14.editorOne) === null || _config$names14 === void 0 ? void 0 : _config$names14.sidebarMenuGroupToggled, this.createBasePayload({
								window_name: config === null || config === void 0 || (_config$windowNames2 = config.windowNames) === null || _config$windowNames2 === void 0 ? void 0 : _config$windowNames2.sidebarMenu,
								interaction_type: this.toLowerSnake(config === null || config === void 0 || (_config$triggers14 = config.triggers) === null || _config$triggers14 === void 0 ? void 0 : _config$triggers14.click),
								target_type: config === null || config === void 0 || (_config$targetTypes15 = config.targetTypes) === null || _config$targetTypes15 === void 0 ? void 0 : _config$targetTypes15.toggle,
								target_name: eventId,
								interaction_result: interactionResult,
								target_location: this.toLowerSnake(config === null || config === void 0 || (_config$locations13 = config.locations) === null || _config$locations13 === void 0 ? void 0 : _config$locations13.sidebar)
							}));
						} catch (error) {
							return false;
						}
					}
				}
			]);
		}();
		createDebouncedWidgetPanelSearch = function createDebouncedWidgetPanelSearch() {
			var delay = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 2e3;
			return _.debounce(function(resultsCount, userInput) {
				EditorOneEventManager.sendWidgetPanelSearch({
					resultsCount,
					userInput
				});
			}, delay);
		};
	}));

//#endregion
//#region assets/dev/js/editor/utils/context-menu.js
	var require_context_menu$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = elementorModules.Module.extend({
			openMenuEvent: null,
			location: null,
			getDefaultSettings: function getDefaultSettings() {
				return {
					context: "preview",
					actions: {},
					classes: {
						list: "elementor-context-menu-list",
						group: "elementor-context-menu-list__group",
						groupPrefix: "elementor-context-menu-list__group-",
						item: "elementor-context-menu-list__item",
						itemTypePrefix: "elementor-context-menu-list__item-",
						itemTitle: "elementor-context-menu-list__item__title",
						itemShortcut: "elementor-context-menu-list__item__shortcut",
						iconShortcut: "elementor-context-menu-list__item__icon",
						itemDisabled: "elementor-context-menu-list__item--disabled",
						itemHasShortcutAction: "elementor-context-menu-list__item--has-shortcut-action",
						divider: "elementor-context-menu-list__divider",
						hidden: "elementor-hidden",
						promotionLink: "elementor-context-menu-list__item__shortcut--link-fullwidth"
					}
				};
			},
			buildActionItem: function buildActionItem(action) {
				var self = this;
				var classes = self.getSettings("classes");
				var $item = jQuery("<div>", {
					class: classes.item + " " + classes.itemTypePrefix + action.name,
					role: "menuitem",
					tabindex: "0"
				});
				var $itemTitle = jQuery("<div>", { class: classes.itemTitle }).text(action.title);
				var $itemIcon = jQuery("<div>", { class: classes.iconShortcut });
				if (action.icon) $itemIcon.html(jQuery("<i>", { class: action.icon }));
				$item.append($itemIcon, $itemTitle);
				if (action.shortcut) {
					var $itemShortcut = jQuery("<div>", { class: classes.itemShortcut }).html(action.shortcut);
					$item.append($itemShortcut);
				}
				if (action.callback) {
					$item.on("click", function() {
						self.runAction(action);
					});
					$item.on("keyup", function(event) {
						if (13 === event.keyCode || 32 === event.keyCode) self.runAction(action);
					});
				}
				action.$item = $item;
				return $item;
			},
			buildActionsList: function buildActionsList() {
				var self = this;
				var classes = self.getSettings("classes");
				var groups = self.getSettings("groups");
				var $list = jQuery("<div>", {
					class: classes.list,
					role: "menu"
				});
				groups.forEach(function(group) {
					var $group = jQuery("<div>", {
						class: classes.group + " " + classes.groupPrefix + group.name,
						role: "group"
					});
					group.actions.forEach(function(action) {
						$group.append(self.buildActionItem(action));
					});
					$list.append($group);
					group.$item = $group;
				});
				return $list;
			},
			toggleGroupVisibility: function toggleGroupVisibility(group, state) {
				group.$item.toggleClass(this.getSettings("classes.hidden"), !state);
			},
			toggleActionVisibility: function toggleActionVisibility(action, state) {
				action.$item.toggleClass(this.getSettings("classes.hidden"), !state);
			},
			toggleActionUsability: function toggleActionUsability(action, state) {
				this.maybeAddPromotionLink(action);
				action.$item.toggleClass(this.getSettings("classes.itemDisabled"), !state);
				if (action.hasShortcutAction) action.$item.toggleClass(this.getSettings("classes.itemHasShortcutAction"), !state);
			},
			maybeAddPromotionLink: function maybeAddPromotionLink(action) {
				if (this.shouldAddPromotionLink(action)) action.$item.find("div.elementor-context-menu-list__item__shortcut")[0].insertAdjacentHTML("beforeend", "<a href='".concat(action.promotionURL, "' target=\"_blank\" class=\"").concat(this.getSettings("classes.promotionLink"), "\"></a>"));
			},
			shouldAddPromotionLink: function shouldAddPromotionLink(action) {
				return !!(action.promotionURL && !action.$item.find("a.elementor-context-menu-list__item__shortcut--link-fullwidth")[0] && action.$item.find("i.eicon-pro-icon")[0]);
			},
			/**
			* Update the action title.
			*
			* Sometimes the action title should dynamically change. This can be done by passing a function as the `title`
			* property when initializing the context-menu, and here it actually invoked and assigned as the title.
			*
			* @param {*} action
			*/
			updateActionTitle: function updateActionTitle(action) {
				if ("function" === typeof action.title) action.$item.find("." + this.getSettings("classes").itemTitle).text(action.title());
			},
			isActionEnabled: function isActionEnabled(action) {
				if (!action.callback && !action.groups) return false;
				return action.isEnabled ? action.isEnabled() : true;
			},
			isActionVisible: function isActionVisible(action) {
				if ("function" === typeof action.isVisible) return action.isVisible();
				return false !== action.isVisible;
			},
			runAction: function runAction(action) {
				if (!this.isActionEnabled(action) || !this.isActionVisible(action)) return;
				action.callback(this.openMenuEvent, {
					location: this.location,
					secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.contextMenu,
					trigger: elementorCommon.eventsManager.config.triggers.rightClick
				});
				this.getModal().hide();
			},
			initModal: function initModal() {
				var modal;
				this.getModal = function() {
					if (!modal) modal = elementorCommon.dialogsManager.createWidget("simple", {
						className: "elementor-context-menu",
						message: this.buildActionsList(),
						iframe: "preview" === this.getSettings("context") ? elementor.$preview : null,
						effects: {
							hide: "hide",
							show: "show"
						},
						hide: { onOutsideContextMenu: true },
						position: {
							my: (elementorCommon.config.isRTL ? "right" : "left") + " top",
							collision: "fit"
						}
					});
					return modal;
				};
			},
			show: function show(event) {
				var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
				var self = this;
				var modal = self.getModal();
				this.openMenuEvent = event;
				this.location = options.location;
				modal.setSettings("position", { of: event });
				self.getSettings("groups").forEach(function(group) {
					var isGroupVisible = false !== group.isVisible;
					self.toggleGroupVisibility(group, isGroupVisible);
					if (isGroupVisible) group.actions.forEach(function(action) {
						var isActionVisible = self.isActionVisible(action);
						self.toggleActionVisibility(action, isActionVisible);
						self.updateActionTitle(action);
						if (isActionVisible) self.toggleActionUsability(action, self.isActionEnabled(action));
					});
				});
				modal.show();
				elementor.templates.eventManager.sendContextMenuExposureEvent();
			},
			destroy: function destroy() {
				this.getModal().destroy();
			},
			onInit: function onInit() {
				this.initModal();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/behaviors/context-menu.js
	var require_context_menu = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_base$2();
		var ContextMenu = require_context_menu$1();
		module.exports = Marionette.Behavior.extend({
			defaults: {
				context: "preview",
				groups: [],
				eventTargets: ["el"]
			},
			events: function events() {
				var events = {};
				this.getOption("eventTargets").forEach(function(eventTarget) {
					var eventName = "contextmenu";
					if ("el" !== eventTarget) eventName += " " + eventTarget;
					events[eventName] = "onContextMenu";
				});
				return events;
			},
			initialize: function initialize() {
				this.listenTo(this.view.options.model, "request:contextmenu", this.onRequestContextMenu);
			},
			initContextMenu: function initContextMenu() {
				var _this = this;
				var controlSign = environment.mac ? "&#8984;" : "^";
				var contextMenuGroups = this.getOption("groups");
				var deleteGroup = _.findWhere(contextMenuGroups, { name: "delete" });
				var afterGroupIndex = contextMenuGroups.indexOf(deleteGroup);
				if (-1 === afterGroupIndex) afterGroupIndex = contextMenuGroups.length;
				if ("preview" === this.getOption("context") && $e.components.get("document/elements").utils.showNavigator()) contextMenuGroups.splice(afterGroupIndex, 0, {
					name: "tools",
					actions: [{
						name: "navigator",
						icon: "eicon-navigator",
						title: (0, _wordpress_i18n.__)("Structure", "elementor"),
						shortcut: controlSign + "+I",
						callback: function callback() {
							return $e.route("navigator", {
								reOpen: true,
								model: _this.view.model
							});
						}
					}]
				});
				this.contextMenu = new ContextMenu({
					groups: contextMenuGroups,
					context: this.getOption("context")
				});
				this.contextMenu.getModal().on("hide", function() {
					return _this.onContextMenuHide();
				});
			},
			getContextMenu: function getContextMenu() {
				var _this$view$getContain;
				var _this$view;
				if (!this.contextMenu) this.initContextMenu();
				if ("preview" === this.getOption("context") && !elementor.selection.has((_this$view$getContain = (_this$view = this.view).getContainer) === null || _this$view$getContain === void 0 ? void 0 : _this$view$getContain.call(_this$view))) $e.run("document/elements/deselect-all");
				return this.contextMenu;
			},
			onContextMenu: function onContextMenu(event) {
				var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
				if ($e.shortcuts.isControlEvent(event)) return;
				if ("preview" === this.getOption("context")) {
					if (!(this.view instanceof AddSectionBase) && (!this.view.container || !this.view.container.isDesignable())) return;
				}
				event.preventDefault();
				event.stopPropagation();
				if (this.view._parent) this.view._parent.triggerMethod("toggleSortMode", false);
				var location = options.location || elementorCommon.eventsManager.config.locations.canvas;
				this.getContextMenu().show(event, { location });
				elementor.channels.editor.reply("contextMenu:targetView", this.view);
			},
			onRequestContextMenu: function onRequestContextMenu(event, options) {
				var modal = this.getContextMenu().getModal();
				var iframe = modal.getSettings("iframe");
				var toolsGroup = _.findWhere(this.contextMenu.getSettings("groups"), { name: "tools" });
				toolsGroup.isVisible = false;
				modal.setSettings("iframe", null);
				this.onContextMenu(event, options);
				toolsGroup.isVisible = true;
				modal.setSettings("iframe", iframe);
			},
			onContextMenuHide: function onContextMenuHide() {
				if (this.view._parent) this.view._parent.triggerMethod("toggleSortMode", true);
				elementor.channels.editor.reply("contextMenu:targetView", null);
			},
			onDestroy: function onDestroy() {
				if (this.contextMenu) this.contextMenu.destroy();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/views/add-section/base.js
	function ownKeys$17(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$17(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$17(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$17(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function _callSuper$292(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$292() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$292() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$292 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var AddSectionBase;
	var init_base$2 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_defineProperty();
		init_container_helper();
		init_environment();
		init_editor_one_events();
		__name(ownKeys$17, "ownKeys");
		__name(_objectSpread$17, "_objectSpread");
		__name(_callSuper$292, "_callSuper");
		__name(_isNativeReflectConstruct$292, "_isNativeReflectConstruct");
		AddSectionBase = /*#__PURE__*/ function(_Marionette$ItemView) {
			function AddSectionBase() {
				_classCallCheck(this, AddSectionBase);
				return _callSuper$292(this, AddSectionBase, arguments);
			}
			_inherits(AddSectionBase, _Marionette$ItemView);
			return _createClass(AddSectionBase, [
				{
					key: "template",
					value: function template() {
						return Marionette.TemplateCache.get("#tmpl-elementor-add-section");
					}
				},
				{
					key: "attributes",
					value: function attributes() {
						return {
							"aria-label": (0, _wordpress_i18n.__)("Add new layout element", "elementor"),
							"data-view": AddSectionBase.VIEW_CHOOSE_ACTION
						};
					}
				},
				{
					key: "ui",
					value: function ui() {
						return {
							addNewSection: ".elementor-add-new-section",
							closeButton: ".elementor-add-section-close",
							backButton: ".elementor-add-section-back",
							addSectionButton: ".elementor-add-section-button",
							addTemplateButton: ".elementor-add-template-button",
							selectPreset: ".elementor-select-preset",
							presets: ".elementor-preset",
							flexPresetButton: ".flex-preset-button",
							gridPresetButton: ".grid-preset-button",
							chooseFlexPreset: ".e-con-select-preset-flex .e-con-preset",
							chooseGridPreset: ".e-con-select-preset-grid .e-con-preset"
						};
					}
				},
				{
					key: "events",
					value: function events() {
						var _this = this;
						return {
							"click @ui.addSectionButton": "onAddSectionButtonClick",
							"click @ui.addTemplateButton": "onAddTemplateButtonClick",
							"click @ui.closeButton": "onCloseButtonClick",
							"click @ui.backButton": function click_UiBackButton() {
								return _this.setView(AddSectionBase.getSelectType());
							},
							"click @ui.presets": "onPresetSelected",
							"click @ui.flexPresetButton": function click_UiFlexPresetButton() {
								return _this.setView(AddSectionBase.VIEW_CONTAINER_FLEX_PRESET);
							},
							"click @ui.gridPresetButton": function click_UiGridPresetButton() {
								return _this.setView(AddSectionBase.VIEW_CONTAINER_GRID_PRESET);
							},
							"click @ui.chooseFlexPreset": "onFlexPresetSelected",
							"click @ui.chooseGridPreset": "onGridPresetSelected"
						};
					}
				},
				{
					key: "behaviors",
					value: function behaviors() {
						var behaviors = { contextMenu: {
							behaviorClass: require_context_menu(),
							groups: this.getContextMenuGroups(),
							eventTargets: [".elementor-add-section-inner"]
						} };
						return elementor.hooks.applyFilters("views/add-section/behaviors", behaviors, this);
					}
				},
				{
					key: "tagName",
					value: function tagName() {
						return "section";
					}
				},
				{
					key: "className",
					value: function className() {
						return "elementor-add-section elementor-visible-desktop";
					}
				},
				{
					key: "setView",
					value: function setView(view) {
						this.$el.attr("data-view", view);
					}
				},
				{
					key: "showSelectPresets",
					value: function showSelectPresets() {
						this.setView(AddSectionBase.getSelectType());
					}
				},
				{
					key: "closeSelectPresets",
					value: function closeSelectPresets() {
						this.setView(AddSectionBase.VIEW_CHOOSE_ACTION);
					}
				},
				{
					key: "getTemplatesModalOptions",
					value: function getTemplatesModalOptions() {
						return { importOptions: { at: this.getOption("at") } };
					}
				},
				{
					key: "getContextMenuGroups",
					value: function getContextMenuGroups() {
						var _this2 = this;
						var hasContent = function hasContent() {
							return elementor.elements.length > 0;
						};
						var controlSign = environment.mac ? "&#8984;" : "^";
						return [{
							name: "paste",
							actions: [{
								name: "paste",
								title: (0, _wordpress_i18n.__)("Paste", "elementor"),
								shortcut: controlSign + "+V",
								isEnabled: function isEnabled() {
									return $e.components.get("document/elements").utils.isPasteEnabled(elementor.getPreviewContainer());
								},
								callback: function callback() {
									return $e.run("document/ui/paste", {
										container: elementor.getPreviewContainer(),
										options: {
											at: _this2.getOption("at"),
											rebuild: true
										},
										onAfter: function onAfter() {
											return _this2.onAfterPaste();
										}
									});
								}
							}, {
								name: "paste_area",
								icon: "eicon-import-export",
								title: (0, _wordpress_i18n.__)("Paste from other site", "elementor"),
								callback: function callback() {
									return $e.run("document/elements/paste-area", {
										container: elementor.getPreviewContainer(),
										options: {
											at: _this2.getOption("at"),
											rebuild: true
										}
									});
								}
							}]
						}, {
							name: "content",
							actions: [{
								name: "copy_all_content",
								title: (0, _wordpress_i18n.__)("Copy All Content", "elementor"),
								isEnabled: hasContent,
								callback: function callback() {
									return $e.run("document/elements/copy-all");
								}
							}, {
								name: "delete_all_content",
								title: (0, _wordpress_i18n.__)("Delete All Content", "elementor"),
								isEnabled: hasContent,
								callback: function callback() {
									return $e.run("document/elements/empty");
								}
							}]
						}];
					}
				},
				{
					key: "onAddSectionButtonClick",
					value: function onAddSectionButtonClick() {
						this.showSelectPresets();
					}
				},
				{
					key: "onAddTemplateButtonClick",
					value: function onAddTemplateButtonClick() {
						EditorOneEventManager.sendCanvasEmptyBoxAction({ targetName: "e_library" });
						$e.run("library/open", this.getTemplatesModalOptions());
					}
				},
				{
					key: "onRender",
					value: function onRender() {
						this.$el.html5Droppable(_objectSpread$17({
							axis: ["vertical"],
							groups: ["elementor-element"],
							placeholder: false,
							currentElementClass: "elementor-html5dnd-current-element",
							hasDraggingOnChildClass: "elementor-dragging-on-child"
						}, this.getDroppableOptions()));
					}
				},
				{
					key: "getDroppableOptions",
					value: function getDroppableOptions() {
						var _this3 = this;
						return {
							isDroppingAllowed: function isDroppingAllowed() {
								var _elementor$channels$e;
								return !((_elementor$channels$e = elementor.channels.editor.request("element:dragged")) !== null && _elementor$channels$e !== void 0 && (_elementor$channels$e = _elementor$channels$e.el) !== null && _elementor$channels$e !== void 0 && (_elementor$channels$e = _elementor$channels$e.dataset) !== null && _elementor$channels$e !== void 0 && _elementor$channels$e.id);
							},
							onDropping: function onDropping(side, event) {
								elementor.getPreviewView().onDrop(event, {
									side,
									at: _this3.getOption("at")
								});
							}
						};
					}
				},
				{
					key: "onGridPresetSelected",
					value: function onGridPresetSelected(event) {
						this.closeSelectPresets();
						var selectedStructure = event.currentTarget.dataset.structure;
						var isAddedAboveAnotherContainer = !!this.options.at || 0 === this.options.at;
						EditorOneEventManager.sendCanvasEmptyBoxAction({
							targetName: "add_container",
							metadata: {
								container_type: "grid",
								structure_type: selectedStructure
							},
							containerCreated: true
						});
						var newContainer = ContainerHelper.createContainerFromGridPreset(selectedStructure, elementor.getPreviewContainer(), this.options);
						if (isAddedAboveAnotherContainer) this.destroy();
						return newContainer;
					}
				},
				{
					key: "onPresetSelected",
					value: function onPresetSelected(event) {
						this.closeSelectPresets();
						var selectedStructure = event.currentTarget.dataset.structure;
						var parsedStructure = elementor.presetsFactory.getParsedStructure(selectedStructure);
						$e.run("document/elements/create", {
							model: { elType: "section" },
							container: elementor.getPreviewContainer(),
							columns: parsedStructure.columnsCount,
							structure: selectedStructure,
							options: Object.assign({}, this.options)
						});
					}
				},
				{
					key: "onFlexPresetSelected",
					value: function onFlexPresetSelected(e) {
						this.closeSelectPresets();
						var preset = e.currentTarget.dataset.preset;
						EditorOneEventManager.sendCanvasEmptyBoxAction({
							targetName: "add_container",
							metadata: {
								container_type: "flexbox",
								structure_type: preset
							},
							containerCreated: true
						});
						return ContainerHelper.createContainerFromPreset(preset, elementor.getPreviewContainer(), this.options);
					}
				},
				{
					key: "onDropping",
					value: function onDropping() {
						elementor.getPreviewView().addElementFromPanel();
					}
				},
				{
					key: "onAfterPaste",
					value: function onAfterPaste() {}
				}
			], [{
				key: "getSelectType",
				value: function getSelectType() {
					return AddSectionBase.IS_CONTAINER_ACTIVE ? AddSectionBase.getSelectTypePreset() : "select-preset";
				}
			}, {
				key: "getSelectTypePreset",
				value: function getSelectTypePreset() {
					return AddSectionBase.IS_CONTAINER_ACTIVE ? "select-type" : "select-container-preset";
				}
			}]);
		}(Marionette.ItemView);
		_defineProperty(AddSectionBase, "IS_CONTAINER_ACTIVE", !!elementorCommon.config.experimentalFeatures.container);
		_defineProperty(AddSectionBase, "VIEW_CHOOSE_ACTION", "choose-action");
		_defineProperty(AddSectionBase, "VIEW_CONTAINER_FLEX_PRESET", "select-container-preset");
		_defineProperty(AddSectionBase, "VIEW_CONTAINER_GRID_PRESET", "select-container-preset-grid");
	}));

//#endregion
//#region assets/dev/js/editor/views/add-section/inline.js
	var inline_exports = /* @__PURE__ */ __exportAll({ default: () => AddSectionView$1 });
	function _callSuper$291(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$291() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$291() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$291 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$33(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var AddSectionView$1;
	var init_inline = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		init_base$2();
		init_editor_one_events();
		__name(_callSuper$291, "_callSuper");
		__name(_isNativeReflectConstruct$291, "_isNativeReflectConstruct");
		__name(_superPropGet$33, "_superPropGet");
		AddSectionView$1 = /*#__PURE__*/ function(_BaseAddSectionView) {
			function AddSectionView() {
				_classCallCheck(this, AddSectionView);
				return _callSuper$291(this, AddSectionView, arguments);
			}
			_inherits(AddSectionView, _BaseAddSectionView);
			return _createClass(AddSectionView, [
				{
					key: "className",
					value: function className() {
						return _superPropGet$33(AddSectionView, "className", this, 3)([]) + " elementor-add-section-inline";
					}
				},
				{
					key: "fadeToDeath",
					value: function fadeToDeath() {
						var self = this;
						self.$el.slideUp(function() {
							self.destroy();
						});
					}
				},
				{
					key: "onAfterPaste",
					value: function onAfterPaste() {
						_superPropGet$33(AddSectionView, "onAfterPaste", this, 3)([]);
						this.destroy();
					}
				},
				{
					key: "onCloseButtonClick",
					value: function onCloseButtonClick() {
						EditorOneEventManager.sendCanvasEmptyBoxAction({
							targetName: "close",
							containerCreated: false
						});
						this.fadeToDeath();
					}
				},
				{
					key: "onPresetSelected",
					value: function onPresetSelected(event) {
						_superPropGet$33(AddSectionView, "onPresetSelected", this, 3)([event]);
						this.destroy();
					}
				},
				{
					key: "onFlexPresetSelected",
					value: function onFlexPresetSelected(e) {
						_superPropGet$33(AddSectionView, "onFlexPresetSelected", this, 3)([e]);
						this.destroy();
					}
				},
				{
					key: "onAddTemplateButtonClick",
					value: function onAddTemplateButtonClick() {
						_superPropGet$33(AddSectionView, "onAddTemplateButtonClick", this, 3)([]);
						this.destroy();
					}
				},
				{
					key: "getDroppableOptions",
					value: function getDroppableOptions() {
						var _this = this;
						return { onDropping: function onDropping(side, event) {
							_superPropGet$33(AddSectionView, "getDroppableOptions", _this, 3)([]).onDropping(side, event);
							_this.destroy();
						} };
					}
				},
				{
					key: "onDropping",
					value: function onDropping() {
						var droppableOptions = this.getDroppableOptions();
						_superPropGet$33(AddSectionView, "onDropping", this, 3)([]);
						if (droppableOptions.onDropping) droppableOptions.onDropping();
					}
				}
			]);
		}(AddSectionBase);
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/OverloadYield.js
	function _OverloadYield(e, d) {
		this.v = e, this.k = d;
	}
	var init_OverloadYield = __esmMin((() => {}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js
	function _awaitAsyncGenerator(e) {
		return new _OverloadYield(e, 0);
	}
	var init_awaitAsyncGenerator = __esmMin((() => {
		init_OverloadYield();
	}));

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js
	function _wrapAsyncGenerator(e) {
		return function() {
			return new AsyncGenerator(e.apply(this, arguments));
		};
	}
	function AsyncGenerator(e) {
		var r;
		var t;
		function resume(r, t) {
			try {
				var n = e[r](t);
				var o = n.value;
				var u = o instanceof _OverloadYield;
				Promise.resolve(u ? o.v : o).then(function(t) {
					if (u) {
						var i = "return" === r ? "return" : "next";
						if (!o.k || t.done) return resume(i, t);
						t = e[i](t).value;
					}
					settle(n.done ? "return" : "normal", t);
				}, function(e) {
					resume("throw", e);
				});
			} catch (e) {
				settle("throw", e);
			}
		}
		function settle(e, n) {
			switch (e) {
				case "return":
					r.resolve({
						value: n,
						done: !0
					});
					break;
				case "throw":
					r.reject(n);
					break;
				default: r.resolve({
					value: n,
					done: !1
				});
			}
			(r = r.next) ? resume(r.key, r.arg) : t = null;
		}
		this._invoke = function(e, n) {
			return new Promise(function(o, u) {
				var i = {
					key: e,
					arg: n,
					resolve: o,
					reject: u,
					next: null
				};
				t ? t = t.next = i : (r = t = i, resume(e, n));
			});
		}, "function" != typeof e["return"] && (this["return"] = void 0);
	}
	var init_wrapAsyncGenerator = __esmMin((() => {
		init_OverloadYield();
		AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function() {
			return this;
		}, AsyncGenerator.prototype.next = function(e) {
			return this._invoke("next", e);
		}, AsyncGenerator.prototype["throw"] = function(e) {
			return this._invoke("throw", e);
		}, AsyncGenerator.prototype["return"] = function(e) {
			return this._invoke("return", e);
		};
	}));

//#endregion
//#region assets/dev/js/editor/utils/element-types.js
	var require_element_types = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		/**
		* Returns an array of all available element types.
		*
		* @return {string[]} Array of element type strings.
		*/
		var getAllElementTypes = function getAllElementTypes() {
			return Object.keys(elementor.getConfig().elements);
		};
		/**
		* Returns whether an element type is a compound atomic element —
		* one that should be auto-wrapped in a flexbox container when dropped on the canvas,
		* consistent with atom elements (Heading, Image, etc.).
		*
		* Compound atomic elements declare `is_compound: true` in their PHP element meta.
		*
		* @param {string} elType - The element type string (e.g. 'e-tabs').
		* @return {boolean}
		*/
		var isCompoundAtomicType = function isCompoundAtomicType(elType) {
			var _elementor$getConfig$;
			return !!((_elementor$getConfig$ = elementor.getConfig().elements[elType]) !== null && _elementor$getConfig$ !== void 0 && (_elementor$getConfig$ = _elementor$getConfig$.meta) !== null && _elementor$getConfig$ !== void 0 && _elementor$getConfig$.is_compound);
		};
		module.exports = {
			getAllElementTypes,
			isCompoundAtomicType
		};
	}));

//#endregion
//#region assets/dev/js/editor/utils/stylesheet.js
	var require_stylesheet = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		(function($) {
			var _Stylesheet = function Stylesheet() {
				var self = this;
				var rules = {};
				var rawCSS = {};
				var devices = {};
				var queryToHash = function queryToHash(query) {
					var hash = [];
					$.each(query, function(endPoint) {
						hash.push(endPoint + "_" + this);
					});
					return hash.join("-");
				};
				var hashToQuery = function hashToQuery(hash) {
					var query = {};
					hash = hash.split("-").filter(String);
					hash.forEach(function(singleQuery) {
						var queryParts = singleQuery.split(/_(.+)/);
						var endPoint = queryParts[0];
						var deviceName = queryParts[1];
						query[endPoint] = "max" === endPoint ? devices[deviceName] : elementorFrontend.breakpoints.getDeviceMinBreakpoint(deviceName);
					});
					return query;
				};
				var addQueryHash = function addQueryHash(queryHash) {
					rules[queryHash] = {};
					var hashes = Object.keys(rules);
					if (hashes.length < 2) return;
					hashes.sort(function(a, b) {
						var _aQuery$max;
						var _bQuery$max;
						if ("all" === a) return -1;
						if ("all" === b) return 1;
						var aQuery = hashToQuery(a);
						var bQuery = hashToQuery(b);
						if (aQuery.max && bQuery.max) return bQuery.max - aQuery.max;
						if (aQuery.min && bQuery.min) return bQuery.min - aQuery.min;
						var aQueryValue = (_aQuery$max = aQuery.max) !== null && _aQuery$max !== void 0 ? _aQuery$max : aQuery.min;
						return ((_bQuery$max = bQuery.max) !== null && _bQuery$max !== void 0 ? _bQuery$max : bQuery.min) - aQueryValue;
					});
					var sortedRules = {};
					hashes.forEach(function(deviceName) {
						sortedRules[deviceName] = rules[deviceName];
					});
					rules = sortedRules;
				};
				var getQueryHashStyleFormat = function getQueryHashStyleFormat(queryHash) {
					var query = hashToQuery(queryHash);
					var styleFormat = [];
					$.each(query, function(endPoint) {
						styleFormat.push("(" + endPoint + "-width:" + this + "px)");
					});
					return "@media" + styleFormat.join(" and ");
				};
				this.addDevice = function(newDeviceName, deviceValue) {
					devices[newDeviceName] = deviceValue;
					var deviceNames = Object.keys(devices);
					if (deviceNames.length < 2) return self;
					deviceNames.sort(function(a, b) {
						return devices[a] - devices[b];
					});
					var sortedDevices = {};
					deviceNames.forEach(function(deviceName) {
						sortedDevices[deviceName] = devices[deviceName];
					});
					devices = sortedDevices;
					return self;
				};
				this.addRawCSS = function(key, css) {
					rawCSS[key] = css;
				};
				this.addRules = function(selector, styleRules, query) {
					var queryHash = "all";
					if (!_.isEmpty(query)) queryHash = queryToHash(query);
					if (!rules[queryHash]) addQueryHash(queryHash);
					if (!styleRules) {
						var parsedRules = selector.match(/[^{]+\{[^}]+}/g);
						$.each(parsedRules, function() {
							var parsedRule = this.match(/([^{]+)\{([^}]+)}/);
							if (parsedRule) self.addRules(parsedRule[1].trim(), parsedRule[2].trim(), query);
						});
						return;
					}
					if (!rules[queryHash][selector]) rules[queryHash][selector] = {};
					if ("string" === typeof styleRules) {
						styleRules = styleRules.split(";").filter(String);
						var orderedRules = {};
						try {
							$.each(styleRules, function() {
								var property = this.split(/:(.*)?/);
								orderedRules[property[0].trim()] = property[1].trim().replace(";", "");
							});
						} catch (error) {
							return;
						}
						styleRules = orderedRules;
					}
					$.extend(rules[queryHash][selector], styleRules);
					return self;
				};
				this.getRules = function() {
					return rules;
				};
				this.empty = function() {
					rules = {};
					rawCSS = {};
				};
				this.toString = function() {
					var styleText = "";
					$.each(rules, function(queryHash) {
						var deviceText = _Stylesheet.parseRules(this);
						if ("all" !== queryHash) deviceText = getQueryHashStyleFormat(queryHash) + "{" + deviceText + "}";
						styleText += deviceText;
					});
					$.each(rawCSS, function() {
						styleText += this;
					});
					return styleText;
				};
			};
			_Stylesheet.parseRules = function(rules) {
				var parsedRules = "";
				$.each(rules, function(selector) {
					var selectorContent = _Stylesheet.parseProperties(this);
					if (selectorContent) parsedRules += selector + "{" + selectorContent + "}";
				});
				return parsedRules;
			};
			_Stylesheet.parseProperties = function(properties) {
				var parsedProperties = "";
				$.each(properties, function(propertyKey) {
					if (this) parsedProperties += propertyKey + ":" + this + ";";
				});
				return parsedProperties;
			};
			module.exports = _Stylesheet;
		})(jQuery);
	}));

//#endregion
//#region assets/dev/js/editor/utils/controls-css-parser.js
	var require_controls_css_parser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_slicedToArray();
		var Stylesheet = require_stylesheet();
		var ControlsCSSParser = elementorModules.ViewModule.extend({
			stylesheet: null,
			getDefaultSettings: function getDefaultSettings() {
				return {
					id: 0,
					context: null,
					settingsModel: null,
					dynamicParsing: {}
				};
			},
			getDefaultElements: function getDefaultElements() {
				var id = "elementor-style-".concat(this.getSettings("id"));
				var $stylesheet = elementor.$previewContents.find("#".concat(id));
				if (!$stylesheet.length) $stylesheet = jQuery("<style>", { id });
				return { $stylesheetElement: $stylesheet };
			},
			initStylesheet: function initStylesheet() {
				var _this = this;
				var breakpoints = elementorFrontend.config.responsive.activeBreakpoints;
				this.stylesheet = new Stylesheet();
				Object.entries(breakpoints).forEach(function(_ref) {
					var _ref2 = _slicedToArray(_ref, 2);
					var breakpointName = _ref2[0];
					var breakpointConfig = _ref2[1];
					_this.stylesheet.addDevice(breakpointName, breakpointConfig.value);
				});
			},
			addStyleRules: function addStyleRules(styleControls, values, controls, placeholders, replacements) {
				var _this2 = this;
				var dynamicParsedValues = this.getSettings("settingsModel").parseDynamicSettings(values, this.getSettings("dynamicParsing"), styleControls);
				_.each(styleControls, function(control) {
					var _control$dynamic;
					var _values$__dynamic__;
					if (control.styleFields && control.styleFields.length) _this2.addRepeaterControlsStyleRules(values[control.name], control.styleFields, control.fields, placeholders, replacements);
					if ((_control$dynamic = control.dynamic) !== null && _control$dynamic !== void 0 && _control$dynamic.active && (_values$__dynamic__ = values.__dynamic__) !== null && _values$__dynamic__ !== void 0 && _values$__dynamic__[control.name]) _this2.addDynamicControlStyleRules(values.__dynamic__[control.name], control);
					if (!control.selectors) return;
					var context = _this2.getSettings("context");
					var globalKeys;
					if (context) globalKeys = context.model.get("settings").get("__globals__");
					_this2.addControlStyleRules(control, dynamicParsedValues, controls, placeholders, replacements, globalKeys);
				});
			},
			addControlStyleRules: function addControlStyleRules(control, values, controls, placeholders, replacements, globalKeys) {
				var _this3 = this;
				var globalKey;
				if (globalKeys) {
					var controlGlobalKey = control.name;
					if (control.groupType) controlGlobalKey = control.groupPrefix + control.groupType;
					globalKey = globalKeys[controlGlobalKey];
				}
				var value;
				if (!globalKey) {
					value = this.getStyleControlValue(control, values);
					if (void 0 === value) return;
				}
				_.each(control.selectors, function(cssProperty, selector) {
					var outputCssProperty;
					if (globalKey) {
						var selectorGlobalValue = _this3.getSelectorGlobalValue(control, globalKey);
						if (selectorGlobalValue) {
							if ("font" === control.type) $e.data.get(globalKey).then(function(response) {
								elementor.helpers.enqueueFont(response.data.value.typography_font_family);
							});
							outputCssProperty = cssProperty.replace(/(:)[^;]+(;?)/g, "$1" + selectorGlobalValue + "$2");
						}
					} else try {
						if (_this3.unitHasCustomSelector(control, value)) cssProperty = control.unit_selectors_dictionary[value.unit];
						if (_this3.shouldDoUpgradeMap(control, value)) {
							var _control$upgrade_conv;
							(_control$upgrade_conv = control.upgrade_conversion_map) === null || _control$upgrade_conv === void 0 || _control$upgrade_conv.new_keys.forEach(function(key) {
								value[key] = "" + value[control.upgrade_conversion_map.old_key];
							});
						}
						outputCssProperty = cssProperty.replace(/{{(?:([^.}]+)\.)?([^}| ]*)(?: *\|\| *(?:([^.}]+)\.)?([^}| ]*) *)*}}/g, function(originalPhrase, controlName, placeholder, fallbackControlName, fallbackValue) {
							var externalControlMissing = controlName && !controls[controlName];
							var parsedValue = "";
							if (!externalControlMissing) parsedValue = _this3.parsePropertyPlaceholder(control, value, controls, values, placeholder, controlName);
							if (!parsedValue && 0 !== parsedValue) {
								if (fallbackValue) {
									parsedValue = fallbackValue;
									var stringValueMatches = parsedValue.match(/^(['"])(.*)\1$/);
									if (stringValueMatches) parsedValue = stringValueMatches[2];
									else if (!isFinite(parsedValue)) {
										if (fallbackControlName && !controls[fallbackControlName]) return "";
										parsedValue = _this3.parsePropertyPlaceholder(control, value, controls, values, fallbackValue, fallbackControlName);
									}
								}
								if (!parsedValue && 0 !== parsedValue) {
									if (externalControlMissing) return "";
									throw "";
								}
							}
							if ("font" === control.type) elementor.helpers.enqueueFont(parsedValue);
							if ("__EMPTY__" === parsedValue) parsedValue = "";
							return parsedValue;
						});
					} catch (e) {
						return;
					}
					if (_.isEmpty(outputCssProperty)) return;
					var devicePattern = /^(?:\([^)]+\)){1,2}/;
					var deviceRules = selector.match(devicePattern);
					var query = {};
					if (deviceRules) {
						deviceRules = deviceRules[0];
						selector = selector.replace(devicePattern, "");
						var pureDevicePattern = /\(([^)]+)\)/g;
						var pureDeviceRules = [];
						var matches = pureDevicePattern.exec(deviceRules);
						while (matches) {
							pureDeviceRules.push(matches[1]);
							matches = pureDevicePattern.exec(deviceRules);
						}
						_.each(pureDeviceRules, function(deviceRule) {
							if ("desktop" === deviceRule) return;
							var device = deviceRule.replace(/\+$/, "");
							var endPoint = device === deviceRule ? "max" : "min";
							query[endPoint] = device;
						});
					}
					_.each(placeholders, function(placeholder, index) {
						var regexp = placeholder.source ? placeholder.source : placeholder;
						var placeholderPattern = new RegExp(regexp, "g");
						selector = selector.replace(placeholderPattern, replacements[index]);
					});
					if (!Object.keys(query).length && control.responsive) {
						query = _.pick(elementorCommon.helpers.cloneObject(control.responsive), ["min", "max"]);
						if ("desktop" === query.max) delete query.max;
					}
					_this3.stylesheet.addRules(selector, outputCssProperty, query);
				});
			},
			unitHasCustomSelector: function unitHasCustomSelector(control, value) {
				return control.unit_selectors_dictionary && void 0 !== control.unit_selectors_dictionary[value.unit];
			},
			shouldDoUpgradeMap: function shouldDoUpgradeMap(control, value) {
				return control.upgrade_conversion_map && !!value.hasOwnProperty(control.upgrade_conversion_map.old_key) && "" !== value[control.upgrade_conversion_map.old_key] && !value.hasOwnProperty(control.upgrade_conversion_map.new_keys[0]);
			},
			parsePropertyPlaceholder: function parsePropertyPlaceholder(control, value, controls, values, placeholder, parserControlName) {
				if (parserControlName) {
					if (control.responsive && controls[parserControlName]) {
						var _$findWhere;
						var deviceSuffix = elementor.conditions.getResponsiveControlDeviceSuffix(control.responsive);
						control = (_$findWhere = _.findWhere(controls, { name: parserControlName + deviceSuffix })) !== null && _$findWhere !== void 0 ? _$findWhere : _.findWhere(controls, { name: parserControlName });
					} else control = _.findWhere(controls, { name: parserControlName });
					value = this.getStyleControlValue(control, values);
				}
				return elementor.getControlView(control.type).getStyleValue(placeholder, value, control);
			},
			getStyleControlValue: function getStyleControlValue(control, values) {
				var _this$getSettings;
				var _values$__globals__;
				var _control$global;
				var container = (_this$getSettings = this.getSettings()) === null || _this$getSettings === void 0 || (_this$getSettings = _this$getSettings.context) === null || _this$getSettings === void 0 ? void 0 : _this$getSettings.container;
				var isGlobalApplied = container === null || container === void 0 ? void 0 : container.isGlobalApplied(control.name);
				var globalKey = ((_values$__globals__ = values.__globals__) === null || _values$__globals__ === void 0 ? void 0 : _values$__globals__[control.name]) || ((_control$global = control.global) === null || _control$global === void 0 ? void 0 : _control$global.default);
				if (isGlobalApplied && globalKey) return this.getSelectorGlobalValue(control, globalKey);
				var value = values[control.name];
				if (control.selectors_dictionary) value = control.selectors_dictionary[value] || value;
				if (!_.isNumber(value) && _.isEmpty(value)) return;
				return value;
			},
			getSelectorGlobalValue: function getSelectorGlobalValue(control, globalKey) {
				var globalArgs = $e.data.commandExtractArgs(globalKey);
				var data = $e.data.getCache($e.components.get("globals"), globalArgs.command, globalArgs.args.query);
				if (!(data !== null && data !== void 0 && data.value)) return;
				var id = data.id;
				var value;
				if (control.groupType) {
					var responsivePrefixRegex = elementor.breakpoints.getActiveMatchRegex();
					var propertyName = control.name.replace(control.groupPrefix, "").replace(responsivePrefixRegex, "");
					if (!data.value[elementor.config.kit_config.typography_prefix + propertyName]) return;
					propertyName = propertyName.replace("_", "-");
					value = "var( --e-global-".concat(control.groupType, "-").concat(id, "-").concat(propertyName, " )");
					if (elementor.config.ui.defaultGenericFonts && control.groupPrefix + "font_family" === control.name) value += ", ".concat(elementor.config.ui.defaultGenericFonts);
				} else value = "var( --e-global-".concat(control.type, "-").concat(id, " )");
				return value;
			},
			addRepeaterControlsStyleRules: function addRepeaterControlsStyleRules(repeaterValues, repeaterControlsItems, controls, placeholders, replacements) {
				var _this4 = this;
				repeaterControlsItems.forEach(function(item, index) {
					var itemModel = repeaterValues.models[index];
					_this4.addStyleRules(item, itemModel.attributes, controls, placeholders.concat(["{{CURRENT_ITEM}}"]), replacements.concat([".elementor-repeater-item-" + itemModel.get("_id")]));
				});
			},
			addDynamicControlStyleRules: function addDynamicControlStyleRules(value, control) {
				var self = this;
				elementor.dynamicTags.parseTagsText(value, control.dynamic, function(id, name, settings) {
					var tag = elementor.dynamicTags.createTag(id, name, settings);
					if (!tag) return;
					var tagSettingsModel = tag.model;
					if (!tagSettingsModel.getStyleControls().length) return;
					self.addStyleRules(tagSettingsModel.getStyleControls(), tagSettingsModel.attributes, tagSettingsModel.controls, ["{{WRAPPER}}"], ["#elementor-tag-" + id]);
				});
			},
			addStyleToDocument: function addStyleToDocument(position) {
				var $head = elementor.$previewContents.find("head");
				var insertMethod = "append";
				var $insertBy = $head;
				if (position) {
					var $targetElement = $head.children(position.of);
					if ($targetElement.length) {
						insertMethod = position.at;
						$insertBy = $targetElement;
					}
				}
				$insertBy[insertMethod](this.elements.$stylesheetElement);
				var extraCSS = elementor.hooks.applyFilters("editor/style/styleText", "", this.getSettings("context"));
				this.elements.$stylesheetElement.text(this.stylesheet + extraCSS);
			},
			removeStyleFromDocument: function removeStyleFromDocument() {
				this.elements.$stylesheetElement.remove();
			},
			onInit: function onInit() {
				elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
				this.initStylesheet();
			}
		});
		module.exports = ControlsCSSParser;
	}));

//#endregion
//#region assets/dev/js/editor/views/base-container.js
	var require_base_container = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_slicedToArray();
		init_container_helper();
		var import_element_types$3 = require_element_types();
		/**
		* @typedef {import('elementor/assets/lib/backbone/backbone.marionette')} Marionette
		* @name BaseContainer
		* @augments {Marionette.CompositeView}
		*/
		module.exports = Marionette.CompositeView.extend({
			templateHelpers: function templateHelpers() {
				return { view: this };
			},
			getBehavior: function getBehavior(name) {
				return this._behaviors[Object.keys(this.behaviors()).indexOf(name)];
			},
			initialize: function initialize() {
				this.collection = this.model.get("elements");
			},
			addChildModel: function addChildModel(model, options) {
				return this.collection.add(model, options, true);
			},
			/**
			* Find a descendant view that accepts `elType` as a direct child.
			* Prefers a direct child that accepts the type over a deeper match inside
			* an earlier sibling (e.g. accordion item content over header → title).
			*
			* @param {string} elType
			* @return {Marionette.View|null}
			*/
			findFirstViewAccepting: function findFirstViewAccepting(elType) {
				var directAccepting = null;
				var recursiveAccepting = null;
				this.children.each(function(child) {
					if (!(child !== null && child !== void 0 && child.getChildType)) return;
					if (-1 !== child.getChildType().indexOf(elType)) {
						if (!directAccepting) directAccepting = child;
						return;
					}
					if (!recursiveAccepting && child.findFirstViewAccepting) recursiveAccepting = child.findFirstViewAccepting(elType);
				});
				return directAccepting || recursiveAccepting;
			},
			addElement: function addElement(data, options) {
				if (this.isCollectionFilled()) return;
				options = jQuery.extend({
					trigger: false,
					edit: true,
					onBeforeAdd: null,
					onAfterAdd: null
				}, options);
				var childTypes = this.getChildType();
				var newItem;
				var elType;
				if (data instanceof Backbone.Model) {
					newItem = data;
					elType = newItem.get("elType");
				} else {
					newItem = {
						id: elementorCommon.helpers.getUniqueId(),
						elType: childTypes[0],
						settings: {},
						elements: []
					};
					if (data) jQuery.extend(newItem, data);
					elType = newItem.elType;
				}
				if (-1 === childTypes.indexOf(elType)) return (this.findFirstViewAccepting(elType) || this.children.last()).addElement(newItem, options);
				if (options.clone) newItem = this.cloneItem(newItem);
				if (options.trigger) elementor.channels.data.trigger(options.trigger.beforeAdd, newItem);
				if (options.onBeforeAdd) options.onBeforeAdd();
				if (this.filterSettings) this.filterSettings(newItem);
				var newModel = this.addChildModel(newItem, { at: options.at });
				var newView = this.children.findByModel(newModel);
				if (options.onAfterAdd) options.onAfterAdd(newModel, newView);
				if (options.trigger) elementor.channels.data.trigger(options.trigger.afterAdd, newItem);
				if (options.edit && elementor.documents.getCurrent().history.getActive()) {
					newView.getContainer();
					newView._openEditingPanel(options);
				}
				return newView;
			},
			_openEditingPanel: function _openEditingPanel(options) {
				this.model.trigger("request:edit", { scrollIntoView: options.scrollIntoView });
			},
			createElementFromContainer: function createElementFromContainer(container) {
				var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
				return this.createElementFromModel(container.model, options);
			},
			createElementFromModel: function createElementFromModel(model) {
				var _model$isPreset;
				var _model;
				var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
				if (model instanceof Backbone.Model) model = model.toJSON();
				if (elementor.helpers.maybeDisableWidget(model.widgetType)) return;
				model = Object.assign(model, model.custom);
				if ("section" === model.elType) model.isInner = true;
				if ((_model$isPreset = (_model = model) === null || _model === void 0 ? void 0 : _model.isPreset) !== null && _model$isPreset !== void 0 ? _model$isPreset : false) model.settings = model.preset_settings;
				var _options$useHistory = options.useHistory;
				var useHistory = _options$useHistory === void 0 ? true : _options$useHistory;
				var historyId;
				if (useHistory) historyId = $e.internal("document/history/start-log", {
					type: this.getHistoryType(options.event),
					title: elementor.helpers.getModelLabel(model)
				});
				var container = this.getContainer();
				if (options.shouldWrap) container = this.getWrappingContainer(container, model, options);
				var widget = $e.run("document/elements/create", {
					container,
					model,
					options
				});
				if (useHistory) $e.internal("document/history/end-log", { id: historyId });
				return widget;
			},
			getWrappingContainer: function getWrappingContainer(container, model, settings) {
				var _settings$useHistory;
				var isAtomic = elementor.helpers.isAtomicWidget(model) || (0, import_element_types$3.isCompoundAtomicType)(model.elType);
				var options = {
					at: settings.at,
					scrollIntoView: settings.scrollIntoView,
					useHistory: (_settings$useHistory = settings === null || settings === void 0 ? void 0 : settings.useHistory) !== null && _settings$useHistory !== void 0 ? _settings$useHistory : true
				};
				if (isAtomic) return ContainerHelper.createContainerFromModel({ elType: ContainerHelper.V4_DEFAULT_CONTAINER_TYPE }, container, { options });
				return this.getV3Container(container, options);
			},
			getV3Container: function getV3Container(container, options) {
				var isContainerExperimentActive = elementorCommon.config.experimentalFeatures.container;
				container = ContainerHelper.createContainerFromModel({ elType: isContainerExperimentActive ? "container" : "section" }, container, {
					columns: Number(!isContainerExperimentActive),
					options
				});
				if (!isContainerExperimentActive) container = container.view.children.findByIndex(0).getContainer();
				return container;
			},
			onDrop: function onDrop(event, options) {
				var _elementor$channels$p;
				var _elementorCommon;
				var input = event.originalEvent.dataTransfer.files;
				if (input.length) {
					$e.run("editor/browser-import/import", {
						input,
						target: this.getContainer(),
						options: {
							event,
							target: { at: options.at }
						}
					});
					return;
				}
				var args = {};
				args.model = Object.fromEntries(Object.entries((_elementor$channels$p = elementor.channels.panelElements.request("element:selected")) === null || _elementor$channels$p === void 0 ? void 0 : _elementor$channels$p.model.attributes).filter(function(_ref) {
					var key = _slicedToArray(_ref, 1)[0];
					return [
						"elType",
						"widgetType",
						"custom",
						"editor_settings"
					].includes(key);
				}));
				args.container = this.getContainer();
				args.options = options;
				$e.run("preview/drop", args);
				if ((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.eventsManager) !== null && _elementorCommon !== void 0 && _elementorCommon.dispatchEvent && args !== null && args !== void 0 && args.model) {
					var _args$model$elType;
					var _args$model;
					var _args$model$widgetTyp;
					var _args$model2;
					var elType = (_args$model$elType = (_args$model = args.model) === null || _args$model === void 0 ? void 0 : _args$model.elType) !== null && _args$model$elType !== void 0 ? _args$model$elType : "";
					var widgetType = (_args$model$widgetTyp = (_args$model2 = args.model) === null || _args$model2 === void 0 ? void 0 : _args$model2.widgetType) !== null && _args$model$widgetTyp !== void 0 ? _args$model$widgetTyp : "";
					var elementName = "widget" === elType ? widgetType : elType;
					elementorCommon.eventsManager.dispatchEvent("add_element", {
						location: "editor_panel",
						element_name: elementName,
						element_type: elType,
						widget_type: widgetType
					});
				}
			},
			getHistoryType: function getHistoryType(event) {
				if (event) {
					if (event.originalEvent) event = event.originalEvent;
					switch (event.constructor.name) {
						case "DragEvent": return "import";
						case "ClipboardEvent": return "paste";
					}
				}
				return "add";
			},
			cloneItem: function cloneItem(item) {
				var self = this;
				if (item instanceof Backbone.Model) return item.clone();
				item.id = elementorCommon.helpers.getUniqueId();
				item.settings._element_id = "";
				item.elements.forEach(function(childItem, index) {
					item.elements[index] = self.cloneItem(childItem);
				});
				return item;
			},
			lookup: function lookup() {
				var element = this;
				if (element.isDisconnected()) element = $e.components.get("document").utils.findViewById(element.model.id);
				return element;
			},
			isDisconnected: function isDisconnected() {
				return this.isDestroyed || !this.el.isConnected;
			},
			isCollectionFilled: function isCollectionFilled() {
				return false;
			}
		});
		/**
		* Source: https://marionettejs.com/docs/v2.4.5/marionette.collectionview.html#collectionviews-buildchildview
		*
		* Since Elementor created custom container(bridge) between view, model, settings, children, parent and so on,
		* the container requires the parent view for proper work, but in 'marionettejs', the parent view is not available
		* during the `buildChildView` method, but actually exist, Elementor modified the `buildChildView` method to
		* set the parent view as a property `_parent` of the child view.
		* Anyways later, the `_parent` property is set by: 'marionettejs' to same view.
		*/
		/**
		* @inheritDoc
		*/
		Marionette.CollectionView.prototype.buildChildView = function(child, ChildViewClass, childViewOptions) {
			var childView = new ChildViewClass(_.extend({ model: child }, childViewOptions));
			childView._parent = this;
			Marionette.MonitorDOMRefresh(childView);
			return childView;
		};
		/**
		* This function overrides the original Marionette `attachBuffer` function.
		* This modification targets nested widgets that should contain a container within a wrapper.
		* The goal is to load the container inside the wrapper when initially loading in the editor.
		* This function updates the `buffer.childNodes` content by checking if an item should be interlaced.
		* If interlacing is needed, it places the container inside the widget's `child_container_placeholder_selector`.
		*/
		/**
		* @inheritDoc
		*/
		Marionette.CompositeView.prototype.attachBuffer = function(compositeView, buffer) {
			var _this$model;
			var _this$model2;
			var $container = this.getChildViewContainer(compositeView);
			if ((_this$model = this.model) !== null && _this$model !== void 0 && (_this$model = _this$model.config) !== null && _this$model !== void 0 && _this$model.support_improved_repeaters && (_this$model2 = this.model) !== null && _this$model2 !== void 0 && (_this$model2 = _this$model2.config) !== null && _this$model2 !== void 0 && _this$model2.is_interlaced) {
				var _this$model3;
				var $items = $container.find((_this$model3 = this.model) === null || _this$model3 === void 0 || (_this$model3 = _this$model3.config) === null || _this$model3 === void 0 || (_this$model3 = _this$model3.defaults) === null || _this$model3 === void 0 ? void 0 : _this$model3.child_container_placeholder_selector);
				_.each($items, function(item) {
					item.appendChild(buffer.childNodes[0]);
					buffer.appendChild(item);
				});
			}
			$container.append(buffer);
		};
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/base.js
	var require_base$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_slicedToArray();
		init_asyncToGenerator();
		init_typeof();
		init_toConsumableArray();
		init_awaitAsyncGenerator();
		init_wrapAsyncGenerator();
		var import_regenerator$15 = /* @__PURE__ */ __toESM(require_regenerator());
		init_environment();
		init_element_type_not_found();
		var import_element_types$2 = require_element_types();
		function _createForOfIteratorHelper(r, e) {
			var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
			if (!t) {
				if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
					t && (r = t);
					var _n = 0;
					var F = function F() {};
					return {
						s: F,
						n: function n() {
							return _n >= r.length ? { done: !0 } : {
								done: !1,
								value: r[_n++]
							};
						},
						e: function e(r) {
							throw r;
						},
						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 o;
			var a = !0;
			var u = !1;
			return {
				s: function s() {
					t = t.call(r);
				},
				n: function n() {
					var r = t.next();
					return a = r.done, r;
				},
				e: function e(r) {
					u = !0, o = r;
				},
				f: function f() {
					try {
						a || null == t.return || t.return();
					} finally {
						if (u) throw o;
					}
				}
			};
		}
		function _unsupportedIterableToArray(r, a) {
			if (r) {
				if ("string" == typeof r) return _arrayLikeToArray(r, a);
				var t = {}.toString.call(r).slice(8, -1);
				return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
			}
		}
		function _arrayLikeToArray(r, a) {
			(null == a || a > r.length) && (a = r.length);
			for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
			return n;
		}
		function _asyncIterator(r) {
			var n;
			var t;
			var o;
			var e = 2;
			for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) {
				if (t && null != (n = r[t])) return n.call(r);
				if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));
				t = "@@asyncIterator", o = "@@iterator";
			}
			throw new TypeError("Object is not async iterable");
		}
		function AsyncFromSyncIterator(r) {
			function AsyncFromSyncIteratorContinuation(r) {
				if (Object(r) !== r) return Promise.reject(/* @__PURE__ */ new TypeError(r + " is not an object."));
				var n = r.done;
				return Promise.resolve(r.value).then(function(r) {
					return {
						value: r,
						done: n
					};
				});
			}
			return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {
				this.s = r, this.n = r.next;
			}, AsyncFromSyncIterator.prototype = {
				s: null,
				n: null,
				next: function next() {
					return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
				},
				return: function _return(r) {
					var n = this.s.return;
					return void 0 === n ? Promise.resolve({
						value: r,
						done: !0
					}) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
				},
				throw: function _throw(r) {
					var n = this.s.return;
					return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
				}
			}, new AsyncFromSyncIterator(r);
		}
		var ControlsCSSParser = require_controls_css_parser();
		var Validator = require_base$4();
		var BaseContainer = require_base_container();
		var BaseElementView = BaseContainer.extend({
			tagName: "div",
			controlsCSSParser: null,
			allowRender: true,
			toggleEditTools: false,
			renderAttributes: {},
			isRendering: false,
			className: function className() {
				var classes = "elementor-element elementor-element-edit-mode " + this.getElementUniqueID();
				if (this.toggleEditTools) classes += " elementor-element--toggle-edit-tools";
				return classes;
			},
			attributes: function attributes() {
				return {
					"data-id": this.getID(),
					"data-element_type": this.model.get("elType"),
					"data-model-cid": this.model.cid
				};
			},
			ui: function ui() {
				return {
					tools: "> .elementor-element-overlay > .elementor-editor-element-settings",
					editButton: "> .elementor-element-overlay .elementor-editor-element-edit",
					duplicateButton: "> .elementor-element-overlay .elementor-editor-element-duplicate",
					addButton: "> .elementor-element-overlay .elementor-editor-element-add",
					removeButton: "> .elementor-element-overlay .elementor-editor-element-remove"
				};
			},
			behaviors: function behaviors() {
				var elementType = this.options.model.get("elType");
				var groups = elementor.hooks.applyFilters("elements/".concat(elementType, "/contextMenuGroups"), this.getContextMenuGroups(), this);
				var behaviors = { contextMenu: {
					behaviorClass: require_context_menu(),
					groups
				} };
				return elementor.hooks.applyFilters("elements/base/behaviors", behaviors, this);
			},
			getBehavior: function getBehavior(name) {
				return this._behaviors[Object.keys(this.behaviors()).indexOf(name)];
			},
			events: function events() {
				return {
					mousedown: "onMouseDown",
					click: "handleAnchorClick",
					"click @ui.editButton": "onEditButtonClick",
					"click @ui.duplicateButton": "onDuplicateButtonClick",
					"click @ui.addButton": "onAddButtonClick",
					"click @ui.removeButton": "onRemoveButtonClick"
				};
			},
			getElementType: function getElementType() {
				return this.model.get("elType");
			},
			getIDInt: function getIDInt() {
				return parseInt(this.getID(), 16);
			},
			getChildType: function getChildType() {
				return elementor.helpers.getElementChildType(this.getElementType());
			},
			getChildView: function getChildView(model) {
				var elementType = model.get("widgetType") || model.get("elType");
				var elementTypeClass = elementor.elementsManager.getElementTypeClass(elementType);
				if (!elementTypeClass) throw new ElementTypeNotFound(elementType);
				return elementor.hooks.applyFilters("element/view", elementTypeClass.getView(), model, this);
			},
			getTemplateType: function getTemplateType() {
				return "js";
			},
			getEditModel: function getEditModel() {
				return this.model;
			},
			getContainer: function getContainer() {
				if (!this.container) {
					var settingsModel = this.model.get("settings");
					this.container = new elementorModules.editor.Container({
						type: this.model.get("elType"),
						id: this.model.id,
						model: this.model,
						settings: settingsModel,
						view: this,
						parent: this._parent ? this._parent.getContainer() : false,
						label: elementor.helpers.getModelLabel(this.model),
						controls: settingsModel.options.controls
					});
				}
				return this.container;
			},
			getContextMenuGroups: function getContextMenuGroups() {
				var _this2 = this;
				var controlSign = environment.mac ? "&#8984;" : "^";
				var groups = [{
					name: "general",
					actions: [{
						name: "edit",
						icon: "eicon-edit",
						title: function title() {
							return (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Edit %s", "elementor"), elementor.selection.isMultiple() ? "" : _this2.options.model.getTitle());
						},
						isEnabled: function isEnabled() {
							return !elementor.selection.isMultiple();
						},
						callback: function callback() {
							return $e.run("document/elements/select", { container: _this2.getContainer() });
						}
					}, {
						name: "duplicate",
						icon: "eicon-clone",
						title: (0, _wordpress_i18n.__)("Duplicate", "elementor"),
						shortcut: controlSign + "+D",
						isEnabled: function isEnabled() {
							return elementor.selection.isSameType() && !_this2.getContainer().isLocked();
						},
						callback: function callback() {
							return $e.run("document/elements/duplicate", { containers: elementor.selection.getElements(_this2.getContainer()) });
						}
					}]
				}, {
					name: "clipboard",
					actions: [
						{
							name: "copy",
							title: (0, _wordpress_i18n.__)("Copy", "elementor"),
							shortcut: controlSign + "+C",
							isEnabled: function isEnabled() {
								return elementor.selection.isSameType() && !_this2.getContainer().isLocked();
							},
							callback: function callback() {
								return $e.run("document/elements/copy", { containers: elementor.selection.getElements(_this2.getContainer()) });
							}
						},
						{
							name: "paste",
							title: (0, _wordpress_i18n.__)("Paste", "elementor"),
							shortcut: controlSign + "+V",
							isEnabled: function isEnabled() {
								return $e.components.get("document/elements").utils.isPasteEnabled(_this2.getContainer()) && elementor.selection.isSameType();
							},
							callback: function callback() {
								return $e.run("document/ui/paste", { container: _this2.getContainer() });
							}
						},
						{
							name: "pasteStyle",
							title: (0, _wordpress_i18n.__)("Paste style", "elementor"),
							shortcut: controlSign + "+⇧+V",
							isEnabled: function isEnabled() {
								return !!elementorCommon.storage.get("clipboard");
							},
							callback: function callback() {
								return $e.run("document/elements/paste-style", { containers: elementor.selection.getElements(_this2.getContainer()) });
							}
						},
						{
							name: "pasteInteractions",
							title: (0, _wordpress_i18n.__)("Paste interactions", "elementor"),
							isEnabled: function isEnabled() {
								if (!elementorCommon.storage.get("clipboard")) return false;
								var elements = elementor.selection.getElements(_this2.getContainer());
								return elements.length > 0 && elements.every(function(c) {
									return elementor.helpers.isAtomicWidget(c.model);
								});
							},
							callback: function callback() {
								$e.run("document/elements/paste-interactions", { containers: elementor.selection.getElements(_this2.getContainer()) });
							}
						},
						{
							name: "pasteArea",
							icon: "eicon-import-export",
							title: (0, _wordpress_i18n.__)("Paste from other site", "elementor"),
							callback: function callback() {
								return $e.run("document/elements/paste-area", { container: _this2.getContainer() });
							}
						},
						{
							name: "resetStyle",
							title: (0, _wordpress_i18n.__)("Reset style", "elementor"),
							callback: function callback() {
								return $e.run("document/elements/reset-style", { containers: elementor.selection.getElements(_this2.getContainer()) });
							}
						}
					]
				}];
				var customGroups = [];
				/**
				* Filter Additional Context Menu Groups.
				*
				* This filter allows adding new context menu groups to elements.
				*
				* @param array  customGroups - An array of group objects.
				* @param string elementType - The current element type.
				*/
				customGroups = elementor.hooks.applyFilters("elements/context-menu/groups", customGroups, this.options.model.get("elType"));
				if (customGroups.length) groups = [].concat(_toConsumableArray(groups), _toConsumableArray(customGroups));
				groups.push({
					name: "delete",
					actions: [{
						name: "delete",
						icon: "eicon-trash",
						title: function title() {
							if (elementor.selection.isMultiple()) return (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Delete %d items", "elementor"), elementor.selection.getElements().length);
							return (0, _wordpress_i18n.__)("Delete", "elementor");
						},
						shortcut: "⌦",
						callback: function callback() {
							return $e.run("document/elements/delete", {
								containers: elementor.selection.getElements(_this2.getContainer()),
								callerName: "context_menu"
							});
						},
						isEnabled: function isEnabled() {
							return !_this2.getContainer().isLocked();
						}
					}]
				});
				return groups;
			},
			getEditButtons: function getEditButtons() {
				return {};
			},
			initialize: function initialize() {
				var _this3 = this;
				BaseContainer.prototype.initialize.apply(this, arguments);
				var editModel = this.getEditModel();
				if (this.collection && this.onCollectionChanged) {
					elementorDevTools.deprecation.deprecated("onCollectionChanged", "2.8.0", "$e.hooks");
					this.listenTo(this.collection, "add remove reset", this.onCollectionChanged, this);
				}
				if (this.onSettingsChanged) {
					elementorDevTools.deprecation.deprecated("onSettingsChanged", "2.8.0", "$e.hooks");
					this.listenTo(editModel.get("settings"), "change", this.onSettingsChanged);
				}
				this.listenTo(editModel.get("editSettings"), "change", this.onEditSettingsChanged).listenTo(this.model, "request:edit", this.onEditRequest).listenTo(this.model, "request:toggleVisibility", this.toggleVisibility);
				this.initControlsCSSParser();
				if (!this.onDynamicServerRequestEnd) this.onDynamicServerRequestEnd = _.debounce(function() {
					_this3.render();
					_this3.$el.removeClass("elementor-loading");
				}, 100);
			},
			getHandlesOverlay: function getHandlesOverlay() {
				var elementType = this.getElementType();
				if (!elementor.userCan("design") && elementType !== "widget") return;
				if (!this.getContainer().isEditable()) return;
				var isElement = (0, import_element_types$2.getAllElementTypes)().includes(elementType);
				var $handlesOverlay = jQuery("<div>", { class: "elementor-element-overlay" });
				var $overlayList = jQuery("<ul>", { class: "elementor-editor-element-settings elementor-editor-".concat(elementType, "-settings ").concat(isElement ? "elementor-editor-element-overlay-settings" : "") });
				var editButtonsEnabled = elementor.getPreferences("edit_buttons");
				var elementData = elementor.getElementData(this.model);
				var editButtons = this.getEditButtons();
				if (editButtonsEnabled || "widget" === elementType) {
					/**
					* Filter edit buttons.
					*
					* This filter allows adding edit buttons to all element types.
					*
					* @since 3.5.0
					*
					* @param array editButtons An array of buttons.
					*/
					editButtons = elementor.hooks.applyFilters("elements/edit-buttons", editButtons);
					/**
					* Filter edit buttons.
					*
					* This filter allows adding edit buttons only to a specific element type.
					*
					* The dynamic portion of the hook name, `elementType`, refers to element type (widget, column, section).
					*
					* @since 3.5.0
					*
					* @param array editButtons An array of buttons.
					*/
					editButtons = elementor.hooks.applyFilters("elements/edit-buttons/".concat(elementType), editButtons);
				}
				if ("section" === elementType || editButtonsEnabled) editButtons.remove = {
					title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Delete %s", "elementor"), elementData.title),
					icon: "close"
				};
				jQuery.each(editButtons, function(toolName, tool) {
					var $item = jQuery("<li>", {
						class: "elementor-editor-element-setting elementor-editor-element-".concat(toolName),
						title: tool.title,
						"aria-label": tool.title
					});
					var $icon = jQuery("<i>", {
						class: "eicon-".concat(tool.icon),
						"aria-hidden": true
					});
					$item.append($icon);
					$overlayList.append($item);
				});
				$handlesOverlay.append($overlayList);
				return $handlesOverlay;
			},
			attachElContent: function attachElContent(html) {
				this.$el.empty().append(this.getHandlesOverlay(), html);
			},
			isStyleTransferControl: function isStyleTransferControl(control) {
				if (void 0 !== control.style_transfer) return control.style_transfer;
				return "content" !== control.tab || control.selectors || control.prefix_class;
			},
			toggleVisibility: function toggleVisibility() {
				this.model.toggleVisibility();
				this.toggleVisibilityClass();
			},
			toggleVisibilityClass: function toggleVisibilityClass() {
				var isVisible = this.model.getVisibility();
				if (!elementor.helpers.isAtomicWidget(this.model)) {
					this.$el.toggleClass("elementor-edit-hidden", isVisible);
					return;
				}
				/**
				* We cannot know for sure the nature of this.$el in atomic widgets in terms of its css display value.
				* Though most atomic widgets are wrapped with a { display: contents !important } inline styled div, not all are, i.e. div-block and flexbox - both have display: flex.
				*
				* The simplest solution might be to switch the inline display value to 'none',
				* but that would require us to also store the original display value to revert to upon showing back the widget.
				*
				* This leaves us with a slightly less elegant workaround - to wrap/unwrap it with a {display: none} inline styled div
				*/
				var isWrappedWithHiddenElement = this.$el.parent().is("div[data-type=\"hide-atomic-widget\"]");
				if (isVisible) {
					if (!isWrappedWithHiddenElement) this.$el.wrap("<div data-type=\"hide-atomic-widget\" style=\"display: none\" />");
					return;
				}
				if (isWrappedWithHiddenElement) this.$el.unwrap();
			},
			addElementFromPanel: function addElementFromPanel(options) {
				options = options || {};
				var elementView = elementor.channels.panelElements.request("element:selected");
				var model = { elType: elementView.model.get("elType") };
				if (elementor.helpers.maybeDisableWidget()) return;
				if ("widget" === model.elType) model.widgetType = elementView.model.get("widgetType");
				else if ("section" === model.elType) model.isInner = true;
				else if ("container" !== model.elType) return;
				if ("section" === model.elType && this.isInner()) return;
				var customData = elementView.model.get("custom");
				if (customData) jQuery.extend(model, customData);
				elementor.channels.panelElements.reply("element:selected", null);
				return $e.run("document/elements/create", {
					container: this.getContainer(),
					model,
					options
				});
			},
			addControlValidator: function addControlValidator(controlName, validationCallback) {
				validationCallback = validationCallback.bind(this);
				var validator = new Validator({ customValidationMethod: validationCallback });
				var validators = this.getEditModel().get("settings").validators;
				if (!validators[controlName]) validators[controlName] = [];
				validators[controlName].push(validator);
			},
			addRenderAttribute: function addRenderAttribute(element, key, value, overwrite) {
				var self = this;
				if ("object" === _typeof(element)) {
					jQuery.each(element, function(elementKey, elementValue) {
						self.addRenderAttribute(elementKey, elementValue, null, overwrite);
					});
					return self;
				}
				if ("object" === _typeof(key)) {
					jQuery.each(key, function(attributeKey, attributeValue) {
						self.addRenderAttribute(element, attributeKey, attributeValue, overwrite);
					});
					return self;
				}
				if (!self.renderAttributes[element]) self.renderAttributes[element] = {};
				if (!self.renderAttributes[element][key]) self.renderAttributes[element][key] = [];
				if (!Array.isArray(value)) value = [value];
				if (overwrite) self.renderAttributes[element][key] = value;
				else self.renderAttributes[element][key] = self.renderAttributes[element][key].concat(value);
			},
			getRenderAttributeString: function getRenderAttributeString(element) {
				if (!this.renderAttributes[element]) return "";
				var renderAttributes = this.renderAttributes[element];
				var attributes = [];
				jQuery.each(renderAttributes, function(attributeKey, attributeValue) {
					attributes.push(attributeKey + "=\"" + _.escape(attributeValue.join(" ")) + "\"");
				});
				return attributes.join(" ");
			},
			isInner: function isInner() {
				return !!this.model.get("isInner");
			},
			initControlsCSSParser: function initControlsCSSParser() {
				this.controlsCSSParser = new ControlsCSSParser({
					id: this.model.get("id"),
					context: this,
					settingsModel: this.getEditModel().get("settings"),
					dynamicParsing: this.getDynamicParsingSettings()
				});
			},
			enqueueFonts: function enqueueFonts() {
				var editModel = this.getEditModel();
				var settings = editModel.get("settings");
				jQuery.each(settings.getIconsControls(), function(index, control) {
					var iconType = editModel.getSetting(control.name);
					if (!iconType || !iconType.library) return;
					elementor.helpers.enqueueIconFonts(iconType.library);
				});
			},
			renderStyles: function renderStyles(settings) {
				if (!settings) settings = this.getEditModel().get("settings");
				this.controlsCSSParser.stylesheet.empty();
				this.controlsCSSParser.addStyleRules(settings.getStyleControls(), settings.attributes, this.getEditModel().get("settings").controls, [/{{ID}}/g, /{{WRAPPER}}/g], [this.getID(), ".elementor-" + elementor.config.document.id + " .elementor-element." + this.getElementUniqueID()]);
				this.controlsCSSParser.addStyleToDocument();
			},
			renderCustomClasses: function renderCustomClasses() {
				var self = this;
				var settings = self.getEditModel().get("settings");
				var classControls = settings.getClassControls();
				_.each(classControls, function(control) {
					var previousClassValue = settings.previous(control.name);
					if (control.classes_dictionary) {
						if (void 0 !== control.classes_dictionary[previousClassValue]) previousClassValue = control.classes_dictionary[previousClassValue];
					}
					self.$el.removeClass(control.prefix_class + previousClassValue);
				});
				_.each(classControls, function(control) {
					var value = settings.attributes[control.name];
					var classValue = value;
					if (control.classes_dictionary) {
						if (void 0 !== control.classes_dictionary[value]) classValue = control.classes_dictionary[value];
					}
					if (elementor.helpers.isActiveControl(control, settings.attributes, settings.controls) && (classValue || 0 === classValue)) self.$el.addClass(control.prefix_class + classValue);
				});
				self.$el.addClass(_.result(self, "className"));
				self.toggleVisibilityClass();
			},
			renderCustomElementID: function renderCustomElementID() {
				var customElementID = this.getEditModel().get("settings").get("_element_id");
				if (customElementID) this.$el.attr("id", customElementID);
			},
			renderUI: function renderUI() {
				this.renderStyles();
				this.renderCustomClasses();
				this.renderCustomElementID();
				this.enqueueFonts();
			},
			runReadyTrigger: function runReadyTrigger() {
				var self = this;
				_.defer(function() {
					elementorFrontend.elementsHandler.runReadyTrigger(self.el);
					if (!elementorFrontend.isEditMode()) return;
					self.$el.find(".elementor-element.elementor-" + self.model.get("elType") + ":not(.elementor-element-edit-mode)").each(function() {
						elementorFrontend.elementsHandler.runReadyTrigger(this);
					});
				});
			},
			getID: function getID() {
				return this.model.get("id");
			},
			getElementUniqueID: function getElementUniqueID() {
				return "elementor-element-" + this.getID();
			},
			renderHTML: function renderHTML() {
				var templateType = this.getTemplateType();
				var editModel = this.getEditModel();
				if ("js" === templateType) {
					this.getEditModel().setHtmlCache();
					this.render();
					editModel.renderOnLeave = true;
				} else editModel.renderRemoteServer();
			},
			renderChanges: function renderChanges(settings) {
				if (settings instanceof elementorModules.editor.elements.models.BaseSettings) {
					var hasChanged = settings.hasChanged();
					var isContentChanged = !hasChanged;
					var isRenderRequired = !hasChanged;
					_.each(settings.changedAttributes(), function(settingValue, settingKey) {
						if ("_column_size" === settingKey) {
							isRenderRequired = true;
							return;
						}
						var control = settings.getControl(settingKey);
						if (!control) {
							isRenderRequired = true;
							isContentChanged = true;
							return;
						}
						if ("none" !== control.render_type) isRenderRequired = true;
						if (-1 !== ["none", "ui"].indexOf(control.render_type)) return;
						if ("template" === control.render_type || !settings.isStyleControl(settingKey) && !settings.isClassControl(settingKey) && "_element_id" !== settingKey) isContentChanged = true;
					});
					if (!isRenderRequired) return;
					if (!isContentChanged) {
						this.renderUI();
						return;
					}
				}
				this.renderHTML();
			},
			isAtomicDynamic: function isAtomicDynamic(changedSettings, dataBinding, changedControl, bindingDynamicCssId) {
				return "__dynamic__" in changedSettings && dataBinding.el.hasAttribute("data-binding-dynamic") && (dataBinding.el.getAttribute("data-binding-setting") === changedControl || this.isCssIdControl(changedControl, bindingDynamicCssId));
			},
			getDynamicValue: function getDynamicValue(settings, changedControlKey, bindingSetting) {
				var _this4 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$15.default.mark(function _callee() {
					var dynamicSettings;
					var valueToParse;
					return import_regenerator$15.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								dynamicSettings = { active: true }, valueToParse = _this4.getChangedData(settings, changedControlKey, bindingSetting);
								if (valueToParse) {
									_context.next = 1;
									break;
								}
								return _context.abrupt("return", settings.attributes[changedControlKey]);
							case 1:
								_context.next = 2;
								return _this4.getDataFromCacheOrBackend(valueToParse, dynamicSettings);
							case 2: return _context.abrupt("return", _context.sent);
							case 3:
							case "end": return _context.stop();
						}
					}, _callee);
				}))();
			},
			findUniqueKey: function findUniqueKey(obj1, obj2) {
				if ("object" !== _typeof(obj1) || "object" !== _typeof(obj2)) return false;
				var keys1 = Object.keys(obj1);
				var keys2 = Object.keys(obj2);
				return keys1.concat(keys2).filter(function(item, index, arr) {
					return arr.indexOf(item) === arr.lastIndexOf(item);
				});
			},
			/**
			* Function linkDataBindings().
			*
			* Link data to allow partial render, instead of full re-render
			*
			* How to use?
			*  If the element which should be rendered for a setting key is known in advance, it's possible to add the following attributes to the element to avoid full re-render:
			*  Example for repeater item:
			* 'data-binding-type': 'repeater-item',               // Type of binding (to know how to behave).
			* 'data-binding-setting': 'tab_title',                // Setting key that effect the binding.
			* 'data-binding-index': tabCount,                     // Index is required for repeater items.
			*
			* Example for content:
			* 'data-binding-type': 'content',                     // Type of binding.
			* 'data-binding-setting': 'testimonial_content',      // Setting change to capture, the value will replace the link.
			*
			* By adding the following example attributes inside the widget the element innerHTML will be linked to the 'testimonial_content' setting value.
			*
			*
			* Current Limitation:
			* Not working with dynamics, will required full re-render.
			* UPDATE: Support for dynamics has experimentally been added in v3.23
			*/
			linkDataBindings: function linkDataBindings() {
				var _this5 = this;
				/**
				* @type {Array.<DataBinding>}
				*/
				this.dataBindings = [];
				var id = this.$el.data("id");
				if (!id) return;
				var $dataBinding = this.$el.find("[data-binding-type]");
				if (!$dataBinding.length) return;
				$dataBinding.each(function(index, current) {
					if (jQuery(current).closest(".elementor-element").data("id") === id) {
						if (current.dataset.bindingType) _this5.dataBindings.push({
							el: current,
							dataset: current.dataset
						});
					}
				});
			},
			/**
			* Function renderDataBindings().
			*
			* Render linked data.
			*
			* @param {Object}              settings
			* @param {Array.<DataBinding>} dataBindings
			*
			* @return {boolean} - false on fail.
			*/
			renderDataBindings: function renderDataBindings(settings, dataBindings) {
				var _this$dataBindings;
				var _this6 = this;
				if (!((_this$dataBindings = this.dataBindings) !== null && _this$dataBindings !== void 0 && _this$dataBindings.length)) return false;
				var changed = false;
				var renderDataBinding = /*#__PURE__*/ function() {
					var _ref = _asyncToGenerator(/*#__PURE__*/ import_regenerator$15.default.mark(function _callee2(dataBinding) {
						var _dataBinding$dataset;
						var bindingSetting;
						var bindingConfig;
						var bindingSettings;
						var config;
						var isChangeHandled;
						var _iteratorAbruptCompletion;
						var _didIteratorError;
						var _iteratorError;
						var _iterator;
						var _step;
						var currentChange;
						var key;
						var value;
						var _t;
						return import_regenerator$15.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0:
									_dataBinding$dataset = dataBinding.dataset, bindingSetting = _dataBinding$dataset.bindingSetting, bindingConfig = _dataBinding$dataset.bindingConfig;
									bindingSettings = bindingSetting.split(" ");
									config = JSON.parse(bindingConfig);
									isChangeHandled = false;
									_iteratorAbruptCompletion = false;
									_didIteratorError = false;
									_context2.prev = 1;
									_iterator = _asyncIterator(_this6.bindingChangesGenerator(settings, bindingSettings, config));
								case 2:
									_context2.next = 3;
									return _iterator.next();
								case 3:
									if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
										_context2.next = 5;
										break;
									}
									currentChange = _step.value;
									key = currentChange.key, value = currentChange.value;
									if ("string" === typeof value) {
										_this6.renderDataBoundChange(value, dataBinding.el, config[key]);
										isChangeHandled = true;
									}
								case 4:
									_iteratorAbruptCompletion = false;
									_context2.next = 2;
									break;
								case 5:
									_context2.next = 7;
									break;
								case 6:
									_context2.prev = 6;
									_t = _context2["catch"](1);
									_didIteratorError = true;
									_iteratorError = _t;
								case 7:
									_context2.prev = 7;
									_context2.prev = 8;
									if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
										_context2.next = 9;
										break;
									}
									_context2.next = 9;
									return _iterator.return();
								case 9:
									_context2.prev = 9;
									if (!_didIteratorError) {
										_context2.next = 10;
										break;
									}
									throw _iteratorError;
								case 10: return _context2.finish(9);
								case 11: return _context2.finish(7);
								case 12: return _context2.abrupt("return", isChangeHandled);
								case 13:
								case "end": return _context2.stop();
							}
						}, _callee2, null, [[
							1,
							6,
							7,
							12
						], [
							8,
							,
							9,
							11
						]]);
					}));
					return function renderDataBinding(_x) {
						return _ref.apply(this, arguments);
					};
				}();
				var _iterator2 = _createForOfIteratorHelper(dataBindings);
				var _step2;
				try {
					for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
						var dataBinding = _step2.value;
						switch (dataBinding.dataset.bindingType) {
							case "repeater-item":
								var _container$parent;
								var repeater = this.container.repeaters[dataBinding.dataset.bindingRepeaterName];
								if (!repeater) break;
								var container = repeater.children.find(function(i) {
									return i.id === settings.attributes._id;
								});
								if ((container === null || container === void 0 || (_container$parent = container.parent) === null || _container$parent === void 0 ? void 0 : _container$parent.children.indexOf(container)) + 1 === parseInt(dataBinding.dataset.bindingIndex)) changed = renderDataBinding(dataBinding);
								else if (dataBindings.indexOf(dataBinding) + 1 === this.getRepeaterItemActiveIndex()) changed = this.tryHandleDynamicCoverSettings(dataBinding, settings);
								break;
							case "content":
								changed = renderDataBinding(dataBinding);
								break;
						}
						if (changed) break;
					}
				} catch (err) {
					_iterator2.e(err);
				} finally {
					_iterator2.f();
				}
				return changed;
			},
			bindingChangesGenerator: function bindingChangesGenerator(settings, bindingSettings, config) {
				var _this = this;
				return _wrapAsyncGenerator(/*#__PURE__*/ import_regenerator$15.default.mark(function _callee3() {
					var _i;
					var _Object$entries;
					var _Object$entries$_i;
					var key;
					var value;
					var _i2;
					var _Object$keys;
					var dynamicKey;
					var actual;
					return import_regenerator$15.default.wrap(function(_context3) {
						while (1) switch (_context3.prev = _context3.next) {
							case 0: _i = 0, _Object$entries = Object.entries(settings.changed);
							case 1:
								if (!(_i < _Object$entries.length)) {
									_context3.next = 9;
									break;
								}
								_Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1];
								if (!("__dynamic__" !== key && !_this.isHandledAsDatabinding(key, bindingSettings, config))) {
									_context3.next = 2;
									break;
								}
								return _context3.abrupt("continue", 8);
							case 2:
								if (!("__dynamic__" !== key)) {
									_context3.next = 4;
									break;
								}
								_context3.next = 3;
								return {
									key,
									value
								};
							case 3: return _context3.abrupt("continue", 8);
							case 4: _i2 = 0, _Object$keys = Object.keys(value);
							case 5:
								if (!(_i2 < _Object$keys.length)) {
									_context3.next = 8;
									break;
								}
								dynamicKey = _Object$keys[_i2];
								if (!_this.isHandledAsDatabinding(dynamicKey, bindingSettings, config)) {
									_context3.next = 7;
									break;
								}
								_context3.next = 6;
								return _awaitAsyncGenerator(_this.getDynamicValue(settings, dynamicKey, dynamicKey));
							case 6:
								actual = _context3.sent;
								_context3.next = 7;
								return {
									key: dynamicKey,
									value: actual
								};
							case 7:
								_i2++;
								_context3.next = 5;
								break;
							case 8:
								_i++;
								_context3.next = 1;
								break;
							case 9:
							case "end": return _context3.stop();
						}
					}, _callee3);
				}))();
			},
			isHandledAsDatabinding: function isHandledAsDatabinding(key, bindingSettings, config) {
				return bindingSettings.some(function(x) {
					return x === key;
				}) || config[key] !== void 0;
			},
			renderDataBoundChange: function renderDataBoundChange(change, element, config) {
				switch (config === null || config === void 0 ? void 0 : config.editType) {
					case "attribute":
						element.closest(config.selector).setAttribute(config.attr, change);
						break;
					case "text":
						element.innerHTML = change;
						break;
					default: element.innerHTML = change;
				}
			},
			/**
			* Function renderOnChange().
			*
			* Render the changes in the settings according to the current situation.
			*
			* @param {Object} settings
			*/
			renderOnChange: function renderOnChange(settings) {
				var _this7 = this;
				if (!this.allowRender) return;
				if (this.isRendering) {
					this.isRendering = false;
					return;
				}
				var renderResult = this.renderDataBindings(settings, this.dataBindings);
				if (renderResult instanceof Promise) renderResult.then(function(result) {
					if (!result) _this7.renderChanges(settings);
				});
				if (!renderResult) this.renderChanges(settings);
			},
			getDynamicParsingSettings: function getDynamicParsingSettings() {
				var self = this;
				return {
					onServerRequestStart: function onServerRequestStart() {
						self.$el.addClass("elementor-loading");
					},
					onServerRequestEnd: self.onDynamicServerRequestEnd
				};
			},
			serializeData: function serializeData() {
				var data = BaseContainer.prototype.serializeData.apply(this, arguments);
				data.settings = this.getEditModel().get("settings").parseDynamicSettings(data.settings, this.getDynamicParsingSettings());
				return data;
			},
			save: function save() {
				elementor.templates.eventManager.sendNewSaveTemplateClickedEvent();
				$e.route("library/save-template", { model: this.model });
			},
			onBeforeRender: function onBeforeRender() {
				this.renderAttributes = {};
			},
			render: function render() {
				this.getContainer();
				BaseContainer.prototype.render.apply(this, arguments);
			},
			onRender: function onRender() {
				var _this8 = this;
				this.linkDataBindings();
				this.renderUI();
				this.runReadyTrigger();
				if (this.toggleEditTools) {
					var editButton = this.ui.editButton;
					if (this.ui.tools) this.ui.tools.hoverIntent(function() {
						editButton.addClass("elementor-active");
					}, function() {
						editButton.removeClass("elementor-active");
					}, { timeout: 500 });
				}
				setTimeout(function() {
					_this8.initDraggable();
					_this8.dispatchElementLifeCycleEvent("rendered");
					elementorFrontend.elements.$window.on("elementor/elements/link-data-bindings", _this8.linkDataBindings.bind(_this8));
				});
			},
			dispatchElementLifeCycleEvent: function dispatchElementLifeCycleEvent(eventType) {
				var event;
				switch (eventType) {
					case "rendered":
						event = "elementor/editor/element-rendered";
						break;
					case "destroyed":
						event = "elementor/editor/element-destroyed";
						break;
				}
				var renderedEvent = new CustomEvent(event, { detail: { elementView: this } });
				elementor.$preview[0].contentWindow.dispatchEvent(renderedEvent);
				window.top.dispatchEvent(renderedEvent);
			},
			onEditSettingsChanged: function onEditSettingsChanged(changedModel) {
				elementor.channels.editor.trigger("change:editSettings", changedModel, this);
			},
			onEditButtonClick: function onEditButtonClick(event) {
				this.model.trigger("request:edit", { append: event.ctrlKey || event.metaKey });
			},
			onEditRequest: function onEditRequest() {
				var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				if (!this.container.isEditable()) return;
				var model = this.getEditModel();
				var panel = elementor.getPanelView();
				if ($e.routes.isPartOf("panel/editor") && panel.getCurrentPageView().model === model) return;
				if (options.scrollIntoView) elementor.helpers.scrollToView(this.getDomElement(), 200);
				$e.run("document/elements/toggle-selection", {
					container: this.getContainer(),
					append: options.append
				});
			},
			/**
			* Select current element.
			*/
			select: function select() {
				this.$el.addClass("elementor-element-editable");
			},
			/**
			* Deselect current element.
			*/
			deselect: function deselect() {
				this.$el.removeClass("elementor-element-editable");
			},
			onDuplicateButtonClick: function onDuplicateButtonClick(event) {
				event.stopPropagation();
				$e.run("document/elements/duplicate", { container: this.getContainer() });
			},
			onRemoveButtonClick: function onRemoveButtonClick(event) {
				event.stopPropagation();
				this.handleAnchorClick(event);
				$e.run("document/elements/delete", {
					container: this.getContainer(),
					callerName: "remove_button"
				});
			},
			handleAnchorClick: function handleAnchorClick(event) {
				var _this$model;
				var anchor = event.target.closest("a");
				var hash = (anchor === null || anchor === void 0 ? void 0 : anchor.getAttribute("href")) || ((_this$model = this.model) === null || _this$model === void 0 || (_this$model = _this$model.get("settings")) === null || _this$model === void 0 || (_this$model = _this$model.get("link")) === null || _this$model === void 0 ? void 0 : _this$model.url) || "";
				if (hash && hash.startsWith("#") && !hash.includes("elementor-action")) {
					var _event$target;
					var scrollTargetElem = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.ownerDocument.querySelector(hash);
					if (scrollTargetElem) scrollTargetElem.scrollIntoView();
				}
				if (elementor.helpers.isElementAtomic(this.getContainer().id)) event.preventDefault();
			},
			onMouseDown: function onMouseDown(event) {
				if (jQuery(event.target).closest(".elementor-inline-editing").length) return;
				elementorFrontend.elements.window.document.activeElement.blur();
			},
			onDestroy: function onDestroy() {
				var _this9 = this;
				if (this.dataBindings) delete this.dataBindings;
				this.controlsCSSParser.removeStyleFromDocument();
				this.getEditModel().get("settings").validators = {};
				elementor.channels.data.trigger("element:destroy", this.model);
				setTimeout(function() {
					return _this9.dispatchElementLifeCycleEvent("destroyed");
				});
			},
			/**
			* On `$el` drag start event.
			* Used inside `Draggable` and can be overridden by the extending views.
			*/
			onDragStart: function onDragStart() {},
			/**
			* On `$el` drag end event.
			* Used inside `Draggable` and can be overridden by the extending views.
			*/
			onDragEnd: function onDragEnd() {},
			/**
			* Create a drag helper element.
			* Copied from `behaviors/sortable.js` with some refactor.
			*
			* @return {HTMLDivElement} helper
			*/
			getDraggableHelper: function getDraggableHelper() {
				var model = this.getEditModel();
				var helper = document.createElement("div");
				helper.classList.add("elementor-sortable-helper", "elementor-sortable-helper-".concat(model.get("elType")));
				helper.innerHTML = "\n			<div class=\"icon\">\n				<i class=\"".concat(model.getIcon(), "\"></i>\n			</div>\n			<div class=\"title-wrapper\">\n				<div class=\"title\">").concat(model.getTitle(), "</div>\n			</div>\n		");
				return helper;
			},
			getDomElement: function getDomElement() {
				return this.$el;
			},
			/**
			* Initialize the Droppable instance.
			*/
			initDraggable: function initDraggable() {
				var _this0 = this;
				if (!elementor.userCan("design")) return;
				if (!this.$el.hasClass(".e-con") && !this.$el.parents(".e-con").length) return;
				if (!this.getContainer().isEditable()) return;
				this.getDomElement().html5Draggable({
					onDragStart: function onDragStart(e) {
						var _this0$options$dragga;
						e.stopPropagation();
						if (_this0.getContainer().isLocked()) {
							e.originalEvent.preventDefault();
							return;
						}
						if ((_this0$options$dragga = _this0.options.draggable) !== null && _this0$options$dragga !== void 0 && _this0$options$dragga.isActive) return;
						var helper = _this0.getDraggableHelper();
						_this0.$el[0].appendChild(helper);
						e.originalEvent.dataTransfer.setDragImage(helper, 25, 20);
						setTimeout(function() {
							helper.remove();
						});
						_this0.onDragStart(e);
						elementor.channels.editor.reply("element:dragged", _this0);
					},
					onDragEnd: function onDragEnd(e) {
						e.stopPropagation();
						_this0.onDragEnd(e);
					},
					groups: ["elementor-element"]
				});
			},
			getDataFromCacheOrBackend: function getDataFromCacheOrBackend(valueToParse, dynamicSettings) {
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$15.default.mark(function _callee4() {
					return import_regenerator$15.default.wrap(function(_context4) {
						while (1) switch (_context4.prev = _context4.next) {
							case 0:
								_context4.prev = 0;
								return _context4.abrupt("return", elementor.dynamicTags.parseTagsText(valueToParse, dynamicSettings, elementor.dynamicTags.getTagDataContent));
							case 1:
								_context4.prev = 1;
								_context4["catch"](0);
								_context4.next = 2;
								return new Promise(function(resolve) {
									elementor.dynamicTags.refreshCacheFromServer(function() {
										resolve();
									});
								});
							case 2: return _context4.abrupt("return", !_.isEmpty(elementor.dynamicTags.cache) ? elementor.dynamicTags.parseTagsText(valueToParse, dynamicSettings, elementor.dynamicTags.getTagDataContent) : false);
							case 3:
							case "end": return _context4.stop();
						}
					}, _callee4, null, [[0, 1]]);
				}))();
			},
			getChangedDynamicControlKey: function getChangedDynamicControlKey(settings) {
				var _settings$changed;
				var _settings$_previousAt;
				var changedControlKey = this.findUniqueKey(settings === null || settings === void 0 || (_settings$changed = settings.changed) === null || _settings$changed === void 0 ? void 0 : _settings$changed.__dynamic__, settings === null || settings === void 0 || (_settings$_previousAt = settings._previousAttributes) === null || _settings$_previousAt === void 0 ? void 0 : _settings$_previousAt.__dynamic__)[0];
				if (changedControlKey) return changedControlKey;
				return Object.keys(settings.changed)[0] !== "__dynamic__" ? Object.keys(settings.changed)[0] : Object.keys(settings.changed.__dynamic__)[0];
			},
			getChangedDataForRemovedItem: function getChangedDataForRemovedItem(settings, changedControlKey, bindingSetting) {
				var _settings$attributes;
				var _settings$attributes2;
				return ((_settings$attributes = settings.attributes) === null || _settings$attributes === void 0 || (_settings$attributes = _settings$attributes[changedControlKey]) === null || _settings$attributes === void 0 ? void 0 : _settings$attributes[bindingSetting]) || ((_settings$attributes2 = settings.attributes) === null || _settings$attributes2 === void 0 ? void 0 : _settings$attributes2[changedControlKey]);
			},
			getChangedDataForAddedItem: function getChangedDataForAddedItem(settings, changedControlKey, bindingSetting) {
				var _settings$attributes3;
				var _settings$attributes4;
				return ((_settings$attributes3 = settings.attributes) === null || _settings$attributes3 === void 0 || (_settings$attributes3 = _settings$attributes3.__dynamic__) === null || _settings$attributes3 === void 0 || (_settings$attributes3 = _settings$attributes3[changedControlKey]) === null || _settings$attributes3 === void 0 ? void 0 : _settings$attributes3[bindingSetting]) || ((_settings$attributes4 = settings.attributes) === null || _settings$attributes4 === void 0 || (_settings$attributes4 = _settings$attributes4.__dynamic__) === null || _settings$attributes4 === void 0 ? void 0 : _settings$attributes4[changedControlKey]);
			},
			getChangedData: function getChangedData(settings, changedControlKey, bindingSetting) {
				var changedDataForRemovedItem = this.getChangedDataForRemovedItem(settings, changedControlKey, bindingSetting);
				return this.getChangedDataForAddedItem(settings, changedControlKey, bindingSetting) || changedDataForRemovedItem;
			},
			/**
			* Function getTitleWithAdvancedValues().
			*
			* Renders before / after / fallback for dynamic item titles.
			*
			* @param {Object} settings
			* @param {string} text
			*/
			getTitleWithAdvancedValues: function getTitleWithAdvancedValues(settings, text) {
				var attributes = settings.attributes;
				var previousAttributes = settings._previousAttributes;
				if (this.compareSettings(attributes, previousAttributes, "fallback")) text = text.replace(new RegExp(previousAttributes.fallback), "");
				if (!text || attributes.fallback === text) return attributes.fallback || "";
				if (this.compareSettings(attributes, previousAttributes, "before")) text = text.replace(previousAttributes.before, "");
				if (this.compareSettings(attributes, previousAttributes, "after")) text = text.replace(new RegExp(previousAttributes.after + "$"), "");
				if (!text) return attributes.fallback || "";
				var newBefore = this.getNewSettingsValue(attributes, previousAttributes, "before");
				var newAfter = this.getNewSettingsValue(attributes, previousAttributes, "after");
				text = newBefore + text;
				text += newAfter;
				return text;
			},
			compareSettings: function compareSettings(attributes, previousAttributes, key) {
				return previousAttributes[key] && previousAttributes[key] !== attributes[key];
			},
			getNewSettingsValue: function getNewSettingsValue(attributes, previousAttributes, key) {
				return previousAttributes[key] !== attributes[key] ? attributes[key] || "" : "";
			},
			getRepeaterItemActiveIndex: function getRepeaterItemActiveIndex() {
				return this.getContainer().renderer.view.model.changed.editSettings.changed.activeItemIndex || this.getContainer().renderer.view.model.changed.editSettings.attributes.activeItemIndex;
			},
			tryHandleDynamicCoverSettings: function tryHandleDynamicCoverSettings(dataBinding, settings) {
				if (!this.isAdvancedDynamicSettings(settings.attributes)) return false;
				this.isRendering = true;
				dataBinding.el.textContent = this.getTitleWithAdvancedValues(settings, dataBinding.el.textContent);
				return true;
			},
			isAdvancedDynamicSettings: function isAdvancedDynamicSettings(attributes) {
				return "before" in attributes && "after" in attributes && "fallback" in attributes;
			}
		});
		module.exports = BaseElementView;
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/behaviors/sortable.js
	var require_sortable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var SortableBehavior = Marionette.Behavior.extend({
			defaults: { elChildType: "widget" },
			events: {
				sortstart: "onSortStart",
				sortreceive: "onSortReceive",
				sortupdate: "onSortUpdate",
				sortover: "onSortOver",
				sortout: "onSortOut"
			},
			initialize: function initialize() {
				this.listenTo(elementor.channels.dataEditMode, "switch", this.onEditModeSwitched).listenTo(this.view.options.model, "request:sort:start", this.startSort).listenTo(this.view.options.model, "request:sort:update", this.updateSort).listenTo(this.view.options.model, "request:sort:receive", this.receiveSort);
			},
			onEditModeSwitched: function onEditModeSwitched(activeMode) {
				this.onToggleSortMode("edit" === activeMode);
			},
			refresh: function refresh() {
				this.onEditModeSwitched(elementor.channels.dataEditMode.request("activeMode"));
			},
			onRender: function onRender() {
				var _this = this;
				this.view.collection.on("update", function() {
					return _this.refresh();
				});
				_.defer(function() {
					return _this.refresh();
				});
			},
			onDestroy: function onDestroy() {
				this.deactivate();
			},
			/**
			* Create an item placeholder in order to avoid UI jumps due to flex.
			*
			* @param {Object}  $element  - jQuery element instance to create placeholder for.
			* @param {string}  className - Placeholder class.
			* @param {boolean} hide      - Whether to hide the original element.
			*
			* @return {void}
			*/
			createPlaceholder: function createPlaceholder($element) {
				var className = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
				var hide = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
				$element.css("display", "");
				var _$element$ = $element[0];
				var width = _$element$.clientWidth;
				var height = _$element$.clientHeight;
				if (hide) $element.css("display", "none");
				jQuery("<div />").css(_objectSpread(_objectSpread({}, $element.css([
					"flex-basis",
					"flex-grow",
					"flex-shrink",
					"position"
				])), {}, {
					width,
					height
				})).addClass(className).insertAfter($element);
			},
			/**
			* Return a settings object for jQuery UI sortable to make it swappable.
			*
			* @return {{stop: Function, start: Function}} options
			*/
			getSwappableOptions: function getSwappableOptions() {
				var _this2 = this;
				var $childViewContainer = this.getChildViewContainer();
				var placeholderClass = "e-swappable--item-placeholder";
				return {
					start: function start(event, ui) {
						$childViewContainer.sortable("refreshPositions");
						_this2.createPlaceholder(ui.item, placeholderClass);
					},
					stop: function stop() {
						$childViewContainer.find(".".concat(placeholderClass)).remove();
					}
				};
			},
			onToggleSortMode: function onToggleSortMode(isActive) {
				if (isActive) this.activate();
				else this.deactivate();
			},
			applySortable: function applySortable() {
				if (!elementor.userCan("design")) return;
				var $childViewContainer = this.getChildViewContainer();
				var defaultSortableOptions = {
					placeholder: "elementor-sortable-placeholder elementor-" + this.getOption("elChildType") + "-placeholder",
					cursorAt: {
						top: 20,
						left: 25
					},
					helper: this._getSortableHelper.bind(this),
					cancel: "input, textarea, button, select, option, .elementor-inline-editing, .elementor-tab-title",
					start: function start() {
						$childViewContainer.sortable("refreshPositions");
					}
				};
				var sortableOptions = _.extend(defaultSortableOptions, this.view.getSortableOptions());
				if (this.isSwappable()) {
					$childViewContainer.addClass("e-swappable");
					sortableOptions = _.extend(sortableOptions, this.getSwappableOptions());
				}
				if (sortableOptions.preventInit) return;
				$childViewContainer.sortable(sortableOptions);
			},
			/**
			* Enable sorting for this element, and generate sortable instance for it unless already generated.
			*/
			activate: function activate() {
				if (!this.getChildViewContainer().sortable("instance")) {
					this.applySortable();
					return;
				}
				this.getChildViewContainer().sortable("enable");
			},
			_getSortableHelper: function _getSortableHelper(event, $item) {
				var model = this.view.collection.get({ cid: $item.data("model-cid") });
				return "<div style=\"height: 84px; width: 125px;\" class=\"elementor-sortable-helper elementor-sortable-helper-" + model.get("elType") + "\"><div class=\"icon\"><i class=\"" + model.getIcon() + "\"></i></div><div class=\"title-wrapper\"><div class=\"title\">" + model.getTitle() + "</div></div></div>";
			},
			getChildViewContainer: function getChildViewContainer() {
				return this.view.getChildViewContainer(this.view);
			},
			getSortedElementNewIndex: function getSortedElementNewIndex($element) {
				return Object.values($element.parent().find("> .elementor-element")).indexOf($element[0]);
			},
			/**
			* Disable sorting of the element unless no sortable instance exists, in which case there is already no option to
			* sort.
			*/
			deactivate: function deactivate() {
				var childViewContainer = this.getChildViewContainer();
				if (childViewContainer.sortable("instance")) childViewContainer.sortable("disable");
			},
			/**
			* Determine if the current instance of Sortable is swappable.
			*
			* @return {boolean} is swappable
			*/
			isSwappable: function isSwappable() {
				return !!this.view.getSortableOptions().swappable;
			},
			startSort: function startSort(event, ui) {
				event.stopPropagation();
				var container = elementor.getContainer(ui.item.attr("data-id"));
				elementor.channels.data.reply("dragging:model", container.model).reply("dragging:view", container.view).reply("dragging:parent:view", this.view).trigger("drag:start", container.model).trigger(container.model.get("elType") + ":drag:start");
			},
			updateSort: function updateSort(ui, newIndex) {
				if (void 0 === newIndex) newIndex = ui.item.index();
				var child = elementor.channels.data.request("dragging:view").getContainer();
				if (!this.moveChild(child, newIndex)) jQuery(ui.sender).sortable("cancel");
			},
			receiveSort: function receiveSort(event, ui, newIndex) {
				event.stopPropagation();
				if (this.view.isCollectionFilled()) {
					jQuery(ui.sender).sortable("cancel");
					return;
				}
				var model = elementor.channels.data.request("dragging:model");
				var draggedIsInnerSection = "section" === model.get("elType") && model.get("isInner");
				var targetIsInnerColumn = "column" === this.view.getElementType() && this.view.isInner();
				if (draggedIsInnerSection && targetIsInnerColumn) {
					jQuery(ui.sender).sortable("cancel");
					return;
				}
				if (void 0 === newIndex) newIndex = ui.item.index();
				var child = elementor.channels.data.request("dragging:view").getContainer();
				if (!this.moveChild(child, newIndex)) jQuery(ui.sender).sortable("cancel");
			},
			onSortStart: function onSortStart(event, ui) {
				if ("column" === this.options.elChildType) {
					var uiItems = ui.item.data("sortableItem").items;
					var itemHeight = 0;
					uiItems.forEach(function(item) {
						if (item.item[0] === ui.item[0]) {
							itemHeight = item.height;
							return false;
						}
					});
					ui.placeholder.height(itemHeight);
				}
				this.startSort(event, ui);
			},
			onSortOver: function onSortOver(event) {
				event.stopPropagation();
				var model = elementor.channels.data.request("dragging:model");
				jQuery(event.target).addClass("elementor-draggable-over").attr({
					"data-dragged-element": model.get("elType"),
					"data-dragged-is-inner": model.get("isInner")
				});
				this.$el.addClass("elementor-dragging-on-child");
			},
			onSortOut: function onSortOut(event) {
				event.stopPropagation();
				jQuery(event.target).removeClass("elementor-draggable-over").removeAttr("data-dragged-element data-dragged-is-inner");
				this.$el.removeClass("elementor-dragging-on-child");
			},
			onSortReceive: function onSortReceive(event, ui) {
				this.receiveSort(event, ui, this.getSortedElementNewIndex(ui.item));
			},
			onSortUpdate: function onSortUpdate(event, ui) {
				event.stopPropagation();
				if (this.getChildViewContainer()[0] !== ui.item.parent()[0]) return;
				this.updateSort(ui, this.getSortedElementNewIndex(ui.item));
			},
			onAddChild: function onAddChild(view) {
				view.$el.attr("data-model-cid", view.model.cid);
			},
			/**
			* Move a child container to another position.
			*
			* @param {Container}     child - The child container to move.
			* @param {number|string} index - New index.
			*
			* @return {Container|boolean}
			*/
			moveChild: function moveChild(child, index) {
				return $e.run("document/elements/move", {
					container: child,
					target: this.view.getContainer(),
					options: { at: index }
				});
			}
		});
		module.exports = SortableBehavior;
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/section.js
	var require_section$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_inline();
		var BaseElementView = require_base$2();
		var DEFAULT_INNER_SECTION_COLUMNS = 2;
		var DEFAULT_MIN_COLUMN_SIZE = 2;
		var DEFAULT_MAX_COLUMNS = 10;
		var SectionView = BaseElementView.extend({
			childViewContainer: function childViewContainer() {
				return "> .elementor-container";
			},
			template: Marionette.TemplateCache.get("#tmpl-elementor-section-content"),
			addSectionView: null,
			/**
			* @deprecated since 2.9.0, use `toggleSectionIsFull()` instead.
			*/
			_checkIsFull: function _checkIsFull() {
				this.toggleSectionIsFull();
				elementorDevTools.deprecation.deprecated("_checkIsFull()", "2.9.0", "toggleSectionIsFull()");
			},
			toggleSectionIsFull: function toggleSectionIsFull() {
				this.$el.toggleClass("elementor-section-filled", this.isCollectionFilled());
			},
			addChildModel: function addChildModel(model) {
				var isModelInstance = model instanceof Backbone.Model;
				var isInner = this.isInner();
				if (isModelInstance) model.set("isInner", isInner);
				else model.isInner = isInner;
				return BaseElementView.prototype.addChildModel.apply(this, arguments);
			},
			className: function className() {
				var classes = BaseElementView.prototype.className.apply(this, arguments);
				var type = this.isInner() ? "inner" : "top";
				return classes + " elementor-section elementor-" + type + "-section";
			},
			tagName: function tagName() {
				return this.model.getSetting("html_tag") || "section";
			},
			behaviors: function behaviors() {
				var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments);
				_.extend(behaviors, { Sortable: {
					behaviorClass: require_sortable(),
					elChildType: "column"
				} });
				return elementor.hooks.applyFilters("elements/section/behaviors", behaviors, this);
			},
			initialize: function initialize() {
				BaseElementView.prototype.initialize.apply(this, arguments);
				this.model.get("editSettings").set("defaultEditRoute", "layout");
			},
			getEditButtons: function getEditButtons() {
				if (!$e.components.get("document/elements").utils.allowAddingWidgets()) return {};
				var elementData = elementor.getElementData(this.model);
				var editTools = {};
				if (!this.isInner()) editTools.add = {
					title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Add %s", "elementor"), elementData.title),
					icon: "plus"
				};
				editTools.edit = {
					title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Edit %s", "elementor"), elementData.title),
					icon: "handle"
				};
				if (elementor.getPreferences("edit_buttons")) editTools.duplicate = {
					title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Duplicate %s", "elementor"), elementData.title),
					icon: "clone"
				};
				return editTools;
			},
			getContextMenuGroups: function getContextMenuGroups() {
				var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments);
				var transferGroupIndex = groups.indexOf(_.findWhere(groups, { name: "clipboard" }));
				groups.splice(transferGroupIndex + 1, 0, {
					name: "save",
					actions: [{
						name: "save",
						title: (0, _wordpress_i18n.__)("Save as a template", "elementor"),
						shortcut: "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat((0, _wordpress_i18n.__)("New", "elementor"), "</span>"),
						isEnabled: function isEnabled() {
							return !elementor.selection.isMultiple();
						},
						callback: this.save.bind(this)
					}]
				});
				return groups;
			},
			getSortableOptions: function getSortableOptions() {
				return {
					connectWith: (this.isInner() ? ".elementor-inner-section" : ".elementor-top-section") + this.childViewContainer(),
					handle: "> .elementor-element-overlay .elementor-editor-element-edit",
					items: "> .elementor-column",
					forcePlaceholderSize: true,
					tolerance: "pointer"
				};
			},
			getColumnPercentSize: function getColumnPercentSize(element, size) {
				return +(size / element.parent().width() * 100).toFixed(3);
			},
			getDefaultStructure: function getDefaultStructure() {
				return this.collection.length + "0";
			},
			getStructure: function getStructure() {
				return this.model.getSetting("structure");
			},
			getColumnAt: function getColumnAt(index) {
				var model = this.collection.at(index);
				return model ? this.children.findByModelCid(model.cid) : null;
			},
			getNextColumn: function getNextColumn(columnView) {
				return this.getColumnAt(this.collection.indexOf(columnView.model) + 1);
			},
			getPreviousColumn: function getPreviousColumn(columnView) {
				return this.getColumnAt(this.collection.indexOf(columnView.model) - 1);
			},
			getNeighborContainer: function getNeighborContainer(container) {
				var parentView = container.parent.view;
				var nextView = parentView.getNextColumn(container.view) || parentView.getPreviousColumn(container.view);
				if (!nextView) return false;
				return nextView.getContainer();
			},
			setStructure: function setStructure(structure) {
				var shouldAdjustColumns = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
				if (+elementor.presetsFactory.getParsedStructure(structure).columnsCount !== this.collection.length) throw new TypeError("The provided structure doesn't match the columns count.");
				$e.run("document/elements/settings", {
					container: this.getContainer(),
					settings: { structure },
					options: { external: true }
				});
				if (shouldAdjustColumns) this.adjustColumns();
			},
			adjustColumns: function adjustColumns() {
				var preset = elementor.presetsFactory.getPresetByStructure(this.getStructure());
				this.children.each(function(columnView, index) {
					var container = columnView.getContainer();
					$e.run("document/elements/settings", {
						container,
						settings: {
							_column_size: preset.preset[index],
							_inline_size: null
						}
					});
				});
			},
			resetLayout: function resetLayout() {
				var shouldAdjustColumns = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
				this.setStructure(this.getDefaultStructure(), shouldAdjustColumns);
			},
			resetColumnsCustomSize: function resetColumnsCustomSize() {
				this.children.each(function(columnView) {
					$e.run("document/elements/settings", {
						container: columnView.getContainer(),
						settings: { _inline_size: null },
						options: { external: true }
					});
				});
			},
			isCollectionFilled: function isCollectionFilled() {
				return DEFAULT_MAX_COLUMNS <= this.collection.length;
			},
			showChildrenPercentsTooltip: function showChildrenPercentsTooltip(columnView, nextColumnView) {
				columnView.ui.percentsTooltip.show();
				columnView.ui.percentsTooltip.attr("data-side", elementorCommon.config.isRTL ? "right" : "left");
				nextColumnView.ui.percentsTooltip.show();
				nextColumnView.ui.percentsTooltip.attr("data-side", elementorCommon.config.isRTL ? "left" : "right");
			},
			hideChildrenPercentsTooltip: function hideChildrenPercentsTooltip(columnView, nextColumnView) {
				columnView.ui.percentsTooltip.hide();
				nextColumnView.ui.percentsTooltip.hide();
			},
			destroyAddSectionView: function destroyAddSectionView() {
				if (this.addSectionView && !this.addSectionView.isDestroyed) this.addSectionView.destroy();
			},
			onRender: function onRender() {
				BaseElementView.prototype.onRender.apply(this, arguments);
				this.toggleSectionIsFull();
			},
			onAddButtonClick: function onAddButtonClick() {
				if (this.addSectionView && !this.addSectionView.isDestroyed) {
					this.addSectionView.fadeToDeath();
					return;
				}
				var addSectionView = new AddSectionView$1({ at: this.model.collection.indexOf(this.model) });
				addSectionView.render();
				this.$el.before(addSectionView.$el);
				addSectionView.$el.hide();
				setTimeout(function() {
					addSectionView.$el.slideDown(null, function() {
						jQuery(this).css("display", "");
					});
				});
				this.addSectionView = addSectionView;
			},
			onChildviewRequestResizeStart: function onChildviewRequestResizeStart(columnView) {
				var nextColumnView = this.getNextColumn(columnView);
				if (!nextColumnView) return;
				this.showChildrenPercentsTooltip(columnView, nextColumnView);
				var $iframes = columnView.$el.find("iframe").add(nextColumnView.$el.find("iframe"));
				elementor.helpers.disableElementEvents($iframes);
			},
			onChildviewRequestResizeStop: function onChildviewRequestResizeStop(columnView) {
				var nextColumnView = this.getNextColumn(columnView);
				if (!nextColumnView) return;
				this.hideChildrenPercentsTooltip(columnView, nextColumnView);
				var $iframes = columnView.$el.find("iframe").add(nextColumnView.$el.find("iframe"));
				elementor.helpers.enableElementEvents($iframes);
			},
			onChildviewRequestResize: function onChildviewRequestResize(columnView, ui) {
				ui.element.css({
					width: "",
					left: "initial"
				});
				$e.run("document/elements/settings", {
					container: columnView.getContainer(),
					settings: { _inline_size: this.getColumnPercentSize(ui.element, ui.size.width) }
				});
			},
			onDestroy: function onDestroy() {
				BaseElementView.prototype.onDestroy.apply(this, arguments);
				this.destroyAddSectionView();
			}
		});
		module.exports = SectionView;
		module.exports.DEFAULT_INNER_SECTION_COLUMNS = DEFAULT_INNER_SECTION_COLUMNS;
		module.exports.DEFAULT_MIN_COLUMN_SIZE = DEFAULT_MIN_COLUMN_SIZE;
		module.exports.DEFAULT_MAX_COLUMNS = DEFAULT_MAX_COLUMNS;
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/column-empty.js
	var require_column_empty = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-empty-preview",
			className: "elementor-empty-view",
			events: { click: "onClickAdd" },
			behaviors: function behaviors() {
				return { contextMenu: {
					behaviorClass: require_context_menu(),
					groups: this.getContextMenuGroups()
				} };
			},
			getContextMenuGroups: function getContextMenuGroups() {
				var _this = this;
				return [{
					name: "general",
					actions: [{
						name: "paste",
						title: (0, _wordpress_i18n.__)("Paste", "elementor"),
						isEnabled: function isEnabled() {
							return $e.components.get("document/elements").utils.isPasteEnabled(_this._parent.getContainer());
						},
						callback: function callback() {
							return $e.run("document/ui/paste", { container: _this._parent.getContainer() });
						}
					}]
				}];
			},
			onClickAdd: function onClickAdd() {
				$e.route("panel/elements/categories");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/behaviors/column-resizable.js
	var require_column_resizable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ResizableBehavior = Marionette.Behavior.extend({
			defaults: { handles: elementorCommon.config.isRTL ? "w" : "e" },
			events: {
				resizestart: "onResizeStart",
				resizestop: "onResizeStop",
				resize: "onResize"
			},
			initialize: function initialize() {
				Marionette.Behavior.prototype.initialize.apply(this, arguments);
				this.listenTo(elementor.channels.dataEditMode, "switch", this.onEditModeSwitched);
			},
			active: function active() {
				if (!elementor.userCan("design")) return;
				this.deactivate();
				var options = _.clone(this.options);
				delete options.behaviorClass;
				var $childViewContainer = this.getChildViewContainer();
				var resizableOptions = _.extend({}, options);
				$childViewContainer.resizable(resizableOptions);
			},
			deactivate: function deactivate() {
				if (this.getChildViewContainer().resizable("instance")) this.getChildViewContainer().resizable("destroy");
			},
			onEditModeSwitched: function onEditModeSwitched(activeMode) {
				if ("edit" === activeMode) this.active();
				else this.deactivate();
			},
			onRender: function onRender() {
				var self = this;
				_.defer(function() {
					self.onEditModeSwitched(elementor.channels.dataEditMode.request("activeMode"));
				});
			},
			onDestroy: function onDestroy() {
				this.deactivate();
			},
			onResizeStart: function onResizeStart(event) {
				event.stopPropagation();
				this.view.$el.data("originalWidth", this.view.el.getBoundingClientRect().width);
				this.view.triggerMethod("request:resize:start", event);
			},
			onResizeStop: function onResizeStop(event) {
				event.stopPropagation();
				this.view.triggerMethod("request:resize:stop");
			},
			onResize: function onResize(event, ui) {
				event.stopPropagation();
				this.view.triggerMethod("request:resize", ui, event);
			},
			getChildViewContainer: function getChildViewContainer() {
				return this.$el;
			}
		});
		module.exports = ResizableBehavior;
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/column.js
	var require_column = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var import_section$4 = /* @__PURE__ */ __toESM(require_section$1());
		var BaseElementView = require_base$2();
		var ColumnEmptyView = require_column_empty();
		var ColumnView = BaseElementView.extend({
			template: Marionette.TemplateCache.get("#tmpl-elementor-column-content"),
			emptyView: ColumnEmptyView,
			childViewContainer: "> .elementor-widget-wrap",
			toggleEditTools: true,
			behaviors: function behaviors() {
				var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments);
				_.extend(behaviors, {
					Sortable: {
						behaviorClass: require_sortable(),
						elChildType: "widget"
					},
					Resizable: { behaviorClass: require_column_resizable() }
				});
				return elementor.hooks.applyFilters("elements/column/behaviors", behaviors, this);
			},
			className: function className() {
				var classes = BaseElementView.prototype.className.apply(this, arguments);
				var type = this.isInner() ? "inner" : "top";
				return classes + " elementor-column elementor-" + type + "-column";
			},
			tagName: function tagName() {
				return this.model.getSetting("html_tag") || "div";
			},
			ui: function ui() {
				var ui = BaseElementView.prototype.ui.apply(this, arguments);
				ui.columnInner = "> .elementor-widget-wrap";
				ui.percentsTooltip = "> .elementor-element-overlay .elementor-column-percents-tooltip";
				return ui;
			},
			getEditButtons: function getEditButtons() {
				var elementData = elementor.getElementData(this.model);
				var editTools = {};
				editTools.edit = {
					title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Edit %s", "elementor"), elementData.title),
					icon: "column"
				};
				if (elementor.getPreferences("edit_buttons")) {
					editTools.duplicate = {
						title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Duplicate %s", "elementor"), elementData.title),
						icon: "clone"
					};
					editTools.add = {
						title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Add %s", "elementor"), elementData.title),
						icon: "plus"
					};
				}
				return editTools;
			},
			initialize: function initialize() {
				BaseElementView.prototype.initialize.apply(this, arguments);
				this.model.get("editSettings").set("defaultEditRoute", "layout");
			},
			attachElContent: function attachElContent() {
				BaseElementView.prototype.attachElContent.apply(this, arguments);
				var $tooltip = jQuery("<div>", { class: "elementor-column-percents-tooltip" });
				this.$el.children(".elementor-element-overlay").append($tooltip);
			},
			getContextMenuGroups: function getContextMenuGroups() {
				var self = this;
				var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments);
				var generalGroupIndex = groups.indexOf(_.findWhere(groups, { name: "general" }));
				groups.splice(generalGroupIndex + 1, 0, {
					name: "addNew",
					actions: [{
						name: "addNew",
						icon: "eicon-plus",
						title: (0, _wordpress_i18n.__)("Add New Column", "elementor"),
						callback: this.addNewColumn.bind(this),
						isEnabled: function isEnabled() {
							return self.model.collection.length < import_section$4.DEFAULT_MAX_COLUMNS && !elementor.selection.isMultiple();
						}
					}]
				});
				return groups;
			},
			isDroppingAllowed: function isDroppingAllowed() {
				if (!this.getContainer().isEditable()) return false;
				var elementView = elementor.channels.panelElements.request("element:selected");
				if (!elementView) return false;
				var elType = elementView.model.get("elType");
				if ("container" === elType) return true;
				if ("section" === elType) return !this.isInner();
				return "widget" === elType;
			},
			getPercentsForDisplay: function getPercentsForDisplay() {
				return (+this.model.getSetting("_inline_size") || this.getPercentSize()).toFixed(1) + "%";
			},
			changeSizeUI: function changeSizeUI() {
				var self = this;
				var columnSize = self.model.getSetting("_column_size");
				self.$el.attr("data-col", columnSize);
				_.defer(function() {
					if (self.ui.percentsTooltip) self.ui.percentsTooltip.text(self.getPercentsForDisplay());
				});
			},
			getPercentSize: function getPercentSize(size) {
				if (!size) size = this.el.getBoundingClientRect().width;
				return +(size / this.$el.parent().width() * 100).toFixed(3);
			},
			getSortableOptions: function getSortableOptions() {
				return {
					connectWith: ".elementor-widget-wrap",
					items: "> .elementor-element"
				};
			},
			changeChildContainerClasses: function changeChildContainerClasses() {
				var emptyClass = "elementor-element-empty";
				var populatedClass = "elementor-element-populated";
				if (this.ui.columnInner) if (this.collection.isEmpty()) this.ui.columnInner.removeClass(populatedClass).addClass(emptyClass);
				else this.ui.columnInner.removeClass(emptyClass).addClass(populatedClass);
			},
			addNewColumn: function addNewColumn() {
				$e.run("document/elements/create", {
					model: { elType: "column" },
					container: this.getContainer().parent,
					options: { at: this.$el.index() + 1 }
				});
			},
			onRender: function onRender() {
				var _this = this;
				var getDropIndex = function getDropIndex(side, event) {
					var newIndex = jQuery(event.currentTarget).index();
					if ("top" === side) newIndex--;
					return newIndex;
				};
				BaseElementView.prototype.onRender.apply(this, arguments);
				this.changeChildContainerClasses();
				this.changeSizeUI();
				this.$el.html5Droppable({
					items: " > .elementor-widget-wrap > .elementor-element, >.elementor-widget-wrap > .elementor-empty-view > .elementor-first-add",
					axis: ["vertical"],
					groups: ["elementor-element"],
					isDroppingAllowed: this.isDroppingAllowed.bind(this),
					currentElementClass: "elementor-html5dnd-current-element",
					placeholderClass: "elementor-sortable-placeholder elementor-widget-placeholder",
					hasDraggingOnChildClass: "elementor-dragging-on-child",
					onDropping: function onDropping(side, event) {
						elementor.getPreviewView().onPanelElementDragEnd();
						_this.onDrop(event, {
							side,
							at: getDropIndex(side, event)
						});
					}
				});
			},
			onAddButtonClick: function onAddButtonClick(event) {
				event.stopPropagation();
				this.addNewColumn();
			}
		});
		module.exports = ColumnView;
	}));

//#endregion
//#region assets/dev/js/editor/elements/types/column.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	var import_column = /* @__PURE__ */ __toESM(require_column());
	function _callSuper$290(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$290() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$290, "_callSuper");
	function _isNativeReflectConstruct$290() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$290 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$290, "_isNativeReflectConstruct");
	var Column = /*#__PURE__*/ function(_Base) {
		function Column() {
			_classCallCheck(this, Column);
			return _callSuper$290(this, Column, arguments);
		}
		_inherits(Column, _Base);
		return _createClass(Column, [
			{
				key: "getType",
				value: function getType() {
					return "column";
				}
			},
			{
				key: "getView",
				value: function getView() {
					return import_column.default;
				}
			},
			{
				key: "getModel",
				value: function getModel() {
					return Column$1;
				}
			}
		]);
	}(ElementBase);

//#endregion
//#region assets/dev/js/editor/elements/models/document.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_base_element_model();
	var import_element_types$1 = require_element_types();
	function _callSuper$289(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$289() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$289, "_callSuper");
	function _isNativeReflectConstruct$289() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$289 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$289, "_isNativeReflectConstruct");
	var Document$1 = /*#__PURE__*/ function(_BaseElementModel) {
		function Document() {
			_classCallCheck(this, Document);
			return _callSuper$289(this, Document, arguments);
		}
		_inherits(Document, _BaseElementModel);
		return _createClass(Document, [{
			key: "isValidChild",
			value: function isValidChild(childModel) {
				var childElType = childModel.get("elType");
				return (0, import_element_types$1.getAllElementTypes)().includes(childElType);
			}
		}]);
	}(BaseElementModel);

//#endregion
//#region assets/dev/js/editor/elements/types/document.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_element_base();
	function _callSuper$288(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$288() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$288, "_callSuper");
	function _isNativeReflectConstruct$288() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$288 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$288, "_isNativeReflectConstruct");
	var Document = /*#__PURE__*/ function(_Base) {
		function Document() {
			_classCallCheck(this, Document);
			return _callSuper$288(this, Document, arguments);
		}
		_inherits(Document, _Base);
		return _createClass(Document, [{
			key: "getType",
			value: function getType() {
				return "document";
			}
		}, {
			key: "getModel",
			value: function getModel() {
				return Document$1;
			}
		}]);
	}(ElementBase);

//#endregion
//#region assets/dev/js/editor/elements/models/section.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$287(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$287() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$287, "_callSuper");
	function _isNativeReflectConstruct$287() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$287 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$287, "_isNativeReflectConstruct");
	/**
	* @typedef {import('../../../editor/elements/models/base-element-model')} BaseModel
	*/
	var Section$1 = /*#__PURE__*/ function(_ElementModel) {
		function Section() {
			_classCallCheck(this, Section);
			return _callSuper$287(this, Section, arguments);
		}
		_inherits(Section, _ElementModel);
		return _createClass(Section, [{
			key: "isValidChild",
			value: function isValidChild(childModel) {
				return "column" === childModel.get("elType");
			}
		}]);
	}(import_element$1.default);

//#endregion
//#region assets/dev/js/editor/elements/types/section.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_element_base();
	var import_section$3 = /* @__PURE__ */ __toESM(require_section$1());
	function _callSuper$286(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$286() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$286, "_callSuper");
	function _isNativeReflectConstruct$286() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$286 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$286, "_isNativeReflectConstruct");
	var Section = /*#__PURE__*/ function(_Base) {
		function Section() {
			_classCallCheck(this, Section);
			return _callSuper$286(this, Section, arguments);
		}
		_inherits(Section, _Base);
		return _createClass(Section, [
			{
				key: "getType",
				value: function getType() {
					return "section";
				}
			},
			{
				key: "getView",
				value: function getView() {
					return import_section$3.default;
				}
			},
			{
				key: "getModel",
				value: function getModel() {
					return Section$1;
				}
			}
		]);
	}(ElementBase);

//#endregion
//#region assets/dev/js/editor/elements/types/inner-section.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$285(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$285() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$285, "_callSuper");
	function _isNativeReflectConstruct$285() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$285 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$285, "_isNativeReflectConstruct");
	var InnerSection = /*#__PURE__*/ function(_Section) {
		function InnerSection() {
			_classCallCheck(this, InnerSection);
			return _callSuper$285(this, InnerSection, arguments);
		}
		_inherits(InnerSection, _Section);
		return _createClass(InnerSection, [{
			key: "getType",
			value: function getType() {
				return "inner-section";
			}
		}]);
	}(Section);

//#endregion
//#region assets/dev/js/editor/elements/models/widget.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$284(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$284() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$284, "_callSuper");
	function _isNativeReflectConstruct$284() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$284 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$284, "_isNativeReflectConstruct");
	var Widget$3 = /*#__PURE__*/ function(_ElementModel) {
		function Widget() {
			_classCallCheck(this, Widget);
			return _callSuper$284(this, Widget, arguments);
		}
		_inherits(Widget, _ElementModel);
		return _createClass(Widget, [{
			key: "isValidChild",
			value: function isValidChild() {
				return false;
			}
		}]);
	}(import_element$1.default);

//#endregion
//#region assets/dev/js/editor/elements/views/behaviors/widget-draggable.js
	function _callSuper$283(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$283() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$283() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$283 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$32(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var _default$27;
	var init_widget_draggable = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		__name(_callSuper$283, "_callSuper");
		__name(_isNativeReflectConstruct$283, "_isNativeReflectConstruct");
		__name(_superPropGet$32, "_superPropGet");
		_default$27 = /*#__PURE__*/ function(_Marionette$Behavior) {
			function _default() {
				_classCallCheck(this, _default);
				return _callSuper$283(this, _default, arguments);
			}
			_inherits(_default, _Marionette$Behavior);
			return _createClass(_default, [
				{
					key: "events",
					value: function events() {
						return {
							dragstart: "onDragStart",
							dragstop: "onDragStop"
						};
					}
				},
				{
					key: "initialize",
					value: function initialize() {
						_superPropGet$32(_default, "initialize", this, 3)([]);
						this.listenTo(elementor.channels.dataEditMode, "switch", this.toggle);
						this.view.options.draggable = this;
						this.isActive = false;
					}
				},
				{
					key: "activate",
					value: function activate() {
						this.isActive = true;
						this.$el.draggable({ addClasses: false });
					}
				},
				{
					key: "deactivate",
					value: function deactivate() {
						if (!this.$el.draggable("instance")) return;
						this.isActive = false;
						this.$el.draggable("destroy");
					}
				},
				{
					key: "toggle",
					value: function toggle() {
						var isAbsolute = this.view.getEditModel().getSetting("_position");
						this.deactivate();
						if (isAbsolute && this.view.getContainer().isDesignable()) this.activate();
					}
				},
				{
					key: "onRender",
					value: function onRender() {
						var _this = this;
						_.defer(function() {
							return _this.toggle();
						});
					}
				},
				{
					key: "onDestroy",
					value: function onDestroy() {
						this.deactivate();
					}
				},
				{
					key: "onDragStart",
					value: function onDragStart(event) {
						event.stopPropagation();
						this.view.model.trigger("request:edit");
					}
				},
				{
					key: "onDragStop",
					value: function onDragStop(event, ui) {
						var _this2 = this;
						event.stopPropagation();
						var currentDeviceMode = elementorFrontend.getCurrentDeviceMode();
						var deviceSuffix = "desktop" === currentDeviceMode ? "" : "_" + currentDeviceMode;
						var editModel = this.view.getEditModel();
						var hOrientation = editModel.getSetting("_offset_orientation_h");
						var vOrientation = editModel.getSetting("_offset_orientation_v");
						var settingToChange = {};
						var isRTL = elementorFrontend.config.is_rtl;
						var parentWidth = this.$el.offsetParent().width();
						var elementWidth = this.$el.outerWidth(true);
						var left = ui.position.left;
						var right = parentWidth - left - elementWidth;
						var xPos = isRTL ? right : left;
						var yPos = ui.position.top;
						var offsetX = "_offset_x";
						var offsetY = "_offset_y";
						if ("end" === hOrientation) {
							xPos = parentWidth - xPos - elementWidth;
							offsetX = "_offset_x_end";
						}
						var offsetXUnit = editModel.getSetting(offsetX + deviceSuffix).unit;
						xPos = elementor.helpers.elementSizeToUnit(this.$el, xPos, offsetXUnit);
						var parentHeight = this.$el.offsetParent().height();
						var elementHeight = this.$el.outerHeight(true);
						if ("end" === vOrientation) {
							yPos = parentHeight - yPos - elementHeight;
							offsetY = "_offset_y_end";
						}
						var offsetYUnit = editModel.getSetting(offsetY + deviceSuffix).unit;
						yPos = elementor.helpers.elementSizeToUnit(this.$el, yPos, offsetYUnit);
						settingToChange[offsetX + deviceSuffix] = {
							size: xPos,
							unit: offsetXUnit
						};
						settingToChange[offsetY + deviceSuffix] = {
							size: yPos,
							unit: offsetYUnit
						};
						$e.run("document/elements/settings", {
							container: this.view.container,
							settings: settingToChange,
							options: { external: true }
						});
						setTimeout(function() {
							_this2.$el.css({
								top: "",
								left: "",
								right: "",
								bottom: "",
								width: "",
								height: ""
							});
						}, 250);
					}
				}
			]);
		}(Marionette.Behavior);
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/behaviors/widget-resizeable.js
	function ownKeys$16(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$16(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$16(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$16(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function _callSuper$282(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$282() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$282() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$282 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$31(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var _default$26;
	var init_widget_resizeable = __esmMin((() => {
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		__name(ownKeys$16, "ownKeys");
		__name(_objectSpread$16, "_objectSpread");
		__name(_callSuper$282, "_callSuper");
		__name(_isNativeReflectConstruct$282, "_isNativeReflectConstruct");
		__name(_superPropGet$31, "_superPropGet");
		_default$26 = /*#__PURE__*/ function(_Marionette$Behavior) {
			function _default() {
				_classCallCheck(this, _default);
				return _callSuper$282(this, _default, arguments);
			}
			_inherits(_default, _Marionette$Behavior);
			return _createClass(_default, [
				{
					key: "events",
					value: function events() {
						return {
							resizestart: "onResizeStart",
							resizestop: "onResizeStop",
							resize: "onResize"
						};
					}
				},
				{
					key: "initialize",
					value: function initialize() {
						_superPropGet$31(_default, "initialize", this, 3)([]);
						this.listenTo(elementor.channels.dataEditMode, "switch", this.toggle);
						this.view.options.resizeable = this;
					}
				},
				{
					key: "getOptions",
					value: function getOptions() {
						var handles = "e, w";
						if (this.isContainerItem()) handles = elementorCommon.config.isRTL ? "w" : "e";
						return { handles };
					}
				},
				{
					key: "activate",
					value: function activate() {
						this.$el.resizable(this.getOptions());
					}
				},
				{
					key: "deactivate",
					value: function deactivate() {
						if (!this.$el.resizable("instance")) return;
						this.$el.resizable("destroy");
					}
				},
				{
					key: "toggle",
					value: function toggle() {
						this.deactivate();
						if (this.view.container.isDesignable() && !this.view.container.isGridContainer()) this.activate();
					}
				},
				{
					key: "isContainer",
					value: function isContainer() {
						return "container" === this.view.model.get("elType");
					}
				},
				{
					key: "isContainerItem",
					value: function isContainerItem() {
						var _this$view$getContain;
						return "container" === ((_this$view$getContain = this.view.getContainer().parent) === null || _this$view$getContain === void 0 || (_this$view$getContain = _this$view$getContain.model) === null || _this$view$getContain === void 0 ? void 0 : _this$view$getContain.get("elType"));
					}
				},
				{
					key: "isContainerActive",
					value: function isContainerActive() {
						return !!elementorCommon.config.experimentalFeatures.container;
					}
				},
				{
					key: "getWidthKey",
					value: function getWidthKey() {
						return this.isContainer() ? "width" : "_element_custom_width";
					}
				},
				{
					key: "getDeviceSetting",
					value: function getDeviceSetting(setting) {
						var currentDeviceMode = elementorFrontend.getCurrentDeviceMode();
						return setting + ("desktop" === currentDeviceMode ? "" : "_" + currentDeviceMode);
					}
				},
				{
					key: "getSetting",
					value: function getSetting(setting) {
						return this.view.getEditModel().getSetting(setting);
					}
				},
				{
					key: "onRender",
					value: function onRender() {
						var _this = this;
						_.defer(function() {
							return _this.toggle();
						});
					}
				},
				{
					key: "onDestroy",
					value: function onDestroy() {
						this.deactivate();
					}
				},
				{
					key: "onResizeStart",
					value: function onResizeStart(event) {
						event.stopPropagation();
						if (this.view.onResizeStart) this.view.onResizeStart(event);
						if (!this.isContainerItem()) this.view.model.trigger("request:edit");
					}
				},
				{
					key: "onResizeStop",
					value: function onResizeStop(event, ui) {
						var _this2 = this;
						event.stopPropagation();
						if (this.view.onResizeStop) this.view.onResizeStop(event, ui);
						var elementWidthSettingKey = this.getDeviceSetting("_element_width");
						var widthSettingKey = this.getDeviceSetting(this.getWidthKey());
						var unit = this.getSetting(widthSettingKey).unit;
						var width = elementor.helpers.elementSizeToUnit(this.$el, ui.size.width, unit);
						var settingToChange = _objectSpread$16(_objectSpread$16(_objectSpread$16({}, this.isContainerActive() ? { _flex_size: "none" } : {}), this.isContainer() ? { content_width: "full" } : {}), {}, _defineProperty(_defineProperty({}, elementWidthSettingKey, "initial"), widthSettingKey, {
							unit,
							size: width
						}));
						$e.run("document/elements/settings", {
							container: this.view.container,
							settings: settingToChange,
							options: { external: true }
						});
						setTimeout(function() {
							_this2.$el.css({
								width: "",
								height: "",
								left: "",
								"flex-shrink": "",
								"flex-grow": "",
								"flex-basis": ""
							});
						});
					}
				},
				{
					key: "onResize",
					value: function onResize(event, ui) {
						event.stopPropagation();
						if (this.view.onResize) this.view.onResize(event, ui);
						if (!this.isContainerItem()) return;
						this.$el.css({
							left: "",
							right: "",
							"flex-shrink": 0,
							"flex-grow": 0
						});
					}
				}
			]);
		}(Marionette.Behavior);
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/base-widget.js
	var require_base_widget = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		function _callSuper(t, o, e) {
			return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
		}
		function _isNativeReflectConstruct() {
			try {
				var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
			} catch (t) {}
			return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
				return !!t;
			})();
		}
		function _superPropGet(t, o, e, r) {
			var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
			return 2 & r && "function" == typeof p ? function(t) {
				return p.apply(e, t);
			} : p;
		}
		/**
		* @augments BaseElementView
		*/
		var BaseWidgetView = /*#__PURE__*/ function(_BaseElementView) {
			function BaseWidgetView() {
				_classCallCheck(this, BaseWidgetView);
				return _callSuper(this, BaseWidgetView, arguments);
			}
			_inherits(BaseWidgetView, _BaseElementView);
			return _createClass(BaseWidgetView, [
				{
					key: "initialize",
					value: function initialize(options) {
						var _this = this;
						_superPropGet(BaseWidgetView, "initialize", this, 3)([options]);
						var editModel = this.getEditModel();
						editModel.on({
							"before:remote:render": this.onModelBeforeRemoteRender.bind(this),
							"remote:render": this.onModelRemoteRender.bind(this),
							"settings:loaded": function settingsLoaded() {
								return setTimeout(_this.render.bind(_this));
							}
						});
						if ("remote" === this.getTemplateType() && !this.getEditModel().getHtmlCache()) editModel.renderRemoteServer();
						var onRenderMethod = this.onRender;
						this.render = _.throttle(this.render, 300);
						this.onRender = function() {
							_.defer(onRenderMethod.bind(this));
						};
					}
				},
				{
					key: "className",
					value: function className() {
						return _superPropGet(BaseWidgetView, "className", this, 3)([]) + " elementor-widget " + elementor.getElementData(this.getEditModel()).html_wrapper_class;
					}
				},
				{
					key: "normalizeAttributes",
					value: function normalizeAttributes() {
						var editModel = this.getEditModel();
						var skinType = editModel.getSetting("_skin") || "default";
						this.$el.attr("data-widget_type", editModel.get("widgetType") + "." + skinType).removeClass("elementor-widget-empty").children(".elementor-widget-empty-icon").remove();
					}
				},
				{
					key: "getTemplate",
					value: function getTemplate() {
						var editModel = this.getEditModel();
						if ("remote" !== this.getTemplateType()) return Marionette.TemplateCache.get("#tmpl-elementor-" + editModel.get("widgetType") + "-content");
						return _.template("");
					}
				},
				{
					key: "getEditButtons",
					value: function getEditButtons() {
						var elementData = elementor.getElementData(this.model);
						var editTools = {};
						editTools.edit = {
							title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Edit %s", "elementor"), elementData.title),
							icon: "edit"
						};
						if (elementor.getPreferences("edit_buttons")) editTools.duplicate = {
							title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Duplicate %s", "elementor"), elementData.title),
							icon: "clone"
						};
						return editTools;
					}
				},
				{
					key: "getRepeaterSettingKey",
					value: function getRepeaterSettingKey(settingKey, repeaterKey, repeaterItemIndex) {
						return [
							repeaterKey,
							repeaterItemIndex,
							settingKey
						].join(".");
					}
				},
				{
					key: "onModelBeforeRemoteRender",
					value: function onModelBeforeRemoteRender() {
						this.$el.addClass("elementor-loading");
					}
				},
				{
					key: "onModelRemoteRender",
					value: function onModelRemoteRender() {
						if (this.isDestroyed) return;
						this.$el.removeClass("elementor-loading");
						if (this.getContainer().document.id !== elementor.documents.getCurrent().id) return;
						this.render();
					}
				},
				{
					key: "onBeforeDestroy",
					value: function onBeforeDestroy() {
						elementor.$previewContents.find("#elementor-style-" + this.model.get("id")).remove();
					}
				}
			]);
		}(require_base$2());
		module.exports = BaseWidgetView;
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/behaviors/inline-editing.js
	var require_inline_editing = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		var InlineEditingBehavior = Marionette.Behavior.extend({
			editing: false,
			$currentEditingArea: null,
			ui: function ui() {
				return { inlineEditingArea: "." + this.getOption("inlineEditingClass") };
			},
			events: function events() {
				return {
					"click @ui.inlineEditingArea": "onInlineEditingClick",
					"input @ui.inlineEditingArea": "onInlineEditingUpdate"
				};
			},
			initialize: function initialize() {
				this.onInlineEditingBlur = this.onInlineEditingBlur.bind(this);
			},
			getEditingSettingKey: function getEditingSettingKey() {
				return this.$currentEditingArea.data().elementorSettingKey;
			},
			startEditing: function startEditing($element) {
				if (this.editing || !this.view.container.isEditable() || this.view.model.isRemoteRequestActive()) return;
				var elementorSettingKey = $element.data().elementorSettingKey;
				var settingKey = elementorSettingKey;
				var keyParts = elementorSettingKey.split(".");
				var isRepeaterKey = 3 === keyParts.length;
				var settingsModel = this.view.getEditModel().get("settings");
				if (isRepeaterKey) {
					settingsModel = settingsModel.get(keyParts[0]).models[keyParts[1]];
					settingKey = keyParts[2];
				}
				var dynamicSettings = settingsModel.get("__dynamic__");
				if (dynamicSettings && dynamicSettings[settingKey]) return;
				this.$currentEditingArea = $element;
				var elementDataToolbar = this.$currentEditingArea.data().elementorInlineEditingToolbar;
				var mode = "advanced" === elementDataToolbar ? "advanced" : "basic";
				var editModel = this.view.getEditModel();
				var inlineEditingConfig = elementor.config.inlineEditing;
				var contentHTML = editModel.getSetting(this.getEditingSettingKey());
				if ("advanced" === mode) contentHTML = wp.editor.autop(contentHTML);
				/**
				*  Replace rendered content with unrendered content.
				*  This way the user can edit the original content, before shortcodes and oEmbeds are fired.
				*/
				this.$currentEditingArea.html(contentHTML);
				var ElementorInlineEditor = elementorFrontend.elements.window.ElementorInlineEditor;
				this.editing = true;
				this.view.allowRender = false;
				this.view.model.setHtmlCache("");
				this.editor = new ElementorInlineEditor({
					linksInNewWindow: true,
					stay: false,
					editor: this.$currentEditingArea[0],
					mode,
					list: "none" === elementDataToolbar ? [] : inlineEditingConfig.toolbar[elementDataToolbar || "basic"],
					cleanAttrs: [
						"id",
						"class",
						"name"
					],
					placeholder: (0, _wordpress_i18n.__)("Type Here", "elementor") + "...",
					toolbarIconsPrefix: "eicon-editor-",
					toolbarIconsDictionary: {
						externalLink: { className: "eicon-editor-external-link" },
						list: { className: "eicon-editor-list-ul" },
						insertOrderedList: { className: "eicon-editor-list-ol" },
						insertUnorderedList: { className: "eicon-editor-list-ul" },
						createlink: { className: "eicon-editor-link" },
						unlink: { className: "eicon-editor-unlink" },
						blockquote: { className: "eicon-editor-quote" },
						p: { className: "eicon-editor-paragraph" },
						pre: { className: "eicon-editor-code" }
					}
				});
				/**
				* When the edit area is not focused (on blur) the inline editing is stopped.
				* In order to prevent blur event when the user clicks on toolbar buttons while editing the
				* content, we need the prevent their mousedown event. This also prevents the blur event.
				*/
				jQuery(this.editor._menu).children().on("mousedown", function(event) {
					event.preventDefault();
				});
				this.$currentEditingArea.on("blur", this.onInlineEditingBlur);
				elementorCommon.elements.$body.on("mousedown", this.onInlineEditingBlur);
			},
			stopEditing: function stopEditing() {
				this.editing = false;
				this.$currentEditingArea.off("blur", this.onInlineEditingBlur);
				elementorCommon.elements.$body.off("mousedown", this.onInlineEditingBlur);
				this.editor.destroy();
				this.view.allowRender = true;
				/**
				* Inline editing has several toolbar types (advanced, basic and none). When editing is stopped,
				* we need to rerender the area. To prevent multiple renderings, we will render only areas that
				* use advanced toolbars.
				*/
				if ("advanced" === this.$currentEditingArea.data().elementorInlineEditingToolbar) this.view.getEditModel().renderRemoteServer();
			},
			onInlineEditingClick: function onInlineEditingClick(event) {
				var self = this;
				var $targetElement = jQuery(event.currentTarget);
				/**
				* When starting inline editing we need to set timeout, this allows other inline items to finish
				* their operations before focusing new editing area.
				*/
				setTimeout(function() {
					self.startEditing($targetElement);
				}, 30);
			},
			onInlineEditingBlur: function onInlineEditingBlur(event) {
				var _this = this;
				if ("mousedown" === event.type) {
					this.stopEditing();
					return;
				}
				/**
				* When exiting inline editing we need to set timeout, to make sure there is no focus on internal
				* toolbar action. This prevent the blur and allows the user to continue the inline editing.
				*/
				setTimeout(function() {
					var selection = elementorFrontend.elements.window.getSelection();
					if (jQuery(selection.focusNode).closest(".pen-input-wrapper").length) return;
					_this.stopEditing();
				}, 20);
			},
			onInlineEditingUpdate: function onInlineEditingUpdate() {
				var key = this.getEditingSettingKey();
				var container = this.view.getContainer();
				var parts = key.split(".");
				if (3 === parts.length) {
					var repeaterId = parts[0];
					var repeater = container.repeaters[repeaterId];
					var repeaterChildIndex = parts[1];
					container = repeater.children[repeaterChildIndex];
					key = parts[2];
				}
				$e.run("document/elements/settings", {
					container,
					settings: _defineProperty({}, key, this.editor.getContent()),
					options: { external: true }
				});
			}
		});
		module.exports = InlineEditingBehavior;
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/widget.js
	var require_widget = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_widget_draggable();
		init_widget_resizeable();
		var import_base_widget = /* @__PURE__ */ __toESM(require_base_widget());
		var BaseElementView = require_base$2();
		var WidgetView = import_base_widget.default.extend({
			_templateType: null,
			toggleEditTools: true,
			events: function events() {
				var events = import_base_widget.default.prototype.events.apply(this, arguments);
				events.click = "onClickEdit";
				return events;
			},
			behaviors: function behaviors() {
				var behaviors = import_base_widget.default.prototype.behaviors.apply(this, arguments);
				_.extend(behaviors, {
					InlineEditing: {
						behaviorClass: require_inline_editing(),
						inlineEditingClass: "elementor-inline-editing"
					},
					Draggable: { behaviorClass: _default$27 },
					Resizable: { behaviorClass: _default$26 }
				});
				return elementor.hooks.applyFilters("elements/widget/behaviors", behaviors, this);
			},
			getContextMenuGroups: function getContextMenuGroups() {
				var _this = this;
				var groups = import_base_widget.default.prototype.getContextMenuGroups.apply(this, arguments);
				var transferGroupIndex = groups.indexOf(_.findWhere(groups, { name: "clipboard" }));
				groups.splice(transferGroupIndex + 1, 0, {
					name: "save",
					actions: [{
						name: "save",
						title: (0, _wordpress_i18n.__)("Save as a global", "elementor"),
						shortcut: jQuery("<i>", { class: "eicon-pro-icon" }),
						promotionURL: "https://go.elementor.com/go-pro-global-widget-context-menu/",
						isEnabled: function isEnabled() {
							return "global" !== _this.options.model.get("widgetType") && !elementor.selection.isMultiple();
						}
					}]
				});
				return groups;
			},
			render: function render() {
				if (this.model.isRemoteRequestActive()) {
					this.handleEmptyWidget();
					this.$el.addClass("elementor-element");
					return;
				}
				if (this.isDestroyed) return;
				BaseElementView.prototype.render.apply(this, arguments);
			},
			handleEmptyWidget: function handleEmptyWidget() {
				this.$el.addClass("elementor-widget-empty").append("<i class=\"elementor-widget-empty-icon " + this.getEditModel().getIcon() + "\"></i>");
			},
			getTemplateType: function getTemplateType() {
				if (null === this._templateType) {
					var editModel = this.getEditModel();
					var $template = jQuery("#tmpl-elementor-" + editModel.get("widgetType") + "-content");
					this._templateType = $template.length ? "js" : "remote";
				}
				return this._templateType;
			},
			getHTMLContent: function getHTMLContent(html) {
				return this.getEditModel().getHtmlCache() || html;
			},
			attachElContent: function attachElContent(html) {
				var _this2 = this;
				_.defer(function() {
					elementorFrontend.elements.window.jQuery(_this2.el).empty().append(_this2.getHandlesOverlay(), _this2.getHTMLContent(html));
					_this2.bindUIElements();
				});
				return this;
			},
			addInlineEditingAttributes: function addInlineEditingAttributes(key, toolbar) {
				this.addRenderAttribute(key, {
					class: "elementor-inline-editing",
					"data-elementor-setting-key": key
				});
				if (toolbar) this.addRenderAttribute(key, { "data-elementor-inline-editing-toolbar": toolbar });
			},
			onRender: function onRender() {
				var self = this;
				import_base_widget.default.prototype.onRender.apply(self, arguments);
				this.normalizeAttributes();
				self.$el.imagesLoaded().always(function() {
					setTimeout(function() {
						var $widgetContainer = self.$el.children(".elementor-widget-container").length ? self.$el.children(".elementor-widget-container") : self.$el;
						if (self.shouldGetEmptyView($widgetContainer)) self.handleEmptyWidget();
					}, 200);
				});
			},
			shouldGetEmptyView: function shouldGetEmptyView($widgetContainer) {
				if (!$widgetContainer.is(":visible")) return false;
				var hasZeroHeight = !$widgetContainer.outerHeight();
				var isEmpty = $widgetContainer.is(":empty");
				return hasZeroHeight || isEmpty;
			},
			onClickEdit: function onClickEdit(event) {
				var _this$container;
				if ((_this$container = this.container) !== null && _this$container !== void 0 && _this$container.isEditable()) this.onEditButtonClick(event);
			}
		});
		module.exports = WidgetView;
	}));

//#endregion
//#region assets/dev/js/editor/elements/types/widget.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_element_base();
	var import_widget = /* @__PURE__ */ __toESM(require_widget());
	function _callSuper$281(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$281() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$281, "_callSuper");
	function _isNativeReflectConstruct$281() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$281 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$281, "_isNativeReflectConstruct");
	var Widget$2 = /*#__PURE__*/ function(_Base) {
		function Widget() {
			_classCallCheck(this, Widget);
			return _callSuper$281(this, Widget, arguments);
		}
		_inherits(Widget, _Base);
		return _createClass(Widget, [
			{
				key: "getType",
				value: function getType() {
					return "widget";
				}
			},
			{
				key: "getView",
				value: function getView() {
					return import_widget.default;
				}
			},
			{
				key: "getModel",
				value: function getModel() {
					return Widget$3;
				}
			}
		]);
	}(ElementBase);

//#endregion
//#region assets/dev/js/editor/elements/types/index.js
	var types_exports = /* @__PURE__ */ __exportAll({
		Column: () => Column,
		Document: () => Document,
		InnerSection: () => InnerSection,
		Section: () => Section,
		Widget: () => Widget$2
	});

//#endregion
//#region node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js
/** @license React v16.13.1
	* react-is.development.js
	*
	* Copyright (c) Facebook, Inc. and its affiliates.
	*
	* This source code is licensed under the MIT license found in the
	* LICENSE file in the root directory of this source tree.
	*/
	var require_react_is_development = /* @__PURE__ */ __commonJSMin(((exports) => {
		(function() {
			"use strict";
			var hasSymbol = typeof Symbol === "function" && Symbol.for;
			var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103;
			var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106;
			var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107;
			var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108;
			var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114;
			var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109;
			var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110;
			var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111;
			var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111;
			var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112;
			var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113;
			var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120;
			var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115;
			var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116;
			var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121;
			var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117;
			var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118;
			var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119;
			function isValidElementType(type) {
				return typeof type === "string" || typeof type === "function" || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
			}
			function typeOf(object) {
				if (typeof object === "object" && object !== null) {
					var $$typeof = object.$$typeof;
					switch ($$typeof) {
						case REACT_ELEMENT_TYPE:
							var type = object.type;
							switch (type) {
								case REACT_ASYNC_MODE_TYPE:
								case REACT_CONCURRENT_MODE_TYPE:
								case REACT_FRAGMENT_TYPE:
								case REACT_PROFILER_TYPE:
								case REACT_STRICT_MODE_TYPE:
								case REACT_SUSPENSE_TYPE: return type;
								default:
									var $$typeofType = type && type.$$typeof;
									switch ($$typeofType) {
										case REACT_CONTEXT_TYPE:
										case REACT_FORWARD_REF_TYPE:
										case REACT_LAZY_TYPE:
										case REACT_MEMO_TYPE:
										case REACT_PROVIDER_TYPE: return $$typeofType;
										default: return $$typeof;
									}
							}
						case REACT_PORTAL_TYPE: return $$typeof;
					}
				}
			}
			var AsyncMode = REACT_ASYNC_MODE_TYPE;
			var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
			var ContextConsumer = REACT_CONTEXT_TYPE;
			var ContextProvider = REACT_PROVIDER_TYPE;
			var Element = REACT_ELEMENT_TYPE;
			var ForwardRef = REACT_FORWARD_REF_TYPE;
			var Fragment = REACT_FRAGMENT_TYPE;
			var Lazy = REACT_LAZY_TYPE;
			var Memo = REACT_MEMO_TYPE;
			var Portal = REACT_PORTAL_TYPE;
			var Profiler = REACT_PROFILER_TYPE;
			var StrictMode = REACT_STRICT_MODE_TYPE;
			var Suspense = REACT_SUSPENSE_TYPE;
			var hasWarnedAboutDeprecatedIsAsyncMode = false;
			function isAsyncMode(object) {
				if (!hasWarnedAboutDeprecatedIsAsyncMode) {
					hasWarnedAboutDeprecatedIsAsyncMode = true;
					console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");
				}
				return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
			}
			function isConcurrentMode(object) {
				return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
			}
			function isContextConsumer(object) {
				return typeOf(object) === REACT_CONTEXT_TYPE;
			}
			function isContextProvider(object) {
				return typeOf(object) === REACT_PROVIDER_TYPE;
			}
			function isElement(object) {
				return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
			}
			function isForwardRef(object) {
				return typeOf(object) === REACT_FORWARD_REF_TYPE;
			}
			function isFragment(object) {
				return typeOf(object) === REACT_FRAGMENT_TYPE;
			}
			function isLazy(object) {
				return typeOf(object) === REACT_LAZY_TYPE;
			}
			function isMemo(object) {
				return typeOf(object) === REACT_MEMO_TYPE;
			}
			function isPortal(object) {
				return typeOf(object) === REACT_PORTAL_TYPE;
			}
			function isProfiler(object) {
				return typeOf(object) === REACT_PROFILER_TYPE;
			}
			function isStrictMode(object) {
				return typeOf(object) === REACT_STRICT_MODE_TYPE;
			}
			function isSuspense(object) {
				return typeOf(object) === REACT_SUSPENSE_TYPE;
			}
			exports.AsyncMode = AsyncMode;
			exports.ConcurrentMode = ConcurrentMode;
			exports.ContextConsumer = ContextConsumer;
			exports.ContextProvider = ContextProvider;
			exports.Element = Element;
			exports.ForwardRef = ForwardRef;
			exports.Fragment = Fragment;
			exports.Lazy = Lazy;
			exports.Memo = Memo;
			exports.Portal = Portal;
			exports.Profiler = Profiler;
			exports.StrictMode = StrictMode;
			exports.Suspense = Suspense;
			exports.isAsyncMode = isAsyncMode;
			exports.isConcurrentMode = isConcurrentMode;
			exports.isContextConsumer = isContextConsumer;
			exports.isContextProvider = isContextProvider;
			exports.isElement = isElement;
			exports.isForwardRef = isForwardRef;
			exports.isFragment = isFragment;
			exports.isLazy = isLazy;
			exports.isMemo = isMemo;
			exports.isPortal = isPortal;
			exports.isProfiler = isProfiler;
			exports.isStrictMode = isStrictMode;
			exports.isSuspense = isSuspense;
			exports.isValidElementType = isValidElementType;
			exports.typeOf = typeOf;
		})();
	}));

//#endregion
//#region node_modules/prop-types/node_modules/react-is/index.js
	var require_react_is = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = require_react_is_development();
	}));

//#endregion
//#region node_modules/object-assign/index.js
/*
	object-assign
	(c) Sindre Sorhus
	@license MIT
	*/
	var require_object_assign = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var getOwnPropertySymbols = Object.getOwnPropertySymbols;
		var hasOwnProperty = Object.prototype.hasOwnProperty;
		var propIsEnumerable = Object.prototype.propertyIsEnumerable;
		function toObject(val) {
			if (val === null || val === void 0) throw new TypeError("Object.assign cannot be called with null or undefined");
			return Object(val);
		}
		function shouldUseNative() {
			try {
				if (!Object.assign) return false;
				var test1 = /* @__PURE__ */ new String("abc");
				test1[5] = "de";
				if (Object.getOwnPropertyNames(test1)[0] === "5") return false;
				var test2 = {};
				for (var i = 0; i < 10; i++) test2["_" + String.fromCharCode(i)] = i;
				if (Object.getOwnPropertyNames(test2).map(function(n) {
					return test2[n];
				}).join("") !== "0123456789") return false;
				var test3 = {};
				"abcdefghijklmnopqrst".split("").forEach(function(letter) {
					test3[letter] = letter;
				});
				if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") return false;
				return true;
			} catch (err) {
				return false;
			}
		}
		module.exports = shouldUseNative() ? Object.assign : function(target, source) {
			var from;
			var to = toObject(target);
			var symbols;
			for (var s = 1; s < arguments.length; s++) {
				from = Object(arguments[s]);
				for (var key in from) if (hasOwnProperty.call(from, key)) to[key] = from[key];
				if (getOwnPropertySymbols) {
					symbols = getOwnPropertySymbols(from);
					for (var i = 0; i < symbols.length; i++) if (propIsEnumerable.call(from, symbols[i])) to[symbols[i]] = from[symbols[i]];
				}
			}
			return to;
		};
	}));

//#endregion
//#region node_modules/prop-types/lib/ReactPropTypesSecret.js
/**
	* Copyright (c) 2013-present, Facebook, Inc.
	*
	* This source code is licensed under the MIT license found in the
	* LICENSE file in the root directory of this source tree.
	*/
	var require_ReactPropTypesSecret = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ReactPropTypesSecret = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
		module.exports = ReactPropTypesSecret;
	}));

//#endregion
//#region node_modules/prop-types/lib/has.js
	var require_has = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
	}));

//#endregion
//#region node_modules/prop-types/checkPropTypes.js
/**
	* Copyright (c) 2013-present, Facebook, Inc.
	*
	* This source code is licensed under the MIT license found in the
	* LICENSE file in the root directory of this source tree.
	*/
	var require_checkPropTypes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var printWarning = function() {};
		var ReactPropTypesSecret = require_ReactPropTypesSecret();
		var loggedTypeFailures = {};
		var has = require_has();
		printWarning = function(text) {
			var message = "Warning: " + text;
			if (typeof console !== "undefined") console.error(message);
			try {
				throw new Error(message);
			} catch (x) {}
		};
		/**
		* Assert that the values match with the type specs.
		* Error messages are memorized and will only be shown once.
		*
		* @param {object} typeSpecs Map of name to a ReactPropType
		* @param {object} values Runtime values that need to be type-checked
		* @param {string} location e.g. "prop", "context", "child context"
		* @param {string} componentName Name of the component for error messages.
		* @param {?Function} getStack Returns the component stack.
		* @private
		*/
		function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
			for (var typeSpecName in typeSpecs) if (has(typeSpecs, typeSpecName)) {
				var error;
				try {
					if (typeof typeSpecs[typeSpecName] !== "function") {
						var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
						err.name = "Invariant Violation";
						throw err;
					}
					error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
				} catch (ex) {
					error = ex;
				}
				if (error && !(error instanceof Error)) printWarning((componentName || "React class") + ": type specification of " + location + " `" + typeSpecName + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof error + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");
				if (error instanceof Error && !(error.message in loggedTypeFailures)) {
					loggedTypeFailures[error.message] = true;
					var stack = getStack ? getStack() : "";
					printWarning("Failed " + location + " type: " + error.message + (stack != null ? stack : ""));
				}
			}
		}
		/**
		* Resets warning cache when testing.
		*
		* @private
		*/
		checkPropTypes.resetWarningCache = function() {
			loggedTypeFailures = {};
		};
		module.exports = checkPropTypes;
	}));

//#endregion
//#region node_modules/prop-types/factoryWithTypeCheckers.js
/**
	* Copyright (c) 2013-present, Facebook, Inc.
	*
	* This source code is licensed under the MIT license found in the
	* LICENSE file in the root directory of this source tree.
	*/
	var require_factoryWithTypeCheckers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ReactIs = require_react_is();
		var assign = require_object_assign();
		var ReactPropTypesSecret = require_ReactPropTypesSecret();
		var has = require_has();
		var checkPropTypes = require_checkPropTypes();
		var printWarning = function() {};
		printWarning = function(text) {
			var message = "Warning: " + text;
			if (typeof console !== "undefined") console.error(message);
			try {
				throw new Error(message);
			} catch (x) {}
		};
		function emptyFunctionThatReturnsNull() {
			return null;
		}
		module.exports = function(isValidElement, throwOnDirectAccess) {
			var ITERATOR_SYMBOL = typeof Symbol === "function" && Symbol.iterator;
			var FAUX_ITERATOR_SYMBOL = "@@iterator";
			/**
			* Returns the iterator method function contained on the iterable object.
			*
			* Be sure to invoke the function with the iterable as context:
			*
			*     var iteratorFn = getIteratorFn(myIterable);
			*     if (iteratorFn) {
			*       var iterator = iteratorFn.call(myIterable);
			*       ...
			*     }
			*
			* @param {?object} maybeIterable
			* @return {?function}
			*/
			function getIteratorFn(maybeIterable) {
				var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
				if (typeof iteratorFn === "function") return iteratorFn;
			}
			/**
			* Collection of methods that allow declaration and validation of props that are
			* supplied to React components. Example usage:
			*
			*   var Props = require('ReactPropTypes');
			*   var MyArticle = React.createClass({
			*     propTypes: {
			*       // An optional string prop named "description".
			*       description: Props.string,
			*
			*       // A required enum prop named "category".
			*       category: Props.oneOf(['News','Photos']).isRequired,
			*
			*       // A prop named "dialog" that requires an instance of Dialog.
			*       dialog: Props.instanceOf(Dialog).isRequired
			*     },
			*     render: function() { ... }
			*   });
			*
			* A more formal specification of how these methods are used:
			*
			*   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
			*   decl := ReactPropTypes.{type}(.isRequired)?
			*
			* Each and every declaration produces a function with the same signature. This
			* allows the creation of custom validation functions. For example:
			*
			*  var MyLink = React.createClass({
			*    propTypes: {
			*      // An optional string or URI prop named "href".
			*      href: function(props, propName, componentName) {
			*        var propValue = props[propName];
			*        if (propValue != null && typeof propValue !== 'string' &&
			*            !(propValue instanceof URI)) {
			*          return new Error(
			*            'Expected a string or an URI for ' + propName + ' in ' +
			*            componentName
			*          );
			*        }
			*      }
			*    },
			*    render: function() {...}
			*  });
			*
			* @internal
			*/
			var ANONYMOUS = "<<anonymous>>";
			var ReactPropTypes = {
				array: createPrimitiveTypeChecker("array"),
				bigint: createPrimitiveTypeChecker("bigint"),
				bool: createPrimitiveTypeChecker("boolean"),
				func: createPrimitiveTypeChecker("function"),
				number: createPrimitiveTypeChecker("number"),
				object: createPrimitiveTypeChecker("object"),
				string: createPrimitiveTypeChecker("string"),
				symbol: createPrimitiveTypeChecker("symbol"),
				any: createAnyTypeChecker(),
				arrayOf: createArrayOfTypeChecker,
				element: createElementTypeChecker(),
				elementType: createElementTypeTypeChecker(),
				instanceOf: createInstanceTypeChecker,
				node: createNodeChecker(),
				objectOf: createObjectOfTypeChecker,
				oneOf: createEnumTypeChecker,
				oneOfType: createUnionTypeChecker,
				shape: createShapeTypeChecker,
				exact: createStrictShapeTypeChecker
			};
			/**
			* inlined Object.is polyfill to avoid requiring consumers ship their own
			* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
			*/
			function is(x, y) {
				if (x === y) return x !== 0 || 1 / x === 1 / y;
				else return x !== x && y !== y;
			}
			/**
			* We use an Error-like object for backward compatibility as people may call
			* PropTypes directly and inspect their output. However, we don't use real
			* Errors anymore. We don't inspect their stack anyway, and creating them
			* is prohibitively expensive if they are created too often, such as what
			* happens in oneOfType() for any type before the one that matched.
			*/
			function PropTypeError(message, data) {
				this.message = message;
				this.data = data && typeof data === "object" ? data : {};
				this.stack = "";
			}
			PropTypeError.prototype = Error.prototype;
			function createChainableTypeChecker(validate) {
				var manualPropTypeCallCache = {};
				var manualPropTypeWarningCount = 0;
				function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
					componentName = componentName || ANONYMOUS;
					propFullName = propFullName || propName;
					if (secret !== ReactPropTypesSecret) {
						if (throwOnDirectAccess) {
							var err = /* @__PURE__ */ new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");
							err.name = "Invariant Violation";
							throw err;
						} else if (typeof console !== "undefined") {
							var cacheKey = componentName + ":" + propName;
							if (!manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3) {
								printWarning("You are manually calling a React.PropTypes validation function for the `" + propFullName + "` prop on `" + componentName + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.");
								manualPropTypeCallCache[cacheKey] = true;
								manualPropTypeWarningCount++;
							}
						}
					}
					if (props[propName] == null) {
						if (isRequired) {
							if (props[propName] === null) return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required " + ("in `" + componentName + "`, but its value is `null`."));
							return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required in " + ("`" + componentName + "`, but its value is `undefined`."));
						}
						return null;
					} else return validate(props, propName, componentName, location, propFullName);
				}
				var chainedCheckType = checkType.bind(null, false);
				chainedCheckType.isRequired = checkType.bind(null, true);
				return chainedCheckType;
			}
			function createPrimitiveTypeChecker(expectedType) {
				function validate(props, propName, componentName, location, propFullName, secret) {
					var propValue = props[propName];
					if (getPropType(propValue) !== expectedType) {
						var preciseType = getPreciseType(propValue);
						return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + preciseType + "` supplied to `" + componentName + "`, expected ") + ("`" + expectedType + "`."), { expectedType });
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function createAnyTypeChecker() {
				return createChainableTypeChecker(emptyFunctionThatReturnsNull);
			}
			function createArrayOfTypeChecker(typeChecker) {
				function validate(props, propName, componentName, location, propFullName) {
					if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside arrayOf.");
					var propValue = props[propName];
					if (!Array.isArray(propValue)) {
						var propType = getPropType(propValue);
						return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an array."));
					}
					for (var i = 0; i < propValue.length; i++) {
						var error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret);
						if (error instanceof Error) return error;
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function createElementTypeChecker() {
				function validate(props, propName, componentName, location, propFullName) {
					var propValue = props[propName];
					if (!isValidElement(propValue)) {
						var propType = getPropType(propValue);
						return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement."));
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function createElementTypeTypeChecker() {
				function validate(props, propName, componentName, location, propFullName) {
					var propValue = props[propName];
					if (!ReactIs.isValidElementType(propValue)) {
						var propType = getPropType(propValue);
						return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement type."));
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function createInstanceTypeChecker(expectedClass) {
				function validate(props, propName, componentName, location, propFullName) {
					if (!(props[propName] instanceof expectedClass)) {
						var expectedClassName = expectedClass.name || ANONYMOUS;
						var actualClassName = getClassName(props[propName]);
						return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + actualClassName + "` supplied to `" + componentName + "`, expected ") + ("instance of `" + expectedClassName + "`."));
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function createEnumTypeChecker(expectedValues) {
				if (!Array.isArray(expectedValues)) {
					if (arguments.length > 1) printWarning("Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");
					else printWarning("Invalid argument supplied to oneOf, expected an array.");
					return emptyFunctionThatReturnsNull;
				}
				function validate(props, propName, componentName, location, propFullName) {
					var propValue = props[propName];
					for (var i = 0; i < expectedValues.length; i++) if (is(propValue, expectedValues[i])) return null;
					var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
						if (getPreciseType(value) === "symbol") return String(value);
						return value;
					});
					return new PropTypeError("Invalid " + location + " `" + propFullName + "` of value `" + String(propValue) + "` " + ("supplied to `" + componentName + "`, expected one of " + valuesString + "."));
				}
				return createChainableTypeChecker(validate);
			}
			function createObjectOfTypeChecker(typeChecker) {
				function validate(props, propName, componentName, location, propFullName) {
					if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside objectOf.");
					var propValue = props[propName];
					var propType = getPropType(propValue);
					if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
					for (var key in propValue) if (has(propValue, key)) {
						var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
						if (error instanceof Error) return error;
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function createUnionTypeChecker(arrayOfTypeCheckers) {
				if (!Array.isArray(arrayOfTypeCheckers)) {
					printWarning("Invalid argument supplied to oneOfType, expected an instance of array.");
					return emptyFunctionThatReturnsNull;
				}
				for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
					var checker = arrayOfTypeCheckers[i];
					if (typeof checker !== "function") {
						printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + getPostfixForTypeWarning(checker) + " at index " + i + ".");
						return emptyFunctionThatReturnsNull;
					}
				}
				function validate(props, propName, componentName, location, propFullName) {
					var expectedTypes = [];
					for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
						var checker = arrayOfTypeCheckers[i];
						var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
						if (checkerResult == null) return null;
						if (checkerResult.data && has(checkerResult.data, "expectedType")) expectedTypes.push(checkerResult.data.expectedType);
					}
					var expectedTypesMessage = expectedTypes.length > 0 ? ", expected one of type [" + expectedTypes.join(", ") + "]" : "";
					return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`" + expectedTypesMessage + "."));
				}
				return createChainableTypeChecker(validate);
			}
			function createNodeChecker() {
				function validate(props, propName, componentName, location, propFullName) {
					if (!isNode(props[propName])) return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`, expected a ReactNode."));
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function invalidValidatorError(componentName, location, propFullName, key, type) {
				return new PropTypeError((componentName || "React class") + ": " + location + " type `" + propFullName + "." + key + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + type + "`.");
			}
			function createShapeTypeChecker(shapeTypes) {
				function validate(props, propName, componentName, location, propFullName) {
					var propValue = props[propName];
					var propType = getPropType(propValue);
					if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
					for (var key in shapeTypes) {
						var checker = shapeTypes[key];
						if (typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
						var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
						if (error) return error;
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function createStrictShapeTypeChecker(shapeTypes) {
				function validate(props, propName, componentName, location, propFullName) {
					var propValue = props[propName];
					var propType = getPropType(propValue);
					if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
					for (var key in assign({}, props[propName], shapeTypes)) {
						var checker = shapeTypes[key];
						if (has(shapeTypes, key) && typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
						if (!checker) return new PropTypeError("Invalid " + location + " `" + propFullName + "` key `" + key + "` supplied to `" + componentName + "`.\nBad object: " + JSON.stringify(props[propName], null, "  ") + "\nValid keys: " + JSON.stringify(Object.keys(shapeTypes), null, "  "));
						var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
						if (error) return error;
					}
					return null;
				}
				return createChainableTypeChecker(validate);
			}
			function isNode(propValue) {
				switch (typeof propValue) {
					case "number":
					case "string":
					case "undefined": return true;
					case "boolean": return !propValue;
					case "object":
						if (Array.isArray(propValue)) return propValue.every(isNode);
						if (propValue === null || isValidElement(propValue)) return true;
						var iteratorFn = getIteratorFn(propValue);
						if (iteratorFn) {
							var iterator = iteratorFn.call(propValue);
							var step;
							if (iteratorFn !== propValue.entries) {
								while (!(step = iterator.next()).done) if (!isNode(step.value)) return false;
							} else while (!(step = iterator.next()).done) {
								var entry = step.value;
								if (entry) {
									if (!isNode(entry[1])) return false;
								}
							}
						} else return false;
						return true;
					default: return false;
				}
			}
			function isSymbol(propType, propValue) {
				if (propType === "symbol") return true;
				if (!propValue) return false;
				if (propValue["@@toStringTag"] === "Symbol") return true;
				if (typeof Symbol === "function" && propValue instanceof Symbol) return true;
				return false;
			}
			function getPropType(propValue) {
				var propType = typeof propValue;
				if (Array.isArray(propValue)) return "array";
				if (propValue instanceof RegExp) return "object";
				if (isSymbol(propType, propValue)) return "symbol";
				return propType;
			}
			function getPreciseType(propValue) {
				if (typeof propValue === "undefined" || propValue === null) return "" + propValue;
				var propType = getPropType(propValue);
				if (propType === "object") {
					if (propValue instanceof Date) return "date";
					else if (propValue instanceof RegExp) return "regexp";
				}
				return propType;
			}
			function getPostfixForTypeWarning(value) {
				var type = getPreciseType(value);
				switch (type) {
					case "array":
					case "object": return "an " + type;
					case "boolean":
					case "date":
					case "regexp": return "a " + type;
					default: return type;
				}
			}
			function getClassName(propValue) {
				if (!propValue.constructor || !propValue.constructor.name) return ANONYMOUS;
				return propValue.constructor.name;
			}
			ReactPropTypes.checkPropTypes = checkPropTypes;
			ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
			ReactPropTypes.PropTypes = ReactPropTypes;
			return ReactPropTypes;
		};
	}));

//#endregion
//#region node_modules/prop-types/index.js
	var require_prop_types = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ReactIs = require_react_is();
		var throwOnDirectAccess = true;
		module.exports = require_factoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/container/empty-component.js
	function EmptyComponent() {
		var container = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}).container;
		return /*#__PURE__*/ react.default.createElement("div", { className: "elementor-first-add" }, /*#__PURE__*/ react.default.createElement("div", {
			className: "elementor-icon eicon-plus",
			onClick: function handleClick() {
				if (container) $e.run("document/elements/select", { container });
				EditorOneEventManager.sendCanvasEmptyBoxAction({ targetName: "add_container" });
				$e.route("panel/elements/categories");
			}
		}));
	}
	var import_prop_types$1;
	var init_empty_component = __esmMin((() => {
		import_prop_types$1 = /* @__PURE__ */ __toESM(require_prop_types());
		init_editor_one_events();
		EmptyComponent.propTypes = { container: import_prop_types$1.default.object };
	}));

//#endregion
//#region assets/dev/js/editor/elements/models/container.js
	function _callSuper$280(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$280() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$280() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$280 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_element, Container$1;
	var init_container$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		import_element = /* @__PURE__ */ __toESM(require_element$2());
		__name(_callSuper$280, "_callSuper");
		__name(_isNativeReflectConstruct$280, "_isNativeReflectConstruct");
		Container$1 = /*#__PURE__*/ function(_ElementModel) {
			function Container() {
				_classCallCheck(this, Container);
				return _callSuper$280(this, Container, arguments);
			}
			_inherits(Container, _ElementModel);
			return _createClass(Container, [{
				key: "isValidChild",
				value: function isValidChild(childModel) {
					var elType = childModel.get("elType");
					return "section" !== elType && "column" !== elType;
				}
			}]);
		}(import_element.default);
	}));

//#endregion
//#region node_modules/react-dom/client.js
	var require_client = /* @__PURE__ */ __commonJSMin(((exports) => {
		var m = (globalThis.ReactDOM);
		var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
		exports.createRoot = function(c, o) {
			i.usingClientEntryPoint = true;
			try {
				return m.createRoot(c, o);
			} finally {
				i.usingClientEntryPoint = false;
			}
		};
	}));

//#endregion
//#region assets/dev/js/utils/react.js
/**
	* Support conditional rendering of a React App to the DOM, based on the React version.
	* We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
	*
	* @param {Promise.resolve(React).ReactElement} app        The app to render.
	* @param {HTMLElement}                  domElement The DOM element to render the app into.
	*
	* @return {{ unmount: () => void }} The unmount function.
	*/
	function render(app, domElement) {
		var unmountFunction;
		try {
			var root = (0, import_client.createRoot)(domElement);
			root.render(app);
			unmountFunction = function unmountFunction() {
				root.unmount();
			};
		} catch (e) {
			react_dom.render(app, domElement);
			unmountFunction = function unmountFunction() {
				react_dom.unmountComponentAtNode(domElement);
			};
		}
		return { unmount: unmountFunction };
	}
	var import_client, react_default;
	var init_react = __esmMin((() => {
		import_client = require_client();
		react_default = { render };
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/container/empty-view.js
	function _callSuper$279(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$279() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$279() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$279 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$30(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var EmptyView;
	var init_empty_view = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		init_defineProperty();
		init_react();
		init_empty_component();
		__name(_callSuper$279, "_callSuper");
		__name(_isNativeReflectConstruct$279, "_isNativeReflectConstruct");
		__name(_superPropGet$30, "_superPropGet");
		EmptyView = /*#__PURE__*/ function(_Marionette$ItemView) {
			function EmptyView() {
				var _this;
				_classCallCheck(this, EmptyView);
				for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
				_this = _callSuper$279(this, EmptyView, [].concat(args));
				_defineProperty(_this, "template", "<div></div>");
				_defineProperty(_this, "className", "elementor-empty-view");
				return _this;
			}
			_inherits(EmptyView, _Marionette$ItemView);
			return _createClass(EmptyView, [
				{
					key: "initialize",
					value: function initialize(options) {
						_superPropGet$30(EmptyView, "initialize", this, 3)([options]);
						this.ownerView = options.emptyViewOwner;
					}
				},
				{
					key: "renderReactDefaultElement",
					value: function renderReactDefaultElement(container) {
						var parent = container.parent;
						var defaultElement;
						if ("widget" === parent.model.get("elType")) {
							var elementType = elementor.elementsManager.getElementTypeClass(parent.model.get("widgetType"));
							if (elementType) {
								var Type = elementType.getEmptyView();
								defaultElement = /*#__PURE__*/ react.default.createElement(Type, { container });
							}
						} else defaultElement = /*#__PURE__*/ react.default.createElement(EmptyComponent, { container });
						var unmount = react_default.render(defaultElement, this.el).unmount;
						this.unmount = unmount;
					}
				},
				{
					key: "onRender",
					value: function onRender() {
						this.$el.addClass(this.className);
						this.renderReactDefaultElement(this.ownerView.container);
					}
				},
				{
					key: "onDestroy",
					value: function onDestroy() {
						this.unmount();
					}
				}
			]);
		}(Marionette.ItemView);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/hook-base.js
	var HookBase;
	var init_hook_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_defineProperty();
		init_force_method_implementation();
		HookBase = /*#__PURE__*/ function() {
			/**
			* Function constructor().
			*
			* Create callback base.
			*/
			function HookBase() {
				_classCallCheck(this, HookBase);
				/**
				* Callback type, eg ( hook, event ).
				*
				* @type {string}
				*/
				_defineProperty(this, "type", void 0);
				/**
				* Full command address, that will hook the callback.
				*
				* @type {string}
				*/
				_defineProperty(this, "command", void 0);
				/**
				* Unique id of the callback.
				*
				* @type {string}
				*/
				_defineProperty(this, "id", void 0);
				this.initialize();
				this.type = this.getType();
				this.command = this.getCommand();
				this.id = this.getId();
			}
			/**
			* Function initialize().
			*
			* Called after creation of the base, used for initialize extras.
			* Without expending constructor.
			*/
			return _createClass(HookBase, [
				{
					key: "initialize",
					value: function initialize() {}
				},
				{
					key: "register",
					value: function register() {
						force_method_implementation_default();
					}
				},
				{
					key: "getType",
					value: function getType() {
						force_method_implementation_default();
					}
				},
				{
					key: "getCommand",
					value: function getCommand() {
						force_method_implementation_default();
					}
				},
				{
					key: "getId",
					value: function getId() {
						force_method_implementation_default();
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {}
				},
				{
					key: "getConditions",
					value: function getConditions() {
						arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
						arguments.length > 1 && arguments[1];
						return true;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						force_method_implementation_default();
					}
				},
				{
					key: "run",
					value: function run() {
						var _ref$options = (arguments.length <= 0 ? void 0 : arguments[0]).options;
						var options = _ref$options === void 0 ? {} : _ref$options;
						if (options.callbacks && false === options.callbacks[this.id]) return true;
						if (this.getConditions.apply(this, arguments)) {
							if ($e.devTools) $e.devTools.log.callbacks().active(this.type, this.command, this.id);
							return this.apply.apply(this, arguments);
						}
						return true;
					}
				}
			]);
		}();
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/hooks/data/base.js
	function _callSuper$278(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$278() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$278() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$278 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Base$2;
	var init_base$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_hook_base();
		__name(_callSuper$278, "_callSuper");
		__name(_isNativeReflectConstruct$278, "_isNativeReflectConstruct");
		Base$2 = /*#__PURE__*/ function(_HookBase) {
			function Base() {
				_classCallCheck(this, Base);
				return _callSuper$278(this, Base, arguments);
			}
			_inherits(Base, _HookBase);
			return _createClass(Base, [{
				key: "getType",
				value: function getType() {
					return "data";
				}
			}]);
		}(HookBase);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/hooks/data/after.js
	function _callSuper$277(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$277() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$277() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$277 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var After$1;
	var init_after$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_base$1();
		__name(_callSuper$277, "_callSuper");
		__name(_isNativeReflectConstruct$277, "_isNativeReflectConstruct");
		After$1 = /*#__PURE__*/ function(_Base) {
			function After() {
				_classCallCheck(this, After);
				return _callSuper$277(this, After, arguments);
			}
			_inherits(After, _Base);
			return _createClass(After, [{
				key: "register",
				value: function register() {
					$e.hooks.registerDataAfter(this);
				}
			}]);
		}(Base$2);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/base/reset-layout-base.js
	function _callSuper$276(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$276() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$276() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$276 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ResetLayoutBase;
	var init_reset_layout_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		__name(_callSuper$276, "_callSuper");
		__name(_isNativeReflectConstruct$276, "_isNativeReflectConstruct");
		ResetLayoutBase = /*#__PURE__*/ function(_After) {
			function ResetLayoutBase() {
				_classCallCheck(this, ResetLayoutBase);
				return _callSuper$276(this, ResetLayoutBase, arguments);
			}
			_inherits(ResetLayoutBase, _After);
			return _createClass(ResetLayoutBase, [{
				key: "getConditions",
				value: function getConditions() {
					return !$e.commands.isCurrentFirstTrace("document/elements/move");
				}
			}, {
				key: "apply",
				value: function apply(args, containers) {
					if (!Array.isArray(containers)) containers = [containers];
					containers.forEach(function(container) {
						return container.parent.view.resetLayout(false);
					});
				}
			}]);
		}(After$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/create/create-section-columns-reset-layout.js
	function _callSuper$275(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$275() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$275() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$275 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var CreateSectionColumnsResetLayout;
	var init_create_section_columns_reset_layout = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_reset_layout_base();
		__name(_callSuper$275, "_callSuper");
		__name(_isNativeReflectConstruct$275, "_isNativeReflectConstruct");
		CreateSectionColumnsResetLayout = /*#__PURE__*/ function(_ResetLayoutBase) {
			function CreateSectionColumnsResetLayout() {
				_classCallCheck(this, CreateSectionColumnsResetLayout);
				return _callSuper$275(this, CreateSectionColumnsResetLayout, arguments);
			}
			_inherits(CreateSectionColumnsResetLayout, _ResetLayoutBase);
			return _createClass(CreateSectionColumnsResetLayout, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "section-columns-reset-layout--document/elements/create";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "section";
					}
				}
			]);
		}(ResetLayoutBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/copy.js
	function _callSuper$274(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$274() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$274() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$274 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Copy$1;
	var init_copy = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$274, "_callSuper");
		__name(_isNativeReflectConstruct$274, "_isNativeReflectConstruct");
		Copy$1 = /*#__PURE__*/ function(_$e$modules$editor$Co) {
			function Copy() {
				_classCallCheck(this, Copy);
				return _callSuper$274(this, Copy, arguments);
			}
			_inherits(Copy, _$e$modules$editor$Co);
			return _createClass(Copy, [{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
				}
			}, {
				key: "apply",
				value: function apply(args) {
					var _args$storageKey = args.storageKey;
					var storageKey = _args$storageKey === void 0 ? "clipboard" : _args$storageKey;
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					if (!elementor.selection.isSameType()) {
						elementor.notifications.showToast({
							message: (0, _wordpress_i18n.__)("That didn’t work. Try copying one kind of element at a time.", "elementor"),
							buttons: [{
								name: "got_it",
								text: (0, _wordpress_i18n.__)("Got it", "elementor")
							}]
						});
						return false;
					}
					var elements = elementor.getPreviewView().$el.find(".elementor-element");
					var elementsData = containers.sort(function(first, second) {
						return elements.index(first.view.el) - elements.index(second.view.el);
					}).map(function(container) {
						return container.model.toJSON({ copyHtmlCache: true });
					});
					var storageData = {
						type: "elementor",
						siteurl: elementorCommon.config.urls.rest,
						elements: elementsData
					};
					elementorCommon.storage.set(storageKey, storageData);
					var clipboard = document.createElement("textarea");
					clipboard.value = JSON.stringify(storageData);
					document.body.appendChild(clipboard);
					clipboard.select();
					document.execCommand("copy");
					document.body.removeChild(clipboard);
				}
			}]);
		}($e.modules.editor.CommandContainerBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/copy-all.js
	function _callSuper$273(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$273() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$273() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$273 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var CopyAll;
	var init_copy_all = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$273, "_callSuper");
		__name(_isNativeReflectConstruct$273, "_isNativeReflectConstruct");
		CopyAll = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function CopyAll() {
				_classCallCheck(this, CopyAll);
				return _callSuper$273(this, CopyAll, arguments);
			}
			_inherits(CopyAll, _$e$modules$CommandBa);
			return _createClass(CopyAll, [{
				key: "apply",
				value: function apply() {
					$e.run("document/elements/copy", { containers: Object.values(elementor.getPreviewView().children._views).map(function(view) {
						return view.getContainer();
					}) });
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/create.js
	function _callSuper$272(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$272() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$272() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$272 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Create$3;
	var init_create$3 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$272, "_callSuper");
		__name(_isNativeReflectConstruct$272, "_isNativeReflectConstruct");
		Create$3 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Create() {
				_classCallCheck(this, Create);
				return _callSuper$272(this, Create, arguments);
			}
			_inherits(Create, _$e$modules$editor$do);
			return _createClass(Create, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
						this.requireArgumentConstructor("model", Object, args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var model = args.model;
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							model,
							type: "add",
							title: elementor.helpers.getModelLabel(model)
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _this = this;
						var model = args.model;
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						var result = [];
						containers.forEach(function(container) {
							var _container;
							var _container2;
							container = container.lookup();
							if (!((_container = container) !== null && _container !== void 0 && _container.view) || container.view.isDestroyed) {
								var _$e$components$get$ut;
								container = (_$e$components$get$ut = $e.components.get("document").utils.findContainerById(container.id)) !== null && _$e$components$get$ut !== void 0 ? _$e$components$get$ut : container;
							}
							if (!((_container2 = container) !== null && _container2 !== void 0 && _container2.view) || container.view.isDestroyed) {
								$e.components.get("document").utils.addModelToParent(container.id, model, options);
								return;
							}
							var createdContainer = container.view.addElement(model, options).getContainer();
							result.push(createdContainer);
							/**
							* Acknowledge history of each created item, because we cannot pass the elements when they do not exist
							* in getHistory().
							*/
							if (_this.isHistoryActive() && _this.history) $e.internal("document/history/log-sub-item", {
								container,
								type: "sub-add",
								restore: _this.constructor.restore,
								options,
								data: {
									containerToRestore: createdContainer,
									modelToRestore: createdContainer.model.toJSON()
								}
							});
						});
						if (1 === result.length) result = result[0];
						return result;
					}
				}
			], [{
				key: "restore",
				value: function restore(historyItem, isRedo) {
					var _data$containerToRest;
					var _data$containerToRest2;
					var _data$containerToRest3;
					var _data$containerToRest4;
					var _data$containerToRest5;
					var _data$containerToRest6;
					var _data$modelToRestore;
					var data = historyItem.get("data");
					var container = historyItem.get("container");
					var options = historyItem.get("options") || {};
					if (options.clone) options.clone = false;
					if (isRedo) {
						$e.run("document/elements/create", {
							container,
							model: data.modelToRestore,
							options
						});
						return;
					}
					if (!elementor.helpers.isAtomicWidget(data.modelToRestore)) {
						$e.run("document/elements/delete", { container: data.containerToRestore });
						return;
					}
					var containerToRestore = (_data$containerToRest = (_data$containerToRest2 = data.containerToRestore) === null || _data$containerToRest2 === void 0 || (_data$containerToRest3 = _data$containerToRest2.lookup) === null || _data$containerToRest3 === void 0 ? void 0 : _data$containerToRest3.call(_data$containerToRest2)) !== null && _data$containerToRest !== void 0 ? _data$containerToRest : data.containerToRestore;
					if (containerToRestore instanceof elementorModules.editor.Container) {
						$e.run("document/elements/delete", { container: containerToRestore });
						return;
					}
					var parentId = (_data$containerToRest4 = data.containerToRestore) === null || _data$containerToRest4 === void 0 || (_data$containerToRest4 = _data$containerToRest4.parent) === null || _data$containerToRest4 === void 0 ? void 0 : _data$containerToRest4.id;
					var childId = (_data$containerToRest5 = (_data$containerToRest6 = data.containerToRestore) === null || _data$containerToRest6 === void 0 ? void 0 : _data$containerToRest6.id) !== null && _data$containerToRest5 !== void 0 ? _data$containerToRest5 : (_data$modelToRestore = data.modelToRestore) === null || _data$modelToRestore === void 0 ? void 0 : _data$modelToRestore.id;
					if (parentId && childId) $e.components.get("document").utils.removeModelFromParent(parentId, childId);
				}
			}]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/delete.js
	function _callSuper$271(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$271() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$271() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$271 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Delete$2;
	var init_delete$2 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$271, "_callSuper");
		__name(_isNativeReflectConstruct$271, "_isNativeReflectConstruct");
		Delete$2 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Delete() {
				_classCallCheck(this, Delete);
				return _callSuper$271(this, Delete, arguments);
			}
			_inherits(Delete, _$e$modules$editor$do);
			return _createClass(Delete, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							type: "remove"
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _this = this;
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						containers.forEach(function(container) {
							var _container;
							var _container2;
							container = container.lookup();
							if (!((_container = container) !== null && _container !== void 0 && _container.view) || container.view.isDestroyed) {
								var _$e$components$get$ut;
								container = (_$e$components$get$ut = $e.components.get("document").utils.findContainerById(container.id)) !== null && _$e$components$get$ut !== void 0 ? _$e$components$get$ut : container;
							}
							if (!((_container2 = container) !== null && _container2 !== void 0 && _container2.view) || container.view.isDestroyed) {
								var _container3;
								if ((_container3 = container) !== null && _container3 !== void 0 && _container3.parent) $e.components.get("document").utils.removeModelFromParent(container.parent.id, container.id);
								return;
							}
							if (_this.isHistoryActive() && _this.history) $e.internal("document/history/log-sub-item", {
								container,
								type: "sub-remove",
								restore: _this.constructor.restore,
								data: {
									model: container.model.toJSON(),
									parent: container.parent,
									at: container.view._index
								}
							});
							_this.dispatchDeleteEvent(container, args.callerName);
							_this.deselectRecursive(container.model.get("id"));
							container.model.destroy();
							container.panel.refresh();
						});
						if (1 === containers.length) return containers[0];
						return containers;
					}
				},
				{
					key: "dispatchDeleteEvent",
					value: function dispatchDeleteEvent(container, callerName) {
						var _elementorCommon;
						var _container$model$get;
						var _container$model$get2;
						var _container$parent$mod;
						var _container$parent;
						var _container$parent2;
						if (!((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.eventsManager) !== null && _elementorCommon !== void 0 && _elementorCommon.dispatchEvent)) return;
						var elType = (_container$model$get = container.model.get("elType")) !== null && _container$model$get !== void 0 ? _container$model$get : "";
						var widgetType = (_container$model$get2 = container.model.get("widgetType")) !== null && _container$model$get2 !== void 0 ? _container$model$get2 : "";
						var widgetName = "widget" === elType ? widgetType : elType;
						var parentType = ((_container$parent$mod = (_container$parent = container.parent) === null || _container$parent === void 0 || (_container$parent = _container$parent.model) === null || _container$parent === void 0 ? void 0 : _container$parent.get("widgetType")) !== null && _container$parent$mod !== void 0 ? _container$parent$mod : "") || ((_container$parent2 = container.parent) === null || _container$parent2 === void 0 ? void 0 : _container$parent2.type) || "";
						var eventData = {
							window_name: "editor",
							interaction_type: "click",
							target_type: elType,
							target_name: "delete",
							interaction_result: "".concat(elType, "_deleted"),
							target_location: "canvas",
							location_l1: parentType,
							location_l2: widgetName,
							interaction_description: "user_deleted_".concat(widgetName, "_from_canvas")
						};
						if (callerName) eventData.trigger = callerName;
						elementorCommon.eventsManager.dispatchEvent("delete_element", eventData);
					}
				},
				{
					key: "deselectRecursive",
					value: function deselectRecursive(id) {
						var _this2 = this;
						var container = elementor.getContainer(id);
						if (elementor.selection.has(container)) $e.run("document/elements/deselect", { container });
						container === null || container === void 0 || container.model.get("elements").forEach(function(childModel) {
							_this2.deselectRecursive(childModel.get("id"));
						});
					}
				}
			], [{
				key: "restore",
				value: function restore(historyItem, isRedo) {
					var container = historyItem.get("container");
					var data = historyItem.get("data");
					if (isRedo) $e.run("document/elements/delete", { container });
					else $e.run("document/elements/create", {
						container: data.parent,
						model: data.model,
						options: { at: data.at }
					});
				}
			}]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/deselect.js
	function _callSuper$270(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$270() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$270() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$270 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Deselect;
	var init_deselect = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$270, "_callSuper");
		__name(_isNativeReflectConstruct$270, "_isNativeReflectConstruct");
		Deselect = /*#__PURE__*/ function(_$e$modules$editor$Co) {
			function Deselect() {
				_classCallCheck(this, Deselect);
				return _callSuper$270(this, Deselect, arguments);
			}
			_inherits(Deselect, _$e$modules$editor$Co);
			return _createClass(Deselect, [{
				key: "validateArgs",
				value: function validateArgs() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					if (!args.all) this.requireContainer(args);
				}
			}, {
				key: "apply",
				value: function apply(args) {
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var _args$all = args.all;
					var all = _args$all === void 0 ? false : _args$all;
					elementor.selection.remove(containers, all);
				}
			}]);
		}($e.modules.editor.CommandContainerBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/deselect-all.js
	function _callSuper$269(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$269() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$269() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$269 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var DeselectAll;
	var init_deselect_all = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$269, "_callSuper");
		__name(_isNativeReflectConstruct$269, "_isNativeReflectConstruct");
		DeselectAll = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function DeselectAll() {
				_classCallCheck(this, DeselectAll);
				return _callSuper$269(this, DeselectAll, arguments);
			}
			_inherits(DeselectAll, _$e$modules$CommandBa);
			return _createClass(DeselectAll, [{
				key: "apply",
				value: function apply() {
					elementor.selection.remove([], true);
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/duplicate.js
	function ownKeys$15(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$15(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$15(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$15(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function _callSuper$268(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$268() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$268() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$268 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Duplicate$2;
	var init_duplicate = __esmMin((() => {
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(ownKeys$15, "ownKeys");
		__name(_objectSpread$15, "_objectSpread");
		__name(_callSuper$268, "_callSuper");
		__name(_isNativeReflectConstruct$268, "_isNativeReflectConstruct");
		Duplicate$2 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Duplicate() {
				_classCallCheck(this, Duplicate);
				return _callSuper$268(this, Duplicate, arguments);
			}
			_inherits(Duplicate, _$e$modules$editor$do);
			return _createClass(Duplicate, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							type: "duplicate"
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						var result = [];
						var at = containers[containers.length - 1].view._index;
						if (!elementor.selection.isSameType()) {
							elementor.notifications.showToast({
								message: (0, _wordpress_i18n.__)("That didn’t work. Try duplicating one kind of element at a time.", "elementor"),
								buttons: [{
									name: "got_it",
									text: (0, _wordpress_i18n.__)("Got it", "elementor")
								}]
							});
							return false;
						}
						containers.forEach(function(container) {
							var parent = container.parent;
							result.push($e.run("document/elements/create", {
								container: parent,
								model: container.model.toJSON(),
								options: _objectSpread$15(_objectSpread$15({}, options), {}, {
									at: ++at,
									clone: true
								})
							}));
						});
						if (1 === result.length) return result[0];
						return result;
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/empty.js
	function _callSuper$267(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$267() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$267() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$267 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Empty;
	var init_empty$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$267, "_callSuper");
		__name(_isNativeReflectConstruct$267, "_isNativeReflectConstruct");
		Empty = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Empty() {
				_classCallCheck(this, Empty);
				return _callSuper$267(this, Empty, arguments);
			}
			_inherits(Empty, _$e$modules$editor$do);
			return _createClass(Empty, [
				{
					key: "getHistory",
					value: function getHistory(args) {
						if (args.force) return {
							type: "remove",
							title: (0, _wordpress_i18n.__)("All Content", "elementor"),
							data: elementor.elements ? elementor.elements.toJSON() : null,
							restore: this.constructor.restore
						};
						return false;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						if (args.force && elementor.elements) {
							elementor.elements.reset();
							elementor.getPreviewContainer().panel.closeEditor();
							return;
						}
						elementor.getClearPageDialog().show();
					}
				},
				{
					key: "isDataChanged",
					value: function isDataChanged() {
						return this.args.force;
					}
				}
			], [{
				key: "restore",
				value: function restore(historyItem, isRedo) {
					if (isRedo) $e.run("document/elements/empty", { force: true });
					else {
						var data = historyItem.get("data");
						if (data) elementor.getPreviewView().addChildModel(data);
						$e.internal("document/save/set-is-modified", { status: true });
					}
				}
			}]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/import.js
	function _callSuper$266(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$266() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$266() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$266 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Import$1;
	var init_import = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$266, "_callSuper");
		__name(_isNativeReflectConstruct$266, "_isNativeReflectConstruct");
		Import$1 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Import() {
				_classCallCheck(this, Import);
				return _callSuper$266(this, Import, arguments);
			}
			_inherits(Import, _$e$modules$editor$do);
			return _createClass(Import, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireArgumentInstance("model", Backbone.Model, args);
						this.requireArgumentConstructor("data", Object, args);
						if (args.containers) throw new TypeError("Multi containers are not supported");
						if (args.container) this.requireContainer();
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var model = args.model;
						return {
							type: "add",
							title: (0, _wordpress_i18n.__)("Template", "elementor"),
							subTitle: model.get("title")
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var data = args.data;
						var _args$options = args.options;
						var options = _args$options === void 0 ? args.options || {} : _args$options;
						var _args$container = args.container;
						var container = _args$container === void 0 ? args.container || elementor.getPreviewContainer() : _args$container;
						var result = [];
						var at = isNaN(options.at) ? container.view.collection.length : options.at;
						Object.values(data.content).forEach(function(model) {
							result.push($e.run("document/elements/create", {
								container,
								model,
								options: Object.assign(options, { at })
							}));
							at++;
						});
						if (options.withPageSettings) $e.run("document/elements/settings", {
							container: elementor.settings.page.getEditedView().getContainer(),
							settings: data.page_settings,
							options: { external: true }
						});
						return result;
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/paste.js
	function _callSuper$265(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$265() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$265() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$265 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_regenerator$14, Paste$1;
	var init_paste$1 = __esmMin((() => {
		init_asyncToGenerator();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		import_regenerator$14 = /* @__PURE__ */ __toESM(require_regenerator());
		init_container_helper();
		__name(_callSuper$265, "_callSuper");
		__name(_isNativeReflectConstruct$265, "_isNativeReflectConstruct");
		Paste$1 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Paste() {
				_classCallCheck(this, Paste);
				return _callSuper$265(this, Paste, arguments);
			}
			_inherits(Paste, _$e$modules$editor$do);
			return _createClass(Paste, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory() {
						return {
							type: "paste",
							title: (0, _wordpress_i18n.__)("Elements", "elementor")
						};
					}
				},
				{
					key: "getStorageData",
					value: function getStorageData(args) {
						var _args$storageType = args.storageType;
						var storageType = _args$storageType === void 0 ? "localstorage" : _args$storageType;
						var _args$storageKey = args.storageKey;
						var storageKey = _args$storageKey === void 0 ? "clipboard" : _args$storageKey;
						var _args$data = args.data;
						var data = _args$data === void 0 ? "" : _args$data;
						if ("localstorage" === storageType) return elementorCommon.storage.get(storageKey) || {};
						try {
							return JSON.parse(data) || {};
						} catch (e) {
							return {};
						}
					}
				},
				{
					key: "apply",
					value: function() {
						var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$14.default.mark(function _callee(args) {
							var _storageData$elements;
							var at;
							var _args$rebuild;
							var rebuild;
							var _args$containers;
							var containers;
							var _args$options;
							var options;
							var storageData;
							var storageDataElements;
							var result;
							return import_regenerator$14.default.wrap(function(_context) {
								while (1) switch (_context.prev = _context.next) {
									case 0:
										at = args.at, _args$rebuild = args.rebuild, rebuild = _args$rebuild === void 0 ? false : _args$rebuild, _args$containers = args.containers, containers = _args$containers === void 0 ? [args.container] : _args$containers, _args$options = args.options, options = _args$options === void 0 ? {} : _args$options, storageData = this.getStorageData(args);
										if (!(!storageData || !(storageData !== null && storageData !== void 0 && (_storageData$elements = storageData.elements) !== null && _storageData$elements !== void 0 && _storageData$elements.length) || "elementor" !== (storageData === null || storageData === void 0 ? void 0 : storageData.type))) {
											_context.next = 1;
											break;
										}
										return _context.abrupt("return", false);
									case 1:
										storageDataElements = storageData.elements;
										if (!(storageData.siteurl !== elementorCommon.config.urls.rest)) {
											_context.next = 5;
											break;
										}
										_context.prev = 2;
										_context.next = 3;
										return new Promise(function(resolve, reject) {
											return elementorCommon.ajax.addRequest("import_from_json", {
												data: { elements: JSON.stringify(storageDataElements) },
												success: resolve,
												error: reject
											});
										});
									case 3:
										storageDataElements = _context.sent;
										_context.next = 5;
										break;
									case 4:
										_context.prev = 4;
										_context["catch"](2);
										return _context.abrupt("return", false);
									case 5:
										result = [];
										if (rebuild) result = this.rebuild(containers, storageDataElements, at);
										else {
											if (void 0 !== at) options.at = at;
											result.push(this.pasteTo(containers, storageDataElements, options));
										}
										if (!(1 === result.length)) {
											_context.next = 6;
											break;
										}
										return _context.abrupt("return", result[0]);
									case 6: return _context.abrupt("return", result);
									case 7:
									case "end": return _context.stop();
								}
							}, _callee, this, [[2, 4]]);
						}));
						function apply(_x) {
							return _apply.apply(this, arguments);
						}
						return apply;
					}()
				},
				{
					key: "rebuild",
					value: function rebuild(containers, data, at) {
						var _this = this;
						var result = [];
						containers.forEach(function(targetContainer) {
							var createNewElementAtTheBottomOfThePage = "undefined" === typeof at;
							var index = createNewElementAtTheBottomOfThePage ? targetContainer.view.collection.length : at;
							data.forEach(function(model) {
								switch (model.elType) {
									case "container":
									case "e-flexbox":
									case "e-div-block":
									case "e-grid":
										result.push(_this.pasteTo([targetContainer], [model], { at: createNewElementAtTheBottomOfThePage ? ++index : index }));
										break;
									case "section":
										if (model.isInner) targetContainer = $e.run("document/elements/create", {
											container: targetContainer,
											model: { elType: "section" },
											columns: 1,
											options: {
												at: index,
												edit: false
											}
										}).view.children.findByIndex(0).getContainer();
										result.push(_this.pasteTo([targetContainer], [model], {
											at: index,
											edit: false
										}));
										index++;
										break;
									case "column":
										var _section = $e.run("document/elements/create", {
											container: targetContainer,
											model: { elType: "section" },
											columns: 0,
											options: {
												at: ++index,
												edit: false
											}
										});
										result.push(_this.pasteTo([_section], [model]));
										break;
									default:
										var target;
										var isAtomic = elementor.helpers.isAtomicWidget(model);
										if ("section" === targetContainer.model.get("elType")) target = [targetContainer.view.children.findByIndex(0).getContainer()];
										else if ("container" === targetContainer.model.get("elType")) target = [targetContainer];
										else if (isAtomic) {
											var options = {
												at: createNewElementAtTheBottomOfThePage ? ++index : index,
												useHistory: false
											};
											target = ContainerHelper.createContainerFromModel({ elType: ContainerHelper.V4_DEFAULT_CONTAINER_TYPE }, targetContainer, { options });
											target = [target];
										} else if (elementorCommon.config.experimentalFeatures.container) {
											target = $e.run("document/elements/create", {
												container: targetContainer,
												model: { elType: "container" },
												options: { at: createNewElementAtTheBottomOfThePage ? ++index : index }
											});
											target = [target];
										} else target = [$e.run("document/elements/create", {
											container: targetContainer,
											model: { elType: "section" },
											columns: 1,
											options: { at: createNewElementAtTheBottomOfThePage ? ++index : index }
										}).view.children.first().getContainer()];
										result.push(_this.pasteTo(target, [model]));
								}
							});
						});
						return result;
					}
				},
				{
					key: "pasteTo",
					value: function pasteTo(targetContainers, models) {
						var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
						options = Object.assign({
							at: null,
							clone: true
						}, options);
						var result = [];
						models.forEach(function(model) {
							result.push($e.run("document/elements/create", {
								containers: targetContainers,
								model,
								options
							}));
							if (null !== options.at) options.at++;
						});
						if (1 === result.length) return result[0];
						return result;
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/paste-area.js
	function _callSuper$264(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$264() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$264() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$264 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_regenerator$13, PasteArea;
	var init_paste_area = __esmMin((() => {
		init_asyncToGenerator();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_defineProperty();
		import_regenerator$13 = /* @__PURE__ */ __toESM(require_regenerator());
		init_environment();
		__name(_callSuper$264, "_callSuper");
		__name(_isNativeReflectConstruct$264, "_isNativeReflectConstruct");
		PasteArea = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function PasteArea() {
				_classCallCheck(this, PasteArea);
				return _callSuper$264(this, PasteArea, arguments);
			}
			_inherits(PasteArea, _$e$modules$editor$do);
			return _createClass(PasteArea, [
				{
					key: "getHistory",
					value: function getHistory() {
						return false;
					}
				},
				{
					key: "getDialog",
					value: function getDialog() {
						var _this = this;
						if (this.dialog) return this.dialog;
						var $messageContainer = jQuery("<div>", { class: "e-dialog-description" }).html((0, _wordpress_i18n.__)("To paste the element from your other site.", "elementor"));
						var $inputArea = jQuery("<input>", {
							id: "elementor-paste-area-dialog__input",
							type: "text"
						}).attr("autocomplete", "off").on("keypress", function(event) {
							event.preventDefault();
						}).on("blur", function() {
							_.defer(function() {
								return $inputArea.trigger("focus");
							});
						}).on("paste", /*#__PURE__*/ function() {
							var _ref = _asyncToGenerator(/*#__PURE__*/ import_regenerator$13.default.mark(function _callee(event) {
								var $widgetContent;
								var retVal;
								return import_regenerator$13.default.wrap(function(_context) {
									while (1) switch (_context.prev = _context.next) {
										case 0:
											event.preventDefault();
											$widgetContent = _this.getDialog().getElements("widgetContent");
											$widgetContent.addClass("e-state-loading");
											_context.next = 1;
											return $e.run("document/ui/paste", {
												container: _this.container,
												storageType: "rawdata",
												data: event.originalEvent.clipboardData.getData("text"),
												options: _this.options
											});
										case 1:
											retVal = _context.sent;
											$widgetContent.removeClass("e-state-loading");
											if (!retVal) {
												_context.next = 2;
												break;
											}
											_this.dialog.hide();
											return _context.abrupt("return");
										case 2: $errorArea.show();
										case 3:
										case "end": return _context.stop();
									}
								}, _callee);
							}));
							return function(_x) {
								return _ref.apply(this, arguments);
							};
						}());
						var $errorArea = jQuery("<div>", {
							id: "elementor-paste-area-dialog__error",
							style: "display: none"
						}).html((0, _wordpress_i18n.__)("Make sure that both sites are updated to last version of Elementor and have enabled the features relevant to the copied element before trying again.", "elementor"));
						var $loadingArea = jQuery("<i>", { class: "eicon-loading eicon-animation-spin" });
						$messageContainer.append($inputArea).append($errorArea).append($loadingArea);
						var ctrlLabel = environment.mac ? "&#8984;" : "Ctrl";
						this.dialog = elementorCommon.dialogsManager.createWidget("lightbox", {
							id: "elementor-paste-area-dialog",
							headerMessage: "".concat(ctrlLabel, " + V"),
							message: $messageContainer,
							position: {
								my: "center center",
								at: "center center"
							},
							closeButton: true,
							closeButtonOptions: { iconClass: "eicon-close" },
							onShow: function onShow() {
								$inputArea.trigger("focus");
								_this.getDialog().getElements("widgetContent").on("click", function() {
									$inputArea.trigger("focus");
								});
							}
						});
						return this.dialog;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						this.container = args.container;
						if (args.options) this.options = args.options;
						this.getDialog().show();
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
		_defineProperty(PasteArea, "dialog", null);
		_defineProperty(PasteArea, "container", null);
		_defineProperty(PasteArea, "options", {});
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/paste-interactions.js
	function _callSuper$263(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$263() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$263() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$263 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var PasteInteractions;
	var init_paste_interactions = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$263, "_callSuper");
		__name(_isNativeReflectConstruct$263, "_isNativeReflectConstruct");
		PasteInteractions = /*#__PURE__*/ function(_$e$modules$editor$Co) {
			function PasteInteractions() {
				_classCallCheck(this, PasteInteractions);
				return _callSuper$263(this, PasteInteractions, arguments);
			}
			_inherits(PasteInteractions, _$e$modules$editor$Co);
			return _createClass(PasteInteractions, [{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					var _args$storageKey = args.storageKey;
					var storageKey = _args$storageKey === void 0 ? "clipboard" : _args$storageKey;
					var storageData = elementorCommon.storage.get(storageKey);
					this.requireArgumentType("storageData", "object", { storageData });
				}
			}, {
				key: "apply",
				value: function apply() {}
			}]);
		}($e.modules.editor.CommandContainerBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/move.js
	function _callSuper$262(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$262() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$262() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$262 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Move$1;
	var init_move$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$262, "_callSuper");
		__name(_isNativeReflectConstruct$262, "_isNativeReflectConstruct");
		Move$1 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Move() {
				_classCallCheck(this, Move);
				return _callSuper$262(this, Move, arguments);
			}
			_inherits(Move, _$e$modules$editor$do);
			return _createClass(Move, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
						this.requireArgumentInstance("target", elementorModules.editor.Container, args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							type: "move"
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var target = args.target;
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						var reCreate = [];
						containers.forEach(function(container) {
							reCreate.push(container.model.toJSON());
							$e.run("document/elements/delete", { container });
						});
						var count = 0;
						var result = [];
						reCreate.forEach(function(model) {
							if (Object.prototype.hasOwnProperty.call(options, "at") && reCreate.length > 1) {
								if (0 !== count) options.at += count;
							}
							var newContainer = $e.run("document/elements/create", {
								container: target,
								model,
								options
							});
							result.push(newContainer);
							count++;
						});
						if (1 === result.length) return result[0];
						return result;
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/paste-style.js
	function _callSuper$261(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$261() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$261() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$261 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var PasteStyle$1;
	var init_paste_style = __esmMin((() => {
		init_slicedToArray();
		init_typeof();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$261, "_callSuper");
		__name(_isNativeReflectConstruct$261, "_isNativeReflectConstruct");
		PasteStyle$1 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function PasteStyle() {
				_classCallCheck(this, PasteStyle);
				return _callSuper$261(this, PasteStyle, arguments);
			}
			_inherits(PasteStyle, _$e$modules$editor$do);
			return _createClass(PasteStyle, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
						var _args$storageKey = args.storageKey;
						var storageKey = _args$storageKey === void 0 ? "clipboard" : _args$storageKey;
						var storageData = elementorCommon.storage.get(storageKey);
						this.requireArgumentType("storageData", "object", { storageData });
					}
				},
				{
					key: "validateControls",
					value: function validateControls(source, target) {
						var result = true;
						if (null === source || null === target || void 0 === source || void 0 === target || "object" === _typeof(source) ^ "object" === _typeof(target)) result = false;
						return result;
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							type: "paste_style"
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _storageData$elements;
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						var _args$storageKey2 = args.storageKey;
						var storageKey = _args$storageKey2 === void 0 ? "clipboard" : _args$storageKey2;
						var storageData = elementorCommon.storage.get(storageKey);
						if (!storageData || !(storageData !== null && storageData !== void 0 && (_storageData$elements = storageData.elements) !== null && _storageData$elements !== void 0 && _storageData$elements.length) || "elementor" !== (storageData === null || storageData === void 0 ? void 0 : storageData.type)) return false;
						this.applyPasteStyleData(containers, storageData.elements);
					}
				},
				{
					key: "applyPasteStyleData",
					value: function applyPasteStyleData(containers, data) {
						var _this = this;
						containers.forEach(function(targetContainer) {
							var targetSettings = targetContainer.settings;
							var targetSettingsAttributes = targetSettings.attributes;
							var targetControls = targetSettings.controls;
							var diffSettings = {};
							var addExtraControls = function addExtraControls(sourceSettings, extraType) {
								if (sourceSettings[extraType]) Object.entries(sourceSettings[extraType]).forEach(function(_ref) {
									var _ref2 = _slicedToArray(_ref, 2);
									var controlName = _ref2[0];
									var value = _ref2[1];
									var control = targetControls[controlName];
									if (targetContainer.view.isStyleTransferControl(control)) {
										diffSettings[extraType] = diffSettings[extraType] || {};
										diffSettings[extraType][controlName] = value;
									}
								});
							};
							data.forEach(function(sourceModel) {
								var sourceSettings = sourceModel.settings;
								addExtraControls(sourceSettings, "__globals__");
								addExtraControls(sourceSettings, "__dynamic__");
								Object.entries(targetControls).forEach(function(_ref3) {
									var _ref4 = _slicedToArray(_ref3, 2);
									var controlName = _ref4[0];
									var control = _ref4[1];
									if (!targetContainer.view.isStyleTransferControl(control)) return;
									var controlSourceValue = sourceSettings[controlName];
									var controlTargetValue = targetSettingsAttributes[controlName];
									if (!_this.validateControls(controlSourceValue, controlTargetValue)) return;
									if ("object" === _typeof(controlSourceValue)) {
										if (Object.keys(controlSourceValue).some(function(propertyKey) {
											if (controlSourceValue[propertyKey] !== controlTargetValue[propertyKey]) return false;
										})) return;
									}
									if (controlSourceValue === controlTargetValue || !elementor.getControlView(control.type).onPasteStyle(control, controlSourceValue)) return;
									diffSettings[controlName] = controlSourceValue;
								});
								_this.pasteStyle(targetContainer, diffSettings);
							});
						});
					}
				},
				{
					key: "pasteStyle",
					value: function pasteStyle(targetContainer, settings) {
						var globals = settings.__globals__;
						if (globals) delete settings.__globals__;
						$e.run("document/elements/settings", {
							container: targetContainer,
							settings,
							options: {
								external: true,
								render: false
							}
						});
						if (globals) {
							$e.run("document/globals/settings", {
								container: targetContainer,
								settings: globals,
								options: {
									external: true,
									render: false
								}
							});
							targetContainer.panel.refresh();
						}
						targetContainer.render();
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/reset-settings.js
	function _callSuper$260(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$260() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$260() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$260 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ResetSettings;
	var init_reset_settings = __esmMin((() => {
		init_slicedToArray();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$260, "_callSuper");
		__name(_isNativeReflectConstruct$260, "_isNativeReflectConstruct");
		ResetSettings = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function ResetSettings() {
				_classCallCheck(this, ResetSettings);
				return _callSuper$260(this, ResetSettings, arguments);
			}
			_inherits(ResetSettings, _$e$modules$editor$do);
			return _createClass(ResetSettings, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							type: "reset_settings"
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						var _args$settings = args.settings;
						var settings = _args$settings === void 0 ? [] : _args$settings;
						containers.forEach(function(container) {
							var controls = Object.entries(container.settings.controls);
							var defaultValues = {};
							controls.forEach(function(_ref) {
								var _ref2 = _slicedToArray(_ref, 2);
								var controlName = _ref2[0];
								var control = _ref2[1];
								if (settings && settings.length) {
									if (!settings.find(function(key) {
										return key === controlName;
									})) return;
								}
								defaultValues[controlName] = control.default;
							});
							defaultValues.__globals__ = {};
							$e.run("document/elements/settings", {
								container,
								options,
								settings: defaultValues
							});
							container.render();
						});
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/reset-style.js
	function _callSuper$259(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$259() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$259() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$259 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ResetStyle;
	var init_reset_style = __esmMin((() => {
		init_slicedToArray();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$259, "_callSuper");
		__name(_isNativeReflectConstruct$259, "_isNativeReflectConstruct");
		ResetStyle = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function ResetStyle() {
				_classCallCheck(this, ResetStyle);
				return _callSuper$259(this, ResetStyle, arguments);
			}
			_inherits(ResetStyle, _$e$modules$editor$do);
			return _createClass(ResetStyle, [
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							type: "reset_style"
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
							var controls = container.settings.controls;
							var settingsKeys = [];
							container.view.allowRender = false;
							Object.entries(controls).forEach(function(_ref) {
								var _ref2 = _slicedToArray(_ref, 2);
								var controlName = _ref2[0];
								var control = _ref2[1];
								if (!container.view.isStyleTransferControl(control)) return;
								settingsKeys.push(controlName);
							});
							$e.run("document/elements/reset-settings", {
								container,
								settings: settingsKeys,
								options: { external: true }
							});
							container.view.allowRender = true;
							container.render();
						});
					}
				}
			]);
		}($e.modules.editor.document.CommandHistoryBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/select.js
	function _callSuper$258(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$258() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$258() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$258 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Select$1;
	var init_select = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$258, "_callSuper");
		__name(_isNativeReflectConstruct$258, "_isNativeReflectConstruct");
		Select$1 = /*#__PURE__*/ function(_$e$modules$editor$Co) {
			function Select() {
				_classCallCheck(this, Select);
				return _callSuper$258(this, Select, arguments);
			}
			_inherits(Select, _$e$modules$editor$Co);
			return _createClass(Select, [{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
				}
			}, {
				key: "apply",
				value: function apply(args) {
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var _args$append = args.append;
					var append = _args$append === void 0 ? false : _args$append;
					elementor.selection.add(containers, append);
				}
			}]);
		}($e.modules.editor.CommandContainerBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/select-all.js
	function _createForOfIteratorHelper$8(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$8(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	function _unsupportedIterableToArray$8(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$8(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$8(r, a) : void 0;
		}
	}
	function _arrayLikeToArray$8(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	function _callSuper$257(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$257() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$257() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$257 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var SelectAll;
	var init_select_all = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_createForOfIteratorHelper$8, "_createForOfIteratorHelper");
		__name(_unsupportedIterableToArray$8, "_unsupportedIterableToArray");
		__name(_arrayLikeToArray$8, "_arrayLikeToArray");
		__name(_callSuper$257, "_callSuper");
		__name(_isNativeReflectConstruct$257, "_isNativeReflectConstruct");
		SelectAll = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function SelectAll() {
				_classCallCheck(this, SelectAll);
				return _callSuper$257(this, SelectAll, arguments);
			}
			_inherits(SelectAll, _$e$modules$CommandBa);
			return _createClass(SelectAll, [{
				key: "apply",
				value: function apply() {
					elementor.selection.add(this.flattenContainersList(elementor.elementsModel.get("elements").map(function(element) {
						return elementor.getContainer(element.id);
					})));
				}
			}, {
				key: "flattenContainersList",
				value: function flattenContainersList() {
					var containers = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
					var flatten = [];
					var _iterator = _createForOfIteratorHelper$8(containers);
					var _step;
					try {
						for (_iterator.s(); !(_step = _iterator.n()).done;) {
							var container = _step.value;
							flatten.push(container);
							if (container.children.length) flatten = flatten.concat(this.flattenContainersList(container.children));
						}
					} catch (err) {
						_iterator.e(err);
					} finally {
						_iterator.f();
					}
					return flatten;
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/settings.js
	function _callSuper$256(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$256() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$256() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$256 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Settings$2;
	var init_settings$2 = __esmMin((() => {
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$256, "_callSuper");
		__name(_isNativeReflectConstruct$256, "_isNativeReflectConstruct");
		Settings$2 = /*#__PURE__*/ function(_$e$modules$editor$do) {
			function Settings() {
				_classCallCheck(this, Settings);
				return _callSuper$256(this, Settings, arguments);
			}
			_inherits(Settings, _$e$modules$editor$do);
			return _createClass(Settings, [
				{
					key: "addToHistory",
					value: function addToHistory(container, newSettings, oldSettings) {
						var changes = _defineProperty({}, container.id, {
							old: oldSettings,
							new: newSettings
						});
						var historyItem = {
							containers: [container],
							data: { changes },
							type: "change",
							restore: Settings.restore
						};
						$e.internal("document/history/add-transaction", historyItem);
					}
				},
				{
					key: "validateArgs",
					value: function validateArgs(args) {
						this.requireContainer(args);
						this.requireArgumentConstructor("settings", Object, args);
					}
				},
				{
					key: "getHistory",
					value: function getHistory(args) {
						var _args$containers = args.containers;
						return {
							containers: _args$containers === void 0 ? [args.container] : _args$containers,
							subTitle: this.constructor.getSubTitle(args),
							type: "change"
						};
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _this = this;
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						var _args$settings = args.settings;
						var settings = _args$settings === void 0 ? {} : _args$settings;
						var _args$isMultiSettings = args.isMultiSettings;
						var isMultiSettings = _args$isMultiSettings === void 0 ? false : _args$isMultiSettings;
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						containers.forEach(function(container) {
							container = container.lookup();
							/**
							* Settings support multi settings for each container, eg use:
							* settings: { '{ container-id }': { someSettingKey: someSettingValue } } etc.
							*/
							var newSettings = isMultiSettings ? settings[container.id] : settings;
							var oldSettings = container.settings.toJSON();
							container.oldValues = {};
							Object.keys(newSettings).forEach(function(key) {
								container.oldValues[key] = oldSettings[key];
							});
							if (_this.isHistoryActive()) _this.addToHistory(container, newSettings, container.oldValues);
							$e.internal("document/elements/set-settings", {
								container,
								options,
								settings: newSettings
							});
						});
					}
				}
			], [{
				key: "getSubTitle",
				value: function getSubTitle(args) {
					var _args$containers3 = args.containers;
					var containers = _args$containers3 === void 0 ? [args.container] : _args$containers3;
					var _args$settings2 = args.settings;
					var settings = _args$settings2 === void 0 ? {} : _args$settings2;
					var isMultiSettings = args.isMultiSettings;
					var settingsKeys = Object.keys(settings);
					var controls = containers[0].controls;
					var firstSettingKey = settingsKeys[0];
					var result = "";
					if (!isMultiSettings && 1 === settingsKeys.length && controls && controls[firstSettingKey]) result = controls[firstSettingKey].label;
					return result;
				}
			}, {
				key: "restore",
				value: function restore(historyItem, isRedo) {
					var data = historyItem.get("data");
					historyItem.get("containers").forEach(function(container) {
						var changes = data.changes[container.id];
						$e.run("document/elements/settings", {
							container,
							settings: isRedo ? changes.new : changes.old,
							options: { external: true }
						});
					});
				}
			}]);
		}($e.modules.editor.document.CommandHistoryDebounceBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/toggle-selection.js
	function _callSuper$255(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$255() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$255() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$255 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ToggleSelection;
	var init_toggle_selection = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$255, "_callSuper");
		__name(_isNativeReflectConstruct$255, "_isNativeReflectConstruct");
		ToggleSelection = /*#__PURE__*/ function(_$e$modules$editor$Co) {
			function ToggleSelection() {
				_classCallCheck(this, ToggleSelection);
				return _callSuper$255(this, ToggleSelection, arguments);
			}
			_inherits(ToggleSelection, _$e$modules$editor$Co);
			return _createClass(ToggleSelection, [{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
				}
			}, {
				key: "apply",
				value: function apply(args) {
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var _args$append = args.append;
					var append = _args$append === void 0 ? false : _args$append;
					containers.forEach(function(container) {
						$e.run(elementor.selection.has(container) && append ? "document/elements/deselect" : "document/elements/select", args);
					});
				}
			}]);
		}($e.modules.editor.CommandContainerBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/elements/commands/index.js
	var commands_exports$19 = /* @__PURE__ */ __exportAll({
		Copy: () => Copy$1,
		CopyAll: () => CopyAll,
		Create: () => Create$3,
		Delete: () => Delete$2,
		Deselect: () => Deselect,
		DeselectAll: () => DeselectAll,
		Duplicate: () => Duplicate$2,
		Empty: () => Empty,
		Import: () => Import$1,
		Move: () => Move$1,
		Paste: () => Paste$1,
		PasteArea: () => PasteArea,
		PasteInteractions: () => PasteInteractions,
		PasteStyle: () => PasteStyle$1,
		ResetSettings: () => ResetSettings,
		ResetStyle: () => ResetStyle,
		Select: () => Select$1,
		SelectAll: () => SelectAll,
		Settings: () => Settings$2,
		ToggleSelection: () => ToggleSelection
	});
	var init_commands$5 = __esmMin((() => {
		init_copy();
		init_copy_all();
		init_create$3();
		init_delete$2();
		init_deselect();
		init_deselect_all();
		init_duplicate();
		init_empty$1();
		init_import();
		init_paste$1();
		init_paste_area();
		init_paste_interactions();
		init_move$1();
		init_paste_style();
		init_reset_settings();
		init_reset_style();
		init_select();
		init_select_all();
		init_settings$2();
		init_toggle_selection();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/helper.js
	var Helper;
	var init_helper = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_commands$5();
		Helper = /*#__PURE__*/ function() {
			function Helper() {
				_classCallCheck(this, Helper);
			}
			return _createClass(Helper, null, [{
				key: "createSectionColumns",
				value: function createSectionColumns(containers, columns, options) {
					var structure = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
					containers.forEach(function(container) {
						for (var loopIndex = 0; loopIndex < columns; loopIndex++) {
							var model = {
								id: elementorCommon.helpers.getUniqueId(),
								elType: "column",
								settings: {},
								elements: []
							};
							/**
							* TODO: Try improve performance of using 'document/elements/create` instead of manual create.
							*/
							container.view.addElement(model, { edit: false });
							/**
							* Manual history & not using of `$e.run('document/elements/create')`
							* For performance reasons.
							*/
							$e.internal("document/history/log-sub-item", {
								container,
								type: "sub-add",
								restore: Create$3.restore,
								options,
								data: {
									containerToRestore: container,
									modelToRestore: model
								}
							});
						}
					});
					if (structure) containers.forEach(function(container) {
						container.view.setStructure(structure, false);
					});
					else if (columns) {
						containers.forEach(function(container) {
							return container.view.resetLayout();
						});
						containers[containers.length - 1].model.trigger("request:edit");
					}
				}
			}]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/create/inner-section-columns.js
	function _callSuper$254(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$254() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$254() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$254 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_section$2, InnerSectionColumns;
	var init_inner_section_columns = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		init_helper();
		import_section$2 = /* @__PURE__ */ __toESM(require_section$1());
		__name(_callSuper$254, "_callSuper");
		__name(_isNativeReflectConstruct$254, "_isNativeReflectConstruct");
		InnerSectionColumns = /*#__PURE__*/ function(_After) {
			function InnerSectionColumns() {
				_classCallCheck(this, InnerSectionColumns);
				return _callSuper$254(this, InnerSectionColumns, arguments);
			}
			_inherits(InnerSectionColumns, _After);
			return _createClass(InnerSectionColumns, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "create-inner-section-columns";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "column";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return args.model.isInner && !args.model.elements;
					}
				},
				{
					key: "apply",
					value: function apply(args, containers) {
						var _args$structure = args.structure;
						var structure = _args$structure === void 0 ? "20" : _args$structure;
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						if (!Array.isArray(containers)) containers = [containers];
						Helper.createSectionColumns(containers, import_section$2.DEFAULT_INNER_SECTION_COLUMNS, options, structure);
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/hooks/data/dependency.js
	function _callSuper$253(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$253() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$253() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$253 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Dependency;
	var init_dependency = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_base$1();
		__name(_callSuper$253, "_callSuper");
		__name(_isNativeReflectConstruct$253, "_isNativeReflectConstruct");
		Dependency = /*#__PURE__*/ function(_Base) {
			function Dependency() {
				_classCallCheck(this, Dependency);
				return _callSuper$253(this, Dependency, arguments);
			}
			_inherits(Dependency, _Base);
			return _createClass(Dependency, [{
				key: "register",
				value: function register() {
					$e.hooks.registerDataDependency(this);
				}
			}]);
		}(Base$2);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/create/is-valid-child.js
	function _callSuper$252(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$252() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$252() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$252 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var IsValidChild;
	var init_is_valid_child = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_dependency();
		__name(_callSuper$252, "_callSuper");
		__name(_isNativeReflectConstruct$252, "_isNativeReflectConstruct");
		IsValidChild = /*#__PURE__*/ function(_Dependency) {
			function IsValidChild() {
				_classCallCheck(this, IsValidChild);
				return _callSuper$252(this, IsValidChild, arguments);
			}
			_inherits(IsValidChild, _Dependency);
			return _createClass(IsValidChild, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "is-valid-child";
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						var containers = _args$containers === void 0 ? [args.container] : _args$containers;
						var _args$model = args.model;
						var model = _args$model === void 0 ? {} : _args$model;
						var modelToCreate = new Backbone.Model(model);
						return containers.some(function(container) {
							return container.model.isValidChild(modelToCreate);
						});
					}
				}
			]);
		}(Dependency);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/create/section-columns.js
	function _callSuper$251(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$251() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$251() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$251 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_section$1, SectionColumns;
	var init_section_columns = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		init_helper();
		import_section$1 = /* @__PURE__ */ __toESM(require_section$1());
		__name(_callSuper$251, "_callSuper");
		__name(_isNativeReflectConstruct$251, "_isNativeReflectConstruct");
		SectionColumns = /*#__PURE__*/ function(_After) {
			function SectionColumns() {
				_classCallCheck(this, SectionColumns);
				return _callSuper$251(this, SectionColumns, arguments);
			}
			_inherits(SectionColumns, _After);
			return _createClass(SectionColumns, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "create-section-columns";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "document";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return !args.model.elements && "section" === args.model.elType;
					}
				},
				{
					key: "apply",
					value: function apply(args, containers) {
						var _args$structure = args.structure;
						var structure = _args$structure === void 0 ? false : _args$structure;
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						if (!Array.isArray(containers)) containers = [containers];
						var _args$columns = args.columns;
						var columns = _args$columns === void 0 ? 1 : _args$columns;
						if (args.model.isInner && 1 === columns) columns = import_section$1.DEFAULT_INNER_SECTION_COLUMNS;
						Helper.createSectionColumns(containers, columns, options, structure);
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/create/section-columns-limit.js
	function _callSuper$250(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$250() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$250() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$250 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var SectionColumnsLimit;
	var init_section_columns_limit = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_dependency();
		__name(_callSuper$250, "_callSuper");
		__name(_isNativeReflectConstruct$250, "_isNativeReflectConstruct");
		SectionColumnsLimit = /*#__PURE__*/ function(_Dependency) {
			function SectionColumnsLimit() {
				_classCallCheck(this, SectionColumnsLimit);
				return _callSuper$250(this, SectionColumnsLimit, arguments);
			}
			_inherits(SectionColumnsLimit, _Dependency);
			return _createClass(SectionColumnsLimit, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "section-columns-limit";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "section";
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						return !(_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return container.view.isCollectionFilled();
						});
					}
				}
			]);
		}(Dependency);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/create/index.js
	var init_create$2 = __esmMin((() => {
		init_create_section_columns_reset_layout();
		init_inner_section_columns();
		init_is_valid_child();
		init_section_columns();
		init_section_columns_limit();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/delete/create-column-for-empty-section.js
	function _callSuper$249(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$249() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$249() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$249 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var CreateColumnForEmptySection;
	var init_create_column_for_empty_section = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		__name(_callSuper$249, "_callSuper");
		__name(_isNativeReflectConstruct$249, "_isNativeReflectConstruct");
		CreateColumnForEmptySection = /*#__PURE__*/ function(_After) {
			function CreateColumnForEmptySection() {
				_classCallCheck(this, CreateColumnForEmptySection);
				return _callSuper$249(this, CreateColumnForEmptySection, arguments);
			}
			_inherits(CreateColumnForEmptySection, _After);
			return _createClass(CreateColumnForEmptySection, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/delete";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "create-column-for-empty-section--document/elements/delete";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "column";
					}
				},
				{
					key: "getConditions",
					value: function getConditions() {
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return "section" === container.parent.type && 0 === container.parent.children.length;
						});
					}
				},
				{
					key: "apply",
					value: function apply(args, containers) {
						if (!Array.isArray(containers)) containers = [containers];
						containers.forEach(function(container) {
							var parent = container.parent;
							if (0 === parent.children.length) $e.run("document/elements/create", {
								container: parent,
								model: { elType: "column" }
							});
						});
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/delete/delete-column-columns-reset-layout.js
	function _callSuper$248(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$248() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$248() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$248 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var DeleteColumnColumnsResetLayout;
	var init_delete_column_columns_reset_layout = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_reset_layout_base();
		__name(_callSuper$248, "_callSuper");
		__name(_isNativeReflectConstruct$248, "_isNativeReflectConstruct");
		DeleteColumnColumnsResetLayout = /*#__PURE__*/ function(_ResetLayoutBase) {
			function DeleteColumnColumnsResetLayout() {
				_classCallCheck(this, DeleteColumnColumnsResetLayout);
				return _callSuper$248(this, DeleteColumnColumnsResetLayout, arguments);
			}
			_inherits(DeleteColumnColumnsResetLayout, _ResetLayoutBase);
			return _createClass(DeleteColumnColumnsResetLayout, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/delete";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "section-columns-reset-layout--document/elements/delete";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "column";
					}
				}
			]);
		}(ResetLayoutBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/delete/index.js
	var init_delete$1 = __esmMin((() => {
		init_create_column_for_empty_section();
		init_delete_column_columns_reset_layout();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/move/section-columns-set-structure.js
	function _callSuper$247(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$247() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$247() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$247 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var SectionColumnsSetStructure;
	var init_section_columns_set_structure = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		__name(_callSuper$247, "_callSuper");
		__name(_isNativeReflectConstruct$247, "_isNativeReflectConstruct");
		SectionColumnsSetStructure = /*#__PURE__*/ function(_After) {
			function SectionColumnsSetStructure() {
				_classCallCheck(this, SectionColumnsSetStructure);
				return _callSuper$247(this, SectionColumnsSetStructure, arguments);
			}
			_inherits(SectionColumnsSetStructure, _After);
			return _createClass(SectionColumnsSetStructure, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/move";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "section-columns-set-structure";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "column";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						var _args$containers = args.containers;
						var containers = _args$containers === void 0 ? [args.container] : _args$containers;
						var target = args.target;
						return containers.some(function(container) {
							return container.parent !== target;
						});
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
						var target = args.target;
						containers.forEach(function(container) {
							return container.parent.view.resetLayout();
						});
						target.view.resetLayout();
						return true;
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/move/index.js
	var init_move = __esmMin((() => {
		init_section_columns_set_structure();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/paste/is-paste-enabled.js
	function _callSuper$246(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$246() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$246() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$246 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var IsPasteEnabled;
	var init_is_paste_enabled = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_dependency();
		__name(_callSuper$246, "_callSuper");
		__name(_isNativeReflectConstruct$246, "_isNativeReflectConstruct");
		IsPasteEnabled = /*#__PURE__*/ function(_Dependency) {
			function IsPasteEnabled() {
				_classCallCheck(this, IsPasteEnabled);
				return _callSuper$246(this, IsPasteEnabled, arguments);
			}
			_inherits(IsPasteEnabled, _Dependency);
			return _createClass(IsPasteEnabled, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/paste";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "is-paste-enabled";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return !args.rebuild;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return $e.components.get("document/elements").utils.isPasteEnabled(container);
						});
					}
				}
			]);
		}(Dependency);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/paste/index.js
	var init_paste = __esmMin((() => {
		init_is_paste_enabled();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/settings/handle-dynamic.js
	function _callSuper$245(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$245() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$245() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$245 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var HandleDynamic;
	var init_handle_dynamic = __esmMin((() => {
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		__name(_callSuper$245, "_callSuper");
		__name(_isNativeReflectConstruct$245, "_isNativeReflectConstruct");
		HandleDynamic = /*#__PURE__*/ function(_After) {
			function HandleDynamic() {
				_classCallCheck(this, HandleDynamic);
				return _callSuper$245(this, HandleDynamic, arguments);
			}
			_inherits(HandleDynamic, _After);
			return _createClass(HandleDynamic, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "handle-dynamic";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "dynamic";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return "dynamic" === container.type;
						});
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
							if ("dynamic" === container.type) {
								var tagText = elementor.dynamicTags.tagContainerToTagText(container);
								var commandArgs = {
									container: container.parent,
									settings: _defineProperty({}, container.view.options.controlName, tagText)
								};
								$e.run("document/dynamic/settings", commandArgs);
							}
						});
						return true;
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/settings/resize-column.js
	function _callSuper$244(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$244() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$244() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$244 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ResizeColumn;
	var init_resize_column = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		__name(_callSuper$244, "_callSuper");
		__name(_isNativeReflectConstruct$244, "_isNativeReflectConstruct");
		ResizeColumn = /*#__PURE__*/ function(_After) {
			function ResizeColumn() {
				_classCallCheck(this, ResizeColumn);
				return _callSuper$244(this, ResizeColumn, arguments);
			}
			_inherits(ResizeColumn, _After);
			return _createClass(ResizeColumn, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "resize-column";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "column";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return args.settings._inline_size;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _this = this;
						var _args$containers = args.containers;
						(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
							_this.resizeColumn(container, args.settings._inline_size);
						});
						return true;
					}
				},
				{
					key: "resizeColumn",
					value: function resizeColumn(container, newSize) {
						var nextContainer = container.parent.view.getNeighborContainer(container);
						if (!nextContainer) return false;
						var parentView = container.parent.view;
						var currentColumnView = container.view;
						var currentSize = null;
						if (void 0 === container.oldValues || null === container.oldValues._inline_size) currentSize = container.settings.get("_column_size");
						else {
							var totalWidth = parentView.$el.find(" > .elementor-container")[0].getBoundingClientRect().width;
							currentSize = +(container.oldValues._inline_size || currentColumnView.el.getBoundingClientRect().width / totalWidth * 100);
						}
						var nextChildView = nextContainer.view;
						var $nextElement = nextChildView.$el;
						var nextElementCurrentSize = +nextChildView.model.getSetting("_inline_size") || container.parent.view.getColumnPercentSize($nextElement, $nextElement[0].getBoundingClientRect().width);
						var nextElementNewSize = +(currentSize + nextElementCurrentSize - newSize).toFixed(3);
						/**
						* TODO: Hook prevented ( next command will not call recursive hook ), but we didnt tell the hook to be prevented
						* consider: '$e.hooks.preventRecursive()'.
						*/
						$e.run("document/elements/settings", {
							containers: [nextContainer],
							settings: { _inline_size: nextElementNewSize },
							options: {
								callbacks: { "resize-column-limit": false },
								history: { title: elementor.config.elements.column.controls._inline_size.label },
								external: true,
								debounce: true
							}
						});
						return true;
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/settings/resize-column-limit.js
	function _callSuper$243(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$243() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$243() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$243 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_section, ResizeColumnLimit;
	var init_resize_column_limit = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_dependency();
		import_section = /* @__PURE__ */ __toESM(require_section$1());
		__name(_callSuper$243, "_callSuper");
		__name(_isNativeReflectConstruct$243, "_isNativeReflectConstruct");
		ResizeColumnLimit = /*#__PURE__*/ function(_Dependency) {
			function ResizeColumnLimit() {
				_classCallCheck(this, ResizeColumnLimit);
				return _callSuper$243(this, ResizeColumnLimit, arguments);
			}
			_inherits(ResizeColumnLimit, _Dependency);
			return _createClass(ResizeColumnLimit, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "resize-column-limit";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "column";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return args.settings._inline_size;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							var parentView = container.parent.view;
							var columnView = container.view;
							var currentSize = container.settings.get("_inline_size") || container.settings.get("_column_size");
							var newSize = args.settings._inline_size;
							var nextChildView = parentView.getNextColumn(columnView) || parentView.getPreviousColumn(columnView);
							if (!nextChildView) {
								if ($e.devTools) $e.devTools.log.error("There is not any next column");
								return false;
							}
							var $nextElement = nextChildView.$el;
							if (+(currentSize + (+nextChildView.model.getSetting("_inline_size") || parentView.getColumnPercentSize($nextElement, $nextElement[0].getBoundingClientRect().width)) - newSize).toFixed(3) < import_section.DEFAULT_INNER_SECTION_COLUMNS) {
								if ($e.devTools) $e.devTools.log.error("New column width is too large");
								return false;
							}
							if (newSize < import_section.DEFAULT_INNER_SECTION_COLUMNS) {
								if ($e.devTools) $e.devTools.log.error("New column width is too small");
								return false;
							}
							return true;
						});
					}
				}
			]);
		}(Dependency);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/settings/set-structure.js
	function _callSuper$242(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$242() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$242() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$242 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var SetStructure;
	var init_set_structure = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		__name(_callSuper$242, "_callSuper");
		__name(_isNativeReflectConstruct$242, "_isNativeReflectConstruct");
		SetStructure = /*#__PURE__*/ function(_After) {
			function SetStructure() {
				_classCallCheck(this, SetStructure);
				return _callSuper$242(this, SetStructure, arguments);
			}
			_inherits(SetStructure, _After);
			return _createClass(SetStructure, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "set-structure";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "section";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return !!args.settings.structure;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
							container.view.adjustColumns();
						});
						return true;
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/document/elements/settings/index.js
	var init_settings$1 = __esmMin((() => {
		init_handle_dynamic();
		init_resize_column();
		init_resize_column_limit();
		init_set_structure();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/data/index.js
	var init_data = __esmMin((() => {
		init_create$2();
		init_delete$1();
		init_move();
		init_paste();
		init_settings$1();
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/hooks/ui/base.js
	function _callSuper$241(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$241() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$241() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$241 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Base$1;
	var init_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_hook_base();
		__name(_callSuper$241, "_callSuper");
		__name(_isNativeReflectConstruct$241, "_isNativeReflectConstruct");
		Base$1 = /*#__PURE__*/ function(_HookBase) {
			function Base() {
				_classCallCheck(this, Base);
				return _callSuper$241(this, Base, arguments);
			}
			_inherits(Base, _HookBase);
			return _createClass(Base, [{
				key: "getType",
				value: function getType() {
					return "ui";
				}
			}]);
		}(HookBase);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/hooks/ui/after.js
	function _callSuper$240(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$240() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$240() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$240 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var After;
	var init_after = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_base();
		__name(_callSuper$240, "_callSuper");
		__name(_isNativeReflectConstruct$240, "_isNativeReflectConstruct");
		After = /*#__PURE__*/ function(_Base) {
			function After() {
				_classCallCheck(this, After);
				return _callSuper$240(this, After, arguments);
			}
			_inherits(After, _Base);
			return _createClass(After, [{
				key: "register",
				value: function register() {
					$e.hooks.registerUIAfter(this);
				}
			}]);
		}(Base$1);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/create/column-is-populated.js
	function _callSuper$239(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$239() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$239() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$239 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ColumnIsPopulated;
	var init_column_is_populated = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$239, "_callSuper");
		__name(_isNativeReflectConstruct$239, "_isNativeReflectConstruct");
		ColumnIsPopulated = /*#__PURE__*/ function(_After) {
			function ColumnIsPopulated() {
				_classCallCheck(this, ColumnIsPopulated);
				return _callSuper$239(this, ColumnIsPopulated, arguments);
			}
			_inherits(ColumnIsPopulated, _After);
			return _createClass(ColumnIsPopulated, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "column-is-populated";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return "column" === container.model.get("elType");
						});
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
							if ("column" === container.model.get("elType")) container.view.changeChildContainerClasses();
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/create/section-is-full.js
	function _callSuper$238(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$238() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$238() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$238 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var CreateSectionIsFull;
	var init_section_is_full$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$238, "_callSuper");
		__name(_isNativeReflectConstruct$238, "_isNativeReflectConstruct");
		CreateSectionIsFull = /*#__PURE__*/ function(_After) {
			function CreateSectionIsFull() {
				_classCallCheck(this, CreateSectionIsFull);
				return _callSuper$238(this, CreateSectionIsFull, arguments);
			}
			_inherits(CreateSectionIsFull, _After);
			return _createClass(CreateSectionIsFull, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "create-section-is-full";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return "section" === container.model.get("elType");
						});
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
							if ("section" === container.model.get("elType")) container.view.toggleSectionIsFull();
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/create/index.js
	var init_create$1 = __esmMin((() => {
		init_column_is_populated();
		init_section_is_full$1();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/delete/column-is-empty.js
	function _callSuper$237(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$237() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$237() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$237 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ColumnIsEmpty;
	var init_column_is_empty = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$237, "_callSuper");
		__name(_isNativeReflectConstruct$237, "_isNativeReflectConstruct");
		ColumnIsEmpty = /*#__PURE__*/ function(_After) {
			function ColumnIsEmpty() {
				_classCallCheck(this, ColumnIsEmpty);
				return _callSuper$237(this, ColumnIsEmpty, arguments);
			}
			_inherits(ColumnIsEmpty, _After);
			return _createClass(ColumnIsEmpty, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/delete";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "column-is-empty";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return "column" === container.parent.model.get("elType");
						});
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
							if ("column" === container.parent.model.get("elType")) container.parent.view.changeChildContainerClasses();
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/delete/section-is-full.js
	function _callSuper$236(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$236() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$236() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$236 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var DeleteSectionIsFull;
	var init_section_is_full = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$236, "_callSuper");
		__name(_isNativeReflectConstruct$236, "_isNativeReflectConstruct");
		DeleteSectionIsFull = /*#__PURE__*/ function(_After) {
			function DeleteSectionIsFull() {
				_classCallCheck(this, DeleteSectionIsFull);
				return _callSuper$236(this, DeleteSectionIsFull, arguments);
			}
			_inherits(DeleteSectionIsFull, _After);
			return _createClass(DeleteSectionIsFull, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/delete";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "delete-section-is-full";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return "column" === container.model.get("elType");
						});
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
							if ("column" === container.model.get("elType")) container.parent.view.toggleSectionIsFull();
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/delete/index.js
	var init_delete = __esmMin((() => {
		init_column_is_empty();
		init_section_is_full();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/document/elements/create/move-resizeable-handle.js
	function _callSuper$235(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$235() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$235() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$235 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var MoveResizeableHandle;
	var init_move_resizeable_handle = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$235, "_callSuper");
		__name(_isNativeReflectConstruct$235, "_isNativeReflectConstruct");
		MoveResizeableHandle = /*#__PURE__*/ function(_After) {
			function MoveResizeableHandle() {
				_classCallCheck(this, MoveResizeableHandle);
				return _callSuper$235(this, MoveResizeableHandle, arguments);
			}
			_inherits(MoveResizeableHandle, _After);
			return _createClass(MoveResizeableHandle, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/create";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "move-resizeable-handle";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						var _args$containers = args.containers;
						return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
							return "container" === container.model.get("elType");
						});
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers2 = args.containers;
						(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
							var $el = container.view.$el;
							var $resizeHandle = $el.find("> .ui-resizable-handle").first();
							if (!$resizeHandle) return;
							$el.append($resizeHandle);
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/document/elements/create/index.js
	var init_create = __esmMin((() => {
		init_move_resizeable_handle();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/change-post-title.js
	function _callSuper$234(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$234() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$234() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$234 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ChangePostTitle;
	var init_change_post_title = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$234, "_callSuper");
		__name(_isNativeReflectConstruct$234, "_isNativeReflectConstruct");
		ChangePostTitle = /*#__PURE__*/ function(_After) {
			function ChangePostTitle() {
				_classCallCheck(this, ChangePostTitle);
				return _callSuper$234(this, ChangePostTitle, arguments);
			}
			_inherits(ChangePostTitle, _After);
			return _createClass(ChangePostTitle, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "change-post-title";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "document";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return void 0 !== args.settings.post_title;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						elementorFrontend.elements.$document.find(elementor.config.page_title_selector).text(args.settings.post_title);
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/column-change-size.js
	function _callSuper$233(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$233() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$233() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$233 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ColumnChangeSize;
	var init_column_change_size = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$233, "_callSuper");
		__name(_isNativeReflectConstruct$233, "_isNativeReflectConstruct");
		ColumnChangeSize = /*#__PURE__*/ function(_After) {
			function ColumnChangeSize() {
				_classCallCheck(this, ColumnChangeSize);
				return _callSuper$233(this, ColumnChangeSize, arguments);
			}
			_inherits(ColumnChangeSize, _After);
			return _createClass(ColumnChangeSize, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "column-change-size";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return void 0 !== args.settings._inline_size || void 0 !== args.settings._column_size;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
							container.view.changeSizeUI();
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/draggable.js
	function _callSuper$232(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$232() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$232() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$232 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Draggable;
	var init_draggable = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$232, "_callSuper");
		__name(_isNativeReflectConstruct$232, "_isNativeReflectConstruct");
		Draggable = /*#__PURE__*/ function(_After) {
			function Draggable() {
				_classCallCheck(this, Draggable);
				return _callSuper$232(this, Draggable, arguments);
			}
			_inherits(Draggable, _After);
			return _createClass(Draggable, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "draggable";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return void 0 !== args.settings._position;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
							if (container.view.options.draggable) container.view.options.draggable.toggle();
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/exit-to.js
	function _callSuper$231(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$231() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$231() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$231 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ExitTo;
	var init_exit_to = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$231, "_callSuper");
		__name(_isNativeReflectConstruct$231, "_isNativeReflectConstruct");
		ExitTo = /*#__PURE__*/ function(_After) {
			function ExitTo() {
				_classCallCheck(this, ExitTo);
				return _callSuper$231(this, ExitTo, arguments);
			}
			_inherits(ExitTo, _After);
			return _createClass(ExitTo, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "exit-to";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "editorPreferences_settings";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return void 0 !== args.settings.exit_to;
					}
				},
				{
					key: "apply",
					value: function apply() {
						elementor.getPanelView().getPages("menu").view.addExitItem();
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/resizeable.js
	function _callSuper$230(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$230() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$230() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$230 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Resizeable;
	var init_resizeable = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$230, "_callSuper");
		__name(_isNativeReflectConstruct$230, "_isNativeReflectConstruct");
		Resizeable = /*#__PURE__*/ function(_After) {
			function Resizeable() {
				_classCallCheck(this, Resizeable);
				return _callSuper$230(this, Resizeable, arguments);
			}
			_inherits(Resizeable, _After);
			return _createClass(Resizeable, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "resizeable";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return void 0 !== args.settings._position || void 0 !== args.settings._element_width;
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						var _args$containers = args.containers;
						(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
							if (container.view.options.resizeable) container.view.options.resizeable.toggle();
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/reload-preview.js
	function _callSuper$229(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$229() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$229() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$229 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ReloadPreview;
	var init_reload_preview = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$229, "_callSuper");
		__name(_isNativeReflectConstruct$229, "_isNativeReflectConstruct");
		ReloadPreview = /*#__PURE__*/ function(_After) {
			function ReloadPreview() {
				_classCallCheck(this, ReloadPreview);
				return _callSuper$229(this, ReloadPreview, arguments);
			}
			_inherits(ReloadPreview, _After);
			return _createClass(ReloadPreview, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "save-layout";
					}
				},
				{
					key: "getContainerType",
					value: function getContainerType() {
						return "document";
					}
				},
				{
					key: "getConditions",
					value: function getConditions(args) {
						return !!args.settings.template;
					}
				},
				{
					key: "apply",
					value: function apply() {
						return $e.run("document/save/auto", { force: true }).then(function() {
							elementor.reloadPreview();
							elementor.once("preview:loaded", function() {
								$e.route("panel/page-settings/settings");
							});
						});
					}
				}
			]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/set-direction-mode.js
	function _callSuper$228(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$228() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$228() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$228 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var SetDirectionMode;
	var init_set_direction_mode = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after();
		__name(_callSuper$228, "_callSuper");
		__name(_isNativeReflectConstruct$228, "_isNativeReflectConstruct");
		SetDirectionMode = /*#__PURE__*/ function(_After) {
			function SetDirectionMode() {
				_classCallCheck(this, SetDirectionMode);
				return _callSuper$228(this, SetDirectionMode, arguments);
			}
			_inherits(SetDirectionMode, _After);
			return _createClass(SetDirectionMode, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/elements/settings";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "set-direction-mode--document/elements/settings";
					}
				},
				{
					key: "hasUiStates",
					value: function hasUiStates(container) {
						var _container$renderer;
						return !!((_container$renderer = container.renderer) !== null && _container$renderer !== void 0 && (_container$renderer = _container$renderer.view) !== null && _container$renderer !== void 0 && _container$renderer.getCurrentUiStates);
					}
				},
				{
					key: "getConditions",
					value: function getConditions() {
						var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
						return (args.container ? [args.container] : args.containers).some(this.hasUiStates);
					}
				},
				{
					key: "apply",
					value: function apply(args) {
						(args.container ? [args.container] : args.containers).filter(this.hasUiStates).forEach(function(container) {
							return SetDirectionMode.set(container);
						});
					}
				}
			], [{
				key: "set",
				value: function set(container) {
					var _view$getCurrentUiSta;
					container = "panel/editor/advanced" === $e.routes.getCurrent("panel") ? container.parent : container;
					var view = container.renderer.view;
					var direction = (_view$getCurrentUiSta = view.getCurrentUiStates) === null || _view$getCurrentUiSta === void 0 ? void 0 : _view$getCurrentUiSta.call(view).directionMode;
					if (direction) {
						$e.uiStates.set("document/direction-mode", direction);
						return;
					}
					$e.uiStates.remove("document/direction-mode");
				}
			}]);
		}(After);
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/settings/index.js
	var init_settings = __esmMin((() => {
		init_change_post_title();
		init_column_change_size();
		init_draggable();
		init_exit_to();
		init_resizeable();
		init_reload_preview();
		init_set_direction_mode();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/ui/index.js
	var init_ui = __esmMin((() => {
		init_create$1();
		init_delete();
		init_create();
		init_settings();
	}));

//#endregion
//#region assets/dev/js/editor/document/hooks/index.js
	var hooks_exports$5 = /* @__PURE__ */ __exportAll({
		ChangePostTitle: () => ChangePostTitle,
		ColumnChangeSize: () => ColumnChangeSize,
		ColumnIsEmpty: () => ColumnIsEmpty,
		ColumnIsPopulated: () => ColumnIsPopulated,
		CreateColumnForEmptySection: () => CreateColumnForEmptySection,
		CreateSectionColumnsResetLayout: () => CreateSectionColumnsResetLayout,
		CreateSectionIsFull: () => CreateSectionIsFull,
		DeleteColumnColumnsResetLayout: () => DeleteColumnColumnsResetLayout,
		DeleteSectionIsFull: () => DeleteSectionIsFull,
		Draggable: () => Draggable,
		ExitTo: () => ExitTo,
		HandleDynamic: () => HandleDynamic,
		InnerSectionColumns: () => InnerSectionColumns,
		IsPasteEnabled: () => IsPasteEnabled,
		IsValidChild: () => IsValidChild,
		MoveResizeableHandle: () => MoveResizeableHandle,
		ReloadPreview: () => ReloadPreview,
		ResizeColumn: () => ResizeColumn,
		ResizeColumnLimit: () => ResizeColumnLimit,
		Resizeable: () => Resizeable,
		SectionColumns: () => SectionColumns,
		SectionColumnsLimit: () => SectionColumnsLimit,
		SectionColumnsSetStructure: () => SectionColumnsSetStructure,
		SetDirectionMode: () => SetDirectionMode,
		SetStructure: () => SetStructure
	});
	var init_hooks$1 = __esmMin((() => {
		init_data();
		init_ui();
	}));

//#endregion
//#region modules/nested-elements/assets/js/editor/utils.js
	function isWidgetSupportNesting(widgetType) {
		var widgetConfig = elementor.widgetsCache[widgetType];
		if (!widgetConfig) return false;
		return widgetConfig.support_nesting;
	}
	function isWidgetSupportAtomicRepeaters(widgetType) {
		var widgetConfig = elementor.widgetsCache[widgetType];
		if (!widgetConfig) return false;
		return widgetConfig.support_improved_repeaters;
	}
	function widgetNodes(widgetType) {
		var widgetConfig = elementor.widgetsCache[widgetType];
		if (!widgetConfig) return false;
		return {
			targetContainer: widgetConfig.target_container,
			node: widgetConfig.node
		};
	}
	function shouldUseAtomicRepeaters(widgetType) {
		return isWidgetSupportNesting(widgetType) && isWidgetSupportAtomicRepeaters(widgetType);
	}
	var init_utils = __esmMin((() => {}));

//#endregion
//#region assets/dev/js/editor/elements/views/container.js
	var require_container = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_toConsumableArray();
		init_inline();
		init_widget_resizeable();
		init_container_helper();
		init_empty_view();
		init_hooks$1();
		init_utils();
		var import_element_types = require_element_types();
		var BaseElementView = require_base$2();
		var ContainerView = BaseElementView.extend({
			template: Marionette.TemplateCache.get("#tmpl-elementor-container-content"),
			emptyView: EmptyView,
			destroyEmptyView: function destroyEmptyView() {
				if (this.isFlexContainer()) return Marionette.CompositeView.prototype.destroyEmptyView.apply(this, arguments);
			},
			getChildViewContainer: function getChildViewContainer() {
				this.childViewContainer = this.isBoxedWidth() ? "> .e-con-inner" : "";
				return Marionette.CompositeView.prototype.getChildViewContainer.apply(this, arguments);
			},
			getChildType: function getChildType() {
				var allowedElementTypes = (0, import_element_types.getAllElementTypes)().filter(function(elType) {
					return elType !== "section" && elType !== "column";
				});
				return [].concat(_toConsumableArray(allowedElementTypes), ["widget"]);
			},
			className: function className() {
				var isNestedClassName = this.model.get("isInner") ? "e-child" : "e-parent";
				return "".concat(BaseElementView.prototype.className.apply(this), " e-con ").concat(isNestedClassName);
			},
			filterSettings: function filterSettings(newItem) {
				if (!(0, import_element_types.getAllElementTypes)().includes(newItem.elType)) return;
				var parentContainer = this;
				if (parentContainer.isBoxedWidth()) newItem.settings.content_width = "full";
				else if (0 !== parentContainer.getNestingLevel()) newItem.settings.content_width = "full";
			},
			childViewOptions: function childViewOptions() {
				return { emptyViewOwner: this };
			},
			tagName: function tagName() {
				return this.model.getSetting("html_tag") || "div";
			},
			ui: function ui() {
				var ui = BaseElementView.prototype.ui.apply(this, arguments);
				ui.percentsTooltip = "> .elementor-element-overlay .elementor-column-percents-tooltip";
				return ui;
			},
			getCurrentUiStates: function getCurrentUiStates() {
				var currentDeviceMode = elementor.channels.deviceMode.request("currentMode");
				var deviceSuffix = "desktop" === currentDeviceMode ? "" : "_" + currentDeviceMode;
				var directionSettingKey = this.getDirectionSettingKey() + deviceSuffix;
				return { directionMode: this.container.settings.get(directionSettingKey) || ContainerHelper.DIRECTION_DEFAULT };
			},
			onDeviceModeChange: function onDeviceModeChange() {
				SetDirectionMode.set(this.getContainer());
			},
			getDirectionSettingKey: function getDirectionSettingKey() {
				return "grid" === this.container.settings.get("container_type") ? "grid_auto_flow" : "flex_direction";
			},
			behaviors: function behaviors() {
				var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments);
				_.extend(behaviors, {
					Sortable: {
						behaviorClass: require_sortable(),
						elChildType: "widget"
					},
					Resizable: { behaviorClass: _default$26 }
				});
				return elementor.hooks.applyFilters("elements/container/behaviors", behaviors, this);
			},
			initialize: function initialize() {
				BaseElementView.prototype.initialize.apply(this, arguments);
				this.model.get("editSettings").set("defaultEditRoute", "layout");
				this.onDeviceModeChange = this.onDeviceModeChange.bind(this);
				elementor.listenTo(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
			},
			onDestroy: function onDestroy() {
				BaseElementView.prototype.onDestroy.apply(this, arguments);
				elementor.stopListening(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
			},
			/**
			* TODO: Remove. It's a temporary solution for the Navigator sortable.
			*
			* @return {{}} options
			*/
			getSortableOptions: function getSortableOptions() {
				return { preventInit: true };
			},
			/**
			* Get the Container nesting level recursively.
			* The farthest parent Container is level 0.
			*
			* @return {number} nesting level
			*/
			getNestingLevel: function getNestingLevel() {
				if (this.nestingLevel) return this.nestingLevel;
				var parent = this.container.parent;
				if ("container" !== parent.type) return 0;
				return parent.view.getNestingLevel() + 1;
			},
			isNestedElementContentContainer: function isNestedElementContentContainer() {
				var widgetType = this.container.parent.model.get("widgetType");
				return widgetType && widgetType.trim() !== "" && isWidgetSupportNesting(widgetType);
			},
			getDroppableAxis: function getDroppableAxis() {
				var isColumnDefault = ContainerHelper.DIRECTION_DEFAULT === ContainerHelper.DIRECTION_COLUMN;
				var currentDirection = this.getContainer().settings.get(this.getDirectionSettingKey());
				return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ContainerHelper.DIRECTION_COLUMN, "vertical"), ContainerHelper.DIRECTION_COLUMN_REVERSED, "vertical"), ContainerHelper.DIRECTION_ROW, "horizontal"), ContainerHelper.DIRECTION_ROW_REVERSED, "horizontal"), "", isColumnDefault ? "vertical" : "horizontal")[currentDirection];
			},
			getDroppableOptions: function getDroppableOptions() {
				var _this = this;
				var items = this.isBoxedWidth() ? "> .elementor-widget, > .e-con-full, > .e-con > .e-con-inner, > .elementor-empty-view > .elementor-first-add" : "> .elementor-element, > .elementor-empty-view .elementor-first-add";
				return {
					axis: this.getDroppableAxis(),
					items,
					groups: ["elementor-element"],
					horizontalThreshold: 5,
					isDroppingAllowed: this.isDroppingAllowed.bind(this),
					currentElementClass: "elementor-html5dnd-current-element",
					placeholderClass: "elementor-sortable-placeholder elementor-widget-placeholder",
					hasDraggingOnChildClass: "e-dragging-over",
					getDropContainer: function getDropContainer() {
						return _this.getContainer();
					},
					onDropping: function onDropping(side, event) {
						event.stopPropagation();
						elementor.getPreviewView().onPanelElementDragEnd();
						var draggedView = elementor.channels.editor.request("element:dragged");
						var draggingInSameParent = (draggedView === null || draggedView === void 0 ? void 0 : draggedView.parent) === _this;
						var hasInnerContainer = jQuery(event.currentTarget).hasClass("e-con-inner");
						var containerSelector = hasInnerContainer ? event.currentTarget.parentElement.parentElement : event.currentTarget.parentElement;
						var $elements = jQuery(containerSelector).find("> .elementor-element");
						if (draggingInSameParent) $elements = $elements.not(draggedView.$el);
						var widgetsArray = Object.values($elements);
						var newIndex = hasInnerContainer ? widgetsArray.indexOf(event.currentTarget.parentElement) : widgetsArray.indexOf(event.currentTarget);
						if (_this.shouldIncrementIndex(side)) newIndex++;
						if (draggedView) {
							var draggedId = draggedView.getContainer().id;
							var currentTargetParentContainer = _this.container;
							while (currentTargetParentContainer) {
								if (currentTargetParentContainer.id === draggedId) return;
								currentTargetParentContainer = currentTargetParentContainer.parent;
							}
							elementor.channels.editor.reply("element:dragged", null);
							$e.run("document/elements/move", {
								container: draggedView.getContainer(),
								target: _this.getContainer(),
								options: { at: newIndex }
							});
							return;
						}
						_this.onDrop(event, { at: newIndex });
					}
				};
			},
			/**
			* Save container as a template.
			*
			* @return {void}
			*/
			saveAsTemplate: function saveAsTemplate() {
				elementor.templates.eventManager.sendNewSaveTemplateClickedEvent();
				$e.route("library/save-template", { model: this.model });
			},
			/**
			* Insert a new container inside an existing container.
			*
			* @since 3.7.0
			*
			* @return {void}
			*/
			addNewContainer: function addNewContainer() {
				var targetContainer = "container" !== this.getContainer().getParentAncestry()[1].type ? this.getContainer() : this.getContainer().parent;
				$e.run("document/elements/create", {
					model: {
						elType: "container",
						settings: { content_width: "full" }
					},
					container: targetContainer
				});
			},
			/**
			* Add a `Save as a Template` button to the context menu.
			*
			* @return {Object} groups
			*/
			getContextMenuGroups: function getContextMenuGroups() {
				var _this2 = this;
				var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments);
				var transferGroupClipboardIndex = groups.indexOf(_.findWhere(groups, { name: "clipboard" }));
				var transferGroupGeneralIndex = groups.indexOf(_.findWhere(groups, { name: "general" }));
				groups.splice(transferGroupClipboardIndex + 1, 0, {
					name: "save",
					actions: [{
						name: "save",
						title: (0, _wordpress_i18n.__)("Save as a template", "elementor"),
						shortcut: "<span class=\"elementor-context-menu-list__item__shortcut__new-badge\">".concat((0, _wordpress_i18n.__)("New", "elementor"), "</span>"),
						callback: this.saveAsTemplate.bind(this),
						isEnabled: function isEnabled() {
							return !_this2.getContainer().isLocked();
						}
					}]
				});
				groups.splice(transferGroupGeneralIndex + 1, 0, {
					name: "newContainerGroup",
					actions: [{
						name: "newContainer",
						icon: "eicon-plus",
						title: (0, _wordpress_i18n.__)("Add New Container", "elementor"),
						callback: this.addNewContainer.bind(this)
					}]
				});
				return groups;
			},
			isDroppingAllowed: function isDroppingAllowed() {
				if (!this.getContainer().isEditable()) return false;
				var elementView = elementor.channels.panelElements.request("element:selected") || elementor.channels.editor.request("element:dragged");
				if (!elementView) return false;
				return [].concat(_toConsumableArray((0, import_element_types.getAllElementTypes)()), ["widget"]).includes(elementView.model.get("elType"));
			},
			/**
			* Determine if the current container is a nested container.
			*
			* @return {boolean} is a nested container
			*/
			isNested: function isNested() {
				return "document" !== this.getContainer().parent.model.get("elType");
			},
			getEditButtons: function getEditButtons() {
				var elementData = elementor.getElementData(this.model);
				var editTools = {};
				if ($e.components.get("document/elements").utils.allowAddingWidgets()) {
					editTools.add = {
						title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Add %s", "elementor"), elementData.title),
						icon: "plus"
					};
					editTools.edit = {
						title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Edit %s", "elementor"), elementData.title),
						icon: "handle"
					};
				}
				if (!this.getContainer().isLocked()) {
					if (elementor.getPreferences("edit_buttons") && $e.components.get("document/elements").utils.allowAddingWidgets()) editTools.duplicate = {
						title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Duplicate %s", "elementor"), elementData.title),
						icon: "clone"
					};
					editTools.remove = {
						title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Delete %s", "elementor"), elementData.title),
						icon: "close"
					};
				}
				return editTools;
			},
			/**
			* Toggle the `New Section` view when clicking the `add` button in the edit tools.
			*
			* @return {void}
			*/
			onAddButtonClick: function onAddButtonClick() {
				if (this.addSectionView && !this.addSectionView.isDestroyed) {
					this.addSectionView.fadeToDeath();
					return;
				}
				var addSectionView = new AddSectionView$1({ at: this.model.collection.indexOf(this.model) });
				addSectionView.render();
				this.$el.before(addSectionView.$el);
				addSectionView.$el.hide();
				setTimeout(function() {
					addSectionView.$el.slideDown(null, function() {
						jQuery(this).css("display", "");
					});
				});
				this.addSectionView = addSectionView;
			},
			onRender: function onRender() {
				var _this3 = this;
				BaseElementView.prototype.onRender.apply(this, arguments);
				setTimeout(function() {
					_this3.nestingLevel = _this3.getNestingLevel();
					_this3.$el[0].dataset.nestingLevel = _this3.nestingLevel;
					var isInner = _this3.model.get("isInner") || _this3.isNestedElementContentContainer() || _this3.getNestingLevel() > 0;
					_this3.model.set("isInner", isInner);
					_this3.$el.toggleClass("e-child", isInner).toggleClass("e-parent", !isInner);
					if (_this3.isGridContainer()) _this3.reInitEmptyView();
					_this3.droppableInitialize(_this3.container.settings);
				});
			},
			onRenderEmpty: function onRenderEmpty() {
				this.$el.addClass("e-empty");
			},
			onAddChild: function onAddChild() {
				this.$el.removeClass("e-empty");
				if (this.isGridContainer()) this.handleGridEmptyView();
			},
			renderOnChange: function renderOnChange(settings) {
				BaseElementView.prototype.renderOnChange.apply(this, arguments);
				if (settings.changed.flex_direction || settings.changed.content_width || settings.changed.grid_auto_flow || settings.changed.container_type) {
					if (this.isGridContainer()) this.reInitEmptyView();
					if (this.isFlexContainer() && !this.isEmpty()) this.getCorrectContainerElement().find("> .elementor-empty-view").remove();
					this.droppableDestroy();
					this.droppableInitialize(settings);
				}
				if (settings.changed.container_type) this.updatePanelTitlesAndIcons();
			},
			updatePanelTitlesAndIcons: function updatePanelTitlesAndIcons() {
				var title = this.getPanelTitle();
				var icon = this.getPanelIcon();
				this.model.set("icon", icon);
				this.model.set("title", title);
				this.model.get("settings").set("presetTitle", title);
				this.model.get("settings").set("presetIcon", icon);
				jQuery("#elementor-panel-header-title").html((0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Edit %s", "elementor"), title));
				this.updateNeedHelpLink();
			},
			getPanelTitle: function getPanelTitle() {
				return this.isFlexContainer() ? (0, _wordpress_i18n.__)("Container", "elementor") : (0, _wordpress_i18n.__)("Grid", "elementor");
			},
			getPanelIcon: function getPanelIcon() {
				return this.isFlexContainer() ? "eicon-container" : "eicon-container-grid";
			},
			onDragStart: function onDragStart() {
				this.droppableDestroy();
			},
			onDragEnd: function onDragEnd() {
				this.droppableInitialize(this.container.settings);
			},
			attachElContent: function attachElContent() {
				BaseElementView.prototype.attachElContent.apply(this, arguments);
				var $tooltip = jQuery("<div>", {
					class: "elementor-column-percents-tooltip",
					"data-side": elementorCommon.config.isRTL ? "right" : "left"
				});
				this.$el.children(".elementor-element-overlay").append($tooltip);
			},
			getPercentSize: function getPercentSize(size) {
				if (!size) size = this.el.getBoundingClientRect().width;
				return +(size / this.$el.parent().width() * 100).toFixed(3);
			},
			getPercentsForDisplay: function getPercentsForDisplay() {
				return (+this.model.getSetting("width") || this.getPercentSize()).toFixed(1) + "%";
			},
			onResizeStart: function onResizeStart() {
				if (this.ui.percentsTooltip) this.ui.percentsTooltip.show();
			},
			onResize: function onResize() {
				if (this.ui.percentsTooltip) this.ui.percentsTooltip.text(this.getPercentsForDisplay());
			},
			onResizeStop: function onResizeStop() {
				if (this.ui.percentsTooltip) this.ui.percentsTooltip.hide();
			},
			droppableDestroy: function droppableDestroy() {
				this.$el.html5Droppable("destroy");
				this.$el.find("> .e-con-inner").html5Droppable("destroy");
			},
			droppableInitialize: function droppableInitialize(settings) {
				if ("boxed" === settings.get("content_width")) this.$el.find("> .e-con-inner").html5Droppable(this.getDroppableOptions());
				else this.$el.html5Droppable(this.getDroppableOptions());
			},
			handleGridEmptyView: function handleGridEmptyView() {
				var currentContainer = this.getCorrectContainerElement();
				var emptyViewItem = currentContainer.find("> .elementor-empty-view");
				this.moveElementToLastChild(currentContainer, emptyViewItem);
			},
			moveElementToLastChild: function moveElementToLastChild(parentWrapperElement, childElementToMove) {
				var parent = parentWrapperElement.get(0);
				var child = childElementToMove.get(0);
				if (!parent || !child) return;
				if (parent.lastChild === child) return;
				parent.appendChild(child);
			},
			getCorrectContainerElement: function getCorrectContainerElement() {
				return this.isBoxedWidth() ? this.$el.find("> .e-con-inner") : this.$el;
			},
			shouldIncrementIndex: function shouldIncrementIndex(side) {
				if (!this.draggingOnBottomOrRightSide(side)) return false;
				return !(this.isGridContainer() && this.emptyViewIsCurrentlyBeingDraggedOver());
			},
			draggingOnBottomOrRightSide: function draggingOnBottomOrRightSide(side) {
				return ["bottom", "right"].includes(side);
			},
			isGridContainer: function isGridContainer() {
				return "grid" === this.getContainer().settings.get("container_type");
			},
			isFlexContainer: function isFlexContainer() {
				return "flex" === this.getContainer().settings.get("container_type");
			},
			isBoxedWidth: function isBoxedWidth() {
				return "boxed" === this.getContainer().settings.get("content_width");
			},
			emptyViewIsCurrentlyBeingDraggedOver: function emptyViewIsCurrentlyBeingDraggedOver() {
				return this.getCorrectContainerElement().find("> .elementor-empty-view > .elementor-first-add.elementor-html5dnd-current-element").length > 0;
			},
			reInitEmptyView: function reInitEmptyView() {
				if (!this.getCorrectContainerElement().find("> .elementor-empty-view").length) {
					delete this._showingEmptyView;
					this.showEmptyView();
					this.handleGridEmptyView();
				}
			},
			updateNeedHelpLink: function updateNeedHelpLink() {
				var $linkElement = jQuery("#elementor-panel__editor__help__link");
				var href = this.isGridContainer() ? "https://go.elementor.com/widget-container-grid" : "https://go.elementor.com/widget-container";
				if ($linkElement) $linkElement.attr("href", href);
			}
		});
		module.exports = ContainerView;
	}));

//#endregion
//#region assets/dev/js/editor/elements/types/container.js
	var container_exports = /* @__PURE__ */ __exportAll({ default: () => Container });
	function _callSuper$227(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$227() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$227() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$227 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_container, Container;
	var init_container = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_element_base();
		init_empty_component();
		init_container$1();
		import_container = /* @__PURE__ */ __toESM(require_container());
		__name(_callSuper$227, "_callSuper");
		__name(_isNativeReflectConstruct$227, "_isNativeReflectConstruct");
		Container = /*#__PURE__*/ function(_Base) {
			function Container() {
				_classCallCheck(this, Container);
				return _callSuper$227(this, Container, arguments);
			}
			_inherits(Container, _Base);
			return _createClass(Container, [
				{
					key: "getType",
					value: function getType() {
						return "container";
					}
				},
				{
					key: "getView",
					value: function getView() {
						return import_container.default;
					}
				},
				{
					key: "getEmptyView",
					value: function getEmptyView() {
						return EmptyComponent;
					}
				},
				{
					key: "getModel",
					value: function getModel() {
						return Container$1;
					}
				}
			]);
		}(ElementBase);
	}));

//#endregion
//#region assets/dev/js/editor/elements/manager.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	init_element_base();
	var ElementsManager = /*#__PURE__*/ function() {
		function ElementsManager() {
			_classCallCheck(this, ElementsManager);
			/**
			* Registered elements types.
			*
			* @type {Object.<ElementBase>}
			*/
			_defineProperty(this, "elementTypes", {});
			this.registerElements();
		}
		/**
		* Function getElementTypeClass().
		*
		* @param {string} type
		*
		* @return {ElementBase} Element type class.
		*/
		return _createClass(ElementsManager, [
			{
				key: "getElementTypeClass",
				value: function getElementTypeClass(type) {
					var typeClass = this.elementTypes[type];
					if (!typeClass && elementor.widgetsCache[type]) typeClass = this.elementTypes.widget;
					return typeClass;
				}
			},
			{
				key: "registerElementType",
				value: function registerElementType(element) {
					if (!(element instanceof ElementBase)) throw new TypeError("The element argument must be an instance of ElementBase.");
					var type = element.getType();
					if (this.elementTypes[type]) throw new Error("Element type already registered");
					this.elementTypes[type] = element;
				}
			},
			{
				key: "registerElements",
				value: function registerElements() {
					var _this = this;
					Object.values(types_exports).forEach(function(ElementClass) {
						var element = new ElementClass();
						_this.registerElementType(element);
					});
					if (elementorCommon.config.experimentalFeatures.container) {
						var ContainerClass = (init_container(), __toCommonJS(container_exports)).default;
						this.registerElementType(new ContainerClass());
					}
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/introduction-tooltips/tooltips/global-color-introduction.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	var GlobalColorIntroduction = /*#__PURE__*/ function() {
		function GlobalColorIntroduction(introductionKey) {
			_classCallCheck(this, GlobalColorIntroduction);
			_defineProperty(this, "introductionKey", void 0);
			this.introductionKey = introductionKey;
		}
		return _createClass(GlobalColorIntroduction, [
			{
				key: "bindEvent",
				value: function bindEvent() {
					var _this = this;
					$e.routes.on("run:after", function(component, route, args) {
						var _controlView$model;
						if (!$e.routes.isPartOf("panel/editor")) return;
						var controlView = _this.getControlView(args.activeControl);
						if ("color" !== (controlView === null || controlView === void 0 || (_controlView$model = controlView.model) === null || _controlView$model === void 0 || (_controlView$model = _controlView$model.attributes) === null || _controlView$model === void 0 ? void 0 : _controlView$model.type)) return;
						_this.tooltip.show(controlView.el);
						_this.tooltip.setViewed();
					});
				}
			},
			{
				key: "getControlView",
				value: function getControlView(control) {
					if (!control) return null;
					var editor = elementor.getPanelView().getCurrentPageView();
					var currentView = editor.content ? editor.content.currentView : editor;
					return $e.components.get("panel").getControlViewByPath(currentView, control);
				}
			},
			{
				key: "initTooltip",
				value: function initTooltip() {
					var _this2 = this;
					this.tooltip = new elementorModules.editor.utils.Introduction({
						introductionKey: this.introductionKey,
						dialogType: "tooltip",
						dialogOptions: {
							headerMessage: (0, _wordpress_i18n.__)("Check out Global Colors", "elementor"),
							message: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Save time by applying Global Colors to change the style of multiple elements at once. Click %s to see what Global Colors you already have.", "elementor"), "<i class='eicon-globe'></i>"),
							position: {
								my: (elementorCommon.config.isRTL ? "left" : "right") + "0 top0",
								at: (elementorCommon.config.isRTL ? "left" : "right") + " top-10"
							},
							hide: {
								onOutsideClick: false,
								onBackgroundClick: false,
								onEscKeyPress: false
							}
						}
					});
					this.tooltip.getDialog().addButton({
						name: "action",
						text: (0, _wordpress_i18n.__)("Got it!", "elementor"),
						classes: "elementor-button e-primary",
						callback: function callback() {
							return _this2.tooltip.getDialog().hide();
						}
					});
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/introduction-tooltips/tooltips/global-font-introduction.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	var GlobalFontIntroduction = /*#__PURE__*/ function() {
		function GlobalFontIntroduction(introductionKey) {
			_classCallCheck(this, GlobalFontIntroduction);
			_defineProperty(this, "introductionKey", void 0);
			this.introductionKey = introductionKey;
		}
		return _createClass(GlobalFontIntroduction, [
			{
				key: "bindEvent",
				value: function bindEvent() {
					var _this = this;
					$e.routes.on("run:after", function(component, route, args) {
						var _controlView$model;
						if (!$e.routes.isPartOf("panel/editor")) return;
						var controlView = _this.getControlView(args.activeControl);
						if ("popover_toggle" !== (controlView === null || controlView === void 0 || (_controlView$model = controlView.model) === null || _controlView$model === void 0 || (_controlView$model = _controlView$model.attributes) === null || _controlView$model === void 0 ? void 0 : _controlView$model.type)) return;
						_this.tooltip.show(controlView.el);
						_this.tooltip.setViewed();
					});
				}
			},
			{
				key: "getControlView",
				value: function getControlView(control) {
					if (!control) return null;
					var editor = elementor.getPanelView().getCurrentPageView();
					var currentView = editor.content ? editor.content.currentView : editor;
					return $e.components.get("panel").getControlViewByPath(currentView, control);
				}
			},
			{
				key: "initTooltip",
				value: function initTooltip() {
					var _this2 = this;
					this.tooltip = new elementorModules.editor.utils.Introduction({
						introductionKey: this.introductionKey,
						dialogType: "tooltip",
						dialogOptions: {
							headerMessage: (0, _wordpress_i18n.__)("Check out Global Fonts", "elementor"),
							message: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Save time by applying Global Fonts to change the style of multiple elements at once. Click %s to see what Global Fonts you already have.", "elementor"), "<i class='eicon-globe'></i>"),
							position: {
								my: (elementorCommon.config.isRTL ? "left" : "right") + "0 top0",
								at: (elementorCommon.config.isRTL ? "left" : "right") + " top-10"
							},
							hide: {
								onOutsideClick: false,
								onBackgroundClick: false,
								onEscKeyPress: false
							}
						}
					});
					this.tooltip.getDialog().addButton({
						name: "action",
						text: (0, _wordpress_i18n.__)("Got it!", "elementor"),
						classes: "elementor-button e-primary",
						callback: function callback() {
							return _this2.tooltip.getDialog().hide();
						}
					});
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/introduction-tooltips/manager.js
	init_classCallCheck();
	init_createClass();
	var IntroductionTooltipsManager = /*#__PURE__*/ function() {
		function IntroductionTooltipsManager() {
			_classCallCheck(this, IntroductionTooltipsManager);
			this.registerTooltipWidget();
			this.registerTooltips();
		}
		return _createClass(IntroductionTooltipsManager, [{
			key: "registerTooltipWidget",
			value: function registerTooltipWidget() {
				DialogsManager.addWidgetType("tooltip", DialogsManager.getWidgetType("buttons").extend("tooltip", { buildWidget: function buildWidget() {
					var _this = this;
					DialogsManager.getWidgetType("buttons").prototype.buildWidget.apply(this, arguments);
					var elements = this.getElements();
					elements.$title = jQuery("<div>", { class: "dialog-tooltip-widget__title" });
					elements.$closeButton = jQuery("<i>", { class: "eicon-close" });
					elements.$closeButton.on("click", function() {
						return _this.hide();
					});
					elements.header.append(elements.$title, elements.$closeButton);
				} }));
			}
		}, {
			key: "registerTooltips",
			value: function registerTooltips() {
				[new GlobalColorIntroduction("globals_introduction"), new GlobalFontIntroduction("globals_introduction")].forEach(function(tooltip) {
					if (!elementor.config.user.introduction[tooltip.introductionKey]) {
						tooltip.initTooltip();
						tooltip.bindEvent();
					}
				});
			}
		}]);
	}();

//#endregion
//#region modules/favorites/assets/js/editor/commands/base.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$226(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$226() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$226, "_callSuper");
	function _isNativeReflectConstruct$226() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$226 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$226, "_isNativeReflectConstruct");
	var CommandsBase = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function CommandsBase() {
			_classCallCheck(this, CommandsBase);
			return _callSuper$226(this, CommandsBase, arguments);
		}
		_inherits(CommandsBase, _$e$modules$CommandBa);
		return _createClass(CommandsBase, [{
			key: "validateArgs",
			value: function validateArgs() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				this.requireArgumentType("type", "string", args);
				this.requireArgumentType("favorite", "string", args);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region modules/favorites/assets/js/editor/commands/create.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$225(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$225() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$225, "_callSuper");
	function _isNativeReflectConstruct$225() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$225 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$225, "_isNativeReflectConstruct");
	var Create$2 = /*#__PURE__*/ function(_CommandsBase) {
		function Create() {
			_classCallCheck(this, Create);
			return _callSuper$225(this, Create, arguments);
		}
		_inherits(Create, _CommandsBase);
		return _createClass(Create, [{
			key: "apply",
			value: function apply(args) {
				var _manager$typeInstance;
				return (_manager$typeInstance = this.component.manager.typeInstance(args.type)) === null || _manager$typeInstance === void 0 ? void 0 : _manager$typeInstance.create(args.favorite);
			}
		}]);
	}(CommandsBase);

//#endregion
//#region modules/favorites/assets/js/editor/commands/delete.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$224(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$224() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$224, "_callSuper");
	function _isNativeReflectConstruct$224() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$224 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$224, "_isNativeReflectConstruct");
	var Delete$1 = /*#__PURE__*/ function(_CommandsBase) {
		function Delete() {
			_classCallCheck(this, Delete);
			return _callSuper$224(this, Delete, arguments);
		}
		_inherits(Delete, _CommandsBase);
		return _createClass(Delete, [{
			key: "apply",
			value: function apply(args) {
				var _manager$typeInstance;
				return (_manager$typeInstance = this.component.manager.typeInstance(args.type)) === null || _manager$typeInstance === void 0 ? void 0 : _manager$typeInstance.delete(args.favorite);
			}
		}]);
	}(CommandsBase);

//#endregion
//#region modules/favorites/assets/js/editor/commands/toggle.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$223(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$223() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$223, "_callSuper");
	function _isNativeReflectConstruct$223() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$223 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$223, "_isNativeReflectConstruct");
	var Toggle$3 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Toggle() {
			_classCallCheck(this, Toggle);
			return _callSuper$223(this, Toggle, arguments);
		}
		_inherits(Toggle, _$e$modules$CommandBa);
		return _createClass(Toggle, [{
			key: "apply",
			value: function apply(args) {
				var _manager$typeInstance;
				return (_manager$typeInstance = this.component.manager.typeInstance(args.type)) === null || _manager$typeInstance === void 0 ? void 0 : _manager$typeInstance.toggle(args.favorite);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region modules/favorites/assets/js/editor/commands/index.js
	var commands_exports$18 = /* @__PURE__ */ __exportAll({
		Create: () => Create$2,
		Delete: () => Delete$1,
		Toggle: () => Toggle$3
	});

//#endregion
//#region modules/favorites/assets/js/editor/commands-data/index.js
	var commands_data_exports$1 = /* @__PURE__ */ __exportAll({ Index: () => Index$1 });
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$222(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$222() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$222, "_callSuper");
	function _isNativeReflectConstruct$222() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$222 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$222, "_isNativeReflectConstruct");
	var Index$1 = /*#__PURE__*/ function(_$e$modules$CommandDa) {
		function Index() {
			_classCallCheck(this, Index);
			return _callSuper$222(this, Index, arguments);
		}
		_inherits(Index, _$e$modules$CommandDa);
		return _createClass(Index, null, [{
			key: "getEndpointFormat",
			value: function getEndpointFormat() {
				return "favorites/{type}";
			}
		}]);
	}($e.modules.CommandData);

//#endregion
//#region modules/favorites/assets/js/editor/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$221(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$221() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$221, "_callSuper");
	function _isNativeReflectConstruct$221() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$221 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$221, "_isNativeReflectConstruct");
	var Component$30 = /*#__PURE__*/ function(_$e$modules$Component) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$221(this, Component, arguments);
		}
		_inherits(Component, _$e$modules$Component);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "favorites";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$18);
				}
			},
			{
				key: "defaultData",
				value: function defaultData() {
					return this.importCommands(commands_data_exports$1);
				}
			}
		]);
	}($e.modules.ComponentBase);

//#endregion
//#region modules/favorites/assets/js/editor/favorite-type.js
	init_classCallCheck();
	init_createClass();
	var FavoriteType = /*#__PURE__*/ function() {
		function FavoriteType() {
			_classCallCheck(this, FavoriteType);
		}
		return _createClass(FavoriteType, [
			{
				key: "getName",
				value: function getName() {}
			},
			{
				key: "create",
				value: function create(slug) {}
			},
			{
				key: "delete",
				value: function _delete(slug) {}
			},
			{
				key: "toggle",
				value: function toggle(slug) {}
			}
		]);
	}();

//#endregion
//#region modules/favorites/assets/js/editor/types/widgets/behaviors/panel-category-behavior.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$220(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$220() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$220, "_callSuper");
	function _isNativeReflectConstruct$220() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$220 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$220, "_isNativeReflectConstruct");
	var PanelCategoryBehavior = /*#__PURE__*/ function(_Marionette$Behavior) {
		function PanelCategoryBehavior() {
			_classCallCheck(this, PanelCategoryBehavior);
			return _callSuper$220(this, PanelCategoryBehavior, arguments);
		}
		_inherits(PanelCategoryBehavior, _Marionette$Behavior);
		return _createClass(PanelCategoryBehavior, [{
			key: "onRender",
			value: function onRender() {
				if (this.isFavoritesCategory()) {
					if (!this.view.collection.length) this.$el.hide();
				}
			}
		}, {
			key: "isFavoritesCategory",
			value: function isFavoritesCategory() {
				return "favorites" === this.view.options.model.get("name");
			}
		}]);
	}(Marionette.Behavior);

//#endregion
//#region modules/favorites/assets/js/editor/types/widgets/widgets.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$219(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$219() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$219, "_callSuper");
	function _isNativeReflectConstruct$219() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$219 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$219, "_isNativeReflectConstruct");
	var Widgets = /*#__PURE__*/ function(_FavoriteType) {
		function Widgets() {
			var _this;
			_classCallCheck(this, Widgets);
			_this = _callSuper$219(this, Widgets);
			elementor.hooks.addFilter("panel/category/behaviors", _this.addCategoryBehavior.bind(_this));
			elementor.hooks.addFilter("panel/element/contextMenuGroups", _this.addContextMenuGroups.bind(_this));
			return _this;
		}
		_inherits(Widgets, _FavoriteType);
		return _createClass(Widgets, [
			{
				key: "getName",
				value: function getName() {
					return "widgets";
				}
			},
			{
				key: "create",
				value: function create(favorite) {
					var widgetCache = this.getWidgetCache(favorite);
					if (void 0 !== widgetCache) {
						widgetCache.categories.push(this.getCategorySlug());
						var result = $e.data.create("favorites/index", {}, {
							type: this.getName(),
							favorite
						});
						this.refreshCategories();
						return result;
					}
					return false;
				}
			},
			{
				key: "delete",
				value: function _delete(favorite) {
					var widgetCache = this.getWidgetCache(favorite);
					if (void 0 !== widgetCache) {
						widgetCache.categories.splice(widgetCache.categories.indexOf(this.getCategorySlug()), 1);
						var result = $e.data.delete("favorites/index", {
							type: this.getName(),
							favorite
						});
						this.refreshCategories();
						return result;
					}
					return false;
				}
			},
			{
				key: "toggle",
				value: function toggle(favorite) {
					if (void 0 !== this.getWidgetCache(favorite)) {
						var args = {
							type: this.getName(),
							favorite
						};
						if (this.isFavorite(favorite)) return $e.run("favorites/delete", args);
						return $e.run("favorites/create", args);
					}
					return false;
				}
			},
			{
				key: "isFavorite",
				value: function isFavorite(widget) {
					var widgetCache = this.getWidgetCache(widget);
					if (void 0 !== widgetCache) return widgetCache.categories.includes(this.getCategorySlug());
					return false;
				}
			},
			{
				key: "getCategorySlug",
				value: function getCategorySlug() {
					return "favorites";
				}
			},
			{
				key: "addCategoryBehavior",
				value: function addCategoryBehavior(behaviors) {
					return Object.assign({}, behaviors, { favoriteWidgets: { behaviorClass: PanelCategoryBehavior } });
				}
			},
			{
				key: "addContextMenuGroups",
				value: function addContextMenuGroups(groups, context) {
					var _this2 = this;
					var widget = context.options.model.get("widgetType") || context.options.model.get("elType");
					return groups.concat([{
						name: "favorite-toggle",
						actions: [{
							name: "toggle",
							icon: this.isFavorite(widget) ? "eicon-heart-o" : "eicon-heart",
							title: this.isFavorite(widget) ? (0, _wordpress_i18n.__)("Remove from Favorites", "elementor") : (0, _wordpress_i18n.__)("Add to Favorites", "elementor"),
							callback: function callback() {
								_this2.toggle(widget);
								if (_this2.isFavorite(widget)) elementor.notifications.showToast({ message: (0, _wordpress_i18n.__)("Added", "elementor") });
							}
						}]
					}]);
				}
			},
			{
				key: "refreshCategories",
				value: function refreshCategories() {
					var psElement = elementor.getPanelView().perfectScrollbar.element;
					var psScrollTop = psElement.scrollTop;
					var psHeight = psElement.scrollHeight;
					$e.route("panel/elements/categories", {
						refresh: true,
						onAfter: function onAfter() {
							psElement.scrollTop = psScrollTop + (psElement.scrollHeight - psHeight);
						}
					});
				}
			},
			{
				key: "getWidgetCache",
				value: function getWidgetCache(widget) {
					return elementor.widgetsCache[widget];
				}
			}
		]);
	}(FavoriteType);

//#endregion
//#region modules/favorites/assets/js/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$218(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$218() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$218, "_callSuper");
	function _isNativeReflectConstruct$218() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$218 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$218, "_isNativeReflectConstruct");
	/**
	* @typedef {import('./favorite-type')} FavoriteType
	*/
	var FavoritesModule = /*#__PURE__*/ function(_elementorModules$edi) {
		function FavoritesModule() {
			var _this;
			_classCallCheck(this, FavoritesModule);
			_this = _callSuper$218(this, FavoritesModule);
			_defineProperty(_this, "types", {});
			[Widgets].forEach(function(classRef) {
				return _this.register(classRef);
			});
			return _this;
		}
		_inherits(FavoritesModule, _elementorModules$edi);
		return _createClass(FavoritesModule, [
			{
				key: "onElementorLoaded",
				value: function onElementorLoaded() {
					this.component = $e.components.register(new Component$30({ manager: this }));
				}
			},
			{
				key: "typeInstance",
				value: function typeInstance(type) {
					if (void 0 === this.types[type]) throw new Error("Type '".concat(type, "' is not found"));
					return this.types[type];
				}
			},
			{
				key: "register",
				value: function register(classRef) {
					var instance = new classRef();
					this.types[instance.getName()] = instance;
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region modules/history/assets/js/component.js
	function _callSuper$217(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$217() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$217() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$217 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Component$29;
	var init_component$7 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_component_base$1();
		__name(_callSuper$217, "_callSuper");
		__name(_isNativeReflectConstruct$217, "_isNativeReflectConstruct");
		Component$29 = /*#__PURE__*/ function(_ComponentBase) {
			function Component() {
				_classCallCheck(this, Component);
				return _callSuper$217(this, Component, arguments);
			}
			_inherits(Component, _ComponentBase);
			return _createClass(Component, [
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "panel/history";
					}
				},
				{
					key: "defaultTabs",
					value: function defaultTabs() {
						return {
							actions: { title: (0, _wordpress_i18n.__)("Actions", "elementor") },
							revisions: { title: (0, _wordpress_i18n.__)("Revisions", "elementor") }
						};
					}
				},
				{
					key: "defaultShortcuts",
					value: function defaultShortcuts() {
						return { actions: {
							keys: "ctrl+shift+h",
							dependency: function dependency() {
								return "edit" === elementor.channels.dataEditMode.request("activeMode");
							}
						} };
					}
				},
				{
					key: "renderTab",
					value: function renderTab(tab) {
						elementor.getPanelView().setPage("historyPage").showView(tab);
					}
				},
				{
					key: "activate",
					value: function activate() {
						$e.components.activate(this.getTabRoute(this.currentTab));
					}
				},
				{
					key: "getTabsWrapperSelector",
					value: function getTabsWrapperSelector() {
						return "#elementor-panel-elements-navigation";
					}
				}
			]);
		}(ComponentBase$1);
	}));

//#endregion
//#region modules/history/assets/js/history/component.js
	function _callSuper$216(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$216() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$216() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$216 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Component$28;
	var init_component$6 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_component_base$1();
		__name(_callSuper$216, "_callSuper");
		__name(_isNativeReflectConstruct$216, "_isNativeReflectConstruct");
		Component$28 = /*#__PURE__*/ function(_ComponentBase) {
			function Component() {
				_classCallCheck(this, Component);
				return _callSuper$216(this, Component, arguments);
			}
			_inherits(Component, _ComponentBase);
			return _createClass(Component, [
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "panel/history/actions";
					}
				},
				{
					key: "defaultCommands",
					value: function defaultCommands() {
						return {
							do: function _do(args) {
								return $e.run("document/history/do", args);
							},
							undo: function undo() {
								return $e.run("document/history/undo");
							},
							redo: function redo() {
								return $e.run("document/history/redo");
							}
						};
					}
				},
				{
					key: "defaultShortcuts",
					value: function defaultShortcuts() {
						return {
							undo: {
								keys: "ctrl+z",
								exclude: ["input"],
								scopes: ["panel", "navigator"]
							},
							redo: {
								keys: "ctrl+shift+z, ctrl+y",
								exclude: ["input"],
								scopes: ["panel", "navigator"]
							}
						};
					}
				}
			]);
		}(ComponentBase$1);
	}));

//#endregion
//#region modules/history/assets/js/revisions/commands/down.js
	function _callSuper$215(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$215() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$215() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$215 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Down;
	var init_down = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$215, "_callSuper");
		__name(_isNativeReflectConstruct$215, "_isNativeReflectConstruct");
		Down = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Down() {
				_classCallCheck(this, Down);
				return _callSuper$215(this, Down, arguments);
			}
			_inherits(Down, _$e$modules$CommandBa);
			return _createClass(Down, [{
				key: "apply",
				value: function apply() {
					this.component.navigate();
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region modules/history/assets/js/revisions/commands/up.js
	function _callSuper$214(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$214() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$214() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$214 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Up;
	var init_up = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$214, "_callSuper");
		__name(_isNativeReflectConstruct$214, "_isNativeReflectConstruct");
		Up = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Up() {
				_classCallCheck(this, Up);
				return _callSuper$214(this, Up, arguments);
			}
			_inherits(Up, _$e$modules$CommandBa);
			return _createClass(Up, [{
				key: "apply",
				value: function apply() {
					this.component.navigate(true);
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region modules/history/assets/js/revisions/commands/index.js
	var commands_exports$17 = /* @__PURE__ */ __exportAll({
		Down: () => Down,
		Up: () => Up
	});
	var init_commands$4 = __esmMin((() => {
		init_down();
		init_up();
	}));

//#endregion
//#region modules/history/assets/js/revisions/hooks/data/save.js
	function _callSuper$213(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$213() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$213() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$213 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var RevisionsAfterSave;
	var init_save$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_after$1();
		__name(_callSuper$213, "_callSuper");
		__name(_isNativeReflectConstruct$213, "_isNativeReflectConstruct");
		RevisionsAfterSave = /*#__PURE__*/ function(_HookDataAfter) {
			function RevisionsAfterSave() {
				_classCallCheck(this, RevisionsAfterSave);
				return _callSuper$213(this, RevisionsAfterSave, arguments);
			}
			_inherits(RevisionsAfterSave, _HookDataAfter);
			return _createClass(RevisionsAfterSave, [
				{
					key: "getCommand",
					value: function getCommand() {
						return "document/save/save";
					}
				},
				{
					key: "getId",
					value: function getId() {
						return "revisions-after-save";
					}
				},
				{
					key: "apply",
					value: function apply(args, result) {
						var data = result.data;
						var revisionsModule = elementor.documents.getCurrent().revisions;
						if (data.latest_revisions) revisionsModule.addRevisions(data.latest_revisions);
						revisionsModule.requestRevisions(function() {
							if (data.revisions_ids) {
								var revisionsToKeep = revisionsModule.revisions.filter(function(revision) {
									return -1 !== data.revisions_ids.indexOf(revision.get("id"));
								});
								revisionsModule.revisions.reset(revisionsToKeep);
							}
						});
					}
				}
			]);
		}(After$1);
	}));

//#endregion
//#region modules/history/assets/js/revisions/hooks/index.js
	var hooks_exports$4 = /* @__PURE__ */ __exportAll({ RevisionsAfterSave: () => RevisionsAfterSave });
	var init_hooks = __esmMin((() => {
		init_save$1();
	}));

//#endregion
//#region modules/history/assets/js/revisions/component.js
	function _callSuper$212(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$212() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$212() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$212 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Component$27;
	var init_component$5 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_component_base$1();
		init_commands$4();
		init_hooks();
		__name(_callSuper$212, "_callSuper");
		__name(_isNativeReflectConstruct$212, "_isNativeReflectConstruct");
		Component$27 = /*#__PURE__*/ function(_ComponentBase) {
			function Component() {
				_classCallCheck(this, Component);
				return _callSuper$212(this, Component, arguments);
			}
			_inherits(Component, _ComponentBase);
			return _createClass(Component, [
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "panel/history/revisions";
					}
				},
				{
					key: "defaultCommands",
					value: function defaultCommands() {
						return this.importCommands(commands_exports$17);
					}
				},
				{
					key: "defaultHooks",
					value: function defaultHooks() {
						return this.importHooks(hooks_exports$4);
					}
				},
				{
					key: "defaultShortcuts",
					value: function defaultShortcuts() {
						return {
							up: {
								keys: "up",
								scopes: [this.getNamespace()]
							},
							down: {
								keys: "down",
								scopes: [this.getNamespace()]
							}
						};
					}
				},
				{
					key: "navigate",
					value: function navigate(up) {
						if (elementor.documents.getCurrent().revisions.getItems().length > 1) elementor.getPanelView().getCurrentPageView().currentTab.navigate(up);
					}
				}
			]);
		}(ComponentBase$1);
	}));

//#endregion
//#region modules/history/assets/js/revisions/panel/loading.js
	function _callSuper$211(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$211() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$211() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$211 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var _default$25;
	var init_loading = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$211, "_callSuper");
		__name(_isNativeReflectConstruct$211, "_isNativeReflectConstruct");
		_default$25 = /*#__PURE__*/ function(_Marionette$ItemView) {
			function _default() {
				_classCallCheck(this, _default);
				return _callSuper$211(this, _default, arguments);
			}
			_inherits(_default, _Marionette$ItemView);
			return _createClass(_default, [
				{
					key: "getTemplate",
					value: function getTemplate() {
						return "#tmpl-elementor-panel-revisions-loading";
					}
				},
				{
					key: "id",
					value: function id() {
						return "elementor-panel-revisions-loading";
					}
				},
				{
					key: "onRender",
					value: function onRender() {
						this.options.document.revisions.requestRevisions(function() {
							setTimeout(function() {
								return $e.routes.refreshContainer("panel");
							});
						});
					}
				}
			]);
		}(Marionette.ItemView);
	}));

//#endregion
//#region assets/dev/js/frontend/utils/filter-unknown-elements.js
	function ownKeys$14(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$14(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$14(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$14(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function filterChildren(elements) {
		return elements.reduce(function(acc, element) {
			var _element$widgetType;
			var _element$elements;
			if (!element) return acc;
			if (!elementor.elementsManager.getElementTypeClass((_element$widgetType = element.widgetType) !== null && _element$widgetType !== void 0 ? _element$widgetType : element.elType)) return acc;
			var processedElement = (_element$elements = element.elements) !== null && _element$elements !== void 0 && _element$elements.length ? _objectSpread$14(_objectSpread$14({}, element), {}, { elements: filterChildren(element.elements) }) : element;
			acc.push(processedElement);
			return acc;
		}, []);
	}
	var filterUnknownElements;
	var init_filter_unknown_elements = __esmMin((() => {
		init_defineProperty();
		__name(ownKeys$14, "ownKeys");
		__name(_objectSpread$14, "_objectSpread");
		filterUnknownElements = function filterUnknownElements(data) {
			var _data$elements;
			if (data !== null && data !== void 0 && (_data$elements = data.elements) !== null && _data$elements !== void 0 && _data$elements.length) return _objectSpread$14(_objectSpread$14({}, data), {}, { elements: filterChildren(data.elements) });
			return data;
		};
	}));

//#endregion
//#region modules/history/assets/js/revisions/panel/view.js
	var require_view = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-panel-revisions-revision-item",
			className: "elementor-revision-item",
			ui: { detailsArea: ".elementor-revision-item__details" },
			triggers: { "click @ui.detailsArea": "detailsArea:click" }
		});
	}));

//#endregion
//#region modules/history/assets/js/revisions/panel/tab.js
	var tab_default;
	var init_tab = __esmMin((() => {
		init_filter_unknown_elements();
		tab_default = Marionette.CompositeView.extend({
			id: "elementor-panel-revisions",
			template: "#tmpl-elementor-panel-revisions",
			childView: require_view(),
			childViewContainer: "#elementor-revisions-list",
			ui: {
				discard: ".elementor-button.e-revision-discard",
				apply: ".elementor-button.e-revision-save"
			},
			events: {
				"click @ui.discard": "onDiscardClick",
				"click @ui.apply": "onApplyClick"
			},
			isRevisionApplied: false,
			currentPreviewId: null,
			currentPreviewItem: null,
			document: null,
			initialize: function initialize(options) {
				this.document = options.document;
				this.collection = this.document.revisions.getItems();
				this.listenTo(elementor.channels.editor, "saved", this.onEditorSaved);
				this.currentPreviewId = elementor.config.document.revisions.current_id;
			},
			getRevisionViewData: function getRevisionViewData(revisionView) {
				var _this = this;
				this.document.revisions.getRevisionDataAsync(revisionView.model.get("id"), {
					success: function success(data) {
						var sanitizedData = filterUnknownElements(data);
						if (_this.document.config.panel.has_elements) _this.document.revisions.setEditorData(sanitizedData.elements);
						elementor.settings.page.model.set(sanitizedData.settings);
						_this.setRevisionsButtonsActive(true);
						revisionView.$el.removeClass("elementor-revision-item-loading");
						_this.enterReviewMode();
					},
					error: function error(errorMessage) {
						revisionView.$el.removeClass("elementor-revision-item-loading");
						_this.currentPreviewItem = null;
						_this.currentPreviewId = null;
						alert(errorMessage);
					}
				});
			},
			setRevisionsButtonsActive: function setRevisionsButtonsActive(active) {
				if (!this.isDestroyed) this.ui.apply.add(this.ui.discard).prop("disabled", !active);
			},
			deleteRevision: function deleteRevision(revisionView) {
				var _this2 = this;
				revisionView.$el.addClass("elementor-revision-item-loading");
				this.document.revisions.deleteRevision(revisionView.model, {
					success: function success() {
						if (revisionView.model.get("id") === _this2.currentPreviewId) _this2.onDiscardClick();
						_this2.currentPreviewId = null;
					},
					error: function error() {
						revisionView.$el.removeClass("elementor-revision-item-loading");
						alert("An error occurred.");
					}
				});
			},
			enterReviewMode: function enterReviewMode() {
				elementor.changeEditMode("review");
			},
			exitReviewMode: function exitReviewMode() {
				elementor.changeEditMode("edit");
			},
			navigate: function navigate(reverse) {
				if (!this.currentPreviewId || !this.currentPreviewItem || this.children.length <= 1) return;
				var currentPreviewItemIndex = this.collection.indexOf(this.currentPreviewItem.model);
				var requiredIndex = reverse ? currentPreviewItemIndex - 1 : currentPreviewItemIndex + 1;
				if (requiredIndex < 0) requiredIndex = this.collection.length - 1;
				if (requiredIndex >= this.collection.length) requiredIndex = 0;
				this.children.findByIndex(requiredIndex).ui.detailsArea.trigger("click");
			},
			onEditorSaved: function onEditorSaved() {
				this.exitReviewMode();
				this.setRevisionsButtonsActive(false);
				this.currentPreviewId = elementor.config.document.revisions.current_id;
			},
			onApplyClick: function onApplyClick() {
				$e.internal("document/save/set-is-modified", { status: true });
				$e.run("document/save/auto", { force: true });
				this.isRevisionApplied = true;
				this.currentPreviewId = null;
				this.document.history.getItems().reset();
			},
			onDiscardClick: function onDiscardClick() {
				if (this.document.config.panel.has_elements) this.document.revisions.setEditorData(elementor.config.document.elements);
				$e.internal("document/save/set-is-modified", { status: this.isRevisionApplied });
				this.isRevisionApplied = false;
				this.setRevisionsButtonsActive(false);
				this.currentPreviewId = null;
				this.exitReviewMode();
			},
			onDestroy: function onDestroy() {
				if (this.currentPreviewId && this.currentPreviewId !== elementor.config.document.revisions.current_id) this.onDiscardClick();
			},
			onRenderCollection: function onRenderCollection() {
				if (!this.currentPreviewId) return;
				var currentPreviewModel = this.collection.findWhere({ id: this.currentPreviewId });
				if (currentPreviewModel) {
					this.currentPreviewItem = this.children.findByModelCid(currentPreviewModel.cid);
					this.currentPreviewItem.$el.addClass("elementor-revision-current-preview");
				}
			},
			onChildviewDetailsAreaClick: function onChildviewDetailsAreaClick(childView) {
				var _this3 = this;
				var revisionID = childView.model.get("id");
				if (revisionID === this.currentPreviewId) return;
				if (this.currentPreviewItem) this.currentPreviewItem.$el.removeClass("elementor-revision-current-preview elementor-revision-item-loading");
				childView.$el.addClass("elementor-revision-current-preview elementor-revision-item-loading");
				if ((null === this.currentPreviewId || elementor.config.document.revisions.current_id === this.currentPreviewId) && elementor.saver.isEditorChanged()) $e.internal("document/save/save", {
					status: "autosave",
					onSuccess: function onSuccess() {
						_this3.getRevisionViewData(childView);
					}
				});
				else this.getRevisionViewData(childView);
				this.currentPreviewItem = childView;
				this.currentPreviewId = revisionID;
			}
		});
	}));

//#endregion
//#region modules/history/assets/js/revisions/panel/empty.js
	var require_empty = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-panel-revisions-no-revisions",
			id: "elementor-panel-revisions-no-revisions",
			className: "elementor-nerd-box"
		});
	}));

//#endregion
//#region modules/history/assets/js/history/item-view.js
	function _callSuper$210(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$210() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$210() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$210 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var _default$24;
	var init_item_view = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$210, "_callSuper");
		__name(_isNativeReflectConstruct$210, "_isNativeReflectConstruct");
		_default$24 = /*#__PURE__*/ function(_Marionette$ItemView) {
			function _default() {
				_classCallCheck(this, _default);
				return _callSuper$210(this, _default, arguments);
			}
			_inherits(_default, _Marionette$ItemView);
			return _createClass(_default, [
				{
					key: "tagName",
					value: function tagName() {
						return "button";
					}
				},
				{
					key: "getTemplate",
					value: function getTemplate() {
						return "#tmpl-elementor-panel-history-item";
					}
				},
				{
					key: "className",
					value: function className() {
						return "elementor-history-item elementor-history-item-" + this.model.get("status");
					}
				},
				{
					key: "triggers",
					value: function triggers() {
						return { click: "click" };
					}
				}
			]);
		}(Marionette.ItemView);
	}));

//#endregion
//#region modules/history/assets/js/history/empty.js
	function _callSuper$209(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$209() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$209() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$209 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var _default$23;
	var init_empty = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$209, "_callSuper");
		__name(_isNativeReflectConstruct$209, "_isNativeReflectConstruct");
		_default$23 = /*#__PURE__*/ function(_Marionette$ItemView) {
			function _default() {
				_classCallCheck(this, _default);
				return _callSuper$209(this, _default, arguments);
			}
			_inherits(_default, _Marionette$ItemView);
			return _createClass(_default, [
				{
					key: "getTemplate",
					value: function getTemplate() {
						return "#tmpl-elementor-panel-history-no-items";
					}
				},
				{
					key: "id",
					value: function id() {
						return "elementor-panel-history-no-items";
					}
				},
				{
					key: "onDestroy",
					value: function onDestroy() {
						this._parent.$el.removeClass("elementor-empty");
					}
				}
			]);
		}(Marionette.ItemView);
	}));

//#endregion
//#region modules/history/assets/js/history/panel-tab.js
	var require_panel_tab = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_item_view();
		init_empty();
		module.exports = Marionette.CompositeView.extend({
			id: "elementor-panel-history",
			template: "#tmpl-elementor-panel-history-tab",
			childView: _default$24,
			childViewContainer: "#elementor-history-list",
			emptyView: _default$23,
			currentItem: null,
			updateCurrentItem: function updateCurrentItem() {
				var _this = this;
				if (this.children.length <= 1) return;
				_.defer(function() {
					var currentItem = _this.collection.find(function(model) {
						return "not_applied" === model.get("status");
					});
					var currentView = _this.children.findByModel(currentItem);
					if (!currentView) return;
					var currentItemClass = "elementor-history-item-current";
					if (_this.currentItem) _this.currentItem.removeClass(currentItemClass);
					_this.currentItem = currentView.$el;
					_this.currentItem.addClass(currentItemClass);
				});
			},
			onRender: function onRender() {
				this.updateCurrentItem();
			},
			onRenderEmpty: function onRenderEmpty() {
				this.$el.addClass("elementor-empty");
			},
			onChildviewClick: function onChildviewClick(childView, event) {
				if (childView.$el === this.currentItem) return;
				var index = event.model.collection.findIndex(event.model);
				$e.run("panel/history/actions/do", { index });
			}
		});
	}));

//#endregion
//#region modules/history/assets/js/panel-page.js
	var import_empty, TabHistoryView, panel_page_default;
	var init_panel_page = __esmMin((() => {
		init_loading();
		init_tab();
		import_empty = /* @__PURE__ */ __toESM(require_empty());
		TabHistoryView = require_panel_tab();
		panel_page_default = Marionette.LayoutView.extend({
			template: "#tmpl-elementor-panel-history-page",
			regions: { content: "#elementor-panel-history-content" },
			ui: { tabs: ".elementor-panel-navigation-tab" },
			regionViews: {},
			currentTab: null,
			/**
			* @type {Document}
			*/
			document: null,
			initialize: function initialize(options) {
				this.document = options.document || elementor.documents.getCurrent();
				this.initRegionViews();
			},
			initRegionViews: function initRegionViews() {
				var _this = this;
				var historyItems = this.document.history.getItems();
				this.regionViews = {
					actions: {
						view: function view() {
							return TabHistoryView;
						},
						options: {
							collection: historyItems,
							history: this.document.history
						}
					},
					revisions: {
						view: function view() {
							var revisionsItems = _this.document.revisions.getItems();
							if (!revisionsItems) return _default$25;
							if (1 === revisionsItems.length && "current" === revisionsItems.models[0].get("type")) return import_empty.default;
							return tab_default;
						},
						options: { document: this.document }
					}
				};
			},
			getCurrentTab: function getCurrentTab() {
				return this.currentTab;
			},
			showView: function showView(viewName) {
				var viewDetails = this.regionViews[viewName];
				var options = viewDetails.options || {};
				var View = viewDetails.view();
				if (this.currentTab && this.currentTab.constructor === View) return;
				this.currentTab = new View(options);
				this.content.show(this.currentTab);
			}
		});
	}));

//#endregion
//#region modules/history/assets/js/module.js
	var module_exports = /* @__PURE__ */ __exportAll({ default: () => Manager$3 });
	var Manager$3;
	var init_module = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_component$7();
		init_component$6();
		init_component$5();
		init_panel_page();
		Manager$3 = /*#__PURE__*/ function() {
			function Manager() {
				_classCallCheck(this, Manager);
				elementorCommon.elements.$window.on("elementor:loaded", this.init);
			}
			return _createClass(Manager, [
				{
					key: "init",
					value: function init() {
						$e.components.register(new Component$29());
						$e.components.register(new Component$28());
						$e.components.register(new Component$27());
						elementor.on("panel:init", function() {
							elementor.getPanelView().addPage("historyPage", {
								view: panel_page_default,
								title: (0, _wordpress_i18n.__)("History", "elementor")
							});
						});
					}
				},
				{
					key: "history",
					get: function get() {
						elementorDevTools.deprecation.deprecated("elementor.history.history", "2.9.0", "elementor.documents.getCurrent().history");
						return elementor.documents.getCurrent().history;
					}
				},
				{
					key: "revisions",
					get: function get() {
						elementorDevTools.deprecation.deprecated("elementor.history.revisions", "2.9.0", "elementor.documents.getCurrent().revisions");
						return elementor.documents.getCurrent().revisions;
					}
				}
			]);
		}();
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/commands/close.js
	function _callSuper$208(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$208() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$208() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$208 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Close$3;
	var init_close$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_command_base();
		__name(_callSuper$208, "_callSuper");
		__name(_isNativeReflectConstruct$208, "_isNativeReflectConstruct");
		Close$3 = /*#__PURE__*/ function(_CommandBase) {
			function Close() {
				_classCallCheck(this, Close);
				return _callSuper$208(this, Close, arguments);
			}
			_inherits(Close, _CommandBase);
			return _createClass(Close, [{
				key: "apply",
				value: function apply() {
					this.component.close();
				}
			}]);
		}(CommandBase);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/commands/open.js
	function _callSuper$207(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$207() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$207() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$207 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Open$5;
	var init_open$3 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_command_base();
		__name(_callSuper$207, "_callSuper");
		__name(_isNativeReflectConstruct$207, "_isNativeReflectConstruct");
		Open$5 = /*#__PURE__*/ function(_CommandBase) {
			function Open() {
				_classCallCheck(this, Open);
				return _callSuper$207(this, Open, arguments);
			}
			_inherits(Open, _CommandBase);
			return _createClass(Open, [{
				key: "apply",
				value: function apply() {
					$e.route(this.component.getNamespace());
				}
			}]);
		}(CommandBase);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/commands/toggle.js
	function _callSuper$206(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$206() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$206() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$206 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Toggle$2;
	var init_toggle$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_command_base();
		__name(_callSuper$206, "_callSuper");
		__name(_isNativeReflectConstruct$206, "_isNativeReflectConstruct");
		Toggle$2 = /*#__PURE__*/ function(_CommandBase) {
			function Toggle() {
				_classCallCheck(this, Toggle);
				return _callSuper$206(this, Toggle, arguments);
			}
			_inherits(Toggle, _CommandBase);
			return _createClass(Toggle, [{
				key: "apply",
				value: function apply() {
					if (this.component.isOpen) this.component.close();
					else $e.route(this.component.getNamespace());
				}
			}]);
		}(CommandBase);
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/commands/index.js
	var commands_exports$16 = /* @__PURE__ */ __exportAll({
		Close: () => Close$3,
		Open: () => Open$5,
		Toggle: () => Toggle$2
	});
	var init_commands$3 = __esmMin((() => {
		init_close$1();
		init_open$3();
		init_toggle$1();
	}));

//#endregion
//#region modules/web-cli/assets/js/modules/component-modal-base.js
	function _callSuper$205(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$205() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$205() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$205 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$29(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var ComponentModalBase;
	var init_component_modal_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		init_component_base$1();
		init_commands$3();
		init_force_method_implementation();
		__name(_callSuper$205, "_callSuper");
		__name(_isNativeReflectConstruct$205, "_isNativeReflectConstruct");
		__name(_superPropGet$29, "_superPropGet");
		ComponentModalBase = /*#__PURE__*/ function(_ComponentBase) {
			function ComponentModalBase() {
				_classCallCheck(this, ComponentModalBase);
				return _callSuper$205(this, ComponentModalBase, arguments);
			}
			_inherits(ComponentModalBase, _ComponentBase);
			return _createClass(ComponentModalBase, [
				{
					key: "registerAPI",
					value: function registerAPI() {
						var _this = this;
						_superPropGet$29(ComponentModalBase, "registerAPI", this, 3)([]);
						$e.shortcuts.register("esc", {
							scopes: [this.getNamespace()],
							callback: function callback() {
								return _this.close();
							}
						});
					}
				},
				{
					key: "defaultCommands",
					value: function defaultCommands() {
						return this.importCommands(commands_exports$16);
					}
				},
				{
					key: "defaultRoutes",
					value: function defaultRoutes() {
						return { "": function _() {} };
					}
				},
				{
					key: "open",
					value: function open() {
						var _this2 = this;
						if (!this.layout) {
							var layout = this.getModalLayout();
							this.layout = new layout({ component: this });
							this.layout.getModal().on("hide", function() {
								return _this2.close();
							});
						}
						this.layout.showModal();
						return true;
					}
				},
				{
					key: "close",
					value: function close() {
						if (!_superPropGet$29(ComponentModalBase, "close", this, 3)([])) return false;
						elementor.hooks.applyFilters("component/modal/close", this.layout.getModal().hide.bind(this.layout.getModal()), this)();
						return true;
					}
				},
				{
					key: "getModalLayout",
					value: function getModalLayout() {
						force_method_implementation_default();
					}
				}
			]);
		}(ComponentBase$1);
	}));

//#endregion
//#region assets/dev/js/editor/components/hotkeys/modal-content.js
init_module();
init_component_modal_base();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_environment();
	function _callSuper$204(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$204() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$204, "_callSuper");
	function _isNativeReflectConstruct$204() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$204 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$204, "_isNativeReflectConstruct");
	var _default$22 = /*#__PURE__*/ function(_Marionette$LayoutVie) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$204(this, _default, arguments);
		}
		_inherits(_default, _Marionette$LayoutVie);
		return _createClass(_default, [
			{
				key: "id",
				value: function id() {
					return "elementor-hotkeys";
				}
			},
			{
				key: "templateHelpers",
				value: function templateHelpers() {
					return { environment };
				}
			},
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-hotkeys";
				}
			}
		]);
	}(Marionette.LayoutView);

//#endregion
//#region assets/dev/js/editor/components/hotkeys/modal-layout.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$203(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$203() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$203, "_callSuper");
	function _isNativeReflectConstruct$203() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$203 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$203, "_isNativeReflectConstruct");
	function _superPropGet$28(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$28, "_superPropGet");
	var _default$21 = /*#__PURE__*/ function(_elementorModules$com) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$203(this, _default, arguments);
		}
		_inherits(_default, _elementorModules$com);
		return _createClass(_default, [
			{
				key: "getModalOptions",
				value: function getModalOptions() {
					return { id: "elementor-hotkeys__modal" };
				}
			},
			{
				key: "getLogoOptions",
				value: function getLogoOptions() {
					return { title: (0, _wordpress_i18n.__)("Keyboard Shortcuts", "elementor") };
				}
			},
			{
				key: "initialize",
				value: function initialize() {
					for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
					_superPropGet$28(_default, "initialize", this, 3)(args);
					this.showLogo();
					this.showContentView();
				}
			},
			{
				key: "showContentView",
				value: function showContentView() {
					this.modalContent.show(new _default$22());
				}
			}
		]);
	}(elementorModules.common.views.modal.Layout);

//#endregion
//#region assets/dev/js/editor/components/hotkeys/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$202(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$202() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$202, "_callSuper");
	function _isNativeReflectConstruct$202() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$202 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$202, "_isNativeReflectConstruct");
	var Component$26 = /*#__PURE__*/ function(_ComponentModalBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$202(this, Component, arguments);
		}
		_inherits(Component, _ComponentModalBase);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "shortcuts";
				}
			},
			{
				key: "defaultShortcuts",
				value: function defaultShortcuts() {
					return { "": {
						keys: "ctrl+?, shift+?",
						exclude: ["input"]
					} };
				}
			},
			{
				key: "getModalLayout",
				value: function getModalLayout() {
					return _default$21;
				}
			}
		]);
	}(ComponentModalBase);

//#endregion
//#region assets/dev/js/editor/components/hotkeys/hotkeys.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$201(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$201() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$201, "_callSuper");
	function _isNativeReflectConstruct$201() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$201 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$201, "_isNativeReflectConstruct");
	var _default$20 = /*#__PURE__*/ function(_elementorModules$Mod) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$201(this, _default, arguments);
		}
		_inherits(_default, _elementorModules$Mod);
		return _createClass(_default, [{
			key: "onInit",
			value: function onInit() {
				$e.components.register(new Component$26({ manager: this }));
			}
		}]);
	}(elementorModules.Module);

//#endregion
//#region core/common/assets/js/views/modal/header.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$200(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$200() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$200, "_callSuper");
	function _isNativeReflectConstruct$200() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$200 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$200, "_isNativeReflectConstruct");
	var _default$19 = /*#__PURE__*/ function(_Marionette$LayoutVie) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$200(this, _default, arguments);
		}
		_inherits(_default, _Marionette$LayoutVie);
		return _createClass(_default, [
			{
				key: "tagName",
				value: function tagName() {
					return "header";
				}
			},
			{
				key: "className",
				value: function className() {
					return "elementor-templates-modal__header";
				}
			},
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-templates-modal__header";
				}
			},
			{
				key: "regions",
				value: function regions() {
					return {
						logoArea: ".elementor-templates-modal__header__logo-area",
						tools: "#elementor-template-library-header-tools",
						menuArea: ".elementor-templates-modal__header__menu-area"
					};
				}
			},
			{
				key: "ui",
				value: function ui() {
					return { closeModal: ".elementor-templates-modal__header__close" };
				}
			},
			{
				key: "events",
				value: function events() {
					return { "click @ui.closeModal": "onCloseModalClick" };
				}
			},
			{
				key: "onRender",
				value: function onRender() {
					this.bindEscapeKey();
				}
			},
			{
				key: "bindEscapeKey",
				value: function bindEscapeKey() {
					var _this = this;
					this.onDocumentKeyDown = function(event) {
						if ("Escape" === event.key) _this.onCloseModalClick();
					};
					document.addEventListener("keydown", this.onDocumentKeyDown);
				}
			},
			{
				key: "onDestroy",
				value: function onDestroy() {
					if (this.onDocumentKeyDown) document.removeEventListener("keydown", this.onDocumentKeyDown);
				}
			},
			{
				key: "templateHelpers",
				value: function templateHelpers() {
					return { closeType: this.getOption("closeType") };
				}
			},
			{
				key: "onCloseModalClick",
				value: function onCloseModalClick() {
					this._parent._parent._parent.hideModal();
					var documentType = this.getDocumentType();
					var customEvent = new CustomEvent("core/modal/close/".concat(documentType));
					window.dispatchEvent(customEvent);
					if (this.isFloatingButtonLibraryClose()) {
						$e.internal("document/save/set-is-modified", { status: false });
						window.location.href = elementor.config.admin_floating_button_admin_url;
					}
				}
			},
			{
				key: "getDocumentType",
				value: function getDocumentType() {
					var _elementor$config$doc;
					var _elementor;
					var DEFAULT_TYPE = "default";
					if ("undefined" === typeof window.elementor) return DEFAULT_TYPE;
					return (_elementor$config$doc = (_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 || (_elementor = _elementor.document) === null || _elementor === void 0 ? void 0 : _elementor.type) !== null && _elementor$config$doc !== void 0 ? _elementor$config$doc : DEFAULT_TYPE;
				}
			},
			{
				key: "isFloatingButtonLibraryClose",
				value: function isFloatingButtonLibraryClose() {
					var _elementor$config;
					var _elementor$config2;
					return window.elementor && ((_elementor$config = elementor.config) === null || _elementor$config === void 0 ? void 0 : _elementor$config.admin_floating_button_admin_url) && "floating-buttons" === ((_elementor$config2 = elementor.config) === null || _elementor$config2 === void 0 || (_elementor$config2 = _elementor$config2.document) === null || _elementor$config2 === void 0 ? void 0 : _elementor$config2.type) && (this.$el.closest(".dialog-lightbox-widget-content").find(".elementor-template-library-template-floating_button").length || this.$el.closest(".dialog-lightbox-widget-content").find("#elementor-template-library-preview").length || this.$el.closest(".dialog-lightbox-widget-content").find("#elementor-template-library-templates-empty").length);
				}
			}
		]);
	}(Marionette.LayoutView);

//#endregion
//#region core/common/assets/js/views/modal/logo.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$199(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$199() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$199, "_callSuper");
	function _isNativeReflectConstruct$199() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$199 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$199, "_isNativeReflectConstruct");
	var _default$18 = /*#__PURE__*/ function(_Marionette$ItemView) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$199(this, _default, arguments);
		}
		_inherits(_default, _Marionette$ItemView);
		return _createClass(_default, [
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-templates-modal__header__logo";
				}
			},
			{
				key: "className",
				value: function className() {
					return "elementor-templates-modal__header__logo";
				}
			},
			{
				key: "events",
				value: function events() {
					return { click: "onClick" };
				}
			},
			{
				key: "templateHelpers",
				value: function templateHelpers() {
					return { title: this.getOption("title") };
				}
			},
			{
				key: "onClick",
				value: function onClick() {
					var clickCallback = this.getOption("click");
					if (clickCallback) clickCallback();
				}
			}
		]);
	}(Marionette.ItemView);

//#endregion
//#region core/common/assets/js/views/modal/loading.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$198(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$198() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$198, "_callSuper");
	function _isNativeReflectConstruct$198() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$198 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$198, "_isNativeReflectConstruct");
	var _default$17 = /*#__PURE__*/ function(_Marionette$ItemView) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$198(this, _default, arguments);
		}
		_inherits(_default, _Marionette$ItemView);
		return _createClass(_default, [{
			key: "id",
			value: function id() {
				return "elementor-template-library-loading";
			}
		}, {
			key: "getTemplate",
			value: function getTemplate() {
				return "#tmpl-elementor-template-library-loading";
			}
		}]);
	}(Marionette.ItemView);

//#endregion
//#region core/common/assets/js/views/modal/layout.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$197(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$197() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$197, "_callSuper");
	function _isNativeReflectConstruct$197() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$197 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$197, "_isNativeReflectConstruct");
	var _default$16 = /*#__PURE__*/ function(_Marionette$LayoutVie) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$197(this, _default, arguments);
		}
		_inherits(_default, _Marionette$LayoutVie);
		return _createClass(_default, [
			{
				key: "el",
				value: function el() {
					return this.getModal().getElements("widget");
				}
			},
			{
				key: "regions",
				value: function regions() {
					return {
						modalHeader: ".dialog-header",
						modalContent: ".dialog-lightbox-content",
						modalLoading: ".dialog-lightbox-loading"
					};
				}
			},
			{
				key: "initialize",
				value: function initialize() {
					this.modalHeader.show(new _default$19(this.getHeaderOptions()));
				}
			},
			{
				key: "getModal",
				value: function getModal() {
					if (!this.modal) this.initModal();
					return this.modal;
				}
			},
			{
				key: "initModal",
				value: function initModal() {
					var modalOptions = {
						className: "elementor-templates-modal",
						closeButton: false,
						draggable: false,
						hide: {
							onOutsideClick: false,
							onEscKeyPress: false
						}
					};
					jQuery.extend(true, modalOptions, this.getModalOptions());
					this.modal = elementorCommon.dialogsManager.createWidget("lightbox", modalOptions);
					this.modal.getElements("message").append(this.modal.addElement("content"), this.modal.addElement("loading"));
					if (modalOptions.draggable) this.draggableModal();
				}
			},
			{
				key: "showModal",
				value: function showModal() {
					this.getModal().show();
				}
			},
			{
				key: "hideModal",
				value: function hideModal() {
					this.getModal().hide();
				}
			},
			{
				key: "draggableModal",
				value: function draggableModal() {
					var $modalWidgetContent = this.getModal().getElements("widgetContent");
					$modalWidgetContent.draggable({
						containment: "parent",
						stop: function stop() {
							$modalWidgetContent.height("");
						}
					});
					$modalWidgetContent.css("position", "absolute");
				}
			},
			{
				key: "getModalOptions",
				value: function getModalOptions() {
					return {};
				}
			},
			{
				key: "getLogoOptions",
				value: function getLogoOptions() {
					return {};
				}
			},
			{
				key: "getHeaderOptions",
				value: function getHeaderOptions() {
					return { closeType: "normal" };
				}
			},
			{
				key: "getHeaderView",
				value: function getHeaderView() {
					return this.modalHeader.currentView;
				}
			},
			{
				key: "showLoadingView",
				value: function showLoadingView() {
					this.modalLoading.show(new _default$17());
					this.modalLoading.$el.show();
					this.modalContent.$el.hide();
				}
			},
			{
				key: "hideLoadingView",
				value: function hideLoadingView() {
					this.modalContent.$el.show();
					this.modalLoading.$el.hide();
				}
			},
			{
				key: "showLogo",
				value: function showLogo() {
					this.getHeaderView().logoArea.show(new _default$18(this.getLogoOptions()));
				}
			}
		]);
	}(Marionette.LayoutView);

//#endregion
//#region assets/dev/js/editor/components/icons-manager/modal-layout.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$196(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$196() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$196, "_callSuper");
	function _isNativeReflectConstruct$196() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$196 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$196, "_isNativeReflectConstruct");
	function _superPropGet$27(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$27, "_superPropGet");
	var _default$15 = /*#__PURE__*/ function(_BaseModalLayout) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$196(this, _default, arguments);
		}
		_inherits(_default, _BaseModalLayout);
		return _createClass(_default, [
			{
				key: "getModalOptions",
				value: function getModalOptions() {
					return { id: "elementor-icons-manager-modal" };
				}
			},
			{
				key: "getLogoOptions",
				value: function getLogoOptions() {
					return { title: (0, _wordpress_i18n.__)("Icon Library", "elementor") };
				}
			},
			{
				key: "initialize",
				value: function initialize() {
					for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
					_superPropGet$27(_default, "initialize", this, 3)(args);
					this.showLogo();
				}
			}
		]);
	}(_default$16);

//#endregion
//#region node_modules/@babel/runtime/helpers/esm/extends.js
	function _extends() {
		return _extends = Object.assign ? Object.assign.bind() : function(n) {
			for (var e = 1; e < arguments.length; e++) {
				var t = arguments[e];
				for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
			}
			return n;
		}, _extends.apply(null, arguments);
	}

//#endregion
//#region assets/dev/js/editor/components/icons-manager/components/icon-list.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types());
	function _callSuper$195(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$195() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$195, "_callSuper");
	function _isNativeReflectConstruct$195() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$195 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$195, "_isNativeReflectConstruct");
	var LazyIconList = /*#__PURE__*/ function(_Component) {
		function LazyIconList() {
			var _this;
			_classCallCheck(this, LazyIconList);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$195(this, LazyIconList, [].concat(args));
			_defineProperty(_this, "state", {
				itemSize: {
					width: 0,
					height: 0
				},
				wrapperSize: {
					width: 0,
					height: 0
				},
				firstRowInView: 0
			});
			_defineProperty(_this, "selectors", {
				item: ".elementor-icons-manager__tab__item",
				wrapper: "elementor-icons-manager__tab__wrapper"
			});
			_defineProperty(_this, "attachScrollListener", function() {
				var element = document.getElementById(_this.selectors.wrapper);
				if (element) element.addEventListener("scroll", _this.handleScroll);
			});
			_defineProperty(_this, "maybeMeasureItem", function() {
				if (_this.state.itemSize.width) return;
				var itemPadding = 20;
				var testElement = document.querySelector(_this.selectors.item);
				if (!testElement) return;
				var wrapper = document.getElementById(_this.selectors.wrapper);
				var newState = {
					itemSize: {
						width: testElement.offsetWidth + itemPadding,
						height: testElement.offsetHeight + itemPadding
					},
					wrapperSize: {
						width: wrapper.offsetWidth,
						height: wrapper.clientHeight
					}
				};
				return _this.setState(newState, function() {
					_this.maybeScrollToSelected();
				});
			});
			_defineProperty(_this, "maybeScrollToSelected", function() {
				if (!_this.hasSelected()) return;
				var selectedIndex = _this.props.selectedIndex;
				var _this$state = _this.state;
				var wrapperSize = _this$state.wrapperSize;
				var itemSize = _this$state.itemSize;
				var itemsInRow = Math.floor(wrapperSize.width / itemSize.width);
				var scrollTop = (Math.ceil(selectedIndex / itemsInRow) - 1) * itemSize.height;
				setTimeout(function() {
					_this.props.parentRef.current.scrollTo({
						top: scrollTop,
						left: 0,
						behavior: "auto"
					});
				}, 0);
			});
			_defineProperty(_this, "handleScroll", function() {
				_this.clearDebounceScrollCallback();
				_this._debounce = setTimeout(function() {
					var element = document.getElementById(_this.selectors.wrapper);
					var itemSize = _this.state.itemSize;
					_this.setState({ firstRowInView: Math.floor(element.scrollTop / itemSize.height) });
				}, 10);
			});
			_defineProperty(_this, "render", function() {
				var _this$state2 = _this.state;
				var itemSize = _this$state2.itemSize;
				var wrapperSize = _this$state2.wrapperSize;
				var firstRowInView = _this.state.firstRowInView;
				if (!itemSize.width) return _this.renderFirstElementForMeasurement();
				var items = _this.props.items;
				var itemsInRow = Math.floor(wrapperSize.width / itemSize.width);
				var totalRows = Math.ceil(items.length / itemsInRow);
				var rowsInView = Math.ceil(wrapperSize.height / itemSize.height) + 4;
				if (rowsInView > totalRows) rowsInView = totalRows;
				if (firstRowInView > totalRows - rowsInView) firstRowInView = totalRows - rowsInView;
				var tailRows = totalRows - firstRowInView - rowsInView;
				var firstItemIndexInWindow = firstRowInView * itemsInRow;
				var lastItemIndexInWindow = (firstRowInView + rowsInView) * itemsInRow - 1;
				var itemsInView = items.slice(firstItemIndexInWindow, lastItemIndexInWindow + 1);
				var offsetStyle = { height: "".concat(firstRowInView * itemSize.height, "px") };
				var tailStyle = { height: "".concat(tailRows * itemSize.height, "px") };
				return /*#__PURE__*/ react.default.createElement(react.Fragment, null, /*#__PURE__*/ react.default.createElement("div", {
					className: "elementor-icons-manager__tab__content__offset",
					style: offsetStyle
				}), /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__tab__content" }, itemsInView), /*#__PURE__*/ react.default.createElement("div", {
					className: "elementor-icons-manager__tab__content__tail",
					style: tailStyle
				}));
			});
			return _this;
		}
		_inherits(LazyIconList, _Component);
		return _createClass(LazyIconList, [
			{
				key: "componentDidMount",
				value: function componentDidMount() {
					this.attachScrollListener();
					this.maybeMeasureItem();
				}
			},
			{
				key: "componentWillUnmount",
				value: function componentWillUnmount() {
					this.clearDebounceScrollCallback();
					var element = document.getElementById(this.selectors.wrapper);
					if (element) element.removeEventListener("scroll", this.handleScroll);
				}
			},
			{
				key: "clearDebounceScrollCallback",
				value: function clearDebounceScrollCallback() {
					clearTimeout(this._debounce);
				}
			},
			{
				key: "renderFirstElementForMeasurement",
				value: function renderFirstElementForMeasurement() {
					return /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__tab__content" }, this.props.items[0]);
				}
			},
			{
				key: "hasSelected",
				value: function hasSelected() {
					return -1 !== this.props.selectedIndex;
				}
			}
		]);
	}(react.Component);
	LazyIconList.propTypes = {
		items: import_prop_types.default.array,
		selectedIndex: import_prop_types.default.number,
		parentRef: import_prop_types.default.any
	};

//#endregion
//#region assets/dev/js/editor/components/icons-manager/components/icon.js
	init_createClass();
	init_classCallCheck();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$194(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$194() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$194, "_callSuper");
	function _isNativeReflectConstruct$194() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$194 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$194, "_isNativeReflectConstruct");
	var Icon = /*#__PURE__*/ function(_Component) {
		function Icon() {
			var _this;
			_classCallCheck(this, Icon);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$194(this, Icon, [].concat(args));
			_defineProperty(_this, "setSelected", function() {
				_this.props.setSelectedHandler({
					value: _this.props.data.displayPrefix + " " + _this.props.data.selector,
					library: _this.props.library
				});
			});
			_defineProperty(_this, "render", function() {
				return /*#__PURE__*/ react.default.createElement("div", {
					className: _this.props.containerClass,
					key: _this.props.keyID,
					onClick: _this.setSelected,
					filter: _this.props.data.filter
				}, /*#__PURE__*/ react.default.createElement("div", { className: "elementor-icons-manager__tab__item__content" }, /*#__PURE__*/ react.default.createElement("i", { className: "elementor-icons-manager__tab__item__icon " + _this.props.className }), /*#__PURE__*/ react.default.createElement("div", {
					className: "elementor-icons-manager__tab__item__name",
					title: _this.props.data.name
				}, _this.props.data.name)));
			});
			return _this;
		}
		_inherits(Icon, _Component);
		return _createClass(Icon);
	}(react.Component);
	Icon.propTypes = {
		className: import_prop_types.default.string,
		containerClass: import_prop_types.default.string,
		data: import_prop_types.default.object,
		keyID: import_prop_types.default.string,
		library: import_prop_types.default.string,
		selector: import_prop_types.default.string,
		setSelectedHandler: import_prop_types.default.func
	};

//#endregion
//#region assets/dev/js/editor/components/icons-manager/components/tab.js
	init_slicedToArray();
	init_toConsumableArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _createForOfIteratorHelper$7(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$7(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	__name(_createForOfIteratorHelper$7, "_createForOfIteratorHelper");
	function _unsupportedIterableToArray$7(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$7(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$7(r, a) : void 0;
		}
	}
	__name(_unsupportedIterableToArray$7, "_unsupportedIterableToArray");
	function _arrayLikeToArray$7(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	__name(_arrayLikeToArray$7, "_arrayLikeToArray");
	function _callSuper$193(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$193() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$193, "_callSuper");
	function _isNativeReflectConstruct$193() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$193 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$193, "_isNativeReflectConstruct");
	var Tab = /*#__PURE__*/ function(_Component) {
		function Tab() {
			var _this;
			_classCallCheck(this, Tab);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$193(this, Tab, [].concat(args));
			_defineProperty(_this, "componentDidMount", function() {
				if (_this.props.selected && _this.props.selected.value) setTimeout(function() {
					var element = document.querySelector(".elementor-selected");
					if (element) element.scrollIntoView(false);
				}, 0);
			});
			_defineProperty(_this, "handleFullIconList", function() {
				var fullIconList = [];
				Object.entries(_this.props.icons).forEach(function(library) {
					if ("recommended" !== library[0]) fullIconList = [].concat(_toConsumableArray(fullIconList), _toConsumableArray(_this.getIconsOfType(library[0], library[1])));
				});
				return fullIconList.sort(function(a, b) {
					return a.filter === b.filter ? 0 : +(a.filter > b.filter) || -1;
				});
			});
			_defineProperty(_this, "getLibrary", function(libraryName) {
				return elementor.config.icons.libraries.filter(function(library) {
					return libraryName === library.name;
				});
			});
			_defineProperty(_this, "handleRecommendedList", function() {
				var recommendedIconList = [];
				Object.entries(_this.props.icons).forEach(function(library) {
					var iconsOfType = _this.getLibrary(library[0])[0].icons;
					var recommendedIconsOfType = {};
					library[1].forEach(function(iconName) {
						if (iconsOfType[iconName]) recommendedIconsOfType[iconName] = iconsOfType[iconName];
					});
					recommendedIconList = [].concat(_toConsumableArray(recommendedIconList), _toConsumableArray(_this.getIconsOfType(library[0], recommendedIconsOfType)));
				});
				return recommendedIconList;
			});
			_defineProperty(_this, "getIconsComponentList", function() {
				var iconsToShow = [];
				var _this$props = _this.props;
				var name = _this$props.name;
				var icons = _this$props.icons;
				var filter = _this$props.filter;
				switch (name) {
					case "all":
						iconsToShow = _this.handleFullIconList();
						break;
					case "recommended":
						iconsToShow = _this.handleRecommendedList();
						break;
					default:
						iconsToShow = _this.getIconsOfType(name, icons);
						break;
				}
				if (filter) iconsToShow = Object.values(iconsToShow).filter(function(icon) {
					return icon.props.data.name.toLowerCase().indexOf(filter) > -1;
				});
				return iconsToShow;
			});
			_defineProperty(_this, "render", function() {
				var icons = _this.getIconsComponentList();
				var selectedIndex = -1;
				var _iterator = _createForOfIteratorHelper$7(icons.entries());
				var _step;
				try {
					for (_iterator.s(); !(_step = _iterator.n()).done;) {
						var _step$value = _slicedToArray(_step.value, 2);
						var index = _step$value[0];
						if (_step$value[1].props.containerClass.includes("elementor-selected")) {
							selectedIndex = index;
							break;
						}
					}
				} catch (err) {
					_iterator.e(err);
				} finally {
					_iterator.f();
				}
				return /*#__PURE__*/ react.default.createElement(LazyIconList, {
					selectedIndex,
					items: icons,
					parentRef: _this.props.parentRef
				});
			});
			return _this;
		}
		_inherits(Tab, _Component);
		return _createClass(Tab, [{
			key: "getIconsOfType",
			value: function getIconsOfType(type, icons) {
				var _this2 = this;
				var _this$props2 = this.props;
				var selected = _this$props2.selected;
				var filter = _this$props2.filter;
				return Object.entries(icons).map(function(icon) {
					var iconData = icon[1];
					var iconName = icon[0];
					var className = iconData.displayPrefix + " " + iconData.selector;
					var containerClass = "elementor-icons-manager__tab__item";
					if (selected.value === className) containerClass += " elementor-selected";
					var key = containerClass + type + "-" + iconName + filter;
					return /*#__PURE__*/ react.default.createElement(Icon, {
						key,
						library: type,
						keyID: iconName,
						containerClass,
						className,
						setSelectedHandler: _this2.props.setSelected,
						data: iconData
					});
				});
			}
		}]);
	}(react.Component);
	Tab.propTypes = {
		data: import_prop_types.default.any,
		filter: import_prop_types.default.any,
		icons: import_prop_types.default.object,
		name: import_prop_types.default.string,
		selected: import_prop_types.default.object,
		setSelected: import_prop_types.default.func,
		parentRef: import_prop_types.default.any
	};

//#endregion
//#region assets/dev/js/editor/components/icons-manager/components/icons-go-pro.js
	init_createClass();
	init_classCallCheck();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$192(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$192() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$192, "_callSuper");
	function _isNativeReflectConstruct$192() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$192 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$192, "_isNativeReflectConstruct");
	var IconsGoPro = /*#__PURE__*/ function(_Component) {
		function IconsGoPro() {
			var _this;
			_classCallCheck(this, IconsGoPro);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$192(this, IconsGoPro, [].concat(args));
			_defineProperty(_this, "render", function() {
				return /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__promotion" }, /*#__PURE__*/ react.default.createElement("i", {
					id: "elementor-icons-manager__promotion__icon",
					className: "eicon-nerd"
				}), /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__promotion__text" }, (0, _wordpress_i18n.__)("Become a Pro user to upload unlimited font icon folders to your website.", "elementor")), /*#__PURE__*/ react.default.createElement("a", {
					href: elementor.config.icons.goProURL,
					id: "elementor-icons-manager__promotion__link",
					className: "elementor-button go-pro",
					target: "_blank",
					rel: "noopener noreferrer"
				}, (0, _wordpress_i18n.__)("Upgrade Now", "elementor")));
			});
			return _this;
		}
		_inherits(IconsGoPro, _Component);
		return _createClass(IconsGoPro);
	}(react.Component);

//#endregion
//#region assets/dev/js/editor/components/icons-manager/components/icon-manager.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	init_react();
	function ownKeys$13(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$13, "ownKeys");
	function _objectSpread$13(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$13(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$13(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$13, "_objectSpread");
	function _callSuper$191(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$191() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$191, "_callSuper");
	function _isNativeReflectConstruct$191() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$191 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$191, "_isNativeReflectConstruct");
	var IconsManager = /*#__PURE__*/ function(_Component) {
		function IconsManager() {
			var _this;
			_classCallCheck(this, IconsManager);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$191(this, IconsManager, [].concat(args));
			_defineProperty(_this, "scrollViewRef", (0, react.createRef)());
			_defineProperty(_this, "state", {
				activeTab: _this.props.activeTab,
				selected: {
					library: "",
					value: ""
				},
				iconTabs: elementor.config.icons.libraries,
				loaded: _this.props.loaded,
				filter: ""
			});
			_defineProperty(_this, "cache", {});
			_defineProperty(_this, "loadAllTabs", function() {
				var loaded = _this.state.loaded;
				_this.props.icons.forEach(function(tabSettings) {
					if (loaded[tabSettings.name]) return;
					if (-1 < ["all", "recommended"].indexOf(tabSettings.name)) return;
					elementor.iconManager.library.initIconType(_objectSpread$13({}, tabSettings), function(library) {
						_this.cache[library.name] = library;
						loaded[tabSettings.name] = true;
					});
				});
				loaded.all = true;
				loaded.recommended = true;
				_this.setState({ loaded });
			});
			_defineProperty(_this, "getActiveTab", function() {
				var activeTab = _this.state.activeTab;
				var loaded = _this.state.loaded;
				var icons = _this.props.icons;
				if (!activeTab) {
					if (_this.props.activeTab) activeTab = _this.props.activeTab;
				}
				if ("GoPro" === activeTab) return activeTab;
				if (!loaded[activeTab]) return false;
				var tabSettings = _objectSpread$13({}, icons.filter(function(tab) {
					return tab.name === activeTab;
				})[0]);
				if (loaded[activeTab]) return _objectSpread$13({}, tabSettings);
				if ("all" === tabSettings.name && !loaded.all) return _this.loadAllTabs();
				elementor.iconManager.library.initIconType(_objectSpread$13({}, tabSettings), function(library) {
					_this.cache[library.name] = library;
					_this.updateLoaded(library.name);
				});
				return false;
			});
			_defineProperty(_this, "getIconTabsLinks", function() {
				var native = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
				return _this.props.icons.map(function(tab) {
					if (native ^ _this.isNativeTab(tab)) return "";
					var isCurrentTab = tab.name === _this.state.activeTab;
					var className = "elementor-icons-manager__tab-link";
					if (isCurrentTab) className += " elementor-active";
					return /*#__PURE__*/ react.default.createElement("div", {
						className,
						key: tab.name,
						onClick: function onClick() {
							if (isCurrentTab) return;
							_this.setState({ activeTab: tab.name });
						}
					}, /*#__PURE__*/ react.default.createElement("i", { className: tab.labelIcon }), tab.label);
				});
			});
			_defineProperty(_this, "getActiveTabIcons", function(activeTab) {
				if (activeTab.name) return _this.getActiveTabIcons(activeTab.name);
				if (_this.cache[activeTab]) return _this.cache[activeTab].icons;
				if ("recommended" === activeTab) return _this.state.iconTabs[0].icons;
				if ("all" === activeTab) return _this.getAllIcons();
				if (!_this.state.loaded[activeTab]) {
					var librarySettings = _this.props.icons.filter(function(library) {
						return activeTab === library.name;
					});
					return elementor.iconManager.library.initIconType(_objectSpread$13({}, librarySettings[0]), function(library) {
						_this.cache[library.name] = library;
						_this.updateLoaded(library.name);
					});
				}
				return elementor.iconManager.store.getIcons(activeTab);
			});
			_defineProperty(_this, "getAllIcons", function() {
				if (_this.cache.all) return _this.cache.all.icons;
				var icons = {};
				_this.props.icons.forEach(function(tabSettings) {
					if ("all" === tabSettings.name || "recommended" === tabSettings.name) return;
					icons[tabSettings.name] = _this.getActiveTabIcons(tabSettings.name);
				});
				_this.cache.all = { icons };
				return icons;
			});
			_defineProperty(_this, "handleSearch", function(event) {
				var filter = event.target.value;
				if (filter && "" !== filter) {
					filter = filter.toLocaleLowerCase();
					if (_this.state.filter === filter) return;
				} else filter = "";
				_this.setState({ filter });
			});
			_defineProperty(_this, "setSelected", function(selected) {
				elementor.iconManager.setSettings("selectedIcon", selected);
				_this.setState({ selected });
			});
			_defineProperty(_this, "getSelected", function() {
				var selected = _this.state.selected;
				if ("" === selected.value && _this.props.selected && _this.props.selected.value) selected = {
					value: _this.props.selected.value,
					library: _this.props.selected.library
				};
				return selected;
			});
			_defineProperty(_this, "render", function() {
				var activeTab = _this.getActiveTab();
				var activeTabName = activeTab.name ? activeTab.name : activeTab;
				var _this$props$showSearc = _this.props.showSearch;
				var showSearch = _this$props$showSearc === void 0 ? true : _this$props$showSearc;
				var filter = _this.state.filter;
				if ("GoPro" !== activeTab) {
					if (!activeTabName || !_this.state.loaded[activeTabName]) return "Loading";
					if (activeTab) activeTab.icons = _this.getActiveTabIcons(activeTab);
				}
				var selected = _this.getSelected();
				return /*#__PURE__*/ react.default.createElement(react.Fragment, null, /*#__PURE__*/ react.default.createElement("div", {
					id: "elementor-icons-manager__sidebar",
					className: "elementor-templates-modal__sidebar"
				}, /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__tab-links" }, _this.getIconTabsLinks(), _this.getUploadCustomButton(), _this.getIconTabsLinks(false))), /*#__PURE__*/ react.default.createElement("div", {
					id: "elementor-icons-manager__main",
					className: "elementor-templates-modal__content"
				}, "GoPro" === activeTabName ? /*#__PURE__*/ react.default.createElement(IconsGoPro, null) : /*#__PURE__*/ react.default.createElement(react.Fragment, null, showSearch ? _this.getSearchHTML() : "", /*#__PURE__*/ react.default.createElement("div", {
					id: "elementor-icons-manager__tab__wrapper",
					ref: _this.scrollViewRef
				}, /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__tab__title" }, activeTab.label), /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__tab__content_wrapper" }, /*#__PURE__*/ react.default.createElement("input", {
					type: "hidden",
					name: "icon_value",
					id: "icon_value",
					value: selected.value
				}), /*#__PURE__*/ react.default.createElement("input", {
					type: "hidden",
					name: "icon_type",
					id: "icon_type",
					value: selected.library
				}), _this.state.loaded[activeTab.name] ? /*#__PURE__*/ react.default.createElement(Tab, _extends({
					setSelected: _this.setSelected,
					selected,
					filter,
					key: activeTab.name,
					parentRef: _this.scrollViewRef
				}, activeTab)) : "Loading")))));
			});
			return _this;
		}
		_inherits(IconsManager, _Component);
		return _createClass(IconsManager, [
			{
				key: "updateLoaded",
				value: function updateLoaded(libraryName) {
					var loaded = this.state.loaded;
					loaded[libraryName] = true;
					this.setState({ loaded });
				}
			},
			{
				key: "isNativeTab",
				value: function isNativeTab(tab) {
					return ("all" === tab.name || "recommended" === tab.name || "fa-" === tab.name.substr(0, 3)) && tab.native;
				}
			},
			{
				key: "getUploadCustomButton",
				value: function getUploadCustomButton() {
					var _this2 = this;
					var onClick = function onClick() {
						if ("GoPro" === _this2.state.activeTab) return;
						_this2.setState({ activeTab: "GoPro" });
					};
					if (this.props.customIconsURL) onClick = function onClick() {
						window.open(_this2.props.customIconsURL, "_blank");
					};
					return /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__upload" }, /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__upload__title" }, (0, _wordpress_i18n.__)("My Libraries", "elementor")), /*#__PURE__*/ react.default.createElement("button", {
						id: "elementor-icons-manager__upload__button",
						className: "elementor-button",
						onClick
					}, (0, _wordpress_i18n.__)("Upload", "elementor")));
				}
			},
			{
				key: "getSearchHTML",
				value: function getSearchHTML() {
					return /*#__PURE__*/ react.default.createElement("div", { id: "elementor-icons-manager__search" }, /*#__PURE__*/ react.default.createElement("input", {
						placeholder: "Filter by name...",
						onInput: this.handleSearch
					}), /*#__PURE__*/ react.default.createElement("i", { className: "eicon-search" }));
				}
			}
		]);
	}(react.Component);
	var renderIconManager = function renderIconManager(props) {
		var containerElement = document.querySelector("#elementor-icons-manager-modal .dialog-content");
		return react_default.render(/*#__PURE__*/ react.default.createElement(IconsManager, _extends({}, props, { containerElement })), containerElement);
	};
	IconsManager.propTypes = {
		activeTab: import_prop_types.default.any,
		customIconsURL: import_prop_types.default.string,
		icons: import_prop_types.default.any,
		loaded: import_prop_types.default.any,
		modalView: import_prop_types.default.any,
		recommended: import_prop_types.default.oneOfType([import_prop_types.default.bool, import_prop_types.default.object]),
		selected: import_prop_types.default.any,
		showSearch: import_prop_types.default.bool
	};

//#endregion
//#region assets/dev/js/editor/components/icons-manager/classes/icon-library.js
	init_typeof();
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	var _default$14 = /*#__PURE__*/ function() {
		function _default() {
			var _this = this;
			_classCallCheck(this, _default);
			_defineProperty(this, "loaded", {});
			_defineProperty(this, "notifyCallback", null);
			_defineProperty(this, "fetchIcons", function(library) {
				fetch(library.fetchJson, { mode: "cors" }).then(function(res) {
					return res.json();
				}).then(function(json) {
					library.icons = json.icons;
					return _this.normalizeIconList(library);
				});
			});
			_defineProperty(this, "runCallback", function(library) {
				if ("function" !== typeof _this.notifyCallback) return library;
				return _this.notifyCallback(library);
			});
			_defineProperty(this, "initIconType", function(libraryConfig, callback) {
				_this.notifyCallback = callback;
				var store = elementor.iconManager.store;
				if (_this.loaded[libraryConfig.name]) {
					libraryConfig.icons = store.getIcons(libraryConfig);
					return _this.runCallback(libraryConfig);
				}
				if (libraryConfig.enqueue) libraryConfig.enqueue.forEach(function(assetURL) {
					var versionAddedURL = "".concat(assetURL).concat(libraryConfig !== null && libraryConfig !== void 0 && libraryConfig.ver ? "?ver=" + libraryConfig.ver : "");
					elementor.helpers.enqueueEditorStylesheet(versionAddedURL);
				});
				if (libraryConfig.url) {
					var versionAddedURL = "".concat(libraryConfig.url).concat(libraryConfig !== null && libraryConfig !== void 0 && libraryConfig.ver ? "?ver=" + libraryConfig.ver : "");
					elementor.helpers.enqueueEditorStylesheet(versionAddedURL);
				}
				if (store.isValid(libraryConfig)) {
					var data = store.get(store.getKey(libraryConfig));
					return _this.normalizeIconList(data);
				}
				if (libraryConfig.icons && libraryConfig.icons.length) return _this.normalizeIconList(libraryConfig);
				if (libraryConfig.fetchJson) return _this.fetchIcons(libraryConfig);
			});
		}
		return _createClass(_default, [{
			key: "normalizeIconList",
			value: function normalizeIconList(library) {
				var icons = {};
				var name;
				jQuery.each(library.icons, function(index, icon) {
					name = icon;
					if ("object" === _typeof(name)) name = Object.entries(name)[0][0];
					if (!name) return;
					icons[name] = {
						prefix: library.prefix,
						selector: library.prefix + name.trim(":"),
						name: elementorCommon.helpers.upperCaseWords(name).trim(":").split("-").join(" "),
						filter: name.trim(":"),
						displayPrefix: library.displayPrefix || library.prefix.replace("-", "")
					};
				});
				if (Object.keys(icons).length) {
					library.icons = icons;
					this.loaded[library.name] = true;
					elementor.iconManager.store.save(library);
					this.runCallback(library);
				}
			}
		}]);
	}();

//#endregion
//#region assets/dev/js/editor/components/icons-manager/classes/store.js
	init_classCallCheck();
	init_createClass();
	var _Store = /*#__PURE__*/ function() {
		function Store() {
			_classCallCheck(this, Store);
		}
		return _createClass(Store, [
			{
				key: "save",
				value: function save(library) {
					elementorCommon.storage.set(_Store.getKey(library), library);
				}
			},
			{
				key: "getIcons",
				value: function getIcons(library) {
					var data = this.get(_Store.getKey(library));
					if (data && data.icons) return data.icons;
					return false;
				}
			},
			{
				key: "get",
				value: function get(key) {
					return elementorCommon.storage.get(key);
				}
			},
			{
				key: "isValid",
				value: function isValid(library) {
					var saved = this.get(_Store.getKey(library));
					if (!saved) return false;
					if (saved.ver !== library.ver) return false;
					return saved.icons && saved.icons.length;
				}
			}
		], [{
			key: "getKey",
			value: function getKey(library) {
				var name = library.name ? library.name : library;
				return "elementor_".concat(name, "_icons");
			}
		}]);
	}();

//#endregion
//#region assets/dev/js/editor/components/icons-manager/icons-manager.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$190(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$190() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$190, "_callSuper");
	function _isNativeReflectConstruct$190() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$190 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$190, "_isNativeReflectConstruct");
	var _default$13 = /*#__PURE__*/ function(_elementorModules$Mod) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$190(this, _default, arguments);
		}
		_inherits(_default, _elementorModules$Mod);
		return _createClass(_default, [
			{
				key: "onInit",
				value: function onInit() {
					this.library = new _default$14();
					this.store = new _Store();
					elementor.helpers.fetchFa4ToFa5Mapping();
					this.cache = {};
				}
			},
			{
				key: "getLayout",
				value: function getLayout() {
					var _this = this;
					if (!this.layout) {
						this.layout = new _default$15();
						var layoutModal = this.layout.getModal();
						layoutModal.addButton({
							name: "insert_icon",
							text: (0, _wordpress_i18n.__)("Insert", "elementor"),
							classes: "elementor-button e-primary",
							callback: function callback() {
								_this.updateControlValue();
								_this.unMountIconManager();
							}
						});
						layoutModal.on("show", this.onPickerShow.bind(this)).on("hide", this.unMountIconManager.bind(this));
					}
					return this.layout;
				}
			},
			{
				key: "getDefaultSettings",
				value: function getDefaultSettings() {
					return { selectedIcon: {} };
				}
			},
			{
				key: "unMountIconManager",
				value: function unMountIconManager() {
					this.unmount();
				}
			},
			{
				key: "loadIconLibraries",
				value: function loadIconLibraries() {
					if (!this.cache.loaded) {
						elementor.config.icons.libraries.forEach(function(library) {
							if ("all" === library.name) return;
							elementor.iconManager.library.initIconType(library);
						});
						this.cache.loaded = true;
					}
				}
			},
			{
				key: "onPickerShow",
				value: function onPickerShow() {
					var controlView = this.getSettings("controlView");
					var loaded = { GoPro: true };
					var iconManagerConfig = { recommended: controlView.model.get("recommended") || false };
					var selected = controlView.getControlValue();
					var icons = elementor.config.icons.libraries;
					if (!selected.library || !selected.value) selected = {
						value: "",
						library: ""
					};
					iconManagerConfig.selected = selected;
					this.setSettings("selectedIcon", selected);
					if (iconManagerConfig.recommended) {
						var hasRecommended = false;
						icons.forEach(function(library, index) {
							if ("recommended" === library.name) {
								hasRecommended = true;
								icons[index].icons = iconManagerConfig.recommended;
							}
						});
						if (!hasRecommended) icons.unshift({
							name: "recommended",
							label: "Recommended",
							icons: iconManagerConfig.recommended,
							labelIcon: "eicon-star-o",
							native: true
						});
					} else icons = icons.filter(function(library) {
						return "recommended" !== library.name;
					});
					icons.forEach(function(tab, index) {
						if (-1 === ["all", "recommended"].indexOf(tab.name)) elementor.iconManager.library.initIconType(tab, function(lib) {
							icons[index] = lib;
						});
						loaded[tab.name] = true;
					});
					iconManagerConfig.loaded = loaded;
					iconManagerConfig.icons = icons;
					var activeTab = selected.library || icons[0].name;
					if ("svg" === selected.library) activeTab = icons[0].name;
					if (!Object.keys(icons).some(function(library) {
						return library === activeTab;
					})) activeTab = icons[0].name;
					if (iconManagerConfig.recommended && "" !== selected.library && "" !== selected.value && Object.prototype.hasOwnProperty.call(iconManagerConfig.recommended, selected.library)) {
						var iconLibrary = icons.filter(function(library) {
							return selected.library === library.name;
						});
						var selectedIconName = selected.value.replace(iconLibrary[0].displayPrefix + " " + iconLibrary[0].prefix, "");
						if (iconManagerConfig.recommended[selected.library].some(function(icon) {
							return -1 < icon.indexOf(selectedIconName);
						})) activeTab = icons[0].name;
					}
					iconManagerConfig.customIconsURL = elementor.config.customIconsURL;
					iconManagerConfig.activeTab = activeTab;
					var unmount = renderIconManager(iconManagerConfig).unmount;
					this.unmount = unmount;
				}
			},
			{
				key: "updateControlValue",
				value: function updateControlValue() {
					var settings = this.getSettings();
					settings.controlView.setValue(settings.selectedIcon);
					settings.controlView.applySavedValue();
				}
			},
			{
				key: "show",
				value: function show(options) {
					this.setSettings("controlView", options.view);
					this.getLayout().showModal(options);
				}
			}
		]);
	}(elementorModules.Module);

//#endregion
//#region assets/dev/js/editor/components/browser-import/commands/import.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$189(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$189() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$189, "_callSuper");
	function _isNativeReflectConstruct$189() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$189 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$189, "_isNativeReflectConstruct");
	var Import = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Import() {
			_classCallCheck(this, Import);
			return _callSuper$189(this, Import, arguments);
		}
		_inherits(Import, _$e$modules$CommandBa);
		return _createClass(Import, [{
			key: "validateArgs",
			value: function validateArgs() {
				this.requireArgumentInstance("target", elementorModules.editor.Container);
			}
		}, {
			key: "apply",
			value: function apply(args) {
				var _this = this;
				var _args$targets = args.targets;
				var targets = _args$targets === void 0 ? [args.target] : _args$targets;
				var input = args.input;
				var _args$options = args.options;
				var options = _args$options === void 0 ? {} : _args$options;
				var result = [];
				targets.forEach(function(target) {
					result.push(_this.component.manager.createSession(input, target, options).then(/*#__PURE__*/ function() {
						var _ref = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(session) {
							return import_regenerator$16.default.wrap(function(_context) {
								while (1) switch (_context.prev = _context.next) {
									case 0:
										_context.next = 1;
										return session.validate();
									case 1:
										if (!_context.sent) {
											_context.next = 2;
											break;
										}
										session.apply();
									case 2:
									case "end": return _context.stop();
								}
							}, _callee);
						}));
						return function(_x) {
							return _ref.apply(this, arguments);
						};
					}()));
				});
				return Promise.all(result);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/commands/index.js
	var commands_exports$15 = /* @__PURE__ */ __exportAll({ Import: () => Import });

//#endregion
//#region assets/dev/js/editor/components/browser-import/commands-internal/validate.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$188(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$188() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$188, "_callSuper");
	function _isNativeReflectConstruct$188() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$188 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$188, "_isNativeReflectConstruct");
	var Validate = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Validate() {
			_classCallCheck(this, Validate);
			return _callSuper$188(this, Validate, arguments);
		}
		_inherits(Validate, _$e$modules$CommandBa);
		return _createClass(Validate, [{
			key: "apply",
			value: function apply(args) {
				var input = args.input;
				var _args$options = args.options;
				var options = _args$options === void 0 ? {} : _args$options;
				return this.component.manager.createSession(input, elementor.getPreviewContainer(), options).then(function(session) {
					return session.validate();
				});
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/commands-internal/index.js
	var commands_internal_exports$1 = /* @__PURE__ */ __exportAll({ Validate: () => Validate });

//#endregion
//#region assets/dev/js/editor/components/browser-import/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$187(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$187() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$187, "_callSuper");
	function _isNativeReflectConstruct$187() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$187 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$187, "_isNativeReflectConstruct");
	var Component$20 = /*#__PURE__*/ function(_$e$modules$Component) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$187(this, Component, arguments);
		}
		_inherits(Component, _$e$modules$Component);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "editor/browser-import";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$15);
				}
			},
			{
				key: "defaultCommandsInternal",
				value: function defaultCommandsInternal() {
					return this.importCommands(commands_internal_exports$1);
				}
			}
		]);
	}($e.modules.ComponentBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/file-reader-base.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	/**
	* @abstract
	*/
	var FileReaderBase = /*#__PURE__*/ function() {
		/**
		* FileReaderBase constructor.
		*
		* @param {File} file
		*/
		function FileReaderBase(file) {
			_classCallCheck(this, FileReaderBase);
			/**
			* The File instance.
			*
			* @type {File}
			*/
			_defineProperty(this, "file", void 0);
			this.file = file;
		}
		/**
		* Get the file-reader name.
		*
		* @abstract
		* @return {string} name
		*/
		return _createClass(FileReaderBase, [
			{
				key: "getFile",
				value: function getFile() {
					return this.file;
				}
			},
			{
				key: "getContent",
				value: function() {
					var _getContent = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
						var fileReader;
						var handler;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									fileReader = new FileReader(), handler = new Promise(function(resolve) {
										fileReader.onloadend = function() {
											return resolve(fileReader.result);
										};
									});
									fileReader.readAsText(this.getFile());
									return _context.abrupt("return", handler);
								case 1:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function getContent() {
						return _getContent.apply(this, arguments);
					}
					return getContent;
				}()
			},
			{
				key: "getDataUrl",
				value: function() {
					var _getDataUrl = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2() {
						var fileReader;
						var handler;
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0:
									fileReader = new FileReader(), handler = new Promise(function(resolve) {
										fileReader.onloadend = function() {
											return resolve(fileReader.result);
										};
									});
									fileReader.readAsDataURL(this.getFile());
									return _context2.abrupt("return", handler);
								case 1:
								case "end": return _context2.stop();
							}
						}, _callee2, this);
					}));
					function getDataUrl() {
						return _getDataUrl.apply(this, arguments);
					}
					return getDataUrl;
				}()
			}
		], [
			{
				key: "getName",
				value: function getName() {
					return "";
				}
			},
			{
				key: "isActive",
				value: function isActive() {
					return true;
				}
			},
			{
				key: "mimeTypes",
				get: function get() {
					return [];
				}
			},
			{
				key: "resolve",
				value: function() {
					var _resolve = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee3(input) {
						return import_regenerator$16.default.wrap(function(_context3) {
							while (1) switch (_context3.prev = _context3.next) {
								case 0: return _context3.abrupt("return", false);
								case 1:
								case "end": return _context3.stop();
							}
						}, _callee3);
					}));
					function resolve(_x) {
						return _resolve.apply(this, arguments);
					}
					return resolve;
				}()
			},
			{
				key: "validate",
				value: function() {
					var _validate = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee4(file) {
						return import_regenerator$16.default.wrap(function(_context4) {
							while (1) switch (_context4.prev = _context4.next) {
								case 0:
									if (!this.validator) this.validator = new RegExp(this.mimeTypes.join("|"), "i");
									return _context4.abrupt("return", this.validator.test(file.type));
								case 1:
								case "end": return _context4.stop();
							}
						}, _callee4, this);
					}));
					function validate(_x2) {
						return _validate.apply(this, arguments);
					}
					return validate;
				}()
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/readers/image.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$186(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$186() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$186, "_callSuper");
	function _isNativeReflectConstruct$186() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$186 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$186, "_isNativeReflectConstruct");
	var Image = /*#__PURE__*/ function(_FileReaderBase) {
		function Image() {
			_classCallCheck(this, Image);
			return _callSuper$186(this, Image, arguments);
		}
		_inherits(Image, _FileReaderBase);
		return _createClass(Image, null, [{
			key: "getName",
			value: function getName() {
				return "image";
			}
		}, {
			key: "mimeTypes",
			get: function get() {
				return ["image\\/\\w+"];
			}
		}]);
	}(FileReaderBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/readers/video.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$185(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$185() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$185, "_callSuper");
	function _isNativeReflectConstruct$185() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$185 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$185, "_isNativeReflectConstruct");
	var Video = /*#__PURE__*/ function(_FileReaderBase) {
		function Video() {
			_classCallCheck(this, Video);
			return _callSuper$185(this, Video, arguments);
		}
		_inherits(Video, _FileReaderBase);
		return _createClass(Video, null, [{
			key: "getName",
			value: function getName() {
				return "video";
			}
		}, {
			key: "mimeTypes",
			get: function get() {
				return ["video\\/\\w+"];
			}
		}]);
	}(FileReaderBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/readers/json.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$184(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$184() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$184, "_callSuper");
	function _isNativeReflectConstruct$184() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$184 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$184, "_isNativeReflectConstruct");
	var Json = /*#__PURE__*/ function(_FileReaderBase) {
		function Json() {
			_classCallCheck(this, Json);
			return _callSuper$184(this, Json, arguments);
		}
		_inherits(Json, _FileReaderBase);
		return _createClass(Json, [{
			key: "getData",
			value: function() {
				var _getData = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
					return import_regenerator$16.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								if (this._data) {
									_context.next = 2;
									break;
								}
								_context.next = 1;
								return this.getContent().then(function(content) {
									return JSON.parse(content);
								});
							case 1: this._data = _context.sent;
							case 2: return _context.abrupt("return", this._data);
							case 3:
							case "end": return _context.stop();
						}
					}, _callee, this);
				}));
				function getData() {
					return _getData.apply(this, arguments);
				}
				return getData;
			}()
		}], [
			{
				key: "getName",
				value: function getName() {
					return "json";
				}
			},
			{
				key: "isActive",
				value: function isActive() {
					var _elementor$config$use;
					var _elementor$config$use2;
					return elementor.config.user.is_administrator || ((_elementor$config$use = (_elementor$config$use2 = elementor.config.user.restrictions) === null || _elementor$config$use2 === void 0 ? void 0 : _elementor$config$use2.includes("json-upload")) !== null && _elementor$config$use !== void 0 ? _elementor$config$use : false);
				}
			},
			{
				key: "mimeTypes",
				get: function get() {
					return ["application/json"];
				}
			},
			{
				key: "resolve",
				value: function() {
					var _resolve = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2(input) {
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0:
									_context2.prev = 0;
									JSON.parse(input);
									return _context2.abrupt("return", "application/json");
								case 1:
									_context2.prev = 1;
									_context2["catch"](0);
									return _context2.abrupt("return", false);
								case 2:
								case "end": return _context2.stop();
							}
						}, _callee2, null, [[0, 1]]);
					}));
					function resolve(_x) {
						return _resolve.apply(this, arguments);
					}
					return resolve;
				}()
			}
		]);
	}(FileReaderBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/readers/index.js
	var readers_exports = /* @__PURE__ */ __exportAll({
		Image: () => Image,
		Json: () => Json,
		Video: () => Video
	});

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/file-parser-base.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	/**
	* @typedef {import('../../../container/container')} Container
	*/
	/**
	* @typedef {import('./file-reader-base')} FileReaderBase
	*/
	/**
	* @abstract
	*/
	var FileParserBase = /*#__PURE__*/ function() {
		/**
		* FileParseBase constructor.
		*
		* @param {FileReaderBase} reader
		*/
		function FileParserBase(reader) {
			_classCallCheck(this, FileParserBase);
			/**
			* The file-reader instance.
			*
			* @type {FileReaderBase}
			*/
			_defineProperty(this, "reader", void 0);
			/**
			* Tasks to complete, even after parsing completed.
			*
			* @type {[]}
			*/
			_defineProperty(this, "tasks", []);
			this.reader = reader;
		}
		/**
		* Get the file-parser name.
		*
		* @abstract
		* @return {string} name
		*/
		return _createClass(FileParserBase, [{
			key: "parse",
			value: function() {
				var _parse = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
					return import_regenerator$16.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
							case "end": return _context.stop();
						}
					}, _callee);
				}));
				function parse() {
					return _parse.apply(this, arguments);
				}
				return parse;
			}()
		}], [
			{
				key: "getName",
				value: function getName() {
					return "";
				}
			},
			{
				key: "getReaders",
				value: function getReaders() {
					return [];
				}
			},
			{
				key: "validate",
				value: function() {
					var _validate = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2(reader) {
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0: return _context2.abrupt("return", false);
								case 1:
								case "end": return _context2.stop();
							}
						}, _callee2);
					}));
					function validate(_x) {
						return _validate.apply(this, arguments);
					}
					return validate;
				}()
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/base/media-parser.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function ownKeys$12(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$12, "ownKeys");
	function _objectSpread$12(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$12(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$12(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$12, "_objectSpread");
	function _callSuper$183(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$183() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$183, "_callSuper");
	function _isNativeReflectConstruct$183() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$183 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$183, "_isNativeReflectConstruct");
	/**
	* @abstract
	*/
	var MediaParser = /*#__PURE__*/ function(_FileParserBase) {
		function MediaParser() {
			_classCallCheck(this, MediaParser);
			return _callSuper$183(this, MediaParser, arguments);
		}
		_inherits(MediaParser, _FileParserBase);
		return _createClass(MediaParser, [{
			key: "upload",
			value: function upload(file) {
				var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
				return $e.data.run("create", "wp/media", {
					file,
					options: _objectSpread$12({ progress: true }, options)
				}).catch(function(result) {
					elementor.notifications.showToast({ message: result.message });
					return Promise.reject(result);
				});
			}
		}]);
	}(FileParserBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/base/index.js
	var base_exports = /* @__PURE__ */ __exportAll({ MediaParser: () => MediaParser });

//#endregion
//#region assets/dev/js/editor/components/browser-import/container-factory.js
	init_classCallCheck();
	init_createClass();
	function _createForOfIteratorHelper$6(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$6(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	__name(_createForOfIteratorHelper$6, "_createForOfIteratorHelper");
	function _unsupportedIterableToArray$6(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$6(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$6(r, a) : void 0;
		}
	}
	__name(_unsupportedIterableToArray$6, "_unsupportedIterableToArray");
	function _arrayLikeToArray$6(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	__name(_arrayLikeToArray$6, "_arrayLikeToArray");
	/**
	* @typedef {import('../../container/container')} Container
	*/
	var ContainerFactory = /*#__PURE__*/ function() {
		function ContainerFactory() {
			_classCallCheck(this, ContainerFactory);
		}
		return _createClass(ContainerFactory, null, [{
			key: "createElementContainer",
			value: function createElementContainer(element) {
				var model = new import_element$1.default(this.regenerateIds([Object.assign({ elType: (element === null || element === void 0 ? void 0 : element.elType) || "widget" }, element)])[0]);
				return new elementorModules.editor.Container({
					id: model.get("id"),
					type: model.get("elType"),
					settings: model.get("settings"),
					model,
					parent: false
				});
			}
		}, {
			key: "regenerateIds",
			value: function regenerateIds(elements) {
				var _iterator = _createForOfIteratorHelper$6(elements);
				var _step;
				try {
					for (_iterator.s(); !(_step = _iterator.n()).done;) {
						var element = _step.value;
						element.id = elementorCommon.helpers.getUniqueId().toString();
						if (element.elements) this.regenerateIds(element.elements);
					}
				} catch (err) {
					_iterator.e(err);
				} finally {
					_iterator.f();
				}
				return elements;
			}
		}]);
	}();

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/image/widget.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$182(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$182() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$182, "_callSuper");
	function _isNativeReflectConstruct$182() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$182 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$182, "_isNativeReflectConstruct");
	var Widget$1 = /*#__PURE__*/ function(_MediaParser) {
		function Widget() {
			_classCallCheck(this, Widget);
			return _callSuper$182(this, Widget, arguments);
		}
		_inherits(Widget, _MediaParser);
		return _createClass(Widget, [{
			key: "parse",
			value: function() {
				var _parse = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
					var file;
					var container;
					var _t;
					var _t2;
					var _t3;
					var _t4;
					var _t5;
					return import_regenerator$16.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								file = this.reader.getFile();
								_t = ContainerFactory;
								_context.next = 1;
								return this.reader.getDataUrl();
							case 1:
								_t2 = _context.sent;
								_t3 = file.name.split(".")[0];
								_t4 = {
									url: _t2,
									alt: _t3,
									source: "library"
								};
								_t5 = { image: _t4 };
								container = _t.createElementContainer.call(_t, {
									widgetType: "image",
									settings: _t5
								});
								this.upload(file).then(function(_ref) {
									var data = _ref.data;
									$e.internal("document/elements/set-settings", {
										container: elementor.getContainer(container.id),
										settings: { image: {
											url: data.source_url,
											id: data.id
										} }
									});
								}).catch(function() {
									elementor.documents.getCurrent().history.setActive(false);
									$e.run("document/elements/reset-settings", {
										container: elementor.getContainer(container.id),
										options: { external: true }
									});
									elementor.documents.getCurrent().history.setActive(true);
								});
								return _context.abrupt("return", container);
							case 2:
							case "end": return _context.stop();
						}
					}, _callee, this);
				}));
				function parse() {
					return _parse.apply(this, arguments);
				}
				return parse;
			}()
		}], [
			{
				key: "getName",
				value: function getName() {
					return "widget";
				}
			},
			{
				key: "getReaders",
				value: function getReaders() {
					return ["image"];
				}
			},
			{
				key: "validate",
				value: function() {
					var _validate = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2() {
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0: return _context2.abrupt("return", true);
								case 1:
								case "end": return _context2.stop();
							}
						}, _callee2);
					}));
					function validate() {
						return _validate.apply(this, arguments);
					}
					return validate;
				}()
			}
		]);
	}(MediaParser);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/image/index.js
	var image_exports = /* @__PURE__ */ __exportAll({ Widget: () => Widget$1 });

//#endregion
//#region assets/dev/js/editor/utils/files-upload-handler.js
	var FilesUploadHandler;
	var init_files_upload_handler = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		FilesUploadHandler = /*#__PURE__*/ function() {
			function FilesUploadHandler() {
				_classCallCheck(this, FilesUploadHandler);
			}
			return _createClass(FilesUploadHandler, null, [
				{
					key: "isUploadEnabled",
					value: function isUploadEnabled(mediaType) {
						if (!["svg", "application/json"].includes(mediaType)) return true;
						return elementorCommon.config.filesUpload.unfilteredFiles;
					}
				},
				{
					key: "setUploadTypeCaller",
					value: function setUploadTypeCaller(frame) {
						frame.uploader.uploader.param("uploadTypeCaller", "elementor-wp-media-upload");
					}
				},
				{
					key: "getUnfilteredFilesNonAdminDialog",
					value: function getUnfilteredFilesNonAdminDialog() {
						return elementorCommon.dialogsManager.createWidget("alert", {
							id: "e-unfiltered-files-disabled-dialog",
							headerMessage: (0, _wordpress_i18n.__)("Sorry, you can't upload that file yet", "elementor"),
							message: (0, _wordpress_i18n.__)("This is because JSON files may pose a security risk.", "elementor") + "<br><br>" + (0, _wordpress_i18n.__)("To upload them anyway, ask the site administrator to enable unfiltered file uploads.", "elementor"),
							strings: { confirm: (0, _wordpress_i18n.__)("Got it", "elementor") }
						});
					}
				},
				{
					key: "getUnfilteredFilesNotEnabledDialog",
					value: function getUnfilteredFilesNotEnabledDialog(callback) {
						var elementorInstance = window.elementorAdmin || window.elementor;
						if (!elementorInstance.config.user.is_administrator) return this.getUnfilteredFilesNonAdminDialog();
						return elementorInstance.helpers.getSimpleDialog("e-enable-unfiltered-files-dialog", (0, _wordpress_i18n.__)("Enable Unfiltered File Uploads", "elementor"), (0, _wordpress_i18n.__)("Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.", "elementor"), (0, _wordpress_i18n.__)("Enable", "elementor"), function onConfirm() {
							elementorCommon.ajax.addRequest("enable_unfiltered_files_upload", {}, true);
							elementorCommon.config.filesUpload.unfilteredFiles = true;
							callback();
						});
					}
				},
				{
					key: "getUnfilteredFilesNotEnabledImportTemplateDialog",
					value: function getUnfilteredFilesNotEnabledImportTemplateDialog(callback) {
						if (!(window.elementorAdmin || window.elementor).config.user.is_administrator) return this.getUnfilteredFilesNonAdminDialog();
						return elementorCommon.dialogsManager.createWidget("confirm", {
							id: "e-enable-unfiltered-files-dialog-import-template",
							headerMessage: (0, _wordpress_i18n.__)("Enable Unfiltered File Uploads", "elementor"),
							message: (0, _wordpress_i18n.__)("Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.", "elementor") + "<br /><br />" + (0, _wordpress_i18n.__)("If you do not enable uploading unfiltered files, any SVG or JSON (including lottie) files used in the uploaded template will not be imported.", "elementor"),
							position: {
								my: "center center",
								at: "center center"
							},
							strings: {
								confirm: (0, _wordpress_i18n.__)("Enable and Import", "elementor"),
								cancel: (0, _wordpress_i18n.__)("Import Without Enabling", "elementor")
							},
							onConfirm: function onConfirm() {
								elementorCommon.ajax.addRequest("enable_unfiltered_files_upload", { success: function success() {
									elementorCommon.config.filesUpload.unfilteredFiles = true;
									callback();
								} }, true);
							},
							onCancel: function onCancel() {
								return callback();
							}
						});
					}
				}
			]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/json/elements.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_files_upload_handler();
	function _callSuper$181(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$181() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$181, "_callSuper");
	function _isNativeReflectConstruct$181() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$181 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$181, "_isNativeReflectConstruct");
	var Elements = /*#__PURE__*/ function(_FileParserBase) {
		function Elements() {
			_classCallCheck(this, Elements);
			return _callSuper$181(this, Elements, arguments);
		}
		_inherits(Elements, _FileParserBase);
		return _createClass(Elements, [{
			key: "parse",
			value: function() {
				var _parse = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
					return import_regenerator$16.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								_context.next = 1;
								return this.reader.getData();
							case 1: return _context.abrupt("return", _context.sent.content.map(function(element) {
								return ContainerFactory.createElementContainer(element);
							}));
							case 2:
							case "end": return _context.stop();
						}
					}, _callee, this);
				}));
				function parse() {
					return _parse.apply(this, arguments);
				}
				return parse;
			}()
		}], [
			{
				key: "getName",
				value: function getName() {
					return "elements";
				}
			},
			{
				key: "getReaders",
				value: function getReaders() {
					return ["json"];
				}
			},
			{
				key: "validate",
				value: function() {
					var _validate = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee3(reader) {
						var _this = this;
						return import_regenerator$16.default.wrap(function(_context3) {
							while (1) switch (_context3.prev = _context3.next) {
								case 0:
									if (elementorCommon.config.filesUpload.unfilteredFiles) {
										_context3.next = 1;
										break;
									}
									return _context3.abrupt("return", new Promise(function(resolve) {
										FilesUploadHandler.getUnfilteredFilesNotEnabledImportTemplateDialog(/*#__PURE__*/ _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2() {
											var result;
											return import_regenerator$16.default.wrap(function(_context2) {
												while (1) switch (_context2.prev = _context2.next) {
													case 0:
														_context2.next = 1;
														return _this.validateData(reader);
													case 1:
														result = _context2.sent;
														resolve(result);
													case 2:
													case "end": return _context2.stop();
												}
											}, _callee2);
										}))).show();
									}));
								case 1:
									_context3.next = 2;
									return this.validateData(reader);
								case 2: return _context3.abrupt("return", _context3.sent);
								case 3:
								case "end": return _context3.stop();
							}
						}, _callee3, this);
					}));
					function validate(_x) {
						return _validate.apply(this, arguments);
					}
					return validate;
				}()
			},
			{
				key: "validateData",
				value: function() {
					var _validateData = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee4(reader) {
						var data;
						return import_regenerator$16.default.wrap(function(_context4) {
							while (1) switch (_context4.prev = _context4.next) {
								case 0:
									_context4.next = 1;
									return reader.getData();
								case 1:
									data = _context4.sent;
									return _context4.abrupt("return", data.version && data.type && Array.isArray(data.content));
								case 2:
								case "end": return _context4.stop();
							}
						}, _callee4);
					}));
					function validateData(_x2) {
						return _validateData.apply(this, arguments);
					}
					return validateData;
				}()
			}
		]);
	}(FileParserBase);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/json/index.js
	var json_exports = /* @__PURE__ */ __exportAll({ Elements: () => Elements });

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/video/widget.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$180(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$180() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$180, "_callSuper");
	function _isNativeReflectConstruct$180() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$180 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$180, "_isNativeReflectConstruct");
	var Widget = /*#__PURE__*/ function(_MediaParser) {
		function Widget() {
			_classCallCheck(this, Widget);
			return _callSuper$180(this, Widget, arguments);
		}
		_inherits(Widget, _MediaParser);
		return _createClass(Widget, [{
			key: "parse",
			value: function() {
				var _parse = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
					var file;
					var container;
					var _t;
					var _t2;
					var _t3;
					var _t4;
					var _t5;
					return import_regenerator$16.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								file = this.reader.getFile();
								_t = ContainerFactory;
								_context.next = 1;
								return this.reader.getDataUrl();
							case 1:
								_t2 = _context.sent;
								_t3 = file.name.split(".")[0];
								_t4 = {
									url: _t2,
									alt: _t3,
									source: "library"
								};
								_t5 = {
									video_type: "hosted",
									hosted_url: _t4
								};
								container = _t.createElementContainer.call(_t, {
									widgetType: "video",
									settings: _t5
								});
								this.upload(file).then(function(_ref) {
									var data = _ref.data;
									$e.internal("document/elements/set-settings", {
										container: elementor.getContainer(container.id),
										settings: { hosted_url: {
											url: data.source_url,
											id: data.id
										} }
									});
								}).catch(function() {
									elementor.documents.getCurrent().history.setActive(false);
									$e.run("document/elements/reset-settings", {
										container: elementor.getContainer(container.id),
										options: { external: true }
									});
									elementor.documents.getCurrent().history.setActive(true);
								});
								return _context.abrupt("return", container);
							case 2:
							case "end": return _context.stop();
						}
					}, _callee, this);
				}));
				function parse() {
					return _parse.apply(this, arguments);
				}
				return parse;
			}()
		}], [
			{
				key: "getName",
				value: function getName() {
					return "widget";
				}
			},
			{
				key: "getReaders",
				value: function getReaders() {
					return ["video"];
				}
			},
			{
				key: "validate",
				value: function() {
					var _validate = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2() {
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0: return _context2.abrupt("return", true);
								case 1:
								case "end": return _context2.stop();
							}
						}, _callee2);
					}));
					function validate() {
						return _validate.apply(this, arguments);
					}
					return validate;
				}()
			}
		]);
	}(MediaParser);

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/video/index.js
	var video_exports = /* @__PURE__ */ __exportAll({ Widget: () => Widget });

//#endregion
//#region assets/dev/js/editor/components/browser-import/files/parsers/index.js
	var parsers_exports = /* @__PURE__ */ __exportAll({
		base: () => base_exports,
		image: () => image_exports,
		json: () => json_exports,
		video: () => video_exports
	});

//#endregion
//#region assets/dev/js/editor/components/browser-import/default-config.js
	init_typeof();
	/**
	* Recursively convert objects to arrays of values.
	*
	* @param {*} object
	* @return {[]} values
	*/
	var recursiveValues = function recursiveValues(object) {
		return Object.values(object).map(function(value) {
			return "object" === _typeof(value) ? Object.values(value) : value;
		});
	};
	var default_config_default = {
		readers: recursiveValues(readers_exports),
		parsers: recursiveValues(parsers_exports).flat()
	};

//#endregion
//#region node_modules/mime/Mime.js
	var require_Mime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		/**
		* @param typeMap [Object] Map of MIME type -> Array[extensions]
		* @param ...
		*/
		function Mime() {
			this._types = Object.create(null);
			this._extensions = Object.create(null);
			for (let i = 0; i < arguments.length; i++) this.define(arguments[i]);
			this.define = this.define.bind(this);
			this.getType = this.getType.bind(this);
			this.getExtension = this.getExtension.bind(this);
		}
		/**
		* Define mimetype -> extension mappings.  Each key is a mime-type that maps
		* to an array of extensions associated with the type.  The first extension is
		* used as the default extension for the type.
		*
		* e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});
		*
		* If a type declares an extension that has already been defined, an error will
		* be thrown.  To suppress this error and force the extension to be associated
		* with the new type, pass `force`=true.  Alternatively, you may prefix the
		* extension with "*" to map the type to extension, without mapping the
		* extension to the type.
		*
		* e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']});
		*
		*
		* @param map (Object) type definitions
		* @param force (Boolean) if true, force overriding of existing definitions
		*/
		Mime.prototype.define = function(typeMap, force) {
			for (let type in typeMap) {
				let extensions = typeMap[type].map(function(t) {
					return t.toLowerCase();
				});
				type = type.toLowerCase();
				for (let i = 0; i < extensions.length; i++) {
					const ext = extensions[i];
					if (ext[0] === "*") continue;
					if (!force && ext in this._types) throw new Error("Attempt to change mapping for \"" + ext + "\" extension from \"" + this._types[ext] + "\" to \"" + type + "\". Pass `force=true` to allow this, otherwise remove \"" + ext + "\" from the list of extensions for \"" + type + "\".");
					this._types[ext] = type;
				}
				if (force || !this._extensions[type]) {
					const ext = extensions[0];
					this._extensions[type] = ext[0] !== "*" ? ext : ext.substr(1);
				}
			}
		};
		/**
		* Lookup a mime type based on extension
		*/
		Mime.prototype.getType = function(path) {
			path = String(path);
			let last = path.replace(/^.*[/\\]/, "").toLowerCase();
			let ext = last.replace(/^.*\./, "").toLowerCase();
			let hasPath = last.length < path.length;
			return (ext.length < last.length - 1 || !hasPath) && this._types[ext] || null;
		};
		/**
		* Return file extension associated with a mime type
		*/
		Mime.prototype.getExtension = function(type) {
			type = /^\s*([^;\s]*)/.test(type) && RegExp.$1;
			return type && this._extensions[type.toLowerCase()] || null;
		};
		module.exports = Mime;
	}));

//#endregion
//#region node_modules/mime/types/standard.js
	var require_standard = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = {
			"application/andrew-inset": ["ez"],
			"application/applixware": ["aw"],
			"application/atom+xml": ["atom"],
			"application/atomcat+xml": ["atomcat"],
			"application/atomdeleted+xml": ["atomdeleted"],
			"application/atomsvc+xml": ["atomsvc"],
			"application/atsc-dwd+xml": ["dwd"],
			"application/atsc-held+xml": ["held"],
			"application/atsc-rsat+xml": ["rsat"],
			"application/bdoc": ["bdoc"],
			"application/calendar+xml": ["xcs"],
			"application/ccxml+xml": ["ccxml"],
			"application/cdfx+xml": ["cdfx"],
			"application/cdmi-capability": ["cdmia"],
			"application/cdmi-container": ["cdmic"],
			"application/cdmi-domain": ["cdmid"],
			"application/cdmi-object": ["cdmio"],
			"application/cdmi-queue": ["cdmiq"],
			"application/cu-seeme": ["cu"],
			"application/dash+xml": ["mpd"],
			"application/davmount+xml": ["davmount"],
			"application/docbook+xml": ["dbk"],
			"application/dssc+der": ["dssc"],
			"application/dssc+xml": ["xdssc"],
			"application/ecmascript": ["es", "ecma"],
			"application/emma+xml": ["emma"],
			"application/emotionml+xml": ["emotionml"],
			"application/epub+zip": ["epub"],
			"application/exi": ["exi"],
			"application/express": ["exp"],
			"application/fdt+xml": ["fdt"],
			"application/font-tdpfr": ["pfr"],
			"application/geo+json": ["geojson"],
			"application/gml+xml": ["gml"],
			"application/gpx+xml": ["gpx"],
			"application/gxf": ["gxf"],
			"application/gzip": ["gz"],
			"application/hjson": ["hjson"],
			"application/hyperstudio": ["stk"],
			"application/inkml+xml": ["ink", "inkml"],
			"application/ipfix": ["ipfix"],
			"application/its+xml": ["its"],
			"application/java-archive": [
				"jar",
				"war",
				"ear"
			],
			"application/java-serialized-object": ["ser"],
			"application/java-vm": ["class"],
			"application/javascript": ["js", "mjs"],
			"application/json": ["json", "map"],
			"application/json5": ["json5"],
			"application/jsonml+json": ["jsonml"],
			"application/ld+json": ["jsonld"],
			"application/lgr+xml": ["lgr"],
			"application/lost+xml": ["lostxml"],
			"application/mac-binhex40": ["hqx"],
			"application/mac-compactpro": ["cpt"],
			"application/mads+xml": ["mads"],
			"application/manifest+json": ["webmanifest"],
			"application/marc": ["mrc"],
			"application/marcxml+xml": ["mrcx"],
			"application/mathematica": [
				"ma",
				"nb",
				"mb"
			],
			"application/mathml+xml": ["mathml"],
			"application/mbox": ["mbox"],
			"application/mediaservercontrol+xml": ["mscml"],
			"application/metalink+xml": ["metalink"],
			"application/metalink4+xml": ["meta4"],
			"application/mets+xml": ["mets"],
			"application/mmt-aei+xml": ["maei"],
			"application/mmt-usd+xml": ["musd"],
			"application/mods+xml": ["mods"],
			"application/mp21": ["m21", "mp21"],
			"application/mp4": ["mp4s", "m4p"],
			"application/msword": ["doc", "dot"],
			"application/mxf": ["mxf"],
			"application/n-quads": ["nq"],
			"application/n-triples": ["nt"],
			"application/node": ["cjs"],
			"application/octet-stream": [
				"bin",
				"dms",
				"lrf",
				"mar",
				"so",
				"dist",
				"distz",
				"pkg",
				"bpk",
				"dump",
				"elc",
				"deploy",
				"exe",
				"dll",
				"deb",
				"dmg",
				"iso",
				"img",
				"msi",
				"msp",
				"msm",
				"buffer"
			],
			"application/oda": ["oda"],
			"application/oebps-package+xml": ["opf"],
			"application/ogg": ["ogx"],
			"application/omdoc+xml": ["omdoc"],
			"application/onenote": [
				"onetoc",
				"onetoc2",
				"onetmp",
				"onepkg"
			],
			"application/oxps": ["oxps"],
			"application/p2p-overlay+xml": ["relo"],
			"application/patch-ops-error+xml": ["xer"],
			"application/pdf": ["pdf"],
			"application/pgp-encrypted": ["pgp"],
			"application/pgp-signature": ["asc", "sig"],
			"application/pics-rules": ["prf"],
			"application/pkcs10": ["p10"],
			"application/pkcs7-mime": ["p7m", "p7c"],
			"application/pkcs7-signature": ["p7s"],
			"application/pkcs8": ["p8"],
			"application/pkix-attr-cert": ["ac"],
			"application/pkix-cert": ["cer"],
			"application/pkix-crl": ["crl"],
			"application/pkix-pkipath": ["pkipath"],
			"application/pkixcmp": ["pki"],
			"application/pls+xml": ["pls"],
			"application/postscript": [
				"ai",
				"eps",
				"ps"
			],
			"application/provenance+xml": ["provx"],
			"application/pskc+xml": ["pskcxml"],
			"application/raml+yaml": ["raml"],
			"application/rdf+xml": ["rdf", "owl"],
			"application/reginfo+xml": ["rif"],
			"application/relax-ng-compact-syntax": ["rnc"],
			"application/resource-lists+xml": ["rl"],
			"application/resource-lists-diff+xml": ["rld"],
			"application/rls-services+xml": ["rs"],
			"application/route-apd+xml": ["rapd"],
			"application/route-s-tsid+xml": ["sls"],
			"application/route-usd+xml": ["rusd"],
			"application/rpki-ghostbusters": ["gbr"],
			"application/rpki-manifest": ["mft"],
			"application/rpki-roa": ["roa"],
			"application/rsd+xml": ["rsd"],
			"application/rss+xml": ["rss"],
			"application/rtf": ["rtf"],
			"application/sbml+xml": ["sbml"],
			"application/scvp-cv-request": ["scq"],
			"application/scvp-cv-response": ["scs"],
			"application/scvp-vp-request": ["spq"],
			"application/scvp-vp-response": ["spp"],
			"application/sdp": ["sdp"],
			"application/senml+xml": ["senmlx"],
			"application/sensml+xml": ["sensmlx"],
			"application/set-payment-initiation": ["setpay"],
			"application/set-registration-initiation": ["setreg"],
			"application/shf+xml": ["shf"],
			"application/sieve": ["siv", "sieve"],
			"application/smil+xml": ["smi", "smil"],
			"application/sparql-query": ["rq"],
			"application/sparql-results+xml": ["srx"],
			"application/srgs": ["gram"],
			"application/srgs+xml": ["grxml"],
			"application/sru+xml": ["sru"],
			"application/ssdl+xml": ["ssdl"],
			"application/ssml+xml": ["ssml"],
			"application/swid+xml": ["swidtag"],
			"application/tei+xml": ["tei", "teicorpus"],
			"application/thraud+xml": ["tfi"],
			"application/timestamped-data": ["tsd"],
			"application/toml": ["toml"],
			"application/trig": ["trig"],
			"application/ttml+xml": ["ttml"],
			"application/ubjson": ["ubj"],
			"application/urc-ressheet+xml": ["rsheet"],
			"application/urc-targetdesc+xml": ["td"],
			"application/voicexml+xml": ["vxml"],
			"application/wasm": ["wasm"],
			"application/widget": ["wgt"],
			"application/winhlp": ["hlp"],
			"application/wsdl+xml": ["wsdl"],
			"application/wspolicy+xml": ["wspolicy"],
			"application/xaml+xml": ["xaml"],
			"application/xcap-att+xml": ["xav"],
			"application/xcap-caps+xml": ["xca"],
			"application/xcap-diff+xml": ["xdf"],
			"application/xcap-el+xml": ["xel"],
			"application/xcap-ns+xml": ["xns"],
			"application/xenc+xml": ["xenc"],
			"application/xhtml+xml": ["xhtml", "xht"],
			"application/xliff+xml": ["xlf"],
			"application/xml": [
				"xml",
				"xsl",
				"xsd",
				"rng"
			],
			"application/xml-dtd": ["dtd"],
			"application/xop+xml": ["xop"],
			"application/xproc+xml": ["xpl"],
			"application/xslt+xml": ["*xsl", "xslt"],
			"application/xspf+xml": ["xspf"],
			"application/xv+xml": [
				"mxml",
				"xhvml",
				"xvml",
				"xvm"
			],
			"application/yang": ["yang"],
			"application/yin+xml": ["yin"],
			"application/zip": ["zip"],
			"audio/3gpp": ["*3gpp"],
			"audio/adpcm": ["adp"],
			"audio/amr": ["amr"],
			"audio/basic": ["au", "snd"],
			"audio/midi": [
				"mid",
				"midi",
				"kar",
				"rmi"
			],
			"audio/mobile-xmf": ["mxmf"],
			"audio/mp3": ["*mp3"],
			"audio/mp4": ["m4a", "mp4a"],
			"audio/mpeg": [
				"mpga",
				"mp2",
				"mp2a",
				"mp3",
				"m2a",
				"m3a"
			],
			"audio/ogg": [
				"oga",
				"ogg",
				"spx",
				"opus"
			],
			"audio/s3m": ["s3m"],
			"audio/silk": ["sil"],
			"audio/wav": ["wav"],
			"audio/wave": ["*wav"],
			"audio/webm": ["weba"],
			"audio/xm": ["xm"],
			"font/collection": ["ttc"],
			"font/otf": ["otf"],
			"font/ttf": ["ttf"],
			"font/woff": ["woff"],
			"font/woff2": ["woff2"],
			"image/aces": ["exr"],
			"image/apng": ["apng"],
			"image/avif": ["avif"],
			"image/bmp": ["bmp"],
			"image/cgm": ["cgm"],
			"image/dicom-rle": ["drle"],
			"image/emf": ["emf"],
			"image/fits": ["fits"],
			"image/g3fax": ["g3"],
			"image/gif": ["gif"],
			"image/heic": ["heic"],
			"image/heic-sequence": ["heics"],
			"image/heif": ["heif"],
			"image/heif-sequence": ["heifs"],
			"image/hej2k": ["hej2"],
			"image/hsj2": ["hsj2"],
			"image/ief": ["ief"],
			"image/jls": ["jls"],
			"image/jp2": ["jp2", "jpg2"],
			"image/jpeg": [
				"jpeg",
				"jpg",
				"jpe"
			],
			"image/jph": ["jph"],
			"image/jphc": ["jhc"],
			"image/jpm": ["jpm"],
			"image/jpx": ["jpx", "jpf"],
			"image/jxr": ["jxr"],
			"image/jxra": ["jxra"],
			"image/jxrs": ["jxrs"],
			"image/jxs": ["jxs"],
			"image/jxsc": ["jxsc"],
			"image/jxsi": ["jxsi"],
			"image/jxss": ["jxss"],
			"image/ktx": ["ktx"],
			"image/ktx2": ["ktx2"],
			"image/png": ["png"],
			"image/sgi": ["sgi"],
			"image/svg+xml": ["svg", "svgz"],
			"image/t38": ["t38"],
			"image/tiff": ["tif", "tiff"],
			"image/tiff-fx": ["tfx"],
			"image/webp": ["webp"],
			"image/wmf": ["wmf"],
			"message/disposition-notification": ["disposition-notification"],
			"message/global": ["u8msg"],
			"message/global-delivery-status": ["u8dsn"],
			"message/global-disposition-notification": ["u8mdn"],
			"message/global-headers": ["u8hdr"],
			"message/rfc822": ["eml", "mime"],
			"model/3mf": ["3mf"],
			"model/gltf+json": ["gltf"],
			"model/gltf-binary": ["glb"],
			"model/iges": ["igs", "iges"],
			"model/mesh": [
				"msh",
				"mesh",
				"silo"
			],
			"model/mtl": ["mtl"],
			"model/obj": ["obj"],
			"model/step+xml": ["stpx"],
			"model/step+zip": ["stpz"],
			"model/step-xml+zip": ["stpxz"],
			"model/stl": ["stl"],
			"model/vrml": ["wrl", "vrml"],
			"model/x3d+binary": ["*x3db", "x3dbz"],
			"model/x3d+fastinfoset": ["x3db"],
			"model/x3d+vrml": ["*x3dv", "x3dvz"],
			"model/x3d+xml": ["x3d", "x3dz"],
			"model/x3d-vrml": ["x3dv"],
			"text/cache-manifest": ["appcache", "manifest"],
			"text/calendar": ["ics", "ifb"],
			"text/coffeescript": ["coffee", "litcoffee"],
			"text/css": ["css"],
			"text/csv": ["csv"],
			"text/html": [
				"html",
				"htm",
				"shtml"
			],
			"text/jade": ["jade"],
			"text/jsx": ["jsx"],
			"text/less": ["less"],
			"text/markdown": ["markdown", "md"],
			"text/mathml": ["mml"],
			"text/mdx": ["mdx"],
			"text/n3": ["n3"],
			"text/plain": [
				"txt",
				"text",
				"conf",
				"def",
				"list",
				"log",
				"in",
				"ini"
			],
			"text/richtext": ["rtx"],
			"text/rtf": ["*rtf"],
			"text/sgml": ["sgml", "sgm"],
			"text/shex": ["shex"],
			"text/slim": ["slim", "slm"],
			"text/spdx": ["spdx"],
			"text/stylus": ["stylus", "styl"],
			"text/tab-separated-values": ["tsv"],
			"text/troff": [
				"t",
				"tr",
				"roff",
				"man",
				"me",
				"ms"
			],
			"text/turtle": ["ttl"],
			"text/uri-list": [
				"uri",
				"uris",
				"urls"
			],
			"text/vcard": ["vcard"],
			"text/vtt": ["vtt"],
			"text/xml": ["*xml"],
			"text/yaml": ["yaml", "yml"],
			"video/3gpp": ["3gp", "3gpp"],
			"video/3gpp2": ["3g2"],
			"video/h261": ["h261"],
			"video/h263": ["h263"],
			"video/h264": ["h264"],
			"video/iso.segment": ["m4s"],
			"video/jpeg": ["jpgv"],
			"video/jpm": ["*jpm", "jpgm"],
			"video/mj2": ["mj2", "mjp2"],
			"video/mp2t": ["ts"],
			"video/mp4": [
				"mp4",
				"mp4v",
				"mpg4"
			],
			"video/mpeg": [
				"mpeg",
				"mpg",
				"mpe",
				"m1v",
				"m2v"
			],
			"video/ogg": ["ogv"],
			"video/quicktime": ["qt", "mov"],
			"video/webm": ["webm"]
		};
	}));

//#endregion
//#region node_modules/mime/types/other.js
	var require_other = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = {
			"application/prs.cww": ["cww"],
			"application/vnd.1000minds.decision-model+xml": ["1km"],
			"application/vnd.3gpp.pic-bw-large": ["plb"],
			"application/vnd.3gpp.pic-bw-small": ["psb"],
			"application/vnd.3gpp.pic-bw-var": ["pvb"],
			"application/vnd.3gpp2.tcap": ["tcap"],
			"application/vnd.3m.post-it-notes": ["pwn"],
			"application/vnd.accpac.simply.aso": ["aso"],
			"application/vnd.accpac.simply.imp": ["imp"],
			"application/vnd.acucobol": ["acu"],
			"application/vnd.acucorp": ["atc", "acutc"],
			"application/vnd.adobe.air-application-installer-package+zip": ["air"],
			"application/vnd.adobe.formscentral.fcdt": ["fcdt"],
			"application/vnd.adobe.fxp": ["fxp", "fxpl"],
			"application/vnd.adobe.xdp+xml": ["xdp"],
			"application/vnd.adobe.xfdf": ["xfdf"],
			"application/vnd.ahead.space": ["ahead"],
			"application/vnd.airzip.filesecure.azf": ["azf"],
			"application/vnd.airzip.filesecure.azs": ["azs"],
			"application/vnd.amazon.ebook": ["azw"],
			"application/vnd.americandynamics.acc": ["acc"],
			"application/vnd.amiga.ami": ["ami"],
			"application/vnd.android.package-archive": ["apk"],
			"application/vnd.anser-web-certificate-issue-initiation": ["cii"],
			"application/vnd.anser-web-funds-transfer-initiation": ["fti"],
			"application/vnd.antix.game-component": ["atx"],
			"application/vnd.apple.installer+xml": ["mpkg"],
			"application/vnd.apple.keynote": ["key"],
			"application/vnd.apple.mpegurl": ["m3u8"],
			"application/vnd.apple.numbers": ["numbers"],
			"application/vnd.apple.pages": ["pages"],
			"application/vnd.apple.pkpass": ["pkpass"],
			"application/vnd.aristanetworks.swi": ["swi"],
			"application/vnd.astraea-software.iota": ["iota"],
			"application/vnd.audiograph": ["aep"],
			"application/vnd.balsamiq.bmml+xml": ["bmml"],
			"application/vnd.blueice.multipass": ["mpm"],
			"application/vnd.bmi": ["bmi"],
			"application/vnd.businessobjects": ["rep"],
			"application/vnd.chemdraw+xml": ["cdxml"],
			"application/vnd.chipnuts.karaoke-mmd": ["mmd"],
			"application/vnd.cinderella": ["cdy"],
			"application/vnd.citationstyles.style+xml": ["csl"],
			"application/vnd.claymore": ["cla"],
			"application/vnd.cloanto.rp9": ["rp9"],
			"application/vnd.clonk.c4group": [
				"c4g",
				"c4d",
				"c4f",
				"c4p",
				"c4u"
			],
			"application/vnd.cluetrust.cartomobile-config": ["c11amc"],
			"application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"],
			"application/vnd.commonspace": ["csp"],
			"application/vnd.contact.cmsg": ["cdbcmsg"],
			"application/vnd.cosmocaller": ["cmc"],
			"application/vnd.crick.clicker": ["clkx"],
			"application/vnd.crick.clicker.keyboard": ["clkk"],
			"application/vnd.crick.clicker.palette": ["clkp"],
			"application/vnd.crick.clicker.template": ["clkt"],
			"application/vnd.crick.clicker.wordbank": ["clkw"],
			"application/vnd.criticaltools.wbs+xml": ["wbs"],
			"application/vnd.ctc-posml": ["pml"],
			"application/vnd.cups-ppd": ["ppd"],
			"application/vnd.curl.car": ["car"],
			"application/vnd.curl.pcurl": ["pcurl"],
			"application/vnd.dart": ["dart"],
			"application/vnd.data-vision.rdz": ["rdz"],
			"application/vnd.dbf": ["dbf"],
			"application/vnd.dece.data": [
				"uvf",
				"uvvf",
				"uvd",
				"uvvd"
			],
			"application/vnd.dece.ttml+xml": ["uvt", "uvvt"],
			"application/vnd.dece.unspecified": ["uvx", "uvvx"],
			"application/vnd.dece.zip": ["uvz", "uvvz"],
			"application/vnd.denovo.fcselayout-link": ["fe_launch"],
			"application/vnd.dna": ["dna"],
			"application/vnd.dolby.mlp": ["mlp"],
			"application/vnd.dpgraph": ["dpg"],
			"application/vnd.dreamfactory": ["dfac"],
			"application/vnd.ds-keypoint": ["kpxx"],
			"application/vnd.dvb.ait": ["ait"],
			"application/vnd.dvb.service": ["svc"],
			"application/vnd.dynageo": ["geo"],
			"application/vnd.ecowin.chart": ["mag"],
			"application/vnd.enliven": ["nml"],
			"application/vnd.epson.esf": ["esf"],
			"application/vnd.epson.msf": ["msf"],
			"application/vnd.epson.quickanime": ["qam"],
			"application/vnd.epson.salt": ["slt"],
			"application/vnd.epson.ssf": ["ssf"],
			"application/vnd.eszigno3+xml": ["es3", "et3"],
			"application/vnd.ezpix-album": ["ez2"],
			"application/vnd.ezpix-package": ["ez3"],
			"application/vnd.fdf": ["fdf"],
			"application/vnd.fdsn.mseed": ["mseed"],
			"application/vnd.fdsn.seed": ["seed", "dataless"],
			"application/vnd.flographit": ["gph"],
			"application/vnd.fluxtime.clip": ["ftc"],
			"application/vnd.framemaker": [
				"fm",
				"frame",
				"maker",
				"book"
			],
			"application/vnd.frogans.fnc": ["fnc"],
			"application/vnd.frogans.ltf": ["ltf"],
			"application/vnd.fsc.weblaunch": ["fsc"],
			"application/vnd.fujitsu.oasys": ["oas"],
			"application/vnd.fujitsu.oasys2": ["oa2"],
			"application/vnd.fujitsu.oasys3": ["oa3"],
			"application/vnd.fujitsu.oasysgp": ["fg5"],
			"application/vnd.fujitsu.oasysprs": ["bh2"],
			"application/vnd.fujixerox.ddd": ["ddd"],
			"application/vnd.fujixerox.docuworks": ["xdw"],
			"application/vnd.fujixerox.docuworks.binder": ["xbd"],
			"application/vnd.fuzzysheet": ["fzs"],
			"application/vnd.genomatix.tuxedo": ["txd"],
			"application/vnd.geogebra.file": ["ggb"],
			"application/vnd.geogebra.tool": ["ggt"],
			"application/vnd.geometry-explorer": ["gex", "gre"],
			"application/vnd.geonext": ["gxt"],
			"application/vnd.geoplan": ["g2w"],
			"application/vnd.geospace": ["g3w"],
			"application/vnd.gmx": ["gmx"],
			"application/vnd.google-apps.document": ["gdoc"],
			"application/vnd.google-apps.presentation": ["gslides"],
			"application/vnd.google-apps.spreadsheet": ["gsheet"],
			"application/vnd.google-earth.kml+xml": ["kml"],
			"application/vnd.google-earth.kmz": ["kmz"],
			"application/vnd.grafeq": ["gqf", "gqs"],
			"application/vnd.groove-account": ["gac"],
			"application/vnd.groove-help": ["ghf"],
			"application/vnd.groove-identity-message": ["gim"],
			"application/vnd.groove-injector": ["grv"],
			"application/vnd.groove-tool-message": ["gtm"],
			"application/vnd.groove-tool-template": ["tpl"],
			"application/vnd.groove-vcard": ["vcg"],
			"application/vnd.hal+xml": ["hal"],
			"application/vnd.handheld-entertainment+xml": ["zmm"],
			"application/vnd.hbci": ["hbci"],
			"application/vnd.hhe.lesson-player": ["les"],
			"application/vnd.hp-hpgl": ["hpgl"],
			"application/vnd.hp-hpid": ["hpid"],
			"application/vnd.hp-hps": ["hps"],
			"application/vnd.hp-jlyt": ["jlt"],
			"application/vnd.hp-pcl": ["pcl"],
			"application/vnd.hp-pclxl": ["pclxl"],
			"application/vnd.hydrostatix.sof-data": ["sfd-hdstx"],
			"application/vnd.ibm.minipay": ["mpy"],
			"application/vnd.ibm.modcap": [
				"afp",
				"listafp",
				"list3820"
			],
			"application/vnd.ibm.rights-management": ["irm"],
			"application/vnd.ibm.secure-container": ["sc"],
			"application/vnd.iccprofile": ["icc", "icm"],
			"application/vnd.igloader": ["igl"],
			"application/vnd.immervision-ivp": ["ivp"],
			"application/vnd.immervision-ivu": ["ivu"],
			"application/vnd.insors.igm": ["igm"],
			"application/vnd.intercon.formnet": ["xpw", "xpx"],
			"application/vnd.intergeo": ["i2g"],
			"application/vnd.intu.qbo": ["qbo"],
			"application/vnd.intu.qfx": ["qfx"],
			"application/vnd.ipunplugged.rcprofile": ["rcprofile"],
			"application/vnd.irepository.package+xml": ["irp"],
			"application/vnd.is-xpr": ["xpr"],
			"application/vnd.isac.fcs": ["fcs"],
			"application/vnd.jam": ["jam"],
			"application/vnd.jcp.javame.midlet-rms": ["rms"],
			"application/vnd.jisp": ["jisp"],
			"application/vnd.joost.joda-archive": ["joda"],
			"application/vnd.kahootz": ["ktz", "ktr"],
			"application/vnd.kde.karbon": ["karbon"],
			"application/vnd.kde.kchart": ["chrt"],
			"application/vnd.kde.kformula": ["kfo"],
			"application/vnd.kde.kivio": ["flw"],
			"application/vnd.kde.kontour": ["kon"],
			"application/vnd.kde.kpresenter": ["kpr", "kpt"],
			"application/vnd.kde.kspread": ["ksp"],
			"application/vnd.kde.kword": ["kwd", "kwt"],
			"application/vnd.kenameaapp": ["htke"],
			"application/vnd.kidspiration": ["kia"],
			"application/vnd.kinar": ["kne", "knp"],
			"application/vnd.koan": [
				"skp",
				"skd",
				"skt",
				"skm"
			],
			"application/vnd.kodak-descriptor": ["sse"],
			"application/vnd.las.las+xml": ["lasxml"],
			"application/vnd.llamagraphics.life-balance.desktop": ["lbd"],
			"application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"],
			"application/vnd.lotus-1-2-3": ["123"],
			"application/vnd.lotus-approach": ["apr"],
			"application/vnd.lotus-freelance": ["pre"],
			"application/vnd.lotus-notes": ["nsf"],
			"application/vnd.lotus-organizer": ["org"],
			"application/vnd.lotus-screencam": ["scm"],
			"application/vnd.lotus-wordpro": ["lwp"],
			"application/vnd.macports.portpkg": ["portpkg"],
			"application/vnd.mapbox-vector-tile": ["mvt"],
			"application/vnd.mcd": ["mcd"],
			"application/vnd.medcalcdata": ["mc1"],
			"application/vnd.mediastation.cdkey": ["cdkey"],
			"application/vnd.mfer": ["mwf"],
			"application/vnd.mfmp": ["mfm"],
			"application/vnd.micrografx.flo": ["flo"],
			"application/vnd.micrografx.igx": ["igx"],
			"application/vnd.mif": ["mif"],
			"application/vnd.mobius.daf": ["daf"],
			"application/vnd.mobius.dis": ["dis"],
			"application/vnd.mobius.mbk": ["mbk"],
			"application/vnd.mobius.mqy": ["mqy"],
			"application/vnd.mobius.msl": ["msl"],
			"application/vnd.mobius.plc": ["plc"],
			"application/vnd.mobius.txf": ["txf"],
			"application/vnd.mophun.application": ["mpn"],
			"application/vnd.mophun.certificate": ["mpc"],
			"application/vnd.mozilla.xul+xml": ["xul"],
			"application/vnd.ms-artgalry": ["cil"],
			"application/vnd.ms-cab-compressed": ["cab"],
			"application/vnd.ms-excel": [
				"xls",
				"xlm",
				"xla",
				"xlc",
				"xlt",
				"xlw"
			],
			"application/vnd.ms-excel.addin.macroenabled.12": ["xlam"],
			"application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"],
			"application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"],
			"application/vnd.ms-excel.template.macroenabled.12": ["xltm"],
			"application/vnd.ms-fontobject": ["eot"],
			"application/vnd.ms-htmlhelp": ["chm"],
			"application/vnd.ms-ims": ["ims"],
			"application/vnd.ms-lrm": ["lrm"],
			"application/vnd.ms-officetheme": ["thmx"],
			"application/vnd.ms-outlook": ["msg"],
			"application/vnd.ms-pki.seccat": ["cat"],
			"application/vnd.ms-pki.stl": ["*stl"],
			"application/vnd.ms-powerpoint": [
				"ppt",
				"pps",
				"pot"
			],
			"application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"],
			"application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"],
			"application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"],
			"application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"],
			"application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"],
			"application/vnd.ms-project": ["mpp", "mpt"],
			"application/vnd.ms-word.document.macroenabled.12": ["docm"],
			"application/vnd.ms-word.template.macroenabled.12": ["dotm"],
			"application/vnd.ms-works": [
				"wps",
				"wks",
				"wcm",
				"wdb"
			],
			"application/vnd.ms-wpl": ["wpl"],
			"application/vnd.ms-xpsdocument": ["xps"],
			"application/vnd.mseq": ["mseq"],
			"application/vnd.musician": ["mus"],
			"application/vnd.muvee.style": ["msty"],
			"application/vnd.mynfc": ["taglet"],
			"application/vnd.neurolanguage.nlu": ["nlu"],
			"application/vnd.nitf": ["ntf", "nitf"],
			"application/vnd.noblenet-directory": ["nnd"],
			"application/vnd.noblenet-sealer": ["nns"],
			"application/vnd.noblenet-web": ["nnw"],
			"application/vnd.nokia.n-gage.ac+xml": ["*ac"],
			"application/vnd.nokia.n-gage.data": ["ngdat"],
			"application/vnd.nokia.n-gage.symbian.install": ["n-gage"],
			"application/vnd.nokia.radio-preset": ["rpst"],
			"application/vnd.nokia.radio-presets": ["rpss"],
			"application/vnd.novadigm.edm": ["edm"],
			"application/vnd.novadigm.edx": ["edx"],
			"application/vnd.novadigm.ext": ["ext"],
			"application/vnd.oasis.opendocument.chart": ["odc"],
			"application/vnd.oasis.opendocument.chart-template": ["otc"],
			"application/vnd.oasis.opendocument.database": ["odb"],
			"application/vnd.oasis.opendocument.formula": ["odf"],
			"application/vnd.oasis.opendocument.formula-template": ["odft"],
			"application/vnd.oasis.opendocument.graphics": ["odg"],
			"application/vnd.oasis.opendocument.graphics-template": ["otg"],
			"application/vnd.oasis.opendocument.image": ["odi"],
			"application/vnd.oasis.opendocument.image-template": ["oti"],
			"application/vnd.oasis.opendocument.presentation": ["odp"],
			"application/vnd.oasis.opendocument.presentation-template": ["otp"],
			"application/vnd.oasis.opendocument.spreadsheet": ["ods"],
			"application/vnd.oasis.opendocument.spreadsheet-template": ["ots"],
			"application/vnd.oasis.opendocument.text": ["odt"],
			"application/vnd.oasis.opendocument.text-master": ["odm"],
			"application/vnd.oasis.opendocument.text-template": ["ott"],
			"application/vnd.oasis.opendocument.text-web": ["oth"],
			"application/vnd.olpc-sugar": ["xo"],
			"application/vnd.oma.dd2+xml": ["dd2"],
			"application/vnd.openblox.game+xml": ["obgx"],
			"application/vnd.openofficeorg.extension": ["oxt"],
			"application/vnd.openstreetmap.data+xml": ["osm"],
			"application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"],
			"application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"],
			"application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"],
			"application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"],
			"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"],
			"application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"],
			"application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"],
			"application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"],
			"application/vnd.osgeo.mapguide.package": ["mgp"],
			"application/vnd.osgi.dp": ["dp"],
			"application/vnd.osgi.subsystem": ["esa"],
			"application/vnd.palm": [
				"pdb",
				"pqa",
				"oprc"
			],
			"application/vnd.pawaafile": ["paw"],
			"application/vnd.pg.format": ["str"],
			"application/vnd.pg.osasli": ["ei6"],
			"application/vnd.picsel": ["efif"],
			"application/vnd.pmi.widget": ["wg"],
			"application/vnd.pocketlearn": ["plf"],
			"application/vnd.powerbuilder6": ["pbd"],
			"application/vnd.previewsystems.box": ["box"],
			"application/vnd.proteus.magazine": ["mgz"],
			"application/vnd.publishare-delta-tree": ["qps"],
			"application/vnd.pvi.ptid1": ["ptid"],
			"application/vnd.quark.quarkxpress": [
				"qxd",
				"qxt",
				"qwd",
				"qwt",
				"qxl",
				"qxb"
			],
			"application/vnd.rar": ["rar"],
			"application/vnd.realvnc.bed": ["bed"],
			"application/vnd.recordare.musicxml": ["mxl"],
			"application/vnd.recordare.musicxml+xml": ["musicxml"],
			"application/vnd.rig.cryptonote": ["cryptonote"],
			"application/vnd.rim.cod": ["cod"],
			"application/vnd.rn-realmedia": ["rm"],
			"application/vnd.rn-realmedia-vbr": ["rmvb"],
			"application/vnd.route66.link66+xml": ["link66"],
			"application/vnd.sailingtracker.track": ["st"],
			"application/vnd.seemail": ["see"],
			"application/vnd.sema": ["sema"],
			"application/vnd.semd": ["semd"],
			"application/vnd.semf": ["semf"],
			"application/vnd.shana.informed.formdata": ["ifm"],
			"application/vnd.shana.informed.formtemplate": ["itp"],
			"application/vnd.shana.informed.interchange": ["iif"],
			"application/vnd.shana.informed.package": ["ipk"],
			"application/vnd.simtech-mindmapper": ["twd", "twds"],
			"application/vnd.smaf": ["mmf"],
			"application/vnd.smart.teacher": ["teacher"],
			"application/vnd.software602.filler.form+xml": ["fo"],
			"application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"],
			"application/vnd.spotfire.dxp": ["dxp"],
			"application/vnd.spotfire.sfs": ["sfs"],
			"application/vnd.stardivision.calc": ["sdc"],
			"application/vnd.stardivision.draw": ["sda"],
			"application/vnd.stardivision.impress": ["sdd"],
			"application/vnd.stardivision.math": ["smf"],
			"application/vnd.stardivision.writer": ["sdw", "vor"],
			"application/vnd.stardivision.writer-global": ["sgl"],
			"application/vnd.stepmania.package": ["smzip"],
			"application/vnd.stepmania.stepchart": ["sm"],
			"application/vnd.sun.wadl+xml": ["wadl"],
			"application/vnd.sun.xml.calc": ["sxc"],
			"application/vnd.sun.xml.calc.template": ["stc"],
			"application/vnd.sun.xml.draw": ["sxd"],
			"application/vnd.sun.xml.draw.template": ["std"],
			"application/vnd.sun.xml.impress": ["sxi"],
			"application/vnd.sun.xml.impress.template": ["sti"],
			"application/vnd.sun.xml.math": ["sxm"],
			"application/vnd.sun.xml.writer": ["sxw"],
			"application/vnd.sun.xml.writer.global": ["sxg"],
			"application/vnd.sun.xml.writer.template": ["stw"],
			"application/vnd.sus-calendar": ["sus", "susp"],
			"application/vnd.svd": ["svd"],
			"application/vnd.symbian.install": ["sis", "sisx"],
			"application/vnd.syncml+xml": ["xsm"],
			"application/vnd.syncml.dm+wbxml": ["bdm"],
			"application/vnd.syncml.dm+xml": ["xdm"],
			"application/vnd.syncml.dmddf+xml": ["ddf"],
			"application/vnd.tao.intent-module-archive": ["tao"],
			"application/vnd.tcpdump.pcap": [
				"pcap",
				"cap",
				"dmp"
			],
			"application/vnd.tmobile-livetv": ["tmo"],
			"application/vnd.trid.tpt": ["tpt"],
			"application/vnd.triscape.mxs": ["mxs"],
			"application/vnd.trueapp": ["tra"],
			"application/vnd.ufdl": ["ufd", "ufdl"],
			"application/vnd.uiq.theme": ["utz"],
			"application/vnd.umajin": ["umj"],
			"application/vnd.unity": ["unityweb"],
			"application/vnd.uoml+xml": ["uoml"],
			"application/vnd.vcx": ["vcx"],
			"application/vnd.visio": [
				"vsd",
				"vst",
				"vss",
				"vsw"
			],
			"application/vnd.visionary": ["vis"],
			"application/vnd.vsf": ["vsf"],
			"application/vnd.wap.wbxml": ["wbxml"],
			"application/vnd.wap.wmlc": ["wmlc"],
			"application/vnd.wap.wmlscriptc": ["wmlsc"],
			"application/vnd.webturbo": ["wtb"],
			"application/vnd.wolfram.player": ["nbp"],
			"application/vnd.wordperfect": ["wpd"],
			"application/vnd.wqd": ["wqd"],
			"application/vnd.wt.stf": ["stf"],
			"application/vnd.xara": ["xar"],
			"application/vnd.xfdl": ["xfdl"],
			"application/vnd.yamaha.hv-dic": ["hvd"],
			"application/vnd.yamaha.hv-script": ["hvs"],
			"application/vnd.yamaha.hv-voice": ["hvp"],
			"application/vnd.yamaha.openscoreformat": ["osf"],
			"application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"],
			"application/vnd.yamaha.smaf-audio": ["saf"],
			"application/vnd.yamaha.smaf-phrase": ["spf"],
			"application/vnd.yellowriver-custom-menu": ["cmp"],
			"application/vnd.zul": ["zir", "zirz"],
			"application/vnd.zzazz.deck+xml": ["zaz"],
			"application/x-7z-compressed": ["7z"],
			"application/x-abiword": ["abw"],
			"application/x-ace-compressed": ["ace"],
			"application/x-apple-diskimage": ["*dmg"],
			"application/x-arj": ["arj"],
			"application/x-authorware-bin": [
				"aab",
				"x32",
				"u32",
				"vox"
			],
			"application/x-authorware-map": ["aam"],
			"application/x-authorware-seg": ["aas"],
			"application/x-bcpio": ["bcpio"],
			"application/x-bdoc": ["*bdoc"],
			"application/x-bittorrent": ["torrent"],
			"application/x-blorb": ["blb", "blorb"],
			"application/x-bzip": ["bz"],
			"application/x-bzip2": ["bz2", "boz"],
			"application/x-cbr": [
				"cbr",
				"cba",
				"cbt",
				"cbz",
				"cb7"
			],
			"application/x-cdlink": ["vcd"],
			"application/x-cfs-compressed": ["cfs"],
			"application/x-chat": ["chat"],
			"application/x-chess-pgn": ["pgn"],
			"application/x-chrome-extension": ["crx"],
			"application/x-cocoa": ["cco"],
			"application/x-conference": ["nsc"],
			"application/x-cpio": ["cpio"],
			"application/x-csh": ["csh"],
			"application/x-debian-package": ["*deb", "udeb"],
			"application/x-dgc-compressed": ["dgc"],
			"application/x-director": [
				"dir",
				"dcr",
				"dxr",
				"cst",
				"cct",
				"cxt",
				"w3d",
				"fgd",
				"swa"
			],
			"application/x-doom": ["wad"],
			"application/x-dtbncx+xml": ["ncx"],
			"application/x-dtbook+xml": ["dtb"],
			"application/x-dtbresource+xml": ["res"],
			"application/x-dvi": ["dvi"],
			"application/x-envoy": ["evy"],
			"application/x-eva": ["eva"],
			"application/x-font-bdf": ["bdf"],
			"application/x-font-ghostscript": ["gsf"],
			"application/x-font-linux-psf": ["psf"],
			"application/x-font-pcf": ["pcf"],
			"application/x-font-snf": ["snf"],
			"application/x-font-type1": [
				"pfa",
				"pfb",
				"pfm",
				"afm"
			],
			"application/x-freearc": ["arc"],
			"application/x-futuresplash": ["spl"],
			"application/x-gca-compressed": ["gca"],
			"application/x-glulx": ["ulx"],
			"application/x-gnumeric": ["gnumeric"],
			"application/x-gramps-xml": ["gramps"],
			"application/x-gtar": ["gtar"],
			"application/x-hdf": ["hdf"],
			"application/x-httpd-php": ["php"],
			"application/x-install-instructions": ["install"],
			"application/x-iso9660-image": ["*iso"],
			"application/x-iwork-keynote-sffkey": ["*key"],
			"application/x-iwork-numbers-sffnumbers": ["*numbers"],
			"application/x-iwork-pages-sffpages": ["*pages"],
			"application/x-java-archive-diff": ["jardiff"],
			"application/x-java-jnlp-file": ["jnlp"],
			"application/x-keepass2": ["kdbx"],
			"application/x-latex": ["latex"],
			"application/x-lua-bytecode": ["luac"],
			"application/x-lzh-compressed": ["lzh", "lha"],
			"application/x-makeself": ["run"],
			"application/x-mie": ["mie"],
			"application/x-mobipocket-ebook": ["prc", "mobi"],
			"application/x-ms-application": ["application"],
			"application/x-ms-shortcut": ["lnk"],
			"application/x-ms-wmd": ["wmd"],
			"application/x-ms-wmz": ["wmz"],
			"application/x-ms-xbap": ["xbap"],
			"application/x-msaccess": ["mdb"],
			"application/x-msbinder": ["obd"],
			"application/x-mscardfile": ["crd"],
			"application/x-msclip": ["clp"],
			"application/x-msdos-program": ["*exe"],
			"application/x-msdownload": [
				"*exe",
				"*dll",
				"com",
				"bat",
				"*msi"
			],
			"application/x-msmediaview": [
				"mvb",
				"m13",
				"m14"
			],
			"application/x-msmetafile": [
				"*wmf",
				"*wmz",
				"*emf",
				"emz"
			],
			"application/x-msmoney": ["mny"],
			"application/x-mspublisher": ["pub"],
			"application/x-msschedule": ["scd"],
			"application/x-msterminal": ["trm"],
			"application/x-mswrite": ["wri"],
			"application/x-netcdf": ["nc", "cdf"],
			"application/x-ns-proxy-autoconfig": ["pac"],
			"application/x-nzb": ["nzb"],
			"application/x-perl": ["pl", "pm"],
			"application/x-pilot": ["*prc", "*pdb"],
			"application/x-pkcs12": ["p12", "pfx"],
			"application/x-pkcs7-certificates": ["p7b", "spc"],
			"application/x-pkcs7-certreqresp": ["p7r"],
			"application/x-rar-compressed": ["*rar"],
			"application/x-redhat-package-manager": ["rpm"],
			"application/x-research-info-systems": ["ris"],
			"application/x-sea": ["sea"],
			"application/x-sh": ["sh"],
			"application/x-shar": ["shar"],
			"application/x-shockwave-flash": ["swf"],
			"application/x-silverlight-app": ["xap"],
			"application/x-sql": ["sql"],
			"application/x-stuffit": ["sit"],
			"application/x-stuffitx": ["sitx"],
			"application/x-subrip": ["srt"],
			"application/x-sv4cpio": ["sv4cpio"],
			"application/x-sv4crc": ["sv4crc"],
			"application/x-t3vm-image": ["t3"],
			"application/x-tads": ["gam"],
			"application/x-tar": ["tar"],
			"application/x-tcl": ["tcl", "tk"],
			"application/x-tex": ["tex"],
			"application/x-tex-tfm": ["tfm"],
			"application/x-texinfo": ["texinfo", "texi"],
			"application/x-tgif": ["*obj"],
			"application/x-ustar": ["ustar"],
			"application/x-virtualbox-hdd": ["hdd"],
			"application/x-virtualbox-ova": ["ova"],
			"application/x-virtualbox-ovf": ["ovf"],
			"application/x-virtualbox-vbox": ["vbox"],
			"application/x-virtualbox-vbox-extpack": ["vbox-extpack"],
			"application/x-virtualbox-vdi": ["vdi"],
			"application/x-virtualbox-vhd": ["vhd"],
			"application/x-virtualbox-vmdk": ["vmdk"],
			"application/x-wais-source": ["src"],
			"application/x-web-app-manifest+json": ["webapp"],
			"application/x-x509-ca-cert": [
				"der",
				"crt",
				"pem"
			],
			"application/x-xfig": ["fig"],
			"application/x-xliff+xml": ["*xlf"],
			"application/x-xpinstall": ["xpi"],
			"application/x-xz": ["xz"],
			"application/x-zmachine": [
				"z1",
				"z2",
				"z3",
				"z4",
				"z5",
				"z6",
				"z7",
				"z8"
			],
			"audio/vnd.dece.audio": ["uva", "uvva"],
			"audio/vnd.digital-winds": ["eol"],
			"audio/vnd.dra": ["dra"],
			"audio/vnd.dts": ["dts"],
			"audio/vnd.dts.hd": ["dtshd"],
			"audio/vnd.lucent.voice": ["lvp"],
			"audio/vnd.ms-playready.media.pya": ["pya"],
			"audio/vnd.nuera.ecelp4800": ["ecelp4800"],
			"audio/vnd.nuera.ecelp7470": ["ecelp7470"],
			"audio/vnd.nuera.ecelp9600": ["ecelp9600"],
			"audio/vnd.rip": ["rip"],
			"audio/x-aac": ["aac"],
			"audio/x-aiff": [
				"aif",
				"aiff",
				"aifc"
			],
			"audio/x-caf": ["caf"],
			"audio/x-flac": ["flac"],
			"audio/x-m4a": ["*m4a"],
			"audio/x-matroska": ["mka"],
			"audio/x-mpegurl": ["m3u"],
			"audio/x-ms-wax": ["wax"],
			"audio/x-ms-wma": ["wma"],
			"audio/x-pn-realaudio": ["ram", "ra"],
			"audio/x-pn-realaudio-plugin": ["rmp"],
			"audio/x-realaudio": ["*ra"],
			"audio/x-wav": ["*wav"],
			"chemical/x-cdx": ["cdx"],
			"chemical/x-cif": ["cif"],
			"chemical/x-cmdf": ["cmdf"],
			"chemical/x-cml": ["cml"],
			"chemical/x-csml": ["csml"],
			"chemical/x-xyz": ["xyz"],
			"image/prs.btif": ["btif"],
			"image/prs.pti": ["pti"],
			"image/vnd.adobe.photoshop": ["psd"],
			"image/vnd.airzip.accelerator.azv": ["azv"],
			"image/vnd.dece.graphic": [
				"uvi",
				"uvvi",
				"uvg",
				"uvvg"
			],
			"image/vnd.djvu": ["djvu", "djv"],
			"image/vnd.dvb.subtitle": ["*sub"],
			"image/vnd.dwg": ["dwg"],
			"image/vnd.dxf": ["dxf"],
			"image/vnd.fastbidsheet": ["fbs"],
			"image/vnd.fpx": ["fpx"],
			"image/vnd.fst": ["fst"],
			"image/vnd.fujixerox.edmics-mmr": ["mmr"],
			"image/vnd.fujixerox.edmics-rlc": ["rlc"],
			"image/vnd.microsoft.icon": ["ico"],
			"image/vnd.ms-dds": ["dds"],
			"image/vnd.ms-modi": ["mdi"],
			"image/vnd.ms-photo": ["wdp"],
			"image/vnd.net-fpx": ["npx"],
			"image/vnd.pco.b16": ["b16"],
			"image/vnd.tencent.tap": ["tap"],
			"image/vnd.valve.source.texture": ["vtf"],
			"image/vnd.wap.wbmp": ["wbmp"],
			"image/vnd.xiff": ["xif"],
			"image/vnd.zbrush.pcx": ["pcx"],
			"image/x-3ds": ["3ds"],
			"image/x-cmu-raster": ["ras"],
			"image/x-cmx": ["cmx"],
			"image/x-freehand": [
				"fh",
				"fhc",
				"fh4",
				"fh5",
				"fh7"
			],
			"image/x-icon": ["*ico"],
			"image/x-jng": ["jng"],
			"image/x-mrsid-image": ["sid"],
			"image/x-ms-bmp": ["*bmp"],
			"image/x-pcx": ["*pcx"],
			"image/x-pict": ["pic", "pct"],
			"image/x-portable-anymap": ["pnm"],
			"image/x-portable-bitmap": ["pbm"],
			"image/x-portable-graymap": ["pgm"],
			"image/x-portable-pixmap": ["ppm"],
			"image/x-rgb": ["rgb"],
			"image/x-tga": ["tga"],
			"image/x-xbitmap": ["xbm"],
			"image/x-xpixmap": ["xpm"],
			"image/x-xwindowdump": ["xwd"],
			"message/vnd.wfa.wsc": ["wsc"],
			"model/vnd.collada+xml": ["dae"],
			"model/vnd.dwf": ["dwf"],
			"model/vnd.gdl": ["gdl"],
			"model/vnd.gtw": ["gtw"],
			"model/vnd.mts": ["mts"],
			"model/vnd.opengex": ["ogex"],
			"model/vnd.parasolid.transmit.binary": ["x_b"],
			"model/vnd.parasolid.transmit.text": ["x_t"],
			"model/vnd.sap.vds": ["vds"],
			"model/vnd.usdz+zip": ["usdz"],
			"model/vnd.valve.source.compiled-map": ["bsp"],
			"model/vnd.vtu": ["vtu"],
			"text/prs.lines.tag": ["dsc"],
			"text/vnd.curl": ["curl"],
			"text/vnd.curl.dcurl": ["dcurl"],
			"text/vnd.curl.mcurl": ["mcurl"],
			"text/vnd.curl.scurl": ["scurl"],
			"text/vnd.dvb.subtitle": ["sub"],
			"text/vnd.fly": ["fly"],
			"text/vnd.fmi.flexstor": ["flx"],
			"text/vnd.graphviz": ["gv"],
			"text/vnd.in3d.3dml": ["3dml"],
			"text/vnd.in3d.spot": ["spot"],
			"text/vnd.sun.j2me.app-descriptor": ["jad"],
			"text/vnd.wap.wml": ["wml"],
			"text/vnd.wap.wmlscript": ["wmls"],
			"text/x-asm": ["s", "asm"],
			"text/x-c": [
				"c",
				"cc",
				"cxx",
				"cpp",
				"h",
				"hh",
				"dic"
			],
			"text/x-component": ["htc"],
			"text/x-fortran": [
				"f",
				"for",
				"f77",
				"f90"
			],
			"text/x-handlebars-template": ["hbs"],
			"text/x-java-source": ["java"],
			"text/x-lua": ["lua"],
			"text/x-markdown": ["mkd"],
			"text/x-nfo": ["nfo"],
			"text/x-opml": ["opml"],
			"text/x-org": ["*org"],
			"text/x-pascal": ["p", "pas"],
			"text/x-processing": ["pde"],
			"text/x-sass": ["sass"],
			"text/x-scss": ["scss"],
			"text/x-setext": ["etx"],
			"text/x-sfv": ["sfv"],
			"text/x-suse-ymp": ["ymp"],
			"text/x-uuencode": ["uu"],
			"text/x-vcalendar": ["vcs"],
			"text/x-vcard": ["vcf"],
			"video/vnd.dece.hd": ["uvh", "uvvh"],
			"video/vnd.dece.mobile": ["uvm", "uvvm"],
			"video/vnd.dece.pd": ["uvp", "uvvp"],
			"video/vnd.dece.sd": ["uvs", "uvvs"],
			"video/vnd.dece.video": ["uvv", "uvvv"],
			"video/vnd.dvb.file": ["dvb"],
			"video/vnd.fvt": ["fvt"],
			"video/vnd.mpegurl": ["mxu", "m4u"],
			"video/vnd.ms-playready.media.pyv": ["pyv"],
			"video/vnd.uvvu.mp4": ["uvu", "uvvu"],
			"video/vnd.vivo": ["viv"],
			"video/x-f4v": ["f4v"],
			"video/x-fli": ["fli"],
			"video/x-flv": ["flv"],
			"video/x-m4v": ["m4v"],
			"video/x-matroska": [
				"mkv",
				"mk3d",
				"mks"
			],
			"video/x-mng": ["mng"],
			"video/x-ms-asf": ["asf", "asx"],
			"video/x-ms-vob": ["vob"],
			"video/x-ms-wm": ["wm"],
			"video/x-ms-wmv": ["wmv"],
			"video/x-ms-wmx": ["wmx"],
			"video/x-ms-wvx": ["wvx"],
			"video/x-msvideo": ["avi"],
			"video/x-sgi-movie": ["movie"],
			"video/x-smv": ["smv"],
			"x-conference/x-cooltalk": ["ice"]
		};
	}));

//#endregion
//#region node_modules/mime/index.js
	var require_mime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var Mime = require_Mime();
		module.exports = new Mime(require_standard(), require_other());
	}));

//#endregion
//#region assets/dev/js/editor/components/browser-import/items/item.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	init_is_instanceof();
	var import_mime = /* @__PURE__ */ __toESM(require_mime());
	/**
	* @typedef {import('../files/file-parser-base')} FileParserBase
	* @typedef {import('../files/file-reader-base')} FileReaderBase
	*/
	var Item = /*#__PURE__*/ function() {
		/**
		* The Item constructor.
		*
		* @param {*} input
		* @param {*} options
		*/
		function Item(input) {
			var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
			_classCallCheck(this, Item);
			/**
			* The item File object.
			*
			* @type {File}
			*/
			_defineProperty(this, "file", void 0);
			/**
			* The Item options list.
			*
			* @type {{}}
			*/
			_defineProperty(this, "options", {});
			this.file = this.toFile(input);
			this.options = options;
		}
		/**
		* Convert the input into a File object.
		*
		* @param {*} input
		* @return {File} file
		*/
		return _createClass(Item, [
			{
				key: "toFile",
				value: function toFile(input) {
					if (!is_instanceof_default(input, File)) {
						var _this$options = this.options;
						var fileName = _this$options.fileName;
						var options = { type: _this$options.type || input.type };
						input = new File(Array.isArray(input) ? input : [input], fileName || this.constructor.createFileName(options), options);
					}
					return input;
				}
			},
			{
				key: "getFile",
				value: function getFile() {
					return this.file;
				}
			},
			{
				key: "getReader",
				value: function getReader() {
					return this.options.reader;
				}
			},
			{
				key: "getParser",
				value: function getParser() {
					return this.options.parser;
				}
			},
			{
				key: "setReader",
				value: function setReader(reader) {
					this.options.reader = reader;
				}
			},
			{
				key: "setParser",
				value: function setParser(parser) {
					this.options.parser = parser;
				}
			}
		], [{
			key: "createFileName",
			value: function createFileName(blob) {
				return [elementorCommon.helpers.getUniqueId(), import_mime.default.getExtension(blob.type)].join(".");
			}
		}]);
	}();

//#endregion
//#region assets/dev/js/editor/components/browser-import/items/item-collection.js
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	function _createForOfIteratorHelper$5(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$5(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	__name(_createForOfIteratorHelper$5, "_createForOfIteratorHelper");
	function _unsupportedIterableToArray$5(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$5(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$5(r, a) : void 0;
		}
	}
	__name(_unsupportedIterableToArray$5, "_unsupportedIterableToArray");
	function _arrayLikeToArray$5(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	__name(_arrayLikeToArray$5, "_arrayLikeToArray");
	var ItemCollection = /*#__PURE__*/ function() {
		/**
		* ItemCollection constructor.
		*
		* @param {Array<*>} items
		*/
		function ItemCollection() {
			var items = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
			_classCallCheck(this, ItemCollection);
			/**
			* The Item objects list.
			*/
			_defineProperty(this, "items", void 0);
			this.setItems(items);
		}
		/**
		* Set the Item objects list.
		*
		* @param {Array<*>} items
		*/
		return _createClass(ItemCollection, [
			{
				key: "setItems",
				value: function setItems() {
					var items = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
					var _iterator = _createForOfIteratorHelper$5(items);
					var _step;
					try {
						for (_iterator.s(); !(_step = _iterator.n()).done;) if (!(_step.value instanceof Item)) throw new Error("ItemCollection can only contain Item objects");
					} catch (err) {
						_iterator.e(err);
					} finally {
						_iterator.f();
					}
					this.items = items;
				}
			},
			{
				key: "getItems",
				value: function getItems() {
					return this.items;
				}
			},
			{
				key: "getFiles",
				value: function getFiles() {
					return this.items.map(function(item) {
						return item.getFile();
					});
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/components/browser-import/normalizer.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_is_instanceof();
	/**
	* @typedef {import('../modules/component-base')} ComponentBase
	*/
	/**
	* @typedef {import('./manager')} Manager
	*/
	var Normalizer = /*#__PURE__*/ function() {
		/**
		* Normalizer constructor.
		*
		* @param {Manager} manager
		*/
		function Normalizer(manager) {
			_classCallCheck(this, Normalizer);
			this.manager = manager;
		}
		/**
		* Normalize input to an ItemCollection, where each item is an Item object. This method can be used to normalize a
		* vast spectrum of input types - from data url strings to blob objects, and array of them. Other kind of parsers
		* can be registered to the Manager.
		*
		* @param {*} input
		* @return {Promise<ItemCollection>} result
		*/
		return _createClass(Normalizer, [
			{
				key: "normalize",
				value: function() {
					var _normalize = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(input) {
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									if (!(input instanceof ItemCollection)) input = this.toItemCollection(input);
									return _context.abrupt("return", input);
								case 1:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function normalize(_x) {
						return _normalize.apply(this, arguments);
					}
					return normalize;
				}()
			},
			{
				key: "toItemCollection",
				value: function() {
					var _toItemCollection = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2(subjects) {
						var _this = this;
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0:
									if (!Array.isArray(subjects)) subjects = is_instanceof_default(subjects, FileList) || is_instanceof_default(subjects, DataTransferItemList) ? Array.from(subjects) : [subjects];
									return _context2.abrupt("return", Promise.all(subjects.map(function(subject) {
										if (!(subject instanceof Item)) subject = _this.toItem(subject);
										return subject;
									})).then(function(items) {
										return new ItemCollection(items);
									}));
								case 1:
								case "end": return _context2.stop();
							}
						}, _callee2);
					}));
					function toItemCollection(_x2) {
						return _toItemCollection.apply(this, arguments);
					}
					return toItemCollection;
				}()
			},
			{
				key: "toItem",
				value: function() {
					var _toItem = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee3(subject) {
						var mimeType;
						return import_regenerator$16.default.wrap(function(_context3) {
							while (1) switch (_context3.prev = _context3.next) {
								case 0:
									if (is_instanceof_default(subject, [
										Blob,
										File,
										DataTransferItem
									])) {
										_context3.next = 7;
										break;
									}
									_context3.prev = 1;
									window.atob(subject.split(",")[1]);
									_context3.next = 5;
									break;
								case 2:
									_context3.prev = 2;
									_context3["catch"](1);
									_context3.next = 3;
									return this.manager.getMimeTypeOf(subject);
								case 3:
									mimeType = _context3.sent;
									if (!mimeType) {
										_context3.next = 4;
										break;
									}
									subject = this.constructor.createDataUrl(subject, mimeType);
									_context3.next = 5;
									break;
								case 4: throw new Error("The input provided cannot be resolved");
								case 5:
									_context3.next = 6;
									return fetch(subject).then(function(res) {
										return res.blob();
									});
								case 6: subject = _context3.sent;
								case 7: return _context3.abrupt("return", new Item(subject));
								case 8:
								case "end": return _context3.stop();
							}
						}, _callee3, this, [[1, 2]]);
					}));
					function toItem(_x3) {
						return _toItem.apply(this, arguments);
					}
					return toItem;
				}()
			}
		], [{
			key: "createDataUrl",
			value: function createDataUrl(data) {
				var mimeType = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
				if (arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true) data = "base64,".concat(btoa(data));
				if (mimeType) mimeType += ";";
				return "data:".concat(mimeType || "").concat(data);
			}
		}]);
	}();

//#endregion
//#region assets/dev/js/editor/components/browser-import/session.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_defineProperty();
	function _createForOfIteratorHelper$4(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$4(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	__name(_createForOfIteratorHelper$4, "_createForOfIteratorHelper");
	function _unsupportedIterableToArray$4(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$4(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$4(r, a) : void 0;
		}
	}
	__name(_unsupportedIterableToArray$4, "_unsupportedIterableToArray");
	function _arrayLikeToArray$4(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	__name(_arrayLikeToArray$4, "_arrayLikeToArray");
	/**
	* @typedef {import('../../container/container')} Container
	*/
	/**
	* @typedef {import('./manager')} Manager
	*/
	/**
	* @typedef {import('./items/item-collection')} ItemCollection
	*/
	var Session = /*#__PURE__*/ function() {
		/**
		* Session constructor.
		*
		* @param {Manager}             manager
		* @param {ItemCollection|null} itemCollection
		* @param {Container|null}      target
		* @param {{}}                  options
		*/
		function Session(manager) {
			var itemCollection = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
			var target = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
			var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
			_classCallCheck(this, Session);
			/**
			* The Manager instance.
			*
			* @type {Manager}
			*/
			_defineProperty(this, "manager", void 0);
			/**
			* The ItemCollection instance.
			*
			* @type {ItemCollection}
			*/
			_defineProperty(this, "itemCollection", void 0);
			/**
			* The Target instance.
			*
			* @type {Container}
			*/
			_defineProperty(this, "target", void 0);
			/**
			* The Session options.
			*
			* @type {{}}
			*/
			_defineProperty(this, "options", { target: {} });
			this.manager = manager;
			this.itemCollection = itemCollection;
			this.target = target;
			Object.assign(this.options, options);
		}
		/**
		* Validate all files in this session can be handled.
		*
		* @return {boolean} true if all items are valid
		*/
		return _createClass(Session, [
			{
				key: "validate",
				value: function() {
					var _validate = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
						var _iterator;
						var _step;
						var item;
						var _t;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									_iterator = _createForOfIteratorHelper$4(this.itemCollection.getItems());
									_context.prev = 1;
									_iterator.s();
								case 2:
									if ((_step = _iterator.n()).done) {
										_context.next = 5;
										break;
									}
									item = _step.value;
									_context.next = 3;
									return this.manager.getReaderOf(item);
								case 3:
									if (_context.sent) {
										_context.next = 4;
										break;
									}
									return _context.abrupt("return", false);
								case 4:
									_context.next = 2;
									break;
								case 5:
									_context.next = 7;
									break;
								case 6:
									_context.prev = 6;
									_t = _context["catch"](1);
									_iterator.e(_t);
								case 7:
									_context.prev = 7;
									_iterator.f();
									return _context.finish(7);
								case 8: return _context.abrupt("return", true);
								case 9:
								case "end": return _context.stop();
							}
						}, _callee, this, [[
							1,
							6,
							7,
							8
						]]);
					}));
					function validate() {
						return _validate.apply(this, arguments);
					}
					return validate;
				}()
			},
			{
				key: "apply",
				value: function() {
					var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2() {
						var _this = this;
						var parsed;
						var _iterator2;
						var _step2;
						var item;
						var parser;
						var _t2;
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0:
									parsed = [];
									_iterator2 = _createForOfIteratorHelper$4(this.itemCollection.getItems());
									_context2.prev = 1;
									_iterator2.s();
								case 2:
									if ((_step2 = _iterator2.n()).done) {
										_context2.next = 6;
										break;
									}
									item = _step2.value;
									_context2.next = 3;
									return this.manager.getParserOf(item, true);
								case 3:
									parser = _context2.sent;
									if (!parser) {
										_context2.next = 4;
										break;
									}
									parsed.push(parser.parse());
									_context2.next = 5;
									break;
								case 4: throw new Error("An error occurred when trying to parse the input");
								case 5:
									_context2.next = 2;
									break;
								case 6:
									_context2.next = 8;
									break;
								case 7:
									_context2.prev = 7;
									_t2 = _context2["catch"](1);
									_iterator2.e(_t2);
								case 8:
									_context2.prev = 8;
									_iterator2.f();
									return _context2.finish(8);
								case 9: return _context2.abrupt("return", Promise.all(parsed).then(function(result) {
									return _this.resolve(result.flat());
								}));
								case 10:
								case "end": return _context2.stop();
							}
						}, _callee2, this, [[
							1,
							7,
							8,
							9
						]]);
					}));
					function apply() {
						return _apply.apply(this, arguments);
					}
					return apply;
				}()
			},
			{
				key: "resolve",
				value: function resolve(containers) {
					var _this2 = this;
					if (Object.values(containers).some(function(element) {
						return "section" === element.model.get("elType");
					})) this.target = elementor.getPreviewContainer();
					return containers.map(function(element) {
						switch (element.type) {
							case "container":
							case "section":
							case "column":
							case "e-div-block":
							case "widget": return _this2.target.view.createElementFromModel(element.model, Object.assign(_this2.options.target, {
								event: _this2.options.event,
								scrollIntoView: 0 === containers.indexOf(element)
							}));
						}
					});
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/components/browser-import/manager.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _createForOfIteratorHelper$3(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	__name(_createForOfIteratorHelper$3, "_createForOfIteratorHelper");
	function _unsupportedIterableToArray$3(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$3(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0;
		}
	}
	__name(_unsupportedIterableToArray$3, "_unsupportedIterableToArray");
	function _arrayLikeToArray$3(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	__name(_arrayLikeToArray$3, "_arrayLikeToArray");
	function _callSuper$179(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$179() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$179, "_callSuper");
	function _isNativeReflectConstruct$179() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$179 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$179, "_isNativeReflectConstruct");
	/**
	* @typedef {import('../../container/container')} Container
	*/
	/**
	* @typedef {import('./files/file-reader-base')} FileReaderBase
	*/
	/**
	* @typedef {import('./files/file-parser-base')} FileParserBase
	*/
	var Manager$2 = /*#__PURE__*/ function(_elementorModules$edi) {
		/**
		* Manager constructor.
		*/
		function Manager() {
			var _this;
			_classCallCheck(this, Manager);
			_this = _callSuper$179(this, Manager);
			/**
			* File-readers list.
			*
			* @type {{}}
			*/
			_defineProperty(_this, "readers", {});
			/**
			* File-parsers list according to their readers.
			*
			* @type {{}}
			*/
			_defineProperty(_this, "parsers", {});
			_this.normalizer = new Normalizer(_this);
			$e.components.register(new Component$20({ manager: _this }));
			_this.parseConfig(default_config_default);
			return _this;
		}
		/**
		* Parse the config for the Manager.
		*
		* @param {*} config
		*/
		_inherits(Manager, _elementorModules$edi);
		return _createClass(Manager, [
			{
				key: "parseConfig",
				value: function parseConfig() {
					var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					var _iterator = _createForOfIteratorHelper$3(config.readers || {});
					var _step;
					try {
						for (_iterator.s(); !(_step = _iterator.n()).done;) {
							var _reader$isActive;
							var _reader$isActive2;
							var reader = _step.value;
							if ((_reader$isActive = (_reader$isActive2 = reader.isActive) === null || _reader$isActive2 === void 0 ? void 0 : _reader$isActive2.call(reader)) !== null && _reader$isActive !== void 0 ? _reader$isActive : true) this.registerFileReader(reader);
						}
					} catch (err) {
						_iterator.e(err);
					} finally {
						_iterator.f();
					}
					var _iterator2 = _createForOfIteratorHelper$3(config.parsers || {});
					var _step2;
					try {
						for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
							var parser = _step2.value;
							this.registerFileParser(parser);
						}
					} catch (err) {
						_iterator2.e(err);
					} finally {
						_iterator2.f();
					}
				}
			},
			{
				key: "createSession",
				value: function() {
					var _createSession = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(input, target) {
						var options;
						var _args = arguments;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									options = _args.length > 2 && _args[2] !== void 0 ? _args[2] : {};
									if (input instanceof ItemCollection) {
										_context.next = 2;
										break;
									}
									_context.next = 1;
									return this.getNormalizer().normalize(input);
								case 1: input = _context.sent;
								case 2: return _context.abrupt("return", new Session(this, input, target, options));
								case 3:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function createSession(_x, _x2) {
						return _createSession.apply(this, arguments);
					}
					return createSession;
				}()
			},
			{
				key: "registerFileReader",
				value: function registerFileReader(reader) {
					this.readers[reader.getName()] = reader;
				}
			},
			{
				key: "registerFileParser",
				value: function registerFileParser(parser) {
					var _iterator3 = _createForOfIteratorHelper$3(parser.getReaders());
					var _step3;
					try {
						for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
							var readerName = _step3.value;
							if (!this.readers[readerName]) continue;
							else if (!this.parsers[readerName]) this.parsers[readerName] = {};
							this.parsers[readerName][parser.getName()] = parser;
						}
					} catch (err) {
						_iterator3.e(err);
					} finally {
						_iterator3.f();
					}
				}
			},
			{
				key: "getReaderOf",
				value: function() {
					var _getReaderOf = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2(item) {
						var instantiate;
						var file;
						var readerName;
						var readers;
						var _i;
						var _Object$values;
						var reader;
						var _args2 = arguments;
						return import_regenerator$16.default.wrap(function(_context2) {
							while (1) switch (_context2.prev = _context2.next) {
								case 0:
									instantiate = _args2.length > 1 && _args2[1] !== void 0 ? _args2[1] : false;
									file = item.getFile(), readerName = item.getReader(), readers = this.getReaders(readerName);
									_i = 0, _Object$values = Object.values(readers);
								case 1:
									if (!(_i < _Object$values.length)) {
										_context2.next = 4;
										break;
									}
									reader = _Object$values[_i];
									_context2.next = 2;
									return reader.validate(file);
								case 2:
									if (!_context2.sent) {
										_context2.next = 3;
										break;
									}
									if (!readerName) item.setReader(reader.getName());
									return _context2.abrupt("return", instantiate ? new reader(file) : reader);
								case 3:
									_i++;
									_context2.next = 1;
									break;
								case 4: return _context2.abrupt("return", false);
								case 5:
								case "end": return _context2.stop();
							}
						}, _callee2, this);
					}));
					function getReaderOf(_x3) {
						return _getReaderOf.apply(this, arguments);
					}
					return getReaderOf;
				}()
			},
			{
				key: "getParserOf",
				value: function() {
					var _getParserOf = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee3(item) {
						var instantiate;
						var reader;
						var parserName;
						var parsers;
						var _i2;
						var _Object$values2;
						var parser;
						var _args3 = arguments;
						return import_regenerator$16.default.wrap(function(_context3) {
							while (1) switch (_context3.prev = _context3.next) {
								case 0:
									instantiate = _args3.length > 1 && _args3[1] !== void 0 ? _args3[1] : false;
									_context3.next = 1;
									return this.getReaderOf(item, true);
								case 1:
									reader = _context3.sent;
									parserName = item.getParser();
									if (!reader) {
										_context3.next = 5;
										break;
									}
									parsers = this.getParsers(reader.constructor.getName(), parserName);
									_i2 = 0, _Object$values2 = Object.values(parsers);
								case 2:
									if (!(_i2 < _Object$values2.length)) {
										_context3.next = 5;
										break;
									}
									parser = _Object$values2[_i2];
									_context3.next = 3;
									return parser.validate(reader);
								case 3:
									if (!_context3.sent) {
										_context3.next = 4;
										break;
									}
									if (!parserName) item.setParser(parser.getName());
									return _context3.abrupt("return", instantiate ? new parser(reader) : parser);
								case 4:
									_i2++;
									_context3.next = 2;
									break;
								case 5: return _context3.abrupt("return", false);
								case 6:
								case "end": return _context3.stop();
							}
						}, _callee3, this);
					}));
					function getParserOf(_x4) {
						return _getParserOf.apply(this, arguments);
					}
					return getParserOf;
				}()
			},
			{
				key: "getMimeTypeOf",
				value: function() {
					var _getMimeTypeOf = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee4(input) {
						var _i3;
						var _Object$values3;
						var reader;
						var mimeType;
						return import_regenerator$16.default.wrap(function(_context4) {
							while (1) switch (_context4.prev = _context4.next) {
								case 0: _i3 = 0, _Object$values3 = Object.values(this.getReaders());
								case 1:
									if (!(_i3 < _Object$values3.length)) {
										_context4.next = 4;
										break;
									}
									reader = _Object$values3[_i3];
									_context4.next = 2;
									return reader.resolve(input);
								case 2:
									mimeType = _context4.sent;
									if (!mimeType) {
										_context4.next = 3;
										break;
									}
									return _context4.abrupt("return", mimeType);
								case 3:
									_i3++;
									_context4.next = 1;
									break;
								case 4: return _context4.abrupt("return", false);
								case 5:
								case "end": return _context4.stop();
							}
						}, _callee4, this);
					}));
					function getMimeTypeOf(_x5) {
						return _getMimeTypeOf.apply(this, arguments);
					}
					return getMimeTypeOf;
				}()
			},
			{
				key: "getNormalizer",
				value: function getNormalizer() {
					return this.normalizer;
				}
			},
			{
				key: "getReaders",
				value: function getReaders() {
					var _this2 = this;
					var readers = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
					readers = Array.isArray(readers) ? readers : [readers];
					if (!readers.length) return this.readers;
					return Object.fromEntries(readers.filter(function(reader) {
						return reader in _this2.readers;
					}).map(function(reader) {
						return [reader, _this2.readers[reader]];
					}));
				}
			},
			{
				key: "getParsers",
				value: function getParsers(reader) {
					var _this3 = this;
					var parsers = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
					parsers = Array.isArray(parsers) ? parsers : [parsers];
					if (!parsers.length) return this.parsers[reader] || {};
					return Object.fromEntries(parsers.filter(function(parser) {
						return parser in _this3.parsers[reader];
					}).map(function(parser) {
						return [parser, _this3.parsers[reader][parser]];
					}));
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region assets/dev/js/editor/components/preview/commands/drop.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$178(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$178() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$178, "_callSuper");
	function _isNativeReflectConstruct$178() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$178 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$178, "_isNativeReflectConstruct");
	var Drop = /*#__PURE__*/ function(_$e$modules$editor$Co) {
		function Drop() {
			_classCallCheck(this, Drop);
			return _callSuper$178(this, Drop, arguments);
		}
		_inherits(Drop, _$e$modules$editor$Co);
		return _createClass(Drop, [{
			key: "validateArgs",
			value: function validateArgs() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				this.requireContainer(args);
				this.requireArgumentType("model", "object", args);
			}
		}, {
			key: "apply",
			value: function apply() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				var _args$containers = args.containers;
				var containers = _args$containers === void 0 ? [args.container] : _args$containers;
				var _args$options = args.options;
				var options = _args$options === void 0 ? {} : _args$options;
				var result = [];
				containers.forEach(function(container) {
					result.push(container.view.createElementFromModel(args.model, options));
				});
				if (1 === containers.length) return result[0];
				return result;
			}
		}]);
	}($e.modules.editor.CommandContainerBase);

//#endregion
//#region assets/dev/js/editor/components/preview/commands/reload.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$177(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$177() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$177, "_callSuper");
	function _isNativeReflectConstruct$177() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$177 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$177, "_isNativeReflectConstruct");
	var Reload = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Reload() {
			_classCallCheck(this, Reload);
			return _callSuper$177(this, Reload, arguments);
		}
		_inherits(Reload, _$e$modules$CommandBa);
		return _createClass(Reload, [{
			key: "apply",
			value: function apply() {
				elementor.reloadPreview();
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/components/preview/commands/index.js
	var commands_exports$14 = /* @__PURE__ */ __exportAll({
		Drop: () => Drop,
		Reload: () => Reload
	});

//#endregion
//#region assets/dev/js/editor/components/preview/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$176(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$176() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$176, "_callSuper");
	function _isNativeReflectConstruct$176() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$176 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$176, "_isNativeReflectConstruct");
	var Component$19 = /*#__PURE__*/ function(_$e$modules$Component) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$176(this, Component, arguments);
		}
		_inherits(Component, _$e$modules$Component);
		return _createClass(Component, [{
			key: "getNamespace",
			value: function getNamespace() {
				return "preview";
			}
		}, {
			key: "defaultCommands",
			value: function defaultCommands() {
				return this.importCommands(commands_exports$14);
			}
		}]);
	}($e.modules.ComponentBase);

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/menu/views/item.js
	var require_item = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-panel-menu-item",
			tagName: "button",
			className: function className() {
				return "elementor-panel-menu-item elementor-panel-menu-item-" + this.model.get("name");
			},
			triggers: { click: {
				event: "click",
				preventDefault: false
			} }
		});
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/menu/views/group.js
	var require_group = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelMenuItemView = require_item();
		module.exports = Marionette.CompositeView.extend({
			template: "#tmpl-elementor-panel-menu-group",
			className: "elementor-panel-menu-group",
			childView: PanelMenuItemView,
			childViewContainer: ".elementor-panel-menu-items",
			initialize: function initialize() {
				this.collection = new Backbone.Collection(this.model.get("items"));
			},
			onChildviewClick: function onChildviewClick(childView) {
				var callback = childView.model.get("callback");
				if (_.isFunction(callback)) callback.call(childView);
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/menu/base.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	var import_group = /* @__PURE__ */ __toESM(require_group());
	function _callSuper$175(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$175() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$175, "_callSuper");
	function _isNativeReflectConstruct$175() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$175 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$175, "_isNativeReflectConstruct");
	var MenuPageView = /*#__PURE__*/ function(_Marionette$Composite) {
		function MenuPageView() {
			_classCallCheck(this, MenuPageView);
			return _callSuper$175(this, MenuPageView, arguments);
		}
		_inherits(MenuPageView, _Marionette$Composite);
		return _createClass(MenuPageView, [
			{
				key: "id",
				value: function id() {
					return "elementor-panel-page-menu";
				}
			},
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-panel-menu";
				}
			},
			{
				key: "getChildView",
				value: function getChildView() {
					return import_group.default;
				}
			},
			{
				key: "childViewContainer",
				value: function childViewContainer() {
					return "#elementor-panel-page-menu-content";
				}
			},
			{
				key: "filter",
				value: function filter(child) {
					return child.get("items").length;
				}
			}
		]);
	}(Marionette.CompositeView);
	MenuPageView.addItem = function(groups, itemData, groupName, before) {
		var group = groups.findWhere({ name: groupName });
		if (!group) return;
		var items = group.get("items");
		var exists = _.findWhere(items, { name: itemData.name });
		var beforeItem;
		if (exists) items.splice(items.indexOf(exists), 1);
		if (before) beforeItem = _.findWhere(items, { name: before });
		if (beforeItem) items.splice(items.indexOf(beforeItem), 0, itemData);
		else items.push(itemData);
	};

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/menu/menu.js
	init_slicedToArray();
	init_asyncToGenerator();
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function ownKeys$11(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$11, "ownKeys");
	function _objectSpread$11(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$11(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$11(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$11, "_objectSpread");
	function _callSuper$174(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$174() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$174, "_callSuper");
	function _isNativeReflectConstruct$174() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$174 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$174, "_isNativeReflectConstruct");
	var PanelMenu$1 = /*#__PURE__*/ function(_MenuPageView) {
		function PanelMenu() {
			_classCallCheck(this, PanelMenu);
			return _callSuper$174(this, PanelMenu, arguments);
		}
		_inherits(PanelMenu, _MenuPageView);
		return _createClass(PanelMenu, [
			{
				key: "initialize",
				value: function initialize() {
					this.collection = PanelMenu.getGroups();
				}
			},
			{
				key: "getArrowClass",
				value: function getArrowClass() {
					return "eicon-chevron-" + (elementorCommon.config.isRTL ? "right" : "left");
				}
			},
			{
				key: "onRender",
				value: function onRender() {
					elementor.getPanelView().getHeaderView().ui.menuIcon.removeClass("eicon-menu-bar").addClass(this.getArrowClass());
				}
			},
			{
				key: "onDestroy",
				value: function onDestroy() {
					elementor.getPanelView().getHeaderView().ui.menuIcon.removeClass(this.getArrowClass()).addClass("eicon-menu-bar");
				}
			}
		]);
	}(MenuPageView);
	PanelMenu$1.groups = null;
	PanelMenu$1.initGroups = function() {
		PanelMenu$1.groups = new Backbone.Collection([]);
		PanelMenu$1.groups.add({
			name: "more",
			title: (0, _wordpress_i18n.__)("More", "elementor"),
			items: []
		});
		PanelMenu$1.groups.add({
			name: "navigate_from_page",
			title: (0, _wordpress_i18n.__)("Navigate From Page", "elementor"),
			items: [{
				name: "view-page",
				icon: "eicon-preview-thin",
				title: (0, _wordpress_i18n.__)("View Page", "elementor"),
				type: "link",
				link: elementor.config.document.urls.permalink
			}]
		});
		if (elementor.config.user.is_administrator) PanelMenu$1.addAdminMenu();
		PanelMenu$1.addExitItem();
	};
	PanelMenu$1.addAdminMenu = function() {
		PanelMenu$1.groups.add({
			name: "style",
			title: (0, _wordpress_i18n.__)("Settings", "elementor"),
			items: [{
				name: "editor-preferences",
				icon: "eicon-user-preferences",
				title: (0, _wordpress_i18n.__)("User Preferences", "elementor"),
				type: "page",
				callback: function callback() {
					return $e.route("panel/editor-preferences");
				}
			}]
		}, { at: 0 });
		PanelMenu$1.addItem({
			name: "finder",
			icon: "eicon-search",
			title: (0, _wordpress_i18n.__)("Finder", "elementor"),
			callback: function callback() {
				return $e.route("finder");
			}
		}, "navigate_from_page", "view-page");
		PanelMenu$1.addItem({
			name: "apps",
			icon: "eicon-apps",
			title: (0, _wordpress_i18n.__)("Add-ons", "elementor"),
			type: "link",
			link: elementor.config.admin_apps_url,
			newTab: true
		}, "navigate_from_page", "finder");
	};
	PanelMenu$1.addExitItem = function() {
		var itemArgs;
		if (!elementor.config.user.introduction.exit_to && elementor.config.user.is_administrator) {
			PanelMenu$1.exitShouldRedirect = false;
			itemArgs = { callback: function callback() {
				return PanelMenu$1.clickExitItem();
			} };
		} else itemArgs = {
			type: "link",
			link: PanelMenu$1.getExitUrl()
		};
		PanelMenu$1.addItem(_objectSpread$11({
			name: "exit",
			icon: "eicon-exit",
			title: (0, _wordpress_i18n.__)("Exit", "elementor")
		}, itemArgs), "navigate_from_page");
	};
	PanelMenu$1.clickExitItem = function() {
		if (elementor.getPreferences("exit_to") !== elementor.settings.editorPreferences.getEditedView().getContainer().controls.exit_to.default || PanelMenu$1.exitShouldRedirect) window.location.href = PanelMenu$1.getExitUrl();
		else PanelMenu$1.createExitIntroductionDialog().show();
	};
	PanelMenu$1.createExitIntroductionDialog = function() {
		var template = document.querySelector("#tmpl-elementor-exit-dialog");
		var options = elementor.settings.editorPreferences.getEditedView().getContainer().controls.exit_to.options;
		var introduction = new elementorModules.editor.utils.Introduction({
			introductionKey: "exit_to",
			dialogType: "confirm",
			dialogOptions: {
				id: "elementor-change-exit-preference-dialog",
				className: "dialog-exit-preferences",
				headerMessage: (0, _wordpress_i18n.__)("New options for \"Exit to...\"", "elementor"),
				message: template.innerHTML,
				position: {
					my: "center center",
					at: "center center"
				},
				strings: {
					confirm: (0, _wordpress_i18n.__)("Apply", "elementor"),
					cancel: (0, _wordpress_i18n.__)("Decide Later", "elementor")
				},
				effects: {
					show: "fadeIn",
					hide: "fadeOut"
				},
				onShow: function onShow() {
					introduction.setViewed();
					elementor.config.user.introduction.exit_to = true;
					PanelMenu$1.exitShouldRedirect = true;
				},
				onConfirm: function() {
					var _onConfirm = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									$e.run("document/elements/settings", {
										container: elementor.settings.editorPreferences.getEditedView().getContainer(),
										settings: { exit_to: select.value },
										options: { external: true }
									});
									_context.next = 1;
									return elementor.settings.editorPreferences.save();
								case 1: window.location.href = PanelMenu$1.getExitUrl();
								case 2:
								case "end": return _context.stop();
							}
						}, _callee);
					}));
					function onConfirm() {
						return _onConfirm.apply(this, arguments);
					}
					return onConfirm;
				}(),
				onCancel: function onCancel() {
					window.location.href = PanelMenu$1.getExitUrl();
				}
			}
		});
		var messageContainer = introduction.getDialog().getElements().message[0];
		var select = messageContainer.querySelector("#exit-to-preferences");
		var link = messageContainer.querySelector("#user-preferences");
		for (var _i = 0, _Object$entries = Object.entries(options); _i < _Object$entries.length; _i++) {
			var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2);
			var key = _Object$entries$_i[0];
			var value = _Object$entries$_i[1];
			var option = document.createElement("option");
			option.innerText = value;
			option.value = key;
			select.appendChild(option);
		}
		link.addEventListener("click", function(e) {
			e.preventDefault();
			introduction.getDialog().hide();
			$e.route("panel/editor-preferences");
			PanelMenu$1.addExitItem();
		});
		return introduction;
	};
	/**
	* Get the exit url according to the 'exit_to' user preference.
	*/
	PanelMenu$1.getExitUrl = function() {
		switch (elementor.getPreferences("exit_to")) {
			case "dashboard": return elementor.config.document.urls.main_dashboard;
			case "all_posts": return elementor.config.document.urls.all_post_type;
			default: return elementor.config.document.urls.exit_to_dashboard;
		}
	};
	PanelMenu$1.getGroups = function() {
		if (!PanelMenu$1.groups) PanelMenu$1.initGroups();
		return PanelMenu$1.groups;
	};
	PanelMenu$1.addItem = function(itemData, groupName, before) {
		MenuPageView.addItem(PanelMenu$1.getGroups(), itemData, groupName, before);
	};

//#endregion
//#region assets/dev/js/editor/utils/promotion.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function ownKeys$10(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$10, "ownKeys");
	function _objectSpread$10(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$10(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$10(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$10, "_objectSpread");
	function _callSuper$173(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$173() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$173, "_callSuper");
	function _isNativeReflectConstruct$173() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$173 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$173, "_isNativeReflectConstruct");
	var _default$12 = /*#__PURE__*/ function(_elementorModules$Mod) {
		function _default() {
			var _this;
			_classCallCheck(this, _default);
			_this = _callSuper$173(this, _default);
			_defineProperty(_this, "defaultOptions", {
				title: "",
				content: "",
				targetElement: null,
				position: {
					blockStart: null,
					inlineStart: null
				},
				actionButton: {
					url: null,
					text: null,
					classes: ["elementor-button", "e-accent"]
				},
				hideProTag: false
			});
			_defineProperty(_this, "elements", {
				$title: null,
				$titleBadge: null,
				$closeButton: null,
				$header: null
			});
			_this.initDialog();
			return _this;
		}
		_inherits(_default, _elementorModules$Mod);
		return _createClass(_default, [
			{
				key: "initDialog",
				value: function initDialog() {
					var _this2 = this;
					this.dialog = elementor.dialogsManager.createWidget("buttons", {
						id: "elementor-element--promotion__dialog",
						effects: {
							show: "show",
							hide: "hide"
						},
						hide: { onOutsideClick: false },
						position: { my: (elementorCommon.config.isRTL ? "right" : "left") + "+5 top" },
						onHide: function onHide() {
							if (_this2.hideProTag) _this2.resetProTag();
						}
					});
					this.elements.$header = this.dialog.getElements("header");
					this.elements.$title = jQuery("<div>", { id: "elementor-element--promotion__dialog__title" });
					this.elements.$titleBadge = jQuery("<i>", { class: "eicon-pro-icon" });
					this.elements.$closeButton = jQuery("<i>", { class: "eicon-close" });
					this.elements.$closeButton.on("click", function() {
						return _this2.dialog.hide();
					});
					this.elements.$header.append(this.elements.$title, this.elements.$titleBadge, this.elements.$closeButton);
				}
			},
			{
				key: "getElements",
				value: function getElements() {
					return this.elements;
				}
			},
			{
				key: "updateElements",
				value: function updateElements(elements) {
					this.elements = elements;
				}
			},
			{
				key: "hideProTag",
				value: function hideProTag() {
					var elements = this.getElements();
					elements.$titleBadge.css("display", "none");
					if (!elements.$freeBadgeContainer) {
						elements.$freeBadgeContainer = jQuery("<div>", { class: "e-free-badge-container" });
						elements.$freeBadge = jQuery("<span>", { class: "e-free-badge" });
						elements.$freeBadge.text("Free");
						elements.$freeBadgeContainer.append(elements.$freeBadge);
						elements.$titleBadge.after(elements.$freeBadgeContainer);
						this.updateElements(elements);
					}
					var $actionButton = this.dialog.getElements("action");
					$actionButton.removeClass("go-pro");
					$actionButton.css("background-color", "var(--e-a-btn-bg-info)");
				}
			},
			{
				key: "resetProTag",
				value: function resetProTag() {
					var _elements$$freeBadgeC;
					var elements = this.getElements();
					elements.$titleBadge.css("display", "inline-block");
					if ((_elements$$freeBadgeC = elements.$freeBadgeContainer) !== null && _elements$$freeBadgeC !== void 0 && _elements$$freeBadgeC.remove) elements.$freeBadgeContainer.remove();
					elements.$freeBadgeContainer = null;
					elements.$freeBadge = null;
					this.updateElements(elements);
					this.dialog.getElements("action").addClass("go-pro");
				}
			},
			{
				key: "createButton",
				value: function createButton(options) {
					var $actionButton = this.dialog.getElements("action");
					if ($actionButton) $actionButton.remove();
					this.dialog.addButton({
						name: "action",
						text: options.text,
						classes: options.classes.join(" "),
						callback: function callback() {
							return open(options.url, "_blank");
						}
					});
				}
			},
			{
				key: "parseOptions",
				value: function parseOptions() {
					var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					return _objectSpread$10(_objectSpread$10(_objectSpread$10({}, this.defaultOptions), options), {}, {
						position: _objectSpread$10(_objectSpread$10({}, this.defaultOptions.position), (options === null || options === void 0 ? void 0 : options.position) || {}),
						actionButton: _objectSpread$10(_objectSpread$10({}, this.defaultOptions.actionButton), (options === null || options === void 0 ? void 0 : options.actionButton) || {})
					});
				}
			},
			{
				key: "showDialog",
				value: function showDialog() {
					var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					if (!this.dialog) this.initDialog();
					options = this.parseOptions(options);
					this.createButton(options.actionButton);
					this.elements.$title.text(options.title);
					var inlineStartKey = elementorCommon.config.isRTL ? "left" : "right";
					this.dialog.setMessage(options.content).setSettings("position", {
						of: options.targetElement,
						at: "".concat(inlineStartKey).concat(options.position.inlineStart || "", " top").concat(options.position.blockStart || "")
					});
					if (options.hideProTag) this.hideProTag();
					else this.resetProTag();
					return this.dialog.show();
				}
			}
		]);
	}(elementorModules.Module);

//#endregion
//#region core/kits/assets/js/hooks/data/globals/base-globals-update.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$172(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$172() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$172, "_callSuper");
	function _isNativeReflectConstruct$172() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$172 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$172, "_isNativeReflectConstruct");
	var BaseGlobalsUpdate = /*#__PURE__*/ function(_$e$modules$hookData$) {
		function BaseGlobalsUpdate() {
			_classCallCheck(this, BaseGlobalsUpdate);
			return _callSuper$172(this, BaseGlobalsUpdate, arguments);
		}
		_inherits(BaseGlobalsUpdate, _$e$modules$hookData$);
		return _createClass(BaseGlobalsUpdate, [
			{
				key: "getContainerType",
				value: function getContainerType() {
					return "document";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return $e.routes.isPartOf("panel/global");
				}
			},
			{
				key: "getRepeaterName",
				value: function getRepeaterName() {
					elementorModules.ForceMethodImplementation();
				}
			},
			{
				key: "applyModel",
				value: function applyModel(model, id, value) {
					elementorModules.ForceMethodImplementation();
				}
			},
			{
				key: "apply",
				value: function apply(args, result) {
					var _this = this;
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var model = Object.assign({}, result.data);
					var id = model.id;
					var value = model.value;
					delete model.id;
					delete model.value;
					model._id = id;
					this.applyModel(model, value);
					containers.forEach(function(container) {
						$e.run("document/repeater/insert", {
							container,
							model,
							name: _this.getRepeaterName()
						});
					});
				}
			}
		]);
	}($e.modules.hookData.After);

//#endregion
//#region core/kits/assets/js/hooks/data/globals/colors/globals-update-colors.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$171(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$171() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$171, "_callSuper");
	function _isNativeReflectConstruct$171() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$171 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$171, "_isNativeReflectConstruct");
	var KitGlobalsUpdateColors = /*#__PURE__*/ function(_BaseGlobalsUpdate) {
		function KitGlobalsUpdateColors() {
			_classCallCheck(this, KitGlobalsUpdateColors);
			return _callSuper$171(this, KitGlobalsUpdateColors, arguments);
		}
		_inherits(KitGlobalsUpdateColors, _BaseGlobalsUpdate);
		return _createClass(KitGlobalsUpdateColors, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "globals/colors/create";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "globals-update-colors-/globals/colors/create";
				}
			},
			{
				key: "getRepeaterName",
				value: function getRepeaterName() {
					return "custom_colors";
				}
			},
			{
				key: "applyModel",
				value: function applyModel(model, value) {
					model.color = value;
				}
			}
		]);
	}(BaseGlobalsUpdate);

//#endregion
//#region core/kits/assets/js/hooks/data/globals/typography/globals-update-typography.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$170(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$170() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$170, "_callSuper");
	function _isNativeReflectConstruct$170() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$170 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$170, "_isNativeReflectConstruct");
	var KitGlobalsUpdateTypography = /*#__PURE__*/ function(_BaseGlobalsUpdate) {
		function KitGlobalsUpdateTypography() {
			_classCallCheck(this, KitGlobalsUpdateTypography);
			return _callSuper$170(this, KitGlobalsUpdateTypography, arguments);
		}
		_inherits(KitGlobalsUpdateTypography, _BaseGlobalsUpdate);
		return _createClass(KitGlobalsUpdateTypography, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "globals/typography/create";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "globals-update-typography-/globals/typography/create";
				}
			},
			{
				key: "getRepeaterName",
				value: function getRepeaterName() {
					return "custom_typography";
				}
			},
			{
				key: "applyModel",
				value: function applyModel(model, value) {
					Object.assign(model, value);
				}
			}
		]);
	}(BaseGlobalsUpdate);

//#endregion
//#region core/kits/assets/js/hooks/ui/document/save/save/delete-globals-cache.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_after$1();
	function _callSuper$169(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$169() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$169, "_callSuper");
	function _isNativeReflectConstruct$169() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$169 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$169, "_isNativeReflectConstruct");
	var KitDeleteGlobalsCache = /*#__PURE__*/ function(_After) {
		function KitDeleteGlobalsCache() {
			_classCallCheck(this, KitDeleteGlobalsCache);
			return _callSuper$169(this, KitDeleteGlobalsCache, arguments);
		}
		_inherits(KitDeleteGlobalsCache, _After);
		return _createClass(KitDeleteGlobalsCache, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/save/save";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					var status = args.status;
					var _args$document = args.document;
					var document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
					return "publish" === status && "kit" === document.config.type;
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "document/save/save::update-globals-cache";
				}
			},
			{
				key: "apply",
				value: function apply() {
					$e.components.get("globals").refreshGlobalData();
				}
			}
		]);
	}(After$1);

//#endregion
//#region core/kits/assets/js/hooks/ui/document/save/save/after.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_after$1();
	function _callSuper$168(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$168() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$168, "_callSuper");
	function _isNativeReflectConstruct$168() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$168 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$168, "_isNativeReflectConstruct");
	var KitAfterSave = /*#__PURE__*/ function(_After) {
		function KitAfterSave() {
			_classCallCheck(this, KitAfterSave);
			return _callSuper$168(this, KitAfterSave, arguments);
		}
		_inherits(KitAfterSave, _After);
		return _createClass(KitAfterSave, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/save/save";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					var status = args.status;
					var _args$document = args.document;
					var document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
					return "publish" === status && "kit" === document.config.type;
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-footer-saver-after-save";
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					this.trackSiteSettingsSave();
					this.clearDocumentCache();
					this.clearDynamicTagsCache();
					if ("publish" === args.status) elementor.notifications.showToast({
						message: (0, _wordpress_i18n.__)("Your changes have been updated.", "elementor"),
						buttons: [{
							name: "back_to_editor",
							text: (0, _wordpress_i18n.__)("Back to Editor", "elementor"),
							callback: function callback() {
								$e.run("panel/global/close");
							}
						}]
					});
					if (elementor.activeBreakpointsUpdated) elementorCommon.dialogsManager.createWidget("alert", {
						id: "elementor-save-kit-refresh-page",
						headerMessage: (0, _wordpress_i18n.__)("Reload Elementor Editor", "elementor"),
						message: (0, _wordpress_i18n.__)("You have made modifications to the list of Active Breakpoints. For these changes to take effect, you need to reload Elementor Editor.", "elementor"),
						position: {
							my: "center center",
							at: "center center"
						},
						strings: { confirm: (0, _wordpress_i18n.__)("Reload Now", "elementor") },
						onConfirm: function onConfirm() {
							return location.reload();
						}
					}).show();
				}
			},
			{
				key: "trackSiteSettingsSave",
				value: function trackSiteSettingsSave() {
					var globalComponent = $e.components.get("panel/global");
					if (!globalComponent) return;
					var currentTab = globalComponent.currentTab;
					var activeSection = null;
					try {
						var _panelView$getCurrent;
						var _currentPage$content;
						var panelView = elementor.getPanelView();
						var currentPage = panelView === null || panelView === void 0 || (_panelView$getCurrent = panelView.getCurrentPageView) === null || _panelView$getCurrent === void 0 ? void 0 : _panelView$getCurrent.call(panelView);
						var contentView = currentPage === null || currentPage === void 0 || (_currentPage$content = currentPage.content) === null || _currentPage$content === void 0 ? void 0 : _currentPage$content.currentView;
						activeSection = (contentView === null || contentView === void 0 ? void 0 : contentView.activeSection) || null;
					} catch (e) {}
					var savedItem = activeSection ? "".concat(currentTab, " - ").concat(activeSection) : currentTab;
					if (savedItem) globalComponent.trackSavedItem(savedItem);
					globalComponent.siteSettingsSession.hasSaved = true;
				}
			},
			{
				key: "clearDocumentCache",
				value: function clearDocumentCache() {
					Object.keys(elementor.documents.documents).forEach(function(id) {
						elementor.documents.invalidateCache(id);
					});
				}
			},
			{
				key: "clearDynamicTagsCache",
				value: function clearDynamicTagsCache() {
					elementor.dynamicTags.cleanCache();
					elementor.dynamicTags.loadCacheRequests();
				}
			}
		]);
	}(After$1);

//#endregion
//#region core/kits/assets/js/hooks/ui/document/elements/settings/update-breakpoints-preview.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$167(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$167() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$167, "_callSuper");
	function _isNativeReflectConstruct$167() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$167 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$167, "_isNativeReflectConstruct");
	var KitUpdateBreakpointsPreview = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function KitUpdateBreakpointsPreview() {
			_classCallCheck(this, KitUpdateBreakpointsPreview);
			return _callSuper$167(this, KitUpdateBreakpointsPreview, arguments);
		}
		_inherits(KitUpdateBreakpointsPreview, _$e$modules$hookUI$Af);
		return _createClass(KitUpdateBreakpointsPreview, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/elements/settings";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-update-breakpoints-preview";
				}
			},
			{
				key: "getContainerType",
				value: function getContainerType() {
					return "document";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return "kit" === elementor.documents.getCurrent().config.type;
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var settings = args.settings;
					if (settings.active_breakpoints) {
						elementor.documents.currentDocument.config.settings.settings.active_breakpoints = settings.active_breakpoints;
						elementor.activeBreakpointsUpdated = true;
						return;
					}
					Object.entries(settings).forEach(function(_ref) {
						var _ref2 = _slicedToArray(_ref, 2);
						var key = _ref2[0];
						var value = _ref2[1];
						if (key.startsWith("viewport_")) {
							var keyWithoutPrefix = key.replace("viewport_", "");
							if (!value) value = elementorFrontend.config.responsive.breakpoints[keyWithoutPrefix].default_value;
							elementorFrontend.config.responsive.breakpoints[keyWithoutPrefix].value = value;
						}
					});
					elementor.updatePreviewResizeOptions(true);
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region core/kits/assets/js/hooks/ui/document/elements/settings/update-lightbox-preview.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$166(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$166() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$166, "_callSuper");
	function _isNativeReflectConstruct$166() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$166 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$166, "_isNativeReflectConstruct");
	/**
	* On change kit lightbox settings - update the lightbox preview config.
	*/
	var KitUpdateLightboxPreview = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function KitUpdateLightboxPreview() {
			_classCallCheck(this, KitUpdateLightboxPreview);
			return _callSuper$166(this, KitUpdateLightboxPreview, arguments);
		}
		_inherits(KitUpdateLightboxPreview, _$e$modules$hookUI$Af);
		return _createClass(KitUpdateLightboxPreview, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/elements/settings";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-update-lightbox-preview";
				}
			},
			{
				key: "getContainerType",
				value: function getContainerType() {
					return "document";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return "kit" === elementor.documents.getCurrent().config.type;
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var settings = args.settings;
					Object.entries(settings).forEach(function(_ref) {
						var _ref2 = _slicedToArray(_ref, 2);
						var key = _ref2[0];
						var value = _ref2[1];
						if (-1 !== key.indexOf("lightbox")) elementorFrontend.config.kit[key] = value;
					});
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region core/kits/assets/js/hooks/ui/document/elements/settings/update-stretch-container.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$165(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$165() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$165, "_callSuper");
	function _isNativeReflectConstruct$165() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$165 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$165, "_isNativeReflectConstruct");
	/**
	* On change kit stretch container settings - update the preview stretched sections.
	*/
	var KitUpdateStretchContainer = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function KitUpdateStretchContainer() {
			_classCallCheck(this, KitUpdateStretchContainer);
			return _callSuper$165(this, KitUpdateStretchContainer, arguments);
		}
		_inherits(KitUpdateStretchContainer, _$e$modules$hookUI$Af);
		return _createClass(KitUpdateStretchContainer, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/elements/settings";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-update-stretch-container";
				}
			},
			{
				key: "getContainerType",
				value: function getContainerType() {
					return "document";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return "kit" === elementor.documents.getCurrent().config.type;
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var settings = args.settings;
					Object.entries(settings).forEach(function(_ref) {
						var _ref2 = _slicedToArray(_ref, 2);
						var key = _ref2[0];
						var value = _ref2[1];
						if ("stretched_section_container" === key) {
							elementorFrontend.config.kit[key] = value;
							elementor.channels.editor.trigger("kit:change:stretchContainer");
						}
					});
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region core/kits/assets/js/hooks/ui/panel/global/base/base-open-close.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$164(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$164() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$164, "_callSuper");
	function _isNativeReflectConstruct$164() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$164 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$164, "_isNativeReflectConstruct");
	var BaseOpenClose = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function BaseOpenClose() {
			_classCallCheck(this, BaseOpenClose);
			return _callSuper$164(this, BaseOpenClose, arguments);
		}
		_inherits(BaseOpenClose, _$e$modules$hookUI$Af);
		return _createClass(BaseOpenClose, [{
			key: "initialize",
			value: function initialize() {
				var _this = this;
				elementor.on("preview:loaded", function() {
					_this.component = $e.components.get("panel/global");
				});
			}
		}]);
	}($e.modules.hookUI.After);

//#endregion
//#region core/kits/assets/js/hooks/ui/panel/global/open/save-route-history.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$163(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$163() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$163, "_callSuper");
	function _isNativeReflectConstruct$163() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$163 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$163, "_isNativeReflectConstruct");
	var KitSaveRouteHistory = /*#__PURE__*/ function(_BaseOpenClose) {
		function KitSaveRouteHistory() {
			_classCallCheck(this, KitSaveRouteHistory);
			return _callSuper$163(this, KitSaveRouteHistory, arguments);
		}
		_inherits(KitSaveRouteHistory, _BaseOpenClose);
		return _createClass(KitSaveRouteHistory, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "panel/global/open";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "save-route-history--/panel/global/open";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return !!args.route;
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					this.component.routeHistory = args;
				}
			}
		]);
	}(BaseOpenClose);

//#endregion
//#region core/kits/assets/js/hooks/ui/editor/documents/open/remove-editor-active-css.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$162(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$162() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$162, "_callSuper");
	function _isNativeReflectConstruct$162() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$162 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$162, "_isNativeReflectConstruct");
	var KitRemoveEditorActiveCSSDocumentsOpen = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function KitRemoveEditorActiveCSSDocumentsOpen() {
			_classCallCheck(this, KitRemoveEditorActiveCSSDocumentsOpen);
			return _callSuper$162(this, KitRemoveEditorActiveCSSDocumentsOpen, arguments);
		}
		_inherits(KitRemoveEditorActiveCSSDocumentsOpen, _$e$modules$hookUI$Af);
		return _createClass(KitRemoveEditorActiveCSSDocumentsOpen, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/open";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-remove-editor-active-css--editor/documents/open";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return "kit" === elementor.documents.getCurrent().config.type;
				}
			},
			{
				key: "apply",
				value: function apply() {
					setTimeout(function() {
						elementorFrontend.elements.$body.removeClass("elementor-editor-active");
					});
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region core/kits/assets/js/hooks/ui/panel/open/remove-editor-active-css.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$161(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$161() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$161, "_callSuper");
	function _isNativeReflectConstruct$161() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$161 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$161, "_isNativeReflectConstruct");
	var KitRemoveEditorActiveCSSPanelOpen = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function KitRemoveEditorActiveCSSPanelOpen() {
			_classCallCheck(this, KitRemoveEditorActiveCSSPanelOpen);
			return _callSuper$161(this, KitRemoveEditorActiveCSSPanelOpen, arguments);
		}
		_inherits(KitRemoveEditorActiveCSSPanelOpen, _$e$modules$hookUI$Af);
		return _createClass(KitRemoveEditorActiveCSSPanelOpen, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "panel/open";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-remove-editor-active-css--/panel/open";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return "kit" === elementor.documents.getCurrent().config.type;
				}
			},
			{
				key: "apply",
				value: function apply() {
					setTimeout(function() {
						elementorFrontend.elements.$body.removeClass("elementor-editor-active");
					});
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region core/kits/assets/js/hooks/ui/panel/global/close/back-to-route-history.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$160(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$160() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$160, "_callSuper");
	function _isNativeReflectConstruct$160() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$160 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$160, "_isNativeReflectConstruct");
	var KitBackToRouteHistory = /*#__PURE__*/ function(_BaseOpenClose) {
		function KitBackToRouteHistory() {
			_classCallCheck(this, KitBackToRouteHistory);
			return _callSuper$160(this, KitBackToRouteHistory, arguments);
		}
		_inherits(KitBackToRouteHistory, _BaseOpenClose);
		return _createClass(KitBackToRouteHistory, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "panel/global/close";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "back-to-route-history-/panel/global/close";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return this.component.routeHistory;
				}
			},
			{
				key: "apply",
				value: function apply() {
					var historyBeforeOpen = this.component.routeHistory;
					delete this.component.routeHistory;
					/**
					* TODO: Find better solution.
					* Since cache deleted after leaving globals.
					* Cover issue: When back to route, it back to style, it causes the UI ask for styles separately and since,
					* Cache deleted, it asks the remote ( $e.data ) for specific colors/typography endpoints and causes a delay in global select box.
					* To handle the the issue, request globals manually, then back to route.
					*/
					if (historyBeforeOpen.container) $e.data.get("globals/index").then(function() {
						historyBeforeOpen.container = historyBeforeOpen.container.lookup();
						historyBeforeOpen.container.model.trigger("request:edit", { scrollIntoView: true });
						$e.route(historyBeforeOpen.route, {
							model: historyBeforeOpen.container.model,
							view: historyBeforeOpen.container.view
						});
					});
				}
			}
		]);
	}(BaseOpenClose);

//#endregion
//#region core/kits/assets/js/hooks/ui/document/repeater/remove/remove-preview-deleted-variables.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$159(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$159() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$159, "_callSuper");
	function _isNativeReflectConstruct$159() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$159 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$159, "_isNativeReflectConstruct");
	/**
	* On delete a design system item - the used variables on the preview frame are
	* invalid and cause the elements to get the user-agent default style instead of
	* inherit higher CSS rules.
	*
	* The hook finds and removes all deleted item variables from the preview inline styles.
	*/
	var KitRemovePreviewDeletedVariables = /*#__PURE__*/ function(_$e$modules$hookUI$Be) {
		function KitRemovePreviewDeletedVariables() {
			var _this;
			_classCallCheck(this, KitRemovePreviewDeletedVariables);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$159(this, KitRemovePreviewDeletedVariables, [].concat(args));
			_defineProperty(_this, "controls", ["custom_colors", "custom_typography"]);
			return _this;
		}
		_inherits(KitRemovePreviewDeletedVariables, _$e$modules$hookUI$Be);
		return _createClass(KitRemovePreviewDeletedVariables, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/repeater/remove";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-remove-preview-deleted-variables";
				}
			},
			{
				key: "getContainerType",
				value: function getContainerType() {
					return "document";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return this.controls.includes(args.name) && "kit" === elementor.documents.getCurrent().config.type;
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var _this2 = this;
					this.component = $e.components.get("panel/global");
					this.component.tempStyle = this.component.tempStyle || {};
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var kitCSSId = "elementor-style-page-".concat(elementor.config.kit_id);
					containers.forEach(function(container) {
						var item = container.repeaters[args.name].children[args.index];
						Object.values(elementor.$previewContents[0].styleSheets).filter(function(stylesheet) {
							return kitCSSId !== stylesheet.ownerNode.id && stylesheet.ownerNode.innerHTML.includes(item.id);
						}).forEach(function(stylesheet) {
							_this2.component.tempStyle[item.id] = _this2.extractVariables(stylesheet.cssRules, item.id);
						});
					});
				}
			},
			{
				key: "extractVariables",
				value: function extractVariables(cssRules, id) {
					var variablesRules = {};
					Object.values(cssRules).forEach(function(rule) {
						if (!rule.style) return;
						variablesRules[rule.selectorText] = {};
						for (var i = 0; i < rule.style.length; i++) {
							var property = rule.style[i];
							var value = rule.style[property];
							if (value.includes(id)) variablesRules[rule.selectorText][property] = value;
						}
						Object.keys(variablesRules[rule.selectorText]).forEach(function(property) {
							rule.style[property] = "";
						});
					});
					return variablesRules;
				}
			}
		]);
	}($e.modules.hookUI.Before);

//#endregion
//#region core/kits/assets/js/hooks/ui/editor/documents/load/add-menu-items.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$158(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$158() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$158, "_callSuper");
	function _isNativeReflectConstruct$158() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$158 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$158, "_isNativeReflectConstruct");
	var KitAddMenuItems = /*#__PURE__*/ function(_$e$modules$hookUI$Be) {
		function KitAddMenuItems() {
			_classCallCheck(this, KitAddMenuItems);
			return _callSuper$158(this, KitAddMenuItems, arguments);
		}
		_inherits(KitAddMenuItems, _$e$modules$hookUI$Be);
		return _createClass(KitAddMenuItems, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/attach-preview";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "kit-add-menu-item";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					return "kit" === elementor.documents.getCurrent().config.type && !Object.keys($e.components.get("panel/global").getTabs()).length;
				}
			},
			{
				key: "apply",
				value: function apply() {
					var document = elementor.documents.getCurrent();
					Object.entries(document.config.tabs).forEach(function(_ref) {
						var _ref2 = _slicedToArray(_ref, 2);
						var tabId = _ref2[0];
						var tabConfig = _ref2[1];
						$e.components.get("panel/global").addTab(tabId, tabConfig);
					});
				}
			}
		]);
	}($e.modules.hookUI.Before);

//#endregion
//#region core/kits/assets/js/hooks/index.js
	var hooks_exports$3 = /* @__PURE__ */ __exportAll({
		KitAddMenuItems: () => KitAddMenuItems,
		KitAfterSave: () => KitAfterSave,
		KitBackToRouteHistory: () => KitBackToRouteHistory,
		KitDeleteGlobalsCache: () => KitDeleteGlobalsCache,
		KitGlobalsUpdateColors: () => KitGlobalsUpdateColors,
		KitGlobalsUpdateTypography: () => KitGlobalsUpdateTypography,
		KitRemoveEditorActiveCSSDocumentsOpen: () => KitRemoveEditorActiveCSSDocumentsOpen,
		KitRemoveEditorActiveCSSPanelOpen: () => KitRemoveEditorActiveCSSPanelOpen,
		KitRemovePreviewDeletedVariables: () => KitRemovePreviewDeletedVariables,
		KitSaveRouteHistory: () => KitSaveRouteHistory,
		KitUpdateBreakpointsPreview: () => KitUpdateBreakpointsPreview,
		KitUpdateLightboxPreview: () => KitUpdateLightboxPreview,
		KitUpdateStretchContainer: () => KitUpdateStretchContainer
	});

//#endregion
//#region core/kits/assets/js/commands/back.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	init_editor_one_events();
	function _callSuper$157(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$157() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$157, "_callSuper");
	function _isNativeReflectConstruct$157() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$157 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$157, "_isNativeReflectConstruct");
	var Back = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Back() {
			var _this;
			_classCallCheck(this, Back);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$157(this, Back, [].concat(args));
			_defineProperty(_this, "document", null);
			_defineProperty(_this, "confirmDialog", null);
			_defineProperty(_this, "unsavedChangesDialog", []);
			return _this;
		}
		_inherits(Back, _$e$modules$CommandBa);
		return _createClass(Back, [
			{
				key: "apply",
				value: function apply() {
					var _panelHistory;
					var panelHistory = $e.routes.getHistory("panel");
					if (((_panelHistory = panelHistory[panelHistory.length - 1]) === null || _panelHistory === void 0 ? void 0 : _panelHistory.route) === this.component.getNamespace() + "/menu") {
						this.getCloseConfirmDialog(event).show();
						return;
					}
					if (this.isGlobalRoute()) {
						var kit = elementor.config.kit_id;
						this.document = elementor.documents.get(kit);
						if (this.isDocumentChanged()) {
							this.resolveChanges().then(function() {
								return $e.routes.back("panel");
							});
							return;
						}
					}
					return $e.routes.back("panel");
				}
			},
			{
				key: "markSessionSaved",
				value: function markSessionSaved() {
					var globalComponent = this.component;
					if (!globalComponent) return;
					globalComponent.siteSettingsSession.hasSaved = true;
					var currentTab = globalComponent.currentTab;
					var activeSection = null;
					try {
						var _panelView$getCurrent;
						var _currentPage$content;
						var panelView = elementor.getPanelView();
						var currentPage = panelView === null || panelView === void 0 || (_panelView$getCurrent = panelView.getCurrentPageView) === null || _panelView$getCurrent === void 0 ? void 0 : _panelView$getCurrent.call(panelView);
						var contentView = currentPage === null || currentPage === void 0 || (_currentPage$content = currentPage.content) === null || _currentPage$content === void 0 ? void 0 : _currentPage$content.currentView;
						activeSection = (contentView === null || contentView === void 0 ? void 0 : contentView.activeSection) || null;
					} catch (e) {}
					var savedItem = activeSection ? "".concat(currentTab, " - ").concat(activeSection) : currentTab;
					if (savedItem) globalComponent.trackSavedItem(savedItem);
				}
			},
			{
				key: "trackSiteSettingsSession",
				value: function trackSiteSettingsSession(targetType, state) {
					var _this$component$getSi;
					var _this$component;
					var _this$component$reset;
					var _this$component2;
					var sessionData = ((_this$component$getSi = (_this$component = this.component).getSiteSettingsSessionData) === null || _this$component$getSi === void 0 ? void 0 : _this$component$getSi.call(_this$component)) || {};
					EditorOneEventManager.sendSiteSettingsSession({
						targetType,
						visitedItems: sessionData.visitedItems || [],
						savedItems: sessionData.savedItems || [],
						state
					});
					(_this$component$reset = (_this$component2 = this.component).resetSiteSettingsSession) === null || _this$component$reset === void 0 || _this$component$reset.call(_this$component2);
				}
			},
			{
				key: "getCloseConfirmDialog",
				value: function getCloseConfirmDialog(event) {
					var _this2 = this;
					if (!this.confirmDialog) {
						var modalOptions = {
							id: "elementor-kit-warn-on-close",
							headerMessage: (0, _wordpress_i18n.__)("Exit", "elementor"),
							message: (0, _wordpress_i18n.__)("Would you like to exit?", "elementor"),
							position: {
								my: "center center",
								at: "center center"
							},
							strings: {
								confirm: (0, _wordpress_i18n.__)("Exit", "elementor"),
								cancel: (0, _wordpress_i18n.__)("Cancel", "elementor")
							},
							onConfirm: function onConfirm() {
								_this2.trackSiteSettingsSession("back", "discard");
								$e.run("panel/global/close");
							}
						};
						this.confirmDialog = elementorCommon.dialogsManager.createWidget("confirm", modalOptions);
					}
					this.confirmDialog.setSettings("hide", { onEscKeyPress: !event });
					return this.confirmDialog;
				}
			},
			{
				key: "isGlobalRoute",
				value: function isGlobalRoute() {
					var panelHistory = $e.routes.getHistory("panel");
					return /global\/\bglobal-colors|global-typography\b/.test(panelHistory[panelHistory.length - 1].route);
				}
			},
			{
				key: "isDocumentChanged",
				value: function isDocumentChanged() {
					return this.document && this.document.editor.isChanged;
				}
			},
			{
				key: "resolveChanges",
				value: function resolveChanges() {
					var _this3 = this;
					return new Promise(function(resolve) {
						_this3.getUnsavedChangesDialog(resolve).show();
					});
				}
			},
			{
				key: "getUnsavedChangesDialog",
				value: function getUnsavedChangesDialog(resolve) {
					var _this4 = this;
					if (!this.document) {
						resolve();
						return;
					}
					var document = this.document;
					if (!this.unsavedChangesDialog[document]) {
						var modalOptions = {
							id: "elementor-".concat(document, "-save-changes"),
							headerMessage: (0, _wordpress_i18n.__)("Save Changes", "elementor"),
							message: (0, _wordpress_i18n.__)("Would you like to save the changes you've made?", "elementor"),
							position: {
								my: "center center",
								at: "center center"
							},
							strings: {
								confirm: (0, _wordpress_i18n.__)("Save", "elementor"),
								cancel: (0, _wordpress_i18n.__)("Discard", "elementor")
							},
							onConfirm: function onConfirm() {
								_this4.markSessionSaved();
								$e.run("document/save/update").then(function() {
									_this4.trackSiteSettingsSession("save", "saved");
									resolve();
								});
							},
							onCancel: function onCancel() {
								$e.run("document/save/discard", { document }).then(function() {
									_this4.trackSiteSettingsSession("back", "discard");
									resolve();
								});
							}
						};
						this.unsavedChangesDialog[document] = elementorCommon.dialogsManager.createWidget("confirm", modalOptions);
					}
					this.unsavedChangesDialog[document].setSettings("hide", { onEscKeyPress: !event });
					return this.unsavedChangesDialog[document];
				}
			}
		]);
	}($e.modules.CommandBase);

//#endregion
//#region core/kits/assets/js/commands/close.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_editor_one_events();
	function _callSuper$156(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$156() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$156, "_callSuper");
	function _isNativeReflectConstruct$156() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$156 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$156, "_isNativeReflectConstruct");
	var Close$2 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Close() {
			_classCallCheck(this, Close);
			return _callSuper$156(this, Close, arguments);
		}
		_inherits(Close, _$e$modules$CommandBa);
		return _createClass(Close, [{
			key: "apply",
			value: function apply(args) {
				var _this$component$getSi2;
				var _this$component3;
				var _this = this;
				var mode = args.mode;
				if (elementor.config.initial_document.id === parseInt(elementor.config.kit_id)) {
					var _this$component$siteS;
					var _this$component$getSi;
					var _this$component;
					var _this$component$reset;
					var _this$component2;
					var hasSaved = ((_this$component$siteS = this.component.siteSettingsSession) === null || _this$component$siteS === void 0 ? void 0 : _this$component$siteS.hasSaved) || false;
					var sessionData = ((_this$component$getSi = (_this$component = this.component).getSiteSettingsSessionData) === null || _this$component$getSi === void 0 ? void 0 : _this$component$getSi.call(_this$component)) || {};
					EditorOneEventManager.sendSiteSettingsSession({
						targetType: "close",
						visitedItems: sessionData.visitedItems || [],
						savedItems: sessionData.savedItems || [],
						state: hasSaved ? "saved" : "discard"
					});
					(_this$component$reset = (_this$component2 = this.component).resetSiteSettingsSession) === null || _this$component$reset === void 0 || _this$component$reset.call(_this$component2);
					return $e.run("panel/global/exit");
				}
				var sessionSnapshot = ((_this$component$getSi2 = (_this$component3 = this.component).getSiteSettingsSessionData) === null || _this$component$getSi2 === void 0 ? void 0 : _this$component$getSi2.call(_this$component3)) || {};
				$e.internal("panel/state-loading");
				return $e.run("editor/documents/switch", {
					mode,
					id: elementor.config.initial_document.id,
					onClose: function onClose(document) {
						if (document.isDraft()) {
							elementor.toggleDocumentCssFiles(document, true);
							elementor.settings.page.destroyControlsCSS();
						}
						$e.components.get("panel/global").close();
						$e.routes.clearHistory(_this.component.getServiceName());
						elementor.documents.invalidateCache(elementor.config.kit_id);
					}
				}).then(function() {
					var _sessionSnapshot$visi;
					var _this$component$siteS2;
					var _this$component$reset2;
					var _this$component4;
					if (!((_sessionSnapshot$visi = sessionSnapshot.visitedItems) !== null && _sessionSnapshot$visi !== void 0 && _sessionSnapshot$visi.length)) return;
					var state = sessionSnapshot.hasSaved || ((_this$component$siteS2 = _this.component.siteSettingsSession) === null || _this$component$siteS2 === void 0 ? void 0 : _this$component$siteS2.hasSaved) || false ? "saved" : "discard";
					EditorOneEventManager.sendSiteSettingsSession({
						targetType: "close",
						visitedItems: sessionSnapshot.visitedItems,
						savedItems: sessionSnapshot.savedItems || [],
						state
					});
					(_this$component$reset2 = (_this$component4 = _this.component).resetSiteSettingsSession) === null || _this$component$reset2 === void 0 || _this$component$reset2.call(_this$component4);
				}).catch(function() {}).finally(function() {
					return $e.internal("panel/state-ready");
				});
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region core/kits/assets/js/commands/exit.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$155(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$155() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$155, "_callSuper");
	function _isNativeReflectConstruct$155() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$155 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$155, "_isNativeReflectConstruct");
	var Exit$1 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Exit() {
			_classCallCheck(this, Exit);
			return _callSuper$155(this, Exit, arguments);
		}
		_inherits(Exit, _$e$modules$CommandBa);
		return _createClass(Exit, [{
			key: "apply",
			value: function apply() {
				return $e.run("editor/documents/close", {
					id: elementor.config.kit_id,
					onClose: function onClose(document) {
						location = document.config.urls.exit_to_dashboard;
					}
				});
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region core/kits/assets/js/commands/open.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$154(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$154() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$154, "_callSuper");
	function _isNativeReflectConstruct$154() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$154 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$154, "_isNativeReflectConstruct");
	var Open$4 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Open() {
			_classCallCheck(this, Open);
			return _callSuper$154(this, Open, arguments);
		}
		_inherits(Open, _$e$modules$CommandBa);
		return _createClass(Open, [{
			key: "apply",
			value: function apply() {
				var kit = elementor.documents.get(elementor.config.kit_id);
				if (kit && "open" === kit.editor.status) return jQuery.Deferred().resolve();
				$e.routes.clearHistory(this.component.getServiceName());
				this.component.toggleHistoryClass();
				$e.internal("panel/state-loading");
				return $e.run("editor/documents/switch", {
					id: elementor.config.kit_id,
					mode: "autosave"
				}).finally(function() {
					return $e.internal("panel/state-ready");
				});
			}
		}], [{
			key: "getInfo",
			value: function getInfo() {
				return { isSafe: true };
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region core/kits/assets/js/commands/index.js
	var commands_exports$13 = /* @__PURE__ */ __exportAll({
		Back: () => Back,
		Close: () => Close$2,
		Exit: () => Exit$1,
		Open: () => Open$4
	});

//#endregion
//#region assets/dev/js/editor/views/controls-popover.js
	var ControlsPopover;
	var init_controls_popover = __esmMin((() => {
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		ControlsPopover = /*#__PURE__*/ function() {
			function ControlsPopover(child) {
				_classCallCheck(this, ControlsPopover);
				this.child = child;
				this.$popover = jQuery("<div>", { class: "elementor-controls-popover" });
				child.$el.before(this.$popover);
				this.$popover.append(child.$el);
				this.popoverToggleView = child._parent.children.findByIndex(child._index - 1);
				if ("typography" === this.child.model.attributes.groupType) this.createPopoverHeader();
			}
			return _createClass(ControlsPopover, [
				{
					key: "addChild",
					value: function addChild(child) {
						this.$popover.append(child.$el);
					}
				},
				{
					key: "createPopoverHeader",
					value: function createPopoverHeader() {
						var _this = this;
						var $resetLabel = this.$popover.prev().find(".elementor-control-popover-toggle-reset-label");
						this.$popoverHeader = jQuery("<div>", { class: "e-group-control-header" }).html("<span>" + (0, _wordpress_i18n.__)("Typography", "elementor") + "</span>");
						this.$headerControlsWrapper = jQuery("<div>", { class: "e-control-tools" });
						$resetLabel.addClass("e-control-tool").on("click", function() {
							return _this.onResetButtonClick();
						});
						this.$headerControlsWrapper.append($resetLabel);
						this.$popoverHeader.append(this.$headerControlsWrapper);
						var globalConfig = this.popoverToggleView.model.get("global");
						if (globalConfig !== null && globalConfig !== void 0 && globalConfig.active) this.createAddButton();
						this.$popover.prepend(this.$popoverHeader).addClass("e-controls-popover--typography");
					}
				},
				{
					key: "onResetButtonClick",
					value: function onResetButtonClick() {
						this.$popover.hide();
						this.$popover.trigger("hide");
						var groupControlName = this.child.model.get("groupPrefix") + "typography";
						var args = {
							container: this.child.options.container,
							settings: _defineProperty({}, groupControlName, "")
						};
						if (this.child.options.container.globals.get(groupControlName)) $e.run("document/globals/disable", args);
						else $e.run("document/elements/settings", args);
					}
				},
				{
					key: "onAddButtonClick",
					value: function onAddButtonClick() {
						this.popoverToggleView.onAddGlobalButtonClick();
					}
				},
				{
					key: "createAddButton",
					value: function createAddButton() {
						var _this2 = this;
						this.$addButton = jQuery("<button>", { class: "e-control-tool" }).html(jQuery("<i>", { class: "eicon-plus" }));
						this.$headerControlsWrapper.append(this.$addButton);
						this.$addButton.on("click", function() {
							return _this2.onAddButtonClick();
						});
						this.$addButton.tipsy({
							title: function title() {
								return (0, _wordpress_i18n.__)("Create New Global Font", "elementor");
							},
							gravity: function gravity() {
								return "s";
							}
						});
					}
				},
				{
					key: "destroy",
					value: function destroy() {
						this.$popover.remove();
					}
				}
			]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/elements/views/behaviors/inner-tabs.js
	var require_inner_tabs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var InnerTabsBehavior = Marionette.Behavior.extend({
			onRenderCollection: function onRenderCollection() {
				this.handleInnerTabs(this.view);
			},
			handleInnerTabs: function handleInnerTabs(parent) {
				var closedClass = "e-tab-close";
				var activeClass = "e-tab-active";
				var tabsWrappers = parent.children.filter(function(view) {
					return "tabs" === view.model.get("type");
				});
				_.each(tabsWrappers, function(view) {
					view.$el.find(".elementor-control-content").remove();
					var tabsId = view.model.get("name");
					var tabs = parent.children.filter(function(childView) {
						return "tab" === childView.model.get("type") && childView.model.get("tabs_wrapper") === tabsId;
					});
					_.each(tabs, function(childView, index) {
						view._addChildView(childView);
						var tabId = childView.model.get("name");
						var controlsUnderTab = parent.children.filter(function(controlView) {
							return tabId === controlView.model.get("inner_tab");
						});
						if (0 === index) childView.$el.addClass(activeClass);
						else _.each(controlsUnderTab, function(controlView) {
							controlView.$el.addClass(closedClass);
						});
					});
				});
			},
			onChildviewControlTabClicked: function onChildviewControlTabClicked(childView) {
				var closedClass = "e-tab-close";
				var activeClass = "e-tab-active";
				var tabClicked = childView.model.get("name");
				var childrenUnderTab = this.view.children.filter(function(view) {
					return "tab" !== view.model.get("type") && childView.model.get("tabs_wrapper") === view.model.get("tabs_wrapper");
				});
				var siblingTabs = this.view.children.filter(function(view) {
					return "tab" === view.model.get("type") && childView.model.get("tabs_wrapper") === view.model.get("tabs_wrapper");
				});
				_.each(siblingTabs, function(view) {
					view.$el.removeClass(activeClass);
				});
				childView.$el.addClass(activeClass);
				_.each(childrenUnderTab, function(view) {
					if (view.model.get("inner_tab") === tabClicked) view.$el.removeClass(closedClass);
					else view.$el.addClass(closedClass);
				});
				elementor.getPanelView().updateScrollbar();
			}
		});
		module.exports = InnerTabsBehavior;
	}));

//#endregion
//#region assets/dev/js/editor/views/controls-stack.js
	var ControlsStack;
	var init_controls_stack = __esmMin((() => {
		init_controls_popover();
		ControlsStack = Marionette.CompositeView.extend({
			classes: { popover: "elementor-controls-popover" },
			activeTab: null,
			activeSection: null,
			className: function className() {
				return "elementor-controls-stack";
			},
			templateHelpers: function templateHelpers() {
				return { elementData: elementor.getElementData(this.model) };
			},
			childViewOptions: function childViewOptions() {
				return { elementSettingsModel: this.model };
			},
			ui: function ui() {
				return {
					tabs: ".elementor-panel-navigation-tab",
					reloadButton: ".elementor-update-preview-button"
				};
			},
			events: function events() {
				return { "click @ui.reloadButton": "onReloadButtonClick" };
			},
			modelEvents: { destroy: "onModelDestroy" },
			behaviors: { HandleInnerTabs: { behaviorClass: require_inner_tabs() } },
			initialize: function initialize(options) {
				this.initCollection();
				if (options.tab) {
					this.activeTab = options.tab;
					this.activateFirstSection();
				}
				this.listenTo(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
			},
			onDestroy: function onDestroy() {
				this.stopListening(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
			},
			initCollection: function initCollection() {
				this.collection = new Backbone.Collection(_.values(elementor.mergeControlsSettings(this.getOption("controls"))));
			},
			filter: function filter(controlModel) {
				if (controlModel.get("tab") !== this.activeTab) return false;
				if ("section" === controlModel.get("type")) return true;
				var section = controlModel.get("section");
				return !section || section === this.activeSection;
			},
			getControlViewByModel: function getControlViewByModel(model) {
				return this.children.findByModelCid(model.cid);
			},
			getControlViewByName: function getControlViewByName(name) {
				return this.getControlViewByModel(this.getControlModel(name));
			},
			getControlModel: function getControlModel(name) {
				return this.collection.findWhere({ name });
			},
			isVisibleSectionControl: function isVisibleSectionControl(sectionControlModel) {
				return this.activeTab === sectionControlModel.get("tab");
			},
			activateTab: function activateTab(tab) {
				this.activeTab = tab;
				this.activateFirstSection();
				this._renderChildren();
				return this;
			},
			activateSection: function activateSection(sectionName) {
				this.activeSection = sectionName;
				return this;
			},
			activateFirstSection: function activateFirstSection() {
				var self = this;
				var sectionControls = self.collection.filter(function(controlModel) {
					return "section" === controlModel.get("type") && self.isVisibleSectionControl(controlModel);
				});
				var sectionToActivate;
				if (!sectionControls[0]) {
					self.activeSection = null;
					sectionToActivate = null;
				} else sectionToActivate = sectionControls[0].get("name");
				if (sectionControls.filter(function(controlModel) {
					return self.activeSection === controlModel.get("name");
				})[0]) return;
				self.activateSection(sectionToActivate);
				return this;
			},
			getChildView: function getChildView(item) {
				var controlType = item.get("type");
				return elementor.getControlView(controlType);
			},
			getNamespaceArray: function getNamespaceArray() {
				return [elementor.getPanelView().getCurrentPageName()];
			},
			openActiveSection: function openActiveSection() {
				var activeSection = this.activeSection;
				var activeSectionView = this.children.filter(function(view) {
					return activeSection === view.model.get("name");
				});
				if (activeSectionView[0]) {
					activeSectionView[0].$el.addClass("e-open");
					var eventNamespace = this.getNamespaceArray();
					eventNamespace.push(activeSection, "activated");
					elementor.channels.editor.trigger(eventNamespace.join(":"), this);
				}
			},
			onRenderCollection: function onRenderCollection() {
				this.openActiveSection();
				ControlsStack.handlePopovers(this);
			},
			onModelDestroy: function onModelDestroy() {
				this.destroy();
			},
			onReloadButtonClick: function onReloadButtonClick() {
				elementor.reloadPreview();
			},
			onDeviceModeChange: function onDeviceModeChange() {
				if ("desktop" === elementor.channels.deviceMode.request("currentMode")) this.$el.removeClass("elementor-responsive-switchers-open");
			},
			onChildviewControlSectionClicked: function onChildviewControlSectionClicked(childView) {
				var isSectionOpen = childView.$el.hasClass("e-open");
				this.activateSection(isSectionOpen ? null : childView.model.get("name"));
				this._renderChildren();
			},
			onChildviewResponsiveSwitcherClick: function onChildviewResponsiveSwitcherClick(childView, device) {
				if ("desktop" === device) this.$el.toggleClass("elementor-responsive-switchers-open");
			}
		}, {
			handlePopovers: function handlePopovers(view) {
				var popover;
				this.removePopovers(view);
				view.popovers = [];
				view.children.each(function(control) {
					if (popover) popover.addChild(control);
					var popoverData = control.model.get("popover");
					if (!popoverData) return;
					if (popoverData.start) {
						popover = new ControlsPopover(control);
						view.popovers.push(popover);
					}
					if (popoverData.end) popover = null;
				});
			},
			removePopovers: function removePopovers(view) {
				var _view$popovers;
				(_view$popovers = view.popovers) === null || _view$popovers === void 0 || _view$popovers.forEach(function(popover) {
					return popover.destroy();
				});
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/controls/repeater-row.js
	var require_repeater_row = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_controls_stack();
		module.exports = Marionette.CompositeView.extend({
			template: Marionette.TemplateCache.get("#tmpl-elementor-repeater-row"),
			className: "elementor-repeater-fields",
			attributes: { role: "listitem" },
			ui: function ui() {
				return {
					duplicateButton: ".elementor-repeater-tool-duplicate",
					editButton: ".elementor-repeater-tool-edit",
					removeButton: ".elementor-repeater-tool-remove",
					itemTitle: ".elementor-repeater-row-item-title"
				};
			},
			behaviors: { HandleInnerTabs: { behaviorClass: require_inner_tabs() } },
			triggers: {
				"click @ui.removeButton": "click:remove",
				"click @ui.duplicateButton": "click:duplicate",
				"click @ui.itemTitle": "click:edit"
			},
			modelEvents: { change: "onModelChange" },
			templateHelpers: function templateHelpers() {
				return {
					itemIndex: this.getOption("itemIndex"),
					itemActions: this.getOption("itemActions")
				};
			},
			childViewContainer: ".elementor-repeater-row-controls",
			getChildView: function getChildView(item) {
				var controlType = item.get("type");
				return elementor.getControlView(controlType);
			},
			getChildControlView: function getChildControlView(name) {
				return this.getControlViewByModel(this.getControlModel(name));
			},
			getControlViewByModel: function getControlViewByModel(model) {
				return this.children.findByModelCid(model.cid);
			},
			getControlModel: function getControlModel(name) {
				return this.collection.findWhere({ name });
			},
			childViewOptions: function childViewOptions() {
				return { container: this.options.container };
			},
			updateIndex: function updateIndex(newIndex) {
				this.itemIndex = newIndex;
			},
			setTitle: function setTitle() {
				var titleField = this.getOption("titleField");
				var title = "";
				if (titleField) title = Marionette.TemplateCache.prototype.compileTemplate(titleField)(this.model.parseDynamicSettings());
				if (!title) title = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Item #%s", "elementor"), this.getOption("itemIndex"));
				this.ui.itemTitle.html(title);
			},
			toggleSort: function toggleSort(enable) {
				this.$el.toggleClass("elementor-repeater-row--disable-sort", !enable);
			},
			initialize: function initialize(options) {
				this.itemIndex = 0;
				this.collection = new Backbone.Collection(_.values(elementor.mergeControlsSettings(options.controlFields)));
			},
			onRender: function onRender() {
				this.setTitle();
				ControlsStack.handlePopovers(this);
			},
			onModelChange: function onModelChange() {
				if (this.getOption("titleField")) this.setTitle();
			},
			onChildviewResponsiveSwitcherClick: function onChildviewResponsiveSwitcherClick(childView, device) {
				if ("desktop" === device) elementor.getPanelView().getCurrentPageView().$el.toggleClass("elementor-responsive-switchers-open");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/controls/repeater.js
	var require_repeater = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		var RepeaterRowView = require_repeater_row();
		var ControlRepeaterItemView = ControlBaseDataView.extend({
			ui: {
				btnAddRow: ".elementor-repeater-add",
				fieldContainer: ".elementor-repeater-fields-wrapper"
			},
			events: function events() {
				return {
					"click @ui.btnAddRow": "onButtonAddRowClick",
					"sortstart @ui.fieldContainer": "onSortStart",
					"sortupdate @ui.fieldContainer": "onSortUpdate",
					"sortstop @ui.fieldContainer": "onSortStop"
				};
			},
			childView: RepeaterRowView,
			childViewContainer: ".elementor-repeater-fields-wrapper",
			templateHelpers: function templateHelpers() {
				return {
					itemActions: this.model.get("item_actions"),
					data: _.extend({}, this.model.toJSON(), { controlValue: [] })
				};
			},
			childViewOptions: function childViewOptions(rowModel, index) {
				return {
					container: this.getOption("container").repeaters[this.model.get("name")].children[index],
					controlFields: this.model.get("fields"),
					titleField: this.model.get("title_field"),
					itemActions: this.model.get("item_actions")
				};
			},
			createItemModel: function createItemModel(attrs, options, controlView) {
				options.controls = controlView.model.get("fields");
				return new elementorModules.editor.elements.models.BaseSettings(attrs, options);
			},
			fillCollection: function fillCollection() {
				var settings = this.container ? this.container.settings : this.elementSettingsModel;
				var controlName = this.model.get("name");
				this.collection = settings.get(controlName);
				if (!(this.collection instanceof Backbone.Collection)) {
					this.collection = new Backbone.Collection(this.collection, { model: _.partial(this.createItemModel, _, _, this) });
					settings.set(controlName, this.collection, { silent: true });
				}
			},
			initialize: function initialize() {
				ControlBaseDataView.prototype.initialize.apply(this, arguments);
				this.fillCollection();
				this.listenTo(this.collection, "reset", this.resetContainer.bind(this));
				this.listenTo(this.collection, "add", this.updateContainer.bind(this));
			},
			editRow: function editRow(rowView) {
				if (this.currentEditableChild) {
					var currentEditable = this.currentEditableChild.getChildViewContainer(this.currentEditableChild);
					currentEditable.removeClass("editable");
					currentEditable.find(".elementor-wp-editor").each(function() {
						tinymce.get(this.id).fire("hide");
					});
				}
				if (this.currentEditableChild === rowView) {
					delete this.currentEditableChild;
					return;
				}
				rowView.getChildViewContainer(rowView).addClass("editable");
				this.currentEditableChild = rowView;
				this.updateActiveRow();
			},
			toggleClasses: function toggleClasses() {
				this.toggleMinRowsClass();
				this.toggleMaxRowsClass();
			},
			toggleMaxRowsClass: function toggleMaxRowsClass() {
				var maxItems = this.model.get("max_items");
				if (!maxItems || !Number.isInteger(maxItems)) return;
				this.$el.toggleClass("elementor-repeater-has-maximum-rows", maxItems <= this.collection.length);
			},
			getMinItems: function getMinItems() {
				var minItems = 0;
				if (this.model.get("min_items") && Number.isInteger(this.model.get("min_items"))) minItems = this.model.get("min_items");
				else if (this.model.get("prevent_empty")) minItems = 1;
				return minItems;
			},
			toggleMinRowsClass: function toggleMinRowsClass() {
				var minItems = this.getMinItems();
				if (!minItems) return;
				this.$el.toggleClass("elementor-repeater-has-minimum-rows", minItems >= this.collection.length);
			},
			updateActiveRow: function updateActiveRow() {
				var activeItemIndex = 1;
				if (this.currentEditableChild) activeItemIndex = this.currentEditableChild.itemIndex;
				this.setEditSetting("activeItemIndex", activeItemIndex);
			},
			updateChildIndexes: function updateChildIndexes() {
				var collection = this.collection;
				this.children.each(function(view) {
					view.updateIndex(collection.indexOf(view.model) + 1);
					view.setTitle();
				});
			},
			getSortableParams: function getSortableParams() {
				return {
					axis: "y",
					handle: ".elementor-repeater-row-tools",
					items: " > :not(.elementor-repeater-row--disable-sort)",
					cancel: ""
				};
			},
			onRender: function onRender() {
				ControlBaseDataView.prototype.onRender.apply(this, arguments);
				if (this.model.get("item_actions").sort) this.ui.fieldContainer.sortable(this.getSortableParams());
				this.toggleClasses();
			},
			onSortStart: function onSortStart(event, ui) {
				ui.item.data("oldIndex", ui.item.index());
			},
			onSortStop: function onSortStop(event, ui) {
				var self = this;
				if (-1 === ui.item.index()) return;
				var sortedRowView = self.children.findByIndex(ui.item.index());
				var rowControls = sortedRowView.children._views;
				jQuery.each(rowControls, function() {
					if ("wysiwyg" === this.model.get("type")) {
						sortedRowView.render();
						delete self.currentEditableChild;
						return false;
					}
				});
			},
			onSortUpdate: function onSortUpdate(event, ui) {
				var oldIndex = ui.item.data("oldIndex");
				var newIndex = ui.item.index();
				$e.run("document/repeater/move", {
					container: this.options.container,
					name: this.model.get("name"),
					sourceIndex: oldIndex,
					targetIndex: newIndex
				});
			},
			onAddChild: function onAddChild() {
				this.updateChildIndexes();
				this.updateActiveRow();
				this.toggleClasses();
			},
			/**
			* Update container to ensure that new child elements appear in container children.
			*
			* @param {*} model - Container model.
			*/
			updateContainer: function updateContainer(model) {
				if (!this.options.container.repeaters[this.model.get("name")].children.filter(function(child) {
					return child.id === model.get("_id");
				}).length) {
					elementorDevTools.deprecation.deprecated("Don't add models directly to the repeater.", "3.0.0", "$e.run( 'document/repeater/insert' )");
					this.options.container.addRepeaterItem(this.model.get("name"), model, model.collection.indexOf(model));
				}
			},
			/**
			* Reset container to ensure that container children are reset on collection reset.
			*
			* @deprecated since 3.0.0, use `$e.run( 'document/repeater/remove' )` instead.
			*/
			resetContainer: function resetContainer() {
				elementorDevTools.deprecation.deprecated("Don't reset repeater collection directly.", "3.0.0", "$e.run( 'document/repeater/remove' )");
				this.options.container.repeaters[this.model.get("name")].children = [];
			},
			getDefaults: function getDefaults() {
				var defaults = {};
				_.each(this.model.get("fields"), function(field) {
					defaults[field.name] = field.default;
				});
				return defaults;
			},
			getChildControlView: function getChildControlView(id) {
				return this.getControlViewByModel(this.getControlModel(id));
			},
			getControlViewByModel: function getControlViewByModel(model) {
				return this.children.findByModelCid(model.cid);
			},
			getControlModel: function getControlModel(_id) {
				return this.collection.findWhere({ _id });
			},
			onButtonAddRowClick: function onButtonAddRowClick() {
				var newModel = $e.run("document/repeater/insert", {
					container: this.options.container,
					name: this.model.get("name"),
					model: this.getDefaults()
				});
				var newChild = this.children.findByModel(newModel);
				this.editRow(newChild);
				this.toggleClasses();
			},
			onChildviewClickRemove: function onChildviewClickRemove(childView) {
				if (childView === this.currentEditableChild) delete this.currentEditableChild;
				$e.run("document/repeater/remove", {
					container: this.options.container,
					name: this.model.get("name"),
					index: childView._index
				});
				this.updateActiveRow();
				this.updateChildIndexes();
				this.toggleClasses();
			},
			onChildviewClickDuplicate: function onChildviewClickDuplicate(childView) {
				$e.run("document/repeater/duplicate", {
					container: this.options.container,
					name: this.model.get("name"),
					index: childView._index
				});
				this.toggleClasses();
			},
			onChildviewClickEdit: function onChildviewClickEdit(childView) {
				this.editRow(childView);
			},
			onAfterExternalChange: function onAfterExternalChange() {
				this.fillCollection();
				ControlBaseDataView.prototype.onAfterExternalChange.apply(this, arguments);
			}
		});
		module.exports = ControlRepeaterItemView;
	}));

//#endregion
//#region core/kits/assets/js/repeater-row.js
var import_repeater = /* @__PURE__ */ __toESM(require_repeater());
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	var import_repeater_row = /* @__PURE__ */ __toESM(require_repeater_row());
	function _callSuper$153(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$153() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$153, "_callSuper");
	function _isNativeReflectConstruct$153() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$153 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$153, "_isNativeReflectConstruct");
	function _superPropGet$26(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$26, "_superPropGet");
	var _default$11 = /*#__PURE__*/ function(_RepeaterRow) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$153(this, _default, arguments);
		}
		_inherits(_default, _RepeaterRow);
		return _createClass(_default, [
			{
				key: "ui",
				value: function ui() {
					var ui = _superPropGet$26(_default, "ui", this, 3)([]);
					ui.sortButton = ".elementor-repeater-tool-sort";
					return ui;
				}
			},
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-global-style-repeater-row";
				}
			},
			{
				key: "events",
				value: function events() {
					return {
						"click @ui.removeButton": "onRemoveButtonClick",
						"keyup @ui.removeButton": "onRemoveButtonPress"
					};
				}
			},
			{
				key: "updateColorValue",
				value: function updateColorValue() {
					this.$colorValue.text(this.model.get("color"));
				}
			},
			{
				key: "getDisabledRemoveButtons",
				value: function getDisabledRemoveButtons() {
					if (!this.ui.disabledRemoveButtons) this.ui.disabledRemoveButtons = this.$el.find(".elementor-repeater-tool-remove--disabled");
					return this.ui.disabledRemoveButtons;
				}
			},
			{
				key: "getRemoveButton",
				value: function getRemoveButton() {
					return this.ui.removeButton.add(this.getDisabledRemoveButtons());
				}
			},
			{
				key: "triggers",
				value: function triggers() {
					return {};
				}
			},
			{
				key: "onChildviewRender",
				value: function onChildviewRender(childView) {
					var isColor = "color" === childView.model.get("type");
					var isPopoverToggle = "popover_toggle" === childView.model.get("type");
					var $controlInputWrapper = childView.$el.find(".elementor-control-input-wrapper");
					var globalType = "";
					var globalTypeTranslated = "";
					if (isColor) {
						this.$colorValue = jQuery("<div>", { class: "e-global-colors__color-value elementor-control-unit-3" });
						$controlInputWrapper.prepend(this.getRemoveButton(), this.$colorValue).prepend(this.ui.sortButton);
						globalType = "color";
						globalTypeTranslated = (0, _wordpress_i18n.__)("Color", "elementor");
						this.updateColorValue();
					}
					if (isPopoverToggle) {
						$controlInputWrapper.append(this.getRemoveButton()).append(this.ui.sortButton);
						globalType = "font";
						globalTypeTranslated = (0, _wordpress_i18n.__)("Font", "elementor");
					}
					if (isColor || isPopoverToggle) {
						var removeButtons = this.getDisabledRemoveButtons();
						this.ui.removeButton.data("e-global-type", globalType);
						this.ui.removeButton.tipsy({
							title: function title() {
								return (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Delete Global %s", "elementor"), globalTypeTranslated);
							},
							gravity: function gravity() {
								return "s";
							}
						});
						removeButtons.tipsy({
							title: function title() {
								return (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("System %s can't be deleted", "elementor"), globalTypeTranslated);
							},
							gravity: function gravity() {
								return "s";
							}
						});
					}
				}
			},
			{
				key: "onModelChange",
				value: function onModelChange(model) {
					if (void 0 !== model.changed.color) this.updateColorValue();
				}
			},
			{
				key: "onRemoveButtonClick",
				value: function onRemoveButtonClick() {
					var _this = this;
					var globalType = this.ui.removeButton.data("e-global-type");
					var globalTypeTranslatedCapitalized = "font" === globalType ? (0, _wordpress_i18n.__)("Font", "elementor") : (0, _wordpress_i18n.__)("Color", "elementor");
					var globalTypeTranslatedLowercase = "font" === globalType ? (0, _wordpress_i18n.__)("font", "elementor") : (0, _wordpress_i18n.__)("color", "elementor");
					var translatedMessage = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("You're about to delete a Global %1$s. Note that if it's being used anywhere on your site, it will inherit a default %1$s.", "elementor"), globalTypeTranslatedCapitalized, globalTypeTranslatedLowercase);
					this.confirmDeleteModal = elementorCommon.dialogsManager.createWidget("confirm", {
						className: "e-global__confirm-delete",
						headerMessage: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Delete Global %s", "elementor"), globalTypeTranslatedCapitalized),
						message: "<i class=\"eicon-info-circle\"></i> " + translatedMessage,
						strings: {
							confirm: (0, _wordpress_i18n.__)("Delete", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Cancel", "elementor")
						},
						hide: { onBackgroundClick: false },
						onConfirm: function onConfirm() {
							_this.trigger("click:remove");
						}
					});
					this.confirmDeleteModal.show();
				}
			},
			{
				key: "onRemoveButtonPress",
				value: function onRemoveButtonPress(event) {
					if (13 === event.keyCode || 32 === event.keyCode) {
						event.currentTarget.click();
						event.stopPropagation();
					}
				}
			}
		]);
	}(import_repeater_row.default);

//#endregion
//#region core/kits/assets/js/repeater.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$152(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$152() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$152, "_callSuper");
	function _isNativeReflectConstruct$152() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$152 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$152, "_isNativeReflectConstruct");
	function _superPropGet$25(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$25, "_superPropGet");
	var _default$10 = /*#__PURE__*/ function(_Repeater) {
		function _default() {
			var _this;
			_classCallCheck(this, _default);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$152(this, _default, [].concat(args));
			_this.childView = _default$11;
			return _this;
		}
		_inherits(_default, _Repeater);
		return _createClass(_default, [
			{
				key: "templateHelpers",
				value: function templateHelpers() {
					var templateHelpers = _superPropGet$25(_default, "templateHelpers", this, 3)([]);
					templateHelpers.addButtonText = "custom_colors" === this.model.get("name") ? (0, _wordpress_i18n.__)("Add Color", "elementor") : (0, _wordpress_i18n.__)("Add Style", "elementor");
					return templateHelpers;
				}
			},
			{
				key: "getDefaults",
				value: function getDefaults() {
					var defaults = _superPropGet$25(_default, "getDefaults", this, 3)([]);
					defaults.title = "".concat((0, _wordpress_i18n.__)("New Item", "elementor"), " #").concat(this.children.length + 1);
					return defaults;
				}
			},
			{
				key: "getSortableParams",
				value: function getSortableParams() {
					var sortableParams = _superPropGet$25(_default, "getSortableParams", this, 3)([]);
					sortableParams.placeholder = "e-sortable-placeholder";
					sortableParams.cursor = "move";
					return sortableParams;
				}
			}
		]);
	}(import_repeater.default);

//#endregion
//#region assets/dev/js/editor/component-base.js
	function _callSuper$151(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$151() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$151() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$151 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ComponentBase;
	var init_component_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_component_base$1();
		__name(_callSuper$151, "_callSuper");
		__name(_isNativeReflectConstruct$151, "_isNativeReflectConstruct");
		ComponentBase = /*#__PURE__*/ function(_ApiComponentBase) {
			function ComponentBase() {
				_classCallCheck(this, ComponentBase);
				return _callSuper$151(this, ComponentBase, arguments);
			}
			_inherits(ComponentBase, _ApiComponentBase);
			return _createClass(ComponentBase, [{
				key: "activateControl",
				value: function activateControl(controlPath) {
					var _controlView$activate;
					if (!controlPath) return;
					var editor = elementor.getPanelView().getCurrentPageView();
					var currentView = editor.content ? editor.content.currentView : editor;
					var controlView = this.getControlViewByPath(currentView, controlPath);
					(_controlView$activate = controlView.activate) === null || _controlView$activate === void 0 || _controlView$activate.call(controlView);
				}
			}, {
				key: "getControlViewByPath",
				value: function getControlViewByPath(currentView, controlPath) {
					var controls = controlPath.split("/");
					var controlView = currentView.getControlViewByName(controls[0]);
					controls.slice(1).forEach(function(control) {
						var _controlView$getChild;
						var _controlView;
						controlView = (_controlView$getChild = (_controlView = controlView).getChildControlView) === null || _controlView$getChild === void 0 ? void 0 : _controlView$getChild.call(_controlView, control);
					});
					return controlView;
				}
			}]);
		}(ComponentBase$1);
	}));

//#endregion
//#region core/kits/assets/js/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_defineProperty();
	init_component_base();
	function ownKeys$9(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$9, "ownKeys");
	function _objectSpread$9(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$9(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$9, "_objectSpread");
	function _callSuper$150(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$150() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$150, "_callSuper");
	function _isNativeReflectConstruct$150() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$150 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$150, "_isNativeReflectConstruct");
	function _superPropGet$24(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$24, "_superPropGet");
	var _default$9 = /*#__PURE__*/ function(_ComponentBase) {
		function _default() {
			var _this;
			_classCallCheck(this, _default);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$150(this, _default, [].concat(args));
			_defineProperty(_this, "pages", {});
			_defineProperty(_this, "siteSettingsSession", {
				visitedItems: [],
				savedItems: [],
				hasSaved: false
			});
			return _this;
		}
		_inherits(_default, _ComponentBase);
		return _createClass(_default, [
			{
				key: "__construct",
				value: function __construct(args) {
					_superPropGet$24(_default, "__construct", this, 3)([args]);
					elementor.on("panel:init", function() {
						args.manager.addPanelPages();
						args.manager.addPanelMenuItem();
					});
					elementor.hooks.addFilter("panel/header/behaviors", args.manager.addHeaderBehavior);
					elementor.addControlView("global-style-repeater", _default$10);
				}
			},
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "panel/global";
				}
			},
			{
				key: "defaultRoutes",
				value: function defaultRoutes() {
					var _this2 = this;
					return { menu: function menu() {
						elementor.getPanelView().setPage("kit_menu");
						_this2.currentTab = "menu";
					} };
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$13);
				}
			},
			{
				key: "defaultShortcuts",
				value: function defaultShortcuts() {
					return {
						open: {
							keys: "ctrl+k",
							dependency: function dependency() {
								return "kit" !== elementor.documents.getCurrent().config.type && "edit" === elementor.channels.dataEditMode.request("activeMode");
							}
						},
						back: {
							keys: "esc",
							scopes: ["panel"],
							dependency: function dependency() {
								return elementor.documents.isCurrent(elementor.config.kit_id) && !jQuery(".dialog-widget:visible").length;
							}
						}
					};
				}
			},
			{
				key: "defaultHooks",
				value: function defaultHooks() {
					return this.importHooks(hooks_exports$3);
				}
			},
			{
				key: "renderTab",
				value: function renderTab(tab, args) {
					if (tab !== this.currentTab) {
						this.currentTab = tab;
						this.trackVisitedTab(tab);
						elementor.getPanelView().setPage("kit_settings").content.currentView.activateTab(tab);
					}
					this.activateControl(args.activeControl);
				}
			},
			{
				key: "trackVisitedTab",
				value: function trackVisitedTab(tabName) {
					if (tabName && !this.siteSettingsSession.visitedItems.includes(tabName)) this.siteSettingsSession.visitedItems.push(tabName);
				}
			},
			{
				key: "trackSavedItem",
				value: function trackSavedItem(itemName) {
					if (itemName && !this.siteSettingsSession.savedItems.includes(itemName)) this.siteSettingsSession.savedItems.push(itemName);
				}
			},
			{
				key: "getSiteSettingsSessionData",
				value: function getSiteSettingsSessionData() {
					return _objectSpread$9({}, this.siteSettingsSession);
				}
			},
			{
				key: "resetSiteSettingsSession",
				value: function resetSiteSettingsSession() {
					this.siteSettingsSession = {
						visitedItems: [],
						savedItems: [],
						hasSaved: false
					};
				}
			}
		]);
	}(ComponentBase);

//#endregion
//#region core/kits/assets/js/panel-content.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$149(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$149() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$149, "_callSuper");
	function _isNativeReflectConstruct$149() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$149 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$149, "_isNativeReflectConstruct");
	var _default$8 = /*#__PURE__*/ function(_elementorModules$edi) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$149(this, _default, arguments);
		}
		_inherits(_default, _elementorModules$edi);
		return _createClass(_default, [
			{
				key: "id",
				value: function id() {
					return "elementor-kit-panel-content";
				}
			},
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-kit-panel-content";
				}
			},
			{
				key: "childViewContainer",
				value: function childViewContainer() {
					return "#elementor-kit-panel-content-controls";
				}
			},
			{
				key: "onBeforeShow",
				value: function onBeforeShow() {
					var tabConfig = $e.components.get("panel/global").getActiveTabConfig();
					elementor.hooks.doAction("panel/".concat(tabConfig.group, "/tab/before-show"), { id: tabConfig.id });
				}
			},
			{
				key: "onBeforeDestroy",
				value: function onBeforeDestroy() {
					var tabConfig = $e.components.get("panel/global").getActiveTabConfig();
					elementor.hooks.doAction("panel/".concat(tabConfig.group, "/tab/before-destroy"), { id: tabConfig.id });
				}
			},
			{
				key: "childViewOptions",
				value: function childViewOptions() {
					var container = this.getOption("container");
					return {
						elementSettingsModel: container.settings,
						container
					};
				}
			}
		]);
	}(elementorModules.editor.views.ControlsStack);

//#endregion
//#region core/kits/assets/js/panel.js
	var panel_default = Marionette.LayoutView.extend({
		id: "elementor-kit-panel",
		template: "#tmpl-elementor-kit-panel",
		regions: { content: "#elementor-kit__panel-content__wrapper" },
		onBeforeShow: function onBeforeShow() {
			var container = elementor.documents.getCurrent().container;
			var options = {
				container,
				model: container.model,
				controls: container.settings.controls,
				name: "kit"
			};
			this.showChildView("content", new _default$8(options));
		}
	});

//#endregion
//#region core/kits/assets/js/panel-menu.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$148(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$148() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$148, "_callSuper");
	function _isNativeReflectConstruct$148() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$148 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$148, "_isNativeReflectConstruct");
	var PanelMenu = /*#__PURE__*/ function(_MenuPageView) {
		function PanelMenu() {
			_classCallCheck(this, PanelMenu);
			return _callSuper$148(this, PanelMenu, arguments);
		}
		_inherits(PanelMenu, _MenuPageView);
		return _createClass(PanelMenu, [{
			key: "initialize",
			value: function initialize() {
				this.collection = PanelMenu.getGroups();
			}
		}]);
	}(MenuPageView);
	PanelMenu.groups = null;
	PanelMenu.createGroupItems = function(groupName) {
		var tabs = $e.components.get("panel/global").getTabs();
		return Object.entries(tabs).filter(function(_ref) {
			return groupName === _slicedToArray(_ref, 2)[1].group;
		}).map(function(_ref3) {
			var _ref4 = _slicedToArray(_ref3, 2);
			var tabId = _ref4[0];
			var tabConfig = _ref4[1];
			return {
				name: tabId,
				icon: tabConfig.icon,
				title: tabConfig.title,
				callback: function callback() {
					return $e.route("panel/global/" + tabId);
				}
			};
		});
	};
	PanelMenu.initGroups = function() {
		var agentsItems = PanelMenu.createGroupItems("agents");
		var settingsItems = PanelMenu.createGroupItems("settings");
		var additionalSettingsProps = {
			name: "settings-additional-settings",
			icon: "eicon-tools",
			title: (0, _wordpress_i18n.__)("Additional Settings", "elementor"),
			type: "link",
			link: elementor.config.admin_settings_url,
			newTab: true
		};
		settingsItems.push(additionalSettingsProps);
		var groups = [{
			name: "design_system",
			title: (0, _wordpress_i18n.__)("Design System", "elementor"),
			items: PanelMenu.createGroupItems("global")
		}, {
			name: "theme_style",
			title: (0, _wordpress_i18n.__)("Theme Style", "elementor"),
			items: PanelMenu.createGroupItems("theme-style")
		}];
		if (agentsItems.length) groups.push({
			name: "agents",
			title: (0, _wordpress_i18n.__)("Agents", "elementor"),
			items: agentsItems
		});
		groups.push({
			name: "settings",
			title: (0, _wordpress_i18n.__)("Settings", "elementor"),
			items: settingsItems
		});
		PanelMenu.groups = new Backbone.Collection(groups);
	};
	PanelMenu.getGroups = function() {
		if (!PanelMenu.groups) PanelMenu.initGroups();
		return PanelMenu.groups;
	};

//#endregion
//#region core/kits/assets/js/panel-header-buttons.js
	var arrowIconClass = "eicon-chevron-" + (elementorCommon.config.isRTL ? "right" : "left");
	var buttonBack = "\n<button id=\"elementor-panel-header-kit-back\" class=\"elementor-header-button\" aria-label=\"{{ Back }}\">\n	<i class=\"elementor-icon ".concat(arrowIconClass, " tooltip-target\" aria-hidden=\"true\" data-tooltip=\"{{ Back }}\"></i>\n</button>\n");
	var buttonClose = "\n<button id=\"elementor-panel-header-kit-close\" class=\"elementor-header-button\" aria-label=\"{{ Close }}\">\n	<i class=\"elementor-icon eicon-close tooltip-target\" aria-hidden=\"true\" data-tooltip=\"{{ Close }}\"></i>\n</button>\n";

//#endregion
//#region core/kits/assets/js/panel-header-behavior.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$147(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$147() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$147, "_callSuper");
	function _isNativeReflectConstruct$147() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$147 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$147, "_isNativeReflectConstruct");
	var _default$7 = /*#__PURE__*/ function(_Marionette$Behavior) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$147(this, _default, arguments);
		}
		_inherits(_default, _Marionette$Behavior);
		return _createClass(_default, [
			{
				key: "ui",
				value: function ui() {
					return {
						buttonClose: "#elementor-panel-header-kit-close",
						buttonBack: "#elementor-panel-header-kit-back"
					};
				}
			},
			{
				key: "events",
				value: function events() {
					return {
						"click @ui.buttonClose": "onClickClose",
						"click @ui.buttonBack": "onClickBack"
					};
				}
			},
			{
				key: "onBeforeShow",
				value: function onBeforeShow() {
					this.$el.prepend(elementor.compileTemplate(buttonBack, { Back: (0, _wordpress_i18n.__)("Back", "elementor") }));
					this.$el.append(elementor.compileTemplate(buttonClose, { Close: (0, _wordpress_i18n.__)("Close", "elementor") }));
				}
			},
			{
				key: "onClickClose",
				value: function onClickClose() {
					$e.run("panel/global/close");
				}
			},
			{
				key: "onClickBack",
				value: function onClickBack() {
					$e.run("panel/global/back");
				}
			}
		]);
	}(Marionette.Behavior);

//#endregion
//#region core/kits/assets/js/globals/global-select-behavior.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$146(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$146() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$146, "_callSuper");
	function _isNativeReflectConstruct$146() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$146 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$146, "_isNativeReflectConstruct");
	var GlobalControlSelect = /*#__PURE__*/ function(_Marionette$Behavior) {
		function GlobalControlSelect() {
			_classCallCheck(this, GlobalControlSelect);
			return _callSuper$146(this, GlobalControlSelect, arguments);
		}
		_inherits(GlobalControlSelect, _Marionette$Behavior);
		return _createClass(GlobalControlSelect, [
			{
				key: "getClassNames",
				value: function getClassNames() {
					return {
						previewItemsContainer: "e-global__preview-items-container",
						previewItem: "e-global__preview-item",
						selectedPreviewItem: "e-global__preview-item--selected",
						manageButton: "e-global__manage-button",
						popover: "e-global__popover",
						popoverToggle: "e-global__popover-toggle",
						popoverToggleActive: "e-global__popover-toggle--active",
						controlGlobal: "e-control-global",
						globalPopoverContainer: "e-global__popover-container",
						globalPopoverTitle: "e-global__popover-title",
						globalPopoverTitleText: "e-global__popover-title-text",
						globalPopoverInfo: "e-global__popover-info",
						globalPopoverInfoTooltip: "e-global__popover-info-tooltip",
						confirmAddNewGlobal: "e-global__confirm-add",
						confirmMessageText: ".e-global__confirm-message-text"
					};
				}
			},
			{
				key: "registerUiElements",
				value: function registerUiElements() {
					var popoverWidget = this.popover.getElements("widget");
					this.ui.manageGlobalsButton = popoverWidget.find(".".concat(this.getClassNames().manageButton));
				}
			},
			{
				key: "registerPreviewElements",
				value: function registerPreviewElements() {
					var popoverWidget = this.popover.getElements("widget");
					var classes = this.getClassNames();
					this.ui.globalPreviewItems = popoverWidget.find(".".concat(classes.previewItem));
				}
			},
			{
				key: "registerEvents",
				value: function registerEvents() {
					var _this = this;
					this.ui.globalPopoverToggle.on("click", function(event) {
						return _this.toggleGlobalPopover(event);
					});
					this.ui.manageGlobalsButton.on("click", function() {
						var route = _this.view.getGlobalMeta().route;
						var args = {
							route: $e.routes.getHistory("panel").reverse()[0].route,
							container: _this.view.options.container
						};
						$e.run("panel/global/open", args).then(function() {
							return $e.route(route);
						});
						_this.popover.hide();
					});
				}
			},
			{
				key: "addPreviewItemsClickListener",
				value: function addPreviewItemsClickListener() {
					var _this2 = this;
					this.ui.$globalPreviewItemsContainer.on("click", ".".concat(this.getClassNames().previewItem), function(event) {
						return _this2.applySavedGlobalValue(event.currentTarget.dataset.globalId);
					});
				}
			},
			{
				key: "fetchGlobalValue",
				value: function fetchGlobalValue() {
					var _this3 = this;
					return $e.data.get(this.view.getGlobalKey()).then(function(globalData) {
						_this3.view.globalValue = globalData.data.value;
						_this3.onValueTypeChange();
						elementor.kitManager.renderGlobalVariables();
						_this3.view.applySavedValue();
						return globalData.data;
					}).catch(function(e) {
						var _e$data;
						if (404 !== (e === null || e === void 0 || (_e$data = e.data) === null || _e$data === void 0 ? void 0 : _e$data.status)) return Promise.reject(e);
						_this3.disableGlobalValue(false);
					});
				}
			},
			{
				key: "setCurrentActivePreviewItem",
				value: function setCurrentActivePreviewItem() {
					var selectedClass = this.getClassNames().selectedPreviewItem;
					var defaultGlobalsAreEnabled = elementor.config.globals.defaults_enabled[this.view.getGlobalMeta().controlType];
					if (this.activePreviewItem) this.resetActivePreviewItem();
					var globalKey = this.view.getGlobalKey();
					if (!globalKey && !this.view.getControlValue() && defaultGlobalsAreEnabled) {
						var _this$view$model$get;
						globalKey = (_this$view$model$get = this.view.model.get("global")) === null || _this$view$model$get === void 0 ? void 0 : _this$view$model$get.default;
					}
					if (!globalKey) {
						this.activePreviewItem = null;
						return;
					}
					var globalId = $e.data.commandExtractArgs(globalKey).args.query.id;
					var $item = this.ui.globalPreviewItems.filter("[data-global-id=\"".concat(globalId, "\"]"));
					if (!$item) return;
					this.activePreviewItem = $item;
					this.activePreviewItem.addClass(selectedClass);
				}
			},
			{
				key: "resetActivePreviewItem",
				value: function resetActivePreviewItem() {
					if (this.activePreviewItem) this.activePreviewItem.removeClass(this.getClassNames().selectedPreviewItem);
					this.activePreviewItem = null;
				}
			},
			{
				key: "applySavedGlobalValue",
				value: function applySavedGlobalValue(globalId) {
					this.setGlobalValue(globalId);
					this.fetchGlobalValue();
					this.popover.hide();
				}
			},
			{
				key: "onValueTypeChange",
				value: function onValueTypeChange() {
					this.updateCurrentGlobalName();
				}
			},
			{
				key: "updateCurrentGlobalName",
				value: function updateCurrentGlobalName(value) {
					var _this4 = this;
					var classes = this.getClassNames();
					var globalTooltipText = "";
					if (value) globalTooltipText = value;
					else {
						value = this.view.getControlValue();
						var globalValue = this.view.getGlobalKey();
						if (!globalValue && !value && elementor.config.globals.defaults_enabled[this.view.getGlobalMeta().controlType]) {
							var _this$view$model$get2;
							globalValue = (_this$view$model$get2 = this.view.model.get("global")) === null || _this$view$model$get2 === void 0 ? void 0 : _this$view$model$get2.default;
						}
						if (globalValue) {
							$e.data.get(globalValue).then(function(result) {
								var text = "";
								if (result.data.title) text = result.data.title;
								else text = (0, _wordpress_i18n.__)("Default", "elementor");
								_this4.updateCurrentGlobalName(text);
							});
							this.ui.globalPopoverToggle.addClass(classes.popoverToggleActive);
							return;
						} else if (value) globalTooltipText = (0, _wordpress_i18n.__)("Custom", "elementor");
						else globalTooltipText = (0, _wordpress_i18n.__)("Default", "elementor");
						this.ui.globalPopoverToggle.removeClass(classes.popoverToggleActive);
					}
					this.globalName = globalTooltipText;
				}
			},
			{
				key: "onRender",
				value: function onRender() {
					var _this5 = this;
					this.printGlobalToggleButton();
					this.initGlobalPopover();
					if (this.view.getGlobalKey()) setTimeout(function() {
						return _this5.fetchGlobalValue();
					}, 50);
					else this.onValueTypeChange();
					this.$el.addClass(this.getClassNames().controlGlobal);
				}
			},
			{
				key: "toggleGlobalPopover",
				value: function toggleGlobalPopover() {
					var _this6 = this;
					if (this.popover.isVisible()) this.popover.hide();
					else {
						if (this.ui.$globalPreviewItemsContainer) this.ui.$globalPreviewItemsContainer.remove();
						this.view.getGlobalsList().then(function(globalsList) {
							_this6.addGlobalsListToPopover(globalsList);
							_this6.registerPreviewElements();
							_this6.addPreviewItemsClickListener();
							_this6.popover.show();
							_this6.setCurrentActivePreviewItem();
						});
					}
				}
			},
			{
				key: "buildGlobalPopover",
				value: function buildGlobalPopover() {
					var _this7 = this;
					var classes = this.getClassNames();
					var $popover = jQuery("<div>", { class: classes.globalPopoverContainer });
					var $popoverTitle = jQuery("<div>", { class: classes.globalPopoverTitle }).html("<div class=\"" + classes.globalPopoverInfo + "\"><i class=\"eicon-info-circle\"></i></div><span class=\"" + classes.globalPopoverTitleText + "\">" + this.getOption("popoverTitle") + "</span>");
					var $manageGlobalsLink = jQuery("<div>", { class: classes.manageButton }).html("<i class=\"eicon-cog\"></i>");
					$popoverTitle.append($manageGlobalsLink);
					$popover.append($popoverTitle);
					this.manageButtonTooltipText = this.getOption("manageButtonText");
					$manageGlobalsLink.tipsy({
						title: function title() {
							return _this7.manageButtonTooltipText;
						},
						offset: 3,
						gravity: function gravity() {
							return "s";
						}
					});
					return $popover;
				}
			},
			{
				key: "printGlobalToggleButton",
				value: function printGlobalToggleButton() {
					var _this8 = this;
					var $globalToggleButton = jQuery("<div>", { class: this.getClassNames().popoverToggle + " elementor-control-unit-1" });
					var $globalPopoverToggleIcon = jQuery("<i>", { class: "eicon-globe" });
					var $globalsLoadingSpinner = jQuery("<span>", { class: "elementor-control-spinner" }).html("<i class=\"eicon-spinner eicon-animation-spin\"></i></span>");
					$globalToggleButton.append($globalPopoverToggleIcon);
					this.$el.find(".elementor-control-input-wrapper").prepend($globalToggleButton);
					this.ui.globalPopoverToggle = $globalToggleButton;
					this.ui.globalPopoverToggleIcon = $globalPopoverToggleIcon;
					this.ui.$globalsLoadingSpinner = $globalsLoadingSpinner;
					this.ui.globalPopoverToggleIcon.tipsy({
						title: function title() {
							return _this8.globalName;
						},
						offset: 7,
						gravity: function gravity() {
							return "s";
						}
					});
					$globalToggleButton.before($globalsLoadingSpinner);
					this.ui.$globalsLoadingSpinner.hide();
				}
			},
			{
				key: "initGlobalPopover",
				value: function initGlobalPopover() {
					this.popover = elementorCommon.dialogsManager.createWidget("simple", {
						className: this.getClassNames().popover,
						message: this.buildGlobalPopover(),
						effects: {
							show: "show",
							hide: "hide"
						},
						hide: { onOutsideClick: false },
						position: {
							my: "right top",
							at: "right bottom+5",
							of: this.ui.globalPopoverToggle,
							collision: "fit flip",
							autoRefresh: true
						}
					});
					this.registerUiElementsAndEvents();
					this.createGlobalInfoTooltip();
				}
			},
			{
				key: "addGlobalsListToPopover",
				value: function addGlobalsListToPopover(globalsList) {
					var $globalPreviewItemsContainer = jQuery("<div>", { class: "e-global__preview-items-container" });
					this.view.buildGlobalsList(globalsList, $globalPreviewItemsContainer);
					this.popover.getElements("widget").find(".".concat(this.getClassNames().globalPopoverTitle)).after($globalPreviewItemsContainer);
					this.ui.$globalPreviewItemsContainer = $globalPreviewItemsContainer;
				}
			},
			{
				key: "registerUiElementsAndEvents",
				value: function registerUiElementsAndEvents() {
					this.registerUiElements();
					this.registerEvents();
				}
			},
			{
				key: "onAddGlobalToList",
				value: function onAddGlobalToList($confirmMessage) {
					var _this9 = this;
					var classes = this.getClassNames();
					this.confirmNewGlobalModal = elementorCommon.dialogsManager.createWidget("confirm", {
						className: classes.confirmAddNewGlobal,
						headerMessage: this.getOption("newGlobalConfirmTitle"),
						message: $confirmMessage,
						strings: {
							confirm: (0, _wordpress_i18n.__)("Create", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Cancel", "elementor")
						},
						hide: { onBackgroundClick: false },
						onConfirm: function onConfirm() {
							return _this9.onConfirmNewGlobal();
						},
						onShow: function onShow() {
							var modalWidget = _this9.confirmNewGlobalModal.getElements("widget");
							_this9.ui.globalNameInput = modalWidget.find("input").focus();
							_this9.ui.confirmMessageText = modalWidget.find(classes.confirmMessageText);
							_this9.ui.globalNameInput.on("input", function() {
								return _this9.onAddGlobalConfirmInputChange();
							});
						}
					});
					this.confirmNewGlobalModal.show();
				}
			},
			{
				key: "onAddGlobalConfirmInputChange",
				value: function onAddGlobalConfirmInputChange() {
					if (!this.view.globalsList) return;
					var messageContent;
					for (var _i = 0, _Object$values = Object.values(this.view.globalsList); _i < _Object$values.length; _i++) {
						var globalValue = _Object$values[_i];
						if (this.ui.globalNameInput.val() === globalValue.title) {
							messageContent = this.view.getNameAlreadyExistsMessage();
							break;
						} else messageContent = this.view.getConfirmTextMessage();
					}
					this.ui.confirmMessageText.html(messageContent);
				}
			},
			{
				key: "onConfirmNewGlobal",
				value: function onConfirmNewGlobal() {
					var globalMeta = this.view.getGlobalMeta();
					globalMeta.title = this.ui.globalNameInput.val();
					this.createNewGlobal(globalMeta);
				}
			},
			{
				key: "createNewGlobal",
				value: function createNewGlobal(globalMeta) {
					var _this0 = this;
					this.ui.$globalsLoadingSpinner.show();
					$e.run(globalMeta.commandName + "/create", {
						container: this.view.container,
						setting: globalMeta.key,
						title: globalMeta.title
					}).then(function(result) {
						_this0.applySavedGlobalValue(result.data.id);
						_this0.ui.$globalsLoadingSpinner.hide();
					});
				}
			},
			{
				key: "setGlobalValue",
				value: function setGlobalValue(globalId) {
					var command = "";
					var settings = {};
					if (this.view.getGlobalKey()) command = "document/globals/settings";
					else command = "document/globals/enable";
					settings[this.view.model.get("name")] = this.view.getGlobalCommand() + "?id=" + globalId;
					$e.run(command, {
						container: this.view.options.container,
						settings
					});
				}
			},
			{
				key: "onUnsetGlobalValue",
				value: function onUnsetGlobalValue() {
					this.disableGlobalValue();
				}
			},
			{
				key: "onUnlinkGlobalDefault",
				value: function onUnlinkGlobalDefault() {
					var _this1 = this;
					var globalMeta = this.view.getGlobalMeta();
					$e.run("document/globals/unlink", {
						container: this.view.container,
						globalValue: this.view.model.get("global").default,
						setting: globalMeta.key,
						options: { external: true }
					}).then(function() {
						_this1.onValueTypeChange();
						_this1.view.globalValue = null;
						_this1.resetActivePreviewItem();
					});
				}
			},
			{
				key: "createGlobalInfoTooltip",
				value: function createGlobalInfoTooltip() {
					var _this10 = this;
					var classes = this.getClassNames();
					var $infoIcon = this.popover.getElements("widget").find(".".concat(classes.globalPopoverInfo));
					this.globalInfoTooltip = elementorCommon.dialogsManager.createWidget("simple", {
						className: classes.globalPopoverInfoTooltip,
						message: this.getOption("tooltipText"),
						effects: {
							show: "show",
							hide: "hide"
						},
						position: {
							my: "left bottom",
							at: "left top+9",
							of: this.popover.getElements("widget"),
							autoRefresh: true
						}
					});
					$infoIcon.on({
						mouseenter: function mouseenter() {
							return _this10.globalInfoTooltip.show();
						},
						mouseleave: function mouseleave() {
							return _this10.globalInfoTooltip.hide();
						}
					});
				}
			},
			{
				key: "disableGlobalValue",
				value: function disableGlobalValue() {
					var _this11 = this;
					var restore = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
					var globalMeta = this.view.getGlobalMeta();
					return $e.run("document/globals/disable", {
						container: this.view.container,
						settings: _defineProperty({}, globalMeta.key, ""),
						options: { restore }
					}).then(function() {
						_this11.onValueTypeChange();
						_this11.view.globalValue = null;
						_this11.resetActivePreviewItem();
					});
				}
			}
		]);
	}(Marionette.Behavior);

//#endregion
//#region core/kits/assets/js/manager.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_defineProperty();
	var import_controls_css_parser = /* @__PURE__ */ __toESM(require_controls_css_parser());
	function ownKeys$8(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$8, "ownKeys");
	function _objectSpread$8(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$8(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$8, "_objectSpread");
	function _callSuper$145(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$145() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$145, "_callSuper");
	function _isNativeReflectConstruct$145() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$145 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$145, "_isNativeReflectConstruct");
	function _superPropGet$23(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$23, "_superPropGet");
	var V4_GROUP = "v4";
	var Manager$1 = /*#__PURE__*/ function(_elementorModules$edi) {
		function Manager() {
			var _this;
			_classCallCheck(this, Manager);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$145(this, Manager, [].concat(args));
			_defineProperty(_this, "loadingTriggers", {
				preview: false,
				globals: false
			});
			/**
			* @type {ControlsCSSParser}
			*/
			_defineProperty(_this, "variablesCSS", null);
			return _this;
		}
		_inherits(Manager, _elementorModules$edi);
		return _createClass(Manager, [
			{
				key: "initialize",
				value: function initialize() {
					var _this2 = this;
					elementor.on("preview:loaded", function() {
						_this2.loadingTriggers.preview = true;
						_this2.renderGlobalsDefaultCSS();
					});
					elementor.on("document:loaded", function() {
						_this2.renderGlobalVariables();
					});
					elementor.once("globals:loaded", function() {
						_this2.loadingTriggers.globals = true;
						_this2.renderGlobalsDefaultCSS();
					});
					elementor.hooks.addFilter("controls/base/behaviors", this.addGlobalsBehavior);
					if (!elementor.config.user.can_edit_kit) return;
					$e.components.register(new _default$9({ manager: this }));
				}
			},
			{
				key: "addPanelPages",
				value: function addPanelPages() {
					elementor.getPanelView().addPage("kit_settings", {
						view: panel_default,
						title: (0, _wordpress_i18n.__)("Site Settings", "elementor")
					});
					elementor.getPanelView().addPage("kit_menu", {
						view: PanelMenu,
						title: (0, _wordpress_i18n.__)("Site Settings", "elementor")
					});
				}
			},
			{
				key: "addPanelMenuItem",
				value: function addPanelMenuItem() {
					var menu = elementor.modules.layouts.panel.pages.menu.Menu;
					menu.addItem({
						name: "global-settings",
						icon: "eicon-global-settings",
						title: (0, _wordpress_i18n.__)("Site Settings", "elementor"),
						type: "page",
						callback: function callback() {
							$e.run("panel/global/open", { route: $e.routes.getHistory("panel").reverse()[0].route });
						}
					}, "style", "editor-preferences");
					menu.addItem({
						name: "site-editor",
						icon: "eicon-theme-builder",
						title: (0, _wordpress_i18n.__)("Theme Builder", "elementor"),
						type: "page",
						callback: function callback() {
							return $e.run("app/open");
						}
					}, "style", "editor-preferences");
				}
			},
			{
				key: "addHeaderBehavior",
				value: function addHeaderBehavior(behaviors) {
					behaviors.kit = { behaviorClass: _default$7 };
					return behaviors;
				}
			},
			{
				key: "addGlobalsBehavior",
				value: function addGlobalsBehavior(behaviors, view) {
					if (!view.isGlobalActive) return;
					var isGlobalActive = view.isGlobalActive();
					if ("color" === view.options.model.get("type") && isGlobalActive) behaviors.globals = {
						behaviorClass: GlobalControlSelect,
						popoverTitle: (0, _wordpress_i18n.__)("Global Colors", "elementor"),
						manageButtonText: (0, _wordpress_i18n.__)("Manage Global Colors", "elementor"),
						tooltipText: (0, _wordpress_i18n.__)("Global Colors help you work smarter. Save a color, and use it anywhere throughout your site. Access and edit your global colors by clicking the Manage button.", "elementor"),
						newGlobalConfirmTitle: (0, _wordpress_i18n.__)("Create New Global Color", "elementor")
					};
					if ("popover_toggle" === view.options.model.get("type") && "typography" === view.options.model.get("groupType") && isGlobalActive) behaviors.globals = {
						behaviorClass: GlobalControlSelect,
						popoverTitle: (0, _wordpress_i18n.__)("Global Fonts", "elementor"),
						manageButtonText: (0, _wordpress_i18n.__)("Manage Global Fonts", "elementor"),
						tooltipText: (0, _wordpress_i18n.__)("Global Fonts help you work smarter. Save a Typography, and use it anywhere throughout your site. Access and edit your Global Fonts by clicking the Manage button.", "elementor"),
						newGlobalConfirmTitle: (0, _wordpress_i18n.__)("Create New Global Font", "elementor")
					};
					return behaviors;
				}
			},
			{
				key: "renderGlobalVariables",
				value: function renderGlobalVariables() {
					var _this3 = this;
					if (!this.variablesCSS) this.variablesCSS = new import_controls_css_parser.default({
						id: "e-kit-variables",
						settingsModel: new elementorModules.editor.elements.models.BaseSettings({}, {})
					});
					if ("kit" === elementor.documents.getCurrent().config.type) {
						this.variablesCSS.removeStyleFromDocument();
						return;
					}
					$e.data.get("globals/index").then(function(_ref) {
						var data = _ref.data;
						if (data.colors) Object.values(data.colors).forEach(function(item) {
							if ("v4" === item.group) return;
							var controls = elementor.config.kit_config.design_system_controls.colors;
							var values = {
								_id: item.id,
								color: item.value
							};
							_this3.variablesCSS.addStyleRules(controls, values, controls, ["{{WRAPPER}}"], ["body"]);
						});
						if (data.typography) Object.values(data.typography).forEach(function(item) {
							if (V4_GROUP === item.group) return;
							var controls = elementor.config.kit_config.design_system_controls.typography;
							var values = _objectSpread$8({ _id: item.id }, item.value);
							if (item.value.typography_font_family) elementor.helpers.enqueueFont(item.value.typography_font_family);
							_this3.variablesCSS.addStyleRules(controls, values, controls, ["{{WRAPPER}}"], ["body"]);
						});
						_this3.variablesCSS.addStyleToDocument();
					});
				}
			},
			{
				key: "renderGlobalsDefaultCSS",
				value: function renderGlobalsDefaultCSS() {
					if (!this.loadingTriggers.preview || !this.loadingTriggers.globals) return;
					var cssParser = new import_controls_css_parser.default({ id: "e-global-style" });
					var defaultColorsEnabled = elementor.config.globals.defaults_enabled.colors;
					var defaultTypographyEnabled = elementor.config.globals.defaults_enabled.typography;
					if (!defaultColorsEnabled && !defaultTypographyEnabled) return;
					Object.values(elementor.widgetsCache).forEach(function(widget) {
						if (!widget.controls) return;
						var globalControls = [];
						var globalValues = {};
						Object.values(widget.controls).forEach(function(control) {
							var _control$global;
							var _globalControl$global;
							var isColorControl = "color" === control.type;
							var isTypographyControl = "typography" === control.groupType;
							if (isColorControl && !defaultColorsEnabled || isTypographyControl && !defaultTypographyEnabled) return;
							var globalControl = control;
							if (control.groupType) globalControl = widget.controls[control.groupPrefix + control.groupType];
							if ((_control$global = control.global) !== null && _control$global !== void 0 && _control$global.default) globalValues[control.name] = globalControl.global.default;
							if ((_globalControl$global = globalControl.global) !== null && _globalControl$global !== void 0 && _globalControl$global.default) globalControls.push(control);
						});
						globalControls.forEach(function(control) {
							cssParser.addControlStyleRules(control, widget.controls, widget.controls, ["{{WRAPPER}}"], [".elementor-widget-" + widget.widget_type], globalValues);
						});
					});
					cssParser.addStyleToDocument();
				}
			},
			{
				key: "onInit",
				value: function onInit() {
					var _this4 = this;
					_superPropGet$23(Manager, "onInit", this, 3)([]);
					elementorCommon.elements.$window.on("elementor:loaded", function() {
						if (elementor.config.initial_document.panel.support_kit) _this4.initialize();
					});
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region assets/dev/js/editor/regions/navigator/commands/close.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$144(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$144() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$144, "_callSuper");
	function _isNativeReflectConstruct$144() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$144 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$144, "_isNativeReflectConstruct");
	var Close$1 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Close() {
			_classCallCheck(this, Close);
			return _callSuper$144(this, Close, arguments);
		}
		_inherits(Close, _$e$modules$CommandBa);
		return _createClass(Close, [{
			key: "apply",
			value: function apply() {
				return this.component.close();
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/regions/navigator/commands/expand-all.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$143(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$143() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$143, "_callSuper");
	function _isNativeReflectConstruct$143() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$143 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$143, "_isNativeReflectConstruct");
	var ExpandAll = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function ExpandAll() {
			_classCallCheck(this, ExpandAll);
			return _callSuper$143(this, ExpandAll, arguments);
		}
		_inherits(ExpandAll, _$e$modules$CommandBa);
		return _createClass(ExpandAll, [
			{
				key: "apply",
				value: function apply() {
					if (this.component.isOpen) this.expandAllElements();
					else this.openNavigator();
				}
			},
			{
				key: "openNavigator",
				value: function openNavigator() {
					$e.run("navigator/open", { expandAllElements: true });
				}
			},
			{
				key: "expandAllElements",
				value: function expandAllElements() {
					this.component.manager.currentView.elements.currentView.recursiveChildInvoke("toggleList", true);
				}
			}
		]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/regions/navigator/commands/open.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$142(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$142() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$142, "_callSuper");
	function _isNativeReflectConstruct$142() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$142 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$142, "_isNativeReflectConstruct");
	var Open$3 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Open() {
			_classCallCheck(this, Open);
			return _callSuper$142(this, Open, arguments);
		}
		_inherits(Open, _$e$modules$CommandBa);
		return _createClass(Open, [{
			key: "apply",
			value: function apply(args) {
				$e.route(this.component.getNamespace(), args);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/regions/navigator/commands/toggle.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$141(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$141() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$141, "_callSuper");
	function _isNativeReflectConstruct$141() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$141 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$141, "_isNativeReflectConstruct");
	var Toggle$1 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Toggle() {
			_classCallCheck(this, Toggle);
			return _callSuper$141(this, Toggle, arguments);
		}
		_inherits(Toggle, _$e$modules$CommandBa);
		return _createClass(Toggle, [{
			key: "apply",
			value: function apply() {
				if (this.component.isOpen) $e.run("navigator/close");
				else $e.run("navigator/open");
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/regions/navigator/commands/index.js
	var commands_exports$12 = /* @__PURE__ */ __exportAll({
		Close: () => Close$1,
		ExpandAll: () => ExpandAll,
		Open: () => Open$3,
		Toggle: () => Toggle$1
	});

//#endregion
//#region assets/dev/js/editor/regions/navigator/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_component_base$1();
	function _callSuper$140(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$140() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$140, "_callSuper");
	function _isNativeReflectConstruct$140() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$140 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$140, "_isNativeReflectConstruct");
	function _superPropGet$22(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$22, "_superPropGet");
	var Component$18 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$140(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "navigator";
				}
			},
			{
				key: "defaultRoutes",
				value: function defaultRoutes() {
					return { "": function _() {} };
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$12);
				}
			},
			{
				key: "defaultShortcuts",
				value: function defaultShortcuts() {
					return { toggle: {
						keys: "ctrl+i",
						dependency: function dependency() {
							return elementor.getPreviewContainer().isEditable();
						}
					} };
				}
			},
			{
				key: "open",
				value: function open(args) {
					var _args$model = args.model;
					var model = _args$model === void 0 ? false : _args$model;
					var _args$expandAllElemen = args.expandAllElements;
					var expandAllElements = _args$expandAllElemen === void 0 ? false : _args$expandAllElemen;
					this.manager.open(model, { expandAllElements });
					return true;
				}
			},
			{
				key: "close",
				value: function close(silent) {
					if (!_superPropGet$22(Component, "close", this, 3)([])) return false;
					this.manager.close(silent);
					return true;
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/regions/navigator/element-empty.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$139(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$139() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$139, "_callSuper");
	function _isNativeReflectConstruct$139() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$139 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$139, "_isNativeReflectConstruct");
	var _default$6 = /*#__PURE__*/ function(_Marionette$ItemView) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$139(this, _default, arguments);
		}
		_inherits(_default, _Marionette$ItemView);
		return _createClass(_default, [
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-navigator__elements--empty";
				}
			},
			{
				key: "className",
				value: function className() {
					return "elementor-empty-view";
				}
			},
			{
				key: "onRender",
				value: function onRender() {
					this.$el.css("padding-inline-start", this.getOption("indent") + "px");
				}
			}
		]);
	}(Marionette.ItemView);

//#endregion
//#region assets/dev/js/editor/regions/navigator/root-empty.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$138(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$138() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$138, "_callSuper");
	function _isNativeReflectConstruct$138() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$138 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$138, "_isNativeReflectConstruct");
	var _default$5 = /*#__PURE__*/ function(_Marionette$ItemView) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$138(this, _default, arguments);
		}
		_inherits(_default, _Marionette$ItemView);
		return _createClass(_default, [{
			key: "getTemplate",
			value: function getTemplate() {
				return "#tmpl-elementor-navigator__root--empty";
			}
		}, {
			key: "className",
			value: function className() {
				return "elementor-nerd-box";
			}
		}]);
	}(Marionette.ItemView);

//#endregion
//#region assets/dev/js/editor/regions/navigator/element.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function ownKeys$7(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$7, "ownKeys");
	function _objectSpread$7(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$7(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$7, "_objectSpread");
	function _callSuper$137(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$137() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$137, "_callSuper");
	function _isNativeReflectConstruct$137() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$137 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$137, "_isNativeReflectConstruct");
	var NEW_NESTABLE_CLASS = "elementor-navigator__element-new-nestable";
	var _default$4 = /*#__PURE__*/ function(_Marionette$Composite) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$137(this, _default, arguments);
		}
		_inherits(_default, _Marionette$Composite);
		return _createClass(_default, [
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-navigator__elements";
				}
			},
			{
				key: "ui",
				value: function ui() {
					return {
						item: "> .elementor-navigator__item",
						title: "> .elementor-navigator__item .elementor-navigator__element__title__text",
						toggle: "> .elementor-navigator__item > .elementor-navigator__element__toggle",
						toggleList: "> .elementor-navigator__item > .elementor-navigator__element__list-toggle",
						indicators: "> .elementor-navigator__item > .elementor-navigator__element__indicators",
						indicator: "> .elementor-navigator__item > .elementor-navigator__element__indicators > .elementor-navigator__element__indicator",
						elements: "> .elementor-navigator__elements",
						icon: "> .elementor-navigator__item .elementor-navigator__element__element-type"
					};
				}
			},
			{
				key: "events",
				value: function events() {
					return {
						contextmenu: "onContextMenu",
						"click @ui.item": "onItemClick",
						"keydown @ui.item": "onItemPress",
						"click @ui.toggle": "onToggleClick",
						"click @ui.toggleList": "onToggleListClick",
						"click @ui.indicator": "onIndicatorClick",
						"dblclick @ui.title": "onTitleDoubleClick",
						"keydown @ui.title": "onTitleKeyDown",
						"paste @ui.title": "onTitlePaste",
						"sortstart @ui.elements": "onSortStart",
						"sortover @ui.elements": "onSortOver",
						"sortout @ui.elements": "onSortOut",
						"sortstop @ui.elements": "onSortStop",
						"sortupdate @ui.elements": "onSortUpdate",
						"sortreceive @ui.elements": "onSortReceive"
					};
				}
			},
			{
				key: "getEmptyView",
				value: function getEmptyView() {
					if (this.isNavigatorContainer()) return _default$5;
					if (this.hasChildren()) return _default$6;
					return null;
				}
			},
			{
				key: "childViewOptions",
				value: function childViewOptions() {
					return { indent: this.getIndent() + 10 };
				}
			},
			{
				key: "className",
				value: function className() {
					var classes = "elementor-navigator__element";
					var elType = this.model.get("elType");
					if (!this.isNavigatorContainer()) {
						classes += " elementor-navigator__element-" + elType;
						if (!this.isExcludedNestableElement()) classes += " " + NEW_NESTABLE_CLASS;
					}
					if (this.hasChildren()) classes += " elementor-navigator__element--has-children";
					return classes;
				}
			},
			{
				key: "getSortableClassName",
				value: function getSortableClassName() {
					var elType = this.model.get("elType");
					if (this.isExcludedNestableElement()) return "elementor-navigator__element-" + elType;
					return NEW_NESTABLE_CLASS;
				}
			},
			{
				key: "attributes",
				value: function attributes() {
					return {
						"data-id": this.model.id,
						"data-model-cid": this.model.cid
					};
				}
			},
			{
				key: "templateHelpers",
				value: function templateHelpers() {
					var helpers = {};
					if (!this.isNavigatorContainer()) {
						helpers.title = this.model.getTitle();
						helpers.icon = "section" === this.model.get("elType") ? "" : this.model.getIcon();
					}
					return helpers;
				}
			},
			{
				key: "isProPromotion",
				value: function isProPromotion() {
					var _elementor$widgetsCac;
					var elType = this.model.get("elType");
					return !!((_elementor$widgetsCac = elementor.widgetsCache) !== null && _elementor$widgetsCac !== void 0 && (_elementor$widgetsCac = _elementor$widgetsCac[elType]) !== null && _elementor$widgetsCac !== void 0 && (_elementor$widgetsCac = _elementor$widgetsCac.meta) !== null && _elementor$widgetsCac !== void 0 && _elementor$widgetsCac.is_pro_promotion);
				}
			},
			{
				key: "shouldShowChildrenInStructure",
				value: function shouldShowChildrenInStructure() {
					if (this.isProPromotion()) return false;
					return elementor.hooks.applyFilters("navigator/element/show-children", true, this.model);
				}
			},
			{
				key: "initialize",
				value: function initialize() {
					this.collection = this.isProPromotion() ? new Backbone.Collection() : this.model.get("elements");
					this.childViewContainer = ".elementor-navigator__elements";
					this.listenTo(this.model, "change", this.onModelChange).listenTo(this.model.get("settings"), "change", this.onModelSettingsChange);
					this.listenTo(this.model, "change:editor_settings", this.onModelEditorSettingsChange);
					this.listenTo(this.model, "title_external_change", this.onTitleExternalChange);
					this.listenTo(this.model, "navigator:add", this.onNavigatorAdd);
					this._onRefreshChildrenRequest = this._onRefreshChildrenRequest.bind(this);
					window.addEventListener("elementor/navigator/refresh-children", this._onRefreshChildrenRequest);
				}
			},
			{
				key: "onDestroy",
				value: function onDestroy() {
					window.removeEventListener("elementor/navigator/refresh-children", this._onRefreshChildrenRequest);
				}
			},
			{
				key: "_onRefreshChildrenRequest",
				value: function _onRefreshChildrenRequest(event) {
					var _event$detail;
					var targetId = event === null || event === void 0 || (_event$detail = event.detail) === null || _event$detail === void 0 ? void 0 : _event$detail.elementId;
					if (targetId && this.model.get("id") !== targetId) return;
					this.render();
					this.syncNavigatorStructureState();
					this.updateSelection();
				}
			},
			{
				key: "addChild",
				value: function addChild(child, ChildView, index) {
					if (!this.shouldShowChildrenInStructure()) return;
					return Marionette.CompositeView.prototype.addChild.call(this, child, ChildView, index);
				}
			},
			{
				key: "onNavigatorAdd",
				value: function onNavigatorAdd(childModel, options) {
					this._onCollectionAdd(childModel, this.collection, options || {});
				}
			},
			{
				key: "onTitleExternalChange",
				value: function onTitleExternalChange() {
					this.ui.title.text(this.model.getTitle());
				}
			},
			{
				key: "onModelEditorSettingsChange",
				value: function onModelEditorSettingsChange(elementModel, editorSettings) {
					var _elementModel$changed;
					if (void 0 !== ((_elementModel$changed = elementModel.changed) === null || _elementModel$changed === void 0 || (_elementModel$changed = _elementModel$changed.editor_settings) === null || _elementModel$changed === void 0 ? void 0 : _elementModel$changed.title)) this.ui.title.text(editorSettings.title);
					window.dispatchEvent(new CustomEvent("elementor/element/update_editor_settings", { detail: {
						element: elementModel,
						editorSettings
					} }));
				}
			},
			{
				key: "getIndent",
				value: function getIndent() {
					return this.getOption("indent") || 0;
				}
			},
			{
				key: "isExcludedNestableElement",
				value: function isExcludedNestableElement() {
					return ["section", "column"].includes(this.model.get("elType"));
				}
			},
			{
				key: "isNavigatorContainer",
				value: function isNavigatorContainer() {
					return !this.model.get("elType");
				}
			},
			{
				key: "hasChildren",
				value: function hasChildren() {
					var _this$model$get;
					if (!this.shouldShowChildrenInStructure()) return false;
					return ((_this$model$get = this.model.get("elements")) === null || _this$model$get === void 0 ? void 0 : _this$model$get.length) || "widget" !== this.model.get("elType");
				}
			},
			{
				key: "toggleList",
				value: function toggleList(state, callback) {
					if (!this.hasChildren() || this.isNavigatorContainer()) return;
					if (this.ui.item.hasClass("elementor-active") === state) return;
					this.ui.item.toggleClass("elementor-active", state);
					var slideMethod = "slideToggle";
					if (void 0 !== state) slideMethod = "slide" + (state ? "Down" : "Up");
					this.ui.elements[slideMethod](300, callback);
				}
			},
			{
				key: "toggleHiddenClass",
				value: function toggleHiddenClass() {
					this.$el.toggleClass("elementor-navigator__element--hidden", this.model.getVisibility());
				}
			},
			{
				key: "recursiveChildInvoke",
				value: function recursiveChildInvoke(method) {
					var _arguments = arguments;
					var _this = this;
					for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) restArgs[_key - 1] = arguments[_key];
					this[method].apply(this, restArgs);
					this.children.each(function(child) {
						if (!(child instanceof _this.constructor)) return;
						child.recursiveChildInvoke.apply(child, _arguments);
					});
				}
			},
			{
				key: "recursiveParentInvoke",
				value: function recursiveParentInvoke(method) {
					for (var _len2 = arguments.length, restArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) restArgs[_key2 - 1] = arguments[_key2];
					if (!(this._parent instanceof this.constructor)) return;
					this._parent[method].apply(this._parent, restArgs);
					this._parent.recursiveParentInvoke.apply(this._parent, arguments);
				}
			},
			{
				key: "recursiveChildAgreement",
				value: function recursiveChildAgreement(method) {
					for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) restArgs[_key3 - 1] = arguments[_key3];
					if (!this[method].apply(this, restArgs)) return false;
					var hasAgreement = true;
					for (var _i = 0, _Object$values = Object.values(this.children._views); _i < _Object$values.length; _i++) {
						var child = _Object$values[_i];
						if (!(child instanceof this.constructor)) continue;
						if (!child.recursiveChildAgreement.apply(child, arguments)) {
							hasAgreement = false;
							break;
						}
					}
					return hasAgreement;
				}
			},
			{
				key: "activateMouseInteraction",
				value: function activateMouseInteraction() {
					this.$el.on({
						mouseenter: this.onMouseEnter.bind(this),
						mouseleave: this.onMouseLeave.bind(this)
					});
				}
			},
			{
				key: "deactivateMouseInteraction",
				value: function deactivateMouseInteraction() {
					this.$el.off("mouseenter mouseleave");
				}
			},
			{
				key: "dragShouldBeIgnored",
				value: function dragShouldBeIgnored(draggedModel) {
					return !this.model.isValidChild(draggedModel);
				}
			},
			{
				key: "addEditingClass",
				value: function addEditingClass() {
					this.ui.item.addClass("elementor-editing");
				}
			},
			{
				key: "removeEditingClass",
				value: function removeEditingClass() {
					this.ui.item.removeClass("elementor-editing");
				}
			},
			{
				key: "enterTitleEditing",
				value: function enterTitleEditing() {
					this.ui.title.attr("contenteditable", true).focus();
					document.execCommand("selectAll");
					elementor.addBackgroundClickListener("navigator", {
						ignore: this.ui.title,
						callback: this.exitTitleEditing.bind(this)
					});
				}
			},
			{
				key: "exitTitleEditing",
				value: function exitTitleEditing() {
					this.ui.title.attr("contenteditable", false);
					var settingsModel = this.model.get("settings");
					var oldTitle = settingsModel.get("_title");
					var newTitle = this.ui.title.text().trim();
					if (!oldTitle) settingsModel.unset("_title", { silent: true });
					if (elementor.helpers.isAtomicWidget(this.model)) {
						var prevEditorSettings = this.model.get("editor_settings");
						this.model.set("editor_settings", _objectSpread$7(_objectSpread$7({}, prevEditorSettings), {}, { title: newTitle }));
					} else settingsModel.set("_title", newTitle);
					$e.internal("document/save/set-is-modified", { status: true });
					elementor.removeBackgroundClickListener("navigator");
				}
			},
			{
				key: "activateSortable",
				value: function activateSortable() {
					if (!elementor.userCan("design")) return;
					this.ui.elements.sortable({
						items: "> .elementor-navigator__element",
						placeholder: "ui-sortable-placeholder",
						axis: "y",
						forcePlaceholderSize: true,
						connectWith: "." + this.getSortableClassName() + " > .elementor-navigator__elements",
						cancel: "[contenteditable=\"true\"], [data-locked=\"true\"]"
					});
				}
			},
			{
				key: "renderIndicators",
				value: function renderIndicators() {
					var _this2 = this;
					var settings = this.model.get("settings").attributes;
					this.ui.indicators.empty();
					jQuery.each(elementor.navigator.indicators, function(indicatorName, indicatorSettings) {
						if (!indicatorSettings.settingKeys.some(function(key) {
							return settings[key];
						})) return;
						var $indicator = jQuery("<div>", {
							class: "elementor-navigator__element__indicator",
							title: indicatorSettings.title
						}).attr("data-section", indicatorSettings.section).html("<i class=\"eicon-".concat(indicatorSettings.icon, "\"></i>"));
						_this2.ui.indicators.append($indicator);
						$indicator.tipsy({
							delayIn: 300,
							gravity: "s"
						});
					});
				}
			},
			{
				key: "updateSelection",
				value: function updateSelection() {
					if (Object.keys(elementor.selection.elements).includes(this.model.get("id"))) this.select();
					else this.deselect();
				}
			},
			{
				key: "select",
				value: function select() {
					this.recursiveParentInvoke("toggleList", true);
					this.addEditingClass();
					elementor.helpers.scrollToView(this.$el, 400, elementor.navigator.getLayout().elements.$el);
				}
			},
			{
				key: "deselect",
				value: function deselect() {
					this.removeEditingClass();
				}
			},
			{
				key: "onRender",
				value: function onRender() {
					this.activateSortable();
					if (this.isNavigatorContainer()) return;
					this.ui.item.css("padding-inline-start", this.getIndent() + "px");
					this.toggleHiddenClass();
					this.renderIndicators();
					this.syncNavigatorStructureState();
				}
			},
			{
				key: "onModelChange",
				value: function onModelChange() {
					var _this$model$changed$e;
					if (void 0 !== this.model.changed.hidden || void 0 !== ((_this$model$changed$e = this.model.changed.editor_settings) === null || _this$model$changed$e === void 0 ? void 0 : _this$model$changed$e.is_hidden)) this.toggleHiddenClass();
				}
			},
			{
				key: "onModelSettingsChange",
				value: function onModelSettingsChange(settingsModel) {
					var _this3 = this;
					if (void 0 !== settingsModel.changed._title) this.ui.title.text(this.model.getTitle());
					if (void 0 !== settingsModel.changed.presetTitle && void 0 === settingsModel._title) this.ui.title.text(this.model.getTitle());
					if (void 0 !== settingsModel.changed.presetIcon) this.ui.icon.html("<i class=\"".concat(this.model.attributes.icon, "\"></i>"));
					jQuery.each(elementor.navigator.indicators, function(indicatorName, indicatorSettings) {
						if (Object.keys(settingsModel.changed).filter(function(key) {
							return indicatorSettings.settingKeys.includes(key);
						}).length) {
							_this3.renderIndicators();
							return false;
						}
					});
				}
			},
			{
				key: "syncNavigatorStructureState",
				value: function syncNavigatorStructureState() {
					if (this.isNavigatorContainer()) return;
					this.$el.toggleClass("elementor-navigator__element--has-children", !!this.hasChildren());
				}
			},
			{
				key: "onItemPress",
				value: function onItemPress(event) {
					var ENTER_KEY = 13;
					var SPACE_KEY = 32;
					if (ENTER_KEY === event.keyCode) {
						this.onItemClick(event);
						return;
					}
					if (SPACE_KEY === event.keyCode) this.onToggleListClick(event);
				}
			},
			{
				key: "onItemClick",
				value: function onItemClick(event) {
					window.dispatchEvent(new CustomEvent("elementor/navigator/item/click", { detail: {
						id: this.model.get("id"),
						type: this.model.get("elType")
					} }));
					this.model.trigger("request:edit", {
						append: event.ctrlKey || event.metaKey,
						scrollIntoView: true
					});
				}
			},
			{
				key: "onToggleClick",
				value: function onToggleClick(event) {
					event.stopPropagation();
					this.model.trigger("request:toggleVisibility");
				}
			},
			{
				key: "onTitleDoubleClick",
				value: function onTitleDoubleClick() {
					this.enterTitleEditing();
				}
			},
			{
				key: "onTitleKeyDown",
				value: function onTitleKeyDown(event) {
					if (13 === event.which) {
						event.preventDefault();
						this.exitTitleEditing();
					}
				}
			},
			{
				key: "onTitlePaste",
				value: function onTitlePaste(event) {
					event.preventDefault();
					document.execCommand("insertHTML", false, event.originalEvent.clipboardData.getData("text/plain"));
				}
			},
			{
				key: "onToggleListClick",
				value: function onToggleListClick(event) {
					event.stopPropagation();
					this.toggleList();
				}
			},
			{
				key: "onSortStart",
				value: function onSortStart(event, ui) {
					this.model.trigger("request:sort:start", event, ui);
					jQuery(ui.item).children(".elementor-navigator__item").trigger("click");
					elementor.navigator.getLayout().activateElementsMouseInteraction();
				}
			},
			{
				key: "onSortStop",
				value: function onSortStop() {
					elementor.navigator.getLayout().deactivateElementsMouseInteraction();
				}
			},
			{
				key: "onSortOver",
				value: function onSortOver(event) {
					event.stopPropagation();
					this.$el.addClass("elementor-dragging-on-child");
				}
			},
			{
				key: "onSortOut",
				value: function onSortOut(event) {
					event.stopPropagation();
					this.$el.removeClass("elementor-dragging-on-child");
				}
			},
			{
				key: "onSortUpdate",
				value: function onSortUpdate(event, ui) {
					event.stopPropagation();
					if (!this.ui.elements.is(ui.item.parent())) return;
					this.model.trigger("request:sort:update", ui);
				}
			},
			{
				key: "onSortReceive",
				value: function onSortReceive(event, ui) {
					this.model.trigger("request:sort:receive", event, ui);
				}
			},
			{
				key: "onMouseEnter",
				value: function onMouseEnter(event) {
					var _this4 = this;
					event.stopPropagation();
					if (this.recursiveChildAgreement("dragShouldBeIgnored", elementor.channels.data.request("dragging:model"))) return;
					this.autoExpandTimeout = setTimeout(function() {
						_this4.toggleList(true, function() {
							_this4.ui.elements.sortable("refreshPositions");
						});
					}, 500);
				}
			},
			{
				key: "onMouseLeave",
				value: function onMouseLeave(event) {
					event.stopPropagation();
					clearTimeout(this.autoExpandTimeout);
				}
			},
			{
				key: "onContextMenu",
				value: function onContextMenu(event) {
					this.model.trigger("request:contextmenu", event, { location: elementorCommon.eventsManager.config.locations.structurePanel });
				}
			},
			{
				key: "onEditRequest",
				value: function onEditRequest() {
					elementor.navigator.getLayout().elements.currentView.recursiveChildInvoke("removeEditingClass");
					this.select(true);
				}
			},
			{
				key: "onIndicatorClick",
				value: function onIndicatorClick(event) {
					var section = event.currentTarget.dataset.section;
					setTimeout(function() {
						var editor = elementor.getPanelView().currentPageView;
						var tab = editor.getControlModel(section).get("tab");
						editor.activateSection(section);
						editor.activateTab(tab);
						editor.render();
					});
				}
			}
		]);
	}(Marionette.CompositeView);

//#endregion
//#region assets/dev/js/editor/regions/navigator/layout.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$136(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$136() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$136, "_callSuper");
	function _isNativeReflectConstruct$136() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$136 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$136, "_isNativeReflectConstruct");
	var _default$3 = /*#__PURE__*/ function(_Marionette$LayoutVie) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$136(this, _default, arguments);
		}
		_inherits(_default, _Marionette$LayoutVie);
		return _createClass(_default, [
			{
				key: "getTemplate",
				value: function getTemplate() {
					return "#tmpl-elementor-navigator";
				}
			},
			{
				key: "id",
				value: function id() {
					return "elementor-navigator__inner";
				}
			},
			{
				key: "ui",
				value: function ui() {
					return {
						toggleButton: "#elementor-navigator__toggle-all",
						toggleButtonIcon: "#elementor-navigator__toggle-all i",
						toggleButtonA11yText: "#elementor-navigator__toggle-all span",
						closeButton: "#elementor-navigator__close"
					};
				}
			},
			{
				key: "behaviors",
				value: function behaviors() {
					return elementor.hooks.applyFilters("navigator/layout/behaviors", {}, this);
				}
			},
			{
				key: "events",
				value: function events() {
					return {
						"click @ui.toggleButton": "toggleElements",
						"click @ui.closeButton": "onCloseButtonClick",
						"keyup @ui.closeButton": "onCloseButtonKeyPress"
					};
				}
			},
			{
				key: "regions",
				value: function regions() {
					return { elements: "#elementor-navigator__elements" };
				}
			},
			{
				key: "toggleElements",
				value: function toggleElements() {
					var state = "expand" === this.ui.toggleButton.data("elementor-action");
					var a11yText = state ? (0, _wordpress_i18n.__)("Collapse all elements", "elementor") : (0, _wordpress_i18n.__)("Expand all elements", "elementor");
					var classes = ["eicon-collapse", "eicon-expand"];
					this.ui.toggleButton.data("elementor-action", state ? "collapse" : "expand");
					this.ui.toggleButtonIcon.removeClass(classes[+state]).addClass(classes[+!state]);
					this.ui.toggleButtonA11yText.text(a11yText);
					this.elements.currentView.recursiveChildInvoke("toggleList", state);
				}
			},
			{
				key: "activateElementsMouseInteraction",
				value: function activateElementsMouseInteraction() {
					this.elements.currentView.recursiveChildInvoke("activateMouseInteraction");
				}
			},
			{
				key: "deactivateElementsMouseInteraction",
				value: function deactivateElementsMouseInteraction() {
					this.elements.currentView.recursiveChildInvoke("deactivateMouseInteraction");
				}
			},
			{
				key: "updateSelection",
				value: function updateSelection() {
					this.elements.currentView.recursiveChildInvoke("updateSelection");
				}
			},
			{
				key: "onShow",
				value: function onShow() {
					this.elements.show(new _default$4({ model: elementor.elementsModel }));
				}
			},
			{
				key: "onCloseButtonClick",
				value: function onCloseButtonClick() {
					$e.components.get("navigator").close();
				}
			},
			{
				key: "onCloseButtonKeyPress",
				value: function onCloseButtonKeyPress(event) {
					if (13 === event.keyCode) this.onCloseButtonClick();
				}
			}
		]);
	}(Marionette.LayoutView);

//#endregion
//#region assets/dev/js/editor/regions/base.js
	var require_base$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.Region.extend({
			storage: null,
			storageSizeKeys: null,
			constructor: function constructor() {
				Marionette.Region.prototype.constructor.apply(this, arguments);
				var savedStorage = elementorCommon.storage.get(this.getStorageKey());
				this.storage = savedStorage ? savedStorage : this.getDefaultStorage();
				this.storageSizeKeys = Object.keys(this.storage.size);
			},
			saveStorage: function saveStorage(key, value) {
				this.storage[key] = value;
				elementorCommon.storage.set(this.getStorageKey(), this.storage);
			},
			saveSize: function saveSize(size) {
				if (!size) size = elementor.helpers.getElementInlineStyle(this.$el, this.storageSizeKeys);
				this.saveStorage("size", size);
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/regions/navigator/navigator.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$135(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$135() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$135, "_callSuper");
	function _isNativeReflectConstruct$135() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$135 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$135, "_isNativeReflectConstruct");
	var BaseRegion = require_base$1();
	var _default$2 = /*#__PURE__*/ function(_BaseRegion) {
		function _default(options) {
			var _this;
			_classCallCheck(this, _default);
			_this = _callSuper$135(this, _default, [options]);
			_this.component = $e.components.register(new Component$18({ manager: _this }));
			_this.isDocked = false;
			_this.setSize();
			_this.indicators = { customPosition: {
				title: (0, _wordpress_i18n.__)("Custom Positioning", "elementor"),
				icon: "cursor-move",
				settingKeys: ["_position"],
				section: "_section_position"
			} };
			_this.ensurePosition = _this.ensurePosition.bind(_this);
			_this.listenTo(elementor.channels.dataEditMode, "switch", _this.onEditModeSwitched);
			elementor.on("document:loaded", _this.onDocumentLoaded.bind(_this));
			elementor.on("document:unloaded", _this.onDocumentUnloaded.bind(_this));
			return _this;
		}
		_inherits(_default, _BaseRegion);
		return _createClass(_default, [
			{
				key: "getStorageKey",
				value: function getStorageKey() {
					return "navigator";
				}
			},
			{
				key: "getDefaultStorage",
				value: function getDefaultStorage() {
					return {
						visible: true,
						size: {
							width: "",
							height: "",
							top: "",
							bottom: "",
							right: "",
							left: ""
						}
					};
				}
			},
			{
				key: "getLayout",
				value: function getLayout() {
					return this.currentView;
				}
			},
			{
				key: "getDraggableOptions",
				value: function getDraggableOptions() {
					return {
						iframeFix: true,
						handle: "#elementor-navigator__header",
						drag: this.onDrag.bind(this),
						stop: this.onDragStop.bind(this)
					};
				}
			},
			{
				key: "getResizableOptions",
				value: function getResizableOptions() {
					var _this2 = this;
					return {
						handles: "all",
						containment: "document",
						minWidth: 150,
						maxWidth: 500,
						minHeight: 240,
						start: function start() {
							elementor.$previewWrapper.addClass("ui-resizable-resizing");
						},
						stop: function stop() {
							elementor.$previewWrapper.removeClass("ui-resizable-resizing");
							if (_this2.isDocked) {
								_this2.storage.size.width = elementor.helpers.getElementInlineStyle(_this2.$el, ["width"]).width;
								elementorCommon.storage.set("navigator", _this2.storage);
							} else _this2.saveSize();
						},
						resize: function resize(event, ui) {
							_this2.setSize(ui.size.width + "px");
						}
					};
				}
			},
			{
				key: "initLayout",
				value: function initLayout() {
					this.show(new _default$3());
					this.$el.draggable(this.getDraggableOptions());
					this.$el.resizable(this.getResizableOptions());
				}
			},
			{
				key: "open",
				value: function open(model, options) {
					this.$el.show();
					this.setSize();
					if (this.storage.docked) this.dock();
					if (model) model.trigger("request:edit");
					if (options !== null && options !== void 0 && options.expandAllElements) this.currentView.elements.currentView.recursiveChildInvoke("toggleList", true);
					this.saveStorage("visible", true);
					this.ensurePosition();
					elementorCommon.elements.$window.on("resize", this.ensurePosition);
				}
			},
			{
				key: "close",
				value: function close(silent) {
					this.$el.hide();
					if (this.isDocked) this.undock(true);
					if (!silent) this.saveStorage("visible", false);
					if (this.$el.resizable("instance")) this.$el.resizable("destroy");
					elementorCommon.elements.$window.off("resize", this.ensurePosition);
				}
			},
			{
				key: "isOpen",
				value: function isOpen() {
					return this.$el.is(":visible");
				}
			},
			{
				key: "dock",
				value: function dock() {
					elementorCommon.elements.$body.addClass("elementor-navigator-docked");
					this.setSize();
					var resizableOptions = this.getResizableOptions();
					this.$el.css({
						height: "",
						top: "",
						bottom: "",
						left: "",
						right: ""
					});
					if (this.$el.resizable("instance")) this.$el.resizable("destroy");
					resizableOptions.handles = elementorCommon.config.isRTL ? "e" : "w";
					this.$el.resizable(resizableOptions);
					this.isDocked = true;
					this.saveStorage("docked", true);
				}
			},
			{
				key: "undock",
				value: function undock(silent) {
					elementorCommon.elements.$body.removeClass("elementor-navigator-docked");
					this.setSize();
					elementor.$previewWrapper.css(elementorCommon.config.isRTL ? "left" : "right", "");
					if (this.$el.resizable("instance")) {
						this.$el.resizable("destroy");
						this.$el.resizable(this.getResizableOptions());
					}
					this.isDocked = false;
					if (!silent) this.saveStorage("docked", false);
				}
			},
			{
				key: "setSize",
				value: function setSize() {
					var size = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
					if (size) this.storage.size.width = size;
					else this.storage.size.width = this.storage.size.width || elementorCommon.elements.$body.css("--e-editor-navigator-width");
					elementorCommon.elements.$body.css("--e-editor-navigator-width", this.storage.size.width);
					this.$el.css("width", "");
				}
			},
			{
				key: "ensurePosition",
				value: function ensurePosition() {
					if (this.isDocked) return;
					var offset = this.$el.offset();
					if (offset.left > innerWidth) this.$el.css({
						left: "",
						right: ""
					});
					if (offset.top > innerHeight) this.$el.css({
						top: "",
						bottom: ""
					});
				}
			},
			{
				key: "onDrag",
				value: function onDrag(event, ui) {
					if (this.isDocked) {
						if (ui.position.left === ui.originalPosition.left) {
							if (ui.position.top !== ui.originalPosition.top) return false;
						} else this.undock();
						return;
					}
					if (0 > ui.position.top) ui.position.top = 0;
					var isOutOfLeft = 0 > ui.position.left;
					var isOutOfRight = ui.position.left + this.el.offsetWidth > innerWidth;
					if (elementorCommon.config.isRTL) {
						if (isOutOfRight) ui.position.left = innerWidth - this.el.offsetWidth;
					} else if (isOutOfLeft) ui.position.left = 0;
					elementorCommon.elements.$body.toggleClass("elementor-navigator--dock-hint", elementorCommon.config.isRTL ? isOutOfLeft : isOutOfRight);
				}
			},
			{
				key: "onDragStop",
				value: function onDragStop(event, ui) {
					if (this.isDocked) return;
					this.saveSize();
					var elementRight = ui.position.left + this.el.offsetWidth;
					if (0 > ui.position.left || elementRight > innerWidth) this.dock();
					elementorCommon.elements.$body.removeClass("elementor-navigator--dock-hint");
				}
			},
			{
				key: "onEditModeSwitched",
				value: function onEditModeSwitched(activeMode) {
					if (["edit", "picker"].includes(activeMode) && this.storage.visible) this.open();
					else this.close(true);
				}
			},
			{
				key: "onDocumentLoaded",
				value: function onDocumentLoaded(document) {
					if (document.config.panel.has_elements) {
						this.initLayout();
						if (false !== this.storage.visible && !elementor.config.starter) $e.route("navigator");
					}
				}
			},
			{
				key: "onDocumentUnloaded",
				value: function onDocumentUnloaded() {
					if (this.component.isOpen) this.component.close(true);
				}
			}
		]);
	}(BaseRegion);

//#endregion
//#region assets/dev/js/editor/utils/notice-bar.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$134(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$134() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$134, "_callSuper");
	function _isNativeReflectConstruct$134() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$134 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$134, "_isNativeReflectConstruct");
	var _default$1 = /*#__PURE__*/ function(_elementorModules$Vie) {
		function _default() {
			_classCallCheck(this, _default);
			return _callSuper$134(this, _default, arguments);
		}
		_inherits(_default, _elementorModules$Vie);
		return _createClass(_default, [
			{
				key: "getDefaultSettings",
				value: function getDefaultSettings() {
					return { selectors: {
						notice: "#e-notice-bar",
						close: "#e-notice-bar__close"
					} };
				}
			},
			{
				key: "getDefaultElements",
				value: function getDefaultElements() {
					var settings = this.getSettings();
					return {
						$notice: jQuery(settings.selectors.notice),
						$close: jQuery(settings.selectors.close)
					};
				}
			},
			{
				key: "bindEvents",
				value: function bindEvents() {
					this.elements.$close.on("click", this.onCloseClick.bind(this));
				}
			},
			{
				key: "onCloseClick",
				value: function onCloseClick() {
					this.elements.$notice.slideUp();
					elementorCommon.ajax.addRequest("notice_bar_dismiss");
				}
			}
		]);
	}(elementorModules.ViewModule);

//#endregion
//#region assets/dev/js/editor/views/add-section/independent.js
	function _callSuper$133(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$133() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$133() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$133 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var AddSectionView;
	var init_independent = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_base$2();
		init_editor_one_events();
		__name(_callSuper$133, "_callSuper");
		__name(_isNativeReflectConstruct$133, "_isNativeReflectConstruct");
		AddSectionView = /*#__PURE__*/ function(_BaseAddSectionView) {
			function AddSectionView() {
				_classCallCheck(this, AddSectionView);
				return _callSuper$133(this, AddSectionView, arguments);
			}
			_inherits(AddSectionView, _BaseAddSectionView);
			return _createClass(AddSectionView, [{
				key: "id",
				get: function get() {
					return "elementor-add-new-section";
				}
			}, {
				key: "onCloseButtonClick",
				value: function onCloseButtonClick() {
					EditorOneEventManager.sendCanvasEmptyBoxAction({
						targetName: "close",
						containerCreated: false
					});
					this.closeSelectPresets();
				}
			}]);
		}(AddSectionBase);
	}));

//#endregion
//#region assets/dev/js/editor/views/base-sections-container.js
	var require_base_sections_container = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var BaseContainer = require_base_container();
		var BaseSectionsContainerView;
		var getAllElementTypes = require_element_types().getAllElementTypes;
		BaseSectionsContainerView = BaseContainer.extend({
			getChildView: function getChildView(model) {
				var elType = model.get("elType");
				var type = elementor.elementsManager.getElementTypeClass(elType);
				if (!type) throw new Error("Element type \"".concat(elType, "\" is not registered."));
				return type.getView();
			},
			behaviors: function behaviors() {
				var behaviors = { Sortable: {
					behaviorClass: require_sortable(),
					elChildType: "section"
				} };
				return elementor.hooks.applyFilters("elements/base-section-container/behaviors", behaviors, this);
			},
			getSortableOptions: function getSortableOptions() {
				return {
					handle: "> .elementor-element-overlay .elementor-editor-element-edit",
					items: "> .elementor-section, > .e-con"
				};
			},
			getChildType: function getChildType() {
				return getAllElementTypes();
			},
			initialize: function initialize() {
				BaseContainer.prototype.initialize.apply(this, arguments);
				this.listenTo(elementor.channels.panelElements, "element:drag:start", this.onPanelElementDragStart).listenTo(elementor.channels.panelElements, "element:drag:end", this.onPanelElementDragEnd);
			},
			onPanelElementDragStart: function onPanelElementDragStart() {
				this.$el.find(".elementor-background-video-embed").hide();
				elementor.helpers.disableElementEvents(this.$el.find("iframe"));
			},
			onPanelElementDragEnd: function onPanelElementDragEnd() {
				this.$el.find(".elementor-background-video-embed").show();
				elementor.helpers.enableElementEvents(this.$el.find("iframe"));
			}
		});
		module.exports = BaseSectionsContainerView;
	}));

//#endregion
//#region assets/dev/js/editor/views/preview.js
	var require_preview$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_independent();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var BaseSectionsContainerView = require_base_sections_container();
		var isCompoundAtomicType = require_element_types().isCompoundAtomicType;
		var Preview = BaseSectionsContainerView.extend({
			initialize: function initialize() {
				this.$childViewContainer = jQuery("<div>", { class: "elementor-section-wrap" });
				this.config = { allowEdit: true };
				BaseSectionsContainerView.prototype.initialize.apply(this, arguments);
			},
			setConfig: function setConfig(config) {
				this.config = Object.assign(this.config, config);
			},
			getChildViewContainer: function getChildViewContainer() {
				return this.$childViewContainer;
			},
			behaviors: function behaviors() {
				var parentBehaviors = BaseSectionsContainerView.prototype.behaviors.apply(this, arguments);
				var behaviors = { contextMenu: {
					behaviorClass: require_context_menu(),
					groups: this.getContextMenuGroups()
				} };
				return jQuery.extend(parentBehaviors, behaviors);
			},
			getContainer: function getContainer() {
				return elementor.settings.page.getEditedView().getContainer();
			},
			getContextMenuGroups: function getContextMenuGroups() {
				var _this = this;
				var hasContent = function hasContent() {
					return elementor.elements.length > 0;
				};
				return [{
					name: "paste",
					actions: [{
						name: "paste",
						title: (0, _wordpress_i18n.__)("Paste", "elementor"),
						isEnabled: function isEnabled() {
							return $e.components.get("document/elements").utils.isPasteEnabled(_this.getContainer());
						},
						callback: function callback(at) {
							return $e.run("document/ui/paste", {
								container: _this.getContainer(),
								options: {
									at,
									rebuild: true
								}
							});
						}
					}]
				}, {
					name: "content",
					actions: [{
						name: "copy_all_content",
						title: (0, _wordpress_i18n.__)("Copy All Content", "elementor"),
						isEnabled: hasContent,
						callback: function callback() {
							return $e.run("document/elements/copy-all");
						}
					}, {
						name: "delete_all_content",
						title: (0, _wordpress_i18n.__)("Delete All Content", "elementor"),
						isEnabled: hasContent,
						callback: function callback() {
							return $e.run("document/elements/empty");
						}
					}]
				}];
			},
			createElementFromModel: function createElementFromModel(model) {
				var _model$widgetType;
				var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
				return BaseSectionsContainerView.prototype.createElementFromModel.call(this, model, _objectSpread(_objectSpread({}, options), {}, { shouldWrap: ([
					"widget",
					"section",
					"column"
				].includes(model.elType) || isCompoundAtomicType(model.elType)) && !((_model$widgetType = model.widgetType) !== null && _model$widgetType !== void 0 && _model$widgetType.startsWith("e-form-")) }));
			},
			addElementFromPanel: function addElementFromPanel(options) {
				if (!this.config.allowEdit || elementor.helpers.maybeDisableWidget()) return;
				var isContainerActive = !!elementorCommon.config.experimentalFeatures.container;
				var selectedElement = elementor.channels.panelElements.request("element:selected");
				var historyId = $e.internal("document/history/start-log", {
					type: "add",
					title: elementor.helpers.getModelLabel(selectedElement.model)
				});
				var containingElement = $e.run("document/elements/create", {
					model: { elType: isContainerActive ? "container" : "section" },
					container: elementor.getPreviewContainer(),
					columns: 1,
					options: _objectSpread({ at: this.getOption("at") }, options)
				});
				if (!isContainerActive) containingElement.view.children.findByIndex(0).addElementFromPanel(options);
				else if ("container" !== selectedElement.model.get("elType")) containingElement.view.addElementFromPanel(options);
				$e.internal("document/history/end-log", { id: historyId });
			},
			shouldRenderAddNewSectionArea: function shouldRenderAddNewSectionArea() {
				return this.config.allowEdit && elementor.userCan("design");
			},
			onRender: function onRender() {
				this.$el.html(this.$childViewContainer);
				if (this.shouldRenderAddNewSectionArea()) {
					var addNewSectionView = new AddSectionView();
					addNewSectionView.render();
					this.$el.append(addNewSectionView.$el);
				}
			}
		});
		module.exports = Preview;
	}));

//#endregion
//#region assets/dev/js/editor/controls/choose.js
	var require_choose = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		var ControlChooseItemView = ControlBaseDataView.extend({
			ui: function ui() {
				var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
				ui.inputs = "[type=\"radio\"]";
				return ui;
			},
			events: function events() {
				return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), {
					"mousedown label": "onMouseDownLabel",
					"click @ui.inputs": "onClickInput",
					"change @ui.inputs": "onBaseInputChange"
				});
			},
			updatePlaceholder: function updatePlaceholder() {
				var placeholder = this.getControlPlaceholder();
				if (!this.getControlValue() && placeholder) this.ui.inputs.filter("[value=\"".concat(this.getControlPlaceholder(), "\"]")).addClass("e-choose-placeholder");
				else this.ui.inputs.removeClass("e-choose-placeholder");
			},
			onReady: function onReady() {
				this.updatePlaceholder();
			},
			applySavedValue: function applySavedValue() {
				var currentValue = this.getControlValue();
				if (currentValue) this.ui.inputs.filter("[value=\"" + currentValue + "\"]").prop("checked", true);
				else this.ui.inputs.filter(":checked").prop("checked", false);
			},
			onMouseDownLabel: function onMouseDownLabel(event) {
				var $clickedLabel = this.$(event.currentTarget);
				var $selectedInput = this.$("#" + $clickedLabel.attr("for"));
				$selectedInput.data("checked", $selectedInput.prop("checked"));
			},
			onClickInput: function onClickInput(event) {
				if (!this.model.get("toggle")) return;
				var $selectedInput = this.$(event.currentTarget);
				if ($selectedInput.data("checked")) $selectedInput.prop("checked", false).trigger("change");
			},
			onBaseInputChange: function onBaseInputChange() {
				ControlBaseDataView.prototype.onBaseInputChange.apply(this, arguments);
				this.updatePlaceholder();
			}
		}, { onPasteStyle: function onPasteStyle(control, clipboardValue) {
			return "" === clipboardValue || void 0 !== control.options[clipboardValue];
		} });
		module.exports = ControlChooseItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/popover-toggle.js
var import_preview = /* @__PURE__ */ __toESM(require_preview$2());
	init_asyncToGenerator();
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$132(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$132() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$132, "_callSuper");
	function _isNativeReflectConstruct$132() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$132 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$132, "_isNativeReflectConstruct");
	var ControlChooseView = require_choose();
	var ControlPopoverStarterView = /*#__PURE__*/ function(_ControlChooseView) {
		function ControlPopoverStarterView() {
			_classCallCheck(this, ControlPopoverStarterView);
			return _callSuper$132(this, ControlPopoverStarterView, arguments);
		}
		_inherits(ControlPopoverStarterView, _ControlChooseView);
		return _createClass(ControlPopoverStarterView, [
			{
				key: "ui",
				value: function ui() {
					var ui = ControlChooseView.prototype.ui.apply(this, arguments);
					ui.popoverToggle = ".elementor-control-popover-toggle-toggle";
					ui.resetInput = ".elementor-control-popover-toggle-reset";
					return ui;
				}
			},
			{
				key: "events",
				value: function events() {
					return _.extend(ControlChooseView.prototype.events.apply(this, arguments), {
						"click @ui.popoverToggle": "onPopoverToggleClick",
						"click @ui.resetInput": "onResetInputClick"
					});
				}
			},
			{
				key: "onShow",
				value: function onShow() {
					var _this = this;
					var $popover = this.$el.next(".elementor-controls-popover");
					if ($popover.length) {
						$popover[0].dataset.popoverToggle = "elementor-control-default-".concat(this.model.cid);
						$popover.on("hide", function() {
							return _this.onPopoverHide();
						});
						$popover.attr("data-on-hide", true);
					}
				}
			},
			{
				key: "onPopoverHide",
				value: function onPopoverHide() {
					this.reRoute(false);
				}
			},
			{
				key: "onResetInputClick",
				value: function onResetInputClick() {
					var globalData = this.model.get("global");
					if (globalData !== null && globalData !== void 0 && globalData.active) this.triggerMethod("value:type:change");
				}
			},
			{
				key: "onInputChange",
				value: function onInputChange(event) {
					if (event.currentTarget !== this.ui.popoverToggle[0]) return;
					if (this.getGlobalKey()) this.triggerMethod("unset:global:value");
					else if (this.isGlobalActive()) this.triggerMethod("value:type:change");
				}
			},
			{
				key: "onPopoverToggleClick",
				value: function onPopoverToggleClick() {
					var _this2 = this;
					if (this.isGlobalActive() && !this.getControlValue() && !this.getGlobalKey() && this.getGlobalDefault()) this.triggerMethod("unlink:global:default");
					var $popover = this.$el.next(".elementor-controls-popover");
					if (!$popover.attr("data-on-hide")) {
						$popover.attr("data-on-hide", true);
						$popover.on("hide", function() {
							return _this2.onPopoverHide();
						});
					}
					if (!$popover.is(":visible")) this.reRoute(true);
					else {
						$popover.hide();
						$popover.trigger("hide");
					}
				}
			},
			{
				key: "activate",
				value: function activate() {
					this.$el.next(".elementor-controls-popover").show();
				}
			},
			{
				key: "getGlobalCommand",
				value: function getGlobalCommand() {
					return "globals/typography";
				}
			},
			{
				key: "buildPreviewItemCSS",
				value: function buildPreviewItemCSS(globalValue) {
					var cssObject = {};
					Object.entries(globalValue).forEach(function(_ref) {
						var _ref2 = _slicedToArray(_ref, 2);
						var property = _ref2[0];
						var value = _ref2[1];
						if (!value || "" === value.size) return;
						if (property.startsWith("typography_")) property = property.replace("typography_", "");
						if ("font_family" === property) elementor.helpers.enqueueFont(value, "editor");
						if ("font_size" === property) {
							var fontSize = "custom" === value.unit ? value.size : "".concat(value.size).concat(value.unit);
							cssObject.fontSize = "min(".concat(fontSize, ", 28px)");
						} else {
							if (property.includes("_")) property = property.replace(/([_][a-z])/g, function(result) {
								return result.toUpperCase().replace("_", "");
							});
							cssObject[property] = value;
						}
					});
					return cssObject;
				}
			},
			{
				key: "createGlobalItemMarkup",
				value: function createGlobalItemMarkup(globalData) {
					var $typographyPreview = jQuery("<div>", {
						class: "e-global__preview-item e-global__typography",
						"data-global-id": globalData.id,
						title: globalData.title
					});
					$typographyPreview.html(_.escape(globalData.title)).css(this.buildPreviewItemCSS(globalData.value));
					return $typographyPreview;
				}
			},
			{
				key: "getGlobalMeta",
				value: function getGlobalMeta() {
					return {
						commandName: this.getGlobalCommand(),
						key: this.model.get("name"),
						title: (0, _wordpress_i18n.__)("New Typography Setting", "elementor"),
						controlType: "typography",
						route: "panel/global/global-typography"
					};
				}
			},
			{
				key: "getAddGlobalConfirmMessage",
				value: function getAddGlobalConfirmMessage() {
					var globalData = this.getGlobalMeta();
					var $message = jQuery("<div>", { class: "e-global__confirm-message" });
					var $messageText = jQuery("<div>").html((0, _wordpress_i18n.__)("Are you sure you want to create a new Global Font setting?", "elementor"));
					var $inputWrapper = jQuery("<div>", { class: "e-global__confirm-input-wrapper" });
					var $input = jQuery("<input>", {
						type: "text",
						name: "global-name",
						placeholder: globalData.title
					}).val(globalData.title);
					$inputWrapper.append($input);
					$message.append($messageText, $inputWrapper);
					return $message;
				}
			},
			{
				key: "createHeaderItemMarkup",
				value: function createHeaderItemMarkup(text) {
					return jQuery("<div>", { class: "e-global__group-header" }).text(text);
				}
			},
			{
				key: "createDividerMarkup",
				value: function createDividerMarkup() {
					return jQuery("<div>", { class: "e-global__group-divider" });
				}
			},
			{
				key: "getGlobalsList",
				value: function() {
					var _getGlobalsList = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
						var result;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									_context.next = 1;
									return $e.data.get(this.getGlobalCommand());
								case 1:
									result = _context.sent;
									return _context.abrupt("return", result.data);
								case 2:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function getGlobalsList() {
						return _getGlobalsList.apply(this, arguments);
					}
					return getGlobalsList;
				}()
			},
			{
				key: "buildGlobalsList",
				value: function buildGlobalsList(globalTypographies, $globalPreviewItemsContainer) {
					var _this3 = this;
					var v4Typographies = [];
					var v3Typographies = [];
					Object.values(globalTypographies).forEach(function(typography) {
						if (!typography) return;
						if ("v4" === typography.group) v4Typographies.push(typography);
						else v3Typographies.push(typography);
					});
					if (v4Typographies.length) {
						$globalPreviewItemsContainer.append(this.createHeaderItemMarkup((0, _wordpress_i18n.__)("Atomic Classes", "elementor")));
						v4Typographies.forEach(function(typography) {
							$globalPreviewItemsContainer.append(_this3.createGlobalItemMarkup(typography));
						});
						if (v3Typographies.length) {
							$globalPreviewItemsContainer.append(this.createDividerMarkup());
							$globalPreviewItemsContainer.append(this.createHeaderItemMarkup((0, _wordpress_i18n.__)("Global Fonts", "elementor")));
						}
					}
					v3Typographies.forEach(function(typography) {
						$globalPreviewItemsContainer.append(_this3.createGlobalItemMarkup(typography));
					});
				}
			},
			{
				key: "onAddGlobalButtonClick",
				value: function onAddGlobalButtonClick() {
					this.triggerMethod("add:global:to:list", this.getAddGlobalConfirmMessage());
				}
			}
		]);
	}(ControlChooseView);
	ControlPopoverStarterView.onPasteStyle = function(control, clipboardValue) {
		return !clipboardValue || clipboardValue === control.return_value;
	};

//#endregion
//#region assets/dev/js/editor/components/selection/manager.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _createForOfIteratorHelper$2(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	__name(_createForOfIteratorHelper$2, "_createForOfIteratorHelper");
	function _unsupportedIterableToArray$2(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$2(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0;
		}
	}
	__name(_unsupportedIterableToArray$2, "_unsupportedIterableToArray");
	function _arrayLikeToArray$2(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	__name(_arrayLikeToArray$2, "_arrayLikeToArray");
	function _callSuper$131(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$131() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$131, "_callSuper");
	function _isNativeReflectConstruct$131() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$131 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$131, "_isNativeReflectConstruct");
	/**
	* @typedef {import('../../container/container')} Container
	*/
	var Manager = /*#__PURE__*/ function(_elementorModules$edi) {
		/**
		* Manager constructor.
		*
		* @return {Manager} manager
		*/
		function Manager() {
			var _this;
			_classCallCheck(this, Manager);
			_this = _callSuper$131(this, Manager);
			/**
			* Selected elements.
			*
			* The list of the selected elements.
			*
			* @type {{}}
			*/
			_defineProperty(_this, "elements", {});
			/**
			* Selected elements type.
			*
			* Represents the common type of multiple selected elements, or false when the selected elements are of different
			* types.
			*
			* @type {string|boolean}
			*/
			_defineProperty(_this, "type", false);
			return _possibleConstructorReturn(_this, new Proxy(_this, { get: function get(target, prop) {
				if (["add", "remove"].includes(prop)) return function() {
					if (!target.isAllowed()) return;
					var result = target[prop].apply(target, arguments);
					target.updateType();
					target.updateSortable();
					target.updatePanelPage();
					target.updateNavigator();
					return result;
				};
				return Reflect.get.apply(Reflect, arguments);
			} }));
		}
		/**
		* Get selection elements.
		*
		* Get the list of selected elements as an array of containers. If a fallback element container specified, it will
		* be returned when there are no selected elements.
		*
		* @param {Container[]|Container} fallback
		* @return {Container[]} selection elements
		*/
		_inherits(Manager, _elementorModules$edi);
		return _createClass(Manager, [
			{
				key: "getElements",
				value: function getElements() {
					var fallback = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
					var result = Object.values(this.elements);
					if (!result.length && fallback) result = Array.isArray(fallback) ? fallback : [fallback];
					return result;
				}
			},
			{
				key: "add",
				value: function add(containers) {
					var append = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
					if (!this.isAllowed()) return;
					containers = Array.isArray(containers) ? containers : [containers];
					if (!append) this.remove([], true);
					var _iterator = _createForOfIteratorHelper$2(containers);
					var _step;
					try {
						for (_iterator.s(); !(_step = _iterator.n()).done;) {
							var container = _step.value;
							this.elements[container.id] = container;
							container.view.select();
						}
					} catch (err) {
						_iterator.e(err);
					} finally {
						_iterator.f();
					}
				}
			},
			{
				key: "remove",
				value: function remove(containers) {
					var all = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
					if (!this.isAllowed()) return;
					containers = Array.isArray(containers) ? containers : [containers];
					if (all) containers = this.getElements();
					var _iterator2 = _createForOfIteratorHelper$2(containers);
					var _step2;
					try {
						for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
							var container = _step2.value;
							delete this.elements[container.id];
							container.view.deselect();
						}
					} catch (err) {
						_iterator2.e(err);
					} finally {
						_iterator2.f();
					}
				}
			},
			{
				key: "has",
				value: function has(container) {
					return this.getElements().includes(container);
				}
			},
			{
				key: "updateType",
				value: function updateType() {
					var elements = this.getElements();
					this.type = Boolean(elements.length) && elements.reduce(function(previous, current) {
						if (previous === current.type) return current.type;
						return false;
					}, elements[0].type);
				}
			},
			{
				key: "updateSortable",
				value: function updateSortable() {
					elementor.toggleSortableState(!this.isMultiple());
				}
			},
			{
				key: "updatePanelPage",
				value: function updatePanelPage() {
					var elements = this.getElements();
					if (1 === elements.length) $e.run("panel/editor/open", {
						model: elements[0].model,
						view: elements[0].view
					});
					else $e.internal("panel/open-default", { autoFocusSearch: false });
				}
			},
			{
				key: "updateNavigator",
				value: function updateNavigator() {
					if (!$e.components.get("document/elements").utils.showNavigator()) return;
					elementor.navigator.getLayout().elements.currentView.recursiveChildInvoke("updateSelection");
				}
			},
			{
				key: "isMultiple",
				value: function isMultiple() {
					return this.getElements().length > 1;
				}
			},
			{
				key: "isSameType",
				value: function isSameType() {
					return !this.getElements().length || Boolean(this.type);
				}
			},
			{
				key: "isAllowed",
				value: function isAllowed() {
					return "edit" === elementor.channels.dataEditMode.request("activeMode");
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region modules/landing-pages/assets/js/editor/hooks/ui/editor/documents/open/add-landing-pages-tab.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$130(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$130() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$130, "_callSuper");
	function _isNativeReflectConstruct$130() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$130 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$130, "_isNativeReflectConstruct");
	var LandingPageAddLibraryTab = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function LandingPageAddLibraryTab() {
			_classCallCheck(this, LandingPageAddLibraryTab);
			return _callSuper$130(this, LandingPageAddLibraryTab, arguments);
		}
		_inherits(LandingPageAddLibraryTab, _$e$modules$hookUI$Af);
		return _createClass(LandingPageAddLibraryTab, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/open";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "elementor-landing-pages-add-library-tab";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return "landing-page" === elementor.documents.get(args.id).config.type;
				}
			},
			{
				key: "apply",
				value: function apply() {
					$e.components.get("library").addTab("templates/landing-pages", {
						title: (0, _wordpress_i18n.__)("Landing Pages", "elementor"),
						filter: {
							source: "remote",
							type: "lp"
						}
					}, 2);
					$e.components.get("library").removeTab("templates/pages");
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region modules/landing-pages/assets/js/editor/hooks/ui/editor/documents/close/remove-landing-pages-tab.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$129(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$129() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$129, "_callSuper");
	function _isNativeReflectConstruct$129() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$129 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$129, "_isNativeReflectConstruct");
	var LandingPageRemoveLibraryTab = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function LandingPageRemoveLibraryTab() {
			_classCallCheck(this, LandingPageRemoveLibraryTab);
			return _callSuper$129(this, LandingPageRemoveLibraryTab, arguments);
		}
		_inherits(LandingPageRemoveLibraryTab, _$e$modules$hookUI$Af);
		return _createClass(LandingPageRemoveLibraryTab, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/unload";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "elementor-landing-pages-remove-library-tab";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return "landing-page" === args.document.config.type;
				}
			},
			{
				key: "apply",
				value: function apply() {
					$e.components.get("library").removeTab("templates/landing-pages");
					$e.components.get("library").addTab("templates/pages");
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region modules/landing-pages/assets/js/editor/hooks/index.js
	var hooks_exports$2 = /* @__PURE__ */ __exportAll({
		LandingPageAddLibraryTab: () => LandingPageAddLibraryTab,
		LandingPageRemoveLibraryTab: () => LandingPageRemoveLibraryTab
	});

//#endregion
//#region modules/landing-pages/assets/js/editor/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$128(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$128() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$128, "_callSuper");
	function _isNativeReflectConstruct$128() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$128 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$128, "_isNativeReflectConstruct");
	var LandingPageComponent = /*#__PURE__*/ function(_$e$modules$Component) {
		function LandingPageComponent() {
			_classCallCheck(this, LandingPageComponent);
			return _callSuper$128(this, LandingPageComponent, arguments);
		}
		_inherits(LandingPageComponent, _$e$modules$Component);
		return _createClass(LandingPageComponent, [{
			key: "getNamespace",
			value: function getNamespace() {
				return "document/landing-page";
			}
		}, {
			key: "defaultHooks",
			value: function defaultHooks() {
				return this.importHooks(hooks_exports$2);
			}
		}]);
	}($e.modules.ComponentBase);

//#endregion
//#region modules/landing-pages/assets/js/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$127(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$127() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$127, "_callSuper");
	function _isNativeReflectConstruct$127() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$127 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$127, "_isNativeReflectConstruct");
	var LandingPageLibraryModule = /*#__PURE__*/ function(_elementorModules$edi) {
		function LandingPageLibraryModule() {
			_classCallCheck(this, LandingPageLibraryModule);
			return _callSuper$127(this, LandingPageLibraryModule, arguments);
		}
		_inherits(LandingPageLibraryModule, _elementorModules$edi);
		return _createClass(LandingPageLibraryModule, [{
			key: "onElementorLoaded",
			value: function onElementorLoaded() {
				this.component = $e.components.register(new LandingPageComponent({ manager: this }));
			}
		}]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region modules/elements-color-picker/assets/js/editor/commands/apply.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$126(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$126() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$126, "_callSuper");
	function _isNativeReflectConstruct$126() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$126 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$126, "_isNativeReflectConstruct");
	/**
	* Apply & Save the selected color on click.
	*/
	var Apply = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Apply() {
			_classCallCheck(this, Apply);
			return _callSuper$126(this, Apply, arguments);
		}
		_inherits(Apply, _$e$modules$CommandBa);
		return _createClass(Apply, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireArgumentType("value", "string", args);
				}
			},
			{
				key: "apply",
				value: function apply(_ref) {
					var value = _ref.value;
					var trigger = _ref.trigger;
					this.setColor(value);
					if (trigger) {
						var prevText = trigger.swatch.dataset.text;
						trigger.swatch.dataset.text = (0, _wordpress_i18n.__)("Selected", "elementor");
						setTimeout(function() {
							trigger.swatch.dataset.text = prevText;
						}, 1e3);
						trigger.palette.addEventListener("mouseleave", function handler(e) {
							e.currentTarget.removeEventListener("mouseleave", handler);
							$e.run("elements-color-picker/end");
						});
					} else $e.run("elements-color-picker/end");
				}
			},
			{
				key: "setColor",
				value: function setColor(color) {
					$e.run("document/elements/settings", {
						container: this.component.currentPicker.container,
						settings: _defineProperty({}, this.component.currentPicker.control, color),
						options: { external: true }
					});
					this.component.currentPicker.initialColor = color;
				}
			}
		]);
	}($e.modules.CommandBase);

//#endregion
//#region modules/elements-color-picker/assets/js/editor/utils.js
	init_slicedToArray();
	/**
	* Add custom namespaced event using ES6. Equivalent to jQuery's `.on()`.
	* NOTE: Might cause memory leaks if the element is removed from then DOM without removing its `nsEvents`.
	*
	* @param {HTMLElement|NodeList} elements - An HTML element to attach the event to.
	* @param {string}               nsEvent  - Namespaced event name, e.g. `click.color-picker`.
	* @param {Function}             callback - Callback handler to the attached event.
	* @param {Object}               options  - Additional event options.
	*
	* @return {void}
	*/
	var addNamespaceHandler = function addNamespaceHandler(elements, nsEvent, callback) {
		var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
		var event = _slicedToArray(nsEvent.split("."), 1)[0];
		if (!(Symbol.iterator in Object(elements))) elements = [elements];
		elements.forEach(function(element) {
			if (!element.nsEvents) element.nsEvents = {};
			element.addEventListener(event, callback, options);
			element.nsEvents[nsEvent] = callback;
		});
	};
	/**
	* Remove custom namespaced event using ES6. Equivalent to jQuery's `.off()`.
	*
	* @param {NodeList} elements - An HTML element to remove the event from.
	* @param {string}   nsEvent  - Namespaced event name, e.g. `click.color-picker`.
	*
	* @return {void}
	*/
	var removeNamespaceHandler = function removeNamespaceHandler(elements, nsEvent) {
		var event = _slicedToArray(nsEvent.split("."), 1)[0];
		if (!(Symbol.iterator in Object(elements))) elements = [elements];
		elements.forEach(function(element) {
			var _element$nsEvents;
			var _element$nsEvents2;
			element.removeEventListener(event, (_element$nsEvents = element.nsEvents) === null || _element$nsEvents === void 0 ? void 0 : _element$nsEvents[nsEvent]);
			(_element$nsEvents2 = element.nsEvents) === null || _element$nsEvents2 === void 0 || delete _element$nsEvents2[nsEvent];
		});
	};

//#endregion
//#region modules/elements-color-picker/assets/js/editor/commands/end.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$125(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$125() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$125, "_callSuper");
	function _isNativeReflectConstruct$125() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$125 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$125, "_isNativeReflectConstruct");
	/**
	* End the color picking process and return to the normal editor state.
	*/
	var End = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function End() {
			_classCallCheck(this, End);
			return _callSuper$125(this, End, arguments);
		}
		_inherits(End, _$e$modules$CommandBa);
		return _createClass(End, [{
			key: "apply",
			value: function apply() {
				var _this$component$curre;
				this.component.inactivate();
				elementor.$previewContents[0].querySelectorAll(".e-element-color-picker").forEach(function(picker) {
					jQuery(picker).tipsy("hide");
					picker.remove();
				});
				removeNamespaceHandler(elementor.$previewContents[0].querySelectorAll(".elementor-element"), "click.color-picker");
				removeNamespaceHandler(elementor.$previewWrapper[0], "mouseleave.color-picker");
				(_this$component$curre = this.component.currentPicker.trigger) === null || _this$component$curre === void 0 || _this$component$curre.classList.remove("e-control-tool-disabled");
				this.component.resetPicker();
				$e.uiStates.remove("elements-color-picker/color-picking");
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region modules/elements-color-picker/assets/js/editor/commands/enter-preview.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$124(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$124() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$124, "_callSuper");
	function _isNativeReflectConstruct$124() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$124 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$124, "_isNativeReflectConstruct");
	/**
	* Show the user a UI preview of the currently hovered color.
	*/
	var EnterPreview = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function EnterPreview() {
			_classCallCheck(this, EnterPreview);
			return _callSuper$124(this, EnterPreview, arguments);
		}
		_inherits(EnterPreview, _$e$modules$CommandBa);
		return _createClass(EnterPreview, [{
			key: "apply",
			value: function apply(args) {
				this.component.renderUI(args.value);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region modules/elements-color-picker/assets/js/editor/commands/exit-preview.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$123(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$123() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$123, "_callSuper");
	function _isNativeReflectConstruct$123() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$123 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$123, "_isNativeReflectConstruct");
	/**
	* Exit the UI preview mode on mouseout.
	*/
	var ExitPreview = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function ExitPreview() {
			_classCallCheck(this, ExitPreview);
			return _callSuper$123(this, ExitPreview, arguments);
		}
		_inherits(ExitPreview, _$e$modules$CommandBa);
		return _createClass(ExitPreview, [{
			key: "apply",
			value: function apply() {
				var initialColor = this.component.currentPicker.initialColor;
				if (null === initialColor) return;
				this.component.renderUI(initialColor);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region app/assets/js/utils/utils.js
	var rgbToHex = function rgbToHex(r, g, b) {
		return "#" + [
			r,
			g,
			b
		].map(function(x) {
			var hex = x.toString(16);
			return 1 === hex.length ? "0" + hex : hex;
		}).join("");
	};

//#endregion
//#region modules/elements-color-picker/assets/js/editor/commands/show-swatches.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$122(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$122() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$122, "_callSuper");
	function _isNativeReflectConstruct$122() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$122 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$122, "_isNativeReflectConstruct");
	/**
	* @typedef {import('../../../../../../assets/dev/js/editor/container/container')} Container
	*/
	/**
	* Show a palette of color swatches on click.
	*/
	var ShowSwatches = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		/**
		* Initialize the command.
		*
		* @param {Object} args
		*
		* @return {void}
		*/
		function ShowSwatches(args) {
			var _this;
			_classCallCheck(this, ShowSwatches);
			_this = _callSuper$122(this, ShowSwatches, [args]);
			_this.colors = {};
			_this.classes = {
				picker: "e-element-color-picker",
				tooltip: "e-element-color-picker__tooltip",
				swatch: "e-element-color-picker__swatch",
				hidden: "e-picker-hidden"
			};
			_this.selectors = {
				picker: ".".concat(_this.classes.picker),
				tooltip: ".".concat(_this.classes.tooltip)
			};
			_this.container = null;
			_this.backgroundImages = [];
			return _this;
		}
		/**
		* Validate the command arguments.
		*
		* @param {Object} args
		*
		* @return {void}
		*/
		_inherits(ShowSwatches, _$e$modules$CommandBa);
		return _createClass(ShowSwatches, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireArgument("event", args);
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var _this2 = this;
					var e = args.event;
					var id = e.currentTarget.dataset.id;
					var rect = e.currentTarget.getBoundingClientRect();
					var x = Math.round(e.clientX - rect.left) + "px";
					var y = Math.round(e.clientY - rect.top) + "px";
					this.container = elementor.getContainer(id);
					var activePicker = elementor.$previewContents[0].querySelector(this.selectors.picker);
					if (activePicker) {
						this.removeTooltip(activePicker);
						activePicker.remove();
					}
					e.stopPropagation();
					setTimeout(function() {
						if ("img" === e.target.tagName.toLowerCase()) _this2.extractColorsFromImage(e.target);
						else {
							_this2.extractColorsFromSettings();
							_this2.extractColorsFromRepeaters();
							_this2.extractColorsFromImages();
						}
						_this2.initSwatch(x, y);
					}, 100);
				}
			},
			{
				key: "extractColorsFromSettings",
				value: function extractColorsFromSettings() {
					var _this3 = this;
					var container = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.container;
					Object.keys(container.settings.attributes).map(function(control) {
						var _container$controls$c;
						if (_this3.reachedColorsLimit()) return;
						if (!(control in container.controls)) return;
						var isColor = "color" === ((_container$controls$c = container.controls[control]) === null || _container$controls$c === void 0 ? void 0 : _container$controls$c.type);
						var isBgImage = control.includes("background_image");
						var isActive = function isActive() {
							return elementor.helpers.isActiveControl(container.controls[control], container.settings.attributes, container.settings.controls);
						};
						if (!isColor && !isBgImage) return;
						if (!isActive()) return;
						if (isBgImage) {
							_this3.addTempBackgroundImage(container.getSetting(control));
							return;
						}
						var value = container.getSetting(control);
						var globalValue = container.globals.get(control);
						if (globalValue) {
							var matches = globalValue.match(/id=(.+)/i);
							if (matches) {
								var cssVar = "--e-global-color-".concat(matches[1]);
								value = getComputedStyle(container.view.$el[0]).getPropertyValue(cssVar);
							}
						}
						if (value && !Object.values(_this3.colors).includes(value)) _this3.colors["".concat(container.id, " - ").concat(control)] = value;
					});
				}
			},
			{
				key: "extractColorsFromRepeaters",
				value: function extractColorsFromRepeaters() {
					var _this4 = this;
					Object.values(this.container.repeaters).forEach(function(repeater) {
						repeater.children.forEach(function(child) {
							_this4.extractColorsFromSettings(child);
						});
					});
				}
			},
			{
				key: "addTempBackgroundImage",
				value: function addTempBackgroundImage(_ref) {
					var url = _ref.url;
					if (!url) return;
					var img = document.createElement("img");
					img.src = url;
					this.backgroundImages.push(img);
				}
			},
			{
				key: "extractColorsFromImage",
				value: function extractColorsFromImage(image) {
					var _this5 = this;
					var suffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
					var colorThief = new ColorThief();
					var palette;
					try {
						palette = colorThief.getPalette(image);
					} catch (e) {
						return;
					}
					palette.forEach(function(color, index) {
						if (_this5.reachedColorsLimit()) return;
						var hex = rgbToHex(color[0], color[1], color[2]);
						if (!Object.values(_this5.colors).includes(hex)) _this5.colors["palette-".concat(suffix, "-").concat(index)] = hex;
					});
				}
			},
			{
				key: "extractColorsFromImages",
				value: function extractColorsFromImages() {
					var _this6 = this;
					this.backgroundImages.forEach(function(img, i) {
						_this6.extractColorsFromImage(img, i);
					});
					this.backgroundImages = [];
				}
			},
			{
				key: "addColorSwatches",
				value: function addColorSwatches(picker) {
					var _this7 = this;
					Object.entries(this.colors).forEach(function(_ref2) {
						var value = _slicedToArray(_ref2, 2)[1];
						var swatch = document.createElement("div");
						swatch.classList.add(_this7.classes.swatch);
						swatch.style = "--color: ".concat(value);
						swatch.dataset.text = value.replace("#", "");
						swatch.addEventListener("mouseenter", function() {
							$e.run("elements-color-picker/enter-preview", { value });
						});
						swatch.addEventListener("mouseleave", function() {
							$e.run("elements-color-picker/exit-preview");
						});
						swatch.addEventListener("click", function(e) {
							$e.run("elements-color-picker/apply", {
								value,
								trigger: {
									palette: picker,
									swatch: e.target
								}
							});
							e.stopPropagation();
						});
						picker.append(swatch);
					});
				}
			},
			{
				key: "addTooltip",
				value: function addTooltip(picker) {
					jQuery(picker).tipsy({
						gravity: "s",
						className: this.classes.tooltip,
						trigger: "manual",
						title: function title() {
							return (0, _wordpress_i18n.__)("Select a color from any image, or from an element whose color you've manually defined.", "elementor");
						}
					}).tipsy("show");
					var tooltip = document.querySelector(this.selectors.tooltip);
					elementor.$previewWrapper[0].appendChild(tooltip);
					tooltip.style.pointerEvents = "none";
				}
			},
			{
				key: "removeTooltip",
				value: function removeTooltip(picker) {
					jQuery(picker).tipsy("hide");
				}
			},
			{
				key: "initSwatch",
				value: function initSwatch() {
					var _this8 = this;
					var x = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
					var y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
					var count = Object.entries(this.colors).length;
					var picker = document.createElement("div");
					picker.dataset.count = count;
					picker.classList.add(this.classes.picker, this.classes.hidden);
					picker.style = "\n			--count: ".concat(count, ";\n			--left: ").concat(x, ";\n			--top: ").concat(y, ";\n		");
					this.container.view.$el[0].append(picker);
					var observer = elementorModules.utils.Scroll.scrollObserver({
						callback: function callback(event) {
							observer.unobserve(picker);
							if (!event.isInViewport) {
								picker.style.setProperty("--left", "unset");
								picker.style.setProperty("--right", "0");
							}
							picker.classList.remove(_this8.classes.hidden);
						},
						root: this.container.view.$el[0],
						offset: "0px -".concat(parseInt(picker.getBoundingClientRect().width), "px 0px")
					});
					observer.observe(picker);
					if (0 === count) this.addTooltip(picker);
					else this.addColorSwatches(picker);
					this.container.view.$el[0].addEventListener("mouseleave", function() {
						_this8.removeTooltip(picker);
						setTimeout(function() {
							picker.remove();
						}, 300);
					}, { once: true });
				}
			},
			{
				key: "reachedColorsLimit",
				value: function reachedColorsLimit() {
					return 5 <= Object.keys(this.colors).length;
				}
			}
		]);
	}($e.modules.CommandBase);

//#endregion
//#region modules/web-cli/assets/js/core/states/ui-state-base.js
	var UiStateBase;
	var init_ui_state_base = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_force_method_implementation();
		UiStateBase = /*#__PURE__*/ function() {
			/**
			* Initialize the state object.
			*
			* @param {ComponentBase} component - Optional. The component that the state belongs to.
			*
			* @return {void}
			*/
			function UiStateBase(component) {
				_classCallCheck(this, UiStateBase);
				this.component = component;
				this.id = this.getId();
				this.options = this.getOptions();
				this.currentState = null;
			}
			/**
			* Set the current state.
			*
			* @param {string} newValue - The new value to set as state. Has to be one of `this.options`.
			*
			* @return {void}
			*/
			return _createClass(UiStateBase, [
				{
					key: "set",
					value: function set(newValue) {
						if (newValue && !Object.prototype.hasOwnProperty.call(this.options, newValue)) throw "Option '".concat(newValue, "' for state '").concat(this.id, "' is invalid.");
						var callback = this.options[newValue];
						var oldValue = this.currentState;
						this.currentState = newValue;
						this.onChange(oldValue, newValue);
						if ("function" === typeof callback) callback(oldValue, newValue);
					}
				},
				{
					key: "getCurrent",
					value: function getCurrent() {
						return this.currentState;
					}
				},
				{
					key: "getId",
					value: function getId() {
						force_method_implementation_default();
					}
				},
				{
					key: "getPrefix",
					value: function getPrefix() {
						var _this$component;
						return ((_this$component = this.component) === null || _this$component === void 0 ? void 0 : _this$component.getNamespace()) || "";
					}
				},
				{
					key: "getPrefixedId",
					value: function getPrefixedId() {
						var prefix = this.getPrefix();
						if (!prefix) return this.getId();
						return "".concat(prefix, "/").concat(this.getId());
					}
				},
				{
					key: "getOptions",
					value: function getOptions() {
						return {
							on: "",
							off: ""
						};
					}
				},
				{
					key: "onChange",
					value: function onChange(oldValue, newValue) {}
				},
				{
					key: "getScopes",
					value: function getScopes() {
						return [window.document.body];
					}
				}
			]);
		}();
	}));

//#endregion
//#region modules/elements-color-picker/assets/js/editor/ui-states/color-picking.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_ui_state_base();
	function _callSuper$121(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$121() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$121, "_callSuper");
	function _isNativeReflectConstruct$121() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$121 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$121, "_isNativeReflectConstruct");
	var COLOR_PICKING_ON = "on";
	/**
	* UI state to determine if the Editor is in Color Picking mode.
	*/
	var ColorPicking = /*#__PURE__*/ function(_UiStateBase) {
		function ColorPicking() {
			_classCallCheck(this, ColorPicking);
			return _callSuper$121(this, ColorPicking, arguments);
		}
		_inherits(ColorPicking, _UiStateBase);
		return _createClass(ColorPicking, [
			{
				key: "getId",
				value: function getId() {
					return "color-picking";
				}
			},
			{
				key: "getScopes",
				value: function getScopes() {
					return [elementor.$previewContents[0].body];
				}
			},
			{
				key: "getOptions",
				value: function getOptions() {
					return _defineProperty({}, "on", "");
				}
			},
			{
				key: "onChange",
				value: function onChange(oldValue, newValue) {
					var editAreaClass = "elementor-edit-area-active";
					var isColorPickingOn = "on" === newValue;
					var editMode = isColorPickingOn ? "picker" : "edit";
					elementor.changeEditMode(editMode);
					this.toggleScopesClass(editAreaClass, isColorPickingOn);
				}
			},
			{
				key: "toggleScopesClass",
				value: function toggleScopesClass(className, state) {
					this.getScopes().forEach(function(scope) {
						scope.classList.toggle(className, state);
					});
				}
			}
		]);
	}(UiStateBase);

//#endregion
//#region modules/elements-color-picker/assets/js/editor/commands/start.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function ownKeys$6(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$6, "ownKeys");
	function _objectSpread$6(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$6(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$6, "_objectSpread");
	function _callSuper$120(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$120() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$120, "_callSuper");
	function _isNativeReflectConstruct$120() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$120 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$120, "_isNativeReflectConstruct");
	/**
	* Start the color picking process.
	*/
	var Start = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Start() {
			_classCallCheck(this, Start);
			return _callSuper$120(this, Start, arguments);
		}
		_inherits(Start, _$e$modules$CommandBa);
		return _createClass(Start, [{
			key: "apply",
			value: function apply(args) {
				this.component.activate();
				$e.uiStates.set("elements-color-picker/color-picking", "on");
				this.component.currentPicker = _objectSpread$6(_objectSpread$6({}, args), {}, { initialColor: args.container.getSetting(args.control) });
				this.component.currentPicker.trigger.classList.add("e-control-tool-disabled");
				addNamespaceHandler(elementor.$previewContents[0].querySelectorAll(".elementor-element"), "click.color-picker", function(e) {
					e.preventDefault();
					$e.run("elements-color-picker/show-swatches", { event: e });
				});
				addNamespaceHandler(elementor.$previewWrapper[0], "mouseleave.color-picker", function() {
					$e.run("elements-color-picker/end");
				});
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region modules/elements-color-picker/assets/js/editor/commands/index.js
	var commands_exports$11 = /* @__PURE__ */ __exportAll({
		Apply: () => Apply,
		End: () => End,
		EnterPreview: () => EnterPreview,
		ExitPreview: () => ExitPreview,
		ShowSwatches: () => ShowSwatches,
		Start: () => Start
	});

//#endregion
//#region modules/elements-color-picker/assets/js/editor/ui-states/index.js
	var ui_states_exports$1 = /* @__PURE__ */ __exportAll({ ColorPicking: () => ColorPicking });

//#endregion
//#region modules/elements-color-picker/assets/js/editor/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	init_component_base$1();
	function _callSuper$119(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$119() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$119, "_callSuper");
	function _isNativeReflectConstruct$119() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$119 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$119, "_isNativeReflectConstruct");
	var Component$17 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			var _this;
			_classCallCheck(this, Component);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$119(this, Component, [].concat(args));
			_defineProperty(_this, "currentPicker", _this.getDefaultPicker());
			return _this;
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "getDefaultPicker",
				value: function getDefaultPicker() {
					return {
						kit: null,
						container: null,
						control: null,
						trigger: null,
						initialColor: null
					};
				}
			},
			{
				key: "resetPicker",
				value: function resetPicker() {
					this.currentPicker = this.getDefaultPicker();
				}
			},
			{
				key: "renderUI",
				value: function renderUI(value) {
					var _this$currentPicker = this.currentPicker;
					var container = _this$currentPicker.container;
					var control = _this$currentPicker.control;
					var kit = _this$currentPicker.kit;
					container.settings.set(control, value);
					var view = container.view;
					if (view !== null && view !== void 0 && view.renderUI) view.renderUI();
					if (kit) {
						var id = kit.config.id;
						var cssVar = "--e-global-color-".concat(container.id);
						elementor.$previewContents[0].querySelector(".elementor-kit-".concat(id)).style.setProperty(cssVar, value);
					}
				}
			},
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "elements-color-picker";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$11);
				}
			},
			{
				key: "defaultUiStates",
				value: function defaultUiStates() {
					return this.importUiStates(ui_states_exports$1);
				}
			},
			{
				key: "defaultShortcuts",
				value: function defaultShortcuts() {
					return { end: {
						keys: "esc",
						scopes: [this.getNamespace()]
					} };
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region modules/elements-color-picker/assets/js/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$118(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$118() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$118, "_callSuper");
	function _isNativeReflectConstruct$118() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$118 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$118, "_isNativeReflectConstruct");
	function _superPropGet$21(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$21, "_superPropGet");
	var ElementsColorPicker = /*#__PURE__*/ function(_elementorModules$Vie) {
		function ElementsColorPicker() {
			_classCallCheck(this, ElementsColorPicker);
			return _callSuper$118(this, ElementsColorPicker, arguments);
		}
		_inherits(ElementsColorPicker, _elementorModules$Vie);
		return _createClass(ElementsColorPicker, [{
			key: "onInit",
			value: function onInit() {
				_superPropGet$21(ElementsColorPicker, "onInit", this, 3)([]);
				$e.components.register(new Component$17());
			}
		}]);
	}(elementorModules.ViewModule);

//#endregion
//#region assets/dev/js/utils/breakpoints.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function ownKeys$5(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$5, "ownKeys");
	function _objectSpread$5(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$5(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$5, "_objectSpread");
	function _callSuper$117(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$117() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$117, "_callSuper");
	function _isNativeReflectConstruct$117() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$117 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$117, "_isNativeReflectConstruct");
	/**
	* Breakpoints
	*
	* This utility class contains helper functions relating to Elementor's breakpoints system.
	*
	* @since 3.4.0
	*/
	var Breakpoints = /*#__PURE__*/ function(_elementorModules$Mod) {
		function Breakpoints(responsiveConfig) {
			var _this;
			_classCallCheck(this, Breakpoints);
			_this = _callSuper$117(this, Breakpoints);
			_this.responsiveConfig = responsiveConfig;
			return _this;
		}
		/**
		* Get Active Breakpoints List
		*
		* Returns a flat array containing the active breakpoints/devices. By default, it returns the li
		* the list ordered from smallest to largest breakpoint. If `true` is passed as a parameter, it reverses the order.
		*
		* @since 3.4.0
		*
		* @param {Object} args
		*/
		_inherits(Breakpoints, _elementorModules$Mod);
		return _createClass(Breakpoints, [
			{
				key: "getActiveBreakpointsList",
				value: function getActiveBreakpointsList() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					args = _objectSpread$5(_objectSpread$5({}, {
						largeToSmall: false,
						withDesktop: false
					}), args);
					var breakpointKeys = Object.keys(this.responsiveConfig.activeBreakpoints);
					if (args.withDesktop) {
						var indexToInsertDesktopDevice = -1 === breakpointKeys.indexOf("widescreen") ? breakpointKeys.length : breakpointKeys.length - 1;
						breakpointKeys.splice(indexToInsertDesktopDevice, 0, "desktop");
					}
					if (args.largeToSmall) breakpointKeys.reverse();
					return breakpointKeys;
				}
			},
			{
				key: "getBreakpointValues",
				value: function getBreakpointValues() {
					var activeBreakpoints = this.responsiveConfig.activeBreakpoints;
					var breakpointValues = [];
					Object.values(activeBreakpoints).forEach(function(breakpointConfig) {
						breakpointValues.push(breakpointConfig.value);
					});
					return breakpointValues;
				}
			},
			{
				key: "getDesktopPreviousDeviceKey",
				value: function getDesktopPreviousDeviceKey() {
					var desktopPreviousDevice = "";
					var activeBreakpoints = this.responsiveConfig.activeBreakpoints;
					var breakpointKeys = Object.keys(activeBreakpoints);
					var numOfDevices = breakpointKeys.length;
					if ("min" === activeBreakpoints[breakpointKeys[numOfDevices - 1]].direction) desktopPreviousDevice = breakpointKeys[numOfDevices - 2];
					else desktopPreviousDevice = breakpointKeys[numOfDevices - 1];
					return desktopPreviousDevice;
				}
			},
			{
				key: "getDesktopMinPoint",
				value: function getDesktopMinPoint() {
					return this.responsiveConfig.activeBreakpoints[this.getDesktopPreviousDeviceKey()].value + 1;
				}
			},
			{
				key: "getDeviceMinBreakpoint",
				value: function getDeviceMinBreakpoint(device) {
					if ("desktop" === device) return this.getDesktopMinPoint();
					var activeBreakpoints = this.responsiveConfig.activeBreakpoints;
					var breakpointNames = Object.keys(activeBreakpoints);
					var minBreakpoint;
					if (breakpointNames[0] === device) minBreakpoint = 320;
					else if ("widescreen" === device) if (activeBreakpoints[device]) minBreakpoint = activeBreakpoints[device].value;
					else minBreakpoint = this.responsiveConfig.breakpoints.widescreen;
					else minBreakpoint = activeBreakpoints[breakpointNames[breakpointNames.indexOf(device) - 1]].value + 1;
					return minBreakpoint;
				}
			},
			{
				key: "getActiveMatchRegex",
				value: function getActiveMatchRegex() {
					return new RegExp(this.getActiveBreakpointsList().map(function(device) {
						return "_" + device;
					}).join("|") + "$");
				}
			}
		]);
	}(elementorModules.Module);

//#endregion
//#region assets/dev/js/utils/events.js
	init_classCallCheck();
	init_createClass();
	var Events = /*#__PURE__*/ function() {
		function Events() {
			_classCallCheck(this, Events);
		}
		return _createClass(Events, null, [{
			key: "dispatch",
			value: function dispatch(context, event) {
				var data = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
				var bcEvent = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null;
				context = context instanceof jQuery ? context[0] : context;
				if (bcEvent) context.dispatchEvent(new CustomEvent(bcEvent, { detail: data }));
				context.dispatchEvent(new CustomEvent(event, { detail: data }));
			}
		}]);
	}();

//#endregion
//#region assets/dev/js/editor/command-bases/command-container-base.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_command_base();
	function _callSuper$116(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$116() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$116, "_callSuper");
	function _isNativeReflectConstruct$116() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$116 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$116, "_isNativeReflectConstruct");
	/**
	* @name $e.modules.editor.CommandContainerBase
	*/
	var CommandContainerBase = /*#__PURE__*/ function(_CommandBase) {
		function CommandContainerBase() {
			_classCallCheck(this, CommandContainerBase);
			return _callSuper$116(this, CommandContainerBase, arguments);
		}
		_inherits(CommandContainerBase, _CommandBase);
		return _createClass(CommandContainerBase, [{
			key: "requireContainer",
			value: function requireContainer() {
				var _this = this;
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.args;
				if (!args.container && !args.containers) throw Error("container or containers are required.");
				if (args.container && args.containers) throw Error("container and containers cannot go together please select one of them.");
				(args.containers || [args.container]).forEach(function(container) {
					_this.requireArgumentInstance("container", elementorModules.editor.Container, { container });
				});
			}
		}], [{
			key: "getInstanceType",
			value: function getInstanceType() {
				return "CommandContainerBase";
			}
		}]);
	}(CommandBase);

//#endregion
//#region assets/dev/js/editor/document/command-bases/command-history-base.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$115(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$115() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$115, "_callSuper");
	function _isNativeReflectConstruct$115() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$115 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$115, "_isNativeReflectConstruct");
	function _superPropGet$20(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$20, "_superPropGet");
	/**
	* @name $e.modules.editor.document.CommandHistoryBase
	*/
	var CommandHistoryBase = /*#__PURE__*/ function(_CommandContainerBase) {
		function CommandHistoryBase() {
			_classCallCheck(this, CommandHistoryBase);
			return _callSuper$115(this, CommandHistoryBase, arguments);
		}
		_inherits(CommandHistoryBase, _CommandContainerBase);
		return _createClass(CommandHistoryBase, [
			{
				key: "initialize",
				value: function initialize() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					var _args$options = args.options;
					var _options$useHistory = (_args$options === void 0 ? {} : _args$options).useHistory;
					if (_options$useHistory === void 0 ? true : _options$useHistory) {
						/**
						* Get History from child command.
						*
						* @type {{}|boolean}
						*/
						this.history = this.getHistory(args);
						/**
						* @type {number|boolean}
						*/
						this.historyId = false;
					}
				}
			},
			{
				key: "getHistory",
				value: function getHistory() {
					arguments.length > 0 && arguments[0] !== void 0 && arguments[0];
					elementorModules.ForceMethodImplementation();
				}
			},
			{
				key: "isHistoryActive",
				value: function isHistoryActive() {
					return elementor.documents.getCurrent().history.getActive();
				}
			},
			{
				key: "onBeforeRun",
				value: function onBeforeRun(args) {
					_superPropGet$20(CommandHistoryBase, "onBeforeRun", this, 3)([args]);
					if (this.history && this.isHistoryActive()) this.historyId = $e.internal("document/history/start-log", this.history);
				}
			},
			{
				key: "onAfterRun",
				value: function onAfterRun(args, result) {
					_superPropGet$20(CommandHistoryBase, "onAfterRun", this, 3)([args, result]);
					if (this.history && this.isHistoryActive()) $e.internal("document/history/end-log", { id: this.historyId });
				}
			},
			{
				key: "onAfterApply",
				value: function onAfterApply() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					var result = arguments.length > 1 ? arguments[1] : void 0;
					_superPropGet$20(CommandHistoryBase, "onAfterApply", this, 3)([args, result]);
					if (this.isDataChanged()) $e.internal("document/save/set-is-modified", { status: true });
				}
			},
			{
				key: "onCatchApply",
				value: function onCatchApply(e) {
					if (e instanceof $e.modules.HookBreak && this.historyId) $e.internal("document/history/delete-log", { id: this.historyId });
					_superPropGet$20(CommandHistoryBase, "onCatchApply", this, 3)([e]);
				}
			},
			{
				key: "isDataChanged",
				value: function isDataChanged() {
					return true;
				}
			}
		], [{
			key: "getInstanceType",
			value: function getInstanceType() {
				return "CommandHistoryBase";
			}
		}]);
	}(CommandContainerBase);

//#endregion
//#region assets/dev/js/editor/document/command-bases/command-disable-enable.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_settings$2();
	function _callSuper$114(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$114() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$114, "_callSuper");
	function _isNativeReflectConstruct$114() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$114 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$114, "_isNativeReflectConstruct");
	function _superPropGet$19(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$19, "_superPropGet");
	/**
	* The class serve as base for commands who needs the 'enable/disable' behavior.
	*/
	var CommandDisableEnable = /*#__PURE__*/ function(_CommandHistoryBase) {
		function CommandDisableEnable() {
			_classCallCheck(this, CommandDisableEnable);
			return _callSuper$114(this, CommandDisableEnable, arguments);
		}
		_inherits(CommandDisableEnable, _CommandHistoryBase);
		return _createClass(CommandDisableEnable, [
			{
				key: "initialize",
				value: function initialize(args) {
					/**
					* Which command is running.
					*
					* @type {string}
					*/
					this.type = this.command === this.constructor.getEnableCommand() ? "enable" : "disable";
					_superPropGet$19(CommandDisableEnable, "initialize", this, 3)([args]);
				}
			},
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentConstructor("settings", Object, args);
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var settings = args.settings;
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var changes = {};
					containers.forEach(function(container) {
						var id = container.id;
						if (!changes[id]) changes[id] = {};
						changes[id] = settings;
					});
					var subTitle = elementor.translate(this.constructor.getName()) + " " + Settings$2.getSubTitle(args);
					var type = this.type;
					return {
						containers,
						subTitle,
						data: {
							changes,
							command: this.command
						},
						type,
						restore: this.constructor.restore
					};
				}
			}
		], [
			{
				key: "getName",
				value: function getName() {
					elementorModules.ForceMethodImplementation();
				}
			},
			{
				key: "getEnableCommand",
				value: function getEnableCommand() {
					elementorModules.ForceMethodImplementation();
				}
			},
			{
				key: "getDisableCommand",
				value: function getDisableCommand() {
					elementorModules.ForceMethodImplementation();
				}
			},
			{
				key: "restore",
				value: function restore(historyItem, isRedo) {
					var data = historyItem.get("data");
					var CommandClass = $e.commands.getCommandClass(data.command);
					if (CommandClass.getDisableCommand() === data.command) isRedo = !isRedo;
					historyItem.get("containers").forEach(function(container) {
						var settings = data.changes[container.id];
						var toggle = isRedo ? CommandClass.getEnableCommand() : CommandClass.getDisableCommand();
						$e.run(toggle, {
							container,
							settings
						});
						container.panel.refresh();
					});
				}
			}
		]);
	}(CommandHistoryBase);

//#endregion
//#region assets/dev/js/editor/document/dynamic/commands/base/disable-enable.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$113(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$113() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$113, "_callSuper");
	function _isNativeReflectConstruct$113() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$113 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$113, "_isNativeReflectConstruct");
	var DisableEnable$1 = /*#__PURE__*/ function(_CommandDisableEnable) {
		function DisableEnable() {
			_classCallCheck(this, DisableEnable);
			return _callSuper$113(this, DisableEnable, arguments);
		}
		_inherits(DisableEnable, _CommandDisableEnable);
		return _createClass(DisableEnable, [{
			key: "getTitle",
			value: function getTitle() {
				return (0, _wordpress_i18n.__)("Dynamic");
			}
		}], [
			{
				key: "getName",
				value: function getName() {
					return "Dynamic";
				}
			},
			{
				key: "getEnableCommand",
				value: function getEnableCommand() {
					return "document/dynamic/enable";
				}
			},
			{
				key: "getDisableCommand",
				value: function getDisableCommand() {
					return "document/dynamic/disable";
				}
			}
		]);
	}(CommandDisableEnable);

//#endregion
//#region assets/dev/js/editor/document/dynamic/commands/disable.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$112(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$112() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$112, "_callSuper");
	function _isNativeReflectConstruct$112() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$112 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$112, "_isNativeReflectConstruct");
	var Disable$1 = /*#__PURE__*/ function(_DisableEnable) {
		function Disable() {
			_classCallCheck(this, Disable);
			return _callSuper$112(this, Disable, arguments);
		}
		_inherits(Disable, _DisableEnable);
		return _createClass(Disable, [{
			key: "apply",
			value: function apply(args) {
				var settings = args.settings;
				var _args$containers = args.containers;
				(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
					container = container.lookup();
					Object.keys(settings).forEach(function(setting) {
						container.dynamic.unset(setting);
					});
					$e.internal("document/elements/set-settings", {
						container,
						settings: { __dynamic__: container.dynamic.toJSON() }
					});
				});
			}
		}]);
	}(DisableEnable$1);

//#endregion
//#region assets/dev/js/editor/document/dynamic/commands/enable.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$111(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$111() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$111, "_callSuper");
	function _isNativeReflectConstruct$111() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$111 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$111, "_isNativeReflectConstruct");
	var Enable$1 = /*#__PURE__*/ function(_DisableEnable) {
		function Enable() {
			_classCallCheck(this, Enable);
			return _callSuper$111(this, Enable, arguments);
		}
		_inherits(Enable, _DisableEnable);
		return _createClass(Enable, [{
			key: "apply",
			value: function apply(args) {
				var settings = args.settings;
				var _args$containers = args.containers;
				(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
					container = container.lookup();
					container.dynamic.set(settings);
					$e.internal("document/elements/set-settings", {
						container,
						settings: { __dynamic__: container.dynamic.toJSON() }
					});
				});
			}
		}]);
	}(DisableEnable$1);

//#endregion
//#region assets/dev/js/editor/document/dynamic/commands/settings.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_settings$2();
	function _callSuper$110(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$110() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$110, "_callSuper");
	function _isNativeReflectConstruct$110() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$110 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$110, "_isNativeReflectConstruct");
	/**
	* The difference between 'document/elements/settings` and `document/dynamic/settings` is:
	* that `document/elements/settings` apply settings to `container.settings` and `document/dynamic/settings` affect
	* `container.settings.__dynamic__`, also clearing the dynamic if `args.settings` is empty.
	*/
	var Settings$1 = /*#__PURE__*/ function(_$e$modules$editor$do) {
		function Settings() {
			_classCallCheck(this, Settings);
			return _callSuper$110(this, Settings, arguments);
		}
		_inherits(Settings, _$e$modules$editor$do);
		return _createClass(Settings, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentConstructor("settings", Object, args);
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var settings = args.settings;
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var changes = {};
					containers.forEach(function(container) {
						var id = container.id;
						if (!changes[id]) changes[id] = {};
						changes[id] = {
							old: container.dynamic.toJSON(),
							new: settings
						};
					});
					return {
						containers,
						subTitle: Settings$2.getSubTitle(args),
						data: { changes },
						type: "change",
						restore: this.constructor.restore
					};
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var settings = args.settings;
					var _args$containers2 = args.containers;
					(_args$containers2 === void 0 ? [args.container] : _args$containers2).forEach(function(container) {
						container = container.lookup();
						if (!Object.keys(settings).length) container.dynamic.clear();
						else container.dynamic.set(settings);
						$e.internal("document/elements/set-settings", {
							container,
							settings: { __dynamic__: container.dynamic.toJSON() }
						});
					});
				}
			}
		], [{
			key: "restore",
			value: function restore(historyItem, isRedo) {
				var data = historyItem.get("data");
				historyItem.get("containers").forEach(function(container) {
					var changes = data.changes[container.id];
					$e.run("document/dynamic/settings", {
						container,
						settings: isRedo ? changes.new : changes.old
					});
					container.panel.refresh();
				});
			}
		}]);
	}($e.modules.editor.document.CommandHistoryDebounceBase);

//#endregion
//#region assets/dev/js/editor/document/dynamic/commands/index.js
	var commands_exports$10 = /* @__PURE__ */ __exportAll({
		Disable: () => Disable$1,
		Enable: () => Enable$1,
		Settings: () => Settings$1
	});

//#endregion
//#region assets/dev/js/editor/document/dynamic/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_component_base$1();
	function _callSuper$109(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$109() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$109, "_callSuper");
	function _isNativeReflectConstruct$109() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$109 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$109, "_isNativeReflectConstruct");
	var Component$16 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$109(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [{
			key: "getNamespace",
			value: function getNamespace() {
				return "document/dynamic";
			}
		}, {
			key: "defaultCommands",
			value: function defaultCommands() {
				return this.importCommands(commands_exports$10);
			}
		}]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/document/elements/commands-internal/set-settings.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$108(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$108() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$108, "_callSuper");
	function _isNativeReflectConstruct$108() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$108 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$108, "_isNativeReflectConstruct");
	var SetSettings = /*#__PURE__*/ function(_$e$modules$editor$Co) {
		function SetSettings() {
			_classCallCheck(this, SetSettings);
			return _callSuper$108(this, SetSettings, arguments);
		}
		_inherits(SetSettings, _$e$modules$editor$Co);
		return _createClass(SetSettings, [{
			key: "validateArgs",
			value: function validateArgs() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				this.requireContainer(args);
				this.requireArgumentType("settings", "object", args);
				if ("undefined" !== typeof args.render && "undefined" !== typeof args.renderUI) throw new Error("Args: `render` and `renderUI` cannot be applied together.");
			}
		}, {
			key: "apply",
			value: function apply() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				var _args$containers = args.containers;
				var containers = _args$containers === void 0 ? [args.container] : _args$containers;
				var settings = args.settings;
				var _args$options = args.options;
				var options = _args$options === void 0 ? {} : _args$options;
				var external = options.external;
				var _options$render = options.render;
				var render = _options$render === void 0 ? true : _options$render;
				var _options$renderUI = options.renderUI;
				var renderUI = _options$renderUI === void 0 ? false : _options$renderUI;
				containers.forEach(function(container) {
					if (external) container.settings.setExternalChange(settings);
					else container.settings.set(settings);
					if (renderUI) container.renderUI();
					else if (render) container.render();
				});
			}
		}]);
	}($e.modules.editor.CommandContainerInternalBase);

//#endregion
//#region assets/dev/js/editor/document/elements/commands-internal/index.js
	var commands_internal_exports = /* @__PURE__ */ __exportAll({ SetSettings: () => SetSettings });

//#endregion
//#region assets/dev/js/editor/document/elements/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_component_base$1();
	init_commands$5();
	function _callSuper$107(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$107() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$107, "_callSuper");
	function _isNativeReflectConstruct$107() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$107 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$107, "_isNativeReflectConstruct");
	var Component$15 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$107(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "document/elements";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$19);
				}
			},
			{
				key: "defaultCommandsInternal",
				value: function defaultCommandsInternal() {
					return this.importCommands(commands_internal_exports);
				}
			},
			{
				key: "defaultUtils",
				value: function defaultUtils() {
					var _this = this;
					return {
						isValidChild: function isValidChild(childModel, parentModel) {
							return parentModel.isValidChild(childModel);
						},
						isValidGrandChild: function isValidGrandChild(childModel, targetContainer) {
							var result;
							var childElType = childModel.get("elType");
							switch (targetContainer.model.get("elType")) {
								case "document":
									result = true;
									break;
								case "section":
									result = "widget" === childElType;
									break;
								default: result = false;
							}
							return result;
						},
						isSameElement: function isSameElement(sourceModel, targetContainer) {
							var targetElType = targetContainer.model.get("elType");
							var sourceElType = sourceModel.get("elType");
							if (targetElType !== sourceElType) return false;
							if ("column" === targetElType && "column" === sourceElType) return true;
							return targetContainer.model.get("isInner") === sourceModel.get("isInner");
						},
						getPasteOptions: function getPasteOptions(sourceModel, targetContainer) {
							var result = {};
							result.isValidChild = targetContainer.model.isValidChild(sourceModel);
							result.isSameElement = _this.utils.isSameElement(sourceModel, targetContainer);
							result.isValidGrandChild = _this.utils.isValidGrandChild(sourceModel, targetContainer);
							return result;
						},
						isPasteEnabled: function isPasteEnabled(targetContainer) {
							var _storage$elements;
							var storage = elementorCommon.storage.get("clipboard");
							if (!storage || !(storage !== null && storage !== void 0 && (_storage$elements = storage.elements) !== null && _storage$elements !== void 0 && _storage$elements.length) || "elementor" !== (storage === null || storage === void 0 ? void 0 : storage.type)) return false;
							if (!(storage.elements[0] instanceof Backbone.Model)) storage.elements[0] = new Backbone.Model(storage.elements[0]);
							var pasteOptions = _this.utils.getPasteOptions(storage.elements[0], targetContainer);
							return Object.values(pasteOptions).some(function(opt) {
								return !!opt;
							});
						},
						allowAddingWidgets: function allowAddingWidgets() {
							var _elementor$config$doc;
							return (_elementor$config$doc = elementor.config.document.panel.allow_adding_widgets) !== null && _elementor$config$doc !== void 0 ? _elementor$config$doc : true;
						},
						showNavigator: function showNavigator() {
							var _elementor$config$doc2;
							return (_elementor$config$doc2 = elementor.config.document.panel.show_navigator) !== null && _elementor$config$doc2 !== void 0 ? _elementor$config$doc2 : true;
						},
						showCopyAndShareButton: function showCopyAndShareButton() {
							var _elementor$config$doc3;
							return (_elementor$config$doc3 = elementor.config.document.panel.show_copy_and_share) !== null && _elementor$config$doc3 !== void 0 ? _elementor$config$doc3 : false;
						},
						getTitleForLibraryClose: function getTitleForLibraryClose() {
							var _elementor$config$doc4;
							return (_elementor$config$doc4 = elementor.config.document.panel.library_close_title) !== null && _elementor$config$doc4 !== void 0 ? _elementor$config$doc4 : "";
						},
						getTitleForPublishButton: function getTitleForPublishButton() {
							var _elementor$config$doc5;
							return (_elementor$config$doc5 = elementor.config.document.panel.publish_button_title) !== null && _elementor$config$doc5 !== void 0 ? _elementor$config$doc5 : "";
						}
					};
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/document/globals/commands/base/disable-enable.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$106(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$106() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$106, "_callSuper");
	function _isNativeReflectConstruct$106() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$106 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$106, "_isNativeReflectConstruct");
	var DisableEnable = /*#__PURE__*/ function(_CommandDisableEnable) {
		function DisableEnable() {
			_classCallCheck(this, DisableEnable);
			return _callSuper$106(this, DisableEnable, arguments);
		}
		_inherits(DisableEnable, _CommandDisableEnable);
		return _createClass(DisableEnable, [{
			key: "getTitle",
			value: function getTitle() {
				return (0, _wordpress_i18n.__)("Global");
			}
		}], [
			{
				key: "getName",
				value: function getName() {
					return "Global";
				}
			},
			{
				key: "getEnableCommand",
				value: function getEnableCommand() {
					return "document/globals/enable";
				}
			},
			{
				key: "getDisableCommand",
				value: function getDisableCommand() {
					return "document/globals/disable";
				}
			}
		]);
	}(CommandDisableEnable);

//#endregion
//#region assets/dev/js/editor/document/globals/commands/disable.js
	init_slicedToArray();
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$105(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$105() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$105, "_callSuper");
	function _isNativeReflectConstruct$105() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$105 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$105, "_isNativeReflectConstruct");
	var Disable = /*#__PURE__*/ function(_DisableEnable) {
		function Disable() {
			_classCallCheck(this, Disable);
			return _callSuper$105(this, Disable, arguments);
		}
		_inherits(Disable, _DisableEnable);
		return _createClass(Disable, [{
			key: "apply",
			value: function() {
				var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee3(args) {
					var settings;
					var _args$containers;
					var containers;
					var _args$options;
					var options;
					var all;
					return import_regenerator$16.default.wrap(function(_context3) {
						while (1) switch (_context3.prev = _context3.next) {
							case 0:
								settings = args.settings, _args$containers = args.containers, containers = _args$containers === void 0 ? [args.container] : _args$containers, _args$options = args.options, options = _args$options === void 0 ? {} : _args$options;
								all = containers.map(/*#__PURE__*/ function() {
									var _ref = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2(container) {
										var promises;
										return import_regenerator$16.default.wrap(function(_context2) {
											while (1) switch (_context2.prev = _context2.next) {
												case 0:
													container = container.lookup();
													promises = [];
													if (!options.restore) {
														_context2.next = 1;
														break;
													}
													promises = Object.entries(container.globals.attributes).map(/*#__PURE__*/ function() {
														var _ref3 = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(_ref2) {
															var _ref4;
															var globalKey;
															var globalValue;
															return import_regenerator$16.default.wrap(function(_context) {
																while (1) switch (_context.prev = _context.next) {
																	case 0:
																		_ref4 = _slicedToArray(_ref2, 2), globalKey = _ref4[0], globalValue = _ref4[1];
																		if (globalValue) {
																			_context.next = 1;
																			break;
																		}
																		return _context.abrupt("return");
																	case 1: return _context.abrupt("return", $e.run("document/globals/unlink", {
																		container,
																		options: { external: true },
																		globalValue,
																		setting: globalKey
																	}));
																	case 2:
																	case "end": return _context.stop();
																}
															}, _callee);
														}));
														return function(_x3) {
															return _ref3.apply(this, arguments);
														};
													}());
													_context2.next = 1;
													return Promise.all(promises);
												case 1:
													Object.keys(settings).forEach(function(setting) {
														return container.globals.set(setting, "");
													});
													$e.internal("document/elements/set-settings", {
														container,
														settings: { __globals__: container.globals.toJSON() },
														options: { renderUI: true }
													});
												case 2:
												case "end": return _context2.stop();
											}
										}, _callee2);
									}));
									return function(_x2) {
										return _ref.apply(this, arguments);
									};
								}());
								_context3.next = 1;
								return Promise.all(all);
							case 1:
							case "end": return _context3.stop();
						}
					}, _callee3);
				}));
				function apply(_x) {
					return _apply.apply(this, arguments);
				}
				return apply;
			}()
		}]);
	}(DisableEnable);

//#endregion
//#region assets/dev/js/editor/document/globals/commands/enable.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$104(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$104() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$104, "_callSuper");
	function _isNativeReflectConstruct$104() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$104 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$104, "_isNativeReflectConstruct");
	var Enable = /*#__PURE__*/ function(_DisableEnable) {
		function Enable() {
			_classCallCheck(this, Enable);
			return _callSuper$104(this, Enable, arguments);
		}
		_inherits(Enable, _DisableEnable);
		return _createClass(Enable, [{
			key: "apply",
			value: function apply(args) {
				var settings = args.settings;
				var _args$containers = args.containers;
				(_args$containers === void 0 ? [args.container] : _args$containers).forEach(function(container) {
					container = container.lookup();
					container.globals.set(settings);
					$e.internal("document/elements/set-settings", {
						container,
						settings: { __globals__: container.globals.toJSON() },
						options: { renderUI: true }
					});
					Object.values(container.getGroupRelatedControls(settings)).forEach(function(control) {
						container.settings.set(control.name, control.default);
					});
				});
			}
		}]);
	}(DisableEnable);

//#endregion
//#region assets/dev/js/editor/document/globals/commands/settings.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_settings$2();
	function _callSuper$103(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$103() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$103, "_callSuper");
	function _isNativeReflectConstruct$103() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$103 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$103, "_isNativeReflectConstruct");
	var Settings = /*#__PURE__*/ function(_$e$modules$editor$do) {
		function Settings() {
			_classCallCheck(this, Settings);
			return _callSuper$103(this, Settings, arguments);
		}
		_inherits(Settings, _$e$modules$editor$do);
		return _createClass(Settings, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentConstructor("settings", Object, args);
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var settings = args.settings;
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					var changes = {};
					containers.forEach(function(container) {
						var id = container.id;
						if (!changes[id]) changes[id] = {};
						changes[id] = {
							old: container.globals.toJSON(),
							new: settings
						};
					});
					return {
						containers,
						subTitle: Settings$2.getSubTitle(args),
						data: { changes },
						type: "change",
						restore: this.constructor.restore
					};
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var settings = args.settings;
					var _args$containers2 = args.containers;
					var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
					var _args$options = args.options;
					var options = _args$options === void 0 ? {} : _args$options;
					containers.forEach(function(container) {
						container = container.lookup();
						if (!Object.keys(settings).length) container.globals.clear();
						else container.globals.set(settings);
						$e.internal("document/elements/set-settings", {
							container,
							options,
							settings: { __globals__: container.globals.toJSON() }
						});
					});
				}
			}
		], [{
			key: "restore",
			value: function restore(historyItem, isRedo) {
				var data = historyItem.get("data");
				historyItem.get("containers").forEach(function(container) {
					var changes = data.changes[container.id];
					$e.run("document/globals/settings", {
						container,
						settings: isRedo ? changes.new : changes.old
					});
					container.panel.refresh();
				});
			}
		}]);
	}($e.modules.editor.document.CommandHistoryDebounceBase);

//#endregion
//#region assets/dev/js/editor/document/globals/commands/unlink.js
	init_slicedToArray();
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$102(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$102() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$102, "_callSuper");
	function _isNativeReflectConstruct$102() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$102 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$102, "_isNativeReflectConstruct");
	var Unlink = /*#__PURE__*/ function(_$e$modules$editor$Co) {
		function Unlink() {
			_classCallCheck(this, Unlink);
			return _callSuper$102(this, Unlink, arguments);
		}
		_inherits(Unlink, _$e$modules$editor$Co);
		return _createClass(Unlink, [{
			key: "validateArgs",
			value: function validateArgs() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				this.requireContainer(args);
				this.requireArgumentType("setting", "string", args);
				this.requireArgumentType("globalValue", "string", args);
			}
		}, {
			key: "apply",
			value: function() {
				var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee2(args) {
					var _args$containers;
					var containers;
					var setting;
					var globalValue;
					var _args$options;
					var options;
					var localSettings;
					return import_regenerator$16.default.wrap(function(_context2) {
						while (1) switch (_context2.prev = _context2.next) {
							case 0:
								_args$containers = args.containers, containers = _args$containers === void 0 ? [args.container] : _args$containers, setting = args.setting, globalValue = args.globalValue, _args$options = args.options, options = _args$options === void 0 ? {} : _args$options, localSettings = {};
								_context2.next = 1;
								return Promise.all(containers.map(/*#__PURE__*/ function() {
									var _ref = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(container) {
										var result;
										var _container$controls$s;
										var value;
										var groupPrefix;
										return import_regenerator$16.default.wrap(function(_context) {
											while (1) switch (_context.prev = _context.next) {
												case 0:
													_context.next = 1;
													return $e.data.get(globalValue);
												case 1:
													result = _context.sent;
													if (result) {
														value = result.data.value, groupPrefix = (_container$controls$s = container.controls[setting]) === null || _container$controls$s === void 0 ? void 0 : _container$controls$s.groupPrefix;
														if (groupPrefix) Object.entries(value).forEach(function(_ref2) {
															var _ref3 = _slicedToArray(_ref2, 2);
															var dataKey = _ref3[0];
															var dataValue = _ref3[1];
															dataKey = dataKey.replace(elementor.config.kit_config.typography_prefix, groupPrefix);
															localSettings[dataKey] = dataValue;
														});
														else localSettings[setting] = value;
													}
													return _context.abrupt("return", Promise.resolve());
												case 2:
												case "end": return _context.stop();
											}
										}, _callee);
									}));
									return function(_x2) {
										return _ref.apply(this, arguments);
									};
								}()));
							case 1: if (Object.keys(localSettings).length) $e.run("document/elements/settings", {
								containers,
								options,
								settings: localSettings
							});
							case 2:
							case "end": return _context2.stop();
						}
					}, _callee2);
				}));
				function apply(_x) {
					return _apply.apply(this, arguments);
				}
				return apply;
			}()
		}]);
	}($e.modules.editor.CommandContainerBase);

//#endregion
//#region assets/dev/js/editor/document/globals/commands/index.js
	var commands_exports$9 = /* @__PURE__ */ __exportAll({
		Disable: () => Disable,
		Enable: () => Enable,
		Settings: () => Settings,
		Unlink: () => Unlink
	});

//#endregion
//#region assets/dev/js/editor/document/globals/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_component_base$1();
	function _callSuper$101(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$101() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$101, "_callSuper");
	function _isNativeReflectConstruct$101() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$101 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$101, "_isNativeReflectConstruct");
	var Component$14 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$101(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [{
			key: "getNamespace",
			value: function getNamespace() {
				return "document/globals";
			}
		}, {
			key: "defaultCommands",
			value: function defaultCommands() {
				return this.importCommands(commands_exports$9);
			}
		}]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/document/history/commands/do.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$100(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$100() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$100, "_callSuper");
	function _isNativeReflectConstruct$100() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$100 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$100, "_isNativeReflectConstruct");
	var Do = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Do() {
			_classCallCheck(this, Do);
			return _callSuper$100(this, Do, arguments);
		}
		_inherits(Do, _$e$modules$CommandBa);
		return _createClass(Do, [{
			key: "apply",
			value: function apply(args) {
				var index = args.index;
				return elementor.documents.getCurrent().history.doItem(index);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/redo.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$99(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$99() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$99, "_callSuper");
	function _isNativeReflectConstruct$99() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$99 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$99, "_isNativeReflectConstruct");
	var Redo = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Redo() {
			_classCallCheck(this, Redo);
			return _callSuper$99(this, Redo, arguments);
		}
		_inherits(Redo, _$e$modules$CommandBa);
		return _createClass(Redo, [{
			key: "apply",
			value: function apply() {
				var _historyItem$get;
				var historyItem = elementor.documents.getCurrent().history.navigate(true);
				return { originHistoryItemId: (_historyItem$get = historyItem === null || historyItem === void 0 ? void 0 : historyItem.get("id")) !== null && _historyItem$get !== void 0 ? _historyItem$get : null };
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/undo.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$98(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$98() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$98, "_callSuper");
	function _isNativeReflectConstruct$98() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$98 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$98, "_isNativeReflectConstruct");
	var Undo = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Undo() {
			_classCallCheck(this, Undo);
			return _callSuper$98(this, Undo, arguments);
		}
		_inherits(Undo, _$e$modules$CommandBa);
		return _createClass(Undo, [{
			key: "apply",
			value: function apply() {
				var _historyItem$get;
				var historyItem = elementor.documents.getCurrent().history.navigate();
				return { originHistoryItemId: (_historyItem$get = historyItem === null || historyItem === void 0 ? void 0 : historyItem.get("id")) !== null && _historyItem$get !== void 0 ? _historyItem$get : null };
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/undo-all.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$97(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$97() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$97, "_callSuper");
	function _isNativeReflectConstruct$97() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$97 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$97, "_isNativeReflectConstruct");
	var UndoAll = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function UndoAll() {
			_classCallCheck(this, UndoAll);
			return _callSuper$97(this, UndoAll, arguments);
		}
		_inherits(UndoAll, _$e$modules$CommandBa);
		return _createClass(UndoAll, [{
			key: "apply",
			value: function apply(args) {
				var document = args.document;
				document.history.doItem(document.history.getItems().length - 1);
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/index.js
	var commands_exports$8 = /* @__PURE__ */ __exportAll({
		Do: () => Do,
		Redo: () => Redo,
		Undo: () => Undo,
		UndoAll: () => UndoAll
	});

//#endregion
//#region assets/dev/js/editor/document/history/commands/base/command-history-internal-base.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$96(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$96() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$96, "_callSuper");
	function _isNativeReflectConstruct$96() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$96 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$96, "_isNativeReflectConstruct");
	function _superPropGet$18(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$18, "_superPropGet");
	/**
	* @typedef {import ('elementor/modules/history/assets/js/module')} HistoryManager
	*/
	var CommandHistoryInternalBase = /*#__PURE__*/ function(_$e$modules$editor$Co) {
		function CommandHistoryInternalBase() {
			_classCallCheck(this, CommandHistoryInternalBase);
			return _callSuper$96(this, CommandHistoryInternalBase, arguments);
		}
		_inherits(CommandHistoryInternalBase, _$e$modules$editor$Co);
		return _createClass(CommandHistoryInternalBase, [{
			key: "initialize",
			value: function initialize(args) {
				_superPropGet$18(CommandHistoryInternalBase, "initialize", this, 3)([args]);
				/**
				* @type {HistoryManager}
				*/
				this.history = elementor.documents.getCurrent().history;
			}
		}]);
	}($e.modules.editor.CommandContainerInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/add-transaction.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$95(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$95() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$95, "_callSuper");
	function _isNativeReflectConstruct$95() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$95 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$95, "_isNativeReflectConstruct");
	function _superPropGet$17(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$17, "_superPropGet");
	var AddTransaction = /*#__PURE__*/ function(_CommandHistoryIntern) {
		function AddTransaction() {
			_classCallCheck(this, AddTransaction);
			return _callSuper$95(this, AddTransaction, arguments);
		}
		_inherits(AddTransaction, _CommandHistoryIntern);
		return _createClass(AddTransaction, [
			{
				key: "initialize",
				value: function initialize(args) {
					_superPropGet$17(AddTransaction, "initialize", this, 3)([args]);
					/**
					* Debounce always send 'add-transaction' with title & subTitle, when the transaction
					* already started, there is no need to save those args they are useless.
					*/
					if (this.component.isTransactionStarted()) {
						delete args.title;
						delete args.subTitle;
					}
				}
			},
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer();
					this.requireArgumentType("type", "string", args);
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var currentId = this.history.getCurrentId();
					if (currentId) args.id = currentId;
					args = this.component.normalizeLogTitle(args);
					this.component.transactions.push(args);
				}
			}
		]);
	}(CommandHistoryInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/clear-transaction.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$94(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$94() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$94, "_callSuper");
	function _isNativeReflectConstruct$94() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$94 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$94, "_isNativeReflectConstruct");
	var ClearTransaction = /*#__PURE__*/ function(_$e$modules$CommandIn) {
		function ClearTransaction() {
			_classCallCheck(this, ClearTransaction);
			return _callSuper$94(this, ClearTransaction, arguments);
		}
		_inherits(ClearTransaction, _$e$modules$CommandIn);
		return _createClass(ClearTransaction, [{
			key: "apply",
			value: function apply() {
				this.component.transactions = [];
			}
		}]);
	}($e.modules.CommandInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/delete-log.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$93(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$93() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$93, "_callSuper");
	function _isNativeReflectConstruct$93() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$93 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$93, "_isNativeReflectConstruct");
	var DeleteLog = /*#__PURE__*/ function(_CommandHistoryIntern) {
		function DeleteLog() {
			_classCallCheck(this, DeleteLog);
			return _callSuper$93(this, DeleteLog, arguments);
		}
		_inherits(DeleteLog, _CommandHistoryIntern);
		return _createClass(DeleteLog, [{
			key: "apply",
			value: function apply(args) {
				if (args.id) this.history.deleteItem(args.id);
			}
		}]);
	}(CommandHistoryInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/end-log.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$92(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$92() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$92, "_callSuper");
	function _isNativeReflectConstruct$92() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$92 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$92, "_isNativeReflectConstruct");
	var EndLog = /*#__PURE__*/ function(_CommandHistoryIntern) {
		function EndLog() {
			_classCallCheck(this, EndLog);
			return _callSuper$92(this, EndLog, arguments);
		}
		_inherits(EndLog, _CommandHistoryIntern);
		return _createClass(EndLog, [{
			key: "apply",
			value: function apply(args) {
				if (args.id) this.history.endItem(args.id);
			}
		}]);
	}(CommandHistoryInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/end-transaction.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$91(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$91() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$91, "_callSuper");
	function _isNativeReflectConstruct$91() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$91 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$91, "_isNativeReflectConstruct");
	var EndTransaction = /*#__PURE__*/ function(_CommandInternalBase) {
		function EndTransaction() {
			_classCallCheck(this, EndTransaction);
			return _callSuper$91(this, EndTransaction, arguments);
		}
		_inherits(EndTransaction, _CommandInternalBase);
		return _createClass(EndTransaction, [{
			key: "apply",
			value: function apply() {
				if (!this.component.isTransactionStarted()) return;
				var firstItem = this.component.transactions[0];
				var type = firstItem.type;
				var transactions = this.component.mergeTransactions(this.component.transactions);
				var _firstItem$title = firstItem.title;
				var title = _firstItem$title === void 0 ? "" : _firstItem$title;
				var _firstItem$subTitle = firstItem.subTitle;
				var subTitle = _firstItem$subTitle === void 0 ? "" : _firstItem$subTitle;
				if (transactions.length > 1) {
					title = (0, _wordpress_i18n.__)("Elements", "elementor");
					subTitle = "";
				}
				var history = {
					title,
					subTitle,
					type
				};
				if (firstItem.id) history.id = firstItem.id;
				var historyId = $e.internal("document/history/start-log", history);
				Object.values(transactions).forEach(function(item) {
					var itemArgs = item;
					if (firstItem.id) itemArgs.id = firstItem.id;
					$e.internal("document/history/log-sub-item", itemArgs);
				});
				$e.internal("document/history/end-log", { id: historyId });
				$e.internal("document/history/clear-transaction");
			}
		}]);
	}(CommandHistoryInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/log-sub-item.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$90(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$90() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$90, "_callSuper");
	function _isNativeReflectConstruct$90() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$90 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$90, "_isNativeReflectConstruct");
	var LogSubItem = /*#__PURE__*/ function(_CommandHistoryIntern) {
		function LogSubItem() {
			_classCallCheck(this, LogSubItem);
			return _callSuper$90(this, LogSubItem, arguments);
		}
		_inherits(LogSubItem, _CommandHistoryIntern);
		return _createClass(LogSubItem, [{
			key: "apply",
			value: function apply(args) {
				if (!this.history.getActive()) return;
				var id = args.id || this.history.getCurrentId();
				args = this.component.normalizeLogTitle(args);
				var item = this.history.getItems().findWhere({ id });
				if (!item) throw new Error("History item not found.");
				/**
				* Sometimes `args.id` passed to `LogSubItem`, to add sub item for specific id.
				* this `id` should not be passed as sub-item.
				*/
				if (args.id) delete args.id;
				item.get("items").unshift(args);
			}
		}]);
	}(CommandHistoryInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/start-log.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$89(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$89() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$89, "_callSuper");
	function _isNativeReflectConstruct$89() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$89 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$89, "_isNativeReflectConstruct");
	function _superPropGet$16(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$16, "_superPropGet");
	var StartLog = /*#__PURE__*/ function(_CommandHistoryIntern) {
		function StartLog() {
			_classCallCheck(this, StartLog);
			return _callSuper$89(this, StartLog, arguments);
		}
		_inherits(StartLog, _CommandHistoryIntern);
		return _createClass(StartLog, [
			{
				key: "initialize",
				value: function initialize(args) {
					_superPropGet$16(StartLog, "initialize", this, 3)([args]);
					if (this.history.isItemStarted() || args.id) {
						this.isSubItem = true;
						return;
					}
					this.args = this.component.normalizeLogTitle(args);
				}
			},
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					if (!this.isSubItem) {
						this.requireArgumentType("type", "string", args);
						this.requireArgumentType("title", "string", args);
					}
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					if (this.isSubItem) {
						$e.internal("document/history/log-sub-item", args);
						return null;
					}
					return this.history.startItem(args);
				}
			}
		]);
	}(CommandHistoryInternalBase);

//#endregion
//#region assets/dev/js/editor/document/history/commands/internal/index.js
	var internal_exports$2 = /* @__PURE__ */ __exportAll({
		AddTransaction: () => AddTransaction,
		ClearTransaction: () => ClearTransaction,
		DeleteLog: () => DeleteLog,
		EndLog: () => EndLog,
		EndTransaction: () => EndTransaction,
		LogSubItem: () => LogSubItem,
		StartLog: () => StartLog
	});

//#endregion
//#region assets/dev/js/editor/document/history/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_component_base$1();
	function _callSuper$88(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$88() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$88, "_callSuper");
	function _isNativeReflectConstruct$88() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$88 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$88, "_isNativeReflectConstruct");
	function _superPropGet$15(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$15, "_superPropGet");
	var Component$13 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$88(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "__construct",
				value: function __construct(args) {
					_superPropGet$15(Component, "__construct", this, 3)([args]);
					/**
					* Transactions holder.
					*
					* @type {Array}
					*/
					this.transactions = [];
				}
			},
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "document/history";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$8);
				}
			},
			{
				key: "defaultCommandsInternal",
				value: function defaultCommandsInternal() {
					return this.importCommands(internal_exports$2);
				}
			},
			{
				key: "normalizeLogTitle",
				value: function normalizeLogTitle(args) {
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					if (!args.title && containers[0]) if (1 === containers.length) args.title = containers[0].label;
					else args.title = (0, _wordpress_i18n.__)("Elements", "elementor");
					return args;
				}
			},
			{
				key: "mergeTransactions",
				value: function mergeTransactions(transactions) {
					var result = {};
					transactions.forEach(function(itemArgs) {
						if (!itemArgs.container && !itemArgs.containers) return;
						var _itemArgs$containers = itemArgs.containers;
						var containers = _itemArgs$containers === void 0 ? [itemArgs.container] : _itemArgs$containers;
						if (containers) containers.forEach(function(container) {
							if (!itemArgs.data) return;
							if (result[container.id]) {
								result[container.id].data.changes[container.id].new = itemArgs.data.changes[container.id].new;
								return;
							}
							result[container.id] = itemArgs;
						});
					});
					return result;
				}
			},
			{
				key: "isTransactionStarted",
				value: function isTransactionStarted() {
					return Boolean(this.transactions.length);
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/document/repeater/commands/duplicate.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$87(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$87() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$87, "_callSuper");
	function _isNativeReflectConstruct$87() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$87 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$87, "_isNativeReflectConstruct");
	var Duplicate$1 = /*#__PURE__*/ function(_$e$modules$editor$do) {
		function Duplicate() {
			_classCallCheck(this, Duplicate);
			return _callSuper$87(this, Duplicate, arguments);
		}
		_inherits(Duplicate, _$e$modules$editor$do);
		return _createClass(Duplicate, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentType("name", "string", args);
					this.requireArgumentType("index", "number", args);
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var _args$containers = args.containers;
					return {
						containers: _args$containers === void 0 ? [args.container] : _args$containers,
						type: "duplicate",
						subTitle: (0, _wordpress_i18n.__)("Item", "elementor")
					};
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var index = args.index;
					var name = args.name;
					var _args$options = args.options;
					var options = _args$options === void 0 ? {} : _args$options;
					var _args$containers2 = args.containers;
					var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
					var result = [];
					containers.forEach(function(container) {
						var model = container.settings.get(name).at(index).toJSON();
						if (model._id) delete model._id;
						result.push($e.run("document/repeater/insert", {
							container,
							name,
							model,
							options: Object.assign({ at: index + 1 }, options),
							renderAfterInsert: args.renderAfterInsert
						}));
					});
					if (1 === result.length) return result[0];
					return result;
				}
			}
		]);
	}($e.modules.editor.document.CommandHistoryBase);

//#endregion
//#region assets/dev/js/editor/document/repeater/commands/insert.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_utils();
	function _callSuper$86(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$86() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$86, "_callSuper");
	function _isNativeReflectConstruct$86() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$86 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$86, "_isNativeReflectConstruct");
	function _superPropGet$14(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$14, "_superPropGet");
	var Insert = /*#__PURE__*/ function(_$e$modules$editor$do) {
		function Insert() {
			_classCallCheck(this, Insert);
			return _callSuper$86(this, Insert, arguments);
		}
		_inherits(Insert, _$e$modules$editor$do);
		return _createClass(Insert, [
			{
				key: "initialize",
				value: function initialize(args) {
					_superPropGet$14(Insert, "initialize", this, 3)([args]);
					if (!args.model._id) args.model._id = elementorCommon.helpers.getUniqueId();
				}
			},
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentType("model", "object", args);
					this.requireArgumentConstructor("name", String, args);
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var model = args.model;
					var name = args.name;
					var _args$options = args.options;
					var options = _args$options === void 0 ? { at: null } : _args$options;
					var _args$containers = args.containers;
					return {
						containers: _args$containers === void 0 ? [args.container] : _args$containers,
						type: "add",
						subTitle: (0, _wordpress_i18n.__)("Item", "elementor"),
						data: {
							model,
							name,
							index: options.at
						},
						restore: this.constructor.restore
					};
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var model = args.model;
					var name = args.name;
					var _args$options2 = args.options;
					var options = _args$options2 === void 0 ? { at: null } : _args$options2;
					var _args$containers2 = args.containers;
					var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
					var _args$renderAfterInse = args.renderAfterInsert;
					var renderAfterInsert = _args$renderAfterInse === void 0 ? true : _args$renderAfterInse;
					var _args$isRestored = args.isRestored;
					var isRestored = _args$isRestored === void 0 ? false : _args$isRestored;
					var result = [];
					containers.forEach(function(container) {
						container = container.lookup();
						var collection = container.settings.get(name);
						options.at = null === options.at ? collection.length : options.at;
						var rowSettingsModel = collection._prepareModel(model);
						var repeaterContainer = container.addRepeaterItem(name, rowSettingsModel, options.at);
						result.push(collection.push(rowSettingsModel, options));
						if (renderAfterInsert) {
							var widgetType = container.settings.get("widgetType");
							if (shouldUseAtomicRepeaters(widgetType) && !isRestored) {
								var domConfig = widgetNodes(widgetType);
								var targetContainer = container.view.$el[0].querySelector(domConfig.targetContainer);
								var html = Marionette.Renderer.render("#tmpl-elementor-".concat(widgetType, "-content-single"), {
									data: model,
									view: repeaterContainer.view
								});
								var node = document.createElement("div");
								node.innerHTML = html;
								var nodeToInsert = node.querySelector(domConfig.node);
								var targetNode = targetContainer.children[options.at] || null;
								targetContainer.insertBefore(nodeToInsert, targetNode);
							} else repeaterContainer.render();
						}
					});
					if (1 === result.length) return result[0];
					return result;
				}
			}
		], [{
			key: "restore",
			value: function restore(historyItem, isRedo) {
				var containers = historyItem.get("containers");
				var data = historyItem.get("data");
				if (isRedo) $e.run("document/repeater/insert", {
					containers,
					model: data.model,
					name: data.name,
					options: { at: data.index },
					isRestored: true
				});
				else $e.run("document/repeater/remove", {
					containers,
					name: data.name,
					index: data.index,
					isRestored: true
				});
			}
		}]);
	}($e.modules.editor.document.CommandHistoryBase);

//#endregion
//#region assets/dev/js/editor/document/repeater/commands/move.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$85(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$85() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$85, "_callSuper");
	function _isNativeReflectConstruct$85() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$85 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$85, "_isNativeReflectConstruct");
	var Move = /*#__PURE__*/ function(_$e$modules$editor$do) {
		function Move() {
			_classCallCheck(this, Move);
			return _callSuper$85(this, Move, arguments);
		}
		_inherits(Move, _$e$modules$editor$do);
		return _createClass(Move, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentType("name", "string", args);
					this.requireArgumentType("sourceIndex", "number", args);
					this.requireArgumentType("targetIndex", "number", args);
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var _args$containers = args.containers;
					return {
						containers: _args$containers === void 0 ? [args.container] : _args$containers,
						type: "move",
						subTitle: (0, _wordpress_i18n.__)("Item", "elementor")
					};
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var sourceIndex = args.sourceIndex;
					var targetIndex = args.targetIndex;
					var name = args.name;
					var _args$containers2 = args.containers;
					var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
					var result = [];
					containers.forEach(function(container) {
						var collection = container.settings.get(name);
						var model = elementorCommon.helpers.cloneObject(collection.at(sourceIndex));
						$e.run("document/repeater/remove", {
							container,
							name,
							index: sourceIndex
						});
						result.push($e.run("document/repeater/insert", {
							container,
							name,
							model,
							options: { at: targetIndex }
						}));
					});
					if (1 === result.length) return result[0];
					return result;
				}
			}
		]);
	}($e.modules.editor.document.CommandHistoryBase);

//#endregion
//#region assets/dev/js/editor/document/repeater/commands/remove.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_utils();
	function _callSuper$84(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$84() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$84, "_callSuper");
	function _isNativeReflectConstruct$84() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$84 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$84, "_isNativeReflectConstruct");
	var Remove = /*#__PURE__*/ function(_$e$modules$editor$do) {
		function Remove() {
			_classCallCheck(this, Remove);
			return _callSuper$84(this, Remove, arguments);
		}
		_inherits(Remove, _$e$modules$editor$do);
		return _createClass(Remove, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentType("name", "string", args);
					this.requireArgument("index", args);
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var _args$containers = args.containers;
					return {
						containers: _args$containers === void 0 ? [args.container] : _args$containers,
						type: "remove",
						subTitle: (0, _wordpress_i18n.__)("Item", "elementor")
					};
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var _this = this;
					var name = args.name;
					var _args$containers2 = args.containers;
					var containers = _args$containers2 === void 0 ? [args.container] : _args$containers2;
					var _args$isRestored = args.isRestored;
					var isRestored = _args$isRestored === void 0 ? false : _args$isRestored;
					var index = null === args.index ? -1 : args.index;
					var result = [];
					containers.forEach(function(container) {
						container = container.lookup();
						var collection = container.settings.get(name);
						var model = collection.at(index);
						var repeaterContainer = container.repeaters[name];
						var widgetType = container.settings.get("widgetType");
						if (_this.isHistoryActive()) $e.internal("document/history/log-sub-item", {
							container,
							data: {
								name,
								model,
								index
							},
							restore: _this.constructor.restore
						});
						result.push(repeaterContainer.children.splice(index, 1));
						collection.remove(model);
						if (shouldUseAtomicRepeaters(widgetType) && !isRestored) {
							var widgetContainer = container.view.$el[0];
							widgetNodes(widgetType).targetContainer.forEach(function(item) {
								widgetContainer.querySelector(item).children[index].remove();
							});
						} else repeaterContainer.render();
					});
					if (1 === result.length) return result[0];
					return result;
				}
			}
		], [{
			key: "restore",
			value: function restore(historyItem, isRedo) {
				var data = historyItem.get("data");
				var container = historyItem.get("container");
				if (isRedo) $e.run("document/repeater/remove", {
					container,
					name: data.name,
					index: data.index,
					isRestored: true
				});
				else $e.run("document/repeater/insert", {
					container,
					model: data.model,
					name: data.name,
					options: { at: data.index },
					isRestored: true
				});
			}
		}]);
	}($e.modules.editor.document.CommandHistoryBase);

//#endregion
//#region assets/dev/js/editor/document/repeater/commands/select.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$83(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$83() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$83, "_callSuper");
	function _isNativeReflectConstruct$83() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$83 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$83, "_isNativeReflectConstruct");
	/**
	* @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
	*/
	/**
	* Command used to select current working repeater item.
	*/
	var Select = /*#__PURE__*/ function(_$e$modules$editor$do) {
		function Select() {
			_classCallCheck(this, Select);
			return _callSuper$83(this, Select, arguments);
		}
		_inherits(Select, _$e$modules$editor$do);
		return _createClass(Select, [
			{
				key: "validateArgs",
				value: function validateArgs(args) {
					this.requireContainer(args);
					this.requireArgumentType("index", "number", args);
					if (args.containers) throw new Error("Multiple containers are not supported.");
				}
			},
			{
				key: "getHistory",
				value: function getHistory(args) {
					var container = args.container;
					var index = args.index;
					var current = container.model.get("editSettings").get("activeItemIndex") || 1;
					if (current === index) return false;
					return {
						container,
						type: "selected",
						subTitle: wp.i18n.sprintf((0, _wordpress_i18n.__)("Item #%d", "elementor"), index),
						restore: this.constructor.restore,
						data: {
							current: index,
							prev: current
						}
					};
				}
			},
			{
				key: "apply",
				value: function apply(_ref) {
					var container = _ref.container;
					var index = _ref.index;
					container.model.get("editSettings").set("activeItemIndex", index);
				}
			}
		], [{
			key: "restore",
			value: function restore(historyItem, isRedo) {
				var container = historyItem.get("container");
				var data = historyItem.get("data");
				$e.run("document/repeater/select", {
					container,
					index: isRedo ? data.current : data.prev
				});
			}
		}]);
	}($e.modules.editor.document.CommandHistoryBase);

//#endregion
//#region assets/dev/js/editor/document/repeater/commands/index.js
	var commands_exports$7 = /* @__PURE__ */ __exportAll({
		Duplicate: () => Duplicate$1,
		Insert: () => Insert,
		Move: () => Move,
		Remove: () => Remove,
		Select: () => Select
	});

//#endregion
//#region assets/dev/js/editor/document/repeater/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_component_base$1();
	function _callSuper$82(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$82() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$82, "_callSuper");
	function _isNativeReflectConstruct$82() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$82 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$82, "_isNativeReflectConstruct");
	var Component$12 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$82(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [{
			key: "getNamespace",
			value: function getNamespace() {
				return "document/repeater";
			}
		}, {
			key: "defaultCommands",
			value: function defaultCommands() {
				return this.importCommands(commands_exports$7);
			}
		}]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/document/save/backwards-compatibility.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_component_base$1();
	function _callSuper$81(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$81() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$81, "_callSuper");
	function _isNativeReflectConstruct$81() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$81 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$81, "_isNativeReflectConstruct");
	function _superPropGet$13(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$13, "_superPropGet");
	var BackwardsCompatibility$1 = /*#__PURE__*/ function(_ComponentBase) {
		function BackwardsCompatibility() {
			_classCallCheck(this, BackwardsCompatibility);
			return _callSuper$81(this, BackwardsCompatibility, arguments);
		}
		_inherits(BackwardsCompatibility, _ComponentBase);
		return _createClass(BackwardsCompatibility, [
			{
				key: "__construct",
				value: function __construct() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					_superPropGet$13(BackwardsCompatibility, "__construct", this, 3)([args]);
					Object.defineProperty(this, "autoSaveTimer", {
						get: function get() {
							elementorDevTools.deprecation.deprecated("elementor.saver.autoSaveTimer", "2.9.0", "$e.components.get( 'editor/documents' ).autoSaveTimers");
							return $e.components.get("editor/documents").autoSaveTimers;
						},
						set: function set(value) {
							elementorDevTools.deprecation.deprecated("elementor.saver.autoSaveTimer", "2.9.0", "$e.components.get( 'editor/documents' ).autoSaveTimers[ documentId ]");
							var documentId = elementor.documents.getCurrent();
							$e.components.get("editor/documents").autoSaveTimers[documentId] = value;
						}
					});
					var onOrig = this.on;
					this.on = function(eventName, callback, context) {
						elementorDevTools.deprecation.deprecated("elementor.saver.on", "2.9.0", "$e.hooks");
						onOrig(eventName, callback, context);
					};
					elementor.on("document:loaded", function() {
						if (elementor.channels.editor._events && elementor.channels.editor._events.saved) elementorDevTools.deprecation.deprecated("elementor.channels.editor.on( 'saved', ... )", "2.9.0", "$e.hooks");
					});
				}
			},
			{
				key: "defaultSave",
				value: function defaultSave() {
					elementorDevTools.deprecation.deprecated("defaultSave()", "2.9.0", "$e.run( 'document/save/default' )");
					return $e.run("document/save/default");
				}
			},
			{
				key: "discard",
				value: function discard() {
					elementorDevTools.deprecation.deprecated("discard()", "2.9.0", "$e.run( 'document/save/discard' )");
					return $e.run("document/save/discard");
				}
			},
			{
				key: "doAutoSave",
				value: function doAutoSave() {
					elementorDevTools.deprecation.deprecated("doAutoSave()", "2.9.0", "$e.run( 'document/save/auto' )");
					return $e.run("document/save/auto");
				}
			},
			{
				key: "publish",
				value: function publish(options) {
					elementorDevTools.deprecation.deprecated("publish( options )", "2.9.0", "$e.run( 'document/save/publish', { options } )");
					return $e.run("document/save/auto", { options });
				}
			},
			{
				key: "saveAutoSave",
				value: function saveAutoSave(options) {
					elementorDevTools.deprecation.deprecated("saveAutoSave()", "2.9.0", "$e.run( 'document/save/auto', { force: true } )");
					options.force = true;
					return $e.run("document/save/auto", options);
				}
			},
			{
				key: "saveDraft",
				value: function saveDraft() {
					elementorDevTools.deprecation.deprecated("saveDraft()", "2.9.0", "$e.run( 'document/save/draft' )");
					return $e.run("document/save/draft");
				}
			},
			{
				key: "savePending",
				value: function savePending() {
					elementorDevTools.deprecation.deprecated("savePending()", "2.9.0", "$e.run( 'document/save/pending' )");
					return $e.run("document/save/pending");
				}
			},
			{
				key: "update",
				value: function update(options) {
					elementorDevTools.deprecation.deprecated("update( options )", "2.9.0", "$e.run( 'document/save/update', options )");
					return $e.run("document/save/update", options);
				}
			},
			{
				key: "startTimer",
				value: function startTimer() {
					elementorDevTools.deprecation.deprecated("startTimer()", "2.9.0", "$e.components.get( 'document/save' ).startAutoSave");
					throw Error("Deprecated");
				}
			},
			{
				key: "saveEditor",
				value: function saveEditor(options) {
					elementorDevTools.deprecation.deprecated("saveEditor( options )", "2.9.0", "$e.internal( 'document/save/save', options )");
					$e.internal("document/save/save", options);
				}
			},
			{
				key: "setFlagEditorChange",
				value: function setFlagEditorChange(status) {
					elementorDevTools.deprecation.deprecated("setFlagEditorChange( status )", "2.9.0", "$e.internal( 'document/save/set-is-modified', { status } )");
					$e.internal("document/save/set-is-modified", { status });
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/document/save/commands/base/base.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$80(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$80() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$80, "_callSuper");
	function _isNativeReflectConstruct$80() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$80 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$80, "_isNativeReflectConstruct");
	function _superPropGet$12(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$12, "_superPropGet");
	var Base = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Base() {
			_classCallCheck(this, Base);
			return _callSuper$80(this, Base, arguments);
		}
		_inherits(Base, _$e$modules$CommandBa);
		return _createClass(Base, [{
			key: "initialize",
			value: function initialize(args) {
				_superPropGet$12(Base, "initialize", this, 3)([args]);
				var _args$document = args.document;
				var document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
				this.document = document;
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/save/commands/auto.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$79(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$79() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$79, "_callSuper");
	function _isNativeReflectConstruct$79() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$79 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$79, "_isNativeReflectConstruct");
	var Auto = /*#__PURE__*/ function(_Base) {
		function Auto() {
			_classCallCheck(this, Auto);
			return _callSuper$79(this, Auto, arguments);
		}
		_inherits(Auto, _Base);
		return _createClass(Auto, [{
			key: "apply",
			value: function apply(args) {
				var _args$force = args.force;
				var force = _args$force === void 0 ? false : _args$force;
				var _args$document = args.document;
				var document = _args$document === void 0 ? this.document : _args$document;
				if (!force && !document.container.isEditable()) return jQuery.Deferred().reject("Document is not editable");
				if (!document.editor.isChanged) return jQuery.Deferred().resolve("Document is not changed");
				args.status = "autosave";
				args.document = document;
				return $e.internal("document/save/save", args);
			}
		}]);
	}(Base);

//#endregion
//#region assets/dev/js/editor/document/save/commands/default.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$78(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$78() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$78, "_callSuper");
	function _isNativeReflectConstruct$78() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$78 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$78, "_isNativeReflectConstruct");
	var Default = /*#__PURE__*/ function(_Base) {
		function Default() {
			_classCallCheck(this, Default);
			return _callSuper$78(this, Default, arguments);
		}
		_inherits(Default, _Base);
		return _createClass(Default, [{
			key: "apply",
			value: function apply() {
				var document = this.document;
				var postStatus = document.container.settings.get("post_status");
				var deferred;
				switch (postStatus) {
					case "publish":
					case "future":
					case "private":
						deferred = $e.run("document/save/update", { document });
						break;
					case "draft":
						if (document.config.user.can_publish) deferred = $e.run("document/save/publish", { document });
						else deferred = $e.run("document/save/pending", { document });
						break;
					case "pending":
					case void 0: if (document.config.user.can_publish) deferred = $e.run("document/save/publish", { document });
					else deferred = $e.run("document/save/update", { document });
				}
				return deferred;
			}
		}]);
	}(Base);

//#endregion
//#region assets/dev/js/editor/document/save/commands/discard.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$77(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$77() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$77, "_callSuper");
	function _isNativeReflectConstruct$77() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$77 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$77, "_isNativeReflectConstruct");
	var Discard = /*#__PURE__*/ function(_Base) {
		function Discard() {
			_classCallCheck(this, Discard);
			return _callSuper$77(this, Discard, arguments);
		}
		_inherits(Discard, _Base);
		return _createClass(Discard, [{
			key: "apply",
			value: function apply(args) {
				var _args$document = args.document;
				var document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
				var deferred = elementorCommon.ajax.addRequest("discard_changes");
				$e.run("document/history/undo-all", { document });
				return deferred;
			}
		}]);
	}(Base);

//#endregion
//#region assets/dev/js/editor/document/save/commands/draft.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$76(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$76() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$76, "_callSuper");
	function _isNativeReflectConstruct$76() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$76 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$76, "_isNativeReflectConstruct");
	var Draft = /*#__PURE__*/ function(_Base) {
		function Draft() {
			_classCallCheck(this, Draft);
			return _callSuper$76(this, Draft, arguments);
		}
		_inherits(Draft, _Base);
		return _createClass(Draft, [{
			key: "apply",
			value: function apply() {
				var document = this.document;
				var postStatus = document.container.settings.get("post_status");
				if (!document.editor.isChanged && "draft" !== postStatus) return jQuery.Deferred().reject("Document is not editable");
				var deferred;
				switch (postStatus) {
					case "publish":
					case "private":
						deferred = $e.run("document/save/auto", { document });
						break;
					default: deferred = $e.run("document/save/update", { document });
				}
				return deferred;
			}
		}]);
	}(Base);

//#endregion
//#region assets/dev/js/editor/document/save/commands/pending.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$75(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$75() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$75, "_callSuper");
	function _isNativeReflectConstruct$75() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$75 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$75, "_isNativeReflectConstruct");
	var Pending = /*#__PURE__*/ function(_Base) {
		function Pending() {
			_classCallCheck(this, Pending);
			return _callSuper$75(this, Pending, arguments);
		}
		_inherits(Pending, _Base);
		return _createClass(Pending, [{
			key: "apply",
			value: function apply(args) {
				var _args$status = args.status;
				var status = _args$status === void 0 ? "pending" : _args$status;
				var _args$document = args.document;
				var document = _args$document === void 0 ? this.document : _args$document;
				return $e.internal("document/save/save", {
					status,
					document
				});
			}
		}]);
	}(Base);

//#endregion
//#region assets/dev/js/editor/document/save/commands/publish.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$74(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$74() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$74, "_callSuper");
	function _isNativeReflectConstruct$74() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$74 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$74, "_isNativeReflectConstruct");
	var Publish$1 = /*#__PURE__*/ function(_Base) {
		function Publish() {
			_classCallCheck(this, Publish);
			return _callSuper$74(this, Publish, arguments);
		}
		_inherits(Publish, _Base);
		return _createClass(Publish, [{
			key: "apply",
			value: function apply(args) {
				var _args$status = args.status;
				var status = _args$status === void 0 ? "publish" : _args$status;
				var _args$document = args.document;
				var document = _args$document === void 0 ? this.document : _args$document;
				return $e.internal("document/save/save", {
					status,
					document
				});
			}
		}]);
	}(Base);

//#endregion
//#region assets/dev/js/editor/document/save/commands/update.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$73(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$73() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$73, "_callSuper");
	function _isNativeReflectConstruct$73() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$73 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$73, "_isNativeReflectConstruct");
	var Update = /*#__PURE__*/ function(_Base) {
		function Update() {
			_classCallCheck(this, Update);
			return _callSuper$73(this, Update, arguments);
		}
		_inherits(Update, _Base);
		return _createClass(Update, [{
			key: "apply",
			value: function apply(args) {
				var _args$document = args.document;
				var document = _args$document === void 0 ? this.document : _args$document;
				var _args$status = args.status;
				var status = _args$status === void 0 ? document.container.settings.get("post_status") : _args$status;
				return $e.internal("document/save/save", {
					status,
					document
				});
			}
		}]);
	}(Base);

//#endregion
//#region assets/dev/js/editor/document/save/commands/index.js
	var commands_exports$6 = /* @__PURE__ */ __exportAll({
		Auto: () => Auto,
		Default: () => Default,
		Discard: () => Discard,
		Draft: () => Draft,
		Pending: () => Pending,
		Publish: () => Publish$1,
		Update: () => Update
	});

//#endregion
//#region assets/dev/js/editor/document/save/commands/internal/save.js
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$72(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$72() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$72, "_callSuper");
	function _isNativeReflectConstruct$72() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$72 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$72, "_isNativeReflectConstruct");
	var Save$1 = /*#__PURE__*/ function(_$e$modules$CommandIn) {
		function Save() {
			_classCallCheck(this, Save);
			return _callSuper$72(this, Save, arguments);
		}
		_inherits(Save, _$e$modules$CommandIn);
		return _createClass(Save, [
			{
				key: "apply",
				value: function() {
					var _apply = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee(args) {
						var _elementorCommon$__be;
						var _elementorCommon;
						var _this = this;
						var _args$status;
						var status;
						var _args$force;
						var force;
						var _args$onSuccess;
						var onSuccess;
						var _args$document;
						var document;
						var container;
						var settings;
						var oldStatus;
						var elements;
						var successArgs;
						var deferred;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									_args$status = args.status, status = _args$status === void 0 ? "draft" : _args$status, _args$force = args.force, force = _args$force === void 0 ? false : _args$force, _args$onSuccess = args.onSuccess, onSuccess = _args$onSuccess === void 0 ? null : _args$onSuccess, _args$document = args.document, document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
									if (!(!force && document.editor.isSaving)) {
										_context.next = 1;
										break;
									}
									return _context.abrupt("return", jQuery.Deferred().reject("Document already in save progress"));
								case 1:
									container = document.container;
									_context.next = 2;
									return (_elementorCommon$__be = (_elementorCommon = elementorCommon).__beforeSave) === null || _elementorCommon$__be === void 0 ? void 0 : _elementorCommon$__be.call(_elementorCommon, {
										container,
										status
									});
								case 2:
									settings = container.settings.toJSON({ remove: ["default"] });
									oldStatus = container.settings.get("post_status");
									this.addPersistentSettingsToPayload(settings, container);
									elementor.saver.trigger("before:save", args).trigger("before:save:" + status, args);
									document.editor.isSaving = true;
									document.editor.isChangedDuringSave = false;
									settings.post_status = status;
									elements = [];
									if (elementor.config.document.panel.has_elements) elements = container.model.get("elements").toJSON({ remove: [
										"default",
										"editSettings",
										"defaultEditSettings"
									] });
									successArgs = {
										status,
										oldStatus,
										elements,
										document,
										currentHistoryId: document.history.currentItem.get("id")
									};
									deferred = elementorCommon.ajax.addRequest("save_builder", {
										data: {
											status,
											elements,
											settings
										},
										error: function error(data) {
											return _this.onSaveError(data, status, document);
										}
									}).then(function(data) {
										return _this.onSaveSuccess(data, successArgs, onSuccess);
									});
									elementor.saver.trigger("save", args);
									return _context.abrupt("return", deferred);
								case 3:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function apply(_x) {
						return _apply.apply(this, arguments);
					}
					return apply;
				}()
			},
			{
				key: "onSaveSuccess",
				value: function onSaveSuccess(data, args) {
					var callback = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
					var status = args.status;
					var oldStatus = args.oldStatus;
					var elements = args.elements;
					var document = args.document;
					var currentHistoryId = args.currentHistoryId;
					this.onAfterAjax(document);
					document.editor.lastSaveHistoryId = currentHistoryId;
					elementor.documents.invalidateCache(document.id);
					var statusChanged = status !== oldStatus;
					var result = {
						data,
						statusChanged
					};
					if (document !== elementor.documents.getCurrent()) return result;
					if (!document.editor.isChangedDuringSave) document.editor.isSaved = true;
					if ("autosave" !== status) {
						if (statusChanged) $e.run("document/elements/settings", {
							container: elementor.settings.page.getEditedView().getContainer(),
							settings: { post_status: status },
							options: { external: true }
						});
						if (!document.editor.isChangedDuringSave) $e.internal("document/save/set-is-modified", { status: false });
					}
					if (data.config) jQuery.extend(true, document.config, data.config.document);
					if (document.config.elements) document.config.elements = elements;
					elementor.channels.editor.trigger("saved", data);
					elementor.saver.trigger("after:save", data).trigger("after:save:" + status, data);
					if (statusChanged) elementor.saver.trigger("page:status:change", status, oldStatus);
					if (_.isFunction(callback)) callback.call(this, result);
					return result;
				}
			},
			{
				key: "onSaveError",
				value: function onSaveError(data, status, document) {
					this.onAfterAjax(document);
					elementor.saver.trigger("after:saveError", data).trigger("after:saveError:" + status, data);
					var message;
					if (_.isString(data)) message = data;
					else if (data.statusText) {
						message = elementor.createAjaxErrorMessage(data);
						if (0 === data.readyState) message += " " + (0, _wordpress_i18n.__)("Saving has been disabled until you’re reconnected.", "elementor");
					} else if (data[0] && data[0].code) message = (0, _wordpress_i18n.__)("Server Error", "elementor") + " " + data[0].code;
					elementor.notifications.showToast({ message });
				}
			},
			{
				key: "onAfterAjax",
				value: function onAfterAjax(document) {
					document.editor.isSaving = false;
				}
			},
			{
				key: "addPersistentSettingsToPayload",
				value: function addPersistentSettingsToPayload(settings, container) {
					var _elementor;
					(_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 || (_elementor = _elementor.persistent_keys) === null || _elementor === void 0 || _elementor.forEach(function(setting) {
						if (container.settings.defaults.hasOwnProperty(setting) && !settings.hasOwnProperty(setting)) settings[setting] = container.settings.defaults[setting];
					});
				}
			}
		]);
	}($e.modules.CommandInternalBase);

//#endregion
//#region assets/dev/js/editor/document/save/commands/internal/set-is-modified.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$71(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$71() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$71, "_callSuper");
	function _isNativeReflectConstruct$71() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$71 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$71, "_isNativeReflectConstruct");
	var SetIsModified = /*#__PURE__*/ function(_$e$modules$CommandIn) {
		function SetIsModified() {
			_classCallCheck(this, SetIsModified);
			return _callSuper$71(this, SetIsModified, arguments);
		}
		_inherits(SetIsModified, _$e$modules$CommandIn);
		return _createClass(SetIsModified, [{
			key: "validateArgs",
			value: function validateArgs(args) {
				this.requireArgumentType("status", "boolean", args);
			}
		}, {
			key: "apply",
			value: function apply(args) {
				var status = args.status;
				var _args$document = args.document;
				var document = _args$document === void 0 ? elementor.documents.getCurrent() : _args$document;
				args.document = document;
				document.editor.isChanged = status;
				if (status && document.editor.isSaving) document.editor.isChangedDuringSave = true;
				if (status) document.editor.isSaved = false;
				elementor.channels.editor.reply("status", status).trigger("status:change", status);
				if (document.editor.isChanged) this.component.startAutoSave(document);
			}
		}]);
	}($e.modules.CommandInternalBase);

//#endregion
//#region assets/dev/js/editor/document/save/commands/internal/index.js
	var internal_exports$1 = /* @__PURE__ */ __exportAll({
		Save: () => Save$1,
		SetIsModified: () => SetIsModified
	});

//#endregion
//#region assets/dev/js/editor/document/save/hooks/ui/save/after.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_after();
	function _callSuper$70(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$70() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$70, "_callSuper");
	function _isNativeReflectConstruct$70() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$70 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$70, "_isNativeReflectConstruct");
	var FooterSaverAfterSave = /*#__PURE__*/ function(_HookUIAfter) {
		function FooterSaverAfterSave() {
			_classCallCheck(this, FooterSaverAfterSave);
			return _callSuper$70(this, FooterSaverAfterSave, arguments);
		}
		_inherits(FooterSaverAfterSave, _HookUIAfter);
		return _createClass(FooterSaverAfterSave, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/save/save";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "footer-saver-after-save";
				}
			},
			{
				key: "apply",
				value: function apply(args, result) {
					var status = args.status;
					var footerSaver = $e.components.get("document/save").footerSaver;
					NProgress.done();
					footerSaver.refreshWpPreview();
					if (result.statusChanged && "publish" === status && elementor.config.document.urls.have_a_look) this.onPageStatusChange();
				}
			},
			{
				key: "onPageStatusChange",
				value: function onPageStatusChange() {
					var buttons = [];
					buttons.push({
						name: "view_page",
						text: (0, _wordpress_i18n.__)("Have a look", "elementor"),
						callback: function callback() {
							open(elementor.config.document.urls.have_a_look);
						}
					});
					elementor.notifications.showToast({
						message: elementor.config.document.panel.messages.publish_notification,
						buttons
					});
				}
			}
		]);
	}(After);

//#endregion
//#region modules/web-cli/assets/js/modules/hooks/ui/before.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_base();
	function _callSuper$69(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$69() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$69, "_callSuper");
	function _isNativeReflectConstruct$69() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$69 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$69, "_isNativeReflectConstruct");
	var Before = /*#__PURE__*/ function(_Base) {
		function Before() {
			_classCallCheck(this, Before);
			return _callSuper$69(this, Before, arguments);
		}
		_inherits(Before, _Base);
		return _createClass(Before, [{
			key: "register",
			value: function register() {
				$e.hooks.registerUIBefore(this);
			}
		}]);
	}(Base$1);

//#endregion
//#region assets/dev/js/editor/document/save/hooks/ui/save/before.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$68(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$68() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$68, "_callSuper");
	function _isNativeReflectConstruct$68() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$68 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$68, "_isNativeReflectConstruct");
	var FooterSaverBeforeSave = /*#__PURE__*/ function(_HookUIBefore) {
		function FooterSaverBeforeSave() {
			_classCallCheck(this, FooterSaverBeforeSave);
			return _callSuper$68(this, FooterSaverBeforeSave, arguments);
		}
		_inherits(FooterSaverBeforeSave, _HookUIBefore);
		return _createClass(FooterSaverBeforeSave, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/save/save";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "footer-saver-before-save";
				}
			},
			{
				key: "apply",
				value: function apply() {
					NProgress.start();
				}
			}
		]);
	}(Before);

//#endregion
//#region modules/web-cli/assets/js/modules/hooks/ui/catch.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_base();
	function _callSuper$67(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$67() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$67, "_callSuper");
	function _isNativeReflectConstruct$67() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$67 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$67, "_isNativeReflectConstruct");
	var Catch = /*#__PURE__*/ function(_Base) {
		function Catch() {
			_classCallCheck(this, Catch);
			return _callSuper$67(this, Catch, arguments);
		}
		_inherits(Catch, _Base);
		return _createClass(Catch, [{
			key: "register",
			value: function register() {
				$e.hooks.registerUICatch(this);
			}
		}]);
	}(Base$1);

//#endregion
//#region assets/dev/js/editor/document/save/hooks/ui/save/catch.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$66(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$66() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$66, "_callSuper");
	function _isNativeReflectConstruct$66() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$66 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$66, "_isNativeReflectConstruct");
	var FooterSaverCatchSave = /*#__PURE__*/ function(_HookUICatch) {
		function FooterSaverCatchSave() {
			_classCallCheck(this, FooterSaverCatchSave);
			return _callSuper$66(this, FooterSaverCatchSave, arguments);
		}
		_inherits(FooterSaverCatchSave, _HookUICatch);
		return _createClass(FooterSaverCatchSave, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/save/save";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "footer-saver-catch-save";
				}
			},
			{
				key: "apply",
				value: function apply() {
					NProgress.done();
				}
			}
		]);
	}(Catch);

//#endregion
//#region assets/dev/js/editor/document/save/hooks/ui/settings/index.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_after();
	function _callSuper$65(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$65() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$65, "_callSuper");
	function _isNativeReflectConstruct$65() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$65 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$65, "_isNativeReflectConstruct");
	var FooterSeverRefreshMenu = /*#__PURE__*/ function(_HookUIAfter) {
		function FooterSeverRefreshMenu() {
			_classCallCheck(this, FooterSeverRefreshMenu);
			return _callSuper$65(this, FooterSeverRefreshMenu, arguments);
		}
		_inherits(FooterSeverRefreshMenu, _HookUIAfter);
		return _createClass(FooterSeverRefreshMenu, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/elements/settings";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "footer-saver-refresh-menu";
				}
			},
			{
				key: "getContainerType",
				value: function getContainerType() {
					return "document";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return args.settings && "undefined" !== typeof args.settings.post_status;
				}
			},
			{
				key: "apply",
				value: function apply() {
					$e.components.get("document/save").footerSaver.refreshWpPreview();
				}
			}
		]);
	}(After);

//#endregion
//#region assets/dev/js/editor/document/save/hooks/index.js
	var hooks_exports$1 = /* @__PURE__ */ __exportAll({
		FooterSaverAfterSave: () => FooterSaverAfterSave,
		FooterSaverBeforeSave: () => FooterSaverBeforeSave,
		FooterSaverCatchSave: () => FooterSaverCatchSave,
		FooterSeverRefreshMenu: () => FooterSeverRefreshMenu
	});

//#endregion
//#region assets/dev/js/editor/document/save/behaviors/footer-saver.js
	var require_footer_saver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_classCallCheck();
		init_createClass();
		init_defineProperty();
		module.exports = /*#__PURE__*/ function() {
			function FooterSaver() {
				_classCallCheck(this, FooterSaver);
				_defineProperty(this, "previewWindow", null);
			}
			return _createClass(FooterSaver, [{
				key: "refreshWpPreview",
				value: function refreshWpPreview() {
					if (!this.previewWindow) return;
					try {
						this.previewWindow.location.href = elementor.config.document.urls.wp_preview;
					} catch (e) {}
				}
			}]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/document/save/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$64(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$64() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$64, "_callSuper");
	function _isNativeReflectConstruct$64() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$64 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$64, "_isNativeReflectConstruct");
	function _superPropGet$11(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$11, "_superPropGet");
	/**
	* @typedef {import('./behaviors/footer-saver')} FooterSaver
	*/
	var Component$11 = /*#__PURE__*/ function(_BackwardsCompatibili) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$64(this, Component, arguments);
		}
		_inherits(Component, _BackwardsCompatibili);
		return _createClass(Component, [
			{
				key: "__construct",
				value: function __construct() {
					var _this = this;
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					_superPropGet$11(Component, "__construct", this, 3)([args]);
					this.footerSaver = new (require_footer_saver())();
					/**
					* Auto save timer handlers.
					*
					* @type {Object}
					*/
					this.autoSaveTimers = {};
					/**
					* Auto save interval.
					*
					* @type {number}
					*/
					this.autoSaveInterval = elementor.config.autosave_interval * 1e3;
					elementorCommon.elements.$window.on("beforeunload", function() {
						if (_this.isEditorChanged()) return (0, _wordpress_i18n.__)("Please note: All unsaved changes will be lost.", "elementor");
					});
				}
			},
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "document/save";
				}
			},
			{
				key: "startAutoSave",
				value: function startAutoSave(document) {
					var _this2 = this;
					this.stopAutoSave(document);
					this.autoSaveTimers[document.id] = setTimeout(function() {
						$e.run("document/save/auto", { document });
						delete _this2.autoSaveTimers[document.id];
					}, this.autoSaveInterval);
				}
			},
			{
				key: "stopAutoSave",
				value: function stopAutoSave(document) {
					if (this.autoSaveTimers[document.id]) {
						clearTimeout(this.autoSaveTimers[document.id]);
						delete this.autoSaveTimers[document.id];
					}
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$6);
				}
			},
			{
				key: "defaultCommandsInternal",
				value: function defaultCommandsInternal() {
					return this.importCommands(internal_exports$1);
				}
			},
			{
				key: "defaultHooks",
				value: function defaultHooks() {
					return this.importHooks(hooks_exports$1);
				}
			},
			{
				key: "isEditorChanged",
				value: function isEditorChanged() {
					return true === elementor.channels.editor.request("status");
				}
			}
		]);
	}(BackwardsCompatibility$1);

//#endregion
//#region assets/dev/js/editor/document/ui/commands/copy.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$63(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$63() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$63, "_callSuper");
	function _isNativeReflectConstruct$63() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$63 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$63, "_isNativeReflectConstruct");
	var Copy = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Copy() {
			_classCallCheck(this, Copy);
			return _callSuper$63(this, Copy, arguments);
		}
		_inherits(Copy, _$e$modules$CommandBa);
		return _createClass(Copy, [{
			key: "apply",
			value: function apply() {
				var selectedElements = elementor.selection.getElements();
				if (selectedElements.length) return $e.run("document/elements/copy", { containers: selectedElements });
				return false;
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/ui/commands/delete.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$62(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$62() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$62, "_callSuper");
	function _isNativeReflectConstruct$62() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$62 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$62, "_isNativeReflectConstruct");
	var Delete = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Delete() {
			_classCallCheck(this, Delete);
			return _callSuper$62(this, Delete, arguments);
		}
		_inherits(Delete, _$e$modules$CommandBa);
		return _createClass(Delete, [{
			key: "apply",
			value: function apply() {
				var selectedElements = elementor.selection.getElements();
				if (selectedElements.length) return $e.run("document/elements/delete", {
					containers: selectedElements,
					callerName: "keyboard"
				});
				return false;
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/ui/commands/duplicate.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$61(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$61() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$61, "_callSuper");
	function _isNativeReflectConstruct$61() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$61 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$61, "_isNativeReflectConstruct");
	var Duplicate = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Duplicate() {
			_classCallCheck(this, Duplicate);
			return _callSuper$61(this, Duplicate, arguments);
		}
		_inherits(Duplicate, _$e$modules$CommandBa);
		return _createClass(Duplicate, [{
			key: "apply",
			value: function apply() {
				var selectedElements = elementor.selection.getElements();
				if (selectedElements.length) return $e.run("document/elements/duplicate", { containers: selectedElements });
				return false;
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/ui/commands/paste.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$60(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$60() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$60, "_callSuper");
	function _isNativeReflectConstruct$60() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$60 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$60, "_isNativeReflectConstruct");
	var Paste = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function Paste() {
			_classCallCheck(this, Paste);
			return _callSuper$60(this, Paste, arguments);
		}
		_inherits(Paste, _$e$modules$CommandBa);
		return _createClass(Paste, [
			{
				key: "getPasteData",
				value: function getPasteData(_ref) {
					var _ref$storageType = _ref.storageType;
					var storageType = _ref$storageType === void 0 ? "localstorage" : _ref$storageType;
					var _ref$data = _ref.data;
					var data = _ref$data === void 0 ? "" : _ref$data;
					if ("localstorage" === storageType) return elementorCommon.storage.get("clipboard") || {};
					try {
						return JSON.parse(data) || {};
					} catch (e) {
						return {};
					}
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var _this$storage;
					var _this$storage2;
					var _this = this;
					var _args$containers = args.containers;
					var containers = _args$containers === void 0 ? [args.container] : _args$containers;
					this.storage = this.getPasteData(args);
					if (!this.storage || !((_this$storage = this.storage) !== null && _this$storage !== void 0 && (_this$storage = _this$storage.elements) !== null && _this$storage !== void 0 && _this$storage.length) || "elementor" !== ((_this$storage2 = this.storage) === null || _this$storage2 === void 0 ? void 0 : _this$storage2.type)) return false;
					this.storage.elements = this.storage.elements.map(function(model) {
						return new Backbone.Model(model);
					});
					this.target = this.getTarget(containers);
					if (!this.target || 0 === this.storage.elements.length) return false;
					var result = [];
					this.target.forEach(function(container) {
						var _args$options = args.options;
						var options = _args$options === void 0 ? {} : _args$options;
						var pasteOptions = $e.components.get("document/elements").utils.getPasteOptions(_this.storage.elements[0], container);
						if (!pasteOptions.isValidChild) {
							if (pasteOptions.isSameElement) {
								options.at = container.parent.model.get("elements").findIndex(container.model) + 1;
								container = container.parent;
							} else if (pasteOptions.isValidGrandChild) options.rebuild = true;
						}
						if (Object.values(pasteOptions).some(function(opt) {
							return !!opt;
						})) {
							var commandArgs = { container };
							if (void 0 !== options.rebuild) commandArgs.rebuild = options.rebuild;
							if (void 0 !== options.at) commandArgs.at = options.at;
							commandArgs.storageType = args.storageType || "localstorage";
							if (void 0 !== args.data) commandArgs.data = args.data;
							result.push($e.run("document/elements/paste", commandArgs));
						}
					});
					if (0 === result.length) return false;
					else if (1 === result.length) return result[0];
					return result;
				}
			},
			{
				key: "getTarget",
				value: function getTarget(containers) {
					var _elementor$selection;
					var _elementor$getCurrent;
					if (containers[0]) return containers;
					var selectedContainers = ((_elementor$selection = elementor.selection) === null || _elementor$selection === void 0 ? void 0 : _elementor$selection.getElements()) || [];
					var currentElementContainer = (_elementor$getCurrent = elementor.getCurrentElement()) === null || _elementor$getCurrent === void 0 ? void 0 : _elementor$getCurrent.getContainer();
					return selectedContainers.length ? selectedContainers : currentElementContainer;
				}
			}
		]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/ui/commands/paste-style.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$59(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$59() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$59, "_callSuper");
	function _isNativeReflectConstruct$59() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$59 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$59, "_isNativeReflectConstruct");
	var PasteStyle = /*#__PURE__*/ function(_$e$modules$CommandBa) {
		function PasteStyle() {
			_classCallCheck(this, PasteStyle);
			return _callSuper$59(this, PasteStyle, arguments);
		}
		_inherits(PasteStyle, _$e$modules$CommandBa);
		return _createClass(PasteStyle, [{
			key: "apply",
			value: function apply() {
				var selectedElement = elementor.getCurrentElement();
				if (selectedElement) return $e.run("document/elements/paste-style", { container: selectedElement.getContainer() });
				return false;
			}
		}]);
	}($e.modules.CommandBase);

//#endregion
//#region assets/dev/js/editor/document/ui/commands/index.js
	var commands_exports$5 = /* @__PURE__ */ __exportAll({
		Copy: () => Copy,
		Delete: () => Delete,
		Duplicate: () => Duplicate,
		Paste: () => Paste,
		PasteStyle: () => PasteStyle
	});

//#endregion
//#region assets/dev/js/editor/document/ui/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_component_base$1();
	function _callSuper$58(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$58() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$58, "_callSuper");
	function _isNativeReflectConstruct$58() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$58 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$58, "_isNativeReflectConstruct");
	var Component$10 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$58(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "document/ui";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$5);
				}
			},
			{
				key: "defaultShortcuts",
				value: function defaultShortcuts() {
					var shouldRun = function shouldRun() {
						var selectedElements = elementor.selection.getElements();
						if (!selectedElements.length) return false;
						return !selectedElements.some(function(container) {
							var _container$isLocked;
							return container === null || container === void 0 || (_container$isLocked = container.isLocked) === null || _container$isLocked === void 0 ? void 0 : _container$isLocked.call(container);
						});
					};
					return {
						copy: {
							keys: "ctrl+c",
							exclude: ["input"],
							dependency: function dependency() {
								return shouldRun();
							}
						},
						delete: {
							keys: "del",
							exclude: ["input"],
							dependency: function dependency() {
								return shouldRun();
							}
						},
						duplicate: {
							keys: "ctrl+d",
							dependency: function dependency() {
								return shouldRun() && $e.components.get("document/elements").utils.allowAddingWidgets();
							}
						},
						paste: {
							keys: "ctrl+v",
							exclude: ["input"],
							dependency: function dependency() {
								return $e.components.get("document/elements").utils.allowAddingWidgets();
							}
						},
						"paste-style": {
							keys: "ctrl+shift+v",
							exclude: ["input"]
						}
					};
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/document/index.js
	var document_exports = /* @__PURE__ */ __exportAll({
		DynamicComponent: () => Component$16,
		ElementsComponent: () => Component$15,
		GlobalsComponent: () => Component$14,
		HistoryComponent: () => Component$13,
		RepeaterComponent: () => Component$12,
		SaveComponent: () => Component$11,
		UIComponent: () => Component$10
	});

//#endregion
//#region assets/dev/js/editor/document/ui-states/direction-mode.js
	function _callSuper$57(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$57() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$57() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$57 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var DIRECTION_ROW, DIRECTION_ROW_REVERSE, DIRECTION_COLUMN, DIRECTION_COLUMN_REVERSE, DirectionMode;
	var init_direction_mode = __esmMin((() => {
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_ui_state_base();
		__name(_callSuper$57, "_callSuper");
		__name(_isNativeReflectConstruct$57, "_isNativeReflectConstruct");
		DIRECTION_ROW = "row";
		DIRECTION_ROW_REVERSE = "row-reverse";
		DIRECTION_COLUMN = "column";
		DIRECTION_COLUMN_REVERSE = "column-reverse";
		DirectionMode = /*#__PURE__*/ function(_UiStateBase) {
			function DirectionMode() {
				_classCallCheck(this, DirectionMode);
				return _callSuper$57(this, DirectionMode, arguments);
			}
			_inherits(DirectionMode, _UiStateBase);
			return _createClass(DirectionMode, [
				{
					key: "getId",
					value: function getId() {
						return "direction-mode";
					}
				},
				{
					key: "getOptions",
					value: function getOptions() {
						return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "row", ""), DIRECTION_ROW_REVERSE, ""), DIRECTION_COLUMN, ""), DIRECTION_COLUMN_REVERSE, "");
					}
				},
				{
					key: "getScopes",
					value: function getScopes() {
						return [window.document.body, elementor.$previewContents[0].body];
					}
				}
			]);
		}(UiStateBase);
	}));

//#endregion
//#region assets/dev/js/editor/document/ui-states/scrubbing-mode.js
	function _callSuper$56(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$56() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$56() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$56 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ScrubbingMode;
	var init_scrubbing_mode = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_defineProperty();
		init_ui_state_base();
		__name(_callSuper$56, "_callSuper");
		__name(_isNativeReflectConstruct$56, "_isNativeReflectConstruct");
		ScrubbingMode = /*#__PURE__*/ function(_UiStateBase) {
			function ScrubbingMode() {
				_classCallCheck(this, ScrubbingMode);
				return _callSuper$56(this, ScrubbingMode, arguments);
			}
			_inherits(ScrubbingMode, _UiStateBase);
			return _createClass(ScrubbingMode, [
				{
					key: "getId",
					value: function getId() {
						return "scrubbing-mode";
					}
				},
				{
					key: "getOptions",
					value: function getOptions() {
						return _defineProperty({}, this.constructor.ON, "");
					}
				},
				{
					key: "getScopes",
					value: function getScopes() {
						return [window.document.body];
					}
				}
			]);
		}(UiStateBase);
		_defineProperty(ScrubbingMode, "ON", "on");
	}));

//#endregion
//#region assets/dev/js/editor/document/ui-states/index.js
	var ui_states_exports = /* @__PURE__ */ __exportAll({
		DirectionMode: () => DirectionMode,
		ScrubbingMode: () => ScrubbingMode
	});
	var init_ui_states = __esmMin((() => {
		init_direction_mode();
		init_scrubbing_mode();
	}));

//#endregion
//#region assets/dev/js/editor/document/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_component_base$1();
	init_hooks$1();
	init_ui_states();
	function _createForOfIteratorHelper$1(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	__name(_createForOfIteratorHelper$1, "_createForOfIteratorHelper");
	function _unsupportedIterableToArray$1(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray$1(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0;
		}
	}
	__name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray");
	function _arrayLikeToArray$1(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	__name(_arrayLikeToArray$1, "_arrayLikeToArray");
	function _callSuper$55(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$55() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$55, "_callSuper");
	function _isNativeReflectConstruct$55() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$55 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$55, "_isNativeReflectConstruct");
	function _superPropGet$10(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$10, "_superPropGet");
	var Component$9 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$55(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "document";
				}
			},
			{
				key: "registerAPI",
				value: function registerAPI() {
					Object.values(document_exports).forEach(function(ComponentClass) {
						return $e.components.register(new ComponentClass());
					});
					_superPropGet$10(Component, "registerAPI", this, 3)([]);
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return {};
				}
			},
			{
				key: "defaultHooks",
				value: function defaultHooks() {
					return this.importHooks(hooks_exports$5);
				}
			},
			{
				key: "defaultUiStates",
				value: function defaultUiStates() {
					return this.importUiStates(ui_states_exports);
				}
			},
			{
				key: "defaultUtils",
				value: function defaultUtils() {
					var _this = this;
					return {
						findViewRecursive: function findViewRecursive(parent, key, value) {
							var multiple = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;
							var found = [];
							for (var x in parent._views) {
								var view = parent._views[x];
								if (value === view.model.get(key)) {
									found.push(view);
									if (!multiple) return found;
								}
								if (view.children) {
									var views = _this.utils.findViewRecursive(view.children, key, value, multiple);
									if (views.length) {
										found = found.concat(views);
										if (!multiple) return found;
									}
								}
							}
							return found;
						},
						findViewById: function findViewById(id) {
							var elements = _this.utils.findViewRecursive(elementor.getPreviewView().children, "id", id, false);
							return elements ? elements[0] : false;
						},
						findContainerById: function findContainerById(id) {
							var result = _this.utils.findViewById(id);
							if (result) result = result.getContainer();
							return result;
						},
						findModelById: function findModelById(id) {
							var _collection$models;
							var collection = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : elementor.elementsModel.get("elements");
							var _iterator = _createForOfIteratorHelper$1((_collection$models = collection === null || collection === void 0 ? void 0 : collection.models) !== null && _collection$models !== void 0 ? _collection$models : []);
							var _step;
							try {
								for (_iterator.s(); !(_step = _iterator.n()).done;) {
									var model = _step.value;
									var found = model.get("id") === id ? model : _this.utils.findModelById(id, model.get("elements"));
									if (found) return found;
								}
							} catch (err) {
								_iterator.e(err);
							} finally {
								_iterator.f();
							}
							return null;
						},
						addModelToParent: function addModelToParent(parentId, childData, options) {
							var parentModel = _this.utils.findModelById(parentId);
							if (!parentModel) return false;
							var elements = parentModel.get("elements");
							if (!elements) return false;
							elements.add(childData, {
								at: options === null || options === void 0 ? void 0 : options.at,
								silent: true
							});
							return true;
						},
						removeModelFromParent: function removeModelFromParent(parentId, childId) {
							var parentModel = _this.utils.findModelById(parentId);
							if (!parentModel) return false;
							var elements = parentModel.get("elements");
							if (!elements) return false;
							var child = elements.findWhere({ id: childId });
							if (!child) return false;
							elements.remove(child, { silent: true });
							return true;
						}
					};
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/data/globals/base/create-base.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$54(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$54() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$54, "_callSuper");
	function _isNativeReflectConstruct$54() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$54 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$54, "_isNativeReflectConstruct");
	var CreateBase = /*#__PURE__*/ function(_$e$modules$editor$Co) {
		function CreateBase() {
			_classCallCheck(this, CreateBase);
			return _callSuper$54(this, CreateBase, arguments);
		}
		_inherits(CreateBase, _$e$modules$editor$Co);
		return _createClass(CreateBase, [{
			key: "validateArgs",
			value: function validateArgs() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				this.requireContainer(args);
				this.requireArgumentType("setting", "string", args);
				this.requireArgumentType("title", "string", args);
			}
		}]);
	}($e.modules.editor.CommandContainerBase);

//#endregion
//#region assets/dev/js/editor/data/globals/typography/commands/create.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$53(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$53() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$53, "_callSuper");
	function _isNativeReflectConstruct$53() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$53 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$53, "_isNativeReflectConstruct");
	var Create$1 = /*#__PURE__*/ function(_CreateBase) {
		function Create() {
			_classCallCheck(this, Create);
			return _callSuper$53(this, Create, arguments);
		}
		_inherits(Create, _CreateBase);
		return _createClass(Create, [{
			key: "apply",
			value: function apply() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				var container = args.container;
				var setting = args.setting;
				var title = args.title;
				var controls = container.controls;
				var availableControls = {};
				var result = false;
				var groupPrefix = "";
				if (controls[setting] && controls[setting].groupPrefix) groupPrefix = controls[setting].groupPrefix;
				else throw new Error("Invalid setting: control '".concat(setting, "', not found."));
				if (groupPrefix) Object.entries(controls).forEach(function(_ref) {
					var key = _slicedToArray(_ref, 1)[0];
					if (key.includes(groupPrefix)) {
						var value = container.settings.get(key);
						var defaultValue = container.controls[key].default;
						if (!_.isEqual(value, defaultValue)) availableControls[key.replace(groupPrefix, elementor.config.kit_config.typography_prefix)] = container.settings.get(key);
					}
				});
				if (Object.values(availableControls).length) {
					var id = elementorCommon.helpers.getUniqueId();
					result = $e.data.create("globals/typography?id=".concat(id), {
						title,
						value: availableControls
					});
				}
				return result;
			}
		}]);
	}(CreateBase);

//#endregion
//#region assets/dev/js/editor/data/globals/typography/commands/index.js
	var commands_exports$4 = /* @__PURE__ */ __exportAll({ Create: () => Create$1 });

//#endregion
//#region assets/dev/js/editor/data/globals/typography/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_component_base$1();
	function _callSuper$52(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$52() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$52, "_callSuper");
	function _isNativeReflectConstruct$52() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$52 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$52, "_isNativeReflectConstruct");
	function _superPropGet$9(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$9, "_superPropGet");
	var Component$8 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$52(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "__construct",
				value: function __construct() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					_superPropGet$9(Component, "__construct", this, 3)([args]);
				}
			},
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "globals/typography";
				}
			},
			{
				key: "defaultCommands",
				value: function defaultCommands() {
					return this.importCommands(commands_exports$4);
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/data/globals/colors/commands/create.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$51(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$51() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$51, "_callSuper");
	function _isNativeReflectConstruct$51() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$51 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$51, "_isNativeReflectConstruct");
	var Create = /*#__PURE__*/ function(_CreateBase) {
		function Create() {
			_classCallCheck(this, Create);
			return _callSuper$51(this, Create, arguments);
		}
		_inherits(Create, _CreateBase);
		return _createClass(Create, [{
			key: "apply",
			value: function apply() {
				var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				var container = args.container;
				var setting = args.setting;
				var title = args.title;
				var controls = container.controls;
				var result = false;
				if (!controls[setting]) throw new Error("Invalid setting: control '".concat(setting, "', not found."));
				var id = args.id || elementorCommon.helpers.getUniqueId();
				result = $e.data.create("globals/colors?id=".concat(id), {
					title,
					value: container.settings.get(setting)
				});
				return result;
			}
		}]);
	}(CreateBase);

//#endregion
//#region assets/dev/js/editor/data/globals/colors/commands/index.js
	var commands_exports$3 = /* @__PURE__ */ __exportAll({ Create: () => Create });

//#endregion
//#region assets/dev/js/editor/data/globals/colors/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_component_base$1();
	function _callSuper$50(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$50() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$50, "_callSuper");
	function _isNativeReflectConstruct$50() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$50 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$50, "_isNativeReflectConstruct");
	var Component$7 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$50(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [{
			key: "getNamespace",
			value: function getNamespace() {
				return "globals/colors";
			}
		}, {
			key: "defaultCommands",
			value: function defaultCommands() {
				return this.importCommands(commands_exports$3);
			}
		}]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/data/globals/commands/data/colors.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$49(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$49() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$49, "_callSuper");
	function _isNativeReflectConstruct$49() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$49 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$49, "_isNativeReflectConstruct");
	var Colors = /*#__PURE__*/ function(_$e$modules$CommandDa) {
		function Colors() {
			_classCallCheck(this, Colors);
			return _callSuper$49(this, Colors, arguments);
		}
		_inherits(Colors, _$e$modules$CommandDa);
		return _createClass(Colors, null, [{
			key: "getEndpointFormat",
			value: function getEndpointFormat() {
				return "globals/colors/{id}";
			}
		}]);
	}($e.modules.CommandData);

//#endregion
//#region assets/dev/js/editor/data/globals/commands/data/typography.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$48(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$48() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$48, "_callSuper");
	function _isNativeReflectConstruct$48() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$48 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$48, "_isNativeReflectConstruct");
	var Typography = /*#__PURE__*/ function(_$e$modules$CommandDa) {
		function Typography() {
			_classCallCheck(this, Typography);
			return _callSuper$48(this, Typography, arguments);
		}
		_inherits(Typography, _$e$modules$CommandDa);
		return _createClass(Typography, null, [{
			key: "getEndpointFormat",
			value: function getEndpointFormat() {
				return "globals/typography/{id}";
			}
		}]);
	}($e.modules.CommandData);

//#endregion
//#region assets/dev/js/editor/data/globals/commands/data/index.js
	var data_exports = /* @__PURE__ */ __exportAll({
		Colors: () => Colors,
		Index: () => Index,
		Typography: () => Typography
	});
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$47(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$47() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$47, "_callSuper");
	function _isNativeReflectConstruct$47() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$47 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$47, "_isNativeReflectConstruct");
	var Index = /*#__PURE__*/ function(_$e$modules$CommandDa) {
		function Index() {
			_classCallCheck(this, Index);
			return _callSuper$47(this, Index, arguments);
		}
		_inherits(Index, _$e$modules$CommandDa);
		return _createClass(Index, null, [{
			key: "getEndpointFormat",
			value: function getEndpointFormat() {
				return "globals";
			}
		}]);
	}($e.modules.CommandData);

//#endregion
//#region assets/dev/js/editor/data/globals/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	init_component_base$1();
	function _callSuper$46(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$46() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$46, "_callSuper");
	function _isNativeReflectConstruct$46() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$46 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$46, "_isNativeReflectConstruct");
	function _superPropGet$8(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$8, "_superPropGet");
	var Component$6 = /*#__PURE__*/ function(_ComponentBase) {
		function Component() {
			_classCallCheck(this, Component);
			return _callSuper$46(this, Component, arguments);
		}
		_inherits(Component, _ComponentBase);
		return _createClass(Component, [
			{
				key: "__construct",
				value: function __construct() {
					var _this = this;
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					_superPropGet$8(Component, "__construct", this, 3)([args]);
					elementorCommon.elements.$window.on("elementor:loaded", function() {
						return _this.refreshGlobalData();
					});
				}
			},
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "globals";
				}
			},
			{
				key: "registerAPI",
				value: function registerAPI() {
					$e.components.register(new Component$8({ manager: this }));
					$e.components.register(new Component$7({ manager: this }));
					_superPropGet$8(Component, "registerAPI", this, 3)([]);
				}
			},
			{
				key: "defaultData",
				value: function defaultData() {
					return this.importCommands(data_exports);
				}
			},
			{
				key: "refreshGlobalData",
				value: function refreshGlobalData() {
					$e.data.deleteCache($e.components.get("globals"), "globals/index");
				}
			},
			{
				key: "populateGlobalData",
				value: function populateGlobalData() {
					$e.data.get("globals/index");
				}
			}
		]);
	}(ComponentBase$1);

//#endregion
//#region assets/dev/js/editor/utils/conditions.js
	init_typeof();
	init_classCallCheck();
	init_createClass();
	var Conditions = /*#__PURE__*/ function() {
		function Conditions() {
			_classCallCheck(this, Conditions);
		}
		return _createClass(Conditions, [
			{
				key: "compare",
				value: function compare(leftValue, rightValue, operator) {
					switch (operator) {
						case "==": return leftValue == rightValue;
						case "!=": return leftValue != rightValue;
						case "!==": return leftValue !== rightValue;
						case "in": return -1 !== rightValue.indexOf(leftValue);
						case "!in": return -1 === rightValue.indexOf(leftValue);
						case "contains": return -1 !== leftValue.indexOf(rightValue);
						case "!contains": return -1 === leftValue.indexOf(rightValue);
						case "<": return leftValue < rightValue;
						case "<=": return leftValue <= rightValue;
						case ">": return leftValue > rightValue;
						case ">=": return leftValue >= rightValue;
						default: return leftValue === rightValue;
					}
				}
			},
			{
				key: "getOperator",
				value: function getOperator(conditionValue, isNegativeCondition, currentValue) {
					var operator;
					if (Array.isArray(conditionValue) && conditionValue.length) operator = isNegativeCondition ? "!in" : "in";
					else if (Array.isArray(currentValue) && currentValue.length) operator = isNegativeCondition ? "!contains" : "contains";
					else if (isNegativeCondition) operator = "!==";
					return operator;
				}
			},
			{
				key: "getConditionValue",
				value: function getConditionValue(comparisonObject, conditionName, subConditionName) {
					var value;
					if ("object" === _typeof(comparisonObject[conditionName]) && subConditionName) value = comparisonObject[conditionName][subConditionName];
					else value = comparisonObject[conditionName];
					return value;
				}
			},
			{
				key: "check",
				value: function check(conditions, comparisonObject) {
					var _this = this;
					var isOrCondition = "or" === conditions.relation;
					var conditionSucceed = !isOrCondition;
					conditions.terms.forEach(function(term) {
						var comparisonResult;
						if (term.terms) comparisonResult = _this.check(term, comparisonObject);
						else {
							var parsedName = term.name.match(/([\w-]+)(?:\[([\w-]+)])?/);
							var conditionRealName = parsedName[1];
							var conditionSubKey = parsedName[2];
							var value = _this.getConditionValue(comparisonObject, conditionRealName, conditionSubKey);
							comparisonResult = void 0 !== value && _this.compare(value, term.value, term.operator);
						}
						if (isOrCondition) {
							if (comparisonResult) conditionSucceed = true;
							return !comparisonResult;
						}
						if (!comparisonResult) return conditionSucceed = false;
					});
					return conditionSucceed;
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/utils/control-conditions.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper$45(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$45() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$45, "_callSuper");
	function _isNativeReflectConstruct$45() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$45 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$45, "_isNativeReflectConstruct");
	function _superPropGet$7(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	__name(_superPropGet$7, "_superPropGet");
	/**
	* Control Conditions Class
	*
	* This class Handles conditions checks specifically related to element controls.
	*
	* @since 3.7.0
	*/
	var ControlConditions = /*#__PURE__*/ function(_Conditions) {
		function ControlConditions() {
			_classCallCheck(this, ControlConditions);
			return _callSuper$45(this, ControlConditions, arguments);
		}
		_inherits(ControlConditions, _Conditions);
		return _createClass(ControlConditions, [
			{
				key: "convertConditionToConditions",
				value: function convertConditionToConditions(conditionName, conditionValue, controlModel, values, controls) {
					var _controlModel$attribu;
					var _controls$conditionNa;
					var conditionNameParts = conditionName.match(/([\w-]+(?:\[[\w-]+])?)?(!?)$/i);
					var conditionRealName = conditionNameParts[1];
					var isNegativeCondition = !!conditionNameParts[2];
					var parsedControlName = conditionRealName.match(/([\w-]+)(?:\[([\w-]+)])?/);
					var conditionNameWithoutSubKey = parsedControlName[1];
					var conditionSubKey = parsedControlName[2];
					var controlResponsiveProp = ((_controlModel$attribu = controlModel.attributes) === null || _controlModel$attribu === void 0 ? void 0 : _controlModel$attribu.responsive) || controlModel.responsive;
					var conditionNameToCheck = conditionRealName;
					var controlValue;
					if (!!controlResponsiveProp && (_controls$conditionNa = controls[conditionNameWithoutSubKey]) !== null && _controls$conditionNa !== void 0 && _controls$conditionNa.responsive) {
						var deviceSuffix = this.getResponsiveControlDeviceSuffix(controlResponsiveProp);
						conditionNameToCheck = conditionNameWithoutSubKey + deviceSuffix;
						if (conditionSubKey) conditionNameToCheck += "[".concat(conditionSubKey, "]");
						controlValue = values[conditionNameWithoutSubKey + deviceSuffix];
					} else controlValue = values[conditionRealName];
					return {
						name: conditionNameToCheck,
						operator: this.getOperator(conditionValue, isNegativeCondition, controlValue),
						value: conditionValue
					};
				}
			},
			{
				key: "getResponsiveControlDeviceSuffix",
				value: function getResponsiveControlDeviceSuffix(controlResponsiveProp) {
					var queryDevice = controlResponsiveProp.max || controlResponsiveProp.min;
					return "desktop" === queryDevice ? "" : "_" + queryDevice;
				}
			},
			{
				key: "getConditionValue",
				value: function getConditionValue(comparisonObject, conditionName, subConditionName) {
					var _comparisonObject$__d;
					var value;
					var dynamicValue = (_comparisonObject$__d = comparisonObject.__dynamic__) === null || _comparisonObject$__d === void 0 ? void 0 : _comparisonObject$__d[conditionName];
					if (dynamicValue) value = dynamicValue;
					else value = _superPropGet$7(ControlConditions, "getConditionValue", this, 3)([
						comparisonObject,
						conditionName,
						subConditionName
					]);
					return value;
				}
			},
			{
				key: "check",
				value: function check(conditions, comparisonObject, controls) {
					var _this = this;
					var isOrCondition = "or" === conditions.relation;
					var conditionSucceed = !isOrCondition;
					conditions.terms.forEach(function(term) {
						var comparisonResult;
						if (term.terms) comparisonResult = _this.check(term, comparisonObject, controls);
						else {
							var parsedName = term.name.match(/([\w-]+)(?:\[([\w-]+)])?/);
							var conditionRealName = parsedName[1];
							var conditionSubKey = parsedName[2];
							var value = _this.getConditionValue(comparisonObject, conditionRealName, conditionSubKey);
							if (!value) {
								var _controls$conditionRe;
								var parent = (_controls$conditionRe = controls[conditionRealName]) === null || _controls$conditionRe === void 0 ? void 0 : _controls$conditionRe.parent;
								while (parent) {
									var _controls$parent;
									value = _this.getConditionValue(comparisonObject, parent, conditionSubKey);
									if (value) break;
									parent = (_controls$parent = controls[parent]) === null || _controls$parent === void 0 ? void 0 : _controls$parent.parent;
								}
							}
							comparisonResult = void 0 !== value && _this.compare(value, term.value, term.operator);
						}
						if (isOrCondition) {
							if (comparisonResult) conditionSucceed = true;
							return !comparisonResult;
						}
						if (!comparisonResult) return conditionSucceed = false;
					});
					return conditionSucceed;
				}
			}
		]);
	}(Conditions);

//#endregion
//#region modules/promotions/assets/js/editor/behavior.js
	init_defineProperty();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function ownKeys$4(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	__name(ownKeys$4, "ownKeys");
	function _objectSpread$4(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$4(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	__name(_objectSpread$4, "_objectSpread");
	function _callSuper$44(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$44() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$44, "_callSuper");
	function _isNativeReflectConstruct$44() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$44 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$44, "_isNativeReflectConstruct");
	var PromotionBehavior = /*#__PURE__*/ function(_Marionette$Behavior) {
		function PromotionBehavior() {
			_classCallCheck(this, PromotionBehavior);
			return _callSuper$44(this, PromotionBehavior, arguments);
		}
		_inherits(PromotionBehavior, _Marionette$Behavior);
		return _createClass(PromotionBehavior, [
			{
				key: "ui",
				value: function ui() {
					return {
						displayConditionsButton: ".eicon-flow.e-control-display-conditions-promotion",
						scrollingEffectsButton: ".e-control-scrolling-effects-promotion",
						mouseEffectsButton: ".e-control-mouse-effects-promotion",
						stickyEffectsButton: ".e-control-sticky-effects-promotion"
					};
				}
			},
			{
				key: "events",
				value: function events() {
					return {
						"click @ui.displayConditionsButton": "onClickControlButtonDisplayConditions",
						"click @ui.scrollingEffectsButton": "onClickControlButtonScrollingEffects",
						"click @ui.mouseEffectsButton": "onClickControlButtonMouseEffects",
						"click @ui.stickyEffectsButton": "onClickControlButtonStickyEffects"
					};
				}
			},
			{
				key: "dispatchPromotionEvent",
				value: function dispatchPromotionEvent(widgetType, promotion) {
					document.dispatchEvent(new CustomEvent("widget-promotion:open", { detail: _objectSpread$4({
						target: this.el,
						widgetType
					}, promotion) }));
				}
			},
			{
				key: "onClickControlButtonDisplayConditions",
				value: function onClickControlButtonDisplayConditions(event) {
					event.stopPropagation();
					this.dispatchPromotionEvent("displayConditions", {
						title: (0, _wordpress_i18n.__)("Display Conditions", "elementor"),
						content: (0, _wordpress_i18n.__)("Upgrade to Elementor Pro Advanced to get the Display Conditions Feature as well as additional professional and ecommerce widgets", "elementor"),
						ctaUrl: "https://go.elementor.com/go-pro-display-conditions/"
					});
				}
			},
			{
				key: "onClickControlButtonScrollingEffects",
				value: function onClickControlButtonScrollingEffects(event) {
					event.stopPropagation();
					this.dispatchPromotionEvent("scrollingEffects", {
						title: (0, _wordpress_i18n.__)("Scrolling Effects", "elementor"),
						content: (0, _wordpress_i18n.__)("Get Scrolling Effects such as vertical/horizontal scroll, transparency, and more with Elementor Pro.", "elementor"),
						ctaUrl: "https://go.elementor.com/go-pro-scrolling-effects-advanced/"
					});
				}
			},
			{
				key: "onClickControlButtonMouseEffects",
				value: function onClickControlButtonMouseEffects(event) {
					event.stopPropagation();
					this.dispatchPromotionEvent("mouseEffects", {
						title: (0, _wordpress_i18n.__)("Mouse Effects", "elementor"),
						content: (0, _wordpress_i18n.__)("Add a Mouse Track or 3d Tilt effect with Elementor Pro.", "elementor"),
						ctaUrl: "https://go.elementor.com/go-pro-motion-effects-advanced/"
					});
				}
			},
			{
				key: "onClickControlButtonStickyEffects",
				value: function onClickControlButtonStickyEffects(event) {
					event.stopPropagation();
					this.dispatchPromotionEvent("sticky", {
						title: (0, _wordpress_i18n.__)("Sticky", "elementor"),
						content: (0, _wordpress_i18n.__)("Make any element on your page sticky and keep them in sight at the top or bottom of the screen.", "elementor"),
						ctaUrl: "https://go.elementor.com/go-pro-sticky-element-advanced/"
					});
				}
			}
		]);
	}(Marionette.Behavior);

//#endregion
//#region modules/promotions/assets/js/editor/widget/view.js
	var view_exports = /* @__PURE__ */ __exportAll({ default: () => View });
	function _callSuper$43(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$43() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$43() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$43 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$6(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var View;
	var init_view = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		__name(_callSuper$43, "_callSuper");
		__name(_isNativeReflectConstruct$43, "_isNativeReflectConstruct");
		__name(_superPropGet$6, "_superPropGet");
		View = /*#__PURE__*/ function(_WidgetView) {
			function View() {
				_classCallCheck(this, View);
				return _callSuper$43(this, View, arguments);
			}
			_inherits(View, _WidgetView);
			return _createClass(View, [
				{
					key: "events",
					value: function events() {
						return {
							"click .e-promotion-delete": "onRemoveButtonClick",
							"click .e-promotion-go-pro": "onGoProButtonClick"
						};
					}
				},
				{
					key: "className",
					value: function className() {
						return _superPropGet$6(View, "className", this, 3)([]).replace(/elementor-element-edit-mode/g, "") + " e-widget-pro-promotion";
					}
				},
				{
					key: "getHandlesOverlay",
					value: function getHandlesOverlay() {
						return "";
					}
				},
				{
					key: "getContextMenuGroups",
					value: function getContextMenuGroups() {
						return _superPropGet$6(View, "getContextMenuGroups", this, 3)([]).filter(function(group) {
							return "clipboard" !== group.name && "save" !== group.name && "general" !== group.name;
						});
					}
				},
				{
					key: "onGoProButtonClick",
					value: function onGoProButtonClick(event) {
						event.preventDefault();
						event.stopPropagation();
						window.open(event.currentTarget.href, "_blank");
					}
				}
			]);
		}(elementor.modules.elements.views.Widget);
	}));

//#endregion
//#region modules/promotions/assets/js/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$42(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$42() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$42, "_callSuper");
	function _isNativeReflectConstruct$42() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$42 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$42, "_isNativeReflectConstruct");
	var Module = /*#__PURE__*/ function(_elementorModules$edi) {
		function Module() {
			_classCallCheck(this, Module);
			return _callSuper$42(this, Module, arguments);
		}
		_inherits(Module, _elementorModules$edi);
		return _createClass(Module, [
			{
				key: "onElementorInit",
				value: function onElementorInit() {
					if (!this.hasPromotionWidgets() && !this.hasIntegrationWidgets()) return;
					elementor.hooks.addFilter("element/view", function(DefaultView, model) {
						var _config$promotionWidg;
						var _config$integrationWi;
						var widgetType = model.get("widgetType");
						var config = elementor.config;
						var hasWidget = function hasWidget(path) {
							return !!config[path].find(function(item) {
								return widgetType === item.name;
							});
						};
						var isProWidget = false;
						var isIntegrationWidget = false;
						if (config !== null && config !== void 0 && (_config$promotionWidg = config.promotionWidgets) !== null && _config$promotionWidg !== void 0 && _config$promotionWidg.length) isProWidget = hasWidget("promotionWidgets");
						if (config !== null && config !== void 0 && (_config$integrationWi = config.integrationWidgets) !== null && _config$integrationWi !== void 0 && _config$integrationWi.length && !isProWidget) isIntegrationWidget = hasWidget("integrationWidgets");
						if (isProWidget || isIntegrationWidget) return (init_view(), __toCommonJS(view_exports)).default;
						return DefaultView;
					});
					elementor.hooks.addFilter("controls/base/behaviors", this.registerControlBehavior);
				}
			},
			{
				key: "hasWidgetsElements",
				value: function hasWidgetsElements(path) {
					var _elementor$config;
					return (_elementor$config = elementor.config) === null || _elementor$config === void 0 || (_elementor$config = _elementor$config[path]) === null || _elementor$config === void 0 ? void 0 : _elementor$config.length;
				}
			},
			{
				key: "hasPromotionWidgets",
				value: function hasPromotionWidgets() {
					return this.hasWidgetsElements("promotionWidgets");
				}
			},
			{
				key: "hasIntegrationWidgets",
				value: function hasIntegrationWidgets() {
					return this.hasWidgetsElements("integrationWidgets");
				}
			},
			{
				key: "registerControlBehavior",
				value: function registerControlBehavior(behaviors, view) {
					if (![
						"display_conditions_pro",
						"scrolling_effects_pro",
						"mouse_effects_pro",
						"sticky_pro"
					].includes(view.options.model.get("name"))) return behaviors;
					if (!behaviors) behaviors = {};
					behaviors.promotions = { behaviorClass: PromotionBehavior };
					return behaviors;
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/hooks/ui/editor/documents/open/add-floating-buttons-tab.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$41(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$41() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$41, "_callSuper");
	function _isNativeReflectConstruct$41() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$41 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$41, "_isNativeReflectConstruct");
	var FloatingButtonsAddLibraryTab = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function FloatingButtonsAddLibraryTab() {
			_classCallCheck(this, FloatingButtonsAddLibraryTab);
			return _callSuper$41(this, FloatingButtonsAddLibraryTab, arguments);
		}
		_inherits(FloatingButtonsAddLibraryTab, _$e$modules$hookUI$Af);
		return _createClass(FloatingButtonsAddLibraryTab, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/open";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "elementor-floating-buttons-add-library-tab";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return "floating-buttons" === elementor.documents.get(args.id).config.type;
				}
			},
			{
				key: "getSubtype",
				value: function getSubtype() {
					switch (new URLSearchParams(window.location.search).get("floating_element")) {
						case "floating-bars": return "Floating Bar";
						case "floating-buttons": return "Floating Button";
						default: return "Floating Button";
					}
				}
			},
			{
				key: "getTitle",
				value: function getTitle() {
					switch (new URLSearchParams(window.location.search).get("floating_element")) {
						case "floating-bars": return (0, _wordpress_i18n.__)("Floating Bars", "elementor");
						case "floating-buttons": return (0, _wordpress_i18n.__)("Floating Buttons", "elementor");
						default: return (0, _wordpress_i18n.__)("Floating Buttons", "elementor");
					}
				}
			},
			{
				key: "apply",
				value: function apply() {
					$e.components.get("library").addTab("templates/floating-buttons", {
						title: this.getTitle(),
						filter: {
							source: "remote",
							type: "floating_button",
							subtype: this.getSubtype()
						}
					}, 2);
					$e.components.get("library").removeTab("templates/blocks");
					$e.components.get("library").removeTab("templates/pages");
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/hooks/ui/editor/documents/close/remove-floating-buttons-tab.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$40(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$40() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$40, "_callSuper");
	function _isNativeReflectConstruct$40() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$40 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$40, "_isNativeReflectConstruct");
	var FloatingButtonsRemoveLibraryTab = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function FloatingButtonsRemoveLibraryTab() {
			_classCallCheck(this, FloatingButtonsRemoveLibraryTab);
			return _callSuper$40(this, FloatingButtonsRemoveLibraryTab, arguments);
		}
		_inherits(FloatingButtonsRemoveLibraryTab, _$e$modules$hookUI$Af);
		return _createClass(FloatingButtonsRemoveLibraryTab, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/unload";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "elementor-floating-buttons-remove-library-tab";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					return "floating-buttons" === args.document.config.type;
				}
			},
			{
				key: "apply",
				value: function apply() {
					$e.components.get("library").removeTab("templates/floating-buttons");
					$e.components.get("library").addTab("templates/pages");
					$e.components.get("library").addTab("templates/blocks");
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/hooks/ui/editor/delete/open-library-after-delete.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_after();
	function _callSuper$39(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$39() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$39, "_callSuper");
	function _isNativeReflectConstruct$39() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$39 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$39, "_isNativeReflectConstruct");
	var OpenLibraryAfterDelete = /*#__PURE__*/ function(_After) {
		function OpenLibraryAfterDelete() {
			_classCallCheck(this, OpenLibraryAfterDelete);
			return _callSuper$39(this, OpenLibraryAfterDelete, arguments);
		}
		_inherits(OpenLibraryAfterDelete, _After);
		return _createClass(OpenLibraryAfterDelete, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/elements/delete";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "open-library-after-delete";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					var _args$container;
					var type = args === null || args === void 0 || (_args$container = args.container) === null || _args$container === void 0 || (_args$container = _args$container.document) === null || _args$container === void 0 || (_args$container = _args$container.config) === null || _args$container === void 0 ? void 0 : _args$container.type;
					if (!type) {
						var _args$containers$;
						type = args === null || args === void 0 || (_args$containers$ = args.containers[0]) === null || _args$containers$ === void 0 || (_args$containers$ = _args$containers$.document) === null || _args$containers$ === void 0 || (_args$containers$ = _args$containers$.config) === null || _args$containers$ === void 0 ? void 0 : _args$containers$.type;
					}
					return "floating-buttons" === type;
				}
			},
			{
				key: "apply",
				value: function apply() {
					$e.run("library/open");
				}
			}
		]);
	}(After);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/hooks/ui/editor/document/select.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_after();
	function _callSuper$38(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$38() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$38, "_callSuper");
	function _isNativeReflectConstruct$38() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$38 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$38, "_isNativeReflectConstruct");
	var AfterSelect = /*#__PURE__*/ function(_After) {
		function AfterSelect() {
			_classCallCheck(this, AfterSelect);
			return _callSuper$38(this, AfterSelect, arguments);
		}
		_inherits(AfterSelect, _After);
		return _createClass(AfterSelect, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/elements/select";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "prevent-container-selection";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					var _args$container;
					var type = args === null || args === void 0 || (_args$container = args.container) === null || _args$container === void 0 || (_args$container = _args$container.document) === null || _args$container === void 0 || (_args$container = _args$container.config) === null || _args$container === void 0 ? void 0 : _args$container.type;
					if (!type) {
						var _args$containers$;
						type = args === null || args === void 0 || (_args$containers$ = args.containers[0]) === null || _args$containers$ === void 0 || (_args$containers$ = _args$containers$.document) === null || _args$containers$ === void 0 || (_args$containers$ = _args$containers$.config) === null || _args$containers$ === void 0 ? void 0 : _args$containers$.type;
					}
					return "floating-buttons" === type;
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var _args$container$type = args.container.type;
					switch (_args$container$type === void 0 ? "" : _args$container$type) {
						case "section":
						case "container":
							$e.run("document/elements/select", {
								container: args.container.children[0],
								append: false
							});
							break;
						default: break;
					}
				}
			}
		]);
	}(After);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/hooks/ui/editor/documents/attach-preview/select-floating-button-on-open.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$37(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$37() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$37, "_callSuper");
	function _isNativeReflectConstruct$37() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$37 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$37, "_isNativeReflectConstruct");
	var SelectLoadingButtonOnOpen = /*#__PURE__*/ function(_$e$modules$hookUI$Af) {
		function SelectLoadingButtonOnOpen() {
			_classCallCheck(this, SelectLoadingButtonOnOpen);
			return _callSuper$37(this, SelectLoadingButtonOnOpen, arguments);
		}
		_inherits(SelectLoadingButtonOnOpen, _$e$modules$hookUI$Af);
		return _createClass(SelectLoadingButtonOnOpen, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "editor/documents/attach-preview";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "elementor-floating-buttons-select-on-open";
				}
			},
			{
				key: "getConditions",
				value: function getConditions() {
					var _elementor;
					return "floating-buttons" === ((_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 || (_elementor = _elementor.document) === null || _elementor === void 0 ? void 0 : _elementor.type);
				}
			},
			{
				key: "apply",
				value: function apply() {
					var _elementor2;
					var children = (_elementor2 = elementor) === null || _elementor2 === void 0 || (_elementor2 = _elementor2.documents) === null || _elementor2 === void 0 || (_elementor2 = _elementor2.currentDocument) === null || _elementor2 === void 0 || (_elementor2 = _elementor2.container) === null || _elementor2 === void 0 ? void 0 : _elementor2.children;
					if (Array.isArray(children) && children.length) $e.run("document/elements/select", {
						container: children[0],
						append: false
					});
					else $e.run("library/open");
				}
			}
		]);
	}($e.modules.hookUI.After);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/hooks/ui/editor/document/delete.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_after();
	function _callSuper$36(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$36() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$36, "_callSuper");
	function _isNativeReflectConstruct$36() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$36 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$36, "_isNativeReflectConstruct");
	var DeleteParentIfWidget = /*#__PURE__*/ function(_After) {
		function DeleteParentIfWidget() {
			_classCallCheck(this, DeleteParentIfWidget);
			return _callSuper$36(this, DeleteParentIfWidget, arguments);
		}
		_inherits(DeleteParentIfWidget, _After);
		return _createClass(DeleteParentIfWidget, [
			{
				key: "getCommand",
				value: function getCommand() {
					return "document/elements/delete";
				}
			},
			{
				key: "getId",
				value: function getId() {
					return "delete-parent-if-widget";
				}
			},
			{
				key: "getConditions",
				value: function getConditions(args) {
					var _args$containers = args.containers;
					return (_args$containers === void 0 ? [args.container] : _args$containers).some(function(container) {
						var _container$document;
						return "floating-buttons" === (container === null || container === void 0 || (_container$document = container.document) === null || _container$document === void 0 || (_container$document = _container$document.config) === null || _container$document === void 0 ? void 0 : _container$document.type) && "widget" === container.model.get("elType");
					});
				}
			},
			{
				key: "apply",
				value: function apply(args) {
					var _args$containers2 = args.containers;
					var firstContainer = _slicedToArray(_args$containers2 === void 0 ? [args.container] : _args$containers2, 1)[0];
					if (!firstContainer) return;
					var parent = firstContainer.parent;
					if (!parent) return;
					$e.run("document/elements/delete", { container: parent });
				}
			}
		]);
	}(After);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/hooks/index.js
	var hooks_exports = /* @__PURE__ */ __exportAll({
		AfterSelect: () => AfterSelect,
		DeleteParentIfWidget: () => DeleteParentIfWidget,
		FloatingButtonsAddLibraryTab: () => FloatingButtonsAddLibraryTab,
		FloatingButtonsRemoveLibraryTab: () => FloatingButtonsRemoveLibraryTab,
		OpenLibraryAfterDelete: () => OpenLibraryAfterDelete,
		SelectLoadingButtonOnOpen: () => SelectLoadingButtonOnOpen
	});

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$35(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$35() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$35, "_callSuper");
	function _isNativeReflectConstruct$35() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$35 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$35, "_isNativeReflectConstruct");
	var LinksPageComponent = /*#__PURE__*/ function(_$e$modules$Component) {
		function LinksPageComponent() {
			_classCallCheck(this, LinksPageComponent);
			return _callSuper$35(this, LinksPageComponent, arguments);
		}
		_inherits(LinksPageComponent, _$e$modules$Component);
		return _createClass(LinksPageComponent, [{
			key: "getNamespace",
			value: function getNamespace() {
				return "document/floating-buttons";
			}
		}, {
			key: "defaultHooks",
			value: function defaultHooks() {
				return this.importHooks(hooks_exports);
			}
		}]);
	}($e.modules.ComponentBase);

//#endregion
//#region modules/floating-buttons/assets/js/floating-buttons/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$34(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$34() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$34, "_callSuper");
	function _isNativeReflectConstruct$34() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$34 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$34, "_isNativeReflectConstruct");
	var FloatingButtonsLibraryModule = /*#__PURE__*/ function(_elementorModules$edi) {
		function FloatingButtonsLibraryModule() {
			_classCallCheck(this, FloatingButtonsLibraryModule);
			return _callSuper$34(this, FloatingButtonsLibraryModule, arguments);
		}
		_inherits(FloatingButtonsLibraryModule, _elementorModules$edi);
		return _createClass(FloatingButtonsLibraryModule, [
			{
				key: "onElementorLoaded",
				value: function onElementorLoaded() {
					this.component = $e.components.register(new LinksPageComponent({ manager: this }));
					elementor.channels.editor.on("section:activated", this.hideAdvancedTab.bind(this));
				}
			},
			{
				key: "hideAdvancedTab",
				value: function hideAdvancedTab(sectionName, editor) {
					var _editor$model;
					if (!((editor === null || editor === void 0 || (_editor$model = editor.model) === null || _editor$model === void 0 ? void 0 : _editor$model.get("widgetType")) || "").startsWith("contact-buttons")) return;
					var advancedTab = (editor === null || editor === void 0 ? void 0 : editor.el.querySelector(".elementor-tab-control-advanced")) || false;
					if (advancedTab) advancedTab.style.display = "none";
				}
			},
			{
				key: "onElementorInit",
				value: function onElementorInit() {
					var _this = this;
					elementor.hooks.addFilter("elements/base/behaviors", function(behaviors) {
						if (_this.isFloatingButtonDocument()) {
							var groups = behaviors.contextMenu.groups;
							behaviors.contextMenu.groups = groups.map(_this.filterOutUnsupportedActions()).filter(function(group) {
								return group.actions.length;
							});
						}
						return behaviors;
					}, 1e3);
					elementor.hooks.addFilter("component/modal/close", function(close, component) {
						if ("library" === component.getNamespace() && "library/templates/floating-buttons" === component.defaultRoute) return function() {};
						return close;
					}, 1e3);
					elementor.hooks.addFilter("elementor/editor/template-library/template/promotion-link-search-params", function(queryString, templateData) {
						if ("floating_button" === templateData.type) try {
							var searchParams = new URLSearchParams(queryString);
							if (searchParams.has("utm_source")) searchParams.set("utm_source", "template-library-floating-buttons");
							return searchParams.toString();
						} catch (e) {
							return queryString;
						}
						return queryString;
					}, 1e3);
				}
			},
			{
				key: "filterOutUnsupportedActions",
				value: function filterOutUnsupportedActions() {
					return function(group) {
						var enabledCommands = elementor.helpers.hasPro() ? [
							"edit",
							"delete",
							"resetStyle"
						] : [
							"edit",
							"delete",
							"resetStyle",
							"save"
						];
						return {
							name: group.name,
							actions: group.actions.filter(function(action) {
								return enabledCommands.includes(action.name);
							})
						};
					};
				}
			},
			{
				key: "isFloatingButtonDocument",
				value: function isFloatingButtonDocument() {
					return "floating-buttons" === elementor.config.document.type;
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region modules/floating-buttons/assets/js/floating-bars/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$33(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$33() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$33, "_callSuper");
	function _isNativeReflectConstruct$33() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$33 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$33, "_isNativeReflectConstruct");
	var FloatingBarsLibraryModule = /*#__PURE__*/ function(_elementorModules$edi) {
		function FloatingBarsLibraryModule() {
			_classCallCheck(this, FloatingBarsLibraryModule);
			return _callSuper$33(this, FloatingBarsLibraryModule, arguments);
		}
		_inherits(FloatingBarsLibraryModule, _elementorModules$edi);
		return _createClass(FloatingBarsLibraryModule, [
			{
				key: "onElementorLoaded",
				value: function onElementorLoaded() {
					elementor.channels.editor.on("section:activated", this.hideAdvancedTab.bind(this));
				}
			},
			{
				key: "hideAdvancedTab",
				value: function hideAdvancedTab(sectionName, editor) {
					var _editor$model;
					if (!((editor === null || editor === void 0 || (_editor$model = editor.model) === null || _editor$model === void 0 ? void 0 : _editor$model.get("widgetType")) || "").startsWith("floating-bars")) return;
					var advancedTab = (editor === null || editor === void 0 ? void 0 : editor.el.querySelector(".elementor-tab-control-advanced")) || false;
					if (advancedTab) advancedTab.style.display = "none";
				}
			},
			{
				key: "onElementorInit",
				value: function onElementorInit() {
					if ("floating-bars" === new URLSearchParams(window.location.search).get("floating_element")) elementor.hooks.addFilter("elementor/editor/template-library/template/classes", function(classes) {
						return classes.replace("elementor-template-library-template-floating_button", "elementor-template-library-template-floating_bar");
					}, 10, 1);
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region modules/link-in-bio/assets/js/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$32(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$32() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$32, "_callSuper");
	function _isNativeReflectConstruct$32() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$32 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$32, "_isNativeReflectConstruct");
	var LinkInBioLibraryModule = /*#__PURE__*/ function(_elementorModules$edi) {
		function LinkInBioLibraryModule() {
			_classCallCheck(this, LinkInBioLibraryModule);
			return _callSuper$32(this, LinkInBioLibraryModule, arguments);
		}
		_inherits(LinkInBioLibraryModule, _elementorModules$edi);
		return _createClass(LinkInBioLibraryModule, [{
			key: "onElementorInit",
			value: function onElementorInit() {
				elementor.hooks.addFilter("elementor/editor/template-library/template/promotion-link-search-params", function(queryString, templateData) {
					if ("Link in Bio" === templateData.subtype) try {
						var searchParams = new URLSearchParams(queryString);
						if (searchParams.has("utm_source")) searchParams.set("utm_source", "template-library-link-in-bio");
						return searchParams.toString();
					} catch (e) {
						return queryString;
					}
					return queryString;
				}, 1e3);
			}
		}]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region modules/cloud-library/assets/js/editor/component.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$31(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$31() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$31, "_callSuper");
	function _isNativeReflectConstruct$31() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$31 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$31, "_isNativeReflectConstruct");
	var Component$5 = /*#__PURE__*/ function(_$e$modules$Component) {
		function Component() {
			var _this;
			_classCallCheck(this, Component);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$31(this, Component, [].concat(args));
			_defineProperty(_this, "promise", null);
			_defineProperty(_this, "request", null);
			_defineProperty(_this, "maybeSendQuotaCapacityEvent", function(data) {
				var value = data ? Math.round(data.currentUsage / data.threshold * 100) : 0;
				var quotaUsageAlert = null;
				if (value < 80) return;
				else if (80 <= value < 100) quotaUsageAlert = "80%";
				else quotaUsageAlert = "100%";
				elementor.templates.eventManager.sendQuotaBarCapacityEvent({ quota_usage_alert: quotaUsageAlert });
			});
			return _this;
		}
		_inherits(Component, _$e$modules$Component);
		return _createClass(Component, [
			{
				key: "getNamespace",
				value: function getNamespace() {
					return "cloud-library";
				}
			},
			{
				key: "cancelPendingRequest",
				value: function cancelPendingRequest() {
					if (this.request) elementorCommon.ajax.cancelRequest("get_templates_quota");
					this.promise = null;
					this.request = null;
				}
			},
			{
				key: "getQuotaConfig",
				value: function getQuotaConfig() {
					var force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
					if (force) {
						this.cancelPendingRequest();
						return this.setQuotaConfig();
					}
					if (this.promise && !force) return this.promise;
					return Promise.resolve(elementorAppConfig["cloud-library"].quota);
				}
			},
			{
				key: "setQuotaConfig",
				value: function setQuotaConfig() {
					var _this2 = this;
					if (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false) this.cancelPendingRequest();
					this.promise = new Promise(function(resolve, reject) {
						_this2.request = elementorCommon.ajax.addRequest("get_templates_quota", {
							data: { source: "cloud" },
							success: function success(data) {
								elementorAppConfig["cloud-library"].quota = data;
								_this2.maybeSendQuotaCapacityEvent(data);
								resolve(data);
								_this2.promise = null;
								_this2.request = null;
								elementor.channels.templates.trigger("quota:updated", data);
							},
							error: function error(_error) {
								if ((_error === null || _error === void 0 ? void 0 : _error.statusText) !== "abort") delete elementorAppConfig["cloud-library"].quota;
								reject(_error);
								_this2.request = null;
								_this2.promise = null;
							}
						});
					});
					return this.promise;
				}
			},
			{
				key: "defaultUtils",
				value: function defaultUtils() {
					return {
						setQuotaConfig: this.setQuotaConfig.bind(this),
						getQuotaConfig: this.getQuotaConfig.bind(this)
					};
				}
			}
		]);
	}($e.modules.ComponentBase);

//#endregion
//#region modules/cloud-library/assets/js/editor/module.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	function _callSuper$30(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$30() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$30, "_callSuper");
	function _isNativeReflectConstruct$30() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$30 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$30, "_isNativeReflectConstruct");
	var TemplatesModule = /*#__PURE__*/ function(_elementorModules$edi) {
		function TemplatesModule() {
			_classCallCheck(this, TemplatesModule);
			return _callSuper$30(this, TemplatesModule, arguments);
		}
		_inherits(TemplatesModule, _elementorModules$edi);
		return _createClass(TemplatesModule, [{
			key: "onElementorInit",
			value: function onElementorInit() {
				$e.components.register(new Component$5({ manager: this }));
				this.registerTemplateTypes();
			}
		}, {
			key: "registerTemplateTypes",
			value: function registerTemplateTypes() {
				elementor.templates.getDefaultTemplateTypeData().then(function(templateTypesData) {
					var _elementor;
					jQuery.each((_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 || (_elementor = _elementor.library) === null || _elementor === void 0 ? void 0 : _elementor.doc_types, function(type, title) {
						elementor.templates.getDefaultTemplateTypeSafeData(title).then(function(defaultData) {
							var safeData = jQuery.extend(true, {}, templateTypesData, defaultData);
							elementor.templates.registerTemplateType(type, safeData);
						});
					});
				});
			}
		}]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region assets/dev/js/editor/hints/ally.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	function _callSuper$29(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$29() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$29, "_callSuper");
	function _isNativeReflectConstruct$29() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$29 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$29, "_isNativeReflectConstruct");
	var Ally = /*#__PURE__*/ function(_elementorModules$edi) {
		function Ally() {
			var _this;
			_classCallCheck(this, Ally);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$29(this, Ally, [].concat(args));
			_defineProperty(_this, "eventName", "ally_heading_notice");
			_defineProperty(_this, "suffix", "");
			_defineProperty(_this, "control", null);
			return _this;
		}
		_inherits(Ally, _elementorModules$edi);
		return _createClass(Ally, [
			{
				key: "onSectionActive",
				value: function onSectionActive(sectionName) {
					if (!["section_title"].includes(sectionName)) return;
					this.control = null;
					if (!this.hasPromoControl()) return;
					if (elementor.config.user.dismissed_editor_notices.includes("ally_heading_notice")) {
						this.getPromoControl().remove();
						return;
					}
					this.registerEvents();
				}
			},
			{
				key: "registerEvents",
				value: function registerEvents() {
					var _this2 = this;
					var dismissBtn = this.getPromoControl().$el.find(".elementor-control-notice-dismiss");
					var _onDismissBtnClick = function onDismissBtnClick(event) {
						dismissBtn.off("click", _onDismissBtnClick);
						event.preventDefault();
						_this2.dismiss();
						_this2.getPromoControl().remove();
					};
					dismissBtn.on("click", _onDismissBtnClick);
					var actionBtn = this.getPromoControl().$el.find(".e-btn-1");
					var _onActionBtn = function onActionBtn(event) {
						actionBtn.off("click", _onActionBtn);
						event.preventDefault();
						_this2.onAction(event);
						_this2.getPromoControl().remove();
					};
					actionBtn.on("click", _onActionBtn);
				}
			},
			{
				key: "getPromoControl",
				value: function getPromoControl() {
					if (!this.control) this.control = this.getEditorControlView("ally_heading_notice");
					return this.control;
				}
			},
			{
				key: "hasPromoControl",
				value: function hasPromoControl() {
					return !!this.getPromoControl();
				}
			},
			{
				key: "ajaxRequest",
				value: function ajaxRequest(name, data) {
					elementorCommon.ajax.addRequest(name, { data });
				}
			},
			{
				key: "dismiss",
				value: function dismiss() {
					this.ajaxRequest("dismissed_editor_notices", { dismissId: this.eventName });
					this.ensureNoPromoControlInSession();
				}
			},
			{
				key: "ensureNoPromoControlInSession",
				value: function ensureNoPromoControlInSession() {
					elementor.config.user.dismissed_editor_notices.push(this.eventName);
				}
			},
			{
				key: "onAction",
				value: function onAction(event) {
					var _JSON$parse$action_ur = JSON.parse(event.target.closest("button").dataset.settings).action_url;
					var actionURL = _JSON$parse$action_ur === void 0 ? null : _JSON$parse$action_ur;
					if (actionURL) window.open(actionURL, "_blank");
					this.ensureNoPromoControlInSession();
				}
			},
			{
				key: "onElementorLoaded",
				value: function onElementorLoaded() {
					elementor.channels.editor.on("section:activated", this.onSectionActive.bind(this));
				}
			}
		]);
	}(elementorModules.editor.utils.Module);

//#endregion
//#region assets/dev/js/editor/utils/font-variables.js
	init_slicedToArray();
	init_classCallCheck();
	init_createClass();
	var FontVariables = /*#__PURE__*/ function() {
		function FontVariables() {
			_classCallCheck(this, FontVariables);
			this.init();
		}
		return _createClass(FontVariables, [
			{
				key: "init",
				value: function init() {
					var _this = this;
					$e.routes.on("run:after", function(component, route, args) {
						if ("panel/editor" !== component.getNamespace()) return;
						_this.onTypographyControlOpen(args);
					});
					$e.commands.on("run:after", function(_component, command, args) {
						if ("document/elements/settings" !== command) return;
						_this.onControlChanged(args);
					});
				}
			},
			{
				key: "onTypographyControlOpen",
				value: function onTypographyControlOpen(args) {
					var _this2 = this;
					if (!(args !== null && args !== void 0 && args.activeControl)) return;
					var currentPageView = elementor.getPanelView().getCurrentPageView();
					var mainTypographyControl = currentPageView.collection.find(function(model) {
						return args.activeControl === model.get("name") && "typography" === model.get("groupType");
					});
					if (!mainTypographyControl) return;
					var currentGroupPrefix = mainTypographyControl.get("groupPrefix");
					var allTypographyControls = currentPageView.collection.filter(function(model) {
						return currentGroupPrefix === model.get("groupPrefix");
					});
					var fontControlModel = allTypographyControls.find(function(model) {
						return currentGroupPrefix === model.get("groupPrefix") && "font" === model.get("type");
					});
					var settingName = fontControlModel.get("name");
					var controlValue = elementor.getCurrentElement().model.get("settings").get(settingName);
					if (!controlValue) return;
					var fontOptions = this.getFontOptions(controlValue);
					if (!fontOptions) return;
					var _loop = function _loop() {
						var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2);
						var fieldKey = _Object$entries$_i[0];
						var fieldData = _Object$entries$_i[1];
						var controlKey = fontControlModel.get("groupPrefix") + fieldKey;
						if (!allTypographyControls.find(function(model) {
							return controlKey === model.get("name");
						})) return 1;
						_this2.applyFontVariableRange([], controlKey, fieldData);
					};
					for (var _i = 0, _Object$entries = Object.entries(fontOptions); _i < _Object$entries.length; _i++) if (_loop()) continue;
				}
			},
			{
				key: "getCurrentControlData",
				value: function getCurrentControlData(args) {
					var _args$container;
					if (!(args !== null && args !== void 0 && (_args$container = args.container) !== null && _args$container !== void 0 && _args$container.controls)) return null;
					var currentSettingKey = this.getCurrentSettingKey(args);
					return args.container.controls[currentSettingKey];
				}
			},
			{
				key: "getCurrentSettingKey",
				value: function getCurrentSettingKey(args) {
					return Object.keys(args.settings)[0];
				}
			},
			{
				key: "getControlValue",
				value: function getControlValue(args) {
					var currentSettingKey = this.getCurrentSettingKey(args);
					return args.settings[currentSettingKey];
				}
			},
			{
				key: "applyFontVariableRange",
				value: function applyFontVariableRange(controls, controlKey, fieldData) {
					var _this3 = this;
					var controlView = $e.components.get("panel").getControlViewByPath(elementor.getPanelView().getCurrentPageView(), controlKey);
					var range = controlView.model.get("range");
					range.px.min = fieldData.min;
					range.px.max = fieldData.max;
					controlView.model.set("range", range);
					controlView.render();
					var inheritors = controlView.model.get("inheritors");
					if (!inheritors) return;
					inheritors.forEach(function(inheritorControlKey) {
						_this3.applyFontVariableRange(controls, inheritorControlKey, fieldData);
					});
				}
			},
			{
				key: "onControlChanged",
				value: function onControlChanged(args) {
					var controlData = this.getCurrentControlData(args);
					if ("font" !== (controlData === null || controlData === void 0 ? void 0 : controlData.type)) return;
					var controls = args.container.controls;
					var fontOptions = this.getFontOptions(this.getControlValue(args));
					if (!fontOptions) return;
					for (var _i2 = 0, _Object$entries2 = Object.entries(fontOptions); _i2 < _Object$entries2.length; _i2++) {
						var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2);
						var fieldKey = _Object$entries2$_i[0];
						var fieldData = _Object$entries2$_i[1];
						var controlKey = controlData.groupPrefix + fieldKey;
						if (!controls[controlKey]) continue;
						this.applyFontVariableRange(controls, controlKey, fieldData);
					}
				}
			},
			{
				key: "getFontOptions",
				value: function getFontOptions(fontFamily) {
					var _elementor$config;
					if (!((_elementor$config = elementor.config) !== null && _elementor$config !== void 0 && _elementor$config.fontVariableRanges)) return null;
					return elementor.config.fontVariableRanges[fontFamily];
				}
			}
		]);
	}();

//#endregion
//#region assets/dev/js/editor/document/helper-bc.js
	var BackwardsCompatibility;
	var init_helper_bc = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		BackwardsCompatibility = /*#__PURE__*/ function() {
			function BackwardsCompatibility() {
				_classCallCheck(this, BackwardsCompatibility);
			}
			return _createClass(BackwardsCompatibility, null, [
				{
					key: "findViewRecursive",
					value: function findViewRecursive(parent, key, value) {
						var multiple = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : true;
						elementorDevTools.deprecation.deprecated("findViewRecursive()", "2.9.0", "$e.components.get( 'document' ).utils.findViewRecursive( parent, key, value, multiple )");
						return $e.components.get("document").utils.findViewRecursive(parent, key, value, multiple);
					}
				},
				{
					key: "findViewById",
					value: function findViewById(id) {
						elementorDevTools.deprecation.deprecated("findViewById( id )", "2.9.0", "$e.components.get( 'document' ).utils.findViewById( id )");
						return $e.components.get("document").utils.findViewById(id);
					}
				},
				{
					key: "findContainerById",
					value: function findContainerById(id) {
						elementorDevTools.deprecation.deprecated("findContainerById( id )", "2.9.0", "$e.components.get( 'document' ).utils.findContainerById( id )");
						return $e.components.get("document").utils.findContainerById(id);
					}
				},
				{
					key: "isValidChild",
					value: function isValidChild(childModel, parentModel) {
						elementorDevTools.deprecation.deprecated("isValidChild( childModel, parentModel )", "3.4.0", "parentModel.isValidChild( childModel )");
						return parentModel.isValidChild(childModel);
					}
				},
				{
					key: "isValidGrandChild",
					value: function isValidGrandChild(childModel, targetContainer) {
						elementorDevTools.deprecation.deprecated("isValidGrandChild( childModel, targetContainer )", "3.4.0", "$e.components.get( 'document/elements' ).utils.isValidGrandChild( childModel, targetContainer )");
						return $e.components.get("document/elements").utils.isValidGrandChild(childModel, targetContainer);
					}
				},
				{
					key: "isSameElement",
					value: function isSameElement(sourceModel, targetContainer) {
						elementorDevTools.deprecation.deprecated("isSameElement( sourceModel, targetContainer )", "3.4.0", "$e.components.get( 'document/elements' ).utils.isSameElement( sourceModel, targetContainer )");
						return $e.components.get("document/elements").utils.isSameElement(sourceModel, targetContainer);
					}
				},
				{
					key: "getPasteOptions",
					value: function getPasteOptions(sourceModel, targetContainer) {
						elementorDevTools.deprecation.deprecated("getPasteOptions( sourceModel, targetContainer )", "3.4.0", "$e.components.get( 'document/elements' ).utils.getPasteOptions( sourceModel, targetContainer )");
						return $e.components.get("document/elements").utils.getPasteOptions(sourceModel, targetContainer);
					}
				},
				{
					key: "isPasteEnabled",
					value: function isPasteEnabled(targetContainer) {
						elementorDevTools.deprecation.deprecated("isPasteEnabled( targetContainer )", "3.4.0", "$e.components.get( 'document/elements' ).utils.isPasteEnabled( targetContainer )");
						return $e.components.get("document/elements").utils.isPasteEnabled(targetContainer);
					}
				}
			]);
		}();
	}));

//#endregion
//#region node_modules/dompurify/dist/purify.es.mjs
/*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
	/**
	* Creates a new function that calls the given function with a specified thisArg and arguments.
	*
	* @param func - The function to be wrapped and called.
	* @returns A new function that calls the given function with a specified thisArg and arguments.
	*/
	function unapply(func) {
		return function(thisArg) {
			if (thisArg instanceof RegExp) thisArg.lastIndex = 0;
			for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) args[_key3 - 1] = arguments[_key3];
			return apply(func, thisArg, args);
		};
	}
	/**
	* Creates a new function that constructs an instance of the given constructor function with the provided arguments.
	*
	* @param func - The constructor function to be wrapped and called.
	* @returns A new function that constructs an instance of the given constructor function with the provided arguments.
	*/
	function unconstruct(Func) {
		return function() {
			for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) args[_key4] = arguments[_key4];
			return construct(Func, args);
		};
	}
	/**
	* Add properties to a lookup table
	*
	* @param set - The set to which elements will be added.
	* @param array - The array containing elements to be added to the set.
	* @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.
	* @returns The modified set with added elements.
	*/
	function addToSet(set, array) {
		let transformCaseFunc = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : stringToLowerCase;
		if (setPrototypeOf) setPrototypeOf(set, null);
		let l = array.length;
		while (l--) {
			let element = array[l];
			if (typeof element === "string") {
				const lcElement = transformCaseFunc(element);
				if (lcElement !== element) {
					if (!isFrozen(array)) array[l] = lcElement;
					element = lcElement;
				}
			}
			set[element] = true;
		}
		return set;
	}
	/**
	* Clean up an array to harden against CSPP
	*
	* @param array - The array to be cleaned.
	* @returns The cleaned version of the array
	*/
	function cleanArray(array) {
		for (let index = 0; index < array.length; index++) if (!objectHasOwnProperty(array, index)) array[index] = null;
		return array;
	}
	/**
	* Shallow clone an object
	*
	* @param object - The object to be cloned.
	* @returns A new object that copies the original.
	*/
	function clone(object) {
		const newObject = create(null);
		for (const [property, value] of entries(object)) if (objectHasOwnProperty(object, property)) if (Array.isArray(value)) newObject[property] = cleanArray(value);
		else if (value && typeof value === "object" && value.constructor === Object) newObject[property] = clone(value);
		else newObject[property] = value;
		return newObject;
	}
	/**
	* This method automatically checks if the prop is function or getter and behaves accordingly.
	*
	* @param object - The object to look up the getter function in its prototype chain.
	* @param prop - The property name for which to find the getter function.
	* @returns The getter function found in the prototype chain or a fallback function.
	*/
	function lookupGetter(object, prop) {
		while (object !== null) {
			const desc = getOwnPropertyDescriptor(object, prop);
			if (desc) {
				if (desc.get) return unapply(desc.get);
				if (typeof desc.value === "function") return unapply(desc.value);
			}
			object = getPrototypeOf(object);
		}
		function fallbackValue() {
			return null;
		}
		return fallbackValue;
	}
	function createDOMPurify() {
		let window = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
		const DOMPurify = (root) => createDOMPurify(root);
		DOMPurify.version = "3.3.0";
		DOMPurify.removed = [];
		if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
			DOMPurify.isSupported = false;
			return DOMPurify;
		}
		let { document } = window;
		const originalDocument = document;
		const currentScript = originalDocument.currentScript;
		const { DocumentFragment, HTMLTemplateElement, Node, Element, NodeFilter, NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap, HTMLFormElement, DOMParser, trustedTypes } = window;
		const ElementPrototype = Element.prototype;
		const cloneNode = lookupGetter(ElementPrototype, "cloneNode");
		const remove = lookupGetter(ElementPrototype, "remove");
		const getNextSibling = lookupGetter(ElementPrototype, "nextSibling");
		const getChildNodes = lookupGetter(ElementPrototype, "childNodes");
		const getParentNode = lookupGetter(ElementPrototype, "parentNode");
		if (typeof HTMLTemplateElement === "function") {
			const template = document.createElement("template");
			if (template.content && template.content.ownerDocument) document = template.content.ownerDocument;
		}
		let trustedTypesPolicy;
		let emptyHTML = "";
		const { implementation, createNodeIterator, createDocumentFragment, getElementsByTagName } = document;
		const { importNode } = originalDocument;
		let hooks = _createHooksMap();
		/**
		* Expose whether this browser supports running the full DOMPurify.
		*/
		DOMPurify.isSupported = typeof entries === "function" && typeof getParentNode === "function" && implementation && implementation.createHTMLDocument !== void 0;
		const { MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR, DATA_ATTR, ARIA_ATTR, IS_SCRIPT_OR_DATA, ATTR_WHITESPACE, CUSTOM_ELEMENT } = EXPRESSIONS;
		let { IS_ALLOWED_URI: IS_ALLOWED_URI$1 } = EXPRESSIONS;
		/**
		* We consider the elements and attributes below to be safe. Ideally
		* don't add any new ones but feel free to remove unwanted ones.
		*/
		let ALLOWED_TAGS = null;
		const DEFAULT_ALLOWED_TAGS = addToSet({}, [
			...html$1,
			...svg$1,
			...svgFilters,
			...mathMl$1,
			...text
		]);
		let ALLOWED_ATTR = null;
		const DEFAULT_ALLOWED_ATTR = addToSet({}, [
			...html,
			...svg,
			...mathMl,
			...xml
		]);
		let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {
			tagNameCheck: {
				writable: true,
				configurable: false,
				enumerable: true,
				value: null
			},
			attributeNameCheck: {
				writable: true,
				configurable: false,
				enumerable: true,
				value: null
			},
			allowCustomizedBuiltInElements: {
				writable: true,
				configurable: false,
				enumerable: true,
				value: false
			}
		}));
		let FORBID_TAGS = null;
		let FORBID_ATTR = null;
		const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
			tagCheck: {
				writable: true,
				configurable: false,
				enumerable: true,
				value: null
			},
			attributeCheck: {
				writable: true,
				configurable: false,
				enumerable: true,
				value: null
			}
		}));
		let ALLOW_ARIA_ATTR = true;
		let ALLOW_DATA_ATTR = true;
		let ALLOW_UNKNOWN_PROTOCOLS = false;
		let ALLOW_SELF_CLOSE_IN_ATTR = true;
		let SAFE_FOR_TEMPLATES = false;
		let SAFE_FOR_XML = true;
		let WHOLE_DOCUMENT = false;
		let SET_CONFIG = false;
		let FORCE_BODY = false;
		let RETURN_DOM = false;
		let RETURN_DOM_FRAGMENT = false;
		let RETURN_TRUSTED_TYPE = false;
		let SANITIZE_DOM = true;
		let SANITIZE_NAMED_PROPS = false;
		const SANITIZE_NAMED_PROPS_PREFIX = "user-content-";
		let KEEP_CONTENT = true;
		let IN_PLACE = false;
		let USE_PROFILES = {};
		let FORBID_CONTENTS = null;
		const DEFAULT_FORBID_CONTENTS = addToSet({}, [
			"annotation-xml",
			"audio",
			"colgroup",
			"desc",
			"foreignobject",
			"head",
			"iframe",
			"math",
			"mi",
			"mn",
			"mo",
			"ms",
			"mtext",
			"noembed",
			"noframes",
			"noscript",
			"plaintext",
			"script",
			"style",
			"svg",
			"template",
			"thead",
			"title",
			"video",
			"xmp"
		]);
		let DATA_URI_TAGS = null;
		const DEFAULT_DATA_URI_TAGS = addToSet({}, [
			"audio",
			"video",
			"img",
			"source",
			"image",
			"track"
		]);
		let URI_SAFE_ATTRIBUTES = null;
		const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [
			"alt",
			"class",
			"for",
			"id",
			"label",
			"name",
			"pattern",
			"placeholder",
			"role",
			"summary",
			"title",
			"value",
			"style",
			"xmlns"
		]);
		const MATHML_NAMESPACE = "http://www.w3.org/1998/Math/MathML";
		const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
		const HTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
		let NAMESPACE = HTML_NAMESPACE;
		let IS_EMPTY_INPUT = false;
		let ALLOWED_NAMESPACES = null;
		const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [
			MATHML_NAMESPACE,
			SVG_NAMESPACE,
			HTML_NAMESPACE
		], stringToString);
		let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [
			"mi",
			"mo",
			"mn",
			"ms",
			"mtext"
		]);
		let HTML_INTEGRATION_POINTS = addToSet({}, ["annotation-xml"]);
		const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [
			"title",
			"style",
			"font",
			"a",
			"script"
		]);
		let PARSER_MEDIA_TYPE = null;
		const SUPPORTED_PARSER_MEDIA_TYPES = ["application/xhtml+xml", "text/html"];
		const DEFAULT_PARSER_MEDIA_TYPE = "text/html";
		let transformCaseFunc = null;
		let CONFIG = null;
		const formElement = document.createElement("form");
		const isRegexOrFunction = function isRegexOrFunction(testValue) {
			return testValue instanceof RegExp || testValue instanceof Function;
		};
		/**
		* _parseConfig
		*
		* @param cfg optional config literal
		*/
		const _parseConfig = function _parseConfig() {
			let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
			if (CONFIG && CONFIG === cfg) return;
			if (!cfg || typeof cfg !== "object") cfg = {};
			cfg = clone(cfg);
			PARSER_MEDIA_TYPE = SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;
			transformCaseFunc = PARSER_MEDIA_TYPE === "application/xhtml+xml" ? stringToString : stringToLowerCase;
			ALLOWED_TAGS = objectHasOwnProperty(cfg, "ALLOWED_TAGS") ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
			ALLOWED_ATTR = objectHasOwnProperty(cfg, "ALLOWED_ATTR") ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
			ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, "ALLOWED_NAMESPACES") ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;
			URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
			DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
			FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
			FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});
			FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});
			USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false;
			ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
			ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
			ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;
			ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;
			SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;
			SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false;
			WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;
			RETURN_DOM = cfg.RETURN_DOM || false;
			RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;
			RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;
			FORCE_BODY = cfg.FORCE_BODY || false;
			SANITIZE_DOM = cfg.SANITIZE_DOM !== false;
			SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;
			KEEP_CONTENT = cfg.KEEP_CONTENT !== false;
			IN_PLACE = cfg.IN_PLACE || false;
			IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;
			NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
			MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;
			HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;
			CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};
			if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
			if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;
			if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === "boolean") CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;
			if (SAFE_FOR_TEMPLATES) ALLOW_DATA_ATTR = false;
			if (RETURN_DOM_FRAGMENT) RETURN_DOM = true;
			if (USE_PROFILES) {
				ALLOWED_TAGS = addToSet({}, text);
				ALLOWED_ATTR = [];
				if (USE_PROFILES.html === true) {
					addToSet(ALLOWED_TAGS, html$1);
					addToSet(ALLOWED_ATTR, html);
				}
				if (USE_PROFILES.svg === true) {
					addToSet(ALLOWED_TAGS, svg$1);
					addToSet(ALLOWED_ATTR, svg);
					addToSet(ALLOWED_ATTR, xml);
				}
				if (USE_PROFILES.svgFilters === true) {
					addToSet(ALLOWED_TAGS, svgFilters);
					addToSet(ALLOWED_ATTR, svg);
					addToSet(ALLOWED_ATTR, xml);
				}
				if (USE_PROFILES.mathMl === true) {
					addToSet(ALLOWED_TAGS, mathMl$1);
					addToSet(ALLOWED_ATTR, mathMl);
					addToSet(ALLOWED_ATTR, xml);
				}
			}
			if (cfg.ADD_TAGS) if (typeof cfg.ADD_TAGS === "function") EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
			else {
				if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) ALLOWED_TAGS = clone(ALLOWED_TAGS);
				addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
			}
			if (cfg.ADD_ATTR) if (typeof cfg.ADD_ATTR === "function") EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
			else {
				if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) ALLOWED_ATTR = clone(ALLOWED_ATTR);
				addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
			}
			if (cfg.ADD_URI_SAFE_ATTR) addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
			if (cfg.FORBID_CONTENTS) {
				if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) FORBID_CONTENTS = clone(FORBID_CONTENTS);
				addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
			}
			if (KEEP_CONTENT) ALLOWED_TAGS["#text"] = true;
			if (WHOLE_DOCUMENT) addToSet(ALLOWED_TAGS, [
				"html",
				"head",
				"body"
			]);
			if (ALLOWED_TAGS.table) {
				addToSet(ALLOWED_TAGS, ["tbody"]);
				delete FORBID_TAGS.tbody;
			}
			if (cfg.TRUSTED_TYPES_POLICY) {
				if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
				if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
				trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
				emptyHTML = trustedTypesPolicy.createHTML("");
			} else {
				if (trustedTypesPolicy === void 0) trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);
				if (trustedTypesPolicy !== null && typeof emptyHTML === "string") emptyHTML = trustedTypesPolicy.createHTML("");
			}
			if (freeze) freeze(cfg);
			CONFIG = cfg;
		};
		const ALL_SVG_TAGS = addToSet({}, [
			...svg$1,
			...svgFilters,
			...svgDisallowed
		]);
		const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);
		/**
		* @param element a DOM element whose namespace is being checked
		* @returns Return false if the element has a
		*  namespace that a spec-compliant parser would never
		*  return. Return true otherwise.
		*/
		const _checkValidNamespace = function _checkValidNamespace(element) {
			let parent = getParentNode(element);
			if (!parent || !parent.tagName) parent = {
				namespaceURI: NAMESPACE,
				tagName: "template"
			};
			const tagName = stringToLowerCase(element.tagName);
			const parentTagName = stringToLowerCase(parent.tagName);
			if (!ALLOWED_NAMESPACES[element.namespaceURI]) return false;
			if (element.namespaceURI === SVG_NAMESPACE) {
				if (parent.namespaceURI === HTML_NAMESPACE) return tagName === "svg";
				if (parent.namespaceURI === MATHML_NAMESPACE) return tagName === "svg" && (parentTagName === "annotation-xml" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
				return Boolean(ALL_SVG_TAGS[tagName]);
			}
			if (element.namespaceURI === MATHML_NAMESPACE) {
				if (parent.namespaceURI === HTML_NAMESPACE) return tagName === "math";
				if (parent.namespaceURI === SVG_NAMESPACE) return tagName === "math" && HTML_INTEGRATION_POINTS[parentTagName];
				return Boolean(ALL_MATHML_TAGS[tagName]);
			}
			if (element.namespaceURI === HTML_NAMESPACE) {
				if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) return false;
				if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) return false;
				return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
			}
			if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && ALLOWED_NAMESPACES[element.namespaceURI]) return true;
			return false;
		};
		/**
		* _forceRemove
		*
		* @param node a DOM node
		*/
		const _forceRemove = function _forceRemove(node) {
			arrayPush(DOMPurify.removed, { element: node });
			try {
				getParentNode(node).removeChild(node);
			} catch (_) {
				remove(node);
			}
		};
		/**
		* _removeAttribute
		*
		* @param name an Attribute name
		* @param element a DOM node
		*/
		const _removeAttribute = function _removeAttribute(name, element) {
			try {
				arrayPush(DOMPurify.removed, {
					attribute: element.getAttributeNode(name),
					from: element
				});
			} catch (_) {
				arrayPush(DOMPurify.removed, {
					attribute: null,
					from: element
				});
			}
			element.removeAttribute(name);
			if (name === "is") if (RETURN_DOM || RETURN_DOM_FRAGMENT) try {
				_forceRemove(element);
			} catch (_) {}
			else try {
				element.setAttribute(name, "");
			} catch (_) {}
		};
		/**
		* _initDocument
		*
		* @param dirty - a string of dirty markup
		* @return a DOM, filled with the dirty markup
		*/
		const _initDocument = function _initDocument(dirty) {
			let doc = null;
			let leadingWhitespace = null;
			if (FORCE_BODY) dirty = "<remove></remove>" + dirty;
			else {
				const matches = stringMatch(dirty, /^[\r\n\t ]+/);
				leadingWhitespace = matches && matches[0];
			}
			if (PARSER_MEDIA_TYPE === "application/xhtml+xml" && NAMESPACE === HTML_NAMESPACE) dirty = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + dirty + "</body></html>";
			const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
			if (NAMESPACE === HTML_NAMESPACE) try {
				doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
			} catch (_) {}
			if (!doc || !doc.documentElement) {
				doc = implementation.createDocument(NAMESPACE, "template", null);
				try {
					doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;
				} catch (_) {}
			}
			const body = doc.body || doc.documentElement;
			if (dirty && leadingWhitespace) body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);
			if (NAMESPACE === HTML_NAMESPACE) return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? "html" : "body")[0];
			return WHOLE_DOCUMENT ? doc.documentElement : body;
		};
		/**
		* Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.
		*
		* @param root The root element or node to start traversing on.
		* @return The created NodeIterator
		*/
		const _createNodeIterator = function _createNodeIterator(root) {
			return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);
		};
		/**
		* _isClobbered
		*
		* @param element element to check for clobbering attacks
		* @return true if clobbered, false if safe
		*/
		const _isClobbered = function _isClobbered(element) {
			return element instanceof HTMLFormElement && (typeof element.nodeName !== "string" || typeof element.textContent !== "string" || typeof element.removeChild !== "function" || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== "function" || typeof element.setAttribute !== "function" || typeof element.namespaceURI !== "string" || typeof element.insertBefore !== "function" || typeof element.hasChildNodes !== "function");
		};
		/**
		* Checks whether the given object is a DOM node.
		*
		* @param value object to check whether it's a DOM node
		* @return true is object is a DOM node
		*/
		const _isNode = function _isNode(value) {
			return typeof Node === "function" && value instanceof Node;
		};
		function _executeHooks(hooks, currentNode, data) {
			arrayForEach(hooks, (hook) => {
				hook.call(DOMPurify, currentNode, data, CONFIG);
			});
		}
		/**
		* _sanitizeElements
		*
		* @protect nodeName
		* @protect textContent
		* @protect removeChild
		* @param currentNode to check for permission to exist
		* @return true if node was killed, false if left alive
		*/
		const _sanitizeElements = function _sanitizeElements(currentNode) {
			let content = null;
			_executeHooks(hooks.beforeSanitizeElements, currentNode, null);
			if (_isClobbered(currentNode)) {
				_forceRemove(currentNode);
				return true;
			}
			const tagName = transformCaseFunc(currentNode.nodeName);
			_executeHooks(hooks.uponSanitizeElement, currentNode, {
				tagName,
				allowedTags: ALLOWED_TAGS
			});
			if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
				_forceRemove(currentNode);
				return true;
			}
			if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
				_forceRemove(currentNode);
				return true;
			}
			if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, currentNode.data)) {
				_forceRemove(currentNode);
				return true;
			}
			if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
				if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
					if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;
					if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;
				}
				if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
					const parentNode = getParentNode(currentNode) || currentNode.parentNode;
					const childNodes = getChildNodes(currentNode) || currentNode.childNodes;
					if (childNodes && parentNode) {
						const childCount = childNodes.length;
						for (let i = childCount - 1; i >= 0; --i) {
							const childClone = cloneNode(childNodes[i], true);
							childClone.__removalCount = (currentNode.__removalCount || 0) + 1;
							parentNode.insertBefore(childClone, getNextSibling(currentNode));
						}
					}
				}
				_forceRemove(currentNode);
				return true;
			}
			if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {
				_forceRemove(currentNode);
				return true;
			}
			if ((tagName === "noscript" || tagName === "noembed" || tagName === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, currentNode.innerHTML)) {
				_forceRemove(currentNode);
				return true;
			}
			if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {
				content = currentNode.textContent;
				arrayForEach([
					MUSTACHE_EXPR,
					ERB_EXPR,
					TMPLIT_EXPR
				], (expr) => {
					content = stringReplace(content, expr, " ");
				});
				if (currentNode.textContent !== content) {
					arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });
					currentNode.textContent = content;
				}
			}
			_executeHooks(hooks.afterSanitizeElements, currentNode, null);
			return false;
		};
		/**
		* _isValidAttribute
		*
		* @param lcTag Lowercase tag name of containing element.
		* @param lcName Lowercase attribute name.
		* @param value Attribute value.
		* @return Returns true if `value` is valid, otherwise false.
		*/
		const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
			if (SANITIZE_DOM && (lcName === "id" || lcName === "name") && (value in document || value in formElement)) return false;
			if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName));
			else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName));
			else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag));
			else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) if (_isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) || lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value)));
			else return false;
			else if (URI_SAFE_ATTRIBUTES[lcName]);
			else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, "")));
			else if ((lcName === "src" || lcName === "xlink:href" || lcName === "href") && lcTag !== "script" && stringIndexOf(value, "data:") === 0 && DATA_URI_TAGS[lcTag]);
			else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, "")));
			else if (value) return false;
			return true;
		};
		/**
		* _isBasicCustomElement
		* checks if at least one dash is included in tagName, and it's not the first char
		* for more sophisticated checking see https://github.com/sindresorhus/validate-element-name
		*
		* @param tagName name of the tag of the node to sanitize
		* @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.
		*/
		const _isBasicCustomElement = function _isBasicCustomElement(tagName) {
			return tagName !== "annotation-xml" && stringMatch(tagName, CUSTOM_ELEMENT);
		};
		/**
		* _sanitizeAttributes
		*
		* @protect attributes
		* @protect nodeName
		* @protect removeAttribute
		* @protect setAttribute
		*
		* @param currentNode to sanitize
		*/
		const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
			_executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
			const { attributes } = currentNode;
			if (!attributes || _isClobbered(currentNode)) return;
			const hookEvent = {
				attrName: "",
				attrValue: "",
				keepAttr: true,
				allowedAttributes: ALLOWED_ATTR,
				forceKeepAttr: void 0
			};
			let l = attributes.length;
			while (l--) {
				const { name, namespaceURI, value: attrValue } = attributes[l];
				const lcName = transformCaseFunc(name);
				const initValue = attrValue;
				let value = name === "value" ? initValue : stringTrim(initValue);
				hookEvent.attrName = lcName;
				hookEvent.attrValue = value;
				hookEvent.keepAttr = true;
				hookEvent.forceKeepAttr = void 0;
				_executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);
				value = hookEvent.attrValue;
				if (SANITIZE_NAMED_PROPS && (lcName === "id" || lcName === "name")) {
					_removeAttribute(name, currentNode);
					value = SANITIZE_NAMED_PROPS_PREFIX + value;
				}
				if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
					_removeAttribute(name, currentNode);
					continue;
				}
				if (lcName === "attributename" && stringMatch(value, "href")) {
					_removeAttribute(name, currentNode);
					continue;
				}
				if (hookEvent.forceKeepAttr) continue;
				if (!hookEvent.keepAttr) {
					_removeAttribute(name, currentNode);
					continue;
				}
				if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
					_removeAttribute(name, currentNode);
					continue;
				}
				if (SAFE_FOR_TEMPLATES) arrayForEach([
					MUSTACHE_EXPR,
					ERB_EXPR,
					TMPLIT_EXPR
				], (expr) => {
					value = stringReplace(value, expr, " ");
				});
				const lcTag = transformCaseFunc(currentNode.nodeName);
				if (!_isValidAttribute(lcTag, lcName, value)) {
					_removeAttribute(name, currentNode);
					continue;
				}
				if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") if (namespaceURI);
				else switch (trustedTypes.getAttributeType(lcTag, lcName)) {
					case "TrustedHTML":
						value = trustedTypesPolicy.createHTML(value);
						break;
					case "TrustedScriptURL":
						value = trustedTypesPolicy.createScriptURL(value);
						break;
				}
				if (value !== initValue) try {
					if (namespaceURI) currentNode.setAttributeNS(namespaceURI, name, value);
					else currentNode.setAttribute(name, value);
					if (_isClobbered(currentNode)) _forceRemove(currentNode);
					else arrayPop(DOMPurify.removed);
				} catch (_) {
					_removeAttribute(name, currentNode);
				}
			}
			_executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
		};
		/**
		* _sanitizeShadowDOM
		*
		* @param fragment to iterate over recursively
		*/
		const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
			let shadowNode = null;
			const shadowIterator = _createNodeIterator(fragment);
			_executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);
			while (shadowNode = shadowIterator.nextNode()) {
				_executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);
				_sanitizeElements(shadowNode);
				_sanitizeAttributes(shadowNode);
				if (shadowNode.content instanceof DocumentFragment) _sanitizeShadowDOM(shadowNode.content);
			}
			_executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
		};
		DOMPurify.sanitize = function(dirty) {
			let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
			let body = null;
			let importedNode = null;
			let currentNode = null;
			let returnNode = null;
			IS_EMPTY_INPUT = !dirty;
			if (IS_EMPTY_INPUT) dirty = "<!-->";
			if (typeof dirty !== "string" && !_isNode(dirty)) if (typeof dirty.toString === "function") {
				dirty = dirty.toString();
				if (typeof dirty !== "string") throw typeErrorCreate("dirty is not a string, aborting");
			} else throw typeErrorCreate("toString is not a function");
			if (!DOMPurify.isSupported) return dirty;
			if (!SET_CONFIG) _parseConfig(cfg);
			DOMPurify.removed = [];
			if (typeof dirty === "string") IN_PLACE = false;
			if (IN_PLACE) {
				if (dirty.nodeName) {
					const tagName = transformCaseFunc(dirty.nodeName);
					if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
				}
			} else if (dirty instanceof Node) {
				body = _initDocument("<!---->");
				importedNode = body.ownerDocument.importNode(dirty, true);
				if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === "BODY") body = importedNode;
				else if (importedNode.nodeName === "HTML") body = importedNode;
				else body.appendChild(importedNode);
			} else {
				if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && dirty.indexOf("<") === -1) return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
				body = _initDocument(dirty);
				if (!body) return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : "";
			}
			if (body && FORCE_BODY) _forceRemove(body.firstChild);
			const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);
			while (currentNode = nodeIterator.nextNode()) {
				_sanitizeElements(currentNode);
				_sanitizeAttributes(currentNode);
				if (currentNode.content instanceof DocumentFragment) _sanitizeShadowDOM(currentNode.content);
			}
			if (IN_PLACE) return dirty;
			if (RETURN_DOM) {
				if (RETURN_DOM_FRAGMENT) {
					returnNode = createDocumentFragment.call(body.ownerDocument);
					while (body.firstChild) returnNode.appendChild(body.firstChild);
				} else returnNode = body;
				if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) returnNode = importNode.call(originalDocument, returnNode, true);
				return returnNode;
			}
			let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
			if (WHOLE_DOCUMENT && ALLOWED_TAGS["!doctype"] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) serializedHTML = "<!DOCTYPE " + body.ownerDocument.doctype.name + ">\n" + serializedHTML;
			if (SAFE_FOR_TEMPLATES) arrayForEach([
				MUSTACHE_EXPR,
				ERB_EXPR,
				TMPLIT_EXPR
			], (expr) => {
				serializedHTML = stringReplace(serializedHTML, expr, " ");
			});
			return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
		};
		DOMPurify.setConfig = function() {
			let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
			_parseConfig(cfg);
			SET_CONFIG = true;
		};
		DOMPurify.clearConfig = function() {
			CONFIG = null;
			SET_CONFIG = false;
		};
		DOMPurify.isValidAttribute = function(tag, attr, value) {
			if (!CONFIG) _parseConfig({});
			const lcTag = transformCaseFunc(tag);
			const lcName = transformCaseFunc(attr);
			return _isValidAttribute(lcTag, lcName, value);
		};
		DOMPurify.addHook = function(entryPoint, hookFunction) {
			if (typeof hookFunction !== "function") return;
			arrayPush(hooks[entryPoint], hookFunction);
		};
		DOMPurify.removeHook = function(entryPoint, hookFunction) {
			if (hookFunction !== void 0) {
				const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);
				return index === -1 ? void 0 : arraySplice(hooks[entryPoint], index, 1)[0];
			}
			return arrayPop(hooks[entryPoint]);
		};
		DOMPurify.removeHooks = function(entryPoint) {
			hooks[entryPoint] = [];
		};
		DOMPurify.removeAllHooks = function() {
			hooks = _createHooksMap();
		};
		return DOMPurify;
	}
	var entries, setPrototypeOf, isFrozen, getPrototypeOf, getOwnPropertyDescriptor, freeze, seal, create, apply, construct, arrayForEach, arrayLastIndexOf, arrayPop, arrayPush, arraySplice, stringToLowerCase, stringToString, stringMatch, stringReplace, stringIndexOf, stringTrim, objectHasOwnProperty, regExpTest, typeErrorCreate, html$1, svg$1, svgFilters, svgDisallowed, mathMl$1, mathMlDisallowed, text, html, svg, mathMl, xml, MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR, DATA_ATTR, ARIA_ATTR, IS_ALLOWED_URI, IS_SCRIPT_OR_DATA, ATTR_WHITESPACE, DOCTYPE_NAME, CUSTOM_ELEMENT, EXPRESSIONS, NODE_TYPE, getGlobal, _createTrustedTypesPolicy, _createHooksMap, purify;
	var init_purify_es = __esmMin((() => {
		({entries, setPrototypeOf, isFrozen, getPrototypeOf, getOwnPropertyDescriptor} = Object);
		({freeze, seal, create} = Object);
		({apply, construct} = typeof Reflect !== "undefined" && Reflect);
		if (!freeze) freeze = function freeze(x) {
			return x;
		};
		if (!seal) seal = function seal(x) {
			return x;
		};
		if (!apply) apply = function apply(func, thisArg) {
			for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) args[_key - 2] = arguments[_key];
			return func.apply(thisArg, args);
		};
		if (!construct) construct = function construct(Func) {
			for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) args[_key2 - 1] = arguments[_key2];
			return new Func(...args);
		};
		arrayForEach = unapply(Array.prototype.forEach);
		arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);
		arrayPop = unapply(Array.prototype.pop);
		arrayPush = unapply(Array.prototype.push);
		arraySplice = unapply(Array.prototype.splice);
		stringToLowerCase = unapply(String.prototype.toLowerCase);
		stringToString = unapply(String.prototype.toString);
		stringMatch = unapply(String.prototype.match);
		stringReplace = unapply(String.prototype.replace);
		stringIndexOf = unapply(String.prototype.indexOf);
		stringTrim = unapply(String.prototype.trim);
		objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);
		regExpTest = unapply(RegExp.prototype.test);
		typeErrorCreate = unconstruct(TypeError);
		html$1 = freeze([
			"a",
			"abbr",
			"acronym",
			"address",
			"area",
			"article",
			"aside",
			"audio",
			"b",
			"bdi",
			"bdo",
			"big",
			"blink",
			"blockquote",
			"body",
			"br",
			"button",
			"canvas",
			"caption",
			"center",
			"cite",
			"code",
			"col",
			"colgroup",
			"content",
			"data",
			"datalist",
			"dd",
			"decorator",
			"del",
			"details",
			"dfn",
			"dialog",
			"dir",
			"div",
			"dl",
			"dt",
			"element",
			"em",
			"fieldset",
			"figcaption",
			"figure",
			"font",
			"footer",
			"form",
			"h1",
			"h2",
			"h3",
			"h4",
			"h5",
			"h6",
			"head",
			"header",
			"hgroup",
			"hr",
			"html",
			"i",
			"img",
			"input",
			"ins",
			"kbd",
			"label",
			"legend",
			"li",
			"main",
			"map",
			"mark",
			"marquee",
			"menu",
			"menuitem",
			"meter",
			"nav",
			"nobr",
			"ol",
			"optgroup",
			"option",
			"output",
			"p",
			"picture",
			"pre",
			"progress",
			"q",
			"rp",
			"rt",
			"ruby",
			"s",
			"samp",
			"search",
			"section",
			"select",
			"shadow",
			"slot",
			"small",
			"source",
			"spacer",
			"span",
			"strike",
			"strong",
			"style",
			"sub",
			"summary",
			"sup",
			"table",
			"tbody",
			"td",
			"template",
			"textarea",
			"tfoot",
			"th",
			"thead",
			"time",
			"tr",
			"track",
			"tt",
			"u",
			"ul",
			"var",
			"video",
			"wbr"
		]);
		svg$1 = freeze([
			"svg",
			"a",
			"altglyph",
			"altglyphdef",
			"altglyphitem",
			"animatecolor",
			"animatemotion",
			"animatetransform",
			"circle",
			"clippath",
			"defs",
			"desc",
			"ellipse",
			"enterkeyhint",
			"exportparts",
			"filter",
			"font",
			"g",
			"glyph",
			"glyphref",
			"hkern",
			"image",
			"inputmode",
			"line",
			"lineargradient",
			"marker",
			"mask",
			"metadata",
			"mpath",
			"part",
			"path",
			"pattern",
			"polygon",
			"polyline",
			"radialgradient",
			"rect",
			"stop",
			"style",
			"switch",
			"symbol",
			"text",
			"textpath",
			"title",
			"tref",
			"tspan",
			"view",
			"vkern"
		]);
		svgFilters = freeze([
			"feBlend",
			"feColorMatrix",
			"feComponentTransfer",
			"feComposite",
			"feConvolveMatrix",
			"feDiffuseLighting",
			"feDisplacementMap",
			"feDistantLight",
			"feDropShadow",
			"feFlood",
			"feFuncA",
			"feFuncB",
			"feFuncG",
			"feFuncR",
			"feGaussianBlur",
			"feImage",
			"feMerge",
			"feMergeNode",
			"feMorphology",
			"feOffset",
			"fePointLight",
			"feSpecularLighting",
			"feSpotLight",
			"feTile",
			"feTurbulence"
		]);
		svgDisallowed = freeze([
			"animate",
			"color-profile",
			"cursor",
			"discard",
			"font-face",
			"font-face-format",
			"font-face-name",
			"font-face-src",
			"font-face-uri",
			"foreignobject",
			"hatch",
			"hatchpath",
			"mesh",
			"meshgradient",
			"meshpatch",
			"meshrow",
			"missing-glyph",
			"script",
			"set",
			"solidcolor",
			"unknown",
			"use"
		]);
		mathMl$1 = freeze([
			"math",
			"menclose",
			"merror",
			"mfenced",
			"mfrac",
			"mglyph",
			"mi",
			"mlabeledtr",
			"mmultiscripts",
			"mn",
			"mo",
			"mover",
			"mpadded",
			"mphantom",
			"mroot",
			"mrow",
			"ms",
			"mspace",
			"msqrt",
			"mstyle",
			"msub",
			"msup",
			"msubsup",
			"mtable",
			"mtd",
			"mtext",
			"mtr",
			"munder",
			"munderover",
			"mprescripts"
		]);
		mathMlDisallowed = freeze([
			"maction",
			"maligngroup",
			"malignmark",
			"mlongdiv",
			"mscarries",
			"mscarry",
			"msgroup",
			"mstack",
			"msline",
			"msrow",
			"semantics",
			"annotation",
			"annotation-xml",
			"mprescripts",
			"none"
		]);
		text = freeze(["#text"]);
		html = freeze([
			"accept",
			"action",
			"align",
			"alt",
			"autocapitalize",
			"autocomplete",
			"autopictureinpicture",
			"autoplay",
			"background",
			"bgcolor",
			"border",
			"capture",
			"cellpadding",
			"cellspacing",
			"checked",
			"cite",
			"class",
			"clear",
			"color",
			"cols",
			"colspan",
			"controls",
			"controlslist",
			"coords",
			"crossorigin",
			"datetime",
			"decoding",
			"default",
			"dir",
			"disabled",
			"disablepictureinpicture",
			"disableremoteplayback",
			"download",
			"draggable",
			"enctype",
			"enterkeyhint",
			"exportparts",
			"face",
			"for",
			"headers",
			"height",
			"hidden",
			"high",
			"href",
			"hreflang",
			"id",
			"inert",
			"inputmode",
			"integrity",
			"ismap",
			"kind",
			"label",
			"lang",
			"list",
			"loading",
			"loop",
			"low",
			"max",
			"maxlength",
			"media",
			"method",
			"min",
			"minlength",
			"multiple",
			"muted",
			"name",
			"nonce",
			"noshade",
			"novalidate",
			"nowrap",
			"open",
			"optimum",
			"part",
			"pattern",
			"placeholder",
			"playsinline",
			"popover",
			"popovertarget",
			"popovertargetaction",
			"poster",
			"preload",
			"pubdate",
			"radiogroup",
			"readonly",
			"rel",
			"required",
			"rev",
			"reversed",
			"role",
			"rows",
			"rowspan",
			"spellcheck",
			"scope",
			"selected",
			"shape",
			"size",
			"sizes",
			"slot",
			"span",
			"srclang",
			"start",
			"src",
			"srcset",
			"step",
			"style",
			"summary",
			"tabindex",
			"title",
			"translate",
			"type",
			"usemap",
			"valign",
			"value",
			"width",
			"wrap",
			"xmlns",
			"slot"
		]);
		svg = freeze([
			"accent-height",
			"accumulate",
			"additive",
			"alignment-baseline",
			"amplitude",
			"ascent",
			"attributename",
			"attributetype",
			"azimuth",
			"basefrequency",
			"baseline-shift",
			"begin",
			"bias",
			"by",
			"class",
			"clip",
			"clippathunits",
			"clip-path",
			"clip-rule",
			"color",
			"color-interpolation",
			"color-interpolation-filters",
			"color-profile",
			"color-rendering",
			"cx",
			"cy",
			"d",
			"dx",
			"dy",
			"diffuseconstant",
			"direction",
			"display",
			"divisor",
			"dur",
			"edgemode",
			"elevation",
			"end",
			"exponent",
			"fill",
			"fill-opacity",
			"fill-rule",
			"filter",
			"filterunits",
			"flood-color",
			"flood-opacity",
			"font-family",
			"font-size",
			"font-size-adjust",
			"font-stretch",
			"font-style",
			"font-variant",
			"font-weight",
			"fx",
			"fy",
			"g1",
			"g2",
			"glyph-name",
			"glyphref",
			"gradientunits",
			"gradienttransform",
			"height",
			"href",
			"id",
			"image-rendering",
			"in",
			"in2",
			"intercept",
			"k",
			"k1",
			"k2",
			"k3",
			"k4",
			"kerning",
			"keypoints",
			"keysplines",
			"keytimes",
			"lang",
			"lengthadjust",
			"letter-spacing",
			"kernelmatrix",
			"kernelunitlength",
			"lighting-color",
			"local",
			"marker-end",
			"marker-mid",
			"marker-start",
			"markerheight",
			"markerunits",
			"markerwidth",
			"maskcontentunits",
			"maskunits",
			"max",
			"mask",
			"mask-type",
			"media",
			"method",
			"mode",
			"min",
			"name",
			"numoctaves",
			"offset",
			"operator",
			"opacity",
			"order",
			"orient",
			"orientation",
			"origin",
			"overflow",
			"paint-order",
			"path",
			"pathlength",
			"patterncontentunits",
			"patterntransform",
			"patternunits",
			"points",
			"preservealpha",
			"preserveaspectratio",
			"primitiveunits",
			"r",
			"rx",
			"ry",
			"radius",
			"refx",
			"refy",
			"repeatcount",
			"repeatdur",
			"restart",
			"result",
			"rotate",
			"scale",
			"seed",
			"shape-rendering",
			"slope",
			"specularconstant",
			"specularexponent",
			"spreadmethod",
			"startoffset",
			"stddeviation",
			"stitchtiles",
			"stop-color",
			"stop-opacity",
			"stroke-dasharray",
			"stroke-dashoffset",
			"stroke-linecap",
			"stroke-linejoin",
			"stroke-miterlimit",
			"stroke-opacity",
			"stroke",
			"stroke-width",
			"style",
			"surfacescale",
			"systemlanguage",
			"tabindex",
			"tablevalues",
			"targetx",
			"targety",
			"transform",
			"transform-origin",
			"text-anchor",
			"text-decoration",
			"text-rendering",
			"textlength",
			"type",
			"u1",
			"u2",
			"unicode",
			"values",
			"viewbox",
			"visibility",
			"version",
			"vert-adv-y",
			"vert-origin-x",
			"vert-origin-y",
			"width",
			"word-spacing",
			"wrap",
			"writing-mode",
			"xchannelselector",
			"ychannelselector",
			"x",
			"x1",
			"x2",
			"xmlns",
			"y",
			"y1",
			"y2",
			"z",
			"zoomandpan"
		]);
		mathMl = freeze([
			"accent",
			"accentunder",
			"align",
			"bevelled",
			"close",
			"columnsalign",
			"columnlines",
			"columnspan",
			"denomalign",
			"depth",
			"dir",
			"display",
			"displaystyle",
			"encoding",
			"fence",
			"frame",
			"height",
			"href",
			"id",
			"largeop",
			"length",
			"linethickness",
			"lspace",
			"lquote",
			"mathbackground",
			"mathcolor",
			"mathsize",
			"mathvariant",
			"maxsize",
			"minsize",
			"movablelimits",
			"notation",
			"numalign",
			"open",
			"rowalign",
			"rowlines",
			"rowspacing",
			"rowspan",
			"rspace",
			"rquote",
			"scriptlevel",
			"scriptminsize",
			"scriptsizemultiplier",
			"selection",
			"separator",
			"separators",
			"stretchy",
			"subscriptshift",
			"supscriptshift",
			"symmetric",
			"voffset",
			"width",
			"xmlns"
		]);
		xml = freeze([
			"xlink:href",
			"xml:id",
			"xlink:title",
			"xml:space",
			"xmlns:xlink"
		]);
		MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm);
		ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
		TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm);
		DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
		ARIA_ATTR = seal(/^aria-[\-\w]+$/);
		IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);
		IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
		ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);
		DOCTYPE_NAME = seal(/^html$/i);
		CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
		EXPRESSIONS = /*#__PURE__*/ Object.freeze({
			__proto__: null,
			ARIA_ATTR,
			ATTR_WHITESPACE,
			CUSTOM_ELEMENT,
			DATA_ATTR,
			DOCTYPE_NAME,
			ERB_EXPR,
			IS_ALLOWED_URI,
			IS_SCRIPT_OR_DATA,
			MUSTACHE_EXPR,
			TMPLIT_EXPR
		});
		NODE_TYPE = {
			element: 1,
			attribute: 2,
			text: 3,
			cdataSection: 4,
			entityReference: 5,
			entityNode: 6,
			progressingInstruction: 7,
			comment: 8,
			document: 9,
			documentType: 10,
			documentFragment: 11,
			notation: 12
		};
		getGlobal = function getGlobal() {
			return typeof window === "undefined" ? null : window;
		};
		_createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {
			if (typeof trustedTypes !== "object" || typeof trustedTypes.createPolicy !== "function") return null;
			let suffix = null;
			const ATTR_NAME = "data-tt-policy-suffix";
			if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) suffix = purifyHostElement.getAttribute(ATTR_NAME);
			const policyName = "dompurify" + (suffix ? "#" + suffix : "");
			try {
				return trustedTypes.createPolicy(policyName, {
					createHTML(html) {
						return html;
					},
					createScriptURL(scriptUrl) {
						return scriptUrl;
					}
				});
			} catch (_) {
				console.warn("TrustedTypes policy " + policyName + " could not be created.");
				return null;
			}
		};
		_createHooksMap = function _createHooksMap() {
			return {
				afterSanitizeAttributes: [],
				afterSanitizeElements: [],
				afterSanitizeShadowDOM: [],
				beforeSanitizeAttributes: [],
				beforeSanitizeElements: [],
				beforeSanitizeShadowDOM: [],
				uponSanitizeAttribute: [],
				uponSanitizeElement: [],
				uponSanitizeShadowNode: []
			};
		};
		purify = createDOMPurify();
	}));

//#endregion
//#region assets/dev/js/editor/utils/helpers.js
	var require_helpers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_slicedToArray();
		init_color_picker();
		init_helper_bc();
		init_container_helper();
		init_purify_es();
		/**
		* PHP (`Utils::get_allowed_html_wrapper_tags()`) is the single source of truth for this
		* list; it's localized via `elementorCommon.config`. If it's ever missing, fail closed
		* (no tags allowed) rather than fall back to a second hardcoded copy that could drift.
		*/
		function getAllowedHTMLWrapperTags() {
			var _globalThis$elementor;
			var _globalThis$elementor2;
			var allowedHTMLWrapperTags = ((_globalThis$elementor = (_globalThis$elementor2 = globalThis.elementorCommon) === null || _globalThis$elementor2 === void 0 ? void 0 : _globalThis$elementor2.config) !== null && _globalThis$elementor !== void 0 ? _globalThis$elementor : {}).allowedHTMLWrapperTags;
			return Array.isArray(allowedHTMLWrapperTags) ? allowedHTMLWrapperTags : [];
		}
		module.exports = {
			container: ContainerHelper,
			document: BackwardsCompatibility,
			_enqueuedFonts: {
				editor: [],
				preview: []
			},
			_enqueuedIconFonts: [],
			_inlineSvg: [],
			elementsHierarchy: { document: { section: { column: {
				widget: null,
				section: null,
				container: {
					widget: null,
					container: null
				}
			} } } },
			/**
			* @param {string}                   url
			* @param {jQuery}                   $document
			* @param {{ crossOrigin: boolean }} options
			*/
			enqueueCSS: function enqueueCSS(url, $document) {
				var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
				var selector = "link[href=\"" + url + "\"]";
				var link = document.createElement("link");
				link.href = url;
				link.rel = "stylesheet";
				link.type = "text/css";
				if (options.crossOrigin) link.crossOrigin = "anonymous";
				if (!$document) return;
				if (!$document.find(selector).length) $document.find("link").last().after(link);
			},
			enqueuePreviewStylesheet: function enqueuePreviewStylesheet(url) {
				this.enqueueCSS(url, elementor.$previewContents);
			},
			enqueueEditorStylesheet: function enqueueEditorStylesheet(url) {
				this.enqueueCSS(url, elementorCommon.elements.$document);
			},
			/**
			* @param {string} url
			* @deprecated since 2.6.0, use `elementor.helpers.enqueuePreviewStylesheet()` instead.
			*/
			enqueueStylesheet: function enqueueStylesheet(url) {
				elementorDevTools.deprecation.deprecated("elementor.helpers.enqueueStylesheet()", "2.6.0", "elementor.helpers.enqueuePreviewStylesheet()");
				this.enqueuePreviewStylesheet(url);
			},
			fetchInlineSvg: function fetchInlineSvg(svgUrl) {
				var callback = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
				fetch(svgUrl).then(function(response) {
					return response.ok ? response.text() : "";
				}).then(function(data) {
					if (callback) callback(data);
				});
			},
			getInlineSvg: function getInlineSvg(value, view) {
				if (!value.id) return;
				if (Object.prototype.hasOwnProperty.call(this._inlineSvg, value.id)) return this._inlineSvg[value.id];
				var self = this;
				this.fetchInlineSvg(value.url, function(data) {
					if (data) {
						self._inlineSvg[value.id] = data;
						if (view) view.render();
						elementor.channels.editor.trigger("svg:insertion", data, value.id);
					}
				});
			},
			enqueueIconFonts: function enqueueIconFonts(iconType) {
				var _this = this;
				if (-1 !== this._enqueuedIconFonts.indexOf(iconType) || !!elementor.config.icons_update_needed) return;
				var iconSetting = this.getIconLibrarySettings(iconType);
				if (!iconSetting) return;
				if (iconSetting.enqueue) iconSetting.enqueue.forEach(function(assetURL) {
					var versionAddedURL = "".concat(assetURL).concat(iconSetting !== null && iconSetting !== void 0 && iconSetting.ver ? "?ver=" + iconSetting.ver : "");
					_this.enqueuePreviewStylesheet(versionAddedURL);
					_this.enqueueEditorStylesheet(versionAddedURL);
				});
				if (iconSetting.url) {
					var versionAddedURL = "".concat(iconSetting.url).concat(iconSetting !== null && iconSetting !== void 0 && iconSetting.ver ? "?ver=" + iconSetting.ver : "");
					this.enqueuePreviewStylesheet(versionAddedURL);
					this.enqueueEditorStylesheet(versionAddedURL);
				}
				this._enqueuedIconFonts.push(iconType);
				elementor.channels.editor.trigger("fontIcon:insertion", iconType, iconSetting);
			},
			getIconLibrarySettings: function getIconLibrarySettings(iconType) {
				var iconSetting = elementor.config.icons.libraries.filter(function(library) {
					return iconType === library.name;
				});
				if (iconSetting[0] && iconSetting[0].name) return iconSetting[0];
				return false;
			},
			/**
			*
			* @param {*}      view       - view to refresh if needed
			* @param {*}      icon       - icon control data
			* @param {*}      attributes - default {} - attributes to attach to rendered html tag
			* @param {string} tag        - default i - html tag to render
			* @param {*}      returnType - default value - return type
			* @return {string|undefined|*} result
			*/
			renderIcon: function renderIcon(view, icon) {
				var attributes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
				var tag = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "i";
				var returnType = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "value";
				if (!icon || !icon.library) {
					if ("object" === returnType) return { rendered: false };
					return;
				}
				var iconType = icon.library;
				var iconValue = icon.value;
				if ("svg" === iconType) {
					if ("panel" === returnType) return "<img src=\"" + iconValue.url + "\">";
					return {
						rendered: true,
						value: this.getInlineSvg(iconValue, view)
					};
				}
				var iconSettings = this.getIconLibrarySettings(iconType);
				if (iconSettings && !Object.prototype.hasOwnProperty.call(iconSettings, "isCustom")) {
					this.enqueueIconFonts(iconType);
					if ("panel" === returnType) return "<" + tag + " class=\"" + iconValue + "\"></" + tag + ">";
					var tagUniqueID = tag + elementorCommon.helpers.getUniqueId();
					view.addRenderAttribute(tagUniqueID, attributes);
					view.addRenderAttribute(tagUniqueID, "class", iconValue);
					var htmlTag = "<" + tag + " " + view.getRenderAttributeString(tagUniqueID) + "></" + tag + ">";
					if ("object" === returnType) return {
						rendered: true,
						value: htmlTag
					};
					return htmlTag;
				}
				elementor.channels.editor.trigger("Icon:insertion", iconType, iconValue, attributes, tag, view);
				if ("object" === returnType) return { rendered: false };
			},
			isIconMigrated: function isIconMigrated(settings, controlName) {
				return settings.__fa4_migrated && settings.__fa4_migrated[controlName];
			},
			fetchFa4ToFa5Mapping: function fetchFa4ToFa5Mapping() {
				var storageKey = "fa4Tofa5Mapping";
				var mapping = elementorCommon.storage.get(storageKey);
				if (!mapping) jQuery.getJSON(elementor.config.fa4_to_fa5_mapping_url, function(data) {
					mapping = data;
					elementorCommon.storage.set(storageKey, data);
				});
				return mapping;
			},
			mapFa4ToFa5: function mapFa4ToFa5(fa4Value) {
				var mapping = this.fetchFa4ToFa5Mapping();
				if (mapping[fa4Value]) return mapping[fa4Value];
				return {
					value: "fas" + fa4Value.replace("fa ", " "),
					library: "fa-solid"
				};
			},
			enqueueFont: function enqueueFont(font) {
				var target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "preview";
				if ($e.devTools) $e.devTools.log.info("enqueueFont font: '".concat(font, "', target: '").concat(target, "'"));
				if (-1 !== this._enqueuedFonts[target].indexOf(font)) return;
				var fontType = elementor.config.controls.font.options[font];
				var subsets = {
					ru_RU: "cyrillic",
					uk: "cyrillic",
					bg_BG: "cyrillic",
					vi: "vietnamese",
					el: "greek",
					he_IL: "hebrew"
				};
				var enqueueOptions = {};
				var fontUrl;
				switch (fontType) {
					case "googlefonts":
						fontUrl = "https://fonts.googleapis.com/css?family=" + font + ":100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic";
						if (subsets[elementor.config.locale]) fontUrl += "&subset=" + subsets[elementor.config.locale];
						enqueueOptions.crossOrigin = true;
						if ("preview" === target) elementorCommon.ajax.addRequest("enqueue_google_fonts", {
							data: { font_name: font },
							unique_id: "enqueue_google_fonts_" + font
						}, true);
						break;
					case "earlyaccess":
						fontUrl = "https://fonts.googleapis.com/earlyaccess/" + font.replace(/\s+/g, "").toLowerCase() + ".css";
						enqueueOptions.crossOrigin = true;
						break;
				}
				if (!_.isEmpty(fontUrl)) if ("editor" === target) this.enqueueCSS(fontUrl, elementorCommon.elements.$document);
				else this.enqueueCSS(fontUrl, elementor.$previewContents, enqueueOptions);
				this._enqueuedFonts[target].push(font);
				elementor.channels.editor.trigger("font:insertion", fontType, font);
			},
			resetEnqueuedFontsCache: function resetEnqueuedFontsCache() {
				this._enqueuedFonts = {
					editor: [],
					preview: []
				};
				this._enqueuedIconFonts = [];
			},
			getElementChildType: function getElementChildType(elementType, container) {
				var _this2 = this;
				if (!container) container = this.elementsHierarchy;
				if (void 0 !== container[elementType]) {
					if (jQuery.isPlainObject(container[elementType])) return Object.keys(container[elementType]);
					return null;
				}
				var result = null;
				jQuery.each(container, function(index, type) {
					if (!jQuery.isPlainObject(type)) return;
					var childType = _this2.getElementChildType(elementType, type);
					if (childType) {
						result = childType;
						return false;
					}
				});
				return result;
			},
			/**
			* @deprecated since 3.0.0, use `elementorCommon.helpers.getUniqueId()` instead.
			*/
			getUniqueID: function getUniqueID() {
				elementorDevTools.deprecation.deprecated("elementor.helpers.getUniqueID()", "3.0.0", "elementorCommon.helpers.getUniqueId()");
				return elementorCommon.helpers.getUniqueId();
			},
			getSocialNetworkNameFromIcon: function getSocialNetworkNameFromIcon(iconsControl, fallbackControl) {
				var toUpperCase = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
				var migrated = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null;
				var withIcon = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;
				var social = "";
				var icon = "";
				if (fallbackControl && !migrated) {
					social = fallbackControl.replace("fa fa-", "");
					icon = "<i class=\"" + fallbackControl + "\"></i>";
				} else if (iconsControl.value && "svg" !== iconsControl.library) {
					social = iconsControl.value.split(" ")[1];
					if (!social) social = "";
					else social = social.replace("fa-", "");
					icon = this.renderIcon(null, iconsControl, {}, "i", "panel");
				} else icon = this.renderIcon(null, iconsControl, {}, "i", "panel");
				if ("" !== social && toUpperCase) {
					social = social.split("-").join(" ");
					social = social.replace(/\b\w/g, function(letter) {
						return letter.toUpperCase();
					});
				}
				social = elementor.hooks.applyFilters("elementor/social_icons/network_name", social, iconsControl, fallbackControl, toUpperCase, withIcon);
				if (withIcon) social = icon + " " + social;
				return social;
			},
			getSimpleDialog: function getSimpleDialog(id, title, message, confirmString, onConfirm) {
				return elementorCommon.dialogsManager.createWidget("confirm", {
					id,
					headerMessage: title,
					message,
					position: {
						my: "center center",
						at: "center center"
					},
					strings: {
						confirm: confirmString,
						cancel: (0, _wordpress_i18n.__)("Cancel", "elementor")
					},
					onConfirm
				});
			},
			maybeDisableWidget: function maybeDisableWidget() {
				var givenWidgetType = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
				if (!elementor.config.icons_update_needed) return false;
				var elementView = elementor.channels.panelElements.request("element:selected");
				var widgetType = givenWidgetType || elementView.model.get("widgetType");
				var widgetData = elementor.widgetsCache[widgetType];
				var _hasControlOfType = function hasControlOfType(controls, type) {
					var has = false;
					jQuery.each(controls, function(controlName, controlData) {
						if (type === controlData.type) {
							has = true;
							return false;
						}
						if (controlData.is_repeater) {
							has = _hasControlOfType(controlData.fields, type);
							if (has) return false;
						}
					});
					return has;
				};
				if (widgetData) {
					if (_hasControlOfType(widgetData.controls, "icons")) {
						elementor.helpers.getSimpleDialog("elementor-enable-fa5-dialog", (0, _wordpress_i18n.__)("Elementor's New Icon Library", "elementor"), (0, _wordpress_i18n.__)("Elementor v2.6 includes an upgrade from Font Awesome 4 to 5. In order to continue using icons, be sure to click \"Update\".", "elementor") + " <a href=\"https://go.elementor.com/fontawesome-migration/\" target=\"_blank\">" + (0, _wordpress_i18n.__)("Learn More", "elementor") + "</a>", (0, _wordpress_i18n.__)("Update", "elementor"), function onConfirm() {
							var _elementor$documents$;
							window.location.href = elementor.config.tools_page_link + "&redirect_to_document=" + ((_elementor$documents$ = elementor.documents.getCurrent()) === null || _elementor$documents$ === void 0 ? void 0 : _elementor$documents$.id) + "&_wpnonce=" + elementor.config.tools_page_nonce + "#tab-fontawesome4_migration";
						}).show();
						return true;
					}
				}
				return false;
			},
			/**
			* @param {string} string
			* @param {string} replaces
			* @deprecated since 2.0.0, use native JS `.replace()` method.
			*/
			stringReplaceAll: function stringReplaceAll(string, replaces) {
				elementorDevTools.deprecation.deprecated("elementor.helpers.stringReplaceAll()", "2.0.0", "Use native JS `.replace()` method.");
				var re = new RegExp(Object.keys(replaces).join("|"), "gi");
				return string.replace(re, function(matched) {
					return replaces[matched];
				});
			},
			isActiveControl: function isActiveControl(controlModel, values, controls) {
				var _controlModel$get;
				var _controlModel$get2;
				var condition = controlModel.condition || ((_controlModel$get = controlModel.get) === null || _controlModel$get === void 0 ? void 0 : _controlModel$get.call(controlModel, "condition"));
				var conditions = controlModel.conditions || ((_controlModel$get2 = controlModel.get) === null || _controlModel$get2 === void 0 ? void 0 : _controlModel$get2.call(controlModel, "conditions"));
				if (condition) {
					var terms = [];
					Object.entries(condition).forEach(function(_ref2) {
						var _ref3 = _slicedToArray(_ref2, 2);
						var conditionName = _ref3[0];
						var conditionValue = _ref3[1];
						var convertedCondition = elementor.conditions.convertConditionToConditions(conditionName, conditionValue, controlModel, values, controls);
						terms.push(convertedCondition);
					});
					conditions = {
						relation: "and",
						terms: conditions ? terms.concat(conditions) : terms
					};
				}
				return !(conditions && !elementor.conditions.check(conditions, values, controls));
			},
			/**
			* @param {Object} object - An object to clone.
			* @deprecated since 2.3.0, use `elementorCommon.helpers.cloneObject()` instead.
			*/
			cloneObject: function cloneObject(object) {
				elementorDevTools.deprecation.deprecated("elementor.helpers.cloneObject( object )", "2.3.0", "elementorCommon.helpers.cloneObject( object )");
				return elementorCommon.helpers.cloneObject(object);
			},
			disableElementEvents: function disableElementEvents($element) {
				$element.each(function() {
					var currentPointerEvents = this.style.pointerEvents;
					if ("none" === currentPointerEvents) return;
					jQuery(this).data("backup-pointer-events", currentPointerEvents).css("pointer-events", "none");
				});
			},
			enableElementEvents: function enableElementEvents($element) {
				$element.each(function() {
					var $this = jQuery(this);
					var backupPointerEvents = $this.data("backup-pointer-events");
					if (void 0 === backupPointerEvents) return;
					$this.removeData("backup-pointer-events").css("pointer-events", backupPointerEvents);
				});
			},
			/**
			* @param {*} $element
			* @deprecated since 2.8.0, use `new ColorPicker( { picker: { el: $element } } )` instead.
			*/
			wpColorPicker: function wpColorPicker($element) {
				elementorDevTools.deprecation.deprecated("elementor.helpers.wpColorPicker( $element )", "2.8.0", "new ColorPicker( { picker: { el: $element } } )");
				return new ColorPicker({ picker: { el: $element } });
			},
			isInViewport: function isInViewport(element, html) {
				var rect = element.getBoundingClientRect();
				html = html || document.documentElement;
				return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || html.clientHeight) && rect.right <= (window.innerWidth || html.clientWidth);
			},
			scrollToView: function scrollToView($element, timeout, $parent) {
				if (void 0 === timeout) timeout = 500;
				var $scrolled = $parent;
				var $elementorFrontendWindow = elementorFrontend.elements.$window;
				if (!$parent) {
					$parent = $elementorFrontendWindow;
					$scrolled = elementor.$previewContents.find("html, body");
				}
				setTimeout(function() {
					var _$element$;
					if (!((_$element$ = $element[0]) !== null && _$element$ !== void 0 && _$element$.isConnected)) return;
					var parentHeight = $parent.height();
					var parentScrollTop = $parent.scrollTop();
					var elementTop = $parent === $elementorFrontendWindow ? $element.offset().top : $element[0].offsetTop;
					var topToCheck = elementTop - parentScrollTop;
					if (topToCheck > 0 && topToCheck < parentHeight) return;
					var scrolling = elementTop - parentHeight / 2;
					$scrolled.stop(true).animate({ scrollTop: scrolling }, 1e3);
				}, timeout);
			},
			getElementInlineStyle: function getElementInlineStyle($element, properties) {
				var style = {};
				var elementStyle = $element[0].style;
				properties.forEach(function(property) {
					style[property] = void 0 !== elementStyle[property] ? elementStyle[property] : "";
				});
				return style;
			},
			cssWithBackup: function cssWithBackup($element, backupState, rules) {
				var cssBackup = this.getElementInlineStyle($element, Object.keys(rules));
				$element.data("css-backup-" + backupState, cssBackup).css(rules);
			},
			recoverCSSBackup: function recoverCSSBackup($element, backupState) {
				var backupKey = "css-backup-" + backupState;
				$element.css($element.data(backupKey));
				$element.removeData(backupKey);
			},
			elementSizeToUnit: function elementSizeToUnit($element, size, unit) {
				var window = elementorFrontend.elements.window;
				switch (unit) {
					case "%":
						size = size / ($element.offsetParent().width() / 100);
						break;
					case "vw":
						size = size / (window.innerWidth / 100);
						break;
					case "vh": size = size / (window.innerHeight / 100);
				}
				return Math.round(size * 1e3) / 1e3;
			},
			compareVersions: function compareVersions(versionA, versionB, operator) {
				var prepareVersion = function prepareVersion(version) {
					version = version + "";
					return version.replace(/[^\d.]+/, ".-1.");
				};
				versionA = prepareVersion(versionA);
				versionB = prepareVersion(versionB);
				if (versionA === versionB) return !operator || /^={2,3}$/.test(operator);
				var versionAParts = versionA.split(".").map(Number);
				var versionBParts = versionB.split(".").map(Number);
				var longestVersionParts = Math.max(versionAParts.length, versionBParts.length);
				for (var i = 0; i < longestVersionParts; i++) {
					var valueA = versionAParts[i] || 0;
					var valueB = versionBParts[i] || 0;
					if (valueA !== valueB) return elementor.conditions.compare(valueA, valueB, operator);
				}
			},
			getModelLabel: function getModelLabel(model) {
				var result;
				if (!(model instanceof Backbone.Model)) model = new Backbone.Model(model);
				if (model.get("labelSuffix")) result = model.get("title") + " " + model.get("labelSuffix");
				else if ("global" === model.get("widgetType")) {
					if (model.getTitle) result = model.getTitle();
				}
				if (!result) result = elementor.getElementData(model).title;
				return result;
			},
			hasPro: function hasPro() {
				return !!window.elementorPro;
			},
			hasProAndNotConnected: function hasProAndNotConnected() {
				return elementor.helpers.hasPro() && elementorProEditorConfig.urls.connect;
			},
			/**
			* Function validateHTMLTag().
			*
			* Validate an HTML tag against a safe allowed list.
			*
			* @param {string} tag
			*
			* @return {string} the tag, if it is valid, otherwise, 'div'
			*/
			validateHTMLTag: function validateHTMLTag(tag) {
				return getAllowedHTMLWrapperTags().includes(tag === null || tag === void 0 ? void 0 : tag.toLowerCase()) ? tag : "div";
			},
			convertSizeToFrString: function convertSizeToFrString(size) {
				if ("number" !== typeof size || size <= 0) return size;
				return Array.from({ length: size }, function() {
					return "1fr";
				}).join(" ");
			},
			sanitize: function sanitize(value, options) {
				return purify.sanitize(value, options);
			},
			sanitizeUrl: function sanitizeUrl(url) {
				if (!(!!url ? purify.isValidAttribute("a", "href", url) : false)) return "";
				try {
					return encodeURI(url);
				} catch (e) {
					return "";
				}
			},
			/**
			* @param {HTMLElement} element - The referenced element whose children are searched.
			* @return {HTMLAnchorElement | null} The closest anchor child element, or null if none is found.
			*/
			findChildWithAnchor: function findChildWithAnchor(element) {
				return (element === null || element === void 0 ? void 0 : element.querySelector("a")) || null;
			},
			/**
			* @param {HTMLElement} element - The referenced element whose parents are searched.
			* @return {HTMLAnchorElement | null} The closest anchor parent element, or null if none is found.
			*/
			findParentWithAnchor: function findParentWithAnchor(element) {
				return (element === null || element === void 0 ? void 0 : element.closest("a")) || null;
			},
			getAtomicElementTypes: function getAtomicElementTypes() {
				var elements = elementor.config.elements;
				return Object.keys(elements).filter(function(elementKey) {
					return Object.keys(elements[elementKey]).some(function(key) {
						return key.includes("atom");
					});
				});
			},
			isElementAtomic: function isElementAtomic(elementId) {
				var _ref4$type = (elementor.getContainer(elementId) || {}).type;
				var elType = _ref4$type === void 0 ? null : _ref4$type;
				return this.getAtomicElementTypes().includes(elType);
			},
			getWidgetCache: function getWidgetCache(model) {
				var isModel = model && "function" === typeof model.get;
				var elType = isModel ? model.get("elType") : model === null || model === void 0 ? void 0 : model.elType;
				var widgetType = isModel ? model.get("widgetType") : model === null || model === void 0 ? void 0 : model.widgetType;
				var elementType = "widget" === elType ? widgetType : elType;
				return elementor.widgetsCache[elementType];
			},
			isAtomicWidget: function isAtomicWidget(model) {
				var widgetCache = this.getWidgetCache(model);
				return !!(widgetCache !== null && widgetCache !== void 0 && widgetCache.atomic_props_schema);
			},
			getAtomicWidgetBaseStyles: function getAtomicWidgetBaseStyles(model) {
				if (!this.isAtomicWidget(model)) return;
				return this.getWidgetCache(model).base_styles;
			}
		};
	}));

//#endregion
//#region assets/dev/js/editor/utils/images-manager.js
	var require_images_manager = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ImagesManager = function ImagesManager() {
			var self = this;
			var cache = {};
			var debounceDelay = 300;
			var registeredItems = [];
			var getNormalizedSize = function getNormalizedSize(image) {
				var size;
				var imageSize = image.size;
				if ("custom" === imageSize) {
					var customDimension = image.dimension;
					if (customDimension.width || customDimension.height) size = "custom_" + customDimension.width + "x" + customDimension.height;
					else return "full";
				} else size = imageSize;
				return size;
			};
			var viewsToUpdate = {};
			self.updateOnReceiveImage = function() {
				var elementView = elementor.getPanelView().getCurrentPageView().getOption("editedElementView");
				elementView.$el.addClass("elementor-loading");
				viewsToUpdate[elementView.cid] = elementView;
				elementor.channels.editor.once("imagesManager:detailsReceived", function() {
					if (!_.isEmpty(viewsToUpdate)) _(viewsToUpdate).each(function(view) {
						view.render();
						view.$el.removeClass("elementor-loading");
					});
					viewsToUpdate = {};
				});
			};
			self.getImageUrl = function(image) {
				self.registerItem(image);
				var imageUrl = self.getItem(image);
				if (!imageUrl) {
					if ("custom" === image.size) {
						if ($e.routes.isPartOf("panel/editor") && image.model) self.updateOnReceiveImage();
						return;
					}
					imageUrl = image.url;
				}
				return imageUrl;
			};
			self.getItem = function(image) {
				var size = getNormalizedSize(image);
				var id = image.id;
				if (!size) return false;
				if (cache[id] && cache[id][size]) return cache[id][size];
				return false;
			};
			self.registerItem = function(image) {
				if ("" === image.id) return;
				if (self.getItem(image)) return;
				registeredItems.push(image);
				self.debounceGetRemoteItems();
			};
			self.getRemoteItems = function() {
				var requestedItems = [];
				var registeredItemsLength = Object.keys(registeredItems).length;
				var image;
				var index;
				if (0 === registeredItemsLength) return;
				for (index in registeredItems) {
					image = registeredItems[index];
					var size = getNormalizedSize(image);
					var id = image.id;
					var isFirstTime = !cache[id] || 0 === Object.keys(cache[id]).length;
					requestedItems.push({
						id,
						size,
						is_first_time: isFirstTime
					});
				}
				elementorCommon.ajax.send("get_images_details", {
					data: { items: requestedItems },
					success: function success(data) {
						var imageId;
						var imageSize;
						for (imageId in data) {
							if (!cache[imageId]) cache[imageId] = {};
							for (imageSize in data[imageId]) cache[imageId][imageSize] = data[imageId][imageSize];
						}
						registeredItems = [];
						elementor.channels.editor.trigger("imagesManager:detailsReceived", data);
					}
				});
			};
			self.debounceGetRemoteItems = _.debounce(self.getRemoteItems, debounceDelay);
		};
		module.exports = new ImagesManager();
	}));

//#endregion
//#region assets/dev/js/editor/utils/presets-factory.js
	var require_presets_factory = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var presetsFactory = {
			getPresetsDictionary: function getPresetsDictionary() {
				return {
					11: 100 / 9,
					12: 100 / 8,
					14: 100 / 7,
					16: 100 / 6,
					33: 100 / 3,
					66: 2 / 3 * 100,
					83: 5 / 6 * 100
				};
			},
			getAbsolutePresetValues: function getAbsolutePresetValues(preset) {
				var clonedPreset = structuredClone(preset);
				var presetDictionary = this.getPresetsDictionary();
				_.each(clonedPreset, function(unitValue, unitIndex) {
					if (presetDictionary[unitValue]) clonedPreset[unitIndex] = presetDictionary[unitValue];
				});
				return clonedPreset;
			},
			getPresets: function getPresets(columnsCount, presetIndex) {
				var presets = structuredClone(elementor.config.elements.section.presets);
				if (columnsCount) presets = presets[columnsCount];
				if (presetIndex) presets = presets[presetIndex];
				return presets;
			},
			getPresetByStructure: function getPresetByStructure(structure) {
				var parsedStructure = this.getParsedStructure(structure);
				return this.getPresets(parsedStructure.columnsCount, parsedStructure.presetIndex);
			},
			getParsedGridStructure: function getParsedGridStructure(selectedStructure) {
				selectedStructure += "";
				var chunks = selectedStructure.split("-");
				return {
					rows: chunks[0],
					columns: chunks[1]
				};
			},
			getParsedStructure: function getParsedStructure(structure) {
				structure += "";
				return {
					columnsCount: structure.slice(0, -1),
					presetIndex: structure.substr(-1)
				};
			},
			getPresetSVG: function getPresetSVG(preset, svgWidth, svgHeight, separatorWidth) {
				svgWidth = svgWidth || 100;
				svgHeight = svgHeight || 50;
				separatorWidth = separatorWidth || 2;
				var absolutePresetValues = this.getAbsolutePresetValues(preset);
				var presetSVGPath = this._generatePresetSVGPath(absolutePresetValues, svgWidth, svgHeight, separatorWidth);
				return this._createSVGPreset(presetSVGPath, svgWidth, svgHeight);
			},
			_createSVGPreset: function _createSVGPreset(presetPath, svgWidth, svgHeight) {
				var protocol = "http";
				var svg = document.createElementNS(protocol + "://www.w3.org/2000/svg", "svg");
				svg.setAttributeNS(protocol + "://www.w3.org/2000/xmlns/", "xmlns:xlink", protocol + "://www.w3.org/1999/xlink");
				svg.setAttribute("viewBox", "0 0 " + svgWidth + " " + svgHeight);
				var path = document.createElementNS(protocol + "://www.w3.org/2000/svg", "path");
				path.setAttribute("d", presetPath);
				svg.appendChild(path);
				return svg;
			},
			_generatePresetSVGPath: function _generatePresetSVGPath(preset, svgWidth, svgHeight, separatorWidth) {
				var DRAW_SIZE = svgWidth - separatorWidth * (preset.length - 1);
				var xPointer = 0;
				var dOutput = "";
				for (var i = 0; i < preset.length; i++) {
					if (i) dOutput += " ";
					var increment = preset[i] / 100 * DRAW_SIZE;
					xPointer += increment;
					dOutput += "M" + +xPointer.toFixed(4) + ",0";
					dOutput += "V" + svgHeight;
					dOutput += "H" + +(xPointer - increment).toFixed(4);
					dOutput += "V0Z";
					xPointer += separatorWidth;
				}
				return dOutput;
			},
			/**
			* Return an SVG markup with text of a Container element (e.g. flex, grid, etc.).
			*
			* @param {string} presetId - Preset ID to retrieve.
			* @param {string} text     - The text to show on the preset (Optional - Used only in the default preset).
			*
			* @return {string} preset
			*/
			generateContainerPreset: function generateContainerPreset(presetId) {
				var text = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
				var presets = {
					"33-33-33": "\n				<svg viewBox=\"0 0 90 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect x=\"0.5\" width=\"29\" height=\"44\" />\n					<rect x=\"30.5\" width=\"29\" height=\"44\" />\n					<rect x=\"60.5\" width=\"29\" height=\"44\" />\n				</svg>\n			",
					"50-50": "\n				<svg viewBox=\"0 0 90 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect x=\"0.5\" width=\"44\" height=\"44\" />\n					<rect x=\"45.5\" width=\"44\" height=\"44\" />\n				</svg>\n			",
					"c100-c50-50": "\n				<svg viewBox=\"0 0 90 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect x=\"0.5\" width=\"44\" height=\"44\" />\n					<rect x=\"45.5\" width=\"44\" height=\"21.5\" />\n					<rect x=\"45.5\" y=\"22.5\" width=\"44\" height=\"21.5\" />\n				</svg>\n			",
					"50-50-50-50": "\n				<svg viewBox=\"0 0 90 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect x=\"0.5\" width=\"44\" height=\"21.5\" />\n					<rect x=\"45.5\" width=\"44\" height=\"21.5\" />\n					<rect x=\"0.5\" y=\"22.5\" width=\"44\" height=\"21.5\" />\n					<rect x=\"45.5\" y=\"22.5\" width=\"44\" height=\"21.5\" />\n				</svg>\n			",
					"33-66": "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect width=\"29\" height=\"44\"/>\n					<rect x=\"30\" width=\"59\" height=\"44\"/>\n				</svg>\n			",
					"25-25-25-25": "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect width=\"21.5\" height=\"44\"/>\n					<rect x=\"22.5\" width=\"21.5\" height=\"44\"/>\n					<rect x=\"45\" width=\"21.5\" height=\"44\"/>\n					<rect x=\"67.5\" width=\"21.5\" height=\"44\"/>\n				</svg>\n			",
					"25-50-25": "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect width=\"21.5\" height=\"44\"/>\n					<rect x=\"22.5\" width=\"44\" height=\"44\"/>\n					<rect x=\"67.5\" width=\"21.5\" height=\"44\"/>\n				</svg>\n			",
					"50-50-100": "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect width=\"44\" height=\"21.5\"/>\n					<rect x=\"45\" width=\"44\" height=\"21.5\"/>\n					<rect y=\"22.5\" width=\"89\" height=\"21.5\"/>\n				</svg>\n			",
					"33-33-33-33-33-33": "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect width=\"29\" height=\"21.5\"/>\n					<rect x=\"30\" width=\"29\" height=\"21.5\"/>\n					<rect x=\"60\" width=\"29\" height=\"21.5\"/>\n					<rect y=\"22.5\" width=\"29\" height=\"21.5\"/>\n					<rect x=\"30\" y=\"22.5\" width=\"29\" height=\"21.5\"/>\n					<rect x=\"60\" y=\"22.5\" width=\"29\" height=\"21.5\"/>\n				</svg>\n			",
					"33-33-33-33-66": "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect width=\"29\" height=\"21.5\"/>\n					<rect x=\"30\" width=\"29\" height=\"21.5\"/>\n					<rect x=\"60\" width=\"29\" height=\"21.5\"/>\n					<rect y=\"22.5\" width=\"29\" height=\"21.5\"/>\n					<rect x=\"30\" y=\"22.5\" width=\"59\" height=\"21.5\"/>\n				</svg>\n			",
					"66-33-33-66": "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect width=\"59\" height=\"21.5\"/>\n					<rect x=\"60\" width=\"29\" height=\"21.5\"/>\n					<rect y=\"22.5\" width=\"29\" height=\"21.5\"/>\n					<rect x=\"30\" y=\"22.5\" width=\"59\" height=\"21.5\"/>\n				</svg>\n			",
					c100: "\n				<svg viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<title>".concat((0, _wordpress_i18n.__)("Direction Column", "elementor"), "</title>\n					<rect width=\"89\" height=\"44\" />\n					<path d=\"M43.956 24.644L42 22.748C41.848 22.596 41.672 22.52 41.472 22.52C41.28 22.52 41.108 22.596 40.956 22.748C40.804 22.9 40.728 23.076 40.728 23.276C40.728 23.476 40.804 23.652 40.956 23.804L44.304 27.056C44.456 27.208 44.628 27.284 44.82 27.284C45.02 27.284 45.196 27.208 45.348 27.056L48.504 23.852C48.656 23.7 48.732 23.524 48.732 23.324C48.732 23.124 48.656 22.948 48.504 22.796C48.352 22.644 48.176 22.568 47.976 22.568C47.776 22.568 47.6 22.644 47.448 22.796L45.456 24.848L45.504 17.048C45.504 16.848 45.428 16.676 45.276 16.532C45.124 16.38 44.948 16.304 44.748 16.304C44.548 16.304 44.372 16.38 44.22 16.532C44.076 16.676 44.004 16.848 44.004 17.048L43.956 24.644Z\"/>\n				</svg>\n			"),
					r100: "\n				<svg class=\"exclude-rtl-scale\" viewBox=\"0 0 89 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<title>".concat((0, _wordpress_i18n.__)("Direction Row", "elementor"), "</title>\n					<rect width=\"89\" height=\"44\"/>\n					<path d=\"M47.856 23.352L45.948 25.296C45.796 25.448 45.72 25.624 45.72 25.824C45.72 26.024 45.796 26.2 45.948 26.352C46.1 26.504 46.276 26.58 46.476 26.58C46.676 26.58 46.852 26.504 47.004 26.352L50.256 23.004C50.408 22.852 50.484 22.676 50.484 22.476C50.484 22.276 50.408 22.1 50.256 21.948L47.052 18.804C46.9 18.652 46.724 18.576 46.524 18.576C46.324 18.576 46.148 18.652 45.996 18.804C45.844 18.956 45.768 19.132 45.768 19.332C45.768 19.524 45.844 19.696 45.996 19.848L48.048 21.852L40.248 21.804C40.048 21.804 39.872 21.88 39.72 22.032C39.576 22.176 39.504 22.348 39.504 22.548C39.504 22.748 39.576 22.924 39.72 23.076C39.872 23.228 40.048 23.304 40.248 23.304L47.856 23.352Z\"/>\n				</svg>\n			"),
					default: "\n				<div style=\"--text:'".concat(text, "'\" class=\"e-preset--container\">\n					<svg viewBox=\"0 0 90 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n						<rect width=\"89\" height=\"44\" transform=\"translate(0.5)\" />\n						<rect x=\"3\" y=\"2.5\" width=\"84\" height=\"39\" rx=\"2.5\" stroke=\"#FCFCFC\" stroke-linejoin=\"round\" stroke-dasharray=\"3 2\"/>\n					</svg>\n				</div>\n			")
				};
				return presets[presetId] || presets.default;
			},
			getContainerPresets: function getContainerPresets() {
				return [
					"c100",
					"r100",
					"50-50",
					"33-66",
					"25-25-25-25",
					"25-50-25",
					"50-50-50-50",
					"50-50-100",
					"c100-c50-50",
					"33-33-33-33-33-33",
					"33-33-33-33-66",
					"66-33-33-66"
				];
			},
			generateContainerGridPreset: function generateContainerGridPreset(preset) {
				return {
					"1-2": "\n				<svg width=\"92\" height=\"46\" viewBox=\"0 0 92 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<g opacity=\"0.8\">\n						<rect x=\"0.941406\" y=\"1\" width=\"90\" height=\"44.5\" fill=\"white\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n						<path d=\"M45.9414 1.12402V45.3768\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					</g>\n				</svg>\n			",
					"2-1": "\n				<svg width=\"92\" height=\"47\" viewBox=\"0 0 92 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect x=\"91.2227\" y=\"1.35059\" width=\"44.5\" height=\"90\" transform=\"rotate(90 91.2227 1.35059)\" fill=\"white\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					<path d=\"M91.0957 23.6006L1.34961 23.6006\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n				</svg>\n			",
					"1-3": "\n				<svg width=\"92\" height=\"46\" viewBox=\"0 0 92 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<g opacity=\"0.8\">\n						<rect x=\"0.941895\" y=\"0.944336\" width=\"90\" height=\"44.5\" fill=\"white\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n						<path d=\"M30.9419 1.19824V45.4443\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n						<path d=\"M60.9419 1.19824V45.4443\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					</g>\n				</svg>\n			",
					"3-1": "\n				<svg width=\"92\" height=\"46\" viewBox=\"0 0 92 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<g opacity=\"0.8\">\n						<rect x=\"90.9419\" y=\"0.944336\" width=\"44.5\" height=\"90\" transform=\"rotate(90 90.9419 0.944336)\" fill=\"white\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n						<path d=\"M90.6155 15.5654L1.26713 15.5654\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n						<path d=\"M90.6155 30.1875L1.26713 30.1875\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					</g>\n				</svg>\n			",
					"2-2": "\n				<svg width=\"92\" height=\"46\" viewBox=\"0 0 92 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<g opacity=\"0.8\">\n						<rect x=\"0.941895\" y=\"0.944336\" width=\"90\" height=\"44.5\" fill=\"white\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n						<path d=\"M45.9419 1.19727V45.4443\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n						<path d=\"M90.9419 23.3213L0.941896 23.3213\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					</g>\n				</svg>\n			",
					"2-3": "\n				<svg width=\"92\" height=\"46\" viewBox=\"0 0 92 46\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n					<rect opacity=\"0.8\" x=\"90.9419\" y=\"0.944336\" width=\"44.5\" height=\"90\" transform=\"rotate(90 90.9419 0.944336)\" fill=\"white\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					<path d=\"M0.941895 22.3711L90.9419 22.3711\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					<path d=\"M60.9419 45.4443L60.9419 1.56836\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n					<path d=\"M30.9419 45.4443L30.9419 1.56836\" stroke=\"#515962\" stroke-dasharray=\"3 3\"/>\n				</svg>\n			"
				}[preset];
			},
			getContainerGridPresets: function getContainerGridPresets() {
				return [
					"1-2",
					"2-1",
					"1-3",
					"3-1",
					"2-2",
					"2-3"
				];
			}
		};
		module.exports = presetsFactory;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/commands/insert-template.js
	function _callSuper$28(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$28() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$28() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$28 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var InsertTemplate;
	var init_insert_template = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$28, "_callSuper");
		__name(_isNativeReflectConstruct$28, "_isNativeReflectConstruct");
		InsertTemplate = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function InsertTemplate() {
				_classCallCheck(this, InsertTemplate);
				return _callSuper$28(this, InsertTemplate, arguments);
			}
			_inherits(InsertTemplate, _$e$modules$CommandBa);
			return _createClass(InsertTemplate, [{
				key: "apply",
				value: function apply(args) {
					return this.component.insertTemplate(args);
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/commands/open.js
	function _callSuper$27(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$27() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$27() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$27 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Open$2;
	var init_open$2 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$27, "_callSuper");
		__name(_isNativeReflectConstruct$27, "_isNativeReflectConstruct");
		Open$2 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Open() {
				_classCallCheck(this, Open);
				return _callSuper$27(this, Open, arguments);
			}
			_inherits(Open, _$e$modules$CommandBa);
			return _createClass(Open, [{
				key: "apply",
				value: function apply(args) {
					return this.component.show(args);
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/commands/index.js
	var commands_exports$2 = /* @__PURE__ */ __exportAll({
		InsertTemplate: () => InsertTemplate,
		Open: () => Open$2
	});
	var init_commands$2 = __esmMin((() => {
		init_insert_template();
		init_open$2();
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/commands-data/templates.js
	function _callSuper$26(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$26() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$26() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$26 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Templates;
	var init_templates = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$26, "_callSuper");
		__name(_isNativeReflectConstruct$26, "_isNativeReflectConstruct");
		Templates = /*#__PURE__*/ function(_$e$modules$CommandDa) {
			function Templates() {
				_classCallCheck(this, Templates);
				return _callSuper$26(this, Templates, arguments);
			}
			_inherits(Templates, _$e$modules$CommandDa);
			return _createClass(Templates, null, [{
				key: "getEndpointFormat",
				value: function getEndpointFormat() {
					return "template-library/templates";
				}
			}]);
		}($e.modules.CommandData);
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/commands-data/index.js
	var commands_data_exports = /* @__PURE__ */ __exportAll({ Templates: () => Templates });
	var init_commands_data = __esmMin((() => {
		init_templates();
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/constants.js
	var SAVE_CONTEXTS, QUOTA_WARNINGS, QUOTA_BAR_STATES;
	var init_constants = __esmMin((() => {
		SAVE_CONTEXTS = Object.freeze({
			SAVE: "save",
			MOVE: "move",
			COPY: "copy",
			BULK_MOVE: "bulkMove",
			BULK_COPY: "bulkCopy"
		});
		QUOTA_WARNINGS = Object.freeze({
			warning: (0, _wordpress_i18n.__)("You've saved %1$d%% of the templates in your plan. To get more space ", "elementor") + "<a href=\"https://go.elementor.com/go-pro-cloud-templates-usage-bar-80\" target=\"_blank\">" + (0, _wordpress_i18n.__)("Upgrade now", "elementor") + "</a>",
			alert: (0, _wordpress_i18n.__)("You've saved %1$d%% of the templates in your plan. To get more space ", "elementor") + "<a href=\"https://go.elementor.com/go-pro-cloud-templates-usage-bar-100\" target=\"_blank\">" + (0, _wordpress_i18n.__)("Upgrade now", "elementor") + "</a>"
		});
		QUOTA_BAR_STATES = Object.freeze({
			NORMAL: "normal",
			WARNING: "warning",
			ALERT: "alert"
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/global-styles-dialog.js
	function showGlobalStylesDialog() {
		return new Promise(function(resolve, reject) {
			var settled = false;
			var dialog = elementorCommon.dialogsManager.createWidget("lightbox", {
				id: "elementor-global-styles-dialog",
				headerMessage: "",
				message: wp.template("elementor-global-styles-dialog")(),
				position: {
					my: "center",
					at: "center"
				},
				hide: { onBackgroundClick: false },
				onShow: function onShow() {
					setupDialogEventListeners(dialog, function(payload) {
						if (settled) return;
						settled = true;
						resolve(payload);
						dialog.hide();
					}, function(error) {
						if (settled) return;
						settled = true;
						reject(error);
						dialog.hide();
					});
				},
				onHide: function onHide() {
					if (settled) return;
					settled = true;
					reject(/* @__PURE__ */ new Error("Dialog closed"));
				}
			});
			dialog.show();
		});
	}
	function setupDialogEventListeners(dialog, resolve, reject) {
		var $content = dialog.getElements("message");
		var $matchRadio = $content.find("#elementor-global-styles-match");
		var $keepRadio = $content.find("#elementor-global-styles-keep");
		var $createCheckbox = $content.find("#elementor-global-styles-create");
		var $checkboxContainer = $content.find(".elementor-global-styles-dialog__checkbox-container");
		var $insertBtn = $content.find("#elementor-global-styles-insert");
		var $cancelBtn = $content.find("#elementor-global-styles-cancel");
		$matchRadio.off(".elementorGlobalStyles").on("change.elementorGlobalStyles", function() {
			$checkboxContainer.hide();
		});
		$keepRadio.off(".elementorGlobalStyles").on("change.elementorGlobalStyles", function() {
			$checkboxContainer.show();
		});
		$insertBtn.off(".elementorGlobalStyles").on("click.elementorGlobalStyles", function() {
			var mode;
			if ($matchRadio.is(":checked")) mode = "match_site";
			else if ($createCheckbox.is(":checked")) mode = "keep_create";
			else mode = "keep_flatten";
			resolve({ mode });
		});
		$cancelBtn.off(".elementorGlobalStyles").on("click.elementorGlobalStyles", function() {
			reject(/* @__PURE__ */ new Error("User cancelled"));
		});
	}
	var init_global_styles_dialog = __esmMin((() => {}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/header-parts/actions.js
	var require_actions = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-template-library-header-actions",
			id: "elementor-template-library-header-actions",
			ui: {
				import: "#elementor-template-library-header-import",
				importIcon: "#elementor-template-library-header-import i",
				sync: "#elementor-template-library-header-sync",
				syncIcon: "#elementor-template-library-header-sync i",
				save: "#elementor-template-library-header-save",
				saveIcon: "#elementor-template-library-header-save i"
			},
			events: {
				"click @ui.import": "onImportClick",
				"click @ui.sync": "onSyncClick",
				"click @ui.save": "onSaveClick"
			},
			onImportClick: function onImportClick() {
				$e.route("library/import");
			},
			onRender: function onRender() {
				var _$e$components$get$cu;
				var currentTab = (_$e$components$get$cu = $e.components.get("library").currentTab) !== null && _$e$components$get$cu !== void 0 ? _$e$components$get$cu : "";
				this.ui.import.toggleClass("elementor-hidden", "templates/my-templates" !== currentTab);
			},
			onSyncClick: function onSyncClick() {
				var self = this;
				self.ui.syncIcon.addClass("eicon-animation-spin");
				elementor.templates.requestLibraryData({
					onUpdate: function onUpdate() {
						self.ui.syncIcon.removeClass("eicon-animation-spin");
						$e.routes.refreshContainer("library");
					},
					forceUpdate: true,
					forceSync: true
				});
			},
			onSaveClick: function onSaveClick() {
				$e.route("library/save-template");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/utils/keyboard-nav.js
/**
	* Handles arrow-key roving tabindex navigation within a group.
	*
	* @param {Object}       options
	* @param {jQuery.Event} options.event                      - The keydown event
	* @param {jQuery}       options.$items                     - All navigable items
	* @param {string}       [options.orientation='horizontal'] - 'horizontal' | 'vertical' | 'both'
	* @param {boolean}      [options.wrap=true]                - Wrap at boundaries
	* @param {boolean}      [options.activateOnFocus=false]    - Trigger click on arrow navigation
	* @param {Function}     [options.onActivate]               - Callback when Enter/Space pressed
	* @param {boolean}      [options.homeEnd=true]             - Support Home/End keys
	* @return {boolean} Whether the event was handled
	*/
	function rovingTabindex(_ref) {
		var event = _ref.event;
		var $items = _ref.$items;
		var _ref$orientation = _ref.orientation;
		var orientation = _ref$orientation === void 0 ? "horizontal" : _ref$orientation;
		var _ref$wrap = _ref.wrap;
		var wrap = _ref$wrap === void 0 ? true : _ref$wrap;
		var _ref$activateOnFocus = _ref.activateOnFocus;
		var activateOnFocus = _ref$activateOnFocus === void 0 ? false : _ref$activateOnFocus;
		var onActivate = _ref.onActivate;
		var _ref$homeEnd = _ref.homeEnd;
		var homeEnd = _ref$homeEnd === void 0 ? true : _ref$homeEnd;
		var current = $items.index(event.currentTarget) !== -1 ? event.currentTarget : event.target;
		var currentIndex = $items.index(current);
		var targetIndex = currentIndex;
		var isHorizontal = "horizontal" === orientation || "both" === orientation;
		var isVertical = "vertical" === orientation || "both" === orientation;
		switch (event.key) {
			case "ArrowLeft":
			case "ArrowUp":
				if ("ArrowLeft" === event.key && !isHorizontal || "ArrowUp" === event.key && !isVertical) return false;
				event.preventDefault();
				if (currentIndex > 0) targetIndex = currentIndex - 1;
				else targetIndex = wrap ? $items.length - 1 : currentIndex;
				break;
			case "ArrowRight":
			case "ArrowDown":
				if ("ArrowRight" === event.key && !isHorizontal || "ArrowDown" === event.key && !isVertical) return false;
				event.preventDefault();
				if (currentIndex < $items.length - 1) targetIndex = currentIndex + 1;
				else targetIndex = wrap ? 0 : currentIndex;
				break;
			case "Home":
				if (!homeEnd) return false;
				event.preventDefault();
				targetIndex = 0;
				break;
			case "End":
				if (!homeEnd) return false;
				event.preventDefault();
				targetIndex = $items.length - 1;
				break;
			case "Enter":
			case " ":
				event.preventDefault();
				if (onActivate) onActivate(event, $items.eq(currentIndex));
				return true;
			default: return false;
		}
		if (targetIndex !== currentIndex) {
			$items.attr("tabindex", "-1");
			$items.eq(targetIndex).attr("tabindex", "0").trigger("focus");
			if (activateOnFocus) $items.eq(targetIndex).trigger("click");
		}
		return true;
	}
	/**
	* Prevents Escape keydown from propagating to close the modal,
	* and suppresses the subsequent keyup event.
	*
	* @param {KeyboardEvent} event - The keydown event
	*/
	function suppressEscapeKeyUp(event) {
		event.stopPropagation();
		var _handler = function handler(e) {
			if ("Escape" === e.key) e.stopImmediatePropagation();
			window.removeEventListener("keyup", _handler, true);
		};
		window.addEventListener("keyup", _handler, true);
	}
	/**
	* @param {HTMLElement|Element|null} element
	* @return {boolean} Whether the element accepts typed input.
	*/
	function isEditableTarget(element) {
		if (!element || "function" !== typeof element.matches) return false;
		return element.matches(EDITABLE_SELECTOR) || !!element.closest(MONACO_SELECTOR);
	}
	/**
	* @param {HTMLElement|Element|null} element
	* @return {boolean} Whether the element lives inside an overlay that handles Escape on its own.
	*/
	function isInsideOverlay(element) {
		if (!element || "function" !== typeof element.closest) return false;
		return !!element.closest(ESCAPE_OWNER_SELECTOR);
	}
	/**
	* @param {HTMLElement|null} anchor
	* @return {HTMLElement|null} The nearest ancestor-or-self that generates a box, so `focus()` applies.
	*/
	function getRenderedAnchor(anchor) {
		var candidate = anchor;
		while (candidate && "contents" === ((_candidate$ownerDocum = candidate.ownerDocument.defaultView) === null || _candidate$ownerDocum === void 0 ? void 0 : _candidate$ownerDocum.getComputedStyle(candidate).display)) {
			var _candidate$ownerDocum;
			candidate = candidate.firstElementChild;
		}
		return candidate;
	}
	/**
	* @param {HTMLElement} field
	* @return {HTMLElement|null} The control wrapper, or the closest usable ancestor.
	*/
	function getEscapeAnchor(field) {
		var monacoRoot = field.closest(MONACO_SELECTOR);
		return getRenderedAnchor(field.closest(CONTROL_ANCHOR_SELECTOR) || (monacoRoot ? monacoRoot.parentElement : field.parentElement));
	}
	/**
	* @param {HTMLElement} element
	* @param {HTMLElement} root
	* @return {HTMLElement|null} The next focusable element outside the element's subtree.
	*/
	function findNextFocusableAfter(element, root) {
		var walker = root.ownerDocument.createTreeWalker(root, NodeFilter.SHOW_ELEMENT);
		walker.currentNode = element;
		var node = walker.nextNode();
		while (node) {
			if (!element.contains(node) && node.matches(FOCUSABLE_SELECTOR)) return node;
			node = walker.nextNode();
		}
		return null;
	}
	/**
	* Focusing an ancestor puts the sequential focus starting point *before* its descendants, so a plain
	* Tab would walk back into the field that was just escaped. A one-shot handler skips past the subtree.
	*
	* @param {HTMLElement} anchor
	* @param {HTMLElement} root
	*/
	function parkFocusOnAnchor(anchor, root) {
		var hadTabIndex = anchor.hasAttribute("tabindex");
		if (!hadTabIndex) anchor.setAttribute("tabindex", "-1");
		anchor.focus({ preventScroll: true });
		if (anchor.ownerDocument.activeElement !== anchor) {
			if (!hadTabIndex) anchor.removeAttribute("tabindex");
			return;
		}
		var onKeyDown = function onKeyDown(event) {
			if ("Tab" !== event.key || event.shiftKey || event.defaultPrevented || event.target !== anchor) return;
			var next = findNextFocusableAfter(anchor, root);
			if (!next) return;
			event.preventDefault();
			next.focus();
		};
		var _onFocusOut = function onFocusOut(event) {
			if (event.relatedTarget && anchor.contains(event.relatedTarget)) return;
			anchor.removeEventListener("keydown", onKeyDown);
			anchor.removeEventListener("focusout", _onFocusOut);
			if (!hadTabIndex) anchor.removeAttribute("tabindex");
		};
		anchor.addEventListener("keydown", onKeyDown);
		anchor.addEventListener("focusout", _onFocusOut);
	}
	/**
	* Releases focus from an editable panel field on Escape, instead of letting the global `esc` shortcut
	* route away to the menu. A second Escape is left unhandled, so it exits the panel as usual.
	*
	* @param {KeyboardEvent|jQuery.Event} event
	* @param {HTMLElement}                root  - Panel element the event was delegated from. `#elementor-panel-inner`
	*                                           hosts the V4 panel portal too, so this covers V1 and V4 controls alike.
	* @return {boolean} Whether the event was handled.
	*/
	function escapeFromPanelField(event, root) {
		var isDefaultPrevented = "function" === typeof event.isDefaultPrevented ? event.isDefaultPrevented() : event.defaultPrevented;
		if ("Escape" !== event.key || isDefaultPrevented) return false;
		var field = root.ownerDocument.activeElement;
		if (!isEditableTarget(field) || !root.contains(field) || isInsideOverlay(field)) return false;
		event.preventDefault();
		event.stopPropagation();
		var anchor = getEscapeAnchor(field);
		field.blur();
		if (anchor) parkFocusOnAnchor(anchor, root);
		return true;
	}
	var EDITABLE_SELECTOR, MONACO_SELECTOR, ESCAPE_OWNER_SELECTOR, CONTROL_ANCHOR_SELECTOR, FOCUSABLE_SELECTOR;
	var init_keyboard_nav = __esmMin((() => {
		EDITABLE_SELECTOR = [
			"input:not([type=\"hidden\"]):not([disabled])",
			"textarea:not([disabled])",
			"select:not([disabled])",
			"[contenteditable=\"true\"]"
		].join(", ");
		MONACO_SELECTOR = ".monaco-editor";
		ESCAPE_OWNER_SELECTOR = [
			".dialog-widget",
			"[role=\"dialog\"]",
			".MuiModal-root",
			".MuiPopover-root",
			".MuiAutocomplete-popper",
			".select2-container--open"
		].join(", ");
		CONTROL_ANCHOR_SELECTOR = ".elementor-control, [data-type=\"settings-field\"], [role=\"group\"]";
		FOCUSABLE_SELECTOR = [
			"a[href]",
			"button:not([disabled])",
			"input:not([disabled]):not([type=\"hidden\"])",
			"select:not([disabled])",
			"textarea:not([disabled])",
			"[tabindex]:not([tabindex=\"-1\"])"
		].join(", ");
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/header-parts/menu.js
	var require_menu = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_keyboard_nav();
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-template-library-header-menu",
			id: "elementor-template-library-header-menu",
			ui: { tabs: "[role=\"tab\"]" },
			events: { "keydown @ui.tabs": "onTabKeyDown" },
			templateHelpers: function templateHelpers() {
				return { tabs: $e.components.get("library").getTabs() };
			},
			attributes: function attributes() {
				return {
					role: "tablist",
					"aria-label": (0, _wordpress_i18n.__)("Library sections", "elementor")
				};
			},
			onTabKeyDown: function onTabKeyDown(event) {
				rovingTabindex({
					event,
					$items: this.ui.tabs,
					orientation: "horizontal",
					onActivate: function onActivate() {}
				});
				var targetTabName = jQuery(event.currentTarget.ownerDocument.activeElement).data("tab");
				if (!targetTabName) return;
				var libraryComponent = $e.components.get("library");
				if (!libraryComponent) return;
				try {
					libraryComponent.activateTab(targetTabName);
					var $tabAfterRerender = jQuery("#elementor-template-library-header-menu [data-tab=\"".concat(targetTabName, "\"]"));
					if ($tabAfterRerender.length) $tabAfterRerender.trigger("focus");
				} catch (error) {
					console.error("Tab activation failed:", error);
				}
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/behaviors/insert-template.js
	var require_insert_template = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var InsertTemplateHandler = Marionette.Behavior.extend({
			ui: { insertButton: ".elementor-template-library-template-insert" },
			events: { "click @ui.insertButton": "onInsertButtonClick" },
			onRender: function onRender() {
				this.ui.insertButton.toggleClass("disabled", this.view.model.isLocked());
			},
			onInsertButtonClick: function onInsertButtonClick(e) {
				if ("locked" === this.view.model.get("status")) {
					e.preventDefault();
					e.stopPropagation();
					return;
				}
				var args = { model: this.view.model };
				this.ui.insertButton.addClass("elementor-disabled");
				var activeSource = args.model.get("source");
				if (elementor.hooks.applyFilters("templates/source/is-remote", "remote" === activeSource, activeSource) && !elementor.config.library_connect.is_connected) {
					$e.route("library/connect", args);
					return;
				}
				$e.run("library/insert-template", args);
			}
		});
		module.exports = InsertTemplateHandler;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/header-parts/preview.js
	var require_preview$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TemplateLibraryInsertTemplateBehavior = require_insert_template();
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-template-library-header-preview",
			id: "elementor-template-library-header-preview",
			behaviors: { insertTemplate: { behaviorClass: TemplateLibraryInsertTemplateBehavior } }
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/header-parts/back.js
	var require_back = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-template-library-header-back",
			id: "elementor-template-library-header-preview-back",
			events: { "click .elementor-template-library-header-back-button": "onClick" },
			onClick: function onClick() {
				$e.routes.restoreState("library");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/utils/select2.js
	function _callSuper$25(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$25() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$25() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$25 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$5(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var Select2;
	var init_select2 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		__name(_callSuper$25, "_callSuper");
		__name(_isNativeReflectConstruct$25, "_isNativeReflectConstruct");
		__name(_superPropGet$5, "_superPropGet");
		Select2 = /*#__PURE__*/ function(_elementorModules$Vie) {
			function Select2() {
				_classCallCheck(this, Select2);
				return _callSuper$25(this, Select2, arguments);
			}
			_inherits(Select2, _elementorModules$Vie);
			return _createClass(Select2, [
				{
					key: "getDefaultSettings",
					value: function getDefaultSettings() {
						return {
							selectors: {
								plusButton: ".select2-selection__e-plus-button",
								select2InlineSearch: ".select2-selection__rendered .select2-search--inline"
							},
							classes: {
								plusButton: "select2-selection__e-plus-button",
								select2Choice: "select2-selection__choice"
							}
						};
					}
				},
				{
					key: "isAllSelected",
					value: function isAllSelected() {
						var _this = this;
						var isAllSelected = false;
						this.select2.dataAdapter.query({}, function(data) {
							var totalOptionsCount = data.results.length;
							if (_this.elements.$element.select2("data").length === totalOptionsCount) isAllSelected = true;
						});
						return isAllSelected;
					}
				},
				{
					key: "addPlusButton",
					value: function addPlusButton() {
						var _this$getSettings = this.getSettings("classes");
						var plusButton = _this$getSettings.plusButton;
						var plusButtonClasses = [_this$getSettings.select2Choice, plusButton].join(" ");
						this.elements.$plusButton = jQuery("<li>", { class: plusButtonClasses }).text("+");
						this.elements.$plusButton.insertBefore(this.elements.$inlineSearch);
					}
				},
				{
					key: "togglePlusButton",
					value: function togglePlusButton() {
						if (this.isAllSelected()) {
							if (this.elements.$plusButton) this.elements.$plusButton.remove();
						} else this.addPlusButton();
					}
				},
				{
					key: "addSelect2Events",
					value: function addSelect2Events() {
						var _this2 = this;
						this.select2.on("select", function() {
							return _this2.onSelectionChange();
						});
						this.select2.on("unselect", function() {
							return _this2.onSelectionChange();
						});
					}
				},
				{
					key: "onSelectionChange",
					value: function onSelectionChange() {
						this.togglePlusButton();
					}
				},
				{
					key: "extendBaseFunctionality",
					value: function extendBaseFunctionality() {
						var config = this.select2.options.options;
						if (config.multiple && !config.ajax) {
							this.togglePlusButton();
							this.addSelect2Events();
						}
					}
				},
				{
					key: "initSelect2Elements",
					value: function initSelect2Elements() {
						var select2InlineSearch = this.getSettings("selectors.select2InlineSearch");
						this.elements.$element = this.select2.$element;
						this.elements.$container = this.select2.$container;
						this.elements.$inlineSearch = this.elements.$container.find(select2InlineSearch);
					}
				},
				{
					key: "destroy",
					value: function destroy() {
						this.elements.$element.select2("destroy");
					}
				},
				{
					key: "onInit",
					value: function onInit() {
						for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
						_superPropGet$5(Select2, "onInit", this, 3)(args);
						var _this$getSettings2 = this.getSettings();
						var $element = _this$getSettings2.$element;
						var options = _this$getSettings2.options;
						this.select2 = $element.select2(options).data("select2");
						this.initSelect2Elements();
						this.extendBaseFunctionality();
					}
				}
			]);
		}(elementorModules.ViewModule);
	}));

//#endregion
//#region assets/dev/js/utils/tiers.js
	var tiers_exports = /* @__PURE__ */ __exportAll({
		TIERS: () => TIERS,
		TIERS_PRIORITY: () => TIERS_PRIORITY,
		isTierAtLeast: () => isTierAtLeast
	});
	var TIERS_PRIORITY, TIERS, isTierAtLeast;
	var init_tiers = __esmMin((() => {
		TIERS_PRIORITY = Object.freeze([
			"free",
			"essential",
			"essential-oct2023",
			"advanced",
			"expert",
			"agency"
		]);
		TIERS = Object.freeze(TIERS_PRIORITY.reduce(function(acc, tier) {
			acc[tier] = tier;
			return acc;
		}, {}));
		isTierAtLeast = function isTierAtLeast(currentTier, expectedTier) {
			var currentTierIndex = TIERS_PRIORITY.indexOf(currentTier);
			var expectedTierIndex = TIERS_PRIORITY.indexOf(expectedTier);
			if (-1 === currentTierIndex || -1 === expectedTierIndex) return false;
			return currentTierIndex >= expectedTierIndex;
		};
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/template/base.js
	var require_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TemplateLibraryInsertTemplateBehavior = require_insert_template();
		var _require = (init_tiers(), __toCommonJS(tiers_exports));
		var isTierAtLeast = _require.isTierAtLeast;
		var TIERS = _require.TIERS;
		var TemplateLibraryTemplateView = Marionette.ItemView.extend({
			className: function className() {
				var classes = "elementor-template-library-template";
				var source = this.model.get("source");
				classes += " elementor-template-library-template-" + source;
				if ("remote" === source) classes += " elementor-template-library-template-" + this.model.get("type");
				if (elementor.config.library_connect.base_access_tier !== this.model.get("accessTier")) classes += " elementor-template-library-pro-template";
				return elementor.hooks.applyFilters("elementor/editor/template-library/template/classes", classes, this);
			},
			attributes: function attributes() {
				var userAccessTier = elementor.config.library_connect.current_access_tier;
				var templateAccessTier = this.model.get("accessTier");
				if (isTierAtLeast(userAccessTier, templateAccessTier)) return {};
				var subscriptionPlans = elementor.config.library_connect.subscription_plans;
				var subscriptionPlan = subscriptionPlans[templateAccessTier];
				if (userAccessTier === TIERS.free) subscriptionPlan = subscriptionPlans.essential;
				if (!subscriptionPlan) return {};
				return { style: "--elementor-template-library-subscription-plan-label: \"".concat(subscriptionPlan.label, "\";--elementor-template-library-subscription-plan-color: ").concat(subscriptionPlan.color, ";") };
			},
			ui: function ui() {
				return { previewButton: ".elementor-template-library-template-preview" };
			},
			events: function events() {
				return { "click @ui.previewButton": "onPreviewButtonClick" };
			},
			behaviors: function behaviors() {
				var behaviors = { insertTemplate: { behaviorClass: TemplateLibraryInsertTemplateBehavior } };
				return elementor.hooks.applyFilters("elementor/editor/template-library/template/behaviors", behaviors, this);
			}
		});
		module.exports = TemplateLibraryTemplateView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/template/local.js
	var require_local = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_asyncToGenerator();
		var import_regenerator$12 = /* @__PURE__ */ __toESM(require_regenerator());
		init_constants();
		init_keyboard_nav();
		var TemplateLibraryTemplateView = require_base();
		var TemplateLibraryTemplateLocalView = TemplateLibraryTemplateView.extend({
			template: "#tmpl-elementor-template-library-template-local",
			ui: function ui() {
				return _.extend(TemplateLibraryTemplateView.prototype.ui.apply(this, arguments), {
					bulkSelectionItemCheckbox: ".bulk-selection-item-checkbox",
					deleteButton: ".elementor-template-library-template-delete",
					renameButton: ".elementor-template-library-template-rename",
					moveButton: ".elementor-template-library-template-move",
					copyButton: ".elementor-template-library-template-copy",
					exportButton: ".elementor-template-library-template-export",
					morePopup: ".elementor-template-library-template-more",
					toggleMore: ".elementor-template-library-template-more-toggle",
					toggleMoreIcon: ".elementor-template-library-template-more-toggle i",
					titleCell: ".elementor-template-library-template-name span",
					resourceIcon: ".elementor-template-library-template-name i"
				});
			},
			events: function events() {
				return _.extend(TemplateLibraryTemplateView.prototype.events.apply(this, arguments), {
					click: "handleItemClicked",
					"change @ui.bulkSelectionItemCheckbox": "onSelectBulkSelectionItemCheckbox",
					"click @ui.deleteButton": "onDeleteButtonClick",
					"click @ui.toggleMore": "onToggleMoreClick",
					"keydown @ui.toggleMore": "onToggleMoreKeyDown",
					"keydown @ui.morePopup": "onMenuKeyDown",
					"click @ui.renameButton": "onRenameClick",
					"click @ui.moveButton": "onMoveClick",
					"click @ui.copyButton": "onCopyClick",
					"click @ui.exportButton": "onExportClick"
				});
			},
			modelEvents: { "change:title": "onTitleChange" },
			onRender: function onRender() {
				var _this = this;
				if (this.ui.toggleMore.length) this.ui.toggleMore.attr({
					"aria-haspopup": "menu",
					"aria-expanded": "false"
				});
				if (this.ui.bulkSelectionItemCheckbox.length) this.updateRowSelectionAttributes();
				if (this.ui.morePopup && this.ui.morePopup.length) {
					this._onDocumentClick = function(e) {
						if ("true" !== _this.ui.toggleMore.attr("aria-expanded")) return;
						if (!_this.ui.toggleMore[0].contains(e.target) && !_this.ui.morePopup[0].contains(e.target)) _this.closeContextMenu();
					};
					jQuery(document).on("click", this._onDocumentClick);
					this.ui.morePopup.find("button, a").attr("tabindex", "-1");
				}
			},
			onBeforeDestroy: function onBeforeDestroy() {
				if (this._onDocumentClick) jQuery(document).off("click", this._onDocumentClick);
			},
			openContextMenu: function openContextMenu() {
				this.handleLockedTemplate();
				this.ui.toggleMore.attr("aria-expanded", "true");
				this.ui.morePopup.show();
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.morePopup });
			},
			closeContextMenu: function closeContextMenu() {
				this.ui.toggleMore.attr("aria-expanded", "false");
				this.ui.morePopup.hide();
			},
			getMenuItems: function getMenuItems() {
				return this.ui.morePopup.find("button:visible, a:visible");
			},
			onToggleMoreKeyDown: function onToggleMoreKeyDown(event) {
				if ("Escape" === event.key) {
					event.preventDefault();
					if ("true" === this.ui.toggleMore.attr("aria-expanded")) {
						this.closeContextMenu();
						suppressEscapeKeyUp(event);
					}
					return;
				}
				if ("ArrowDown" === event.key || "Enter" === event.key || " " === event.key) {
					event.preventDefault();
					event.stopPropagation();
					if ("true" !== this.ui.toggleMore.attr("aria-expanded")) this.openContextMenu();
					var $items = this.getMenuItems();
					if ($items.length) $items.first().trigger("focus");
				}
			},
			onMenuKeyDown: function onMenuKeyDown(event) {
				if ("Escape" === event.key) {
					event.preventDefault();
					this.closeContextMenu();
					this.ui.toggleMore.trigger("focus");
					suppressEscapeKeyUp(event);
					return;
				}
				if ("Tab" === event.key) {
					this.handleMenuTab(event);
					return;
				}
				rovingTabindex({
					event,
					$items: this.getMenuItems(),
					orientation: "vertical",
					homeEnd: true
				});
				event.stopPropagation();
			},
			handleMenuTab: function handleMenuTab(event) {
				var $items = this.getMenuItems();
				var currentIndex = $items.index(event.target);
				if (event.shiftKey) {
					if (currentIndex <= 0) {
						this.closeContextMenu();
						this.ui.toggleMore.trigger("focus");
					} else {
						event.preventDefault();
						event.stopPropagation();
						$items.eq(currentIndex - 1).trigger("focus");
					}
					return;
				}
				if (currentIndex < $items.length - 1) {
					event.preventDefault();
					event.stopPropagation();
					$items.eq(currentIndex + 1).trigger("focus");
				} else {
					this.closeContextMenu();
					this.ui.toggleMore.trigger("focus");
				}
			},
			updateRowSelectionAttributes: function updateRowSelectionAttributes() {
				var isChecked = this.ui.bulkSelectionItemCheckbox.prop("checked");
				var isSelected = this.$el.hasClass("bulk-selected-item");
				this.ui.bulkSelectionItemCheckbox.attr("aria-checked", isChecked);
				if (isSelected) this.$el.attr({
					"aria-selected": "true",
					tabindex: "0"
				});
				else this.$el.attr({
					"aria-selected": "false",
					tabindex: "-1"
				});
			},
			handleLockedTemplate: function handleLockedTemplate() {
				var isLocked = this.model.isLocked();
				this.ui.renameButton.toggleClass("disabled", isLocked);
				this.ui.moveButton.toggleClass("disabled", isLocked);
				this.ui.copyButton.toggleClass("disabled", isLocked);
				this.ui.exportButton.toggleClass("disabled", isLocked);
			},
			onTitleChange: function onTitleChange() {
				var title = _.escape(this.model.get("title"));
				this.ui.titleCell.text(title);
				if (this.ui.bulkSelectionItemCheckbox.length) {
					var ariaLabel = (0, _wordpress_i18n.__)("Select template", "elementor") + " " + title;
					this.ui.bulkSelectionItemCheckbox.attr("aria-label", ariaLabel);
				}
			},
			handleItemClicked: function handleItemClicked(event) {
				var _this2 = this;
				if (event.target.closest(".bulk-selection-item-checkbox")) return;
				if (!this._clickState) this._clickState = {
					timeoutId: null,
					delay: 250
				};
				var state = this._clickState;
				if (state.timeoutId) {
					clearTimeout(state.timeoutId);
					state.timeoutId = null;
					this.handleItemDoubleClick();
				} else state.timeoutId = setTimeout(function() {
					state.timeoutId = null;
					_this2.handleItemSingleClick();
				}, state.delay);
			},
			handleItemSingleClick: function handleItemSingleClick() {
				this.handleListViewItemSingleClick();
			},
			handleItemDoubleClick: function handleItemDoubleClick() {},
			handleListViewItemSingleClick: function handleListViewItemSingleClick() {
				var checkbox = this.ui.bulkSelectionItemCheckbox;
				var isChecked = checkbox.prop("checked");
				checkbox.prop("checked", !isChecked).trigger("change");
			},
			onDeleteButtonClick: function onDeleteButtonClick(event) {
				event.stopPropagation();
				this.closeContextMenu();
				var toggleMoreIcon = this.ui.toggleMoreIcon;
				elementor.templates.deleteTemplate(this.model, { onConfirm: function onConfirm() {
					toggleMoreIcon.removeClass("eicon-ellipsis-h").addClass("eicon-loading eicon-animation-spin");
				} });
			},
			onToggleMoreClick: function onToggleMoreClick(event) {
				event.stopPropagation();
				this.handleLockedTemplate();
				var isExpanded = "true" === this.ui.toggleMore.attr("aria-expanded");
				this.ui.toggleMore.attr("aria-expanded", !isExpanded);
				if (isExpanded) this.ui.morePopup.hide();
				else {
					this.ui.morePopup.show();
					var $items = this.getMenuItems();
					if ($items.length) $items.first().trigger("focus");
				}
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.morePopup });
			},
			onPreviewButtonClick: function onPreviewButtonClick(event) {
				event.stopPropagation();
				open(this.model.get("url"), "_blank");
			},
			onRenameClick: function onRenameClick(event) {
				var _this3 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$12.default.mark(function _callee() {
					return import_regenerator$12.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								event.stopPropagation();
								if (!_this3.model.isLocked()) {
									_context.next = 1;
									break;
								}
								return _context.abrupt("return");
							case 1:
								_this3.closeContextMenu();
								_context.prev = 2;
								_context.next = 3;
								return elementor.templates.renameTemplate(_this3.model, { onConfirm: function onConfirm() {
									return _this3.showToggleMoreLoader();
								} });
							case 3:
								_context.prev = 3;
								_this3.hideToggleMoreLoader();
								if (_this3.ui.toggleMore && _this3.ui.toggleMore.length) _this3.ui.toggleMore.trigger("focus");
								return _context.finish(3);
							case 4:
							case "end": return _context.stop();
						}
					}, _callee, null, [[
						2,
						,
						3,
						4
					]]);
				}))();
			},
			onMoveClick: function onMoveClick() {
				if (this.model.isLocked()) return;
				$e.route("library/save-template", {
					model: this.model,
					context: SAVE_CONTEXTS.MOVE
				});
			},
			onCopyClick: function onCopyClick() {
				if (this.model.isLocked()) return;
				$e.route("library/save-template", {
					model: this.model,
					context: SAVE_CONTEXTS.COPY
				});
			},
			onExportClick: function onExportClick(e) {
				e.stopPropagation();
				if (this.model.isLocked()) e.preventDefault();
			},
			showToggleMoreLoader: function showToggleMoreLoader() {
				this.ui.toggleMoreIcon.removeClass("eicon-ellipsis-h").addClass("eicon-loading eicon-animation-spin");
			},
			hideToggleMoreLoader: function hideToggleMoreLoader() {
				this.ui.toggleMoreIcon.addClass("eicon-ellipsis-h").removeClass("eicon-loading eicon-animation-spin");
			},
			onSelectBulkSelectionItemCheckbox: function onSelectBulkSelectionItemCheckbox(event) {
				var _event$target;
				event.stopPropagation();
				if (event !== null && event !== void 0 && (_event$target = event.target) !== null && _event$target !== void 0 && _event$target.checked) {
					elementor.templates.addBulkSelectionItem(event.target.dataset.template_id, event.target.dataset.type);
					this.$el.addClass("bulk-selected-item");
				} else {
					elementor.templates.removeBulkSelectionItem(event.target.dataset.template_id, event.target.dataset.type);
					this.$el.removeClass("bulk-selected-item");
				}
				this.updateRowSelectionAttributes();
				elementor.templates.layout.handleBulkActionBarUi();
			}
		});
		module.exports = TemplateLibraryTemplateLocalView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/template/remote.js
	var require_remote = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_editor_one_events();
		var TemplateLibraryTemplateView = require_base();
		var TemplateLibraryTemplateRemoteView = TemplateLibraryTemplateView.extend({
			template: "#tmpl-elementor-template-library-template-remote",
			attributes: function attributes() {
				return jQuery.extend(TemplateLibraryTemplateView.prototype.attributes.apply(this, arguments), {
					tabindex: "0",
					"aria-label": this.model.get("title") || ""
				});
			},
			ui: function ui() {
				return jQuery.extend(TemplateLibraryTemplateView.prototype.ui.apply(this, arguments), { favoriteCheckbox: ".elementor-template-library-template-favorite-input" });
			},
			events: function events() {
				return jQuery.extend(TemplateLibraryTemplateView.prototype.events.apply(this, arguments), { "change @ui.favoriteCheckbox": "onFavoriteCheckboxChange" });
			},
			onPreviewButtonClick: function onPreviewButtonClick(event) {
				event.stopPropagation();
				$e.route("library/preview", { model: this.model });
			},
			onFavoriteCheckboxChange: function onFavoriteCheckboxChange() {
				var _elementor$config$lib;
				var isFavorite = this.ui.favoriteCheckbox[0].checked;
				this.model.set("favorite", isFavorite);
				elementor.templates.markAsFavorite(this.model, isFavorite);
				var baseTier = (_elementor$config$lib = elementor.config.library_connect) === null || _elementor$config$lib === void 0 ? void 0 : _elementor$config$lib.base_access_tier;
				var templateTier = this.model.get("accessTier");
				EditorOneEventManager.sendELibraryFavorite({
					assetId: this.model.get("template_id"),
					assetName: this.model.get("title"),
					libraryType: this.model.get("type") || this.model.get("source"),
					isFavorite,
					proRequired: baseTier !== templateTier
				});
				if (!isFavorite && elementor.templates.getFilter("favorite")) elementor.channels.templates.trigger("filter:change");
			}
		});
		module.exports = TemplateLibraryTemplateRemoteView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/template/cloud.js
	var require_cloud = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TemplateLibraryTemplateLocalView = require_local();
		var TemplateLibraryTemplateCloudView = TemplateLibraryTemplateLocalView.extend({
			className: function className() {
				var view = elementor.templates.getViewSelection();
				var subType = "FOLDER" === this.model.get("subType") ? "folder" : "template";
				var classes = TemplateLibraryTemplateLocalView.prototype.className.apply(this, arguments);
				classes += " elementor-template-library-template-view-" + view;
				classes += " elementor-template-library-template-type-" + subType;
				return classes;
			},
			attributes: function attributes() {
				if ("grid" === elementor.templates.getViewSelection()) {
					var data = this.model.toJSON();
					return {
						"data-template_id": data.template_id,
						"data-type": data.type,
						"data-status": data.status,
						tabindex: "0",
						"aria-label": data.title || ""
					};
				}
			},
			ui: function ui() {
				return _.extend(TemplateLibraryTemplateLocalView.prototype.ui.apply(this, arguments), {
					previewImg: ".elementor-template-library-template-thumbnail img",
					insertButton: ".elementor-template-library-template-insert"
				});
			},
			events: function events() {
				return _.extend(TemplateLibraryTemplateLocalView.prototype.events.apply(this, arguments), { keydown: "onGridCardKeyDown" });
			},
			modelEvents: _.extend({}, TemplateLibraryTemplateLocalView.prototype.modelEvents, { "change:preview_url": "onPreviewUrlChange" }),
			onGridCardKeyDown: function onGridCardKeyDown(event) {
				if ("grid" !== elementor.templates.getViewSelection()) return;
				if (event.target !== this.el) return;
				if ("Enter" === event.key || " " === event.key) {
					event.preventDefault();
					if ("FOLDER" === this.model.get("subType")) $e.route("library/view-folder", {
						model: this.model,
						onAfter: function onAfter() {
							elementor.templates.resetBulkActionBar();
						}
					});
					else this.handleGridViewItemSingleClick();
				}
			},
			onRender: function onRender() {
				var previewUrl = this.model.get("preview_url");
				if (this.shouldGeneratePreview()) {
					this.iframe = elementor.templates.layout.createScreenshotIframe(this.model.get("generate_preview_url"));
					this.isGeneratingPreview = true;
				}
				if (previewUrl) this.updatePreviewImgStyle();
			},
			onPreviewUrlChange: function onPreviewUrlChange() {
				var previewUrl = this.model.get("preview_url");
				this.isGeneratingPreview = false;
				if (previewUrl) {
					this.ui.previewImg.attr("src", previewUrl);
					this.updatePreviewImgStyle();
					this.model.set("generate_preview_url", null);
					this.iframe.remove();
				}
			},
			updatePreviewImgStyle: function updatePreviewImgStyle() {
				var _this = this;
				var img = this.ui.previewImg[0];
				if (!img) return;
				var applyObjectFit = function applyObjectFit() {
					if ("cover" === (img.naturalHeight > 2e3 ? "cover" : "contain")) {
						_this.ui.previewImg.css("object-fit", "cover");
						_this.ui.previewImg.css("object-position", "top");
					}
				};
				if (img.complete && img.naturalHeight > 0) applyObjectFit();
				else img.onload = applyObjectFit;
			},
			shouldGeneratePreview: function shouldGeneratePreview() {
				var view = elementor.templates.getViewSelection();
				return "FOLDER" !== this.model.get("subType") && this.model.get("generate_preview_url") && !this.model.get("preview_url") && "grid" === view && !this.isGeneratingPreview;
			},
			onPreviewButtonClick: function onPreviewButtonClick(event) {
				event.stopPropagation();
				if ("FOLDER" === this.model.get("subType")) $e.route("library/view-folder", {
					model: this.model,
					onAfter: function onAfter() {
						elementor.templates.resetBulkActionBar();
					}
				});
				if ("TEMPLATE" === this.model.get("subType")) this.handleGridViewItemSingleClick();
			},
			onDeleteButtonClick: function onDeleteButtonClick(event) {
				event.stopPropagation();
				if ("FOLDER" === this.model.get("subType")) {
					this.handleDeleteFolderClick();
					return;
				}
				TemplateLibraryTemplateLocalView.prototype.onDeleteButtonClick.apply(this, arguments);
			},
			handleDeleteFolderClick: function handleDeleteFolderClick() {
				var toggleMoreIcon = this.ui.toggleMoreIcon;
				elementor.templates.deleteFolder(this.model, {
					onConfirm: function onConfirm() {
						toggleMoreIcon.removeClass("eicon-ellipsis-h").addClass("eicon-loading eicon-animation-spin");
					},
					onSuccess: function onSuccess() {
						$e.routes.refreshContainer("library");
					}
				});
			},
			handleItemSingleClick: function handleItemSingleClick() {
				if ("grid" === elementor.templates.getViewSelection()) this.handleGridViewItemSingleClick();
				else this.handleListViewItemSingleClick();
			},
			handleItemDoubleClick: function handleItemDoubleClick() {
				if ("FOLDER" === this.model.get("subType")) $e.route("library/view-folder", {
					model: this.model,
					onAfter: function onAfter() {
						elementor.templates.resetBulkActionBar();
					}
				});
			},
			handleGridViewItemSingleClick: function handleGridViewItemSingleClick() {
				if (this.$el.hasClass("bulk-selected-item")) elementor.templates.removeBulkSelectionItem(this.model.get("template_id"), this.model.get("type"));
				else elementor.templates.addBulkSelectionItem(this.model.get("template_id"), this.model.get("type"));
				this.$el.toggleClass("bulk-selected-item");
				elementor.templates.layout.handleBulkActionBar();
			}
		});
		module.exports = TemplateLibraryTemplateCloudView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/templates-empty.js
	var require_templates_empty = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TemplateLibraryTemplatesEmptyView = Marionette.ItemView.extend({
			tagName: "main",
			id: "elementor-template-library-templates-empty",
			template: "#tmpl-elementor-template-library-templates-empty",
			ui: {
				title: ".elementor-template-library-blank-title",
				message: ".elementor-template-library-blank-message",
				icon: ".elementor-template-library-blank-icon",
				button: ".elementor-template-library-cloud-empty__button",
				backToEditor: ".e-back-to-editor"
			},
			events: { "click @ui.backToEditor": "closeLibrary" },
			closeLibrary: function closeLibrary(event) {
				event.preventDefault();
				$e.run("library/close");
			},
			modesStrings: function modesStrings() {
				var defaultIcon = this.getDefaultIcon();
				return {
					empty: {
						title: (0, _wordpress_i18n.__)("Haven’t Saved Templates Yet?", "elementor"),
						message: (0, _wordpress_i18n.__)("This is where your templates should be. Design it. Save it. Reuse it.", "elementor"),
						icon: defaultIcon,
						button: ""
					},
					noResults: {
						title: (0, _wordpress_i18n.__)("No Results Found", "elementor"),
						message: (0, _wordpress_i18n.__)("Please make sure your search is spelled correctly or try a different words.", "elementor"),
						icon: defaultIcon,
						button: ""
					},
					noFavorites: {
						title: (0, _wordpress_i18n.__)("No Favorite Templates", "elementor"),
						message: (0, _wordpress_i18n.__)("You can mark any pre-designed template as a favorite.", "elementor"),
						icon: defaultIcon,
						button: ""
					},
					cloudEmpty: {
						title: (0, _wordpress_i18n.__)("No templates saved just yet", "elementor"),
						message: (0, _wordpress_i18n.__)("Once you save a template, it’ll show up here, ready for reuse across all of your Elementor sites—no extra work needed.", "elementor"),
						icon: this.getCloudIcon(),
						button: "<a class=\"e-back-to-editor\">".concat((0, _wordpress_i18n.__)("Back to editor", "elementor"), "</a>")
					},
					cloudFolderEmpty: {
						title: (0, _wordpress_i18n.__)("No templates to show here, yet", "elementor"),
						message: (0, _wordpress_i18n.__)("Once you save some templates to this folder, you can use them on any website you’re working on.", "elementor"),
						icon: this.getEmptyFolderIcon(),
						button: "<a class=\"e-back-to-editor\">".concat((0, _wordpress_i18n.__)("Back to editor", "elementor"), "</a>")
					}
				};
			},
			getDefaultIcon: function getDefaultIcon() {
				return "<img src=\"".concat(elementorCommon.config.urls.assets, "images/no-search-results.svg\" class=\"elementor-template-library-no-results\" loading=\"lazy\" />");
			},
			getCloudIcon: function getCloudIcon() {
				return "<i class=\"eicon-library-cloud-empty\" aria-hidden=\"true\" title=\"Empty Cloud Library\"></i>";
			},
			getEmptyFolderIcon: function getEmptyFolderIcon() {
				return "<i class=\"eicon-library-folder-empty\" aria-hidden=\"true\" title=\"Empty folder\"></i>";
			},
			getCurrentMode: function getCurrentMode() {
				if (elementor.templates.getFilter("text")) return "noResults";
				if (elementor.templates.getFilter("favorite")) return "noFavorites";
				if ("cloud" === elementor.templates.getFilter("source")) return null !== elementor.templates.getFilter("parent") ? "cloudFolderEmpty" : "cloudEmpty";
				return "empty";
			},
			onRender: function onRender() {
				var modeStrings = this.modesStrings()[this.getCurrentMode()];
				this.ui.title.html(modeStrings.title);
				this.ui.message.html(modeStrings.message);
				this.ui.button.html(modeStrings.button);
				this.ui.icon.html(modeStrings.icon);
			}
		});
		module.exports = TemplateLibraryTemplatesEmptyView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/templates.js
	var require_templates$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_asyncToGenerator();
		var import_regenerator$11 = /* @__PURE__ */ __toESM(require_regenerator());
		init_select2();
		init_keyboard_nav();
		init_constants();
		var TemplateLibraryTemplateLocalView = require_local();
		var TemplateLibraryTemplateRemoteView = require_remote();
		var TemplateLibraryTemplateCloudView = require_cloud();
		var TemplateLibraryCollectionView = Marionette.CompositeView.extend({
			tagName: "main",
			template: "#tmpl-elementor-template-library-templates",
			id: "elementor-template-library-templates",
			childViewContainer: "#elementor-template-library-templates-container",
			reorderOnSort: true,
			emptyView: function emptyView() {
				return new (require_templates_empty())();
			},
			ui: {
				textFilter: "#elementor-template-library-filter-text",
				selectFilter: ".elementor-template-library-filter-select",
				myFavoritesFilter: "#elementor-template-library-filter-my-favorites",
				orderInputs: ".elementor-template-library-order-input",
				orderLabels: "label.elementor-template-library-order-label",
				searchInputIcon: "#elementor-template-library-filter-text-wrapper i",
				loadMoreAnchor: "#elementor-template-library-load-more-anchor",
				sourceFilterRadiogroup: ".elementor-template-library-filter-select-source",
				selectSourceFilter: ".elementor-template-library-filter-select-source .source-option",
				addNewFolder: "#elementor-template-library-add-new-folder",
				addNewFolderDivider: ".elementor-template-library-filter-toolbar-side-actions .divider",
				selectGridView: "#elementor-template-library-view-grid",
				selectListView: "#elementor-template-library-view-list",
				bulkSelectionActionBar: ".bulk-selection-action-bar",
				bulkActionBarDelete: ".bulk-selection-action-bar .bulk-delete",
				bulkSelectedCount: ".bulk-selection-action-bar .selected-count",
				bulkSelectAllCheckbox: "#bulk-select-all",
				clearBulkSelections: ".bulk-selection-action-bar .clear-bulk-selections",
				bulkMove: ".bulk-selection-action-bar .bulk-move",
				bulkCopy: ".bulk-selection-action-bar .bulk-copy",
				quota: ".quota-progress-container .quota-progress-bar",
				quotaFill: ".quota-progress-container  .quota-progress-bar .quota-progress-bar-fill",
				quotaValue: ".quota-progress-container .quota-progress-bar-value",
				quotaWarning: ".quota-progress-container .progress-bar-container .quota-warning",
				quotaUpgrade: ".quota-progress-container .progress-bar-container .quota-warning a",
				quotaStatus: "#elementor-template-library-quota-status",
				navigationContainer: "#elementor-template-library-navigation-container",
				sourceOptionBadges: ".source-option-badge.variant-b-only",
				cloudBadge: ".source-option-badge.cloud-badge",
				siteBadge: ".source-option-badge.site-badge",
				sortStatus: "#elementor-template-library-sort-status",
				loadStatus: "#elementor-template-library-load-status"
			},
			events: {
				"input @ui.textFilter": "onTextFilterInput",
				"change @ui.selectFilter": "onSelectFilterChange",
				"change @ui.myFavoritesFilter": "onMyFavoritesFilterChange",
				"mousedown @ui.orderLabels": "onOrderLabelsClick",
				"click @ui.selectSourceFilter": "onSelectSourceFilterChange",
				"keydown @ui.selectSourceFilter": "onSelectSourceFilterKeyDown",
				"click @ui.addNewFolder": "onCreateNewFolderClick",
				"click @ui.selectGridView": "onSelectGridViewClick",
				"click @ui.selectListView": "onSelectListViewClick",
				"change @ui.bulkSelectAllCheckbox": "onBulkSelectAllCheckbox",
				"click @ui.clearBulkSelections": "onClearBulkSelections",
				"mouseenter @ui.bulkMove": "onHoverBulkAction",
				"mouseenter @ui.bulkCopy": "onHoverBulkAction",
				"click @ui.bulkMove": "onClickBulkMove",
				"click @ui.bulkActionBarDelete": "onBulkDeleteClick",
				"click @ui.bulkCopy": "onClickBulkCopy",
				"click @ui.quotaUpgrade": "onQuotaUpgradeClicked",
				"mouseenter @ui.cloudBadge": "showCloudBadgeTooltip",
				"mouseenter @ui.siteBadge": "showSiteBadgeTooltip",
				"mouseleave @ui.cloudBadge": "hideCloudBadgeTooltip",
				"mouseleave @ui.siteBadge": "hideSiteBadgeTooltip"
			},
			className: "no-bulk-selections",
			resetQuotaBarStyles: function resetQuotaBarStyles() {
				this.ui.quota.removeClass([
					"quota-progress-bar-normal",
					"quota-progress-bar-warning",
					"quota-progress-bar-alert"
				]);
				this.ui.quotaFill.removeClass([
					"quota-progress-bar-fill-normal",
					"quota-progress-bar-fill-warning",
					"quota-progress-bar-fill-alert"
				]);
			},
			setQuotaBarStyles: function setQuotaBarStyles(variant) {
				this.ui.quota.addClass("quota-progress-bar-".concat(variant));
				this.ui.quotaFill.addClass("quota-progress-bar-fill-".concat(variant));
			},
			handleQuotaWarning: function handleQuotaWarning(variant, quotaUsage) {
				var message = QUOTA_WARNINGS[variant];
				if (!message) return;
				this.ui.quotaWarning.html((0, _wordpress_i18n.sprintf)(message, quotaUsage));
				this.ui.quotaWarning.show();
			},
			handleQuotaBar: function handleQuotaBar() {
				var _elementorAppConfig;
				var _quota$currentUsage;
				var _quota$threshold;
				var quota = (_elementorAppConfig = elementorAppConfig) === null || _elementorAppConfig === void 0 || (_elementorAppConfig = _elementorAppConfig["cloud-library"]) === null || _elementorAppConfig === void 0 ? void 0 : _elementorAppConfig.quota;
				var value = quota ? Math.round(quota.currentUsage / quota.threshold * 100) : 0;
				this.ui.quotaFill.css("width", "".concat(value, "%"));
				this.ui.quotaValue.text("".concat(quota === null || quota === void 0 || (_quota$currentUsage = quota.currentUsage) === null || _quota$currentUsage === void 0 ? void 0 : _quota$currentUsage.toLocaleString(), "/").concat(quota === null || quota === void 0 || (_quota$threshold = quota.threshold) === null || _quota$threshold === void 0 ? void 0 : _quota$threshold.toLocaleString()));
				this.ui.quotaWarning.hide();
				this.resetQuotaBarStyles();
				var quotaState = this.resolveQuotaState(value);
				this.handleQuotaWarning(quotaState, value);
				this.setQuotaBarStyles(quotaState);
				if (this.ui.quota.length) this.ui.quota.attr({ "aria-valuenow": value });
				if (quota && this.ui.quotaStatus.length) {
					var statusText = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("%1$s of %2$s templates used", "elementor"), quota.currentUsage.toLocaleString(), quota.threshold.toLocaleString());
					this.ui.quotaStatus.text(statusText);
				}
			},
			resolveQuotaState: function resolveQuotaState(value) {
				if (value < 80) return QUOTA_BAR_STATES.NORMAL;
				else if (value < 100) return QUOTA_BAR_STATES.WARNING;
				return QUOTA_BAR_STATES.ALERT;
			},
			onClearBulkSelections: function onClearBulkSelections() {
				elementor.templates.clearBulkSelectionItems();
				elementor.templates.layout.handleBulkActionBar();
				elementor.templates.layout.selectAllCheckboxNormal();
				this.deselectAllBulkItems();
			},
			deselectAllBulkItems: function deselectAllBulkItems() {
				if ("list" === elementor.templates.getViewSelection() || "local" === elementor.templates.getFilter("source")) this.ui.bulkSelectAllCheckbox.prop("checked", false).trigger("change");
				else document.querySelectorAll(".bulk-selected-item").forEach(function(item) {
					item.classList.remove("bulk-selected-item");
					item.setAttribute("aria-selected", "false");
					item.setAttribute("tabindex", "-1");
					var checkbox = item.querySelector(".bulk-selection-item-checkbox");
					if (checkbox) {
						checkbox.checked = false;
						checkbox.setAttribute("aria-checked", "false");
					}
				});
			},
			onBulkSelectAllCheckbox: function onBulkSelectAllCheckbox() {
				var isChecked = this.$("#bulk-select-all:checked").length > 0;
				if (isChecked) elementor.templates.layout.selectAllCheckboxNormal();
				this.updateBulkSelectedItems(isChecked);
				elementor.templates.layout.handleBulkActionBarUi();
			},
			updateBulkSelectedItems: function updateBulkSelectedItems(isChecked) {
				document.querySelectorAll(".bulk-selection-item-checkbox").forEach(function(checkbox) {
					checkbox.checked = isChecked;
					checkbox.setAttribute("aria-checked", String(isChecked));
					var templateId = checkbox.dataset.template_id;
					var type = checkbox.dataset.type;
					var parentDiv = checkbox.closest(".elementor-template-library-template");
					if (isChecked) {
						elementor.templates.addBulkSelectionItem(templateId, type);
						parentDiv === null || parentDiv === void 0 || parentDiv.classList.add("bulk-selected-item");
					} else {
						elementor.templates.removeBulkSelectionItem(templateId, type);
						parentDiv === null || parentDiv === void 0 || parentDiv.classList.remove("bulk-selected-item");
					}
					if (parentDiv) {
						parentDiv.setAttribute("aria-selected", String(isChecked));
						parentDiv.setAttribute("tabindex", isChecked ? "0" : "-1");
					}
				});
			},
			onBulkDeleteClick: function onBulkDeleteClick() {
				var _this = this;
				this.ui.bulkActionBarDelete.toggleClass("disabled");
				elementor.templates.onBulkDeleteClick().finally(function() {
					_this.ui.bulkActionBarDelete.toggleClass("disabled");
					elementor.templates.layout.handleBulkActionBar();
				});
			},
			comparators: {
				title: function title(model) {
					return model.get("title").toLowerCase();
				},
				popularityIndex: function popularityIndex(model) {
					var popularityIndex = model.get("popularityIndex");
					if (!popularityIndex) popularityIndex = model.get("date");
					return -popularityIndex;
				},
				trendIndex: function trendIndex(model) {
					var trendIndex = model.get("trendIndex");
					if (!trendIndex) trendIndex = model.get("date");
					return -trendIndex;
				}
			},
			getChildView: function getChildView(childModel) {
				var sourceMappings = {
					local: TemplateLibraryTemplateLocalView,
					remote: TemplateLibraryTemplateRemoteView,
					cloud: TemplateLibraryTemplateCloudView
				};
				var activeSource = childModel.get("source") ? childModel.get("source") : "local";
				return elementor.hooks.applyFilters("templates/source/is-remote", "remote" === activeSource, activeSource) ? TemplateLibraryTemplateRemoteView : sourceMappings[activeSource] || TemplateLibraryTemplateLocalView;
			},
			initialize: function initialize() {
				this.handleQuotaBar = this.handleQuotaBar.bind(this);
				this.handleQuotaUpdate = this.handleQuotaUpdate.bind(this);
				this.handleSourceFilterChange = this.handleSourceFilterChange.bind(this);
				this.listenTo(elementor.channels.templates, "filter:change", this._renderChildren);
				this.listenTo(elementor.channels.templates, "filter:change", this.handleSourceOptionBadges);
				this.listenTo(elementor.channels.templates, "filter:change", this.handleSourceFilterChange);
				this.listenTo(elementor.channels.templates, "quota:updated", this.handleQuotaUpdate);
				this.debouncedSearchTemplates = _.debounce(this.searchTemplates, 300);
			},
			handleQuotaUpdate: function handleQuotaUpdate() {
				var _elementor$templates$;
				var _this2 = this;
				if ("cloud" === ((_elementor$templates$ = elementor.templates.getFilter("source")) !== null && _elementor$templates$ !== void 0 ? _elementor$templates$ : "local")) $e.components.get("cloud-library").utils.getQuotaConfig().then(function() {
					_this2.handleQuotaBar();
				});
			},
			handleSourceFilterChange: function handleSourceFilterChange(filterName) {
				if ("source" === filterName) {
					var _elementor$templates$2;
					var activeSource = (_elementor$templates$2 = elementor.templates.getFilter("source")) !== null && _elementor$templates$2 !== void 0 ? _elementor$templates$2 : "local";
					this.updateSourceFilterAriaAttributes(activeSource);
				}
			},
			updateSourceFilterAriaAttributes: function updateSourceFilterAriaAttributes(selectedSource) {
				if (!this.ui.selectSourceFilter.length) return;
				this.ui.selectSourceFilter.each(function() {
					var $option = jQuery(this);
					var isSelected = $option.data("source") === selectedSource;
					$option.attr({
						"aria-checked": isSelected ? "true" : "false",
						tabindex: isSelected ? "0" : "-1"
					});
				});
			},
			filter: function filter(childModel) {
				if ("cloud" === elementor.templates.getFilter("source")) return true;
				var filterTerms = elementor.templates.getFilterTerms();
				var passingFilter = true;
				jQuery.each(filterTerms, function(filterTermName) {
					var filterValue = elementor.templates.getFilter(filterTermName);
					if (!filterValue) return;
					if (this.callback) {
						var callbackResult = this.callback.call(childModel, filterValue);
						if (!callbackResult) passingFilter = false;
						return callbackResult;
					}
					var filterResult = filterValue === childModel.get(filterTermName);
					if (!filterResult) passingFilter = false;
					return filterResult;
				});
				return passingFilter;
			},
			order: function order(by, reverseOrder) {
				var comparator = this.comparators[by] || by;
				if ("cloud" === elementor.templates.getFilter("source")) {
					this.handleCloudOrder(by, reverseOrder);
					return;
				}
				if (reverseOrder) comparator = this.reverseOrder(comparator);
				this.collection.comparator = comparator;
				this.collection.sort();
				this.announceSortStatus(by, reverseOrder);
			},
			announceSortStatus: function announceSortStatus(by, reverseOrder) {
				var orderLabels = {
					title: (0, _wordpress_i18n.__)("Name", "elementor"),
					type: (0, _wordpress_i18n.__)("Type", "elementor"),
					author: (0, _wordpress_i18n.__)("Created By", "elementor"),
					date: (0, _wordpress_i18n.__)("Creation Date", "elementor")
				};
				var orderDirection = reverseOrder ? (0, _wordpress_i18n.__)("descending", "elementor") : (0, _wordpress_i18n.__)("ascending", "elementor");
				var sortLabel = orderLabels[by] || by;
				var message = (0, _wordpress_i18n.__)("Sorted by", "elementor") + " " + sortLabel + ", " + orderDirection;
				if (this.ui.sortStatus.length) this.ui.sortStatus.text(message);
			},
			announceLoadStatus: function announceLoadStatus(count) {
				var message = count + " " + (0, _wordpress_i18n.__)("more templates loaded", "elementor");
				if (this.ui.loadStatus.length) this.ui.loadStatus.text(message);
			},
			handleCloudOrder: function handleCloudOrder(by, reverseOrder) {
				var _this3 = this;
				elementor.templates.setFilter("orderby", by);
				elementor.templates.setFilter("order", reverseOrder ? "desc" : "asc");
				this.onClearBulkSelections();
				this.collection.reset();
				elementor.templates.layout.showLoadingView();
				elementor.templates.loadMore({
					onUpdate: function onUpdate() {
						elementor.templates.layout.hideLoadingView();
						_this3.announceSortStatus(by, reverseOrder);
					},
					search: this.ui.textFilter.val(),
					refresh: true
				});
			},
			reverseOrder: function reverseOrder(comparator) {
				if ("function" !== typeof comparator) {
					var comparatorValue = comparator;
					comparator = function comparator(model) {
						return model.get(comparatorValue);
					};
				}
				return function(left, right) {
					var l = comparator(left);
					if (void 0 === l) return -1;
					var r = comparator(right);
					if (void 0 === r) return 1;
					if (l < r) return 1;
					if (l > r) return -1;
					return 0;
				};
			},
			addSourceData: function addSourceData() {
				var isEmpty = this.children.isEmpty();
				this.$el.attr("data-template-source", isEmpty ? "empty" : elementor.templates.getFilter("source"));
			},
			addViewData: function addViewData() {
				var view = elementor.templates.getViewSelection();
				this.$el.attr("data-template-view", view);
			},
			setFiltersUI: function setFiltersUI() {
				if (!this.select2Instance && this.$(this.ui.selectFilter).length) {
					var $filters = this.$(this.ui.selectFilter);
					var select2Options = {
						placeholder: (0, _wordpress_i18n.__)("Category", "elementor"),
						allowClear: true,
						width: 150,
						dropdownParent: this.$el
					};
					this.select2Instance = new Select2({
						$element: $filters,
						options: select2Options
					});
				}
			},
			setMasonrySkin: function setMasonrySkin() {
				var masonry = new elementorModules.utils.Masonry({
					container: this.$childViewContainer,
					items: this.$childViewContainer.children()
				});
				this.$childViewContainer.imagesLoaded(masonry.run.bind(masonry));
			},
			toggleFilterClass: function toggleFilterClass() {
				this.$el.toggleClass("elementor-templates-filter-active", !!(elementor.templates.getFilter("text") || elementor.templates.getFilter("favorite")));
			},
			isPageOrLandingPageTemplates: function isPageOrLandingPageTemplates() {
				var templatesType = elementor.templates.getFilter("type");
				return "page" === templatesType || "lp" === templatesType;
			},
			onDestroy: function onDestroy() {
				if (this.removeScrollListener) this.removeScrollListener();
			},
			shouldShowVariantB: function shouldShowVariantB() {
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$11.default.mark(function _callee() {
					var experimentVariant;
					return import_regenerator$11.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								_context.next = 1;
								return elementor.templates.eventManager.getSaveTemplateExperimentVariant();
							case 1:
								experimentVariant = _context.sent;
								return _context.abrupt("return", "B" === experimentVariant);
							case 2:
							case "end": return _context.stop();
						}
					}, _callee);
				}))();
			},
			handleSourceOptionBadges: function handleSourceOptionBadges() {
				var _this4 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$11.default.mark(function _callee2() {
					var shouldShow;
					var activeSource;
					return import_regenerator$11.default.wrap(function(_context2) {
						while (1) switch (_context2.prev = _context2.next) {
							case 0:
								_context2.next = 1;
								return _this4.shouldShowVariantB();
							case 1:
								shouldShow = _context2.sent;
								if (shouldShow) {
									_context2.next = 2;
									break;
								}
								_this4.ui.sourceOptionBadges.hide();
								return _context2.abrupt("return");
							case 2:
								activeSource = elementor.templates.getFilter("source");
								_this4.$(".source-option-badge.site-badge").toggle("local" === activeSource);
								_this4.$(".source-option-badge.cloud-badge").toggle("cloud" === activeSource);
							case 3:
							case "end": return _context2.stop();
						}
					}, _callee2);
				}))();
			},
			onRender: function onRender() {
				elementor.templates.clearBulkSelectionItems();
				var activeSource = elementor.templates.getFilter("source");
				var templateType = elementor.templates.getFilter("type");
				if ("remote" === activeSource && "page" !== templateType && "lb" !== templateType) this.setFiltersUI();
				if ("cloud" === activeSource) {
					var location = elementor.templates.getFilter("parentId") ? elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTabFolder : elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTab;
					elementor.templates.eventManager.sendPageViewEvent({ location });
					this.handleQuotaBar();
				}
				if ("local" === activeSource) elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.siteTab });
				this.handleSourceOptionBadges();
			},
			onRenderCollection: function onRenderCollection() {
				this.addSourceData();
				this.toggleFilterClass();
				var activeSource = elementor.templates.getFilter("source");
				if ("remote" === activeSource && !this.isPageOrLandingPageTemplates()) this.setMasonrySkin();
				if ("cloud" === activeSource) {
					this.handleLoadMore();
					this.addViewData();
					this.handleQuotaUpdate();
				}
				this.handleSourceOptionBadges();
			},
			onBeforeRenderEmpty: function onBeforeRenderEmpty() {
				this.addSourceData();
			},
			onTextFilterInput: function onTextFilterInput() {
				var activeSource = elementor.templates.getFilter("source");
				if (["cloud", "local"].includes(activeSource)) {
					elementor.templates.clearBulkSelectionItems();
					elementor.templates.layout.handleBulkActionBar();
				}
				if ("cloud" === activeSource) {
					this.debouncedSearchTemplates(activeSource);
					return;
				}
				elementor.templates.setFilter("text", this.ui.textFilter.val());
			},
			searchTemplates: function searchTemplates(source) {
				var _this5 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$11.default.mark(function _callee3() {
					return import_regenerator$11.default.wrap(function(_context3) {
						while (1) switch (_context3.prev = _context3.next) {
							case 0:
								_this5.showLoadingSpinner();
								_context3.prev = 1;
								_context3.next = 2;
								return elementor.templates.searchTemplates({
									source,
									search: _this5.ui.textFilter.val()
								});
							case 2:
								_context3.prev = 2;
								_this5.showSearchIcon();
								return _context3.finish(2);
							case 3:
							case "end": return _context3.stop();
						}
					}, _callee3, null, [[
						1,
						,
						2,
						3
					]]);
				}))();
			},
			showLoadingSpinner: function showLoadingSpinner() {
				this.ui.searchInputIcon.removeClass("eicon-search").addClass("eicon-loading eicon-animation-spin");
			},
			showSearchIcon: function showSearchIcon() {
				this.ui.searchInputIcon.removeClass("eicon-loading eicon-animation-spin").addClass("eicon-search");
			},
			onSelectFilterChange: function onSelectFilterChange(event) {
				var $select = jQuery(event.currentTarget);
				var filterName = $select.data("elementor-filter");
				elementor.templates.setFilter(filterName, $select.val());
			},
			onSelectSourceFilterChange: function onSelectSourceFilterChange(event) {
				elementor.templates.onSelectSourceFilterChange(event);
			},
			onSelectSourceFilterKeyDown: function onSelectSourceFilterKeyDown(event) {
				var _this6 = this;
				if (rovingTabindex({
					event,
					$items: this.ui.selectSourceFilter,
					orientation: "both",
					activateOnFocus: true,
					homeEnd: false,
					onActivate: function onActivate(e, $item) {
						_this6._restoreFocusToSourceFilter = true;
						$item.trigger("click");
					}
				})) this._restoreFocusToSourceFilter = true;
			},
			onSelectGridViewClick: function onSelectGridViewClick() {
				elementor.templates.onSelectViewChange("grid");
			},
			onSelectListViewClick: function onSelectListViewClick() {
				elementor.templates.onSelectViewChange("list");
			},
			onMyFavoritesFilterChange: function onMyFavoritesFilterChange() {
				elementor.templates.setFilter("favorite", this.ui.myFavoritesFilter[0].checked);
			},
			onOrderLabelsClick: function onOrderLabelsClick(event) {
				var $clickedInput = jQuery(event.currentTarget.control);
				var toggle;
				if (!$clickedInput[0].checked) toggle = "asc" !== $clickedInput.data("default-ordering-direction");
				else toggle = !$clickedInput.hasClass("elementor-template-library-order-reverse");
				$clickedInput.prop("checked", true);
				$clickedInput.toggleClass("elementor-template-library-order-reverse", toggle);
				this.order($clickedInput.val(), toggle);
			},
			handleLoadMore: function handleLoadMore() {
				var _elementor;
				var _this7 = this;
				if (this.removeScrollListener) this.removeScrollListener();
				var scrollableContainer = (_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.templates) === null || _elementor === void 0 || (_elementor = _elementor.layout) === null || _elementor === void 0 ? void 0 : _elementor.modal.getElements("message");
				var listener = function listener() {
					var scrollPercentage = scrollableContainer.scrollTop() / (scrollableContainer[0].scrollHeight - scrollableContainer.outerHeight()) * 100;
					var canLoadMore = elementor.templates.canLoadMore() && !elementor.templates.isLoading();
					if (scrollPercentage < 90 || !canLoadMore) return;
					_this7.ui.loadMoreAnchor.toggleClass("elementor-visibility-hidden");
					elementor.templates.layout.selectAllCheckboxMinus();
					var previousCount = _this7.collection.length;
					elementor.templates.loadMore({
						onUpdate: function onUpdate() {
							_this7.ui.loadMoreAnchor.toggleClass("elementor-visibility-hidden");
							var loadedCount = _this7.collection.length - previousCount;
							if (loadedCount > 0) _this7.announceLoadStatus(loadedCount);
						},
						search: _this7.ui.textFilter.val()
					});
				};
				scrollableContainer.on("scroll", listener);
				var focusListener = function focusListener(event) {
					if (!(elementor.templates.canLoadMore() && !elementor.templates.isLoading())) return;
					if (!_this7.$childViewContainer || !_this7.$childViewContainer.length) return;
					var $children = _this7.$childViewContainer.children();
					var totalChildren = $children.length;
					if (totalChildren < 2) return;
					var $target = jQuery(event.target);
					if ($children.index($target.closest($children)) >= totalChildren - 2) {
						_this7.ui.loadMoreAnchor.toggleClass("elementor-visibility-hidden");
						elementor.templates.layout.selectAllCheckboxMinus();
						var previousCount = _this7.collection.length;
						elementor.templates.loadMore({
							onUpdate: function onUpdate() {
								_this7.ui.loadMoreAnchor.toggleClass("elementor-visibility-hidden");
								var loadedCount = _this7.collection.length - previousCount;
								if (loadedCount > 0) _this7.announceLoadStatus(loadedCount);
							},
							search: _this7.ui.textFilter.val()
						});
					}
				};
				scrollableContainer.on("focusin", focusListener);
				this.removeScrollListener = function() {
					scrollableContainer.off("scroll", listener);
					scrollableContainer.off("focusin", focusListener);
				};
			},
			onCreateNewFolderClick: function onCreateNewFolderClick() {
				var activeSource = elementor.templates.getFilter("source");
				if ("cloud" !== activeSource) return;
				elementor.templates.createFolder({ source: activeSource }, { onSuccess: function onSuccess() {
					$e.routes.refreshContainer("library");
				} });
			},
			onHoverBulkAction: function onHoverBulkAction() {
				if (this.hasFolderInBulkSelection() || this.hasLockedTemplatesInBulkSelection()) {
					this.ui.bulkMove.find("i").css("cursor", "not-allowed");
					this.ui.bulkCopy.find("i").css("cursor", "not-allowed");
				} else {
					this.ui.bulkMove.find("i").css("cursor", "pointer");
					this.ui.bulkCopy.find("i").css("cursor", "pointer");
				}
			},
			onClickBulkMove: function onClickBulkMove() {
				if (this.hasFolderInBulkSelection() || this.hasLockedTemplatesInBulkSelection()) return;
				$e.route("library/save-template", {
					model: this.model,
					context: SAVE_CONTEXTS.BULK_MOVE
				});
			},
			hasFolderInBulkSelection: function hasFolderInBulkSelection() {
				var bulkSelectedItems = elementor.templates.getBulkSelectionItems();
				return this.collection.some(function(model) {
					var templateId = model.get("template_id");
					var type = model.get("type");
					return bulkSelectedItems.has(templateId) && "folder" === type;
				});
			},
			hasLockedTemplatesInBulkSelection: function hasLockedTemplatesInBulkSelection() {
				var bulkSelectedItems = elementor.templates.getBulkSelectionItems();
				return this.collection.some(function(model) {
					var templateId = model.get("template_id");
					return bulkSelectedItems.has(templateId) && model.isLocked();
				});
			},
			onClickBulkCopy: function onClickBulkCopy() {
				if (this.hasFolderInBulkSelection() || this.hasLockedTemplatesInBulkSelection()) return;
				$e.route("library/save-template", {
					model: this.model,
					context: SAVE_CONTEXTS.BULK_COPY
				});
			},
			onQuotaUpgradeClicked: function onQuotaUpgradeClicked() {
				var _elementorAppConfig2;
				var quota = (_elementorAppConfig2 = elementorAppConfig) === null || _elementorAppConfig2 === void 0 || (_elementorAppConfig2 = _elementorAppConfig2["cloud-library"]) === null || _elementorAppConfig2 === void 0 ? void 0 : _elementorAppConfig2.quota;
				var value = quota ? Math.round(quota.currentUsage / quota.threshold * 100) : 0;
				elementor.templates.eventManager.sendUpgradeClickedEvent({
					secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.quotaBar,
					upgrade_position: "quota bar ".concat(value ? value + "%" : "")
				});
			},
			showCloudBadgeTooltip: function showCloudBadgeTooltip() {
				if (this.cloudBadgeDialog) this.cloudBadgeDialog.hide();
				var emailReplacement = elementor.config.library_connect.is_connected ? elementor.config.library_connect.user_email : (0, _wordpress_i18n.__)("connected", "elementor");
				var message = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Only %s Elementor account can access Cloud Templates from any connected site.", "elementor"), emailReplacement);
				this.cloudBadgeDialog = elementor.dialogsManager.createWidget("buttons", {
					id: "elementor-library--cloud-upgrade__dialog",
					effects: {
						show: "show",
						hide: "hide"
					},
					position: {
						of: this.ui.cloudBadge,
						at: "top-50"
					}
				}).setMessage(message);
				this.cloudBadgeDialog.getElements("widget").addClass("variant-b");
				this.cloudBadgeDialog.getElements("header").remove();
				this.cloudBadgeDialog.getElements("buttonsWrapper").remove();
				this.cloudBadgeDialog.show();
			},
			hideCloudBadgeTooltip: function hideCloudBadgeTooltip() {
				if (this.cloudBadgeDialog) this.cloudBadgeDialog.hide();
			},
			showSiteBadgeTooltip: function showSiteBadgeTooltip() {
				if (this.siteBadgeDialog) this.siteBadgeDialog.hide();
				var message = (0, _wordpress_i18n.__)("Authorized users on this site can access Site Templates.", "elementor");
				this.siteBadgeDialog = elementor.dialogsManager.createWidget("buttons", {
					id: "elementor-library--site-info__dialog",
					effects: {
						show: "show",
						hide: "hide"
					},
					position: {
						of: this.ui.siteBadge,
						at: "top-35"
					}
				}).setMessage(message);
				this.siteBadgeDialog.getElements("widget").addClass("variant-b");
				this.siteBadgeDialog.getElements("header").remove();
				this.siteBadgeDialog.getElements("buttonsWrapper").remove();
				this.siteBadgeDialog.show();
			},
			hideSiteBadgeTooltip: function hideSiteBadgeTooltip() {
				if (this.siteBadgeDialog) this.siteBadgeDialog.hide();
			}
		});
		module.exports = TemplateLibraryCollectionView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/models/template.js
	var require_template = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Backbone.Model.extend({
			defaults: {
				template_id: 0,
				title: "",
				source: "",
				type: "",
				subtype: "",
				author: "",
				thumbnail: "",
				url: "",
				export_link: "",
				status: null,
				preview_url: null,
				generate_preview_url: null,
				tags: []
			},
			isLocked: function isLocked() {
				return "locked" === this.get("status");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/collections/templates.js
	var require_templates = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TemplateLibraryTemplateModel = require_template();
		var TemplateLibraryCollection = Backbone.Collection.extend({ model: TemplateLibraryTemplateModel });
		module.exports = TemplateLibraryCollection;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/folders/folder-empty.js
	var require_folder_empty = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			tagName: "li",
			className: "no-results",
			template: _.template((0, _wordpress_i18n.sprintf)("<i class=\"eicon-folder-plus\" aria-hidden=\"true\"></i><br><p>%1$s<br>%2$s</p>", (0, _wordpress_i18n.__)("Folders you create will appear here.", "elementor"), (0, _wordpress_i18n.__)("To create a new one, go to Cloud Templates.", "elementor")))
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/folders/folder-item.js
	var require_folder_item = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			tagName: "li",
			template: _.template("<i class=\"eicon-folder-o\" aria-hidden=\"true\"></i><%= title %>"),
			className: "folder-item",
			attributes: function attributes() {
				var data = this.model.toJSON();
				return {
					"data-id": data.template_id,
					"data-value": data.title,
					role: "option",
					tabindex: "-1"
				};
			},
			render: function render() {
				this.$el.html(this.template(this.model.toJSON()));
				return this;
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/folders/folders-list.js
	var require_folders_list = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var EmptyView = require_folder_empty();
		var FolderItemView = require_folder_item();
		module.exports = Marionette.CollectionView.extend({
			tagName: "ul",
			className: "folder-list",
			childView: FolderItemView,
			emptyView: EmptyView,
			attributes: {
				role: "listbox",
				"aria-label": "Folders"
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/save-template.js
	var require_save_template = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_asyncToGenerator();
		var import_regenerator$10 = /* @__PURE__ */ __toESM(require_regenerator());
		init_constants();
		init_keyboard_nav();
		var TemplateLibraryTemplateModel = require_template();
		var TemplateLibraryCollection = require_templates();
		var FolderCollectionView = require_folders_list();
		var LOAD_MORE_ID = 0;
		var TemplateLibrarySaveTemplateView = Marionette.ItemView.extend({
			tagName: "main",
			id: "elementor-template-library-save-template",
			template: "#tmpl-elementor-template-library-save-template",
			ui: function ui() {
				return {
					form: "#elementor-template-library-save-template-form",
					submitButton: "#elementor-template-library-save-template-submit",
					ellipsisIcon: ".cloud-library-form-inputs .ellipsis-container",
					foldersList: ".cloud-folder-selection-dropdown ul",
					foldersDropdown: ".cloud-folder-selection-dropdown",
					foldersListContainer: ".cloud-folder-selection-dropdown-list",
					removeFolderSelection: ".source-selections .selected-folder i",
					selectedFolder: ".selected-folder",
					selectedFolderText: ".selected-folder-text",
					hiddenInputSelectedFolder: "#parentId",
					templateNameInput: "#elementor-template-library-save-template-name",
					localInput: ".source-selections-input.local",
					cloudInput: ".source-selections-input.cloud",
					sourceSelectionCheckboxes: ".source-selections-input input[type=\"checkbox\"]",
					infoIcon: ".source-selections-input.cloud .eicon-info",
					connect: "#elementor-template-library-connect__badge",
					connectBadge: ".source-selections-input.cloud .connect-badge",
					cloudFormInputs: ".cloud-library-form-inputs",
					upgradeBadge: ".source-selections-input.cloud .upgrade-badge"
				};
			},
			events: function events() {
				return {
					"submit @ui.form": "onFormSubmit",
					"click @ui.ellipsisIcon": "onEllipsisIconClick",
					"keydown @ui.ellipsisIcon": "onEllipsisIconKeyDown",
					"click @ui.foldersList": "onFoldersListClick",
					"keydown @ui.foldersListContainer": "onFoldersListKeyDown",
					"click @ui.removeFolderSelection": "onRemoveFolderSelectionClick",
					"click @ui.selectedFolderText": "onSelectedFolderTextClick",
					"click @ui.upgradeBadge": "onUpgradeBadgeClicked",
					"change @ui.sourceSelectionCheckboxes": "handleSourceSelectionChange",
					"mouseenter @ui.infoIcon": "showInfoTip",
					"mouseleave @ui.infoIcon": "hideInfoTip",
					"mouseenter @ui.connectBadge": "showConnectInfoTip",
					"mouseleave @ui.connectBadge": "hideConnectInfoTip",
					"input @ui.templateNameInput": "onTemplateNameInputChange"
				};
			},
			onRender: function onRender() {
				var _elementorAppConfig$c;
				var _this$templateHelpers;
				var _this = this;
				if ("undefined" === typeof ((_elementorAppConfig$c = elementorAppConfig["cloud-library"]) === null || _elementorAppConfig$c === void 0 ? void 0 : _elementorAppConfig$c.quota) && (_this$templateHelpers = this.templateHelpers()) !== null && _this$templateHelpers !== void 0 && _this$templateHelpers.canSaveToCloud) {
					elementor.templates.layout.showLoadingView();
					$e.components.get("cloud-library").utils.setQuotaConfig().then(function(data) {
						elementorAppConfig["cloud-library"].quota = data;
					}).catch(function() {
						delete elementorAppConfig["cloud-library"].quota;
					}).finally(function() {
						_this.handleOnRender();
						elementor.templates.layout.hideLoadingView();
					});
				} else this.handleOnRender();
			},
			onDestroy: function onDestroy() {
				this.unbindDocumentClickHandler();
			},
			handleOnRender: function handleOnRender() {
				var _this2 = this;
				setTimeout(function() {
					return _this2.ui.templateNameInput.trigger("focus");
				});
				var context = this.getOption("context");
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary["".concat(context, "Modal")] });
				if (SAVE_CONTEXTS.SAVE === context) this.handleSaveAction();
				if (SAVE_CONTEXTS.MOVE === context || SAVE_CONTEXTS.COPY === context) this.handleSingleActionContextUiState();
				if (SAVE_CONTEXTS.BULK_MOVE === context || SAVE_CONTEXTS.BULK_COPY === context) this.handleBulkActionContextUiState();
				if (!elementor.templates.hasCloudLibraryQuota()) this.handleCloudLibraryPromo();
				if (this.cloudMaxCapacityReached()) this.handleCloudLibraryPromo("max-capacity");
				if (!elementor.config.library_connect.is_connected) this.handleElementorConnect();
				this.bindDocumentClickHandler();
			},
			cloudMaxCapacityReached: function cloudMaxCapacityReached() {
				var _elementorAppConfig$c2;
				var _elementorAppConfig$c3;
				var _elementorAppConfig$c4;
				var _elementorAppConfig$c5;
				return "undefined" !== typeof ((_elementorAppConfig$c2 = elementorAppConfig["cloud-library"]) === null || _elementorAppConfig$c2 === void 0 ? void 0 : _elementorAppConfig$c2.quota) && 0 < ((_elementorAppConfig$c3 = elementorAppConfig["cloud-library"].quota) === null || _elementorAppConfig$c3 === void 0 ? void 0 : _elementorAppConfig$c3.threshold) && ((_elementorAppConfig$c4 = elementorAppConfig["cloud-library"].quota) === null || _elementorAppConfig$c4 === void 0 ? void 0 : _elementorAppConfig$c4.currentUsage) >= ((_elementorAppConfig$c5 = elementorAppConfig["cloud-library"].quota) === null || _elementorAppConfig$c5 === void 0 ? void 0 : _elementorAppConfig$c5.threshold);
			},
			handleSaveAction: function handleSaveAction() {
				this.maybeEnableSaveButton();
			},
			handleSingleActionContextUiState: function handleSingleActionContextUiState() {
				var title = this.model.get("title");
				this.ui.templateNameInput.val(title);
				this.handleContextUiStateCheckboxes();
				this.maybeEnableSaveButton();
			},
			maybeEnableSaveButton: function maybeEnableSaveButton() {
				var _this$templateHelpers2;
				if (!((_this$templateHelpers2 = this.templateHelpers()) !== null && _this$templateHelpers2 !== void 0 && _this$templateHelpers2.canSaveToCloud)) return;
				var isAnyChecked = this.ui.sourceSelectionCheckboxes.is(":checked");
				var title = this.ui.templateNameInput.val().trim();
				var isTitleFilled = this.ui.templateNameInput.is(":visible") ? elementor.templates.isTemplateTitleValid(title) : true;
				this.updateSubmitButtonState(!isAnyChecked || !isTitleFilled);
			},
			handleBulkActionContextUiState: function handleBulkActionContextUiState() {
				this.ui.templateNameInput.remove();
				this.handleContextUiStateCheckboxes();
				this.maybeEnableSaveButton();
			},
			handleContextUiStateCheckboxes: function handleContextUiStateCheckboxes() {
				if ("local" === elementor.templates.getFilter("source")) {
					this.$(".source-selections-input #cloud").prop("checked", true);
					this.ui.localInput.addClass("disabled");
				}
			},
			handleCloudLibraryPromo: function handleCloudLibraryPromo() {
				var stateClass = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "promotion";
				if (SAVE_CONTEXTS.SAVE === this.getOption("context")) this.$(".source-selections-input #local").prop("checked", true);
				else this.$(".source-selections-input #local, .source-selections-input.local label").css("pointer-events", "none");
				this.$(".source-selections-input #cloud").prop("checked", false);
				this.$(".source-selections-input #cloud").prop("disabled", true);
				this.ui.cloudFormInputs.addClass(stateClass);
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModalSelectUpgrade });
			},
			getSaveType: function getSaveType() {
				var type;
				if (SAVE_CONTEXTS.MOVE === this.getOption("context") || SAVE_CONTEXTS.COPY === this.getOption("context")) type = this.model.get("type");
				else if (this.model) type = this.model.get("elType");
				else if (elementor.config.document.library && elementor.config.document.library.save_as_same_type) type = elementor.config.document.type;
				else type = "page";
				return type;
			},
			templateHelpers: function templateHelpers() {
				var saveType = this.getSaveType();
				var templateType = elementor.templates.getTemplateTypes(saveType);
				var saveContext = this.getOption("context");
				return templateType["".concat(saveContext, "Dialog")];
			},
			onEllipsisIconKeyDown: function onEllipsisIconKeyDown(event) {
				if ("Escape" === event.key) {
					event.preventDefault();
					if (this.ui.foldersDropdown.is(":visible")) {
						this.hideFoldersDropdown();
						suppressEscapeKeyUp(event);
					}
					return;
				}
				if ("Tab" === event.key && !event.shiftKey || "ArrowDown" === event.key) {
					if (this.ui.foldersDropdown.is(":visible")) {
						event.preventDefault();
						event.stopPropagation();
						this.focusFirstFolderItem();
					}
				}
			},
			onFoldersListKeyDown: function onFoldersListKeyDown(event) {
				if ("Escape" === event.key) {
					event.preventDefault();
					this.hideFoldersDropdown();
					this.ui.ellipsisIcon.trigger("focus");
					suppressEscapeKeyUp(event);
					return;
				}
				if ("Tab" === event.key) {
					this.handleFolderTab(event);
					return;
				}
				rovingTabindex({
					event,
					$items: this.getFolderItems(),
					orientation: "vertical",
					homeEnd: false,
					onActivate: function onActivate(e, $item) {
						e.stopPropagation();
						$item.trigger("click");
					}
				});
				event.stopPropagation();
			},
			handleFolderTab: function handleFolderTab(event) {
				var $items = this.getFolderItems();
				var currentIndex = $items.index(event.target);
				if (event.shiftKey) {
					if (currentIndex <= 0) {
						this.hideFoldersDropdown();
						this.ui.ellipsisIcon.trigger("focus");
					} else {
						event.preventDefault();
						event.stopPropagation();
						$items.eq(currentIndex - 1).trigger("focus");
					}
					return;
				}
				if (currentIndex < $items.length - 1) {
					event.preventDefault();
					event.stopPropagation();
					$items.eq(currentIndex + 1).trigger("focus");
				} else {
					this.hideFoldersDropdown();
					this.ui.ellipsisIcon.trigger("focus");
				}
			},
			updateEllipsisAriaExpanded: function updateEllipsisAriaExpanded(expanded) {
				this.ui.ellipsisIcon.attr("aria-expanded", expanded ? "true" : "false");
			},
			onFormSubmit: function onFormSubmit(event) {
				var _this3 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$10.default.mark(function _callee() {
					var _this3$templateHelper;
					var formData;
					var JSONParams;
					return import_regenerator$10.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								event.preventDefault();
								formData = _this3.ui.form.elementorSerializeObject(), JSONParams = { remove: ["default"] };
								formData.parentTitle = formData.parentId ? _this3.ui.selectedFolderText.html() : "";
								formData.content = _this3.model ? [_this3.model.toJSON(JSONParams)] : elementor.elements.toJSON(JSONParams);
								_this3.updateSourceSelections(formData);
								if (!(!(formData !== null && formData !== void 0 && formData.source) && (_this3$templateHelper = _this3.templateHelpers()) !== null && _this3$templateHelper !== void 0 && _this3$templateHelper.canSaveToCloud)) {
									_context.next = 1;
									break;
								}
								_this3.showEmptySourceErrorDialog();
								return _context.abrupt("return");
							case 1:
								_this3.ui.submitButton.addClass("elementor-button-state");
								_this3.updateSaveContext(formData);
								_this3.updateToastConfig(formData);
								_this3.updateSourceState(formData);
								_context.prev = 2;
								_context.next = 3;
								return $e.run("document/save/auto", { force: true });
							case 3:
								_context.next = 5;
								break;
							case 4:
								_context.prev = 4;
								_context["catch"](2);
							case 5:
								_context.next = 6;
								return elementor.templates.syncGlobalStylesBeforeSave();
							case 6: elementor.templates.saveTemplate(_this3.getSaveType(), formData);
							case 7:
							case "end": return _context.stop();
						}
					}, _callee, null, [[2, 4]]);
				}))();
			},
			updateSourceSelections: function updateSourceSelections(formData) {
				var selectedSources = ["cloud", "local"].filter(function(type) {
					return formData[type];
				});
				if (!selectedSources.length) return;
				formData.source = selectedSources;
				["cloud", "local"].forEach(function(type) {
					return delete formData[type];
				});
			},
			showEmptySourceErrorDialog: function showEmptySourceErrorDialog() {
				elementorCommon.dialogsManager.createWidget("alert", {
					id: "elementor-template-library-error-dialog",
					headerMessage: (0, _wordpress_i18n.__)("An error occurred.", "elementor"),
					message: (0, _wordpress_i18n.__)("Please select at least one location.", "elementor")
				}).show();
			},
			updateSaveContext: function updateSaveContext(formData) {
				var _this$getOption;
				var saveContext = (_this$getOption = this.getOption("context")) !== null && _this$getOption !== void 0 ? _this$getOption : SAVE_CONTEXTS.SAVE;
				formData.save_context = saveContext;
				if ([
					SAVE_CONTEXTS.MOVE,
					SAVE_CONTEXTS.BULK_MOVE,
					SAVE_CONTEXTS.COPY,
					SAVE_CONTEXTS.BULK_COPY
				].includes(saveContext)) {
					formData.from_source = elementor.templates.getFilter("source");
					formData.from_template_id = [SAVE_CONTEXTS.MOVE, SAVE_CONTEXTS.COPY].includes(saveContext) ? this.model.get("template_id") : Array.from(elementor.templates.getBulkSelectionItems());
				}
			},
			updateToastConfig: function updateToastConfig(formData) {
				var _formData$source;
				var _this$getOption2;
				var _formData$source2;
				var _formData$parentId;
				var _formData$parentTitle;
				if (!((_formData$source = formData.source) !== null && _formData$source !== void 0 && _formData$source.length)) return;
				var lastSource = formData.source.at(-1);
				var saveContext = (_this$getOption2 = this.getOption("context")) !== null && _this$getOption2 !== void 0 ? _this$getOption2 : SAVE_CONTEXTS.SAVE;
				var toastMessage = this.getToastMessage(lastSource, saveContext, formData);
				if (!toastMessage) return;
				var toastButtons = ((_formData$source2 = formData.source) === null || _formData$source2 === void 0 ? void 0 : _formData$source2.length) > 1 ? null : this.getToastButtons(lastSource, formData === null || formData === void 0 || (_formData$parentId = formData.parentId) === null || _formData$parentId === void 0 ? void 0 : _formData$parentId.trim(), formData === null || formData === void 0 || (_formData$parentTitle = formData.parentTitle) === null || _formData$parentTitle === void 0 ? void 0 : _formData$parentTitle.trim());
				elementor.templates.setToastConfig({
					show: true,
					options: {
						message: toastMessage,
						buttons: toastButtons,
						position: {
							my: "right bottom",
							at: "right-10 bottom-10",
							of: "#elementor-template-library-modal .dialog-lightbox-widget-content"
						}
					}
				});
			},
			updateSourceState: function updateSourceState(formData) {
				var _formData$source3;
				var _this$getOption3;
				if (!((_formData$source3 = formData.source) !== null && _formData$source3 !== void 0 && _formData$source3.length)) return;
				var saveContext = (_this$getOption3 = this.getOption("context")) !== null && _this$getOption3 !== void 0 ? _this$getOption3 : SAVE_CONTEXTS.SAVE;
				if (SAVE_CONTEXTS.SAVE !== saveContext) return;
				var lastSource = formData.source.at(-1);
				elementor.templates.setSourceSelection(lastSource);
				elementor.templates.setFilter("source", lastSource, true);
			},
			getToastMessage: function getToastMessage(lastSource, saveContext, formData) {
				var _formData$source4;
				var _formData$from_templa;
				var _formData$from_templa2;
				var _formData$from_templa3;
				var _formData$from_templa4;
				var _actions$key;
				var key = "".concat(lastSource, "_").concat(saveContext);
				if (((_formData$source4 = formData.source) === null || _formData$source4 === void 0 ? void 0 : _formData$source4.length) > 1) return (0, _wordpress_i18n.__)("Template saved to your Site and Cloud Templates.", "elementor");
				return (_actions$key = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "local_".concat(SAVE_CONTEXTS.MOVE), this.getFormattedToastMessage("moved to your Site Templates", formData.title)), "cloud_".concat(SAVE_CONTEXTS.MOVE), this.getFormattedToastMessage("moved to your Cloud Templates", formData.title)), "local_".concat(SAVE_CONTEXTS.COPY), this.getFormattedToastMessage("copied to your Site Templates", formData.title)), "cloud_".concat(SAVE_CONTEXTS.COPY), this.getFormattedToastMessage("copied to your Cloud Templates", formData.title)), "local_".concat(SAVE_CONTEXTS.BULK_MOVE), this.getFormattedToastMessage("moved to your Site Templates", null, (_formData$from_templa = formData.from_template_id) === null || _formData$from_templa === void 0 ? void 0 : _formData$from_templa.length)), "cloud_".concat(SAVE_CONTEXTS.BULK_MOVE), this.getFormattedToastMessage("moved to your Cloud Templates", null, (_formData$from_templa2 = formData.from_template_id) === null || _formData$from_templa2 === void 0 ? void 0 : _formData$from_templa2.length)), "local_".concat(SAVE_CONTEXTS.BULK_COPY), this.getFormattedToastMessage("copied to your Site Templates", null, (_formData$from_templa3 = formData.from_template_id) === null || _formData$from_templa3 === void 0 ? void 0 : _formData$from_templa3.length)), "cloud_".concat(SAVE_CONTEXTS.BULK_COPY), this.getFormattedToastMessage("copied to your Cloud Templates", null, (_formData$from_templa4 = formData.from_template_id) === null || _formData$from_templa4 === void 0 ? void 0 : _formData$from_templa4.length))[key]) !== null && _actions$key !== void 0 ? _actions$key : false;
			},
			getFormattedToastMessage: function getFormattedToastMessage(action, title, count) {
				if (count !== void 0) return (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("%1$d Template(s) %2$s.", "elementor"), count, action);
				return (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("%1$s %2$s.", "elementor"), title ? "\"".concat(title, "\"") : (0, _wordpress_i18n.__)("Template", "elementor"), action);
			},
			getToastButtons: function getToastButtons(lastSource, parentId, parentTitle) {
				var _this4 = this;
				var parsedParentId = parseInt(parentId, 10) || null;
				return [{
					name: "template_after_save",
					text: (0, _wordpress_i18n.__)("View", "elementor"),
					callback: function callback() {
						return _this4.navigateToSavedSource(lastSource, parsedParentId, parentTitle);
					}
				}];
			},
			navigateToSavedSource: function navigateToSavedSource(lastSource, parentId, parentTitle) {
				elementor.templates.setSourceSelection(lastSource);
				elementor.templates.setFilter("source", lastSource, true);
				if (parentId) {
					var model = new TemplateLibraryTemplateModel({
						template_id: parentId,
						title: parentTitle
					});
					$e.route("library/view-folder", { model });
					elementor.templates.layout.showTemplatesView(new TemplateLibraryCollection(elementor.templates.filterTemplates()));
					return;
				}
				$e.routes.refreshContainer("library");
			},
			onSelectedFolderTextClick: function onSelectedFolderTextClick() {
				if (!this.folderCollectionView) {
					this.onEllipsisIconClick();
					return;
				}
				if (!this.ui.foldersDropdown.is(":visible")) this.ui.foldersDropdown.show();
				else this.hideFoldersDropdown();
			},
			onEllipsisIconClick: function onEllipsisIconClick() {
				var _this5 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$10.default.mark(function _callee2() {
					return import_regenerator$10.default.wrap(function(_context2) {
						while (1) switch (_context2.prev = _context2.next) {
							case 0:
								if (!_this5.ui.foldersDropdown.is(":visible")) {
									_context2.next = 1;
									break;
								}
								_this5.hideFoldersDropdown();
								_this5.updateEllipsisAriaExpanded(false);
								return _context2.abrupt("return");
							case 1:
								_this5.ui.foldersDropdown.show();
								_this5.updateEllipsisAriaExpanded(true);
								if (_this5.folderCollectionView) {
									_context2.next = 5;
									break;
								}
								_this5.folderCollectionView = new FolderCollectionView({ collection: new TemplateLibraryCollection() });
								_this5.addSpinner();
								_this5.renderFolderDropdown();
								_context2.prev = 2;
								_context2.next = 3;
								return _this5.fetchFolders();
							case 3:
								_context2.prev = 3;
								_this5.removeSpinner();
								_this5.disableSelectedFolder();
								_this5.focusFirstFolderItem();
								return _context2.finish(3);
							case 4:
								_context2.next = 6;
								break;
							case 5: _this5.focusFirstFolderItem();
							case 6: elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModalSelectFolder });
							case 7:
							case "end": return _context2.stop();
						}
					}, _callee2, null, [[
						2,
						,
						3,
						4
					]]);
				}))();
			},
			getFolderItems: function getFolderItems() {
				return this.$(".cloud-folder-selection-dropdown ul li:visible");
			},
			focusFirstFolderItem: function focusFirstFolderItem() {
				var $firstItem = this.getFolderItems().first();
				if ($firstItem.length) $firstItem.trigger("focus");
			},
			renderFolderDropdown: function renderFolderDropdown() {
				var _this$folderCollectio;
				this.ui.foldersListContainer.html((_this$folderCollectio = this.folderCollectionView.render()) === null || _this$folderCollectio === void 0 ? void 0 : _this$folderCollectio.el);
			},
			addSpinner: function addSpinner() {
				var spinner = new TemplateLibraryTemplateModel({
					template_id: LOAD_MORE_ID,
					title: "<i class=\"eicon-loading eicon-animation-spin\" aria-hidden=\"true\"></i>"
				});
				this.folderCollectionView.collection.add(spinner);
			},
			removeSpinner: function removeSpinner() {
				var spinner = this.folderCollectionView.collection.findWhere({ template_id: LOAD_MORE_ID });
				if (spinner) this.folderCollectionView.collection.remove(spinner);
			},
			fetchFolders: function fetchFolders() {
				var _this6 = this;
				return new Promise(function(resolve) {
					var ajaxOptions = {
						data: {
							source: "cloud",
							offset: _this6.folderCollectionView.collection.length - 1
						},
						success: function success(response) {
							_this6.folderCollectionView.collection.add(response === null || response === void 0 ? void 0 : response.templates);
							if (_this6.shouldAddLoadMoreItem(response)) _this6.addLoadMoreItem();
							resolve(response);
						},
						error: function error(_error) {
							elementor.templates.showErrorDialog(_error);
							resolve();
						}
					};
					elementorCommon.ajax.addRequest("get_folders", ajaxOptions);
				});
			},
			disableSelectedFolder: function disableSelectedFolder() {
				if (!SAVE_CONTEXTS.MOVE === this.getOption("context")) return;
				if (!this.model || !Number.isInteger(this.model.get("parentId"))) return;
				this.$(".folder-list li[data-id=\"".concat(this.model.get("parentId"), "\"]")).addClass("disabled");
			},
			onFoldersListClick: function onFoldersListClick(event) {
				var _event$target$dataset = event.target.dataset;
				var id = _event$target$dataset.id;
				var value = _event$target$dataset.value;
				if (!id || !value) return;
				if (this.clickedOnLoadMore(id)) {
					this.loadMoreFolders();
					return;
				}
				this.handleFolderSelected(id, value);
			},
			clickedOnLoadMore: function clickedOnLoadMore(templateId) {
				return LOAD_MORE_ID === +templateId;
			},
			handleFolderSelected: function handleFolderSelected(id, value) {
				this.highlightSelectedFolder(id);
				this.hideFoldersDropdown();
				this.ui.ellipsisIcon.hide();
				this.ui.selectedFolderText.html(value);
				this.ui.selectedFolder.show();
				this.ui.hiddenInputSelectedFolder.val(id);
				this.$(".source-selections-input #cloud").prop("checked", true);
				this.maybeEnableSaveButton();
			},
			highlightSelectedFolder: function highlightSelectedFolder(id) {
				this.clearSelectedFolder();
				this.$(".folder-list li[data-id=\"".concat(id, "\"]")).addClass("selected");
			},
			clearSelectedFolder: function clearSelectedFolder() {
				this.$(".folder-list li.selected").removeClass("selected");
			},
			onRemoveFolderSelectionClick: function onRemoveFolderSelectionClick() {
				this.clearSelectedFolder();
				this.ui.selectedFolderText.html("");
				this.ui.selectedFolder.hide();
				this.ui.ellipsisIcon.show();
				this.ui.hiddenInputSelectedFolder.val("");
				this.hideFoldersDropdown();
			},
			loadMoreFolders: function loadMoreFolders() {
				var _this7 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$10.default.mark(function _callee3() {
					return import_regenerator$10.default.wrap(function(_context3) {
						while (1) switch (_context3.prev = _context3.next) {
							case 0:
								_this7.removeLoadMoreItem();
								_this7.addSpinner();
								_context3.prev = 1;
								_context3.next = 2;
								return _this7.fetchFolders();
							case 2:
								_context3.prev = 2;
								_this7.removeSpinner();
								_this7.disableSelectedFolder();
								return _context3.finish(2);
							case 3:
							case "end": return _context3.stop();
						}
					}, _callee3, null, [[
						1,
						,
						2,
						3
					]]);
				}))();
			},
			shouldAddLoadMoreItem: function shouldAddLoadMoreItem(response) {
				return this.folderCollectionView.collection.length < (response === null || response === void 0 ? void 0 : response.total);
			},
			addLoadMoreItem: function addLoadMoreItem() {
				this.folderCollectionView.collection.add({
					template_id: LOAD_MORE_ID,
					title: (0, _wordpress_i18n.__)("Load More", "elementor")
				});
			},
			removeLoadMoreItem: function removeLoadMoreItem() {
				var loadMore = this.folderCollectionView.collection.findWhere({ template_id: LOAD_MORE_ID });
				if (loadMore) this.folderCollectionView.collection.remove(loadMore);
			},
			handleSourceSelectionChange: function handleSourceSelectionChange(event) {
				this.maybeAllowOnlyOneCheckboxToBeChecked(event);
				this.maybeEnableSaveButton();
			},
			maybeAllowOnlyOneCheckboxToBeChecked: function maybeAllowOnlyOneCheckboxToBeChecked(event) {
				var _this8 = this;
				if (this.moreThanOneCheckboxCanBeChecked()) return;
				var selectedCheckbox = event.currentTarget;
				this.ui.sourceSelectionCheckboxes.each(function(_, checkbox) {
					var wrapper = _this8.$(checkbox).closest(".source-selections-input");
					if (checkbox !== selectedCheckbox) if (selectedCheckbox.checked) {
						wrapper.addClass("disabled");
						checkbox.checked = false;
					} else wrapper.removeClass("disabled");
				});
			},
			moreThanOneCheckboxCanBeChecked: function moreThanOneCheckboxCanBeChecked() {
				return SAVE_CONTEXTS.SAVE === this.getOption("context") || "cloud" !== elementor.templates.getFilter("source");
			},
			showInfoTip: function showInfoTip() {
				var _this9 = this;
				if (this.infoTipDialog) this.infoTipDialog.hide();
				var message = elementor.templates.hasCloudLibraryQuota() ? (0, _wordpress_i18n.__)("Upgrade your subscription to get more space and reuse saved assets across all your sites.", "elementor") : (0, _wordpress_i18n.__)("Upgrade your subscription to access Cloud Templates and reuse saved assets across all your sites.", "elementor");
				var goLink = elementor.templates.hasCloudLibraryQuota() ? "https://go.elementor.com/go-pro-cloud-templates-save-to-100-usage-notice" : "https://go.elementor.com/go-pro-cloud-templates-save-to-free-tooltip/";
				this.infoTipDialog = elementor.dialogsManager.createWidget("buttons", {
					id: "elementor-library--infotip__dialog",
					effects: {
						show: "show",
						hide: "hide"
					},
					position: {
						of: this.ui.infoIcon,
						at: "top-75"
					}
				}).setMessage(message).addButton({
					name: "learn_more",
					text: (0, _wordpress_i18n.__)("Upgrade Now", "elementor"),
					classes: "",
					callback: function callback() {
						open(goLink, "_blank");
						_this9.onUpgradeBadgeClicked();
					}
				});
				this.infoTipDialog.getElements("header").remove();
				this.infoTipDialog.show();
			},
			hideInfoTip: function hideInfoTip() {
				if (this.infoTipDialog) this.infoTipDialog.hide();
			},
			getConnectInfoTipPosition: function getConnectInfoTipPosition() {
				return "top+80";
			},
			showConnectInfoTip: function showConnectInfoTip() {
				if (this.connectInfoTipDialog) this.connectInfoTipDialog.hide();
				this.connectInfoTipDialog = elementor.dialogsManager.createWidget("buttons", {
					id: "elementor-library--connect_infotip__dialog",
					effects: {
						show: "show",
						hide: "hide"
					},
					position: {
						of: this.ui.connectBadge,
						at: this.getConnectInfoTipPosition()
					}
				}).setMessage((0, _wordpress_i18n.__)("To access the Cloud Templates Library you must have an active Elementor Pro subscription", "elementor") + " <i>" + (0, _wordpress_i18n.__)("and", "elementor") + "</i> " + (0, _wordpress_i18n.__)("connect your site.", "elementor"));
				this.connectInfoTipDialog.getElements("header").remove();
				this.connectInfoTipDialog.getElements("buttonsWrapper").remove();
				this.addVariantClass(this.connectInfoTipDialog.getElements("widget"));
				this.connectInfoTipDialog.show();
			},
			addVariantClass: function addVariantClass() {
				return "";
			},
			hideConnectInfoTip: function hideConnectInfoTip() {
				if (this.connectInfoTipDialog) this.connectInfoTipDialog.hide();
			},
			handleElementorConnect: function handleElementorConnect() {
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModalSelectConnect });
				this.ui.connect.elementorConnect({
					success: function success() {
						elementor.config.library_connect.is_connected = true;
						$e.run("library/close");
						elementor.notifications.showToast({ message: (0, _wordpress_i18n.__)("Connected successfully.", "elementor") });
					},
					error: function error() {
						elementor.config.library_connect.is_connected = false;
					}
				});
			},
			onTemplateNameInputChange: function onTemplateNameInputChange() {
				this.maybeEnableSaveButton();
			},
			updateSubmitButtonState: function updateSubmitButtonState(shouldDisableSubmitButton) {
				this.ui.submitButton.toggleClass("e-primary", !shouldDisableSubmitButton);
				this.ui.submitButton.prop("disabled", shouldDisableSubmitButton);
			},
			hideFoldersDropdown: function hideFoldersDropdown() {
				this.ui.foldersDropdown.hide();
				this.updateEllipsisAriaExpanded(false);
			},
			bindDocumentClickHandler: function bindDocumentClickHandler() {
				this.documentClickHandler = this.hideDropdownIfClickOutside.bind(this);
				elementor.templates.layout.modalContent.$el.on("click", this.documentClickHandler);
			},
			unbindDocumentClickHandler: function unbindDocumentClickHandler() {
				if (!this.documentClickHandler) return;
				elementor.templates.layout.modalContent.$el.off("click", this.documentClickHandler);
				this.documentClickHandler = null;
			},
			hideDropdownIfClickOutside: function hideDropdownIfClickOutside(event) {
				if (!this.ui.foldersDropdown.is(":visible")) return;
				var target = jQuery(event.target);
				var isClickInsideDropdown = target.closest(this.ui.foldersDropdown).length > 0;
				var isClickOnEllipsisIcon = target.closest(this.ui.ellipsisIcon).length > 0;
				var isClickOnSelectedFolderText = target.closest(this.ui.selectedFolderText).length > 0;
				if (!isClickInsideDropdown && !isClickOnEllipsisIcon && !isClickOnSelectedFolderText) this.hideFoldersDropdown();
			},
			onUpgradeBadgeClicked: function onUpgradeBadgeClicked() {
				var upgradePosition = elementor.templates.hasCloudLibraryQuota() ? "save to-max" : "save to-free";
				elementor.templates.eventManager.sendUpgradeClickedEvent({
					secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal,
					upgrade_position: upgradePosition
				});
			}
		});
		module.exports = TemplateLibrarySaveTemplateView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/save-template-variant-b.js
	var require_save_template_variant_b = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TemplateLibrarySaveTemplateView = require_save_template();
		var TemplateLibrarySaveTemplateVariantBView = TemplateLibrarySaveTemplateView.extend({
			id: "elementor-template-library-save-template-variant-b",
			template: "#tmpl-elementor-template-library-save-template-variant-b",
			ui: function ui() {
				return _.extend(TemplateLibrarySaveTemplateView.prototype.ui.apply(this, arguments), {
					selectFolderLink: ".select-folder-link",
					cloudAccountBadge: ".cloud-account-badge",
					siteAccountBadge: ".site-account-badge",
					connect: "#elementor-template-library-connect__badge-variant-b"
				});
			},
			events: function events() {
				return _.extend(TemplateLibrarySaveTemplateView.prototype.events.apply(this, arguments), {
					"click @ui.selectFolderLink": "onEllipsisIconClick",
					"mouseenter @ui.upgradeBadge": "showInfoTip",
					"mouseenter @ui.cloudAccountBadge": "showCloudAccountBadgeTooltip",
					"mouseenter @ui.siteAccountBadge": "showSiteAccountBadgeTooltip",
					"mouseleave @ui.cloudAccountBadge": "hideCloudAccountBadgeTooltip",
					"mouseleave @ui.siteAccountBadge": "hideSiteAccountBadgeTooltip",
					"mouseleave @ui.upgradeBadge": "hideInfoTip"
				});
			},
			getConnectInfoTipPosition: function getConnectInfoTipPosition() {
				return "top-50";
			},
			addVariantClass: function addVariantClass($widget) {
				return $widget.addClass("variant-b");
			},
			showInfoTip: function showInfoTip() {
				if (this.infoTipDialog) this.infoTipDialog.hide();
				var message = elementor.templates.hasCloudLibraryQuota() ? (0, _wordpress_i18n.__)("Upgrade your subscription to get more space and reuse saved assets across all your sites.", "elementor") : (0, _wordpress_i18n.__)("Upgrade your subscription to access Cloud Templates and reuse saved assets across all your sites.", "elementor");
				this.infoTipDialog = elementor.dialogsManager.createWidget("buttons", {
					id: "elementor-library--infotip__dialog",
					effects: {
						show: "show",
						hide: "hide"
					},
					position: {
						of: this.ui.upgradeBadge,
						at: "top-50"
					}
				}).setMessage(message);
				this.infoTipDialog.getElements("header").remove();
				this.infoTipDialog.getElements("buttonsWrapper").remove();
				this.infoTipDialog.getElements("widget").addClass("variant-b");
				this.infoTipDialog.show();
				this.sendCTBadgeEvent("cloud");
			},
			showCloudAccountBadgeTooltip: function showCloudAccountBadgeTooltip() {
				if (this.cloudAccountBadgeDialog) this.cloudAccountBadgeDialog.hide();
				var emailReplacement = elementor.config.library_connect.is_connected ? elementor.config.library_connect.user_email : (0, _wordpress_i18n.__)("connected", "elementor");
				var message = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Only %s Elementor account can access Cloud Templates from any connected site.", "elementor"), emailReplacement);
				this.cloudAccountBadgeDialog = elementor.dialogsManager.createWidget("buttons", {
					id: "elementor-library--cloud-upgrade__dialog",
					effects: {
						show: "show",
						hide: "hide"
					},
					position: {
						of: this.ui.cloudAccountBadge,
						at: "top-55"
					}
				}).setMessage(message);
				this.cloudAccountBadgeDialog.getElements("widget").addClass("variant-b");
				this.cloudAccountBadgeDialog.getElements("header").remove();
				this.cloudAccountBadgeDialog.getElements("buttonsWrapper").remove();
				this.cloudAccountBadgeDialog.show();
			},
			hideCloudAccountBadgeTooltip: function hideCloudAccountBadgeTooltip() {
				if (this.cloudAccountBadgeDialog) this.cloudAccountBadgeDialog.hide();
			},
			showSiteAccountBadgeTooltip: function showSiteAccountBadgeTooltip() {
				if (this.siteAccountBadgeDialog) this.siteAccountBadgeDialog.hide();
				var message = (0, _wordpress_i18n.__)("Authorized users on this site can access Site Templates.", "elementor");
				this.siteAccountBadgeDialog = elementor.dialogsManager.createWidget("buttons", {
					id: "elementor-library--site-info__dialog",
					effects: {
						show: "show",
						hide: "hide"
					},
					position: {
						of: this.ui.siteAccountBadge,
						at: "top-35"
					}
				}).setMessage(message);
				this.siteAccountBadgeDialog.getElements("widget").addClass("variant-b");
				this.siteAccountBadgeDialog.getElements("header").remove();
				this.siteAccountBadgeDialog.getElements("buttonsWrapper").remove();
				this.siteAccountBadgeDialog.show();
				this.sendCTBadgeEvent("site");
			},
			hideSiteAccountBadgeTooltip: function hideSiteAccountBadgeTooltip() {
				if (this.siteAccountBadgeDialog) this.siteAccountBadgeDialog.hide();
			},
			sendCTBadgeEvent: function sendCTBadgeEvent(badgeType) {
				elementor.templates.eventManager.sendCTBadgeEvent({
					ct_badge_hover_position: this.getOption("context"),
					ct_badge_type: badgeType,
					ct_position_state: this.getPositionState()
				});
			},
			getPositionState: function getPositionState() {
				if (!elementor.config.library_connect.is_connected) return "connect";
				if (!elementor.templates.hasCloudLibraryQuota() || this.cloudMaxCapacityReached()) return "upgrade";
				return "eligible";
			}
		});
		module.exports = TemplateLibrarySaveTemplateVariantBView;
	}));

//#endregion
//#region assets/dev/js/utils/json-upload-warning-message.js
	function showJsonUploadWarningMessageIfNeeded(_ref) {
		var introductionMap = _ref.introductionMap;
		var IntroductionClass = _ref.IntroductionClass;
		var _ref$waitForSetViewed = _ref.waitForSetViewed;
		var waitForSetViewed = _ref$waitForSetViewed === void 0 ? false : _ref$waitForSetViewed;
		if (!genericWarningModal) genericWarningModal = createGenericWarningModal(IntroductionClass);
		genericWarningModal.setIntroductionMap(introductionMap);
		if (genericWarningModal.introductionViewed) return Promise.resolve();
		var dialog = genericWarningModal.getDialog();
		return new Promise(function(resolve, reject) {
			dialog.onHide = function() {
				reject();
			};
			dialog.onConfirm = /*#__PURE__*/ _asyncToGenerator(/*#__PURE__*/ import_regenerator$9.default.mark(function _callee() {
				return import_regenerator$9.default.wrap(function(_context) {
					while (1) switch (_context.prev = _context.next) {
						case 0:
							if (!dialog.getElements("checkbox-dont-show-again").prop("checked")) {
								_context.next = 3;
								break;
							}
							if (!waitForSetViewed) {
								_context.next = 2;
								break;
							}
							_context.next = 1;
							return genericWarningModal.setViewed();
						case 1:
							_context.next = 3;
							break;
						case 2: genericWarningModal.setViewed();
						case 3:
							resolve();
							dialog.hide();
						case 4:
						case "end": return _context.stop();
					}
				}, _callee);
			}));
			dialog.onCancel = function() {
				dialog.hide();
			};
			genericWarningModal.show();
		});
	}
	/**
	* @param {import('../utils/introduction').default.prototype.constructor} IntroductionClass
	*
	* @return {import('../utils/introduction').default}
	*/
	function createGenericWarningModal(IntroductionClass) {
		var _introduction$getDial;
		var _introduction$getDial2;
		var dialogId = "e-generic-warning-modal-for-json-upload";
		var introduction = new IntroductionClass({
			introductionKey: genericMessageIntroductionKey,
			dialogType: "confirm",
			dialogOptions: {
				id: dialogId,
				headerMessage: (0, _wordpress_i18n.__)("Warning: JSON files may be unsafe", "elementor"),
				message: (0, _wordpress_i18n.__)("Uploading JSON files from unknown sources can be harmful and put your site at risk. For maximum safety, only install JSON files from trusted sources.", "elementor"),
				effects: {
					show: "fadeIn",
					hide: "fadeOut"
				},
				hide: {
					onBackgroundClick: true,
					onButtonClick: false
				},
				strings: {
					confirm: (0, _wordpress_i18n.__)("Continue", "elementor"),
					cancel: (0, _wordpress_i18n.__)("Cancel", "elementor")
				}
			}
		});
		var _createCheckboxAndLab = createCheckboxAndLabel(dialogId);
		var checkbox = _createCheckboxAndLab.checkbox;
		var label = _createCheckboxAndLab.label;
		introduction.getDialog().addElement("checkbox-dont-show-again", checkbox);
		(_introduction$getDial = introduction.getDialog().getElements("message")) === null || _introduction$getDial === void 0 || (_introduction$getDial2 = _introduction$getDial.append) === null || _introduction$getDial2 === void 0 || _introduction$getDial2.call(_introduction$getDial, label);
		return introduction;
	}
	function createCheckboxAndLabel(dialogId) {
		var checkboxId = "".concat(dialogId, "-dont-show-again");
		var checkbox = document.createElement("input");
		checkbox.type = "checkbox";
		checkbox.name = checkboxId;
		checkbox.id = checkboxId;
		var label = document.createElement("label");
		label.htmlFor = checkboxId;
		label.textContent = (0, _wordpress_i18n.__)("Do not show this message again", "elementor");
		label.style.display = "block";
		label.style.marginTop = "20px";
		label.style.marginBottom = "20px";
		label.prepend(checkbox);
		return {
			checkbox,
			label
		};
	}
	var import_regenerator$9, genericMessageIntroductionKey, genericWarningModal;
	var init_json_upload_warning_message = __esmMin((() => {
		init_asyncToGenerator();
		import_regenerator$9 = /* @__PURE__ */ __toESM(require_regenerator());
		genericMessageIntroductionKey = "upload_json_warning_generic_message";
		genericWarningModal = null;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/import.js
	var require_import = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_asyncToGenerator();
		var import_regenerator$8 = /* @__PURE__ */ __toESM(require_regenerator());
		init_files_upload_handler();
		init_json_upload_warning_message();
		init_global_styles_dialog();
		var TemplateLibraryImportView = Marionette.ItemView.extend({
			tagName: "main",
			template: "#tmpl-elementor-template-library-import",
			id: "elementor-template-library-import",
			ui: {
				uploadForm: "#elementor-template-library-import-form",
				fileInput: "#elementor-template-library-import-form-input",
				icon: ".elementor-template-library-blank-icon i"
			},
			events: { "change @ui.fileInput": "onFileInputChange" },
			droppedFiles: null,
			submitForm: function submitForm() {
				var _this = this;
				var file;
				if (this.droppedFiles) {
					file = this.droppedFiles[0];
					this.droppedFiles = null;
				} else {
					file = this.ui.fileInput[0].files[0];
					this.ui.uploadForm[0].reset();
				}
				var fileReader = new FileReader();
				fileReader.onload = function(event) {
					return _this.importTemplate(file.name, event.target.result.replace(/^[^,]+,/, ""));
				};
				fileReader.readAsDataURL(file);
			},
			importTemplate: function importTemplate(fileName, fileData) {
				var _this2 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$8.default.mark(function _callee() {
					var layout;
					var activeSource;
					var jsonContent;
					var _yield$showGlobalStyl;
					var mode;
					var enableUnfilteredFilesModal;
					var _t2;
					return import_regenerator$8.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								layout = elementor.templates.layout;
								activeSource = elementor.templates.getFilter("source");
								_this2.options = {
									data: {
										fileName,
										fileData,
										source: activeSource
									},
									success: function success(successData) {
										elementor.templates.clearLastRemovedItems();
										elementor.templates.getTemplatesCollection().add(successData);
										elementor.templates.setToastConfig({
											show: true,
											options: {
												message: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("You successfully imported %1$d template(s).", "elementor"), successData.length),
												position: {
													my: "right bottom",
													at: "right-10 bottom-10",
													of: "#elementor-template-library-modal .dialog-lightbox-widget-content"
												}
											}
										});
										$e.route("library/templates/my-templates");
										elementor.templates.triggerQuotaUpdate();
										elementor.templates.eventManager.sendTemplateImportEvent({
											library_type: activeSource,
											file_type: fileName.split(".").pop(),
											template_count: successData.length
										});
									},
									error: function error(errorData) {
										elementor.templates.showErrorDialog(errorData);
										layout.showImportView();
									},
									complete: function complete() {
										layout.hideLoadingView();
									}
								};
								_context.next = 1;
								return showJsonUploadWarningMessageIfNeeded({
									introductionMap: window.elementor.config.user.introduction,
									IntroductionClass: window.elementorModules.editor.utils.Introduction
								});
							case 1:
								if (!fileName.endsWith(".json")) {
									_context.next = 8;
									break;
								}
								_context.prev = 2;
								jsonContent = JSON.parse(atob(fileData));
								if (!elementor.templates.hasGlobalStyles(jsonContent)) {
									_context.next = 6;
									break;
								}
								_context.prev = 3;
								_context.next = 4;
								return showGlobalStylesDialog();
							case 4:
								_yield$showGlobalStyl = _context.sent;
								mode = _yield$showGlobalStyl.mode;
								_this2.options.data.import_mode = mode;
								_context.next = 6;
								break;
							case 5:
								_context.prev = 5;
								_context["catch"](3);
								return _context.abrupt("return");
							case 6:
								_context.next = 8;
								break;
							case 7:
								_context.prev = 7;
								_t2 = _context["catch"](2);
								console.warn("Failed to parse template JSON for global styles check:", _t2);
							case 8: if (!elementorCommon.config.filesUpload.unfilteredFiles) {
								enableUnfilteredFilesModal = FilesUploadHandler.getUnfilteredFilesNotEnabledImportTemplateDialog(function() {
									return _this2.sendImportRequest();
								});
								enableUnfilteredFilesModal.show();
							} else _this2.sendImportRequest();
							case 9:
							case "end": return _context.stop();
						}
					}, _callee, null, [[2, 7], [3, 5]]);
				}))();
			},
			sendImportRequest: function sendImportRequest() {
				elementorCommon.ajax.addRequest("import_template", this.options);
				elementor.templates.layout.showLoadingView();
			},
			onRender: function onRender() {
				this.ui.uploadForm.on({
					"drag dragstart dragend dragover dragenter dragleave drop": this.onFormActions.bind(this),
					dragenter: this.onFormDragEnter.bind(this),
					"dragleave drop": this.onFormDragLeave.bind(this),
					drop: this.onFormDrop.bind(this)
				});
				this.resolveIcon();
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.importModal });
			},
			resolveIcon: function resolveIcon() {
				var className = "local" === (elementor.templates.getFilter("source") || "local") ? "eicon-library-upload" : "eicon-library-import";
				this.ui.icon.removeClass().addClass(className);
			},
			onFormActions: function onFormActions(event) {
				event.preventDefault();
				event.stopPropagation();
			},
			onFormDragEnter: function onFormDragEnter() {
				this.ui.uploadForm.addClass("elementor-drag-over");
			},
			onFormDragLeave: function onFormDragLeave(event) {
				if (jQuery(event.relatedTarget).closest(this.ui.uploadForm).length) return;
				this.ui.uploadForm.removeClass("elementor-drag-over");
			},
			onFormDrop: function onFormDrop(event) {
				this.droppedFiles = event.originalEvent.dataTransfer.files;
				this.submitForm();
			},
			onFileInputChange: function onFileInputChange() {
				this.submitForm();
			}
		});
		module.exports = TemplateLibraryImportView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/connect.js
	var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			tagName: "main",
			template: "#tmpl-elementor-template-library-connect",
			id: "elementor-template-library-connect",
			ui: {
				connect: "#elementor-template-library-connect__button",
				thumbnails: "#elementor-template-library-connect-thumbnails"
			},
			templateHelpers: function templateHelpers() {
				return this.getOption("texts");
			},
			onRender: function onRender() {
				var _this = this;
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTabConnect });
				this.ui.connect.elementorConnect({
					parseUrl: function parseUrl(url) {
						return url.replace("%%template_type%%", _this.model.get("type"));
					},
					success: function success() {
						elementor.config.library_connect.is_connected = true;
						if (_this.getOption("model")) $e.run("library/insert-template", { model: _this.getOption("model") });
						else {
							$e.run("library/close");
							elementor.notifications.showToast({ message: (0, _wordpress_i18n.__)("Connected successfully.", "elementor") });
						}
					},
					error: function error() {
						elementor.config.library_connect.is_connected = false;
					}
				});
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/cloud-states.js
	var require_cloud_states = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_asyncToGenerator();
		var import_regenerator$7 = /* @__PURE__ */ __toESM(require_regenerator());
		module.exports = Marionette.ItemView.extend({
			tagName: "main",
			template: "#tmpl-elementor-template-library-connect-states",
			id: "elementor-template-library-connect-states",
			ui: {
				selectSourceFilter: ".elementor-template-library-filter-select-source .source-option",
				title: ".elementor-template-library-blank-title",
				message: ".elementor-template-library-blank-message",
				icon: ".elementor-template-library-blank-icon",
				button: ".elementor-template-library-cloud-empty__button",
				cloudBadge: ".elementor-template-library-connect-states-badge .source-option-badge.cloud-badge"
			},
			events: {
				"click @ui.selectSourceFilter": "onSelectSourceFilterChange",
				"click @ui.button": "onButtonClick"
			},
			modesStrings: function modesStrings() {
				var _elementorAppConfig$c;
				var _elementorAppConfig;
				var _elementorAppConfig$c2;
				var _elementorAppConfig2;
				var _elementorAppConfig3;
				var _elementorAppConfig$c3;
				var _elementorAppConfig4;
				var defaultIcon = this.getDefaultIcon();
				return {
					notConnected: {
						title: (_elementorAppConfig$c = (_elementorAppConfig = elementorAppConfig) === null || _elementorAppConfig === void 0 || (_elementorAppConfig = _elementorAppConfig["cloud-library"]) === null || _elementorAppConfig === void 0 ? void 0 : _elementorAppConfig.library_connect_title_copy) !== null && _elementorAppConfig$c !== void 0 ? _elementorAppConfig$c : (0, _wordpress_i18n.__)("Connect to your Elementor account", "elementor"),
						message: (_elementorAppConfig$c2 = (_elementorAppConfig2 = elementorAppConfig) === null || _elementorAppConfig2 === void 0 || (_elementorAppConfig2 = _elementorAppConfig2["cloud-library"]) === null || _elementorAppConfig2 === void 0 ? void 0 : _elementorAppConfig2.library_connect_sub_title_copy) !== null && _elementorAppConfig$c2 !== void 0 ? _elementorAppConfig$c2 : (0, _wordpress_i18n.__)("Then you can find all your templates in one convenient library.", "elementor"),
						icon: defaultIcon,
						button: "<a class=\"elementor-button e-primary connect-button\" href=\"".concat((_elementorAppConfig3 = elementorAppConfig) === null || _elementorAppConfig3 === void 0 || (_elementorAppConfig3 = _elementorAppConfig3["cloud-library"]) === null || _elementorAppConfig3 === void 0 ? void 0 : _elementorAppConfig3.library_connect_url, "\" target=\"_blank\">").concat((_elementorAppConfig$c3 = (_elementorAppConfig4 = elementorAppConfig) === null || _elementorAppConfig4 === void 0 || (_elementorAppConfig4 = _elementorAppConfig4["cloud-library"]) === null || _elementorAppConfig4 === void 0 ? void 0 : _elementorAppConfig4.library_connect_button_copy) !== null && _elementorAppConfig$c3 !== void 0 ? _elementorAppConfig$c3 : (0, _wordpress_i18n.__)("Connect", "elementor"), "</a>")
					},
					connectedNoQuota: {
						title: (0, _wordpress_i18n.__)("It’s time to level up", "elementor"),
						message: (0, _wordpress_i18n.__)("Elementor Pro plans come with Cloud Templates.", "elementor") + "<br>" + (0, _wordpress_i18n.__)("Upgrade now to re-use your templates on all the websites you’re working on.", "elementor"),
						icon: "<i class=\"eicon-library-subscription-upgrade\" aria-hidden=\"true\" title=\"".concat((0, _wordpress_i18n.__)("Upgrade now", "elememntor"), "\"></i>"),
						button: "<a class=\"elementor-button e-accent\" href=\"https://go.elementor.com/go-pro-cloud-templates-cloud-tab\" target=\"_blank\">".concat((0, _wordpress_i18n.__)("Upgrade now", "elementor"), "</a>")
					},
					deactivated: {
						title: (0, _wordpress_i18n.__)("Your library has been deactivated", "elementor"),
						message: (0, _wordpress_i18n.__)("This is because you don’t have an active subscription.", "elementor") + "<br>" + (0, _wordpress_i18n.__)("Your templates are saved for 90 days from the day your subscription expires,", "elementor") + "<br>" + (0, _wordpress_i18n.__)("then they’ll be gone forever.", "elementor"),
						icon: "<i class=\"eicon-library-subscription-upgrade\" aria-hidden=\"true\" title=\"".concat((0, _wordpress_i18n.__)("Renew my subscription", "elememntor"), "\"></i>"),
						button: "<a class=\"elementor-button e-accent\" href=\"https://go.elementor.com/renew-license-cloud-templates-cloud-tab\" target=\"_blank\">".concat((0, _wordpress_i18n.__)("Renew my subscription", "elementor"), "</a>")
					}
				};
			},
			getDefaultIcon: function getDefaultIcon() {
				return "<i class=\"eicon-library-cloud-connect\" aria-hidden=\"true\" title=\"".concat((0, _wordpress_i18n.__)("Empty folder", "elememntor"), "\"></i>");
			},
			getCurrentMode: function getCurrentMode() {
				if (!elementor.config.library_connect.is_connected) return "notConnected";
				if (elementor.templates.cloudLibraryIsDeactivated()) return "deactivated";
				return "connectedNoQuota";
			},
			onRender: function onRender() {
				var _elementor$templates$;
				this.updateTemplateMarkup();
				this.handleElementorConnect();
				this.handleCloudBadge();
				(_elementor$templates$ = elementor.templates.layout.getHeaderView()) === null || _elementor$templates$ === void 0 || (_elementor$templates$ = _elementor$templates$.tools) === null || _elementor$templates$ === void 0 || (_elementor$templates$ = _elementor$templates$.$el[0]) === null || _elementor$templates$ === void 0 || (_elementor$templates$ = _elementor$templates$.classList) === null || _elementor$templates$ === void 0 || _elementor$templates$.add("e-hidden-disabled");
				elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTabUpgrade });
			},
			handleCloudBadge: function handleCloudBadge() {
				var _this = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$7.default.mark(function _callee() {
					var _this$ui$cloudBadge;
					var experimentVariant;
					return import_regenerator$7.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								if ((_this$ui$cloudBadge = _this.ui.cloudBadge) !== null && _this$ui$cloudBadge !== void 0 && _this$ui$cloudBadge.length) {
									_context.next = 1;
									break;
								}
								return _context.abrupt("return");
							case 1:
								_context.next = 2;
								return elementor.templates.eventManager.getSaveTemplateExperimentVariant();
							case 2:
								experimentVariant = _context.sent;
								_this.ui.cloudBadge.toggle("B" === experimentVariant);
							case 3:
							case "end": return _context.stop();
						}
					}, _callee);
				}))();
			},
			updateTemplateMarkup: function updateTemplateMarkup() {
				var modeStrings = this.modesStrings()[this.getCurrentMode()];
				this.ui.title.html(modeStrings.title);
				this.ui.message.html(modeStrings.message);
				this.ui.button.html(modeStrings.button);
				this.ui.icon.html(modeStrings.icon);
			},
			handleElementorConnect: function handleElementorConnect() {
				var $connectButton = this.$el.find(".connect-button");
				if (!$connectButton.length) return;
				$connectButton.elementorConnect({
					popup: {
						width: 726,
						height: 534
					},
					success: function success() {
						elementor.config.library_connect.is_connected = true;
						elementor.notifications.showToast({ message: (0, _wordpress_i18n.__)("Connected successfully.", "elementor") });
						$e.routes.refreshContainer("library");
					},
					error: function error() {
						elementor.config.library_connect.is_connected = false;
					}
				});
			},
			onSelectSourceFilterChange: function onSelectSourceFilterChange(event) {
				elementor.templates.onSelectSourceFilterChange(event);
			},
			onButtonClick: function onButtonClick() {
				elementor.templates.eventManager.sendUpgradeClickedEvent({
					secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTab,
					upgradePosition: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTab
				});
			},
			onDestroy: function onDestroy() {
				var _elementor$templates$2;
				(_elementor$templates$2 = elementor.templates.layout.getHeaderView()) === null || _elementor$templates$2 === void 0 || (_elementor$templates$2 = _elementor$templates$2.tools) === null || _elementor$templates$2 === void 0 || (_elementor$templates$2 = _elementor$templates$2.$el[0]) === null || _elementor$templates$2 === void 0 || (_elementor$templates$2 = _elementor$templates$2.classList) === null || _elementor$templates$2 === void 0 || _elementor$templates$2.remove("e-hidden-disabled");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/preview.js
	var require_preview = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var TemplateLibraryPreviewView = Marionette.ItemView.extend({
			tagName: "main",
			template: "#tmpl-elementor-template-library-preview",
			id: "elementor-template-library-preview",
			ui: { iframe: "> iframe" },
			onRender: function onRender() {
				this.ui.iframe.attr("src", this.getOption("url"));
			}
		});
		module.exports = TemplateLibraryPreviewView;
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/parts/navigation-container.js
	var require_navigation_container = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-template-library-navigation-container",
			className: "elementor-template-library-navigation-container",
			ui: {
				title: ".elementor-template-library-current-folder-title",
				backButton: ".elementor-template-library-navigation-back-button"
			},
			events: { "click @ui.backButton": "onBackButtonClick" },
			render: function render() {
				if (null === elementor.templates.getFilter("parent")) return this;
				return Marionette.ItemView.prototype.render.call(this);
			},
			onRender: function onRender() {
				var _elementor$templates$;
				this.ui.title.text((_elementor$templates$ = elementor.templates.getFilter("parent")) === null || _elementor$templates$ === void 0 ? void 0 : _elementor$templates$.title);
			},
			onBackButtonClick: function onBackButtonClick() {
				elementor.templates.setFilter("parent", null);
				$e.route("library/templates/my-templates");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/views/library-layout.js
	var require_library_layout = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_asyncToGenerator();
		var import_regenerator$6 = /* @__PURE__ */ __toESM(require_regenerator());
		init_constants();
		var TemplateLibraryHeaderActionsView = require_actions();
		var TemplateLibraryHeaderMenuView = require_menu();
		var TemplateLibraryHeaderPreviewView = require_preview$1();
		var TemplateLibraryHeaderBackView = require_back();
		var TemplateLibraryCollectionView = require_templates$1();
		var TemplateLibrarySaveTemplateView = require_save_template();
		var TemplateLibrarySaveTemplateVariantBView = require_save_template_variant_b();
		var TemplateLibraryImportView = require_import();
		var TemplateLibraryConnectView = require_connect();
		var TemplateLibraryCloudStateView = require_cloud_states();
		var TemplateLibraryPreviewView = require_preview();
		var TemplateLibraryNavigationContainerView = require_navigation_container();
		function resolveSaveTemplateByVariant(variant) {
			switch (variant) {
				case "B": return TemplateLibrarySaveTemplateVariantBView;
				default: return TemplateLibrarySaveTemplateView;
			}
		}
		module.exports = elementorModules.common.views.modal.Layout.extend({
			getModalOptions: function getModalOptions() {
				var _window$elementor$con;
				var _window;
				var allowClosingModal = (_window$elementor$con = (_window = window) === null || _window === void 0 || (_window = _window.elementor) === null || _window === void 0 || (_window = _window.config) === null || _window === void 0 || (_window = _window.document) === null || _window === void 0 || (_window = _window.panel) === null || _window === void 0 ? void 0 : _window.allow_closing_remote_library) !== null && _window$elementor$con !== void 0 ? _window$elementor$con : true;
				return {
					id: "elementor-template-library-modal",
					hide: {
						onOutsideClick: allowClosingModal,
						onBackgroundClick: allowClosingModal,
						onEscKeyPress: allowClosingModal,
						ignore: ".dialog-widget-content, .dialog-buttons-undo_bulk_delete, .dialog-buttons-template_after_save, #elementor-library--infotip__dialog, #elementor-template-library-rename-dialog, #elementor-template-library-delete-dialog"
					}
				};
			},
			initModal: function initModal() {
				var _this = this;
				elementorModules.common.views.modal.Layout.prototype.initModal.call(this);
				var $widget = this.modal.getElements("widget");
				if ($widget.length && "true" === $widget.attr("aria-modal")) $widget.attr("role", "dialog");
				this.modal.on("show", function() {
					var $modalWidget = _this.modal.getElements("widget");
					if ($modalWidget.length) $modalWidget.trigger("focus");
				});
				if ($widget.length) $widget.on("keydown", function(event) {
					if ("Tab" !== event.key) return;
					var $focusable = $widget.find("a[href], button, input, select, textarea, [tabindex]").filter(":visible").not("[tabindex=\"-1\"], [disabled]");
					if (!$focusable.length) return;
					var $first = $focusable.first();
					var $last = $focusable.last();
					if (event.shiftKey) {
						if ($first[0] === event.target || $widget[0] === event.target) {
							event.preventDefault();
							$last.trigger("focus");
						}
					} else if ($last[0] === event.target) {
						event.preventDefault();
						$first.trigger("focus");
					}
				});
			},
			getLogoOptions: function getLogoOptions() {
				return {
					title: (0, _wordpress_i18n.__)("Library", "elementor"),
					click: function click() {
						$e.run("library/open", { toDefault: true });
					}
				};
			},
			getTemplateActionButton: function getTemplateActionButton(templateData) {
				var subscriptionPlans = elementor.config.library_connect.subscription_plans;
				var baseAccessTier = elementor.config.library_connect.base_access_tier;
				var templateAccessTier = templateData.accessTier;
				var viewId = "#tmpl-elementor-template-library-" + (baseAccessTier !== templateAccessTier ? "upgrade-plan-button" : "insert-button");
				viewId = elementor.hooks.applyFilters("elementor/editor/template-library/template/action-button", viewId, templateData);
				var template = Marionette.TemplateCache.get(viewId);
				var subscriptionPlan = subscriptionPlans[templateAccessTier];
				var promotionText = elementorAppConfig.hasPro ? "Upgrade" : "Go ".concat(subscriptionPlan.label);
				try {
					var promotionUrlPieces = new URL(subscriptionPlan.promotion_url);
					var queryString = promotionUrlPieces.searchParams.toString();
					var promotionLinkQueryString = elementor.hooks.applyFilters("elementor/editor/template-library/template/promotion-link-search-params", queryString, templateData);
					return Marionette.Renderer.render(template, {
						promotionText,
						promotionLink: "".concat(promotionUrlPieces.origin).concat(promotionUrlPieces.pathname, "?").concat(promotionLinkQueryString)
					});
				} catch (e) {
					return Marionette.Renderer.render(template, {
						promotionText,
						promotionLink: subscriptionPlan.promotion_url
					});
				}
			},
			setHeaderDefaultParts: function setHeaderDefaultParts() {
				var headerView = this.getHeaderView();
				headerView.tools.show(new TemplateLibraryHeaderActionsView());
				headerView.menuArea.show(new TemplateLibraryHeaderMenuView());
				this.showLogo();
			},
			showTemplatesView: function showTemplatesView(templatesCollection) {
				var prevView = this.modalContent.currentView;
				var shouldRestoreFocus = prevView && prevView._restoreFocusToSourceFilter;
				var isInitialOpen = !prevView;
				this.modalContent.show(new TemplateLibraryCollectionView({ collection: templatesCollection }));
				this.syncTabpanelAriaLabelledby();
				if (shouldRestoreFocus) {
					var newView = this.modalContent.currentView;
					if (newView && newView.ui.selectSourceFilter) {
						var $selected = newView.ui.selectSourceFilter.filter("[aria-checked=\"true\"]");
						if ($selected.length) $selected.trigger("focus");
					}
				} else if (isInitialOpen) this.focusFirstElement();
			},
			syncTabpanelAriaLabelledby: function syncTabpanelAriaLabelledby() {
				var _$e$components$get;
				var _this$modalContent$cu;
				var activeTab = (_$e$components$get = $e.components.get("library")) === null || _$e$components$get === void 0 ? void 0 : _$e$components$get.currentTab;
				var $container = (_this$modalContent$cu = this.modalContent.currentView) === null || _this$modalContent$cu === void 0 ? void 0 : _this$modalContent$cu.$childViewContainer;
				if (activeTab && $container !== null && $container !== void 0 && $container.length) $container.attr("aria-labelledby", "tab-".concat(activeTab));
			},
			focusFirstElement: function focusFirstElement() {
				var $widget = this.modal.getElements("widget");
				if (!$widget.length) return;
				var $firstFocusable = $widget.find("button, a, input, select, [tabindex=\"0\"]").filter(":visible").first();
				if ($firstFocusable.length) $firstFocusable.trigger("focus");
				else $widget.attr("tabindex", "-1").trigger("focus");
			},
			updateViewCollection: function updateViewCollection(models) {
				var _TemplateLibraryNavig;
				this.modalContent.currentView.collection.reset(models);
				this.modalContent.currentView.ui.navigationContainer.html((_TemplateLibraryNavig = new TemplateLibraryNavigationContainerView().render()) === null || _TemplateLibraryNavig === void 0 ? void 0 : _TemplateLibraryNavig.el);
				var $widget = this.modal.getElements("widget");
				if ($widget.length && !$widget[0].contains($widget[0].ownerDocument.activeElement)) this.focusFirstElement();
			},
			addTemplates: function addTemplates(models) {
				this.modalContent.currentView.collection.add(models, { merge: true });
			},
			showImportView: function showImportView() {
				var headerView = this.getHeaderView();
				headerView.menuArea.reset();
				this.modalContent.show(new TemplateLibraryImportView());
				headerView.logoArea.show(new TemplateLibraryHeaderBackView());
			},
			showConnectView: function showConnectView(args) {
				this.getHeaderView().menuArea.reset();
				this.modalContent.show(new TemplateLibraryConnectView(args));
			},
			showCloudStateView: function showCloudStateView() {
				elementor.templates.layout.hideLoadingView();
				this.modalContent.show(new TemplateLibraryCloudStateView());
			},
			showSaveTemplateView: function showSaveTemplateView(elementModel) {
				var _arguments = arguments;
				var _this2 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$6.default.mark(function _callee() {
					var context;
					var headerView;
					var experimentVariant;
					var SaveTemplateView;
					return import_regenerator$6.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								context = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : SAVE_CONTEXTS.SAVE;
								headerView = _this2.getHeaderView();
								headerView.menuArea.reset();
								if (SAVE_CONTEXTS.SAVE !== context) headerView.logoArea.show(new TemplateLibraryHeaderBackView());
								_context.next = 1;
								return elementor.templates.eventManager.getSaveTemplateExperimentVariant();
							case 1:
								experimentVariant = _context.sent;
								SaveTemplateView = resolveSaveTemplateByVariant(experimentVariant);
								elementor.templates.eventManager.startSaveTemplateExperiment(experimentVariant);
								_this2.modalContent.show(new SaveTemplateView({
									model: elementModel,
									context
								}));
							case 2:
							case "end": return _context.stop();
						}
					}, _callee);
				}))();
			},
			showPreviewView: function showPreviewView(templateModel) {
				this.modalContent.show(new TemplateLibraryPreviewView({ url: templateModel.get("url") }));
				var headerView = this.getHeaderView();
				headerView.menuArea.reset();
				headerView.tools.show(new TemplateLibraryHeaderPreviewView({ model: templateModel }));
				headerView.logoArea.show(new TemplateLibraryHeaderBackView());
			},
			showFolderView: function showFolderView(elementModel) {
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$6.default.mark(function _callee2() {
					return import_regenerator$6.default.wrap(function(_context2) {
						while (1) switch (_context2.prev = _context2.next) {
							case 0:
								_context2.prev = 0;
								elementor.templates.layout.showLoadingView();
								_context2.next = 1;
								return elementor.templates.getFolderTemplates(elementModel);
							case 1:
								_context2.prev = 1;
								elementor.templates.layout.hideLoadingView();
								return _context2.finish(1);
							case 2:
							case "end": return _context2.stop();
						}
					}, _callee2, null, [[
						0,
						,
						1,
						2
					]]);
				}))();
			},
			createScreenshotIframe: function createScreenshotIframe(previewUrl) {
				var iframe = document.createElement("iframe");
				iframe.src = previewUrl;
				iframe.width = "1200";
				iframe.height = "500";
				iframe.style = "visibility: hidden;";
				document.body.appendChild(iframe);
				return iframe;
			},
			handleBulkActionBarUi: function handleBulkActionBarUi() {
				if (0 === this.modalContent.currentView.$(".bulk-selection-item-checkbox:checked").length) {
					this.modalContent.currentView.$el.addClass("no-bulk-selections");
					this.modalContent.currentView.$el.removeClass("has-bulk-selections");
				} else {
					this.modalContent.currentView.$el.addClass("has-bulk-selections");
					this.modalContent.currentView.$el.removeClass("no-bulk-selections");
				}
				this.handleBulkActionBar();
			},
			handleBulkActionBar: function handleBulkActionBar() {
				var _elementor$templates$;
				var selectedCount = (_elementor$templates$ = elementor.templates.getBulkSelectionItems().size) !== null && _elementor$templates$ !== void 0 ? _elementor$templates$ : 0;
				var display = 0 === selectedCount ? "none" : "flex";
				var countText = "".concat(selectedCount, " Selected");
				var announcementText = 0 === selectedCount ? "" : "".concat(selectedCount, " ").concat(1 === selectedCount ? (0, _wordpress_i18n.__)("template", "elementor") : (0, _wordpress_i18n.__)("templates", "elementor"), " ").concat((0, _wordpress_i18n.__)("selected. Bulk actions available.", "elementor"));
				this.modalContent.currentView.ui.bulkSelectedCount.html(countText);
				if (announcementText && this.modalContent.currentView.ui.bulkSelectedCount.length) this.modalContent.currentView.ui.bulkSelectedCount.attr("aria-label", announcementText);
				this.modalContent.currentView.ui.bulkSelectionActionBar.css("display", display);
				var displayNavigationContainer = 0 === selectedCount ? "flex" : "none";
				this.modalContent.currentView.ui.navigationContainer.css("display", displayNavigationContainer);
			},
			selectAllCheckboxMinus: function selectAllCheckboxMinus() {
				if (this.isListView()) this.modalContent.currentView.ui.bulkSelectAllCheckbox.addClass("checkbox-minus");
			},
			selectAllCheckboxNormal: function selectAllCheckboxNormal() {
				if (this.isListView()) this.modalContent.currentView.ui.bulkSelectAllCheckbox.removeClass("checkbox-minus");
			},
			isListView: function isListView() {
				return "list" === elementor.templates.getViewSelection();
			},
			resetSortingUI: function resetSortingUI() {
				var _this$modalContent$cu2;
				Array.from(((_this$modalContent$cu2 = this.modalContent.currentView.ui) === null || _this$modalContent$cu2 === void 0 ? void 0 : _this$modalContent$cu2.orderInputs) || []).forEach(function(input) {
					input.checked = false;
				});
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/component.js
	function ownKeys$3(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$3(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$3(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function _callSuper$24(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$24() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$24() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$24 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$4(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var import_regenerator$5, TemplateLibraryLayoutView, Component$4;
	var init_component$4 = __esmMin((() => {
		init_asyncToGenerator();
		init_defineProperty();
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		import_regenerator$5 = /* @__PURE__ */ __toESM(require_regenerator());
		init_component_modal_base();
		init_commands$2();
		init_commands_data();
		init_constants();
		init_global_styles_dialog();
		init_editor_one_events();
		__name(ownKeys$3, "ownKeys");
		__name(_objectSpread$3, "_objectSpread");
		__name(_callSuper$24, "_callSuper");
		__name(_isNativeReflectConstruct$24, "_isNativeReflectConstruct");
		__name(_superPropGet$4, "_superPropGet");
		TemplateLibraryLayoutView = require_library_layout();
		Component$4 = /*#__PURE__*/ function(_ComponentModalBase) {
			function Component() {
				_classCallCheck(this, Component);
				return _callSuper$24(this, Component, arguments);
			}
			_inherits(Component, _ComponentModalBase);
			return _createClass(Component, [
				{
					key: "__construct",
					value: function __construct(args) {
						_superPropGet$4(Component, "__construct", this, 3)([args]);
						elementor.on("document:loaded", this.onDocumentLoaded.bind(this));
						$e.data.deleteCache(this, "library");
						elementor.channels.templates.on("quota:update", function() {
							var force = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}).force;
							$e.components.get("cloud-library").utils.setQuotaConfig(force);
						});
					}
				},
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "library";
					}
				},
				{
					key: "defaultTabs",
					value: function defaultTabs() {
						return {
							"templates/blocks": {
								title: (0, _wordpress_i18n.__)("Blocks", "elementor"),
								getFilter: function getFilter() {
									return {
										source: "remote",
										type: "block",
										subtype: elementor.config.document.remoteLibrary.category
									};
								}
							},
							"templates/pages": {
								title: (0, _wordpress_i18n.__)("Pages", "elementor"),
								filter: {
									source: "remote",
									type: "page"
								}
							},
							"templates/my-templates": {
								title: (0, _wordpress_i18n.__)("Templates", "elementor"),
								getFilter: function getFilter() {
									var _elementor$templates$;
									var _elementor$templates$2;
									return {
										source: (_elementor$templates$ = elementor.templates.getSourceSelection()) !== null && _elementor$templates$ !== void 0 ? _elementor$templates$ : "local",
										view: (_elementor$templates$2 = elementor.templates.getViewSelection()) !== null && _elementor$templates$2 !== void 0 ? _elementor$templates$2 : "list"
									};
								}
							}
						};
					}
				},
				{
					key: "defaultRoutes",
					value: function defaultRoutes() {
						var _this = this;
						return {
							import: function _import() {
								_this.manager.layout.showImportView();
							},
							"save-template": function saveTemplate(args) {
								var _args$context;
								_this.manager.layout.showSaveTemplateView(args.model, (_args$context = args.context) !== null && _args$context !== void 0 ? _args$context : SAVE_CONTEXTS.SAVE);
							},
							preview: function preview(args) {
								_this.manager.layout.showPreviewView(args.model);
							},
							connect: function connect(args) {
								args.texts = {
									title: (0, _wordpress_i18n.__)("Connect to Template Library", "elementor"),
									message: (0, _wordpress_i18n.__)("Access this template and our entire library by creating a free personal account", "elementor"),
									button: (0, _wordpress_i18n.__)("Get Started", "elementor")
								};
								_this.manager.layout.showConnectView(args);
							},
							"view-folder": function viewFolder(args) {
								_this.manager.layout.showFolderView(args);
							}
						};
					}
				},
				{
					key: "defaultCommands",
					value: function defaultCommands() {
						return _objectSpread$3(_objectSpread$3({}, _superPropGet$4(Component, "defaultCommands", this, 3)([])), this.importCommands(commands_exports$2));
					}
				},
				{
					key: "defaultData",
					value: function defaultData() {
						return this.importCommands(commands_data_exports);
					}
				},
				{
					key: "defaultShortcuts",
					value: function defaultShortcuts() {
						return { open: { keys: "ctrl+shift+l" } };
					}
				},
				{
					key: "onDocumentLoaded",
					value: function onDocumentLoaded(document) {
						this.setDefaultRoute(document.config.remoteLibrary.default_route);
						this.maybeOpenLibrary();
					}
				},
				{
					key: "renderTab",
					value: function renderTab(tab) {
						var currentTab = this.tabs[tab];
						var filter = currentTab.getFilter ? currentTab.getFilter() : currentTab.filter;
						this.trackLibraryNavigation(tab, currentTab.title);
						this.currentTab = tab;
						this.manager.setScreen(filter);
					}
				},
				{
					key: "trackLibraryNavigation",
					value: function trackLibraryNavigation(tab, tabTitle) {
						EditorOneEventManager.sendELibraryNav(tabTitle || tab);
					}
				},
				{
					key: "activateTab",
					value: function activateTab(tab) {
						var _this$manager;
						$e.routes.saveState("library");
						_superPropGet$4(Component, "activateTab", this, 3)([tab]);
						var $tabs = jQuery(this.getTabsWrapperSelector()).find("[role=\"tab\"]");
						var $activeTab = $tabs.filter("[data-tab=\"".concat(tab, "\"]"));
						var $templatesContainer = (_this$manager = this.manager) === null || _this$manager === void 0 || (_this$manager = _this$manager.layout) === null || _this$manager === void 0 || (_this$manager = _this$manager.modalContent) === null || _this$manager === void 0 || (_this$manager = _this$manager.currentView) === null || _this$manager === void 0 ? void 0 : _this$manager.$childViewContainer;
						$tabs.attr({
							"aria-selected": "false",
							tabindex: "-1"
						});
						$activeTab.attr({
							"aria-selected": "true",
							tabindex: "0"
						});
						if ($templatesContainer !== null && $templatesContainer !== void 0 && $templatesContainer.length) $templatesContainer.attr({
							role: "tabpanel",
							"aria-labelledby": "tab-".concat(tab)
						});
					}
				},
				{
					key: "open",
					value: function open() {
						_superPropGet$4(Component, "open", this, 3)([]);
						if (!this.manager.layout) this.manager.layout = this.layout;
						this.manager.layout.setHeaderDefaultParts();
						return true;
					}
				},
				{
					key: "close",
					value: function close() {
						if (!_superPropGet$4(Component, "close", this, 3)([])) return false;
						this.manager.modalConfig = {};
						return true;
					}
				},
				{
					key: "show",
					value: function show(args) {
						this.manager.modalConfig = args;
						if (args.toDefault || !$e.routes.restoreState("library")) $e.route(this.getDefaultRoute());
					}
				},
				{
					key: "insertTemplate",
					value: function insertTemplate(args) {
						var _this2 = this;
						this.downloadTemplate(args, function(data, callbackParams) {
							var _model$get;
							var _elementor$config$lib;
							var model = callbackParams.model;
							var source = (_model$get = model.get("source")) !== null && _model$get !== void 0 ? _model$get : "local";
							var templateType = model.get("type");
							var templateTitle = model.get("title");
							var templateId = model.get("template_id");
							var baseTier = (_elementor$config$lib = elementor.config.library_connect) === null || _elementor$config$lib === void 0 ? void 0 : _elementor$config$lib.base_access_tier;
							var templateTier = model.get("accessTier");
							$e.run("document/elements/import", {
								model,
								data,
								options: callbackParams.importOptions,
								onAfter: function onAfter() {
									_this2.manager.eventManager.sendTemplateInsertedEvent({ library_type: source });
									EditorOneEventManager.sendELibraryInsert({
										assetId: templateId,
										assetName: templateTitle,
										libraryType: templateType || source,
										proRequired: baseTier !== templateTier
									});
								}
							});
						});
					}
				},
				{
					key: "downloadTemplate",
					value: function downloadTemplate(args, callback) {
						var _this3 = this;
						var autoImportSettings = elementor.config.document.remoteLibrary.autoImportSettings;
						var model = args.model;
						var _args$withPageSetting = args.withPageSettings;
						var withPageSettings = _args$withPageSetting === void 0 ? null : _args$withPageSetting;
						if (autoImportSettings) withPageSettings = true;
						this.manager.layout.showLoadingView();
						var shouldFetchPageSettings = null === withPageSettings ? model.get("hasPageSettings") : withPageSettings;
						this.manager.requestTemplateContent(model.get("source"), model.get("template_id"), {
							data: { with_page_settings: shouldFetchPageSettings },
							success: function() {
								var _success = _asyncToGenerator(/*#__PURE__*/ import_regenerator$5.default.mark(function _callee(data) {
									var processedData;
									var globalStylesResult;
									var importOptions;
									var insertTemplateHandler;
									return import_regenerator$5.default.wrap(function(_context) {
										while (1) switch (_context.prev = _context.next) {
											case 0:
												_this3.manager.layout.hideLoadingView();
												processedData = data;
												if (!_this3.manager.hasGlobalStyles(data)) {
													_context.next = 4;
													break;
												}
												_context.prev = 1;
												_context.next = 2;
												return _this3.processGlobalStylesImport(data);
											case 2:
												globalStylesResult = _context.sent;
												processedData = globalStylesResult.data;
												withPageSettings = globalStylesResult.withPageSettings;
												_context.next = 4;
												break;
											case 3:
												_context.prev = 3;
												_context["catch"](1);
												return _context.abrupt("return");
											case 4:
												if (!_this3.manager.hasGlobalStyles(data) && null === withPageSettings) withPageSettings = false;
												importOptions = jQuery.extend({}, _this3.manager.modalConfig.importOptions);
												importOptions.withPageSettings = withPageSettings;
												if (!(null === withPageSettings && model.get("hasPageSettings"))) {
													_context.next = 5;
													break;
												}
												insertTemplateHandler = _this3.getImportSettingsDialog();
												insertTemplateHandler.showImportDialogWithData(model, processedData, importOptions, callback);
												return _context.abrupt("return");
											case 5:
												_this3.manager.layout.hideModal();
												_this3.showFlatteningWarningIfNeeded(processedData);
												callback(processedData, {
													model,
													importOptions
												});
											case 6:
											case "end": return _context.stop();
										}
									}, _callee, null, [[1, 3]]);
								}));
								function success(_x) {
									return _success.apply(this, arguments);
								}
								return success;
							}(),
							error: function error(data) {
								_this3.manager.showErrorDialog(data);
							},
							complete: function complete() {
								_this3.manager.layout.hideLoadingView();
							}
						});
					}
				},
				{
					key: "processGlobalStylesImport",
					value: function() {
						var _processGlobalStylesImport = _asyncToGenerator(/*#__PURE__*/ import_regenerator$5.default.mark(function _callee2(data) {
							var _yield$showGlobalStyl;
							var mode;
							var result;
							var processedData;
							var _t2;
							return import_regenerator$5.default.wrap(function(_context2) {
								while (1) switch (_context2.prev = _context2.next) {
									case 0:
										_context2.next = 1;
										return showGlobalStylesDialog();
									case 1:
										_yield$showGlobalStyl = _context2.sent;
										mode = _yield$showGlobalStyl.mode;
										this.manager.layout.showLoadingView();
										_context2.prev = 2;
										_context2.next = 3;
										return new Promise(function(resolve, reject) {
											elementorCommon.ajax.addRequest("process_global_styles", {
												data: {
													content: JSON.stringify(data.content),
													import_mode: mode,
													global_classes: data.global_classes ? JSON.stringify(data.global_classes) : null,
													global_variables: data.global_variables ? JSON.stringify(data.global_variables) : null
												},
												success: resolve,
												error: reject
											});
										});
									case 3:
										result = _context2.sent;
										processedData = _objectSpread$3(_objectSpread$3({}, data), {}, {
											content: result.content,
											flattened_classes_count: result.flattened_classes_count || 0,
											flattened_variables_count: result.flattened_variables_count || 0
										});
										if (result.updated_global_classes || result.updated_global_variables) window.dispatchEvent(new CustomEvent("elementor/global-styles/imported", { detail: {
											global_classes: result.updated_global_classes,
											global_variables: result.updated_global_variables
										} }));
										return _context2.abrupt("return", {
											data: processedData,
											withPageSettings: "match_site" === mode
										});
									case 4:
										_context2.prev = 4;
										_t2 = _context2["catch"](2);
										this.manager.showErrorDialog(_t2);
										throw _t2;
									case 5:
										_context2.prev = 5;
										this.manager.layout.hideLoadingView();
										return _context2.finish(5);
									case 6:
									case "end": return _context2.stop();
								}
							}, _callee2, this, [[
								2,
								4,
								5,
								6
							]]);
						}));
						function processGlobalStylesImport(_x2) {
							return _processGlobalStylesImport.apply(this, arguments);
						}
						return processGlobalStylesImport;
					}()
				},
				{
					key: "getImportSettingsDialog",
					value: function getImportSettingsDialog() {
						var self = this;
						var InsertTemplateHandler = {
							dialog: null,
							showImportDialog: function showImportDialog(model) {
								var dialog = InsertTemplateHandler.getDialog(model);
								dialog.onConfirm = function() {
									$e.run("library/insert-template", {
										model,
										withPageSettings: true,
										onAfter: function onAfter() {
											elementor.templates.eventManager.sendInsertApplySettingsEvent({
												apply_modal_result: "apply",
												library_type: model.get("source")
											});
										}
									});
								};
								dialog.onCancel = function() {
									$e.run("library/insert-template", {
										model,
										withPageSettings: false,
										onAfter: function onAfter() {
											elementor.templates.eventManager.sendInsertApplySettingsEvent({
												apply_modal_result: "don't apply",
												library_type: model.get("source")
											});
										}
									});
								};
								dialog.show();
							},
							showImportDialogWithData: function showImportDialogWithData(model, data, importOptions, callback) {
								var dialog = InsertTemplateHandler.getDialog(model);
								dialog.onConfirm = function() {
									importOptions.withPageSettings = true;
									elementor.templates.eventManager.sendInsertApplySettingsEvent({
										apply_modal_result: "apply",
										library_type: model.get("source")
									});
									self.manager.layout.hideModal();
									callback(data, {
										model,
										importOptions
									});
								};
								dialog.onCancel = function() {
									importOptions.withPageSettings = false;
									elementor.templates.eventManager.sendInsertApplySettingsEvent({
										apply_modal_result: "don't apply",
										library_type: model.get("source")
									});
									self.manager.layout.hideModal();
									callback(data, {
										model,
										importOptions
									});
								};
								dialog.show();
							},
							initDialog: function initDialog(model) {
								InsertTemplateHandler.dialog = elementorCommon.dialogsManager.createWidget("confirm", {
									id: "elementor-insert-template-settings-dialog",
									headerMessage: (0, _wordpress_i18n.__)("Apply the settings of this %s too?", "elementor").replace("%s", elementor.translate(model.attributes.type)),
									message: (0, _wordpress_i18n.__)("This will override the design, layout, and other settings of the %s you’re working on.", "elementor").replace("%s", elementor.documents.getCurrent().container.label),
									strings: {
										confirm: (0, _wordpress_i18n.__)("Apply", "elementor"),
										cancel: (0, _wordpress_i18n.__)("Don’t apply", "elementor")
									}
								});
							},
							getDialog: function getDialog(model) {
								if (!InsertTemplateHandler.dialog) InsertTemplateHandler.initDialog(model);
								return InsertTemplateHandler.dialog;
							}
						};
						return InsertTemplateHandler;
					}
				},
				{
					key: "getTabsWrapperSelector",
					value: function getTabsWrapperSelector() {
						return "#elementor-template-library-header-menu";
					}
				},
				{
					key: "getModalLayout",
					value: function getModalLayout() {
						return TemplateLibraryLayoutView;
					}
				},
				{
					key: "maybeOpenLibrary",
					value: function maybeOpenLibrary() {
						if ("#library" === location.hash) {
							$e.run("library/open");
							location.hash = "";
						}
					}
				},
				{
					key: "showFlatteningWarningIfNeeded",
					value: function showFlatteningWarningIfNeeded(result) {
						var flattenedClassesCount = result.flattened_classes_count || 0;
						var flattenedVariablesCount = result.flattened_variables_count || 0;
						if (0 === flattenedClassesCount && 0 === flattenedVariablesCount) return;
						var message;
						if (flattenedClassesCount > 0 && flattenedVariablesCount > 0) message = (0, _wordpress_i18n.__)("Some styles were added as static values because the style limits were reached.", "elementor");
						else if (flattenedClassesCount > 0) message = (0, _wordpress_i18n.__)("Some styles were added as static values because the class limit was reached.", "elementor");
						else message = (0, _wordpress_i18n.__)("Some styles were added as static values because the variable limit was reached.", "elementor");
						elementor.notifications.showToast({ message });
					}
				}
			]);
		}(ComponentModalBase);
	}));

//#endregion
//#region modules/web-cli/assets/js/core/data/storages/base-storage.js
	var BaseStorage;
	var init_base_storage = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		BaseStorage = /*#__PURE__*/ function() {
			/**
			* Create storage wrapper.
			*
			* @param {Storage} provider
			*/
			function BaseStorage(provider) {
				_classCallCheck(this, BaseStorage);
				if (BaseStorage === (this instanceof BaseStorage ? this.constructor : void 0)) throw new TypeError("Cannot construct BaseStorage instances directly");
				this.provider = provider;
			}
			return _createClass(BaseStorage, [
				{
					key: "clear",
					value: function clear() {
						return this.provider.clear();
					}
				},
				{
					key: "getItem",
					value: function getItem(key) {
						var result = this.provider.getItem(key);
						if (null !== result) return JSON.parse(result);
						return result;
					}
				},
				{
					key: "key",
					value: function key(index) {
						return this.provider.key(index);
					}
				},
				{
					key: "removeItem",
					value: function removeItem(key) {
						return this.provider.removeItem(key);
					}
				},
				{
					key: "setItem",
					value: function setItem(key, value) {
						return this.provider.setItem(key, JSON.stringify(value));
					}
				},
				{
					key: "getAll",
					value: function getAll() {
						var _this = this;
						var keys = Object.keys(this.provider);
						var result = {};
						keys.forEach(function(key) {
							result[key] = _this.getItem(key);
						});
						return result;
					}
				}
			]);
		}();
	}));

//#endregion
//#region modules/web-cli/assets/js/core/data/storages/base-prefix-storage.js
	function _callSuper$23(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$23() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$23() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$23 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$3(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var BasePrefixStorage;
	var init_base_prefix_storage = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		init_defineProperty();
		init_base_storage();
		__name(_callSuper$23, "_callSuper");
		__name(_isNativeReflectConstruct$23, "_isNativeReflectConstruct");
		__name(_superPropGet$3, "_superPropGet");
		BasePrefixStorage = /*#__PURE__*/ function(_BaseStorage) {
			function BasePrefixStorage() {
				_classCallCheck(this, BasePrefixStorage);
				return _callSuper$23(this, BasePrefixStorage, arguments);
			}
			_inherits(BasePrefixStorage, _BaseStorage);
			return _createClass(BasePrefixStorage, [
				{
					key: "clear",
					value: function clear() {
						var _this = this;
						Object.keys(this.getAll()).forEach(function(key) {
							return _this.removeItem(key);
						});
					}
				},
				{
					key: "getItem",
					value: function getItem(key) {
						return _superPropGet$3(BasePrefixStorage, "getItem", this, 3)([BasePrefixStorage.DEFAULT_KEY_PREFIX + key]);
					}
				},
				{
					key: "removeItem",
					value: function removeItem(key) {
						return _superPropGet$3(BasePrefixStorage, "removeItem", this, 3)([BasePrefixStorage.DEFAULT_KEY_PREFIX + key]);
					}
				},
				{
					key: "setItem",
					value: function setItem(key, value) {
						return _superPropGet$3(BasePrefixStorage, "setItem", this, 3)([BasePrefixStorage.DEFAULT_KEY_PREFIX + key, value]);
					}
				},
				{
					key: "getAll",
					value: function getAll() {
						var _this2 = this;
						var DEFAULT_KEY_PREFIX = BasePrefixStorage.DEFAULT_KEY_PREFIX;
						var keys = Object.keys(this.provider);
						var result = {};
						keys.forEach(function(key) {
							if (key.startsWith(DEFAULT_KEY_PREFIX)) {
								key = key.replace(DEFAULT_KEY_PREFIX, "");
								result[key] = _this2.getItem(key);
							}
						});
						return result;
					}
				}
			]);
		}(BaseStorage);
		_defineProperty(BasePrefixStorage, "DEFAULT_KEY_PREFIX", "e_");
	}));

//#endregion
//#region modules/web-cli/assets/js/core/data/storages/local-storage.js
	function _callSuper$22(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$22() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$22() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$22 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var LocalStorage;
	var init_local_storage = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_base_prefix_storage();
		__name(_callSuper$22, "_callSuper");
		__name(_isNativeReflectConstruct$22, "_isNativeReflectConstruct");
		LocalStorage = /*#__PURE__*/ function(_BasePrefixStorage) {
			function LocalStorage() {
				_classCallCheck(this, LocalStorage);
				return _callSuper$22(this, LocalStorage, [localStorage]);
			}
			_inherits(LocalStorage, _BasePrefixStorage);
			return _createClass(LocalStorage, [{
				key: "debug",
				value: function debug() {
					var entries = this.getAll();
					var ordered = {};
					Object.keys(entries).sort().forEach(function(key) {
						ordered[key] = entries[key];
					});
					return ordered;
				}
			}]);
		}(BasePrefixStorage);
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/event-manager/index.js
	function ownKeys$2(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$2(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$2(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	var import_regenerator$4, EVENTS_MAP, CLOUD_TEMPLATES_EXPERIMENTS, EventManager;
	var init_event_manager = __esmMin((() => {
		init_defineProperty();
		init_asyncToGenerator();
		init_classCallCheck();
		init_createClass();
		import_regenerator$4 = /* @__PURE__ */ __toESM(require_regenerator());
		__name(ownKeys$2, "ownKeys");
		__name(_objectSpread$2, "_objectSpread");
		EVENTS_MAP = {
			SAVE_TEMPLATE_CONTEXT_MENU_EXPOSURE: "save_template_context_menu_exposure",
			NEW_SAVE_TEMPLATE_CLICKED: "new_save_template_clicked",
			TEMPLATE_SAVED: "template_saved",
			TEMPLATE_TRANSFER: "template_transfer",
			ITEM_DELETED: "item_deleted",
			TEMPLATE_IMPORT: "template_import",
			TEMPLATE_RENAME: "template_rename",
			TEMPLATE_INSERTED: "template_inserted",
			BULK_ACTIONS_SUCCESS: "bulk_actions",
			BULK_ACTIONS_FAILED: "bulk_actions",
			FOLDER_CREATE: "folder_create",
			QUOTA_BAR_CAPACITY: "quota_bar_capacity",
			INSERT_APPLY_SETTINGS: "insert_apply_settings",
			UPGRADE_CLICKED: "upgrade_clicked",
			PAGE_VIEWED: "page_viewed",
			DELETION_UNDO: "deletion_undo",
			CT_BADGE_HOVER: "ct_badge_hover"
		};
		CLOUD_TEMPLATES_EXPERIMENTS = { SAVE_TEMPLATE: "save-template-cloud" };
		EventManager = /*#__PURE__*/ function() {
			function EventManager() {
				_classCallCheck(this, EventManager);
			}
			return _createClass(EventManager, [
				{
					key: "getExperimentVariant",
					value: function() {
						var _getExperimentVariant = _asyncToGenerator(/*#__PURE__*/ import_regenerator$4.default.mark(function _callee(experimentName) {
							var _elementorCommon;
							var _elementorCommon2;
							return import_regenerator$4.default.wrap(function(_context) {
								while (1) switch (_context.prev = _context.next) {
									case 0:
										if ((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && _elementorCommon.eventsManager) {
											_context.next = 1;
											break;
										}
										return _context.abrupt("return", "control");
									case 1: return _context.abrupt("return", ((_elementorCommon2 = elementorCommon) === null || _elementorCommon2 === void 0 || (_elementorCommon2 = _elementorCommon2.eventsManager) === null || _elementorCommon2 === void 0 ? void 0 : _elementorCommon2.getExperimentVariant(experimentName, "control")) || "control");
									case 2:
									case "end": return _context.stop();
								}
							}, _callee);
						}));
						function getExperimentVariant(_x) {
							return _getExperimentVariant.apply(this, arguments);
						}
						return getExperimentVariant;
					}()
				},
				{
					key: "getSaveTemplateExperimentVariant",
					value: function getSaveTemplateExperimentVariant() {
						return this.getExperimentVariant(CLOUD_TEMPLATES_EXPERIMENTS.SAVE_TEMPLATE);
					}
				},
				{
					key: "startSaveTemplateExperiment",
					value: function startSaveTemplateExperiment(variant) {
						var _elementorCommon3;
						var _elementorCommon4;
						if (!((_elementorCommon3 = elementorCommon) !== null && _elementorCommon3 !== void 0 && _elementorCommon3.eventsManager)) return;
						return (_elementorCommon4 = elementorCommon) === null || _elementorCommon4 === void 0 || (_elementorCommon4 = _elementorCommon4.eventsManager) === null || _elementorCommon4 === void 0 ? void 0 : _elementorCommon4.startExperiment(CLOUD_TEMPLATES_EXPERIMENTS.SAVE_TEMPLATE, variant);
					}
				},
				{
					key: "sendEvent",
					value: function sendEvent(eventName, data) {
						return elementorCommon.eventsManager.dispatchEvent(eventName, data);
					}
				},
				{
					key: "sendContextMenuExposureEvent",
					value: function sendContextMenuExposureEvent() {
						return this.sendEvent(EVENTS_MAP.SAVE_TEMPLATE_CONTEXT_MENU_EXPOSURE, {
							location: elementorCommon.eventsManager.config.locations.elementorEditor,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.contextMenu,
							trigger: elementorCommon.eventsManager.config.triggers.visible
						});
					}
				},
				{
					key: "sendNewSaveTemplateClickedEvent",
					value: function sendNewSaveTemplateClickedEvent() {
						return this.sendEvent(EVENTS_MAP.NEW_SAVE_TEMPLATE_CLICKED, {
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal,
							trigger: elementorCommon.eventsManager.config.triggers.click
						});
					}
				},
				{
					key: "sendTemplateSavedEvent",
					value: function sendTemplateSavedEvent(data) {
						return this.sendEvent(EVENTS_MAP.TEMPLATE_SAVED, _objectSpread$2({
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal,
							trigger: elementorCommon.eventsManager.config.triggers.click
						}, data));
					}
				},
				{
					key: "sendTemplateTransferEvent",
					value: function sendTemplateTransferEvent(data) {
						return this.sendEvent(EVENTS_MAP.TEMPLATE_TRANSFER, _objectSpread$2({
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
						}, data));
					}
				},
				{
					key: "sendItemDeletedEvent",
					value: function sendItemDeletedEvent(data) {
						return this.sendEvent(EVENTS_MAP.ITEM_DELETED, _objectSpread$2({
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteDialog
						}, data));
					}
				},
				{
					key: "sendTemplateImportEvent",
					value: function sendTemplateImportEvent(data) {
						return this.sendEvent(EVENTS_MAP.TEMPLATE_IMPORT, _objectSpread$2({
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
						}, data));
					}
				},
				{
					key: "sendTemplateRenameEvent",
					value: function sendTemplateRenameEvent(data) {
						return this.sendEvent(EVENTS_MAP.TEMPLATE_RENAME, _objectSpread$2({
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.renameDialog
						}, data));
					}
				},
				{
					key: "sendTemplateInsertedEvent",
					value: function sendTemplateInsertedEvent(data) {
						return this.sendEvent(EVENTS_MAP.TEMPLATE_INSERTED, _objectSpread$2({ location: elementorCommon.eventsManager.config.locations.templatesLibrary.library }, data));
					}
				},
				{
					key: "sendBulkActionsSuccessEvent",
					value: function sendBulkActionsSuccessEvent(data) {
						return this.sendEvent(EVENTS_MAP.BULK_ACTIONS_SUCCESS, _objectSpread$2({
							bulk_status: "success",
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
						}, data));
					}
				},
				{
					key: "sendBulkActionsFailedEvent",
					value: function sendBulkActionsFailedEvent(data) {
						return this.sendEvent(EVENTS_MAP.BULK_ACTIONS_FAILED, _objectSpread$2({
							bulk_status: "fail",
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
						}, data));
					}
				},
				{
					key: "sendFolderCreateEvent",
					value: function sendFolderCreateEvent() {
						return this.sendEvent(EVENTS_MAP.FOLDER_CREATE, {
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.createFolderDialog
						});
					}
				},
				{
					key: "sendQuotaBarCapacityEvent",
					value: function sendQuotaBarCapacityEvent(data) {
						return this.sendEvent(EVENTS_MAP.QUOTA_BAR_CAPACITY, _objectSpread$2({ location: elementorCommon.eventsManager.config.locations.templatesLibrary.library }, data));
					}
				},
				{
					key: "sendInsertApplySettingsEvent",
					value: function sendInsertApplySettingsEvent(data) {
						return this.sendEvent(EVENTS_MAP.INSERT_APPLY_SETTINGS, _objectSpread$2({
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.applySettingsDialog
						}, data));
					}
				},
				{
					key: "sendUpgradeClickedEvent",
					value: function sendUpgradeClickedEvent(data) {
						var _elementor;
						return this.sendEvent(EVENTS_MAP.UPGRADE_CLICKED, _objectSpread$2({
							location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
							current_sub: (_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 || (_elementor = _elementor.library_connect) === null || _elementor === void 0 ? void 0 : _elementor.current_access_tier
						}, data));
					}
				},
				{
					key: "sendPageViewEvent",
					value: function sendPageViewEvent(data) {
						return this.sendEvent(EVENTS_MAP.PAGE_VIEWED, _objectSpread$2({ page_loaded: data.location }, data));
					}
				},
				{
					key: "sendDeletionUndoEvent",
					value: function sendDeletionUndoEvent(data) {
						return this.sendEvent(EVENTS_MAP.DELETION_UNDO, _objectSpread$2({}, data));
					}
				},
				{
					key: "sendCTBadgeEvent",
					value: function sendCTBadgeEvent(data) {
						return this.sendEvent(EVENTS_MAP.CT_BADGE_HOVER, {
							ct_badge_hover_position: data.ct_badge_hover_position,
							ct_badge_type: data.ct_badge_type,
							ct_position_state: data.ct_position_state
						});
					}
				}
			]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/components/template-library/manager.js
	var require_manager$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_toConsumableArray();
		init_typeof();
		init_asyncToGenerator();
		init_defineProperty();
		init_slicedToArray();
		var import_regenerator$3 = /* @__PURE__ */ __toESM(require_regenerator());
		init_component$4();
		init_local_storage();
		init_event_manager();
		init_constants();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var TemplateLibraryCollection = require_templates();
		var TemplateLibraryManager = function TemplateLibraryManager() {
			var _this3 = this;
			this.modalConfig = {};
			this.eventManager = new EventManager();
			var self = this;
			var templateTypes = {};
			var storage = new LocalStorage();
			var storageKeyPrefix = "my_templates_";
			var sourceKey = "source";
			var viewKey = "view";
			var bulkSelectedItems = /* @__PURE__ */ new Set();
			var lastDeletedItems = /* @__PURE__ */ new Set();
			var variantsConfig = {
				control: {
					saveBtnText: (0, _wordpress_i18n.__)("Save", "elementor"),
					saveDialogDescription: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("You can save it to %1$sCloud Templates%2$s to reuse across any of your Elementor sites at any time%3$sor to %4$sSite Templates%5$s so it's always ready when editing this website.", "elementor"), "<b>", "</b>", "<br>", "<b>", "</b>")
				},
				B: {
					saveBtnText: (0, _wordpress_i18n.__)("Save page", "elementor"),
					saveDialogDescription: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Store your design in %1$sCloud Templates%2$s for future Elementor projects. Or save it to %3$sSite Templates%4$s, to reuse anywhere on this site.", "elementor"), "<b>", "</b>", "<b>", "</b>")
				}
			};
			var deleteDialog;
			var errorDialog;
			var templatesCollection;
			var config = {};
			var filterTerms = {};
			var isLoading = false;
			var total = 0;
			var toastConfig = {
				show: false,
				options: {}
			};
			var bulkSelectedItemsTypes = [];
			var registerDefaultTemplateTypes = function registerDefaultTemplateTypes() {
				self.getDefaultTemplateTypeData().then(function(data) {
					var elements = Object.entries(elementor.getConfig().elements).reduce(function(acc, _ref) {
						var _ref2 = _slicedToArray(_ref, 2);
						var type = _ref2[0];
						var element = _ref2[1];
						if (!(element !== null && element !== void 0 && element.atomic_props_schema)) return acc;
						acc[type] = element.title;
						return acc;
					}, {});
					var translationMap = _objectSpread(_objectSpread({
						page: (0, _wordpress_i18n.__)("Page", "elementor"),
						section: (0, _wordpress_i18n.__)("Section", "elementor"),
						container: (0, _wordpress_i18n.__)("Container", "elementor")
					}, elements), {}, _defineProperty({}, elementor.config.document.type, elementor.config.document.panel.title));
					jQuery.each(translationMap, function(type, title) {
						self.getDefaultTemplateTypeSafeData(title, type).then(function(defaultTemplateData) {
							var safeData = jQuery.extend(true, {}, data, defaultTemplateData);
							self.registerTemplateType(type, safeData);
						});
					});
				});
			};
			var registerDefaultFilterTerms = function registerDefaultFilterTerms() {
				filterTerms = {
					text: { callback: function callback(value) {
						value = value.toLowerCase();
						if (this.get("title").toLowerCase().indexOf(value) >= 0) return true;
						return _.any(this.get("tags"), function(tag) {
							return tag.toLowerCase().indexOf(value) >= 0;
						});
					} },
					type: {},
					subtype: {},
					favorite: {}
				};
			};
			this.isLoading = function() {
				return isLoading;
			};
			this.canLoadMore = function() {
				if (!templatesCollection) return false;
				return templatesCollection.length < total;
			};
			this.init = function() {
				var _this = this;
				registerDefaultTemplateTypes();
				registerDefaultFilterTerms();
				this.component = $e.components.register(new Component$4({ manager: this }));
				elementor.addBackgroundClickListener("libraryToggleMore", { element: ".elementor-template-library-template-more" });
				window.addEventListener("message", function(message) {
					var data = message.data;
					if (!data.name || data.name !== "library/capture-screenshot-done") return;
					var template = templatesCollection.models.find(function(templateModel) {
						return templateModel.get("template_id") === parseInt(data.id);
					});
					if (!template) return null;
					template.set("preview_url", data.imageUrl);
				});
				this.handleKeydown = function(event) {
					if (_this.isSelectAllShortcut(event) && _this.isCloudGridView() && _this.isClickedInLibrary(event)) {
						event.preventDefault();
						_this.selectAllTemplates();
					}
					if (_this.isUndoShortCut(event) && lastDeletedItems.size) _this.restoreRemovedItems();
				};
				document.addEventListener("keydown", this.handleKeydown);
			};
			this.getDefaultTemplateTypeData = function() {
				return this.eventManager.getSaveTemplateExperimentVariant().then(function(experimentVariant) {
					var _variantsConfig$exper;
					return {
						saveDialog: {
							icon: "<i class=\"eicon-library-upload\" aria-hidden=\"true\"></i>",
							canSaveToCloud: true,
							saveBtnText: (_variantsConfig$exper = variantsConfig[experimentVariant]) === null || _variantsConfig$exper === void 0 ? void 0 : _variantsConfig$exper.saveBtnText
						},
						moveDialog: {
							description: (0, _wordpress_i18n.__)("Alternatively, you can copy the template.", "elementor"),
							icon: "<i class=\"eicon-library-move\" aria-hidden=\"true\"></i>",
							canSaveToCloud: true,
							saveBtnText: (0, _wordpress_i18n.__)("Move", "elementor"),
							nameLabel: "",
							namePlaceholder: ""
						},
						copyDialog: {
							description: (0, _wordpress_i18n.__)("Alternatively, you can move the template.", "elementor"),
							icon: "<i class=\"eicon-library-copy\" aria-hidden=\"true\"></i>",
							canSaveToCloud: true,
							saveBtnText: (0, _wordpress_i18n.__)("Copy", "elementor"),
							nameLabel: "",
							namePlaceholder: ""
						},
						bulkMoveDialog: {
							description: (0, _wordpress_i18n.__)("Alternatively, you can copy the templates.", "elementor"),
							title: (0, _wordpress_i18n.__)("Move templates to a different location", "elementor"),
							icon: "<i class=\"eicon-library-move\" aria-hidden=\"true\"></i>",
							canSaveToCloud: true,
							saveBtnText: (0, _wordpress_i18n.__)("Move", "elementor"),
							nameLabel: "",
							namePlaceholder: ""
						},
						bulkCopyDialog: {
							description: (0, _wordpress_i18n.__)("Alternatively, you can move the templates.", "elementor"),
							title: (0, _wordpress_i18n.__)("Copy templates to a different location", "elementor"),
							icon: "<i class=\"eicon-library-copy\" aria-hidden=\"true\"></i>",
							canSaveToCloud: true,
							saveBtnText: (0, _wordpress_i18n.__)("Copy", "elementor"),
							nameLabel: "",
							namePlaceholder: ""
						}
					};
				});
			};
			this.getDefaultTemplateTypeSafeData = function(title, type) {
				return this.eventManager.getSaveTemplateExperimentVariant().then(function(experimentVariant) {
					var _variantsConfig$exper2;
					var isPageType = "page" === type;
					var nameLabel = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("%s name", "elementor"), title);
					var namePlaceholder = isPageType ? (0, _wordpress_i18n.__)("Type the page name here", "elementor") : (0, _wordpress_i18n.__)("Give your template a name", "elementor");
					return {
						saveDialog: {
							description: ((_variantsConfig$exper2 = variantsConfig[experimentVariant]) === null || _variantsConfig$exper2 === void 0 ? void 0 : _variantsConfig$exper2.saveDialogDescription) || "",
							title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Save this %s to your library", "elementor"), title),
							nameLabel,
							namePlaceholder,
							saveLocationLabel: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Where would you like to save this %s?", "elementor"), title)
						},
						moveDialog: {
							title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Move your %s to a different location", "elementor"), title),
							saveLocationLabel: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Where would you like to move this %s?", "elementor"), title),
							nameLabel,
							namePlaceholder
						},
						copyDialog: {
							title: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Copy your %s to a different location", "elementor"), title),
							saveLocationLabel: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Where would you like to cppy this %s?", "elementor"), title),
							nameLabel,
							namePlaceholder
						},
						bulkMoveDialog: { saveLocationLabel: (0, _wordpress_i18n.__)("Where would you like to move selected templates?", "elementor") },
						bulkCopyDialog: { saveLocationLabel: (0, _wordpress_i18n.__)("Where would you like to copy selected templates?", "elementor") }
					};
				});
			};
			this.isSelectAllShortcut = function(event) {
				return (event.metaKey || event.ctrlKey) && "a" === event.key;
			};
			this.isUndoShortCut = function(event) {
				return (event.metaKey || event.ctrlKey) && "z" === event.key;
			};
			this.isCloudGridView = function() {
				return "cloud" === this.getFilter("source") && "grid" === this.getViewSelection();
			};
			this.isClickedInLibrary = function(event) {
				if (event.target === document.body) return true;
				var libraryElement = document.getElementById("elementor-template-library-modal");
				return libraryElement && event.target === libraryElement;
			};
			this.clearLastRemovedItems = function() {
				lastDeletedItems.clear();
			};
			this.addLastRemovedItems = function(ids) {
				if (!Array.isArray(ids) && !ids.length) return;
				ids.forEach(function(id) {
					return lastDeletedItems.add(id);
				});
			};
			this.selectAllTemplates = function() {
				var _this2 = this;
				document.querySelectorAll(".elementor-template-library-template[data-template_id]").forEach(function(element) {
					var templateId = element.getAttribute("data-template_id");
					var type = element.getAttribute("data-type");
					element.classList.add("bulk-selected-item");
					_this2.addBulkSelectionItem(templateId, type);
				});
				this.layout.handleBulkActionBar();
			};
			this.restoreRemovedItems = function() {
				this.onUndoDelete(1 < lastDeletedItems.size);
			};
			this.getSourceSelection = function() {
				return storage.getItem(storageKeyPrefix + sourceKey);
			};
			this.setSourceSelection = function(value) {
				return storage.setItem(storageKeyPrefix + sourceKey, value);
			};
			this.getViewSelection = function() {
				return storage.getItem(storageKeyPrefix + viewKey);
			};
			this.setViewSelection = function(value) {
				return storage.setItem(storageKeyPrefix + viewKey, value);
			};
			this.getTemplateTypes = function(type) {
				if (type) return templateTypes[type];
				return templateTypes;
			};
			this.registerTemplateType = function(type, data) {
				if (templateTypes.hasOwnProperty(type)) return;
				templateTypes[type] = data;
			};
			this.deleteTemplate = function(templateModel, options) {
				this.clearLastRemovedItems();
				var dialog = self.getDeleteDialog(templateModel);
				dialog.onConfirm = function() {
					if (options.onConfirm) options.onConfirm();
					var templateId = templateModel.get("template_id");
					var source = templateModel.get("source");
					var itemType = templateModel.get("subType");
					elementorCommon.ajax.addRequest("delete_template", {
						data: {
							source,
							template_id: templateId
						},
						success: function success(response) {
							templatesCollection.remove(templateModel);
							if ("cloud" === source) self.addLastRemovedItems([templateId]);
							if (options.onSuccess) options.onSuccess(response);
							self.layout.updateViewCollection(self.filterTemplates());
							var buttons = "cloud" === source ? [{
								name: "undo_bulk",
								text: (0, _wordpress_i18n.__)("Undo", "elementor"),
								callback: function callback() {
									self.onUndoDelete();
								}
							}] : null;
							elementor.notifications.showToast({
								message: "1 item deleted successfully",
								buttons
							});
							self.triggerQuotaUpdate();
							self.resetBulkActionBar();
							self.eventManager.sendItemDeletedEvent({
								library_type: source,
								item_type: itemType
							});
						}
					});
				};
				dialog.show();
			};
			this.renameTemplate = function(templateModel, options) {
				var originalTitle = templateModel.get("title");
				_this3.clearLastRemovedItems();
				var dialog = _this3.getRenameDialog(templateModel);
				return new Promise(function(resolve) {
					dialog.onConfirm = function() {
						if (options.onConfirm) options.onConfirm();
						var source = templateModel.get("source");
						elementorCommon.ajax.addRequest("rename_template", {
							data: {
								source,
								id: templateModel.get("template_id"),
								title: templateModel.get("title")
							},
							success: function success(response) {
								templateModel.trigger("change:title");
								_this3.eventManager.sendTemplateRenameEvent({ source });
								resolve(response);
							},
							error: function error(_error) {
								_this3.showErrorDialog(_error);
								templateModel.set("title", originalTitle);
								resolve();
							}
						});
					};
					dialog.show();
				});
			};
			this.getRenameDialog = function(templateModel) {
				var headerMessage = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Rename \"%1$s\"", "elementor"), templateModel.get("title"));
				var originalTitle = templateModel.get("title");
				var $inputArea = jQuery("<input>", {
					id: "elementor-rename-template-dialog__input",
					type: "text",
					value: templateModel.get("title")
				}).attr("autocomplete", "off");
				var dialog = elementorCommon.dialogsManager.createWidget("confirm", {
					id: "elementor-template-library-rename-dialog",
					headerMessage,
					message: $inputArea,
					strings: { confirm: (0, _wordpress_i18n.__)("Rename", "elementor") },
					hide: { ignore: "#elementor-template-library-modal" },
					onCancel: function onCancel() {
						templateModel.set("title", originalTitle);
					},
					onShow: function onShow() {
						elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.renameDialog });
						$inputArea.trigger("focus");
					}
				});
				$inputArea.on("input", function(event) {
					event.preventDefault();
					var title = event.target.value.trim();
					templateModel.set("title", title, { silent: true });
					dialog.getElements("ok").prop("disabled", !self.isTemplateTitleValid(title));
				});
				return dialog;
			};
			this.isTemplateTitleValid = function(title) {
				return title.trim().length > 0 && title.trim().length <= 75;
			};
			this.getFolderTemplates = function(parentElement) {
				_this3.clearLastRemovedItems();
				var parentId = parentElement.model.get("template_id");
				var parentTitle = parentElement.model.get("title");
				return new Promise(function(resolve) {
					isLoading = true;
					var ajaxOptions = {
						data: {
							source: "cloud",
							template_id: parentId
						},
						success: function success(data) {
							_this3.setFilter("orderby", "", true);
							_this3.setFilter("order", "", true);
							_this3.setFilter("parent", {
								id: parentId,
								title: parentTitle
							});
							templatesCollection = new TemplateLibraryCollection(data.templates);
							elementor.templates.layout.hideLoadingView();
							self.layout.updateViewCollection(templatesCollection.models);
							self.layout.modalContent.currentView.ui.addNewFolder.remove();
							self.layout.modalContent.currentView.ui.addNewFolderDivider.remove();
							self.layout.resetSortingUI();
							isLoading = false;
							resolve();
						},
						error: function error(_error2) {
							isLoading = false;
							_this3.showErrorDialog(_error2);
						}
					};
					elementorCommon.ajax.addRequest("get_item_children", ajaxOptions);
				});
			};
			this.createFolder = function(folderData, options) {
				var _this4 = this;
				this.clearLastRemovedItems();
				if (null !== this.getFilter("parent")) {
					this.showErrorDialog((0, _wordpress_i18n.__)("You can not create a folder inside another folder.", "elementor"));
					return;
				}
				var dialog = this.getCreateFolderDialog(folderData);
				return new Promise(function(resolve) {
					dialog.onConfirm = /*#__PURE__*/ _asyncToGenerator(/*#__PURE__*/ import_regenerator$3.default.mark(function _callee() {
						return import_regenerator$3.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									_context.next = 1;
									return elementorCommon.ajax.addRequest("create_folder", {
										data: {
											source: folderData.source,
											title: folderData.title
										},
										success: function success(response) {
											resolve(response);
											options === null || options === void 0 || options.onSuccess();
											_this4.eventManager.sendFolderCreateEvent();
										},
										error: function error(_error3) {
											_this4.showErrorDialog(_error3);
											resolve();
										}
									});
								case 1:
								case "end": return _context.stop();
							}
						}, _callee);
					}));
					dialog.show();
				});
			};
			this.getCreateFolderDialog = function(folderData) {
				var paragraph = document.createElement("p");
				paragraph.className = "elementor-create-folder-template-dialog__p";
				paragraph.textContent = (0, _wordpress_i18n.__)("Save assets to reuse on any site in your account.", "elementor");
				var inputArea = document.createElement("input");
				inputArea.className = "elementor-create-folder-template-dialog__input";
				inputArea.type = "text";
				inputArea.value = "";
				inputArea.placeholder = (0, _wordpress_i18n.__)("Folder name", "elementor");
				inputArea.autocomplete = "off";
				var fragment = document.createDocumentFragment();
				fragment.appendChild(paragraph);
				fragment.appendChild(inputArea);
				var dialog = elementorCommon.dialogsManager.createWidget("confirm", {
					id: "elementor-template-library-create-new-folder-dialog",
					headerMessage: (0, _wordpress_i18n.__)("Create a new folder", "elementor"),
					message: fragment,
					strings: { confirm: (0, _wordpress_i18n.__)("Create", "elementor") },
					hide: { ignore: "#elementor-template-library-modal" },
					onShow: function onShow() {
						inputArea.focus();
						elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.newFolderModal });
					}
				});
				dialog.getElements("ok").prop("disabled", true);
				inputArea.addEventListener("input", function(event) {
					event.preventDefault();
					var title = event.target.value.trim();
					folderData.title = title;
					var isTitleValid = self.isTemplateTitleValid(title);
					dialog.getElements("ok").prop("disabled", !isTitleValid);
				});
				return dialog;
			};
			this.deleteFolder = function(templateModel, options) {
				var _this5 = this;
				this.clearLastRemovedItems();
				var ajaxOptions = {
					data: {
						source: "cloud",
						template_id: templateModel.get("template_id")
					},
					success: function success(data) {
						return _this5.handleGetFolderDataSuccess(templateModel, options, data);
					}
				};
				elementorCommon.ajax.addRequest("get_item_children", ajaxOptions);
			};
			this.handleGetFolderDataSuccess = function(templateModel, options, data) {
				var _this6 = this;
				var dialog = this.getDeleteFolderDialog(templateModel, data);
				dialog.onConfirm = function() {
					var _options$onConfirm;
					(_options$onConfirm = options.onConfirm) === null || _options$onConfirm === void 0 || _options$onConfirm.call(options);
					_this6.sendDeleteRequest(templateModel, options);
				};
				dialog.show();
			};
			this.getDeleteFolderDialog = function(templateModel, data) {
				var deleteFolderDialog = elementorCommon.dialogsManager.createWidget("confirm", {
					id: "elementor-template-library-delete-dialog",
					headerMessage: (0, _wordpress_i18n.__)("Delete this folder?", "elementor"),
					message: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("This will permanently delete \"%1$s\" that contains %2$d templates.", "elementor"), templateModel.get("title"), data.total),
					strings: { confirm: (0, _wordpress_i18n.__)("Delete", "elementor") },
					onShow: function onShow() {
						elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteFolderDialog });
					}
				});
				deleteFolderDialog.getElements("ok").addClass("e-danger color-white");
				return deleteFolderDialog;
			};
			this.getBulkDeleteDialog = function() {
				var bulkDeleteDialog = elementorCommon.dialogsManager.createWidget("confirm", {
					id: "elementor-template-library-bulk-delete-dialog",
					headerMessage: (0, _wordpress_i18n.__)("Delete items?", "elementor"),
					message: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("This will permanently remove %1$s selected items.", "elementor"), bulkSelectedItems.size),
					strings: { confirm: (0, _wordpress_i18n.__)("Delete", "elementor") }
				});
				bulkDeleteDialog.getElements("ok").addClass("e-danger color-white");
				return bulkDeleteDialog;
			};
			this.sendDeleteRequest = function(templateModel, options) {
				var _this7 = this;
				var templateId = templateModel.get("template_id");
				var source = templateModel.get("source");
				elementorCommon.ajax.addRequest("delete_template", {
					data: {
						source,
						template_id: templateId
					},
					success: function success(response) {
						var _options$onSuccess;
						self.addLastRemovedItems([templateId]);
						templatesCollection.remove(templateModel, { silent: true });
						(_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 || _options$onSuccess.call(options, response);
						elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteFolderDialog });
						elementor.templates.eventManager.sendItemDeletedEvent({
							library_type: source,
							item_type: "folder"
						});
						_this7.triggerQuotaUpdate();
					}
				});
			};
			/**
			* @param {*}      model - Template model.
			* @param {Object} args  - Template arguments.
			* @deprecated since 2.8.0, use `$e.run( 'library/insert-template' )` instead.
			*/
			this.importTemplate = function(model) {
				var args = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
				this.clearLastRemovedItems();
				elementorDevTools.deprecation.deprecated("importTemplate", "2.8.0", "$e.run( 'library/insert-template' )");
				args.model = model;
				$e.run("library/insert-template", args);
			};
			this.saveTemplate = function(type, data) {
				var _data$source;
				this.clearLastRemovedItems();
				var templateType = templateTypes[type];
				_.extend(data, {
					source: (_data$source = data.source) !== null && _data$source !== void 0 ? _data$source : "local",
					type
				});
				if (templateType.prepareSavedData) data = templateType.prepareSavedData(data);
				data.content = JSON.stringify(data.content);
				var defaultAjaxParams = {
					data,
					success: function success(successData) {
						$e.route("library/templates/my-templates", { onBefore: function onBefore() {
							self.triggerQuotaUpdate();
							if (templatesCollection) {
								if (!templatesCollection.findWhere({ template_id: successData.template_id })) templatesCollection.add(successData);
							}
							self.sendOnSavedTemplateSuccessEvent(data);
						} });
					},
					error: function error(errorData) {
						self.showErrorDialog(errorData);
						self.clearToastConfig();
						self.sendOnSavedTemplateFailedEvent(data);
					}
				};
				var ajaxParams = _.extend(defaultAjaxParams, templateType.ajaxParams);
				elementorCommon.ajax.addRequest(this.getSaveAjaxAction(data.save_context), ajaxParams);
			};
			this.sendOnSavedTemplateSuccessEvent = function(formData) {
				if (SAVE_CONTEXTS.SAVE === formData.save_context) self.eventManager.sendTemplateSavedEvent({
					library_type: formData.source,
					template_type: formData.type
				});
				else if ([SAVE_CONTEXTS.COPY, SAVE_CONTEXTS.MOVE].includes(formData.save_context)) self.eventManager.sendTemplateTransferEvent({
					transfer_method: formData.save_context,
					template_type: formData.type,
					template_origin: formData.from_source,
					template_destination: formData.source
				});
				else if ([SAVE_CONTEXTS.BULK_MOVE, SAVE_CONTEXTS.BULK_COPY].includes(formData.save_context)) self.eventManager.sendBulkActionsSuccessEvent({
					bulk_action: SAVE_CONTEXTS.BULK_MOVE === formData.save_context ? "move" : "copy",
					library_type: formData.source,
					bulk_count: formData.from_template_id.length,
					template_origin: formData.from_source,
					template_destination: formData.source
				});
			};
			this.sendOnSavedTemplateFailedEvent = function(formData) {
				if ([SAVE_CONTEXTS.BULK_MOVE, SAVE_CONTEXTS.BULK_COPY].includes(formData.save_context)) self.eventManager.sendBulkActionsFailedEvent({
					bulk_action: SAVE_CONTEXTS.BULK_MOVE === formData.save_context ? "move" : "copy",
					library_type: formData.source,
					bulk_count: formData.from_template_id.length,
					template_origin: formData.from_source,
					template_destination: formData.source
				});
			};
			this.getSaveAjaxAction = function(saveContext) {
				var _saveActions$saveCont;
				this.clearLastRemovedItems();
				return (_saveActions$saveCont = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, SAVE_CONTEXTS.SAVE, "save_template"), SAVE_CONTEXTS.MOVE, "move_template"), SAVE_CONTEXTS.COPY, "copy_template"), SAVE_CONTEXTS.BULK_MOVE, "bulk_move_templates"), SAVE_CONTEXTS.BULK_COPY, "bulk_copy_templates")[saveContext]) !== null && _saveActions$saveCont !== void 0 ? _saveActions$saveCont : "save_template";
			};
			this.requestTemplateContent = function(source, id, ajaxOptions) {
				this.clearLastRemovedItems();
				var options = {
					unique_id: id,
					data: {
						source,
						edit_mode: true,
						display: true,
						template_id: id
					}
				};
				if (ajaxOptions) jQuery.extend(true, options, ajaxOptions);
				return elementorCommon.ajax.addRequest("get_template_data", options);
			};
			this.hasGlobalStyles = function(templateData) {
				var _templateData$global_;
				var _templateData$global_2;
				var hasClasses = ((_templateData$global_ = templateData.global_classes) === null || _templateData$global_ === void 0 ? void 0 : _templateData$global_.items) && Object.keys(templateData.global_classes.items).length > 0;
				var hasVariables = ((_templateData$global_2 = templateData.global_variables) === null || _templateData$global_2 === void 0 ? void 0 : _templateData$global_2.data) && Object.keys(templateData.global_variables.data).length > 0;
				return hasClasses || hasVariables;
			};
			this.syncGlobalStylesBeforeSave = function() {
				var promises = [];
				var event = new CustomEvent("elementor/global-styles/before-save", { detail: { promises } });
				window.dispatchEvent(event);
				return Promise.allSettled(promises);
			};
			this.markAsFavorite = function(templateModel, favorite) {
				this.clearLastRemovedItems();
				var options = { data: {
					source: templateModel.get("source"),
					template_id: templateModel.get("template_id"),
					favorite
				} };
				return elementorCommon.ajax.addRequest("mark_template_as_favorite", options);
			};
			this.getDeleteDialog = function(templateModel) {
				if (!deleteDialog) {
					deleteDialog = elementorCommon.dialogsManager.createWidget("confirm", {
						id: "elementor-template-library-delete-dialog",
						headerMessage: (0, _wordpress_i18n.__)("Delete this template?", "elementor"),
						message: (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("This will permanently remove \"%1$s\".", "elementor"), templateModel.get("title")),
						strings: { confirm: (0, _wordpress_i18n.__)("Delete", "elementor") },
						onShow: function onShow() {
							elementor.templates.eventManager.sendPageViewEvent({ location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteDialog });
						}
					});
					deleteDialog.getElements("ok").addClass("e-danger color-white");
				}
				return deleteDialog;
			};
			this.getErrorDialog = function() {
				if (!errorDialog) errorDialog = elementorCommon.dialogsManager.createWidget("alert", {
					id: "elementor-template-library-error-dialog",
					headerMessage: (0, _wordpress_i18n.__)("An error occurred.", "elementor")
				});
				return errorDialog;
			};
			this.getTemplatesCollection = function() {
				return templatesCollection;
			};
			this.getConfig = function(item) {
				if (item) return config[item] ? config[item] : {};
				return config;
			};
			this.requestLibraryData = function(options) {
				if (templatesCollection && !options.forceUpdate) {
					if (options.onUpdate) options.onUpdate();
					return;
				}
				if (options.onBeforeUpdate) options.onBeforeUpdate();
				var ajaxOptions = {
					data: {},
					success: function success(data) {
						templatesCollection = new TemplateLibraryCollection(data.templates);
						if (data.config) config = data.config;
						if (options.onUpdate) options.onUpdate();
					}
				};
				if (options.forceSync) ajaxOptions.data.sync = true;
				elementorCommon.ajax.addRequest("get_library_data", ajaxOptions);
			};
			this.getFilter = function(name) {
				return elementor.channels.templates.request("filter:" + name);
			};
			this.setFilter = function(name, value, silent) {
				this.clearLastRemovedItems();
				elementor.channels.templates.reply("filter:" + name, value);
				if (!silent) elementor.channels.templates.trigger("filter:change");
			};
			this.getFilterTerms = function(termName) {
				if (termName) return filterTerms[termName];
				return filterTerms;
			};
			this.setScreen = function(args) {
				this.clearLastRemovedItems();
				elementor.channels.templates.stopReplying();
				self.setFilter("source", args.source, true);
				self.setFilter("type", args.type, true);
				self.setFilter("subtype", args.subtype, true);
				self.showTemplates();
			};
			this.loadTemplates = function(onUpdate) {
				this.clearLastRemovedItems();
				isLoading = true;
				total = 0;
				self.layout.showLoadingView();
				var query = { source: this.getFilter("source") };
				var options = {};
				if ("local" === query.source || "cloud" === query.source) options.refresh = true;
				this.setFilter("parent", null, query);
				var loadTemplatesData = function loadTemplatesData() {
					return $e.data.get("library/templates", query, options).then(function(result) {
						var _result$data;
						templatesCollection = new TemplateLibraryCollection("cloud" === query.source ? result.data.templates.templates : result.data.templates);
						if ((_result$data = result.data) !== null && _result$data !== void 0 && (_result$data = _result$data.templates) !== null && _result$data !== void 0 && _result$data.total) {
							var _result$data2;
							total = (_result$data2 = result.data) === null || _result$data2 === void 0 || (_result$data2 = _result$data2.templates) === null || _result$data2 === void 0 ? void 0 : _result$data2.total;
						}
						if (result.data.config) config = result.data.config;
						self.layout.hideLoadingView();
						if (onUpdate) onUpdate();
					}).finally(function() {
						isLoading = false;
					});
				};
				var handleCloudSource = function handleCloudSource() {
					var _elementorAppConfig$c;
					if ("undefined" === typeof ((_elementorAppConfig$c = elementorAppConfig["cloud-library"]) === null || _elementorAppConfig$c === void 0 ? void 0 : _elementorAppConfig$c.quota)) return $e.components.get("cloud-library").utils.getQuotaConfig(true).then(function() {
						if (self.shouldShowCloudStateView()) {
							self.layout.showCloudStateView();
							return;
						}
						return loadTemplatesData();
					}).catch(function() {
						self.layout.showCloudStateView();
						isLoading = false;
					});
					if (self.shouldShowCloudStateView()) {
						self.layout.showCloudStateView();
						return;
					}
					return loadTemplatesData();
				};
				if ("cloud" === query.source) handleCloudSource();
				else loadTemplatesData();
			};
			this.searchTemplates = function(data) {
				_this3.clearLastRemovedItems();
				return new Promise(function(resolve) {
					_this3.setFilter("parent", null);
					isLoading = true;
					var ajaxOptions = {
						data,
						success: function success(result) {
							isLoading = false;
							templatesCollection = new TemplateLibraryCollection(result.templates);
							total = result.total;
							self.layout.updateViewCollection(templatesCollection.models);
							_this3.setFilter("text", data.search);
							resolve(result);
						},
						error: function error(_error4) {
							isLoading = false;
							_this3.showErrorDialog(_error4);
							resolve();
						}
					};
					elementorCommon.ajax.addRequest("search_templates", ajaxOptions);
				});
			};
			this.loadMore = function() {
				var _this3$getFilter;
				var _ref4 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
				var onUpdate = _ref4.onUpdate;
				var _ref4$search = _ref4.search;
				var search = _ref4$search === void 0 ? "" : _ref4$search;
				var _ref4$refresh = _ref4.refresh;
				var refresh = _ref4$refresh === void 0 ? false : _ref4$refresh;
				isLoading = true;
				_this3.clearLastRemovedItems();
				var source = _this3.getFilter("source");
				var parentId = (_this3$getFilter = _this3.getFilter("parent")) === null || _this3$getFilter === void 0 ? void 0 : _this3$getFilter.id;
				var ajaxOptions = {
					data: {
						source,
						offset: refresh ? 0 : templatesCollection.length,
						search,
						parentId,
						orderby: elementor.templates.getFilter("orderby") || null,
						order: elementor.templates.getFilter("order") || null
					},
					success: function success(result) {
						var collection = new TemplateLibraryCollection(result.templates);
						if (refresh) {
							templatesCollection.reset(collection.models);
							self.layout.updateViewCollection(templatesCollection.models);
						} else {
							templatesCollection.add(collection.models, { merge: true });
							self.layout.addTemplates(collection.models);
						}
						if (onUpdate) onUpdate();
						isLoading = false;
					},
					error: function error() {
						isLoading = false;
					}
				};
				elementorCommon.ajax.addRequest("load_more_templates", ajaxOptions);
			};
			this.showTemplates = function() {
				self.layout.setHeaderDefaultParts();
				self.loadTemplates(function() {
					var templatesToShow = self.filterTemplates();
					self.layout.showTemplatesView(new TemplateLibraryCollection(templatesToShow));
					self.handleToast();
				});
			};
			this.handleToast = function() {
				var _toastConfig;
				var _toastConfig2;
				if (!((_toastConfig = toastConfig) !== null && _toastConfig !== void 0 && _toastConfig.show)) return;
				elementor.notifications.showToast((_toastConfig2 = toastConfig) === null || _toastConfig2 === void 0 ? void 0 : _toastConfig2.options);
				this.clearToastConfig();
			};
			this.setToastConfig = function(newConfig) {
				toastConfig = newConfig;
			};
			this.clearToastConfig = function() {
				this.setToastConfig({
					show: false,
					options: {}
				});
			};
			this.filterTemplates = function() {
				var activeSource = self.getFilter("source");
				return templatesCollection.filter(function(model) {
					if (activeSource !== model.get("source")) return false;
					var typeInfo = templateTypes[model.get("type")];
					return !typeInfo || false !== typeInfo.showInLibrary;
				});
			};
			this.showErrorDialog = function(errorMessage) {
				if ("object" === _typeof(errorMessage)) {
					var message = "";
					_.each(errorMessage, function(error) {
						if (!(error !== null && error !== void 0 && error.message)) return;
						message += "<div>" + error.message + ".</div>";
					});
					errorMessage = message;
				} else if (errorMessage) errorMessage += ".";
				if (errorMessage) errorMessage = (0, _wordpress_i18n.__)("The following error(s) occurred while processing the request:", "elementor") + "<div id=\"elementor-template-library-error-info\">" + errorMessage + "</div>";
				else errorMessage = (0, _wordpress_i18n.__)("Please try again.", "elementor");
				self.getErrorDialog().setMessage(errorMessage).show();
			};
			this.onSelectSourceFilterChange = function(event) {
				var _event$currentTarget$;
				var _event$currentTarget;
				var templatesSource = (_event$currentTarget$ = event === null || event === void 0 || (_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget = _event$currentTarget.dataset) === null || _event$currentTarget === void 0 ? void 0 : _event$currentTarget.source) !== null && _event$currentTarget$ !== void 0 ? _event$currentTarget$ : "local";
				if (templatesSource === self.getFilter("source")) return;
				self.setSourceSelection(templatesSource);
				self.setFilter("source", templatesSource, true);
				self.clearBulkSelectionItems();
				self.loadTemplates(function() {
					var templatesToShow = self.filterTemplates();
					self.layout.showTemplatesView(new TemplateLibraryCollection(templatesToShow));
				});
			};
			this.onSelectViewChange = function(selectedView) {
				self.setViewSelection(selectedView);
				self.setFilter(viewKey, selectedView, true);
				self.layout.updateViewCollection(self.filterTemplates());
				self.resetBulkActionBar();
			};
			this.resetBulkActionBar = function() {
				_this3.clearBulkSelectionItems();
				_this3.layout.handleBulkActionBarUi();
			};
			this.shouldShowCloudStateView = function() {
				if (!elementor.config.library_connect.is_connected) return true;
				return !this.hasCloudLibraryQuota() || this.cloudLibraryIsDeactivated();
			};
			this.cloudLibraryIsDeactivated = function() {
				var _elementorAppConfig$c2;
				var quota = (_elementorAppConfig$c2 = elementorAppConfig["cloud-library"]) === null || _elementorAppConfig$c2 === void 0 ? void 0 : _elementorAppConfig$c2.quota;
				if (!quota) return false;
				var _quota$currentUsage = quota.currentUsage;
				var currentUsage = _quota$currentUsage === void 0 ? 0 : _quota$currentUsage;
				var _quota$threshold = quota.threshold;
				var threshold = _quota$threshold === void 0 ? 0 : _quota$threshold;
				var _quota$subscriptionId = quota.subscriptionId;
				return currentUsage > threshold && !("" !== (_quota$subscriptionId === void 0 ? "" : _quota$subscriptionId));
			};
			this.hasCloudLibraryQuota = function() {
				var _elementorAppConfig$c3;
				var _elementorAppConfig$c4;
				return "undefined" !== typeof ((_elementorAppConfig$c3 = elementorAppConfig["cloud-library"]) === null || _elementorAppConfig$c3 === void 0 ? void 0 : _elementorAppConfig$c3.quota) && 0 < ((_elementorAppConfig$c4 = elementorAppConfig["cloud-library"].quota) === null || _elementorAppConfig$c4 === void 0 ? void 0 : _elementorAppConfig$c4.threshold);
			};
			this.addBulkSelectionItem = function(templateId) {
				var type = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "template";
				bulkSelectedItemsTypes.push(type);
				bulkSelectedItems.add(parseInt(templateId));
			};
			this.removeBulkSelectionItem = function(templateId) {
				var type = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "template";
				var index = bulkSelectedItemsTypes.findIndex(function(item) {
					return item === type;
				});
				if (index !== -1) bulkSelectedItemsTypes.splice(index, 1);
				bulkSelectedItems.delete(parseInt(templateId));
			};
			this.clearBulkSelectionItems = function() {
				bulkSelectedItems.clear();
				bulkSelectedItemsTypes = [];
			};
			this.getBulkSelectionItems = function() {
				return bulkSelectedItems;
			};
			this.getUniqueBulkSelectionItemsTypesEventLabel = function() {
				var types = _toConsumableArray(new Set(bulkSelectedItemsTypes));
				var hasFolders = types.includes("folder");
				var hasTemplates = types.some(function(type) {
					return type !== "folder";
				});
				if (hasFolders && hasTemplates) return "both";
				if (hasFolders) return "folder";
				return "template";
			};
			this.onBulkDeleteClick = function() {
				var _this8 = this;
				this.clearLastRemovedItems();
				return new Promise(function(resolve) {
					var selectedItems = _this8.getBulkSelectionItems();
					if (!selectedItems.size) return;
					var dialog = _this8.getBulkDeleteDialog();
					var source = _this8.getFilter("source");
					var templateIds = Array.from(selectedItems);
					dialog.onConfirm = function() {
						isLoading = true;
						var ajaxOptions = {
							data: {
								source,
								template_ids: templateIds
							},
							success: function success() {
								isLoading = false;
								var modelsToRemove = templatesCollection.models.filter(function(templateModel) {
									return selectedItems.has(templateModel.get("template_id"));
								});
								if ("cloud" === source) self.addLastRemovedItems(templateIds);
								templatesCollection.remove(modelsToRemove);
								self.layout.updateViewCollection(self.filterTemplates());
								var tempBulkSelectedItemsTypes = bulkSelectedItemsTypes;
								self.clearBulkSelectionItems();
								bulkSelectedItemsTypes = tempBulkSelectedItemsTypes;
								self.eventManager.sendBulkActionsSuccessEvent({
									library_type: source,
									bulk_action: "delete",
									bulk_count: templateIds.length
								});
								var buttons = "cloud" === source ? [{
									name: "undo_bulk_delete",
									text: (0, _wordpress_i18n.__)("Undo", "elementor"),
									callback: function callback() {
										_this8.onUndoDelete(1 < templateIds.length);
									}
								}] : null;
								elementor.notifications.showToast({
									message: "".concat(templateIds.length, " items deleted successfully"),
									buttons
								});
								_this8.triggerQuotaUpdate();
								resolve();
							},
							error: function error(_error5) {
								isLoading = false;
								_this8.showErrorDialog(_error5);
								self.eventManager.sendBulkActionsFailedEvent({
									library_type: source,
									bulk_action: "delete",
									bulk_count: templateIds.length
								});
								resolve();
							}
						};
						elementorCommon.ajax.addRequest("bulk_delete_templates", ajaxOptions);
					};
					dialog.onCancel = function() {
						resolve();
					};
					dialog.show();
				});
			};
			this.onUndoDelete = function() {
				var _this9 = this;
				var isBulk = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
				return new Promise(function(resolve) {
					isLoading = true;
					if (!lastDeletedItems.size) return resolve();
					var ajaxOptions = {
						data: {
							source: _this9.getFilter("source"),
							template_ids: Array.from(lastDeletedItems)
						},
						success: function success() {
							isLoading = false;
							$e.routes.refreshContainer("library");
							_this9.clearLastRemovedItems();
							_this9.triggerQuotaUpdate();
							bulkSelectedItemsTypes = [];
							resolve();
						},
						error: function error(_error6) {
							isLoading = false;
							_this9.clearLastRemovedItems();
							_this9.showErrorDialog(_error6);
							resolve();
						}
					};
					elementorCommon.ajax.addRequest("bulk_undo_delete_items", ajaxOptions);
					self.eventManager.sendDeletionUndoEvent({
						is_bulk: isBulk,
						item_type: _this9.getUniqueBulkSelectionItemsTypesEventLabel()
					});
				});
			};
			this.triggerQuotaUpdate = function() {
				var force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
				elementor.channels.templates.trigger("quota:update", { force });
			};
		};
		module.exports = new TemplateLibraryManager();
	}));

//#endregion
//#region assets/dev/js/editor/controls/select2.js
	var require_select2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_select2();
		var ControlBaseDataView = require_base_data();
		var ControlSelect2ItemView;
		ControlSelect2ItemView = ControlBaseDataView.extend({
			getSelect2Placeholder: function getSelect2Placeholder() {
				return this.ui.select.find("[value=\"".concat(this.getControlPlaceholder(), "\"]")).text() || this.ui.select.children("option:first[value=\"\"]").text();
			},
			getSelect2DefaultOptions: function getSelect2DefaultOptions() {
				var defaultOptions = {
					allowClear: true,
					placeholder: this.getSelect2Placeholder(),
					dir: elementorCommon.config.isRTL ? "rtl" : "ltr"
				};
				var lockedOptions = this.model.get("lockedOptions");
				if (lockedOptions) defaultOptions.templateSelection = function(data, container) {
					if (lockedOptions.includes(data.id)) jQuery(container).addClass("e-non-deletable").find(".select2-selection__choice__remove").remove();
					return data.text;
				};
				return defaultOptions;
			},
			getSelect2Options: function getSelect2Options() {
				return jQuery.extend(this.getSelect2DefaultOptions(), this.model.get("select2options"));
			},
			updatePlaceholder: function updatePlaceholder() {
				if (this.getControlPlaceholder()) this.select2Instance.elements.$container.find(".select2-selection__placeholder").addClass("e-select2-placeholder");
			},
			applySavedValue: function applySavedValue() {
				ControlBaseDataView.prototype.applySavedValue.apply(this, arguments);
				if (!this.ui.select.data("select2")) {
					this.select2Instance = new Select2({
						$element: this.ui.select,
						options: this.getSelect2Options()
					});
					this.updatePlaceholder();
					this.handleLockedOptions();
				} else this.ui.select.trigger("change");
			},
			handleLockedOptions: function handleLockedOptions() {
				var lockedOptions = this.model.get("lockedOptions");
				if (lockedOptions) this.ui.select.on("select2:unselecting", function(event) {
					if (lockedOptions.includes(event.params.args.data.id)) event.preventDefault();
				});
			},
			/**
			* @deprecated since 3.0.0
			*/
			onReady: function onReady() {
				elementorDevTools.deprecation.deprecated("onReady()", "3.0.0");
			},
			/**
			* Get Input Value
			*
			* This method is an override of the base method. It is needed because when clearing the Select2 value in single
			* value mode, the library sets that value to `null`, and an empty string is the system's default empty value.
			*
			* @param {*} input current control input
			* @return {*} potentially modified input value
			*/
			getInputValue: function getInputValue(input) {
				var _ControlBaseDataView$;
				return (_ControlBaseDataView$ = ControlBaseDataView.prototype.getInputValue.apply(this, arguments)) !== null && _ControlBaseDataView$ !== void 0 ? _ControlBaseDataView$ : "";
			},
			onBaseInputChange: function onBaseInputChange() {
				ControlBaseDataView.prototype.onBaseInputChange.apply(this, arguments);
				this.updatePlaceholder();
			},
			onBeforeDestroy: function onBeforeDestroy() {
				this.select2Instance.destroy();
				this.$el.remove();
			}
		});
		module.exports = ControlSelect2ItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/base-multiple.js
	var require_base_multiple = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_typeof();
		init_slicedToArray();
		var ControlBaseMultipleItemView = require_base_data().extend({
			applySavedValue: function applySavedValue() {
				var values = this.getControlValue();
				var $inputs = this.$("[data-setting]");
				var self = this;
				_.each(values, function(value, key) {
					var $input = $inputs.filter(function() {
						return key === this.dataset.setting;
					});
					self.setInputValue($input, value);
				});
			},
			getControlValue: function getControlValue(key) {
				var values = this.container.settings.get(this.model.get("name"));
				if (!jQuery.isPlainObject(values)) return {};
				if (key) {
					var value = values[key];
					if (void 0 === value) value = "";
					return value;
				}
				return elementorCommon.helpers.cloneObject(values);
			},
			/**
			* @inheritDoc
			*/
			getCleanControlValue: function getCleanControlValue(key) {
				var _this = this;
				var values = Object.fromEntries(Object.entries(this.getControlValue()).filter(function(_ref) {
					var _ref2 = _slicedToArray(_ref, 2);
					var k = _ref2[0];
					var v = _ref2[1];
					return v && _this.model.get("default")[k] !== v;
				}));
				if (key) return values === null || values === void 0 ? void 0 : values[key];
				return Object.keys(values).length ? values : void 0;
			},
			setValue: function setValue(key, value) {
				var values = this.getControlValue();
				if ("object" === _typeof(key)) _.each(key, function(internalValue, internalKey) {
					values[internalKey] = internalValue;
				});
				else values[key] = value;
				this.setSettingsModel(values);
			},
			updateElementModel: function updateElementModel(value, input) {
				var key = input.dataset.setting;
				this.setValue(key, value);
			}
		}, { getStyleValue: function getStyleValue(placeholder, controlValue) {
			if (!_.isObject(controlValue)) return "";
			return controlValue[placeholder.toLowerCase()];
		} });
		module.exports = ControlBaseMultipleItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/box-shadow.js
	var require_box_shadow = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_color_picker();
		var ControlMultipleBaseItemView = require_base_multiple();
		var ControlBoxShadowItemView;
		ControlBoxShadowItemView = ControlMultipleBaseItemView.extend({
			ui: function ui() {
				var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments);
				ui.sliders = ".elementor-slider";
				ui.colorPickerPlaceholder = ".elementor-color-picker-placeholder";
				return ui;
			},
			initSliders: function initSliders() {
				var _this = this;
				var value = this.getControlValue();
				this.ui.sliders.each(function(index, slider) {
					var $input = jQuery(slider).next(".elementor-slider-input").find("input");
					var sliderInstance = noUiSlider.create(slider, {
						start: [value[slider.dataset.input]],
						step: 1,
						range: {
							min: +$input.attr("min"),
							max: +$input.attr("max")
						},
						format: {
							to: function to(sliderValue) {
								return +sliderValue.toFixed(1);
							},
							from: function from(sliderValue) {
								return +sliderValue;
							}
						}
					});
					sliderInstance.on("slide", function(values) {
						var type = sliderInstance.target.dataset.input;
						$input.val(values[0]);
						_this.setValue(type, values[0]);
					});
				});
			},
			initColors: function initColors() {
				var _this2 = this;
				this.colorPicker = new ColorPicker({
					picker: {
						el: this.ui.colorPickerPlaceholder[0],
						default: this.getControlValue("color")
					},
					onChange: function onChange() {
						_this2.setValue("color", _this2.colorPicker.getColor());
					},
					onClear: function onClear() {
						_this2.setValue("color", "");
					}
				});
			},
			onInputChange: function onInputChange(event) {
				var type = event.currentTarget.dataset.setting;
				this.ui.sliders.filter("[data-input=\"" + type + "\"]")[0].noUiSlider.set(this.getControlValue(type));
			},
			onReady: function onReady() {
				this.initSliders();
				this.initColors();
			},
			onBeforeDestroy: function onBeforeDestroy() {
				this.colorPicker.destroy();
			}
		});
		module.exports = ControlBoxShadowItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/button.js
	var require_button = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseView = require_base$3();
		module.exports = ControlBaseView.extend({
			ui: function ui() {
				var ui = ControlBaseView.prototype.ui.apply(this, arguments);
				ui.button = "button";
				return ui;
			},
			events: { "click @ui.button": "onButtonClick" },
			onButtonClick: function onButtonClick() {
				var eventName = this.model.get("event");
				elementor.channels.editor.trigger(eventName, this);
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/controls/visual-choice.js
	var require_visual_choice = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		var ControlVisualChoiceItemView = ControlBaseDataView.extend({
			ui: function ui() {
				var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
				ui.inputs = "[type=\"radio\"]";
				return ui;
			},
			events: function events() {
				return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), {
					"mousedown label": "onMouseDownLabel",
					"click @ui.inputs": "onClickInput",
					"change @ui.inputs": "onBaseInputChange"
				});
			},
			updatePlaceholder: function updatePlaceholder() {
				var placeholder = this.getControlPlaceholder();
				if (!this.getControlValue() && placeholder) this.ui.inputs.filter("[value=\"".concat(this.getControlPlaceholder(), "\"]")).addClass("e-visual-choice-placeholder");
				else this.ui.inputs.removeClass("e-visual-choice-placeholder");
			},
			onReady: function onReady() {
				this.updatePlaceholder();
			},
			applySavedValue: function applySavedValue() {
				var currentValue = this.getControlValue();
				if (currentValue) this.ui.inputs.filter("[value=\"" + currentValue + "\"]").prop("checked", true);
				else this.ui.inputs.filter(":checked").prop("checked", false);
			},
			onMouseDownLabel: function onMouseDownLabel(event) {
				var $clickedLabel = this.$(event.currentTarget);
				var $selectedInput = this.$("#" + $clickedLabel.attr("for"));
				$selectedInput.data("checked", $selectedInput.prop("checked"));
			},
			onClickInput: function onClickInput(event) {
				if (!this.model.get("toggle")) return;
				var $selectedInput = this.$(event.currentTarget);
				if ($selectedInput.data("checked")) $selectedInput.prop("checked", false).trigger("change");
			},
			onBaseInputChange: function onBaseInputChange() {
				ControlBaseDataView.prototype.onBaseInputChange.apply(this, arguments);
				this.updatePlaceholder();
			}
		}, { onPasteStyle: function onPasteStyle(control, clipboardValue) {
			return "" === clipboardValue || void 0 !== control.options[clipboardValue];
		} });
		module.exports = ControlVisualChoiceItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/code.js
	var require_code = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		var ControlCodeEditorItemView = ControlBaseDataView.extend({
			ui: function ui() {
				var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
				ui.editor = ".elementor-code-editor";
				return ui;
			},
			onReady: function onReady() {
				var self = this;
				if ("undefined" === typeof ace) return;
				var langTools = ace.require("ace/ext/language_tools");
				var uiTheme = elementor.settings.editorPreferences.model.get("ui_theme");
				var userPrefersDark = matchMedia("(prefers-color-scheme: dark)").matches;
				self.editor = ace.edit(this.ui.editor[0]);
				jQuery(self.editor.container).addClass("e-input-style elementor-code-editor elementor-control-tag-area");
				self.editor.setOptions({
					mode: "ace/mode/" + self.model.attributes.language,
					minLines: 10,
					maxLines: Infinity,
					showGutter: true,
					useWorker: true,
					enableBasicAutocompletion: true,
					enableLiveAutocompletion: true
				});
				if ("dark" === uiTheme || "auto" === uiTheme && userPrefersDark) self.editor.setTheme("ace/theme/merbivore_soft");
				self.editor.getSession().setUseWrapMode(true);
				elementor.panel.$el.on("resize.aceEditor", self.onResize.bind(this));
				if ("css" === self.model.attributes.language) langTools.addCompleter({ getCompletions: function getCompletions(editor, session, pos, prefix, callback) {
					var list = [];
					var token = session.getTokenAt(pos.row, pos.column);
					if (0 < prefix.length && "selector".match(prefix) && "constant" === token.type) list = [{
						name: "selector",
						value: "selector",
						score: 1,
						meta: "Elementor"
					}];
					callback(null, list);
				} });
				self.editor.setValue(self.getControlValue(), -1);
				if (this.isEditable()) self.editor.on("change", function() {
					self.setValue(self.editor.getValue());
				});
				if ("html" === self.model.attributes.language) {
					var session = self.editor.getSession();
					session.on("changeAnnotation", function() {
						var annotations = session.getAnnotations() || [];
						var annotationsLength = annotations.length;
						var index = annotations.length;
						while (index--) if (/doctype first\. Expected/.test(annotations[index].text)) annotations.splice(index, 1);
						if (annotationsLength > annotations.length) session.setAnnotations(annotations);
					});
				}
			},
			onResize: function onResize() {
				this.editor.resize();
			},
			onDestroy: function onDestroy() {
				elementor.panel.$el.off("resize.aceEditor");
			},
			isEditable: function isEditable() {
				var isEditable = this.model.get("is_editable");
				return void 0 !== isEditable ? isEditable : true;
			}
		});
		module.exports = ControlCodeEditorItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/behaviors/scrubbing.js
	function ownKeys$1(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread$1(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys$1(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function _callSuper$21(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$21() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$21() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$21 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var SCRUB_REGULAR, SCRUB_ENHANCED, SKIP_SCRUB, Scrubbing;
	var init_scrubbing = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_defineProperty();
		init_ui_states();
		__name(ownKeys$1, "ownKeys");
		__name(_objectSpread$1, "_objectSpread");
		__name(_callSuper$21, "_callSuper");
		__name(_isNativeReflectConstruct$21, "_isNativeReflectConstruct");
		SCRUB_REGULAR = "UPDATE-VALUE";
		SCRUB_ENHANCED = "UPDATE-VALUE-ENHANCED";
		SKIP_SCRUB = "SKIP-UPDATE-VALUE";
		Scrubbing = /*#__PURE__*/ function(_Marionette$Behavior) {
			function Scrubbing() {
				var _this;
				_classCallCheck(this, Scrubbing);
				for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
				_this = _callSuper$21(this, Scrubbing, [].concat(args));
				_defineProperty(_this, "checkIntentTimeout", null);
				_defineProperty(_this, "skipperCount", 0);
				var userOptions = _this.getOption("scrubSettings") || {};
				_this.scrubSettings = _objectSpread$1({
					intentTime: 600,
					skipperSteps: 10,
					valueModifier: 1,
					enhancedNumber: 10,
					scrubbingActiveClass: "e-scrubbing--active",
					scrubbingOverClass: "e-scrubbing-over"
				}, userOptions);
				return _this;
			}
			_inherits(Scrubbing, _Marionette$Behavior);
			return _createClass(Scrubbing, [
				{
					key: "ui",
					value: function ui() {
						return {
							input: "input[type=number]",
							label: "label[for^=\"elementor-control-\"]"
						};
					}
				},
				{
					key: "events",
					value: function events() {
						return {
							"mousedown @ui.input": "onMouseDownInput",
							"mousedown @ui.label": "onMouseDownLabel",
							"mouseenter @ui.label": "onMouseEnterLabel",
							"mouseleave @ui.label": "onMouseLeaveLabel"
						};
					}
				},
				{
					key: "scrub",
					value: function scrub(input, movementEvent) {
						var movementType = this.getMovementType(movementEvent);
						if (SKIP_SCRUB === movementType) return;
						switch (movementType) {
							case SCRUB_REGULAR:
								input.value = this.getModifiedValue({
									value: input.value,
									change: movementEvent.movementX,
									modifier: this.scrubSettings.valueModifier
								});
								break;
							case SCRUB_ENHANCED:
								input.value = this.getModifiedValue({
									value: input.value,
									change: movementEvent.movementX,
									modifier: this.scrubSettings.enhancedNumber
								});
								break;
							default: break;
						}
						input.dispatchEvent(new Event("input", { bubbles: true }));
					}
				},
				{
					key: "getMovementType",
					value: function getMovementType(movementEvent) {
						if (movementEvent.altKey) {
							this.skipperCount++;
							if (this.skipperCount <= this.scrubSettings.skipperSteps) return SKIP_SCRUB;
							this.skipperCount = 0;
							return SCRUB_REGULAR;
						}
						return movementEvent.ctrlKey || movementEvent.metaKey ? SCRUB_ENHANCED : SCRUB_REGULAR;
					}
				},
				{
					key: "getModifiedValue",
					value: function getModifiedValue(_ref) {
						var value = _ref.value;
						var change = _ref.change;
						var modifier = _ref.modifier;
						if ("function" === typeof modifier) modifier = modifier();
						var newValue = +value + change * modifier;
						return parseFloat(newValue.toFixed(1));
					}
				},
				{
					key: "isInputValidForScrubbing",
					value: function isInputValidForScrubbing(input) {
						return input && !input.disabled && "number" === input.type;
					}
				},
				{
					key: "setActive",
					value: function setActive(elements) {
						var _this2 = this;
						elements.forEach(function(element) {
							element.classList.add(_this2.scrubSettings.scrubbingActiveClass);
						});
					}
				},
				{
					key: "setInactive",
					value: function setInactive(elements) {
						var _this3 = this;
						elements.forEach(function(element) {
							element.classList.remove(_this3.scrubSettings.scrubbingActiveClass);
						});
					}
				},
				{
					key: "onMouseDownInput",
					value: function onMouseDownInput(e) {
						var _this4 = this;
						var input = e.target;
						if (!this.isInputValidForScrubbing(input)) return;
						var trackMovement = function trackMovement(movementEvent) {
							_this4.scrub(input, movementEvent);
						};
						var checkIntentTimeout = setTimeout(function() {
							clearTimeout(checkIntentTimeout);
							document.addEventListener("mousemove", trackMovement);
							$e.uiStates.set("document/scrubbing-mode", ScrubbingMode.ON);
							_this4.setActive([input]);
						}, this.scrubSettings.intentTime);
						document.addEventListener("mouseup", function() {
							document.removeEventListener("mousemove", trackMovement);
							clearTimeout(checkIntentTimeout);
							$e.uiStates.remove("document/scrubbing-mode");
							_this4.setInactive([input]);
						}, { once: true });
					}
				},
				{
					key: "onMouseDownLabel",
					value: function onMouseDownLabel(e) {
						var _this5 = this;
						var label = e.target;
						var input = e.target.control;
						if (!this.isInputValidForScrubbing(input)) return;
						$e.uiStates.set("document/scrubbing-mode", ScrubbingMode.ON);
						this.setActive([input, label]);
						var trackMovement = function trackMovement(movementEvent) {
							_this5.scrub(input, movementEvent);
						};
						document.addEventListener("mousemove", trackMovement);
						document.addEventListener("mouseup", function() {
							document.removeEventListener("mousemove", trackMovement);
							$e.uiStates.remove("document/scrubbing-mode");
							_this5.setInactive([input, label]);
						}, { once: true });
					}
				},
				{
					key: "onMouseEnterLabel",
					value: function onMouseEnterLabel(e) {
						var input = e.target.control;
						if (!this.isInputValidForScrubbing(input)) return;
						e.target.classList.add(this.scrubSettings.scrubbingOverClass);
					}
				},
				{
					key: "onMouseLeaveLabel",
					value: function onMouseLeaveLabel(e) {
						var input = e.target.control;
						if (!this.isInputValidForScrubbing(input)) return;
						e.target.classList.remove(this.scrubSettings.scrubbingOverClass);
					}
				}
			]);
		}(Marionette.Behavior);
	}));

//#endregion
//#region assets/dev/js/editor/controls/base-units.js
	var require_base_units = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		function _createForOfIteratorHelper(r, e) {
			var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
			if (!t) {
				if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
					t && (r = t);
					var _n = 0;
					var F = function F() {};
					return {
						s: F,
						n: function n() {
							return _n >= r.length ? { done: !0 } : {
								done: !1,
								value: r[_n++]
							};
						},
						e: function e(r) {
							throw r;
						},
						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 o;
			var a = !0;
			var u = !1;
			return {
				s: function s() {
					t = t.call(r);
				},
				n: function n() {
					var r = t.next();
					return a = r.done, r;
				},
				e: function e(r) {
					u = !0, o = r;
				},
				f: function f() {
					try {
						a || null == t.return || t.return();
					} finally {
						if (u) throw o;
					}
				}
			};
		}
		function _unsupportedIterableToArray(r, a) {
			if (r) {
				if ("string" == typeof r) return _arrayLikeToArray(r, a);
				var t = {}.toString.call(r).slice(8, -1);
				return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
			}
		}
		function _arrayLikeToArray(r, a) {
			(null == a || a > r.length) && (a = r.length);
			for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
			return n;
		}
		var ControlBaseMultipleItemView = require_base_multiple();
		var ControlBaseUnitsItemView = ControlBaseMultipleItemView.extend({
			ui: function ui() {
				return Object.assign(ControlBaseMultipleItemView.prototype.ui.apply(this, arguments), {
					units: ".e-units-choices>input",
					unitSwitcher: ".e-units-switcher",
					unitChoices: ".e-units-choices"
				});
			},
			events: function events() {
				return Object.assign(ControlBaseMultipleItemView.prototype.events.apply(this, arguments), {
					"change @ui.units": "onUnitChange",
					"click @ui.units": "onUnitClick",
					"click @ui.unitSwitcher": "onUnitLabelClick"
				});
			},
			updatePlaceholder: function updatePlaceholder() {
				var _this$getControlPlace;
				var placeholder = (_this$getControlPlace = this.getControlPlaceholder()) === null || _this$getControlPlace === void 0 ? void 0 : _this$getControlPlace.unit;
				this.ui.units.removeClass("e-units-placeholder");
				if (placeholder !== this.getControlValue("unit")) this.ui.units.filter("[value=\"".concat(placeholder, "\"]")).addClass("e-units-placeholder");
			},
			recursiveUnitChange: function recursiveUnitChange() {
				var includingSelf = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
				var parent = this.getResponsiveParentView();
				if (parent && includingSelf) {
					var unit = parent.getControlValue("unit");
					var values = Object.keys(this.getCleanControlValue() || {});
					values.splice(values.indexOf("unit"), 1);
					if (unit && !values.length) {
						this.setValue("unit", unit);
						this.render();
					}
				}
				var _iterator = _createForOfIteratorHelper(this.getResponsiveChildrenViews());
				var _step;
				try {
					for (_iterator.s(); !(_step = _iterator.n()).done;) _step.value.recursiveUnitChange();
				} catch (err) {
					_iterator.e(err);
				} finally {
					_iterator.f();
				}
			},
			onRender: function onRender() {
				ControlBaseMultipleItemView.prototype.onRender.apply(this, arguments);
				this.updatePlaceholder();
				this.updateUnitChoices();
			},
			onUnitChange: function onUnitChange() {
				this.toggleUnitChoices(false);
				this.recursiveUnitChange(false);
				this.updatePlaceholder();
				this.updateUnitChoices();
			},
			toggleUnitChoices: function toggleUnitChoices(stateVal) {
				this.ui.unitChoices.toggleClass("e-units-choices-open", stateVal);
			},
			updateUnitChoices: function updateUnitChoices() {
				var unit = this.getControlValue("unit");
				this.ui.unitSwitcher.attr("data-selected", unit).find("span").html(unit);
				this.$el.toggleClass("e-units-custom", this.isCustomUnit());
			},
			onUnitClick: function onUnitClick() {
				this.toggleUnitChoices(false);
			},
			onUnitLabelClick: function onUnitLabelClick(event) {
				event.preventDefault();
				this.toggleUnitChoices();
			},
			getCurrentRange: function getCurrentRange() {
				return this.getUnitRange(this.getControlValue("unit"));
			},
			getUnitRange: function getUnitRange(unit) {
				var ranges = this.model.get("range");
				if (!ranges) return false;
				if (!ranges[unit]) ranges[unit] = Object.values(ranges)[0];
				return ranges[unit];
			},
			isCustomUnit: function isCustomUnit() {
				return "custom" === this.getControlValue("unit");
			}
		}, { getStyleValue: function getStyleValue(placeholder, controlValue) {
			var returnValue = ControlBaseMultipleItemView.getStyleValue(placeholder, controlValue);
			if ("UNIT" === placeholder && "custom" === returnValue) returnValue = "__EMPTY__";
			return returnValue;
		} });
		module.exports = ControlBaseUnitsItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/dimensions.js
	var require_dimensions = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_scrubbing();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var ControlBaseUnitsItemView = require_base_units();
		var ControlDimensionsItemView = ControlBaseUnitsItemView.extend({
			behaviors: function behaviors() {
				var _this = this;
				return _objectSpread(_objectSpread({}, ControlBaseUnitsItemView.prototype.behaviors.apply(this)), {}, { Scrubbing: {
					behaviorClass: Scrubbing,
					scrubSettings: {
						intentTime: 800,
						valueModifier: function valueModifier() {
							var currentUnit = _this.getControlValue("unit");
							return ["rem", "em"].includes(currentUnit) ? .1 : 1;
						},
						enhancedNumber: function enhancedNumber() {
							var currentUnit = _this.getControlValue("unit");
							return ["rem", "em"].includes(currentUnit) ? .5 : 10;
						}
					}
				} });
			},
			ui: function ui() {
				var ui = ControlBaseUnitsItemView.prototype.ui.apply(this, arguments);
				ui.controls = ".elementor-control-dimension > input:enabled";
				ui.link = "button.elementor-link-dimensions";
				return ui;
			},
			events: function events() {
				return _.extend(ControlBaseUnitsItemView.prototype.events.apply(this, arguments), { "click @ui.link": "onLinkDimensionsClicked" });
			},
			defaultDimensionValue: 0,
			initialize: function initialize() {
				ControlBaseUnitsItemView.prototype.initialize.apply(this, arguments);
				this.model.set("allowed_dimensions", this.filterDimensions(this.model.get("allowed_dimensions")));
			},
			getPossibleDimensions: function getPossibleDimensions() {
				return [
					"top",
					"right",
					"bottom",
					"left"
				];
			},
			filterDimensions: function filterDimensions(filter) {
				filter = filter || "all";
				var dimensions = this.getPossibleDimensions();
				if ("all" === filter) return dimensions;
				if (!_.isArray(filter)) {
					if ("horizontal" === filter) filter = ["right", "left"];
					else if ("vertical" === filter) filter = ["top", "bottom"];
				}
				return filter;
			},
			onReady: function onReady() {
				var self = this;
				var currentValue = self.getControlValue();
				if (!self.isLinkedDimensions()) {
					self.ui.link.addClass("unlinked");
					self.ui.controls.each(function(index, element) {
						var value = currentValue[element.dataset.setting];
						if (_.isEmpty(value)) value = self.defaultDimensionValue;
						self.$(element).val(value);
					});
				}
				self.fillEmptyDimensions();
			},
			updateDimensionsValue: function updateDimensionsValue() {
				var currentValue = {};
				var dimensions = this.getPossibleDimensions();
				var $controls = this.ui.controls;
				var defaultDimensionValue = this.defaultDimensionValue;
				dimensions.forEach(function(dimension) {
					var $element = $controls.filter("[data-setting=\"" + dimension + "\"]");
					currentValue[dimension] = $element.length ? $element.val() : defaultDimensionValue;
				});
				this.setValue(currentValue);
			},
			fillEmptyDimensions: function fillEmptyDimensions() {
				var $controls = this.ui.controls;
				var defaultDimensionValue = this.defaultDimensionValue;
				if (this.isLinkedDimensions()) return;
				var allowedDimensions = this.model.get("allowed_dimensions");
				this.getPossibleDimensions().forEach(function(dimension) {
					var $element = $controls.filter("[data-setting=\"" + dimension + "\"]");
					if (-1 !== _.indexOf(allowedDimensions, dimension) && $element.length && _.isEmpty($element.val())) $element.val(defaultDimensionValue);
				});
			},
			updateDimensions: function updateDimensions() {
				this.fillEmptyDimensions();
				this.updateDimensionsValue();
			},
			resetDimensions: function resetDimensions() {
				this.ui.controls.val("");
				this.updateDimensionsValue();
			},
			onInputChange: function onInputChange(event) {
				var _event$originalEvent;
				var inputSetting = event.target.dataset.setting;
				if ("unit" === inputSetting) this.resetDimensions();
				if (!_.contains(this.getPossibleDimensions(), inputSetting)) return;
				if ("-" === (event === null || event === void 0 || (_event$originalEvent = event.originalEvent) === null || _event$originalEvent === void 0 ? void 0 : _event$originalEvent.data) && !event.target.value) return;
				if (this.isLinkedDimensions()) {
					var $thisControl = this.$(event.target);
					this.ui.controls.val($thisControl.val());
				}
				this.updateDimensions();
			},
			onLinkDimensionsClicked: function onLinkDimensionsClicked(event) {
				event.preventDefault();
				event.stopPropagation();
				this.ui.link.toggleClass("unlinked");
				this.setValue("isLinked", !this.ui.link.hasClass("unlinked"));
				if (this.isLinkedDimensions()) this.ui.controls.val(this.ui.controls.eq(0).val());
				this.updateDimensions();
			},
			isLinkedDimensions: function isLinkedDimensions() {
				return this.getControlValue("isLinked");
			},
			updateUnitChoices: function updateUnitChoices() {
				ControlBaseUnitsItemView.prototype.updateUnitChoices.apply(this, arguments);
				var inputType = "number";
				if (this.isCustomUnit()) inputType = "text";
				this.ui.controls.attr("type", inputType);
			}
		});
		module.exports = ControlDimensionsItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/font.js
	var require_font = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlSelect2View = require_select2();
		module.exports = ControlSelect2View.extend({
			$previewContainer: null,
			getSelect2Options: function getSelect2Options() {
				return {
					dir: elementorCommon.config.isRTL ? "rtl" : "ltr",
					templateSelection: this.fontPreviewTemplate,
					templateResult: this.fontPreviewTemplate
				};
			},
			onReady: function onReady() {
				var self = this;
				this.ui.select.select2(this.getSelect2Options());
				this.ui.select.on("select2:open", function() {
					self.$previewContainer = jQuery(".select2-results__options[role=\"tree\"]:visible");
					setTimeout(function() {
						self.enqueueFontsInView();
					}, 100);
					jQuery("input.select2-search__field:visible").on("keyup", function() {
						self.typeStopDetection.action.apply(self);
					});
					self.$previewContainer.on("scroll", function() {
						self.scrollStopDetection.onScroll.apply(self);
					});
				});
			},
			typeStopDetection: {
				idle: 350,
				timeOut: null,
				action: function action() {
					var parent = this;
					var self = this.typeStopDetection;
					clearTimeout(self.timeOut);
					self.timeOut = setTimeout(function() {
						parent.enqueueFontsInView();
					}, self.idle);
				}
			},
			scrollStopDetection: {
				idle: 350,
				timeOut: null,
				onScroll: function onScroll() {
					var parent = this;
					var self = this.scrollStopDetection;
					clearTimeout(self.timeOut);
					self.timeOut = setTimeout(function() {
						parent.enqueueFontsInView();
					}, self.idle);
				}
			},
			enqueueFontsInView: function enqueueFontsInView() {
				var top = this.$previewContainer.offset().top;
				var bottom = top + this.$previewContainer.innerHeight();
				var fontsInView = [];
				this.$previewContainer.children().find("li:visible").each(function(index, font) {
					var $font = jQuery(font);
					var offset = $font.offset();
					if (offset && offset.top > top && offset.top < bottom) fontsInView.push($font);
				});
				fontsInView.forEach(function(font) {
					var fontFamily = jQuery(font).find("span").html();
					elementor.helpers.enqueueFont(fontFamily, "editor");
				});
			},
			fontPreviewTemplate: function fontPreviewTemplate(state) {
				if (!state.id) return state.text;
				return jQuery("<span>", {
					text: state.text,
					css: { "font-family": state.element.value.toString() }
				});
			},
			templateHelpers: function templateHelpers() {
				var helpers = ControlSelect2View.prototype.templateHelpers.apply(this, arguments);
				var fonts = this.model.get("options");
				helpers.getFontsByGroups = function(groups) {
					var filteredFonts = {};
					_.each(fonts, function(fontType, fontName) {
						if (_.isArray(groups) && _.contains(groups, fontType) || fontType === groups) filteredFonts[fontName] = fontName;
					});
					return filteredFonts;
				};
				return helpers;
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/controls/gaps.js
	var require_gaps = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_typeof();
		var ControlDimensionsView = require_dimensions();
		var ControlGapItemView = ControlDimensionsView.extend({
			ui: function ui() {
				var ui = ControlDimensionsView.prototype.ui.apply(this, arguments);
				ui.controls = ".elementor-control-gap > input:enabled";
				ui.link = "button.elementor-link-gaps";
				return ui;
			},
			getPossibleDimensions: function getPossibleDimensions() {
				return ["row", "column"];
			},
			setValue: function setValue(key, value) {
				var values = this.getControlValue();
				if ("object" === _typeof(key)) _.each(key, function(internalValue, internalKey) {
					values[internalKey] = internalValue;
				});
				else values[key] = value;
				var conversion = this.model.get("conversion_map");
				if (conversion && conversion.old_key && conversion.new_key) values[conversion.old_key] = parseInt(values[conversion.new_key]);
				this.setSettingsModel(values);
			},
			getControlValue: function getControlValue() {
				var valuesUpdated = ControlDimensionsView.prototype.getControlValue.apply(this, arguments);
				if (this.shouldUpdateGapsValues(valuesUpdated)) {
					valuesUpdated.column = "" + valuesUpdated.size;
					valuesUpdated.row = "" + valuesUpdated.size;
					valuesUpdated.isLinked = true;
				}
				return valuesUpdated;
			},
			shouldUpdateGapsValues: function shouldUpdateGapsValues(valuesUpdated) {
				return !!valuesUpdated.hasOwnProperty("size") && "" !== valuesUpdated.size && !valuesUpdated.hasOwnProperty("column");
			}
		});
		module.exports = ControlGapItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/gallery.js
	var require_gallery = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_asyncToGenerator();
		var import_regenerator$2 = /* @__PURE__ */ __toESM(require_regenerator());
		init_files_upload_handler();
		var ControlBaseDataView = require_base_data();
		var ControlMediaItemView = ControlBaseDataView.extend({
			ui: function ui() {
				var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
				ui.addImages = ".elementor-control-gallery-add";
				ui.clearGallery = ".elementor-control-gallery-clear";
				ui.galleryThumbnails = ".elementor-control-gallery-thumbnails";
				ui.status = ".elementor-control-gallery-status-title";
				ui.promotions = ".elementor-control-media__promotions";
				ui.promotions_dismiss = ".elementor-control-media__promotions .elementor-control-notice-dismiss";
				ui.promotions_action = ".elementor-control-media__promotions .elementor-control-notice-main-actions button";
				return ui;
			},
			events: function events() {
				return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), {
					"click @ui.addImages": "onAddImagesClick",
					"click @ui.clearGallery": "onClearGalleryClick",
					"click @ui.galleryThumbnails": "onGalleryThumbnailsClick",
					"click @ui.promotions_dismiss": "onPromotionDismiss",
					"click @ui.promotions_action": "onPromotionAction",
					"keyup @ui.galleryThumbnails": "onGalleryThumbnailsKeyPress"
				});
			},
			onReady: function onReady() {
				this.initRemoveDialog();
			},
			applySavedValue: function applySavedValue() {
				var _this = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$2.default.mark(function _callee() {
					var images;
					var imagesCount;
					var hasImages;
					var imagesWithoutOptimization;
					var promotionsAlwaysOn;
					var hasPromotions;
					var $galleryThumbnails;
					var attachments;
					return import_regenerator$2.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								images = _this.getControlValue(), imagesCount = images.length, hasImages = !!imagesCount, imagesWithoutOptimization = 0, promotionsAlwaysOn = false;
								hasPromotions = _this.ui.promotions.length && !elementor.config.user.dismissed_editor_notices.includes(_this.getDismissPromotionEventName());
								_this.$el.toggleClass("elementor-gallery-has-images", hasImages).toggleClass("elementor-gallery-empty", !hasImages);
								$galleryThumbnails = _this.ui.galleryThumbnails;
								$galleryThumbnails.empty();
								_this.ui.status.text(hasImages ? (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("%s Images Selected", "elementor"), imagesCount) : (0, _wordpress_i18n.__)("No Images Selected", "elementor"));
								if (hasPromotions) promotionsAlwaysOn = _this.ui.promotions.find(".elementor-control-notice").data("display") || false;
								if (hasImages) {
									_context.next = 1;
									break;
								}
								return _context.abrupt("return");
							case 1:
								attachments = [];
								_this.getControlValue().forEach(function(image, thumbIndex) {
									var $thumbnail = jQuery("<img>", {
										class: "elementor-control-gallery-thumbnail",
										src: image.url,
										alt: "gallery-thumbnail-" + thumbIndex
									});
									$galleryThumbnails.append($thumbnail);
									attachments.push(wp.media.attachment(image.id).fetch().then(function handleHints(attachment) {
										if (!_this.imageHasAlt(attachment)) $thumbnail.addClass("unoptimized__image");
										if (hasPromotions && _this.imageNotOptimized(attachment)) imagesWithoutOptimization += 1;
									}));
								});
								_context.next = 2;
								return Promise.all(attachments).then(function() {
									if (hasPromotions) {
										var showHints = promotionsAlwaysOn || !!imagesWithoutOptimization;
										_this.ui.promotions.toggle(showHints);
									}
								});
							case 2:
							case "end": return _context.stop();
						}
					}, _callee);
				}))();
			},
			hasImages: function hasImages() {
				return !!this.getControlValue().length;
			},
			imageHasAlt: function imageHasAlt(attachment) {
				var _attachment$alt;
				return !!((attachment === null || attachment === void 0 || (_attachment$alt = attachment.alt) === null || _attachment$alt === void 0 ? void 0 : _attachment$alt.trim()) || "");
			},
			imageNotOptimized: function imageNotOptimized(attachment) {
				var checks = {
					height: 1080,
					width: 1920,
					filesizeInBytes: 1e5
				};
				return Object.keys(checks).some(function(key) {
					var value = attachment[key] || false;
					return value && value > checks[key];
				});
			},
			openFrame: function openFrame(action) {
				this.initFrame(action);
				this.frame.open();
				if (FilesUploadHandler.isUploadEnabled("svg")) FilesUploadHandler.setUploadTypeCaller(this.frame);
			},
			initFrame: function initFrame(action) {
				var options = {
					frame: "post",
					multiple: true,
					state: {
						create: "gallery",
						add: "gallery-library",
						edit: "gallery-edit"
					}[action],
					button: { text: (0, _wordpress_i18n.__)("Insert Media", "elementor") }
				};
				if (this.hasImages()) options.selection = this.fetchSelection();
				this.frame = wp.media(options);
				this.addSvgMimeType();
				this.frame.on({
					update: this.select,
					"menu:render:default": this.menuRender,
					"content:render:browse": this.gallerySettings
				}, this);
			},
			addSvgMimeType: function addSvgMimeType() {
				if (!FilesUploadHandler.isUploadEnabled("svg")) return;
				var oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions;
				this.frame.on("ready", function() {
					_wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions + ",svg";
				});
				this.frame.on("close", function() {
					_wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions;
				});
			},
			menuRender: function menuRender(view) {
				view.unset("insert");
				view.unset("featured-image");
			},
			gallerySettings: function gallerySettings(browser) {
				browser.sidebar.on("ready", function() {
					browser.sidebar.unset("gallery");
				});
			},
			fetchSelection: function fetchSelection() {
				var attachments = wp.media.query({
					orderby: "post__in",
					order: "ASC",
					type: "image",
					perPage: -1,
					post__in: _.pluck(this.getControlValue(), "id")
				});
				return new wp.media.model.Selection(attachments.models, {
					props: attachments.props.toJSON(),
					multiple: true
				});
			},
			/**
			* Callback handler for when an attachment is selected in the media modal.
			* Gets the selected image information, and sets it within the control.
			*
			* @param {Array<*>} selection
			*/
			select: function select(selection) {
				var images = [];
				selection.each(function(image) {
					images.push({
						id: image.get("id"),
						url: image.get("url")
					});
				});
				this.setValue(images);
				this.applySavedValue();
			},
			onPromotionDismiss: function onPromotionDismiss() {
				this.dismissPromotion(this.getDismissPromotionEventName());
			},
			getDismissPromotionEventName: function getDismissPromotionEventName() {
				var _$dismissButton$;
				var $dismissButton = this.ui.promotions.find(".elementor-control-notice-dismiss");
				$dismissButton.off("click");
				return ((_$dismissButton$ = $dismissButton[0]) === null || _$dismissButton$ === void 0 || (_$dismissButton$ = _$dismissButton$.dataset) === null || _$dismissButton$ === void 0 ? void 0 : _$dismissButton$.event) || false;
			},
			hidePromotion: function hidePromotion() {
				var eventName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
				this.ui.promotions.hide();
				if (!eventName) eventName = this.getDismissPromotionEventName();
				elementor.config.user.dismissed_editor_notices.push(eventName);
			},
			onPromotionAction: function onPromotionAction(event) {
				var settings = {};
				try {
					settings = JSON.parse(event.target.closest("button").dataset.settings);
				} catch (e) {}
				var _settings = settings;
				var _settings$action_url = _settings.action_url;
				var actionURL = _settings$action_url === void 0 ? null : _settings$action_url;
				var _settings$source = _settings.source;
				var source = _settings$source === void 0 ? "io-editor-gallery-install" : _settings$source;
				if (actionURL) window.open(actionURL, "_blank");
				elementorCommon.ajax.addRequest("elementor_image_optimization_campaign", { data: { source } });
				this.hidePromotion();
			},
			dismissPromotion: function dismissPromotion(eventName) {
				this.ui.promotions.hide();
				if (eventName) {
					elementorCommon.ajax.addRequest("dismissed_editor_notices", { data: { dismissId: eventName } });
					elementor.config.user.dismissed_editor_notices.push(eventName);
				}
			},
			onBeforeDestroy: function onBeforeDestroy() {
				if (this.frame) this.frame.off();
				this.$el.remove();
			},
			clearGallery: function clearGallery() {
				this.setValue([]);
				this.applySavedValue();
				if (this.ui.promotions) this.ui.promotions.hide();
			},
			initRemoveDialog: function initRemoveDialog() {
				var removeDialog;
				this.getRemoveDialog = function() {
					if (!removeDialog) removeDialog = elementorCommon.dialogsManager.createWidget("confirm", {
						message: (0, _wordpress_i18n.__)("Are you sure you want to clear this gallery?", "elementor"),
						headerMessage: (0, _wordpress_i18n.__)("Clear gallery", "elementor"),
						strings: {
							confirm: (0, _wordpress_i18n.__)("Clear", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Cancel", "elementor")
						},
						defaultOption: "confirm",
						onConfirm: this.clearGallery.bind(this)
					});
					return removeDialog;
				};
			},
			onAddImagesClick: function onAddImagesClick() {
				this.openFrame(this.hasImages() ? "add" : "create");
			},
			onClearGalleryClick: function onClearGalleryClick() {
				this.getRemoveDialog().show();
			},
			onGalleryThumbnailsClick: function onGalleryThumbnailsClick() {
				this.openFrame("edit");
			},
			onGalleryThumbnailsKeyPress: function onGalleryThumbnailsKeyPress(event) {
				if (13 === event.which || 32 === event.which) this.onGalleryThumbnailsClick(event);
			}
		});
		module.exports = ControlMediaItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/hidden.js
	var require_hidden = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var import_base_data = /* @__PURE__ */ __toESM(require_base_data());
		module.exports = import_base_data.default.extend({}, { onPasteStyle: function onPasteStyle() {
			return false;
		} });
	}));

//#endregion
//#region assets/dev/js/editor/controls/icon.js
	var require_icon = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlSelect2View = require_select2();
		var ControlIconView = ControlSelect2View.extend({
			initialize: function initialize() {
				ControlSelect2View.prototype.initialize.apply(this, arguments);
				this.filterIcons();
			},
			filterIcons: function filterIcons() {
				var icons = this.model.get("options");
				var include = this.model.get("include");
				if (include) {
					var filteredIcons = {};
					_.each(include, function(iconKey) {
						filteredIcons[iconKey] = icons[iconKey];
					});
					this.model.set("options", filteredIcons);
					return;
				}
				var exclude = this.model.get("exclude");
				if (exclude) _.each(exclude, function(iconKey) {
					delete icons[iconKey];
				});
			},
			iconsList: function iconsList(icon) {
				if (!icon.id) return icon.text;
				return jQuery("<span><i class=\"" + icon.id + "\"></i> " + icon.text + "</span>");
			},
			getSelect2Options: function getSelect2Options() {
				return {
					allowClear: true,
					templateResult: this.iconsList.bind(this),
					templateSelection: this.iconsList.bind(this)
				};
			}
		});
		module.exports = ControlIconView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/icons.js
	var require_icons = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		init_files_upload_handler();
		function _callSuper(t, o, e) {
			return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
		}
		function _isNativeReflectConstruct() {
			try {
				var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
			} catch (t) {}
			return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
				return !!t;
			})();
		}
		function _superPropGet(t, o, e, r) {
			var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
			return 2 & r && "function" == typeof p ? function(t) {
				return p.apply(e, t);
			} : p;
		}
		var ControlMultipleBaseItemView = require_base_multiple();
		var ControlIconsView = /*#__PURE__*/ function(_ControlMultipleBaseI) {
			function ControlIconsView() {
				var _this;
				_classCallCheck(this, ControlIconsView);
				for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
				_this = _callSuper(this, ControlIconsView, [].concat(args));
				_this.cache = {
					loaded: false,
					dialog: false,
					enableClicked: false,
					fa4Mapping: false,
					migratedFlag: {}
				};
				_this.dataKeys = {
					migratedKey: "__fa4_migrated",
					fa4MigrationFlag: "fa4compatibility"
				};
				return _this;
			}
			_inherits(ControlIconsView, _ControlMultipleBaseI);
			return _createClass(ControlIconsView, [
				{
					key: "enqueueIconFonts",
					value: function enqueueIconFonts(iconType) {
						var iconSetting = elementor.helpers.getIconLibrarySettings(iconType);
						if (false === iconSetting || !this.isMigrationAllowed()) return;
						if (iconSetting.enqueue) iconSetting.enqueue.forEach(function(assetURL) {
							var versionAddedURL = "".concat(assetURL).concat(iconSetting !== null && iconSetting !== void 0 && iconSetting.ver ? "?ver=" + iconSetting.ver : "");
							elementor.helpers.enqueueEditorStylesheet(versionAddedURL);
							elementor.helpers.enqueuePreviewStylesheet(versionAddedURL);
						});
						if (iconSetting.url) {
							var versionAddedURL = "".concat(iconSetting.url).concat(iconSetting !== null && iconSetting !== void 0 && iconSetting.ver ? "?ver=" + iconSetting.ver : "");
							elementor.helpers.enqueueEditorStylesheet(versionAddedURL);
							elementor.helpers.enqueuePreviewStylesheet(versionAddedURL);
						}
					}
				},
				{
					key: "ui",
					value: function ui() {
						var ui = _superPropGet(ControlIconsView, "ui", this, 3)([]);
						var skin = this.model.get("skin");
						ui.controlMedia = ".elementor-control-media";
						ui.svgUploader = "media" === skin ? ".elementor-control-svg-uploader" : ".elementor-control-icons--inline__svg";
						ui.iconPickers = "media" === skin ? ".elementor-control-icon-picker, .elementor-control-media__preview, .elementor-control-media-upload-button" : ".elementor-control-icons--inline__icon";
						ui.deleteButton = "media" === skin ? ".elementor-control-media__remove" : ".elementor-control-icons--inline__none";
						ui.previewPlaceholder = ".elementor-control-media__preview";
						ui.previewContainer = ".elementor-control-preview-area";
						ui.inlineIconContainer = ".elementor-control-inline-icon";
						ui.inlineDisplayedIcon = ".elementor-control-icons--inline__displayed-icon";
						ui.radioInputs = "[type=\"radio\"]";
						return ui;
					}
				},
				{
					key: "events",
					value: function events() {
						return jQuery.extend(ControlMultipleBaseItemView.prototype.events.apply(this, arguments), {
							"click @ui.iconPickers": "openPicker",
							"click @ui.svgUploader": "openFrame",
							"click @ui.radioInputs": "onClickInput",
							"click @ui.deleteButton": "deleteIcon"
						});
					}
				},
				{
					key: "getControlValue",
					value: function getControlValue() {
						var model = this.model;
						var valueToMigrate = this.getValueToMigrate();
						if (!this.isMigrationAllowed()) return valueToMigrate;
						var value = _superPropGet(ControlIconsView, "getControlValue", this, 3)([]);
						if (!valueToMigrate) return value;
						var controlName = model.get("name");
						if (this.cache.migratedFlag[controlName]) return this.cache.migratedFlag[controlName];
						var didMigration = this.elementSettingsModel.get(this.dataKeys.migratedKey);
						if (didMigration && didMigration[controlName]) return value;
						return this.migrateFa4toFa5(valueToMigrate);
					}
				},
				{
					key: "migrateFa4toFa5",
					value: function migrateFa4toFa5(fa4Value) {
						var fa5Value = elementor.helpers.mapFa4ToFa5(fa4Value);
						this.cache.migratedFlag[this.model.get("name")] = fa5Value;
						this.enqueueIconFonts(fa5Value.library);
						return fa5Value;
					}
				},
				{
					key: "setControlAsMigrated",
					value: function setControlAsMigrated(controlName) {
						var didMigration = this.elementSettingsModel.get(this.dataKeys.migratedKey) || {};
						didMigration[controlName] = true;
						this.elementSettingsModel.set(this.dataKeys.migratedKey, didMigration, { silent: true });
					}
				},
				{
					key: "isMigrationAllowed",
					value: function isMigrationAllowed() {
						return !elementor.config.icons_update_needed;
					}
				},
				{
					key: "getValueToMigrate",
					value: function getValueToMigrate() {
						var controlToMigrate = this.model.get(this.dataKeys.fa4MigrationFlag);
						if (!controlToMigrate) return false;
						var valueToMigrate = this.container.settings.get(controlToMigrate);
						if (valueToMigrate) return valueToMigrate;
						return false;
					}
				},
				{
					key: "onReady",
					value: function onReady() {
						var _this2 = this;
						if (!this.isMigrationAllowed()) ("media" === this.model.get("skin") ? this.ui.previewContainer[0] : this.ui.inlineIconContainer[0]).addEventListener("click", function(event) {
							event.preventDefault();
							event.stopPropagation();
							elementor.helpers.getSimpleDialog("elementor-enable-fa5-dialog", (0, _wordpress_i18n.__)("Elementor's New Icon Library", "elementor"), (0, _wordpress_i18n.__)("Elementor v2.6 includes an upgrade from Font Awesome 4 to 5. In order to continue using icons, be sure to click \"Update\".", "elementor") + " <a href=\"https://go.elementor.com/fontawesome-migration/\" target=\"_blank\">" + (0, _wordpress_i18n.__)("Learn More", "elementor") + "</a>", (0, _wordpress_i18n.__)("Update", "elementor"), function onConfirm() {
								var _elementor$documents$;
								window.location.href = elementor.config.tools_page_link + "&redirect_to_document=" + ((_elementor$documents$ = elementor.documents.getCurrent()) === null || _elementor$documents$ === void 0 ? void 0 : _elementor$documents$.id) + "&_wpnonce=" + elementor.config.tools_page_nonce + "#tab-fontawesome4_migration";
							}).show();
							return false;
						}, true);
						var controlName = this.model.get("name");
						if (this.cache.migratedFlag[controlName]) {
							this.setControlAsMigrated(controlName);
							setTimeout(function() {
								_this2.setValue(_this2.cache.migratedFlag[controlName]);
							}, 10);
						}
					}
				},
				{
					key: "onRender",
					value: function onRender() {
						_superPropGet(ControlIconsView, "onRender", this, 3)([]);
						if (this.isMigrationAllowed()) elementor.iconManager.loadIconLibraries();
					}
				},
				{
					key: "initFrame",
					value: function initFrame() {
						var _this3 = this;
						wp.media.view.settings.post.id = elementor.config.document.id;
						this.frame = wp.media({
							button: { text: (0, _wordpress_i18n.__)("Insert Media", "elementor") },
							library: { type: ["image/svg+xml"] },
							states: [new wp.media.controller.Library({
								title: (0, _wordpress_i18n.__)("Insert Media", "elementor"),
								library: wp.media.query({ type: ["image/svg+xml"] }),
								multiple: false,
								date: false
							})]
						});
						this.frame.on("insert select", function handleSelect() {
							return _this3.selectSvg();
						});
						this.setUploadMimeType(this.frame, "svg");
					}
				},
				{
					key: "setUploadMimeType",
					value: function setUploadMimeType(frame, ext) {
						var oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions;
						frame.on("ready", function() {
							_wpPluploadSettings.defaults.filters.mime_types[0].extensions = ext;
						});
						this.frame.on("close", function() {
							_wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions;
						});
					}
				},
				{
					key: "selectSvg",
					value: function selectSvg() {
						this.trigger("before:select");
						var attachment = this.frame.state().get("selection").first().toJSON();
						if (attachment.url) {
							this.setValue({
								value: {
									url: attachment.url,
									id: attachment.id
								},
								library: "svg"
							});
							this.applySavedValue();
						}
						this.trigger("after:select");
					}
				},
				{
					key: "openFrame",
					value: function openFrame() {
						var _this4 = this;
						if (!FilesUploadHandler.isUploadEnabled("svg")) {
							FilesUploadHandler.getUnfilteredFilesNotEnabledDialog(function() {
								return _this4.openFrame();
							}).show();
							return false;
						}
						if (!this.frame) this.initFrame();
						this.frame.open();
						FilesUploadHandler.setUploadTypeCaller(this.frame);
						var selectedId = this.getControlValue("id");
						if (!selectedId) return;
						this.frame.state().get("selection").add(wp.media.attachment(selectedId));
					}
				},
				{
					key: "openPicker",
					value: function openPicker() {
						elementor.iconManager.show({ view: this });
					}
				},
				{
					key: "applySavedValue",
					value: function applySavedValue() {
						var _this5 = this;
						var controlValue = this.getControlValue();
						var skin = this.model.get("skin");
						var iconContainer = "inline" === skin ? this.ui.inlineDisplayedIcon : this.ui.previewPlaceholder;
						var disableActiveState = this.model.get("disable_initial_active_state");
						var defaultIcon = this.model.get("default");
						var iconValue = controlValue.value;
						var iconType = controlValue.library;
						if (!this.isMigrationAllowed() && !iconValue && this.getValueToMigrate()) {
							iconValue = this.getControlValue();
							iconType = "";
						}
						if ("media" === skin) this.ui.controlMedia.toggleClass("e-media-empty", !iconValue);
						if ("inline" === skin && !disableActiveState || iconType) this.markChecked(iconType);
						if (!iconValue) {
							if ("inline" === skin) {
								this.setDefaultIconLibraryLabel(defaultIcon, iconContainer);
								return;
							}
							this.ui.previewPlaceholder.html("");
							return;
						}
						if ("svg" === iconType && "inline" !== skin) return elementor.helpers.fetchInlineSvg(iconValue.url, function(data) {
							_this5.ui.previewPlaceholder.html(data);
						});
						if ("media" === skin || "svg" !== iconType) {
							var previewHTML = "<i class=\"" + iconValue + "\"></i>";
							iconContainer.html(previewHTML);
						}
						this.enqueueIconFonts(iconType);
					}
				},
				{
					key: "setDefaultIconLibraryLabel",
					value: function setDefaultIconLibraryLabel(defaultIcon, iconContainer) {
						if ("" !== defaultIcon.value && "svg" !== defaultIcon.library) iconContainer.html("<i class=\"" + defaultIcon.value + "\"></i>");
						else {
							var skinOptions = this.model.get("skin_settings");
							iconContainer.html("<i class=\"" + skinOptions.inline.icon.icon + "\"></i>");
						}
					}
				},
				{
					key: "markChecked",
					value: function markChecked(iconType) {
						this.ui.radioInputs.filter(":checked").prop("checked", false);
						if (!iconType) return this.ui.radioInputs.filter("[value=\"none\"]").prop("checked", true);
						if ("svg" !== iconType) iconType = "icon";
						this.ui.radioInputs.filter("[value=\"" + iconType + "\"]").prop("checked", true);
					}
				},
				{
					key: "onClickInput",
					value: function onClickInput() {
						this.markChecked(this.getControlValue().library);
					}
				},
				{
					key: "deleteIcon",
					value: function deleteIcon(event) {
						event.stopPropagation();
						this.setValue({
							value: "",
							library: ""
						});
						this.applySavedValue();
					}
				},
				{
					key: "onBeforeDestroy",
					value: function onBeforeDestroy() {
						this.$el.remove();
					}
				}
			]);
		}(ControlMultipleBaseItemView);
		module.exports = ControlIconsView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/image-dimensions.js
	var require_image_dimensions = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_scrubbing();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var ControlMultipleBaseItemView = require_base_multiple();
		var ControlImageDimensionsItemView = ControlMultipleBaseItemView.extend({
			behaviors: function behaviors() {
				return _objectSpread(_objectSpread({}, ControlMultipleBaseItemView.prototype.behaviors.apply(this)), {}, { Scrubbing: {
					behaviorClass: Scrubbing,
					scrubSettings: { intentTime: 800 }
				} });
			},
			ui: function ui() {
				return {
					inputWidth: "input[data-setting=\"width\"]",
					inputHeight: "input[data-setting=\"height\"]",
					btnApply: "button.elementor-image-dimensions-apply-button"
				};
			},
			events: function events() {
				return {
					"click @ui.btnApply": "onApplyClicked",
					"keyup @ui.inputWidth": "onDimensionKeyUp",
					"keyup @ui.inputHeight": "onDimensionKeyUp"
				};
			},
			onDimensionKeyUp: function onDimensionKeyUp(event) {
				if (13 === event.keyCode) this.onApplyClicked(event);
			},
			onApplyClicked: function onApplyClicked(event) {
				event.preventDefault();
				this.setValue({
					width: this.ui.inputWidth.val(),
					height: this.ui.inputHeight.val()
				});
			}
		});
		module.exports = ControlImageDimensionsItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/media.js
	var require_media = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_asyncToGenerator();
		var import_regenerator$1 = /* @__PURE__ */ __toESM(require_regenerator());
		init_files_upload_handler();
		init_json_upload_warning_message();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var ControlMultipleBaseItemView = require_base_multiple();
		var ControlMediaItemView = ControlMultipleBaseItemView.extend({
			ui: function ui() {
				var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments);
				ui.controlMedia = ".elementor-control-media";
				ui.mediaImage = ".elementor-control-media__preview";
				ui.mediaVideo = ".elementor-control-media-video";
				ui.frameOpeners = ".elementor-control-preview-area";
				ui.removeButton = ".elementor-control-media__remove";
				ui.promotions = ".elementor-control-media__promotions";
				ui.promotions_dismiss = ".elementor-control-media__promotions .elementor-control-notice-dismiss";
				ui.promotions_action = ".elementor-control-media__promotions .elementor-control-notice-main-actions button";
				ui.fileName = ".elementor-control-media__file__content__info__name";
				ui.mediaInputImageSize = ".e-image-size-select";
				return ui;
			},
			events: function events() {
				return _.extend(ControlMultipleBaseItemView.prototype.events.apply(this, arguments), {
					"click @ui.frameOpeners": "openFrame",
					"click @ui.removeButton": "deleteImage",
					"change @ui.mediaInputImageSize": "onMediaInputImageSizeChange",
					"click @ui.promotions_dismiss": "onPromotionDismiss",
					"click @ui.promotions_action": "onPromotionAction"
				});
			},
			getMediaType: function getMediaType() {
				return this.mediaType || this.model.get("media_type") || this.model.get("media_types")[0];
			},
			/**
			* Get library type for `wp.media` using a given media type.
			*
			* @param {string} mediaType - The media type to get the library for.
			* @return {string} library media type
			*/
			getLibraryType: function getLibraryType(mediaType) {
				if (!mediaType) mediaType = this.getMediaType();
				return "svg" === mediaType ? "image/svg+xml" : mediaType;
			},
			applySavedValue: function applySavedValue() {
				var _this$getControlPlace;
				var _this = this;
				var value = this.getControlValue("url");
				var url = value || ((_this$getControlPlace = this.getControlPlaceholder()) === null || _this$getControlPlace === void 0 ? void 0 : _this$getControlPlace.url);
				var attachmentId = this.getControlValue("id");
				var isPlaceholder = !value && url;
				var mediaType = this.getMediaType();
				if (["image", "svg"].includes(mediaType)) {
					this.ui.mediaImage.css("background-image", url ? "url(" + url + ")" : "");
					if (isPlaceholder) this.ui.mediaImage.css("opacity", .5);
				} else if ("video" === mediaType) this.ui.mediaVideo.attr("src", url);
				else {
					var fileName = url ? url.split("/").pop() : "";
					this.ui.fileName.text(fileName);
				}
				if (this.ui.mediaInputImageSize) {
					var imageSize = this.getControlValue("size");
					if (isPlaceholder) {
						var _this$getControlPlace2;
						imageSize = (_this$getControlPlace2 = this.getControlPlaceholder()) === null || _this$getControlPlace2 === void 0 ? void 0 : _this$getControlPlace2.size;
					}
					this.ui.mediaInputImageSize.val(imageSize).toggleClass("e-select-placeholder", isPlaceholder);
				}
				this.ui.controlMedia.toggleClass("e-media-empty", !value).toggleClass("e-media-empty-placeholder", !value && !isPlaceholder);
				if ("image" === mediaType) {
					if (this.ui.promotions.length) this.ui.promotions.hide();
					if (attachmentId) {
						var dismissPromotionEventName = this.getDismissPromotionEventName();
						wp.media.attachment(attachmentId).fetch().then(function handleHints(attachment) {
							if (_this.ui.promotions.length && !elementor.config.user.dismissed_editor_notices.includes(dismissPromotionEventName)) {
								var showHint = _this.ui.promotions.find(".elementor-control-notice").data("display") || _this.imageNotOptimized(attachment);
								_this.ui.promotions.toggle(showHint);
							}
						});
					}
				}
			},
			openFrame: function openFrame(e) {
				var _arguments = arguments;
				var _this2 = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator$1.default.mark(function _callee() {
					var _e$target;
					var source;
					var mediaType;
					var selectedId;
					return import_regenerator$1.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								source = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : null;
								mediaType = (e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.dataset) === null || _e$target === void 0 ? void 0 : _e$target.mediaType) || _this2.getMediaType();
								_this2.mediaType = mediaType;
								if (mediaType) {
									_context.next = 1;
									break;
								}
								return _context.abrupt("return");
							case 1:
								if (FilesUploadHandler.isUploadEnabled(mediaType)) {
									_context.next = 2;
									break;
								}
								FilesUploadHandler.getUnfilteredFilesNotEnabledDialog(function() {
									return _this2.openFrame(e, "filter-popup");
								}).show();
								return _context.abrupt("return", false);
							case 2:
								if (!(source !== "filter-popup" && ["application/json", "json"].includes(mediaType))) {
									_context.next = 3;
									break;
								}
								_context.next = 3;
								return showJsonUploadWarningMessageIfNeeded({
									introductionMap: window.elementor.config.user.introduction,
									IntroductionClass: window.elementorModules.editor.utils.Introduction
								});
							case 3:
								if (!_this2.frame || _this2.getLibraryType(mediaType) !== _this2.currentLibraryType) _this2.initFrame();
								_this2.frame.open();
								FilesUploadHandler.setUploadTypeCaller(_this2.frame);
								selectedId = _this2.getControlValue("id");
								if (selectedId) {
									_context.next = 4;
									break;
								}
								return _context.abrupt("return");
							case 4: _this2.frame.state().get("selection").add(wp.media.attachment(selectedId));
							case 5:
							case "end": return _context.stop();
						}
					}, _callee);
				}))();
			},
			deleteImage: function deleteImage(event) {
				event.stopPropagation();
				this.setValue({
					url: "",
					id: ""
				});
				this.applySavedValue();
			},
			imageHasAlt: function imageHasAlt(attachment) {
				var _attachment$alt;
				return !!((attachment === null || attachment === void 0 || (_attachment$alt = attachment.alt) === null || _attachment$alt === void 0 ? void 0 : _attachment$alt.trim()) || "");
			},
			imageNotOptimized: function imageNotOptimized(attachment) {
				var checks = {
					height: 1080,
					width: 1920,
					filesizeInBytes: 1e5
				};
				return Object.keys(checks).some(function(key) {
					var value = attachment[key] || false;
					return value && value > checks[key];
				});
			},
			getDismissPromotionEventName: function getDismissPromotionEventName() {
				var _$dismissButton$;
				var $dismissButton = this.ui.promotions.find(".elementor-control-notice-dismiss");
				$dismissButton.off("click");
				return ((_$dismissButton$ = $dismissButton[0]) === null || _$dismissButton$ === void 0 || (_$dismissButton$ = _$dismissButton$.dataset) === null || _$dismissButton$ === void 0 ? void 0 : _$dismissButton$.event) || false;
			},
			onPromotionDismiss: function onPromotionDismiss() {
				this.dismissPromotion(this.getDismissPromotionEventName());
			},
			onPromotionAction: function onPromotionAction(event) {
				var settings = {};
				try {
					settings = JSON.parse(event.target.closest("button").dataset.settings);
				} catch (e) {}
				var _settings = settings;
				var _settings$action_url = _settings.action_url;
				var actionURL = _settings$action_url === void 0 ? null : _settings$action_url;
				var _settings$source = _settings.source;
				var source = _settings$source === void 0 ? "io-editor-image-install" : _settings$source;
				if (actionURL) window.open(actionURL, "_blank");
				this.hidePromotion(null, source);
			},
			dismissPromotion: function dismissPromotion(eventName) {
				this.hidePromotion(eventName);
				if (eventName) elementorCommon.ajax.addRequest("dismissed_editor_notices", { data: { dismissId: eventName } });
			},
			hidePromotion: function hidePromotion() {
				var eventName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
				var source = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "io-editor-image-install";
				this.ui.promotions.hide();
				if (!eventName) eventName = this.getDismissPromotionEventName();
				elementorCommon.ajax.addRequest("elementor_image_optimization_campaign", { data: { source } });
				elementor.config.user.dismissed_editor_notices.push(eventName);
			},
			onMediaInputImageSizeChange: function onMediaInputImageSizeChange() {
				var _this3 = this;
				if (!this.model.get("has_sizes")) return;
				var currentControlValue = this.getControlValue();
				var placeholder = this.getControlPlaceholder();
				var hasImage = "" !== (currentControlValue === null || currentControlValue === void 0 ? void 0 : currentControlValue.id);
				var hasPlaceholder = placeholder === null || placeholder === void 0 ? void 0 : placeholder.id;
				if (!(hasImage || hasPlaceholder)) return;
				if (hasPlaceholder && !hasImage) {
					this.setValue(_objectSpread(_objectSpread({}, placeholder), {}, { size: currentControlValue.size }));
					if (this.model.get("responsive")) this.renderWithChildren();
					else this.applySavedValue();
					this.onMediaInputImageSizeChange();
					return;
				}
				var imageURL;
				elementor.channels.editor.once("imagesManager:detailsReceived", function(data) {
					var _data$currentControlV;
					imageURL = (_data$currentControlV = data[currentControlValue.id]) === null || _data$currentControlV === void 0 ? void 0 : _data$currentControlV[currentControlValue.size];
					if (imageURL) {
						currentControlValue.url = imageURL;
						_this3.setValue(currentControlValue);
					}
				});
				imageURL = elementor.imagesManager.getImageUrl({
					id: currentControlValue.id,
					url: currentControlValue.url,
					size: currentControlValue.size
				});
				if (imageURL) {
					currentControlValue.url = imageURL;
					this.setValue(currentControlValue);
				}
			},
			/**
			* Create a media modal select frame, and store it so the instance can be reused when needed.
			*/
			initFrame: function initFrame() {
				var mediaType = this.getMediaType();
				this.currentLibraryType = this.getLibraryType(mediaType);
				wp.media.view.settings.post.id = elementor.config.document.id;
				this.frame = wp.media({
					frame: "post",
					type: "image",
					multiple: false,
					states: [new wp.media.controller.Library({
						title: (0, _wordpress_i18n.__)("Insert Media", "elementor"),
						library: wp.media.query({ type: this.currentLibraryType }),
						multiple: false,
						date: false
					})]
				});
				this.frame.on("ready open", this.onFrameReady.bind(this));
				this.frame.on("insert select", this.select.bind(this));
				if (elementorCommon.config.filesUpload.unfilteredFiles) this.setUploadMimeType(this.frame, mediaType);
			},
			/**
			* Hack to remove unwanted elements from modal & Open the `Insert from URL` tab.
			*/
			onFrameReady: function onFrameReady() {
				var $frame = this.frame.$el;
				$frame.find([
					"#menu-item-insert",
					"#menu-item-gallery",
					"#menu-item-playlist",
					"#menu-item-video-playlist",
					".embed-link-settings"
				].join(",")).remove();
				$frame.css("--button-text", "'".concat((0, _wordpress_i18n.__)("Insert Media", "elementor"), "'"));
				$frame.addClass("e-wp-media-elements-removed");
				if ("url" === this.getControlValue("source")) {
					$frame.find("#menu-item-embed").trigger("click");
					$frame.addClass("hide-router");
					this.frame.views.get(".media-frame-content")[0].url.model.set({
						url: this.getControlValue("url"),
						alt: this.getControlValue("alt")
					});
				} else $frame.find("#menu-item-library").trigger("click");
			},
			setUploadMimeType: function setUploadMimeType(frame, ext) {
				var oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions;
				frame.on("ready", function() {
					_wpPluploadSettings.defaults.filters.mime_types[0].extensions = "application/json" === ext ? "json" : oldExtensions + ",svg";
				});
				this.frame.on("close", function() {
					_wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions;
				});
			},
			/**
			* Callback handler for when an attachment is selected in the media modal.
			* Gets the selected image information, and sets it within the control.
			*/
			select: function select() {
				this.trigger("before:select");
				var state = this.frame.state();
				var attachment;
				if ("embed" === state.get("id")) attachment = {
					url: state.props.get("url"),
					id: "",
					alt: state.props.get("alt"),
					source: "url"
				};
				else {
					attachment = this.frame.state().get("selection").first().toJSON();
					attachment.source = "library";
				}
				if (attachment.url) {
					this.setValue({
						url: attachment.url,
						id: attachment.id,
						alt: attachment.alt,
						source: attachment.source,
						size: this.model.get("default").size
					});
					if (this.model.get("responsive")) this.renderWithChildren();
					else this.applySavedValue();
				}
				this.onMediaInputImageSizeChange();
				this.trigger("after:select");
			},
			onBeforeDestroy: function onBeforeDestroy() {
				this.$el.remove();
			}
		});
		module.exports = ControlMediaItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/notice.js
	var require_notice = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_toConsumableArray();
		var ControlBaseView = require_base$3();
		module.exports = ControlBaseView.extend({
			ui: function ui() {
				var ui = ControlBaseView.prototype.ui.apply(this, arguments);
				ui.button = ".elementor-control-notice-dismiss";
				return ui;
			},
			events: {
				"click @ui.button.e-btn-1": "onButton1Click",
				"click @ui.button.e-btn-2": "onButton2Click",
				"click @ui.button.elementor-control-notice-dismiss": "onDismissButtonClick"
			},
			onButton1Click: function onButton1Click() {
				var eventName = this.model.get("event");
				elementor.channels.editor.trigger(eventName, this);
			},
			onButton2Click: function onButton2Click() {
				var eventName = this.model.get("event");
				elementor.channels.editor.trigger(eventName, this);
			},
			getDismissId: function getDismissId() {
				var _this$options;
				var _this$options2;
				var _this$options3;
				var controlName = this.model.get("name");
				var elementType = "widget" === ((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.element) === null || _this$options === void 0 || (_this$options = _this$options.model) === null || _this$options === void 0 || (_this$options = _this$options.attributes) === null || _this$options === void 0 ? void 0 : _this$options.elType) ? (_this$options2 = this.options) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.element) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.model) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.attributes) === null || _this$options2 === void 0 ? void 0 : _this$options2.widgetType : (_this$options3 = this.options) === null || _this$options3 === void 0 || (_this$options3 = _this$options3.element) === null || _this$options3 === void 0 || (_this$options3 = _this$options3.model) === null || _this$options3 === void 0 || (_this$options3 = _this$options3.attributes) === null || _this$options3 === void 0 ? void 0 : _this$options3.elType;
				return "".concat(elementType, "-").concat(controlName);
			},
			onDismissButtonClick: function onDismissButtonClick() {
				var _this = this;
				var dismissId = this.getDismissId();
				elementorCommon.ajax.addRequest("dismissed_editor_notices", {
					data: { dismissId },
					success: function success() {
						var _elementor;
						_this.$el.remove();
						var dismissedNotices = (_elementor = elementor) !== null && _elementor !== void 0 && (_elementor = _elementor.config) !== null && _elementor !== void 0 && (_elementor = _elementor.user) !== null && _elementor !== void 0 && _elementor.dismissed_editor_notices ? _toConsumableArray(elementor.config.user.dismissed_editor_notices) : [];
						elementor.config.user.dismissed_editor_notices = [].concat(_toConsumableArray(dismissedNotices), [dismissId]);
					}
				});
			},
			templateHelpers: function templateHelpers() {
				var _elementor2;
				var controlData = ControlBaseView.prototype.templateHelpers.apply(this, arguments);
				var dismissedNotices = (_elementor2 = elementor) !== null && _elementor2 !== void 0 && (_elementor2 = _elementor2.config) !== null && _elementor2 !== void 0 && (_elementor2 = _elementor2.user) !== null && _elementor2 !== void 0 && _elementor2.dismissed_editor_notices ? _toConsumableArray(elementor.config.user.dismissed_editor_notices) : [];
				var dismissId = this.getDismissId();
				controlData.data.shouldRenderNotice = !dismissedNotices.includes(dismissId);
				return controlData;
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/controls/number.js
	var require_number = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_scrubbing();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var ControlBaseDataView = require_base_data();
		var ControlNumberItemView = ControlBaseDataView.extend({
			behaviors: function behaviors() {
				return _objectSpread(_objectSpread({}, ControlBaseDataView.prototype.behaviors.apply(this)), {}, { Scrubbing: {
					behaviorClass: Scrubbing,
					scrubSettings: { intentTime: 800 }
				} });
			},
			registerValidators: function registerValidators() {
				ControlBaseDataView.prototype.registerValidators.apply(this, arguments);
				var validationTerms = {};
				var model = this.model;
				["min", "max"].forEach(function(term) {
					var termValue = model.get(term);
					if (_.isFinite(termValue)) validationTerms[term] = termValue;
				});
				if (!jQuery.isEmptyObject(validationTerms)) this.addValidator(new this.validatorTypes.Number({ validationTerms }));
			}
		}, { getStyleValue: function getStyleValue(placeholder, controlValue, controlData) {
			if ("DEFAULT" === placeholder) return controlData.default;
			if (null === controlValue || void 0 === controlValue || "" === controlValue) return controlValue;
			var numValue = Number(controlValue);
			if (!isFinite(numValue) || isNaN(numValue)) {
				var _controlData$default;
				return (_controlData$default = controlData.default) !== null && _controlData$default !== void 0 ? _controlData$default : "";
			}
			return numValue;
		} });
		module.exports = ControlNumberItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/section.js
	var require_section = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseView = require_base$3();
		var ControlSectionItemView = ControlBaseView.extend({
			ui: function ui() {
				var ui = ControlBaseView.prototype.ui.apply(this, arguments);
				ui.heading = ".elementor-panel-heading";
				return ui;
			},
			triggers: { click: "control:section:clicked" }
		});
		module.exports = ControlSectionItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/select.js
	var require_select = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlSelectItemView = require_base_data().extend({
			updatePlaceholder: function updatePlaceholder() {
				var select = this.ui.select;
				if (!select) return;
				var selected = select.find("option:selected");
				if ("" === selected.val() && !selected.hasClass("e-option-placeholder")) {
					selected = select.find(".e-option-placeholder");
					selected.prop("selected", true);
				}
				if (selected.hasClass("e-option-placeholder")) select.addClass("e-select-placeholder");
				else select.removeClass("e-select-placeholder");
			},
			onReady: function onReady() {
				var placeholder = this.getControlPlaceholder();
				if (placeholder) jQuery("<option>").val("").text(this.model.get("options")[placeholder]).addClass("e-option-placeholder").prependTo(this.ui.select);
				this.updatePlaceholder();
			},
			onInputChange: function onInputChange() {
				this.updatePlaceholder();
			}
		}, { onPasteStyle: function onPasteStyle(control, clipboardValue) {
			if (control.groups) return control.groups.some(function(group) {
				return ControlSelectItemView.onPasteStyle(group, clipboardValue);
			});
			return void 0 !== control.options[clipboardValue];
		} });
		module.exports = ControlSelectItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/slider.js
	var require_slider = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var import_helpers = require_helpers();
		var ControlBaseUnitsItemView = require_base_units();
		var ControlSliderItemView;
		ControlSliderItemView = ControlBaseUnitsItemView.extend({
			ui: function ui() {
				var ui = ControlBaseUnitsItemView.prototype.ui.apply(this, arguments);
				ui.slider = ".elementor-slider";
				return ui;
			},
			templateHelpers: function templateHelpers() {
				var templateHelpers = ControlBaseUnitsItemView.prototype.templateHelpers.apply(this, arguments);
				templateHelpers.isMultiple = this.isMultiple();
				return templateHelpers;
			},
			isMultiple: function isMultiple() {
				var sizes = this.getControlValue("sizes");
				return !jQuery.isEmptyObject(sizes);
			},
			initSlider: function initSlider() {
				if (!this.ui.slider[0]) return;
				if (this.isCustomUnit()) return;
				this.destroySlider();
				var isMultiple = this.isMultiple();
				var unitRange = elementorCommon.helpers.cloneObject(this.getCurrentRange());
				var step = unitRange.step;
				var sizes = this.getSize();
				if (isMultiple) sizes = Object.values(sizes);
				else {
					sizes = [sizes];
					sizes[0] = parseFloat(sizes[0]) || 0;
					this.ui.input.attr(unitRange);
				}
				delete unitRange.step;
				var tooltips;
				var self = this;
				if (isMultiple) {
					tooltips = [];
					sizes.forEach(function() {
						return tooltips.push({ to: function to(value) {
							return value + self.getControlValue("unit");
						} });
					});
				}
				noUiSlider.create(this.ui.slider[0], {
					start: sizes,
					range: unitRange,
					step,
					tooltips,
					connect: isMultiple,
					format: {
						to: function to(value) {
							return Math.round(value * 1e3) / 1e3;
						},
						from: function from(value) {
							return +value;
						}
					}
				}).on("slide", this.onSlideChange.bind(this));
			},
			applySavedValue: function applySavedValue() {
				ControlBaseUnitsItemView.prototype.applySavedValue.apply(this, arguments);
				if (this.isSliderInitialized()) this.ui.slider[0].noUiSlider.set(this.getSize());
			},
			isSliderInitialized: function isSliderInitialized() {
				return this.ui.slider[0] && this.ui.slider[0].noUiSlider;
			},
			getSize: function getSize() {
				var _this$getControlPlace;
				var _this$model$get;
				var property = this.isMultiple() ? "sizes" : "size";
				return this.getControlValue(property) || ((_this$getControlPlace = this.getControlPlaceholder()) === null || _this$getControlPlace === void 0 ? void 0 : _this$getControlPlace[property]) || ((_this$model$get = this.model.get("default")) === null || _this$model$get === void 0 ? void 0 : _this$model$get[property]);
			},
			resetSize: function resetSize() {
				if (this.isMultiple()) this.setValue("sizes", {});
				else this.setValue("size", "");
				this.initSlider();
			},
			destroySlider: function destroySlider() {
				if (this.ui.slider[0] && this.ui.slider[0].noUiSlider) this.ui.slider[0].noUiSlider.destroy();
			},
			onReady: function onReady() {
				if (this.isMultiple()) this.$el.addClass("elementor-control-type-slider--multiple elementor-control-type-slider--handles-" + this.model.get("handles"));
				this.initSlider();
			},
			onSlideChange: function onSlideChange(values, index) {
				if (this.isMultiple()) {
					var sizes = elementorCommon.helpers.cloneObject(this.getSize());
					var key = Object.keys(sizes)[index];
					sizes[key] = values[index];
					this.setValue("sizes", sizes);
				} else {
					this.setValue("size", values[0]);
					this.ui.input.val(values[0]);
				}
			},
			onInputChange: function onInputChange(event) {
				var dataChanged = event.currentTarget.dataset.setting;
				if ("size" === dataChanged && this.isSliderInitialized()) this.ui.slider[0].noUiSlider.set(this.getSize());
				else if ("unit" === dataChanged) this.handleUnitChange();
			},
			handleUnitChange: function handleUnitChange() {
				if (!this.isCustomUnit()) this.resetSize();
				this.maybeDoFractionToCustomConversions();
			},
			updateUnitChoices: function updateUnitChoices() {
				ControlBaseUnitsItemView.prototype.updateUnitChoices.apply(this, arguments);
				var inputType = "number";
				if (this.isCustomUnit()) {
					inputType = "text";
					this.destroySlider();
				} else this.initSlider();
				if (!this.isMultiple()) this.ui.input.attr("type", inputType);
			},
			maybeDoFractionToCustomConversions: function maybeDoFractionToCustomConversions() {
				var _this$getControlPlace2;
				var _this$model$get2;
				if (this.isMultiple()) return;
				var sizeUnits = this.model.get("size_units");
				if (!(2 === (sizeUnits === null || sizeUnits === void 0 ? void 0 : sizeUnits.length) && sizeUnits.includes("fr") && sizeUnits.includes("custom"))) return;
				var currentSize = this.getSize();
				if ("string" === typeof currentSize && currentSize.includes("fr")) return;
				var sizeValue = this.isCustomUnit() ? (0, import_helpers.convertSizeToFrString)(currentSize) : ((_this$getControlPlace2 = this.getControlPlaceholder()) === null || _this$getControlPlace2 === void 0 ? void 0 : _this$getControlPlace2.size) || ((_this$model$get2 = this.model.get("default")) === null || _this$model$get2 === void 0 ? void 0 : _this$model$get2.size);
				this.setValue("size", sizeValue);
				this.render();
			},
			onBeforeDestroy: function onBeforeDestroy() {
				this.destroySlider();
				this.$el.remove();
			},
			onDeviceModeChange: function onDeviceModeChange() {
				var _this = this;
				var isMobile = "mobile" === elementor.channels.deviceMode.request("currentMode");
				var isMobileValue = this.model.get("name").includes("_mobile");
				var hasDefault = this.model.get("default");
				if (isMobile && isMobileValue && hasDefault && this.isCustomUnit()) setTimeout(function() {
					_this.maybeDoFractionToCustomConversions();
				});
			}
		});
		module.exports = ControlSliderItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/structure.js
	var require_structure = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		var ControlStructureItemView = ControlBaseDataView.extend({
			ui: function ui() {
				var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
				ui.resetStructure = ".elementor-control-structure-reset";
				return ui;
			},
			events: function events() {
				return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), { "click @ui.resetStructure": "onResetStructureClick" });
			},
			templateHelpers: function templateHelpers() {
				var helpers = ControlBaseDataView.prototype.templateHelpers.apply(this, arguments);
				helpers.getMorePresets = this.getMorePresets.bind(this);
				return helpers;
			},
			getCurrentEditedSection: function getCurrentEditedSection() {
				return elementor.getPanelView().getCurrentPageView().getOption("editedElementView");
			},
			getMorePresets: function getMorePresets() {
				var parsedStructure = elementor.presetsFactory.getParsedStructure(this.getControlValue());
				return elementor.presetsFactory.getPresets(parsedStructure.columnsCount);
			},
			onResetStructureClick: function onResetStructureClick() {
				this.getCurrentEditedSection().resetColumnsCustomSize();
			}
		});
		module.exports = ControlStructureItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/switcher.js
	var require_switcher = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		module.exports = ControlBaseDataView.extend({ setInputValue: function setInputValue(input, value) {
			this.$(input).prop("checked", this.model.get("return_value") === value);
		} }, { onPasteStyle: function onPasteStyle(control, clipboardValue) {
			return !clipboardValue || clipboardValue === control.return_value;
		} });
	}));

//#endregion
//#region assets/dev/js/editor/controls/tab.js
	var require_tab = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlTabItemView = require_base$3().extend({ triggers: { click: {
			event: "control:tab:clicked",
			stopPropagation: false
		} } });
		module.exports = ControlTabItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/url.js
	var require_url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		function _callSuper(t, o, e) {
			return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
		}
		function _isNativeReflectConstruct() {
			try {
				var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
			} catch (t) {}
			return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
				return !!t;
			})();
		}
		function _superPropGet(t, o, e, r) {
			var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
			return 2 & r && "function" == typeof p ? function(t) {
				return p.apply(e, t);
			} : p;
		}
		var URL = /*#__PURE__*/ function(_BaseMultiple) {
			function URL() {
				_classCallCheck(this, URL);
				return _callSuper(this, URL, arguments);
			}
			_inherits(URL, _BaseMultiple);
			return _createClass(URL, [
				{
					key: "ui",
					value: function ui() {
						var ui = _superPropGet(URL, "ui", this, 3)([]);
						ui.mainInput = ".elementor-input";
						ui.moreOptionsToggle = ".elementor-control-url-more";
						ui.moreOptions = ".elementor-control-url-more-options";
						return ui;
					}
				},
				{
					key: "events",
					value: function events() {
						var events = _superPropGet(URL, "events", this, 3)([]);
						events["click @ui.moreOptionsToggle"] = "onMoreOptionsToggleClick";
						return events;
					}
				},
				{
					key: "autoComplete",
					value: function autoComplete() {
						var _this = this;
						var $mainInput = this.ui.mainInput;
						var positionBase = elementorCommon.config.isRTL ? "right" : "left";
						var last;
						var cache;
						$mainInput.autocomplete({
							source: function source(request, response) {
								if (!_this.options.model.attributes.autocomplete) return;
								if (last === request.term) {
									response(cache);
									return;
								}
								if (/^https?:/.test(request.term) || request.term.indexOf(".") !== -1) return response();
								$mainInput.prev().show();
								jQuery.post(window.ajaxurl, {
									editor: "elementor",
									action: "wp-link-ajax",
									page: 1,
									search: request.term,
									_ajax_linking_nonce: jQuery("#_ajax_linking_nonce").val()
								}, function(data) {
									cache = data;
									response(data);
								}, "json").always(function() {
									return $mainInput.prev().hide();
								});
								last = request.term;
							},
							focus: function focus(event) {
								event.preventDefault();
							},
							select: function select(event, ui) {
								$mainInput.val(ui.item.permalink);
								_this.setValue("url", ui.item.permalink);
								return false;
							},
							open: function open(event) {
								jQuery(event.target).data("uiAutocomplete").menu.activeMenu.addClass("elementor-autocomplete-menu");
							},
							minLength: 2,
							position: {
								my: positionBase + " top+2",
								at: positionBase + " bottom"
							}
						});
						$mainInput.autocomplete("instance")._renderItem = function(ul, item) {
							var fallbackTitle = window.wpLinkL10n ? window.wpLinkL10n.noTitle : "";
							var title = item.title ? item.title : fallbackTitle;
							return jQuery("<li role=\"option\" id=\"mce-wp-autocomplete-" + item.ID + "\">").append("<span>" + title + "</span>&nbsp;<span class=\"elementor-autocomplete-item-info\">" + item.info + "</span>").appendTo(ul);
						};
					}
				},
				{
					key: "onReady",
					value: function onReady() {
						this.autoComplete();
					}
				},
				{
					key: "onMoreOptionsToggleClick",
					value: function onMoreOptionsToggleClick() {
						this.ui.moreOptions.slideToggle();
					}
				},
				{
					key: "onBeforeDestroy",
					value: function onBeforeDestroy() {
						if (this.ui.mainInput.data("autocomplete")) this.ui.mainInput.autocomplete("destroy");
						this.$el.remove();
					}
				}
			]);
		}(require_base_multiple());
		module.exports = URL;
	}));

//#endregion
//#region assets/dev/js/editor/controls/wp_widget.js
	var require_wp_widget = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		var ControlWPWidgetItemView = ControlBaseDataView.extend({
			ui: function ui() {
				var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
				ui.form = "form";
				ui.loading = ".wp-widget-form-loading";
				return ui;
			},
			events: function events() {
				return {
					"keyup @ui.form :input": "onFormChanged",
					"change @ui.form :input": "onFormChanged"
				};
			},
			onFormChanged: function onFormChanged() {
				var idBase = "widget-" + this.model.get("id_base");
				var settings = this.ui.form.elementorSerializeObject()[idBase].REPLACE_TO_ID;
				this.setValue(settings);
			},
			onReady: function onReady() {
				var self = this;
				elementorCommon.ajax.addRequest("editor_get_wp_widget_form", {
					data: {
						id: self.model.cid,
						widget_type: self.model.get("widget"),
						data: self.container.settings.toJSON()
					},
					success: function success(data) {
						self.ui.form.html(data);
						if (wp.textWidgets) {
							self.ui.form.addClass("open");
							var event = new jQuery.Event("widget-added");
							wp.textWidgets.handleWidgetAdded(event, self.ui.form);
							wp.mediaWidgets.handleWidgetAdded(event, self.ui.form);
							if (wp.customHtmlWidgets) wp.customHtmlWidgets.handleWidgetAdded(event, self.ui.form);
						}
						var widgetType = self.model.get("widget");
						elementor.hooks.doAction("panel/widgets/".concat(widgetType, "/controls/wp_widget/loaded"), self);
					}
				});
			}
		});
		module.exports = ControlWPWidgetItemView;
	}));

//#endregion
//#region assets/dev/js/editor/controls/wysiwyg.js
	var require_wysiwyg = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlBaseDataView = require_base_data();
		var ControlWysiwygItemView = ControlBaseDataView.extend({
			editor: null,
			ui: function ui() {
				var ui = ControlBaseDataView.prototype.ui.apply(this, arguments);
				jQuery.extend(ui, { inputWrapper: ".elementor-control-input-wrapper" });
				return ui;
			},
			events: function events() {
				return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), { "keyup textarea.elementor-wp-editor": "onBaseInputChange" });
			},
			buttons: {
				addToBasic: { underline: "italic" },
				addToAdvanced: {},
				moveToAdvanced: {
					blockquote: "removeformat",
					alignleft: "blockquote",
					aligncenter: "alignleft",
					alignright: "aligncenter"
				},
				moveToBasic: {},
				removeFromBasic: ["unlink", "wp_more"],
				removeFromAdvanced: []
			},
			initialize: function initialize() {
				ControlBaseDataView.prototype.initialize.apply(this, arguments);
				var self = this;
				self.editorID = "elementorwpeditor" + self.cid;
				_.defer(function() {
					if (self.isDestroyed) return;
					quicktags({
						buttons: "strong,em,del,link,img,close",
						id: self.editorID
					});
					if (elementor.config.rich_editing_enabled) switchEditors.go(self.editorID, "tmce");
					delete QTags.instances[0];
				});
				if (!elementor.config.rich_editing_enabled) {
					self.$el.addClass("elementor-rich-editing-disabled");
					return;
				}
				var editorConfig = {
					id: self.editorID,
					selector: "#" + self.editorID,
					setup: function setup(editor) {
						self.editor = editor;
					}
				};
				tinyMCEPreInit.mceInit[self.editorID] = _.extend(_.clone(tinyMCEPreInit.mceInit.elementorwpeditor), editorConfig);
				if (!elementor.config.tinymceHasCustomConfig) self.rearrangeButtons();
			},
			applySavedValue: function applySavedValue() {
				if (!this.editor) return;
				var controlValue = this.getControlValue();
				this.editor.setContent(controlValue);
				jQuery("#" + this.editorID).val(controlValue);
			},
			saveEditor: function saveEditor() {
				this.setValue(this.editor.getContent());
			},
			moveButtons: function moveButtons(buttonsToMove, from, to) {
				if (!to) {
					to = from;
					from = null;
				}
				_.each(buttonsToMove, function(afterButton, button) {
					var afterButtonIndex = to.indexOf(afterButton);
					if (from) {
						var buttonIndex = from.indexOf(button);
						if (-1 === buttonIndex) throw new ReferenceError("Trying to move non-existing button `" + button + "`");
						from.splice(buttonIndex, 1);
					}
					if (-1 === afterButtonIndex) throw new ReferenceError("Trying to move button after non-existing button `" + afterButton + "`");
					to.splice(afterButtonIndex + 1, 0, button);
				});
			},
			rearrangeButtons: function rearrangeButtons() {
				var editorProps = tinyMCEPreInit.mceInit[this.editorID];
				var editorBasicToolbarButtons = editorProps.toolbar1.split(",");
				var editorAdvancedToolbarButtons = editorProps.toolbar2.split(",");
				editorBasicToolbarButtons = _.difference(editorBasicToolbarButtons, this.buttons.removeFromBasic);
				editorAdvancedToolbarButtons = _.difference(editorAdvancedToolbarButtons, this.buttons.removeFromAdvanced);
				this.moveButtons(this.buttons.moveToBasic, editorAdvancedToolbarButtons, editorBasicToolbarButtons);
				this.moveButtons(this.buttons.moveToAdvanced, editorBasicToolbarButtons, editorAdvancedToolbarButtons);
				this.moveButtons(this.buttons.addToBasic, editorBasicToolbarButtons);
				this.moveButtons(this.buttons.addToAdvanced, editorAdvancedToolbarButtons);
				editorProps.toolbar1 = editorBasicToolbarButtons.join(",");
				editorProps.toolbar2 = editorAdvancedToolbarButtons.join(",");
			},
			onReady: function onReady() {
				var _this = this;
				var $editor = jQuery(elementor.config.wp_editor.replace(/elementorwpeditor/g, this.editorID).replace("%%EDITORCONTENT%%", ""));
				$editor.find(".wp-editor-area").text(this.getControlValue());
				$editor.find(".wp-editor-tabs").addClass("elementor-control-dynamic-switcher-wrapper");
				this.ui.inputWrapper.html($editor);
				setTimeout(function() {
					if (!_this.isDestroyed && _this.editor) _this.editor.on("keyup change undo redo", _this.saveEditor.bind(_this));
				}, 100);
			},
			onBeforeDestroy: function onBeforeDestroy() {
				delete QTags.instances[this.editorID];
				if (!elementor.config.rich_editing_enabled) return;
				tinymce.EditorManager.execCommand("mceRemoveEditor", true, this.editorID);
				delete tinyMCEPreInit.mceInit[this.editorID];
				delete tinyMCEPreInit.qtInit[this.editorID];
			}
		});
		module.exports = ControlWysiwygItemView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/views/global.js
	var require_global = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-panel-global",
			id: "elementor-panel-global",
			initialize: function initialize() {
				elementor.getPanelView().getCurrentPageView().search.reset();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/views/element.js
	var require_element$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		init_slicedToArray();
		var import_context_menu = /* @__PURE__ */ __toESM(require_context_menu());
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-element-library-element",
			className: function className() {
				var className = "elementor-element-wrapper";
				if (!this.isEditable() && !this.isAtomicWidgetPromotion()) className += " elementor-element--promotion";
				if (this.isIntegration()) className += " elementor-element--integration";
				return className;
			},
			events: function events() {
				var events = {};
				if (!this.isEditable()) events.mousedown = "onMouseDown";
				return events;
			},
			ui: { element: ".elementor-element" },
			behaviors: function behaviors() {
				var groups = elementor.hooks.applyFilters("panel/element/contextMenuGroups", [], this);
				var behaviors = {};
				if (groups.length) behaviors.contextMenu = {
					behaviorClass: import_context_menu.default,
					context: "panel",
					groups
				};
				return elementor.hooks.applyFilters("panel/element/behaviors", behaviors, this);
			},
			isEditable: function isEditable() {
				return false !== this.model.get("editable");
			},
			isIntegration: function isIntegration() {
				return !!this.model.get("integration");
			},
			isAtomicWidgetPromotion: function isAtomicWidgetPromotion() {
				return !!this.model.get("promotionType");
			},
			onRender: function onRender() {
				var _this = this;
				if (!elementor.userCan("design") || !this.isEditable()) return;
				this.ui.element.on("click", function() {
					return _this.addToPage();
				});
				this.ui.element.html5Draggable({
					onDragStart: function onDragStart() {
						elementor.channels.editor.reply("element:dragged", null);
						elementor.channels.panelElements.reply("element:selected", _this).trigger("element:drag:start");
					},
					onDragEnd: function onDragEnd() {
						elementor.channels.panelElements.trigger("element:drag:end");
					},
					groups: ["elementor-element"]
				});
			},
			onMouseDown: function onMouseDown(event) {
				event.stopPropagation();
				if (this.isAtomicWidgetPromotion()) {
					var promotionType = this.model.get("promotionType");
					document.dispatchEvent(new CustomEvent("".concat(promotionType, "-promotion:open"), { detail: { target: this.el } }));
					return;
				}
				var widgetTitle = this.model.get("title");
				var widgetType = this.model.get("name") || this.model.get("widgetType");
				var isIntegration = this.isIntegration();
				var configPromotion = elementor.config.promotion;
				var ctaUrl;
				var ctaText;
				var title;
				var content;
				if (isIntegration) {
					var _configPromotion$inte;
					var integrationPromo = configPromotion === null || configPromotion === void 0 || (_configPromotion$inte = configPromotion.integration) === null || _configPromotion$inte === void 0 ? void 0 : _configPromotion$inte[widgetType];
					ctaUrl = integrationPromo.action_button.url.toString().replaceAll("&amp;", "&");
					ctaText = integrationPromo.action_button.text;
					title = (0, _wordpress_i18n.sprintf)(integrationPromo.title, widgetTitle);
					content = (0, _wordpress_i18n.sprintf)(integrationPromo.content, widgetTitle);
				}
				document.dispatchEvent(new CustomEvent("widget-promotion:open", { detail: {
					target: this.el,
					widgetType,
					widgetTitle,
					title,
					content,
					ctaUrl,
					ctaText,
					hideProTag: isIntegration
				} }));
			},
			addToPage: function addToPage() {
				var _this$model$attribute;
				var _this$model$attribute2;
				var _elementorCommon;
				var selectedElements = this.getSelectedElements();
				if (selectedElements.length > 1) return;
				var element = _slicedToArray(selectedElements, 1)[0];
				var getArgs = Object.values({
					addToDocument: {
						check: function check() {
							return !element;
						},
						getArgs: function getArgs() {
							return {
								view: elementor.getPreviewView(),
								options: {}
							};
						}
					},
					addToFirstColumn: {
						check: function check() {
							return "section" === element.model.get("elType");
						},
						getArgs: function getArgs() {
							var _element$view$childre;
							return {
								view: (_element$view$childre = element.view.children) === null || _element$view$childre === void 0 ? void 0 : _element$view$childre.findByIndex(0),
								options: {}
							};
						}
					},
					addToParent: {
						check: function check() {
							return "widget" === element.model.get("elType");
						},
						getArgs: function getArgs() {
							var parent = element.parent;
							var model = element.model;
							return {
								view: parent.view,
								options: { at: parent.model.get("elements").findIndex(model) + 1 }
							};
						}
					},
					default: {
						check: function check() {
							return true;
						},
						getArgs: function getArgs() {
							return {
								view: element.view,
								options: {}
							};
						}
					}
				}).find(function(_ref) {
					var check = _ref.check;
					return check();
				}).getArgs;
				var _getArgs = getArgs();
				var view = _getArgs.view;
				var options = _getArgs.options;
				var container = view.getContainer();
				if (!container) throw new Error("View doesn't support adding from panel", view);
				if ((_this$model$attribute = (_this$model$attribute2 = this.model.attributes) === null || _this$model$attribute2 === void 0 || (_this$model$attribute2 = _this$model$attribute2.custom) === null || _this$model$attribute2 === void 0 ? void 0 : _this$model$attribute2.isPreset) !== null && _this$model$attribute !== void 0 ? _this$model$attribute : false) this.model.set("settings", this.model.get("custom").preset_settings);
				var modelData = this.model.toJSON();
				$e.run("preview/drop", {
					container,
					options: _objectSpread(_objectSpread({}, options), {}, { scrollIntoView: true }),
					model: modelData
				});
				if ((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && (_elementorCommon = _elementorCommon.eventsManager) !== null && _elementorCommon !== void 0 && _elementorCommon.dispatchEvent) {
					var _modelData$elType;
					var _modelData$widgetType;
					var elType = (_modelData$elType = modelData === null || modelData === void 0 ? void 0 : modelData.elType) !== null && _modelData$elType !== void 0 ? _modelData$elType : "";
					var widgetType = (_modelData$widgetType = modelData === null || modelData === void 0 ? void 0 : modelData.widgetType) !== null && _modelData$widgetType !== void 0 ? _modelData$widgetType : "";
					var elementName = "widget" === elType ? widgetType : elType;
					elementorCommon.eventsManager.dispatchEvent("add_element", {
						location: "editor_panel",
						element_name: elementName,
						element_type: elType,
						widget_type: widgetType
					});
				}
			},
			getSelectedElements: function getSelectedElements() {
				return elementor.selection.getElements().filter(function(_ref2) {
					var _elementor$documents$;
					var view = _ref2.view;
					return (_elementor$documents$ = elementor.documents.getCurrent().$element) === null || _elementor$documents$ === void 0 ? void 0 : _elementor$documents$[0].contains(view.$el[0]);
				});
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/views/elements.js
	var require_elements$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelElementsElementsView = Marionette.CollectionView.extend({
			childView: require_element$1(),
			id: "elementor-panel-elements",
			className: "elementor-responsive-panel",
			initialize: function initialize() {
				this.listenTo(elementor.channels.panelElements, "filter:change", this.onFilterChanged);
				this._syncAtomicComparator();
			},
			_syncAtomicComparator: function _syncAtomicComparator() {
				var _elementorCommon$conf;
				if (elementor.channels.panelElements.request("filter:value") && (_elementorCommon$conf = elementorCommon.config.experimentalFeatures) !== null && _elementorCommon$conf !== void 0 && _elementorCommon$conf.e_atomic_elements) this.viewComparator = function(a, b) {
					if (a.get("atomic") && !b.get("atomic")) return -1;
					if (!a.get("atomic") && b.get("atomic")) return 1;
					return 0;
				};
				else this.viewComparator = null;
			},
			filter: function filter(childModel) {
				var filterValue = elementor.channels.panelElements.request("filter:value");
				if (!filterValue) return true;
				if (childModel.get("hideOnSearch")) return false;
				if (-1 !== childModel.get("title").toLowerCase().indexOf(filterValue.toLowerCase())) return true;
				var localized = elementor.channels.panelElements.request("filter:localized") || "";
				return _.any(childModel.get("keywords"), function(keyword) {
					keyword = keyword.toLowerCase();
					var regularFilter = -1 !== keyword.indexOf(filterValue.toLowerCase());
					var localizedFilter = localized && -1 !== keyword.indexOf(localized.toLowerCase());
					return regularFilter || localizedFilter;
				});
			},
			onFilterChanged: function onFilterChanged() {
				var filterValue = elementor.channels.panelElements.request("filter:value");
				this._syncAtomicComparator();
				if (!filterValue) this.onFilterEmpty();
				this._renderChildren();
				this.triggerMethod("children:render");
			},
			onFilterEmpty: function onFilterEmpty() {
				$e.routes.refreshContainer("panel");
			}
		});
		module.exports = PanelElementsElementsView;
	}));

//#endregion
//#region assets/dev/js/utils/hooks.js
	var require_hooks = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		/**
		* Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in
		* that, lowest priority hooks are fired first.
		*/
		var EventManager = function EventManager() {
			var slice = Array.prototype.slice;
			var MethodsAvailable;
			/**
			* Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat"
			* object literal such that looking up the hook utilizes the native object literal hash.
			*/
			var STORAGE = {
				actions: {},
				filters: {}
			};
			/**
			* Removes the specified hook by resetting the value of it.
			*
			* @param {string}   type     Type of hook, either 'actions' or 'filters'
			* @param {Function} hook     The hook (namespace.identifier) to remove
			* @param {Function} callback
			* @param {*}        context
			* @private
			*/
			function _removeHook(type, hook, callback, context) {
				var handlers;
				var handler;
				var i;
				if (!STORAGE[type][hook]) return;
				if (!callback) STORAGE[type][hook] = [];
				else {
					handlers = STORAGE[type][hook];
					if (!context) {
						for (i = handlers.length; i--;) if (handlers[i].callback === callback) handlers.splice(i, 1);
					} else for (i = handlers.length; i--;) {
						handler = handlers[i];
						if (handler.callback === callback && handler.context === context) handlers.splice(i, 1);
					}
				}
			}
			/**
			* Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster
			* than bubble sort, etc: http://jsperf.com/javascript-sort
			*
			* @param {Array<*>} hooks The custom array containing all of the appropriate hooks to perform an insert sort on.
			* @private
			*/
			function _hookInsertSort(hooks) {
				var tmpHook;
				var j;
				var prevHook;
				for (var i = 1, len = hooks.length; i < len; i++) {
					tmpHook = hooks[i];
					j = i;
					while ((prevHook = hooks[j - 1]) && prevHook.priority > tmpHook.priority) {
						hooks[j] = hooks[j - 1];
						--j;
					}
					hooks[j] = tmpHook;
				}
				return hooks;
			}
			/**
			* Adds the hook to the appropriate storage container
			*
			* @param {string}   type      'actions' or 'filters'
			* @param {Array<*>} hook      The hook (namespace.identifier) to add to our event manager
			* @param {Function} callback  The function that will be called when the hook is executed.
			* @param {number}   priority  The priority of this hook. Must be an integer.
			* @param {*}        [context] A value to be used for this
			* @private
			*/
			function _addHook(type, hook, callback, priority, context) {
				var hookObject = {
					callback,
					priority,
					context
				};
				var hooks = STORAGE[type][hook];
				if (hooks) {
					var hasSameCallback = false;
					jQuery.each(hooks, function() {
						if (this.callback === callback) {
							hasSameCallback = true;
							return false;
						}
					});
					if (hasSameCallback) return;
					hooks.push(hookObject);
					hooks = _hookInsertSort(hooks);
				} else hooks = [hookObject];
				STORAGE[type][hook] = hooks;
			}
			/**
			* Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is.
			*
			* @param {string}   type 'actions' or 'filters'
			* @param {*}        hook The hook ( namespace.identifier ) to be ran.
			* @param {Array<*>} args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter.
			* @private
			*/
			function _runHook(type, hook, args) {
				var handlers = STORAGE[type][hook];
				var i;
				var len;
				if (!handlers) return "filters" === type ? args[0] : false;
				len = handlers.length;
				if ("filters" === type) for (i = 0; i < len; i++) args[0] = handlers[i].callback.apply(handlers[i].context, args);
				else for (i = 0; i < len; i++) handlers[i].callback.apply(handlers[i].context, args);
				return "filters" === type ? args[0] : true;
			}
			/**
			* Adds an action to the event manager.
			*
			* @param {string}   action        Must contain namespace.identifier
			* @param {Function} callback      Must be a valid callback function before this action is added
			* @param {number}   [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
			* @param {*}        [context]     Supply a value to be used for this
			*/
			function addAction(action, callback, priority, context) {
				if ("string" === typeof action && "function" === typeof callback) {
					priority = parseInt(priority || 10, 10);
					_addHook("actions", action, callback, priority, context);
				}
				return MethodsAvailable;
			}
			/**
			* Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is
			* that the first argument must always be the action.
			*/
			function doAction() {
				var args = slice.call(arguments);
				var action = args.shift();
				if ("string" === typeof action) _runHook("actions", action, args);
				return MethodsAvailable;
			}
			/**
			* Removes the specified action if it contains a namespace.identifier & exists.
			*
			* @param {string}   action     The action to remove
			* @param {Function} [callback] Callback function to remove
			*/
			function removeAction(action, callback) {
				if ("string" === typeof action) _removeHook("actions", action, callback);
				return MethodsAvailable;
			}
			/**
			* Adds a filter to the event manager.
			*
			* @param {string}   filter        Must contain namespace.identifier
			* @param {Function} callback      Must be a valid callback function before this action is added
			* @param {number}   [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook
			* @param {*}        [context]     Supply a value to be used for this
			*/
			function addFilter(filter, callback, priority, context) {
				if ("string" === typeof filter && "function" === typeof callback) {
					priority = parseInt(priority || 10, 10);
					_addHook("filters", filter, callback, priority, context);
				}
				return MethodsAvailable;
			}
			/**
			* Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that
			* the first argument must always be the filter.
			*/
			function applyFilters() {
				var args = slice.call(arguments);
				var filter = args.shift();
				if ("string" === typeof filter) return _runHook("filters", filter, args);
				return MethodsAvailable;
			}
			/**
			* Removes the specified filter if it contains a namespace.identifier & exists.
			*
			* @param {string}   filter     The action to remove
			* @param {Function} [callback] Callback function to remove
			*/
			function removeFilter(filter, callback) {
				if ("string" === typeof filter) _removeHook("filters", filter, callback);
				return MethodsAvailable;
			}
			/**
			* Maintain a reference to the object scope so our public methods never get confusing.
			*/
			MethodsAvailable = {
				removeFilter,
				applyFilters,
				addFilter,
				removeAction,
				doAction,
				addAction
			};
			return MethodsAvailable;
		};
		module.exports = EventManager;
	}));

//#endregion
//#region assets/dev/js/editor/components/dynamic-tags/tag.js
	var require_tag = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = Marionette.ItemView.extend({
			hasTemplate: true,
			tagName: "span",
			className: function className() {
				return "elementor-tag";
			},
			getTemplate: function getTemplate() {
				if (!this.hasTemplate) return false;
				return Marionette.TemplateCache.get("#tmpl-elementor-tag-" + this.getOption("name") + "-content");
			},
			initialize: function initialize() {
				try {
					this.getTemplate();
				} catch (e) {
					this.hasTemplate = false;
				}
			},
			getConfig: function getConfig(key) {
				var config = elementor.dynamicTags.getConfig("tags." + this.getOption("name"));
				if (key) return config[key];
				return config;
			},
			getContent: function getContent() {
				var contentType = this.getConfig("content_type");
				var data;
				if (!this.hasTemplate) {
					data = elementor.dynamicTags.loadTagDataFromCache(this);
					if (void 0 === data) throw new Error(elementor.dynamicTags.CACHE_KEY_NOT_FOUND_ERROR);
				}
				if ("ui" === contentType) {
					this.render();
					if (this.hasTemplate) return this.el.outerHTML;
					if (this.getConfig("wrapped_tag")) data = jQuery(data).html();
					this.$el.html(data);
				}
				return data;
			},
			onRender: function onRender() {
				this.el.id = "elementor-tag-" + this.getOption("id");
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/dynamic-tags/manager.js
	var require_manager$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		module.exports = elementorModules.Module.extend({
			CACHE_KEY_NOT_FOUND_ERROR: "Cache key not found",
			tags: { Base: require_tag() },
			cache: {},
			cacheRequests: {},
			cacheCallbacks: [],
			getTagRenderPostId: function getTagRenderPostId(tag) {
				var _tag$editorRenderPost;
				return (_tag$editorRenderPost = tag.editorRenderPostId) !== null && _tag$editorRenderPost !== void 0 ? _tag$editorRenderPost : elementor.config.document.id;
			},
			addCacheRequest: function addCacheRequest(tag) {
				var postId = this.getTagRenderPostId(tag);
				var cacheKey = this.createCacheKey(tag);
				if (!this.cacheRequests[postId]) this.cacheRequests[postId] = {};
				this.cacheRequests[postId][cacheKey] = true;
			},
			createCacheKey: function createCacheKey(tag) {
				var postId = this.getTagRenderPostId(tag);
				return btoa(tag.getOption("name")) + "-" + btoa(encodeURIComponent(JSON.stringify(tag.model))) + "-" + postId;
			},
			loadTagDataFromCache: function loadTagDataFromCache(tag) {
				var cacheKey = this.createCacheKey(tag);
				if (void 0 !== this.cache[cacheKey]) return this.cache[cacheKey];
				var postId = this.getTagRenderPostId(tag);
				if (!this.cacheRequests[postId] || !this.cacheRequests[postId][cacheKey]) this.addCacheRequest(tag);
			},
			loadCacheRequests: function loadCacheRequests() {
				var _this = this;
				var cacheRequests = this.cacheRequests;
				var cacheCallbacks = this.cacheCallbacks;
				this.cacheRequests = {};
				this.cacheCallbacks = [];
				var postIds = Object.keys(cacheRequests);
				if (0 === postIds.length) {
					cacheCallbacks.forEach(function(entry) {
						entry.callback();
					});
					return;
				}
				var pendingRequests = postIds.length;
				var onRequestComplete = function onRequestComplete() {
					pendingRequests -= 1;
					if (0 === pendingRequests) cacheCallbacks.forEach(function(entry) {
						entry.callback();
					});
				};
				var needsUniqueIds = postIds.length > 1;
				var batchId = needsUniqueIds ? elementorCommon.helpers.getUniqueId() : null;
				postIds.forEach(function(postId) {
					elementorCommon.ajax.addRequest("render_tags", _objectSpread(_objectSpread({}, needsUniqueIds ? { unique_id: "render_tags-".concat(postId, "-").concat(batchId) } : {}), {}, {
						data: {
							post_id: Number(postId),
							tags: Object.keys(cacheRequests[postId])
						},
						success: function success(data) {
							_this.cache = _objectSpread(_objectSpread({}, _this.cache), data);
							onRequestComplete();
						}
					}));
				});
			},
			refreshCacheFromServer: function refreshCacheFromServer(callback) {
				this.cacheCallbacks.push({ callback });
				this.loadCacheRequests();
			},
			getConfig: function getConfig(key) {
				return this.getItems(elementor.config.dynamicTags, key);
			},
			parseTagsText: function parseTagsText(text, settings, parseCallback) {
				var self = this;
				if ("object" === settings.returnType) return self.parseTagText(text, settings, parseCallback);
				return text.replace(/\[elementor-tag[^\]]+]/g, function(tagText) {
					return self.parseTagText(tagText, settings, parseCallback);
				});
			},
			parseTagText: function parseTagText(tagText, settings, parseCallback) {
				var tagData = this.tagTextToTagData(tagText);
				if (!tagData) {
					if ("object" === settings.returnType) return {};
					return "";
				}
				return parseCallback(tagData.id, tagData.name, tagData.settings);
			},
			tagTextToTagData: function tagTextToTagData(tagText) {
				var tagIDMatch = tagText.match(/id="(.*?(?="))"/);
				var tagNameMatch = tagText.match(/name="(.*?(?="))"/);
				var tagSettingsMatch = tagText.match(/settings="(.*?(?="]))/);
				if (!tagIDMatch || !tagNameMatch || !tagSettingsMatch) return false;
				return {
					id: tagIDMatch[1],
					name: tagNameMatch[1],
					settings: JSON.parse(decodeURIComponent(tagSettingsMatch[1]))
				};
			},
			createTag: function createTag(tagID, tagName, tagSettings) {
				var tagConfig = this.getConfig("tags." + tagName);
				if (!tagConfig) return;
				return new (this.tags[tagName] || this.tags.Base)({
					id: tagID,
					name: tagName,
					model: new elementorModules.editor.elements.models.BaseSettings(tagSettings, { controls: tagConfig.controls })
				});
			},
			getTagDataContent: function getTagDataContent(tagID, tagName, tagSettings) {
				var tag = this.createTag(tagID, tagName, tagSettings);
				if (!tag) return;
				return tag.getContent();
			},
			tagDataToTagText: function tagDataToTagText(tagID, tagName, tagSettings) {
				tagSettings = encodeURIComponent(JSON.stringify(tagSettings && tagSettings.toJSON({ remove: ["default"] }) || {}));
				return "[elementor-tag id=\"" + tagID + "\" name=\"" + tagName + "\" settings=\"" + tagSettings + "\"]";
			},
			tagContainerToTagText: function tagContainerToTagText(container) {
				return elementor.dynamicTags.tagDataToTagText(container.view.getOption("id"), container.view.getOption("name"), container.view.model);
			},
			cleanCache: function cleanCache() {
				this.cache = {};
			},
			onInit: function onInit() {
				this.loadCacheRequests = _.debounce(this.loadCacheRequests, 300);
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/settings/base/manager.js
	var require_manager$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_asyncToGenerator();
		var import_regenerator = /* @__PURE__ */ __toESM(require_regenerator());
		var ControlsCSSParser = require_controls_css_parser();
		module.exports = elementorModules.ViewModule.extend({
			model: null,
			hasChange: false,
			changeCallbacks: {},
			addChangeCallback: function addChangeCallback(attribute, callback) {
				this.changeCallbacks[attribute] = callback;
			},
			bindEvents: function bindEvents() {
				elementor.on("document:loaded", this.onElementorDocumentLoaded);
				this.model.on("change", this.onModelChange);
			},
			unbindEvents: function unbindEvents() {
				elementor.off("document:loaded", this.onElementorDocumentLoaded);
			},
			addPanelPage: function addPanelPage() {
				var name = this.getSettings("name");
				elementor.getPanelView().addPage(name + "_settings", {
					view: elementor.settings.panelPages[name] || elementor.settings.panelPages.base,
					title: this.getSettings("panelPage.title"),
					options: {
						editedView: this.getEditedView(),
						model: this.model,
						controls: this.model.controls,
						name
					}
				});
			},
			getContainerType: function getContainerType() {
				return this.getSettings("name") + "_settings";
			},
			/**
			* @deprecated since 3.7.0, use `getContainerType()` instead.
			*/
			getContainerId: function getContainerId() {
				elementorDevTools.deprecation.deprecated("getContainerId()", "3.7.0", "getContainerType()");
				return this.getContainerType();
			},
			getEditedView: function getEditedView() {
				var ModelClass = elementor.elementsManager.getElementTypeClass("document").getModel();
				var type = this.getContainerType();
				var editModel = new ModelClass({
					id: type,
					elType: type,
					settings: this.model
				});
				var container = new elementorModules.editor.Container({
					type,
					id: type,
					model: editModel,
					settings: editModel.get("settings"),
					view: false,
					parent: false,
					label: this.getSettings("panelPage").title,
					controls: this.model.controls,
					document: this.getDocument(),
					renderer: false
				});
				return {
					getContainer: function getContainer() {
						return container;
					},
					getEditModel: function getEditModel() {
						return editModel;
					},
					model: editModel,
					container
				};
			},
			getDocument: function getDocument() {
				return false;
			},
			updateStylesheet: function updateStylesheet(keepOldEntries) {
				var controlsCSS = this.getControlsCSS();
				if (!keepOldEntries) controlsCSS.stylesheet.empty();
				this.model.handleRepeaterData(this.model.attributes);
				controlsCSS.addStyleRules(this.model.getStyleControls(), this.model.attributes, this.model.controls, [/{{WRAPPER}}/g], [this.getSettings("cssWrapperSelector")]);
				controlsCSS.addStyleToDocument({
					at: "before",
					of: "#elementor-style-e-global-style"
				});
			},
			initModel: function initModel() {
				this.model = new elementorModules.editor.elements.models.BaseSettings(this.getSettings("settings"), { controls: this.getSettings("controls") });
			},
			getStyleId: function getStyleId() {
				return this.getSettings("name");
			},
			initControlsCSSParser: function initControlsCSSParser() {
				var controlsCSS;
				this.destroyControlsCSS = function() {
					controlsCSS.removeStyleFromDocument();
				};
				this.getControlsCSS = function() {
					if (!controlsCSS) controlsCSS = new ControlsCSSParser({
						id: this.getStyleId(),
						settingsModel: this.model,
						context: this.getEditedView()
					});
					return controlsCSS;
				};
			},
			getDataToSave: function getDataToSave(data) {
				return data;
			},
			save: function save(callback) {
				var _this = this;
				return _asyncToGenerator(/*#__PURE__*/ import_regenerator.default.mark(function _callee() {
					var self;
					var settings;
					var data;
					return import_regenerator.default.wrap(function(_context) {
						while (1) switch (_context.prev = _context.next) {
							case 0:
								self = _this;
								if (self.hasChange) {
									_context.next = 1;
									break;
								}
								return _context.abrupt("return");
							case 1:
								settings = _this.model.toJSON({ remove: ["default"] }), data = _this.getDataToSave({ data: settings });
								NProgress.start();
								return _context.abrupt("return", elementorCommon.ajax.addRequest("save_" + _this.getSettings("name") + "_settings", {
									data,
									success: function success() {
										NProgress.done();
										self.setSettings("settings", settings);
										self.hasChange = false;
										if (callback) callback.apply(self, arguments);
									},
									error: function error() {
										alert("An error occurred.");
									}
								}));
							case 2:
							case "end": return _context.stop();
						}
					}, _callee);
				}))();
			},
			onInit: function onInit() {
				this.initModel();
				this.initControlsCSSParser();
				this.addPanelMenuItem();
				this.debounceSave = _.debounce(this.save, 3e3);
				elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
			},
			/**
			* BC for custom settings without a JS component.
			*/
			addPanelMenuItem: function addPanelMenuItem() {
				var menuSettings = this.getSettings("panelPage.menu");
				if (!menuSettings) return;
				var namespace = "panel/" + this.getSettings("name") + "-settings";
				var menuItemOptions = {
					icon: menuSettings.icon,
					title: this.getSettings("panelPage.title"),
					type: "page",
					pageName: this.getSettings("name") + "_settings",
					callback: function callback() {
						return $e.route("".concat(namespace, "/settings"));
					}
				};
				$e.bc.ensureTab(namespace, "settings", menuItemOptions.pageName);
				elementor.modules.layouts.panel.pages.menu.Menu.addItem(menuItemOptions, "settings", menuSettings.beforeItem);
			},
			onModelChange: function onModelChange(model) {
				var self = this;
				self.hasChange = true;
				this.getControlsCSS().stylesheet.empty();
				_.each(model.changed, function(value, key) {
					if (self.changeCallbacks[key]) self.changeCallbacks[key].call(self, value);
				});
				self.updateStylesheet(true);
				self.debounceSave();
			},
			onElementorDocumentLoaded: function onElementorDocumentLoaded() {
				this.updateStylesheet();
				this.addPanelPage();
			},
			destroy: function destroy() {
				this.unbindEvents();
				this.model.destroy();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/settings/editor-preferences/manager.js
	function _callSuper$20(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$20() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$20() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$20 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var import_manager, _default;
	var init_manager = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		import_manager = /* @__PURE__ */ __toESM(require_manager$1());
		__name(_callSuper$20, "_callSuper");
		__name(_isNativeReflectConstruct$20, "_isNativeReflectConstruct");
		_default = /*#__PURE__*/ function(_BaseManager) {
			function _default() {
				var _this;
				_classCallCheck(this, _default);
				for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
				_this = _callSuper$20(this, _default, [].concat(args));
				_this.changeCallbacks = {
					ui_theme: _this.onUIThemeChanged,
					panel_width: _this.onPanelWidthChanged,
					edit_buttons: _this.onEditButtonsChanged,
					show_hidden_elements: _this.onShowHiddenElementsChange,
					show_launchpad_checklist: _this.toggleChecklistIconVisibility
				};
				return _this;
			}
			_inherits(_default, _BaseManager);
			return _createClass(_default, [
				{
					key: "getDefaultSettings",
					value: function getDefaultSettings() {
						return { darkModeLinkID: "elementor-editor-dark-mode-css" };
					}
				},
				{
					key: "toggleChecklistIconVisibility",
					value: function toggleChecklistIconVisibility(switcherValue) {
						var shouldShow = "yes" === switcherValue;
						this.addMixpanelTrackingChecklist(shouldShow);
						$e.run("checklist/toggle-icon", shouldShow);
					}
				},
				{
					key: "onUIThemeChanged",
					value: function onUIThemeChanged(newValue) {
						var $lightUi = jQuery("#e-theme-ui-light-css");
						var $darkUi = jQuery("#e-theme-ui-dark-css");
						if ("auto" === newValue) {
							$lightUi.attr("media", "(prefers-color-scheme: light)");
							$darkUi.attr("media", "(prefers-color-scheme: dark)");
							return;
						}
						if ("light" === newValue) {
							$lightUi.attr("media", "all");
							$darkUi.attr("media", "none");
						} else {
							$lightUi.attr("media", "none");
							$darkUi.attr("media", "all");
						}
					}
				},
				{
					key: "onPanelWidthChanged",
					value: function onPanelWidthChanged(newValue) {
						elementor.panel.saveSize({ width: newValue.size + newValue.unit });
						elementor.panel.setSize();
					}
				},
				{
					key: "onEditButtonsChanged",
					value: function onEditButtonsChanged() {
						setTimeout(function() {
							return elementor.getPreviewView()._renderChildren();
						}, 300);
					}
				},
				{
					key: "onShowHiddenElementsChange",
					value: function onShowHiddenElementsChange() {
						elementorFrontend.elements.$body.toggleClass("e-preview--show-hidden-elements");
					}
				},
				{
					key: "addMixpanelTrackingChecklist",
					value: function addMixpanelTrackingChecklist(shouldShow) {
						var name = shouldShow ? "checklistShow" : "checklistHide";
						var postId = elementor.getPreviewContainer().document.config.id;
						var postTitle = elementor.getPreviewContainer().model.attributes.settings.attributes.post_title;
						var postTypeTitle = elementor.getPreviewContainer().document.config.post_type_title;
						var documentType = elementor.getPreviewContainer().document.config.type;
						return elementorCommon.eventsManager.dispatchEvent(elementorCommon.eventsManager.config.names.elementorEditor.userPreferences[name], {
							location: elementorCommon.eventsManager.config.locations.elementorEditor,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.userPreferences,
							trigger: elementorCommon.eventsManager.config.triggers.toggleClick,
							element: elementorCommon.eventsManager.config.elements.toggle,
							postId,
							postTitle,
							postTypeTitle,
							documentType
						});
					}
				}
			]);
		}(import_manager.default);
	}));

//#endregion
//#region assets/dev/js/editor/components/settings/page/component.js
	function _callSuper$19(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$19() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$19() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$19 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Component$3;
	var init_component$3 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_component_base();
		__name(_callSuper$19, "_callSuper");
		__name(_isNativeReflectConstruct$19, "_isNativeReflectConstruct");
		Component$3 = /*#__PURE__*/ function(_ComponentBase) {
			function Component() {
				_classCallCheck(this, Component);
				return _callSuper$19(this, Component, arguments);
			}
			_inherits(Component, _ComponentBase);
			return _createClass(Component, [
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "panel/page-settings";
					}
				},
				{
					key: "defaultTabs",
					value: function defaultTabs() {
						return {
							settings: { title: (0, _wordpress_i18n.__)("Settings", "elementor") },
							style: { title: (0, _wordpress_i18n.__)("Style", "elementor") },
							advanced: { title: (0, _wordpress_i18n.__)("Advanced", "elementor") }
						};
					}
				},
				{
					key: "renderTab",
					value: function renderTab(tab, args) {
						var activeControl = args.activeControl;
						var _args$refresh = args.refresh;
						var refresh = _args$refresh === void 0 ? false : _args$refresh;
						if (this.shouldRenderPage(tab) || refresh) elementor.getPanelView().setPage("page_settings").activateTab(tab);
						this.activateControl(activeControl);
					}
				},
				{
					key: "shouldRenderPage",
					value: function shouldRenderPage(tab) {
						var _currentPanelView$get;
						var currentPanelView = elementor.getPanelView();
						var isSamePage = "page_settings" === currentPanelView.getCurrentPageName();
						var isSameTab = tab === ((_currentPanelView$get = currentPanelView.getCurrentPageView()) === null || _currentPanelView$get === void 0 ? void 0 : _currentPanelView$get.activeTab);
						return !isSamePage || !isSameTab;
					}
				},
				{
					key: "getTabsWrapperSelector",
					value: function getTabsWrapperSelector() {
						return ".elementor-panel-navigation";
					}
				}
			]);
		}(ComponentBase);
	}));

//#endregion
//#region assets/dev/js/editor/container/model/children-array.js
	function _createForOfIteratorHelper(r, e) {
		var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
		if (!t) {
			if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
				t && (r = t);
				var _n = 0;
				var F = function F() {};
				return {
					s: F,
					n: function n() {
						return _n >= r.length ? { done: !0 } : {
							done: !1,
							value: r[_n++]
						};
					},
					e: function e(r) {
						throw r;
					},
					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 o;
		var a = !0;
		var u = !1;
		return {
			s: function s() {
				t = t.call(r);
			},
			n: function n() {
				var r = t.next();
				return a = r.done, r;
			},
			e: function e(r) {
				u = !0, o = r;
			},
			f: function f() {
				try {
					a || null == t.return || t.return();
				} finally {
					if (u) throw o;
				}
			}
		};
	}
	function _unsupportedIterableToArray(r, a) {
		if (r) {
			if ("string" == typeof r) return _arrayLikeToArray(r, a);
			var t = {}.toString.call(r).slice(8, -1);
			return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
		}
	}
	function _arrayLikeToArray(r, a) {
		(null == a || a > r.length) && (a = r.length);
		for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
		return n;
	}
	function _callSuper$18(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$18() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$18() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$18 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ChildrenArray;
	var init_children_array = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_wrapNativeSuper();
		__name(_callSuper$18, "_callSuper");
		__name(_isNativeReflectConstruct$18, "_isNativeReflectConstruct");
		ChildrenArray = /*#__PURE__*/ function(_Array) {
			function ChildrenArray() {
				_classCallCheck(this, ChildrenArray);
				return _callSuper$18(this, ChildrenArray, arguments);
			}
			_inherits(ChildrenArray, _Array);
			return _createClass(ChildrenArray, [
				{
					key: "clear",
					value: function clear() {
						this.length = 0;
					}
				},
				{
					key: "findRecursive",
					value: function findRecursive(callback) {
						var _iterator = _createForOfIteratorHelper(this);
						var _step;
						try {
							for (_iterator.s(); !(_step = _iterator.n()).done;) {
								var container = _step.value;
								if (callback(container)) return container;
								if (container.children.length) {
									var foundChildren = container.children.findRecursive(callback);
									if (foundChildren) return foundChildren;
								}
							}
						} catch (err) {
							_iterator.e(err);
						} finally {
							_iterator.f();
						}
						return false;
					}
				},
				{
					key: "forEachRecursive",
					value: function forEachRecursive(callback) {
						var _iterator2 = _createForOfIteratorHelper(this);
						var _step2;
						try {
							for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
								var container = _step2.value;
								callback(container);
								if (container.children.length) container.children.forEachRecursive(callback);
							}
						} catch (err) {
							_iterator2.e(err);
						} finally {
							_iterator2.f();
						}
					}
				},
				{
					key: "someRecursive",
					value: function someRecursive(callback) {
						var _iterator3 = _createForOfIteratorHelper(this);
						var _step3;
						try {
							for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
								var _container$children;
								var container = _step3.value;
								if (callback(container)) return true;
								if ((_container$children = container.children) !== null && _container$children !== void 0 && _container$children.length) {
									if (container.children.someRecursive(callback)) return true;
								}
							}
						} catch (err) {
							_iterator3.e(err);
						} finally {
							_iterator3.f();
						}
						return false;
					}
				}
			]);
		}(/*#__PURE__*/ _wrapNativeSuper(Array));
	}));

//#endregion
//#region assets/dev/js/editor/components/settings/page/manager.js
	var require_manager = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_construct();
		init_toConsumableArray();
		init_component$3();
		init_children_array();
		var BaseSettings = require_manager$1();
		module.exports = BaseSettings.extend({
			getStyleId: function getStyleId() {
				return this.getSettings("name") + "-" + elementor.documents.getCurrent().id;
			},
			onInit: function onInit() {
				BaseSettings.prototype.onInit.apply(this);
				$e.components.register(new Component$3({ manager: this }));
			},
			save: function save() {},
			getDataToSave: function getDataToSave(data) {
				data.id = elementor.config.document.id;
				return data;
			},
			getEditedView: function getEditedView() {
				var _this = this;
				if (this.editedView) return this.editedView;
				var ModelClass = elementor.elementsManager.getElementTypeClass("document").getModel();
				var type = this.getContainerType();
				var editModel = new ModelClass({
					id: type,
					elType: type,
					settings: this.model,
					elements: elementor.elements
				});
				var container = new elementorModules.editor.Container({
					type,
					id: editModel.id,
					model: editModel,
					settings: editModel.get("settings"),
					label: elementor.config.document.panel.title,
					controls: this.model.controls,
					children: _construct(ChildrenArray, _toConsumableArray(elementor.elements || [])),
					parent: false,
					renderer: { view: {
						lookup: function lookup() {
							return container;
						},
						renderOnChange: function renderOnChange() {
							return _this.updateStylesheet();
						},
						renderUI: function renderUI() {
							return _this.updateStylesheet();
						}
					} }
				});
				this.editedView = {
					getContainer: function getContainer() {
						return container;
					},
					getEditModel: function getEditModel() {
						return editModel;
					},
					model: editModel,
					container
				};
				return this.editedView;
			},
			getContainerType: function getContainerType() {
				return "document";
			},
			/**
			* @deprecated since 3.7.0, use `getContainerType()` instead.
			*/
			getContainerId: function getContainerId() {
				elementorDevTools.deprecation.deprecated("getContainerId()", "3.7.0", "getContainerType()");
				return this.getContainerType();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/settings/base/panel.js
	var require_panel$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		module.exports = elementorModules.editor.views.ControlsStack.extend({
			id: function id() {
				return "elementor-panel-" + this.getOption("name") + "-settings";
			},
			getTemplate: function getTemplate() {
				return "#tmpl-elementor-panel-" + this.getOption("name") + "-settings";
			},
			childViewContainer: function childViewContainer() {
				return "#elementor-panel-" + this.getOption("name") + "-settings-controls";
			},
			childViewOptions: function childViewOptions() {
				return { container: this.getOption("editedView").getContainer() };
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/components/settings/settings.js
	var require_settings = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_manager();
		module.exports = elementorModules.Module.extend({
			modules: {
				base: require_manager$1(),
				page: require_manager(),
				editorPreferences: _default
			},
			panelPages: { base: require_panel$1() },
			onInit: function onInit() {
				this.initSettings();
			},
			initSettings: function initSettings() {
				var self = this;
				_.each(elementor.config.settings, function(config, name) {
					self[name] = new (self.modules[name] || self.modules.base)(config);
				});
			}
		});
	}));

//#endregion
//#region assets/dev/js/utils/notifications.js
	var require_notifications = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_defineProperty();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		module.exports = elementorModules.Module.extend({
			initToast: function initToast() {
				var toast = elementorCommon.dialogsManager.createWidget("buttons", {
					id: "elementor-toast",
					position: {
						my: "center bottom",
						at: "center bottom-10",
						of: "#elementor-panel-inner",
						autoRefresh: true
					},
					hide: {
						onClick: true,
						auto: true,
						autoDelay: 1e4
					},
					effects: {
						show: function show() {
							var $widget = toast.getElements("widget");
							$widget.show();
							toast.refreshPosition();
							var top = parseInt($widget.css("top"), 10);
							$widget.hide().css("top", top + 100);
							$widget.animate({
								opacity: "show",
								height: "show",
								paddingBottom: "show",
								paddingTop: "show",
								top
							}, {
								easing: "linear",
								duration: 300
							});
						},
						hide: function hide() {
							var $widget = toast.getElements("widget");
							var top = parseInt($widget.css("top"), 10);
							$widget.animate({
								opacity: "hide",
								height: "hide",
								paddingBottom: "hide",
								paddingTop: "hide",
								top: top + 100
							}, {
								easing: "linear",
								duration: 300
							});
						}
					},
					button: { tag: "button" }
				});
				toast.getElements("widget").attr({
					role: "status",
					"aria-live": "polite",
					"aria-atomic": "true"
				});
				this.getToast = function() {
					return toast;
				};
			},
			showToast: function showToast(options) {
				var toast = this.getToast();
				toast.setMessage(options.message);
				toast.getElements("buttonsWrapper").empty();
				toast.focusedButton = null;
				toast.buttons = [];
				var isPositionValid = this.isPositionValid(options === null || options === void 0 ? void 0 : options.position);
				if (!isPositionValid) this.positionToWindow();
				if (options !== null && options !== void 0 && options.position && isPositionValid) toast.setSettings("position", options.position);
				if (options.buttons) options.buttons.forEach(function(button) {
					toast.addButton(button);
				});
				if (options.classes) toast.getElements("widget").addClass(options.classes);
				if (options.sticky) toast.setSettings({ hide: {
					auto: false,
					onClick: false
				} });
				return toast.show();
			},
			isPositionValid: function isPositionValid(position) {
				var _position$of;
				var positionToCheck = (_position$of = position === null || position === void 0 ? void 0 : position.of) !== null && _position$of !== void 0 ? _position$of : this.getToast().getSettings("position").of;
				if (!positionToCheck) return false;
				return !!document.querySelector(positionToCheck);
			},
			positionToWindow: function positionToWindow() {
				var toast = this.getToast();
				var position = _objectSpread(_objectSpread({}, toast.getSettings("position")), {}, {
					my: "right top",
					at: "right-10 top+42",
					of: ""
				});
				toast.setSettings("position", position);
				toast.getElements("widget").addClass("dialog-position-window");
			},
			onInit: function onInit() {
				this.initToast();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/change-device-mode.js
	function _callSuper$17(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$17() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$17() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$17 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var ChangeDeviceMode;
	var init_change_device_mode = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$17, "_callSuper");
		__name(_isNativeReflectConstruct$17, "_isNativeReflectConstruct");
		ChangeDeviceMode = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function ChangeDeviceMode() {
				_classCallCheck(this, ChangeDeviceMode);
				return _callSuper$17(this, ChangeDeviceMode, arguments);
			}
			_inherits(ChangeDeviceMode, _$e$modules$CommandBa);
			return _createClass(ChangeDeviceMode, [{
				key: "apply",
				value: function apply() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					var devices = elementor.breakpoints.getActiveBreakpointsList({
						largeToSmall: true,
						withDesktop: true
					});
					var device = args.device;
					if (!device) {
						var currentDeviceMode = elementor.channels.deviceMode.request("currentMode");
						var modeIndex = devices.indexOf(currentDeviceMode);
						modeIndex++;
						if (modeIndex >= devices.length) modeIndex = 0;
						device = devices[modeIndex];
					}
					elementor.changeDeviceMode(device);
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/page-settings.js
	function _callSuper$16(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$16() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$16() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$16 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var PageSettings;
	var init_page_settings = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$16, "_callSuper");
		__name(_isNativeReflectConstruct$16, "_isNativeReflectConstruct");
		PageSettings = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function PageSettings() {
				_classCallCheck(this, PageSettings);
				return _callSuper$16(this, PageSettings, arguments);
			}
			_inherits(PageSettings, _$e$modules$CommandBa);
			return _createClass(PageSettings, [{
				key: "apply",
				value: function apply() {
					$e.route("panel/page-settings/settings");
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/editor-preferences.js
	function _callSuper$15(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$15() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$15() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$15 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var EditorPreferences;
	var init_editor_preferences = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$15, "_callSuper");
		__name(_isNativeReflectConstruct$15, "_isNativeReflectConstruct");
		EditorPreferences = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function EditorPreferences() {
				_classCallCheck(this, EditorPreferences);
				return _callSuper$15(this, EditorPreferences, arguments);
			}
			_inherits(EditorPreferences, _$e$modules$CommandBa);
			return _createClass(EditorPreferences, [{
				key: "apply",
				value: function apply() {
					$e.route("panel/editor-preferences");
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/close.js
	function _callSuper$14(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$14() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$14() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$14 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Close;
	var init_close = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$14, "_callSuper");
		__name(_isNativeReflectConstruct$14, "_isNativeReflectConstruct");
		Close = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Close() {
				_classCallCheck(this, Close);
				return _callSuper$14(this, Close, arguments);
			}
			_inherits(Close, _$e$modules$CommandBa);
			return _createClass(Close, [{
				key: "apply",
				value: function apply() {
					elementor.changeEditMode("preview");
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/exit.js
	function _callSuper$13(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$13() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$13() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$13 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Exit;
	var init_exit = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$13, "_callSuper");
		__name(_isNativeReflectConstruct$13, "_isNativeReflectConstruct");
		Exit = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Exit() {
				_classCallCheck(this, Exit);
				return _callSuper$13(this, Exit, arguments);
			}
			_inherits(Exit, _$e$modules$CommandBa);
			return _createClass(Exit, [{
				key: "apply",
				value: function apply() {
					$e.route("panel/menu");
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/open.js
	function _callSuper$12(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$12() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$12() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$12 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Open$1;
	var init_open$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$12, "_callSuper");
		__name(_isNativeReflectConstruct$12, "_isNativeReflectConstruct");
		Open$1 = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Open() {
				_classCallCheck(this, Open);
				return _callSuper$12(this, Open, arguments);
			}
			_inherits(Open, _$e$modules$CommandBa);
			return _createClass(Open, [{
				key: "apply",
				value: function apply() {
					elementor.changeEditMode("edit");
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/publish.js
	function _callSuper$11(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$11() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$11() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$11 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Publish;
	var init_publish = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$11, "_callSuper");
		__name(_isNativeReflectConstruct$11, "_isNativeReflectConstruct");
		Publish = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Publish() {
				_classCallCheck(this, Publish);
				return _callSuper$11(this, Publish, arguments);
			}
			_inherits(Publish, _$e$modules$CommandBa);
			return _createClass(Publish, [{
				key: "apply",
				value: function apply() {
					$e.run("document/save/publish");
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/save.js
	function _callSuper$10(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$10() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$10() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$10 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Save;
	var init_save = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$10, "_callSuper");
		__name(_isNativeReflectConstruct$10, "_isNativeReflectConstruct");
		Save = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Save() {
				_classCallCheck(this, Save);
				return _callSuper$10(this, Save, arguments);
			}
			_inherits(Save, _$e$modules$CommandBa);
			return _createClass(Save, [{
				key: "apply",
				value: function apply() {
					$e.run("document/save/draft");
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/toggle.js
	function _callSuper$9(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$9() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$9() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$9 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Toggle;
	var init_toggle = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$9, "_callSuper");
		__name(_isNativeReflectConstruct$9, "_isNativeReflectConstruct");
		Toggle = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Toggle() {
				_classCallCheck(this, Toggle);
				return _callSuper$9(this, Toggle, arguments);
			}
			_inherits(Toggle, _$e$modules$CommandBa);
			return _createClass(Toggle, [{
				key: "apply",
				value: function apply() {
					elementor.getPanelView().modeSwitcher.currentView.toggleMode();
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/index.js
	var commands_exports$1 = /* @__PURE__ */ __exportAll({
		ChangeDeviceMode: () => ChangeDeviceMode,
		Close: () => Close,
		EditorPreferences: () => EditorPreferences,
		Exit: () => Exit,
		Open: () => Open$1,
		PageSettings: () => PageSettings,
		Publish: () => Publish,
		Save: () => Save,
		Toggle: () => Toggle
	});
	var init_commands$1 = __esmMin((() => {
		init_change_device_mode();
		init_page_settings();
		init_editor_preferences();
		init_close();
		init_exit();
		init_open$1();
		init_publish();
		init_save();
		init_toggle();
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/internal/open-default.js
	function _callSuper$8(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$8() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$8() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$8 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var OpenDefault;
	var init_open_default = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$8, "_callSuper");
		__name(_isNativeReflectConstruct$8, "_isNativeReflectConstruct");
		OpenDefault = /*#__PURE__*/ function(_$e$modules$CommandIn) {
			function OpenDefault() {
				_classCallCheck(this, OpenDefault);
				return _callSuper$8(this, OpenDefault, arguments);
			}
			_inherits(OpenDefault, _$e$modules$CommandIn);
			return _createClass(OpenDefault, [{
				key: "apply",
				value: function apply() {
					var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
					$e.route(elementor.documents.getCurrent().config.panel.default_route, args);
					return Promise.resolve();
				}
			}]);
		}($e.modules.CommandInternalBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/internal/state-loading.js
	function _callSuper$7(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$7() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$7() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$7 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var StateLoading;
	var init_state_loading = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$7, "_callSuper");
		__name(_isNativeReflectConstruct$7, "_isNativeReflectConstruct");
		StateLoading = /*#__PURE__*/ function(_$e$modules$CommandIn) {
			function StateLoading() {
				_classCallCheck(this, StateLoading);
				return _callSuper$7(this, StateLoading, arguments);
			}
			_inherits(StateLoading, _$e$modules$CommandIn);
			return _createClass(StateLoading, [{
				key: "apply",
				value: function apply() {
					elementorCommon.elements.$body.addClass("elementor-panel-loading");
				}
			}]);
		}($e.modules.CommandInternalBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/internal/state-ready.js
	function _callSuper$6(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$6() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$6() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$6 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var StateReady;
	var init_state_ready = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$6, "_callSuper");
		__name(_isNativeReflectConstruct$6, "_isNativeReflectConstruct");
		StateReady = /*#__PURE__*/ function(_$e$modules$CommandIn) {
			function StateReady() {
				_classCallCheck(this, StateReady);
				return _callSuper$6(this, StateReady, arguments);
			}
			_inherits(StateReady, _$e$modules$CommandIn);
			return _createClass(StateReady, [{
				key: "apply",
				value: function apply() {
					elementorCommon.elements.$body.removeClass("elementor-panel-loading");
					if (!this.component.stateReadyOnce) {
						this.component.stateReadyOnce = true;
						$e.extras.hashCommands.runOnce();
					}
				}
			}]);
		}($e.modules.CommandInternalBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/commands/internal/index.js
	var internal_exports = /* @__PURE__ */ __exportAll({
		OpenDefault: () => OpenDefault,
		StateLoading: () => StateLoading,
		StateReady: () => StateReady
	});
	var init_internal = __esmMin((() => {
		init_open_default();
		init_state_loading();
		init_state_ready();
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/component.js
	function _callSuper$5(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$5() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$5() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$5 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _classPrivateFieldInitSpec(e, t, a) {
		_checkPrivateRedeclaration(e, t), t.set(e, a);
	}
	function _checkPrivateRedeclaration(e, t) {
		if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
	}
	function _classPrivateFieldGet(s, a) {
		return s.get(_assertClassBrand(s, a));
	}
	function _classPrivateFieldSet(s, a, r) {
		return s.set(_assertClassBrand(s, a), r), r;
	}
	function _assertClassBrand(e, t, n) {
		if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
		throw new TypeError("Private element is not present on this object");
	}
	function isEditMode() {
		return "edit" === elementor.channels.dataEditMode.request("activeMode");
	}
	var _userInteractionsBlocked, Component$2;
	var init_component$2 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		init_defineProperty();
		init_component_base();
		init_commands$1();
		init_internal();
		__name(_callSuper$5, "_callSuper");
		__name(_isNativeReflectConstruct$5, "_isNativeReflectConstruct");
		_userInteractionsBlocked = /*#__PURE__*/ new WeakMap();
		Component$2 = /*#__PURE__*/ function(_ComponentBase) {
			function Component() {
				var _this;
				_classCallCheck(this, Component);
				for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
				_this = _callSuper$5(this, Component, [].concat(args));
				_defineProperty(_this, "stateReadyOnce", false);
				_classPrivateFieldInitSpec(_this, _userInteractionsBlocked, false);
				return _this;
			}
			_inherits(Component, _ComponentBase);
			return _createClass(Component, [
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "panel";
					}
				},
				{
					key: "defaultRoutes",
					value: function defaultRoutes() {
						var _this2 = this;
						return {
							menu: function menu() {
								return _this2.manager.setPage("menu");
							},
							"global-colors": function globalColors() {
								return _this2.manager.setPage("colorScheme");
							},
							"global-fonts": function globalFonts() {
								return _this2.manager.setPage("typographyScheme");
							},
							"editor-preferences": function editorPreferences() {
								return _this2.manager.setPage("editorPreferences_settings").activateTab("settings");
							}
						};
					}
				},
				{
					key: "defaultCommandsInternal",
					value: function defaultCommandsInternal() {
						return this.importCommands(internal_exports);
					}
				},
				{
					key: "defaultCommands",
					value: function defaultCommands() {
						return this.importCommands(commands_exports$1);
					}
				},
				{
					key: "defaultShortcuts",
					value: function defaultShortcuts() {
						var _this3 = this;
						return {
							toggle: {
								keys: "ctrl+p",
								dependency: function dependency() {
									return !_this3.isUserInteractionsBlocked();
								}
							},
							save: { keys: "ctrl+s" },
							exit: {
								keys: "esc",
								dependency: function dependency() {
									return !jQuery(".dialog-widget:visible").length && isEditMode();
								},
								scopes: ["panel", "preview"]
							},
							"change-device-mode": { keys: "ctrl+shift+m" },
							"page-settings": {
								keys: "ctrl+shift+y",
								dependency: function dependency() {
									return isEditMode();
								}
							},
							"editor-preferences": {
								keys: "ctrl+shift+u",
								dependency: function dependency() {
									return isEditMode();
								}
							}
						};
					}
				},
				{
					key: "blockUserInteractions",
					value: function blockUserInteractions() {
						elementor.panel.$el.addClass("e-panel-block-interactions");
						_classPrivateFieldSet(_userInteractionsBlocked, this, true);
					}
				},
				{
					key: "unblockUserInteractions",
					value: function unblockUserInteractions() {
						elementor.panel.$el.removeClass("e-panel-block-interactions");
						_classPrivateFieldSet(_userInteractionsBlocked, this, false);
					}
				},
				{
					key: "isUserInteractionsBlocked",
					value: function isUserInteractionsBlocked() {
						return _classPrivateFieldGet(_userInteractionsBlocked, this);
					}
				}
			]);
		}(ComponentBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/component.js
	function _callSuper$4(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$4() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$4() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$2(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var Component$1;
	var init_component$1 = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		init_component_base$1();
		__name(_callSuper$4, "_callSuper");
		__name(_isNativeReflectConstruct$4, "_isNativeReflectConstruct");
		__name(_superPropGet$2, "_superPropGet");
		Component$1 = /*#__PURE__*/ function(_ComponentBase) {
			function Component() {
				_classCallCheck(this, Component);
				return _callSuper$4(this, Component, arguments);
			}
			_inherits(Component, _ComponentBase);
			return _createClass(Component, [
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "panel/elements";
					}
				},
				{
					key: "defaultTabs",
					value: function defaultTabs() {
						return {
							categories: { title: (0, _wordpress_i18n.__)("Elements", "elementor") },
							global: { title: (0, _wordpress_i18n.__)("Global", "elementor") }
						};
					}
				},
				{
					key: "getTabsWrapperSelector",
					value: function getTabsWrapperSelector() {
						return "#elementor-panel-elements-navigation";
					}
				},
				{
					key: "renderTab",
					value: function renderTab(tab) {
						var args = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
						this.manager.setPage("elements", null, args).showView(tab);
					}
				},
				{
					key: "activateTab",
					value: function activateTab(tab) {
						_superPropGet$2(Component, "activateTab", this, 3)([tab]);
						elementorCommon.eventsManager.dispatchEvent(elementorCommon.eventsManager.config.names.v1[tab], {
							location: elementorCommon.eventsManager.config.locations.widgetPanel,
							secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations[tab],
							trigger: elementorCommon.eventsManager.config.triggers.click,
							element: elementorCommon.eventsManager.config.elements.accordionSection
						});
					}
				}
			]);
		}(ComponentBase$1);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/editor/commands/open.js
	function _callSuper$3(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$3() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$3() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$3 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	var Open;
	var init_open = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_inherits();
		__name(_callSuper$3, "_callSuper");
		__name(_isNativeReflectConstruct$3, "_isNativeReflectConstruct");
		Open = /*#__PURE__*/ function(_$e$modules$CommandBa) {
			function Open() {
				_classCallCheck(this, Open);
				return _callSuper$3(this, Open, arguments);
			}
			_inherits(Open, _$e$modules$CommandBa);
			return _createClass(Open, [{
				key: "apply",
				value: function apply(args) {
					if (!this.component.setDefaultTab(args)) {
						elementorDevTools.deprecation.deprecated("model.trigger( 'request:edit' )", "2.9.0", "editSettings.defaultEditRoute");
						args.model.trigger("request:edit");
					} else $e.route(this.component.getDefaultRoute(), args);
					var elementType = args.model.get("elType");
					var widgetType = args.model.get("widgetType");
					elementor.hooks.doAction("panel/open_editor/".concat(elementType), this.component.manager, args.model, args.view);
					elementor.hooks.doAction("panel/open_editor/".concat(elementType, "/").concat(widgetType), this.component.manager, args.model, args.view);
				}
			}]);
		}($e.modules.CommandBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/editor/commands/index.js
	var commands_exports = /* @__PURE__ */ __exportAll({ Open: () => Open });
	var init_commands = __esmMin((() => {
		init_open();
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/editor/component.js
	function _callSuper$2(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct$2() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet$1(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var Component;
	var init_component = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		init_possibleConstructorReturn();
		init_getPrototypeOf();
		init_get();
		init_inherits();
		init_component_base();
		init_commands();
		init_hooks$1();
		__name(_callSuper$2, "_callSuper");
		__name(_isNativeReflectConstruct$2, "_isNativeReflectConstruct");
		__name(_superPropGet$1, "_superPropGet");
		Component = /*#__PURE__*/ function(_ComponentBase) {
			function Component() {
				_classCallCheck(this, Component);
				return _callSuper$2(this, Component, arguments);
			}
			_inherits(Component, _ComponentBase);
			return _createClass(Component, [
				{
					key: "__construct",
					value: function __construct(args) {
						_superPropGet$1(Component, "__construct", this, 3)([args]);
						this.activeTabs = {};
						this.activeModelId = null;
					}
				},
				{
					key: "getNamespace",
					value: function getNamespace() {
						return "panel/editor";
					}
				},
				{
					key: "defaultTabs",
					value: function defaultTabs() {
						return {
							content: { title: (0, _wordpress_i18n.__)("Content", "elementor") },
							style: { title: (0, _wordpress_i18n.__)("Style", "elementor") },
							advanced: { title: (0, _wordpress_i18n.__)("Advanced", "elementor") },
							layout: { title: (0, _wordpress_i18n.__)("Layout", "elementor") }
						};
					}
				},
				{
					key: "defaultCommands",
					value: function defaultCommands() {
						return this.importCommands(commands_exports);
					}
				},
				{
					key: "getTabsWrapperSelector",
					value: function getTabsWrapperSelector() {
						return ".elementor-panel-navigation";
					}
				},
				{
					key: "renderTab",
					value: function renderTab(tab, args) {
						var _model$attributes;
						var _model$changed;
						var model = args.model;
						var view = args.view;
						var activeControl = args.activeControl;
						var elementTitle = model !== null && model !== void 0 && (_model$attributes = model.attributes) !== null && _model$attributes !== void 0 && (_model$attributes = _model$attributes.custom) !== null && _model$attributes !== void 0 && _model$attributes.isPreset || model !== null && model !== void 0 && (_model$changed = model.changed) !== null && _model$changed !== void 0 && _model$changed.title ? model.attributes.title : elementor.getElementData(model).title;
						if (model.attributes.settings.attributes.presetTitle) elementTitle = model.attributes.settings.attributes.presetTitle;
						var title = (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n.__)("Edit %s", "elementor"), elementTitle);
						if (this.shouldRenderPage(tab, args.model.id)) {
							this.activeModelId = args.model.id;
							this.activeTabs[args.model.id] = tab;
							elementor.getPanelView().setPage("editor", title, {
								tab,
								model,
								controls: elementor.getElementControls(model),
								editedElementView: view
							});
						}
						this.activateControl(activeControl);
					}
				},
				{
					key: "shouldRenderPage",
					value: function shouldRenderPage(tab, modelId) {
						var currentPanelView = elementor.getPanelView();
						var isSamePage = "editor" === currentPanelView.getCurrentPageName();
						var isSameTab = tab === currentPanelView.getCurrentPageView().activeTab;
						var isEditingSameModel = modelId === this.activeModelId;
						return !isSamePage || !isSameTab || !isEditingSameModel;
					}
				},
				{
					key: "setDefaultTab",
					value: function setDefaultTab(args) {
						var defaultTab;
						var editSettings = args.model.get("editSettings");
						if (this.activeTabs[args.model.id]) defaultTab = this.activeTabs[args.model.id];
						else if (editSettings && editSettings.get("defaultEditRoute")) defaultTab = editSettings.get("defaultEditRoute");
						if (defaultTab) {
							var controlsTabs = elementor.getElementData(args.model).tabs_controls;
							if (!controlsTabs[defaultTab]) defaultTab = Object.keys(controlsTabs)[0];
							this.setDefaultRoute(defaultTab);
							return true;
						}
						return false;
					}
				},
				{
					key: "onRoute",
					value: function onRoute(route) {
						var routeArgs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
						_superPropGet$1(Component, "onRoute", this, 3)([route]);
						var view = routeArgs.view;
						if (!(view !== null && view !== void 0 && view.getContainer())) return;
						SetDirectionMode.set(view.getContainer());
					}
				},
				{
					key: "onCloseRoute",
					value: function onCloseRoute(route) {
						_superPropGet$1(Component, "onCloseRoute", this, 3)([route]);
						$e.uiStates.remove("document/direction-mode");
					}
				}
			]);
		}(ComponentBase);
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/edit-mode.js
	var require_edit_mode = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_environment();
		var EditModeItemView = Marionette.ItemView.extend({
			template: "#tmpl-elementor-mode-switcher-content",
			id: "elementor-mode-switcher-inner",
			ui: {
				previewButton: "#elementor-mode-switcher-preview-input",
				previewLabel: "#elementor-mode-switcher-preview",
				previewLabelIcon: "#elementor-mode-switcher-preview i",
				previewLabelA11yText: "#elementor-mode-switcher-preview .elementor-screen-only"
			},
			events: {
				"change @ui.previewButton": "onPreviewButtonChange",
				"keyup @ui.previewLabelIcon": "onPreviewButtonKeyUp"
			},
			initialize: function initialize() {
				this.listenTo(elementor.channels.dataEditMode, "switch", this.onEditModeChanged);
			},
			getCurrentMode: function getCurrentMode() {
				return this.ui.previewButton.is(":checked") ? "preview" : "edit";
			},
			setMode: function setMode(mode) {
				this.ui.previewButton.prop("checked", "preview" === mode).trigger("change");
			},
			toggleMode: function toggleMode() {
				this.setMode(this.ui.previewButton.prop("checked") ? "edit" : "preview");
			},
			onRender: function onRender() {
				this.onEditModeChanged();
			},
			onPreviewButtonKeyUp: function onPreviewButtonKeyUp(event) {
				if (13 === event.keyCode) {
					this.toggleMode();
					this.onPreviewButtonChange();
				}
			},
			onPreviewButtonChange: function onPreviewButtonChange() {
				var mode = this.getCurrentMode();
				if ("edit" === mode) $e.run("panel/open");
				else if ("preview" === mode) $e.run("panel/close");
				else throw Error("Invalid mode: '".concat(mode, "'"));
			},
			onEditModeChanged: function onEditModeChanged(activeMode) {
				var ctrlLabel = environment.mac ? "⌘" : "Ctrl";
				var text = "preview" === activeMode ? (0, _wordpress_i18n.__)("Show Panel", "elementor") : (0, _wordpress_i18n.__)("Hide Panel", "elementor");
				text += " (".concat(ctrlLabel, " + P)");
				this.ui.previewLabel.attr("title", text);
				this.ui.previewLabelA11yText.text(text);
			}
		});
		module.exports = EditModeItemView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/utils/is-widget-new.js
/**
	* Determines whether a widget should display the "New" badge in the panel.
	*
	* The badge shows when the current Elementor major.minor version is less than
	* or equal to the version the widget shipped in. Patch versions are ignored.
	*
	* @param {{ new_until_version?: string }} item           Widget config object.
	* @param {string}                         currentVersion Elementor version string (e.g. "4.3.1").
	* @return {boolean} Whether the "New" badge should be shown.
	*/
	function isWidgetNew(item, currentVersion) {
		var untilVersion = item.new_until_version;
		if (!untilVersion) return false;
		var _currentVersion$split2 = _slicedToArray(currentVersion.split(".").map(Number), 2);
		var curMajor = _currentVersion$split2[0];
		var curMinor = _currentVersion$split2[1];
		var _untilVersion$split$m2 = _slicedToArray(untilVersion.split(".").map(Number), 2);
		var untilMajor = _untilVersion$split$m2[0];
		var untilMinor = _untilVersion$split$m2[1];
		return curMajor < untilMajor || curMajor === untilMajor && curMinor <= untilMinor;
	}
	var init_is_widget_new = __esmMin((() => {
		init_slicedToArray();
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/models/element.js
	var require_element = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelElementsElementModel = Backbone.Model.extend({ defaults: {
			title: "",
			categories: [],
			keywords: [],
			icon: "",
			elType: "widget",
			widgetType: ""
		} });
		module.exports = PanelElementsElementModel;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/collections/categories.js
	var require_categories$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelElementsCategory = require_element();
		var PanelElementsCategoriesCollection = Backbone.Collection.extend({ model: PanelElementsCategory });
		module.exports = PanelElementsCategoriesCollection;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/collections/elements.js
	var require_elements$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelElementsElementModel = require_element();
		var PanelElementsElementsCollection = Backbone.Collection.extend({ model: PanelElementsElementModel });
		module.exports = PanelElementsElementsCollection;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/views/widget-creation.js
	var require_widget_creation = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelElementsWidgetCreationView;
		var TEMPLATES = {
			EMPTY_STATE: "#tmpl-elementor-panel-elements-widget-creation-empty-state",
			SEARCH_FOOTER: "#tmpl-elementor-panel-elements-widget-creation-search-footer"
		};
		var CREATE_WIDGET_PROMPT = "Create a widget for me.\nGoal: [What should this widget help me accomplish?]\nPlacement: [Where will I see it in the editor/UI?]\nHow it should work: ";
		PanelElementsWidgetCreationView = Marionette.ItemView.extend({
			getTemplate: function getTemplate() {
				return this.options.emptyResults ? TEMPLATES.EMPTY_STATE : TEMPLATES.SEARCH_FOOTER;
			},
			className: function className() {
				var baseClass = "elementor-panel-elements-widget-creation";
				var modifierClass = this.options.emptyResults ? "".concat(baseClass, "--empty-state") : "".concat(baseClass, "--search-footer");
				return "".concat(baseClass, " ").concat(modifierClass);
			},
			templateHelpers: function templateHelpers() {
				return { searchTerm: this.options.searchTerm || "" };
			},
			hasTemplate: function hasTemplate() {
				return !!jQuery(this.getTemplate()).length;
			},
			events: { "click .elementor-panel-elements-widget-creation__cta": "onCtaClick" },
			onCtaClick: function onCtaClick() {
				window.dispatchEvent(new CustomEvent("elementor/editor/create-widget", { detail: {
					prompt: CREATE_WIDGET_PROMPT,
					entry_point: "search_widget"
				} }));
			}
		});
		module.exports = PanelElementsWidgetCreationView;
		module.exports.CREATE_WIDGET_PROMPT = CREATE_WIDGET_PROMPT;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/views/category.js
	var require_category = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var CREATE_WIDGET_PROMPT = require_widget_creation().CREATE_WIDGET_PROMPT;
		var PanelElementsElementsCollection = require_elements$1();
		var PanelElementsCategoryView = Marionette.CompositeView.extend({
			template: "#tmpl-elementor-panel-elements-category",
			className: "elementor-panel-category",
			ui: {
				title: ".elementor-panel-category-title",
				items: ".elementor-panel-category-items",
				chip: ".elementor-panel-heading-category-chip"
			},
			events: {
				"click @ui.title": "onTitleClick",
				"click @ui.chip": "onChipClick",
				"click .elementor-panel-custom-widgets__cta": "onCustomWidgetsCtaClick",
				"click .elementor-panel-heading-promotion a": "onPromotionLinkClick"
			},
			id: function id() {
				return "elementor-panel-category-" + this.model.get("name");
			},
			childView: require_element$1(),
			childViewContainer: ".elementor-panel-category-items",
			initialize: function initialize() {
				var items = this.model.get("items") || [];
				switch (this.model.get("sort")) {
					case "a-z":
						items = items.sort(function(a, b) {
							return a.get("title") > b.get("title") ? 1 : -1;
						});
						break;
				}
				this.collection = new PanelElementsElementsCollection(items);
			},
			behaviors: function behaviors() {
				return elementor.hooks.applyFilters("panel/category/behaviors", {}, this);
			},
			onRender: function onRender() {
				var isActive = elementor.channels.panelElements.request("category:" + this.model.get("name") + ":active");
				if (void 0 === isActive) isActive = this.model.get("defaultActive");
				if (!this.collection.length && this.model.get("hideIfEmpty")) this.$el.css("display", "none");
				if (isActive) this.$el.addClass("elementor-active");
				else this.ui.items.css("display", "none");
			},
			onTitleClick: function onTitleClick() {
				var _elementorCommon$even;
				this.toggle();
				elementorCommon.eventsManager.dispatchEvent((_elementorCommon$even = elementorCommon.eventsManager.config.names[this.model.get("name")]) === null || _elementorCommon$even === void 0 ? void 0 : _elementorCommon$even.v1, {
					location: elementorCommon.eventsManager.config.locations.widgetPanel,
					secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations[this.model.get("name")],
					trigger: elementorCommon.eventsManager.config.triggers.accordionClick,
					element: elementorCommon.eventsManager.config.elements.accordionSection
				});
			},
			toggle: function toggle(state) {
				var animate = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
				var $items = this.ui.items;
				var activeClass = "elementor-active";
				var isActive = void 0 !== state ? !state : this.$el.hasClass(activeClass);
				var visibilityFn = isActive ? "hide" : "show";
				var slideFn = isActive ? "slideUp" : "slideDown";
				var updateScrollbar = function updateScrollbar() {
					return elementor.getPanelView().updateScrollbar();
				};
				elementor.channels.panelElements.reply("category:" + this.model.get("name") + ":active", !isActive);
				this.$el.toggleClass(activeClass, !isActive);
				if (animate) $items[slideFn](300, updateScrollbar);
				else $items[visibilityFn](0, updateScrollbar);
			},
			onChipClick: function onChipClick(event) {
				event.stopPropagation();
				document.dispatchEvent(new CustomEvent("alphachip:open", { detail: { target: this.$el } }));
			},
			onCustomWidgetsCtaClick: function onCustomWidgetsCtaClick(event) {
				event.stopPropagation();
				window.dispatchEvent(new CustomEvent("elementor/editor/create-widget", { detail: {
					prompt: CREATE_WIDGET_PROMPT,
					entry_point: "widgets_panel"
				} }));
			},
			onPromotionLinkClick: function onPromotionLinkClick(event) {
				event.stopPropagation();
			}
		});
		module.exports = PanelElementsCategoryView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/views/categories.js
	var require_categories = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelElementsCategoryView = require_category();
		var PanelElementsCategoriesView = Marionette.CompositeView.extend({
			template: "#tmpl-elementor-panel-categories",
			childView: PanelElementsCategoryView,
			childViewContainer: "#elementor-panel-categories",
			id: "elementor-panel-elements-categories",
			initialize: function initialize() {
				this.listenTo(elementor.channels.panelElements, "filter:change", this.onPanelElementsFilterChange);
			},
			onPanelElementsFilterChange: function onPanelElementsFilterChange() {
				if (elementor.channels.panelElements.request("filter:value")) elementor.getPanelView().getCurrentPageView().showView("elements");
			}
		});
		module.exports = PanelElementsCategoriesView;
	}));

//#endregion
//#region assets/dev/js/editor/utils/localized-value-store.js
	var LocalizedValueStore;
	var init_localized_value_store = __esmMin((() => {
		init_classCallCheck();
		init_createClass();
		LocalizedValueStore = /*#__PURE__*/ function() {
			function LocalizedValueStore() {
				_classCallCheck(this, LocalizedValueStore);
				this.store = [];
			}
			/**
			* Receives the incoming event and returns the stored localized value
			* English values will be returned as is
			* Paste will return an empty value
			*
			* @param event - the incoming event
			* @return string
			*/
			return _createClass(LocalizedValueStore, [
				{
					key: "appendAndParseLocalizedData",
					value: function appendAndParseLocalizedData(event) {
						if (this.isPaste(event)) this.resetStore();
						else if (this.isInputValueShorterThanStoreLength(event)) this.rebuildStore(event);
						else if (this.isLetter(event) || this.isSpace(event)) this.addCharToStore(event);
						return this.store.map(function(x) {
							return x.localized;
						}).join("");
					}
				},
				{
					key: "resetStore",
					value: function resetStore() {
						this.store = [];
					}
				},
				{
					key: "isPaste",
					value: function isPaste(event) {
						var PASTE_EVENT = "insertFromPaste";
						var KEY_V = "KeyV";
						var originalEventPaste = PASTE_EVENT === event.originalEvent.inputType;
						var ctrlPlusV = event.code === KEY_V && event.ctrlKey;
						return originalEventPaste || ctrlPlusV;
					}
				},
				{
					key: "isInputValueShorterThanStoreLength",
					value: function isInputValueShorterThanStoreLength(event) {
						var _event$target$value;
						return ((_event$target$value = event.target.value) === null || _event$target$value === void 0 ? void 0 : _event$target$value.length) < this.store.length;
					}
				},
				{
					key: "addCharToStore",
					value: function addCharToStore(event) {
						var localizedValue = String.fromCharCode(event.keyCode);
						if (!this.localizationRequired(localizedValue, event)) localizedValue = event.originalEvent.key;
						this.store.push({
							original: event.originalEvent.key,
							localized: localizedValue
						});
					}
				},
				{
					key: "localizationRequired",
					value: function localizationRequired(localizedValue, event) {
						return localizedValue.toLowerCase() !== event.originalEvent.key.toLowerCase();
					}
				},
				{
					key: "isSpace",
					value: function isSpace(event) {
						return 32 === event.keyCode || " " === event.originalEvent.data;
					}
				},
				{
					key: "isLetter",
					value: function isLetter(event) {
						return event.keyCode >= 65 && event.keyCode <= 90;
					}
				},
				{
					key: "rebuildStore",
					value: function rebuildStore(event) {
						var _this = this;
						var chars = event.target.value.split("");
						this.store = chars.map(function(char) {
							return _this.buildLocalizationElement(char);
						});
					}
				},
				{
					key: "buildLocalizationElement",
					value: function buildLocalizationElement(char) {
						return {
							original: char,
							localized: this.store.find(function(element) {
								return element.original === char;
							}).localized
						};
					}
				}
			]);
		}();
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/views/search.js
	var require_search = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_localized_value_store();
		init_editor_one_events();
		var WIDGET_PANEL_SEARCH_DEBOUNCE_MS = 2e3;
		var PanelElementsSearchView = Marionette.ItemView.extend({
			template: "#tmpl-elementor-panel-element-search",
			localizedValue: "",
			localizedValueStore: new LocalizedValueStore(),
			debouncedTrackSearch: null,
			tagName: "search",
			id: "elementor-panel-elements-search-wrapper",
			ui: { input: "input" },
			events: {
				"keydown @ui.input": "onInputChanged",
				"input @ui.input": "onInputChanged"
			},
			initialize: function initialize() {
				this.debouncedTrackSearch = createDebouncedWidgetPanelSearch(WIDGET_PANEL_SEARCH_DEBOUNCE_MS);
			},
			clearInput: function clearInput() {
				this.ui.input.val("");
			},
			getVisibleWidgetsCount: function getVisibleWidgetsCount() {
				return jQuery("#elementor-panel-elements").find(".elementor-element:visible").length;
			},
			trackWidgetSearch: function trackWidgetSearch() {
				var _this = this;
				var userInput = this.ui.input.val();
				if (!userInput) return;
				setTimeout(function() {
					var resultsCount = _this.getVisibleWidgetsCount();
					_this.debouncedTrackSearch(resultsCount, userInput);
				}, 100);
			},
			onInputChanged: function onInputChanged(event) {
				if (27 === event.keyCode) this.clearInput();
				this.localizedValue = this.localizedValueStore.appendAndParseLocalizedData(event);
				elementor.channels.panelElements.reply("filter:localized", this.localizedValue);
				this.triggerMethod("search:change:input");
				this.trackWidgetSearch();
			},
			onDestroy: function onDestroy() {
				var _this$debouncedTrackS;
				if ((_this$debouncedTrackS = this.debouncedTrackSearch) !== null && _this$debouncedTrackS !== void 0 && _this$debouncedTrackS.cancel) this.debouncedTrackSearch.cancel();
			}
		});
		module.exports = PanelElementsSearchView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/elements/elements.js
	var require_elements = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_typeof();
		init_defineProperty();
		init_slicedToArray();
		init_is_widget_new();
		function ownKeys(e, r) {
			var t = Object.keys(e);
			if (Object.getOwnPropertySymbols) {
				var o = Object.getOwnPropertySymbols(e);
				r && (o = o.filter(function(r) {
					return Object.getOwnPropertyDescriptor(e, r).enumerable;
				})), t.push.apply(t, o);
			}
			return t;
		}
		function _objectSpread(e) {
			for (var r = 1; r < arguments.length; r++) {
				var t = null != arguments[r] ? arguments[r] : {};
				r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
					_defineProperty(e, r, t[r]);
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
					Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
				});
			}
			return e;
		}
		var PanelElementsCategoriesCollection = require_categories$1();
		var PanelElementsElementsCollection = require_elements$1();
		var PanelElementsCategoriesView = require_categories();
		var PanelElementsElementsView = elementor.modules.layouts.panel.pages.elements.views.Elements;
		var PanelElementsGlobalView = require_global();
		var PanelElementsSearchView = require_search();
		var PanelElementsWidgetCreationView = require_widget_creation();
		var PanelElementsLayoutView;
		function elementorIsAngieIframeInDocument() {
			return !!document.querySelector("iframe[src*=\"angie/\"]");
		}
		PanelElementsLayoutView = Marionette.LayoutView.extend({
			template: "#tmpl-elementor-panel-elements",
			id: "elementor-panel-page-elements",
			options: { autoFocusSearch: true },
			regions: {
				elements: "#elementor-panel-elements-wrapper",
				widgetCreation: "#elementor-panel-elements-widget-creation-area",
				search: "#elementor-panel-elements-search-area",
				notice: "#elementor-panel-elements-notice-area"
			},
			regionViews: {},
			elementsCollection: null,
			categoriesCollection: null,
			initialize: function initialize() {
				this.listenTo(elementor.channels.panelElements, "element:selected", this.destroy);
				this.initElementsCollection();
				this.initCategoriesCollection();
				this.initRegionViews();
			},
			initRegionViews: function initRegionViews() {
				var regionViews = {
					elements: {
						region: this.elements,
						view: PanelElementsElementsView,
						options: { collection: this.elementsCollection }
					},
					categories: {
						region: this.elements,
						view: PanelElementsCategoriesView,
						options: { collection: this.categoriesCollection }
					},
					search: {
						region: this.search,
						view: PanelElementsSearchView
					},
					global: {
						region: this.elements,
						view: PanelElementsGlobalView
					}
				};
				this.regionViews = elementor.hooks.applyFilters("panel/elements/regionViews", regionViews, {
					notice: this.notice,
					elements: this.elements,
					search: this.search
				});
			},
			initElementsCollection: function initElementsCollection() {
				var _this = this;
				var elementsCollection = new PanelElementsElementsCollection();
				Object.entries(elementor.widgetsCache).forEach(function(_ref) {
					var _ref2 = _slicedToArray(_ref, 2);
					var widgetName = _ref2[0];
					var widgetData = _ref2[1];
					if (widgetData.deprecation && elementor.widgetsCache[widgetData.deprecation.replacement]) elementor.widgetsCache[widgetName].show_in_panel = false;
				});
				_.each(elementor.widgetsCache, function(widget) {
					if (elementor.config.document.panel.widgets_settings[widget.widget_type]) widget = _.extend(widget, elementor.config.document.panel.widgets_settings[widget.widget_type]);
					if (!_this.shouldAddWidget(widget)) return;
					elementsCollection.add(_this.getCollectionItem(widget));
				});
				jQuery.each(elementor.config.promotionWidgets, function(index, widget) {
					elementsCollection.add({
						name: widget.name,
						title: widget.title,
						icon: widget.icon,
						categories: JSON.parse(widget.categories),
						editable: false
					});
				});
				(elementor.config.atomicWidgetPromotions || []).forEach(function(_ref3) {
					var type = _ref3.type;
					(_ref3.widgets || []).forEach(function(widget) {
						elementsCollection.add({
							name: widget.name,
							title: widget.title,
							icon: widget.icon,
							categories: JSON.parse(widget.categories),
							editable: false,
							promotionType: type,
							widgetType: widget.name
						});
					});
				});
				if (elementor.config.integrationWidgets) {
					var injectionPoint = elementsCollection.findIndex({ widgetType: "image-carousel" }) + 1;
					jQuery.each(elementor.config.integrationWidgets, function(index, widget) {
						elementsCollection.add({
							name: widget.name,
							title: widget.title,
							icon: widget.icon,
							categories: JSON.parse(widget.categories),
							editable: false,
							integration: true,
							keywords: widget.keywords || []
						}, { at: injectionPoint });
					});
				}
				if (elementorCommon.config.experimentalFeatures.container) jQuery.each(elementor.config.elementsPresets, function(index, widget) {
					var originalWidget = elementor.widgetsCache[widget.replacements.custom.originalWidget];
					if (!originalWidget) return;
					var replacements = widget.replacements;
					var presetWidget = _this.deepMerge(originalWidget, replacements);
					if (!_this.shouldAddWidget(presetWidget)) return;
					elementsCollection.add(_this.getCollectionItem(presetWidget));
				});
				this.elementsCollection = elementsCollection;
			},
			isWidgetNew: /* @__PURE__ */ __name(function isWidgetNew$1(item) {
				return isWidgetNew(item, elementor.config.version);
			}, "isWidgetNew"),
			getCollectionItem: function getCollectionItem(item) {
				return {
					title: item.title,
					elType: item.elType,
					categories: item.categories,
					keywords: item.keywords,
					icon: item.icon,
					widgetType: item.widget_type,
					custom: item.custom,
					editable: item.editable,
					hideOnSearch: item.hide_on_search,
					isNew: this.isWidgetNew(item),
					atomic: !!item.atomic
				};
			},
			initCategoriesCollection: function initCategoriesCollection() {
				var categories = {};
				this.elementsCollection.each(function(element) {
					_.each(element.get("categories"), function(category) {
						if (!categories[category]) categories[category] = [];
						categories[category].push(element);
					});
				});
				var categoriesCollection = new PanelElementsCategoriesCollection();
				_.each(elementor.config.document.panel.elements_categories, function(categoryConfig, categoryName) {
					var _categoryConfig$promo;
					if ("undefined" === typeof categoryConfig.active) categoryConfig.active = true;
					if ("undefined" === typeof categoryConfig.icon) categoryConfig.icon = "font";
					categoriesCollection.add({
						name: categoryName,
						title: categoryConfig.title,
						icon: categoryConfig.icon,
						defaultActive: categoryConfig.active,
						sort: categoryConfig.sort,
						hideIfEmpty: void 0 !== categoryConfig.hideIfEmpty ? categoryConfig.hideIfEmpty : true,
						items: categories[categoryName],
						promotion: (_categoryConfig$promo = categoryConfig.promotion) !== null && _categoryConfig$promo !== void 0 ? _categoryConfig$promo : null
					});
				});
				this.categoriesCollection = categoriesCollection;
			},
			shouldAddWidget: function shouldAddWidget(widget) {
				var isContainerActive = elementorCommon.config.experimentalFeatures.container;
				return widget.show_in_panel && ("inner-section" !== widget.name || !isContainerActive);
			},
			deepMerge: function deepMerge(originalObj, replacementObj) {
				var mergedObj = _objectSpread({}, originalObj);
				for (var key in replacementObj) this.deepMergeKey(mergedObj, originalObj, replacementObj, key);
				return mergedObj;
			},
			deepMergeKey: function deepMergeKey(mergedObj, originalObj, replacementObj, key) {
				if (!replacementObj.hasOwnProperty(key)) return;
				if ("object" === _typeof(replacementObj[key]) && null !== replacementObj[key] && originalObj.hasOwnProperty(key) && "object" === _typeof(originalObj[key]) && null !== originalObj[key]) mergedObj[key] = this.deepMerge(originalObj[key], replacementObj[key]);
				else mergedObj[key] = replacementObj[key];
			},
			showView: function showView(viewName) {
				if (!$e.components.get("document/elements").utils.allowAddingWidgets()) return;
				var viewDetails = this.regionViews[viewName];
				var options = viewDetails.options || {};
				viewDetails.region.show(new viewDetails.view(options));
				if ("elements" === viewName) this.appendStickyPromotion();
			},
			appendStickyPromotion: function appendStickyPromotion() {
				if (this.$("#elementor-panel-get-pro-elements-sticky").length) return;
				var html = Marionette.Renderer.render("#tmpl-elementor-panel-element-sticky-promotion", {}).trim();
				if (html) this.$el.append(html);
			},
			clearSearchInput: function clearSearchInput() {
				this.getChildView("search").clearInput();
			},
			changeFilter: function changeFilter(filterValue) {
				elementor.channels.panelElements.reply("filter:value", filterValue).trigger("filter:change");
			},
			clearFilters: function clearFilters() {
				this.changeFilter(null);
				this.clearSearchInput();
			},
			focusSearch: function focusSearch() {
				if (!elementor.userCan("design") || !this.search || !this.search.currentView) return;
				this.search.currentView.ui.input.trigger("focus");
			},
			onChildviewChildrenRender: function onChildviewChildrenRender() {
				this.updateWidgetCreation();
				elementor.getPanelView().updateScrollbar();
			},
			onChildviewSearchChangeInput: function onChildviewSearchChangeInput(child) {
				this.changeFilter(child.ui.input.val(), "search");
			},
			updateWidgetCreation: function updateWidgetCreation() {
				var filterValue = elementor.channels.panelElements.request("filter:value");
				if (!filterValue) {
					this.widgetCreation.empty();
					return;
				}
				var isAngiePresent = elementorIsAngieIframeInDocument();
				var isAdministrator = elementor.config.user.is_administrator;
				if (!isAngiePresent && !isAdministrator) {
					this.widgetCreation.empty();
					return;
				}
				var elementsView = this.elements.currentView;
				if (!elementsView || !(elementsView instanceof PanelElementsElementsView)) {
					this.widgetCreation.empty();
					return;
				}
				var widgetCreationView = new PanelElementsWidgetCreationView({
					emptyResults: 0 === elementsView.children.length,
					searchTerm: filterValue
				});
				if (!widgetCreationView.hasTemplate()) {
					this.widgetCreation.empty();
					return;
				}
				this.widgetCreation.show(widgetCreationView);
			},
			onDestroy: function onDestroy() {
				elementor.channels.panelElements.reply("filter:value", null);
			},
			onShow: function onShow() {
				this.showView("search");
				if (this.options.autoFocusSearch) setTimeout(this.focusSearch.bind(this));
			}
		});
		module.exports = PanelElementsLayoutView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/pages/editor.js
	var require_editor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var ControlsStack = elementorModules.editor.views.ControlsStack;
		var EditorView = ControlsStack.extend({
			template: Marionette.TemplateCache.get("#tmpl-editor-content"),
			id: "elementor-panel-page-editor",
			childViewContainer: "#elementor-controls",
			childViewOptions: function childViewOptions() {
				return {
					element: this.getOption("editedElementView"),
					container: this.getOption("editedElementView").getContainer(),
					elementSettingsModel: this.model.get("settings"),
					elementEditSettings: this.model.get("editSettings")
				};
			},
			getNamespaceArray: function getNamespaceArray() {
				var eventNamespace = elementorModules.editor.views.ControlsStack.prototype.getNamespaceArray();
				var model = this.getOption("editedElementView").getEditModel();
				var currentElementType = model.get("elType");
				eventNamespace.push(currentElementType);
				if ("widget" === currentElementType) eventNamespace.push(model.get("widgetType"));
				return eventNamespace;
			},
			initialize: function initialize() {
				ControlsStack.prototype.initialize.apply(this, arguments);
				var editSettings = this.model.get("editSettings");
				if (editSettings) {
					var panelSettings = editSettings.get("panel");
					if (panelSettings) {
						this.activeTab = panelSettings.activeTab;
						this.activeSection = panelSettings.activeSection;
					}
				}
			},
			activateSection: function activateSection() {
				ControlsStack.prototype.activateSection.apply(this, arguments);
				this.model.get("editSettings").set("panel", {
					activeTab: this.activeTab,
					activeSection: this.activeSection
				});
				return this;
			},
			openActiveSection: function openActiveSection() {
				ControlsStack.prototype.openActiveSection.apply(this, arguments);
				elementor.channels.editor.trigger("section:activated", this.activeSection, this);
			},
			isVisibleSectionControl: function isVisibleSectionControl(sectionControlModel) {
				return ControlsStack.prototype.isVisibleSectionControl.apply(this, arguments) && elementor.helpers.isActiveControl(sectionControlModel, this.model.get("settings").attributes, this.model.get("settings").controls);
			},
			scrollToEditedElement: function scrollToEditedElement() {
				elementor.helpers.scrollToView(this.getOption("editedElementView").$el);
			},
			onDestroy: function onDestroy() {
				this.model.trigger("editor:close");
				this.triggerMethod("editor:destroy");
			},
			onDeviceModeChange: function onDeviceModeChange() {
				ControlsStack.prototype.onDeviceModeChange.apply(this, arguments);
				this.scrollToEditedElement();
			},
			onChildviewSettingsChange: function onChildviewSettingsChange(childView) {
				var editedElementView = this.getOption("editedElementView");
				var editedElementType = editedElementView.model.get("elType");
				if ("widget" === editedElementType) editedElementType = editedElementView.model.get("widgetType");
				elementor.channels.editor.trigger("change", childView, editedElementView).trigger("change:" + editedElementType, childView, editedElementView).trigger("change:" + editedElementType + ":" + childView.model.get("name"), childView, editedElementView);
			}
		});
		module.exports = EditorView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/header.js
	var require_header = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var PanelHeaderItemView = Marionette.ItemView.extend({
			template: "#tmpl-elementor-panel-header",
			id: "elementor-panel-header",
			ui: {
				menuButton: "#elementor-panel-header-menu-button",
				menuIcon: "#elementor-panel-header-menu-button i",
				title: "#elementor-panel-header-title",
				addButton: "#elementor-panel-header-add-button"
			},
			events: {
				"click @ui.addButton": "onClickAdd",
				"click @ui.menuButton": "onClickMenu"
			},
			behaviors: function behaviors() {
				return elementor.hooks.applyFilters("panel/header/behaviors", {}, this);
			},
			setTitle: function setTitle(title) {
				this.ui.title.html(title);
			},
			onClickAdd: function onClickAdd() {
				$e.route("panel/elements/categories");
			},
			onClickMenu: function onClickMenu() {
				if ($e.routes.is("panel/menu")) $e.route("panel/elements/categories");
				else $e.route("panel/menu");
			}
		});
		module.exports = PanelHeaderItemView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/footer-back-compat.js
	var require_footer_back_compat = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		/**
		* Back-compat stub for the removed Editor v1 panel footer (ED-24856).
		*
		* Elementor Pro < 4.3 still hooks Theme Builder / Popup UI through
		* `elementor.getPanelView().footer.currentView`. Without this stub, opening
		* those documents throws and leaves the editor stuck loading (ED-25418).
		*/
		var StubFooterSaverBehavior = Marionette.Behavior.extend({
			ui: function ui() {
				return { buttonPreview: ".elementor-panel-footer-back-compat-preview" };
			},
			onRender: function onRender() {
				var _this = this;
				if (!this.ui.buttonPreview.tipsy) this.ui.buttonPreview.tipsy = function() {
					return _this.ui.buttonPreview;
				};
			}
		});
		module.exports = Marionette.ItemView.extend({
			template: "#tmpl-elementor-panel-footer-back-compat",
			className: "elementor-panel-footer-back-compat",
			attributes: { "aria-hidden": "true" },
			ui: {},
			initialize: function initialize() {
				this.ui = this.ui || {};
			},
			behaviors: function behaviors() {
				return { saver: { behaviorClass: StubFooterSaverBehavior } };
			},
			onRender: function onRender() {
				var _this$_behaviors;
				var _behavior$ui;
				var saverIndex = Object.keys(this.behaviors()).indexOf("saver");
				var behavior = (_this$_behaviors = this._behaviors) === null || _this$_behaviors === void 0 ? void 0 : _this$_behaviors[saverIndex];
				if (behavior !== null && behavior !== void 0 && (_behavior$ui = behavior.ui) !== null && _behavior$ui !== void 0 && (_behavior$ui = _behavior$ui.buttonPreview) !== null && _behavior$ui !== void 0 && _behavior$ui.length && !behavior.ui.buttonPreview.tipsy) behavior.ui.buttonPreview.tipsy = function() {
					return behavior.ui.buttonPreview;
				};
			},
			addSubMenuItem: function addSubMenuItem(subMenuName, itemData) {
				var $newItem = jQuery("<div>", {
					id: "elementor-panel-footer-sub-menu-item-" + itemData.name,
					class: "elementor-panel-footer-sub-menu-item"
				});
				if (itemData.callback) $newItem.on("click", itemData.callback);
				return $newItem;
			},
			removeSubMenuItem: function removeSubMenuItem(subMenuName, itemData) {
				return jQuery("#elementor-panel-footer-sub-menu-item-" + itemData.name).remove();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/layout.js
	var require_layout = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		init_component$2();
		init_component$1();
		init_component();
		init_keyboard_nav();
		var EditModeItemView = require_edit_mode();
		var PanelLayoutView;
		PanelLayoutView = Marionette.LayoutView.extend({
			template: "#tmpl-elementor-panel",
			id: "elementor-panel-inner",
			regions: {
				content: "#elementor-panel-content-wrapper",
				header: "#elementor-panel-header-wrapper",
				footer: "#elementor-panel-footer",
				modeSwitcher: "#elementor-mode-switcher"
			},
			pages: {},
			events: { keydown: "onKeyDown" },
			childEvents: {
				"click:add": function clickAdd() {
					$e.route("panel/elements/categories");
				},
				"editor:destroy": function editorDestroy() {
					$e.route("panel/elements/categories", { autoFocusSearch: false });
				}
			},
			currentPageName: null,
			currentPageView: null,
			perfectScrollbar: null,
			initialize: function initialize() {
				$e.components.register(new Component$2({ manager: this }));
				$e.internal("panel/state-loading");
				$e.components.register(new Component$1({ manager: this }));
				$e.components.register(new Component({ manager: this }));
				this.initPages();
			},
			buildPages: function buildPages() {
				return {
					elements: {
						view: require_elements(),
						title: "<img src=\"" + elementorCommon.config.urls.assets + "images/logo-panel.svg\">"
					},
					editor: { view: require_editor() },
					menu: {
						view: elementor.modules.layouts.panel.pages.menu.Menu,
						title: "<img src=\"" + elementorCommon.config.urls.assets + "images/logo-panel.svg\">"
					}
				};
			},
			initPages: function initPages() {
				var pages;
				this.getPages = function(page) {
					if (!pages) pages = this.buildPages();
					return page ? pages[page] : pages;
				};
				this.addPage = function(pageName, pageData) {
					if (!pages) pages = this.buildPages();
					pages[pageName] = pageData;
				};
			},
			getHeaderView: function getHeaderView() {
				return this.getChildView("header");
			},
			getCurrentPageName: function getCurrentPageName() {
				return this.currentPageName;
			},
			getCurrentPageView: function getCurrentPageView() {
				return this.currentPageView;
			},
			setPage: function setPage(page, title, viewOptions) {
				var pages = this.getPages();
				if ("elements" === page && !elementor.userCan("design")) {
					if (pages.page_settings) page = "page_settings";
				}
				var pageData = pages[page];
				if (!pageData) throw new ReferenceError("Elementor panel doesn't have page named '" + page + "'");
				if (pageData.options) viewOptions = _.extend(pageData.options, viewOptions);
				var View = pageData.view;
				if (pageData.getView) View = pageData.getView();
				this.currentPageName = page;
				this.currentPageView = new View(viewOptions);
				this.showChildView("content", this.currentPageView);
				this.getHeaderView().setTitle(title || pageData.title);
				this.trigger("set:page", this.currentPageView).trigger("set:page:" + page, this.currentPageView);
				if (elementor.promotion.dialog) elementor.promotion.dialog.hide();
				return this.currentPageView;
			},
			onKeyDown: function onKeyDown(event) {
				escapeFromPanelField(event, this.el);
			},
			onBeforeShow: function onBeforeShow() {
				var PanelHeaderItemView = require_header();
				var PanelFooterBackCompatView = require_footer_back_compat();
				this.showChildView("modeSwitcher", new EditModeItemView());
				this.showChildView("header", new PanelHeaderItemView());
				this.showChildView("footer", new PanelFooterBackCompatView());
				this.updateScrollbar = _.throttle(this.updateScrollbar, 100);
				this.getRegion("content").on("before:show", this.onEditorBeforeShow.bind(this)).on("empty", this.onEditorEmpty.bind(this)).on("show", this.updateScrollbar.bind(this));
			},
			onEditorBeforeShow: function onEditorBeforeShow() {
				_.defer(this.updateScrollbar.bind(this));
			},
			onEditorEmpty: function onEditorEmpty() {
				this.updateScrollbar();
			},
			updateScrollbar: function updateScrollbar() {
				if (!this.perfectScrollbar) {
					this.perfectScrollbar = new PerfectScrollbar(this.content.el, { suppressScrollX: true });
					this.perfectScrollbar.isRtl = false;
					return;
				}
				this.perfectScrollbar.update();
			}
		});
		module.exports = PanelLayoutView;
	}));

//#endregion
//#region assets/dev/js/editor/regions/panel/panel.js
	var require_panel = /* @__PURE__ */ __commonJSMin(((exports, module) => {
		var BaseRegion = require_base$1();
		module.exports = BaseRegion.extend({
			el: "#elementor-panel",
			getStorageKey: function getStorageKey() {
				return "panel";
			},
			getDefaultStorage: function getDefaultStorage() {
				return { size: { width: "" } };
			},
			constructor: function constructor() {
				BaseRegion.prototype.constructor.apply(this, arguments);
				var PanelLayoutView = require_layout();
				this.show(new PanelLayoutView());
				this.resizable();
				this.setSize();
				this.listenTo(elementor.channels.dataEditMode, "switch", this.onEditModeSwitched);
			},
			setSize: function setSize() {
				var savedWidth = this.storage.size.width;
				elementorCommon.elements.$body.css("--e-editor-panel-width", savedWidth);
			},
			resizable: function resizable() {
				var self = this;
				self.$el.resizable({
					handles: elementorCommon.config.isRTL ? "w" : "e",
					minWidth: 250,
					maxWidth: 680,
					start: function start() {
						elementor.$previewWrapper.addClass("ui-resizable-resizing");
					},
					stop: function stop(event, ui) {
						elementor.$previewWrapper.removeClass("ui-resizable-resizing");
						elementor.getPanelView().updateScrollbar();
						self.saveSize({ width: ui.size.width + "px" });
					},
					resize: function resize(event, ui) {
						elementorCommon.elements.$body.css("--e-editor-panel-width", ui.size.width + "px");
						self.$el.css({
							width: "",
							left: ""
						});
					}
				});
			},
			onEditModeSwitched: function onEditModeSwitched(activeMode) {
				if ("edit" !== activeMode) return;
				this.setSize();
			}
		});
	}));

//#endregion
//#region assets/dev/js/editor/editor-base.js
	init_slicedToArray();
	init_typeof();
	init_asyncToGenerator();
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_inherits();
	init_defineProperty();
	init_environment();
	init_element_base();
	function ownKeys(e, r) {
		var t = Object.keys(e);
		if (Object.getOwnPropertySymbols) {
			var o = Object.getOwnPropertySymbols(e);
			r && (o = o.filter(function(r) {
				return Object.getOwnPropertyDescriptor(e, r).enumerable;
			})), t.push.apply(t, o);
		}
		return t;
	}
	function _objectSpread(e) {
		for (var r = 1; r < arguments.length; r++) {
			var t = null != arguments[r] ? arguments[r] : {};
			r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
				_defineProperty(e, r, t[r]);
			}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
				Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
			});
		}
		return e;
	}
	function _callSuper$1(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	__name(_callSuper$1, "_callSuper");
	function _isNativeReflectConstruct$1() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct$1 = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	__name(_isNativeReflectConstruct$1, "_isNativeReflectConstruct");
	/**
	* @typedef {import('./container/container')} Container
	*/
	var EditorBase = /*#__PURE__*/ function(_Marionette$Applicati) {
		function EditorBase() {
			var _this;
			_classCallCheck(this, EditorBase);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
			_this = _callSuper$1(this, EditorBase, [].concat(args));
			_defineProperty(_this, "widgetsCache", {});
			_defineProperty(_this, "config", {});
			_defineProperty(_this, "loaded", false);
			_defineProperty(_this, "previewLoadedOnce", false);
			_defineProperty(_this, "activeBreakpointsUpdated", false);
			_defineProperty(_this, "helpers", require_helpers());
			_defineProperty(_this, "imagesManager", require_images_manager());
			_defineProperty(_this, "presetsFactory", require_presets_factory());
			_defineProperty(_this, "templates", require_manager$3());
			_defineProperty(_this, "ajax", elementorCommon.ajax);
			_defineProperty(_this, "conditions", new ControlConditions());
			_defineProperty(_this, "history", (init_module(), __toCommonJS(module_exports)));
			_defineProperty(_this, "hints", new Ally());
			_defineProperty(_this, "channels", {
				editor: Backbone.Radio.channel("ELEMENTOR:editor"),
				data: Backbone.Radio.channel("ELEMENTOR:data"),
				panelElements: Backbone.Radio.channel("ELEMENTOR:panelElements"),
				dataEditMode: Backbone.Radio.channel("ELEMENTOR:editmode"),
				deviceMode: Backbone.Radio.channel("ELEMENTOR:deviceMode"),
				templates: Backbone.Radio.channel("ELEMENTOR:templates"),
				responsivePreview: Backbone.Radio.channel("ELEMENTOR:responsivePreview")
			});
			_defineProperty(_this, "backgroundClickListeners", {
				tooltip: {
					element: ".dialog-tooltip-widget",
					ignore: ".dialog-widget, .elementor-controls-popover, .pcr-selection"
				},
				popover: {
					element: ".elementor-controls-popover",
					ignore: ".elementor-control-popover-toggle-toggle, .elementor-control-popover-toggle-toggle-label, .select2-container, .pcr-app, .dialog-tooltip-widget"
				},
				globalControlsSelect: {
					element: ".e-global__popover",
					ignore: ".e-global__popover-toggle"
				},
				tagsList: {
					element: ".elementor-tags-list",
					ignore: ".elementor-control-dynamic-switcher"
				},
				panelResponsiveSwitchers: {
					element: ".elementor-control-responsive-switchers",
					callback: function callback($elementsToHide) {
						$elementsToHide.removeClass("elementor-responsive-switchers-open");
					}
				},
				panelUnitControlSwitchers: {
					element: ".e-units-choices",
					callback: function callback($elementsToHide) {
						$elementsToHide.removeClass("e-units-choices-open");
					}
				},
				promotion: {
					ignore: ".elementor-responsive-panel",
					callback: function callback() {
						var dialog = elementor.promotion.dialog;
						if (dialog) dialog.hide();
					}
				}
			});
			/**
			* Exporting modules that can be used externally
			* TODO: All of the following entries should move to `elementorModules.editor`
			*/
			_defineProperty(_this, "modules", {
				/**
				* @deprecated since 2.3.0, use `elementorModules.Module` instead.
				*/
				get Module() {
					elementorDevTools.deprecation.deprecated("elementor.modules.Module", "2.3.0", "elementorModules.Module");
					return elementorModules.Module;
				},
				components: {
					templateLibrary: { views: { 
					/**
					* @deprecated since 2.4.0, use `lementorModules.common.views.modal.Layout` instead.
					*/
get BaseModalLayout() {
						elementorDevTools.deprecation.deprecated("elementor.modules.components.templateLibrary.views.BaseModalLayout", "2.4.0", "elementorModules.common.views.modal.Layout");
						return elementorModules.common.views.modal.Layout;
					} } },
					saver: { behaviors: { FooterSaver: require_footer_saver() } }
				},
				saver: { 
				/**
				* @deprecated since 2.9.0, use `elementor.modules.components.saver.behaviors.FooterSaver` instead.
				*/
get footerBehavior() {
					elementorDevTools.deprecation.deprecated("elementor.modules.saver.footerBehavior.", "2.9.0", "elementor.modules.components.saver.behaviors.FooterSaver");
					return elementor.modules.components.saver.behaviors.FooterSaver;
				} },
				controls: {
					Animation: require_select2(),
					Base: require_base$3(),
					BaseData: require_base_data(),
					BaseMultiple: require_base_multiple(),
					Box_shadow: require_box_shadow(),
					Button: require_button(),
					Choose: require_choose(),
					Visual_choice: require_visual_choice(),
					Code: require_code(),
					Color: _default$29,
					Date_time: _default$28,
					Dimensions: require_dimensions(),
					Exit_animation: require_select2(),
					Font: require_font(),
					Gaps: require_gaps(),
					Gallery: require_gallery(),
					Hidden: require_hidden(),
					Hover_animation: require_select2(),
					Icon: require_icon(),
					Icons: require_icons(),
					Image_dimensions: require_image_dimensions(),
					Media: require_media(),
					Notice: require_notice(),
					Number: require_number(),
					Popover_toggle: ControlPopoverStarterView,
					Repeater: require_repeater(),
					RepeaterRow: require_repeater_row(),
					Section: require_section(),
					Select: require_select(),
					Select2: require_select2(),
					Slider: require_slider(),
					Structure: require_structure(),
					Switcher: require_switcher(),
					Tab: require_tab(),
					Text_shadow: require_box_shadow(),
					Url: require_url(),
					Wp_widget: require_wp_widget(),
					Wysiwyg: require_wysiwyg()
				},
				elements: {
					types: _objectSpread({ Base: ElementBase }, types_exports),
					models: {
						/**
						* @deprecated since 2.4.0, use `elementorModules.editor.elements.models.BaseSettings` instead.
						*/
						get BaseSettings() {
							elementorDevTools.deprecation.deprecated("elementor.modules.elements.models.BaseSettings", "2.4.0", "elementorModules.editor.elements.models.BaseSettings");
							return elementorModules.editor.elements.models.BaseSettings;
						},
						Element: require_element$2()
					},
					views: {
						BaseElement: require_base$2(),
						BaseWidget: require_base_widget(),
						Widget: require_widget()
					},
					components: { AddSectionView: (init_inline(), __toCommonJS(inline_exports)).default }
				},
				layouts: { panel: { pages: {
					elements: { views: {
						Global: require_global(),
						Elements: require_elements$2()
					} },
					menu: { Menu: PanelMenu$1 }
				} } },
				views: { 
				/**
				* @deprecated since 2.4.0, use `elementorModules.editor.views.ControlsStack` instead.
				*/
get ControlsStack() {
					elementorDevTools.deprecation.deprecated("elementor.modules.views.ControlsStack", "2.4.0", "elementorModules.editor.views.ControlsStack");
					return elementorModules.editor.views.ControlsStack;
				} }
			});
			return _this;
		}
		_inherits(EditorBase, _Marionette$Applicati);
		return _createClass(EditorBase, [
			{
				key: "debug",
				get: function get() {
					elementorDevTools.deprecation.deprecated("elementor.debug", "3.0.0", "elementorCommon.debug");
					return elementorCommon.debug;
				}
			},
			{
				key: "userCan",
				value: function userCan(capability) {
					return -1 === this.config.user.restrictions.indexOf(capability);
				}
			},
			{
				key: "addControlView",
				value: function addControlView(controlID, ControlView) {
					this.modules.controls[elementorCommon.helpers.upperCaseWords(controlID)] = ControlView;
				}
			},
			{
				key: "checkEnvCompatibility",
				value: function checkEnvCompatibility() {
					return environment.firefox || environment.webkit;
				}
			},
			{
				key: "getElementData",
				value: function getElementData(model) {
					var elType = model.get("elType");
					if ("widget" === elType) {
						var widgetType = model.get("widgetType");
						if (!this.widgetsCache[widgetType]) return false;
						if (!this.widgetsCache[widgetType].commonMerged && !this.widgetsCache[widgetType].atomic_controls) {
							var _this$widgetsCache$wi;
							var commonControls = this.widgetsCache.common.controls;
							/**
							* Filter widgets common controls.
							*
							* @param array  commonControls - An array of the default common controls.
							* @param string widgetType     - The widget type.
							*/
							commonControls = elementor.hooks.applyFilters("elements/widget/controls/common/default", commonControls, widgetType);
							jQuery.extend(this.widgetsCache[widgetType].controls, commonControls);
							if (!this.widgetsCache[widgetType].has_widget_inner_wrapper && elementorCommon.config.experimentalFeatures.e_optimized_markup) {
								var commonOptimizedControls = this.widgetsCache["common-optimized"].controls;
								/**
								* Filter widgets common-optimized controls.
								*
								* @param array  commonOptimizedControls - An array of the default common controls.
								* @param string widgetType     - The widget type.
								*/
								commonOptimizedControls = elementor.hooks.applyFilters("elements/widget/controls/common-optimized/default", commonOptimizedControls, widgetType);
								jQuery.extend(this.widgetsCache[widgetType].controls, commonOptimizedControls);
							}
							this.widgetsCache[widgetType].controls = elementor.hooks.applyFilters("elements/widget/controls/common", this.widgetsCache[widgetType].controls, widgetType, this.widgetsCache[widgetType]);
							if ((_this$widgetsCache$wi = this.widgetsCache[widgetType].controls) !== null && _this$widgetsCache$wi !== void 0 && _this$widgetsCache$wi._element_cache) {
								var _this$widgetsCache$wi2;
								var elementCacheDescription = (0, _wordpress_i18n.__)("The default cache status for this element:", "elementor");
								elementCacheDescription += " <strong>";
								if ((_this$widgetsCache$wi2 = this.widgetsCache[widgetType]) !== null && _this$widgetsCache$wi2 !== void 0 && _this$widgetsCache$wi2.is_dynamic_content) elementCacheDescription += (0, _wordpress_i18n.__)("Inactive", "elementor");
								else elementCacheDescription += (0, _wordpress_i18n.__)("Active", "elementor");
								elementCacheDescription += "</strong><br />";
								elementCacheDescription += (0, _wordpress_i18n.__)("Activating cache improves loading times by storing a static version of this element.", "elementor");
								elementCacheDescription += " <a href=\"https://go.elementor.com/element-caching-help/\" target=\"_blank\">" + (0, _wordpress_i18n.__)("Learn more", "elementor") + "</a>.";
								this.widgetsCache[widgetType].controls._element_cache.description = elementCacheDescription;
							}
							this.widgetsCache[widgetType].commonMerged = true;
						}
						return this.widgetsCache[widgetType];
					}
					if (!this.config.elements[elType]) return false;
					var elementConfig = structuredClone(this.config.elements[elType]);
					if ("section" === elType && model.get("isInner")) elementConfig.title = (0, _wordpress_i18n.__)("Inner Section", "elementor");
					return elementConfig;
				}
			},
			{
				key: "getElementControls",
				value: function getElementControls(modelElement) {
					var elementData = this.getElementData(modelElement);
					if (!elementData) return false;
					var isInner = modelElement.get("isInner");
					var controls = {};
					_.each(elementData.controls, function(controlData, controlKey) {
						if (isInner && controlData.hide_in_inner || !isInner && controlData.hide_in_top) return;
						controls[controlKey] = controlData;
					});
					return controls;
				}
			},
			{
				key: "mergeControlsSettings",
				value: function mergeControlsSettings(controls) {
					var _this2 = this;
					_.each(controls, function(controlData, controlKey) {
						controls[controlKey] = jQuery.extend(true, {}, _this2.config.controls[controlData.type], controlData);
					});
					return controls;
				}
			},
			{
				key: "getControlView",
				value: function getControlView(controlID) {
					var capitalizedControlName = elementorCommon.helpers.upperCaseWords(controlID);
					var View = this.modules.controls[capitalizedControlName];
					if (!View) {
						var controlData = this.config.controls[controlID];
						var isUIControl = controlData && -1 !== controlData.features.indexOf("ui");
						View = this.modules.controls[isUIControl ? "Base" : "BaseData"];
					}
					return View;
				}
			},
			{
				key: "getPanelView",
				value: function getPanelView() {
					return this.panel.currentView;
				}
			},
			{
				key: "getPreviewView",
				value: function getPreviewView() {
					return this.previewView;
				}
			},
			{
				key: "getPreviewContainer",
				value: function getPreviewContainer() {
					var _this$getPreviewView;
					return (_this$getPreviewView = this.getPreviewView()) === null || _this$getPreviewView === void 0 ? void 0 : _this$getPreviewView.getContainer();
				}
			},
			{
				key: "getContainer",
				value: function getContainer(id) {
					if ("document" === id) return this.getPreviewContainer();
					return $e.components.get("document").utils.findContainerById(id);
				}
			},
			{
				key: "getContainerByKeyValue",
				value: function getContainerByKeyValue(args) {
					var _view$0$getContainer;
					var _view$;
					var key = args.key;
					var value = args.value;
					var _args$parent = args.parent;
					var parent = _args$parent === void 0 ? this.getPreviewView() : _args$parent;
					if (this.getPreviewContainer().model.get(key) === value) return this.getPreviewContainer();
					var view = $e.components.get("document").utils.findViewRecursive(parent.children, key, value, false);
					return (_view$0$getContainer = view === null || view === void 0 || (_view$ = view[0]) === null || _view$ === void 0 ? void 0 : _view$.getContainer()) !== null && _view$0$getContainer !== void 0 ? _view$0$getContainer : null;
				}
			},
			{
				key: "initComponents",
				value: function initComponents() {
					var EventManager = require_hooks();
					var DynamicTags = require_manager$2();
					var Settings = require_settings();
					var Notifications = require_notifications();
					this.elementsManager = new ElementsManager();
					this.hooks = new EventManager();
					this.selection = new Manager();
					this.settings = new Settings();
					this.dynamicTags = new DynamicTags();
					this.initDialogsManager();
					this.notifications = new Notifications();
					this.kitManager = new Manager$1();
					this.hotkeysScreen = new _default$20();
					this.iconManager = new _default$13();
					this.noticeBar = new _default$1();
					this.favorites = new FavoritesModule();
					this.history = new Manager$3();
					this.promotion = new _default$12();
					this.browserImport = new Manager$2();
					this.introductionTooltips = new IntroductionTooltipsManager();
					this.editorEvents = elementorCommon.eventsManager;
					this.documents = $e.components.register(new Component$31());
					if (elementorCommon.config.experimentalFeatures["landing-pages"]) this.modules.landingLibraryPageModule = new LandingPageLibraryModule();
					if (elementorCommon.config.experimentalFeatures.container) this.modules.floatingButtonsLibraryModule = new FloatingButtonsLibraryModule();
					this.modules.linkInBioLibraryModule = new LinkInBioLibraryModule();
					this.modules.floatingBarsLibraryModule = new FloatingBarsLibraryModule();
					this.modules.elementsColorPicker = new ElementsColorPicker();
					this.modules.promotionModule = new Module();
					this.modules.cloudLibraryModule = new TemplatesModule();
					$e.components.register(new Component$6());
					$e.components.register(new Component$9());
					$e.components.register(new Component$19());
					elementor.saver = $e.components.get("document/save");
					new FontVariables();
					Events.dispatch(elementorCommon.elements.$window, "elementor/init-components", null, "elementor:init-components");
				}
			},
			{
				key: "toggleSortableState",
				value: function toggleSortableState() {
					var _elementor$documents$;
					var _this3 = this;
					var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
					var sections = [jQuery("#elementor-navigator"), (_elementor$documents$ = elementor.documents.getCurrent()) === null || _elementor$documents$ === void 0 ? void 0 : _elementor$documents$.$element];
					for (var _i = 0, _sections = sections; _i < _sections.length; _i++) {
						var $section = _sections[_i];
						if ($section) $section.find(".ui-sortable").each(function() {
							var $element = jQuery(_this3);
							if ($element.sortable("instance")) $element.sortable(state ? "enable" : "disable");
						});
					}
				}
			},
			{
				key: "initDialogsManager",
				value: function initDialogsManager() {
					this.dialogsManager = elementorCommon.dialogsManager;
				}
			},
			{
				key: "initElements",
				value: function initElements() {
					var config = this.config.document.elements;
					if (this.elements && this.elements.length && this.config.document.id === this.config.initial_document.id) config = this.elements.toJSON();
					this.elements = this.createBackboneElementsCollection(config);
					this.elementsModel = this.createBackboneElementsModel(this.elements);
				}
			},
			{
				key: "createBackboneElementsCollection",
				value: function createBackboneElementsCollection(json) {
					return new (require_elements$3())(json);
				}
			},
			{
				key: "createBackboneElementsModel",
				value: function createBackboneElementsModel(elementsCollection) {
					return new Backbone.Model({ elements: elementsCollection });
				}
			},
			{
				key: "initPreview",
				value: function initPreview() {
					var $ = jQuery;
					var previewIframeId = "elementor-preview-iframe";
					this.$previewWrapper = $("#elementor-preview");
					this.$previewResponsiveWrapper = $("#elementor-preview-responsive-wrapper");
					if (!this.$preview) {
						this.$preview = $("<iframe>", {
							id: previewIframeId,
							src: this.config.initial_document.urls.preview,
							title: (0, _wordpress_i18n.__)("Preview", "elementor"),
							allowfullscreen: 1
						});
						this.$previewResponsiveWrapper.append(this.$preview);
					}
					this.$preview.on("load", this.onPreviewLoaded.bind(this));
				}
			},
			{
				key: "initPreviewView",
				value: function initPreviewView(document) {
					elementor.trigger("document:before:preview", document);
					this.previewView = this.createPreviewView(document.$element[0], elementor.elementsModel);
					this.renderPreview(this.previewView);
				}
			},
			{
				key: "createPreviewView",
				value: function createPreviewView(targetElement, model) {
					var config = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
					var preview = new import_preview.default({
						el: targetElement,
						model
					});
					preview.setConfig(config);
					preview.$el.empty();
					return preview;
				}
			},
			{
				key: "renderPreview",
				value: function renderPreview(preview) {
					preview.isRendered = true;
					preview._renderChildren();
					preview.triggerMethod("render");
				}
			},
			{
				key: "initFrontend",
				value: function initFrontend() {
					var frontendWindow = this.$preview[0].contentWindow;
					window.elementorFrontend = frontendWindow.elementorFrontend;
					frontendWindow.elementor = this;
					frontendWindow.elementorCommon = elementorCommon;
					elementorFrontend.init();
					this.trigger("frontend:init");
				}
			},
			{
				key: "initClearPageDialog",
				value: function initClearPageDialog() {
					var dialog;
					this.getClearPageDialog = function() {
						if (dialog) return dialog;
						dialog = elementorCommon.dialogsManager.createWidget("confirm", {
							id: "elementor-clear-page-dialog",
							headerMessage: (0, _wordpress_i18n.__)("Delete All Content", "elementor"),
							message: (0, _wordpress_i18n.__)("Attention: We are going to DELETE ALL CONTENT from this page. Are you sure you want to do that?", "elementor"),
							position: {
								my: "center center",
								at: "center center"
							},
							strings: {
								confirm: (0, _wordpress_i18n.__)("Delete", "elementor"),
								cancel: (0, _wordpress_i18n.__)("Cancel", "elementor")
							},
							onConfirm: function onConfirm() {
								return $e.run("document/elements/empty", { force: true });
							}
						});
						return dialog;
					};
				}
			},
			{
				key: "getCurrentElement",
				value: function getCurrentElement() {
					if (!(-1 !== ["BODY", "IFRAME"].indexOf(document.activeElement.tagName) && "BODY" === elementorFrontend.elements.window.document.activeElement.tagName)) return false;
					var targetElement = elementor.channels.editor.request("contextMenu:targetView");
					if (!targetElement) {
						var panel = elementor.getPanelView();
						if ($e.routes.isPartOf("panel/editor")) targetElement = panel.getCurrentPageView().getOption("editedElementView");
					}
					if (!targetElement) targetElement = elementor.getPreviewView();
					return targetElement;
				}
			},
			{
				key: "initPanel",
				value: function initPanel() {
					this.addRegions({ panel: require_panel() });
					window.dispatchEvent(new CustomEvent("elementor/panel/init"));
					this.trigger("panel:init");
				}
			},
			{
				key: "initNavigator",
				value: function initNavigator() {
					if (!$e.components.get("document/elements").utils.showNavigator()) return;
					this.addRegions({ navigator: {
						el: "#elementor-navigator",
						regionClass: _default$2
					} });
					this.trigger("navigator:init");
				}
			},
			{
				key: "setAjax",
				value: function setAjax() {
					elementorCommon.ajax.addRequestConstant("editor_post_id", this.config.document.id);
					elementorCommon.ajax.addRequestConstant("initial_document_id", this.config.initial_document.id);
					elementorCommon.ajax.on("request:unhandledError", function(xmlHttpRequest) {
						elementor.notifications.showToast({ message: elementor.createAjaxErrorMessage(xmlHttpRequest) });
					});
				}
			},
			{
				key: "createAjaxErrorMessage",
				value: function createAjaxErrorMessage(xmlHttpRequest) {
					var message;
					if (4 === xmlHttpRequest.readyState) {
						message = (0, _wordpress_i18n.__)("Server Error", "elementor");
						if (200 !== xmlHttpRequest.status) message += " (" + xmlHttpRequest.status + " " + xmlHttpRequest.statusText + ")";
					} else if (0 === xmlHttpRequest.readyState) message = (0, _wordpress_i18n.__)("Connection Lost", "elementor");
					else message = (0, _wordpress_i18n.__)("Unknown Error", "elementor");
					return message + ".";
				}
			},
			{
				key: "activatePreviewResizable",
				value: function activatePreviewResizable() {
					var $responsiveWrapper = this.$previewResponsiveWrapper;
					if ($responsiveWrapper.resizable("instance")) return;
					$responsiveWrapper.resizable({
						handles: "e, s, w",
						stop: function stop() {
							$responsiveWrapper.css({
								width: "",
								height: "",
								left: "",
								right: "",
								top: "",
								bottom: ""
							});
						},
						resize: function resize(event, ui) {
							$responsiveWrapper.css({
								right: "0",
								left: "0",
								top: "0",
								bottom: "0"
							});
							var style = $responsiveWrapper[0].style;
							style.setProperty("--e-editor-preview-width", ui.size.width + "px");
							style.setProperty("--e-editor-preview-height", ui.size.height + "px");
						}
					});
				}
			},
			{
				key: "destroyPreviewResizable",
				value: function destroyPreviewResizable() {
					if (this.$previewResponsiveWrapper.resizable("instance")) this.$previewResponsiveWrapper.resizable("destroy");
				}
			},
			{
				key: "broadcastPreviewResize",
				value: function broadcastPreviewResize() {
					this.channels.responsivePreview.reply("size", {
						width: this.$preview.innerWidth(),
						height: this.$preview.innerHeight()
					}).trigger("resize");
				}
			},
			{
				key: "getCurrentDeviceConstrains",
				value: function getCurrentDeviceConstrains() {
					var currentBreakpoint = elementor.channels.deviceMode.request("currentMode");
					var currentBreakpointData = elementorFrontend.config.responsive.activeBreakpoints[currentBreakpoint];
					var currentBreakpointMaxPoint = "widescreen" === currentBreakpoint ? 9999 : currentBreakpointData.value;
					var currentBreakpointMinPoint = this.breakpoints.getDeviceMinBreakpoint(currentBreakpoint);
					if (currentBreakpointMinPoint > currentBreakpointData.value) currentBreakpointMinPoint = currentBreakpointData.value;
					return {
						maxWidth: currentBreakpointMaxPoint,
						minWidth: currentBreakpointMinPoint
					};
				}
			},
			{
				key: "getBreakpointResizeOptions",
				value: function getBreakpointResizeOptions(currentBreakpoint) {
					var previewHeight = elementor.$previewWrapper.height();
					var specialBreakpointsHeights = {
						mobile: {
							minHeight: 480,
							height: 736,
							width: 360,
							maxHeight: 896
						},
						mobile_extra: {
							minHeight: 480,
							height: 736,
							maxHeight: 896
						},
						tablet: {
							minHeight: 320,
							height: previewHeight,
							maxHeight: 1024
						},
						tablet_extra: {
							minHeight: 320,
							height: previewHeight,
							maxHeight: 1024
						},
						laptop: {
							minHeight: 320,
							height: previewHeight,
							maxHeight: 1024
						},
						widescreen: {
							minHeight: 320,
							height: previewHeight,
							maxHeight: 1200
						}
					};
					var deviceConstrains = this.getCurrentDeviceConstrains();
					if (specialBreakpointsHeights[currentBreakpoint]) deviceConstrains = _objectSpread(_objectSpread({}, deviceConstrains), specialBreakpointsHeights[currentBreakpoint]);
					return deviceConstrains;
				}
			},
			{
				key: "updatePreviewResizeOptions",
				value: function updatePreviewResizeOptions() {
					var preserveCurrentSize = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
					var $responsiveWrapper = this.$previewResponsiveWrapper;
					var currentBreakpoint = elementor.channels.deviceMode.request("currentMode");
					if ("desktop" === currentBreakpoint) {
						this.destroyPreviewResizable();
						var style = $responsiveWrapper[0].style;
						style.setProperty("--e-editor-preview-width", "");
						style.setProperty("--e-editor-preview-height", "");
					} else {
						var _breakpointResizeOpti;
						this.activatePreviewResizable();
						var breakpointResizeOptions = this.getBreakpointResizeOptions(currentBreakpoint);
						var widthToShow = (_breakpointResizeOpti = breakpointResizeOptions.width) !== null && _breakpointResizeOpti !== void 0 ? _breakpointResizeOpti : breakpointResizeOptions.minWidth;
						if (preserveCurrentSize) {
							var currentSize = elementor.channels.responsivePreview.request("size");
							if (currentSize.width > breakpointResizeOptions.maxWidth) widthToShow = breakpointResizeOptions.maxWidth;
							else if (currentSize.width >= breakpointResizeOptions.minWidth) widthToShow = currentSize.width;
						}
						$responsiveWrapper.resizable("option", _objectSpread({}, breakpointResizeOptions));
						var _style = $responsiveWrapper[0].style;
						_style.setProperty("--e-editor-preview-width", widthToShow + "px");
						_style.setProperty("--e-editor-preview-height", breakpointResizeOptions.height + "px");
					}
				}
			},
			{
				key: "preventClicksInsideEditor",
				value: function preventClicksInsideEditor() {
					this.$previewContents.on("submit", function(event) {
						return event.preventDefault();
					});
					this.$previewContents.on("click", function(event) {
						var _elementor$documents$2;
						var $target = jQuery(event.target);
						var isClickInsideElementor = !!$target.closest(".elementor-edit-area, .pen-menu").length;
						var isTargetInsideDocument = this.contains($target[0]);
						if ($target.closest("a:not(.elementor-clickable)").length) event.preventDefault();
						if (isClickInsideElementor && elementor.getPreviewContainer().isEditable() || !isTargetInsideDocument) return;
						if (!isClickInsideElementor && (_elementor$documents$2 = elementor.documents.getCurrent()) !== null && _elementor$documents$2 !== void 0 && _elementor$documents$2.$element) $e.run("document/elements/deselect-all");
					});
				}
			},
			{
				key: "addBackgroundClickArea",
				value: function addBackgroundClickArea(element) {
					element.addEventListener("click", this.onBackgroundClick.bind(this), true);
				}
			},
			{
				key: "addBackgroundClickListener",
				value: function addBackgroundClickListener(key, listener) {
					this.backgroundClickListeners[key] = listener;
				}
			},
			{
				key: "removeBackgroundClickListener",
				value: function removeBackgroundClickListener(key) {
					delete this.backgroundClickListeners[key];
				}
			},
			{
				key: "showFatalErrorDialog",
				value: function showFatalErrorDialog(options) {
					var defaultOptions = {
						id: "elementor-fatal-error-dialog",
						headerMessage: "",
						message: "",
						position: {
							my: "center center",
							at: "center center"
						},
						strings: {
							confirm: (0, _wordpress_i18n.__)("Learn More", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Go Back", "elementor")
						},
						onConfirm: null,
						onCancel: function onCancel() {
							return parent.history.go(-1);
						},
						hide: {
							onBackgroundClick: false,
							onButtonClick: false
						}
					};
					options = jQuery.extend(true, defaultOptions, options);
					elementorCommon.dialogsManager.createWidget("confirm", options).show();
				}
			},
			{
				key: "showFlexBoxAttentionDialog",
				value: function showFlexBoxAttentionDialog() {
					var _this4 = this;
					var introduction = new elementorModules.editor.utils.Introduction({
						introductionKey: "flexbox",
						dialogType: "confirm",
						dialogOptions: {
							id: "elementor-flexbox-attention-dialog",
							headerMessage: (0, _wordpress_i18n.__)("Note: Flexbox Changes", "elementor"),
							message: (0, _wordpress_i18n.__)("Elementor 2.5 introduces key changes to the layout using CSS Flexbox. Your existing pages might have been affected, please review your page before publishing.", "elementor"),
							position: {
								my: "center center",
								at: "center center"
							},
							strings: {
								confirm: (0, _wordpress_i18n.__)("Learn More", "elementor"),
								cancel: (0, _wordpress_i18n.__)("Got It", "elementor")
							},
							hide: { onButtonClick: false },
							onCancel: function onCancel() {
								introduction.setViewed();
								introduction.getDialog().hide();
							},
							onConfirm: function onConfirm() {
								return open(_this4.config.help_flexbox_bc_url, "_blank");
							}
						}
					});
					introduction.show();
				}
			},
			{
				key: "checkPageStatus",
				value: function checkPageStatus() {
					if (elementor.documents.getCurrent().isDraft()) this.notifications.showToast({
						message: (0, _wordpress_i18n.__)("This is just a draft. Play around and when you're done - click update.", "elementor"),
						buttons: [{
							name: "view_revisions",
							text: (0, _wordpress_i18n.__)("View All Revisions", "elementor"),
							callback: function callback() {
								return $e.route("panel/history/revisions");
							}
						}]
					});
				}
			},
			{
				key: "enterDeviceMode",
				value: function enterDeviceMode() {
					var _this5 = this;
					this.channels.responsivePreview.trigger("open");
					elementorCommon.elements.$body.addClass("e-is-device-mode");
					this.activatePreviewResizable();
					this.resizeListenerThrottled = false;
					this.broadcastPreviewResize();
					elementorFrontend.elements.$window.on("resize.deviceModeDesktop", function() {
						if (_this5.resizeListenerThrottled) return;
						_this5.resizeListenerThrottled = true;
						_this5.broadcastPreviewResize();
						setTimeout(function() {
							_this5.resizeListenerThrottled = false;
							_this5.broadcastPreviewResize();
						}, 300);
					});
				}
			},
			{
				key: "exitDeviceMode",
				value: function exitDeviceMode() {
					elementorCommon.elements.$body.removeClass("e-is-device-mode");
					this.destroyPreviewResizable();
					elementorCommon.elements.$window.off("resize.deviceModeDesktop");
					this.channels.deviceMode.trigger("close");
				}
			},
			{
				key: "isDeviceModeActive",
				value: function isDeviceModeActive() {
					return elementorCommon.elements.$body.hasClass("e-is-device-mode");
				}
			},
			{
				key: "updatePreviewSize",
				value: function updatePreviewSize(size) {
					var style = this.$previewResponsiveWrapper[0].style;
					style.setProperty("--e-editor-preview-width", size.width + "px");
					style.setProperty("--e-editor-preview-height", size.height + "px");
				}
			},
			{
				key: "enterPreviewMode",
				value: function enterPreviewMode(hidePanel) {
					var $elements = elementorFrontend.elements.$body;
					if (hidePanel) $elements = $elements.add(elementorCommon.elements.$body);
					$elements.removeClass("elementor-editor-active").addClass("elementor-editor-preview");
					var $element = this.documents.getCurrent().$element;
					if ($element) $element.removeClass("elementor-edit-area-active");
				}
			},
			{
				key: "exitPreviewMode",
				value: function exitPreviewMode() {
					elementorFrontend.elements.$body.add(elementorCommon.elements.$body).removeClass("elementor-editor-preview").addClass("elementor-editor-active");
					if (elementor.config.document.panel.has_elements) this.documents.getCurrent().$element.addClass("elementor-edit-area-active");
				}
			},
			{
				key: "changeEditMode",
				value: function changeEditMode(newMode) {
					var dataEditMode = elementor.channels.dataEditMode;
					var oldEditMode = dataEditMode.request("activeMode");
					dataEditMode.reply("activeMode", newMode);
					if (newMode !== oldEditMode) dataEditMode.trigger("switch", newMode);
				}
			},
			{
				key: "reloadPreview",
				value: function reloadPreview() {
					jQuery("#elementor-preview-loading").show();
					this.$preview[0].src = this.config.initial_document.urls.preview;
				}
			},
			{
				key: "changeDeviceMode",
				value: function changeDeviceMode(newDeviceMode) {
					var hideBarOnDesktop = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
					var oldDeviceMode = this.channels.deviceMode.request("currentMode");
					if (oldDeviceMode === newDeviceMode) return;
					elementorCommon.elements.$body.removeClass("elementor-device-" + oldDeviceMode).addClass("elementor-device-" + newDeviceMode);
					this.channels.deviceMode.reply("previousMode", oldDeviceMode).reply("currentMode", newDeviceMode).trigger("change");
					if (this.isDeviceModeActive() && hideBarOnDesktop) {
						if ("desktop" === newDeviceMode) this.exitDeviceMode();
					} else if ("desktop" !== newDeviceMode) this.enterDeviceMode();
					dispatchEvent(new CustomEvent("elementor/device-mode/change", { detail: { activeMode: newDeviceMode } }));
				}
			},
			{
				key: "translate",
				value: function translate(stringKey, templateArgs, i18nStack) {
					if (!i18nStack) i18nStack = this.config.i18n;
					return elementorCommon.translate(stringKey, null, templateArgs, i18nStack);
				}
			},
			{
				key: "requestWidgetsConfig",
				value: function requestWidgetsConfig() {
					var _this6 = this;
					var excludeWidgets = {};
					jQuery.each(this.widgetsCache, function(widgetName, widgetConfig) {
						if (widgetConfig.controls) excludeWidgets[widgetName] = true;
					});
					elementorCommon.ajax.addRequest("get_widgets_config", {
						data: { exclude: excludeWidgets },
						success: function success(data) {
							_this6.addWidgetsCache(data);
							if (elementor.config.locale !== elementor.config.user.locale) _this6.translateControlsDefaults(elementor.config.locale);
							if (_this6.loaded) {
								_this6.kitManager.renderGlobalsDefaultCSS();
								$e.internal("panel/state-ready");
							} else _this6.once("panel:init", function() {
								$e.internal("panel/state-ready");
							});
						}
					});
				}
			},
			{
				key: "refreshWidgets",
				value: function() {
					var _refreshWidgets = _asyncToGenerator(/*#__PURE__*/ import_regenerator$16.default.mark(function _callee() {
						var data;
						return import_regenerator$16.default.wrap(function(_context) {
							while (1) switch (_context.prev = _context.next) {
								case 0:
									_context.next = 1;
									return elementorCommon.ajax.addRequest("refresh_widgets_config");
								case 1:
									data = _context.sent;
									this.widgetsCache = {};
									this.addWidgetsCache(data.widgets);
									elementor.config.document.panel.elements_categories = data.categories;
									if (elementor.config.locale !== elementor.config.user.locale) this.translateControlsDefaults(elementor.config.locale);
									this.kitManager.renderGlobalsDefaultCSS();
									elementor.hooks.doAction("elementor/widgets/refreshed");
									$e.routes.refreshContainer("panel");
									$e.run("preview/reload");
									return _context.abrupt("return", data);
								case 2:
								case "end": return _context.stop();
							}
						}, _callee, this);
					}));
					function refreshWidgets() {
						return _refreshWidgets.apply(this, arguments);
					}
					return refreshWidgets;
				}()
			},
			{
				key: "translateControlsDefaults",
				value: function translateControlsDefaults(locale) {
					var _this7 = this;
					elementorCommon.ajax.addRequest("get_widgets_default_value_translations", {
						data: { locale },
						success: function success(data) {
							_this7.addWidgetsCache(data);
						}
					}, true);
				}
			},
			{
				key: "getPreferences",
				value: function getPreferences(key) {
					var settings = elementor.settings.editorPreferences.model.attributes;
					if (key) return settings[key];
					return settings;
				}
			},
			{
				key: "getConfig",
				value: function getConfig() {
					return ElementorConfig;
				}
			},
			{
				key: "onStart",
				value: function onStart() {
					var _this8 = this;
					this.config = this.getConfig();
					Backbone.Radio.DEBUG = false;
					Backbone.Radio.tuneIn("ELEMENTOR");
					this.populateActiveBreakpointsConfig();
					this.breakpoints = new Breakpoints(this.config.responsive);
					if (elementorCommon.config.experimentalFeatures.additional_custom_breakpoints) this.generateResponsiveControlsForElements();
					this.elementsManager = new ElementsManager();
					this.initComponents();
					if (!this.checkEnvCompatibility()) this.onEnvNotCompatible();
					this.initPreview();
					this.requestWidgetsConfig();
					this.channels.dataEditMode.reply("activeMode", "edit");
					this.listenTo(this.channels.dataEditMode, "switch", this.onEditModeSwitched);
					this.listenTo(elementor.channels.deviceMode, "change", this.updatePreviewResizeOptions);
					this.initClearPageDialog();
					this.addBackgroundClickArea(document);
					this.addDeprecatedConfigProperties();
					Events.dispatch(elementorCommon.elements.$window, "elementor/loaded", null, "elementor:loaded");
					$e.run("editor/documents/open", { id: this.config.initial_document.id }).then(function() {
						Events.dispatch(elementorCommon.elements.$window, "elementor/init", null, "elementor:init");
						_this8.initNavigator();
					});
				}
			},
			{
				key: "onPreviewLoaded",
				value: function onPreviewLoaded() {
					if (!this.$preview[0].contentWindow.elementorFrontend) {
						this.onPreviewLoadingError();
						return;
					}
					if (!elementor.config.kit_id) {
						this.kitNotExistsError();
						return;
					}
					this.$previewContents = this.$preview.contents();
					this.initFrontend();
					this.preventClicksInsideEditor();
					this.addBackgroundClickArea(elementorFrontend.elements.window.document);
					if (!this.previewLoadedOnce) this.onFirstPreviewLoaded();
					this.$previewContents.children().addClass("elementor-html");
					var $frontendBody = elementorFrontend.elements.$body;
					$frontendBody.addClass("elementor-editor-active");
					if (!elementor.userCan("design")) $frontendBody.addClass("elementor-editor-content-only");
					this.changeDeviceMode("desktop");
					_.defer(function() {
						elementorFrontend.elements.window.jQuery.holdReady(false);
					});
					$e.shortcuts.bindListener(elementorFrontend.elements.$window);
					this.trigger("preview:loaded", !this.loaded);
					$e.internal("editor/documents/attach-preview").then(function() {
						return jQuery("#elementor-loading, #elementor-preview-loading").fadeOut(600);
					});
					this.loaded = true;
				}
			},
			{
				key: "onFirstPreviewLoaded",
				value: function onFirstPreviewLoaded() {
					this.initPanel();
					this.previewLoadedOnce = true;
					var eventsManager = elementorCommon.eventsManager;
					if (eventsManager) {
						var _eventsManager$config;
						eventsManager.dispatchEvent((_eventsManager$config = eventsManager.config) === null || _eventsManager$config === void 0 || (_eventsManager$config = _eventsManager$config.names) === null || _eventsManager$config === void 0 || (_eventsManager$config = _eventsManager$config.elementorEditor) === null || _eventsManager$config === void 0 ? void 0 : _eventsManager$config.editorLoaded, {});
					}
				}
			},
			{
				key: "onEditModeSwitched",
				value: function onEditModeSwitched() {
					var activeMode = this.channels.dataEditMode.request("activeMode");
					dispatchEvent(new CustomEvent("elementor/edit-mode/change", { detail: { activeMode } }));
					if ("edit" === activeMode) this.exitPreviewMode();
					else this.enterPreviewMode("preview" === activeMode);
				}
			},
			{
				key: "onEnvNotCompatible",
				value: function onEnvNotCompatible() {
					var _this9 = this;
					this.showFatalErrorDialog({
						headerMessage: (0, _wordpress_i18n.__)("Your browser isn't compatible", "elementor"),
						message: (0, _wordpress_i18n.__)("Your browser isn't compatible with all of Elementor's editing features. We recommend you switch to another browser like Chrome or Firefox.", "elementor"),
						strings: { confirm: (0, _wordpress_i18n.__)("Proceed Anyway", "elementor") },
						hide: { onButtonClick: true },
						onConfirm: function onConfirm() {
							return _this9.hide();
						}
					});
				}
			},
			{
				key: "kitNotExistsError",
				value: function kitNotExistsError() {
					this.showFatalErrorDialog({
						className: "elementor-preview-loading-error",
						headerMessage: (0, _wordpress_i18n.__)("Your site doesn't have a default kit", "elementor"),
						message: (0, _wordpress_i18n.__)("Seems like your kit was deleted, please create new one or try restore it from trash.", "elementor"),
						strings: {
							confirm: (0, _wordpress_i18n.__)("Recreate Kit", "elementor"),
							cancel: (0, _wordpress_i18n.__)("Go Back", "elementor")
						},
						onConfirm: function onConfirm() {
							return open(elementor.config.admin_tools_url, "_blank");
						}
					});
				}
			},
			{
				key: "onPreviewLoadingError",
				value: function onPreviewLoadingError() {
					var _this0 = this;
					var debugUrl = this.config.document.urls.preview + "&preview-debug";
					var previewDebugLinkText = (0, _wordpress_i18n.__)("Click here for preview debug", "elementor");
					var previewDebugLink = "<div id=\"elementor-preview-debug-link-text\"><a href=\"" + debugUrl + "\" target=\"_blank\">" + previewDebugLinkText + "</a></div>";
					var debugData = elementor.config.preview.debug_data;
					var dialogOptions = {
						className: "elementor-preview-loading-error",
						headerMessage: debugData.header,
						message: debugData.message + previewDebugLink,
						onConfirm: function onConfirm() {
							return open(debugData.doc_url, "_blank");
						}
					};
					if (debugData.error) {
						this.showFatalErrorDialog(dialogOptions);
						return;
					}
					jQuery.get(debugUrl, function() {
						_this0.showFatalErrorDialog(dialogOptions);
					}).fail(function(response) {
						_this0.showFatalErrorDialog({
							className: "elementor-preview-loading-error",
							headerMessage: debugData.header,
							message: response.statusText + " " + response.status + " " + previewDebugLink,
							onConfirm: function onConfirm() {
								var url = 500 <= response.status ? elementor.config.preview.help_preview_http_error_500_url : elementor.config.preview.help_preview_http_error_url;
								open(url, "_blank");
							}
						});
					});
				}
			},
			{
				key: "onPreviewElNotFound",
				value: function onPreviewElNotFound() {
					var args = this.$preview[0].contentWindow.elementorPreviewErrorArgs;
					if (!args) args = {
						headerMessage: (0, _wordpress_i18n.__)("Sorry, the content area was not found in your page.", "elementor"),
						message: (0, _wordpress_i18n.__)("You must call 'the_content' function in the current template, in order for Elementor to work on this page.", "elementor"),
						confirmURL: elementor.config.help_the_content_url
					};
					args.onConfirm = function() {
						return open(args.confirmURL, "_blank");
					};
					this.showFatalErrorDialog(args);
				}
			},
			{
				key: "onBackgroundClick",
				value: function onBackgroundClick(event) {
					jQuery.each(this.backgroundClickListeners, function(index, config) {
						var $clickedTarget = jQuery(event.target);
						if ($clickedTarget[0].control) $clickedTarget = $clickedTarget.add($clickedTarget[0].control);
						if (config.ignore && $clickedTarget.closest(config.ignore).length) return;
						var $clickedTargetClosestElement = $clickedTarget.closest(config.element);
						var $elementsToHide = jQuery(config.element).not($clickedTargetClosestElement);
						if (config.callback) {
							config.callback($elementsToHide);
							return;
						}
						$elementsToHide.each(function(elementIndex, element) {
							var $element = jQuery(element);
							var isVisible = $element.is(":visible");
							$element.hide();
							if (isVisible) $element.trigger("hide");
						});
					});
				}
			},
			{
				key: "compileTemplate",
				value: function compileTemplate(template, data) {
					return Marionette.TemplateCache.prototype.compileTemplate(template)(data);
				}
			},
			{
				key: "addWidgetsCache",
				value: function addWidgetsCache(widgets) {
					var _this1 = this;
					jQuery.each(widgets, function(widgetName, widgetConfig) {
						if (elementorCommon.config.experimentalFeatures.additional_custom_breakpoints) widgetConfig.controls = _this1.generateResponsiveControls(widgetConfig.controls);
						_this1.widgetsCache[widgetName] = jQuery.extend(true, {}, _this1.widgetsCache[widgetName], widgetConfig);
					});
				}
			},
			{
				key: "generateResponsiveControls",
				value: function generateResponsiveControls(controls) {
					var _this10 = this;
					var activeBreakpoints = this.config.responsive.activeBreakpoints;
					var devices = this.breakpoints.getActiveBreakpointsList({
						largeToSmall: true,
						withDesktop: true
					});
					var newControlsStack = {};
					var secondDesktopChild = devices[devices.indexOf("desktop") + 1];
					devices.unshift(devices.splice(devices.indexOf("desktop"), 1)[0]);
					jQuery.each(controls, function(controlName, controlConfig) {
						var _controlConfig$respon;
						var _controlConfig$popove;
						var responsiveControlName;
						var controlDevices;
						if ("object" === _typeof(controlConfig.fields)) controlConfig.fields = _this10.generateResponsiveControls(controlConfig.fields);
						if (!controlConfig.is_responsive) {
							newControlsStack[controlName] = controlConfig;
							return;
						}
						if ((_controlConfig$respon = controlConfig.responsive) !== null && _controlConfig$respon !== void 0 && _controlConfig$respon.devices) {
							if ("object" === _typeof(controlConfig.responsive.devices)) controlConfig.responsive.devices = Object.values(controlConfig.responsive.devices);
							controlDevices = devices.filter(function(device) {
								return controlConfig.responsive.devices.includes(device);
							});
							delete controlConfig.responsive.devices;
						}
						var popoverEndProperty = (_controlConfig$popove = controlConfig.popover) === null || _controlConfig$popove === void 0 ? void 0 : _controlConfig$popove.end;
						if (popoverEndProperty) {
							var _controlConfig$popove2;
							(_controlConfig$popove2 = controlConfig.popover) === null || _controlConfig$popove2 === void 0 || delete _controlConfig$popove2.end;
						}
						if (controlConfig.default) controlConfig.desktop_default = controlConfig.default;
						var multipleDefaultValue = _this10.config.controls[controlConfig.type].default_value;
						var deleteControlDefault = true;
						if (multipleDefaultValue) {
							controlConfig.default = multipleDefaultValue;
							deleteControlDefault = false;
						}
						var devicesArrayToDuplicate = controlDevices || devices;
						devicesArrayToDuplicate.forEach(function(device, index) {
							var _controlArgs$popover;
							var controlArgs = structuredClone(controlConfig);
							if (controlArgs.device_args) {
								if (controlArgs.device_args[device]) controlArgs = _objectSpread(_objectSpread({}, controlArgs), controlArgs.device_args[device]);
								delete controlArgs.device_args;
							}
							if (controlArgs.prefix_class && -1 !== controlArgs.prefix_class.indexOf("%s")) {
								var deviceModifier = "desktop" === device ? "" : "-" + device;
								controlArgs.prefix_class = controlArgs.prefix_class.replace("%s", deviceModifier);
							}
							if (Array.isArray(controlArgs.responsive)) controlArgs.responsive = {};
							var direction = "max";
							controlArgs.parent = null;
							if ("desktop" !== device) {
								direction = activeBreakpoints[device].direction;
								controlArgs.parent = device === secondDesktopChild ? controlName : responsiveControlName;
							}
							controlArgs.responsive[direction] = device;
							if (controlArgs.min_affected_device) {
								if (controlArgs.min_affected_device[device]) controlArgs.responsive.min = controlArgs.min_affected_device[device];
								delete controlArgs.min_affected_device;
							}
							if (controlArgs[device + "_default"]) if ("object" === _typeof(controlArgs[device + "_default"])) controlArgs.default = _objectSpread(_objectSpread({}, controlArgs.default), controlArgs[device + "_default"]);
							else controlArgs.default = controlArgs[device + "_default"];
							else if (deleteControlDefault) controlArgs.default = "";
							if (0 !== index && (_controlArgs$popover = controlArgs.popover) !== null && _controlArgs$popover !== void 0 && _controlArgs$popover.start) delete controlArgs.popover.start;
							if (index === devicesArrayToDuplicate.length - 1 && popoverEndProperty) controlArgs.popover = { end: true };
							devicesArrayToDuplicate.forEach(function(breakpoint) {
								delete controlArgs[breakpoint + "_default"];
							});
							delete controlArgs.is_responsive;
							responsiveControlName = "desktop" === device ? controlName : controlName + "_" + device;
							if (controlArgs.parent) {
								var parentControlArgs = newControlsStack[controlArgs.parent];
								if (!parentControlArgs.inheritors) parentControlArgs.inheritors = [];
								parentControlArgs.inheritors.push(responsiveControlName);
							}
							controlArgs.name = responsiveControlName;
							newControlsStack[responsiveControlName] = controlArgs;
						});
					});
					return newControlsStack;
				}
			},
			{
				key: "generateResponsiveControlsForElements",
				value: function generateResponsiveControlsForElements() {
					var _this11 = this;
					Object.keys(this.config.elements).forEach(function(elementName) {
						_this11.config.elements[elementName].controls = _this11.generateResponsiveControls(_this11.config.elements[elementName].controls);
					});
				}
			},
			{
				key: "populateActiveBreakpointsConfig",
				value: function populateActiveBreakpointsConfig() {
					var _this12 = this;
					this.config.responsive.activeBreakpoints = {};
					Object.entries(this.config.responsive.breakpoints).forEach(function(_ref) {
						var _ref2 = _slicedToArray(_ref, 2);
						var breakpointKey = _ref2[0];
						var breakpointData = _ref2[1];
						if (breakpointData.is_enabled) _this12.config.responsive.activeBreakpoints[breakpointKey] = breakpointData;
					});
				}
			},
			{
				key: "addDeprecatedConfigProperties",
				value: function addDeprecatedConfigProperties() {
					var _this13 = this;
					jQuery.each({
						data: {
							replacement: "elements",
							value: function value() {
								return elementor.config.document.elements;
							}
						},
						current_user_can_publish: {
							replacement: "user.can_publish",
							value: function value() {
								return elementor.config.document.user.can_publish;
							}
						},
						locked_user: {
							replacement: "",
							value: function value() {
								return elementor.config.document.user.locked;
							}
						},
						revisions_enabled: {
							replacement: "revisions.enabled",
							value: function value() {
								return elementor.config.document.revisions.enabled;
							}
						},
						current_revision_id: {
							replacement: "revisions.current_id",
							value: function value() {
								return elementor.config.document.revisions.current_id;
							}
						}
					}, function(key, data) {
						Object.defineProperty(_this13.config, key, {
							get: function get() {
								var replacement = data.replacement ? "elementor.config.document." + data.replacement : "";
								elementorDevTools.deprecation.deprecated("elementor.config." + key, "2.9.0", replacement);
								return data.value();
							},
							set: function set() {
								elementorDevTools.deprecation.deprecated("elementor.config." + key, "2.9.0", "elementor.config.document." + data.replacement);
								throw Error("Deprecated");
							}
						});
					});
					Object.defineProperty(this.config.settings, "page", { get: function get() {
						elementorDevTools.deprecation.deprecated("elementor.config.settings.page", "2.9.0", "elementor.config.document.settings");
						return elementor.config.document.settings;
					} });
					Object.defineProperty(this.config, "widgets", { get: function get() {
						elementorDevTools.deprecation.deprecated("elementor.config.widgets", "2.9.0", "elementor.widgetsCache");
						return elementor.widgetsCache;
					} });
					Object.defineProperty(this, "$previewElementorEl", { get: function get() {
						elementorDevTools.deprecation.deprecated("elementor.$previewElementorEl", "2.9.4", "elementor.documents.getCurrent().$element");
						return elementor.documents.getCurrent().$element;
					} });
				}
			},
			{
				key: "toggleDocumentCssFiles",
				value: function toggleDocumentCssFiles(document, state) {
					var selectors = ["#elementor-post-".concat(document.config.id, "-css"), "#elementor-preview-".concat(document.config.revisions.current_id)];
					var $files = this.$previewContents.find(selectors.join(","));
					var type = state ? "text/css" : "elementor/disabled-css";
					$files.attr({ type });
				}
			}
		]);
	}(Marionette.Application);

//#endregion
//#region assets/dev/js/editor/editor.js
	init_classCallCheck();
	init_createClass();
	init_possibleConstructorReturn();
	init_getPrototypeOf();
	init_get();
	init_inherits();
	function _callSuper(t, o, e) {
		return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
	}
	function _isNativeReflectConstruct() {
		try {
			var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
		} catch (t) {}
		return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
			return !!t;
		})();
	}
	function _superPropGet(t, o, e, r) {
		var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e);
		return 2 & r && "function" == typeof p ? function(t) {
			return p.apply(e, t);
		} : p;
	}
	var Editor = /*#__PURE__*/ function(_EditorBase) {
		function Editor() {
			_classCallCheck(this, Editor);
			return _callSuper(this, Editor, arguments);
		}
		_inherits(Editor, _EditorBase);
		return _createClass(Editor, [{
			key: "onStart",
			value: function onStart(options) {
				NProgress.start();
				NProgress.inc(.2);
				_superPropGet(Editor, "onStart", this, 3)([options]);
			}
		}, {
			key: "onPreviewLoaded",
			value: function onPreviewLoaded() {
				NProgress.done();
				_superPropGet(Editor, "onPreviewLoaded", this, 3)([]);
			}
		}]);
	}(EditorBase);
	window.elementor = new Editor();

//#endregion
})(wp.i18n, elementorVendors.reduxToolkit, React, ReactDOM);
//# sourceMappingURL=editor.js.map
```
