PHP 8.2.31
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

Name Size Perms Modified Actions
packages DIR
- drwxr-xr-x 2026-06-12 02:39:36
Edit Download
169 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
5.23 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
664 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
578 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
61.89 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.42 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
1.75 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.05 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
43.85 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
62.90 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
26.81 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
5.83 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.40 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
643 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
5.10 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
4.99 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.24 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
636 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
1.80 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
613 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
607 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
55.43 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
1.33 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
114 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
1.77 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
4.96 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
4.51 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
5.60 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.87 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
1.01 KB lrw-r--r-- 2026-01-20 13:22:36
Edit Download
4.74 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
696 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.43 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
5.30 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.81 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
23.37 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
188 B lrw-r--r-- 2026-03-03 19:49:18
Edit Download
1.09 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.83 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
613 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
114 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
1.83 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
1.89 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
1.82 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
754 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
5.71 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.12 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
694 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
169 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
1.08 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
10.96 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
4.75 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
4.81 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.30 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
35.96 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.32 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
5.23 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.10 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
3.65 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
7.74 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
4.46 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.87 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.43 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
39.01 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
15.37 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
1.43 KB lrw-r--r-- 2026-04-30 15:19:30
Edit Download
74.30 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
14.24 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
100 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
66.70 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
11.53 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
320 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
192.38 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
88.14 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
1.43 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
114 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
5.06 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.89 MB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
595.55 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
525 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
2.02 MB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
624.06 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
686 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
191 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
522.57 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
199.15 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
21.27 KB lrw-r--r-- 2026-05-27 15:26:54
Edit Download
2.00 MB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
618.82 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
686 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
138 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
2.00 MB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
616.09 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
686 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
45 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
2.06 MB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
642.28 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
686 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
21.27 KB lrw-r--r-- 2026-06-10 16:50:16
Edit Download
618 B lrw-r--r-- 2026-05-20 16:19:28
Edit Download
1.37 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
117.66 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
36.55 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
35 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
255.10 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
88.12 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
38.33 KB lrw-r--r-- 2026-06-10 16:50:16
Edit Download
360.44 KB lrw-r--r-- 2026-01-20 13:22:36
Edit Download
122.56 KB lrw-r--r-- 2026-01-20 13:22:36
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
38.33 KB lrw-r--r-- 2026-06-10 16:50:16
Edit Download
1.39 MB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
521.67 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
38.33 KB lrw-r--r-- 2026-06-10 16:50:16
Edit Download
106.58 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
19.91 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
150.02 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
62.25 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
163 B lrw-r--r-- 2026-02-02 14:52:12
Edit Download
356 B lrw-r--r-- 2026-03-30 13:49:26
Edit Download
670.49 KB lrw-r--r-- 2026-05-26 12:54:34
Edit Download
113.37 KB lrw-r--r-- 2026-05-26 12:54:34
Edit Download
336 B lrw-r--r-- 2026-05-20 16:19:28
Edit Download
1.20 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
22.87 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.36 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
20.92 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
8.62 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
69 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
669 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
111.43 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.28 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
613 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
159.36 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
49.76 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
551 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
86.91 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
32.20 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
304.90 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
106.94 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
431 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.29 MB lrw-r--r-- 2026-06-08 16:48:02
Edit Download
523.77 KB lrw-r--r-- 2026-06-08 16:48:02
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
431 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
14.50 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
8.46 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
50.75 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
17.85 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
208 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
9.37 KB lrw-r--r-- 2026-02-02 14:52:12
Edit Download
17.94 KB lrw-r--r-- 2026-02-02 14:52:12
Edit Download
1.85 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
906 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.73 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
4.48 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
5.33 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
176 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
14.14 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
14.70 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
3.96 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.09 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
2.29 KB lrw-r--r-- 2026-04-20 15:03:48
Edit Download
1.01 KB lrw-r--r-- 2026-04-20 15:03:48
Edit Download
0 B lrw-r--r-- 2026-03-30 13:49:26
Edit Download
23.26 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
7.40 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.93 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
5.22 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
662 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
21.02 KB lrw-r--r-- 2026-06-08 16:48:02
Edit Download
8.37 KB lrw-r--r-- 2026-06-08 16:48:02
Edit Download
163 B lrw-r--r-- 2026-06-08 16:48:02
Edit Download
0 B lrw-r--r-- 2026-06-08 16:48:02
Edit Download
262.88 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
96.67 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
163 B lrw-r--r-- 2026-05-20 16:19:28
Edit Download
445 B lrw-r--r-- 2026-05-20 16:19:28
Edit Download
1.27 MB lrw-r--r-- 2026-04-20 15:03:48
Edit Download
897.25 KB lrw-r--r-- 2026-04-20 15:03:48
Edit Download
69 B lrw-r--r-- 2026-04-20 15:03:48
Edit Download
25 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
104.48 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
16.74 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
160 B lrw-r--r-- 2024-10-28 15:08:46
Edit Download
41 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
5.27 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.12 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
89.84 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.40 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
659 B lrw-r--r-- 2026-05-19 16:30:42
Edit Download
69.90 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
25.24 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
18.76 KB lrw-r--r-- 2026-06-10 16:50:16
Edit Download
600 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
206 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
43.00 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
18.64 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
332 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
48 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
821 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
400 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
118.12 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
48.38 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
18.76 KB lrw-r--r-- 2026-06-10 16:50:16
Edit Download
84.57 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
17.97 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
100 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
635 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
275 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
28.21 KB lrw-r--r-- 2026-01-20 13:22:36
Edit Download
12.11 KB lrw-r--r-- 2026-01-20 13:22:36
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
222.82 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
47.34 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
160 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.20 MB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1,021.32 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
410 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
0 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
58.54 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
8.39 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
206 B lrw-r--r-- 2026-03-30 13:49:26
Edit Download
166.88 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
51.83 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
352 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
2.37 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
2.97 MB lrw-r--r-- 2026-06-08 16:48:02
Edit Download
1.26 MB lrw-r--r-- 2026-06-08 16:48:02
Edit Download
352 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.81 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
636 B lrw-r--r-- 2026-01-20 13:22:36
Edit Download
4.93 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
241.20 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
60.25 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
324 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
2.05 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
18.17 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
7.14 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
4.56 KB lrw-r--r-- 2026-05-19 16:30:42
Edit Download
1.36 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
1.90 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
1.31 KB lrw-r--r-- 2026-04-01 17:39:50
Edit Download
7.69 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
14.64 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
34.63 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
14.75 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
43 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
189.22 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
49.42 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
95.15 KB lrw-r--r-- 2026-05-18 15:58:18
Edit Download
31.35 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
7.43 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
3.95 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.43 KB lrw-r--r-- 2026-03-25 20:12:18
Edit Download
905 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
408 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
14.95 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
6.38 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
12.22 KB lrw-r--r-- 2026-06-10 16:50:16
Edit Download
76.53 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
36.88 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
163 B lrw-r--r-- 2025-10-27 14:18:40
Edit Download
13.11 KB lrw-r--r-- 2026-05-27 15:26:54
Edit Download
26.69 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
10.49 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
0 B lrw-r--r-- 2026-03-30 13:49:26
Edit Download
39.84 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
16.70 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
85.10 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
31.95 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
687 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
172.84 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
364.67 KB lrw-r--r-- 2026-03-30 13:49:26
Edit Download
28.46 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
49.36 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
11.66 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
5.98 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
9.53 KB lrw-r--r-- 2026-02-02 14:52:12
Edit Download
18.86 KB lrw-r--r-- 2026-02-02 14:52:12
Edit Download
28.93 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
10.60 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
20.18 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
6.25 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
150 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
20.66 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
11.09 KB lrw-r--r-- 2025-12-04 22:09:04
Edit Download
28.89 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
10.60 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
7.73 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
4.22 KB lrw-r--r-- 2025-12-04 22:09:04
Edit Download
15.63 KB lrw-r--r-- 2026-01-20 13:22:36
Edit Download
6.88 KB lrw-r--r-- 2026-01-20 13:22:36
Edit Download
34 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
23.56 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
8.86 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
276 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
57.95 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
8.29 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
3.05 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.71 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
789 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.89 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
24.79 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
11.28 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
76 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.70 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
3.38 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1007 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
449 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
1.97 KB lrw-r--r-- 2026-02-02 14:52:12
Edit Download
1.15 KB lrw-r--r-- 2026-02-02 14:52:12
Edit Download
8.28 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
15.85 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
36.54 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
13.03 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
372 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
25.60 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
66.25 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
96.64 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
43.88 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
372 B lrw-r--r-- 2026-02-05 01:46:24
Edit Download
108.57 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
20.92 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
107.21 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
20.11 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
3.61 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
7.67 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
3.00 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.32 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
8.36 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
3.25 KB lrw-r--r-- 2026-03-03 19:49:18
Edit Download
3.68 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
7.77 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
6.33 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
3.15 KB lrw-r--r-- 2025-10-21 16:51:06
Edit Download
484.41 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
166.42 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
163 B lrw-r--r-- 2025-08-05 18:00:00
Edit Download
0 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
16.67 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
5.68 KB lrw-r--r-- 2026-05-20 16:19:28
Edit Download
757 B lrw-r--r-- 2025-12-22 17:25:58
Edit Download
326 B lrw-r--r-- 2025-10-21 16:51:06
Edit Download
4.69 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download
1.82 KB lrw-r--r-- 2025-12-22 17:25:58
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).