", {
class: "e-global__color-preview-color",
style: "background-color: " + color
});
var $colorPreviewBg = jQuery("
", { 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.
}
*/
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.} 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.} [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("", {
class: classes.item + " " + classes.itemTypePrefix + action.name,
role: "menuitem",
tabindex: "0"
});
var $itemTitle = jQuery("
", { class: classes.itemTitle }).text(action.title);
var $itemIcon = jQuery("
", { class: classes.iconShortcut });
if (action.icon) $itemIcon.html(jQuery("
", { class: action.icon }));
$item.append($itemIcon, $itemTitle);
if (action.shortcut) {
var $itemShortcut = jQuery("", { 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("
", {
class: classes.list,
role: "menu"
});
groups.forEach(function(group) {
var $group = jQuery("
", {
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", "
"));
},
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 ? "⌘" : "^";
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 ? "⌘" : "^";
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("