Preview: editor.js
Size: 2.97 MB
/home/nshryvcy/radiantskinclinics.org/wp-content/plugins/elementor/assets/js/editor.js
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "../app/assets/js/utils/utils.js":
/*!***************************************!*\
!*** ../app/assets/js/utils/utils.js ***!
\***************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.stringToRemValues = exports.rgbToHex = exports.pxToRem = exports.isOneOf = exports.htmlDecodeTextContent = exports.arrayToObjectByKey = exports.arrayToClassName = void 0;
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
var pxToRem = exports.pxToRem = function pxToRem(pixels) {
if (!pixels) {
return;
} else if ('string' !== typeof pixels) {
pixels = pixels.toString();
}
return pixels.split(' ').map(function (value) {
return "".concat(value * 0.0625, "rem");
}).join(' ');
};
var arrayToClassName = exports.arrayToClassName = function arrayToClassName(array, action) {
return array.filter(function (item) {
return 'object' === (0, _typeof2.default)(item) ? Object.entries(item)[0][1] : item;
}).map(function (item) {
var value = 'object' === (0, _typeof2.default)(item) ? Object.entries(item)[0][0] : item;
return action ? action(value) : value;
}).join(' ');
};
var stringToRemValues = exports.stringToRemValues = function stringToRemValues(string) {
return string.split(' ').map(function (value) {
return pxToRem(value);
}).join(' ');
};
var rgbToHex = exports.rgbToHex = function rgbToHex(r, g, b) {
return '#' + [r, g, b].map(function (x) {
var hex = x.toString(16);
return 1 === hex.length ? '0' + hex : hex;
}).join('');
};
var isOneOf = exports.isOneOf = function isOneOf(filetype, filetypeOptions) {
return filetypeOptions.some(function (type) {
return filetype.includes(type);
});
};
var arrayToObjectByKey = exports.arrayToObjectByKey = function arrayToObjectByKey(array, key) {
var finalObject = {};
array.forEach(function (item) {
return finalObject[item[key]] = item;
});
return finalObject;
};
var htmlDecodeTextContent = exports.htmlDecodeTextContent = function htmlDecodeTextContent(input) {
var doc = new DOMParser().parseFromString(input, 'text/html');
return doc.documentElement.textContent;
};
/***/ }),
/***/ "../assets/dev/js/editor/command-bases/command-container-base.js":
/*!***********************************************************************!*\
!*** ../assets/dev/js/editor/command-bases/command-container-base.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../modules/web-cli/assets/js/modules/command-base.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
/**
* @name $e.modules.editor.CommandContainerBase
*/
var CommandContainerBase = exports["default"] = /*#__PURE__*/function (_CommandBase) {
function CommandContainerBase() {
(0, _classCallCheck2.default)(this, CommandContainerBase);
return _callSuper(this, CommandContainerBase, arguments);
}
(0, _inherits2.default)(CommandContainerBase, _CommandBase);
return (0, _createClass2.default)(CommandContainerBase, [{
key: "requireContainer",
value:
/**
* Function requireContainer().
*
* Validate `arg.container` & `arg.containers`.
*
* @param {{}} args
*
* @throws {Error}
*/
function requireContainer() {
var _this = this;
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.args;
if (!args.container && !args.containers) {
throw Error('container or containers are required.');
}
if (args.container && args.containers) {
throw Error('container and containers cannot go together please select one of them.');
}
var containers = args.containers || [args.container];
containers.forEach(function (container) {
_this.requireArgumentInstance('container', elementorModules.editor.Container, {
container: container
});
});
}
}], [{
key: "getInstanceType",
value: function getInstanceType() {
return 'CommandContainerBase';
}
}]);
}(_commandBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/component-base.js":
/*!*************************************************!*\
!*** ../assets/dev/js/editor/component-base.js ***!
\*************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-base */ "../modules/web-cli/assets/js/modules/component-base.js"));
var _editor = _interopRequireDefault(__webpack_require__(/*! elementor-panel/pages/editor */ "../assets/dev/js/editor/regions/panel/pages/editor.js"));
var _baseData = _interopRequireDefault(__webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var ComponentBase = exports["default"] = /*#__PURE__*/function (_ApiComponentBase) {
function ComponentBase() {
(0, _classCallCheck2.default)(this, ComponentBase);
return _callSuper(this, ComponentBase, arguments);
}
(0, _inherits2.default)(ComponentBase, _ApiComponentBase);
return (0, _createClass2.default)(ComponentBase, [{
key: "activateControl",
value:
/**
* Call the activate of the control's view
*
* @param {string} controlPath
*/
function activateControl(controlPath) {
var _controlView$activate;
if (!controlPath) {
return;
}
var editor = elementor.getPanelView().getCurrentPageView();
var currentView = editor.content ? editor.content.currentView : editor;
var controlView = this.getControlViewByPath(currentView, controlPath);
(_controlView$activate = controlView.activate) === null || _controlView$activate === void 0 || _controlView$activate.call(controlView);
}
/**
* Get the control's view by path
*
* @param {EditorView} currentView
* @param {string} controlPath
*
* @return {ControlBaseDataView}
*/
}, {
key: "getControlViewByPath",
value: function getControlViewByPath(currentView, controlPath) {
var controls = controlPath.split('/');
var controlView = currentView.getControlViewByName(controls[0]);
controls.slice(1).forEach(function (control) {
var _controlView$getChild, _controlView;
controlView = (_controlView$getChild = (_controlView = controlView).getChildControlView) === null || _controlView$getChild === void 0 ? void 0 : _controlView$getChild.call(_controlView, control);
});
return controlView;
}
}]);
}(_componentBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/commands-internal/index.js":
/*!************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/commands-internal/index.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Validate", ({
enumerable: true,
get: function get() {
return _validate.Validate;
}
}));
var _validate = __webpack_require__(/*! ./validate */ "../assets/dev/js/editor/components/browser-import/commands-internal/validate.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/commands-internal/validate.js":
/*!***************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/commands-internal/validate.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Validate = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Validate = exports.Validate = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Validate() {
(0, _classCallCheck2.default)(this, Validate);
return _callSuper(this, Validate, arguments);
}
(0, _inherits2.default)(Validate, _$e$modules$CommandBa);
return (0, _createClass2.default)(Validate, [{
key: "apply",
value:
/**
* @inheritDoc
*/
function apply(args) {
var input = args.input,
_args$options = args.options,
options = _args$options === void 0 ? {} : _args$options;
return this.component.manager.createSession(input, elementor.getPreviewContainer(), options).then(function (session) {
return session.validate();
});
}
}]);
}($e.modules.CommandBase);
var _default = exports["default"] = Validate;
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/commands/import.js":
/*!****************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/commands/import.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Import = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Import = exports.Import = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Import() {
(0, _classCallCheck2.default)(this, Import);
return _callSuper(this, Import, arguments);
}
(0, _inherits2.default)(Import, _$e$modules$CommandBa);
return (0, _createClass2.default)(Import, [{
key: "validateArgs",
value:
/**
* @inheritDoc
*/
function validateArgs() {
this.requireArgumentInstance('target', elementorModules.editor.Container);
}
/**
* @inheritDoc
*/
}, {
key: "apply",
value: function apply(args) {
var _this = this;
var _args$targets = args.targets,
targets = _args$targets === void 0 ? [args.target] : _args$targets,
input = args.input,
_args$options = args.options,
options = _args$options === void 0 ? {} : _args$options,
result = [];
targets.forEach(function (target) {
result.push(_this.component.manager.createSession(input, target, options).then(/*#__PURE__*/function () {
var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(session) {
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 1;
return session.validate();
case 1:
if (!_context.sent) {
_context.next = 2;
break;
}
session.apply();
case 2:
case "end":
return _context.stop();
}
}, _callee);
}));
return function (_x) {
return _ref.apply(this, arguments);
};
}()));
});
return Promise.all(result);
}
}]);
}($e.modules.CommandBase);
var _default = exports["default"] = Import;
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/commands/index.js":
/*!***************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/commands/index.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Import", ({
enumerable: true,
get: function get() {
return _import.Import;
}
}));
var _import = __webpack_require__(/*! ./import */ "../assets/dev/js/editor/components/browser-import/commands/import.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/component.js":
/*!**********************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/component.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands */ "../assets/dev/js/editor/components/browser-import/commands/index.js"));
var commandsInternal = _interopRequireWildcard(__webpack_require__(/*! ./commands-internal */ "../assets/dev/js/editor/components/browser-import/commands-internal/index.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Component = exports["default"] = /*#__PURE__*/function (_$e$modules$Component) {
function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}
(0, _inherits2.default)(Component, _$e$modules$Component);
return (0, _createClass2.default)(Component, [{
key: "getNamespace",
value: function getNamespace() {
return 'editor/browser-import';
}
}, {
key: "defaultCommands",
value: function defaultCommands() {
return this.importCommands(commands);
}
}, {
key: "defaultCommandsInternal",
value: function defaultCommandsInternal() {
return this.importCommands(commandsInternal);
}
}]);
}($e.modules.ComponentBase);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/container-factory.js":
/*!******************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/container-factory.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _element = _interopRequireDefault(__webpack_require__(/*! elementor-elements/models/element */ "../assets/dev/js/editor/elements/models/element.js"));
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, 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, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
/**
* @typedef {import('../../container/container')} Container
*/
var ContainerFactory = exports["default"] = /*#__PURE__*/function () {
function ContainerFactory() {
(0, _classCallCheck2.default)(this, ContainerFactory);
}
return (0, _createClass2.default)(ContainerFactory, null, [{
key: "createElementContainer",
value:
/**
* Create an element container.
*
* @param {*} element
* @return {Container} element container
*/
function createElementContainer(element) {
var model = new _element.default(this.regenerateIds([Object.assign({
elType: (element === null || element === void 0 ? void 0 : element.elType) || 'widget'
}, element)])[0]);
return new elementorModules.editor.Container({
id: model.get('id'),
type: model.get('elType'),
settings: model.get('settings'),
model: model,
parent: false
});
}
}, {
key: "regenerateIds",
value: function regenerateIds(elements) {
var _iterator = _createForOfIteratorHelper(elements),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var element = _step.value;
element.id = elementorCommon.helpers.getUniqueId().toString();
if (element.elements) {
this.regenerateIds(element.elements);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return elements;
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/default-config.js":
/*!***************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/default-config.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof3 = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
var readers = _interopRequireWildcard(__webpack_require__(/*! ./files/readers */ "../assets/dev/js/editor/components/browser-import/files/readers/index.js"));
var parsers = _interopRequireWildcard(__webpack_require__(/*! ./files/parsers */ "../assets/dev/js/editor/components/browser-import/files/parsers/index.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
/**
* Recursively convert objects to arrays of values.
*
* @param {*} object
* @return {[]} values
*/
var recursiveValues = function recursiveValues(object) {
return Object.values(object).map(function (value) {
return 'object' === (0, _typeof2.default)(value) ? Object.values(value) : value;
});
};
var _default = exports["default"] = {
readers: recursiveValues(readers),
parsers: recursiveValues(parsers).flat()
};
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/file-parser-base.js":
/*!***********************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/file-parser-base.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
/**
* @typedef {import('../../../container/container')} Container
*/
/**
* @typedef {import('./file-reader-base')} FileReaderBase
*/
/**
* @abstract
*/
var FileParserBase = exports["default"] = /*#__PURE__*/function () {
/**
* FileParseBase constructor.
*
* @param {FileReaderBase} reader
*/
function FileParserBase(reader) {
(0, _classCallCheck2.default)(this, FileParserBase);
/**
* The file-reader instance.
*
* @type {FileReaderBase}
*/
(0, _defineProperty2.default)(this, "reader", void 0);
/**
* Tasks to complete, even after parsing completed.
*
* @type {[]}
*/
(0, _defineProperty2.default)(this, "tasks", []);
this.reader = reader;
}
/**
* Get the file-parser name.
*
* @abstract
* @return {string} name
*/
return (0, _createClass2.default)(FileParserBase, [{
key: "parse",
value: (
/**
* Parse the the input as needed by this parser, and return Container objects to be processed.
*
* @abstract
* @return {Container[]} containers
*/
function () {
var _parse = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
case "end":
return _context.stop();
}
}, _callee);
}));
function parse() {
return _parse.apply(this, arguments);
}
return parse;
}()
/**
* Here parsers can validate that an input from a reader can be handled by the parser. This validation has to be
* very accurate and specific so if the parser can't handle the file for sure, the next parsers will have the
* opportunity to do so.
*
* @param {*} reader
*
* @abstract
* @return {boolean} is valid
*/
)
}], [{
key: "getName",
value: function getName() {
return '';
}
/**
* Get all readers the parser can handle with.
*
* @abstract
* @return {string[]} readers
*/
}, {
key: "getReaders",
value: function getReaders() {
return [];
}
}, {
key: "validate",
value: (function () {
var _validate = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(reader) {
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", false);
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function validate(_x) {
return _validate.apply(this, arguments);
}
return validate;
}())
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/file-reader-base.js":
/*!***********************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/file-reader-base.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
/**
* @abstract
*/
var FileReaderBase = exports["default"] = /*#__PURE__*/function () {
/**
* FileReaderBase constructor.
*
* @param {File} file
*/
function FileReaderBase(file) {
(0, _classCallCheck2.default)(this, FileReaderBase);
/**
* The File instance.
*
* @type {File}
*/
(0, _defineProperty2.default)(this, "file", void 0);
this.file = file;
}
/**
* Get the file-reader name.
*
* @abstract
* @return {string} name
*/
return (0, _createClass2.default)(FileReaderBase, [{
key: "getFile",
value:
/**
* Get the file-reader File object.
*
* @return {*} file
*/
function getFile() {
return this.file;
}
/**
* Get the file-reader File object content as string.
*
* @return {Promise<string>} handler
*/
}, {
key: "getContent",
value: (function () {
var _getContent = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var fileReader, handler;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
fileReader = new FileReader(), handler = new Promise(function (resolve) {
fileReader.onloadend = function () {
return resolve(fileReader.result);
};
});
fileReader.readAsText(this.getFile());
return _context.abrupt("return", handler);
case 1:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function getContent() {
return _getContent.apply(this, arguments);
}
return getContent;
}()
/**
* Get the file-reader File object data url string.
*
* @return {Promise<string>} data URI
*/
)
}, {
key: "getDataUrl",
value: (function () {
var _getDataUrl = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
var fileReader, handler;
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
fileReader = new FileReader(), handler = new Promise(function (resolve) {
fileReader.onloadend = function () {
return resolve(fileReader.result);
};
});
fileReader.readAsDataURL(this.getFile());
return _context2.abrupt("return", handler);
case 1:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function getDataUrl() {
return _getDataUrl.apply(this, arguments);
}
return getDataUrl;
}())
}], [{
key: "getName",
value: function getName() {
return '';
}
/**
* Check if the reader is currently active.
*
* @abstract
* @return {boolean}
*/
}, {
key: "isActive",
value: function isActive() {
return true;
}
/**
* Each file-reader can register the mime-types it supports in this method, so later a File object can be matched
* to it accordingly.
*
* @abstract
* @return {string[]} mime types
*/
}, {
key: "mimeTypes",
get: function get() {
return [];
}
/**
* If the file-reader supports an input that's received without an explicit mime-type (such as strings or JavasScript
* objects), here it can decide whether it can handle it and eventually return a suitable mime-type.
*
* @abstract
* @param {*} input
* @return {string|boolean} mime type
*/
}, {
key: "resolve",
value: (function () {
var _resolve = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(input) {
return _regenerator.default.wrap(function (_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
return _context3.abrupt("return", false);
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function resolve(_x) {
return _resolve.apply(this, arguments);
}
return resolve;
}()
/**
* Validate that a file can be handled by the file-reader, according to its mime-type.
*
* @param {File} file
*/
)
}, {
key: "validate",
value: (function () {
var _validate = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(file) {
return _regenerator.default.wrap(function (_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
if (!this.validator) {
this.validator = new RegExp(this.mimeTypes.join('|'), 'i');
}
return _context4.abrupt("return", this.validator.test(file.type));
case 1:
case "end":
return _context4.stop();
}
}, _callee4, this);
}));
function validate(_x2) {
return _validate.apply(this, arguments);
}
return validate;
}())
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/base/index.js":
/*!*************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/base/index.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "MediaParser", ({
enumerable: true,
get: function get() {
return _mediaParser.MediaParser;
}
}));
var _mediaParser = __webpack_require__(/*! ./media-parser */ "../assets/dev/js/editor/components/browser-import/files/parsers/base/media-parser.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/base/media-parser.js":
/*!********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/base/media-parser.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.MediaParser = void 0;
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _fileParserBase = _interopRequireDefault(__webpack_require__(/*! elementor-editor/components/browser-import/files/file-parser-base */ "../assets/dev/js/editor/components/browser-import/files/file-parser-base.js"));
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) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
/**
* @abstract
*/
var MediaParser = exports.MediaParser = /*#__PURE__*/function (_FileParserBase) {
function MediaParser() {
(0, _classCallCheck2.default)(this, MediaParser);
return _callSuper(this, MediaParser, arguments);
}
(0, _inherits2.default)(MediaParser, _FileParserBase);
return (0, _createClass2.default)(MediaParser, [{
key: "upload",
value:
/**
* Upload a media file to the wordpress media library using the `wp/media` command.
*
* @param {*} file
* @param {*} options
* @return {{}} result
*/
function upload(file) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return $e.data.run('create', 'wp/media', {
file: file,
options: _objectSpread({
progress: true
}, options)
}).catch(function (result) {
elementor.notifications.showToast({
message: result.message
});
return Promise.reject(result);
});
}
}]);
}(_fileParserBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/image/index.js":
/*!**************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/image/index.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Widget", ({
enumerable: true,
get: function get() {
return _widget.Widget;
}
}));
var _widget = __webpack_require__(/*! ./widget */ "../assets/dev/js/editor/components/browser-import/files/parsers/image/widget.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/image/widget.js":
/*!***************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/image/widget.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Widget = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _containerFactory = _interopRequireDefault(__webpack_require__(/*! ../../../container-factory */ "../assets/dev/js/editor/components/browser-import/container-factory.js"));
var _base = __webpack_require__(/*! ../base */ "../assets/dev/js/editor/components/browser-import/files/parsers/base/index.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Widget = exports.Widget = /*#__PURE__*/function (_MediaParser) {
function Widget() {
(0, _classCallCheck2.default)(this, Widget);
return _callSuper(this, Widget, arguments);
}
(0, _inherits2.default)(Widget, _MediaParser);
return (0, _createClass2.default)(Widget, [{
key: "parse",
value: (
/**
* @inheritDoc
*/
function () {
var _parse = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var file, container, _t, _t2, _t3, _t4, _t5;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
file = this.reader.getFile();
_t = _containerFactory.default;
_context.next = 1;
return this.reader.getDataUrl();
case 1:
_t2 = _context.sent;
_t3 = file.name.split('.')[0];
_t4 = {
url: _t2,
alt: _t3,
source: 'library'
};
_t5 = {
image: _t4
};
container = _t.createElementContainer.call(_t, {
widgetType: 'image',
settings: _t5
});
this.upload(file).then(function (_ref) {
var data = _ref.data;
$e.internal('document/elements/set-settings', {
// The reason we use the container id and not the container instance itself is that the container
// created above is just a placeholder, which later recreated using the same id.
container: elementor.getContainer(container.id),
settings: {
image: {
url: data.source_url,
id: data.id
}
}
});
}).catch(function () {
elementor.documents.getCurrent().history.setActive(false);
$e.run('document/elements/reset-settings', {
container: elementor.getContainer(container.id),
options: {
external: true
}
});
elementor.documents.getCurrent().history.setActive(true);
});
return _context.abrupt("return", container);
case 2:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function parse() {
return _parse.apply(this, arguments);
}
return parse;
}()
/**
* @inheritDoc
*/
)
}], [{
key: "getName",
value:
/**
* @inheritDoc
*/
function getName() {
return 'widget';
}
/**
* @inheritDoc
*/
}, {
key: "getReaders",
value: function getReaders() {
return ['image'];
}
}, {
key: "validate",
value: (function () {
var _validate = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", true);
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function validate() {
return _validate.apply(this, arguments);
}
return validate;
}())
}]);
}(_base.MediaParser);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/index.js":
/*!********************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/index.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.video = exports.json = exports.image = exports.base = void 0;
var _base = _interopRequireWildcard(__webpack_require__(/*! ./base */ "../assets/dev/js/editor/components/browser-import/files/parsers/base/index.js"));
exports.base = _base;
var _image = _interopRequireWildcard(__webpack_require__(/*! ./image */ "../assets/dev/js/editor/components/browser-import/files/parsers/image/index.js"));
exports.image = _image;
var _json = _interopRequireWildcard(__webpack_require__(/*! ./json */ "../assets/dev/js/editor/components/browser-import/files/parsers/json/index.js"));
exports.json = _json;
var _video = _interopRequireWildcard(__webpack_require__(/*! ./video */ "../assets/dev/js/editor/components/browser-import/files/parsers/video/index.js"));
exports.video = _video;
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/json/elements.js":
/*!****************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/json/elements.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Elements = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _fileParserBase = _interopRequireDefault(__webpack_require__(/*! ../../file-parser-base */ "../assets/dev/js/editor/components/browser-import/files/file-parser-base.js"));
var _containerFactory = _interopRequireDefault(__webpack_require__(/*! ../../../container-factory */ "../assets/dev/js/editor/components/browser-import/container-factory.js"));
var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../../../../../utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Elements = exports.Elements = /*#__PURE__*/function (_FileParserBase) {
function Elements() {
(0, _classCallCheck2.default)(this, Elements);
return _callSuper(this, Elements, arguments);
}
(0, _inherits2.default)(Elements, _FileParserBase);
return (0, _createClass2.default)(Elements, [{
key: "parse",
value: (
/**
* @inheritDoc
*/
function () {
var _parse = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 1;
return this.reader.getData();
case 1:
return _context.abrupt("return", _context.sent.content.map(function (element) {
return _containerFactory.default.createElementContainer(element);
}));
case 2:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function parse() {
return _parse.apply(this, arguments);
}
return parse;
}()
/**
* @inheritDoc
*/
)
}], [{
key: "getName",
value:
/**
* @inheritDoc
*/
function getName() {
return 'elements';
}
/**
* @inheritDoc
*/
}, {
key: "getReaders",
value: function getReaders() {
return ['json'];
}
}, {
key: "validate",
value: (function () {
var _validate = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(reader) {
var _this = this;
return _regenerator.default.wrap(function (_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
if (elementorCommon.config.filesUpload.unfilteredFiles) {
_context3.next = 1;
break;
}
return _context3.abrupt("return", new Promise(function (resolve) {
var enableUnfilteredDialog = _filesUploadHandler.default.getUnfilteredFilesNotEnabledImportTemplateDialog(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
var result;
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 1;
return _this.validateData(reader);
case 1:
result = _context2.sent;
resolve(result);
case 2:
case "end":
return _context2.stop();
}
}, _callee2);
})));
enableUnfilteredDialog.show();
}));
case 1:
_context3.next = 2;
return this.validateData(reader);
case 2:
return _context3.abrupt("return", _context3.sent);
case 3:
case "end":
return _context3.stop();
}
}, _callee3, this);
}));
function validate(_x) {
return _validate.apply(this, arguments);
}
return validate;
}())
}, {
key: "validateData",
value: function () {
var _validateData = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(reader) {
var data;
return _regenerator.default.wrap(function (_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 1;
return reader.getData();
case 1:
data = _context4.sent;
return _context4.abrupt("return", data.version && data.type && Array.isArray(data.content));
case 2:
case "end":
return _context4.stop();
}
}, _callee4);
}));
function validateData(_x2) {
return _validateData.apply(this, arguments);
}
return validateData;
}()
}]);
}(_fileParserBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/json/index.js":
/*!*************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/json/index.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Elements", ({
enumerable: true,
get: function get() {
return _elements.Elements;
}
}));
var _elements = __webpack_require__(/*! ./elements */ "../assets/dev/js/editor/components/browser-import/files/parsers/json/elements.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/video/index.js":
/*!**************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/video/index.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Widget", ({
enumerable: true,
get: function get() {
return _widget.Widget;
}
}));
var _widget = __webpack_require__(/*! ./widget */ "../assets/dev/js/editor/components/browser-import/files/parsers/video/widget.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/parsers/video/widget.js":
/*!***************************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/parsers/video/widget.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Widget = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _containerFactory = _interopRequireDefault(__webpack_require__(/*! ../../../container-factory */ "../assets/dev/js/editor/components/browser-import/container-factory.js"));
var _base = __webpack_require__(/*! ../base */ "../assets/dev/js/editor/components/browser-import/files/parsers/base/index.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Widget = exports.Widget = /*#__PURE__*/function (_MediaParser) {
function Widget() {
(0, _classCallCheck2.default)(this, Widget);
return _callSuper(this, Widget, arguments);
}
(0, _inherits2.default)(Widget, _MediaParser);
return (0, _createClass2.default)(Widget, [{
key: "parse",
value: (
/**
* @inheritDoc
*/
function () {
var _parse = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var file, container, _t, _t2, _t3, _t4, _t5;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
file = this.reader.getFile();
_t = _containerFactory.default;
_context.next = 1;
return this.reader.getDataUrl();
case 1:
_t2 = _context.sent;
_t3 = file.name.split('.')[0];
_t4 = {
url: _t2,
alt: _t3,
source: 'library'
};
_t5 = {
video_type: 'hosted',
hosted_url: _t4
};
container = _t.createElementContainer.call(_t, {
widgetType: 'video',
settings: _t5
});
this.upload(file).then(function (_ref) {
var data = _ref.data;
$e.internal('document/elements/set-settings', {
// The reason we use the container id and not the container instance itself is that the container
// created above is just a placeholder, which later recreated using the same id.
container: elementor.getContainer(container.id),
settings: {
hosted_url: {
url: data.source_url,
id: data.id
}
}
});
}).catch(function () {
elementor.documents.getCurrent().history.setActive(false);
$e.run('document/elements/reset-settings', {
container: elementor.getContainer(container.id),
options: {
external: true
}
});
elementor.documents.getCurrent().history.setActive(true);
});
return _context.abrupt("return", container);
case 2:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function parse() {
return _parse.apply(this, arguments);
}
return parse;
}()
/**
* @inheritDoc
*/
)
}], [{
key: "getName",
value:
/**
* @inheritDoc
*/
function getName() {
return 'widget';
}
/**
* @inheritDoc
*/
}, {
key: "getReaders",
value: function getReaders() {
return ['video'];
}
}, {
key: "validate",
value: (function () {
var _validate = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", true);
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function validate() {
return _validate.apply(this, arguments);
}
return validate;
}())
}]);
}(_base.MediaParser);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/readers/image.js":
/*!********************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/readers/image.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Image = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _fileReaderBase = _interopRequireDefault(__webpack_require__(/*! ../file-reader-base */ "../assets/dev/js/editor/components/browser-import/files/file-reader-base.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Image = exports.Image = /*#__PURE__*/function (_FileReaderBase) {
function Image() {
(0, _classCallCheck2.default)(this, Image);
return _callSuper(this, Image, arguments);
}
(0, _inherits2.default)(Image, _FileReaderBase);
return (0, _createClass2.default)(Image, null, [{
key: "getName",
value:
/**
* @inheritDoc
*/
function getName() {
return 'image';
}
/**
* @inheritDoc
*/
}, {
key: "mimeTypes",
get: function get() {
return ['image\\/\\w+'];
}
}]);
}(_fileReaderBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/readers/index.js":
/*!********************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/readers/index.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Image", ({
enumerable: true,
get: function get() {
return _image.Image;
}
}));
Object.defineProperty(exports, "Json", ({
enumerable: true,
get: function get() {
return _json.Json;
}
}));
Object.defineProperty(exports, "Video", ({
enumerable: true,
get: function get() {
return _video.Video;
}
}));
var _image = __webpack_require__(/*! ./image */ "../assets/dev/js/editor/components/browser-import/files/readers/image.js");
var _video = __webpack_require__(/*! ./video */ "../assets/dev/js/editor/components/browser-import/files/readers/video.js");
var _json = __webpack_require__(/*! ./json */ "../assets/dev/js/editor/components/browser-import/files/readers/json.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/readers/json.js":
/*!*******************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/readers/json.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Json = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _fileReaderBase = _interopRequireDefault(__webpack_require__(/*! ../file-reader-base */ "../assets/dev/js/editor/components/browser-import/files/file-reader-base.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Json = exports.Json = /*#__PURE__*/function (_FileReaderBase) {
function Json() {
(0, _classCallCheck2.default)(this, Json);
return _callSuper(this, Json, arguments);
}
(0, _inherits2.default)(Json, _FileReaderBase);
return (0, _createClass2.default)(Json, [{
key: "getData",
value: (
/**
* Returns the file content as Json object.
*
* @return {{}} file content
*/
function () {
var _getData = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (this._data) {
_context.next = 2;
break;
}
_context.next = 1;
return this.getContent().then(function (content) {
return JSON.parse(content);
});
case 1:
this._data = _context.sent;
case 2:
return _context.abrupt("return", this._data);
case 3:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function getData() {
return _getData.apply(this, arguments);
}
return getData;
}())
}], [{
key: "getName",
value:
/**
* @inheritDoc
*/
function getName() {
return 'json';
}
}, {
key: "isActive",
value: function isActive() {
var _elementor$config$use, _elementor$config$use2;
return elementor.config.user.is_administrator || ((_elementor$config$use = (_elementor$config$use2 = elementor.config.user.restrictions) === null || _elementor$config$use2 === void 0 ? void 0 : _elementor$config$use2.includes('json-upload')) !== null && _elementor$config$use !== void 0 ? _elementor$config$use : false);
}
/**
* @inheritDoc
*/
}, {
key: "mimeTypes",
get: function get() {
return ['application/json'];
}
/**
* @inheritDoc
*/
}, {
key: "resolve",
value: (function () {
var _resolve = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(input) {
var _t;
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
JSON.parse(input);
return _context2.abrupt("return", 'application/json');
case 1:
_context2.prev = 1;
_t = _context2["catch"](0);
return _context2.abrupt("return", false);
case 2:
case "end":
return _context2.stop();
}
}, _callee2, null, [[0, 1]]);
}));
function resolve(_x) {
return _resolve.apply(this, arguments);
}
return resolve;
}())
}]);
}(_fileReaderBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/files/readers/video.js":
/*!********************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/files/readers/video.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Video = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _fileReaderBase = _interopRequireDefault(__webpack_require__(/*! ../file-reader-base */ "../assets/dev/js/editor/components/browser-import/files/file-reader-base.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Video = exports.Video = /*#__PURE__*/function (_FileReaderBase) {
function Video() {
(0, _classCallCheck2.default)(this, Video);
return _callSuper(this, Video, arguments);
}
(0, _inherits2.default)(Video, _FileReaderBase);
return (0, _createClass2.default)(Video, null, [{
key: "getName",
value:
/**
* @inheritDoc
*/
function getName() {
return 'video';
}
/**
* @inheritDoc
*/
}, {
key: "mimeTypes",
get: function get() {
return ['video\\/\\w+'];
}
}]);
}(_fileReaderBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/items/item-collection.js":
/*!**********************************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/items/item-collection.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _item = _interopRequireDefault(__webpack_require__(/*! ./item */ "../assets/dev/js/editor/components/browser-import/items/item.js"));
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, 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, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
var ItemCollection = exports["default"] = /*#__PURE__*/function () {
/**
* ItemCollection constructor.
*
* @param {Array<*>} items
*/
function ItemCollection() {
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
(0, _classCallCheck2.default)(this, ItemCollection);
/**
* The Item objects list.
*/
(0, _defineProperty2.default)(this, "items", void 0);
this.setItems(items);
}
/**
* Set the Item objects list.
*
* @param {Array<*>} items
*/
return (0, _createClass2.default)(ItemCollection, [{
key: "setItems",
value: function setItems() {
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var _iterator = _createForOfIteratorHelper(items),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var item = _step.value;
if (!(item instanceof _item.default)) {
throw new Error('ItemCollection can only contain Item objects');
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
this.items = items;
}
/**
* Get the Item objects list.
*
* @return {[]} items
*/
}, {
key: "getItems",
value: function getItems() {
return this.items;
}
/**
* Get files of all items.
*
* @return {[]} files
*/
}, {
key: "getFiles",
value: function getFiles() {
return this.items.map(function (item) {
return item.getFile();
});
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/items/item.js":
/*!***********************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/items/item.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _isInstanceof = _interopRequireDefault(__webpack_require__(/*! ../../../utils/is-instanceof */ "../assets/dev/js/editor/utils/is-instanceof.js"));
var _mime = _interopRequireDefault(__webpack_require__(/*! mime */ "../node_modules/mime/index.js"));
/**
* @typedef {import('../files/file-parser-base')} FileParserBase
* @typedef {import('../files/file-reader-base')} FileReaderBase
*/
var Item = exports["default"] = /*#__PURE__*/function () {
/**
* The Item constructor.
*
* @param {*} input
* @param {*} options
*/
function Item(input) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
(0, _classCallCheck2.default)(this, Item);
/**
* The item File object.
*
* @type {File}
*/
(0, _defineProperty2.default)(this, "file", void 0);
/**
* The Item options list.
*
* @type {{}}
*/
(0, _defineProperty2.default)(this, "options", {});
this.file = this.toFile(input);
this.options = options;
}
/**
* Convert the input into a File object.
*
* @param {*} input
* @return {File} file
*/
return (0, _createClass2.default)(Item, [{
key: "toFile",
value: function toFile(input) {
if (!(0, _isInstanceof.default)(input, File)) {
var _this$options = this.options,
fileName = _this$options.fileName,
type = _this$options.type,
options = {
type: type || input.type
};
// When the input is not a Blob object, use the mime-type from the options to generate the file.
input = new File(Array.isArray(input) ? input : [input], fileName || this.constructor.createFileName(options), options);
}
return input;
}
/**
* Create a random file name from a Blob/File object while using the suitable extension for the blob mime-type.
*
* @param {*} blob
* @return {string} file name
*/
}, {
key: "getFile",
value:
/**
* Get the item File object.
*
* @return {File} file
*/
function getFile() {
return this.file;
}
/**
* Get the file-reader of the Item.
*
* @return {FileReaderBase} reader
*/
}, {
key: "getReader",
value: function getReader() {
return this.options.reader;
}
/**
* Get the file-parser of the Item.
*
* @return {FileParserBase} parser
*/
}, {
key: "getParser",
value: function getParser() {
return this.options.parser;
}
/**
* Set the file-reader of the Item.
*
* @param {FileReaderBase} reader
*/
}, {
key: "setReader",
value: function setReader(reader) {
this.options.reader = reader;
}
/**
* Set the file-parser of the Item.
*
* @param {FileParserBase} parser
*/
}, {
key: "setParser",
value: function setParser(parser) {
this.options.parser = parser;
}
}], [{
key: "createFileName",
value: function createFileName(blob) {
return [elementorCommon.helpers.getUniqueId(), _mime.default.getExtension(blob.type)].join('.');
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/manager.js":
/*!********************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/manager.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../assets/dev/js/editor/components/browser-import/component.js"));
var _defaultConfig = _interopRequireDefault(__webpack_require__(/*! ./default-config */ "../assets/dev/js/editor/components/browser-import/default-config.js"));
var _itemCollection = _interopRequireDefault(__webpack_require__(/*! elementor-editor/components/browser-import/items/item-collection */ "../assets/dev/js/editor/components/browser-import/items/item-collection.js"));
var _normalizer = _interopRequireDefault(__webpack_require__(/*! ./normalizer */ "../assets/dev/js/editor/components/browser-import/normalizer.js"));
var _session = _interopRequireDefault(__webpack_require__(/*! elementor-editor/components/browser-import/session */ "../assets/dev/js/editor/components/browser-import/session.js"));
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, 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, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
/**
* @typedef {import('../../container/container')} Container
*/
/**
* @typedef {import('./files/file-reader-base')} FileReaderBase
*/
/**
* @typedef {import('./files/file-parser-base')} FileParserBase
*/
var Manager = exports["default"] = /*#__PURE__*/function (_elementorModules$edi) {
/**
* Manager constructor.
*/
function Manager() {
var _this;
(0, _classCallCheck2.default)(this, Manager);
_this = _callSuper(this, Manager);
/**
* File-readers list.
*
* @type {{}}
*/
(0, _defineProperty2.default)(_this, "readers", {});
/**
* File-parsers list according to their readers.
*
* @type {{}}
*/
(0, _defineProperty2.default)(_this, "parsers", {});
_this.normalizer = new _normalizer.default(_this);
$e.components.register(new _component.default({
manager: _this
}));
_this.parseConfig(_defaultConfig.default);
return _this;
}
/**
* Parse the config for the Manager.
*
* @param {*} config
*/
(0, _inherits2.default)(Manager, _elementorModules$edi);
return (0, _createClass2.default)(Manager, [{
key: "parseConfig",
value: function parseConfig() {
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var _iterator = _createForOfIteratorHelper(config.readers || {}),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _reader$isActive, _reader$isActive2;
var reader = _step.value;
var isActive = (_reader$isActive = (_reader$isActive2 = reader.isActive) === null || _reader$isActive2 === void 0 ? void 0 : _reader$isActive2.call(reader)) !== null && _reader$isActive !== void 0 ? _reader$isActive : true;
if (isActive) {
this.registerFileReader(reader);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
var _iterator2 = _createForOfIteratorHelper(config.parsers || {}),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var parser = _step2.value;
this.registerFileParser(parser);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
/**
* Create a new Session instance and normalize input if needed.
*
* @param {*} input
* @param {Container|null} target
* @param {{}} options
* @return {Session} session
*/
}, {
key: "createSession",
value: (function () {
var _createSession = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(input, target) {
var options,
_args = arguments;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
if (input instanceof _itemCollection.default) {
_context.next = 2;
break;
}
_context.next = 1;
return this.getNormalizer().normalize(input);
case 1:
input = _context.sent;
case 2:
return _context.abrupt("return", new _session.default(this, input, target, options));
case 3:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function createSession(_x, _x2) {
return _createSession.apply(this, arguments);
}
return createSession;
}()
/**
* Register a new file-reader.
*
* @param {{}} reader
*/
)
}, {
key: "registerFileReader",
value: function registerFileReader(reader) {
this.readers[reader.getName()] = reader;
}
/**
* Register a new file-parser.
*
* @param {*} parser
*/
}, {
key: "registerFileParser",
value: function registerFileParser(parser) {
var _iterator3 = _createForOfIteratorHelper(parser.getReaders()),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var readerName = _step3.value;
if (!this.readers[readerName]) {
continue;
} else if (!this.parsers[readerName]) {
this.parsers[readerName] = {};
}
this.parsers[readerName][parser.getName()] = parser;
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
}
/**
* Get the file-handler that can handle the File of the given Item.
*
* @param {*} item
* @param {boolean} instantiate
* @return {FileReaderBase|boolean} file handler
*/
}, {
key: "getReaderOf",
value: (function () {
var _getReaderOf = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(item) {
var instantiate,
file,
readerName,
readers,
_i,
_Object$values,
reader,
_args2 = arguments;
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
instantiate = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;
file = item.getFile(), readerName = item.getReader(), readers = this.getReaders(readerName);
_i = 0, _Object$values = Object.values(readers);
case 1:
if (!(_i < _Object$values.length)) {
_context2.next = 4;
break;
}
reader = _Object$values[_i];
_context2.next = 2;
return reader.validate(file);
case 2:
if (!_context2.sent) {
_context2.next = 3;
break;
}
if (!readerName) {
item.setReader(reader.getName());
}
return _context2.abrupt("return", instantiate ? new reader(file) : reader);
case 3:
_i++;
_context2.next = 1;
break;
case 4:
return _context2.abrupt("return", false);
case 5:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function getReaderOf(_x3) {
return _getReaderOf.apply(this, arguments);
}
return getReaderOf;
}()
/**
* Get the file-parser that can handle the File of the given Item.
*
* @param {*} item
* @param {boolean} instantiate
* @return {Promise<FileParserBase|boolean>} file parser
*/
)
}, {
key: "getParserOf",
value: (function () {
var _getParserOf = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(item) {
var instantiate,
reader,
parserName,
parsers,
_i2,
_Object$values2,
parser,
_args3 = arguments;
return _regenerator.default.wrap(function (_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
instantiate = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
_context3.next = 1;
return this.getReaderOf(item, true);
case 1:
reader = _context3.sent;
parserName = item.getParser();
if (!reader) {
_context3.next = 5;
break;
}
parsers = this.getParsers(reader.constructor.getName(), parserName);
_i2 = 0, _Object$values2 = Object.values(parsers);
case 2:
if (!(_i2 < _Object$values2.length)) {
_context3.next = 5;
break;
}
parser = _Object$values2[_i2];
_context3.next = 3;
return parser.validate(reader);
case 3:
if (!_context3.sent) {
_context3.next = 4;
break;
}
if (!parserName) {
item.setParser(parser.getName());
}
return _context3.abrupt("return", instantiate ? new parser(reader) : parser);
case 4:
_i2++;
_context3.next = 2;
break;
case 5:
return _context3.abrupt("return", false);
case 6:
case "end":
return _context3.stop();
}
}, _callee3, this);
}));
function getParserOf(_x4) {
return _getParserOf.apply(this, arguments);
}
return getParserOf;
}()
/**
* Resolve the mime-type for an input using the registered parsers.
*
* @param {*} input
* @return {Promise<string|boolean>} mime type, or false if not found
*/
)
}, {
key: "getMimeTypeOf",
value: (function () {
var _getMimeTypeOf = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(input) {
var _i3, _Object$values3, reader, mimeType;
return _regenerator.default.wrap(function (_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_i3 = 0, _Object$values3 = Object.values(this.getReaders());
case 1:
if (!(_i3 < _Object$values3.length)) {
_context4.next = 4;
break;
}
reader = _Object$values3[_i3];
_context4.next = 2;
return reader.resolve(input);
case 2:
mimeType = _context4.sent;
if (!mimeType) {
_context4.next = 3;
break;
}
return _context4.abrupt("return", mimeType);
case 3:
_i3++;
_context4.next = 1;
break;
case 4:
return _context4.abrupt("return", false);
case 5:
case "end":
return _context4.stop();
}
}, _callee4, this);
}));
function getMimeTypeOf(_x5) {
return _getMimeTypeOf.apply(this, arguments);
}
return getMimeTypeOf;
}()
/**
* Get the Normalizer instance.
*
* @return {Normalizer} normalizer
*/
)
}, {
key: "getNormalizer",
value: function getNormalizer() {
return this.normalizer;
}
/**
* Get all registered file-readers.
*
* @param {*|Array<*>} readers
* @return {{}} registered file readers
*/
}, {
key: "getReaders",
value: function getReaders() {
var _this2 = this;
var readers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
readers = Array.isArray(readers) ? readers : [readers];
if (!readers.length) {
return this.readers;
}
return Object.fromEntries(readers.filter(function (reader) {
return reader in _this2.readers;
}).map(function (reader) {
return [reader, _this2.readers[reader]];
}));
}
/**
* Get all registered file-parsers, unless a reader name is specified, in which case its parsers are returned.
*
* @param {*} reader
* @param {*} parsers
* @return {{}} parsers
*/
}, {
key: "getParsers",
value: function getParsers(reader) {
var _this3 = this;
var parsers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
parsers = Array.isArray(parsers) ? parsers : [parsers];
if (!parsers.length) {
return this.parsers[reader] || {};
}
return Object.fromEntries(parsers.filter(function (parser) {
return parser in _this3.parsers[reader];
}).map(function (parser) {
return [parser, _this3.parsers[reader][parser]];
}));
}
}]);
}(elementorModules.editor.utils.Module);
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/normalizer.js":
/*!***********************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/normalizer.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _isInstanceof = _interopRequireDefault(__webpack_require__(/*! ../../utils/is-instanceof */ "../assets/dev/js/editor/utils/is-instanceof.js"));
var _item = _interopRequireDefault(__webpack_require__(/*! ./items/item */ "../assets/dev/js/editor/components/browser-import/items/item.js"));
var _itemCollection = _interopRequireDefault(__webpack_require__(/*! ./items/item-collection */ "../assets/dev/js/editor/components/browser-import/items/item-collection.js"));
/**
* @typedef {import('../modules/component-base')} ComponentBase
*/
/**
* @typedef {import('./manager')} Manager
*/
var Normalizer = exports["default"] = /*#__PURE__*/function () {
/**
* Normalizer constructor.
*
* @param {Manager} manager
*/
function Normalizer(manager) {
(0, _classCallCheck2.default)(this, Normalizer);
this.manager = manager;
}
/**
* Normalize input to an ItemCollection, where each item is an Item object. This method can be used to normalize a
* vast spectrum of input types - from data url strings to blob objects, and array of them. Other kind of parsers
* can be registered to the Manager.
*
* @param {*} input
* @return {Promise<ItemCollection>} result
*/
return (0, _createClass2.default)(Normalizer, [{
key: "normalize",
value: (function () {
var _normalize = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(input) {
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!(input instanceof _itemCollection.default)) {
input = this.toItemCollection(input);
}
return _context.abrupt("return", input);
case 1:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function normalize(_x) {
return _normalize.apply(this, arguments);
}
return normalize;
}()
/**
* Convert an single or multiple input subjects into a ItemCollection object. To learn more about the way each
* subject is treated, please refer the 'toItem' method.
*
* @param {*} subjects
* @return {Promise<ItemCollection>} result
*/
)
}, {
key: "toItemCollection",
value: (function () {
var _toItemCollection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(subjects) {
var _this = this;
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (!Array.isArray(subjects)) {
subjects = (0, _isInstanceof.default)(subjects, FileList) || (0, _isInstanceof.default)(subjects, DataTransferItemList) ? Array.from(subjects) : [subjects];
}
return _context2.abrupt("return", Promise.all(subjects.map(function (subject) {
// Creating a ItemCollection can only be made with an array of Item objects. Therefore, unless the
// subject is an Item object, we should transform it into one.
if (!(subject instanceof _item.default)) {
subject = _this.toItem(subject);
}
return subject;
})).then(function (items) {
return new _itemCollection.default(items);
}));
case 1:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function toItemCollection(_x2) {
return _toItemCollection.apply(this, arguments);
}
return toItemCollection;
}()
/**
* Convert a single subject into an Item object.
*
* @param {*} subject
* @return {Promise<Item>} result
*/
)
}, {
key: "toItem",
value: (function () {
var _toItem = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(subject) {
var mimeType, _t;
return _regenerator.default.wrap(function (_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
if ((0, _isInstanceof.default)(subject, [Blob, File, DataTransferItem])) {
_context3.next = 7;
break;
}
_context3.prev = 1;
// In order to check whether it's a data url string, we're trying to decode it. If it is a data url,
// we can extract the blob later using `fetch`.
window.atob(subject.split(',')[1]);
_context3.next = 5;
break;
case 2:
_context3.prev = 2;
_t = _context3["catch"](1);
_context3.next = 3;
return this.manager.getMimeTypeOf(subject);
case 3:
mimeType = _context3.sent;
if (!mimeType) {
_context3.next = 4;
break;
}
subject = this.constructor.createDataUrl(subject, mimeType);
_context3.next = 5;
break;
case 4:
throw new Error('The input provided cannot be resolved');
case 5:
_context3.next = 6;
return fetch(subject).then(function (res) {
return res.blob();
});
case 6:
subject = _context3.sent;
case 7:
return _context3.abrupt("return", new _item.default(subject));
case 8:
case "end":
return _context3.stop();
}
}, _callee3, this, [[1, 2]]);
}));
function toItem(_x3) {
return _toItem.apply(this, arguments);
}
return toItem;
}()
/**
* A utility for creating a data url string functionally.
*
* @param {string} data
* @param {string|undefined} mimeType
* @param {boolean} base64
* @return {string} data URI
*/
)
}], [{
key: "createDataUrl",
value: function createDataUrl(data) {
var mimeType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var base64 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
if (base64) {
data = "base64,".concat(btoa(data));
}
if (mimeType) {
mimeType += ';';
}
return "data:".concat(mimeType || '').concat(data);
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/browser-import/session.js":
/*!********************************************************************!*\
!*** ../assets/dev/js/editor/components/browser-import/session.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, 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, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
/**
* @typedef {import('../../container/container')} Container
*/
/**
* @typedef {import('./manager')} Manager
*/
/**
* @typedef {import('./items/item-collection')} ItemCollection
*/
var Session = exports["default"] = /*#__PURE__*/function () {
/**
* Session constructor.
*
* @param {Manager} manager
* @param {ItemCollection|null} itemCollection
* @param {Container|null} target
* @param {{}} options
*/
function Session(manager) {
var itemCollection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var target = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
(0, _classCallCheck2.default)(this, Session);
/**
* The Manager instance.
*
* @type {Manager}
*/
(0, _defineProperty2.default)(this, "manager", void 0);
/**
* The ItemCollection instance.
*
* @type {ItemCollection}
*/
(0, _defineProperty2.default)(this, "itemCollection", void 0);
/**
* The Target instance.
*
* @type {Container}
*/
(0, _defineProperty2.default)(this, "target", void 0);
/**
* The Session options.
*
* @type {{}}
*/
(0, _defineProperty2.default)(this, "options", {
target: {}
});
this.manager = manager;
this.itemCollection = itemCollection;
this.target = target;
Object.assign(this.options, options);
}
/**
* Validate all files in this session can be handled.
*
* @return {boolean} true if all items are valid
*/
return (0, _createClass2.default)(Session, [{
key: "validate",
value: (function () {
var _validate = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var _iterator, _step, item, _t;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_iterator = _createForOfIteratorHelper(this.itemCollection.getItems());
_context.prev = 1;
_iterator.s();
case 2:
if ((_step = _iterator.n()).done) {
_context.next = 5;
break;
}
item = _step.value;
_context.next = 3;
return this.manager.getReaderOf(item);
case 3:
if (_context.sent) {
_context.next = 4;
break;
}
return _context.abrupt("return", false);
case 4:
_context.next = 2;
break;
case 5:
_context.next = 7;
break;
case 6:
_context.prev = 6;
_t = _context["catch"](1);
_iterator.e(_t);
case 7:
_context.prev = 7;
_iterator.f();
return _context.finish(7);
case 8:
return _context.abrupt("return", true);
case 9:
case "end":
return _context.stop();
}
}, _callee, this, [[1, 6, 7, 8]]);
}));
function validate() {
return _validate.apply(this, arguments);
}
return validate;
}()
/**
* Handle files with a suitable file-parser.
*
* @return {Container[]} result
*/
)
}, {
key: "apply",
value: (function () {
var _apply = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
var _this = this;
var parsed, _iterator2, _step2, item, parser, _t2;
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
parsed = [];
_iterator2 = _createForOfIteratorHelper(this.itemCollection.getItems());
_context2.prev = 1;
_iterator2.s();
case 2:
if ((_step2 = _iterator2.n()).done) {
_context2.next = 6;
break;
}
item = _step2.value;
_context2.next = 3;
return this.manager.getParserOf(item, true);
case 3:
parser = _context2.sent;
if (!parser) {
_context2.next = 4;
break;
}
parsed.push(parser.parse());
_context2.next = 5;
break;
case 4:
throw new Error('An error occurred when trying to parse the input');
case 5:
_context2.next = 2;
break;
case 6:
_context2.next = 8;
break;
case 7:
_context2.prev = 7;
_t2 = _context2["catch"](1);
_iterator2.e(_t2);
case 8:
_context2.prev = 8;
_iterator2.f();
return _context2.finish(8);
case 9:
return _context2.abrupt("return", Promise.all(parsed).then(function (result) {
return _this.resolve(result.flat());
}));
case 10:
case "end":
return _context2.stop();
}
}, _callee2, this, [[1, 7, 8, 9]]);
}));
function apply() {
return _apply.apply(this, arguments);
}
return apply;
}()
/**
* Resolve containers to fulfill their purpose.
*
* @param {*} containers
* @return {*} result
*/
)
}, {
key: "resolve",
value: function resolve(containers) {
var _this2 = this;
if (Object.values(containers).some(function (element) {
return 'section' === element.model.get('elType');
})) {
this.target = elementor.getPreviewContainer();
}
// eslint-disable-next-line array-callback-return
return containers.map(function (element) {
switch (element.type) {
case 'container':
case 'section':
case 'column':
case 'e-div-block':
case 'widget':
return _this2.target.view.createElementFromModel(element.model, Object.assign(_this2.options.target, {
event: _this2.options.event,
scrollIntoView: 0 === containers.indexOf(element)
}));
}
});
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/close.js":
/*!**********************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/close.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Close = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Close = exports.Close = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Close() {
(0, _classCallCheck2.default)(this, Close);
return _callSuper(this, Close, arguments);
}
(0, _inherits2.default)(Close, _$e$modules$CommandBa);
return (0, _createClass2.default)(Close, [{
key: "validateArgs",
value: function validateArgs(args) {
this.requireArgument('id', args);
}
}, {
key: "apply",
value: function () {
var _apply = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(args) {
var id, mode, onClose, document, deferred, _t;
return _regenerator.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); // Already closed.
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: 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: 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: __('You are leaving to a separate site part.', 'elementor'),
message: __('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: __('Save & leave', 'elementor'),
cancel: __('Don\'t leave', 'elementor')
},
onHide: function onHide() {
// If still not action chosen. use `defer` because onHide is called before onConfirm/onCancel.
_.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';
// Re-run with same args.
$e.run('editor/documents/close', _this.args).then(function () {
deferred.resolve();
});
}
});
return this.confirmDialog;
}
}]);
}($e.modules.CommandBase);
var _default = exports["default"] = Close;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/index.js":
/*!**********************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/index.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Close", ({
enumerable: true,
get: function get() {
return _close.Close;
}
}));
Object.defineProperty(exports, "Open", ({
enumerable: true,
get: function get() {
return _open.Open;
}
}));
Object.defineProperty(exports, "Preview", ({
enumerable: true,
get: function get() {
return _preview.Preview;
}
}));
Object.defineProperty(exports, "Switch", ({
enumerable: true,
get: function get() {
return _switch.Switch;
}
}));
Object.defineProperty(exports, "View", ({
enumerable: true,
get: function get() {
return _view.View;
}
}));
var _close = __webpack_require__(/*! ./close */ "../assets/dev/js/editor/components/documents/commands/close.js");
var _open = __webpack_require__(/*! ./open */ "../assets/dev/js/editor/components/documents/commands/open.js");
var _preview = __webpack_require__(/*! ./preview */ "../assets/dev/js/editor/components/documents/commands/preview.js");
var _view = __webpack_require__(/*! ./view */ "../assets/dev/js/editor/components/documents/commands/view.js");
var _switch = __webpack_require__(/*! ./switch */ "../assets/dev/js/editor/components/documents/commands/switch.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/internal/attach-preview.js":
/*!****************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/internal/attach-preview.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.AttachPreview = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _excluded = ["shouldNavigateToDefaultRoute"];
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var AttachPreview = exports.AttachPreview = /*#__PURE__*/function (_$e$modules$CommandIn) {
function AttachPreview() {
(0, _classCallCheck2.default)(this, AttachPreview);
return _callSuper(this, AttachPreview, arguments);
}
(0, _inherits2.default)(AttachPreview, _$e$modules$CommandIn);
return (0, _createClass2.default)(AttachPreview, [{
key: "validateArgs",
value: function validateArgs() {
var args = arguments.length > 0 && arguments[0] !== undefined ? 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] !== undefined ? arguments[0] : {};
var _ref$shouldNavigateTo = _ref.shouldNavigateToDefaultRoute,
shouldNavigateToDefaultRoute = _ref$shouldNavigateTo === void 0 ? true : _ref$shouldNavigateTo,
args = (0, _objectWithoutProperties2.default)(_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,
selector = _args$selector === void 0 ? '.elementor-' + document.id : _args$selector,
_args$shouldScroll = args.shouldScroll,
shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll;
return new Promise(function (resolve, reject) {
// Not yet loaded.
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);
var _default = exports["default"] = AttachPreview;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/internal/index.js":
/*!*******************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/internal/index.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "AttachPreview", ({
enumerable: true,
get: function get() {
return _attachPreview.AttachPreview;
}
}));
Object.defineProperty(exports, "Load", ({
enumerable: true,
get: function get() {
return _load.Load;
}
}));
Object.defineProperty(exports, "Unload", ({
enumerable: true,
get: function get() {
return _unload.Unload;
}
}));
var _attachPreview = __webpack_require__(/*! ./attach-preview */ "../assets/dev/js/editor/components/documents/commands/internal/attach-preview.js");
var _load = __webpack_require__(/*! ./load */ "../assets/dev/js/editor/components/documents/commands/internal/load.js");
var _unload = __webpack_require__(/*! ./unload */ "../assets/dev/js/editor/components/documents/commands/internal/unload.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/internal/load.js":
/*!******************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/internal/load.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Load = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _document = _interopRequireDefault(__webpack_require__(/*! ../../document */ "../assets/dev/js/editor/components/documents/document.js"));
var _heartbeat = _interopRequireDefault(__webpack_require__(/*! elementor-editor-utils/heartbeat */ "../assets/dev/js/editor/utils/heartbeat.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Load = exports.Load = /*#__PURE__*/function (_$e$modules$CommandIn) {
function Load() {
(0, _classCallCheck2.default)(this, Load);
return _callSuper(this, Load, arguments);
}
(0, _inherits2.default)(Load, _$e$modules$CommandIn);
return (0, _createClass2.default)(Load, [{
key: "validateArgs",
value: function validateArgs() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
this.requireArgument('config', args);
}
}, {
key: "apply",
value: function apply(args) {
var config = args.config,
_args$setAsInitial = args.setAsInitial,
setAsInitial = _args$setAsInitial === void 0 ? false : _args$setAsInitial,
_args$shouldScroll = args.shouldScroll,
shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll,
_args$shouldNavigateT = args.shouldNavigateToDefaultRoute,
shouldNavigateToDefaultRoute = _args$shouldNavigateT === void 0 ? true : _args$shouldNavigateT;
if (elementorCommon.config.experimentalFeatures.additional_custom_breakpoints) {
// When the Responsive Optimization experiment is active, the responsive controls are generated on the
// JS side instead of the PHP.
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.default(config);
elementor.documents.add(document);
// Must set current before create a container.
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();
// Reference container back to document.
document.container.document = document;
elementor.heartbeat = new _heartbeat.default(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) {
// TODO: Find better solution - Fix issue when globals does not render after saving from kit.
// The issue is that the css-parser is depends upon cache and cache is not available during this time.
return $e.data.get('globals/index').then(function () {
if (setAsInitial) {
// There is no need to attach preview when the iframe is reloaded. It will be triggered
// automatically after the iframe finishes loading (see `EditorBase.onPreviewLoaded()`).
elementor.reloadPreview();
return Promise.resolve();
}
return $e.internal('editor/documents/attach-preview', {
shouldScroll: shouldScroll,
shouldNavigateToDefaultRoute: shouldNavigateToDefaultRoute,
selector: args.selector
});
});
}
return Promise.resolve(document);
}
}]);
}($e.modules.CommandInternalBase);
var _default = exports["default"] = Load;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/internal/unload.js":
/*!********************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/internal/unload.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Unload = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _document = _interopRequireDefault(__webpack_require__(/*! ../../document */ "../assets/dev/js/editor/components/documents/document.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Unload = exports.Unload = /*#__PURE__*/function (_$e$modules$CommandIn) {
function Unload() {
(0, _classCallCheck2.default)(this, Unload);
return _callSuper(this, Unload, arguments);
}
(0, _inherits2.default)(Unload, _$e$modules$CommandIn);
return (0, _createClass2.default)(Unload, [{
key: "validateArgs",
value: function validateArgs() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
this.requireArgumentConstructor('document', _document.default, 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);
var _default = exports["default"] = Unload;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/open.js":
/*!*********************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/open.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Open = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Open = exports.Open = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Open() {
(0, _classCallCheck2.default)(this, Open);
return _callSuper(this, Open, arguments);
}
(0, _inherits2.default)(Open, _$e$modules$CommandBa);
return (0, _createClass2.default)(Open, [{
key: "validateArgs",
value: function validateArgs(args) {
this.requireArgument('id', args);
}
}, {
key: "apply",
value: function apply(args) {
var id = args.id,
selector = args.selector,
_args$shouldScroll = args.shouldScroll,
shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll,
_args$shouldNavigateT = args.shouldNavigateToDefaultRoute,
shouldNavigateToDefaultRoute = _args$shouldNavigateT === void 0 ? true : _args$shouldNavigateT,
_args$setAsInitial = args.setAsInitial,
setAsInitial = _args$setAsInitial === void 0 ? false : _args$setAsInitial,
currentDocument = elementor.documents.getCurrent();
// Already opened.
if (currentDocument && id === currentDocument.id) {
return jQuery.Deferred().resolve();
}
// TODO: move to $e.hooks.ui.
if (elementor.loaded) {
elementor.$previewContents.find(".elementor-".concat(id)).addClass('loading');
}
if (setAsInitial) {
// Set the new initial document id to be sent with all requests.
// The next request needs to have the new initial document id in order to have the correct preview URL.
elementorCommon.ajax.addRequestConstant('initial_document_id', id);
// Because the initial document has changed, we need to clear cached values (e.g. header wp_preview URL),
elementor.documents.invalidateCache();
}
return elementor.documents.request(id).then(function (config) {
elementorCommon.elements.$body.addClass("elementor-editor-".concat(config.type));
// Tell the editor to load the document.
return $e.internal('editor/documents/load', {
config: config,
selector: selector,
setAsInitial: setAsInitial,
shouldScroll: shouldScroll,
shouldNavigateToDefaultRoute: shouldNavigateToDefaultRoute
});
}).always(function () {
// TODO: move to $e.hooks.ui.
if (elementor.loaded) {
elementor.$previewContents.find(".elementor-".concat(id)).removeClass('loading');
}
});
}
}]);
}($e.modules.CommandBase);
var _default = exports["default"] = Open;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/preview.js":
/*!************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/preview.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Preview = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Preview = exports.Preview = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Preview() {
(0, _classCallCheck2.default)(this, Preview);
return _callSuper(this, Preview, arguments);
}
(0, _inherits2.default)(Preview, _$e$modules$CommandBa);
return (0, _createClass2.default)(Preview, [{
key: "validateArgs",
value: function validateArgs(args) {
this.requireArgument('id', args);
}
// TODO: Check if blocking is required.
}, {
key: "apply",
value: function () {
var _apply = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(args) {
var id, _$e$components$get, footerSaver, document;
return _regenerator.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:
// Open immediately in order to avoid popup blockers.
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);
var _default = exports["default"] = Preview;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/switch.js":
/*!***********************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/switch.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Switch = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Switch = exports.Switch = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Switch() {
(0, _classCallCheck2.default)(this, Switch);
return _callSuper(this, Switch, arguments);
}
(0, _inherits2.default)(Switch, _$e$modules$CommandBa);
return (0, _createClass2.default)(Switch, [{
key: "validateArgs",
value: function validateArgs(args) {
this.requireArgument('id', args);
}
}, {
key: "apply",
value: function apply(args) {
var id = args.id,
mode = args.mode,
onClose = args.onClose,
_args$shouldScroll = args.shouldScroll,
shouldScroll = _args$shouldScroll === void 0 ? true : _args$shouldScroll,
_args$shouldNavigateT = args.shouldNavigateToDefaultRoute,
shouldNavigateToDefaultRoute = _args$shouldNavigateT === void 0 ? true : _args$shouldNavigateT,
_args$setAsInitial = args.setAsInitial,
setAsInitial = _args$setAsInitial === void 0 ? false : _args$setAsInitial;
if (setAsInitial) {
// Will be removed by the attach-preview after the iframe has loaded.
jQuery('#elementor-preview-loading').show();
}
return $e.run('editor/documents/close', {
id: elementor.documents.getCurrentId(),
mode: mode,
onClose: onClose,
selector: args.selector
}).then(function () {
return $e.run('editor/documents/open', {
id: id,
shouldScroll: shouldScroll,
shouldNavigateToDefaultRoute: shouldNavigateToDefaultRoute,
selector: args.selector,
setAsInitial: setAsInitial
});
}).then(function () {
elementor.getPanelView().getPages('menu').view.addExitItem();
});
}
}]);
}($e.modules.CommandBase);
var _default = exports["default"] = Switch;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/commands/view.js":
/*!*********************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/commands/view.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.View = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var View = exports.View = /*#__PURE__*/function (_$e$modules$CommandBa) {
function View() {
(0, _classCallCheck2.default)(this, View);
return _callSuper(this, View, arguments);
}
(0, _inherits2.default)(View, _$e$modules$CommandBa);
return (0, _createClass2.default)(View, [{
key: "validateArgs",
value: function validateArgs(args) {
this.requireArgument('id', args);
}
}, {
key: "apply",
value: function () {
var _apply = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(args) {
var id, document;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
id = args.id, document = elementor.documents.get(id); // Open immediately in order to avoid popup blockers.
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);
var _default = exports["default"] = View;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/component.js":
/*!*****************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/component.js ***!
\*****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-base */ "../modules/web-cli/assets/js/modules/component-base.js"));
var _document = _interopRequireDefault(__webpack_require__(/*! ./document */ "../assets/dev/js/editor/components/documents/document.js"));
var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../assets/dev/js/editor/components/documents/commands/index.js"));
var internalCommands = _interopRequireWildcard(__webpack_require__(/*! ./commands/internal/ */ "../assets/dev/js/editor/components/documents/commands/internal/index.js"));
var hooks = _interopRequireWildcard(__webpack_require__(/*! ./hooks */ "../assets/dev/js/editor/components/documents/hooks/index.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
var Component = exports["default"] = /*#__PURE__*/function (_ComponentBase) {
function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}
(0, _inherits2.default)(Component, _ComponentBase);
return (0, _createClass2.default)(Component, [{
key: "__construct",
value: function __construct() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
_superPropGet(Component, "__construct", this, 3)([args]);
/**
* All the documents.
*
* @type {Object.<Document>}
*/
this.documents = {};
/**
* Current document.
*
* @type {Document}
*/
this.currentDocument = null;
this.saveInitialDocumentToCache();
}
}, {
key: "getNamespace",
value: function getNamespace() {
return 'editor/documents';
}
}, {
key: "defaultCommands",
value: function defaultCommands() {
return this.importCommands(commands);
}
}, {
key: "defaultHooks",
value: function defaultHooks() {
return this.importHooks(hooks);
}
}, {
key: "defaultCommandsInternal",
value: function defaultCommandsInternal() {
return this.importCommands(internalCommands);
}
/**
* Function add().
*
* Add's document to the manager.
*
* @param {Document} document
*
* @return {Document} document
*/
}, {
key: "add",
value: function add(document) {
var id = document.id;
// Save the document.
this.documents[id] = document;
return document;
}
/**
* Function addDocumentByConfig().
*
* Add document to manager by config.
*
* @param {{}} config
*
* @return {Document} document
*/
}, {
key: "addDocumentByConfig",
value: function addDocumentByConfig(config) {
return this.add(new _document.default(config));
}
/**
* Function get().
*
* Get document by id.
*
* @param {number} id
*
* @return {Document|boolean} document, or false if doesn't exist
*/
}, {
key: "get",
value: function get(id) {
if (undefined !== this.documents[id]) {
return this.documents[id];
}
return false;
}
/**
* Function getCurrent().
*
* Return's current document.
*
* @return {Document} document
*/
}, {
key: "getCurrent",
value: function getCurrent() {
return this.currentDocument;
}
/**
* Function getCurrentId().
*
* Return's current document id.
*
* @return {number} document id
*/
}, {
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);
}
/**
* Function setCurrent().
*
* set current document by document instance.
*
* @param {Document} document
*/
}, {
key: "setCurrent",
value: function setCurrent(document) {
if (undefined === 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] !== undefined ? 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: 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 += ' ' + __('Cannot load editor', 'elementor');
}
} else if (data[0] && data[0].code) {
message = __('Server Error', 'elementor') + ' ' + data[0].code;
}
// eslint-disable-next-line no-alert
alert(message);
}
};
}
/**
* Temp: Don't request initial document via ajax.
* Keep the event `elementor:init` before `preview:loaded`.
*/
}, {
key: "saveInitialDocumentToCache",
value: function saveInitialDocumentToCache() {
var document = elementor.config.initial_document;
elementorCommon.ajax.addRequestCache(this.getRequestArgs(document.id), document);
}
}]);
}(_componentBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/document.js":
/*!****************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/document.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _manager = _interopRequireDefault(__webpack_require__(/*! elementor/modules/history/assets/js/history/manager */ "../modules/history/assets/js/history/manager.js"));
var _manager2 = _interopRequireDefault(__webpack_require__(/*! elementor/modules/history/assets/js/revisions/manager */ "../modules/history/assets/js/revisions/manager.js"));
var _editor = _interopRequireDefault(__webpack_require__(/*! ./models/editor */ "../assets/dev/js/editor/components/documents/models/editor.js"));
/**
* @typedef {import('../../container/container')} Container
*/
var Document = exports["default"] = /*#__PURE__*/function () {
/**
* Function constructor().
*
* Create document.
*
* @param {{}} config
*/
function Document(config) {
(0, _classCallCheck2.default)(this, Document);
/**
* Document id.
*
* @type {number|null}
*/
(0, _defineProperty2.default)(this, "id", null);
/**
* History of the document.
*
* @type {HistoryManager}
*/
(0, _defineProperty2.default)(this, "history", null);
/**
* Revisions of the document.
*
* @type {RevisionsManager}
*/
(0, _defineProperty2.default)(this, "revisions", null);
/**
* Current container.
*
* @type {Container}
*/
(0, _defineProperty2.default)(this, "container", null);
/**
* Editor Settings.
*
* @type {Editor}
*/
(0, _defineProperty2.default)(this, "editor", new _editor.default());
this.config = config;
this.id = config.id;
this.history = new _manager.default(this);
this.revisions = new _manager2.default(this);
}
return (0, _createClass2.default)(Document, [{
key: "isDraft",
value: function isDraft() {
return this.config.revisions.current_id !== this.config.id;
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/index.js":
/*!*******************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/index.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "ClearDynamicTagsCache", ({
enumerable: true,
get: function get() {
return _clearDynamicTagsCache.ClearDynamicTagsCache;
}
}));
Object.defineProperty(exports, "RemoveActiveDocumentQueryParam", ({
enumerable: true,
get: function get() {
return _removeActiveDocumentQueryParam.RemoveActiveDocumentQueryParam;
}
}));
Object.defineProperty(exports, "RemoveActiveTabQueryParam", ({
enumerable: true,
get: function get() {
return _removeActiveTabQueryParam.RemoveActiveTabQueryParam;
}
}));
Object.defineProperty(exports, "RemoveActiveTabQueryParamBack", ({
enumerable: true,
get: function get() {
return _removeActiveTabQueryParamBack.RemoveActiveTabQueryParamBack;
}
}));
Object.defineProperty(exports, "SetActiveDocumentQueryParam", ({
enumerable: true,
get: function get() {
return _setActiveDocumentQueryParam.SetActiveDocumentQueryParam;
}
}));
Object.defineProperty(exports, "SwitchToActiveDocument", ({
enumerable: true,
get: function get() {
return _switchToActiveDocument.SwitchToActiveDocument;
}
}));
Object.defineProperty(exports, "SwitchToActiveTab", ({
enumerable: true,
get: function get() {
return _switchToActiveTab.SwitchToActiveTab;
}
}));
var _removeActiveDocumentQueryParam = __webpack_require__(/*! ./ui/close/remove-active-document-query-param */ "../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-document-query-param.js");
var _setActiveDocumentQueryParam = __webpack_require__(/*! ./ui/open/set-active-document-query-param */ "../assets/dev/js/editor/components/documents/hooks/ui/open/set-active-document-query-param.js");
var _clearDynamicTagsCache = __webpack_require__(/*! ./ui/open/clear-dynamic-tags-cache */ "../assets/dev/js/editor/components/documents/hooks/ui/open/clear-dynamic-tags-cache.js");
var _switchToActiveDocument = __webpack_require__(/*! ./ui/attach-preview/switch-to-active-document */ "../assets/dev/js/editor/components/documents/hooks/ui/attach-preview/switch-to-active-document.js");
var _switchToActiveTab = __webpack_require__(/*! ./ui/switch/switch-to-active-tab */ "../assets/dev/js/editor/components/documents/hooks/ui/switch/switch-to-active-tab.js");
var _removeActiveTabQueryParam = __webpack_require__(/*! ./ui/close/remove-active-tab-query-param */ "../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param.js");
var _removeActiveTabQueryParamBack = __webpack_require__(/*! ./ui/close/remove-active-tab-query-param-back */ "../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param-back.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/ui/attach-preview/switch-to-active-document.js":
/*!*********************************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/ui/attach-preview/switch-to-active-document.js ***!
\*********************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.SwitchToActiveDocument = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _queryParams = __webpack_require__(/*! elementor-editor-utils/query-params */ "../assets/dev/js/editor/utils/query-params.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
/**
* 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 = exports.SwitchToActiveDocument = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
function SwitchToActiveDocument() {
(0, _classCallCheck2.default)(this, SwitchToActiveDocument);
return _callSuper(this, SwitchToActiveDocument, arguments);
}
(0, _inherits2.default)(SwitchToActiveDocument, _$e$modules$hookUI$Af);
return (0, _createClass2.default)(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 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var activeDocumentId, isLoadedAlready, _t;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
this.constructor.calledOnce = true;
activeDocumentId = parseInt((0, _queryParams.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;
_t = _context["catch"](1);
$e.run('editor/documents/switch', {
id: elementor.config.initial_document.id,
mode: 'autosave'
});
(0, _queryParams.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);
(0, _defineProperty2.default)(SwitchToActiveDocument, "calledOnce", false);
var _default = exports["default"] = SwitchToActiveDocument;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-document-query-param.js":
/*!*********************************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-document-query-param.js ***!
\*********************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.RemoveActiveDocumentQueryParam = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _queryParams = __webpack_require__(/*! elementor-editor-utils/query-params */ "../assets/dev/js/editor/utils/query-params.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var RemoveActiveDocumentQueryParam = exports.RemoveActiveDocumentQueryParam = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
function RemoveActiveDocumentQueryParam() {
(0, _classCallCheck2.default)(this, RemoveActiveDocumentQueryParam);
return _callSuper(this, RemoveActiveDocumentQueryParam, arguments);
}
(0, _inherits2.default)(RemoveActiveDocumentQueryParam, _$e$modules$hookUI$Af);
return (0, _createClass2.default)(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((0, _queryParams.getQueryParam)('active-document')),
closedDocumentId = parseInt(args.id);
if (activeDocumentId === closedDocumentId) {
(0, _queryParams.removeQueryParam)('active-document');
}
args.previous_active_document_id = activeDocumentId;
}
}]);
}($e.modules.hookUI.After);
var _default = exports["default"] = RemoveActiveDocumentQueryParam;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param-back.js":
/*!*********************************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param-back.js ***!
\*********************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.RemoveActiveTabQueryParamBack = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _queryParams = __webpack_require__(/*! elementor-editor-utils/query-params */ "../assets/dev/js/editor/utils/query-params.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var RemoveActiveTabQueryParamBack = exports.RemoveActiveTabQueryParamBack = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
function RemoveActiveTabQueryParamBack() {
(0, _classCallCheck2.default)(this, RemoveActiveTabQueryParamBack);
return _callSuper(this, RemoveActiveTabQueryParamBack, arguments);
}
(0, _inherits2.default)(RemoveActiveTabQueryParamBack, _$e$modules$hookUI$Af);
return (0, _createClass2.default)(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() {
var activeTab = (0, _queryParams.getQueryParam)('active-tab');
if (activeTab) {
(0, _queryParams.removeQueryParam)('active-tab');
}
}
}]);
}($e.modules.hookUI.After);
var _default = exports["default"] = RemoveActiveTabQueryParamBack;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param.js":
/*!****************************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/ui/close/remove-active-tab-query-param.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.RemoveActiveTabQueryParam = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _queryParams = __webpack_require__(/*! elementor-editor-utils/query-params */ "../assets/dev/js/editor/utils/query-params.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var RemoveActiveTabQueryParam = exports.RemoveActiveTabQueryParam = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
function RemoveActiveTabQueryParam() {
(0, _classCallCheck2.default)(this, RemoveActiveTabQueryParam);
return _callSuper(this, RemoveActiveTabQueryParam, arguments);
}
(0, _inherits2.default)(RemoveActiveTabQueryParam, _$e$modules$hookUI$Af);
return (0, _createClass2.default)(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 = (0, _queryParams.getQueryParam)('active-tab'),
activeDocumentId = parseInt(args.previous_active_document_id),
closedDocumentId = parseInt(args.id);
if (activeDocumentId === closedDocumentId && activeTab) {
(0, _queryParams.removeQueryParam)('active-tab');
}
}
}]);
}($e.modules.hookUI.After);
var _default = exports["default"] = RemoveActiveTabQueryParam;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/ui/open/clear-dynamic-tags-cache.js":
/*!**********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/ui/open/clear-dynamic-tags-cache.js ***!
\**********************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.ClearDynamicTagsCache = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var ClearDynamicTagsCache = exports.ClearDynamicTagsCache = /*#__PURE__*/function (_$e$modules$hookUI$Be) {
function ClearDynamicTagsCache() {
(0, _classCallCheck2.default)(this, ClearDynamicTagsCache);
return _callSuper(this, ClearDynamicTagsCache, arguments);
}
(0, _inherits2.default)(ClearDynamicTagsCache, _$e$modules$hookUI$Be);
return (0, _createClass2.default)(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);
var _default = exports["default"] = ClearDynamicTagsCache;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/ui/open/set-active-document-query-param.js":
/*!*****************************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/ui/open/set-active-document-query-param.js ***!
\*****************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.SetActiveDocumentQueryParam = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _queryParams = __webpack_require__(/*! elementor-editor-utils/query-params */ "../assets/dev/js/editor/utils/query-params.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var SetActiveDocumentQueryParam = exports.SetActiveDocumentQueryParam = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
function SetActiveDocumentQueryParam() {
(0, _classCallCheck2.default)(this, SetActiveDocumentQueryParam);
return _callSuper(this, SetActiveDocumentQueryParam, arguments);
}
(0, _inherits2.default)(SetActiveDocumentQueryParam, _$e$modules$hookUI$Af);
return (0, _createClass2.default)(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) {
// Don't run for the initial/default document because it's redundant.
return parseInt(args.id) !== parseInt(elementor.config.initial_document.id);
}
}, {
key: "apply",
value: function apply(args) {
var id = parseInt(args.id);
if (!isNaN(id)) {
(0, _queryParams.setQueryParam)('active-document', args.id);
}
}
}]);
}($e.modules.hookUI.After);
var _default = exports["default"] = SetActiveDocumentQueryParam;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/hooks/ui/switch/switch-to-active-tab.js":
/*!********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/hooks/ui/switch/switch-to-active-tab.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.SwitchToActiveTab = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _queryParams = __webpack_require__(/*! elementor-editor-utils/query-params */ "../assets/dev/js/editor/utils/query-params.js");
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var SwitchToActiveTab = exports.SwitchToActiveTab = /*#__PURE__*/function (_$e$modules$hookUI$Af) {
function SwitchToActiveTab() {
(0, _classCallCheck2.default)(this, SwitchToActiveTab);
return _callSuper(this, SwitchToActiveTab, arguments);
}
(0, _inherits2.default)(SwitchToActiveTab, _$e$modules$hookUI$Af);
return (0, _createClass2.default)(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 = (0, _queryParams.getQueryParam)('active-tab');
if (activeTab) {
$e.route('panel/global/' + activeTab);
}
} catch (e) {
(0, _queryParams.removeQueryParam)('active-tab');
}
}
}]);
}($e.modules.hookUI.After);
(0, _defineProperty2.default)(SwitchToActiveTab, "calledOnce", false);
var _default = exports["default"] = SwitchToActiveTab;
/***/ }),
/***/ "../assets/dev/js/editor/components/documents/models/editor.js":
/*!*********************************************************************!*\
!*** ../assets/dev/js/editor/components/documents/models/editor.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var Editor = exports["default"] = /*#__PURE__*/(0, _createClass2.default)(function Editor() {
(0, _classCallCheck2.default)(this, Editor);
/**
* Editor status.
*
* @type {'open'|'closed'}
*/
(0, _defineProperty2.default)(this, "status", 'closed');
/**
* Is document still saving?.
*
* @type {boolean}
*/
(0, _defineProperty2.default)(this, "isSaving", false);
/**
* Is document changed?.
*
* @type {boolean}
*/
(0, _defineProperty2.default)(this, "isChanged", false);
/**
* Is document changed during save?.
*
* @type {boolean}
*/
(0, _defineProperty2.default)(this, "isChangedDuringSave", false);
/**
* Is document saved?
*
* @type {boolean}
*/
(0, _defineProperty2.default)(this, "isSaved", true);
/**
* Last save history id.
*
* @type {number}
*/
(0, _defineProperty2.default)(this, "lastSaveHistoryId", 0);
});
/***/ }),
/***/ "../assets/dev/js/editor/components/dynamic-tags/control-behavior.js":
/*!***************************************************************************!*\
!*** ../assets/dev/js/editor/components/dynamic-tags/control-behavior.js ***!
\***************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var TagPanelView = __webpack_require__(/*! elementor-dynamic-tags/tag-panel-view */ "../assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js");
module.exports = Marionette.Behavior.extend({
tagView: null,
listenerAttached: false,
initialize: function initialize() {
if (!this.listenerAttached) {
this.listenTo(this.view.options.container.settings, 'change:external:__dynamic__', this.onAfterExternalChange);
this.listenerAttached = true;
}
},
shouldRenderTools: function shouldRenderTools() {
var hasDefault = this.getOption('dynamicSettings').default;
if (hasDefault) {
return false;
}
var isFeatureAvailableToUser = elementor.helpers.hasPro() && !elementor.helpers.hasProAndNotConnected(),
hasTags = this.getOption('tags').length > 0;
return !isFeatureAvailableToUser || hasTags;
},
renderTools: function renderTools() {
var _this = this;
if (!this.shouldRenderTools()) {
return;
}
var $dynamicSwitcher = jQuery(Marionette.Renderer.render('#tmpl-elementor-control-dynamic-switcher'));
$dynamicSwitcher.on('click', function (event) {
return _this.onDynamicSwitcherClick(event);
});
this.$el.find('.elementor-control-dynamic-switcher-wrapper').append($dynamicSwitcher);
this.ui.dynamicSwitcher = $dynamicSwitcher;
if ('color' === this.view.model.get('type')) {
if (this.view.colorPicker) {
this.moveDynamicSwitcherToColorPicker();
} else {
setTimeout(function () {
return _this.moveDynamicSwitcherToColorPicker();
});
}
}
// Add a Tipsy Tooltip to the Dynamic Switcher
this.ui.dynamicSwitcher.tipsy({
title: function title() {
return this.getAttribute('data-tooltip');
},
gravity: 's'
});
},
moveDynamicSwitcherToColorPicker: function moveDynamicSwitcherToColorPicker() {
var $colorPickerToolsContainer = this.view.colorPicker.$pickerToolsContainer;
this.ui.dynamicSwitcher.removeClass('elementor-control-unit-1').addClass('e-control-tool');
var $eyedropper = $colorPickerToolsContainer.find('.elementor-control-element-color-picker');
if ($eyedropper.length) {
this.ui.dynamicSwitcher.insertBefore($eyedropper);
} else {
$colorPickerToolsContainer.append(this.ui.dynamicSwitcher);
}
},
toggleDynamicClass: function toggleDynamicClass() {
this.$el.toggleClass('elementor-control-dynamic-value', this.isDynamicMode());
},
isDynamicMode: function isDynamicMode() {
var dynamicSettings = this.view.container.settings.get('__dynamic__');
return !!(dynamicSettings && dynamicSettings[this.view.model.get('name')]);
},
createTagsList: function createTagsList() {
var tags = _.groupBy(this.getOption('tags'), 'group'),
groups = elementor.dynamicTags.getConfig('groups'),
$tagsList = this.ui.tagsList = jQuery('<div>', {
class: 'elementor-tags-list'
}),
$tagsListInner = jQuery('<div>', {
class: 'elementor-tags-list__inner'
});
$tagsList.append($tagsListInner);
jQuery.each(groups, function (groupName) {
var groupTags = tags[groupName];
if (!groupTags) {
return;
}
var group = this,
$groupTitle = jQuery('<div>', {
class: 'elementor-tags-list__group-title'
}).text(group.title);
$tagsListInner.append($groupTitle);
groupTags.forEach(function (tag) {
var $tag = jQuery('<div>', {
class: 'elementor-tags-list__item'
});
$tag.text(tag.title).attr('data-tag-name', tag.name);
$tagsListInner.append($tag);
});
});
// Create and inject pro dynamic teaser template if Pro is not installed
if (!elementor.helpers.hasPro() && Object.keys(tags).length) {
var proTeaser = Marionette.Renderer.render('#tmpl-elementor-dynamic-tags-promo', {
promotionUrl: elementor.config.dynamicPromotionURL.replace('%s', this.view.model.get('name'))
});
$tagsListInner.append(proTeaser);
}
$tagsListInner.on('click', '.elementor-tags-list__item', this.onTagsListItemClick.bind(this));
elementorCommon.elements.$body.append($tagsList);
},
getTagsList: function getTagsList() {
if (!this.ui.tagsList) {
this.createTagsList();
}
return this.ui.tagsList;
},
toggleTagsList: function toggleTagsList() {
var $tagsList = this.getTagsList();
if ($tagsList.is(':visible')) {
$tagsList.hide();
return;
}
var direction = elementorCommon.config.isRTL ? 'left' : 'right';
$tagsList.show().position({
my: "".concat(direction, " top"),
at: "".concat(direction, " bottom+5"),
of: this.ui.dynamicSwitcher
});
},
setTagView: function setTagView(id, name, settings) {
if (this.tagView) {
this.tagView.destroy();
}
var tagView = this.tagView = new TagPanelView({
id: id,
name: name,
settings: settings,
controlName: this.view.model.get('name'),
dynamicSettings: this.getOption('dynamicSettings')
}),
elementContainer = this.view.options.container,
tagViewLabel = elementContainer.controls[tagView.options.controlName].label;
tagView.options.container = new elementorModules.editor.Container({
type: 'dynamic',
id: id,
model: tagView.model,
settings: tagView.model,
view: tagView,
parent: elementContainer,
label: elementContainer.label + ' ' + tagViewLabel,
controls: tagView.model.options.controls,
renderer: elementContainer
});
tagView.render();
this.$el.find('.elementor-control-tag-area').after(tagView.el);
this.listenTo(tagView, 'remove', this.onTagViewRemove.bind(this));
},
setDefaultTagView: function setDefaultTagView() {
var tagData = elementor.dynamicTags.tagTextToTagData(this.getDynamicValue());
this.setTagView(tagData.id, tagData.name, tagData.settings);
},
tagViewToTagText: function tagViewToTagText() {
var tagView = this.tagView;
return elementor.dynamicTags.tagDataToTagText(tagView.getOption('id'), tagView.getOption('name'), tagView.model);
},
getDynamicValue: function getDynamicValue() {
return this.view.container.dynamic.get(this.view.model.get('name'));
},
destroyTagView: function destroyTagView() {
if (this.tagView) {
this.tagView.destroy();
this.tagView = null;
}
},
showPromotion: function showPromotion() {
var hasProAndNotConnected = elementor.helpers.hasProAndNotConnected(),
dialogOptions = {
title: __('Dynamic Content', 'elementor'),
content: __('Create more personalized and dynamic sites by populating data from various sources with dozens of dynamic tags to choose from.', 'elementor'),
targetElement: this.ui.dynamicSwitcher,
position: {
blockStart: '-10'
},
actionButton: {
url: hasProAndNotConnected ? elementorProEditorConfig.urls.connect : elementor.config.dynamicPromotionURL.replace('%s', this.view.model.get('name')),
text: hasProAndNotConnected ? __('Connect & Activate', 'elementor') : __('Upgrade', 'elementor')
}
};
elementor.promotion.showDialog(dialogOptions);
},
onRender: function onRender() {
this.$el.addClass('elementor-control-dynamic');
this.renderTools();
this.toggleDynamicClass();
if (this.isDynamicMode()) {
this.setDefaultTagView();
}
},
onDynamicSwitcherClick: function onDynamicSwitcherClick(event) {
event.stopPropagation();
if (this.getOption('tags').length) {
this.toggleTagsList();
} else {
this.showPromotion();
}
},
onTagsListItemClick: function onTagsListItemClick(event) {
var $tag = jQuery(event.currentTarget);
this.setTagView(elementorCommon.helpers.getUniqueId(), $tag.data('tagName'), {});
// If an element has an active global value, disable it before applying the dynamic value.
if (this.view.getGlobalKey()) {
this.view.triggerMethod('unset:global:value');
}
if (this.isDynamicMode()) {
$e.run('document/dynamic/settings', {
container: this.view.options.container,
settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText())
});
} else {
$e.run('document/dynamic/enable', {
container: this.view.options.container,
settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText())
});
}
this.toggleDynamicClass();
this.toggleTagsList();
if (this.tagView.getTagConfig().settings_required) {
this.tagView.showSettingsPopup();
}
},
onTagViewRemove: function onTagViewRemove() {
$e.run('document/dynamic/disable', {
container: this.view.options.container,
settings: (0, _defineProperty2.default)({}, this.view.model.get('name'), this.tagViewToTagText())
});
this.toggleDynamicClass();
},
onAfterExternalChange: function onAfterExternalChange() {
this.destroyTagView();
if (this.isDynamicMode()) {
this.setDefaultTagView();
}
this.toggleDynamicClass();
},
onDestroy: function onDestroy() {
this.destroyTagView();
if (this.ui.tagsList) {
this.ui.tagsList.remove();
}
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/dynamic-tags/manager.js":
/*!******************************************************************!*\
!*** ../assets/dev/js/editor/components/dynamic-tags/manager.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
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) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
module.exports = elementorModules.Module.extend({
CACHE_KEY_NOT_FOUND_ERROR: 'Cache key not found',
tags: {
Base: __webpack_require__(/*! elementor-dynamic-tags/tag */ "../assets/dev/js/editor/components/dynamic-tags/tag.js")
},
cache: {},
cacheRequests: {},
cacheCallbacks: [],
addCacheRequest: function addCacheRequest(tag) {
this.cacheRequests[this.createCacheKey(tag)] = true;
},
createCacheKey: function createCacheKey(tag) {
return btoa(tag.getOption('name')) + '-' + btoa(encodeURIComponent(JSON.stringify(tag.model)));
},
loadTagDataFromCache: function loadTagDataFromCache(tag) {
var cacheKey = this.createCacheKey(tag);
if (undefined !== this.cache[cacheKey]) {
return this.cache[cacheKey];
}
if (!this.cacheRequests[cacheKey]) {
this.addCacheRequest(tag);
}
},
loadCacheRequests: function loadCacheRequests() {
var _this = this;
var cacheRequests = this.cacheRequests,
cacheCallbacks = this.cacheCallbacks;
this.cacheRequests = {};
this.cacheCallbacks = [];
elementorCommon.ajax.addRequest('render_tags', {
data: {
post_id: elementor.config.document.id,
tags: Object.keys(cacheRequests)
},
success: function success(data) {
_this.cache = _objectSpread(_objectSpread({}, _this.cache), data);
cacheCallbacks.forEach(function (callback) {
callback();
});
}
});
},
refreshCacheFromServer: function refreshCacheFromServer(callback) {
this.cacheCallbacks.push(callback);
this.loadCacheRequests();
},
getConfig: function getConfig(key) {
return this.getItems(elementor.config.dynamicTags, key);
},
parseTagsText: function parseTagsText(text, settings, parseCallback) {
var self = this;
if ('object' === settings.returnType) {
return self.parseTagText(text, settings, parseCallback);
}
return text.replace(/\[elementor-tag[^\]]+]/g, function (tagText) {
return self.parseTagText(tagText, settings, parseCallback);
});
},
parseTagText: function parseTagText(tagText, settings, parseCallback) {
var tagData = this.tagTextToTagData(tagText);
if (!tagData) {
if ('object' === settings.returnType) {
return {};
}
return '';
}
return parseCallback(tagData.id, tagData.name, tagData.settings);
},
tagTextToTagData: function tagTextToTagData(tagText) {
var tagIDMatch = tagText.match(/id="(.*?(?="))"/),
tagNameMatch = tagText.match(/name="(.*?(?="))"/),
tagSettingsMatch = tagText.match(/settings="(.*?(?="]))/);
if (!tagIDMatch || !tagNameMatch || !tagSettingsMatch) {
return false;
}
return {
id: tagIDMatch[1],
name: tagNameMatch[1],
settings: JSON.parse(decodeURIComponent(tagSettingsMatch[1]))
};
},
createTag: function createTag(tagID, tagName, tagSettings) {
var tagConfig = this.getConfig('tags.' + tagName);
if (!tagConfig) {
return;
}
var TagClass = this.tags[tagName] || this.tags.Base,
model = new elementorModules.editor.elements.models.BaseSettings(tagSettings, {
controls: tagConfig.controls
});
return new TagClass({
id: tagID,
name: tagName,
model: model
});
},
getTagDataContent: function getTagDataContent(tagID, tagName, tagSettings) {
var tag = this.createTag(tagID, tagName, tagSettings);
if (!tag) {
return;
}
return tag.getContent();
},
tagDataToTagText: function tagDataToTagText(tagID, tagName, tagSettings) {
tagSettings = encodeURIComponent(JSON.stringify(tagSettings && tagSettings.toJSON({
remove: ['default']
}) || {}));
return '[elementor-tag id="' + tagID + '" name="' + tagName + '" settings="' + tagSettings + '"]';
},
tagContainerToTagText: function tagContainerToTagText(/** Container*/container) {
return elementor.dynamicTags.tagDataToTagText(container.view.getOption('id'), container.view.getOption('name'), container.view.model);
},
cleanCache: function cleanCache() {
this.cache = {};
},
onInit: function onInit() {
this.loadCacheRequests = _.debounce(this.loadCacheRequests, 300);
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js":
/*!***********************************************************************************!*\
!*** ../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js ***!
\***********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = Marionette.ItemView.extend({
className: 'elementor-tag-controls-stack-empty',
template: '#tmpl-elementor-tag-controls-stack-empty'
});
/***/ }),
/***/ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js":
/*!*****************************************************************************!*\
!*** ../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js ***!
\*****************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var EmptyView = __webpack_require__(/*! elementor-dynamic-tags/tag-controls-stack-empty */ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js");
module.exports = elementorModules.editor.views.ControlsStack.extend({
activeTab: 'content',
template: _.noop,
emptyView: EmptyView,
isEmpty: function isEmpty() {
// Ignore the section control
return this.collection.length < 2;
},
childViewOptions: function childViewOptions() {
return {
container: this.options.container
};
},
getNamespaceArray: function getNamespaceArray() {
var currentPageView = elementor.getPanelView().getCurrentPageView(),
eventNamespace = currentPageView.getNamespaceArray();
eventNamespace.push(currentPageView.activeSection);
eventNamespace.push(this.getOption('controlName'));
eventNamespace.push(this.getOption('name'));
return eventNamespace;
},
onRenderTemplate: function onRenderTemplate() {
this.activateFirstSection();
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js":
/*!*************************************************************************!*\
!*** ../assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js ***!
\*************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var TagControlsStack = __webpack_require__(/*! elementor-dynamic-tags/tag-controls-stack */ "../assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js");
module.exports = Marionette.ItemView.extend({
className: 'elementor-dynamic-cover e-input-style',
tagControlsStack: null,
templateHelpers: function templateHelpers() {
var helpers = {};
if (this.model) {
helpers.controls = this.model.options.controls;
}
return helpers;
},
ui: {
remove: '.elementor-dynamic-cover__remove'
},
events: function events() {
var events = {
'click @ui.remove': 'onRemoveClick'
};
if (this.hasSettings()) {
events.click = 'onClick';
}
return events;
},
getTemplate: function getTemplate() {
var config = this.getTagConfig(),
templateFunction = Marionette.TemplateCache.get('#tmpl-elementor-control-dynamic-cover'),
renderedTemplate = Marionette.Renderer.render(templateFunction, {
hasSettings: this.hasSettings(),
isRemovable: !this.getOption('dynamicSettings').default,
title: config.title,
content: config.panel_template
});
return Marionette.TemplateCache.prototype.compileTemplate(renderedTemplate.trim());
},
getTagConfig: function getTagConfig() {
return elementor.dynamicTags.getConfig('tags.' + this.getOption('name'));
},
initSettingsPopup: function initSettingsPopup() {
var settingsPopupOptions = {
className: 'elementor-tag-settings-popup',
position: {
my: 'left top+5',
at: 'left bottom',
of: this.$el,
autoRefresh: true
},
hide: {
ignore: '.select2-container'
}
};
var settingsPopup = elementorCommon.dialogsManager.createWidget('buttons', settingsPopupOptions);
this.getSettingsPopup = function () {
return settingsPopup;
};
},
hasSettings: function hasSettings() {
return !!Object.values(this.getTagConfig().controls).length;
},
showSettingsPopup: function showSettingsPopup() {
if (!this.tagControlsStack) {
this.initTagControlsStack();
}
var settingsPopup = this.getSettingsPopup();
if (settingsPopup.isVisible()) {
return;
}
settingsPopup.show();
},
initTagControlsStack: function initTagControlsStack() {
this.tagControlsStack = new TagControlsStack({
model: this.model,
controls: this.model.controls,
name: this.options.name,
controlName: this.options.controlName,
container: this.options.container,
el: this.getSettingsPopup().getElements('message')[0]
});
this.tagControlsStack.render();
},
initModel: function initModel() {
this.model = new elementorModules.editor.elements.models.BaseSettings(this.getOption('settings'), {
controls: this.getTagConfig().controls
});
},
initialize: function initialize() {
// The `model` should always be available.
this.initModel();
if (!this.hasSettings()) {
return;
}
this.initSettingsPopup();
this.listenTo(this.model, 'change', this.render);
},
onClick: function onClick() {
this.showSettingsPopup();
},
onRemoveClick: function onRemoveClick(event) {
event.stopPropagation();
this.destroy();
this.trigger('remove');
},
onDestroy: function onDestroy() {
if (this.hasSettings()) {
this.getSettingsPopup().destroy();
}
if (this.tagControlsStack) {
this.tagControlsStack.destroy();
}
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/dynamic-tags/tag.js":
/*!**************************************************************!*\
!*** ../assets/dev/js/editor/components/dynamic-tags/tag.js ***!
\**************************************************************/
/***/ ((module) => {
"use strict";
module.exports = Marionette.ItemView.extend({
hasTemplate: true,
tagName: 'span',
className: function className() {
return 'elementor-tag';
},
getTemplate: function getTemplate() {
if (!this.hasTemplate) {
return false;
}
return Marionette.TemplateCache.get('#tmpl-elementor-tag-' + this.getOption('name') + '-content');
},
initialize: function initialize() {
try {
this.getTemplate();
} catch (e) {
this.hasTemplate = false;
}
},
getConfig: function getConfig(key) {
var config = elementor.dynamicTags.getConfig('tags.' + this.getOption('name'));
if (key) {
return config[key];
}
return config;
},
getContent: function getContent() {
var contentType = this.getConfig('content_type'),
data;
if (!this.hasTemplate) {
data = elementor.dynamicTags.loadTagDataFromCache(this);
if (undefined === data) {
throw new Error(elementor.dynamicTags.CACHE_KEY_NOT_FOUND_ERROR);
}
}
if ('ui' === contentType) {
this.render();
if (this.hasTemplate) {
return this.el.outerHTML;
}
if (this.getConfig('wrapped_tag')) {
data = jQuery(data).html();
}
this.$el.html(data);
}
return data;
},
onRender: function onRender() {
this.el.id = 'elementor-tag-' + this.getOption('id');
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/hotkeys/component.js":
/*!***************************************************************!*\
!*** ../assets/dev/js/editor/components/hotkeys/component.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _componentModalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-modal-base */ "../modules/web-cli/assets/js/modules/component-modal-base.js"));
var _modalLayout = _interopRequireDefault(__webpack_require__(/*! ./modal-layout */ "../assets/dev/js/editor/components/hotkeys/modal-layout.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Component = exports["default"] = /*#__PURE__*/function (_ComponentModalBase) {
function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}
(0, _inherits2.default)(Component, _ComponentModalBase);
return (0, _createClass2.default)(Component, [{
key: "getNamespace",
value: function getNamespace() {
return 'shortcuts';
}
}, {
key: "defaultShortcuts",
value: function defaultShortcuts() {
return {
'': {
keys: 'ctrl+?, shift+?',
exclude: ['input']
}
};
}
}, {
key: "getModalLayout",
value: function getModalLayout() {
return _modalLayout.default;
}
}]);
}(_componentModalBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/hotkeys/hotkeys.js":
/*!*************************************************************!*\
!*** ../assets/dev/js/editor/components/hotkeys/hotkeys.js ***!
\*************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../assets/dev/js/editor/components/hotkeys/component.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var _default = exports["default"] = /*#__PURE__*/function (_elementorModules$Mod) {
function _default() {
(0, _classCallCheck2.default)(this, _default);
return _callSuper(this, _default, arguments);
}
(0, _inherits2.default)(_default, _elementorModules$Mod);
return (0, _createClass2.default)(_default, [{
key: "onInit",
value: function onInit() {
$e.components.register(new _component.default({
manager: this
}));
}
}]);
}(elementorModules.Module);
/***/ }),
/***/ "../assets/dev/js/editor/components/hotkeys/modal-content.js":
/*!*******************************************************************!*\
!*** ../assets/dev/js/editor/components/hotkeys/modal-content.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _environment = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/environment */ "../core/common/assets/js/utils/environment.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var _default = exports["default"] = /*#__PURE__*/function (_Marionette$LayoutVie) {
function _default() {
(0, _classCallCheck2.default)(this, _default);
return _callSuper(this, _default, arguments);
}
(0, _inherits2.default)(_default, _Marionette$LayoutVie);
return (0, _createClass2.default)(_default, [{
key: "id",
value: function id() {
return 'elementor-hotkeys';
}
}, {
key: "templateHelpers",
value: function templateHelpers() {
return {
environment: _environment.default
};
}
}, {
key: "getTemplate",
value: function getTemplate() {
return '#tmpl-elementor-hotkeys';
}
}]);
}(Marionette.LayoutView);
/***/ }),
/***/ "../assets/dev/js/editor/components/hotkeys/modal-layout.js":
/*!******************************************************************!*\
!*** ../assets/dev/js/editor/components/hotkeys/modal-layout.js ***!
\******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _modalContent = _interopRequireDefault(__webpack_require__(/*! ./modal-content */ "../assets/dev/js/editor/components/hotkeys/modal-content.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
var _default = exports["default"] = /*#__PURE__*/function (_elementorModules$com) {
function _default() {
(0, _classCallCheck2.default)(this, _default);
return _callSuper(this, _default, arguments);
}
(0, _inherits2.default)(_default, _elementorModules$com);
return (0, _createClass2.default)(_default, [{
key: "getModalOptions",
value: function getModalOptions() {
return {
id: 'elementor-hotkeys__modal'
};
}
}, {
key: "getLogoOptions",
value: function getLogoOptions() {
return {
title: __('Keyboard Shortcuts', 'elementor')
};
}
}, {
key: "initialize",
value: function initialize() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_superPropGet(_default, "initialize", this, 3)(args);
this.showLogo();
this.showContentView();
}
}, {
key: "showContentView",
value: function showContentView() {
this.modalContent.show(new _modalContent.default());
}
}]);
}(elementorModules.common.views.modal.Layout);
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/classes/icon-library.js":
/*!********************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/classes/icon-library.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _default = exports["default"] = /*#__PURE__*/function () {
function _default() {
var _this = this;
(0, _classCallCheck2.default)(this, _default);
(0, _defineProperty2.default)(this, "loaded", {});
(0, _defineProperty2.default)(this, "notifyCallback", null);
(0, _defineProperty2.default)(this, "fetchIcons", function (library) {
fetch(library.fetchJson, {
mode: 'cors'
}).then(function (res) {
return res.json();
}).then(function (json) {
library.icons = json.icons;
return _this.normalizeIconList(library);
});
});
(0, _defineProperty2.default)(this, "runCallback", function (library) {
if ('function' !== typeof _this.notifyCallback) {
return library;
}
return _this.notifyCallback(library);
});
(0, _defineProperty2.default)(this, "initIconType", function (libraryConfig, callback) {
_this.notifyCallback = callback;
var store = elementor.iconManager.store;
if (_this.loaded[libraryConfig.name]) {
libraryConfig.icons = store.getIcons(libraryConfig);
return _this.runCallback(libraryConfig);
}
// Enqueue CSS
if (libraryConfig.enqueue) {
libraryConfig.enqueue.forEach(function (assetURL) {
var versionAddedURL = "".concat(assetURL).concat(libraryConfig !== null && libraryConfig !== void 0 && libraryConfig.ver ? '?ver=' + libraryConfig.ver : '');
elementor.helpers.enqueueEditorStylesheet(versionAddedURL);
});
}
if (libraryConfig.url) {
var versionAddedURL = "".concat(libraryConfig.url).concat(libraryConfig !== null && libraryConfig !== void 0 && libraryConfig.ver ? '?ver=' + libraryConfig.ver : '');
elementor.helpers.enqueueEditorStylesheet(versionAddedURL);
}
// Already saved an stored
if (store.isValid(libraryConfig)) {
var data = store.get(store.getKey(libraryConfig));
return _this.normalizeIconList(data);
}
// Comes with icons
if (libraryConfig.icons && libraryConfig.icons.length) {
return _this.normalizeIconList(libraryConfig);
}
// Get icons from via ajax
if (libraryConfig.fetchJson) {
return _this.fetchIcons(libraryConfig);
}
// @todo: error handling
});
}
return (0, _createClass2.default)(_default, [{
key: "normalizeIconList",
value: function normalizeIconList(library) {
var icons = {};
var name;
jQuery.each(library.icons, function (index, icon) {
name = icon;
if ('object' === (0, _typeof2.default)(name)) {
name = Object.entries(name)[0][0];
}
if (!name) {
return;
}
icons[name] = {
prefix: library.prefix,
selector: library.prefix + name.trim(':'),
name: elementorCommon.helpers.upperCaseWords(name).trim(':').split('-').join(' '),
filter: name.trim(':'),
displayPrefix: library.displayPrefix || library.prefix.replace('-', '')
};
});
if (Object.keys(icons).length) {
library.icons = icons;
this.loaded[library.name] = true;
elementor.iconManager.store.save(library);
this.runCallback(library);
}
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/classes/store.js":
/*!*************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/classes/store.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _Store = /*#__PURE__*/function () {
function Store() {
(0, _classCallCheck2.default)(this, Store);
}
return (0, _createClass2.default)(Store, [{
key: "save",
value: function save(library) {
elementorCommon.storage.set(_Store.getKey(library), library);
}
}, {
key: "getIcons",
value: function getIcons(library) {
var data = this.get(_Store.getKey(library));
if (data && data.icons) {
return data.icons;
}
return false;
}
}, {
key: "get",
value: function get(key) {
return elementorCommon.storage.get(key);
}
}, {
key: "isValid",
value: function isValid(library) {
var saved = this.get(_Store.getKey(library));
if (!saved) {
return false;
}
if (saved.ver !== library.ver) {
// @todo: delete from localStorage if version is invalid
return false;
}
return saved.icons && saved.icons.length;
}
}], [{
key: "getKey",
value: function getKey(library) {
var name = library.name ? library.name : library;
return "elementor_".concat(name, "_icons");
}
}]);
}();
var _default = exports["default"] = _Store;
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/components/icon-list.js":
/*!********************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/components/icon-list.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var LazyIconList = /*#__PURE__*/function (_Component) {
function LazyIconList() {
var _this;
(0, _classCallCheck2.default)(this, LazyIconList);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, LazyIconList, [].concat(args));
(0, _defineProperty2.default)(_this, "state", {
itemSize: {
width: 0,
height: 0
},
wrapperSize: {
width: 0,
height: 0
},
firstRowInView: 0
});
(0, _defineProperty2.default)(_this, "selectors", {
item: '.elementor-icons-manager__tab__item',
wrapper: 'elementor-icons-manager__tab__wrapper'
});
(0, _defineProperty2.default)(_this, "attachScrollListener", function () {
var element = document.getElementById(_this.selectors.wrapper);
if (element) {
element.addEventListener('scroll', _this.handleScroll);
}
});
(0, _defineProperty2.default)(_this, "maybeMeasureItem", function () {
if (_this.state.itemSize.width) {
return;
}
// CSS Item Padding
var itemPadding = 20,
testElement = document.querySelector(_this.selectors.item);
if (!testElement) {
return;
}
var wrapper = document.getElementById(_this.selectors.wrapper);
var newState = {
itemSize: {
width: testElement.offsetWidth + itemPadding,
height: testElement.offsetHeight + itemPadding
},
wrapperSize: {
width: wrapper.offsetWidth,
height: wrapper.clientHeight
}
};
return _this.setState(newState, function () {
_this.maybeScrollToSelected();
});
});
(0, _defineProperty2.default)(_this, "maybeScrollToSelected", function () {
if (!_this.hasSelected()) {
return;
}
var selectedIndex = _this.props.selectedIndex,
_this$state = _this.state,
wrapperSize = _this$state.wrapperSize,
itemSize = _this$state.itemSize,
itemsInRow = Math.floor(wrapperSize.width / itemSize.width),
selectedItemRow = Math.ceil(selectedIndex / itemsInRow) - 1,
scrollTop = selectedItemRow * itemSize.height;
setTimeout(function () {
_this.props.parentRef.current.scrollTo({
top: scrollTop,
left: 0,
behavior: 'auto'
});
}, 0);
});
(0, _defineProperty2.default)(_this, "handleScroll", function () {
_this.clearDebounceScrollCallback();
_this._debounce = setTimeout(function () {
var element = document.getElementById(_this.selectors.wrapper);
var itemSize = _this.state.itemSize;
_this.setState({
firstRowInView: Math.floor(element.scrollTop / itemSize.height)
});
}, 10);
});
(0, _defineProperty2.default)(_this, "render", function () {
var _this$state2 = _this.state,
itemSize = _this$state2.itemSize,
wrapperSize = _this$state2.wrapperSize;
var firstRowInView = _this.state.firstRowInView;
if (!itemSize.width) {
return _this.renderFirstElementForMeasurement();
}
var items = _this.props.items,
itemsInRow = Math.floor(wrapperSize.width / itemSize.width),
totalRows = Math.ceil(items.length / itemsInRow),
spareRows = 4;
var rowsInView = Math.ceil(wrapperSize.height / itemSize.height) + spareRows;
if (rowsInView > totalRows) {
rowsInView = totalRows;
}
// Prevent scroll overflow
if (firstRowInView > totalRows - rowsInView) {
firstRowInView = totalRows - rowsInView;
}
var tailRows = totalRows - firstRowInView - rowsInView,
firstItemIndexInWindow = firstRowInView * itemsInRow,
lastItemIndexInWindow = (firstRowInView + rowsInView) * itemsInRow - 1,
itemsInView = items.slice(firstItemIndexInWindow, lastItemIndexInWindow + 1),
offsetStyle = {
height: "".concat(firstRowInView * itemSize.height, "px")
},
tailStyle = {
height: "".concat(tailRows * itemSize.height, "px")
};
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
className: 'elementor-icons-manager__tab__content__offset',
style: offsetStyle
}), /*#__PURE__*/_react.default.createElement("div", {
id: 'elementor-icons-manager__tab__content'
}, itemsInView), /*#__PURE__*/_react.default.createElement("div", {
className: 'elementor-icons-manager__tab__content__tail',
style: tailStyle
}));
});
return _this;
}
(0, _inherits2.default)(LazyIconList, _Component);
return (0, _createClass2.default)(LazyIconList, [{
key: "componentDidMount",
value: function componentDidMount() {
this.attachScrollListener();
this.maybeMeasureItem();
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
this.clearDebounceScrollCallback();
var element = document.getElementById(this.selectors.wrapper);
if (element) {
element.removeEventListener('scroll', this.handleScroll);
}
}
}, {
key: "clearDebounceScrollCallback",
value: function clearDebounceScrollCallback() {
clearTimeout(this._debounce);
}
}, {
key: "renderFirstElementForMeasurement",
value: function renderFirstElementForMeasurement() {
return /*#__PURE__*/_react.default.createElement("div", {
id: 'elementor-icons-manager__tab__content'
}, this.props.items[0]);
}
}, {
key: "hasSelected",
value: function hasSelected() {
return -1 !== this.props.selectedIndex;
}
}]);
}(_react.Component);
var _default = exports["default"] = LazyIconList;
LazyIconList.propTypes = {
items: _propTypes.default.array,
selectedIndex: _propTypes.default.number,
parentRef: _propTypes.default.any
};
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/components/icon-manager.js":
/*!***********************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/components/icon-manager.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.renderIconManager = exports["default"] = void 0;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js"));
var _tab = _interopRequireDefault(__webpack_require__(/*! ./tab */ "../assets/dev/js/editor/components/icons-manager/components/tab.js"));
var _iconsGoPro = _interopRequireDefault(__webpack_require__(/*! ./icons-go-pro */ "../assets/dev/js/editor/components/icons-manager/components/icons-go-pro.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
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) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var IconsManager = /*#__PURE__*/function (_Component) {
function IconsManager() {
var _this;
(0, _classCallCheck2.default)(this, IconsManager);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, IconsManager, [].concat(args));
(0, _defineProperty2.default)(_this, "scrollViewRef", (0, _react.createRef)());
(0, _defineProperty2.default)(_this, "state", {
activeTab: _this.props.activeTab,
selected: {
library: '',
value: ''
},
iconTabs: elementor.config.icons.libraries,
loaded: _this.props.loaded,
filter: ''
});
(0, _defineProperty2.default)(_this, "cache", {});
(0, _defineProperty2.default)(_this, "loadAllTabs", function () {
var loaded = _this.state.loaded;
var icons = _this.props.icons;
icons.forEach(function (tabSettings) {
if (loaded[tabSettings.name]) {
return;
}
if (-1 < ['all', 'recommended'].indexOf(tabSettings.name)) {
return;
}
elementor.iconManager.library.initIconType(_objectSpread({}, tabSettings), function (library) {
_this.cache[library.name] = library;
loaded[tabSettings.name] = true;
});
});
loaded.all = true;
loaded.recommended = true;
_this.setState({
loaded: loaded
});
});
(0, _defineProperty2.default)(_this, "getActiveTab", function () {
var activeTab = _this.state.activeTab;
var loaded = _this.state.loaded,
icons = _this.props.icons;
if (!activeTab) {
if (_this.props.activeTab) {
activeTab = _this.props.activeTab;
}
}
if ('GoPro' === activeTab) {
return activeTab;
}
if (!loaded[activeTab]) {
return false;
}
var tabSettings = _objectSpread({}, icons.filter(function (tab) {
return tab.name === activeTab;
})[0]);
if (loaded[activeTab]) {
return _objectSpread({}, tabSettings);
}
if ('all' === tabSettings.name && !loaded.all) {
return _this.loadAllTabs();
}
elementor.iconManager.library.initIconType(_objectSpread({}, tabSettings), function (library) {
_this.cache[library.name] = library;
_this.updateLoaded(library.name);
});
return false;
});
(0, _defineProperty2.default)(_this, "getIconTabsLinks", function () {
var native = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
return _this.props.icons.map(function (tab) {
if (native ^ _this.isNativeTab(tab)) {
return '';
}
var isCurrentTab = tab.name === _this.state.activeTab;
var className = 'elementor-icons-manager__tab-link';
if (isCurrentTab) {
className += ' elementor-active';
}
return (
/*#__PURE__*/
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
_react.default.createElement("div", {
className: className,
key: tab.name,
onClick: function onClick() {
if (isCurrentTab) {
return;
}
_this.setState({
activeTab: tab.name
});
}
}, /*#__PURE__*/_react.default.createElement("i", {
className: tab.labelIcon
}), tab.label)
);
});
});
(0, _defineProperty2.default)(_this, "getActiveTabIcons", function (activeTab) {
if (activeTab.name) {
return _this.getActiveTabIcons(activeTab.name);
}
if (_this.cache[activeTab]) {
return _this.cache[activeTab].icons;
}
if ('recommended' === activeTab) {
return _this.state.iconTabs[0].icons;
}
if ('all' === activeTab) {
return _this.getAllIcons();
}
if (!_this.state.loaded[activeTab]) {
var librarySettings = _this.props.icons.filter(function (library) {
return activeTab === library.name;
});
return elementor.iconManager.library.initIconType(_objectSpread({}, librarySettings[0]), function (library) {
_this.cache[library.name] = library;
_this.updateLoaded(library.name);
});
}
return elementor.iconManager.store.getIcons(activeTab);
});
(0, _defineProperty2.default)(_this, "getAllIcons", function () {
if (_this.cache.all) {
return _this.cache.all.icons;
}
var icons = {};
_this.props.icons.forEach(function (tabSettings) {
if ('all' === tabSettings.name || 'recommended' === tabSettings.name) {
return;
}
icons[tabSettings.name] = _this.getActiveTabIcons(tabSettings.name);
});
_this.cache.all = {
icons: icons
};
return icons;
});
(0, _defineProperty2.default)(_this, "handleSearch", function (event) {
var filter = event.target.value;
if (filter && '' !== filter) {
filter = filter.toLocaleLowerCase();
if (_this.state.filter === filter) {
return;
}
} else {
filter = '';
}
_this.setState({
filter: filter
});
});
(0, _defineProperty2.default)(_this, "setSelected", function (selected) {
elementor.iconManager.setSettings('selectedIcon', selected);
_this.setState({
selected: selected
});
});
(0, _defineProperty2.default)(_this, "getSelected", function () {
var selected = _this.state.selected;
if ('' === selected.value && _this.props.selected && _this.props.selected.value) {
selected = {
value: _this.props.selected.value,
library: _this.props.selected.library
};
}
return selected;
});
(0, _defineProperty2.default)(_this, "render", function () {
var activeTab = _this.getActiveTab(),
activeTabName = activeTab.name ? activeTab.name : activeTab,
_this$props$showSearc = _this.props.showSearch,
showSearch = _this$props$showSearc === void 0 ? true : _this$props$showSearc,
filter = _this.state.filter;
if ('GoPro' !== activeTab) {
if (!activeTabName || !_this.state.loaded[activeTabName]) {
return 'Loading';
}
if (activeTab) {
activeTab.icons = _this.getActiveTabIcons(activeTab);
}
}
var selected = _this.getSelected();
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__sidebar",
className: 'elementor-templates-modal__sidebar'
}, /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__tab-links"
}, _this.getIconTabsLinks(), _this.getUploadCustomButton(), _this.getIconTabsLinks(false))), /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__main",
className: 'elementor-templates-modal__content'
}, 'GoPro' === activeTabName ? /*#__PURE__*/_react.default.createElement(_iconsGoPro.default, null) : /*#__PURE__*/_react.default.createElement(_react.Fragment, null, showSearch ? _this.getSearchHTML() : '', /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__tab__wrapper",
ref: _this.scrollViewRef
}, /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__tab__title"
}, activeTab.label), /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__tab__content_wrapper"
}, /*#__PURE__*/_react.default.createElement("input", {
type: "hidden",
name: "icon_value",
id: "icon_value",
value: selected.value
}), /*#__PURE__*/_react.default.createElement("input", {
type: "hidden",
name: "icon_type",
id: "icon_type",
value: selected.library
}), _this.state.loaded[activeTab.name] ? /*#__PURE__*/_react.default.createElement(_tab.default, (0, _extends2.default)({
setSelected: _this.setSelected,
selected: selected,
filter: filter,
key: activeTab.name,
parentRef: _this.scrollViewRef
}, activeTab)) : 'Loading')))));
});
return _this;
}
(0, _inherits2.default)(IconsManager, _Component);
return (0, _createClass2.default)(IconsManager, [{
key: "updateLoaded",
value: function updateLoaded(libraryName) {
var loaded = this.state.loaded;
loaded[libraryName] = true;
this.setState({
loaded: loaded
});
}
}, {
key: "isNativeTab",
value: function isNativeTab(tab) {
return ('all' === tab.name || 'recommended' === tab.name || 'fa-' === tab.name.substr(0, 3)) && tab.native;
}
}, {
key: "getUploadCustomButton",
value: function getUploadCustomButton() {
var _this2 = this;
var onClick = function onClick() {
if ('GoPro' === _this2.state.activeTab) {
return;
}
_this2.setState({
activeTab: 'GoPro'
});
};
if (this.props.customIconsURL) {
onClick = function onClick() {
window.open(_this2.props.customIconsURL, '_blank');
};
}
return /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__upload"
}, /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__upload__title"
}, __('My Libraries', 'elementor')), /*#__PURE__*/_react.default.createElement("button", {
id: "elementor-icons-manager__upload__button",
className: "elementor-button",
onClick: onClick
}, __('Upload', 'elementor')));
}
}, {
key: "getSearchHTML",
value: function getSearchHTML() {
return /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__search"
}, /*#__PURE__*/_react.default.createElement("input", {
placeholder: 'Filter by name...',
onInput: this.handleSearch
}), /*#__PURE__*/_react.default.createElement("i", {
className: 'eicon-search'
}));
}
}]);
}(_react.Component);
var _default = exports["default"] = IconsManager;
var renderIconManager = exports.renderIconManager = function renderIconManager(props) {
var containerElement = document.querySelector('#elementor-icons-manager-modal .dialog-content');
return _react2.default.render(/*#__PURE__*/_react.default.createElement(IconsManager, (0, _extends2.default)({}, props, {
containerElement: containerElement
})), containerElement);
};
IconsManager.propTypes = {
activeTab: _propTypes.default.any,
customIconsURL: _propTypes.default.string,
icons: _propTypes.default.any,
loaded: _propTypes.default.any,
modalView: _propTypes.default.any,
recommended: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object]),
selected: _propTypes.default.any,
showSearch: _propTypes.default.bool
};
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/components/icon.js":
/*!***************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/components/icon.js ***!
\***************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Icon = exports["default"] = /*#__PURE__*/function (_Component) {
function Icon() {
var _this;
(0, _classCallCheck2.default)(this, Icon);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, Icon, [].concat(args));
(0, _defineProperty2.default)(_this, "setSelected", function () {
_this.props.setSelectedHandler({
value: _this.props.data.displayPrefix + ' ' + _this.props.data.selector,
library: _this.props.library
});
});
(0, _defineProperty2.default)(_this, "render", function () {
return (
/*#__PURE__*/
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
_react.default.createElement("div", {
className: _this.props.containerClass,
key: _this.props.keyID,
onClick: _this.setSelected,
filter: _this.props.data.filter
}, /*#__PURE__*/_react.default.createElement("div", {
className: "elementor-icons-manager__tab__item__content"
}, /*#__PURE__*/_react.default.createElement("i", {
className: 'elementor-icons-manager__tab__item__icon ' + _this.props.className
}), /*#__PURE__*/_react.default.createElement("div", {
className: 'elementor-icons-manager__tab__item__name',
title: _this.props.data.name
}, _this.props.data.name)))
);
});
return _this;
}
(0, _inherits2.default)(Icon, _Component);
return (0, _createClass2.default)(Icon);
}(_react.Component);
Icon.propTypes = {
className: _propTypes.default.string,
containerClass: _propTypes.default.string,
data: _propTypes.default.object,
keyID: _propTypes.default.string,
library: _propTypes.default.string,
selector: _propTypes.default.string,
setSelectedHandler: _propTypes.default.func
};
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/components/icons-go-pro.js":
/*!***********************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/components/icons-go-pro.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var IconsGoPro = /*#__PURE__*/function (_Component) {
function IconsGoPro() {
var _this;
(0, _classCallCheck2.default)(this, IconsGoPro);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, IconsGoPro, [].concat(args));
(0, _defineProperty2.default)(_this, "render", function () {
return /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__promotion"
}, /*#__PURE__*/_react.default.createElement("i", {
id: "elementor-icons-manager__promotion__icon",
className: "eicon-nerd"
}), /*#__PURE__*/_react.default.createElement("div", {
id: "elementor-icons-manager__promotion__text"
}, __('Become a Pro user to upload unlimited font icon folders to your website.', 'elementor')), /*#__PURE__*/_react.default.createElement("a", {
href: elementor.config.icons.goProURL,
id: "elementor-icons-manager__promotion__link",
className: "elementor-button go-pro",
target: "_blank",
rel: "noopener noreferrer"
}, __('Upgrade Now', 'elementor')));
});
return _this;
}
(0, _inherits2.default)(IconsGoPro, _Component);
return (0, _createClass2.default)(IconsGoPro);
}(_react.Component);
var _default = exports["default"] = IconsGoPro;
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/components/tab.js":
/*!**************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/components/tab.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
var _iconList = _interopRequireDefault(__webpack_require__(/*! ./icon-list */ "../assets/dev/js/editor/components/icons-manager/components/icon-list.js"));
var _icon = _interopRequireDefault(__webpack_require__(/*! ./icon */ "../assets/dev/js/editor/components/icons-manager/components/icon.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, 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, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Tab = /*#__PURE__*/function (_Component) {
function Tab() {
var _this;
(0, _classCallCheck2.default)(this, Tab);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, Tab, [].concat(args));
(0, _defineProperty2.default)(_this, "componentDidMount", function () {
if (_this.props.selected && _this.props.selected.value) {
setTimeout(function () {
var element = document.querySelector('.elementor-selected');
if (element) {
element.scrollIntoView(false);
}
}, 0);
}
});
(0, _defineProperty2.default)(_this, "handleFullIconList", function () {
var fullIconList = [];
Object.entries(_this.props.icons).forEach(function (library) {
if ('recommended' !== library[0]) {
fullIconList = [].concat((0, _toConsumableArray2.default)(fullIconList), (0, _toConsumableArray2.default)(_this.getIconsOfType(library[0], library[1])));
}
});
return fullIconList.sort(function (a, b) {
return a.filter === b.filter ? 0 : +(a.filter > b.filter) || -1;
});
});
(0, _defineProperty2.default)(_this, "getLibrary", function (libraryName) {
var icons = elementor.config.icons.libraries.filter(function (library) {
return libraryName === library.name;
});
return icons;
});
(0, _defineProperty2.default)(_this, "handleRecommendedList", function () {
var recommendedIconList = [];
Object.entries(_this.props.icons).forEach(function (library) {
var iconLibrary = _this.getLibrary(library[0]),
iconsOfType = iconLibrary[0].icons,
recommendedIconsOfType = {};
library[1].forEach(function (iconName) {
if (iconsOfType[iconName]) {
recommendedIconsOfType[iconName] = iconsOfType[iconName];
}
});
recommendedIconList = [].concat((0, _toConsumableArray2.default)(recommendedIconList), (0, _toConsumableArray2.default)(_this.getIconsOfType(library[0], recommendedIconsOfType)));
});
return recommendedIconList;
});
(0, _defineProperty2.default)(_this, "getIconsComponentList", function () {
var iconsToShow = [];
var _this$props = _this.props,
name = _this$props.name,
icons = _this$props.icons,
filter = _this$props.filter;
switch (name) {
case 'all':
iconsToShow = _this.handleFullIconList();
break;
case 'recommended':
iconsToShow = _this.handleRecommendedList();
break;
default:
iconsToShow = _this.getIconsOfType(name, icons);
break;
}
if (filter) {
iconsToShow = Object.values(iconsToShow).filter(function (icon) {
return icon.props.data.name.toLowerCase().indexOf(filter) > -1;
});
}
return iconsToShow;
});
(0, _defineProperty2.default)(_this, "render", function () {
var icons = _this.getIconsComponentList();
var selectedIndex = -1;
var _iterator = _createForOfIteratorHelper(icons.entries()),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
index = _step$value[0],
icon = _step$value[1];
if (icon.props.containerClass.includes('elementor-selected')) {
selectedIndex = index;
break;
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return /*#__PURE__*/_react.default.createElement(_iconList.default, {
selectedIndex: selectedIndex,
items: icons,
parentRef: _this.props.parentRef
});
});
return _this;
}
(0, _inherits2.default)(Tab, _Component);
return (0, _createClass2.default)(Tab, [{
key: "getIconsOfType",
value: function getIconsOfType(type, icons) {
var _this2 = this;
var _this$props2 = this.props,
selected = _this$props2.selected,
filter = _this$props2.filter;
return Object.entries(icons).map(function (icon) {
var iconData = icon[1],
iconName = icon[0],
className = iconData.displayPrefix + ' ' + iconData.selector;
var containerClass = 'elementor-icons-manager__tab__item';
if (selected.value === className) {
containerClass += ' elementor-selected';
}
var key = containerClass + type + '-' + iconName + filter;
return /*#__PURE__*/_react.default.createElement(_icon.default, {
key: key,
library: type,
keyID: iconName,
containerClass: containerClass,
className: className,
setSelectedHandler: _this2.props.setSelected,
data: iconData
});
});
}
}]);
}(_react.Component);
Tab.propTypes = {
data: _propTypes.default.any,
filter: _propTypes.default.any,
icons: _propTypes.default.object,
name: _propTypes.default.string,
selected: _propTypes.default.object,
setSelected: _propTypes.default.func,
parentRef: _propTypes.default.any
};
var _default = exports["default"] = Tab;
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/icons-manager.js":
/*!*************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/icons-manager.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _modalLayout = _interopRequireDefault(__webpack_require__(/*! ./modal-layout */ "../assets/dev/js/editor/components/icons-manager/modal-layout.js"));
var _iconManager = __webpack_require__(/*! ./components/icon-manager */ "../assets/dev/js/editor/components/icons-manager/components/icon-manager.js");
var _iconLibrary = _interopRequireDefault(__webpack_require__(/*! ./classes/icon-library */ "../assets/dev/js/editor/components/icons-manager/classes/icon-library.js"));
var _store = _interopRequireDefault(__webpack_require__(/*! ./classes/store */ "../assets/dev/js/editor/components/icons-manager/classes/store.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var _default = exports["default"] = /*#__PURE__*/function (_elementorModules$Mod) {
function _default() {
(0, _classCallCheck2.default)(this, _default);
return _callSuper(this, _default, arguments);
}
(0, _inherits2.default)(_default, _elementorModules$Mod);
return (0, _createClass2.default)(_default, [{
key: "onInit",
value: function onInit() {
// Init icon library helper
this.library = new _iconLibrary.default();
// Init Icon library Storage helper
this.store = new _store.default();
// Fetch fa4 to fa5 migration data
elementor.helpers.fetchFa4ToFa5Mapping();
this.cache = {};
}
}, {
key: "getLayout",
value: function getLayout() {
var _this = this;
if (!this.layout) {
this.layout = new _modalLayout.default();
var layoutModal = this.layout.getModal();
layoutModal.addButton({
name: 'insert_icon',
text: __('Insert', 'elementor'),
classes: 'elementor-button e-primary',
callback: function callback() {
_this.updateControlValue();
_this.unMountIconManager();
}
});
layoutModal.on('show', this.onPickerShow.bind(this)).on('hide', this.unMountIconManager.bind(this));
}
return this.layout;
}
}, {
key: "getDefaultSettings",
value: function getDefaultSettings() {
return {
selectedIcon: {}
};
}
}, {
key: "unMountIconManager",
value: function unMountIconManager() {
this.unmount();
}
}, {
key: "loadIconLibraries",
value: function loadIconLibraries() {
if (!this.cache.loaded) {
elementor.config.icons.libraries.forEach(function (library) {
if ('all' === library.name) {
return;
}
elementor.iconManager.library.initIconType(library);
});
this.cache.loaded = true;
}
}
}, {
key: "onPickerShow",
value: function onPickerShow() {
var controlView = this.getSettings('controlView'),
loaded = {
GoPro: true
},
iconManagerConfig = {
recommended: controlView.model.get('recommended') || false
};
var selected = controlView.getControlValue(),
icons = elementor.config.icons.libraries;
if (!selected.library || !selected.value) {
selected = {
value: '',
library: ''
};
}
iconManagerConfig.selected = selected;
this.setSettings('selectedIcon', selected);
if (iconManagerConfig.recommended) {
var hasRecommended = false;
icons.forEach(function (library, index) {
if ('recommended' === library.name) {
hasRecommended = true;
icons[index].icons = iconManagerConfig.recommended;
}
});
if (!hasRecommended) {
icons.unshift({
name: 'recommended',
label: 'Recommended',
icons: iconManagerConfig.recommended,
labelIcon: 'eicon-star-o',
native: true
});
}
} else {
icons = icons.filter(function (library) {
return 'recommended' !== library.name;
});
}
icons.forEach(function (tab, index) {
if (-1 === ['all', 'recommended'].indexOf(tab.name)) {
elementor.iconManager.library.initIconType(tab, function (lib) {
icons[index] = lib;
});
}
loaded[tab.name] = true;
});
iconManagerConfig.loaded = loaded;
iconManagerConfig.icons = icons;
// Set active tab
var activeTab = selected.library || icons[0].name;
if ('svg' === selected.library) {
activeTab = icons[0].name;
}
// Selected Library exists
if (!Object.keys(icons).some(function (library) {
return library === activeTab;
})) {
activeTab = icons[0].name;
}
// Show recommended tab if selected from it
if (iconManagerConfig.recommended && '' !== selected.library && '' !== selected.value && Object.prototype.hasOwnProperty.call(iconManagerConfig.recommended, selected.library)) {
var iconLibrary = icons.filter(function (library) {
return selected.library === library.name;
});
var selectedIconName = selected.value.replace(iconLibrary[0].displayPrefix + ' ' + iconLibrary[0].prefix, '');
if (iconManagerConfig.recommended[selected.library].some(function (icon) {
return -1 < icon.indexOf(selectedIconName);
})) {
activeTab = icons[0].name;
}
}
iconManagerConfig.customIconsURL = elementor.config.customIconsURL;
iconManagerConfig.activeTab = activeTab;
var _renderIconManager = (0, _iconManager.renderIconManager)(iconManagerConfig),
unmount = _renderIconManager.unmount;
this.unmount = unmount;
}
}, {
key: "updateControlValue",
value: function updateControlValue() {
var settings = this.getSettings();
settings.controlView.setValue(settings.selectedIcon);
settings.controlView.applySavedValue();
}
}, {
key: "show",
value: function show(options) {
this.setSettings('controlView', options.view);
this.getLayout().showModal(options);
}
}]);
}(elementorModules.Module);
/***/ }),
/***/ "../assets/dev/js/editor/components/icons-manager/modal-layout.js":
/*!************************************************************************!*\
!*** ../assets/dev/js/editor/components/icons-manager/modal-layout.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _layout = _interopRequireDefault(__webpack_require__(/*! elementor-common/views/modal/layout */ "../core/common/assets/js/views/modal/layout.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
var _default = exports["default"] = /*#__PURE__*/function (_BaseModalLayout) {
function _default() {
(0, _classCallCheck2.default)(this, _default);
return _callSuper(this, _default, arguments);
}
(0, _inherits2.default)(_default, _BaseModalLayout);
return (0, _createClass2.default)(_default, [{
key: "getModalOptions",
value: function getModalOptions() {
return {
id: 'elementor-icons-manager-modal'
};
}
}, {
key: "getLogoOptions",
value: function getLogoOptions() {
return {
title: __('Icon Library', 'elementor')
};
}
}, {
key: "initialize",
value: function initialize() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_superPropGet(_default, "initialize", this, 3)(args);
this.showLogo();
}
}]);
}(_layout.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/preview/commands/drop.js":
/*!*******************************************************************!*\
!*** ../assets/dev/js/editor/components/preview/commands/drop.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Drop = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Drop = exports.Drop = /*#__PURE__*/function (_$e$modules$editor$Co) {
function Drop() {
(0, _classCallCheck2.default)(this, Drop);
return _callSuper(this, Drop, arguments);
}
(0, _inherits2.default)(Drop, _$e$modules$editor$Co);
return (0, _createClass2.default)(Drop, [{
key: "validateArgs",
value: function validateArgs() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
this.requireContainer(args);
this.requireArgumentType('model', 'object', args);
}
}, {
key: "apply",
value: function apply() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var _args$containers = args.containers,
containers = _args$containers === void 0 ? [args.container] : _args$containers,
_args$options = args.options,
options = _args$options === void 0 ? {} : _args$options,
result = [];
containers.forEach(function (container) {
result.push(container.view.createElementFromModel(args.model, options));
});
if (1 === containers.length) {
return result[0];
}
return result;
}
}]);
}($e.modules.editor.CommandContainerBase);
/***/ }),
/***/ "../assets/dev/js/editor/components/preview/commands/index.js":
/*!********************************************************************!*\
!*** ../assets/dev/js/editor/components/preview/commands/index.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Drop", ({
enumerable: true,
get: function get() {
return _drop.Drop;
}
}));
Object.defineProperty(exports, "Reload", ({
enumerable: true,
get: function get() {
return _reload.Reload;
}
}));
var _drop = __webpack_require__(/*! ./drop */ "../assets/dev/js/editor/components/preview/commands/drop.js");
var _reload = __webpack_require__(/*! ./reload */ "../assets/dev/js/editor/components/preview/commands/reload.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/preview/commands/reload.js":
/*!*********************************************************************!*\
!*** ../assets/dev/js/editor/components/preview/commands/reload.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.Reload = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Reload = exports.Reload = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Reload() {
(0, _classCallCheck2.default)(this, Reload);
return _callSuper(this, Reload, arguments);
}
(0, _inherits2.default)(Reload, _$e$modules$CommandBa);
return (0, _createClass2.default)(Reload, [{
key: "apply",
value: function apply() {
elementor.reloadPreview();
}
}]);
}($e.modules.CommandBase);
/***/ }),
/***/ "../assets/dev/js/editor/components/preview/component.js":
/*!***************************************************************!*\
!*** ../assets/dev/js/editor/components/preview/component.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../assets/dev/js/editor/components/preview/commands/index.js"));
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Component = exports["default"] = /*#__PURE__*/function (_$e$modules$Component) {
function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}
(0, _inherits2.default)(Component, _$e$modules$Component);
return (0, _createClass2.default)(Component, [{
key: "getNamespace",
value: function getNamespace() {
return 'preview';
}
}, {
key: "defaultCommands",
value: function defaultCommands() {
return this.importCommands(commands);
}
}]);
}($e.modules.ComponentBase);
/***/ }),
/***/ "../assets/dev/js/editor/components/selection/manager.js":
/*!***************************************************************!*\
!*** ../assets/dev/js/editor/components/selection/manager.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, 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, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
/**
* @typedef {import('../../container/container')} Container
*/
var Manager = exports["default"] = /*#__PURE__*/function (_elementorModules$edi) {
/**
* Manager constructor.
*
* @return {Manager} manager
*/
function Manager() {
var _this;
(0, _classCallCheck2.default)(this, Manager);
_this = _callSuper(this, Manager);
// Using a Proxy in order to use update methods only once on external invocations, but internally the `add` or
// `remove` methods may be executed many times, when update methods will be used only once.
/**
* Selected elements.
*
* The list of the selected elements.
*
* @type {{}}
*/
(0, _defineProperty2.default)(_this, "elements", {});
/**
* Selected elements type.
*
* Represents the common type of multiple selected elements, or false when the selected elements are of different
* types.
*
* @type {string|boolean}
*/
(0, _defineProperty2.default)(_this, "type", false);
return (0, _possibleConstructorReturn2.default)(_this, new Proxy(_this, {
get: function get(target, prop) {
if (['add', 'remove'].includes(prop)) {
return function () {
if (!target.isAllowed()) {
return;
}
var result = target[prop].apply(target, arguments);
target.updateType();
target.updateSortable();
target.updatePanelPage();
target.updateNavigator();
return result;
};
}
return Reflect.get.apply(Reflect, arguments);
}
}));
}
/**
* Get selection elements.
*
* Get the list of selected elements as an array of containers. If a fallback element container specified, it will
* be returned when there are no selected elements.
*
* @param {Container[]|Container} fallback
* @return {Container[]} selection elements
*/
(0, _inherits2.default)(Manager, _elementorModules$edi);
return (0, _createClass2.default)(Manager, [{
key: "getElements",
value: function getElements() {
var fallback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
var result = Object.values(this.elements);
if (!result.length && fallback) {
result = Array.isArray(fallback) ? fallback : [fallback];
}
return result;
}
/**
* Add elements to selection.
*
* Add new elements to selection by their container, and clear the currently selected elements unless appending is
* active, in which case the new elements are just added to the current selection.
*
* @param {Container[]|Container} containers
* @param {boolean} append
*/
}, {
key: "add",
value: function add(containers) {
var append = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (!this.isAllowed()) {
return;
}
containers = Array.isArray(containers) ? containers : [containers];
// If command/ctrl+click not clicked, clear selected elements.
if (!append) {
this.remove([], true);
}
var _iterator = _createForOfIteratorHelper(containers),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var container = _step.value;
this.elements[container.id] = container;
container.view.select();
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
/**
* Remove elements from selection.
*
* Remove elements from selection by their container, unless the parameter for clearing all selected elements is
* active, in which case the the whole selection is cleared.
*
* @param {Container[]|Container} containers
* @param {boolean} all
*/
}, {
key: "remove",
value: function remove(containers) {
var all = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (!this.isAllowed()) {
return;
}
containers = Array.isArray(containers) ? containers : [containers];
if (all) {
containers = this.getElements();
}
var _iterator2 = _createForOfIteratorHelper(containers),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var container = _step2.value;
delete this.elements[container.id];
container.view.deselect();
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
/**
* Does element selected.
*
* Check whether an element container exists in the selected elements.
*
* @param {Container} container
* @return {boolean} true if the container exists in the selected elements
*/
}, {
key: "has",
value: function has(container) {
return this.getElements().includes(container);
}
/**
* Update selected elements type.
*
* Resolve the common type of all selected elements and assign it as class property. When the selected objects are
* of different types, `false` is assigned.
*/
}, {
key: "updateType",
value: function updateType() {
var elements = this.getElements();
this.type = Boolean(elements.length) && elements.reduce(function (previous, current) {
if (previous === current.type) {
return current.type;
}
return false;
}, elements[0].type);
}
/**
* Update sortable state.
*
* In case more than one element is selected, currently sorting supposed to be disabled, and vice-versa.
*/
}, {
key: "updateSortable",
value: function updateSortable() {
elementor.toggleSortableState(!this.isMultiple());
}
/**
* Update the panel page.
*
* Selected elements affect the panel panel in a way that when element is selected - its settings page is displayed,
* and when the element is blurred (unfocused) - the the default page opened. When more than one element selected,
* the default page should appear.
*/
}, {
key: "updatePanelPage",
value: function updatePanelPage() {
var elements = this.getElements();
if (1 === elements.length) {
$e.run('panel/editor/open', {
model: elements[0].model,
view: elements[0].view
});
} else {
$e.internal('panel/open-default', {
autoFocusSearch: false
});
}
}
/**
* Update navigator selections.
*
* Any change in the document selected elements should be reflected in the navigator, this method is responsible for
* updating the navigator.
*/
}, {
key: "updateNavigator",
value: function updateNavigator() {
if (!$e.components.get('document/elements').utils.showNavigator()) {
return;
}
elementor.navigator.getLayout().elements.currentView.recursiveChildInvoke('updateSelection');
}
/**
* Is multiple selection.
*
* Check whether multiple elements were selected.
*
* @return {boolean} true if multiple elements were selected
*/
}, {
key: "isMultiple",
value: function isMultiple() {
return this.getElements().length > 1;
}
/**
* Is selection of same type.
*
* Check whether the selected elements are of same type.
*
* @return {boolean} true if the selected elements are of same type
*/
}, {
key: "isSameType",
value: function isSameType() {
return !this.getElements().length || Boolean(this.type);
}
}, {
key: "isAllowed",
value: function isAllowed() {
return 'edit' === elementor.channels.dataEditMode.request('activeMode');
}
}]);
}(elementorModules.editor.utils.Module);
/***/ }),
/***/ "../assets/dev/js/editor/components/settings/base/manager.js":
/*!*******************************************************************!*\
!*** ../assets/dev/js/editor/components/settings/base/manager.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var ControlsCSSParser = __webpack_require__(/*! elementor-editor-utils/controls-css-parser */ "../assets/dev/js/editor/utils/controls-css-parser.js");
module.exports = elementorModules.ViewModule.extend({
model: null,
hasChange: false,
changeCallbacks: {},
addChangeCallback: function addChangeCallback(attribute, callback) {
this.changeCallbacks[attribute] = callback;
},
bindEvents: function bindEvents() {
elementor.on('document:loaded', this.onElementorDocumentLoaded);
this.model.on('change', this.onModelChange);
},
unbindEvents: function unbindEvents() {
elementor.off('document:loaded', this.onElementorDocumentLoaded);
},
addPanelPage: function addPanelPage() {
var name = this.getSettings('name');
elementor.getPanelView().addPage(name + '_settings', {
view: elementor.settings.panelPages[name] || elementor.settings.panelPages.base,
title: this.getSettings('panelPage.title'),
options: {
editedView: this.getEditedView(),
model: this.model,
controls: this.model.controls,
name: name
}
});
},
getContainerType: function getContainerType() {
return this.getSettings('name') + '_settings';
},
/**
* @deprecated since 3.7.0, use `getContainerType()` instead.
*/
getContainerId: function getContainerId() {
elementorDevTools.deprecation.deprecated('getContainerId()', '3.7.0', 'getContainerType()');
return this.getContainerType();
},
// Emulate an element view/model structure with the parts needed for a container.
getEditedView: function getEditedView() {
var documentElementType = elementor.elementsManager.getElementTypeClass('document'),
ModelClass = documentElementType.getModel(),
type = this.getContainerType(),
editModel = new ModelClass({
id: type,
elType: type,
settings: this.model
});
var container = new elementorModules.editor.Container({
type: type,
id: type,
model: editModel,
settings: editModel.get('settings'),
view: false,
parent: false,
label: this.getSettings('panelPage').title,
controls: this.model.controls,
document: this.getDocument(),
renderer: false
});
return {
getContainer: function getContainer() {
return container;
},
getEditModel: function getEditModel() {
return editModel;
},
model: editModel,
container: container
};
},
getDocument: function getDocument() {
return false;
},
updateStylesheet: function updateStylesheet(keepOldEntries) {
var controlsCSS = this.getControlsCSS();
if (!keepOldEntries) {
controlsCSS.stylesheet.empty();
}
this.model.handleRepeaterData(this.model.attributes);
controlsCSS.addStyleRules(this.model.getStyleControls(), this.model.attributes, this.model.controls, [/{{WRAPPER}}/g], [this.getSettings('cssWrapperSelector')]);
controlsCSS.addStyleToDocument({
// Ensures we don't override default global style
at: 'before',
of: '#elementor-style-e-global-style'
});
},
initModel: function initModel() {
this.model = new elementorModules.editor.elements.models.BaseSettings(this.getSettings('settings'), {
controls: this.getSettings('controls')
});
},
getStyleId: function getStyleId() {
return this.getSettings('name');
},
initControlsCSSParser: function initControlsCSSParser() {
var controlsCSS;
this.destroyControlsCSS = function () {
controlsCSS.removeStyleFromDocument();
};
this.getControlsCSS = function () {
if (!controlsCSS) {
controlsCSS = new ControlsCSSParser({
id: this.getStyleId(),
settingsModel: this.model,
context: this.getEditedView()
});
}
return controlsCSS;
};
},
getDataToSave: function getDataToSave(data) {
return data;
},
save: function save(callback) {
var _this = this;
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var self, settings, data;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
self = _this;
if (self.hasChange) {
_context.next = 1;
break;
}
return _context.abrupt("return");
case 1:
settings = _this.model.toJSON({
remove: ['default']
}), data = _this.getDataToSave({
data: settings
});
NProgress.start();
return _context.abrupt("return", elementorCommon.ajax.addRequest('save_' + _this.getSettings('name') + '_settings', {
data: data,
success: function success() {
NProgress.done();
self.setSettings('settings', settings);
self.hasChange = false;
if (callback) {
callback.apply(self, arguments);
}
},
error: function error() {
// eslint-disable-next-line no-alert
alert('An error occurred.');
}
}));
case 2:
case "end":
return _context.stop();
}
}, _callee);
}))();
},
onInit: function onInit() {
this.initModel();
this.initControlsCSSParser();
this.addPanelMenuItem();
this.debounceSave = _.debounce(this.save, 3000);
elementorModules.ViewModule.prototype.onInit.apply(this, arguments);
},
/**
* BC for custom settings without a JS component.
*/
addPanelMenuItem: function addPanelMenuItem() {
var menuSettings = this.getSettings('panelPage.menu');
if (!menuSettings) {
return;
}
var namespace = 'panel/' + this.getSettings('name') + '-settings',
menuItemOptions = {
icon: menuSettings.icon,
title: this.getSettings('panelPage.title'),
type: 'page',
pageName: this.getSettings('name') + '_settings',
callback: function callback() {
return $e.route("".concat(namespace, "/settings"));
}
};
$e.bc.ensureTab(namespace, 'settings', menuItemOptions.pageName);
elementor.modules.layouts.panel.pages.menu.Menu.addItem(menuItemOptions, 'settings', menuSettings.beforeItem);
},
onModelChange: function onModelChange(model) {
var self = this;
self.hasChange = true;
this.getControlsCSS().stylesheet.empty();
_.each(model.changed, function (value, key) {
if (self.changeCallbacks[key]) {
self.changeCallbacks[key].call(self, value);
}
});
self.updateStylesheet(true);
self.debounceSave();
},
onElementorDocumentLoaded: function onElementorDocumentLoaded() {
this.updateStylesheet();
this.addPanelPage();
},
destroy: function destroy() {
this.unbindEvents();
this.model.destroy();
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/settings/base/panel.js":
/*!*****************************************************************!*\
!*** ../assets/dev/js/editor/components/settings/base/panel.js ***!
\*****************************************************************/
/***/ ((module) => {
"use strict";
module.exports = elementorModules.editor.views.ControlsStack.extend({
id: function id() {
return 'elementor-panel-' + this.getOption('name') + '-settings';
},
getTemplate: function getTemplate() {
return '#tmpl-elementor-panel-' + this.getOption('name') + '-settings';
},
childViewContainer: function childViewContainer() {
return '#elementor-panel-' + this.getOption('name') + '-settings-controls';
},
childViewOptions: function childViewOptions() {
return {
container: this.getOption('editedView').getContainer()
};
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/settings/editor-preferences/manager.js":
/*!*********************************************************************************!*\
!*** ../assets/dev/js/editor/components/settings/editor-preferences/manager.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _manager = _interopRequireDefault(__webpack_require__(/*! ../base/manager */ "../assets/dev/js/editor/components/settings/base/manager.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var _default = exports["default"] = /*#__PURE__*/function (_BaseManager) {
function _default() {
var _this;
(0, _classCallCheck2.default)(this, _default);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, _default, [].concat(args));
_this.changeCallbacks = {
ui_theme: _this.onUIThemeChanged,
panel_width: _this.onPanelWidthChanged,
edit_buttons: _this.onEditButtonsChanged,
show_hidden_elements: _this.onShowHiddenElementsChange,
show_launchpad_checklist: _this.toggleChecklistIconVisibility
};
return _this;
}
(0, _inherits2.default)(_default, _BaseManager);
return (0, _createClass2.default)(_default, [{
key: "getDefaultSettings",
value: function getDefaultSettings() {
return {
darkModeLinkID: 'elementor-editor-dark-mode-css'
};
}
}, {
key: "toggleChecklistIconVisibility",
value: function toggleChecklistIconVisibility(switcherValue) {
var shouldShow = 'yes' === switcherValue;
this.addMixpanelTrackingChecklist(shouldShow);
$e.run('checklist/toggle-icon', shouldShow);
}
}, {
key: "onUIThemeChanged",
value: function onUIThemeChanged(newValue) {
var $lightUi = jQuery('#e-theme-ui-light-css');
var $darkUi = jQuery('#e-theme-ui-dark-css');
if ('auto' === newValue) {
$lightUi.attr('media', '(prefers-color-scheme: light)');
$darkUi.attr('media', '(prefers-color-scheme: dark)');
return;
}
if ('light' === newValue) {
$lightUi.attr('media', 'all');
$darkUi.attr('media', 'none');
} else {
$lightUi.attr('media', 'none');
$darkUi.attr('media', 'all');
}
}
}, {
key: "onPanelWidthChanged",
value: function onPanelWidthChanged(newValue) {
elementor.panel.saveSize({
width: newValue.size + newValue.unit
});
elementor.panel.setSize();
}
}, {
key: "onEditButtonsChanged",
value: function onEditButtonsChanged() {
// Let the button change before the high-performance action of rendering the entire page
setTimeout(function () {
return elementor.getPreviewView()._renderChildren();
}, 300);
}
}, {
key: "onShowHiddenElementsChange",
value: function onShowHiddenElementsChange() {
elementorFrontend.elements.$body.toggleClass('e-preview--show-hidden-elements');
}
}, {
key: "addMixpanelTrackingChecklist",
value: function addMixpanelTrackingChecklist(shouldShow) {
var name = shouldShow ? 'checklistShow' : 'checklistHide';
var postId = elementor.getPreviewContainer().document.config.id;
var postTitle = elementor.getPreviewContainer().model.attributes.settings.attributes.post_title;
var postTypeTitle = elementor.getPreviewContainer().document.config.post_type_title;
var documentType = elementor.getPreviewContainer().document.config.type;
return elementorCommon.eventsManager.dispatchEvent(elementorCommon.eventsManager.config.names.elementorEditor.userPreferences[name], {
location: elementorCommon.eventsManager.config.locations.elementorEditor,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.userPreferences,
trigger: elementorCommon.eventsManager.config.triggers.toggleClick,
element: elementorCommon.eventsManager.config.elements.toggle,
postId: postId,
postTitle: postTitle,
postTypeTitle: postTypeTitle,
documentType: documentType
});
}
}]);
}(_manager.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/settings/page/component.js":
/*!*********************************************************************!*\
!*** ../assets/dev/js/editor/components/settings/page/component.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-editor/component-base */ "../assets/dev/js/editor/component-base.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Component = exports["default"] = /*#__PURE__*/function (_ComponentBase) {
function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}
(0, _inherits2.default)(Component, _ComponentBase);
return (0, _createClass2.default)(Component, [{
key: "getNamespace",
value: function getNamespace() {
return 'panel/page-settings';
}
}, {
key: "defaultTabs",
value: function defaultTabs() {
return {
settings: {
title: __('Settings', 'elementor')
},
style: {
title: __('Style', 'elementor')
},
advanced: {
title: __('Advanced', 'elementor')
}
};
}
}, {
key: "renderTab",
value: function renderTab(tab, args) {
var activeControl = args.activeControl,
_args$refresh = args.refresh,
refresh = _args$refresh === void 0 ? false : _args$refresh;
if (this.shouldRenderPage(tab) || refresh) {
elementor.getPanelView().setPage('page_settings').activateTab(tab);
}
this.activateControl(activeControl);
}
}, {
key: "shouldRenderPage",
value: function shouldRenderPage(tab) {
var _currentPanelView$get;
var currentPanelView = elementor.getPanelView();
var isSamePage = 'page_settings' === currentPanelView.getCurrentPageName();
var isSameTab = tab === ((_currentPanelView$get = currentPanelView.getCurrentPageView()) === null || _currentPanelView$get === void 0 ? void 0 : _currentPanelView$get.activeTab);
return !isSamePage || !isSameTab;
}
}, {
key: "getTabsWrapperSelector",
value: function getTabsWrapperSelector() {
return '.elementor-panel-navigation';
}
}]);
}(_componentBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/settings/page/manager.js":
/*!*******************************************************************!*\
!*** ../assets/dev/js/editor/components/settings/page/manager.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _construct2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/construct */ "../node_modules/@babel/runtime/helpers/construct.js"));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../assets/dev/js/editor/components/settings/page/component.js"));
var _childrenArray = _interopRequireDefault(__webpack_require__(/*! elementor-editor/container/model/children-array */ "../assets/dev/js/editor/container/model/children-array.js"));
var BaseSettings = __webpack_require__(/*! elementor-editor/components/settings/base/manager */ "../assets/dev/js/editor/components/settings/base/manager.js");
module.exports = BaseSettings.extend({
getStyleId: function getStyleId() {
return this.getSettings('name') + '-' + elementor.documents.getCurrent().id;
},
onInit: function onInit() {
BaseSettings.prototype.onInit.apply(this);
$e.components.register(new _component.default({
manager: this
}));
},
save: function save() {},
getDataToSave: function getDataToSave(data) {
data.id = elementor.config.document.id;
return data;
},
// Emulate an element view/model structure with the parts needed for a container.
getEditedView: function getEditedView() {
var _this = this;
if (this.editedView) {
return this.editedView;
}
var documentElementType = elementor.elementsManager.getElementTypeClass('document'),
ModelClass = documentElementType.getModel(),
type = this.getContainerType(),
editModel = new ModelClass({
id: type,
elType: type,
settings: this.model,
elements: elementor.elements
}),
container = new elementorModules.editor.Container({
type: type,
id: editModel.id,
model: editModel,
settings: editModel.get('settings'),
label: elementor.config.document.panel.title,
controls: this.model.controls,
children: (0, _construct2.default)(_childrenArray.default, (0, _toConsumableArray2.default)(elementor.elements || [])),
parent: false,
// Emulate a view that can render the style.
renderer: {
view: {
lookup: function lookup() {
return container;
},
renderOnChange: function renderOnChange() {
return _this.updateStylesheet();
},
renderUI: function renderUI() {
return _this.updateStylesheet();
}
}
}
});
this.editedView = {
getContainer: function getContainer() {
return container;
},
getEditModel: function getEditModel() {
return editModel;
},
model: editModel,
container: container
};
return this.editedView;
},
getContainerType: function getContainerType() {
return 'document';
},
/**
* @deprecated since 3.7.0, use `getContainerType()` instead.
*/
getContainerId: function getContainerId() {
elementorDevTools.deprecation.deprecated('getContainerId()', '3.7.0', 'getContainerType()');
return this.getContainerType();
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/settings/settings.js":
/*!***************************************************************!*\
!*** ../assets/dev/js/editor/components/settings/settings.js ***!
\***************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _manager = _interopRequireDefault(__webpack_require__(/*! ./editor-preferences/manager */ "../assets/dev/js/editor/components/settings/editor-preferences/manager.js"));
module.exports = elementorModules.Module.extend({
modules: {
base: __webpack_require__(/*! elementor-editor/components/settings/base/manager */ "../assets/dev/js/editor/components/settings/base/manager.js"),
page: __webpack_require__(/*! elementor-editor/components/settings/page/manager */ "../assets/dev/js/editor/components/settings/page/manager.js"),
editorPreferences: _manager.default
},
panelPages: {
base: __webpack_require__(/*! elementor-editor/components/settings/base/panel */ "../assets/dev/js/editor/components/settings/base/panel.js")
},
onInit: function onInit() {
this.initSettings();
},
initSettings: function initSettings() {
var self = this;
_.each(elementor.config.settings, function (config, name) {
var Manager = self.modules[name] || self.modules.base;
self[name] = new Manager(config);
});
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/behaviors/insert-template.js":
/*!****************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/behaviors/insert-template.js ***!
\****************************************************************************************/
/***/ ((module) => {
"use strict";
var InsertTemplateHandler;
InsertTemplateHandler = Marionette.Behavior.extend({
ui: {
insertButton: '.elementor-template-library-template-insert'
},
events: {
'click @ui.insertButton': 'onInsertButtonClick'
},
onRender: function onRender() {
this.ui.insertButton.toggleClass('disabled', this.view.model.isLocked());
},
onInsertButtonClick: function onInsertButtonClick(e) {
if ('locked' === this.view.model.get('status')) {
e.preventDefault();
e.stopPropagation();
return;
}
var args = {
model: this.view.model
};
this.ui.insertButton.addClass('elementor-disabled');
var activeSource = args.model.get('source');
/**
* Filter template source.
*
* @param bool isRemote - If `true` the source is a remote source.
* @param string activeSource - The current template source.
*/
var isRemote = elementor.hooks.applyFilters('templates/source/is-remote', 'remote' === activeSource, activeSource);
if (isRemote && !elementor.config.library_connect.is_connected) {
$e.route('library/connect', args);
return;
}
$e.run('library/insert-template', args);
}
});
module.exports = InsertTemplateHandler;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/collections/templates.js":
/*!************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/collections/templates.js ***!
\************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var TemplateLibraryTemplateModel = __webpack_require__(/*! elementor-templates/models/template */ "../assets/dev/js/editor/components/template-library/models/template.js"),
TemplateLibraryCollection;
TemplateLibraryCollection = Backbone.Collection.extend({
model: TemplateLibraryTemplateModel
});
module.exports = TemplateLibraryCollection;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/commands-data/index.js":
/*!**********************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/commands-data/index.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "Templates", ({
enumerable: true,
get: function get() {
return _templates.Templates;
}
}));
var _templates = __webpack_require__(/*! ./templates */ "../assets/dev/js/editor/components/template-library/commands-data/templates.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/commands-data/templates.js":
/*!**************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/commands-data/templates.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Templates = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Templates = exports.Templates = /*#__PURE__*/function (_$e$modules$CommandDa) {
function Templates() {
(0, _classCallCheck2.default)(this, Templates);
return _callSuper(this, Templates, arguments);
}
(0, _inherits2.default)(Templates, _$e$modules$CommandDa);
return (0, _createClass2.default)(Templates, null, [{
key: "getEndpointFormat",
value: function getEndpointFormat() {
return 'template-library/templates';
}
}]);
}($e.modules.CommandData);
var _default = exports["default"] = Templates;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/commands/index.js":
/*!*****************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/commands/index.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "InsertTemplate", ({
enumerable: true,
get: function get() {
return _insertTemplate.InsertTemplate;
}
}));
Object.defineProperty(exports, "Open", ({
enumerable: true,
get: function get() {
return _open.Open;
}
}));
var _insertTemplate = __webpack_require__(/*! ./insert-template */ "../assets/dev/js/editor/components/template-library/commands/insert-template.js");
var _open = __webpack_require__(/*! ./open */ "../assets/dev/js/editor/components/template-library/commands/open.js");
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/commands/insert-template.js":
/*!***************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/commands/insert-template.js ***!
\***************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.InsertTemplate = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var InsertTemplate = exports.InsertTemplate = /*#__PURE__*/function (_$e$modules$CommandBa) {
function InsertTemplate() {
(0, _classCallCheck2.default)(this, InsertTemplate);
return _callSuper(this, InsertTemplate, arguments);
}
(0, _inherits2.default)(InsertTemplate, _$e$modules$CommandBa);
return (0, _createClass2.default)(InsertTemplate, [{
key: "apply",
value: function apply(args) {
return this.component.insertTemplate(args);
}
}]);
}($e.modules.CommandBase);
var _default = exports["default"] = InsertTemplate;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/commands/open.js":
/*!****************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/commands/open.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Open = void 0;
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var Open = exports.Open = /*#__PURE__*/function (_$e$modules$CommandBa) {
function Open() {
(0, _classCallCheck2.default)(this, Open);
return _callSuper(this, Open, arguments);
}
(0, _inherits2.default)(Open, _$e$modules$CommandBa);
return (0, _createClass2.default)(Open, [{
key: "apply",
value: function apply(args) {
return this.component.show(args);
}
}]);
}($e.modules.CommandBase);
var _default = exports["default"] = Open;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/component.js":
/*!************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/component.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _readOnlyError2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/readOnlyError */ "../node_modules/@babel/runtime/helpers/readOnlyError.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js"));
var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
var _componentModalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-modal-base */ "../modules/web-cli/assets/js/modules/component-modal-base.js"));
var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../assets/dev/js/editor/components/template-library/commands/index.js"));
var commandsData = _interopRequireWildcard(__webpack_require__(/*! ./commands-data/ */ "../assets/dev/js/editor/components/template-library/commands-data/index.js"));
var _constants = __webpack_require__(/*! ./constants */ "../assets/dev/js/editor/components/template-library/constants.js");
var _globalStylesDialog = __webpack_require__(/*! ./views/parts/global-styles-dialog */ "../assets/dev/js/editor/components/template-library/views/parts/global-styles-dialog.js");
var _editorOneEvents = __webpack_require__(/*! elementor-editor-utils/editor-one-events */ "../assets/dev/js/editor/utils/editor-one-events.js");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t3 in e) "default" !== _t3 && {}.hasOwnProperty.call(e, _t3) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t3)) && (i.get || i.set) ? o(f, _t3, i) : f[_t3] = e[_t3]); return f; })(e, t); }
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) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
var TemplateLibraryLayoutView = __webpack_require__(/*! elementor-templates/views/library-layout */ "../assets/dev/js/editor/components/template-library/views/library-layout.js");
var Component = exports["default"] = /*#__PURE__*/function (_ComponentModalBase) {
function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}
(0, _inherits2.default)(Component, _ComponentModalBase);
return (0, _createClass2.default)(Component, [{
key: "__construct",
value: function __construct(args) {
_superPropGet(Component, "__construct", this, 3)([args]);
// When switching documents update defaultTabs.
elementor.on('document:loaded', this.onDocumentLoaded.bind(this));
// Remove whole component cache data.
$e.data.deleteCache(this, 'library');
elementor.channels.templates.on('quota:update', function () {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
force = _ref.force;
$e.components.get('cloud-library').utils.setQuotaConfig(force);
});
}
}, {
key: "getNamespace",
value: function getNamespace() {
return 'library';
}
}, {
key: "defaultTabs",
value: function defaultTabs() {
return {
'templates/blocks': {
title: __('Blocks', 'elementor'),
getFilter: function getFilter() {
return {
source: 'remote',
type: 'block',
subtype: elementor.config.document.remoteLibrary.category
};
}
},
'templates/pages': {
title: __('Pages', 'elementor'),
filter: {
source: 'remote',
type: 'page'
}
},
'templates/my-templates': {
title: __('Templates', 'elementor'),
getFilter: function getFilter() {
var _elementor$templates$, _elementor$templates$2;
return {
source: (_elementor$templates$ = elementor.templates.getSourceSelection()) !== null && _elementor$templates$ !== void 0 ? _elementor$templates$ : 'local',
view: (_elementor$templates$2 = elementor.templates.getViewSelection()) !== null && _elementor$templates$2 !== void 0 ? _elementor$templates$2 : 'list'
};
}
}
};
}
}, {
key: "defaultRoutes",
value: function defaultRoutes() {
var _this = this;
var defaultRoutes = {
import: function _import() {
_this.manager.layout.showImportView();
},
'save-template': function saveTemplate(args) {
var _args$context;
_this.manager.layout.showSaveTemplateView(args.model, (_args$context = args.context) !== null && _args$context !== void 0 ? _args$context : _constants.SAVE_CONTEXTS.SAVE);
},
preview: function preview(args) {
_this.manager.layout.showPreviewView(args.model);
},
connect: function connect(args) {
args.texts = {
title: __('Connect to Template Library', 'elementor'),
message: __('Access this template and our entire library by creating a free personal account', 'elementor'),
button: __('Get Started', 'elementor')
};
_this.manager.layout.showConnectView(args);
},
'view-folder': function viewFolder(args) {
_this.manager.layout.showFolderView(args);
}
};
return defaultRoutes;
}
}, {
key: "defaultCommands",
value: function defaultCommands() {
var modalCommands = _superPropGet(Component, "defaultCommands", this, 3)([]);
return _objectSpread(_objectSpread({}, modalCommands), this.importCommands(commands));
}
}, {
key: "defaultData",
value: function defaultData() {
return this.importCommands(commandsData);
}
}, {
key: "defaultShortcuts",
value: function defaultShortcuts() {
return {
open: {
keys: 'ctrl+shift+l'
}
};
}
}, {
key: "onDocumentLoaded",
value: function onDocumentLoaded(document) {
this.setDefaultRoute(document.config.remoteLibrary.default_route);
this.maybeOpenLibrary();
}
}, {
key: "renderTab",
value: function renderTab(tab) {
var currentTab = this.tabs[tab];
var filter = currentTab.getFilter ? currentTab.getFilter() : currentTab.filter;
this.trackLibraryNavigation(tab, currentTab.title);
this.currentTab = tab;
this.manager.setScreen(filter);
}
}, {
key: "trackLibraryNavigation",
value: function trackLibraryNavigation(tab, tabTitle) {
_editorOneEvents.EditorOneEventManager.sendELibraryNav(tabTitle || tab);
}
}, {
key: "activateTab",
value: function activateTab(tab) {
var _this$manager;
$e.routes.saveState('library');
_superPropGet(Component, "activateTab", this, 3)([tab]);
// Update ARIA attributes for accessibility
var $tabsWrapper = jQuery(this.getTabsWrapperSelector());
var $tabs = $tabsWrapper.find('[role="tab"]');
var $activeTab = $tabs.filter("[data-tab=\"".concat(tab, "\"]"));
var $templatesContainer = (_this$manager = this.manager) === null || _this$manager === void 0 || (_this$manager = _this$manager.layout) === null || _this$manager === void 0 || (_this$manager = _this$manager.modalContent) === null || _this$manager === void 0 || (_this$manager = _this$manager.currentView) === null || _this$manager === void 0 ? void 0 : _this$manager.$childViewContainer;
$tabs.attr({
'aria-selected': 'false',
tabindex: '-1'
});
$activeTab.attr({
'aria-selected': 'true',
tabindex: '0'
});
if ($templatesContainer !== null && $templatesContainer !== void 0 && $templatesContainer.length) {
$templatesContainer.attr({
role: 'tabpanel',
'aria-labelledby': "tab-".concat(tab)
});
}
}
}, {
key: "open",
value: function open() {
_superPropGet(Component, "open", this, 3)([]);
if (!this.manager.layout) {
this.manager.layout = this.layout;
}
this.manager.layout.setHeaderDefaultParts();
return true;
}
}, {
key: "close",
value: function close() {
if (!_superPropGet(Component, "close", this, 3)([])) {
return false;
}
this.manager.modalConfig = {};
return true;
}
}, {
key: "show",
value: function show(args) {
this.manager.modalConfig = args;
if (args.toDefault || !$e.routes.restoreState('library')) {
$e.route(this.getDefaultRoute());
}
}
// TODO: Move function to 'insert-template' command.
}, {
key: "insertTemplate",
value: function insertTemplate(args) {
var _this2 = this;
this.downloadTemplate(args, function (data, callbackParams) {
var _model$get, _elementor$config$lib;
var model = callbackParams.model;
var source = (_model$get = model.get('source')) !== null && _model$get !== void 0 ? _model$get : 'local';
var templateType = model.get('type');
var templateTitle = model.get('title');
var templateId = model.get('template_id');
var baseTier = (_elementor$config$lib = elementor.config.library_connect) === null || _elementor$config$lib === void 0 ? void 0 : _elementor$config$lib.base_access_tier;
var templateTier = model.get('accessTier');
$e.run('document/elements/import', {
model: model,
data: data,
options: callbackParams.importOptions,
onAfter: function onAfter() {
_this2.manager.eventManager.sendTemplateInsertedEvent({
library_type: source
});
_editorOneEvents.EditorOneEventManager.sendELibraryInsert({
assetId: templateId,
assetName: templateTitle,
libraryType: templateType || source,
proRequired: baseTier !== templateTier
});
}
});
});
}
}, {
key: "downloadTemplate",
value: function downloadTemplate(args, callback) {
var _this3 = this;
var autoImportSettings = elementor.config.document.remoteLibrary.autoImportSettings,
model = args.model;
var _args$withPageSetting = args.withPageSettings,
withPageSettings = _args$withPageSetting === void 0 ? null : _args$withPageSetting;
if (autoImportSettings) {
withPageSettings = true;
}
this.manager.layout.showLoadingView();
var shouldFetchPageSettings = null === withPageSettings ? model.get('hasPageSettings') : withPageSettings;
this.manager.requestTemplateContent(model.get('source'), model.get('template_id'), {
data: {
with_page_settings: shouldFetchPageSettings
},
success: function () {
var _success = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(data) {
var processedData, globalStylesResult, importOptions, insertTemplateHandler, _t;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_this3.manager.layout.hideLoadingView();
processedData = data;
if (!_this3.manager.hasGlobalStyles(data)) {
_context.next = 4;
break;
}
_context.prev = 1;
_context.next = 2;
return _this3.processGlobalStylesImport(data);
case 2:
globalStylesResult = _context.sent;
processedData = globalStylesResult.data;
withPageSettings = globalStylesResult.withPageSettings;
_context.next = 4;
break;
case 3:
_context.prev = 3;
_t = _context["catch"](1);
return _context.abrupt("return");
case 4:
if (!_this3.manager.hasGlobalStyles(data) && null === withPageSettings) {
withPageSettings = false;
}
importOptions = jQuery.extend({}, _this3.manager.modalConfig.importOptions);
importOptions.withPageSettings = withPageSettings;
if (!(null === withPageSettings && model.get('hasPageSettings'))) {
_context.next = 5;
break;
}
insertTemplateHandler = _this3.getImportSettingsDialog();
insertTemplateHandler.showImportDialogWithData(model, processedData, importOptions, callback);
return _context.abrupt("return");
case 5:
_this3.manager.layout.hideModal();
_this3.showFlatteningWarningIfNeeded(processedData);
callback(processedData, {
model: model,
importOptions: importOptions
});
case 6:
case "end":
return _context.stop();
}
}, _callee, null, [[1, 3]]);
}));
function success(_x) {
return _success.apply(this, arguments);
}
return success;
}(),
error: function error(data) {
_this3.manager.showErrorDialog(data);
},
complete: function complete() {
_this3.manager.layout.hideLoadingView();
}
});
}
}, {
key: "processGlobalStylesImport",
value: function () {
var _processGlobalStylesImport = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(data) {
var _yield$showGlobalStyl, mode, result, processedData, _t2;
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 1;
return (0, _globalStylesDialog.showGlobalStylesDialog)();
case 1:
_yield$showGlobalStyl = _context2.sent;
mode = _yield$showGlobalStyl.mode;
this.manager.layout.showLoadingView();
_context2.prev = 2;
_context2.next = 3;
return new Promise(function (resolve, reject) {
elementorCommon.ajax.addRequest('process_global_styles', {
data: {
content: JSON.stringify(data.content),
import_mode: mode,
global_classes: data.global_classes ? JSON.stringify(data.global_classes) : null,
global_variables: data.global_variables ? JSON.stringify(data.global_variables) : null
},
success: resolve,
error: reject
});
});
case 3:
result = _context2.sent;
processedData = _objectSpread(_objectSpread({}, data), {}, {
content: result.content,
flattened_classes_count: result.flattened_classes_count || 0,
flattened_variables_count: result.flattened_variables_count || 0
});
if (result.updated_global_classes || result.updated_global_variables) {
window.dispatchEvent(new CustomEvent('elementor/global-styles/imported', {
detail: {
global_classes: result.updated_global_classes,
global_variables: result.updated_global_variables
}
}));
}
return _context2.abrupt("return", {
data: processedData,
withPageSettings: 'match_site' === mode
});
case 4:
_context2.prev = 4;
_t2 = _context2["catch"](2);
this.manager.showErrorDialog(_t2);
throw _t2;
case 5:
_context2.prev = 5;
this.manager.layout.hideLoadingView();
return _context2.finish(5);
case 6:
case "end":
return _context2.stop();
}
}, _callee2, this, [[2, 4, 5, 6]]);
}));
function processGlobalStylesImport(_x2) {
return _processGlobalStylesImport.apply(this, arguments);
}
return processGlobalStylesImport;
}()
}, {
key: "getImportSettingsDialog",
value: function getImportSettingsDialog() {
var self = this;
var InsertTemplateHandler = {
dialog: null,
showImportDialog: function showImportDialog(model) {
var dialog = InsertTemplateHandler.getDialog(model);
dialog.onConfirm = function () {
$e.run('library/insert-template', {
model: model,
withPageSettings: true,
onAfter: function onAfter() {
elementor.templates.eventManager.sendInsertApplySettingsEvent({
apply_modal_result: 'apply',
library_type: model.get('source')
});
}
});
};
dialog.onCancel = function () {
$e.run('library/insert-template', {
model: model,
withPageSettings: false,
onAfter: function onAfter() {
elementor.templates.eventManager.sendInsertApplySettingsEvent({
apply_modal_result: "don't apply",
library_type: model.get('source')
});
}
});
};
dialog.show();
},
showImportDialogWithData: function showImportDialogWithData(model, data, importOptions, callback) {
var dialog = InsertTemplateHandler.getDialog(model);
dialog.onConfirm = function () {
importOptions.withPageSettings = true;
elementor.templates.eventManager.sendInsertApplySettingsEvent({
apply_modal_result: 'apply',
library_type: model.get('source')
});
self.manager.layout.hideModal();
callback(data, {
model: model,
importOptions: importOptions
});
};
dialog.onCancel = function () {
importOptions.withPageSettings = false;
elementor.templates.eventManager.sendInsertApplySettingsEvent({
apply_modal_result: "don't apply",
library_type: model.get('source')
});
self.manager.layout.hideModal();
callback(data, {
model: model,
importOptions: importOptions
});
};
dialog.show();
},
initDialog: function initDialog(model) {
InsertTemplateHandler.dialog = elementorCommon.dialogsManager.createWidget('confirm', {
id: 'elementor-insert-template-settings-dialog',
/* Translators: %s is the type content */
headerMessage: __('Apply the settings of this %s too?', 'elementor').replace('%s', elementor.translate(model.attributes.type)),
/* Translators: %s is the type content */
message: __('This will override the design, layout, and other settings of the %s you’re working on.', 'elementor').replace('%s', elementor.documents.getCurrent().container.label),
strings: {
confirm: __('Apply', 'elementor'),
cancel: __('Don’t apply', 'elementor')
}
});
},
getDialog: function getDialog(model) {
if (!InsertTemplateHandler.dialog) {
InsertTemplateHandler.initDialog(model);
}
return InsertTemplateHandler.dialog;
}
};
return InsertTemplateHandler;
}
}, {
key: "getTabsWrapperSelector",
value: function getTabsWrapperSelector() {
return '#elementor-template-library-header-menu';
}
}, {
key: "getModalLayout",
value: function getModalLayout() {
return TemplateLibraryLayoutView;
}
}, {
key: "maybeOpenLibrary",
value: function maybeOpenLibrary() {
if ('#library' === location.hash) {
$e.run('library/open');
location.hash = '';
}
}
}, {
key: "showFlatteningWarningIfNeeded",
value: function showFlatteningWarningIfNeeded(result) {
var flattenedClassesCount = result.flattened_classes_count || 0;
var flattenedVariablesCount = result.flattened_variables_count || 0;
if (0 === flattenedClassesCount && 0 === flattenedVariablesCount) {
return;
}
var message;
if (flattenedClassesCount > 0 && flattenedVariablesCount > 0) {
message = __('Some styles were added as static values because the style limits were reached.', 'elementor');
} else if (flattenedClassesCount > 0) {
message = __('Some styles were added as static values because the class limit was reached.', 'elementor');
} else {
message = __('Some styles were added as static values because the variable limit was reached.', 'elementor');
}
elementor.notifications.showToast({
message: message
});
}
}]);
}(_componentModalBase.default);
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/constants.js":
/*!************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/constants.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.SAVE_CONTEXTS = exports.QUOTA_WARNINGS = exports.QUOTA_BAR_STATES = void 0;
var SAVE_CONTEXTS = exports.SAVE_CONTEXTS = Object.freeze({
SAVE: 'save',
MOVE: 'move',
COPY: 'copy',
BULK_MOVE: 'bulkMove',
BULK_COPY: 'bulkCopy'
});
var QUOTA_WARNINGS = exports.QUOTA_WARNINGS = Object.freeze({
/* Translators: 1: Quota usage percentage */
warning: __('You\'ve saved %1$d%% of the templates in your plan. To get more space ', 'elementor') + '<a href="https://go.elementor.com/go-pro-cloud-templates-usage-bar-80" target="_blank">' + __('Upgrade now', 'elementor') + '</a>',
/* Translators: 1: Quota usage percentage */
alert: __('You\'ve saved %1$d%% of the templates in your plan. To get more space ', 'elementor') + '<a href="https://go.elementor.com/go-pro-cloud-templates-usage-bar-100" target="_blank">' + __('Upgrade now', 'elementor') + '</a>'
});
var QUOTA_BAR_STATES = exports.QUOTA_BAR_STATES = Object.freeze({
NORMAL: 'normal',
WARNING: 'warning',
ALERT: 'alert'
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/event-manager/index.js":
/*!**********************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/event-manager/index.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.EventManager = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
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) { (0, _defineProperty2.default)(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 EVENTS_MAP = {
SAVE_TEMPLATE_CONTEXT_MENU_EXPOSURE: 'save_template_context_menu_exposure',
NEW_SAVE_TEMPLATE_CLICKED: 'new_save_template_clicked',
TEMPLATE_SAVED: 'template_saved',
TEMPLATE_TRANSFER: 'template_transfer',
ITEM_DELETED: 'item_deleted',
TEMPLATE_IMPORT: 'template_import',
TEMPLATE_RENAME: 'template_rename',
TEMPLATE_INSERTED: 'template_inserted',
BULK_ACTIONS_SUCCESS: 'bulk_actions',
BULK_ACTIONS_FAILED: 'bulk_actions',
FOLDER_CREATE: 'folder_create',
QUOTA_BAR_CAPACITY: 'quota_bar_capacity',
INSERT_APPLY_SETTINGS: 'insert_apply_settings',
UPGRADE_CLICKED: 'upgrade_clicked',
PAGE_VIEWED: 'page_viewed',
DELETION_UNDO: 'deletion_undo',
CT_BADGE_HOVER: 'ct_badge_hover'
};
var CLOUD_TEMPLATES_EXPERIMENTS = {
SAVE_TEMPLATE: 'save-template-cloud'
};
var EventManager = exports.EventManager = /*#__PURE__*/function () {
function EventManager() {
(0, _classCallCheck2.default)(this, EventManager);
}
return (0, _createClass2.default)(EventManager, [{
key: "getExperimentVariant",
value: function () {
var _getExperimentVariant = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(experimentName) {
var _elementorCommon, _elementorCommon2;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if ((_elementorCommon = elementorCommon) !== null && _elementorCommon !== void 0 && _elementorCommon.eventsManager) {
_context.next = 1;
break;
}
return _context.abrupt("return", 'control');
case 1:
return _context.abrupt("return", ((_elementorCommon2 = elementorCommon) === null || _elementorCommon2 === void 0 || (_elementorCommon2 = _elementorCommon2.eventsManager) === null || _elementorCommon2 === void 0 ? void 0 : _elementorCommon2.getExperimentVariant(experimentName, 'control')) || 'control');
case 2:
case "end":
return _context.stop();
}
}, _callee);
}));
function getExperimentVariant(_x) {
return _getExperimentVariant.apply(this, arguments);
}
return getExperimentVariant;
}()
}, {
key: "getSaveTemplateExperimentVariant",
value: function getSaveTemplateExperimentVariant() {
return this.getExperimentVariant(CLOUD_TEMPLATES_EXPERIMENTS.SAVE_TEMPLATE);
}
}, {
key: "startSaveTemplateExperiment",
value: function startSaveTemplateExperiment(variant) {
var _elementorCommon3, _elementorCommon4;
if (!((_elementorCommon3 = elementorCommon) !== null && _elementorCommon3 !== void 0 && _elementorCommon3.eventsManager)) {
return;
}
return (_elementorCommon4 = elementorCommon) === null || _elementorCommon4 === void 0 || (_elementorCommon4 = _elementorCommon4.eventsManager) === null || _elementorCommon4 === void 0 ? void 0 : _elementorCommon4.startExperiment(CLOUD_TEMPLATES_EXPERIMENTS.SAVE_TEMPLATE, variant);
}
}, {
key: "sendEvent",
value: function sendEvent(eventName, data) {
return elementorCommon.eventsManager.dispatchEvent(eventName, data);
}
}, {
key: "sendContextMenuExposureEvent",
value: function sendContextMenuExposureEvent() {
return this.sendEvent(EVENTS_MAP.SAVE_TEMPLATE_CONTEXT_MENU_EXPOSURE, {
location: elementorCommon.eventsManager.config.locations.elementorEditor,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.contextMenu,
trigger: elementorCommon.eventsManager.config.triggers.visible
});
}
}, {
key: "sendNewSaveTemplateClickedEvent",
value: function sendNewSaveTemplateClickedEvent() {
return this.sendEvent(EVENTS_MAP.NEW_SAVE_TEMPLATE_CLICKED, {
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal,
trigger: elementorCommon.eventsManager.config.triggers.click
});
}
}, {
key: "sendTemplateSavedEvent",
value: function sendTemplateSavedEvent(data) {
return this.sendEvent(EVENTS_MAP.TEMPLATE_SAVED, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal,
trigger: elementorCommon.eventsManager.config.triggers.click
}, data));
}
}, {
key: "sendTemplateTransferEvent",
value: function sendTemplateTransferEvent(data) {
return this.sendEvent(EVENTS_MAP.TEMPLATE_TRANSFER, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
}, data));
}
}, {
key: "sendItemDeletedEvent",
value: function sendItemDeletedEvent(data) {
return this.sendEvent(EVENTS_MAP.ITEM_DELETED, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteDialog
}, data));
}
}, {
key: "sendTemplateImportEvent",
value: function sendTemplateImportEvent(data) {
return this.sendEvent(EVENTS_MAP.TEMPLATE_IMPORT, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
}, data));
}
}, {
key: "sendTemplateRenameEvent",
value: function sendTemplateRenameEvent(data) {
return this.sendEvent(EVENTS_MAP.TEMPLATE_RENAME, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.renameDialog
}, data));
}
}, {
key: "sendTemplateInsertedEvent",
value: function sendTemplateInsertedEvent(data) {
return this.sendEvent(EVENTS_MAP.TEMPLATE_INSERTED, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library
}, data));
}
}, {
key: "sendBulkActionsSuccessEvent",
value: function sendBulkActionsSuccessEvent(data) {
return this.sendEvent(EVENTS_MAP.BULK_ACTIONS_SUCCESS, _objectSpread({
bulk_status: 'success',
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
}, data));
}
}, {
key: "sendBulkActionsFailedEvent",
value: function sendBulkActionsFailedEvent(data) {
return this.sendEvent(EVENTS_MAP.BULK_ACTIONS_FAILED, _objectSpread({
bulk_status: 'fail',
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.saveModal
}, data));
}
}, {
key: "sendFolderCreateEvent",
value: function sendFolderCreateEvent() {
return this.sendEvent(EVENTS_MAP.FOLDER_CREATE, {
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.createFolderDialog
});
}
}, {
key: "sendQuotaBarCapacityEvent",
value: function sendQuotaBarCapacityEvent(data) {
return this.sendEvent(EVENTS_MAP.QUOTA_BAR_CAPACITY, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library
}, data));
}
}, {
key: "sendInsertApplySettingsEvent",
value: function sendInsertApplySettingsEvent(data) {
return this.sendEvent(EVENTS_MAP.INSERT_APPLY_SETTINGS, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.applySettingsDialog
}, data));
}
}, {
key: "sendUpgradeClickedEvent",
value: function sendUpgradeClickedEvent(data) {
var _elementor;
return this.sendEvent(EVENTS_MAP.UPGRADE_CLICKED, _objectSpread({
location: elementorCommon.eventsManager.config.locations.templatesLibrary.library,
current_sub: (_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 || (_elementor = _elementor.library_connect) === null || _elementor === void 0 ? void 0 : _elementor.current_access_tier
}, data));
}
}, {
key: "sendPageViewEvent",
value: function sendPageViewEvent(data) {
return this.sendEvent(EVENTS_MAP.PAGE_VIEWED, _objectSpread({
page_loaded: data.location
}, data));
}
}, {
key: "sendDeletionUndoEvent",
value: function sendDeletionUndoEvent(data) {
return this.sendEvent(EVENTS_MAP.DELETION_UNDO, _objectSpread({}, data));
}
}, {
key: "sendCTBadgeEvent",
value: function sendCTBadgeEvent(data) {
return this.sendEvent(EVENTS_MAP.CT_BADGE_HOVER, {
ct_badge_hover_position: data.ct_badge_hover_position,
ct_badge_type: data.ct_badge_type,
ct_position_state: data.ct_position_state
});
}
}]);
}();
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/manager.js":
/*!**********************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/manager.js ***!
\**********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../assets/dev/js/editor/components/template-library/component.js"));
var _localStorage = _interopRequireDefault(__webpack_require__(/*! elementor-api/core/data/storages/local-storage */ "../modules/web-cli/assets/js/core/data/storages/local-storage.js"));
var _eventManager = __webpack_require__(/*! ./event-manager */ "../assets/dev/js/editor/components/template-library/event-manager/index.js");
var _constants = __webpack_require__(/*! ./constants */ "../assets/dev/js/editor/components/template-library/constants.js");
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) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var TemplateLibraryCollection = __webpack_require__(/*! elementor-templates/collections/templates */ "../assets/dev/js/editor/components/template-library/collections/templates.js");
var TemplateLibraryManager = function TemplateLibraryManager() {
var _this3 = this;
this.modalConfig = {};
this.eventManager = new _eventManager.EventManager();
var self = this,
templateTypes = {},
storage = new _localStorage.default(),
storageKeyPrefix = 'my_templates_',
sourceKey = 'source',
viewKey = 'view',
bulkSelectedItems = new Set(),
lastDeletedItems = new Set();
var variantsConfig = {
control: {
saveBtnText: __('Save', 'elementor'),
saveDialogDescription: sprintf(/* Translators: 1: Opening bold tag, 2: Closing bold tag. 2: Line break tag. 4: Opening bold tag, 5: Closing bold tag. */
__("You can save it to %1$sCloud Templates%2$s to reuse across any of your Elementor sites at any time%3$sor to %4$sSite Templates%5$s so it's always ready when editing this website.", 'elementor'), '<b>', '</b>', '<br>', '<b>', '</b>')
},
B: {
saveBtnText: __('Save page', 'elementor'),
saveDialogDescription: sprintf(/* Translators: 1: Opening bold tag, 2: Closing bold tag. 3: Opening bold tag, 4: Closing bold tag. */
__('Store your design in %1$sCloud Templates%2$s for future Elementor projects. Or save it to %3$sSite Templates%4$s, to reuse anywhere on this site.', 'elementor'), '<b>', '</b>', '<b>', '</b>')
}
};
var deleteDialog,
errorDialog,
templatesCollection,
config = {},
filterTerms = {},
isLoading = false,
total = 0,
toastConfig = {
show: false,
options: {}
},
bulkSelectedItemsTypes = [];
var registerDefaultTemplateTypes = function registerDefaultTemplateTypes() {
self.getDefaultTemplateTypeData().then(function (data) {
var elements = Object.entries(elementor.getConfig().elements).reduce(function (acc, _ref) {
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
type = _ref2[0],
element = _ref2[1];
if (!(element !== null && element !== void 0 && element.atomic_props_schema)) {
return acc;
}
acc[type] = element.title;
return acc;
}, {});
var translationMap = _objectSpread(_objectSpread({
page: __('Page', 'elementor'),
section: __('Section', 'elementor'),
container: __('Container', 'elementor')
}, elements), {}, (0, _defineProperty2.default)({}, elementor.config.document.type, elementor.config.document.panel.title));
jQuery.each(translationMap, function (type, title) {
self.getDefaultTemplateTypeSafeData(title, type).then(function (defaultTemplateData) {
var safeData = jQuery.extend(true, {}, data, defaultTemplateData);
self.registerTemplateType(type, safeData);
});
});
});
};
var registerDefaultFilterTerms = function registerDefaultFilterTerms() {
filterTerms = {
text: {
callback: function callback(value) {
value = value.toLowerCase();
if (this.get('title').toLowerCase().indexOf(value) >= 0) {
return true;
}
return _.any(this.get('tags'), function (tag) {
return tag.toLowerCase().indexOf(value) >= 0;
});
}
},
type: {},
subtype: {},
favorite: {}
};
};
this.isLoading = function () {
return isLoading;
};
this.canLoadMore = function () {
if (!templatesCollection) {
return false;
}
return templatesCollection.length < total;
};
this.init = function () {
var _this = this;
registerDefaultTemplateTypes();
registerDefaultFilterTerms();
this.component = $e.components.register(new _component.default({
manager: this
}));
elementor.addBackgroundClickListener('libraryToggleMore', {
element: '.elementor-template-library-template-more'
});
window.addEventListener('message', function (message) {
var data = message.data;
if (!data.name || data.name !== 'library/capture-screenshot-done') {
return;
}
var template = templatesCollection.models.find(function (templateModel) {
return templateModel.get('template_id') === parseInt(data.id);
});
if (!template) {
return null;
}
template.set('preview_url', data.imageUrl);
});
this.handleKeydown = function (event) {
if (_this.isSelectAllShortcut(event) && _this.isCloudGridView() && _this.isClickedInLibrary(event)) {
event.preventDefault();
_this.selectAllTemplates();
}
if (_this.isUndoShortCut(event) && lastDeletedItems.size) {
_this.restoreRemovedItems();
}
};
document.addEventListener('keydown', this.handleKeydown);
};
this.getDefaultTemplateTypeData = function () {
return this.eventManager.getSaveTemplateExperimentVariant().then(function (experimentVariant) {
var _variantsConfig$exper;
return {
saveDialog: {
icon: '<i class="eicon-library-upload" aria-hidden="true"></i>',
canSaveToCloud: true,
saveBtnText: (_variantsConfig$exper = variantsConfig[experimentVariant]) === null || _variantsConfig$exper === void 0 ? void 0 : _variantsConfig$exper.saveBtnText
},
moveDialog: {
description: __('Alternatively, you can copy the template.', 'elementor'),
icon: '<i class="eicon-library-move" aria-hidden="true"></i>',
canSaveToCloud: true,
saveBtnText: __('Move', 'elementor'),
nameLabel: '',
namePlaceholder: ''
},
copyDialog: {
description: __('Alternatively, you can move the template.', 'elementor'),
icon: '<i class="eicon-library-copy" aria-hidden="true"></i>',
canSaveToCloud: true,
saveBtnText: __('Copy', 'elementor'),
nameLabel: '',
namePlaceholder: ''
},
bulkMoveDialog: {
description: __('Alternatively, you can copy the templates.', 'elementor'),
title: __('Move templates to a different location', 'elementor'),
icon: '<i class="eicon-library-move" aria-hidden="true"></i>',
canSaveToCloud: true,
saveBtnText: __('Move', 'elementor'),
nameLabel: '',
namePlaceholder: ''
},
bulkCopyDialog: {
description: __('Alternatively, you can move the templates.', 'elementor'),
title: __('Copy templates to a different location', 'elementor'),
icon: '<i class="eicon-library-copy" aria-hidden="true"></i>',
canSaveToCloud: true,
saveBtnText: __('Copy', 'elementor'),
nameLabel: '',
namePlaceholder: ''
}
};
});
};
this.getDefaultTemplateTypeSafeData = function (title, type) {
return this.eventManager.getSaveTemplateExperimentVariant().then(function (experimentVariant) {
var _variantsConfig$exper2;
var isPageType = 'page' === type;
/* Translators: %s: Template type. */
var nameLabel = sprintf(__('%s name', 'elementor'), title);
var namePlaceholder = isPageType ? __('Type the page name here', 'elementor') : __('Give your template a name', 'elementor');
return {
saveDialog: {
description: ((_variantsConfig$exper2 = variantsConfig[experimentVariant]) === null || _variantsConfig$exper2 === void 0 ? void 0 : _variantsConfig$exper2.saveDialogDescription) || '',
/* Translators: %s: Template type. */
title: sprintf(__('Save this %s to your library', 'elementor'), title),
nameLabel: nameLabel,
namePlaceholder: namePlaceholder,
/* Translators: %s: Template type. */
saveLocationLabel: sprintf(__('Where would you like to save this %s?', 'elementor'), title)
},
moveDialog: {
/* Translators: %s: Template type. */
title: sprintf(__('Move your %s to a different location', 'elementor'), title),
/* Translators: %s: Template type. */
saveLocationLabel: sprintf(__('Where would you like to move this %s?', 'elementor'), title),
nameLabel: nameLabel,
namePlaceholder: namePlaceholder
},
copyDialog: {
/* Translators: %s: Template type. */
title: sprintf(__('Copy your %s to a different location', 'elementor'), title),
/* Translators: %s: Template type. */
saveLocationLabel: sprintf(__('Where would you like to cppy this %s?', 'elementor'), title),
nameLabel: nameLabel,
namePlaceholder: namePlaceholder
},
bulkMoveDialog: {
saveLocationLabel: __('Where would you like to move selected templates?', 'elementor')
},
bulkCopyDialog: {
saveLocationLabel: __('Where would you like to copy selected templates?', 'elementor')
}
};
});
};
this.isSelectAllShortcut = function (event) {
return (event.metaKey || event.ctrlKey) && 'a' === event.key;
};
this.isUndoShortCut = function (event) {
return (event.metaKey || event.ctrlKey) && 'z' === event.key;
};
this.isCloudGridView = function () {
return 'cloud' === this.getFilter('source') && 'grid' === this.getViewSelection();
};
this.isClickedInLibrary = function (event) {
if (event.target === document.body) {
return true; // When the rename dialog is closed it sets the target to the body.
}
var libraryElement = document.getElementById('elementor-template-library-modal');
return libraryElement && event.target === libraryElement;
};
this.clearLastRemovedItems = function () {
lastDeletedItems.clear();
};
this.addLastRemovedItems = function (ids) {
if (!Array.isArray(ids) && !ids.length) {
return;
}
ids.forEach(function (id) {
return lastDeletedItems.add(id);
});
};
this.selectAllTemplates = function () {
var _this2 = this;
document.querySelectorAll('.elementor-template-library-template[data-template_id]').forEach(function (element) {
var templateId = element.getAttribute('data-template_id');
var type = element.getAttribute('data-type');
element.classList.add('bulk-selected-item');
_this2.addBulkSelectionItem(templateId, type);
});
this.layout.handleBulkActionBar();
};
this.restoreRemovedItems = function () {
this.onUndoDelete(1 < lastDeletedItems.size);
};
this.getSourceSelection = function () {
return storage.getItem(storageKeyPrefix + sourceKey);
};
this.setSourceSelection = function (value) {
return storage.setItem(storageKeyPrefix + sourceKey, value);
};
this.getViewSelection = function () {
return storage.getItem(storageKeyPrefix + viewKey);
};
this.setViewSelection = function (value) {
return storage.setItem(storageKeyPrefix + viewKey, value);
};
this.getTemplateTypes = function (type) {
if (type) {
return templateTypes[type];
}
return templateTypes;
};
this.registerTemplateType = function (type, data) {
if (templateTypes.hasOwnProperty(type)) {
return;
}
templateTypes[type] = data;
};
this.deleteTemplate = function (templateModel, options) {
this.clearLastRemovedItems();
var dialog = self.getDeleteDialog(templateModel);
dialog.onConfirm = function () {
if (options.onConfirm) {
options.onConfirm();
}
var templateId = templateModel.get('template_id');
var source = templateModel.get('source');
var itemType = templateModel.get('subType');
elementorCommon.ajax.addRequest('delete_template', {
data: {
source: source,
template_id: templateId
},
success: function success(response) {
templatesCollection.remove(templateModel);
if ('cloud' === source) {
self.addLastRemovedItems([templateId]);
}
if (options.onSuccess) {
options.onSuccess(response);
}
self.layout.updateViewCollection(self.filterTemplates());
var buttons = 'cloud' === source ? [{
name: 'undo_bulk',
text: __('Undo', 'elementor'),
callback: function callback() {
self.onUndoDelete();
}
}] : null;
elementor.notifications.showToast({
message: "1 item deleted successfully",
buttons: buttons
});
self.triggerQuotaUpdate();
self.resetBulkActionBar();
self.eventManager.sendItemDeletedEvent({
library_type: source,
item_type: itemType
});
}
});
};
dialog.show();
};
this.renameTemplate = function (templateModel, options) {
var originalTitle = templateModel.get('title');
_this3.clearLastRemovedItems();
var dialog = _this3.getRenameDialog(templateModel);
return new Promise(function (resolve) {
dialog.onConfirm = function () {
if (options.onConfirm) {
options.onConfirm();
}
var source = templateModel.get('source');
elementorCommon.ajax.addRequest('rename_template', {
data: {
source: source,
id: templateModel.get('template_id'),
title: templateModel.get('title')
},
success: function success(response) {
templateModel.trigger('change:title');
_this3.eventManager.sendTemplateRenameEvent({
source: source
});
resolve(response);
},
error: function error(_error) {
_this3.showErrorDialog(_error);
templateModel.set('title', originalTitle);
resolve();
}
});
};
dialog.show();
});
};
this.getRenameDialog = function (templateModel) {
var headerMessage = sprintf(
// Translators: %1$s: Folder name, %2$s: Number of templates.
__('Rename "%1$s"', 'elementor'), templateModel.get('title'));
var originalTitle = templateModel.get('title');
var $inputArea = jQuery('<input>', {
id: 'elementor-rename-template-dialog__input',
type: 'text',
value: templateModel.get('title')
}).attr('autocomplete', 'off');
var dialog = elementorCommon.dialogsManager.createWidget('confirm', {
id: 'elementor-template-library-rename-dialog',
headerMessage: headerMessage,
message: $inputArea,
strings: {
confirm: __('Rename', 'elementor')
},
hide: {
ignore: '#elementor-template-library-modal'
},
onCancel: function onCancel() {
templateModel.set('title', originalTitle);
},
onShow: function onShow() {
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.renameDialog
});
$inputArea.trigger('focus');
}
});
$inputArea.on('input', function (event) {
event.preventDefault();
var title = event.target.value.trim();
templateModel.set('title', title, {
silent: true
});
dialog.getElements('ok').prop('disabled', !self.isTemplateTitleValid(title));
});
return dialog;
};
this.isTemplateTitleValid = function (title) {
return title.trim().length > 0 && title.trim().length <= 75;
};
this.getFolderTemplates = function (parentElement) {
_this3.clearLastRemovedItems();
var parentId = parentElement.model.get('template_id');
var parentTitle = parentElement.model.get('title');
return new Promise(function (resolve) {
isLoading = true;
var ajaxOptions = {
data: {
source: 'cloud',
template_id: parentId
},
success: function success(data) {
_this3.setFilter('orderby', '', true);
_this3.setFilter('order', '', true);
_this3.setFilter('parent', {
id: parentId,
title: parentTitle
});
templatesCollection = new TemplateLibraryCollection(data.templates);
elementor.templates.layout.hideLoadingView();
self.layout.updateViewCollection(templatesCollection.models);
self.layout.modalContent.currentView.ui.addNewFolder.remove();
self.layout.modalContent.currentView.ui.addNewFolderDivider.remove();
self.layout.resetSortingUI();
isLoading = false;
resolve();
},
error: function error(_error2) {
isLoading = false;
_this3.showErrorDialog(_error2);
}
};
elementorCommon.ajax.addRequest('get_item_children', ajaxOptions);
});
};
this.createFolder = function (folderData, options) {
var _this4 = this;
this.clearLastRemovedItems();
if (null !== this.getFilter('parent')) {
this.showErrorDialog(__('You can not create a folder inside another folder.', 'elementor'));
return;
}
var dialog = this.getCreateFolderDialog(folderData);
return new Promise(function (resolve) {
dialog.onConfirm = /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 1;
return elementorCommon.ajax.addRequest('create_folder', {
data: {
source: folderData.source,
title: folderData.title
},
success: function success(response) {
resolve(response);
options === null || options === void 0 || options.onSuccess();
_this4.eventManager.sendFolderCreateEvent();
},
error: function error(_error3) {
_this4.showErrorDialog(_error3);
resolve();
}
});
case 1:
case "end":
return _context.stop();
}
}, _callee);
}));
dialog.show();
});
};
this.getCreateFolderDialog = function (folderData) {
var paragraph = document.createElement('p');
paragraph.className = 'elementor-create-folder-template-dialog__p';
paragraph.textContent = __('Save assets to reuse on any site in your account.', 'elementor');
var inputArea = document.createElement('input');
inputArea.className = 'elementor-create-folder-template-dialog__input';
inputArea.type = 'text';
inputArea.value = '';
inputArea.placeholder = __('Folder name', 'elementor');
inputArea.autocomplete = 'off';
var fragment = document.createDocumentFragment();
fragment.appendChild(paragraph);
fragment.appendChild(inputArea);
var dialog = elementorCommon.dialogsManager.createWidget('confirm', {
id: 'elementor-template-library-create-new-folder-dialog',
headerMessage: __('Create a new folder', 'elementor'),
message: fragment,
strings: {
confirm: __('Create', 'elementor')
},
hide: {
ignore: '#elementor-template-library-modal'
},
onShow: function onShow() {
inputArea.focus();
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.newFolderModal
});
}
});
dialog.getElements('ok').prop('disabled', true);
inputArea.addEventListener('input', function (event) {
event.preventDefault();
var title = event.target.value.trim();
folderData.title = title;
var isTitleValid = self.isTemplateTitleValid(title);
dialog.getElements('ok').prop('disabled', !isTitleValid);
});
return dialog;
};
this.deleteFolder = function (templateModel, options) {
var _this5 = this;
this.clearLastRemovedItems();
var ajaxOptions = {
data: {
source: 'cloud',
template_id: templateModel.get('template_id')
},
success: function success(data) {
return _this5.handleGetFolderDataSuccess(templateModel, options, data);
}
};
elementorCommon.ajax.addRequest('get_item_children', ajaxOptions);
};
this.handleGetFolderDataSuccess = function (templateModel, options, data) {
var _this6 = this;
var dialog = this.getDeleteFolderDialog(templateModel, data);
dialog.onConfirm = function () {
var _options$onConfirm;
(_options$onConfirm = options.onConfirm) === null || _options$onConfirm === void 0 || _options$onConfirm.call(options);
_this6.sendDeleteRequest(templateModel, options);
};
dialog.show();
};
this.getDeleteFolderDialog = function (templateModel, data) {
var deleteFolderDialog = elementorCommon.dialogsManager.createWidget('confirm', {
id: 'elementor-template-library-delete-dialog',
headerMessage: __('Delete this folder?', 'elementor'),
message: sprintf(
// Translators: %1$s: Folder name, %2$s: Number of templates.
__('This will permanently delete "%1$s" that contains %2$d templates.', 'elementor'), templateModel.get('title'), data.total),
strings: {
confirm: __('Delete', 'elementor')
},
onShow: function onShow() {
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteFolderDialog
});
}
});
deleteFolderDialog.getElements('ok').addClass('e-danger color-white');
return deleteFolderDialog;
};
this.getBulkDeleteDialog = function () {
var bulkDeleteDialog = elementorCommon.dialogsManager.createWidget('confirm', {
id: 'elementor-template-library-bulk-delete-dialog',
headerMessage: __('Delete items?', 'elementor'),
message: sprintf(
// Translators: %1$s: Number of selected items.
__('This will permanently remove %1$s selected items.', 'elementor'), bulkSelectedItems.size),
strings: {
confirm: __('Delete', 'elementor')
}
});
bulkDeleteDialog.getElements('ok').addClass('e-danger color-white');
return bulkDeleteDialog;
};
this.sendDeleteRequest = function (templateModel, options) {
var _this7 = this;
var templateId = templateModel.get('template_id');
var source = templateModel.get('source');
elementorCommon.ajax.addRequest('delete_template', {
data: {
source: source,
template_id: templateId
},
success: function success(response) {
var _options$onSuccess;
self.addLastRemovedItems([templateId]);
templatesCollection.remove(templateModel, {
silent: true
});
(_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 || _options$onSuccess.call(options, response);
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteFolderDialog
});
elementor.templates.eventManager.sendItemDeletedEvent({
library_type: source,
item_type: 'folder'
});
_this7.triggerQuotaUpdate();
}
});
};
/**
* @param {*} model - Template model.
* @param {Object} args - Template arguments.
* @deprecated since 2.8.0, use `$e.run( 'library/insert-template' )` instead.
*/
this.importTemplate = function (model) {
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
this.clearLastRemovedItems();
elementorDevTools.deprecation.deprecated('importTemplate', '2.8.0', "$e.run( 'library/insert-template' )");
args.model = model;
$e.run('library/insert-template', args);
};
this.saveTemplate = function (type, data) {
var _data$source;
this.clearLastRemovedItems();
var templateType = templateTypes[type];
_.extend(data, {
source: (_data$source = data.source) !== null && _data$source !== void 0 ? _data$source : 'local',
type: type
});
if (templateType.prepareSavedData) {
data = templateType.prepareSavedData(data);
}
data.content = JSON.stringify(data.content);
var defaultAjaxParams = {
data: data,
success: function success(successData) {
$e.route('library/templates/my-templates', {
onBefore: function onBefore() {
self.triggerQuotaUpdate();
if (templatesCollection) {
var itemExist = templatesCollection.findWhere({
template_id: successData.template_id
});
if (!itemExist) {
templatesCollection.add(successData);
}
}
self.sendOnSavedTemplateSuccessEvent(data);
}
});
},
error: function error(errorData) {
self.showErrorDialog(errorData);
self.clearToastConfig();
self.sendOnSavedTemplateFailedEvent(data);
}
};
var ajaxParams = _.extend(defaultAjaxParams, templateType.ajaxParams);
elementorCommon.ajax.addRequest(this.getSaveAjaxAction(data.save_context), ajaxParams);
};
this.sendOnSavedTemplateSuccessEvent = function (formData) {
if (_constants.SAVE_CONTEXTS.SAVE === formData.save_context) {
self.eventManager.sendTemplateSavedEvent({
library_type: formData.source,
template_type: formData.type
});
} else if ([_constants.SAVE_CONTEXTS.COPY, _constants.SAVE_CONTEXTS.MOVE].includes(formData.save_context)) {
self.eventManager.sendTemplateTransferEvent({
transfer_method: formData.save_context,
template_type: formData.type,
template_origin: formData.from_source,
template_destination: formData.source
});
} else if ([_constants.SAVE_CONTEXTS.BULK_MOVE, _constants.SAVE_CONTEXTS.BULK_COPY].includes(formData.save_context)) {
self.eventManager.sendBulkActionsSuccessEvent({
bulk_action: _constants.SAVE_CONTEXTS.BULK_MOVE === formData.save_context ? 'move' : 'copy',
library_type: formData.source,
bulk_count: formData.from_template_id.length,
template_origin: formData.from_source,
template_destination: formData.source
});
}
};
this.sendOnSavedTemplateFailedEvent = function (formData) {
if ([_constants.SAVE_CONTEXTS.BULK_MOVE, _constants.SAVE_CONTEXTS.BULK_COPY].includes(formData.save_context)) {
self.eventManager.sendBulkActionsFailedEvent({
bulk_action: _constants.SAVE_CONTEXTS.BULK_MOVE === formData.save_context ? 'move' : 'copy',
library_type: formData.source,
bulk_count: formData.from_template_id.length,
template_origin: formData.from_source,
template_destination: formData.source
});
}
};
this.getSaveAjaxAction = function (saveContext) {
var _saveActions$saveCont;
this.clearLastRemovedItems();
var saveActions = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.SAVE_CONTEXTS.SAVE, 'save_template'), _constants.SAVE_CONTEXTS.MOVE, 'move_template'), _constants.SAVE_CONTEXTS.COPY, 'copy_template'), _constants.SAVE_CONTEXTS.BULK_MOVE, 'bulk_move_templates'), _constants.SAVE_CONTEXTS.BULK_COPY, 'bulk_copy_templates');
return (_saveActions$saveCont = saveActions[saveContext]) !== null && _saveActions$saveCont !== void 0 ? _saveActions$saveCont : 'save_template';
};
this.requestTemplateContent = function (source, id, ajaxOptions) {
this.clearLastRemovedItems();
var options = {
unique_id: id,
data: {
source: source,
edit_mode: true,
display: true,
template_id: id
}
};
if (ajaxOptions) {
jQuery.extend(true, options, ajaxOptions);
}
return elementorCommon.ajax.addRequest('get_template_data', options);
};
this.hasGlobalStyles = function (templateData) {
var _templateData$global_, _templateData$global_2;
var hasClasses = ((_templateData$global_ = templateData.global_classes) === null || _templateData$global_ === void 0 ? void 0 : _templateData$global_.items) && Object.keys(templateData.global_classes.items).length > 0;
var hasVariables = ((_templateData$global_2 = templateData.global_variables) === null || _templateData$global_2 === void 0 ? void 0 : _templateData$global_2.data) && Object.keys(templateData.global_variables.data).length > 0;
return hasClasses || hasVariables;
};
this.syncGlobalStylesBeforeSave = function () {
var promises = [];
var event = new CustomEvent('elementor/global-styles/before-save', {
detail: {
promises: promises
}
});
window.dispatchEvent(event);
return Promise.allSettled(promises);
};
this.markAsFavorite = function (templateModel, favorite) {
this.clearLastRemovedItems();
var options = {
data: {
source: templateModel.get('source'),
template_id: templateModel.get('template_id'),
favorite: favorite
}
};
return elementorCommon.ajax.addRequest('mark_template_as_favorite', options);
};
this.getDeleteDialog = function (templateModel) {
if (!deleteDialog) {
deleteDialog = elementorCommon.dialogsManager.createWidget('confirm', {
id: 'elementor-template-library-delete-dialog',
headerMessage: __('Delete this template?', 'elementor'),
message: sprintf(
// Translators: %1$s: Template name.
__('This will permanently remove "%1$s".', 'elementor'), templateModel.get('title')),
strings: {
confirm: __('Delete', 'elementor')
},
onShow: function onShow() {
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.deleteDialog
});
}
});
deleteDialog.getElements('ok').addClass('e-danger color-white');
}
return deleteDialog;
};
this.getErrorDialog = function () {
if (!errorDialog) {
errorDialog = elementorCommon.dialogsManager.createWidget('alert', {
id: 'elementor-template-library-error-dialog',
headerMessage: __('An error occurred.', 'elementor')
});
}
return errorDialog;
};
this.getTemplatesCollection = function () {
return templatesCollection;
};
this.getConfig = function (item) {
if (item) {
return config[item] ? config[item] : {};
}
return config;
};
this.requestLibraryData = function (options) {
if (templatesCollection && !options.forceUpdate) {
if (options.onUpdate) {
options.onUpdate();
}
return;
}
if (options.onBeforeUpdate) {
options.onBeforeUpdate();
}
var ajaxOptions = {
data: {},
success: function success(data) {
templatesCollection = new TemplateLibraryCollection(data.templates);
if (data.config) {
config = data.config;
}
if (options.onUpdate) {
options.onUpdate();
}
}
};
if (options.forceSync) {
ajaxOptions.data.sync = true;
}
elementorCommon.ajax.addRequest('get_library_data', ajaxOptions);
};
this.getFilter = function (name) {
return elementor.channels.templates.request('filter:' + name);
};
this.setFilter = function (name, value, silent) {
this.clearLastRemovedItems();
elementor.channels.templates.reply('filter:' + name, value);
if (!silent) {
elementor.channels.templates.trigger('filter:change');
}
};
this.getFilterTerms = function (termName) {
if (termName) {
return filterTerms[termName];
}
return filterTerms;
};
this.setScreen = function (args) {
this.clearLastRemovedItems();
elementor.channels.templates.stopReplying();
self.setFilter('source', args.source, true);
self.setFilter('type', args.type, true);
self.setFilter('subtype', args.subtype, true);
self.showTemplates();
};
this.loadTemplates = function (onUpdate) {
this.clearLastRemovedItems();
isLoading = true;
total = 0;
self.layout.showLoadingView();
var query = {
source: this.getFilter('source')
},
options = {};
// TODO: Remove - it when all the data commands is ready, manage the cache!.
if ('local' === query.source || 'cloud' === query.source) {
options.refresh = true;
}
this.setFilter('parent', null, query);
var loadTemplatesData = function loadTemplatesData() {
return $e.data.get('library/templates', query, options).then(function (result) {
var _result$data;
var templates = 'cloud' === query.source ? result.data.templates.templates : result.data.templates;
templatesCollection = new TemplateLibraryCollection(templates);
if ((_result$data = result.data) !== null && _result$data !== void 0 && (_result$data = _result$data.templates) !== null && _result$data !== void 0 && _result$data.total) {
var _result$data2;
total = (_result$data2 = result.data) === null || _result$data2 === void 0 || (_result$data2 = _result$data2.templates) === null || _result$data2 === void 0 ? void 0 : _result$data2.total;
}
if (result.data.config) {
config = result.data.config;
}
self.layout.hideLoadingView();
if (onUpdate) {
onUpdate();
}
}).finally(function () {
isLoading = false;
});
};
var handleCloudSource = function handleCloudSource() {
var _elementorAppConfig$c;
if ('undefined' === typeof ((_elementorAppConfig$c = elementorAppConfig['cloud-library']) === null || _elementorAppConfig$c === void 0 ? void 0 : _elementorAppConfig$c.quota)) {
return $e.components.get('cloud-library').utils.getQuotaConfig(true).then(function () {
if (self.shouldShowCloudStateView()) {
self.layout.showCloudStateView();
return;
}
return loadTemplatesData();
}).catch(function () {
self.layout.showCloudStateView();
isLoading = false;
});
}
if (self.shouldShowCloudStateView()) {
self.layout.showCloudStateView();
return;
}
return loadTemplatesData();
};
if ('cloud' === query.source) {
handleCloudSource();
} else {
loadTemplatesData();
}
};
this.searchTemplates = function (data) {
_this3.clearLastRemovedItems();
return new Promise(function (resolve) {
_this3.setFilter('parent', null);
isLoading = true;
var ajaxOptions = {
data: data,
success: function success(result) {
isLoading = false;
templatesCollection = new TemplateLibraryCollection(result.templates);
total = result.total;
self.layout.updateViewCollection(templatesCollection.models);
_this3.setFilter('text', data.search);
resolve(result);
},
error: function error(_error4) {
isLoading = false;
_this3.showErrorDialog(_error4);
resolve();
}
};
elementorCommon.ajax.addRequest('search_templates', ajaxOptions);
});
};
this.loadMore = function () {
var _this3$getFilter;
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
onUpdate = _ref4.onUpdate,
_ref4$search = _ref4.search,
search = _ref4$search === void 0 ? '' : _ref4$search,
_ref4$refresh = _ref4.refresh,
refresh = _ref4$refresh === void 0 ? false : _ref4$refresh;
isLoading = true;
_this3.clearLastRemovedItems();
var source = _this3.getFilter('source');
var parentId = (_this3$getFilter = _this3.getFilter('parent')) === null || _this3$getFilter === void 0 ? void 0 : _this3$getFilter.id;
var ajaxOptions = {
data: {
source: source,
offset: refresh ? 0 : templatesCollection.length,
search: search,
parentId: parentId,
orderby: elementor.templates.getFilter('orderby') || null,
order: elementor.templates.getFilter('order') || null
},
success: function success(result) {
var collection = new TemplateLibraryCollection(result.templates);
if (refresh) {
templatesCollection.reset(collection.models);
self.layout.updateViewCollection(templatesCollection.models);
} else {
templatesCollection.add(collection.models, {
merge: true
});
self.layout.addTemplates(collection.models);
}
if (onUpdate) {
onUpdate();
}
isLoading = false;
},
error: function error() {
isLoading = false;
}
};
elementorCommon.ajax.addRequest('load_more_templates', ajaxOptions);
};
this.showTemplates = function () {
// The tabs should exist in DOM on loading.
self.layout.setHeaderDefaultParts();
self.loadTemplates(function () {
var templatesToShow = self.filterTemplates();
self.layout.showTemplatesView(new TemplateLibraryCollection(templatesToShow));
self.handleToast();
});
};
this.handleToast = function () {
var _toastConfig, _toastConfig2;
if (!((_toastConfig = toastConfig) !== null && _toastConfig !== void 0 && _toastConfig.show)) {
return;
}
elementor.notifications.showToast((_toastConfig2 = toastConfig) === null || _toastConfig2 === void 0 ? void 0 : _toastConfig2.options);
this.clearToastConfig();
};
this.setToastConfig = function (newConfig) {
toastConfig = newConfig;
};
this.clearToastConfig = function () {
this.setToastConfig({
show: false,
options: {}
});
};
this.filterTemplates = function () {
var activeSource = self.getFilter('source');
return templatesCollection.filter(function (model) {
if (activeSource !== model.get('source')) {
return false;
}
var typeInfo = templateTypes[model.get('type')];
return !typeInfo || false !== typeInfo.showInLibrary;
});
};
this.showErrorDialog = function (errorMessage) {
if ('object' === (0, _typeof2.default)(errorMessage)) {
var message = '';
_.each(errorMessage, function (error) {
if (!(error !== null && error !== void 0 && error.message)) {
return;
}
message += '<div>' + error.message + '.</div>';
});
errorMessage = message;
} else if (errorMessage) {
errorMessage += '.';
}
if (errorMessage) {
errorMessage = __('The following error(s) occurred while processing the request:', 'elementor') + '<div id="elementor-template-library-error-info">' + errorMessage + '</div>';
} else {
errorMessage = __('Please try again.', 'elementor');
}
self.getErrorDialog().setMessage(errorMessage).show();
};
this.onSelectSourceFilterChange = function (event) {
var _event$currentTarget$, _event$currentTarget;
var templatesSource = (_event$currentTarget$ = event === null || event === void 0 || (_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || (_event$currentTarget = _event$currentTarget.dataset) === null || _event$currentTarget === void 0 ? void 0 : _event$currentTarget.source) !== null && _event$currentTarget$ !== void 0 ? _event$currentTarget$ : 'local',
alreadyActive = templatesSource === self.getFilter('source');
if (alreadyActive) {
return;
}
self.setSourceSelection(templatesSource);
self.setFilter('source', templatesSource, true);
self.clearBulkSelectionItems();
self.loadTemplates(function () {
var templatesToShow = self.filterTemplates();
self.layout.showTemplatesView(new TemplateLibraryCollection(templatesToShow));
});
};
this.onSelectViewChange = function (selectedView) {
self.setViewSelection(selectedView);
self.setFilter(viewKey, selectedView, true);
self.layout.updateViewCollection(self.filterTemplates());
self.resetBulkActionBar();
};
this.resetBulkActionBar = function () {
_this3.clearBulkSelectionItems();
_this3.layout.handleBulkActionBarUi();
};
this.shouldShowCloudStateView = function () {
if (!elementor.config.library_connect.is_connected) {
return true;
}
return !this.hasCloudLibraryQuota() || this.cloudLibraryIsDeactivated();
};
this.cloudLibraryIsDeactivated = function () {
var _elementorAppConfig$c2;
var quota = (_elementorAppConfig$c2 = elementorAppConfig['cloud-library']) === null || _elementorAppConfig$c2 === void 0 ? void 0 : _elementorAppConfig$c2.quota;
if (!quota) {
return false;
}
var _quota$currentUsage = quota.currentUsage,
currentUsage = _quota$currentUsage === void 0 ? 0 : _quota$currentUsage,
_quota$threshold = quota.threshold,
threshold = _quota$threshold === void 0 ? 0 : _quota$threshold,
_quota$subscriptionId = quota.subscriptionId,
subscriptionId = _quota$subscriptionId === void 0 ? '' : _quota$subscriptionId;
var isOverThreshold = currentUsage > threshold;
var hasSubscription = '' !== subscriptionId;
return isOverThreshold && !hasSubscription;
};
this.hasCloudLibraryQuota = function () {
var _elementorAppConfig$c3, _elementorAppConfig$c4;
return 'undefined' !== typeof ((_elementorAppConfig$c3 = elementorAppConfig['cloud-library']) === null || _elementorAppConfig$c3 === void 0 ? void 0 : _elementorAppConfig$c3.quota) && 0 < ((_elementorAppConfig$c4 = elementorAppConfig['cloud-library'].quota) === null || _elementorAppConfig$c4 === void 0 ? void 0 : _elementorAppConfig$c4.threshold);
};
this.addBulkSelectionItem = function (templateId) {
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'template';
bulkSelectedItemsTypes.push(type);
bulkSelectedItems.add(parseInt(templateId));
};
this.removeBulkSelectionItem = function (templateId) {
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'template';
var index = bulkSelectedItemsTypes.findIndex(function (item) {
return item === type;
});
if (index !== -1) {
bulkSelectedItemsTypes.splice(index, 1);
}
bulkSelectedItems.delete(parseInt(templateId));
};
this.clearBulkSelectionItems = function () {
bulkSelectedItems.clear();
bulkSelectedItemsTypes = [];
};
this.getBulkSelectionItems = function () {
return bulkSelectedItems;
};
this.getUniqueBulkSelectionItemsTypesEventLabel = function () {
var types = (0, _toConsumableArray2.default)(new Set(bulkSelectedItemsTypes));
var hasFolders = types.includes('folder');
var hasTemplates = types.some(function (type) {
return type !== 'folder';
});
if (hasFolders && hasTemplates) {
return 'both';
}
if (hasFolders) {
return 'folder';
}
return 'template';
};
this.onBulkDeleteClick = function () {
var _this8 = this;
this.clearLastRemovedItems();
return new Promise(function (resolve) {
var selectedItems = _this8.getBulkSelectionItems();
if (!selectedItems.size) {
return;
}
var dialog = _this8.getBulkDeleteDialog();
var source = _this8.getFilter('source');
var templateIds = Array.from(selectedItems);
dialog.onConfirm = function () {
isLoading = true;
var ajaxOptions = {
data: {
source: source,
template_ids: templateIds
},
success: function success() {
isLoading = false;
var modelsToRemove = templatesCollection.models.filter(function (templateModel) {
return selectedItems.has(templateModel.get('template_id'));
});
if ('cloud' === source) {
self.addLastRemovedItems(templateIds);
}
templatesCollection.remove(modelsToRemove);
self.layout.updateViewCollection(self.filterTemplates());
var tempBulkSelectedItemsTypes = bulkSelectedItemsTypes;
self.clearBulkSelectionItems();
bulkSelectedItemsTypes = tempBulkSelectedItemsTypes;
self.eventManager.sendBulkActionsSuccessEvent({
library_type: source,
bulk_action: 'delete',
bulk_count: templateIds.length
});
var buttons = 'cloud' === source ? [{
name: 'undo_bulk_delete',
text: __('Undo', 'elementor'),
callback: function callback() {
_this8.onUndoDelete(1 < templateIds.length);
}
}] : null;
elementor.notifications.showToast({
message: "".concat(templateIds.length, " items deleted successfully"),
buttons: buttons
});
_this8.triggerQuotaUpdate();
resolve();
},
error: function error(_error5) {
isLoading = false;
_this8.showErrorDialog(_error5);
self.eventManager.sendBulkActionsFailedEvent({
library_type: source,
bulk_action: 'delete',
bulk_count: templateIds.length
});
resolve();
}
};
elementorCommon.ajax.addRequest('bulk_delete_templates', ajaxOptions);
};
dialog.onCancel = function () {
resolve();
};
dialog.show();
});
};
this.onUndoDelete = function () {
var _this9 = this;
var isBulk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
return new Promise(function (resolve) {
isLoading = true;
if (!lastDeletedItems.size) {
return resolve();
}
var source = _this9.getFilter('source');
var templateIds = Array.from(lastDeletedItems);
var ajaxOptions = {
data: {
source: source,
template_ids: templateIds
},
success: function success() {
isLoading = false;
$e.routes.refreshContainer('library');
_this9.clearLastRemovedItems();
_this9.triggerQuotaUpdate();
bulkSelectedItemsTypes = [];
resolve();
},
error: function error(_error6) {
isLoading = false;
_this9.clearLastRemovedItems();
_this9.showErrorDialog(_error6);
resolve();
}
};
elementorCommon.ajax.addRequest('bulk_undo_delete_items', ajaxOptions);
self.eventManager.sendDeletionUndoEvent({
is_bulk: isBulk,
item_type: _this9.getUniqueBulkSelectionItemsTypesEventLabel()
});
});
};
this.triggerQuotaUpdate = function () {
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
elementor.channels.templates.trigger('quota:update', {
force: force
});
};
};
module.exports = new TemplateLibraryManager();
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/models/template.js":
/*!******************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/models/template.js ***!
\******************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = Backbone.Model.extend({
defaults: {
template_id: 0,
title: '',
source: '',
type: '',
subtype: '',
author: '',
thumbnail: '',
url: '',
export_link: '',
status: null,
preview_url: null,
generate_preview_url: null,
tags: []
},
isLocked: function isLocked() {
return 'locked' === this.get('status');
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/library-layout.js":
/*!***********************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/library-layout.js ***!
\***********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _constants = __webpack_require__(/*! ./../constants */ "../assets/dev/js/editor/components/template-library/constants.js");
var TemplateLibraryHeaderActionsView = __webpack_require__(/*! elementor-templates/views/parts/header-parts/actions */ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/actions.js"),
TemplateLibraryHeaderMenuView = __webpack_require__(/*! elementor-templates/views/parts/header-parts/menu */ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/menu.js"),
TemplateLibraryHeaderPreviewView = __webpack_require__(/*! elementor-templates/views/parts/header-parts/preview */ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/preview.js"),
TemplateLibraryHeaderBackView = __webpack_require__(/*! elementor-templates/views/parts/header-parts/back */ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/back.js"),
TemplateLibraryCollectionView = __webpack_require__(/*! elementor-templates/views/parts/templates */ "../assets/dev/js/editor/components/template-library/views/parts/templates.js"),
TemplateLibrarySaveTemplateView = __webpack_require__(/*! elementor-templates/views/parts/save-template */ "../assets/dev/js/editor/components/template-library/views/parts/save-template.js"),
TemplateLibrarySaveTemplateVariantBView = __webpack_require__(/*! elementor-templates/views/parts/save-template-variant-b */ "../assets/dev/js/editor/components/template-library/views/parts/save-template-variant-b.js"),
TemplateLibraryImportView = __webpack_require__(/*! elementor-templates/views/parts/import */ "../assets/dev/js/editor/components/template-library/views/parts/import.js"),
TemplateLibraryConnectView = __webpack_require__(/*! elementor-templates/views/parts/connect */ "../assets/dev/js/editor/components/template-library/views/parts/connect.js"),
TemplateLibraryCloudStateView = __webpack_require__(/*! elementor-templates/views/parts/cloud-states */ "../assets/dev/js/editor/components/template-library/views/parts/cloud-states.js"),
TemplateLibraryPreviewView = __webpack_require__(/*! elementor-templates/views/parts/preview */ "../assets/dev/js/editor/components/template-library/views/parts/preview.js"),
TemplateLibraryNavigationContainerView = __webpack_require__(/*! elementor-templates/views/parts/navigation-container */ "../assets/dev/js/editor/components/template-library/views/parts/navigation-container.js");
function resolveSaveTemplateByVariant(variant) {
switch (variant) {
case 'B':
return TemplateLibrarySaveTemplateVariantBView;
case 'control':
case 'A':
default:
return TemplateLibrarySaveTemplateView;
}
}
module.exports = elementorModules.common.views.modal.Layout.extend({
getModalOptions: function getModalOptions() {
var _window$elementor$con, _window;
var allowClosingModal = (_window$elementor$con = (_window = window) === null || _window === void 0 || (_window = _window.elementor) === null || _window === void 0 || (_window = _window.config) === null || _window === void 0 || (_window = _window.document) === null || _window === void 0 || (_window = _window.panel) === null || _window === void 0 ? void 0 : _window.allow_closing_remote_library) !== null && _window$elementor$con !== void 0 ? _window$elementor$con : true;
return {
id: 'elementor-template-library-modal',
hide: {
onOutsideClick: allowClosingModal,
onBackgroundClick: allowClosingModal,
onEscKeyPress: allowClosingModal,
ignore: '.dialog-widget-content, .dialog-buttons-undo_bulk_delete, .dialog-buttons-template_after_save, #elementor-library--infotip__dialog, #elementor-template-library-rename-dialog, #elementor-template-library-delete-dialog'
}
};
},
initModal: function initModal() {
var _this = this;
elementorModules.common.views.modal.Layout.prototype.initModal.call(this);
var $widget = this.modal.getElements('widget');
if ($widget.length && 'true' === $widget.attr('aria-modal')) {
$widget.attr('role', 'dialog');
}
// Move focus inside the modal when it opens (WAI-ARIA dialog pattern)
this.modal.on('show', function () {
var $modalWidget = _this.modal.getElements('widget');
if ($modalWidget.length) {
$modalWidget.trigger('focus');
}
});
// Focus trap: keep Tab/Shift+Tab cycling within the modal (WAI-ARIA dialog pattern)
if ($widget.length) {
$widget.on('keydown', function (event) {
if ('Tab' !== event.key) {
return;
}
var $focusable = $widget.find('a[href], button, input, select, textarea, [tabindex]').filter(':visible').not('[tabindex="-1"], [disabled]');
if (!$focusable.length) {
return;
}
var $first = $focusable.first();
var $last = $focusable.last();
if (event.shiftKey) {
if ($first[0] === event.target || $widget[0] === event.target) {
event.preventDefault();
$last.trigger('focus');
}
} else if ($last[0] === event.target) {
event.preventDefault();
$first.trigger('focus');
}
});
}
},
getLogoOptions: function getLogoOptions() {
return {
title: __('Library', 'elementor'),
click: function click() {
$e.run('library/open', {
toDefault: true
});
}
};
},
getTemplateActionButton: function getTemplateActionButton(templateData) {
var subscriptionPlans = elementor.config.library_connect.subscription_plans,
baseAccessTier = elementor.config.library_connect.base_access_tier,
templateAccessTier = templateData.accessTier,
shouldUpgrade = baseAccessTier !== templateAccessTier;
var viewId = '#tmpl-elementor-template-library-' + (shouldUpgrade ? 'upgrade-plan-button' : 'insert-button');
viewId = elementor.hooks.applyFilters('elementor/editor/template-library/template/action-button', viewId, templateData);
var template = Marionette.TemplateCache.get(viewId);
var subscriptionPlan = subscriptionPlans[templateAccessTier];
var promotionText = elementorAppConfig.hasPro ? 'Upgrade' : "Go ".concat(subscriptionPlan.label);
try {
var promotionUrlPieces = new URL(subscriptionPlan.promotion_url);
var queryString = promotionUrlPieces.searchParams.toString();
var promotionLinkQueryString = elementor.hooks.applyFilters('elementor/editor/template-library/template/promotion-link-search-params', queryString, templateData);
return Marionette.Renderer.render(template, {
promotionText: promotionText,
promotionLink: "".concat(promotionUrlPieces.origin).concat(promotionUrlPieces.pathname, "?").concat(promotionLinkQueryString)
});
} catch (e) {
return Marionette.Renderer.render(template, {
promotionText: promotionText,
promotionLink: subscriptionPlan.promotion_url
});
}
},
setHeaderDefaultParts: function setHeaderDefaultParts() {
var headerView = this.getHeaderView();
headerView.tools.show(new TemplateLibraryHeaderActionsView());
headerView.menuArea.show(new TemplateLibraryHeaderMenuView());
this.showLogo();
},
showTemplatesView: function showTemplatesView(templatesCollection) {
var prevView = this.modalContent.currentView;
var shouldRestoreFocus = prevView && prevView._restoreFocusToSourceFilter;
var isInitialOpen = !prevView;
this.modalContent.show(new TemplateLibraryCollectionView({
collection: templatesCollection
}));
this.syncTabpanelAriaLabelledby();
if (shouldRestoreFocus) {
var newView = this.modalContent.currentView;
if (newView && newView.ui.selectSourceFilter) {
var $selected = newView.ui.selectSourceFilter.filter('[aria-checked="true"]');
if ($selected.length) {
$selected.trigger('focus');
}
}
} else if (isInitialOpen) {
this.focusFirstElement();
}
},
syncTabpanelAriaLabelledby: function syncTabpanelAriaLabelledby() {
var _$e$components$get, _this$modalContent$cu;
var activeTab = (_$e$components$get = $e.components.get('library')) === null || _$e$components$get === void 0 ? void 0 : _$e$components$get.currentTab;
var $container = (_this$modalContent$cu = this.modalContent.currentView) === null || _this$modalContent$cu === void 0 ? void 0 : _this$modalContent$cu.$childViewContainer;
if (activeTab && $container !== null && $container !== void 0 && $container.length) {
$container.attr('aria-labelledby', "tab-".concat(activeTab));
}
},
focusFirstElement: function focusFirstElement() {
var $widget = this.modal.getElements('widget');
if (!$widget.length) {
return;
}
var $firstFocusable = $widget.find('button, a, input, select, [tabindex="0"]').filter(':visible').first();
if ($firstFocusable.length) {
$firstFocusable.trigger('focus');
} else {
$widget.attr('tabindex', '-1').trigger('focus');
}
},
updateViewCollection: function updateViewCollection(models) {
var _TemplateLibraryNavig;
this.modalContent.currentView.collection.reset(models);
this.modalContent.currentView.ui.navigationContainer.html((_TemplateLibraryNavig = new TemplateLibraryNavigationContainerView().render()) === null || _TemplateLibraryNavig === void 0 ? void 0 : _TemplateLibraryNavig.el);
// Restore focus within the modal after re-render to prevent focus escaping to BODY
var $widget = this.modal.getElements('widget');
if ($widget.length && !$widget[0].contains($widget[0].ownerDocument.activeElement)) {
this.focusFirstElement();
}
},
addTemplates: function addTemplates(models) {
this.modalContent.currentView.collection.add(models, {
merge: true
});
},
showImportView: function showImportView() {
var headerView = this.getHeaderView();
headerView.menuArea.reset();
this.modalContent.show(new TemplateLibraryImportView());
headerView.logoArea.show(new TemplateLibraryHeaderBackView());
},
showConnectView: function showConnectView(args) {
this.getHeaderView().menuArea.reset();
this.modalContent.show(new TemplateLibraryConnectView(args));
},
showCloudStateView: function showCloudStateView() {
elementor.templates.layout.hideLoadingView();
this.modalContent.show(new TemplateLibraryCloudStateView());
},
showSaveTemplateView: function showSaveTemplateView(elementModel) {
var _arguments = arguments,
_this2 = this;
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var context, headerView, experimentVariant, SaveTemplateView;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
context = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : _constants.SAVE_CONTEXTS.SAVE;
headerView = _this2.getHeaderView();
headerView.menuArea.reset();
if (_constants.SAVE_CONTEXTS.SAVE !== context) {
headerView.logoArea.show(new TemplateLibraryHeaderBackView());
}
_context.next = 1;
return elementor.templates.eventManager.getSaveTemplateExperimentVariant();
case 1:
experimentVariant = _context.sent;
SaveTemplateView = resolveSaveTemplateByVariant(experimentVariant);
elementor.templates.eventManager.startSaveTemplateExperiment(experimentVariant);
_this2.modalContent.show(new SaveTemplateView({
model: elementModel,
context: context
}));
case 2:
case "end":
return _context.stop();
}
}, _callee);
}))();
},
showPreviewView: function showPreviewView(templateModel) {
this.modalContent.show(new TemplateLibraryPreviewView({
url: templateModel.get('url')
}));
var headerView = this.getHeaderView();
headerView.menuArea.reset();
headerView.tools.show(new TemplateLibraryHeaderPreviewView({
model: templateModel
}));
headerView.logoArea.show(new TemplateLibraryHeaderBackView());
},
showFolderView: function showFolderView(elementModel) {
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
return _regenerator.default.wrap(function (_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
elementor.templates.layout.showLoadingView();
_context2.next = 1;
return elementor.templates.getFolderTemplates(elementModel);
case 1:
_context2.prev = 1;
elementor.templates.layout.hideLoadingView();
return _context2.finish(1);
case 2:
case "end":
return _context2.stop();
}
}, _callee2, null, [[0,, 1, 2]]);
}))();
},
createScreenshotIframe: function createScreenshotIframe(previewUrl) {
var iframe = document.createElement('iframe');
iframe.src = previewUrl;
iframe.width = '1200';
iframe.height = '500';
iframe.style = 'visibility: hidden;';
document.body.appendChild(iframe);
return iframe;
},
handleBulkActionBarUi: function handleBulkActionBarUi() {
if (0 === this.modalContent.currentView.$('.bulk-selection-item-checkbox:checked').length) {
this.modalContent.currentView.$el.addClass('no-bulk-selections');
this.modalContent.currentView.$el.removeClass('has-bulk-selections');
} else {
this.modalContent.currentView.$el.addClass('has-bulk-selections');
this.modalContent.currentView.$el.removeClass('no-bulk-selections');
}
this.handleBulkActionBar();
},
handleBulkActionBar: function handleBulkActionBar() {
var _elementor$templates$;
var selectedCount = (_elementor$templates$ = elementor.templates.getBulkSelectionItems().size) !== null && _elementor$templates$ !== void 0 ? _elementor$templates$ : 0;
var display = 0 === selectedCount ? 'none' : 'flex';
var countText = "".concat(selectedCount, " Selected");
var announcementText = 0 === selectedCount ? '' : "".concat(selectedCount, " ").concat(1 === selectedCount ? __('template', 'elementor') : __('templates', 'elementor'), " ").concat(__('selected. Bulk actions available.', 'elementor'));
this.modalContent.currentView.ui.bulkSelectedCount.html(countText);
if (announcementText && this.modalContent.currentView.ui.bulkSelectedCount.length) {
this.modalContent.currentView.ui.bulkSelectedCount.attr('aria-label', announcementText);
}
this.modalContent.currentView.ui.bulkSelectionActionBar.css('display', display);
// TODO: Temporary fix until the bulk action bar will be as separate view.
var displayNavigationContainer = 0 === selectedCount ? 'flex' : 'none';
this.modalContent.currentView.ui.navigationContainer.css('display', displayNavigationContainer);
},
selectAllCheckboxMinus: function selectAllCheckboxMinus() {
if (this.isListView()) {
this.modalContent.currentView.ui.bulkSelectAllCheckbox.addClass('checkbox-minus');
}
},
selectAllCheckboxNormal: function selectAllCheckboxNormal() {
if (this.isListView()) {
this.modalContent.currentView.ui.bulkSelectAllCheckbox.removeClass('checkbox-minus');
}
},
isListView: function isListView() {
return 'list' === elementor.templates.getViewSelection();
},
resetSortingUI: function resetSortingUI() {
var _this$modalContent$cu2;
Array.from(((_this$modalContent$cu2 = this.modalContent.currentView.ui) === null || _this$modalContent$cu2 === void 0 ? void 0 : _this$modalContent$cu2.orderInputs) || []).forEach(function (input) {
input.checked = false;
});
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/cloud-states.js":
/*!***************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/cloud-states.js ***!
\***************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
module.exports = Marionette.ItemView.extend({
tagName: 'main',
template: '#tmpl-elementor-template-library-connect-states',
id: 'elementor-template-library-connect-states',
ui: {
selectSourceFilter: '.elementor-template-library-filter-select-source .source-option',
title: '.elementor-template-library-blank-title',
message: '.elementor-template-library-blank-message',
icon: '.elementor-template-library-blank-icon',
button: '.elementor-template-library-cloud-empty__button',
cloudBadge: '.elementor-template-library-connect-states-badge .source-option-badge.cloud-badge'
},
events: {
'click @ui.selectSourceFilter': 'onSelectSourceFilterChange',
'click @ui.button': 'onButtonClick'
},
modesStrings: function modesStrings() {
var _elementorAppConfig$c, _elementorAppConfig, _elementorAppConfig$c2, _elementorAppConfig2, _elementorAppConfig3, _elementorAppConfig$c3, _elementorAppConfig4;
var defaultIcon = this.getDefaultIcon();
return {
notConnected: {
title: (_elementorAppConfig$c = (_elementorAppConfig = elementorAppConfig) === null || _elementorAppConfig === void 0 || (_elementorAppConfig = _elementorAppConfig['cloud-library']) === null || _elementorAppConfig === void 0 ? void 0 : _elementorAppConfig.library_connect_title_copy) !== null && _elementorAppConfig$c !== void 0 ? _elementorAppConfig$c : __('Connect to your Elementor account', 'elementor'),
message: (_elementorAppConfig$c2 = (_elementorAppConfig2 = elementorAppConfig) === null || _elementorAppConfig2 === void 0 || (_elementorAppConfig2 = _elementorAppConfig2['cloud-library']) === null || _elementorAppConfig2 === void 0 ? void 0 : _elementorAppConfig2.library_connect_sub_title_copy) !== null && _elementorAppConfig$c2 !== void 0 ? _elementorAppConfig$c2 : __('Then you can find all your templates in one convenient library.', 'elementor'),
icon: defaultIcon,
button: "<a class=\"elementor-button e-primary connect-button\" href=\"".concat((_elementorAppConfig3 = elementorAppConfig) === null || _elementorAppConfig3 === void 0 || (_elementorAppConfig3 = _elementorAppConfig3['cloud-library']) === null || _elementorAppConfig3 === void 0 ? void 0 : _elementorAppConfig3.library_connect_url, "\" target=\"_blank\">").concat((_elementorAppConfig$c3 = (_elementorAppConfig4 = elementorAppConfig) === null || _elementorAppConfig4 === void 0 || (_elementorAppConfig4 = _elementorAppConfig4['cloud-library']) === null || _elementorAppConfig4 === void 0 ? void 0 : _elementorAppConfig4.library_connect_button_copy) !== null && _elementorAppConfig$c3 !== void 0 ? _elementorAppConfig$c3 : __('Connect', 'elementor'), "</a>")
},
connectedNoQuota: {
title: __('It’s time to level up', 'elementor'),
message: __('Elementor Pro plans come with Cloud Templates.', 'elementor') + '<br>' + __('Upgrade now to re-use your templates on all the websites you’re working on.', 'elementor'),
icon: "<i class=\"eicon-library-subscription-upgrade\" aria-hidden=\"true\" title=\"".concat(__('Upgrade now', 'elememntor'), "\"></i>"),
button: "<a class=\"elementor-button e-accent\" href=\"https://go.elementor.com/go-pro-cloud-templates-cloud-tab\" target=\"_blank\">".concat(__('Upgrade now', 'elementor'), "</a>")
},
deactivated: {
title: __('Your library has been deactivated', 'elementor'),
message: __('This is because you don’t have an active subscription.', 'elementor') + '<br>' + __('Your templates are saved for 90 days from the day your subscription expires,', 'elementor') + '<br>' + __('then they’ll be gone forever.', 'elementor'),
icon: "<i class=\"eicon-library-subscription-upgrade\" aria-hidden=\"true\" title=\"".concat(__('Renew my subscription', 'elememntor'), "\"></i>"),
button: "<a class=\"elementor-button e-accent\" href=\"https://go.elementor.com/renew-license-cloud-templates-cloud-tab\" target=\"_blank\">".concat(__('Renew my subscription', 'elementor'), "</a>")
}
};
},
getDefaultIcon: function getDefaultIcon() {
return "<i class=\"eicon-library-cloud-connect\" aria-hidden=\"true\" title=\"".concat(__('Empty folder', 'elememntor'), "\"></i>");
},
getCurrentMode: function getCurrentMode() {
if (!elementor.config.library_connect.is_connected) {
return 'notConnected';
}
if (elementor.templates.cloudLibraryIsDeactivated()) {
return 'deactivated';
}
return 'connectedNoQuota';
},
onRender: function onRender() {
var _elementor$templates$;
this.updateTemplateMarkup();
this.handleElementorConnect();
this.handleCloudBadge();
(_elementor$templates$ = elementor.templates.layout.getHeaderView()) === null || _elementor$templates$ === void 0 || (_elementor$templates$ = _elementor$templates$.tools) === null || _elementor$templates$ === void 0 || (_elementor$templates$ = _elementor$templates$.$el[0]) === null || _elementor$templates$ === void 0 || (_elementor$templates$ = _elementor$templates$.classList) === null || _elementor$templates$ === void 0 || _elementor$templates$.add('e-hidden-disabled');
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTabUpgrade
});
},
handleCloudBadge: function handleCloudBadge() {
var _this = this;
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var _this$ui$cloudBadge;
var experimentVariant;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if ((_this$ui$cloudBadge = _this.ui.cloudBadge) !== null && _this$ui$cloudBadge !== void 0 && _this$ui$cloudBadge.length) {
_context.next = 1;
break;
}
return _context.abrupt("return");
case 1:
_context.next = 2;
return elementor.templates.eventManager.getSaveTemplateExperimentVariant();
case 2:
experimentVariant = _context.sent;
_this.ui.cloudBadge.toggle('B' === experimentVariant);
case 3:
case "end":
return _context.stop();
}
}, _callee);
}))();
},
updateTemplateMarkup: function updateTemplateMarkup() {
var modeStrings = this.modesStrings()[this.getCurrentMode()];
this.ui.title.html(modeStrings.title);
this.ui.message.html(modeStrings.message);
this.ui.button.html(modeStrings.button);
this.ui.icon.html(modeStrings.icon);
},
handleElementorConnect: function handleElementorConnect() {
var $connectButton = this.$el.find('.connect-button');
if (!$connectButton.length) {
return;
}
$connectButton.elementorConnect({
popup: {
width: 726,
height: 534
},
success: function success() {
elementor.config.library_connect.is_connected = true;
elementor.notifications.showToast({
message: __('Connected successfully.', 'elementor')
});
$e.routes.refreshContainer('library');
},
error: function error() {
elementor.config.library_connect.is_connected = false;
}
});
},
onSelectSourceFilterChange: function onSelectSourceFilterChange(event) {
elementor.templates.onSelectSourceFilterChange(event);
},
onButtonClick: function onButtonClick() {
elementor.templates.eventManager.sendUpgradeClickedEvent({
secondaryLocation: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTab,
upgradePosition: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTab
});
},
onDestroy: function onDestroy() {
var _elementor$templates$2;
(_elementor$templates$2 = elementor.templates.layout.getHeaderView()) === null || _elementor$templates$2 === void 0 || (_elementor$templates$2 = _elementor$templates$2.tools) === null || _elementor$templates$2 === void 0 || (_elementor$templates$2 = _elementor$templates$2.$el[0]) === null || _elementor$templates$2 === void 0 || (_elementor$templates$2 = _elementor$templates$2.classList) === null || _elementor$templates$2 === void 0 || _elementor$templates$2.remove('e-hidden-disabled');
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/connect.js":
/*!**********************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/connect.js ***!
\**********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
module.exports = Marionette.ItemView.extend({
tagName: 'main',
template: '#tmpl-elementor-template-library-connect',
id: 'elementor-template-library-connect',
ui: {
connect: '#elementor-template-library-connect__button',
thumbnails: '#elementor-template-library-connect-thumbnails'
},
templateHelpers: function templateHelpers() {
return this.getOption('texts');
},
onRender: function onRender() {
var _this = this;
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.cloudTabConnect
});
this.ui.connect.elementorConnect({
parseUrl: function parseUrl(url) {
return url.replace('%%template_type%%', _this.model.get('type'));
},
success: function success() {
elementor.config.library_connect.is_connected = true;
// If is connecting during insert template.
if (_this.getOption('model')) {
$e.run('library/insert-template', {
model: _this.getOption('model')
});
} else {
$e.run('library/close');
elementor.notifications.showToast({
message: __('Connected successfully.', 'elementor')
});
}
},
error: function error() {
elementor.config.library_connect.is_connected = false;
}
});
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/folders/folder-empty.js":
/*!***********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/folders/folder-empty.js ***!
\***********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
module.exports = Marionette.ItemView.extend({
tagName: 'li',
className: 'no-results',
template: _.template(sprintf(/* Translators: 1: Empty message, 2: CTA. */
'<i class="eicon-folder-plus" aria-hidden="true"></i><br><p>%1$s<br>%2$s</p>', __('Folders you create will appear here.', 'elementor'), __('To create a new one, go to Cloud Templates.', 'elementor')))
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/folders/folder-item.js":
/*!**********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/folders/folder-item.js ***!
\**********************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = Marionette.ItemView.extend({
tagName: 'li',
template: _.template('<i class="eicon-folder-o" aria-hidden="true"></i><%= title %>'),
className: 'folder-item',
attributes: function attributes() {
var data = this.model.toJSON();
return {
'data-id': data.template_id,
'data-value': data.title,
role: 'option',
tabindex: '-1'
};
},
render: function render() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/folders/folders-list.js":
/*!***********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/folders/folders-list.js ***!
\***********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var EmptyView = __webpack_require__(/*! ./folder-empty */ "../assets/dev/js/editor/components/template-library/views/parts/folders/folder-empty.js");
var FolderItemView = __webpack_require__(/*! ./folder-item */ "../assets/dev/js/editor/components/template-library/views/parts/folders/folder-item.js");
module.exports = Marionette.CollectionView.extend({
tagName: 'ul',
className: 'folder-list',
childView: FolderItemView,
emptyView: EmptyView,
attributes: {
role: 'listbox',
'aria-label': 'Folders'
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/global-styles-dialog.js":
/*!***********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/global-styles-dialog.js ***!
\***********************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
exports.showGlobalStylesDialog = showGlobalStylesDialog;
function showGlobalStylesDialog() {
return new Promise(function (resolve, reject) {
var settled = false;
var dialog = elementorCommon.dialogsManager.createWidget('lightbox', {
id: 'elementor-global-styles-dialog',
headerMessage: '',
message: wp.template('elementor-global-styles-dialog')(),
position: {
my: 'center',
at: 'center'
},
hide: {
onBackgroundClick: false
},
onShow: function onShow() {
setupDialogEventListeners(dialog, function (payload) {
if (settled) {
return;
}
settled = true;
resolve(payload);
dialog.hide();
}, function (error) {
if (settled) {
return;
}
settled = true;
reject(error);
dialog.hide();
});
},
onHide: function onHide() {
if (settled) {
return;
}
settled = true;
reject(new Error('Dialog closed'));
}
});
dialog.show();
});
}
function setupDialogEventListeners(dialog, resolve, reject) {
var $content = dialog.getElements('message');
var $matchRadio = $content.find('#elementor-global-styles-match');
var $keepRadio = $content.find('#elementor-global-styles-keep');
var $createCheckbox = $content.find('#elementor-global-styles-create');
var $checkboxContainer = $content.find('.elementor-global-styles-dialog__checkbox-container');
var $insertBtn = $content.find('#elementor-global-styles-insert');
var $cancelBtn = $content.find('#elementor-global-styles-cancel');
$matchRadio.off('.elementorGlobalStyles').on('change.elementorGlobalStyles', function () {
$checkboxContainer.hide();
});
$keepRadio.off('.elementorGlobalStyles').on('change.elementorGlobalStyles', function () {
$checkboxContainer.show();
});
$insertBtn.off('.elementorGlobalStyles').on('click.elementorGlobalStyles', function () {
var mode;
if ($matchRadio.is(':checked')) {
mode = 'match_site';
} else if ($createCheckbox.is(':checked')) {
mode = 'keep_create';
} else {
mode = 'keep_flatten';
}
resolve({
mode: mode
});
});
$cancelBtn.off('.elementorGlobalStyles').on('click.elementorGlobalStyles', function () {
reject(new Error('User cancelled'));
});
}
var _default = exports["default"] = showGlobalStylesDialog;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/actions.js":
/*!***********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/header-parts/actions.js ***!
\***********************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = Marionette.ItemView.extend({
template: '#tmpl-elementor-template-library-header-actions',
id: 'elementor-template-library-header-actions',
ui: {
import: '#elementor-template-library-header-import',
importIcon: '#elementor-template-library-header-import i',
sync: '#elementor-template-library-header-sync',
syncIcon: '#elementor-template-library-header-sync i',
save: '#elementor-template-library-header-save',
saveIcon: '#elementor-template-library-header-save i'
},
events: {
'click @ui.import': 'onImportClick',
'click @ui.sync': 'onSyncClick',
'click @ui.save': 'onSaveClick'
},
onImportClick: function onImportClick() {
$e.route('library/import');
},
onRender: function onRender() {
var _$e$components$get$cu;
var currentTab = (_$e$components$get$cu = $e.components.get('library').currentTab) !== null && _$e$components$get$cu !== void 0 ? _$e$components$get$cu : '';
this.ui.import.toggleClass('elementor-hidden', 'templates/my-templates' !== currentTab);
},
onSyncClick: function onSyncClick() {
var self = this;
self.ui.syncIcon.addClass('eicon-animation-spin');
elementor.templates.requestLibraryData({
onUpdate: function onUpdate() {
self.ui.syncIcon.removeClass('eicon-animation-spin');
$e.routes.refreshContainer('library');
},
forceUpdate: true,
forceSync: true
});
},
onSaveClick: function onSaveClick() {
$e.route('library/save-template');
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/back.js":
/*!********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/header-parts/back.js ***!
\********************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = Marionette.ItemView.extend({
template: '#tmpl-elementor-template-library-header-back',
id: 'elementor-template-library-header-preview-back',
events: {
'click .elementor-template-library-header-back-button': 'onClick'
},
onClick: function onClick() {
$e.routes.restoreState('library');
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/menu.js":
/*!********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/header-parts/menu.js ***!
\********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _keyboardNav = __webpack_require__(/*! elementor-editor-utils/keyboard-nav */ "../assets/dev/js/editor/utils/keyboard-nav.js");
module.exports = Marionette.ItemView.extend({
template: '#tmpl-elementor-template-library-header-menu',
id: 'elementor-template-library-header-menu',
ui: {
tabs: '[role="tab"]'
},
events: {
'keydown @ui.tabs': 'onTabKeyDown'
},
templateHelpers: function templateHelpers() {
return {
tabs: $e.components.get('library').getTabs()
};
},
attributes: function attributes() {
return {
role: 'tablist',
'aria-label': __('Library sections', 'elementor')
};
},
onTabKeyDown: function onTabKeyDown(event) {
(0, _keyboardNav.rovingTabindex)({
event: event,
$items: this.ui.tabs,
orientation: 'horizontal',
onActivate: function onActivate() {
// Tabs activate on arrow navigation, not Enter/Space.
}
});
// After rovingTabindex moves focus to the new tab, activate it.
// activateTab triggers a re-render, so we must re-query the DOM afterwards.
var $focused = jQuery(event.currentTarget.ownerDocument.activeElement);
var targetTabName = $focused.data('tab');
if (!targetTabName) {
return;
}
var libraryComponent = $e.components.get('library');
if (!libraryComponent) {
return;
}
try {
libraryComponent.activateTab(targetTabName);
var $tabAfterRerender = jQuery("#elementor-template-library-header-menu [data-tab=\"".concat(targetTabName, "\"]"));
if ($tabAfterRerender.length) {
$tabAfterRerender.trigger('focus');
}
} catch (error) {
// eslint-disable-next-line no-console
console.error('Tab activation failed:', error);
}
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/header-parts/preview.js":
/*!***********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/header-parts/preview.js ***!
\***********************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var TemplateLibraryInsertTemplateBehavior = __webpack_require__(/*! elementor-templates/behaviors/insert-template */ "../assets/dev/js/editor/components/template-library/behaviors/insert-template.js");
module.exports = Marionette.ItemView.extend({
template: '#tmpl-elementor-template-library-header-preview',
id: 'elementor-template-library-header-preview',
behaviors: {
insertTemplate: {
behaviorClass: TemplateLibraryInsertTemplateBehavior
}
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/import.js":
/*!*********************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/import.js ***!
\*********************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../../../../utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js"));
var _jsonUploadWarningMessage = __webpack_require__(/*! elementor-utils/json-upload-warning-message */ "../assets/dev/js/utils/json-upload-warning-message.js");
var _globalStylesDialog = __webpack_require__(/*! ./global-styles-dialog */ "../assets/dev/js/editor/components/template-library/views/parts/global-styles-dialog.js");
var TemplateLibraryImportView;
TemplateLibraryImportView = Marionette.ItemView.extend({
tagName: 'main',
template: '#tmpl-elementor-template-library-import',
id: 'elementor-template-library-import',
ui: {
uploadForm: '#elementor-template-library-import-form',
fileInput: '#elementor-template-library-import-form-input',
icon: '.elementor-template-library-blank-icon i'
},
events: {
'change @ui.fileInput': 'onFileInputChange'
},
droppedFiles: null,
submitForm: function submitForm() {
var _this = this;
var file;
if (this.droppedFiles) {
file = this.droppedFiles[0];
this.droppedFiles = null;
} else {
file = this.ui.fileInput[0].files[0];
this.ui.uploadForm[0].reset();
}
var fileReader = new FileReader();
fileReader.onload = function (event) {
return _this.importTemplate(file.name, event.target.result.replace(/^[^,]+,/, ''));
};
fileReader.readAsDataURL(file);
},
importTemplate: function importTemplate(fileName, fileData) {
var _this2 = this;
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
var layout, activeSource, jsonContent, _yield$showGlobalStyl, mode, enableUnfilteredFilesModal, _t, _t2;
return _regenerator.default.wrap(function (_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
layout = elementor.templates.layout;
activeSource = elementor.templates.getFilter('source');
_this2.options = {
data: {
fileName: fileName,
fileData: fileData,
source: activeSource
},
success: function success(successData) {
elementor.templates.clearLastRemovedItems();
elementor.templates.getTemplatesCollection().add(successData);
elementor.templates.setToastConfig({
show: true,
options: {
/* Translators: 1: Number of templates */
message: sprintf(__('You successfully imported %1$d template(s).', 'elementor'), successData.length),
position: {
my: 'right bottom',
at: 'right-10 bottom-10',
of: '#elementor-template-library-modal .dialog-lightbox-widget-content'
}
}
});
$e.route('library/templates/my-templates');
elementor.templates.triggerQuotaUpdate();
elementor.templates.eventManager.sendTemplateImportEvent({
library_type: activeSource,
file_type: fileName.split('.').pop(),
template_count: successData.length
});
},
error: function error(errorData) {
elementor.templates.showErrorDialog(errorData);
layout.showImportView();
},
complete: function complete() {
layout.hideLoadingView();
}
};
_context.next = 1;
return (0, _jsonUploadWarningMessage.showJsonUploadWarningMessageIfNeeded)({
introductionMap: window.elementor.config.user.introduction,
IntroductionClass: window.elementorModules.editor.utils.Introduction
});
case 1:
if (!fileName.endsWith('.json')) {
_context.next = 8;
break;
}
_context.prev = 2;
jsonContent = JSON.parse(atob(fileData));
if (!elementor.templates.hasGlobalStyles(jsonContent)) {
_context.next = 6;
break;
}
_context.prev = 3;
_context.next = 4;
return (0, _globalStylesDialog.showGlobalStylesDialog)();
case 4:
_yield$showGlobalStyl = _context.sent;
mode = _yield$showGlobalStyl.mode;
_this2.options.data.import_mode = mode;
_context.next = 6;
break;
case 5:
_context.prev = 5;
_t = _context["catch"](3);
return _context.abrupt("return");
case 6:
_context.next = 8;
break;
case 7:
_context.prev = 7;
_t2 = _context["catch"](2);
console.warn('Failed to parse template JSON for global styles check:', _t2); // eslint-disable-line no-console
case 8:
if (!elementorCommon.config.filesUpload.unfilteredFiles) {
enableUnfilteredFilesModal = _filesUploadHandler.default.getUnfilteredFilesNotEnabledImportTemplateDialog(function () {
return _this2.sendImportRequest();
});
enableUnfilteredFilesModal.show();
} else {
_this2.sendImportRequest();
}
case 9:
case "end":
return _context.stop();
}
}, _callee, null, [[2, 7], [3, 5]]);
}))();
},
sendImportRequest: function sendImportRequest() {
elementorCommon.ajax.addRequest('import_template', this.options);
elementor.templates.layout.showLoadingView();
},
onRender: function onRender() {
this.ui.uploadForm.on({
'drag dragstart dragend dragover dragenter dragleave drop': this.onFormActions.bind(this),
dragenter: this.onFormDragEnter.bind(this),
'dragleave drop': this.onFormDragLeave.bind(this),
drop: this.onFormDrop.bind(this)
});
this.resolveIcon();
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary.importModal
});
},
resolveIcon: function resolveIcon() {
var activeSource = elementor.templates.getFilter('source') || 'local';
var className = 'local' === activeSource ? 'eicon-library-upload' : 'eicon-library-import';
this.ui.icon.removeClass().addClass(className);
},
onFormActions: function onFormActions(event) {
event.preventDefault();
event.stopPropagation();
},
onFormDragEnter: function onFormDragEnter() {
this.ui.uploadForm.addClass('elementor-drag-over');
},
onFormDragLeave: function onFormDragLeave(event) {
if (jQuery(event.relatedTarget).closest(this.ui.uploadForm).length) {
return;
}
this.ui.uploadForm.removeClass('elementor-drag-over');
},
onFormDrop: function onFormDrop(event) {
this.droppedFiles = event.originalEvent.dataTransfer.files;
this.submitForm();
},
onFileInputChange: function onFileInputChange() {
this.submitForm();
}
});
module.exports = TemplateLibraryImportView;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/navigation-container.js":
/*!***********************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/navigation-container.js ***!
\***********************************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = Marionette.ItemView.extend({
template: '#tmpl-elementor-template-library-navigation-container',
className: 'elementor-template-library-navigation-container',
ui: {
title: '.elementor-template-library-current-folder-title',
backButton: '.elementor-template-library-navigation-back-button'
},
events: {
'click @ui.backButton': 'onBackButtonClick'
},
render: function render() {
if (null === elementor.templates.getFilter('parent')) {
return this;
}
return Marionette.ItemView.prototype.render.call(this);
},
onRender: function onRender() {
var _elementor$templates$;
this.ui.title.text((_elementor$templates$ = elementor.templates.getFilter('parent')) === null || _elementor$templates$ === void 0 ? void 0 : _elementor$templates$.title);
},
onBackButtonClick: function onBackButtonClick() {
elementor.templates.setFilter('parent', null);
$e.route('library/templates/my-templates');
}
});
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/preview.js":
/*!**********************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/preview.js ***!
\**********************************************************************************/
/***/ ((module) => {
"use strict";
var TemplateLibraryPreviewView;
TemplateLibraryPreviewView = Marionette.ItemView.extend({
tagName: 'main',
template: '#tmpl-elementor-template-library-preview',
id: 'elementor-template-library-preview',
ui: {
iframe: '> iframe'
},
onRender: function onRender() {
this.ui.iframe.attr('src', this.getOption('url'));
}
});
module.exports = TemplateLibraryPreviewView;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/save-template-variant-b.js":
/*!**************************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/save-template-variant-b.js ***!
\**************************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
var TemplateLibrarySaveTemplateView = __webpack_require__(/*! ./save-template */ "../assets/dev/js/editor/components/template-library/views/parts/save-template.js");
var TemplateLibrarySaveTemplateVariantBView = TemplateLibrarySaveTemplateView.extend({
id: 'elementor-template-library-save-template-variant-b',
template: '#tmpl-elementor-template-library-save-template-variant-b',
ui: function ui() {
return _.extend(TemplateLibrarySaveTemplateView.prototype.ui.apply(this, arguments), {
selectFolderLink: '.select-folder-link',
cloudAccountBadge: '.cloud-account-badge',
siteAccountBadge: '.site-account-badge',
connect: '#elementor-template-library-connect__badge-variant-b'
});
},
events: function events() {
return _.extend(TemplateLibrarySaveTemplateView.prototype.events.apply(this, arguments), {
'click @ui.selectFolderLink': 'onEllipsisIconClick',
'mouseenter @ui.upgradeBadge': 'showInfoTip',
'mouseenter @ui.cloudAccountBadge': 'showCloudAccountBadgeTooltip',
'mouseenter @ui.siteAccountBadge': 'showSiteAccountBadgeTooltip',
'mouseleave @ui.cloudAccountBadge': 'hideCloudAccountBadgeTooltip',
'mouseleave @ui.siteAccountBadge': 'hideSiteAccountBadgeTooltip',
'mouseleave @ui.upgradeBadge': 'hideInfoTip'
});
},
getConnectInfoTipPosition: function getConnectInfoTipPosition() {
return 'top-50';
},
addVariantClass: function addVariantClass($widget) {
return $widget.addClass('variant-b');
},
showInfoTip: function showInfoTip() {
if (this.infoTipDialog) {
this.infoTipDialog.hide();
}
var message = elementor.templates.hasCloudLibraryQuota() ? __('Upgrade your subscription to get more space and reuse saved assets across all your sites.', 'elementor') : __('Upgrade your subscription to access Cloud Templates and reuse saved assets across all your sites.', 'elementor');
this.infoTipDialog = elementor.dialogsManager.createWidget('buttons', {
id: 'elementor-library--infotip__dialog',
effects: {
show: 'show',
hide: 'hide'
},
position: {
of: this.ui.upgradeBadge,
at: 'top-50'
}
}).setMessage(message);
this.infoTipDialog.getElements('header').remove();
this.infoTipDialog.getElements('buttonsWrapper').remove();
this.infoTipDialog.getElements('widget').addClass('variant-b');
this.infoTipDialog.show();
this.sendCTBadgeEvent('cloud');
},
showCloudAccountBadgeTooltip: function showCloudAccountBadgeTooltip() {
if (this.cloudAccountBadgeDialog) {
this.cloudAccountBadgeDialog.hide();
}
var emailReplacement = elementor.config.library_connect.is_connected ? elementor.config.library_connect.user_email : __('connected', 'elementor');
/* Translators: %s: User's email. */
var message = sprintf(__('Only %s Elementor account can access Cloud Templates from any connected site.', 'elementor'), emailReplacement);
this.cloudAccountBadgeDialog = elementor.dialogsManager.createWidget('buttons', {
id: 'elementor-library--cloud-upgrade__dialog',
effects: {
show: 'show',
hide: 'hide'
},
position: {
of: this.ui.cloudAccountBadge,
at: 'top-55'
}
}).setMessage(message);
this.cloudAccountBadgeDialog.getElements('widget').addClass('variant-b');
this.cloudAccountBadgeDialog.getElements('header').remove();
this.cloudAccountBadgeDialog.getElements('buttonsWrapper').remove();
this.cloudAccountBadgeDialog.show();
},
hideCloudAccountBadgeTooltip: function hideCloudAccountBadgeTooltip() {
if (this.cloudAccountBadgeDialog) {
this.cloudAccountBadgeDialog.hide();
}
},
showSiteAccountBadgeTooltip: function showSiteAccountBadgeTooltip() {
if (this.siteAccountBadgeDialog) {
this.siteAccountBadgeDialog.hide();
}
var message = __('Authorized users on this site can access Site Templates.', 'elementor');
this.siteAccountBadgeDialog = elementor.dialogsManager.createWidget('buttons', {
id: 'elementor-library--site-info__dialog',
effects: {
show: 'show',
hide: 'hide'
},
position: {
of: this.ui.siteAccountBadge,
at: 'top-35'
}
}).setMessage(message);
this.siteAccountBadgeDialog.getElements('widget').addClass('variant-b');
this.siteAccountBadgeDialog.getElements('header').remove();
this.siteAccountBadgeDialog.getElements('buttonsWrapper').remove();
this.siteAccountBadgeDialog.show();
this.sendCTBadgeEvent('site');
},
hideSiteAccountBadgeTooltip: function hideSiteAccountBadgeTooltip() {
if (this.siteAccountBadgeDialog) {
this.siteAccountBadgeDialog.hide();
}
},
sendCTBadgeEvent: function sendCTBadgeEvent(badgeType) {
elementor.templates.eventManager.sendCTBadgeEvent({
ct_badge_hover_position: this.getOption('context'),
ct_badge_type: badgeType,
ct_position_state: this.getPositionState()
});
},
getPositionState: function getPositionState() {
if (!elementor.config.library_connect.is_connected) {
return 'connect';
}
if (!elementor.templates.hasCloudLibraryQuota() || this.cloudMaxCapacityReached()) {
return 'upgrade';
}
return 'eligible';
}
});
module.exports = TemplateLibrarySaveTemplateVariantBView;
/***/ }),
/***/ "../assets/dev/js/editor/components/template-library/views/parts/save-template.js":
/*!****************************************************************************************!*\
!*** ../assets/dev/js/editor/components/template-library/views/parts/save-template.js ***!
\****************************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
/* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
var _constants = __webpack_require__(/*! ./../../constants */ "../assets/dev/js/editor/components/template-library/constants.js");
var _keyboardNav = __webpack_require__(/*! elementor-editor-utils/keyboard-nav */ "../assets/dev/js/editor/utils/keyboard-nav.js");
var TemplateLibraryTemplateModel = __webpack_require__(/*! elementor-templates/models/template */ "../assets/dev/js/editor/components/template-library/models/template.js");
var TemplateLibraryCollection = __webpack_require__(/*! elementor-templates/collections/templates */ "../assets/dev/js/editor/components/template-library/collections/templates.js");
var FolderCollectionView = __webpack_require__(/*! ./folders/folders-list */ "../assets/dev/js/editor/components/template-library/views/parts/folders/folders-list.js");
var LOAD_MORE_ID = 0;
var TemplateLibrarySaveTemplateView = Marionette.ItemView.extend({
tagName: 'main',
id: 'elementor-template-library-save-template',
template: '#tmpl-elementor-template-library-save-template',
ui: function ui() {
return {
form: '#elementor-template-library-save-template-form',
submitButton: '#elementor-template-library-save-template-submit',
ellipsisIcon: '.cloud-library-form-inputs .ellipsis-container',
foldersList: '.cloud-folder-selection-dropdown ul',
foldersDropdown: '.cloud-folder-selection-dropdown',
foldersListContainer: '.cloud-folder-selection-dropdown-list',
removeFolderSelection: '.source-selections .selected-folder i',
selectedFolder: '.selected-folder',
selectedFolderText: '.selected-folder-text',
hiddenInputSelectedFolder: '#parentId',
templateNameInput: '#elementor-template-library-save-template-name',
localInput: '.source-selections-input.local',
cloudInput: '.source-selections-input.cloud',
sourceSelectionCheckboxes: '.source-selections-input input[type="checkbox"]',
infoIcon: '.source-selections-input.cloud .eicon-info',
connect: '#elementor-template-library-connect__badge',
connectBadge: '.source-selections-input.cloud .connect-badge',
cloudFormInputs: '.cloud-library-form-inputs',
upgradeBadge: '.source-selections-input.cloud .upgrade-badge'
};
},
events: function events() {
return {
'submit @ui.form': 'onFormSubmit',
'click @ui.ellipsisIcon': 'onEllipsisIconClick',
'keydown @ui.ellipsisIcon': 'onEllipsisIconKeyDown',
'click @ui.foldersList': 'onFoldersListClick',
'keydown @ui.foldersListContainer': 'onFoldersListKeyDown',
'click @ui.removeFolderSelection': 'onRemoveFolderSelectionClick',
'click @ui.selectedFolderText': 'onSelectedFolderTextClick',
'click @ui.upgradeBadge': 'onUpgradeBadgeClicked',
'change @ui.sourceSelectionCheckboxes': 'handleSourceSelectionChange',
'mouseenter @ui.infoIcon': 'showInfoTip',
'mouseleave @ui.infoIcon': 'hideInfoTip',
'mouseenter @ui.connectBadge': 'showConnectInfoTip',
'mouseleave @ui.connectBadge': 'hideConnectInfoTip',
'input @ui.templateNameInput': 'onTemplateNameInputChange'
};
},
onRender: function onRender() {
var _elementorAppConfig$c,
_this$templateHelpers,
_this = this;
if ('undefined' === typeof ((_elementorAppConfig$c = elementorAppConfig['cloud-library']) === null || _elementorAppConfig$c === void 0 ? void 0 : _elementorAppConfig$c.quota) && (_this$templateHelpers = this.templateHelpers()) !== null && _this$templateHelpers !== void 0 && _this$templateHelpers.canSaveToCloud) {
elementor.templates.layout.showLoadingView();
$e.components.get('cloud-library').utils.setQuotaConfig().then(function (data) {
elementorAppConfig['cloud-library'].quota = data;
}).catch(function () {
delete elementorAppConfig['cloud-library'].quota;
}).finally(function () {
_this.handleOnRender();
elementor.templates.layout.hideLoadingView();
});
} else {
this.handleOnRender();
}
},
onDestroy: function onDestroy() {
this.unbindDocumentClickHandler();
},
handleOnRender: function handleOnRender() {
var _this2 = this;
setTimeout(function () {
return _this2.ui.templateNameInput.trigger('focus');
});
var context = this.getOption('context');
elementor.templates.eventManager.sendPageViewEvent({
location: elementorCommon.eventsManager.config.secondaryLocations.templateLibrary["".concat(context, "Modal")]
});
if (_constants.SAVE_CONTEXTS.SAVE === context) {
this.handleSaveAction();
}
if (_constants.SAVE_CONTEXTS.MOVE === context || _constants.SAVE_CONTEXTS.COPY === context) {
this.handleSingleActionContextUiState();
}
if (_constants.SAVE_CONTEXTS.BULK_MOVE === context || _constants.SAVE_CONTEXTS.BULK_COPY === context) {
this.handleBulkActionContextUiState();
}
if (!elementor.templates.hasCloudLibraryQuota()) {
this.handleCloudLibraryPromo();
}
if (this.cloudMaxCapacityReached()) {
this.handleCloudLibraryPromo('max-capacity');
}
if (!elementor.config.library_connect.is_connected) {
this.handleElementorConnect();
}
this.bindDocumentClickHandler();
},
cloudMaxCapacityReached: function cloudMaxCapacityReached() {
var _elementorAppConfig$c2, _elementorAppConfig$c3, _elementorAppConfig$c4, _elementorAppConfig$c5;
return 'undefined' !== typeof ((_elementorAppConfig$c2 = elementorAppConfig['cloud-library']) === null || _elementorAppConfig$c2 === void 0 ? void 0 : _elementorAppConfig$c2.quota) && 0 < ((_elementorAppConfig$c3 = elementorAppConfig['cloud-library'].quota) === null || _elementorAppConfig$c3 === void 0 ? void 0 : _elementorAppConfig$c3.threshold) && ((_elementorAppConfig$c4 = elementorAppConfig['cloud-library'].quota) === null || _elementorAppConfig$c4 === void 0 ? void 0 : _elementorAppConfig$c4.currentUsage) >= ((_elementorAppConfig$c5 = elementorAppConfig['cloud-library'].quota) === null || _elementorAppConfig$c5 === void 0 ? void 0 : _elementorAppConfig$c5.threshold);
},
handleSaveAction: function handleSaveAction() {
this.maybeEnableSaveButton();
},
handleSingleActionContextUiState: function handleSingleActionContextUiState() {
var title = this.model.get('title');
this.ui.templateNameInput.val(title);
this.handleContextUiStateCheckboxes();
this.maybeEnableSaveButton();
},
maybeEnableSaveButton: function maybeEnableSaveButton() {
var _this$templateHelpers
Showing 512.00 KB of 2.97 MB. Use Edit/Download for full content.
Directory Contents
Dirs: 1 × Files: 374