Ubuntu

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ /*! elementor - v3.4.4 - 13-09-2021 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/@babel/runtime-corejs2/core-js/array/from.js": /*!********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/array/from.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/array/from */ "../node_modules/core-js/library/fn/array/from.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/array/is-array.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/array/is-array.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/array/is-array */ "../node_modules/core-js/library/fn/array/is-array.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/is-iterable.js": /*!*********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/is-iterable.js ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/is-iterable */ "../node_modules/core-js/library/fn/is-iterable.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/json/stringify.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/json/stringify.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/json/stringify */ "../node_modules/core-js/library/fn/json/stringify.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/assign.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/assign.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/assign */ "../node_modules/core-js/library/fn/object/assign.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/create.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/create.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/create */ "../node_modules/core-js/library/fn/object/create.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js": /*!**********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/define-properties */ "../node_modules/core-js/library/fn/object/define-properties.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js": /*!********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js ***! \********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/define-property */ "../node_modules/core-js/library/fn/object/define-property.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/entries.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/entries */ "../node_modules/core-js/library/fn/object/entries.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js": /*!********************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js ***! \********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/get-own-property-descriptor */ "../node_modules/core-js/library/fn/object/get-own-property-descriptor.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js": /*!*********************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js ***! \*********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/get-own-property-descriptors */ "../node_modules/core-js/library/fn/object/get-own-property-descriptors.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js": /*!*****************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js ***! \*****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/get-own-property-symbols */ "../node_modules/core-js/library/fn/object/get-own-property-symbols.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/get-prototype-of.js": /*!*********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/get-prototype-of.js ***! \*********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/get-prototype-of */ "../node_modules/core-js/library/fn/object/get-prototype-of.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js": /*!*********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/keys.js ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/keys */ "../node_modules/core-js/library/fn/object/keys.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js": /*!*********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js ***! \*********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/set-prototype-of */ "../node_modules/core-js/library/fn/object/set-prototype-of.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/object/values.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/object/values.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/object/values */ "../node_modules/core-js/library/fn/object/values.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/parse-int.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/parse-int.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/parse-int */ "../node_modules/core-js/library/fn/parse-int.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/promise.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/promise.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/promise */ "../node_modules/core-js/library/fn/promise.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/reflect/construct.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/reflect/construct.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/reflect/construct */ "../node_modules/core-js/library/fn/reflect/construct.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/reflect/get.js": /*!*********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/reflect/get.js ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/reflect/get */ "../node_modules/core-js/library/fn/reflect/get.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/symbol.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/symbol.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/symbol */ "../node_modules/core-js/library/fn/symbol/index.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/symbol/has-instance.js": /*!*****************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/symbol/has-instance.js ***! \*****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/symbol/has-instance */ "../node_modules/core-js/library/fn/symbol/has-instance.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js": /*!*************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js ***! \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/symbol/iterator */ "../node_modules/core-js/library/fn/symbol/iterator.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/core-js/weak-map.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/core-js/weak-map.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! core-js/library/fn/weak-map */ "../node_modules/core-js/library/fn/weak-map.js"); /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/arrayLikeToArray.js": /*!**************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/arrayLikeToArray.js ***! \**************************************************************************/ /***/ ((module) => { function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } module.exports = _arrayLikeToArray; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/arrayWithHoles.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/arrayWithHoles.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Array$isArray = __webpack_require__(/*! @babel/runtime-corejs2/core-js/array/is-array */ "../node_modules/@babel/runtime-corejs2/core-js/array/is-array.js"); function _arrayWithHoles(arr) { if (_Array$isArray(arr)) return arr; } module.exports = _arrayWithHoles; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/arrayWithoutHoles.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/arrayWithoutHoles.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Array$isArray = __webpack_require__(/*! @babel/runtime-corejs2/core-js/array/is-array */ "../node_modules/@babel/runtime-corejs2/core-js/array/is-array.js"); var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime-corejs2/helpers/arrayLikeToArray.js"); function _arrayWithoutHoles(arr) { if (_Array$isArray(arr)) return arrayLikeToArray(arr); } module.exports = _arrayWithoutHoles; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js": /*!*******************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js ***! \*******************************************************************************/ /***/ ((module) => { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js": /*!**************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js ***! \**************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Promise = __webpack_require__(/*! @babel/runtime-corejs2/core-js/promise */ "../node_modules/@babel/runtime-corejs2/core-js/promise.js"); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { _Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new _Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } module.exports = _asyncToGenerator; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js ***! \************************************************************************/ /***/ ((module) => { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js": /*!*********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/createClass.js ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; _Object$defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } module.exports = _createClass; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/createForOfIteratorHelper.js": /*!***********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/createForOfIteratorHelper.js ***! \***********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Symbol = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol */ "../node_modules/@babel/runtime-corejs2/core-js/symbol.js"); var _Symbol$iterator = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol/iterator */ "../node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js"); var _Array$isArray = __webpack_require__(/*! @babel/runtime-corejs2/core-js/array/is-array */ "../node_modules/@babel/runtime-corejs2/core-js/array/is-array.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime-corejs2/helpers/unsupportedIterableToArray.js"); function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } module.exports = _createForOfIteratorHelper; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js": /*!*********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/createSuper.js ***! \*********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Reflect$construct = __webpack_require__(/*! @babel/runtime-corejs2/core-js/reflect/construct */ "../node_modules/@babel/runtime-corejs2/core-js/reflect/construct.js"); var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js"); var isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "../node_modules/@babel/runtime-corejs2/helpers/isNativeReflectConstruct.js"); var possibleConstructorReturn = __webpack_require__(/*! ./possibleConstructorReturn.js */ "../node_modules/@babel/runtime-corejs2/helpers/possibleConstructorReturn.js"); function _createSuper(Derived) { var hasNativeReflectConstruct = isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; } module.exports = _createSuper; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); function _defineProperty(obj, key, value) { if (key in obj) { _Object$defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/extends.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/extends.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Object$assign = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/assign */ "../node_modules/@babel/runtime-corejs2/core-js/object/assign.js"); function _extends() { module.exports = _extends = _Object$assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; module.exports.default = module.exports, module.exports.__esModule = true; return _extends.apply(this, arguments); } module.exports = _extends; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/get.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/get.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Reflect$get = __webpack_require__(/*! @babel/runtime-corejs2/core-js/reflect/get */ "../node_modules/@babel/runtime-corejs2/core-js/reflect/get.js"); var _Object$getOwnPropertyDescriptor = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-descriptor */ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js"); var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime-corejs2/helpers/superPropBase.js"); function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && _Reflect$get) { module.exports = _get = _Reflect$get; module.exports.default = module.exports, module.exports.__esModule = true; } else { module.exports = _get = function _get(target, property, receiver) { var base = superPropBase(target, property); if (!base) return; var desc = _Object$getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; module.exports.default = module.exports, module.exports.__esModule = true; } return _get(target, property, receiver || target); } module.exports = _get; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Object$setPrototypeOf = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/set-prototype-of */ "../node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js"); var _Object$getPrototypeOf = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-prototype-of */ "../node_modules/@babel/runtime-corejs2/core-js/object/get-prototype-of.js"); function _getPrototypeOf(o) { module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || _Object$getPrototypeOf(o); }; module.exports.default = module.exports, module.exports.__esModule = true; return _getPrototypeOf(o); } module.exports = _getPrototypeOf; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/inherits.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Object$create = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/create */ "../node_modules/@babel/runtime-corejs2/core-js/object/create.js"); var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime-corejs2/helpers/setPrototypeOf.js"); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = _Object$create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js": /*!*******************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js ***! \*******************************************************************************/ /***/ ((module) => { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } module.exports = _interopRequireDefault; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js": /*!********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js ***! \********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = __webpack_require__(/*! @babel/runtime-corejs2/helpers/typeof */ "../node_modules/@babel/runtime-corejs2/helpers/typeof.js").default; var _WeakMap = __webpack_require__(/*! @babel/runtime-corejs2/core-js/weak-map */ "../node_modules/@babel/runtime-corejs2/core-js/weak-map.js"); var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _Object$getOwnPropertyDescriptor = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-descriptor */ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js"); function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } module.exports = _interopRequireWildcard; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/isNativeReflectConstruct.js": /*!**********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/isNativeReflectConstruct.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Reflect$construct = __webpack_require__(/*! @babel/runtime-corejs2/core-js/reflect/construct */ "../node_modules/@babel/runtime-corejs2/core-js/reflect/construct.js"); function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } module.exports = _isNativeReflectConstruct; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/iterableToArray.js": /*!*************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/iterableToArray.js ***! \*************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Symbol = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol */ "../node_modules/@babel/runtime-corejs2/core-js/symbol.js"); var _Symbol$iterator = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol/iterator */ "../node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js"); var _Array$from = __webpack_require__(/*! @babel/runtime-corejs2/core-js/array/from */ "../node_modules/@babel/runtime-corejs2/core-js/array/from.js"); function _iterableToArray(iter) { if (typeof _Symbol !== "undefined" && iter[_Symbol$iterator] != null || iter["@@iterator"] != null) return _Array$from(iter); } module.exports = _iterableToArray; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/iterableToArrayLimit.js": /*!******************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/iterableToArrayLimit.js ***! \******************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Symbol = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol */ "../node_modules/@babel/runtime-corejs2/core-js/symbol.js"); var _Symbol$iterator = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol/iterator */ "../node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js"); function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof _Symbol !== "undefined" && arr[_Symbol$iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } module.exports = _iterableToArrayLimit; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/nonIterableRest.js": /*!*************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/nonIterableRest.js ***! \*************************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/nonIterableSpread.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/nonIterableSpread.js ***! \***************************************************************************/ /***/ ((module) => { function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableSpread; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Object$keys = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js"); var _Object$getOwnPropertySymbols = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-symbols */ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-symbols.js"); var _Object$getOwnPropertyDescriptor = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-descriptor */ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptor.js"); var _Object$getOwnPropertyDescriptors = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/get-own-property-descriptors */ "../node_modules/@babel/runtime-corejs2/core-js/object/get-own-property-descriptors.js"); var _Object$defineProperties = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-properties */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-properties.js"); var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var defineProperty = __webpack_require__(/*! ./defineProperty.js */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js"); function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; } module.exports = _objectSpread2; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/possibleConstructorReturn.js": /*!***********************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/possibleConstructorReturn.js ***! \***********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = __webpack_require__(/*! @babel/runtime-corejs2/helpers/typeof */ "../node_modules/@babel/runtime-corejs2/helpers/typeof.js").default; var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/setPrototypeOf.js": /*!************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/setPrototypeOf.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Object$setPrototypeOf = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/set-prototype-of */ "../node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js"); function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = _Object$setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; module.exports.default = module.exports, module.exports.__esModule = true; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime-corejs2/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime-corejs2/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime-corejs2/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime-corejs2/helpers/nonIterableRest.js"); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArray; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/superPropBase.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/superPropBase.js ***! \***********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js"); function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = getPrototypeOf(object); if (object === null) break; } return object; } module.exports = _superPropBase; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime-corejs2/helpers/arrayWithoutHoles.js"); var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime-corejs2/helpers/iterableToArray.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime-corejs2/helpers/unsupportedIterableToArray.js"); var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime-corejs2/helpers/nonIterableSpread.js"); function _toConsumableArray(arr) { return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); } module.exports = _toConsumableArray; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/typeof.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/typeof.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Symbol = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol */ "../node_modules/@babel/runtime-corejs2/core-js/symbol.js"); var _Symbol$iterator = __webpack_require__(/*! @babel/runtime-corejs2/core-js/symbol/iterator */ "../node_modules/@babel/runtime-corejs2/core-js/symbol/iterator.js"); function _typeof(obj) { "@babel/helpers - typeof"; if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") { module.exports = _typeof = function _typeof(obj) { return typeof obj; }; module.exports.default = module.exports, module.exports.__esModule = true; } else { module.exports = _typeof = function _typeof(obj) { return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj; }; module.exports.default = module.exports, module.exports.__esModule = true; } return _typeof(obj); } module.exports = _typeof; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime-corejs2/helpers/unsupportedIterableToArray.js": /*!************************************************************************************!*\ !*** ../node_modules/@babel/runtime-corejs2/helpers/unsupportedIterableToArray.js ***! \************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _Array$from = __webpack_require__(/*! @babel/runtime-corejs2/core-js/array/from */ "../node_modules/@babel/runtime-corejs2/core-js/array/from.js"); var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime-corejs2/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray; module.exports.default = module.exports, module.exports.__esModule = true; /***/ }), /***/ "../node_modules/@babel/runtime/regenerator/index.js": /*!***********************************************************!*\ !*** ../node_modules/@babel/runtime/regenerator/index.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! regenerator-runtime */ "../node_modules/regenerator-runtime/runtime.js"); /***/ }), /***/ "../assets/dev/js/editor/commands/close.js": /*!*************************************************!*\ !*** ../assets/dev/js/editor/commands/close.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/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-corejs2/helpers/asyncToGenerator */ "../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../core/common/assets/js/api/modules/command-base.js")); var Close = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Close, _CommandBase); var _super = (0, _createSuper2.default)(Close); function Close() { (0, _classCallCheck2.default)(this, Close); return _super.apply(this, arguments); } (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; return _regenerator.default.wrap(function _callee$(_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 = 3; break; } return _context.abrupt("return", jQuery.Deferred().resolve()); case 3: if (!(!mode && (document.editor.isChanged || document.isDraft()))) { _context.next = 7; break; } deferred = jQuery.Deferred(); this.getConfirmDialog(deferred).show(); return _context.abrupt("return", deferred.promise()); case 7: _context.t0 = mode; _context.next = _context.t0 === 'autosave' ? 10 : _context.t0 === 'save' ? 13 : _context.t0 === 'discard' ? 16 : 19; break; case 10: _context.next = 12; return $e.run('document/save/auto'); case 12: return _context.abrupt("break", 19); case 13: _context.next = 15; return $e.run('document/save/update'); case 15: return _context.abrupt("break", 19); case 16: _context.next = 18; return $e.run('document/save/discard', { document: document }); case 18: return _context.abrupt("break", 19); case 19: $e.internal('editor/documents/unload', { document: document }); if (!onClose) { _context.next = 23; break; } _context.next = 23; return onClose(document); case 23: return _context.abrupt("return", jQuery.Deferred().resolve()); case 24: 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: __('Save Changes', 'elementor'), message: __('Would you like to save the changes you\'ve made?', 'elementor'), position: { my: 'center center', at: 'center center' }, strings: { confirm: __('Save', 'elementor'), cancel: __('Discard', '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.'); } }); }, onConfirm: function onConfirm() { _this.args.mode = 'save'; // Re-run with same args. $e.run('editor/documents/close', _this.args).then(function () { deferred.resolve(); }); }, onCancel: function onCancel() { _this.args.mode = 'discard'; // Re-run with same args. $e.run('editor/documents/close', _this.args).then(function () { deferred.resolve(); }); } }); return this.confirmDialog; } }]); return Close; }(_commandBase.default); exports.Close = Close; var _default = Close; exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/commands/index.js": /*!*************************************************!*\ !*** ../assets/dev/js/editor/commands/index.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _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; } }); var _close = __webpack_require__(/*! ./close */ "../assets/dev/js/editor/commands/close.js"); var _open = __webpack_require__(/*! ./open */ "../assets/dev/js/editor/commands/open.js"); var _preview = __webpack_require__(/*! ./preview */ "../assets/dev/js/editor/commands/preview.js"); var _switch = __webpack_require__(/*! ./switch */ "../assets/dev/js/editor/commands/switch.js"); /***/ }), /***/ "../assets/dev/js/editor/commands/internal/attach-preview.js": /*!*******************************************************************!*\ !*** ../assets/dev/js/editor/commands/internal/attach-preview.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = exports.AttachPreview = void 0; __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); var _promise = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/promise */ "../node_modules/@babel/runtime-corejs2/core-js/promise.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandInternalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-internal-base */ "../core/common/assets/js/api/modules/command-internal-base.js")); var AttachPreview = /*#__PURE__*/function (_CommandInternalBaseB) { (0, _inherits2.default)(AttachPreview, _CommandInternalBaseB); var _super = (0, _createSuper2.default)(AttachPreview); function AttachPreview() { (0, _classCallCheck2.default)(this, AttachPreview); return _super.apply(this, arguments); } (0, _createClass2.default)(AttachPreview, [{ key: "apply", value: function apply() { var _this = this; var document = elementor.documents.getCurrent(); return $e.data.get('globals/index').then(function () { elementor.trigger('globals:loaded'); return _this.attachDocumentToPreview(document); }).then(function () { elementor.toggleDocumentCssFiles(document, false); elementor.onEditModeSwitched(); elementor.checkPageStatus(); elementor.trigger('document:loaded', document); return $e.internal('panel/open-default', { refresh: true }); }); } }, { key: "attachDocumentToPreview", value: function attachDocumentToPreview(document) { return new _promise.default(function (resolve, reject) { // Not yet loaded. if (!document) { return reject(); } if (!document.config.elements) { return resolve(); } document.$element = elementor.$previewContents.find('.elementor-' + document.id); if (!document.$element.length) { elementor.onPreviewElNotFound(); return reject(); } document.$element.addClass('elementor-edit-area elementor-edit-mode'); // If not the same document. if (document.id !== elementor.config.initial_document.id) { elementor.$previewElementorEl.addClass('elementor-embedded-editor'); } elementor.initElements(); elementor.initPreviewView(document); document.container.view = elementor.getPreviewView(); document.container.model.attributes.elements = elementor.elements; elementor.helpers.scrollToView(document.$element); document.$element.addClass('elementor-edit-area-active').removeClass('elementor-editor-preview'); resolve(); }); } }]); return AttachPreview; }(_commandInternalBase.default); exports.AttachPreview = AttachPreview; var _default = AttachPreview; exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/commands/internal/index.js": /*!**********************************************************!*\ !*** ../assets/dev/js/editor/commands/internal/index.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _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/commands/internal/attach-preview.js"); var _load = __webpack_require__(/*! ./load */ "../assets/dev/js/editor/commands/internal/load.js"); var _unload = __webpack_require__(/*! ./unload */ "../assets/dev/js/editor/commands/internal/unload.js"); /***/ }), /***/ "../assets/dev/js/editor/commands/internal/load.js": /*!*********************************************************!*\ !*** ../assets/dev/js/editor/commands/internal/load.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Load = void 0; var _promise = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/promise */ "../node_modules/@babel/runtime-corejs2/core-js/promise.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandInternalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-internal-base */ "../core/common/assets/js/api/modules/command-internal-base.js")); var _document = _interopRequireDefault(__webpack_require__(/*! elementor-editor/document */ "../assets/dev/js/editor/document.js")); var _heartbeat = _interopRequireDefault(__webpack_require__(/*! elementor-editor-utils/heartbeat */ "../assets/dev/js/editor/utils/heartbeat.js")); var Load = /*#__PURE__*/function (_CommandInternalBase) { (0, _inherits2.default)(Load, _CommandInternalBase); var _super = (0, _createSuper2.default)(Load); function Load() { (0, _classCallCheck2.default)(this, Load); return _super.apply(this, arguments); } (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; 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); 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 () { return $e.internal('editor/documents/attach-preview'); }); } return _promise.default.resolve(document); } }]); return Load; }(_commandInternalBase.default); exports.Load = Load; var _default = Load; exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/commands/internal/unload.js": /*!***********************************************************!*\ !*** ../assets/dev/js/editor/commands/internal/unload.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Unload = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandInternalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-internal-base */ "../core/common/assets/js/api/modules/command-internal-base.js")); var _document = _interopRequireDefault(__webpack_require__(/*! elementor-editor/document */ "../assets/dev/js/editor/document.js")); var Unload = /*#__PURE__*/function (_CommandInternalBase) { (0, _inherits2.default)(Unload, _CommandInternalBase); var _super = (0, _createSuper2.default)(Unload); function Unload() { (0, _classCallCheck2.default)(this, Unload); return _super.apply(this, arguments); } (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) { var document = args.document; if (document.id !== elementor.config.document.id) { return; } 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); } }]); return Unload; }(_commandInternalBase.default); exports.Unload = Unload; var _default = Unload; exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/commands/open.js": /*!************************************************!*\ !*** ../assets/dev/js/editor/commands/open.js ***! \************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Open = void 0; __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../core/common/assets/js/api/modules/command-base.js")); var Open = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Open, _CommandBase); var _super = (0, _createSuper2.default)(Open); function Open() { (0, _classCallCheck2.default)(this, Open); return _super.apply(this, arguments); } (0, _createClass2.default)(Open, [{ key: "validateArgs", value: function validateArgs(args) { this.requireArgument('id', args); } }, { key: "apply", value: function apply(args) { var id = args.id, 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'); } 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 }); }).always(function () { // TODO: move to $e.hooks.ui. if (elementor.loaded) { elementor.$previewContents.find(".elementor-".concat(id)).removeClass('loading'); } }); } }]); return Open; }(_commandBase.default); exports.Open = Open; var _default = Open; exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/commands/preview.js": /*!***************************************************!*\ !*** ../assets/dev/js/editor/commands/preview.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/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-corejs2/helpers/asyncToGenerator */ "../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../core/common/assets/js/api/modules/command-base.js")); var Preview = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Preview, _CommandBase); var _super = (0, _createSuper2.default)(Preview); function Preview() { (0, _classCallCheck2.default)(this, Preview); return _super.apply(this, arguments); } (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 _callee$(_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 = 4; break; } _context.next = 4; return $e.run('document/save/auto', { force: true }); case 4: // Open immediately in order to avoid popup blockers. footerSaver.previewWindow = open(document.config.urls.wp_preview, "wp-preview-".concat(document.id)); case 5: case "end": return _context.stop(); } } }, _callee); })); function apply(_x) { return _apply.apply(this, arguments); } return apply; }() }]); return Preview; }(_commandBase.default); exports.Preview = Preview; var _default = Preview; exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/commands/switch.js": /*!**************************************************!*\ !*** ../assets/dev/js/editor/commands/switch.js ***! \**************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Switch = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../core/common/assets/js/api/modules/command-base.js")); var Switch = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Switch, _CommandBase); var _super = (0, _createSuper2.default)(Switch); function Switch() { (0, _classCallCheck2.default)(this, Switch); return _super.apply(this, arguments); } (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; return $e.run('editor/documents/close', { id: elementor.documents.getCurrentId(), mode: mode, onClose: onClose }).then(function () { return $e.run('editor/documents/open', { id: id }); }); } }]); return Switch; }(_commandBase.default); exports.Switch = Switch; var _default = Switch; exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/component.js": /*!********************************************!*\ !*** ../assets/dev/js/editor/component.js ***! \********************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _parseInt2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/parse-int */ "../node_modules/@babel/runtime-corejs2/core-js/parse-int.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-base */ "../core/common/assets/js/api/modules/component-base.js")); var _document = _interopRequireDefault(__webpack_require__(/*! ./document */ "../assets/dev/js/editor/document.js")); var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../assets/dev/js/editor/commands/index.js")); var internalCommands = _interopRequireWildcard(__webpack_require__(/*! ./commands/internal/ */ "../assets/dev/js/editor/commands/internal/index.js")); var Component = /*#__PURE__*/function (_ComponentBase) { (0, _inherits2.default)(Component, _ComponentBase); var _super = (0, _createSuper2.default)(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (0, _createClass2.default)(Component, [{ key: "__construct", value: function __construct() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; (0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "__construct", this).call(this, args); /** * All the documents. * * @type {Object.} */ this.documents = {}; /** * Current document. * * @type {Document} */ this.currentDocument = null; this.saveInitialDocumentToCache(); } }, { key: "getNamespace", value: function getNamespace() { return 'editor/documents'; } }, { key: "defaultCommands", value: function defaultCommands() { return this.importCommands(commands); } }, { key: "defaultCommandsInternal", value: function defaultCommandsInternal() { return this.importCommands(internalCommands); } /** * Function add(). * * Add's document to the manager. * * @param {Document} document * * @returns {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 * * @returns {Document} */ }, { key: "addDocumentByConfig", value: function addDocumentByConfig(config) { return this.add(new _document.default(config)); } /** * Function get(). * * Get document by id. * * @param {number} id * * @returns {Document|boolean} */ }, { key: "get", value: function get(id) { if (undefined !== this.documents[id]) { return this.documents[id]; } return false; } /** * Function getCurrent(). * * Return's current document. * * @returns {Document} */ }, { key: "getCurrent", value: function getCurrent() { return this.currentDocument; } /** * Function getCurrentId(). * * Return's current document id. * * @returns {number} */ }, { key: "getCurrentId", value: function getCurrentId() { return this.currentDocument.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 (0, _parseInt2.default)(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(id) { elementorCommon.ajax.invalidateCache(this.getRequestArgs(id)); } }, { key: "getRequestArgs", value: function getRequestArgs(id) { id = (0, _parseInt2.default)(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; } 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); } }]); return Component; }(_componentBase.default); exports.default = Component; /***/ }), /***/ "../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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.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; } }, renderTools: function renderTools() { var _this = this; // If the user has Elementor Pro and the current control has no dynamic tags available, don't generate the dynamic switcher. // If the user has the core version only, we do display the dynamic switcher for the promotion. if (this.getOption('dynamicSettings').default || elementor.helpers.hasPro() && !this.getOption('tags').length) { 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('
', { class: 'elementor-tags-list' }), $tagsListInner = jQuery('
', { 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('
', { class: 'elementor-tags-list__group-title' }).text(group.title); $tagsListInner.append($groupTitle); groupTags.forEach(function (tag) { var $tag = jQuery('
', { 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() && (0, _keys.default)(tags).length) { var proTeaser = Marionette.Renderer.render('#tmpl-elementor-dynamic-tags-promo'); $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 message = __('Create more personalized and dynamic sites by populating data from various sources with dozens of dynamic tags to choose from.', 'elementor'); elementor.promotion.showDialog({ headerMessage: __('Dynamic Content', 'elementor'), message: message, top: '-10', element: this.ui.dynamicSwitcher, actionURL: elementor.config.dynamicPromotionURL }); }, 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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js"); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); __webpack_require__(/*! core-js/modules/es6.regexp.match.js */ "../node_modules/core-js/modules/es6.regexp.match.js"); var _stringify = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/json/stringify */ "../node_modules/@babel/runtime-corejs2/core-js/json/stringify.js")); var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); 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((0, _stringify.default)(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 cache = this.cache, cacheRequests = this.cacheRequests, cacheCallbacks = this.cacheCallbacks; this.cacheRequests = {}; this.cacheCallbacks = []; elementorCommon.ajax.addRequest('render_tags', { data: { post_id: elementor.config.document.id, tags: (0, _keys.default)(cacheRequests) }, success: function success(data) { jQuery.extend(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((0, _stringify.default)(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 _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); var _values = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/values */ "../node_modules/@babel/runtime-corejs2/core-js/object/values.js")); 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 elementor-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 !!(0, _values.default)(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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _componentModalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-modal-base */ "../core/common/assets/js/api/modules/component-modal-base.js")); var _modalLayout = _interopRequireDefault(__webpack_require__(/*! ./modal-layout */ "../assets/dev/js/editor/components/hotkeys/modal-layout.js")); var Component = /*#__PURE__*/function (_ComponentModalBase) { (0, _inherits2.default)(Component, _ComponentModalBase); var _super = (0, _createSuper2.default)(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (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; } }]); return Component; }(_componentModalBase.default); exports.default = Component; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../assets/dev/js/editor/components/hotkeys/component.js")); var _default = /*#__PURE__*/function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); var _super = (0, _createSuper2.default)(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "onInit", value: function onInit() { $e.components.register(new _component.default({ manager: this })); } }]); return _default; }(elementorModules.Module); exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _environment = _interopRequireDefault(__webpack_require__(/*! elementor-common/utils/environment */ "../core/common/assets/js/utils/environment.js")); var _default = /*#__PURE__*/function (_Marionette$LayoutVie) { (0, _inherits2.default)(_default, _Marionette$LayoutVie); var _super = (0, _createSuper2.default)(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (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'; } }]); return _default; }(Marionette.LayoutView); exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _modalContent = _interopRequireDefault(__webpack_require__(/*! ./modal-content */ "../assets/dev/js/editor/components/hotkeys/modal-content.js")); var _default = /*#__PURE__*/function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); var _super = (0, _createSuper2.default)(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (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() { var _get2; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = (0, _get3.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this)).call.apply(_get2, [this].concat(args)); this.showLogo(); this.showContentView(); } }, { key: "showContentView", value: function showContentView() { this.modalContent.show(new _modalContent.default()); } }]); return _default; }(elementorModules.common.views.modal.Layout); exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _entries = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/entries */ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js")); var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); __webpack_require__(/*! core-js/modules/es6.regexp.split.js */ "../node_modules/core-js/modules/es6.regexp.split.js"); __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js"); var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/typeof */ "../node_modules/@babel/runtime-corejs2/helpers/typeof.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); var _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) { elementor.helpers.enqueueEditorStylesheet(assetURL); }); } if (libraryConfig.url) { elementor.helpers.enqueueEditorStylesheet(libraryConfig.url); } //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 }); } (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 = (0, _entries.default)(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 ((0, _keys.default)(icons).length) { library.icons = icons; this.loaded[library.name] = true; elementor.iconManager.store.save(library); this.runCallback(library); } } }]); return _default; }(); exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var Store = /*#__PURE__*/function () { function Store() { (0, _classCallCheck2.default)(this, Store); } (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"); } }]); return Store; }(); var _default = Store; exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(/*! core-js/modules/es6.array.slice.js */ "../node_modules/core-js/modules/es6.array.slice.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js")); var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var LazyIconList = /*#__PURE__*/function (_Component) { (0, _inherits2.default)(LazyIconList, _Component); var _super = (0, _createSuper2.default)(LazyIconList); 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 = _super.call.apply(_super, [this].concat(args)); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", { itemSize: { width: 0, height: 0 }, wrapperSize: { width: 0, height: 0 }, firstRowInView: 0 }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selectors", { item: '.elementor-icons-manager__tab__item', wrapper: 'elementor-icons-manager__tab__wrapper' }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "attachScrollListener", function () { var element = document.getElementById(_this.selectors.wrapper); if (element) { element.addEventListener('scroll', _this.handleScroll); } }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "maybeMeasureItem", function () { if (_this.state.itemSize.width) { return; } // CSS Item Padding var itemPadding = 20, wrapper = document.getElementById(_this.selectors.wrapper), testElement = document.querySelector(_this.selectors.item); if (!testElement) { return; } 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)((0, _assertThisInitialized2.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)((0, _assertThisInitialized2.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)((0, _assertThisInitialized2.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, _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; } }]); return LazyIconList; }(_react.Component); var _default = LazyIconList; exports.default = _default; 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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.renderIconManager = exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js"); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/extends */ "../node_modules/@babel/runtime-corejs2/helpers/extends.js")); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js")); var _reactDom = __webpack_require__(/*! react-dom */ "react-dom"); 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")); var IconsManager = /*#__PURE__*/function (_Component) { (0, _inherits2.default)(IconsManager, _Component); var _super = (0, _createSuper2.default)(IconsManager); 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 = _super.call.apply(_super, [this].concat(args)); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "scrollViewRef", (0, _react.createRef)()); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", { activeTab: _this.props.activeTab, selected: { library: '', value: '' }, iconTabs: elementor.config.icons.libraries, loaded: _this.props.loaded, filter: '' }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "cache", {}); (0, _defineProperty2.default)((0, _assertThisInitialized2.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((0, _objectSpread2.default)({}, 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)((0, _assertThisInitialized2.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 = (0, _objectSpread2.default)({}, icons.filter(function (tab) { return tab.name === activeTab; })[0]); if (loaded[activeTab]) { return (0, _objectSpread2.default)({}, tabSettings); } if ('all' === tabSettings.name && !loaded.all) { return _this.loadAllTabs(); } elementor.iconManager.library.initIconType((0, _objectSpread2.default)({}, tabSettings), function (library) { _this.cache[library.name] = library; _this.updateLoaded(library.name); }); return false; }); (0, _defineProperty2.default)((0, _assertThisInitialized2.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__*/_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)((0, _assertThisInitialized2.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((0, _objectSpread2.default)({}, librarySettings[0]), function (library) { _this.cache[library.name] = library; _this.updateLoaded(library.name); }); } return elementor.iconManager.store.getIcons(activeTab); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.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)((0, _assertThisInitialized2.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)((0, _assertThisInitialized2.default)(_this), "setSelected", function (selected) { elementor.iconManager.setSettings('selectedIcon', selected); _this.setState({ selected: selected }); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.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)((0, _assertThisInitialized2.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, selected = _this.getSelected(); if ('GoPro' !== activeTab) { if (!activeTabName || !_this.state.loaded[activeTabName]) { return 'Loading'; } if (activeTab) { activeTab.icons = _this.getActiveTabIcons(activeTab); } } 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, _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 elementor-button-default", 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' })); } }]); return IconsManager; }(_react.Component); var _default = IconsManager; exports.default = _default; var renderIconManager = function renderIconManager(props) { var containerElement = document.querySelector('#elementor-icons-manager-modal .dialog-content'); return (0, _reactDom.render)( /*#__PURE__*/_react.default.createElement(IconsManager, (0, _extends2.default)({}, props, { containerElement: containerElement })), containerElement); }; exports.renderIconManager = renderIconManager; 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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js")); var Icon = /*#__PURE__*/function (_Component) { (0, _inherits2.default)(Icon, _Component); var _super = (0, _createSuper2.default)(Icon); 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 = _super.call.apply(_super, [this].concat(args)); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setSelected", function () { _this.props.setSelectedHandler({ value: _this.props.data.displayPrefix + ' ' + _this.props.data.selector, library: _this.props.library }); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () { return /*#__PURE__*/_react.default.createElement("div", { className: _this.props.containerClass, key: _this.props.keyID, onClick: _this.setSelected, filter: _this.props.data.filter }, /*#__PURE__*/_react.default.createElement("div", { className: "elementor-icons-manager__tab__item__content" }, /*#__PURE__*/_react.default.createElement("i", { className: 'elementor-icons-manager__tab__item__icon ' + _this.props.className }), /*#__PURE__*/_react.default.createElement("div", { className: 'elementor-icons-manager__tab__item__name', title: _this.props.data.name }, _this.props.data.name))); }); return _this; } return Icon; }(_react.Component); exports.default = Icon; 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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); var IconsGoPro = /*#__PURE__*/function (_Component) { (0, _inherits2.default)(IconsGoPro, _Component); var _super = (0, _createSuper2.default)(IconsGoPro); 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 = _super.call.apply(_super, [this].concat(args)); (0, _defineProperty2.default)((0, _assertThisInitialized2.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 elementor-button-default elementor-button-go-pro", target: "_blank", rel: "noopener noreferrer" }, __('Go Pro', 'elementor'))); }); return _this; } return IconsGoPro; }(_react.Component); var _default = IconsGoPro; exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); __webpack_require__(/*! core-js/modules/es6.object.to-string.js */ "../node_modules/core-js/modules/es6.object.to-string.js"); __webpack_require__(/*! core-js/modules/es6.array.iterator.js */ "../node_modules/core-js/modules/es6.array.iterator.js"); __webpack_require__(/*! core-js/modules/web.dom.iterable.js */ "../node_modules/core-js/modules/web.dom.iterable.js"); __webpack_require__(/*! core-js/modules/es6.string.includes.js */ "../node_modules/core-js/modules/es6.string.includes.js"); __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js"); __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js"); var _entries = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/entries */ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js")); var _values = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/values */ "../node_modules/@babel/runtime-corejs2/core-js/object/values.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js")); var _createForOfIteratorHelper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createForOfIteratorHelper */ "../node_modules/@babel/runtime-corejs2/helpers/createForOfIteratorHelper.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/toConsumableArray */ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/assertThisInitialized */ "../node_modules/@babel/runtime-corejs2/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/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")); var Tab = /*#__PURE__*/function (_Component) { (0, _inherits2.default)(Tab, _Component); var _super = (0, _createSuper2.default)(Tab); 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 = _super.call.apply(_super, [this].concat(args)); (0, _defineProperty2.default)((0, _assertThisInitialized2.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)((0, _assertThisInitialized2.default)(_this), "handleFullIconList", function () { var fullIconList = []; (0, _entries.default)(_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)((0, _assertThisInitialized2.default)(_this), "getLibrary", function (libraryName) { var icons = elementor.config.icons.libraries.filter(function (library) { return libraryName === library.name; }); return icons; }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleRecommendedList", function () { var recommendedIconList = []; (0, _entries.default)(_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)((0, _assertThisInitialized2.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 = (0, _values.default)(iconsToShow).filter(function (icon) { return icon.props.data.name.toLowerCase().indexOf(filter) > -1; }); } return iconsToShow; }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () { var icons = _this.getIconsComponentList(); var selectedIndex = -1; var _iterator = (0, _createForOfIteratorHelper2.default)(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, _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 (0, _entries.default)(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 }); }); } }]); return Tab; }(_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 = Tab; exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.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")); var _reactDom = __webpack_require__(/*! react-dom */ "react-dom"); var _default = /*#__PURE__*/function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); var _super = (0, _createSuper2.default)(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (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 elementor-button-success', callback: function callback() { _this.updateControlValue(); _this.unMountIconManager(); } }); layoutModal.on('show', this.onPickerShow.bind(this)).on('hide', this.unMountIconManager); } return this.layout; } }, { key: "getDefaultSettings", value: function getDefaultSettings() { return { selectedIcon: {} }; } }, { key: "unMountIconManager", value: function unMountIconManager() { var containerElement = document.querySelector('#elementor-icons-manager-modal .dialog-content'); (0, _reactDom.unmountComponentAtNode)(containerElement); } }, { 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 (!(0, _keys.default)(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 && iconManagerConfig.recommended.hasOwnProperty(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; return (0, _iconManager.renderIconManager)(iconManagerConfig); } }, { 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); } }]); return _default; }(elementorModules.Module); exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _layout = _interopRequireDefault(__webpack_require__(/*! elementor-common/views/modal/layout */ "../core/common/assets/js/views/modal/layout.js")); var _default = /*#__PURE__*/function (_BaseModalLayout) { (0, _inherits2.default)(_default, _BaseModalLayout); var _super = (0, _createSuper2.default)(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (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() { var _get2; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = (0, _get3.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this)).call.apply(_get2, [this].concat(args)); this.showLogo(); } }]); return _default; }(_layout.default); exports.default = _default; /***/ }), /***/ "../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 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 } }); }, getContainerId: function getContainerId() { return this.getSettings('name') + '_settings'; }, // Emulate an element view/model structure with the parts needed for a container. getEditedView: function getEditedView() { var id = this.getContainerId(), editModel = new Backbone.Model({ id: id, elType: id, settings: this.model }); var container = new elementorModules.editor.Container({ type: id, id: editModel.id, model: editModel, settings: editModel.get('settings'), view: 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 }; }, 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 self = this; if (!self.hasChange) { return; } var settings = this.model.toJSON({ remove: ['default'] }), data = this.getDataToSave({ data: settings }); if (!elementorCommonConfig.isTesting) { NProgress.start(); } elementorCommon.ajax.addRequest('save_' + this.getSettings('name') + '_settings', { data: data, success: function success() { if (!elementorCommonConfig.isTesting) { NProgress.done(); } self.setSettings('settings', settings); self.hasChange = false; if (callback) { callback.apply(self, arguments); } }, error: function error() { alert('An error occurred'); } }); }, 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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _manager = _interopRequireDefault(__webpack_require__(/*! ../base/manager */ "../assets/dev/js/editor/components/settings/base/manager.js")); var _default = /*#__PURE__*/function (_BaseManager) { (0, _inherits2.default)(_default, _BaseManager); var _super = (0, _createSuper2.default)(_default); 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 = _super.call.apply(_super, [this].concat(args)); _this.changeCallbacks = { ui_theme: _this.onUIThemeChanged, panel_width: _this.onPanelWidthChanged, edit_buttons: _this.onEditButtonsChanged, show_hidden_elements: _this.onShowHiddenElementsChange }; return _this; } (0, _createClass2.default)(_default, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { darkModeLinkID: 'elementor-editor-dark-mode-css' }; } }, { key: "createDarkModeStylesheetLink", value: function createDarkModeStylesheetLink() { var darkModeLinkID = this.getSettings('darkModeLinkID'); var $darkModeLink = jQuery('#' + darkModeLinkID); if (!$darkModeLink.length) { $darkModeLink = jQuery('', { id: darkModeLinkID, rel: 'stylesheet', href: elementor.config.ui.darkModeStylesheetURL }); } this.$link = $darkModeLink; } }, { key: "getDarkModeStylesheetLink", value: function getDarkModeStylesheetLink() { if (!this.$link) { this.createDarkModeStylesheetLink(); } return this.$link; } }, { key: "onUIThemeChanged", value: function onUIThemeChanged(newValue) { var $link = this.getDarkModeStylesheetLink(); if ('light' === newValue) { $link.remove(); return; } $link.attr('media', 'auto' === newValue ? '(prefers-color-scheme: dark)' : '').appendTo(elementorCommon.elements.$body); } }, { 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'); } }]); return _default; }(_manager.default); exports.default = _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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-base */ "../core/common/assets/js/api/modules/component-base.js")); var Component = /*#__PURE__*/function (_ComponentBase) { (0, _inherits2.default)(Component, _ComponentBase); var _super = (0, _createSuper2.default)(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (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) { elementor.getPanelView().setPage('page_settings').activateTab(tab); } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return '.elementor-panel-navigation'; } }]); return Component; }(_componentBase.default); exports.default = Component; /***/ }), /***/ "../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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../assets/dev/js/editor/components/settings/page/component.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 id = this.getContainerId(), editModel = new Backbone.Model({ id: id, elType: id, settings: this.model, elements: elementor.elements }); var container = new elementorModules.editor.Container({ type: id, id: editModel.id, model: editModel, settings: editModel.get('settings'), label: elementor.config.document.panel.title, controls: this.model.controls, children: elementor.elements, // 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 }; return this.editedView; }, getContainerId: function getContainerId() { return 'document'; } }); /***/ }), /***/ "../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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/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' }, onInsertButtonClick: function onInsertButtonClick() { var args = { model: this.view.model }; if ('remote' === args.model.get('source') && !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/index.js": /*!*****************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/commands/index.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); _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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = exports.InsertTemplate = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../core/common/assets/js/api/modules/command-base.js")); var InsertTemplate = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(InsertTemplate, _CommandBase); var _super = (0, _createSuper2.default)(InsertTemplate); function InsertTemplate() { (0, _classCallCheck2.default)(this, InsertTemplate); return _super.apply(this, arguments); } (0, _createClass2.default)(InsertTemplate, [{ key: "apply", value: function apply(args) { return this.component.insertTemplate(args); } }]); return InsertTemplate; }(_commandBase.default); exports.InsertTemplate = InsertTemplate; var _default = InsertTemplate; exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = exports.Open = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../core/common/assets/js/api/modules/command-base.js")); var Open = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Open, _CommandBase); var _super = (0, _createSuper2.default)(Open); function Open() { (0, _classCallCheck2.default)(this, Open); return _super.apply(this, arguments); } (0, _createClass2.default)(Open, [{ key: "apply", value: function apply(args) { return this.component.show(args); } }]); return Open; }(_commandBase.default); exports.Open = Open; var _default = Open; exports.default = _default; /***/ }), /***/ "../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 _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireWildcard = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireWildcard */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireWildcard.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/objectSpread2 */ "../node_modules/@babel/runtime-corejs2/helpers/objectSpread2.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _componentModalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-modal-base */ "../core/common/assets/js/api/modules/component-modal-base.js")); var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../assets/dev/js/editor/components/template-library/commands/index.js")); var TemplateLibraryLayoutView = __webpack_require__(/*! elementor-templates/views/library-layout */ "../assets/dev/js/editor/components/template-library/views/library-layout.js"); var Component = /*#__PURE__*/function (_ComponentModalBase) { (0, _inherits2.default)(Component, _ComponentModalBase); var _super = (0, _createSuper2.default)(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (0, _createClass2.default)(Component, [{ key: "__construct", value: function __construct(args) { (0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "__construct", this).call(this, args); // When switching documents update defaultTabs. elementor.on('document:loaded', this.onDocumentLoaded.bind(this)); } }, { 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: __('My Templates', 'elementor'), filter: { source: 'local' } } }; } }, { key: "defaultRoutes", value: function defaultRoutes() { var _this = this; return { import: function _import() { _this.manager.layout.showImportView(); }, 'save-template': function saveTemplate(args) { _this.manager.layout.showSaveTemplateView(args.model); }, 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); } }; } }, { key: "defaultCommands", value: function defaultCommands() { var modalCommands = (0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "defaultCommands", this).call(this); return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, modalCommands), this.importCommands(commands)); } }, { 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], filter = currentTab.getFilter ? currentTab.getFilter() : currentTab.filter; this.manager.setScreen(filter); } }, { key: "activateTab", value: function activateTab(tab) { $e.routes.saveState('library'); (0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "activateTab", this).call(this, tab); } }, { key: "open", value: function open() { (0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "open", this).call(this); if (!this.manager.layout) { this.manager.layout = this.layout; } this.manager.layout.setHeaderDefaultParts(); return true; } }, { key: "close", value: function close() { if (!(0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "close", this).call(this)) { 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; 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; } if (null === withPageSettings && model.get('hasPageSettings')) { var insertTemplateHandler = this.getImportSettingsDialog(); insertTemplateHandler.showImportDialog(model); return; } this.manager.layout.showLoadingView(); this.manager.requestTemplateContent(model.get('source'), model.get('template_id'), { data: { with_page_settings: withPageSettings }, success: function success(data) { // Clone the `modalConfig.importOptions` because it deleted during the closing. var importOptions = jQuery.extend({}, _this2.manager.modalConfig.importOptions); importOptions.withPageSettings = withPageSettings; // Hide for next open. _this2.manager.layout.hideLoadingView(); _this2.manager.layout.hideModal(); $e.run('document/elements/import', { model: model, data: data, options: importOptions }); }, error: function error(data) { _this2.manager.showErrorDialog(data); }, complete: function complete() { _this2.manager.layout.hideLoadingView(); } }); } }, { key: "getImportSettingsDialog", value: function getImportSettingsDialog() { // Moved from ./behaviors/insert-template.js var InsertTemplateHandler = { dialog: null, showImportDialog: function showImportDialog(model) { var dialog = InsertTemplateHandler.getDialog(); dialog.onConfirm = function () { $e.run('library/insert-template', { model: model, withPageSettings: true }); }; dialog.onCancel = function () { $e.run('library/insert-template', { model: model, withPageSettings: false }); }; dialog.show(); }, initDialog: function initDialog() { InsertTemplateHandler.dialog = elementorCommon.dialogsManager.createWidget('confirm', { id: 'elementor-insert-template-settings-dialog', headerMessage: __('Import Document Settings', 'elementor'), message: __('Do you want to also import the document settings of the template?', 'elementor') + '
' + __('Attention: Importing may override previous settings.', 'elementor'), strings: { confirm: __('Yes', 'elementor'), cancel: __('No', 'elementor') } }); }, getDialog: function getDialog() { if (!InsertTemplateHandler.dialog) { InsertTemplateHandler.initDialog(); } 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 = ''; } } }]); return Component; }(_componentModalBase.default); exports.default = Component; /***/ }), /***/ "../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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var _stringify = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/json/stringify */ "../node_modules/@babel/runtime-corejs2/core-js/json/stringify.js")); var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/typeof */ "../node_modules/@babel/runtime-corejs2/helpers/typeof.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../assets/dev/js/editor/components/template-library/component.js")); var TemplateLibraryCollection = __webpack_require__(/*! elementor-templates/collections/templates */ "../assets/dev/js/editor/components/template-library/collections/templates.js"), TemplateLibraryManager; TemplateLibraryManager = function TemplateLibraryManager() { this.modalConfig = {}; var self = this, templateTypes = {}; var deleteDialog, errorDialog, templatesCollection, config = {}, filterTerms = {}; var registerDefaultTemplateTypes = function registerDefaultTemplateTypes() { var data = { saveDialog: { description: __('Your designs will be available for export and reuse on any page or website', 'elementor') }, ajaxParams: { success: function success(successData) { $e.route('library/templates/my-templates', { onBefore: function onBefore() { if (templatesCollection) { var itemExist = templatesCollection.findWhere({ template_id: successData.template_id }); if (!itemExist) { templatesCollection.add(successData); } } } }); }, error: function error(errorData) { self.showErrorDialog(errorData); } } }; var translationMap = (0, _defineProperty2.default)({ page: __('Page', 'elementor'), section: __('Section', 'elementor') }, elementor.config.document.type, elementor.config.document.panel.title); jQuery.each(translationMap, function (type, title) { var safeData = jQuery.extend(true, {}, data, { saveDialog: { /* translators: %s: Template type. */ title: sprintf(__('Save Your %s to Library', 'elementor'), title) } }); 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.init = function () { registerDefaultTemplateTypes(); registerDefaultFilterTerms(); this.component = $e.components.register(new _component.default({ manager: this })); elementor.addBackgroundClickListener('libraryToggleMore', { element: '.elementor-template-library-template-more' }); }; this.getTemplateTypes = function (type) { if (type) { return templateTypes[type]; } return templateTypes; }; this.registerTemplateType = function (type, data) { templateTypes[type] = data; }; this.deleteTemplate = function (templateModel, options) { var dialog = self.getDeleteDialog(); dialog.onConfirm = function () { if (options.onConfirm) { options.onConfirm(); } elementorCommon.ajax.addRequest('delete_template', { data: { source: templateModel.get('source'), template_id: templateModel.get('template_id') }, success: function success(response) { templatesCollection.remove(templateModel, { silent: true }); if (options.onSuccess) { options.onSuccess(response); } } }); }; dialog.show(); }; this.importTemplate = function (model) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; elementorCommon.helpers.softDeprecated('importTemplate', '2.8.0', "$e.run( 'library/insert-template' )"); args.model = model; $e.run('library/insert-template', args); }; this.saveTemplate = function (type, data) { var templateType = templateTypes[type]; _.extend(data, { source: 'local', type: type }); if (templateType.prepareSavedData) { data = templateType.prepareSavedData(data); } data.content = (0, _stringify.default)(data.content); var ajaxParams = { data: data }; if (templateType.ajaxParams) { _.extend(ajaxParams, templateType.ajaxParams); } elementorCommon.ajax.addRequest('save_template', ajaxParams); }; this.requestTemplateContent = function (source, id, ajaxOptions) { 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.markAsFavorite = function (templateModel, favorite) { 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 () { if (!deleteDialog) { deleteDialog = elementorCommon.dialogsManager.createWidget('confirm', { id: 'elementor-template-library-delete-dialog', headerMessage: __('Delete Template', 'elementor'), message: __('Are you sure you want to delete this template?', 'elementor'), strings: { confirm: __('Delete', 'elementor') } }); } 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) { 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) { 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) { self.requestLibraryData({ onBeforeUpdate: self.layout.showLoadingView.bind(self.layout), onUpdate: function onUpdate() { self.layout.hideLoadingView(); if (_onUpdate) { _onUpdate(); } } }); }; 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)); }); }; 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 += '
' + error.message + '.
'; }); errorMessage = message; } else if (errorMessage) { errorMessage += '.'; } if (errorMessage) { errorMessage = __('The following error(s) occurred while processing the request:', 'elementor') + '
' + errorMessage + '
'; } else { errorMessage = __('Please try again.', 'elementor'); } self.getErrorDialog().setMessage(errorMessage).show(); }; }; 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: '', tags: [] } }); /***/ }), /***/ "../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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.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"), 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"), TemplateLibraryPreviewView = __webpack_require__(/*! elementor-templates/views/parts/preview */ "../assets/dev/js/editor/components/template-library/views/parts/preview.js"); module.exports = elementorModules.common.views.modal.Layout.extend({ getModalOptions: function getModalOptions() { return { id: 'elementor-template-library-modal' }; }, 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, baseAccessLevel = elementor.config.library_connect.base_access_level; var viewId = '#tmpl-elementor-template-library-' + (baseAccessLevel !== templateData.accessLevel ? 'upgrade-plan-button' : 'insert-button'); viewId = elementor.hooks.applyFilters('elementor/editor/template-library/template/action-button', viewId, templateData); var template = Marionette.TemplateCache.get(viewId); // In case the access level of the template is not one of the defined. // it will find the next access level that was defined. // Example: access_level = 15, and access_level 15 is not exists in the plans the button will be "Go Expert" which is 20 var closestAccessLevel = (0, _keys.default)(subscriptionPlans).sort().find(function (accessLevel) { return accessLevel >= templateData.accessLevel; }); var subscriptionPlan = subscriptionPlans[closestAccessLevel]; return Marionette.Renderer.render(template, { promotionText: "Go ".concat(subscriptionPlan.label), 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) { this.modalContent.show(new TemplateLibraryCollectionView({ collection: templatesCollection })); }, 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)); }, showSaveTemplateView: function showSaveTemplateView(elementModel) { this.getHeaderView().menuArea.reset(); this.modalContent.show(new TemplateLibrarySaveTemplateView({ model: elementModel })); }, 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()); } }); /***/ }), /***/ "../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({ 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; this.ui.connect.elementorConnect({ UTM: function UTM() { return "&utm_source=editor-panel&utm_medium=wp-dash&utm_campaign=insert-".concat(_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/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 i', sync: '#elementor-template-library-header-sync i', save: '#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'); }, onSyncClick: function onSyncClick() { var self = this; self.ui.sync.addClass('eicon-animation-spin'); elementor.templates.requestLibraryData({ onUpdate: function onUpdate() { self.ui.sync.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: '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) => { "use strict"; module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-template-library-header-menu', id: 'elementor-template-library-header-menu', templateHelpers: function templateHelpers() { return { tabs: $e.components.get('library').getTabs() }; } }); /***/ }), /***/ "../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"; __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js"); var TemplateLibraryImportView; TemplateLibraryImportView = Marionette.ItemView.extend({ 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' }, 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 layout = elementor.templates.layout; var options = { data: { fileName: fileName, fileData: fileData }, success: function success(successData) { elementor.templates.getTemplatesCollection().add(successData); $e.route('library/templates/my-templates'); }, error: function error(errorData) { elementor.templates.showErrorDialog(errorData); layout.showImportView(); }, complete: function complete() { layout.hideLoadingView(); } }; elementorCommon.ajax.addRequest('import_template', options); 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) }); }, 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/preview.js": /*!**********************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/views/parts/preview.js ***! \**********************************************************************************/ /***/ ((module) => { "use strict"; var TemplateLibraryPreviewView; TemplateLibraryPreviewView = Marionette.ItemView.extend({ 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.js": /*!****************************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/views/parts/save-template.js ***! \****************************************************************************************/ /***/ ((module) => { "use strict"; var TemplateLibrarySaveTemplateView; TemplateLibrarySaveTemplateView = Marionette.ItemView.extend({ id: 'elementor-template-library-save-template', template: '#tmpl-elementor-template-library-save-template', ui: { form: '#elementor-template-library-save-template-form', submitButton: '#elementor-template-library-save-template-submit' }, events: { 'submit @ui.form': 'onFormSubmit' }, getSaveType: function getSaveType() { var type; if (this.model) { type = this.model.get('elType'); } else if (elementor.config.document.library && elementor.config.document.library.save_as_same_type) { type = elementor.config.document.type; } else { type = 'page'; } return type; }, templateHelpers: function templateHelpers() { var saveType = this.getSaveType(), templateType = elementor.templates.getTemplateTypes(saveType); return templateType.saveDialog; }, onFormSubmit: function onFormSubmit(event) { event.preventDefault(); var formData = this.ui.form.elementorSerializeObject(), saveType = this.getSaveType(), JSONParams = { remove: ['default'] }; formData.content = this.model ? [this.model.toJSON(JSONParams)] : elementor.elements.toJSON(JSONParams); this.ui.submitButton.addClass('elementor-button-state'); elementor.templates.saveTemplate(saveType, formData); } }); module.exports = TemplateLibrarySaveTemplateView; /***/ }), /***/ "../assets/dev/js/editor/components/template-library/views/parts/templates-empty.js": /*!******************************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/views/parts/templates-empty.js ***! \******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var TemplateLibraryTemplatesEmptyView; TemplateLibraryTemplatesEmptyView = Marionette.ItemView.extend({ id: 'elementor-template-library-templates-empty', template: '#tmpl-elementor-template-library-templates-empty', ui: { title: '.elementor-template-library-blank-title', message: '.elementor-template-library-blank-message' }, modesStrings: { empty: { title: __('Haven’t Saved Templates Yet?', 'elementor'), message: __('This is where your templates should be. Design it. Save it. Reuse it.', 'elementor') }, noResults: { title: __('No Results Found', 'elementor'), message: __('Please make sure your search is spelled correctly or try a different words.', 'elementor') }, noFavorites: { title: __('No Favorite Templates', 'elementor'), message: __('You can mark any pre-designed template as a favorite.', 'elementor') } }, getCurrentMode: function getCurrentMode() { if (elementor.templates.getFilter('text')) { return 'noResults'; } if (elementor.templates.getFilter('favorite')) { return 'noFavorites'; } return 'empty'; }, onRender: function onRender() { var modeStrings = this.modesStrings[this.getCurrentMode()]; this.ui.title.html(modeStrings.title); this.ui.message.html(modeStrings.message); } }); module.exports = TemplateLibraryTemplatesEmptyView; /***/ }), /***/ "../assets/dev/js/editor/components/template-library/views/parts/templates.js": /*!************************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/views/parts/templates.js ***! \************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _select = _interopRequireDefault(__webpack_require__(/*! elementor-editor-utils/select2.js */ "../assets/dev/js/editor/utils/select2.js")); var TemplateLibraryTemplateLocalView = __webpack_require__(/*! elementor-templates/views/template/local */ "../assets/dev/js/editor/components/template-library/views/template/local.js"), TemplateLibraryTemplateRemoteView = __webpack_require__(/*! elementor-templates/views/template/remote */ "../assets/dev/js/editor/components/template-library/views/template/remote.js"), TemplateLibraryCollectionView; TemplateLibraryCollectionView = Marionette.CompositeView.extend({ template: '#tmpl-elementor-template-library-templates', id: 'elementor-template-library-templates', childViewContainer: '#elementor-template-library-templates-container', reorderOnSort: true, emptyView: function emptyView() { var EmptyView = __webpack_require__(/*! elementor-templates/views/parts/templates-empty */ "../assets/dev/js/editor/components/template-library/views/parts/templates-empty.js"); return new EmptyView(); }, ui: { textFilter: '#elementor-template-library-filter-text', selectFilter: '.elementor-template-library-filter-select', myFavoritesFilter: '#elementor-template-library-filter-my-favorites', orderInputs: '.elementor-template-library-order-input', orderLabels: 'label.elementor-template-library-order-label' }, events: { 'input @ui.textFilter': 'onTextFilterInput', 'change @ui.selectFilter': 'onSelectFilterChange', 'change @ui.myFavoritesFilter': 'onMyFavoritesFilterChange', 'mousedown @ui.orderLabels': 'onOrderLabelsClick' }, comparators: { title: function title(model) { return model.get('title').toLowerCase(); }, popularityIndex: function popularityIndex(model) { var popularityIndex = model.get('popularityIndex'); if (!popularityIndex) { popularityIndex = model.get('date'); } return -popularityIndex; }, trendIndex: function trendIndex(model) { var trendIndex = model.get('trendIndex'); if (!trendIndex) { trendIndex = model.get('date'); } return -trendIndex; } }, getChildView: function getChildView(childModel) { if ('remote' === childModel.get('source')) { return TemplateLibraryTemplateRemoteView; } return TemplateLibraryTemplateLocalView; }, initialize: function initialize() { this.listenTo(elementor.channels.templates, 'filter:change', this._renderChildren); }, filter: function filter(childModel) { var filterTerms = elementor.templates.getFilterTerms(), passingFilter = true; jQuery.each(filterTerms, function (filterTermName) { var filterValue = elementor.templates.getFilter(filterTermName); if (!filterValue) { return; } if (this.callback) { var callbackResult = this.callback.call(childModel, filterValue); if (!callbackResult) { passingFilter = false; } return callbackResult; } var filterResult = filterValue === childModel.get(filterTermName); if (!filterResult) { passingFilter = false; } return filterResult; }); return passingFilter; }, order: function order(by, reverseOrder) { var comparator = this.comparators[by] || by; if (reverseOrder) { comparator = this.reverseOrder(comparator); } this.collection.comparator = comparator; this.collection.sort(); }, reverseOrder: function reverseOrder(comparator) { if ('function' !== typeof comparator) { var comparatorValue = comparator; comparator = function comparator(model) { return model.get(comparatorValue); }; } return function (left, right) { var l = comparator(left), r = comparator(right); if (undefined === l) { return -1; } if (undefined === r) { return 1; } if (l < r) { return 1; } if (l > r) { return -1; } return 0; }; }, addSourceData: function addSourceData() { var isEmpty = this.children.isEmpty(); this.$el.attr('data-template-source', isEmpty ? 'empty' : elementor.templates.getFilter('source')); }, setFiltersUI: function setFiltersUI() { if (!this.select2Instance) { var $filters = this.$(this.ui.selectFilter), select2Options = { placeholder: __('Category', 'elementor'), allowClear: true, width: 150, dropdownParent: this.$el }; this.select2Instance = new _select.default({ $element: $filters, options: select2Options }); } }, setMasonrySkin: function setMasonrySkin() { var masonry = new elementorModules.utils.Masonry({ container: this.$childViewContainer, items: this.$childViewContainer.children() }); this.$childViewContainer.imagesLoaded(masonry.run.bind(masonry)); }, toggleFilterClass: function toggleFilterClass() { this.$el.toggleClass('elementor-templates-filter-active', !!(elementor.templates.getFilter('text') || elementor.templates.getFilter('favorite'))); }, isPageOrLandingPageTemplates: function isPageOrLandingPageTemplates() { var templatesType = elementor.templates.getFilter('type'); return 'page' === templatesType || 'lp' === templatesType; }, onRender: function onRender() { if ('remote' === elementor.templates.getFilter('source') && 'page' !== elementor.templates.getFilter('type')) { this.setFiltersUI(); } }, onRenderCollection: function onRenderCollection() { this.addSourceData(); this.toggleFilterClass(); if ('remote' === elementor.templates.getFilter('source') && !this.isPageOrLandingPageTemplates()) { this.setMasonrySkin(); } }, onBeforeRenderEmpty: function onBeforeRenderEmpty() { this.addSourceData(); }, onTextFilterInput: function onTextFilterInput() { elementor.templates.setFilter('text', this.ui.textFilter.val()); }, onSelectFilterChange: function onSelectFilterChange(event) { var $select = jQuery(event.currentTarget), filterName = $select.data('elementor-filter'); elementor.templates.setFilter(filterName, $select.val()); }, onMyFavoritesFilterChange: function onMyFavoritesFilterChange() { elementor.templates.setFilter('favorite', this.ui.myFavoritesFilter[0].checked); }, onOrderLabelsClick: function onOrderLabelsClick(event) { var $clickedInput = jQuery(event.currentTarget.control), toggle; if (!$clickedInput[0].checked) { toggle = 'asc' !== $clickedInput.data('default-ordering-direction'); } $clickedInput.toggleClass('elementor-template-library-order-reverse', toggle); this.order($clickedInput.val(), $clickedInput.hasClass('elementor-template-library-order-reverse')); } }); module.exports = TemplateLibraryCollectionView; /***/ }), /***/ "../assets/dev/js/editor/components/template-library/views/template/base.js": /*!**********************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/views/template/base.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"), TemplateLibraryTemplateView; TemplateLibraryTemplateView = Marionette.ItemView.extend({ className: function className() { var classes = 'elementor-template-library-template', source = this.model.get('source'); classes += ' elementor-template-library-template-' + source; if ('remote' === source) { classes += ' elementor-template-library-template-' + this.model.get('type'); } if (elementor.config.library_connect.base_access_level !== this.model.get('accessLevel')) { classes += ' elementor-template-library-pro-template'; } return classes; }, attributes: function attributes() { var subscriptionPlan = elementor.config.library_connect.subscription_plans[this.model.get('accessLevel')]; if (!subscriptionPlan) { return {}; } return { style: "--elementor-template-library-subscription-plan-label: \"".concat(subscriptionPlan.label, "\";--elementor-template-library-subscription-plan-color: ").concat(subscriptionPlan.color, ";") }; }, ui: function ui() { return { previewButton: '.elementor-template-library-template-preview' }; }, events: function events() { return { 'click @ui.previewButton': 'onPreviewButtonClick' }; }, behaviors: { insertTemplate: { behaviorClass: TemplateLibraryInsertTemplateBehavior } } }); module.exports = TemplateLibraryTemplateView; /***/ }), /***/ "../assets/dev/js/editor/components/template-library/views/template/local.js": /*!***********************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/views/template/local.js ***! \***********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var TemplateLibraryTemplateView = __webpack_require__(/*! elementor-templates/views/template/base */ "../assets/dev/js/editor/components/template-library/views/template/base.js"), TemplateLibraryTemplateLocalView; TemplateLibraryTemplateLocalView = TemplateLibraryTemplateView.extend({ template: '#tmpl-elementor-template-library-template-local', ui: function ui() { return _.extend(TemplateLibraryTemplateView.prototype.ui.apply(this, arguments), { deleteButton: '.elementor-template-library-template-delete', morePopup: '.elementor-template-library-template-more', toggleMore: '.elementor-template-library-template-more-toggle', toggleMoreIcon: '.elementor-template-library-template-more-toggle i' }); }, events: function events() { return _.extend(TemplateLibraryTemplateView.prototype.events.apply(this, arguments), { 'click @ui.deleteButton': 'onDeleteButtonClick', 'click @ui.toggleMore': 'onToggleMoreClick' }); }, onDeleteButtonClick: function onDeleteButtonClick() { var toggleMoreIcon = this.ui.toggleMoreIcon; elementor.templates.deleteTemplate(this.model, { onConfirm: function onConfirm() { toggleMoreIcon.removeClass('eicon-ellipsis-h').addClass('eicon-loading eicon-animation-spin'); }, onSuccess: function onSuccess() { elementor.templates.showTemplates(); } }); }, onToggleMoreClick: function onToggleMoreClick() { this.ui.morePopup.show(); }, onPreviewButtonClick: function onPreviewButtonClick() { open(this.model.get('url'), '_blank'); } }); module.exports = TemplateLibraryTemplateLocalView; /***/ }), /***/ "../assets/dev/js/editor/components/template-library/views/template/remote.js": /*!************************************************************************************!*\ !*** ../assets/dev/js/editor/components/template-library/views/template/remote.js ***! \************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var TemplateLibraryTemplateView = __webpack_require__(/*! elementor-templates/views/template/base */ "../assets/dev/js/editor/components/template-library/views/template/base.js"), TemplateLibraryTemplateRemoteView; TemplateLibraryTemplateRemoteView = TemplateLibraryTemplateView.extend({ template: '#tmpl-elementor-template-library-template-remote', ui: function ui() { return jQuery.extend(TemplateLibraryTemplateView.prototype.ui.apply(this, arguments), { favoriteCheckbox: '.elementor-template-library-template-favorite-input' }); }, events: function events() { return jQuery.extend(TemplateLibraryTemplateView.prototype.events.apply(this, arguments), { 'change @ui.favoriteCheckbox': 'onFavoriteCheckboxChange' }); }, onPreviewButtonClick: function onPreviewButtonClick() { $e.route('library/preview', { model: this.model }); }, onFavoriteCheckboxChange: function onFavoriteCheckboxChange() { var isFavorite = this.ui.favoriteCheckbox[0].checked; this.model.set('favorite', isFavorite); elementor.templates.markAsFavorite(this.model, isFavorite); if (!isFavorite && elementor.templates.getFilter('favorite')) { elementor.channels.templates.trigger('filter:change'); } } }); module.exports = TemplateLibraryTemplateRemoteView; /***/ }), /***/ "../assets/dev/js/editor/components/validator/base.js": /*!************************************************************!*\ !*** ../assets/dev/js/editor/components/validator/base.js ***! \************************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorModules.Module.extend({ errors: [], __construct: function __construct(settings) { var customValidationMethod = settings.customValidationMethod; if (customValidationMethod) { this.validationMethod = customValidationMethod; } }, getDefaultSettings: function getDefaultSettings() { return { validationTerms: {} }; }, isValid: function isValid() { var validationErrors = this.validationMethod.apply(this, arguments); if (validationErrors.length) { this.errors = validationErrors; return false; } return true; }, validationMethod: function validationMethod(newValue) { var validationTerms = this.getSettings('validationTerms'), errors = []; if (validationTerms.required) { if (!('' + newValue).length) { errors.push('Required value is empty'); } } return errors; } }); /***/ }), /***/ "../assets/dev/js/editor/components/validator/breakpoint.js": /*!******************************************************************!*\ !*** ../assets/dev/js/editor/components/validator/breakpoint.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); __webpack_require__(/*! core-js/modules/es6.array.map.js */ "../node_modules/core-js/modules/es6.array.map.js"); __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var NumberValidator = __webpack_require__(/*! elementor-validator/number */ "../assets/dev/js/editor/components/validator/number.js"); var BreakpointValidator = /*#__PURE__*/function (_NumberValidator) { (0, _inherits2.default)(BreakpointValidator, _NumberValidator); var _super = (0, _createSuper2.default)(BreakpointValidator); function BreakpointValidator() { (0, _classCallCheck2.default)(this, BreakpointValidator); return _super.apply(this, arguments); } (0, _createClass2.default)(BreakpointValidator, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { validationTerms: { // Max width we allow in general max: 5120 } }; } /** * Get Panel Active Breakpoints * * Since the active kit used in the Site Settings panel could be a draft, we need to use the panel's active * breakpoints settings and not the elementorFrontend.config values (which come from the DB). * * @returns Object */ }, { key: "getPanelActiveBreakpoints", value: function getPanelActiveBreakpoints() { var panelBreakpoints = elementor.documents.currentDocument.config.settings.settings.active_breakpoints.map(function (breakpointName) { return breakpointName.replace('viewport_', ''); }), panelActiveBreakpoints = {}; panelBreakpoints.forEach(function (breakpointName) { panelActiveBreakpoints[breakpointName] = elementorFrontend.config.responsive.breakpoints[breakpointName]; }); return panelActiveBreakpoints; } }, { key: "initBreakpointProperties", value: function initBreakpointProperties() { var _activeBreakpoints$br, _activeBreakpoints$br2; var validationTerms = this.getSettings('validationTerms'), activeBreakpoints = this.getPanelActiveBreakpoints(), breakpointKeys = (0, _keys.default)(activeBreakpoints); this.breakpointIndex = breakpointKeys.indexOf(validationTerms.breakpointName); this.topBreakpoint = (_activeBreakpoints$br = activeBreakpoints[breakpointKeys[this.breakpointIndex + 1]]) === null || _activeBreakpoints$br === void 0 ? void 0 : _activeBreakpoints$br.value; this.bottomBreakpoint = (_activeBreakpoints$br2 = activeBreakpoints[breakpointKeys[this.breakpointIndex - 1]]) === null || _activeBreakpoints$br2 === void 0 ? void 0 : _activeBreakpoints$br2.value; } }, { key: "validationMethod", value: function validationMethod(newValue) { var validationTerms = this.getSettings('validationTerms'), errors = NumberValidator.prototype.validationMethod.call(this, newValue); // Validate both numeric and empty values, since breakpoints utilize default values when empty. if (_.isFinite(newValue) || '' === newValue) { if (!this.validateMinMaxForBreakpoint(newValue, validationTerms)) { errors.push('Value is not between the breakpoints above or under the edited breakpoint'); } } return errors; } }, { key: "validateMinMaxForBreakpoint", value: function validateMinMaxForBreakpoint(newValue, validationTerms) { var breakpointDefaultValue = elementorFrontend.config.responsive.breakpoints[validationTerms.breakpointName].default_value; var isValid = true; this.initBreakpointProperties(); // Since the following comparison is <=, allow usage of the 320px value for the mobile breakpoint. if ('mobile' === validationTerms.breakpointName && 320 === this.bottomBreakpoint) { this.bottomBreakpoint -= 1; } // If there is a breakpoint below the currently edited breakpoint if (this.bottomBreakpoint) { // Check that the new value is not under the bottom breakpoint's value. if ('' !== newValue && newValue <= this.bottomBreakpoint) { isValid = false; } // If the new value is empty, check that the default breakpoint value is not below the bottom breakpoint. if ('' === newValue && breakpointDefaultValue <= this.bottomBreakpoint) { isValid = false; } } // If there is a breakpoint above the currently edited breakpoint. if (this.topBreakpoint) { // Check that the value is not above the top breakpoint's value. if ('' !== newValue && newValue >= this.topBreakpoint) { isValid = false; } // If the new value is empty, check that the default breakpoint value is not above the top breakpoint. if ('' === newValue && breakpointDefaultValue >= this.topBreakpoint) { isValid = false; } } return isValid; } }]); return BreakpointValidator; }(NumberValidator); exports.default = BreakpointValidator; /***/ }), /***/ "../assets/dev/js/editor/components/validator/number.js": /*!**************************************************************!*\ !*** ../assets/dev/js/editor/components/validator/number.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var Validator = __webpack_require__(/*! elementor-validator/base */ "../assets/dev/js/editor/components/validator/base.js"); module.exports = Validator.extend({ validationMethod: function validationMethod(newValue) { var validationTerms = this.getSettings('validationTerms'), errors = []; if (_.isFinite(newValue)) { if (undefined !== validationTerms.min && newValue < validationTerms.min) { errors.push('Value is less than minimum'); } if (undefined !== validationTerms.max && newValue > validationTerms.max) { errors.push('Value is greater than maximum'); } } return errors; } }); /***/ }), /***/ "../assets/dev/js/editor/controls/base-data.js": /*!*****************************************************!*\ !*** ../assets/dev/js/editor/controls/base-data.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _assign = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/assign */ "../node_modules/@babel/runtime-corejs2/core-js/object/assign.js")); var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); var _entries = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/entries */ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js")); var _createForOfIteratorHelper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createForOfIteratorHelper */ "../node_modules/@babel/runtime-corejs2/helpers/createForOfIteratorHelper.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/defineProperty */ "../node_modules/@babel/runtime-corejs2/helpers/defineProperty.js")); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); __webpack_require__(/*! core-js/modules/es6.string.includes.js */ "../node_modules/core-js/modules/es6.string.includes.js"); __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js"); __webpack_require__(/*! core-js/modules/es6.array.slice.js */ "../node_modules/core-js/modules/es6.array.slice.js"); __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); var _breakpoint = _interopRequireDefault(__webpack_require__(/*! elementor-validator/breakpoint */ "../assets/dev/js/editor/components/validator/breakpoint.js")); var ControlBaseView = __webpack_require__(/*! elementor-controls/base */ "../assets/dev/js/editor/controls/base.js"), TagsBehavior = __webpack_require__(/*! elementor-dynamic-tags/control-behavior */ "../assets/dev/js/editor/components/dynamic-tags/control-behavior.js"), Validator = __webpack_require__(/*! elementor-validator/base */ "../assets/dev/js/editor/components/validator/base.js"), NumberValidator = __webpack_require__(/*! elementor-validator/number */ "../assets/dev/js/editor/components/validator/number.js"), ControlBaseDataView; ControlBaseDataView = ControlBaseView.extend({ validatorTypes: { Base: Validator, Number: NumberValidator, Breakpoint: _breakpoint.default }, ui: function ui() { var ui = ControlBaseView.prototype.ui.apply(this, arguments); _.extend(ui, { input: 'input[data-setting][type!="checkbox"][type!="radio"]', checkbox: 'input[data-setting][type="checkbox"]', radio: 'input[data-setting][type="radio"]', select: 'select[data-setting]', textarea: 'textarea[data-setting]', responsiveSwitchers: '.elementor-responsive-switcher', contentEditable: '[contenteditable="true"]' }); return ui; }, templateHelpers: function templateHelpers() { var controlData = ControlBaseView.prototype.templateHelpers.apply(this, arguments); controlData.data.controlValue = this.getControlValue(); return controlData; }, events: function events() { return { 'input @ui.input': 'onBaseInputTextChange', 'change @ui.checkbox': 'onBaseInputChange', 'change @ui.radio': 'onBaseInputChange', 'input @ui.textarea': 'onBaseInputTextChange', 'change @ui.select': 'onBaseInputChange', 'input @ui.contentEditable': 'onBaseInputTextChange', 'click @ui.responsiveSwitchers': 'onResponsiveSwitchersClick' }; }, behaviors: function behaviors() { var behaviors = ControlBaseView.prototype.behaviors.apply(this, arguments), dynamicSettings = this.options.model.get('dynamic'); if (dynamicSettings && dynamicSettings.active) { var tags = _.filter(elementor.dynamicTags.getConfig('tags'), function (tag) { return tag.editable && _.intersection(tag.categories, dynamicSettings.categories).length; }); if (tags.length || elementor.config.user.is_administrator) { behaviors.tags = { behaviorClass: TagsBehavior, tags: tags, dynamicSettings: dynamicSettings }; } } return behaviors; }, initialize: function initialize() { ControlBaseView.prototype.initialize.apply(this, arguments); this.registerValidators(); if (this.model.get('responsive')) { this.setPlaceholderFromParent(); } // TODO: this.elementSettingsModel is deprecated since 2.8.0. var settings = this.container ? this.container.settings : this.elementSettingsModel; this.listenTo(settings, 'change:external:' + this.model.get('name'), this.onAfterExternalChange); }, getControlValue: function getControlValue() { return this.container.settings.get(this.model.get('name')); }, getGlobalKey: function getGlobalKey() { return this.container.globals.get(this.model.get('name')); }, getGlobalValue: function getGlobalValue() { return this.globalValue; }, getGlobalDefault: function getGlobalDefault() { var controlGlobalArgs = this.model.get('global'); if (controlGlobalArgs !== null && controlGlobalArgs !== void 0 && controlGlobalArgs.default) { // If the control is a color/typography control and default colors/typography are disabled, don't return the global value. if (!elementor.config.globals.defaults_enabled[this.getGlobalMeta().controlType]) { return ''; } var _$e$data$commandExtra = $e.data.commandExtractArgs(controlGlobalArgs.default), command = _$e$data$commandExtra.command, args = _$e$data$commandExtra.args, result = $e.data.getCache($e.components.get('globals'), command, args.query); return result === null || result === void 0 ? void 0 : result.value; } // No global default. return ''; }, getCurrentValue: function getCurrentValue() { if (this.getGlobalKey() && !this.globalValue) { return ''; } if (this.globalValue) { return this.globalValue; } var controlValue = this.getControlValue(); if (controlValue) { return controlValue; } return this.getGlobalDefault(); }, isGlobalActive: function isGlobalActive() { var _this$options$model$g; return (_this$options$model$g = this.options.model.get('global')) === null || _this$options$model$g === void 0 ? void 0 : _this$options$model$g.active; }, setValue: function setValue(value) { this.setSettingsModel(value); }, setSettingsModel: function setSettingsModel(value) { var key = this.model.get('name'); $e.run('document/elements/settings', { container: this.options.container, settings: (0, _defineProperty2.default)({}, key, value) }); this.triggerMethod('settings:change'); }, applySavedValue: function applySavedValue() { this.setInputValue('[data-setting="' + this.model.get('name') + '"]', this.getControlValue()); }, getEditSettings: function getEditSettings(setting) { var settings = this.getOption('elementEditSettings').toJSON(); if (setting) { return settings[setting]; } return settings; }, setEditSetting: function setEditSetting(settingKey, settingValue) { var settings = this.getOption('elementEditSettings') || this.getOption('container').settings; settings.set(settingKey, settingValue); }, /** * Get the placeholder for the current control. * @returns {*} */ getControlPlaceholder: function getControlPlaceholder() { var placeholder = this.model.get('placeholder'); if (this.model.get('responsive')) { placeholder = placeholder || this.container.placeholders[this.model.get('name')]; } return placeholder; }, /** * Get the responsive parent view if exists. * * @returns {ControlBaseDataView|null} */ getResponsiveParentView: function getResponsiveParentView() { var parent = this.model.get('parent'); try { return parent && this.container.panel.getControlView(parent); } catch (e) {} }, /** * Get the responsive children views if exists. * * @returns {ControlBaseDataView|null} */ getResponsiveChildrenViews: function getResponsiveChildrenViews() { var children = this.model.get('inheritors'), views = []; try { var _iterator = (0, _createForOfIteratorHelper2.default)(children), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var child = _step.value; views.push(this.container.panel.getControlView(child)); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } } catch (e) {} return views; }, /** * Get prepared placeholder from the responsive parent, and put it into current * control model as placeholder. */ setPlaceholderFromParent: function setPlaceholderFromParent() { var parent = this.getResponsiveParentView(); if (parent) { this.container.placeholders[this.model.get('name')] = parent.preparePlaceholderForChildren(); } }, /** * Returns the value of the current control if exists, or the parent value if not, * so responsive children can set it as their placeholder. When there are multiple * inputs, the inputs which are empty on this control will inherit their values * from the responsive parent. * For example, if on desktop the padding of all edges is 10, and on tablet only * padding right and left is set to 15, the mobile control placeholder will * eventually be: { top: 10, right: 15, left: 15, bottom: 10 }, because of the * inheritance of multiple values. * * @returns {*} */ preparePlaceholderForChildren: function preparePlaceholderForChildren() { var _this$getResponsivePa; var cleanValue = this.getCleanControlValue(), parentValue = (_this$getResponsivePa = this.getResponsiveParentView()) === null || _this$getResponsivePa === void 0 ? void 0 : _this$getResponsivePa.preparePlaceholderForChildren(); if (cleanValue instanceof Object) { return (0, _assign.default)({}, parentValue, cleanValue); } return cleanValue || parentValue; }, /** * Start the re-rendering recursive chain from the responsive child of this * control. It's useful when the current control value is changed and we want * to update all responsive children. In this case, the re-rendering is supposed * to be applied only from the responsive child of this control and on. */ propagatePlaceholder: function propagatePlaceholder() { var children = this.getResponsiveChildrenViews(); var _iterator2 = (0, _createForOfIteratorHelper2.default)(children), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var child = _step2.value; child.renderWithChildren(); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } }, /** * Re-render current control and trigger this method on the responsive child. * The purpose of those actions is to recursively re-render all responsive * children. */ renderWithChildren: function renderWithChildren() { this.render(); this.propagatePlaceholder(); }, /** * Get control value without empty properties, and without default values. * * @returns {{}} */ getCleanControlValue: function getCleanControlValue() { var value = this.getControlValue(); return value && value !== this.model.get('default') ? value : undefined; }, onAfterChange: function onAfterChange(control) { if ((0, _keys.default)(control.changed).includes(this.model.get('name'))) { this.propagatePlaceholder(); } ControlBaseView.prototype.onAfterChange.apply(this, arguments); }, getInputValue: function getInputValue(input) { var $input = this.$(input); if ($input.is('[contenteditable="true"]')) { return $input.html(); } var inputValue = $input.val(), inputType = $input.attr('type'); if (-1 !== ['radio', 'checkbox'].indexOf(inputType)) { return $input.prop('checked') ? inputValue : ''; } if ('number' === inputType && _.isFinite(inputValue)) { return +inputValue; } // Temp fix for jQuery (< 3.0) that return null instead of empty array if ('SELECT' === input.tagName && $input.prop('multiple') && null === inputValue) { inputValue = []; } return inputValue; }, setInputValue: function setInputValue(input, value) { var $input = this.$(input), inputType = $input.attr('type'); if ('checkbox' === inputType) { $input.prop('checked', !!value); } else if ('radio' === inputType) { $input.filter('[value="' + value + '"]').prop('checked', true); } else { $input.val(value); } }, addValidator: function addValidator(validator) { this.validators.push(validator); }, registerValidators: function registerValidators() { var _this = this; this.validators = []; var validationTerms = {}; if (this.model.get('required')) { validationTerms.required = true; } if (!jQuery.isEmptyObject(validationTerms)) { this.addValidator(new this.validatorTypes.Base({ validationTerms: validationTerms })); } var validators = this.model.get('validators'); if (validators) { (0, _entries.default)(validators).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), key = _ref2[0], args = _ref2[1]; _this.addValidator(new _this.validatorTypes[key]({ validationTerms: args })); }); } }, onBeforeRender: function onBeforeRender() { this.setPlaceholderFromParent(); }, onRender: function onRender() { ControlBaseView.prototype.onRender.apply(this, arguments); if (this.model.get('responsive')) { this.renderResponsiveSwitchers(); } this.applySavedValue(); this.triggerMethod('ready'); this.toggleControlVisibility(); this.addTooltip(); }, onBaseInputTextChange: function onBaseInputTextChange(event) { this.onBaseInputChange(event); }, onBaseInputChange: function onBaseInputChange(event) { clearTimeout(this.correctionTimeout); var input = event.currentTarget, value = this.getInputValue(input), validators = this.validators.slice(0), settingsValidators = this.container.settings.validators[this.model.get('name')]; if (settingsValidators) { validators = validators.concat(settingsValidators); } if (validators) { var oldValue = this.getControlValue(input.dataset.setting); var isValidValue = validators.every(function (validator) { return validator.isValid(value, oldValue); }); if (!isValidValue) { this.correctionTimeout = setTimeout(this.setInputValue.bind(this, input, oldValue), 1200); return; } } this.updateElementModel(value, input); this.triggerMethod('input:change', event); }, onResponsiveSwitchersClick: function onResponsiveSwitchersClick(event) { var $switcher = jQuery(event.currentTarget), device = $switcher.data('device'), $switchersWrapper = this.ui.responsiveSwitchersWrapper, selectedOption = $switcher.index(); $switchersWrapper.toggleClass('elementor-responsive-switchers-open'); $switchersWrapper[0].style.setProperty('--selected-option', selectedOption); this.triggerMethod('responsive:switcher:click', device); elementor.changeDeviceMode(device); }, renderResponsiveSwitchers: function renderResponsiveSwitchers() { var templateHtml = Marionette.Renderer.render('#tmpl-elementor-control-responsive-switchers', this.model.attributes); this.ui.controlTitle.after(templateHtml); this.ui.responsiveSwitchersWrapper = this.$el.find('.elementor-control-responsive-switchers'); }, onAfterExternalChange: function onAfterExternalChange() { this.hideTooltip(); this.applySavedValue(); }, addTooltip: function addTooltip() { this.ui.tooltipTargets = this.$el.find('.tooltip-target'); if (!this.ui.tooltipTargets.length) { return; } // Create tooltip on controls this.ui.tooltipTargets.tipsy({ gravity: function gravity() { // `n` for down, `s` for up var gravity = jQuery(this).data('tooltip-pos'); if (undefined !== gravity) { return gravity; } return 's'; }, title: function title() { return this.getAttribute('data-tooltip'); } }); }, hideTooltip: function hideTooltip() { if (this.ui.tooltipTargets.length) { this.ui.tooltipTargets.tipsy('hide'); } }, updateElementModel: function updateElementModel(value) { this.setValue(value); } }, { // Static methods getStyleValue: function getStyleValue(placeholder, controlValue, controlData) { if ('DEFAULT' === placeholder) { return controlData.default; } return controlValue; }, onPasteStyle: function onPasteStyle() { return true; } }); module.exports = ControlBaseDataView; /***/ }), /***/ "../assets/dev/js/editor/controls/base-multiple.js": /*!*********************************************************!*\ !*** ../assets/dev/js/editor/controls/base-multiple.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/typeof */ "../node_modules/@babel/runtime-corejs2/helpers/typeof.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js")); var _entries = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/entries */ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js")); var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"), ControlBaseMultipleItemView; ControlBaseMultipleItemView = ControlBaseDataView.extend({ applySavedValue: function applySavedValue() { var values = this.getControlValue(), $inputs = this.$('[data-setting]'), self = this; _.each(values, function (value, key) { var $input = $inputs.filter(function () { return key === this.dataset.setting; }); self.setInputValue($input, value); }); }, getControlValue: function getControlValue(key) { var values = this.container.settings.get(this.model.get('name')); if (!jQuery.isPlainObject(values)) { return {}; } if (key) { var value = values[key]; if (undefined === value) { value = ''; } return value; } return elementorCommon.helpers.cloneObject(values); }, /** * @inheritDoc */ getCleanControlValue: function getCleanControlValue(key) { var _this = this; var values = Object.fromEntries((0, _entries.default)(this.getControlValue()).filter(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), k = _ref2[0], v = _ref2[1]; return v && _this.model.get('default')[k] !== v; })); if (key) { return values === null || values === void 0 ? void 0 : values[key]; } return (0, _keys.default)(values).length ? values : undefined; }, setValue: function setValue(key, value) { var values = this.getControlValue(); if ('object' === (0, _typeof2.default)(key)) { _.each(key, function (internalValue, internalKey) { values[internalKey] = internalValue; }); } else { values[key] = value; } this.setSettingsModel(values); }, updateElementModel: function updateElementModel(value, input) { var key = input.dataset.setting; this.setValue(key, value); } }, { // Static methods getStyleValue: function getStyleValue(placeholder, controlValue) { if (!_.isObject(controlValue)) { return ''; // invalid } return controlValue[placeholder.toLowerCase()]; } }); module.exports = ControlBaseMultipleItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/base-units.js": /*!******************************************************!*\ !*** ../assets/dev/js/editor/controls/base-units.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var _assign = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/assign */ "../node_modules/@babel/runtime-corejs2/core-js/object/assign.js")); var ControlBaseMultipleItemView = __webpack_require__(/*! elementor-controls/base-multiple */ "../assets/dev/js/editor/controls/base-multiple.js"), ControlBaseUnitsItemView; ControlBaseUnitsItemView = ControlBaseMultipleItemView.extend({ ui: function ui() { return (0, _assign.default)(ControlBaseMultipleItemView.prototype.ui.apply(this, arguments), { units: '.elementor-units-choices>input' }); }, events: function events() { return (0, _assign.default)(ControlBaseMultipleItemView.prototype.events.apply(this, arguments), { 'change @ui.units': 'onUnitChange' }); }, updatePlaceholder: function updatePlaceholder() { var _this$getControlPlace; var placeholder = (_this$getControlPlace = this.getControlPlaceholder()) === null || _this$getControlPlace === void 0 ? void 0 : _this$getControlPlace.unit; this.ui.units.removeClass('e-units-placeholder'); if (placeholder) { this.ui.units.filter("[value=\"".concat(placeholder, "\"]")).addClass('e-units-placeholder'); } }, onRender: function onRender() { ControlBaseMultipleItemView.prototype.onRender.apply(this, arguments); this.updatePlaceholder(); }, onUnitChange: function onUnitChange() { this.updatePlaceholder(); }, getCurrentRange: function getCurrentRange() { return this.getUnitRange(this.getControlValue('unit')); }, getUnitRange: function getUnitRange(unit) { var ranges = this.model.get('range'); if (!ranges || !ranges[unit]) { return false; } return ranges[unit]; } }); module.exports = ControlBaseUnitsItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/base.js": /*!************************************************!*\ !*** ../assets/dev/js/editor/controls/base.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _keys = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/keys */ "../node_modules/@babel/runtime-corejs2/core-js/object/keys.js")); var _defineProperty = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js")); var ControlBaseView; ControlBaseView = Marionette.CompositeView.extend({ ui: function ui() { return { controlTitle: '.elementor-control-title' }; }, behaviors: function behaviors() { var behaviors = {}; return elementor.hooks.applyFilters('controls/base/behaviors', behaviors, this); }, getBehavior: function getBehavior(name) { return this._behaviors[(0, _keys.default)(this.behaviors()).indexOf(name)]; }, className: function className() { // TODO: Any better classes for that? var classes = 'elementor-control elementor-control-' + this.model.get('name') + ' elementor-control-type-' + this.model.get('type'), modelClasses = this.model.get('classes'), responsive = this.model.get('responsive'); if (!_.isEmpty(modelClasses)) { classes += ' ' + modelClasses; } if (!_.isEmpty(responsive)) { var responsiveControlName = responsive.max || responsive.min; classes += ' elementor-control-responsive-' + responsiveControlName; } return classes; }, templateHelpers: function templateHelpers() { var controlData = { _cid: this.model.cid }; return { view: this, data: _.extend({}, this.model.toJSON(), controlData) }; }, getTemplate: function getTemplate() { return Marionette.TemplateCache.get('#tmpl-elementor-control-' + this.model.get('type') + '-content'); }, initialize: function initialize(options) { var label = this.model.get('label'); // TODO: Temp backwards compatibility. since 2.8.0. (0, _defineProperty.default)(this, 'container', { get: function get() { if (!options.container) { var settingsModel = options.elementSettingsModel, view = $e.components.get('document').utils.findViewById(settingsModel.id); // Element control. if (view && view.getContainer) { options.container = view.getContainer(); } else { if (!settingsModel.id) { settingsModel.id = 'bc-' + elementorCommon.helpers.getUniqueId(); } // Document/General/Other control. options.container = new elementorModules.editor.Container({ type: 'bc-container', id: settingsModel.id, model: settingsModel, settings: settingsModel, label: label, view: false, renderer: false, controls: settingsModel.options.controls }); } } return options.container; } }); // Use `defineProperty` because `get elementSettingsModel()` fails during the `Marionette.CompositeView.extend`. (0, _defineProperty.default)(this, 'elementSettingsModel', { get: function get() { elementorCommon.helpers.softDeprecated('elementSettingsModel', '2.8.0', 'container.settings'); return options.container ? options.container.settings : options.elementSettingsModel; } }); var controlType = this.model.get('type'), controlSettings = jQuery.extend(true, {}, elementor.config.controls[controlType], this.model.attributes); this.model.set(controlSettings); // TODO: this.elementSettingsModel is deprecated since 2.8.0. var settings = this.container ? this.container.settings : this.elementSettingsModel; this.listenTo(settings, 'change', this.onAfterChange); }, onAfterChange: function onAfterChange() { this.toggleControlVisibility(); }, toggleControlVisibility: function toggleControlVisibility() { // TODO: this.elementSettingsModel is deprecated since 2.8.0. var settings = this.container ? this.container.settings : this.elementSettingsModel; var isVisible = elementor.helpers.isActiveControl(this.model, settings.attributes); this.$el.toggleClass('elementor-hidden-control', !isVisible); elementor.getPanelView().updateScrollbar(); }, onRender: function onRender() { var layoutType = this.model.get('label_block') ? 'block' : 'inline', showLabel = this.model.get('show_label'), elClasses = 'elementor-label-' + layoutType; elClasses += ' elementor-control-separator-' + this.model.get('separator'); if (!showLabel) { elClasses += ' elementor-control-hidden-label'; } this.$el.addClass(elClasses); this.toggleControlVisibility(); } }); module.exports = ControlBaseView; /***/ }), /***/ "../assets/dev/js/editor/controls/box-shadow.js": /*!******************************************************!*\ !*** ../assets/dev/js/editor/controls/box-shadow.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var _colorPicker = _interopRequireDefault(__webpack_require__(/*! ../utils/color-picker */ "../assets/dev/js/editor/utils/color-picker.js")); var ControlMultipleBaseItemView = __webpack_require__(/*! elementor-controls/base-multiple */ "../assets/dev/js/editor/controls/base-multiple.js"), ControlBoxShadowItemView; ControlBoxShadowItemView = ControlMultipleBaseItemView.extend({ ui: function ui() { var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments); ui.sliders = '.elementor-slider'; ui.colorPickerPlaceholder = '.elementor-color-picker-placeholder'; return ui; }, initSliders: function initSliders() { var _this = this; var value = this.getControlValue(); this.ui.sliders.each(function (index, slider) { var $input = jQuery(slider).next('.elementor-slider-input').find('input'); var sliderInstance = noUiSlider.create(slider, { start: [value[slider.dataset.input]], step: 1, range: { min: +$input.attr('min'), max: +$input.attr('max') }, format: { to: function to(sliderValue) { return +sliderValue.toFixed(1); }, from: function from(sliderValue) { return +sliderValue; } } }); sliderInstance.on('slide', function (values) { var type = sliderInstance.target.dataset.input; $input.val(values[0]); _this.setValue(type, values[0]); }); }); }, initColors: function initColors() { var _this2 = this; this.colorPicker = new _colorPicker.default({ picker: { el: this.ui.colorPickerPlaceholder[0], default: this.getControlValue('color') }, onChange: function onChange() { _this2.setValue('color', _this2.colorPicker.getColor()); }, onClear: function onClear() { _this2.setValue('color', ''); } }); }, onInputChange: function onInputChange(event) { var type = event.currentTarget.dataset.setting, $slider = this.ui.sliders.filter('[data-input="' + type + '"]'); $slider[0].noUiSlider.set(this.getControlValue(type)); }, onReady: function onReady() { this.initSliders(); this.initColors(); }, onBeforeDestroy: function onBeforeDestroy() { this.colorPicker.destroy(); } }); module.exports = ControlBoxShadowItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/button.js": /*!**************************************************!*\ !*** ../assets/dev/js/editor/controls/button.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var ControlBaseView = __webpack_require__(/*! elementor-controls/base */ "../assets/dev/js/editor/controls/base.js"); module.exports = ControlBaseView.extend({ ui: function ui() { var ui = ControlBaseView.prototype.ui.apply(this, arguments); ui.button = 'button'; return ui; }, events: { 'click @ui.button': 'onButtonClick' }, onButtonClick: function onButtonClick() { var eventName = this.model.get('event'); elementor.channels.editor.trigger(eventName, this); } }); /***/ }), /***/ "../assets/dev/js/editor/controls/choose.js": /*!**************************************************!*\ !*** ../assets/dev/js/editor/controls/choose.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"), ControlChooseItemView; ControlChooseItemView = ControlBaseDataView.extend({ ui: function ui() { var ui = ControlBaseDataView.prototype.ui.apply(this, arguments); ui.inputs = '[type="radio"]'; return ui; }, events: function events() { return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), { 'mousedown label': 'onMouseDownLabel', 'click @ui.inputs': 'onClickInput', 'change @ui.inputs': 'onBaseInputChange' }); }, updatePlaceholder: function updatePlaceholder() { var placeholder = this.getControlPlaceholder(); if (!this.getControlValue() && placeholder) { // Find the input which has value equals to the placeholder (which is the parent's value), // and add it a placeholder class, to indicate which value is selected in the parent. this.ui.inputs.filter("[value=\"".concat(this.getControlPlaceholder(), "\"]")).addClass('e-choose-placeholder'); } else { this.ui.inputs.removeClass('e-choose-placeholder'); } }, onReady: function onReady() { this.updatePlaceholder(); }, applySavedValue: function applySavedValue() { var currentValue = this.getControlValue(); if (currentValue) { this.ui.inputs.filter('[value="' + currentValue + '"]').prop('checked', true); } else { this.ui.inputs.filter(':checked').prop('checked', false); } }, onMouseDownLabel: function onMouseDownLabel(event) { var $clickedLabel = this.$(event.currentTarget), $selectedInput = this.$('#' + $clickedLabel.attr('for')); $selectedInput.data('checked', $selectedInput.prop('checked')); }, onClickInput: function onClickInput(event) { if (!this.model.get('toggle')) { return; } var $selectedInput = this.$(event.currentTarget); if ($selectedInput.data('checked')) { $selectedInput.prop('checked', false).trigger('change'); } }, onBaseInputChange: function onBaseInputChange(event) { ControlBaseDataView.prototype.onBaseInputChange.apply(this, arguments); this.updatePlaceholder(); } }, { onPasteStyle: function onPasteStyle(control, clipboardValue) { return '' === clipboardValue || undefined !== control.options[clipboardValue]; } }); module.exports = ControlChooseItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/code.js": /*!************************************************!*\ !*** ../assets/dev/js/editor/controls/code.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"), ControlCodeEditorItemView; ControlCodeEditorItemView = ControlBaseDataView.extend({ ui: function ui() { var ui = ControlBaseDataView.prototype.ui.apply(this, arguments); ui.editor = '.elementor-code-editor'; return ui; }, onReady: function onReady() { var self = this; if ('undefined' === typeof ace) { return; } var langTools = ace.require('ace/ext/language_tools'), uiTheme = elementor.settings.editorPreferences.model.get('ui_theme'), userPrefersDark = matchMedia('(prefers-color-scheme: dark)').matches; self.editor = ace.edit(this.ui.editor[0]); // Since the code control is wrapped with a dynamic div, the class elementor-control-tag-area need to be had dynamically to handle the dynamic tag functionality. jQuery(self.editor.container).addClass('elementor-input-style elementor-code-editor elementor-control-tag-area'); self.editor.setOptions({ mode: 'ace/mode/' + self.model.attributes.language, minLines: 10, maxLines: Infinity, showGutter: true, useWorker: true, enableBasicAutocompletion: true, enableLiveAutocompletion: true }); if ('dark' === uiTheme || 'auto' === uiTheme && userPrefersDark) { self.editor.setTheme('ace/theme/merbivore_soft'); } self.editor.getSession().setUseWrapMode(true); elementor.panel.$el.on('resize.aceEditor', self.onResize.bind(this)); if ('css' === self.model.attributes.language) { var selectorCompleter = { getCompletions: function getCompletions(editor, session, pos, prefix, callback) { var list = [], token = session.getTokenAt(pos.row, pos.column); if (0 < prefix.length && 'selector'.match(prefix) && 'constant' === token.type) { list = [{ name: 'selector', value: 'selector', score: 1, meta: 'Elementor' }]; } callback(null, list); } }; langTools.addCompleter(selectorCompleter); } self.editor.setValue(self.getControlValue(), -1); // -1 = move cursor to the start self.editor.on('change', function () { self.setValue(self.editor.getValue()); }); if ('html' === self.model.attributes.language) { // Remove the `doctype` annotation var session = self.editor.getSession(); session.on('changeAnnotation', function () { var annotations = session.getAnnotations() || [], annotationsLength = annotations.length, index = annotations.length; while (index--) { if (/doctype first\. Expected/.test(annotations[index].text)) { annotations.splice(index, 1); } } if (annotationsLength > annotations.length) { session.setAnnotations(annotations); } }); } }, onResize: function onResize() { this.editor.resize(); }, onDestroy: function onDestroy() { elementor.panel.$el.off('resize.aceEditor'); } }); module.exports = ControlCodeEditorItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/color.js": /*!*************************************************!*\ !*** ../assets/dev/js/editor/controls/color.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/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 _values = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/values */ "../node_modules/@babel/runtime-corejs2/core-js/object/values.js")); __webpack_require__(/*! core-js/modules/es6.object.to-string.js */ "../node_modules/core-js/modules/es6.object.to-string.js"); __webpack_require__(/*! core-js/modules/es6.array.iterator.js */ "../node_modules/core-js/modules/es6.array.iterator.js"); __webpack_require__(/*! core-js/modules/web.dom.iterable.js */ "../node_modules/core-js/modules/web.dom.iterable.js"); __webpack_require__(/*! core-js/modules/es6.regexp.to-string.js */ "../node_modules/core-js/modules/es6.regexp.to-string.js"); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/asyncToGenerator */ "../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/toConsumableArray */ "../node_modules/@babel/runtime-corejs2/helpers/toConsumableArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _baseData = _interopRequireDefault(__webpack_require__(/*! ./base-data */ "../assets/dev/js/editor/controls/base-data.js")); var _colorPicker = _interopRequireDefault(__webpack_require__(/*! ../utils/color-picker */ "../assets/dev/js/editor/utils/color-picker.js")); var _default = /*#__PURE__*/function (_ControlBaseDataView) { (0, _inherits2.default)(_default, _ControlBaseDataView); var _super = (0, _createSuper2.default)(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "ui", value: function ui() { var ui = (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "ui", this).call(this); ui.pickerContainer = '.elementor-color-picker-placeholder'; return ui; } }, { key: "applySavedValue", value: function applySavedValue() { // Gets the current OR default value of the control. var currentValue = this.getCurrentValue(); if (this.colorPicker) { // When there is a global set on the control but there is no value/it doesn't exist, don't show a value. if (currentValue) { var _this$colorPicker$pic; // Set the picker color without triggering the 'onChange' event. var parsedColor = this.colorPicker.picker._parseLocalColor(currentValue); (_this$colorPicker$pic = this.colorPicker.picker).setHSVA.apply(_this$colorPicker$pic, (0, _toConsumableArray2.default)(parsedColor.values).concat([false])); } else { this.colorPicker.picker._clearColor(true); } } else { this.initPicker(); } this.$el.toggleClass('e-control-color--no-value', !currentValue); } }, { key: "initPicker", value: function initPicker() { var _this$model$get, _this = this; var options = { picker: { el: this.ui.pickerContainer[0], default: this.getCurrentValue(), components: { opacity: this.model.get('alpha') }, defaultRepresentation: 'HEX' }, // Don't create the add button in the Global Settings color pickers. addButton: (_this$model$get = this.model.get('global')) === null || _this$model$get === void 0 ? void 0 : _this$model$get.active, onChange: function onChange() { return _this.onPickerChange(); }, onClear: function onClear() { return _this.onPickerClear(); }, onAddButtonClick: function onAddButtonClick() { return _this.onAddGlobalButtonClick(); } }; this.colorPicker = new _colorPicker.default(options); this.$pickerButton = jQuery(this.colorPicker.picker.getRoot().button); this.addTipsyToPickerButton(); this.addEyedropper(); this.$pickerButton.on('click', function () { return _this.onPickerButtonClick(); }); jQuery(this.colorPicker.picker.getRoot().root).addClass('elementor-control-unit-1 elementor-control-tag-area'); } }, { key: "addTipsyToPickerButton", value: function addTipsyToPickerButton() { var _this2 = this; this.$pickerButton.tipsy({ title: function title() { var currentValue = _this2.getCurrentValue(); // If there is a global enabled for the control, but the global has no value. if (_this2.getGlobalKey() && !currentValue) { currentValue = "".concat(__('Invalid Global Color', 'elementor')); } return currentValue || ''; }, offset: 4, gravity: function gravity() { return 's'; } }); } }, { key: "addEyedropper", value: function addEyedropper() { var _this3 = this; if (!elementorCommon.config.experimentalFeatures['elements-color-picker']) { return; } var $colorPicker = jQuery(Marionette.Renderer.render('#tmpl-elementor-control-element-color-picker')), $colorPickerToolsContainer = this.colorPicker.$pickerToolsContainer, container = this.getOption('container'); var kit = null; // When it's a kit (i.e "Site Settings"). if ('kit' === container.document.config.type) { kit = container.document; } // Add a tooltip to the Eye Dropper. $colorPicker.tipsy({ title: function title() { return __('Color Sampler', 'elementor'); }, gravity: 's' }); $colorPicker.on('click', function () { $e.run('elements-color-picker/start', { container: container, kit: kit, control: _this3.model.get('name'), trigger: $colorPicker[0] }); }); $colorPickerToolsContainer.append($colorPicker); } }, { key: "getGlobalMeta", value: function getGlobalMeta() { return { commandName: this.getGlobalCommand(), key: this.model.get('name'), controlType: 'colors', route: 'panel/global/global-colors' }; } }, { key: "getNameAlreadyExistsMessage", value: function getNameAlreadyExistsMessage() { return ' ' + __('Please note that the same exact color already exists in your Global Colors list. Are you sure you want to create it?', 'elementor'); } }, { key: "getConfirmTextMessage", value: function getConfirmTextMessage() { return __('Are you sure you want to create a new Global Color?', 'elementor'); } }, { key: "getAddGlobalConfirmMessage", value: function getAddGlobalConfirmMessage(globalColors) { var colorTitle = __('New Global Color', 'elementor'), currentValue = this.getCurrentValue(), $message = jQuery('
', { class: 'e-global__confirm-message' }), $messageText = jQuery('
', { class: 'e-global__confirm-message-text' }), $inputWrapper = jQuery('
', { class: 'e-global__confirm-input-wrapper' }), $colorPreview = this.createColorPreviewBox(currentValue), $input = jQuery('', { type: 'text', name: 'global-name', placeholder: colorTitle }).val(colorTitle); var messageContent; // Check if the color already exists in the global colors, and display an appropriate message. for (var _i = 0, _Object$values = (0, _values.default)(globalColors); _i < _Object$values.length; _i++) { var globalColor = _Object$values[_i]; if (currentValue === globalColor.value) { messageContent = this.getNameAlreadyExistsMessage(); break; } else if (colorTitle === globalColor.title) { messageContent = this.getConfirmTextMessage(); break; } else { messageContent = __('Are you sure you want to create a new Global Color?', 'elementor'); } } $messageText.html(messageContent); $inputWrapper.append($colorPreview, $input); $message.append($messageText, $inputWrapper); return $message; } }, { key: "getGlobalCommand", value: function getGlobalCommand() { return 'globals/colors'; } // The globalData parameter is received from the Data API. }, { key: "createGlobalItemMarkup", value: function createGlobalItemMarkup(globalData) { var $color = jQuery('
', { class: 'e-global__preview-item e-global__color', 'data-global-id': globalData.id }), $colorPreview = this.createColorPreviewBox(globalData.value), $colorTitle = jQuery('', { class: 'e-global__color-title' }).html(globalData.title), $colorHex = jQuery('', { class: 'e-global__color-hex' }).html(globalData.value); $color.append($colorPreview, $colorTitle, $colorHex); return $color; } }, { key: "createColorPreviewBox", value: function createColorPreviewBox(color) { var $colorPreviewContainer = jQuery('
', { class: 'e-global__color-preview-container' }), $colorPreviewColor = jQuery('
', { class: 'e-global__color-preview-color', style: 'background-color: ' + color }), $colorPreviewBg = jQuery('
', { class: 'e-global__color-preview-transparent-bg' }); $colorPreviewContainer.append($colorPreviewBg, $colorPreviewColor); return $colorPreviewContainer; } }, { key: "getGlobalsList", value: function () { var _getGlobalsList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var result; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return $e.data.get(this.getGlobalCommand()); case 2: result = _context.sent; return _context.abrupt("return", result.data); case 4: case "end": return _context.stop(); } } }, _callee, this); })); function getGlobalsList() { return _getGlobalsList.apply(this, arguments); } return getGlobalsList; }() // Create the markup for the colors in the global select dropdown. }, { key: "buildGlobalsList", value: function buildGlobalsList(globalColors, $globalPreviewItemsContainer) { var _this4 = this; (0, _values.default)(globalColors).forEach(function (color) { if (!color.value) { return; } var $color = _this4.createGlobalItemMarkup(color); $globalPreviewItemsContainer.append($color); }); } }, { key: "onPickerChange", value: function onPickerChange() { this.setValue(this.colorPicker.picker.getColor().toHEXA().toString()); if (!this.isCustom) { this.triggerMethod('value:type:change'); this.colorPicker.toggleClearButtonState(true); if (this.$el.hasClass('e-control-color--no-value')) { this.$el.removeClass('e-control-color--no-value'); } this.isCustom = true; } } }, { key: "onPickerClear", value: function onPickerClear() { this.isCustom = false; // Empty the value saved in the control. this.setValue(''); // Adjust the Global select box text according to the cleared value. this.triggerMethod('value:type:change'); this.applySavedValue(); this.colorPicker.toggleClearButtonState(false); } }, { key: "onPickerButtonClick", value: function onPickerButtonClick() { if (this.getGlobalKey()) { this.triggerMethod('unset:global:value'); } else if (this.isGlobalActive() && !this.getControlValue() && this.getGlobalDefault()) { this.triggerMethod('unlink:global:default'); } // If there is a value in the control, set the clear button to active, if not, deactivate it. this.colorPicker.toggleClearButtonState(!!this.getCurrentValue()); } }, { key: "onAddGlobalButtonClick", value: function onAddGlobalButtonClick() { var _this5 = this; this.getGlobalsList().then(function (globalsList) { _this5.globalsList = globalsList; _this5.triggerMethod('add:global:to:list', _this5.getAddGlobalConfirmMessage(globalsList)); }); } }, { key: "onBeforeDestroy", value: function onBeforeDestroy() { if (this.colorPicker) { this.colorPicker.destroy(); } } }]); return _default; }(_baseData.default); exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/controls/date-time.js": /*!*****************************************************!*\ !*** ../assets/dev/js/editor/controls/date-time.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"); var _default = /*#__PURE__*/function (_ControlBaseDataView) { (0, _inherits2.default)(_default, _ControlBaseDataView); var _super = (0, _createSuper2.default)(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "onReady", value: function onReady() { var options = _.extend({ enableTime: true, minuteIncrement: 1 }, this.model.get('picker_options')); this.ui.input.flatpickr(options); } }, { key: "onBeforeDestroy", value: function onBeforeDestroy() { this.ui.input.flatpickr().destroy(); } }]); return _default; }(ControlBaseDataView); exports.default = _default; /***/ }), /***/ "../assets/dev/js/editor/controls/dimensions.js": /*!******************************************************!*\ !*** ../assets/dev/js/editor/controls/dimensions.js ***! \******************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(/*! core-js/modules/es6.string.link.js */ "../node_modules/core-js/modules/es6.string.link.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var ControlBaseUnitsItemView = __webpack_require__(/*! elementor-controls/base-units */ "../assets/dev/js/editor/controls/base-units.js"), ControlDimensionsItemView; ControlDimensionsItemView = ControlBaseUnitsItemView.extend({ ui: function ui() { var ui = ControlBaseUnitsItemView.prototype.ui.apply(this, arguments); ui.controls = '.elementor-control-dimension > input:enabled'; ui.link = 'button.elementor-link-dimensions'; return ui; }, events: function events() { return _.extend(ControlBaseUnitsItemView.prototype.events.apply(this, arguments), { 'click @ui.link': 'onLinkDimensionsClicked' }); }, defaultDimensionValue: 0, initialize: function initialize() { ControlBaseUnitsItemView.prototype.initialize.apply(this, arguments); // TODO: Need to be in helpers, and not in variable this.model.set('allowed_dimensions', this.filterDimensions(this.model.get('allowed_dimensions'))); }, getPossibleDimensions: function getPossibleDimensions() { return ['top', 'right', 'bottom', 'left']; }, filterDimensions: function filterDimensions(filter) { filter = filter || 'all'; var dimensions = this.getPossibleDimensions(); if ('all' === filter) { return dimensions; } if (!_.isArray(filter)) { if ('horizontal' === filter) { filter = ['right', 'left']; } else if ('vertical' === filter) { filter = ['top', 'bottom']; } } return filter; }, onReady: function onReady() { var self = this, currentValue = self.getControlValue(); if (!self.isLinkedDimensions()) { self.ui.link.addClass('unlinked'); self.ui.controls.each(function (index, element) { var value = currentValue[element.dataset.setting]; if (_.isEmpty(value)) { value = self.defaultDimensionValue; } self.$(element).val(value); }); } self.fillEmptyDimensions(); }, updateDimensionsValue: function updateDimensionsValue() { var currentValue = {}, dimensions = this.getPossibleDimensions(), $controls = this.ui.controls, defaultDimensionValue = this.defaultDimensionValue; dimensions.forEach(function (dimension) { var $element = $controls.filter('[data-setting="' + dimension + '"]'); currentValue[dimension] = $element.length ? $element.val() : defaultDimensionValue; }); this.setValue(currentValue); }, fillEmptyDimensions: function fillEmptyDimensions() { var dimensions = this.getPossibleDimensions(), allowedDimensions = this.model.get('allowed_dimensions'), $controls = this.ui.controls, defaultDimensionValue = this.defaultDimensionValue; if (this.isLinkedDimensions()) { return; } dimensions.forEach(function (dimension) { var $element = $controls.filter('[data-setting="' + dimension + '"]'), isAllowedDimension = -1 !== _.indexOf(allowedDimensions, dimension); if (isAllowedDimension && $element.length && _.isEmpty($element.val())) { $element.val(defaultDimensionValue); } }); }, updateDimensions: function updateDimensions() { this.fillEmptyDimensions(); this.updateDimensionsValue(); }, resetDimensions: function resetDimensions() { this.ui.controls.val(''); this.updateDimensionsValue(); }, onInputChange: function onInputChange(event) { var inputSetting = event.target.dataset.setting; if ('unit' === inputSetting) { this.resetDimensions(); } if (!_.contains(this.getPossibleDimensions(), inputSetting)) { return; } if (this.isLinkedDimensions()) { var $thisControl = this.$(event.target); this.ui.controls.val($thisControl.val()); } this.updateDimensions(); }, onLinkDimensionsClicked: function onLinkDimensionsClicked(event) { event.preventDefault(); event.stopPropagation(); this.ui.link.toggleClass('unlinked'); this.setValue('isLinked', !this.ui.link.hasClass('unlinked')); if (this.isLinkedDimensions()) { // Set all controls value from the first control. this.ui.controls.val(this.ui.controls.eq(0).val()); } this.updateDimensions(); }, isLinkedDimensions: function isLinkedDimensions() { return this.getControlValue('isLinked'); } }); module.exports = ControlDimensionsItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/font.js": /*!************************************************!*\ !*** ../assets/dev/js/editor/controls/font.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); __webpack_require__(/*! core-js/modules/es6.object.to-string.js */ "../node_modules/core-js/modules/es6.object.to-string.js"); __webpack_require__(/*! core-js/modules/es6.regexp.to-string.js */ "../node_modules/core-js/modules/es6.regexp.to-string.js"); var ControlSelect2View = __webpack_require__(/*! elementor-controls/select2 */ "../assets/dev/js/editor/controls/select2.js"); module.exports = ControlSelect2View.extend({ $previewContainer: null, getSelect2Options: function getSelect2Options() { return { dir: elementorCommon.config.isRTL ? 'rtl' : 'ltr', templateSelection: this.fontPreviewTemplate, templateResult: this.fontPreviewTemplate }; }, onReady: function onReady() { var self = this; this.ui.select.select2(this.getSelect2Options()); this.ui.select.on('select2:open', function () { self.$previewContainer = jQuery('.select2-results__options[role="tree"]:visible'); // load initial? setTimeout(function () { self.enqueueFontsInView(); }, 100); // On search jQuery('input.select2-search__field:visible').on('keyup', function () { self.typeStopDetection.action.apply(self); }); // On scroll self.$previewContainer.on('scroll', function () { self.scrollStopDetection.onScroll.apply(self); }); }); }, typeStopDetection: { idle: 350, timeOut: null, action: function action() { var parent = this, self = this.typeStopDetection; clearTimeout(self.timeOut); self.timeOut = setTimeout(function () { parent.enqueueFontsInView(); }, self.idle); } }, scrollStopDetection: { idle: 350, timeOut: null, onScroll: function onScroll() { var parent = this, self = this.scrollStopDetection; clearTimeout(self.timeOut); self.timeOut = setTimeout(function () { parent.enqueueFontsInView(); }, self.idle); } }, enqueueFontsInView: function enqueueFontsInView() { var self = this, containerOffset = this.$previewContainer.offset(), top = containerOffset.top, bottom = top + this.$previewContainer.innerHeight(), fontsInView = []; this.$previewContainer.children().find('li:visible').each(function (index, font) { var $font = jQuery(font), offset = $font.offset(); if (offset && offset.top > top && offset.top < bottom) { fontsInView.push($font); } }); fontsInView.forEach(function (font) { var fontFamily = jQuery(font).find('span').html(); elementor.helpers.enqueueFont(fontFamily, 'editor'); }); }, fontPreviewTemplate: function fontPreviewTemplate(state) { if (!state.id) { return state.text; } return jQuery('', { text: state.text, css: { 'font-family': state.element.value.toString() } }); }, templateHelpers: function templateHelpers() { var helpers = ControlSelect2View.prototype.templateHelpers.apply(this, arguments), fonts = this.model.get('options'); helpers.getFontsByGroups = function (groups) { var filteredFonts = {}; _.each(fonts, function (fontType, fontName) { if (_.isArray(groups) && _.contains(groups, fontType) || fontType === groups) { filteredFonts[fontName] = fontName; } }); return filteredFonts; }; return helpers; } }); /***/ }), /***/ "../assets/dev/js/editor/controls/gallery.js": /*!***************************************************!*\ !*** ../assets/dev/js/editor/controls/gallery.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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js")); var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"), ControlMediaItemView; ControlMediaItemView = ControlBaseDataView.extend({ ui: function ui() { var ui = ControlBaseDataView.prototype.ui.apply(this, arguments); ui.addImages = '.elementor-control-gallery-add'; ui.clearGallery = '.elementor-control-gallery-clear'; ui.galleryThumbnails = '.elementor-control-gallery-thumbnails'; ui.status = '.elementor-control-gallery-status-title'; return ui; }, events: function events() { return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), { 'click @ui.addImages': 'onAddImagesClick', 'click @ui.clearGallery': 'onClearGalleryClick', 'click @ui.galleryThumbnails': 'onGalleryThumbnailsClick' }); }, onReady: function onReady() { this.initRemoveDialog(); }, applySavedValue: function applySavedValue() { var images = this.getControlValue(), imagesCount = images.length, hasImages = !!imagesCount; this.$el.toggleClass('elementor-gallery-has-images', hasImages).toggleClass('elementor-gallery-empty', !hasImages); var $galleryThumbnails = this.ui.galleryThumbnails; $galleryThumbnails.empty(); this.ui.status.text(hasImages ? sprintf('%s Images Selected', imagesCount) : __('No Images Selected', 'elementor')); if (!hasImages) { return; } this.getControlValue().forEach(function (image) { var $thumbnail = jQuery('
', { class: 'elementor-control-gallery-thumbnail' }); $thumbnail.css('background-image', 'url(' + image.url + ')'); $galleryThumbnails.append($thumbnail); }); }, hasImages: function hasImages() { return !!this.getControlValue().length; }, openFrame: function openFrame(action) { this.initFrame(action); this.frame.open(); // Set params to trigger sanitizer if (_filesUploadHandler.default.isUploadEnabled('svg')) { _filesUploadHandler.default.setUploadTypeCaller(this.frame); } }, initFrame: function initFrame(action) { var frameStates = { create: 'gallery', add: 'gallery-library', edit: 'gallery-edit' }; var options = { frame: 'post', multiple: true, state: frameStates[action], button: { text: __('Insert Media', 'elementor') } }; if (this.hasImages()) { options.selection = this.fetchSelection(); } this.frame = wp.media(options); this.addSvgMimeType(); // When a file is selected, run a callback. this.frame.on({ update: this.select, 'menu:render:default': this.menuRender, 'content:render:browse': this.gallerySettings }, this); }, addSvgMimeType: function addSvgMimeType() { if (!_filesUploadHandler.default.isUploadEnabled('svg')) { return; } // Add the SVG to the currently allowed extensions var oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions; this.frame.on('ready', function () { _wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions + ',svg'; }); // restore allowed upload extensions this.frame.on('close', function () { _wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions; }); }, menuRender: function menuRender(view) { view.unset('insert'); view.unset('featured-image'); }, gallerySettings: function gallerySettings(browser) { browser.sidebar.on('ready', function () { browser.sidebar.unset('gallery'); }); }, fetchSelection: function fetchSelection() { var attachments = wp.media.query({ orderby: 'post__in', order: 'ASC', type: 'image', perPage: -1, post__in: _.pluck(this.getControlValue(), 'id') }); return new wp.media.model.Selection(attachments.models, { props: attachments.props.toJSON(), multiple: true }); }, /** * Callback handler for when an attachment is selected in the media modal. * Gets the selected image information, and sets it within the control. */ select: function select(selection) { var images = []; selection.each(function (image) { images.push({ id: image.get('id'), url: image.get('url') }); }); this.setValue(images); this.applySavedValue(); }, onBeforeDestroy: function onBeforeDestroy() { if (this.frame) { this.frame.off(); } this.$el.remove(); }, resetGallery: function resetGallery() { this.setValue([]); this.applySavedValue(); }, initRemoveDialog: function initRemoveDialog() { var removeDialog; this.getRemoveDialog = function () { if (!removeDialog) { removeDialog = elementorCommon.dialogsManager.createWidget('confirm', { message: __('Are you sure you want to reset this gallery?', 'elementor'), headerMessage: __('Reset Gallery', 'elementor'), strings: { confirm: __('Delete', 'elementor'), cancel: __('Cancel', 'elementor') }, defaultOption: 'confirm', onConfirm: this.resetGallery.bind(this) }); } return removeDialog; }; }, onAddImagesClick: function onAddImagesClick() { this.openFrame(this.hasImages() ? 'add' : 'create'); }, onClearGalleryClick: function onClearGalleryClick() { this.getRemoveDialog().show(); }, onGalleryThumbnailsClick: function onGalleryThumbnailsClick() { this.openFrame('edit'); } }); module.exports = ControlMediaItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/hidden.js": /*!**************************************************!*\ !*** ../assets/dev/js/editor/controls/hidden.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); var _baseData = _interopRequireDefault(__webpack_require__(/*! ./base-data */ "../assets/dev/js/editor/controls/base-data.js")); module.exports = _baseData.default.extend({}, { onPasteStyle: function onPasteStyle() { return false; } }); /***/ }), /***/ "../assets/dev/js/editor/controls/icon.js": /*!************************************************!*\ !*** ../assets/dev/js/editor/controls/icon.js ***! \************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var ControlSelect2View = __webpack_require__(/*! elementor-controls/select2 */ "../assets/dev/js/editor/controls/select2.js"), ControlIconView; ControlIconView = ControlSelect2View.extend({ initialize: function initialize() { ControlSelect2View.prototype.initialize.apply(this, arguments); this.filterIcons(); }, filterIcons: function filterIcons() { var icons = this.model.get('options'), include = this.model.get('include'), exclude = this.model.get('exclude'); if (include) { var filteredIcons = {}; _.each(include, function (iconKey) { filteredIcons[iconKey] = icons[iconKey]; }); this.model.set('options', filteredIcons); return; } if (exclude) { _.each(exclude, function (iconKey) { delete icons[iconKey]; }); } }, iconsList: function iconsList(icon) { if (!icon.id) { return icon.text; } return jQuery(' ' + icon.text + ''); }, getSelect2Options: function getSelect2Options() { return { allowClear: true, templateResult: this.iconsList.bind(this), templateSelection: this.iconsList.bind(this) }; } }); module.exports = ControlIconView; /***/ }), /***/ "../assets/dev/js/editor/controls/icons.js": /*!*************************************************!*\ !*** ../assets/dev/js/editor/controls/icons.js ***! \*************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/get */ "../node_modules/@babel/runtime-corejs2/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/getPrototypeOf */ "../node_modules/@babel/runtime-corejs2/helpers/getPrototypeOf.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js")); var ControlMultipleBaseItemView = __webpack_require__(/*! elementor-controls/base-multiple */ "../assets/dev/js/editor/controls/base-multiple.js"); var ControlIconsView = /*#__PURE__*/function (_ControlMultipleBaseI) { (0, _inherits2.default)(ControlIconsView, _ControlMultipleBaseI); var _super = (0, _createSuper2.default)(ControlIconsView); function ControlIconsView() { var _this; (0, _classCallCheck2.default)(this, ControlIconsView); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _this.cache = { loaded: false, dialog: false, enableClicked: false, fa4Mapping: false, migratedFlag: {} }; _this.dataKeys = { migratedKey: '__fa4_migrated', fa4MigrationFlag: 'fa4compatibility' }; return _this; } (0, _createClass2.default)(ControlIconsView, [{ key: "enqueueIconFonts", value: function enqueueIconFonts(iconType) { var iconSetting = elementor.helpers.getIconLibrarySettings(iconType); if (false === iconSetting || !this.isMigrationAllowed()) { return; } if (iconSetting.enqueue) { iconSetting.enqueue.forEach(function (assetURL) { elementor.helpers.enqueueEditorStylesheet(assetURL); elementor.helpers.enqueuePreviewStylesheet(assetURL); }); } if (iconSetting.url) { elementor.helpers.enqueueEditorStylesheet(iconSetting.url); elementor.helpers.enqueuePreviewStylesheet(iconSetting.url); } } }, { key: "ui", value: function ui() { var ui = (0, _get2.default)((0, _getPrototypeOf2.default)(ControlIconsView.prototype), "ui", this).call(this), skin = this.model.get('skin'); ui.controlMedia = '.elementor-control-media'; ui.svgUploader = 'media' === skin ? '.elementor-control-svg-uploader' : '.elementor-control-icons--inline__svg'; ui.iconPickers = 'media' === skin ? '.elementor-control-icon-picker, .elementor-control-media__preview, .elementor-control-media-upload-button' : '.elementor-control-icons--inline__icon'; ui.deleteButton = 'media' === skin ? '.elementor-control-media__remove' : '.elementor-control-icons--inline__none'; ui.previewPlaceholder = '.elementor-control-media__preview'; ui.previewContainer = '.elementor-control-preview-area'; ui.inlineIconContainer = '.elementor-control-inline-icon'; ui.inlineDisplayedIcon = '.elementor-control-icons--inline__displayed-icon'; ui.radioInputs = '[type="radio"]'; return ui; } }, { key: "events", value: function events() { return jQuery.extend(ControlMultipleBaseItemView.prototype.events.apply(this, arguments), { 'click @ui.iconPickers': 'openPicker', 'click @ui.svgUploader': 'openFrame', 'click @ui.radioInputs': 'onClickInput', 'click @ui.deleteButton': 'deleteIcon' }); } }, { key: "getControlValue", value: function getControlValue() { var value = (0, _get2.default)((0, _getPrototypeOf2.default)(ControlIconsView.prototype), "getControlValue", this).call(this), model = this.model, valueToMigrate = this.getValueToMigrate(); if (!this.isMigrationAllowed()) { return valueToMigrate; } // Bail if no migration flag or no value to migrate if (!valueToMigrate) { return value; } var didMigration = this.elementSettingsModel.get(this.dataKeys.migratedKey), controlName = model.get('name'); // Check if migration had been done and is stored locally if (this.cache.migratedFlag[controlName]) { return this.cache.migratedFlag[controlName]; } // Check if already migrated if (didMigration && didMigration[controlName]) { return value; } // Do migration return this.migrateFa4toFa5(valueToMigrate); } }, { key: "migrateFa4toFa5", value: function migrateFa4toFa5(fa4Value) { var fa5Value = elementor.helpers.mapFa4ToFa5(fa4Value); this.cache.migratedFlag[this.model.get('name')] = fa5Value; this.enqueueIconFonts(fa5Value.library); return fa5Value; } }, { key: "setControlAsMigrated", value: function setControlAsMigrated(controlName) { var didMigration = this.elementSettingsModel.get(this.dataKeys.migratedKey) || {}; didMigration[controlName] = true; this.elementSettingsModel.set(this.dataKeys.migratedKey, didMigration, { silent: true }); } }, { key: "isMigrationAllowed", value: function isMigrationAllowed() { return !elementor.config['icons_update_needed']; } }, { key: "getValueToMigrate", value: function getValueToMigrate() { var controlToMigrate = this.model.get(this.dataKeys.fa4MigrationFlag); if (!controlToMigrate) { return false; } // Check if there is a value to migrate var valueToMigrate = this.container.settings.get(controlToMigrate); if (valueToMigrate) { return valueToMigrate; } return false; } }, { key: "onReady", value: function onReady() { var _this2 = this; // is migration allowed from fa4 if (!this.isMigrationAllowed()) { var migrationPopupTrigger = 'media' === this.model.get('skin') ? this.ui.previewContainer[0] : this.ui.inlineIconContainer[0]; migrationPopupTrigger.addEventListener('click', function (event) { // Prevent default to prevent marking the inline icons as selected on click when migration is not allowed event.preventDefault(); event.stopPropagation(); var onConfirm = function onConfirm() { window.location.href = elementor.config.tools_page_link + '&redirect_to=' + encodeURIComponent(document.location.href) + '#tab-fontawesome4_migration'; }; var enableMigrationDialog = elementor.helpers.getSimpleDialog('elementor-enable-fa5-dialog', __('Elementor\'s New Icon Library', 'elementor'), __('Elementor v2.6 includes an upgrade from Font Awesome 4 to 5. In order to continue using icons, be sure to click "Update".', 'elementor') + ' ' + __('Learn More', 'elementor') + '', __('Update', 'elementor'), onConfirm); enableMigrationDialog.show(); return false; }, true); } var controlName = this.model.get('name'); if (this.cache.migratedFlag[controlName]) { this.setControlAsMigrated(controlName); setTimeout(function () { _this2.setValue(_this2.cache.migratedFlag[controlName]); }, 10); } } }, { key: "onRender", value: function onRender() { (0, _get2.default)((0, _getPrototypeOf2.default)(ControlIconsView.prototype), "onRender", this).call(this); if (this.isMigrationAllowed()) { elementor.iconManager.loadIconLibraries(); } } }, { key: "initFrame", value: function initFrame() { var _this3 = this; // Set current doc id to attach uploaded images. wp.media.view.settings.post.id = elementor.config.document.id; this.frame = wp.media({ button: { text: __('Insert Media', 'elementor') }, library: { type: ['image/svg+xml'] }, states: [new wp.media.controller.Library({ title: __('Insert Media', 'elementor'), library: wp.media.query({ type: ['image/svg+xml'] }), multiple: false, date: false })] }); var handleSelect = function handleSelect() { return _this3.selectSvg(); }; // When a file is selected, run a callback. this.frame.on('insert select', handleSelect); this.setUploadMimeType(this.frame, 'svg'); } }, { key: "setUploadMimeType", value: function setUploadMimeType(frame, ext) { // Set svg as only allowed upload extensions var oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions; frame.on('ready', function () { _wpPluploadSettings.defaults.filters.mime_types[0].extensions = ext; }); this.frame.on('close', function () { // restore allowed upload extensions _wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions; }); } /** * Callback handler for when an attachment is selected in the media modal. * Gets the selected image information, and sets it within the control. */ }, { key: "selectSvg", value: function selectSvg() { this.trigger('before:select'); // Get the attachment from the modal frame. var attachment = this.frame.state().get('selection').first().toJSON(); if (attachment.url) { this.setValue({ value: { url: attachment.url, id: attachment.id }, library: 'svg' }); this.applySavedValue(); } this.trigger('after:select'); } }, { key: "openFrame", value: function openFrame() { var _this4 = this; if (!_filesUploadHandler.default.isUploadEnabled('svg')) { _filesUploadHandler.default.getUnfilteredFilesNotEnabledDialog(function () { return _this4.openFrame(); }).show(); return false; } if (!this.frame) { this.initFrame(); } this.frame.open(); // Set params to trigger sanitizer _filesUploadHandler.default.setUploadTypeCaller(this.frame); var selectedId = this.getControlValue('id'); if (!selectedId) { return; } var selection = this.frame.state().get('selection'); selection.add(wp.media.attachment(selectedId)); } }, { key: "openPicker", value: function openPicker() { elementor.iconManager.show({ view: this }); } }, { key: "applySavedValue", value: function applySavedValue() { var _this5 = this; var controlValue = this.getControlValue(), skin = this.model.get('skin'), iconContainer = 'inline' === skin ? this.ui.inlineDisplayedIcon : this.ui.previewPlaceholder, defaultIcon = this.model.get('default'); var iconValue = controlValue.value, iconType = controlValue.library; if (!this.isMigrationAllowed() && !iconValue && this.getValueToMigrate()) { iconValue = this.getControlValue(); iconType = ''; } if ('media' === skin) { this.ui.controlMedia.toggleClass('elementor-media-empty', !iconValue); } else { this.markChecked(iconType); } if (!iconValue) { if ('inline' === skin) { this.setDefaultIconLibraryLabel(defaultIcon, iconContainer); return; } this.ui.previewPlaceholder.html(''); return; } if ('svg' === iconType && 'inline' !== skin) { return elementor.helpers.fetchInlineSvg(iconValue.url, function (data) { _this5.ui.previewPlaceholder.html(data); }); } if ('media' === skin || 'svg' !== iconType) { var previewHTML = ''; iconContainer.html(previewHTML); } this.enqueueIconFonts(iconType); } }, { key: "setDefaultIconLibraryLabel", value: function setDefaultIconLibraryLabel(defaultIcon, iconContainer) { // Check if the control has a default icon if ('' !== defaultIcon.value && 'svg' !== defaultIcon.library) { // If the default icon is not an SVG, set the icon-library label's icon to the default icon iconContainer.html(''); } else { // If (1) the control does NOT have a default icon, // OR (2) the control DOES have a default icon BUT the default icon is an SVG, // set the default icon-library label's icon to a simple circle iconContainer.html(''); } } }, { key: "markChecked", value: function markChecked(iconType) { this.ui.radioInputs.filter(':checked').prop('checked', false); if (!iconType) { return this.ui.radioInputs.filter('[value="none"]').prop('checked', true); } if ('svg' !== iconType) { iconType = 'icon'; } this.ui.radioInputs.filter('[value="' + iconType + '"]').prop('checked', true); } }, { key: "onClickInput", value: function onClickInput() { this.markChecked(this.getControlValue().library); } }, { key: "deleteIcon", value: function deleteIcon(event) { event.stopPropagation(); this.setValue({ value: '', library: '' }); this.applySavedValue(); } }, { key: "onBeforeDestroy", value: function onBeforeDestroy() { this.$el.remove(); } }]); return ControlIconsView; }(ControlMultipleBaseItemView); module.exports = ControlIconsView; /***/ }), /***/ "../assets/dev/js/editor/controls/image-dimensions.js": /*!************************************************************!*\ !*** ../assets/dev/js/editor/controls/image-dimensions.js ***! \************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var ControlMultipleBaseItemView = __webpack_require__(/*! elementor-controls/base-multiple */ "../assets/dev/js/editor/controls/base-multiple.js"), ControlImageDimensionsItemView; ControlImageDimensionsItemView = ControlMultipleBaseItemView.extend({ ui: function ui() { return { inputWidth: 'input[data-setting="width"]', inputHeight: 'input[data-setting="height"]', btnApply: 'button.elementor-image-dimensions-apply-button' }; }, // Override the base events events: function events() { return { 'click @ui.btnApply': 'onApplyClicked', 'keyup @ui.inputWidth': 'onDimensionKeyUp', 'keyup @ui.inputHeight': 'onDimensionKeyUp' }; }, onDimensionKeyUp: function onDimensionKeyUp(event) { var ENTER_KEY = 13; if (ENTER_KEY === event.keyCode) { this.onApplyClicked(event); } }, onApplyClicked: function onApplyClicked(event) { event.preventDefault(); this.setValue({ width: this.ui.inputWidth.val(), height: this.ui.inputHeight.val() }); } }); module.exports = ControlImageDimensionsItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/media.js": /*!*************************************************!*\ !*** ../assets/dev/js/editor/controls/media.js ***! \*************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js"); __webpack_require__(/*! core-js/modules/es6.regexp.split.js */ "../node_modules/core-js/modules/es6.regexp.split.js"); __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! ../utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js")); var ControlMultipleBaseItemView = __webpack_require__(/*! elementor-controls/base-multiple */ "../assets/dev/js/editor/controls/base-multiple.js"), ControlMediaItemView; ControlMediaItemView = ControlMultipleBaseItemView.extend({ ui: function ui() { var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments); ui.controlMedia = '.elementor-control-media'; ui.mediaImage = '.elementor-control-media__preview'; ui.mediaVideo = '.elementor-control-media-video'; ui.frameOpeners = '.elementor-control-preview-area'; ui.removeButton = '.elementor-control-media__remove'; ui.fileName = '.elementor-control-media__file__content__info__name'; return ui; }, events: function events() { return _.extend(ControlMultipleBaseItemView.prototype.events.apply(this, arguments), { 'click @ui.frameOpeners': 'openFrame', 'click @ui.removeButton': 'deleteImage' }); }, getMediaType: function getMediaType() { // `get( 'media_type' )` is for BC. return this.mediaType || this.model.get('media_type') || this.model.get('media_types')[0]; }, /** * Get library type for `wp.media` using a given media type. * * @param {String} mediaType - The media type to get the library for. * @returns {String} */ getLibraryType: function getLibraryType(mediaType) { if (!mediaType) { mediaType = this.getMediaType(); } return 'svg' === mediaType ? 'image/svg+xml' : mediaType; }, applySavedValue: function applySavedValue() { var _this$getControlPlace; var value = this.getControlValue('url'), url = value || ((_this$getControlPlace = this.getControlPlaceholder()) === null || _this$getControlPlace === void 0 ? void 0 : _this$getControlPlace.url), mediaType = this.getMediaType(); if (['image', 'svg'].includes(mediaType)) { this.ui.mediaImage.css('background-image', url ? 'url(' + url + ')' : ''); if (!value && url) { this.ui.mediaImage.css('opacity', 0.5); } } else if ('video' === mediaType) { this.ui.mediaVideo.attr('src', url); } else { var fileName = url ? url.split('/').pop() : ''; this.ui.fileName.text(fileName); } this.ui.controlMedia.toggleClass('elementor-media-empty', !value); }, openFrame: function openFrame(e) { var _e$target, _e$target$dataset, _this = this; var mediaType = (e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : (_e$target$dataset = _e$target.dataset) === null || _e$target$dataset === void 0 ? void 0 : _e$target$dataset.mediaType) || this.getMediaType(); this.mediaType = mediaType; if (!mediaType) { return; } if (!_filesUploadHandler.default.isUploadEnabled(mediaType)) { _filesUploadHandler.default.getUnfilteredFilesNotEnabledDialog(function () { return _this.openFrame(e); }).show(); return false; } // If there is no frame, or the current initialized frame contains a different library than // the `data-media-type` of the clicked button, (re)initialize the frame. if (!this.frame || this.getLibraryType(mediaType) !== this.currentLibraryType) { this.initFrame(); } this.frame.open(); // Set params to trigger sanitizer _filesUploadHandler.default.setUploadTypeCaller(this.frame); var selectedId = this.getControlValue('id'); if (!selectedId) { return; } this.frame.state().get('selection').add(wp.media.attachment(selectedId)); }, deleteImage: function deleteImage(event) { event.stopPropagation(); this.setValue({ url: '', id: '' }); this.applySavedValue(); }, /** * Create a media modal select frame, and store it so the instance can be reused when needed. */ initFrame: function initFrame() { var mediaType = this.getMediaType(); this.currentLibraryType = this.getLibraryType(mediaType); // Set current doc id to attach uploaded images. wp.media.view.settings.post.id = elementor.config.document.id; this.frame = wp.media({ frame: 'post', type: 'image', multiple: false, states: [new wp.media.controller.Library({ title: __('Insert Media', 'elementor'), library: wp.media.query({ type: this.currentLibraryType }), multiple: false, date: false })] }); // Remove unwanted elements when frame is opened. this.frame.on('ready open', this.onFrameReady.bind(this)); // When a file is selected, run a callback. this.frame.on('insert select', this.select.bind(this)); if (elementor.config.filesUpload.unfilteredFiles) { this.setUploadMimeType(this.frame, mediaType); } }, /** * Hack to remove unwanted elements from modal & Open the `Insert from URL` tab. */ onFrameReady: function onFrameReady() { var $frame = this.frame.$el; var elementsToRemove = ['#menu-item-insert', '#menu-item-gallery', '#menu-item-playlist', '#menu-item-video-playlist', '.embed-link-settings']; $frame.find(elementsToRemove.join(',')).remove(); // Change the default button text using CSS by passing the text as a variable. $frame.css('--button-text', "'".concat(__('Insert Media', 'elementor'), "'")); // Remove elements from the URL upload tab. $frame.addClass('e-wp-media-elements-removed'); if ('url' === this.getControlValue('source')) { // Go to the url tab. $frame.find('#menu-item-embed').trigger('click'); // Hide the top media tabs ( WordPress does that automatically if a real user clicks the url tab ). $frame.addClass('hide-router'); // Load the image URL. this.frame.views.get('.media-frame-content')[0].url.model.set({ url: this.getControlValue('url'), alt: this.getControlValue('alt') }); } else { // Go to the upload tab. $frame.find('#menu-item-library').trigger('click'); } }, setUploadMimeType: function setUploadMimeType(frame, ext) { // Add unfiltered files to the allowed upload extensions var oldExtensions = _wpPluploadSettings.defaults.filters.mime_types[0].extensions; frame.on('ready', function () { _wpPluploadSettings.defaults.filters.mime_types[0].extensions = 'application/json' === ext ? 'json' : oldExtensions + ',svg'; }); this.frame.on('close', function () { // Restore allowed upload extensions _wpPluploadSettings.defaults.filters.mime_types[0].extensions = oldExtensions; }); }, /** * Callback handler for when an attachment is selected in the media modal. * Gets the selected image information, and sets it within the control. */ select: function select() { this.trigger('before:select'); var state = this.frame.state(); var attachment; if ('embed' === state.get('id')) { // Insert from URL. attachment = { url: state.props.get('url'), id: '', alt: state.props.get('alt'), source: 'url' }; } else { // Get the attachment from the modal frame. attachment = this.frame.state().get('selection').first().toJSON(); attachment.source = 'library'; } if (attachment.url) { this.setValue({ url: attachment.url, id: attachment.id, alt: attachment.alt, source: attachment.source }); if (this.model.get('responsive')) { // Render is already calls `applySavedValue`, therefore there's no need for it in this case. this.renderWithChildren(); } else { this.applySavedValue(); } } this.trigger('after:select'); }, onBeforeDestroy: function onBeforeDestroy() { this.$el.remove(); } }); module.exports = ControlMediaItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/number.js": /*!**************************************************!*\ !*** ../assets/dev/js/editor/controls/number.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"), ControlNumberItemView; ControlNumberItemView = ControlBaseDataView.extend({ registerValidators: function registerValidators() { ControlBaseDataView.prototype.registerValidators.apply(this, arguments); var validationTerms = {}, model = this.model; ['min', 'max'].forEach(function (term) { var termValue = model.get(term); if (_.isFinite(termValue)) { validationTerms[term] = termValue; } }); if (!jQuery.isEmptyObject(validationTerms)) { this.addValidator(new this.validatorTypes.Number({ validationTerms: validationTerms })); } } }); module.exports = ControlNumberItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/order.js": /*!*************************************************!*\ !*** ../assets/dev/js/editor/controls/order.js ***! \*************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var ControlMultipleBaseItemView = __webpack_require__(/*! elementor-controls/base-multiple */ "../assets/dev/js/editor/controls/base-multiple.js"), ControlOrderItemView; ControlOrderItemView = ControlMultipleBaseItemView.extend({ ui: function ui() { var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments); ui.reverseOrderLabel = '.elementor-control-order-label'; return ui; }, changeLabelTitle: function changeLabelTitle() { var reverseOrder = this.getControlValue('reverse_order'); this.ui.reverseOrderLabel.attr('title', reverseOrder ? __('Ascending order', 'elementor') : __('Descending order', 'elementor')); }, onRender: function onRender() { ControlMultipleBaseItemView.prototype.onRender.apply(this, arguments); this.changeLabelTitle(); }, onInputChange: function onInputChange() { this.changeLabelTitle(); } }); module.exports = ControlOrderItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/popover-toggle.js": /*!**********************************************************!*\ !*** ../assets/dev/js/editor/controls/popover-toggle.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _Object$defineProperty = __webpack_require__(/*! @babel/runtime-corejs2/core-js/object/define-property */ "../node_modules/@babel/runtime-corejs2/core-js/object/define-property.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/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")); __webpack_require__(/*! core-js/modules/es6.string.starts-with.js */ "../node_modules/core-js/modules/es6.string.starts-with.js"); __webpack_require__(/*! core-js/modules/es6.regexp.replace.js */ "../node_modules/core-js/modules/es6.regexp.replace.js"); __webpack_require__(/*! core-js/modules/es6.string.includes.js */ "../node_modules/core-js/modules/es6.string.includes.js"); __webpack_require__(/*! core-js/modules/es7.array.includes.js */ "../node_modules/core-js/modules/es7.array.includes.js"); var _entries = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/entries */ "../node_modules/@babel/runtime-corejs2/core-js/object/entries.js")); var _values = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/core-js/object/values */ "../node_modules/@babel/runtime-corejs2/core-js/object/values.js")); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/asyncToGenerator */ "../node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/slicedToArray */ "../node_modules/@babel/runtime-corejs2/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/classCallCheck */ "../node_modules/@babel/runtime-corejs2/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createClass */ "../node_modules/@babel/runtime-corejs2/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/inherits */ "../node_modules/@babel/runtime-corejs2/helpers/inherits.js")); var _createSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime-corejs2/helpers/createSuper */ "../node_modules/@babel/runtime-corejs2/helpers/createSuper.js")); var ControlChooseView = __webpack_require__(/*! elementor-controls/choose */ "../assets/dev/js/editor/controls/choose.js"); var ControlPopoverStarterView = /*#__PURE__*/function (_ControlChooseView) { (0, _inherits2.default)(ControlPopoverStarterView, _ControlChooseView); var _super = (0, _createSuper2.default)(ControlPopoverStarterView); function ControlPopoverStarterView() { (0, _classCallCheck2.default)(this, ControlPopoverStarterView); return _super.apply(this, arguments); } (0, _createClass2.default)(ControlPopoverStarterView, [{ key: "ui", value: function ui() { var ui = ControlChooseView.prototype.ui.apply(this, arguments); ui.popoverToggle = '.elementor-control-popover-toggle-toggle'; ui.resetInput = '.elementor-control-popover-toggle-reset'; return ui; } }, { key: "events", value: function events() { return _.extend(ControlChooseView.prototype.events.apply(this, arguments), { 'click @ui.popoverToggle': 'onPopoverToggleClick', 'click @ui.resetInput': 'onResetInputClick' }); } }, { key: "onResetInputClick", value: function onResetInputClick() { var globalData = this.model.get('global'); if (globalData !== null && globalData !== void 0 && globalData.active) { this.triggerMethod('value:type:change'); } } }, { key: "onInputChange", value: function onInputChange(event) { if (event.currentTarget !== this.ui.popoverToggle[0]) { return; } // If the control has a global value, unset the global. if (this.getGlobalKey()) { this.triggerMethod('unset:global:value'); } else if (this.isGlobalActive()) { this.triggerMethod('value:type:change'); } } }, { key: "onPopoverToggleClick", value: function onPopoverToggleClick() { if (this.isGlobalActive() && !this.getControlValue() && !this.getGlobalKey() && this.getGlobalDefault()) { this.triggerMethod('unlink:global:default'); } this.$el.next('.elementor-controls-popover').toggle(); } }, { key: "getGlobalCommand", value: function getGlobalCommand() { return 'globals/typography'; } }, { key: "buildPreviewItemCSS", value: function buildPreviewItemCSS(globalValue) { var cssObject = {}; (0, _entries.default)(globalValue).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), property = _ref2[0], value = _ref2[1]; // If a control value is empty, ignore it. if (!value || '' === value.size) { return; } if (property.startsWith('typography_')) { property = property.replace('typography_', ''); } if ('font_family' === property) { elementor.helpers.enqueueFont(value, 'editor'); } if ('font_size' === property) { // Set max size for Typography previews in the select popover so it isn't too big. if (value.size > 40) { value.size = 40; } cssObject.fontSize = value.size + value.unit; } else { // Convert the snake case property names into camel case to match their corresponding CSS property names. if (property.includes('_')) { property = property.replace(/([_][a-z])/g, function (result) { return result.toUpperCase().replace('_', ''); }); } cssObject[property] = value; } }); return cssObject; } }, { key: "createGlobalItemMarkup", value: function createGlobalItemMarkup(globalData) { var $typographyPreview = jQuery('
', { class: 'e-global__preview-item e-global__typography', 'data-global-id': globalData.id }); $typographyPreview.html(globalData.title).css(this.buildPreviewItemCSS(globalData.value)); return $typographyPreview; } }, { key: "getGlobalMeta", value: function getGlobalMeta() { return { commandName: this.getGlobalCommand(), key: this.model.get('name'), title: __('New Typography Setting', 'elementor'), controlType: 'typography', route: 'panel/global/global-typography' }; } }, { key: "getAddGlobalConfirmMessage", value: function getAddGlobalConfirmMessage() { var globalData = this.getGlobalMeta(), $message = jQuery('
', { class: 'e-global__confirm-message' }), $messageText = jQuery('
').html(__('Are you sure you want to create a new Global Font setting?', 'elementor')), $inputWrapper = jQuery('
', { class: 'e-global__confirm-input-wrapper' }), $input = jQuery('', { type: 'text', name: 'global-name', placeholder: globalData.title }).val(globalData.title); $inputWrapper.append($input); $message.append($messageText, $inputWrapper); return $message; } }, { key: "getGlobalsList", value: function () { var _getGlobalsList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var result; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return $e.data.get(this.getGlobalCommand()); case 2: result = _context.sent; return _context.abrupt("return", result.data); case 4: case "end": return _context.stop(); } } }, _callee, this); })); function getGlobalsList() { return _getGlobalsList.apply(this, arguments); } return getGlobalsList; }() }, { key: "buildGlobalsList", value: function buildGlobalsList(globalTypographies, $globalPreviewItemsContainer) { var _this = this; (0, _values.default)(globalTypographies).forEach(function (typography) { // Only build markup if the typography is valid. if (typography) { var $typographyPreview = _this.createGlobalItemMarkup(typography); $globalPreviewItemsContainer.append($typographyPreview); } }); } }, { key: "onAddGlobalButtonClick", value: function onAddGlobalButtonClick() { this.triggerMethod('add:global:to:list', this.getAddGlobalConfirmMessage()); } }]); return ControlPopoverStarterView; }(ControlChooseView); exports.default = ControlPopoverStarterView; ControlPopoverStarterView.onPasteStyle = function (control, clipboardValue) { return !clipboardValue || clipboardValue === control.return_value; }; /***/ }), /***/ "../assets/dev/js/editor/controls/repeater-row.js": /*!********************************************************!*\ !*** ../assets/dev/js/editor/controls/repeater-row.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-corejs2/helpers/interopRequireDefault */ "../node_modules/@babel/runtime-corejs2/helpers/interopRequireDefault.js"); __webpack_require__(/*! core-js/modules/es6.object.to-string.js */ "../node_modules/core-js/modules/es6.object.to-string.js"); __webpack_require__(/*! core-js/modules/es6.array.iterator.js */ "../node_modules/core-js/modules/es6.array.iterator.js"); __webpack_require__(/*! core-js/modules/web.dom.iterable.js */ "../node_modules/core-js/modules/web.dom.iterable.js"); var _controlsStack = _interopRequireDefault(__webpack_require__(/*! elementor-views/controls-stack */ "../assets/dev/js/editor/views/controls-stack.js")); module.exports = Marionette.CompositeView.extend({ template: Marionette.TemplateCache.get('#tmpl-elementor-repeater-row'), className: 'elementor-repeater-fields', ui: { duplicateButton: '.elementor-repeater-tool-duplicate', editButton: '.elementor-repeater-tool-edit', removeButton: '.elementor-repeater-tool-remove', itemTitle: '.elementor-repeater-row-item-title' }, behaviors: { HandleInnerTabs: { behaviorClass: __webpack_require__(/*! elementor-behaviors/inner-tabs */ "../assets/dev/js/editor/elements/views/behaviors/inner-tabs.js") } }, triggers: { 'click @ui.removeButton': 'click:remove', 'click @ui.duplicateButton': 'click:duplicate', 'click @ui.itemTitle': 'click:edit' }, modelEvents: { change: 'onModelChange' }, templateHelpers: function templateHelpers() { return { itemIndex: this.getOption('itemIndex'), itemActions: this.getOption('itemActions') }; }, childViewContainer: '.elementor-repeater-row-controls', getChildView: function getChildView(item) { var controlType = item.get('type'); return elementor.getControlView(controlType); }, childViewOptions: function childViewOptions() { return { container: this.options.container }; }, updateIndex: function updateIndex(newIndex) { this.itemIndex = newIndex; }, setTitle: function setTitle() { var titleField = this.getOption('titleField'); var title = ''; if (titleField) { title = Marionette.TemplateCache.prototype.compileTemplate(titleField)(this.model.parseDynamicSettings()); } if (!title) { /* translators: %s: Item Index (number). */ title = sprintf(__('Item #%s', 'elementor'), this.getOption('itemIndex')); } this.ui.itemTitle.html(title); }, toggleSort: function toggleSort(enable) { this.$el.toggleClass('elementor-repeater-row--disable-sort', !enable); }, initialize: function initialize(options) { this.itemIndex = 0; // Collection for Controls list this.collection = new Backbone.Collection(_.values(elementor.mergeControlsSettings(options.controlFields))); }, onRender: function onRender() { this.setTitle(); _controlsStack.default.handlePopovers(this); }, onModelChange: function onModelChange() { if (this.getOption('titleField')) { this.setTitle(); } }, onChildviewResponsiveSwitcherClick: function onChildviewResponsiveSwitcherClick(childView, device) { if ('desktop' === device) { elementor.getPanelView().getCurrentPageView().$el.toggleClass('elementor-responsive-switchers-open'); } } }); /***/ }), /***/ "../assets/dev/js/editor/controls/repeater.js": /*!****************************************************!*\ !*** ../assets/dev/js/editor/controls/repeater.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); __webpack_require__(/*! core-js/modules/es6.array.filter.js */ "../node_modules/core-js/modules/es6.array.filter.js"); __webpack_require__(/*! core-js/modules/es6.function.name.js */ "../node_modules/core-js/modules/es6.function.name.js"); var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"), RepeaterRowView = __webpack_require__(/*! elementor-controls/repeater-row */ "../assets/dev/js/editor/controls/repeater-row.js"), ControlRepeaterItemView; ControlRepeaterItemView = ControlBaseDataView.extend({ ui: { btnAddRow: '.elementor-repeater-add', fieldContainer: '.elementor-repeater-fields-wrapper' }, events: function events() { return { 'click @ui.btnAddRow': 'onButtonAddRowClick', 'sortstart @ui.fieldContainer': 'onSortStart', 'sortupdate @ui.fieldContainer': 'onSortUpdate', 'sortstop @ui.fieldContainer': 'onSortStop' }; }, childView: RepeaterRowView, childViewContainer: '.elementor-repeater-fields-wrapper', templateHelpers: function templateHelpers() { return { itemActions: this.model.get('item_actions'), data: _.extend({}, this.model.toJSON(), { controlValue: [] }) }; }, childViewOptions: function childViewOptions(rowModel, index) { var elementContainer = this.getOption('container'); return { container: elementContainer.repeaters[this.model.get('name')].children[index], controlFields: this.model.get('fields'), titleField: this.model.get('title_field'), itemActions: this.model.get('item_actions') }; }, createItemModel: function createItemModel(attrs, options, controlView) { options.controls = controlView.model.get('fields'); return new elementorModules.editor.elements.models.BaseSettings(attrs, options); }, fillCollection: function fillCollection() { // TODO: elementSettingsModel is deprecated since 2.8.0. var settings = this.container ? this.container.settings : this.elementSettingsModel; var controlName = this.model.get('name'); this.collection = settings.get(controlName); // Hack for history redo/undo if (!(this.collection instanceof Backbone.Collection)) { this.collection = new Backbone.Collection(this.collection, { // Use `partial` to supply the `this` as an argument, but not as context // the `_` is a place holder for original arguments: `attrs` & `options` model: _.partial(this.createItemModel, _, _, this) }); // Set the value silent settings.set(controlName, this.collection, { silent: true }); } }, initialize: function initialize() { ControlBaseDataView.prototype.initialize.apply(this, arguments); this.fillCollection(); this.listenTo(this.collection, 'reset', this.resetContainer.bind(this)); this.listenTo(this.collection, 'add', this.updateContainer.bind(this)); }, editRow: function editRow(rowView) { if (this.currentEditableChild) { var currentEditable = this.currentEditableChild.getChildViewContainer(this.currentEditableChild); currentEditable.removeClass('editable'); // If the repeater contains TinyMCE editors, fire the `hide` trigger to hide floated toolbars currentEditable.find('.elementor-wp-editor').each(function () { tinymce.get(this.id).fire('hide'); }); } if (this.currentEditableChild === rowView) { delete this.currentEditableChild; return; } rowView.getChildViewContainer(rowView).addClass('editable'); this.currentEditableChild = rowView; this.updateActiveRow(); }, toggleMinRowsClass: function toggleMinRowsClass() { if (!this.model.get('prevent_empty')) { return; } this.$el.toggleClass('elementor-repeater-has-minimum-rows', 1 >= this.collection.length); }, updateActiveRow: function updateActiveRow() { var activeItemIndex = 1; if (this.currentEditableChild) { activeItemIndex = this.currentEditableChild.itemIndex; } this.setEditSetting('activeItemIndex', activeItemIndex); }, updateChildIndexes: function updateChildIndexes() { var collection = this.collection; this.children.each(function (view) { view.updateIndex(collection.indexOf(view.model) + 1); view.setTitle(); }); }, onRender: function onRender() { ControlBaseDataView.prototype.onRender.apply(this, arguments); if (this.model.get('item_actions').sort) { this.ui.fieldContainer.sortable({ axis: 'y', handle: '.elementor-repeater-row-tools', items: ' > :not(.elementor-repeater-row--disable-sort)' }); } this.toggleMinRowsClass(); }, onSortStart: function onSortStart(event, ui) { ui.item.data('oldIndex', ui.item.index()); }, onSortStop: function onSortStop(event, ui) { // Reload TinyMCE editors (if exist), it's a bug that TinyMCE content is missing after stop dragging var self = this, sortedIndex = ui.item.index(); if (-1 === sortedIndex) { return; } var sortedRowView = self.children.findByIndex(ui.item.index()), rowControls = sortedRowView.children._views; jQuery.each(rowControls, function () { if ('wysiwyg' === this.model.get('type')) { sortedRowView.render(); delete self.currentEditableChild; return false; } }); }, onSortUpdate: function onSortUpdate(event, ui) { var oldIndex = ui.item.data('oldIndex'), newIndex = ui.item.index(); $e.run('document/repeater/move', { container: this.options.container, name: this.model.get('name'), sourceIndex: oldIndex, targetIndex: newIndex }); }, onAddChild: function onAddChild() { this.updateChildIndexes(); this.updateActiveRow(); }, // BC since 3.0.0, ensure a new child is appear in container children. updateContainer: function updateContainer(model) { var container = this.options.container.repeaters[this.model.get('name')], isInChildren = container.children.filter(function (child) { return child.id === model.get('_id'); }); if (!isInChildren.length) { elementorCommon.helpers.softDeprecated('Don\'t add models directly to the repeater.', '3.0.0', '$e.run( \'document/repeater/insert\' )'); this.options.container.addRepeaterItem(this.model.get('name'), model, model.collection.indexOf(model)); } }, // BC since 3.0.0, ensure a container children are reset on collection reset. resetContainer: function resetContainer() { elementorCommon.helpers.softDeprecated('Don\'t reset repeater collection directly.', '3.0.0', '$e.run( \'document/repeater/remove\' )'); this.options.container.repeaters[this.model.get('name')].children = []; }, getDefaults: function getDefaults() { var defaults = {}; // Get default fields. _.each(this.model.get('fields'), function (field) { defaults[field.name] = field.default; }); return defaults; }, onButtonAddRowClick: function onButtonAddRowClick() { var newModel = $e.run('document/repeater/insert', { container: this.options.container, name: this.model.get('name'), model: this.getDefaults() }); var newChild = this.children.findByModel(newModel); this.editRow(newChild); this.toggleMinRowsClass(); }, onChildviewClickRemove: function onChildviewClickRemove(childView) { if (childView === this.currentEditableChild) { delete this.currentEditableChild; } $e.run('document/repeater/remove', { container: this.options.container, name: this.model.get('name'), index: childView._index }); this.updateActiveRow(); this.updateChildIndexes(); this.toggleMinRowsClass(); }, onChildviewClickDuplicate: function onChildviewClickDuplicate(childView) { $e.run('document/repeater/duplicate', { container: this.options.container, name: this.model.get('name'), index: childView._index }); this.toggleMinRowsClass(); }, onChildviewClickEdit: function onChildviewClickEdit(childView) { this.editRow(childView); }, onAfterExternalChange: function onAfterExternalChange() { // Update the collection with current value this.fillCollection(); ControlBaseDataView.prototype.onAfterExternalChange.apply(this, arguments); } }); module.exports = ControlRepeaterItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/section.js": /*!***************************************************!*\ !*** ../assets/dev/js/editor/controls/section.js ***! \***************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var ControlBaseView = __webpack_require__(/*! elementor-controls/base */ "../assets/dev/js/editor/controls/base.js"), ControlSectionItemView; ControlSectionItemView = ControlBaseView.extend({ ui: function ui() { var ui = ControlBaseView.prototype.ui.apply(this, arguments); ui.heading = '.elementor-panel-heading'; return ui; }, triggers: { click: 'control:section:clicked' } }); module.exports = ControlSectionItemView; /***/ }), /***/ "../assets/dev/js/editor/controls/select.js": /*!**************************************************!*\ !*** ../assets/dev/js/editor/controls/select.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; __webpack_require__(/*! core-js/modules/es6.array.find.js */ "../node_modules/core-js/modules/es6.array.find.js"); var ControlBaseDataView = __webpack_require__(/*! elementor-controls/base-data */ "../assets/dev/js/editor/controls/base-data.js"), ControlSelectItemView; ControlSelectItemView = ControlBaseDataView.extend({ updatePlaceholder: function updatePlaceholder() { var select = this.ui.select; var selected = select.find('option:selected'); // When option with an empty value ('') selected, and it's not the placeholder option, // set the selected option to the placeholder. if ('' === selected.val() && !selected.hasClass('e-option-placeholder')) { selected = select.find('.e-option-placeholder'); selected.prop('selected', true); } if (selected.hasClass('e-option-placeholder')) { select.addClass('e-select-placeholder'); } else { select.removeClass('e-select-placeholder'); } }, onReady: function onReady() { var placeholder = this.getControlPlaceholder(); if (placeholder) { jQuery('