PATH:
home
/
letacommog
/
opilot
/
wp-content
/
plugins
/
elementor
/
assets
/
js
/*! elementor - v2.7.3 - 24-09-2019 */ /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 269); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } module.exports = _interopRequireDefault; /***/ }), /* 1 */ /***/ (function(module, exports) { var core = module.exports = { version: '2.6.9' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(107); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { var _Object$getPrototypeOf = __webpack_require__(128); var _Object$setPrototypeOf = __webpack_require__(79); function _getPrototypeOf(o) { module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || _Object$getPrototypeOf(o); }; return _getPrototypeOf(o); } module.exports = _getPrototypeOf; /***/ }), /* 4 */ /***/ (function(module, exports) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { var _Object$defineProperty = __webpack_require__(2); 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; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { var _typeof = __webpack_require__(65); var assertThisInitialized = __webpack_require__(81); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { var _Object$create = __webpack_require__(96); var setPrototypeOf = __webpack_require__(136); 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; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(10); var core = __webpack_require__(1); var ctx = __webpack_require__(68); var hide = __webpack_require__(23); var has = __webpack_require__(12); var PROTOTYPE = 'prototype'; var $export = function (type, name, source) { var IS_FORCED = type & $export.F; var IS_GLOBAL = type & $export.G; var IS_STATIC = type & $export.S; var IS_PROTO = type & $export.P; var IS_BIND = type & $export.B; var IS_WRAP = type & $export.W; var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); var expProto = exports[PROTOTYPE]; var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; var key, own, out; if (IS_GLOBAL) source = name; for (key in source) { // contains in native own = !IS_FORCED && target && target[key] !== undefined; if (own && has(exports, key)) continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] // bind timers to global for call from export context : IS_BIND && own ? ctx(out, global) // wrap global constructors for prevent change them in library : IS_WRAP && target[key] == out ? (function (C) { var F = function (a, b, c) { if (this instanceof C) { switch (arguments.length) { case 0: return new C(); case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); } return C.apply(this, arguments); }; F[PROTOTYPE] = C[PROTOTYPE]; return F; // make static versions for prototype methods })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% if (IS_PROTO) { (exports.virtual || (exports.virtual = {}))[key] = out; // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); } } }; // type bitmap $export.F = 1; // forced $export.G = 2; // global $export.S = 4; // static $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { var store = __webpack_require__(45)('wks'); var uid = __webpack_require__(46); var Symbol = __webpack_require__(11).Symbol; var USE_SYMBOL = typeof Symbol == 'function'; var $exports = module.exports = function (name) { return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); }; $exports.store = store; /***/ }), /* 10 */ /***/ (function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self // eslint-disable-next-line no-new-func : Function('return this')(); if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /***/ }), /* 11 */ /***/ (function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self // eslint-disable-next-line no-new-func : Function('return this')(); if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /***/ }), /* 12 */ /***/ (function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; module.exports = function (it, key) { return hasOwnProperty.call(it, key); }; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty module.exports = !__webpack_require__(25)(function () { return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(18); var IE8_DOM_DEFINE = __webpack_require__(74); var toPrimitive = __webpack_require__(49); var dP = Object.defineProperty; exports.f = __webpack_require__(13) ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (IE8_DOM_DEFINE) try { return dP(O, P, Attributes); } catch (e) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(94); var defined = __webpack_require__(39); module.exports = function (it) { return IObject(defined(it)); }; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { var store = __webpack_require__(53)('wks'); var uid = __webpack_require__(35); var Symbol = __webpack_require__(10).Symbol; var USE_SYMBOL = typeof Symbol == 'function'; var $exports = module.exports = function (name) { return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); }; $exports.store = store; /***/ }), /* 17 */ /***/ (function(module, exports) { module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(17); module.exports = function (it) { if (!isObject(it)) throw TypeError(it + ' is not an object!'); return it; }; /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(22); module.exports = function (it) { if (!isObject(it)) throw TypeError(it + ' is not an object!'); return it; }; /***/ }), /* 20 */ /***/ (function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty module.exports = !__webpack_require__(24)(function () { return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /* 21 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(36); var createDesc = __webpack_require__(67); module.exports = __webpack_require__(20) ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /* 22 */ /***/ (function(module, exports) { module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(14); var createDesc = __webpack_require__(30); module.exports = __webpack_require__(13) ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /* 24 */ /***/ (function(module, exports) { module.exports = function (exec) { try { return !!exec(); } catch (e) { return true; } }; /***/ }), /* 25 */ /***/ (function(module, exports) { module.exports = function (exec) { try { return !!exec(); } catch (e) { return true; } }; /***/ }), /* 26 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) var $export = __webpack_require__(37); var $find = __webpack_require__(100)(5); var KEY = 'find'; var forced = true; // Shouldn't skip holes if (KEY in []) Array(1)[KEY](function () { forced = false; }); $export($export.P + $export.F * forced, 'Array', { find: function find(callbackfn /* , that = undefined */) { return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); __webpack_require__(73)(KEY); /***/ }), /* 27 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(11); var hide = __webpack_require__(21); var has = __webpack_require__(47); var SRC = __webpack_require__(46)('src'); var $toString = __webpack_require__(87); var TO_STRING = 'toString'; var TPL = ('' + $toString).split(TO_STRING); __webpack_require__(33).inspectSource = function (it) { return $toString.call(it); }; (module.exports = function (O, key, val, safe) { var isFunction = typeof val == 'function'; if (isFunction) has(val, 'name') || hide(val, 'name', key); if (O[key] === val) return; if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); if (O === global) { O[key] = val; } else if (!safe) { delete O[key]; hide(O, key, val); } else if (O[key]) { O[key] = val; } else { hide(O, key, val); } // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative })(Function.prototype, TO_STRING, function toString() { return typeof this == 'function' && this[SRC] || $toString.call(this); }); /***/ }), /* 28 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = __webpack_require__(78); var enumBugKeys = __webpack_require__(54); module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); }; /***/ }), /* 29 */ /***/ (function(module, exports) { var toString = {}.toString; module.exports = function (it) { return toString.call(it).slice(8, -1); }; /***/ }), /* 30 */ /***/ (function(module, exports) { module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /* 31 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) var defined = __webpack_require__(39); module.exports = function (it) { return Object(defined(it)); }; /***/ }), /* 32 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; /***/ }), /* 33 */ /***/ (function(module, exports) { var core = module.exports = { version: '2.6.9' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef /***/ }), /* 34 */ /***/ (function(module, exports) { module.exports = true; /***/ }), /* 35 */ /***/ (function(module, exports) { var id = 0; var px = Math.random(); module.exports = function (key) { return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; /***/ }), /* 36 */ /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(19); var IE8_DOM_DEFINE = __webpack_require__(84); var toPrimitive = __webpack_require__(82); var dP = Object.defineProperty; exports.f = __webpack_require__(20) ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (IE8_DOM_DEFINE) try { return dP(O, P, Attributes); } catch (e) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; /***/ }), /* 37 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(11); var core = __webpack_require__(33); var hide = __webpack_require__(21); var redefine = __webpack_require__(27); var ctx = __webpack_require__(60); var PROTOTYPE = 'prototype'; var $export = function (type, name, source) { var IS_FORCED = type & $export.F; var IS_GLOBAL = type & $export.G; var IS_STATIC = type & $export.S; var IS_PROTO = type & $export.P; var IS_BIND = type & $export.B; var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); var key, own, out, exp; if (IS_GLOBAL) source = name; for (key in source) { // contains in native own = !IS_FORCED && target && target[key] !== undefined; // export native or passed out = (own ? target : source)[key]; // bind timers to global for call from export context exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // extend global if (target) redefine(target, key, out, type & $export.U); // export if (exports[key] != out) hide(exports, key, exp); if (IS_PROTO && expProto[key] != out) expProto[key] = out; } }; global.core = core; // type bitmap $export.F = 1; // forced $export.G = 2; // global $export.S = 4; // static $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; /***/ }), /* 38 */ /***/ (function(module, exports, __webpack_require__) { var pIE = __webpack_require__(41); var createDesc = __webpack_require__(30); var toIObject = __webpack_require__(15); var toPrimitive = __webpack_require__(49); var has = __webpack_require__(12); var IE8_DOM_DEFINE = __webpack_require__(74); var gOPD = Object.getOwnPropertyDescriptor; exports.f = __webpack_require__(13) ? gOPD : function getOwnPropertyDescriptor(O, P) { O = toIObject(O); P = toPrimitive(P, true); if (IE8_DOM_DEFINE) try { return gOPD(O, P); } catch (e) { /* empty */ } if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); }; /***/ }), /* 39 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; /***/ }), /* 40 */ /***/ (function(module, exports) { module.exports = {}; /***/ }), /* 41 */ /***/ (function(module, exports) { exports.f = {}.propertyIsEnumerable; /***/ }), /* 42 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.15 ToLength var toInteger = __webpack_require__(43); var min = Math.min; module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; /***/ }), /* 43 */ /***/ (function(module, exports) { // 7.1.4 ToInteger var ceil = Math.ceil; var floor = Math.floor; module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; /***/ }), /* 44 */ /***/ (function(module, exports, __webpack_require__) { var _Object$getOwnPropertyDescriptor = __webpack_require__(141); var _Reflect$get = __webpack_require__(148); var getPrototypeOf = __webpack_require__(3); var superPropBase = __webpack_require__(151); function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && _Reflect$get) { module.exports = _get = _Reflect$get; } 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; }; } return _get(target, property, receiver || target); } module.exports = _get; /***/ }), /* 45 */ /***/ (function(module, exports, __webpack_require__) { var core = __webpack_require__(33); var global = __webpack_require__(11); var SHARED = '__core-js_shared__'; var store = global[SHARED] || (global[SHARED] = {}); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: core.version, mode: __webpack_require__(71) ? 'pure' : 'global', copyright: '© 2019 Denis Pushkarev (zloirock.ru)' }); /***/ }), /* 46 */ /***/ (function(module, exports) { var id = 0; var px = Math.random(); module.exports = function (key) { return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; /***/ }), /* 47 */ /***/ (function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; module.exports = function (it, key) { return hasOwnProperty.call(it, key); }; /***/ }), /* 48 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(36).f; var FProto = Function.prototype; var nameRE = /^\s*function ([^ (]*)/; var NAME = 'name'; // 19.2.4.2 name NAME in FProto || __webpack_require__(20) && dP(FProto, NAME, { configurable: true, get: function () { try { return ('' + this).match(nameRE)[1]; } catch (e) { return ''; } } }); /***/ }), /* 49 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) var isObject = __webpack_require__(17); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string module.exports = function (it, S) { if (!isObject(it)) return it; var fn, val; if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; throw TypeError("Can't convert object to primitive value"); }; /***/ }), /* 50 */ /***/ (function(module, exports) { // 7.1.4 ToInteger var ceil = Math.ceil; var floor = Math.floor; module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; /***/ }), /* 51 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = __webpack_require__(18); var dPs = __webpack_require__(101); var enumBugKeys = __webpack_require__(54); var IE_PROTO = __webpack_require__(52)('IE_PROTO'); var Empty = function () { /* empty */ }; var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function () { // Thrash, waste and sodomy: IE GC bug var iframe = __webpack_require__(75)('iframe'); var i = enumBugKeys.length; var lt = '<'; var gt = '>'; var iframeDocument; iframe.style.display = 'none'; __webpack_require__(116).appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url // createDict = iframe.contentWindow.Object; // html.removeChild(iframe); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); iframeDocument.close(); createDict = iframeDocument.F; while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; return createDict(); }; module.exports = Object.create || function create(O, Properties) { var result; if (O !== null) { Empty[PROTOTYPE] = anObject(O); result = new Empty(); Empty[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; } else result = createDict(); return Properties === undefined ? result : dPs(result, Properties); }; /***/ }), /* 52 */ /***/ (function(module, exports, __webpack_require__) { var shared = __webpack_require__(53)('keys'); var uid = __webpack_require__(35); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); }; /***/ }), /* 53 */ /***/ (function(module, exports, __webpack_require__) { var core = __webpack_require__(1); var global = __webpack_require__(10); var SHARED = '__core-js_shared__'; var store = global[SHARED] || (global[SHARED] = {}); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: core.version, mode: __webpack_require__(34) ? 'pure' : 'global', copyright: '© 2019 Denis Pushkarev (zloirock.ru)' }); /***/ }), /* 54 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); /***/ }), /* 55 */ /***/ (function(module, exports, __webpack_require__) { var def = __webpack_require__(14).f; var has = __webpack_require__(12); var TAG = __webpack_require__(16)('toStringTag'); module.exports = function (it, tag, stat) { if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); }; /***/ }), /* 56 */ /***/ (function(module, exports, __webpack_require__) { exports.f = __webpack_require__(16); /***/ }), /* 57 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(10); var core = __webpack_require__(1); var LIBRARY = __webpack_require__(34); var wksExt = __webpack_require__(56); var defineProperty = __webpack_require__(14).f; module.exports = function (name) { var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); }; /***/ }), /* 58 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(152); /***/ }), /* 59 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = __webpack_require__(12); var toObject = __webpack_require__(31); var IE_PROTO = __webpack_require__(52)('IE_PROTO'); var ObjectProto = Object.prototype; module.exports = Object.getPrototypeOf || function (O) { O = toObject(O); if (has(O, IE_PROTO)) return O[IE_PROTO]; if (typeof O.constructor == 'function' && O instanceof O.constructor) { return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; }; /***/ }), /* 60 */ /***/ (function(module, exports, __webpack_require__) { // optional / simple context binding var aFunction = __webpack_require__(61); module.exports = function (fn, that, length) { aFunction(fn); if (that === undefined) return fn; switch (length) { case 1: return function (a) { return fn.call(that, a); }; case 2: return function (a, b) { return fn.call(that, a, b); }; case 3: return function (a, b, c) { return fn.call(that, a, b, c); }; } return function (/* ...args */) { return fn.apply(that, arguments); }; }; /***/ }), /* 61 */ /***/ (function(module, exports) { module.exports = function (it) { if (typeof it != 'function') throw TypeError(it + ' is not a function!'); return it; }; /***/ }), /* 62 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) var defined = __webpack_require__(32); module.exports = function (it) { return Object(defined(it)); }; /***/ }), /* 63 */ /***/ (function(module, exports, __webpack_require__) { // most Object methods by ES6 should accept primitives var $export = __webpack_require__(8); var core = __webpack_require__(1); var fails = __webpack_require__(25); module.exports = function (KEY, exec) { var fn = (core.Object || {})[KEY] || Object[KEY]; var exp = {}; exp[KEY] = exec(fn); $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); }; /***/ }), /* 64 */ /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; /***/ }), /* 65 */ /***/ (function(module, exports, __webpack_require__) { var _Symbol$iterator = __webpack_require__(110); var _Symbol = __webpack_require__(120); function _typeof2(obj) { if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } function _typeof(obj) { if (typeof _Symbol === "function" && _typeof2(_Symbol$iterator) === "symbol") { module.exports = _typeof = function _typeof(obj) { return _typeof2(obj); }; } else { module.exports = _typeof = function _typeof(obj) { return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : _typeof2(obj); }; } return _typeof(obj); } module.exports = _typeof; /***/ }), /* 66 */ /***/ (function(module, exports) { var toString = {}.toString; module.exports = function (it) { return toString.call(it).slice(8, -1); }; /***/ }), /* 67 */ /***/ (function(module, exports) { module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /* 68 */ /***/ (function(module, exports, __webpack_require__) { // optional / simple context binding var aFunction = __webpack_require__(109); module.exports = function (fn, that, length) { aFunction(fn); if (that === undefined) return fn; switch (length) { case 1: return function (a) { return fn.call(that, a); }; case 2: return function (a, b) { return fn.call(that, a, b); }; case 3: return function (a, b, c) { return fn.call(that, a, b, c); }; } return function (/* ...args */) { return fn.apply(that, arguments); }; }; /***/ }), /* 69 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = __webpack_require__(78); var hiddenKeys = __webpack_require__(54).concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); }; /***/ }), /* 70 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(22); var document = __webpack_require__(11).document; // typeof document.createElement is 'object' in old IE var is = isObject(document) && isObject(document.createElement); module.exports = function (it) { return is ? document.createElement(it) : {}; }; /***/ }), /* 71 */ /***/ (function(module, exports) { module.exports = false; /***/ }), /* 72 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var regexpFlags = __webpack_require__(99); var nativeExec = RegExp.prototype.exec; // This always refers to the native implementation, because the // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, // which loads this file before patching the method. var nativeReplace = String.prototype.replace; var patchedExec = nativeExec; var LAST_INDEX = 'lastIndex'; var UPDATES_LAST_INDEX_WRONG = (function () { var re1 = /a/, re2 = /b*/g; nativeExec.call(re1, 'a'); nativeExec.call(re2, 'a'); return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; })(); // nonparticipating capturing group, copied from es5-shim's String#split patch. var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; if (PATCH) { patchedExec = function exec(str) { var re = this; var lastIndex, reCopy, match, i; if (NPCG_INCLUDED) { reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); } if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; match = nativeExec.call(re, str); if (UPDATES_LAST_INDEX_WRONG && match) { re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; } if (NPCG_INCLUDED && match && match.length > 1) { // Fix browsers whose `exec` methods don't consistently return `undefined` // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ // eslint-disable-next-line no-loop-func nativeReplace.call(match[0], reCopy, function () { for (i = 1; i < arguments.length - 2; i++) { if (arguments[i] === undefined) match[i] = undefined; } }); } return match; }; } module.exports = patchedExec; /***/ }), /* 73 */ /***/ (function(module, exports, __webpack_require__) { // 22.1.3.31 Array.prototype[@@unscopables] var UNSCOPABLES = __webpack_require__(9)('unscopables'); var ArrayProto = Array.prototype; if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(21)(ArrayProto, UNSCOPABLES, {}); module.exports = function (key) { ArrayProto[UNSCOPABLES][key] = true; }; /***/ }), /* 74 */ /***/ (function(module, exports, __webpack_require__) { module.exports = !__webpack_require__(13) && !__webpack_require__(25)(function () { return Object.defineProperty(__webpack_require__(75)('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /* 75 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(17); var document = __webpack_require__(10).document; // typeof document.createElement is 'object' in old IE var is = isObject(document) && isObject(document.createElement); module.exports = function (it) { return is ? document.createElement(it) : {}; }; /***/ }), /* 76 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var LIBRARY = __webpack_require__(34); var $export = __webpack_require__(8); var redefine = __webpack_require__(77); var hide = __webpack_require__(23); var Iterators = __webpack_require__(40); var $iterCreate = __webpack_require__(113); var setToStringTag = __webpack_require__(55); var getPrototypeOf = __webpack_require__(59); var ITERATOR = __webpack_require__(16)('iterator'); var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` var FF_ITERATOR = '@@iterator'; var KEYS = 'keys'; var VALUES = 'values'; var returnThis = function () { return this; }; module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { $iterCreate(Constructor, NAME, next); var getMethod = function (kind) { if (!BUGGY && kind in proto) return proto[kind]; switch (kind) { case KEYS: return function keys() { return new Constructor(this, kind); }; case VALUES: return function values() { return new Constructor(this, kind); }; } return function entries() { return new Constructor(this, kind); }; }; var TAG = NAME + ' Iterator'; var DEF_VALUES = DEFAULT == VALUES; var VALUES_BUG = false; var proto = Base.prototype; var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; var $default = $native || getMethod(DEFAULT); var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; var methods, key, IteratorPrototype; // Fix native if ($anyNative) { IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { // Set @@toStringTag to native iterators setToStringTag(IteratorPrototype, TAG, true); // fix for some old engines if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); } } // fix Array#{values, @@iterator}.name in V8 / FF if (DEF_VALUES && $native && $native.name !== VALUES) { VALUES_BUG = true; $default = function values() { return $native.call(this); }; } // Define iterator if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { hide(proto, ITERATOR, $default); } // Plug for library Iterators[NAME] = $default; Iterators[TAG] = returnThis; if (DEFAULT) { methods = { values: DEF_VALUES ? $default : getMethod(VALUES), keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; if (FORCED) for (key in methods) { if (!(key in proto)) redefine(proto, key, methods[key]); } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; }; /***/ }), /* 77 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(23); /***/ }), /* 78 */ /***/ (function(module, exports, __webpack_require__) { var has = __webpack_require__(12); var toIObject = __webpack_require__(15); var arrayIndexOf = __webpack_require__(114)(false); var IE_PROTO = __webpack_require__(52)('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); var i = 0; var result = []; var key; for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); // Don't enum bug & hidden keys while (names.length > i) if (has(O, key = names[i++])) { ~arrayIndexOf(result, key) || result.push(key); } return result; }; /***/ }), /* 79 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(131); /***/ }), /* 80 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var anObject = __webpack_require__(19); var toObject = __webpack_require__(62); var toLength = __webpack_require__(42); var toInteger = __webpack_require__(43); var advanceStringIndex = __webpack_require__(92); var regExpExec = __webpack_require__(85); var max = Math.max; var min = Math.min; var floor = Math.floor; var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; var maybeToString = function (it) { return it === undefined ? it : String(it); }; // @@replace logic __webpack_require__(86)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { return [ // `String.prototype.replace` method // https://tc39.github.io/ecma262/#sec-string.prototype.replace function replace(searchValue, replaceValue) { var O = defined(this); var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; return fn !== undefined ? fn.call(searchValue, O, replaceValue) : $replace.call(String(O), searchValue, replaceValue); }, // `RegExp.prototype[@@replace]` method // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace function (regexp, replaceValue) { var res = maybeCallNative($replace, regexp, this, replaceValue); if (res.done) return res.value; var rx = anObject(regexp); var S = String(this); var functionalReplace = typeof replaceValue === 'function'; if (!functionalReplace) replaceValue = String(replaceValue); var global = rx.global; if (global) { var fullUnicode = rx.unicode; rx.lastIndex = 0; } var results = []; while (true) { var result = regExpExec(rx, S); if (result === null) break; results.push(result); if (!global) break; var matchStr = String(result[0]); if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); } var accumulatedResult = ''; var nextSourcePosition = 0; for (var i = 0; i < results.length; i++) { result = results[i]; var matched = String(result[0]); var position = max(min(toInteger(result.index), S.length), 0); var captures = []; // NOTE: This is equivalent to // captures = result.slice(1).map(maybeToString) // but for some reason `nativeSlice.call(result, 1, result.length)` (called in // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); var namedCaptures = result.groups; if (functionalReplace) { var replacerArgs = [matched].concat(captures, position, S); if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); var replacement = String(replaceValue.apply(undefined, replacerArgs)); } else { replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); } if (position >= nextSourcePosition) { accumulatedResult += S.slice(nextSourcePosition, position) + replacement; nextSourcePosition = position + matched.length; } } return accumulatedResult + S.slice(nextSourcePosition); } ]; // https://tc39.github.io/ecma262/#sec-getsubstitution function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { var tailPos = position + matched.length; var m = captures.length; var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; if (namedCaptures !== undefined) { namedCaptures = toObject(namedCaptures); symbols = SUBSTITUTION_SYMBOLS; } return $replace.call(replacement, symbols, function (match, ch) { var capture; switch (ch.charAt(0)) { case '$': return '$'; case '&': return matched; case '`': return str.slice(0, position); case "'": return str.slice(tailPos); case '<': capture = namedCaptures[ch.slice(1, -1)]; break; default: // \d\d? var n = +ch; if (n === 0) return match; if (n > m) { var f = floor(n / 10); if (f === 0) return match; if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); return match; } capture = captures[n - 1]; } return capture === undefined ? '' : capture; }); } }); /***/ }), /* 81 */ /***/ (function(module, exports) { 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; /***/ }), /* 82 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) var isObject = __webpack_require__(22); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string module.exports = function (it, S) { if (!isObject(it)) return it; var fn, val; if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; throw TypeError("Can't convert object to primitive value"); }; /***/ }), /* 83 */ /***/ (function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = __webpack_require__(29); // eslint-disable-next-line no-prototype-builtins module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }), /* 84 */ /***/ (function(module, exports, __webpack_require__) { module.exports = !__webpack_require__(20) && !__webpack_require__(24)(function () { return Object.defineProperty(__webpack_require__(70)('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /* 85 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var classof = __webpack_require__(93); var builtinExec = RegExp.prototype.exec; // `RegExpExec` abstract operation // https://tc39.github.io/ecma262/#sec-regexpexec module.exports = function (R, S) { var exec = R.exec; if (typeof exec === 'function') { var result = exec.call(R, S); if (typeof result !== 'object') { throw new TypeError('RegExp exec method returned something other than an Object or null'); } return result; } if (classof(R) !== 'RegExp') { throw new TypeError('RegExp#exec called on incompatible receiver'); } return builtinExec.call(R, S); }; /***/ }), /* 86 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(145); var redefine = __webpack_require__(27); var hide = __webpack_require__(21); var fails = __webpack_require__(24); var defined = __webpack_require__(32); var wks = __webpack_require__(9); var regexpExec = __webpack_require__(72); var SPECIES = wks('species'); var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { // #replace needs built-in support for named groups. // #match works fine because it just return the exec results, even if it has // a "grops" property. var re = /./; re.exec = function () { var result = []; result.groups = { a: '7' }; return result; }; return ''.replace(re, '$<a>') !== '7'; }); var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec var re = /(?:)/; var originalExec = re.exec; re.exec = function () { return originalExec.apply(this, arguments); }; var result = 'ab'.split(re); return result.length === 2 && result[0] === 'a' && result[1] === 'b'; })(); module.exports = function (KEY, length, exec) { var SYMBOL = wks(KEY); var DELEGATES_TO_SYMBOL = !fails(function () { // String methods call symbol-named RegEp methods var O = {}; O[SYMBOL] = function () { return 7; }; return ''[KEY](O) != 7; }); var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { // Symbol-named RegExp methods call .exec var execCalled = false; var re = /a/; re.exec = function () { execCalled = true; return null; }; if (KEY === 'split') { // RegExp[@@split] doesn't call the regex's exec method, but first creates // a new one. We need to return the patched regex when creating the new one. re.constructor = {}; re.constructor[SPECIES] = function () { return re; }; } re[SYMBOL](''); return !execCalled; }) : undefined; if ( !DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) ) { var nativeRegExpMethod = /./[SYMBOL]; var fns = exec( defined, SYMBOL, ''[KEY], function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { if (regexp.exec === regexpExec) { if (DELEGATES_TO_SYMBOL && !forceStringMethod) { // The native String method already delegates to @@method (this // polyfilled function), leasing to infinite recursion. // We avoid it by directly calling the native @@method method. return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; } return { done: true, value: nativeMethod.call(str, regexp, arg2) }; } return { done: false }; } ); var strfn = fns[0]; var rxfn = fns[1]; redefine(String.prototype, KEY, strfn); hide(RegExp.prototype, SYMBOL, length == 2 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) // 21.2.5.11 RegExp.prototype[@@split](string, limit) ? function (string, arg) { return rxfn.call(string, this, arg); } // 21.2.5.6 RegExp.prototype[@@match](string) // 21.2.5.9 RegExp.prototype[@@search](string) : function (string) { return rxfn.call(string, this); } ); } }; /***/ }), /* 87 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(45)('native-function-to-string', Function.toString); /***/ }), /* 88 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var $at = __webpack_require__(112)(true); // 21.1.3.27 String.prototype[@@iterator]() __webpack_require__(76)(String, 'String', function (iterated) { this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() }, function () { var O = this._t; var index = this._i; var point; if (index >= O.length) return { value: undefined, done: true }; point = $at(O, index); this._i += point.length; return { value: point, done: false }; }); /***/ }), /* 89 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var isRegExp = __webpack_require__(139); var anObject = __webpack_require__(19); var speciesConstructor = __webpack_require__(156); var advanceStringIndex = __webpack_require__(92); var toLength = __webpack_require__(42); var callRegExpExec = __webpack_require__(85); var regexpExec = __webpack_require__(72); var fails = __webpack_require__(24); var $min = Math.min; var $push = [].push; var $SPLIT = 'split'; var LENGTH = 'length'; var LAST_INDEX = 'lastIndex'; var MAX_UINT32 = 0xffffffff; // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError var SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); }); // @@split logic __webpack_require__(86)('split', 2, function (defined, SPLIT, $split, maybeCallNative) { var internalSplit; if ( 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || '.'[$SPLIT](/()()/)[LENGTH] > 1 || ''[$SPLIT](/.?/)[LENGTH] ) { // based on es5-shim implementation, need to rework it internalSplit = function (separator, limit) { var string = String(this); if (separator === undefined && limit === 0) return []; // If `separator` is not a regex, use native split if (!isRegExp(separator)) return $split.call(string, separator, limit); var output = []; var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : ''); var lastLastIndex = 0; var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0; // Make `global` and avoid `lastIndex` issues by working with a copy var separatorCopy = new RegExp(separator.source, flags + 'g'); var match, lastIndex, lastLength; while (match = regexpExec.call(separatorCopy, string)) { lastIndex = separatorCopy[LAST_INDEX]; if (lastIndex > lastLastIndex) { output.push(string.slice(lastLastIndex, match.index)); if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); lastLength = match[0][LENGTH]; lastLastIndex = lastIndex; if (output[LENGTH] >= splitLimit) break; } if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop } if (lastLastIndex === string[LENGTH]) { if (lastLength || !separatorCopy.test('')) output.push(''); } else output.push(string.slice(lastLastIndex)); return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; }; // Chakra, V8 } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { internalSplit = function (separator, limit) { return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); }; } else { internalSplit = $split; } return [ // `String.prototype.split` method // https://tc39.github.io/ecma262/#sec-string.prototype.split function split(separator, limit) { var O = defined(this); var splitter = separator == undefined ? undefined : separator[SPLIT]; return splitter !== undefined ? splitter.call(separator, O, limit) : internalSplit.call(String(O), separator, limit); }, // `RegExp.prototype[@@split]` method // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split // // NOTE: This cannot be properly polyfilled in engines that don't support // the 'y' flag. function (regexp, limit) { var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); if (res.done) return res.value; var rx = anObject(regexp); var S = String(this); var C = speciesConstructor(rx, RegExp); var unicodeMatching = rx.unicode; var flags = (rx.ignoreCase ? 'i' : '') + (rx.multiline ? 'm' : '') + (rx.unicode ? 'u' : '') + (SUPPORTS_Y ? 'y' : 'g'); // ^(? + rx + ) is needed, in combination with some S slicing, to // simulate the 'y' flag. var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; if (lim === 0) return []; if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; var p = 0; var q = 0; var A = []; while (q < S.length) { splitter.lastIndex = SUPPORTS_Y ? q : 0; var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); var e; if ( z === null || (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p ) { q = advanceStringIndex(S, q, unicodeMatching); } else { A.push(S.slice(p, q)); if (A.length === lim) return A; for (var i = 1; i <= z.length - 1; i++) { A.push(z[i]); if (A.length === lim) return A; } q = p = e; } } A.push(S.slice(p)); return A; } ]; }); /***/ }), /* 90 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(117); var global = __webpack_require__(10); var hide = __webpack_require__(23); var Iterators = __webpack_require__(40); var TO_STRING_TAG = __webpack_require__(16)('toStringTag'); var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + 'TextTrackList,TouchList').split(','); for (var i = 0; i < DOMIterables.length; i++) { var NAME = DOMIterables[i]; var Collection = global[NAME]; var proto = Collection && Collection.prototype; if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = Iterators.Array; } /***/ }), /* 91 */ /***/ (function(module, exports, __webpack_require__) { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(83); var defined = __webpack_require__(32); module.exports = function (it) { return IObject(defined(it)); }; /***/ }), /* 92 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var at = __webpack_require__(144)(true); // `AdvanceStringIndex` abstract operation // https://tc39.github.io/ecma262/#sec-advancestringindex module.exports = function (S, index, unicode) { return index + (unicode ? at(S, index).length : 1); }; /***/ }), /* 93 */ /***/ (function(module, exports, __webpack_require__) { // getting tag from 19.1.3.6 Object.prototype.toString() var cof = __webpack_require__(29); var TAG = __webpack_require__(9)('toStringTag'); // ES3 wrong here var ARG = cof(function () { return arguments; }()) == 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { try { return it[key]; } catch (e) { /* empty */ } }; module.exports = function (it) { var O, T, B; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T // builtinTag case : ARG ? cof(O) // ES3 arguments fallback : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; }; /***/ }), /* 94 */ /***/ (function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = __webpack_require__(66); // eslint-disable-next-line no-prototype-builtins module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }), /* 95 */ /***/ (function(module, exports, __webpack_require__) { // 7.2.2 IsArray(argument) var cof = __webpack_require__(66); module.exports = Array.isArray || function isArray(arg) { return cof(arg) == 'Array'; }; /***/ }), /* 96 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(134); /***/ }), /* 97 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseView = __webpack_require__(186), TagsBehavior = __webpack_require__(285), Validator = __webpack_require__(207), ControlBaseDataView; ControlBaseDataView = ControlBaseView.extend({ 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"]', tooltipTarget: '.tooltip-target' }); 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': 'onBaseInputChange', 'change @ui.checkbox': 'onBaseInputChange', 'change @ui.radio': 'onBaseInputChange', 'input @ui.textarea': 'onBaseInputChange', 'change @ui.select': 'onBaseInputChange', 'input @ui.contentEditable': 'onBaseInputChange', 'click @ui.responsiveSwitchers': 'onResponsiveSwitchersClick' }; }, behaviors: function behaviors() { var behaviors = {}, dynamicSettings = this.options.model.get('dynamic'); if (dynamicSettings && dynamicSettings.active) { var tags = _.filter(elementor.dynamicTags.getConfig('tags'), function (tag) { return _.intersection(tag.categories, dynamicSettings.categories).length; }); if (tags.length) { behaviors.tags = { behaviorClass: TagsBehavior, tags: tags, dynamicSettings: dynamicSettings }; } } return behaviors; }, initialize: function initialize() { ControlBaseView.prototype.initialize.apply(this, arguments); this.registerValidators(); this.listenTo(this.elementSettingsModel, 'change:external:' + this.model.get('name'), this.onAfterExternalChange); }, getControlValue: function getControlValue() { return this.elementSettingsModel.get(this.model.get('name')); }, setValue: function setValue(value) { this.setSettingsModel(value); }, setSettingsModel: function setSettingsModel(value) { this.elementSettingsModel.set(this.model.get('name'), 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'); settings.set(settingKey, settingValue); }, 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() { this.validators = []; var validationTerms = {}; if (this.model.get('required')) { validationTerms.required = true; } if (!jQuery.isEmptyObject(validationTerms)) { this.addValidator(new Validator({ validationTerms: validationTerms })); } }, 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(); }, onBaseInputChange: function onBaseInputChange(event) { clearTimeout(this.correctionTimeout); var input = event.currentTarget, value = this.getInputValue(input), validators = this.validators.slice(0), settingsValidators = this.elementSettingsModel.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 device = jQuery(event.currentTarget).data('device'); 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); }, onAfterExternalChange: function onAfterExternalChange() { this.hideTooltip(); this.applySavedValue(); }, addTooltip: function addTooltip() { if (!this.ui.tooltipTarget) { return; } // Create tooltip on controls this.ui.tooltipTarget.tipsy({ gravity: function gravity() { // `n` for down, `s` for up var gravity = jQuery(this).data('tooltip-pos'); if (undefined !== gravity) { return gravity; } return 'n'; }, title: function title() { return this.getAttribute('data-tooltip'); } }); }, hideTooltip: function hideTooltip() { if (this.ui.tooltipTarget) { this.ui.tooltipTarget.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; /***/ }), /* 98 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var anObject = __webpack_require__(19); var toLength = __webpack_require__(42); var advanceStringIndex = __webpack_require__(92); var regExpExec = __webpack_require__(85); // @@match logic __webpack_require__(86)('match', 1, function (defined, MATCH, $match, maybeCallNative) { return [ // `String.prototype.match` method // https://tc39.github.io/ecma262/#sec-string.prototype.match function match(regexp) { var O = defined(this); var fn = regexp == undefined ? undefined : regexp[MATCH]; return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); }, // `RegExp.prototype[@@match]` method // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match function (regexp) { var res = maybeCallNative($match, regexp, this); if (res.done) return res.value; var rx = anObject(regexp); var S = String(this); if (!rx.global) return regExpExec(rx, S); var fullUnicode = rx.unicode; rx.lastIndex = 0; var A = []; var n = 0; var result; while ((result = regExpExec(rx, S)) !== null) { var matchStr = String(result[0]); A[n] = matchStr; if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); n++; } return n === 0 ? null : A; } ]; }); /***/ }), /* 99 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // 21.2.5.3 get RegExp.prototype.flags var anObject = __webpack_require__(19); module.exports = function () { var that = anObject(this); var result = ''; if (that.global) result += 'g'; if (that.ignoreCase) result += 'i'; if (that.multiline) result += 'm'; if (that.unicode) result += 'u'; if (that.sticky) result += 'y'; return result; }; /***/ }), /* 100 */ /***/ (function(module, exports, __webpack_require__) { // 0 -> Array#forEach // 1 -> Array#map // 2 -> Array#filter // 3 -> Array#some // 4 -> Array#every // 5 -> Array#find // 6 -> Array#findIndex var ctx = __webpack_require__(60); var IObject = __webpack_require__(83); var toObject = __webpack_require__(62); var toLength = __webpack_require__(42); var asc = __webpack_require__(104); module.exports = function (TYPE, $create) { var IS_MAP = TYPE == 1; var IS_FILTER = TYPE == 2; var IS_SOME = TYPE == 3; var IS_EVERY = TYPE == 4; var IS_FIND_INDEX = TYPE == 6; var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; var create = $create || asc; return function ($this, callbackfn, that) { var O = toObject($this); var self = IObject(O); var f = ctx(callbackfn, that, 3); var length = toLength(self.length); var index = 0; var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; var val, res; for (;length > index; index++) if (NO_HOLES || index in self) { val = self[index]; res = f(val, index, O); if (TYPE) { if (IS_MAP) result[index] = res; // map else if (res) switch (TYPE) { case 3: return true; // some case 5: return val; // find case 6: return index; // findIndex case 2: result.push(val); // filter } else if (IS_EVERY) return false; // every } } return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; }; }; /***/ }), /* 101 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(14); var anObject = __webpack_require__(18); var getKeys = __webpack_require__(28); module.exports = __webpack_require__(13) ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = getKeys(Properties); var length = keys.length; var i = 0; var P; while (length > i) dP.f(O, P = keys[i++], Properties[P]); return O; }; /***/ }), /* 102 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.15 ToLength var toInteger = __webpack_require__(50); var min = Math.min; module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; /***/ }), /* 103 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // ECMAScript 6 symbols shim var global = __webpack_require__(10); var has = __webpack_require__(12); var DESCRIPTORS = __webpack_require__(13); var $export = __webpack_require__(8); var redefine = __webpack_require__(77); var META = __webpack_require__(122).KEY; var $fails = __webpack_require__(25); var shared = __webpack_require__(53); var setToStringTag = __webpack_require__(55); var uid = __webpack_require__(35); var wks = __webpack_require__(16); var wksExt = __webpack_require__(56); var wksDefine = __webpack_require__(57); var enumKeys = __webpack_require__(123); var isArray = __webpack_require__(95); var anObject = __webpack_require__(18); var isObject = __webpack_require__(17); var toObject = __webpack_require__(31); var toIObject = __webpack_require__(15); var toPrimitive = __webpack_require__(49); var createDesc = __webpack_require__(30); var _create = __webpack_require__(51); var gOPNExt = __webpack_require__(124); var $GOPD = __webpack_require__(38); var $GOPS = __webpack_require__(64); var $DP = __webpack_require__(14); var $keys = __webpack_require__(28); var gOPD = $GOPD.f; var dP = $DP.f; var gOPN = gOPNExt.f; var $Symbol = global.Symbol; var $JSON = global.JSON; var _stringify = $JSON && $JSON.stringify; var PROTOTYPE = 'prototype'; var HIDDEN = wks('_hidden'); var TO_PRIMITIVE = wks('toPrimitive'); var isEnum = {}.propertyIsEnumerable; var SymbolRegistry = shared('symbol-registry'); var AllSymbols = shared('symbols'); var OPSymbols = shared('op-symbols'); var ObjectProto = Object[PROTOTYPE]; var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f; var QObject = global.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 var setSymbolDesc = DESCRIPTORS && $fails(function () { return _create(dP({}, 'a', { get: function () { return dP(this, 'a', { value: 7 }).a; } })).a != 7; }) ? function (it, key, D) { var protoDesc = gOPD(ObjectProto, key); if (protoDesc) delete ObjectProto[key]; dP(it, key, D); if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); } : dP; var wrap = function (tag) { var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); sym._k = tag; return sym; }; var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { return typeof it == 'symbol'; } : function (it) { return it instanceof $Symbol; }; var $defineProperty = function defineProperty(it, key, D) { if (it === ObjectProto) $defineProperty(OPSymbols, key, D); anObject(it); key = toPrimitive(key, true); anObject(D); if (has(AllSymbols, key)) { if (!D.enumerable) { if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); it[HIDDEN][key] = true; } else { if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; D = _create(D, { enumerable: createDesc(0, false) }); } return setSymbolDesc(it, key, D); } return dP(it, key, D); }; var $defineProperties = function defineProperties(it, P) { anObject(it); var keys = enumKeys(P = toIObject(P)); var i = 0; var l = keys.length; var key; while (l > i) $defineProperty(it, key = keys[i++], P[key]); return it; }; var $create = function create(it, P) { return P === undefined ? _create(it) : $defineProperties(_create(it), P); }; var $propertyIsEnumerable = function propertyIsEnumerable(key) { var E = isEnum.call(this, key = toPrimitive(key, true)); if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; }; var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { it = toIObject(it); key = toPrimitive(key, true); if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; var D = gOPD(it, key); if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; return D; }; var $getOwnPropertyNames = function getOwnPropertyNames(it) { var names = gOPN(toIObject(it)); var result = []; var i = 0; var key; while (names.length > i) { if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); } return result; }; var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { var IS_OP = it === ObjectProto; var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); var result = []; var i = 0; var key; while (names.length > i) { if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); } return result; }; // 19.4.1.1 Symbol([description]) if (!USE_NATIVE) { $Symbol = function Symbol() { if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); var tag = uid(arguments.length > 0 ? arguments[0] : undefined); var $set = function (value) { if (this === ObjectProto) $set.call(OPSymbols, value); if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; setSymbolDesc(this, tag, createDesc(1, value)); }; if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); return wrap(tag); }; redefine($Symbol[PROTOTYPE], 'toString', function toString() { return this._k; }); $GOPD.f = $getOwnPropertyDescriptor; $DP.f = $defineProperty; __webpack_require__(69).f = gOPNExt.f = $getOwnPropertyNames; __webpack_require__(41).f = $propertyIsEnumerable; $GOPS.f = $getOwnPropertySymbols; if (DESCRIPTORS && !__webpack_require__(34)) { redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); } wksExt.f = function (name) { return wrap(wks(name)); }; } $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); for (var es6Symbols = ( // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' ).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); $export($export.S + $export.F * !USE_NATIVE, 'Symbol', { // 19.4.2.1 Symbol.for(key) 'for': function (key) { return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); }, // 19.4.2.5 Symbol.keyFor(sym) keyFor: function keyFor(sym) { if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; }, useSetter: function () { setter = true; }, useSimple: function () { setter = false; } }); $export($export.S + $export.F * !USE_NATIVE, 'Object', { // 19.1.2.2 Object.create(O [, Properties]) create: $create, // 19.1.2.4 Object.defineProperty(O, P, Attributes) defineProperty: $defineProperty, // 19.1.2.3 Object.defineProperties(O, Properties) defineProperties: $defineProperties, // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) getOwnPropertyDescriptor: $getOwnPropertyDescriptor, // 19.1.2.7 Object.getOwnPropertyNames(O) getOwnPropertyNames: $getOwnPropertyNames, // 19.1.2.8 Object.getOwnPropertySymbols(O) getOwnPropertySymbols: $getOwnPropertySymbols }); // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives // https://bugs.chromium.org/p/v8/issues/detail?id=3443 var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); }); $export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', { getOwnPropertySymbols: function getOwnPropertySymbols(it) { return $GOPS.f(toObject(it)); } }); // 24.3.2 JSON.stringify(value [, replacer [, space]]) $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { var S = $Symbol(); // MS Edge converts symbol values to JSON as {} // WebKit converts symbol values to JSON as null // V8 throws on boxed symbols return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; })), 'JSON', { stringify: function stringify(it) { var args = [it]; var i = 1; var replacer, $replacer; while (arguments.length > i) args.push(arguments[i++]); $replacer = replacer = args[1]; if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined if (!isArray(replacer)) replacer = function (key, value) { if (typeof $replacer == 'function') value = $replacer.call(this, key, value); if (!isSymbol(value)) return value; }; args[1] = replacer; return _stringify.apply($JSON, args); } }); // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(23)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); // 19.4.3.5 Symbol.prototype[@@toStringTag] setToStringTag($Symbol, 'Symbol'); // 20.2.1.9 Math[@@toStringTag] setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] setToStringTag(global.JSON, 'JSON', true); /***/ }), /* 104 */ /***/ (function(module, exports, __webpack_require__) { // 9.4.2.3 ArraySpeciesCreate(originalArray, length) var speciesConstructor = __webpack_require__(105); module.exports = function (original, length) { return new (speciesConstructor(original))(length); }; /***/ }), /* 105 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(22); var isArray = __webpack_require__(106); var SPECIES = __webpack_require__(9)('species'); module.exports = function (original) { var C; if (isArray(original)) { C = original.constructor; // cross-realm fallback if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; if (isObject(C)) { C = C[SPECIES]; if (C === null) C = undefined; } } return C === undefined ? Array : C; }; /***/ }), /* 106 */ /***/ (function(module, exports, __webpack_require__) { // 7.2.2 IsArray(argument) var cof = __webpack_require__(29); module.exports = Array.isArray || function isArray(arg) { return cof(arg) == 'Array'; }; /***/ }), /* 107 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(108); var $Object = __webpack_require__(1).Object; module.exports = function defineProperty(it, key, desc) { return $Object.defineProperty(it, key, desc); }; /***/ }), /* 108 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(8); // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) $export($export.S + $export.F * !__webpack_require__(13), 'Object', { defineProperty: __webpack_require__(14).f }); /***/ }), /* 109 */ /***/ (function(module, exports) { module.exports = function (it) { if (typeof it != 'function') throw TypeError(it + ' is not a function!'); return it; }; /***/ }), /* 110 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(111); /***/ }), /* 111 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(88); __webpack_require__(90); module.exports = __webpack_require__(56).f('iterator'); /***/ }), /* 112 */ /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(50); var defined = __webpack_require__(39); // true -> String#at // false -> String#codePointAt module.exports = function (TO_STRING) { return function (that, pos) { var s = String(defined(that)); var i = toInteger(pos); var l = s.length; var a, b; if (i < 0 || i >= l) return TO_STRING ? '' : undefined; a = s.charCodeAt(i); return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; /***/ }), /* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var create = __webpack_require__(51); var descriptor = __webpack_require__(30); var setToStringTag = __webpack_require__(55); var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() __webpack_require__(23)(IteratorPrototype, __webpack_require__(16)('iterator'), function () { return this; }); module.exports = function (Constructor, NAME, next) { Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); setToStringTag(Constructor, NAME + ' Iterator'); }; /***/ }), /* 114 */ /***/ (function(module, exports, __webpack_require__) { // false -> Array#indexOf // true -> Array#includes var toIObject = __webpack_require__(15); var toLength = __webpack_require__(102); var toAbsoluteIndex = __webpack_require__(115); module.exports = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIObject($this); var length = toLength(O.length); var index = toAbsoluteIndex(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not } else for (;length > index; index++) if (IS_INCLUDES || index in O) { if (O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; /***/ }), /* 115 */ /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(50); var max = Math.max; var min = Math.min; module.exports = function (index, length) { index = toInteger(index); return index < 0 ? max(index + length, 0) : min(index, length); }; /***/ }), /* 116 */ /***/ (function(module, exports, __webpack_require__) { var document = __webpack_require__(10).document; module.exports = document && document.documentElement; /***/ }), /* 117 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var addToUnscopables = __webpack_require__(118); var step = __webpack_require__(119); var Iterators = __webpack_require__(40); var toIObject = __webpack_require__(15); // 22.1.3.4 Array.prototype.entries() // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() module.exports = __webpack_require__(76)(Array, 'Array', function (iterated, kind) { this._t = toIObject(iterated); // target this._i = 0; // next index this._k = kind; // kind // 22.1.5.2.1 %ArrayIteratorPrototype%.next() }, function () { var O = this._t; var kind = this._k; var index = this._i++; if (!O || index >= O.length) { this._t = undefined; return step(1); } if (kind == 'keys') return step(0, index); if (kind == 'values') return step(0, O[index]); return step(0, [index, O[index]]); }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) Iterators.Arguments = Iterators.Array; addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); /***/ }), /* 118 */ /***/ (function(module, exports) { module.exports = function () { /* empty */ }; /***/ }), /* 119 */ /***/ (function(module, exports) { module.exports = function (done, value) { return { value: value, done: !!done }; }; /***/ }), /* 120 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(121); /***/ }), /* 121 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(103); __webpack_require__(125); __webpack_require__(126); __webpack_require__(127); module.exports = __webpack_require__(1).Symbol; /***/ }), /* 122 */ /***/ (function(module, exports, __webpack_require__) { var META = __webpack_require__(35)('meta'); var isObject = __webpack_require__(17); var has = __webpack_require__(12); var setDesc = __webpack_require__(14).f; var id = 0; var isExtensible = Object.isExtensible || function () { return true; }; var FREEZE = !__webpack_require__(25)(function () { return isExtensible(Object.preventExtensions({})); }); var setMeta = function (it) { setDesc(it, META, { value: { i: 'O' + ++id, // object ID w: {} // weak collections IDs } }); }; var fastKey = function (it, create) { // return primitive with prefix if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; if (!has(it, META)) { // can't set metadata to uncaught frozen object if (!isExtensible(it)) return 'F'; // not necessary to add metadata if (!create) return 'E'; // add missing metadata setMeta(it); // return object ID } return it[META].i; }; var getWeak = function (it, create) { if (!has(it, META)) { // can't set metadata to uncaught frozen object if (!isExtensible(it)) return true; // not necessary to add metadata if (!create) return false; // add missing metadata setMeta(it); // return hash weak collections IDs } return it[META].w; }; // add metadata on freeze-family methods calling var onFreeze = function (it) { if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); return it; }; var meta = module.exports = { KEY: META, NEED: false, fastKey: fastKey, getWeak: getWeak, onFreeze: onFreeze }; /***/ }), /* 123 */ /***/ (function(module, exports, __webpack_require__) { // all enumerable object keys, includes symbols var getKeys = __webpack_require__(28); var gOPS = __webpack_require__(64); var pIE = __webpack_require__(41); module.exports = function (it) { var result = getKeys(it); var getSymbols = gOPS.f; if (getSymbols) { var symbols = getSymbols(it); var isEnum = pIE.f; var i = 0; var key; while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); } return result; }; /***/ }), /* 124 */ /***/ (function(module, exports, __webpack_require__) { // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window var toIObject = __webpack_require__(15); var gOPN = __webpack_require__(69).f; var toString = {}.toString; var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; var getWindowNames = function (it) { try { return gOPN(it); } catch (e) { return windowNames.slice(); } }; module.exports.f = function getOwnPropertyNames(it) { return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); }; /***/ }), /* 125 */ /***/ (function(module, exports) { /***/ }), /* 126 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(57)('asyncIterator'); /***/ }), /* 127 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(57)('observable'); /***/ }), /* 128 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(129); /***/ }), /* 129 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(130); module.exports = __webpack_require__(1).Object.getPrototypeOf; /***/ }), /* 130 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.9 Object.getPrototypeOf(O) var toObject = __webpack_require__(31); var $getPrototypeOf = __webpack_require__(59); __webpack_require__(63)('getPrototypeOf', function () { return function getPrototypeOf(it) { return $getPrototypeOf(toObject(it)); }; }); /***/ }), /* 131 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(132); module.exports = __webpack_require__(1).Object.setPrototypeOf; /***/ }), /* 132 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.3.19 Object.setPrototypeOf(O, proto) var $export = __webpack_require__(8); $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(133).set }); /***/ }), /* 133 */ /***/ (function(module, exports, __webpack_require__) { // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var isObject = __webpack_require__(17); var anObject = __webpack_require__(18); var check = function (O, proto) { anObject(O); if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line function (test, buggy, set) { try { set = __webpack_require__(68)(Function.call, __webpack_require__(38).f(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch (e) { buggy = true; } return function setPrototypeOf(O, proto) { check(O, proto); if (buggy) O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check }; /***/ }), /* 134 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(135); var $Object = __webpack_require__(1).Object; module.exports = function create(P, D) { return $Object.create(P, D); }; /***/ }), /* 135 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(8); // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) $export($export.S, 'Object', { create: __webpack_require__(51) }); /***/ }), /* 136 */ /***/ (function(module, exports, __webpack_require__) { var _Object$setPrototypeOf = __webpack_require__(79); function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = _Object$setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf; /***/ }), /* 137 */ /***/ (function(module, exports) { module.exports = {}; /***/ }), /* 138 */ /***/ (function(module, exports, __webpack_require__) { var shared = __webpack_require__(45)('keys'); var uid = __webpack_require__(46); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); }; /***/ }), /* 139 */ /***/ (function(module, exports, __webpack_require__) { // 7.2.8 IsRegExp(argument) var isObject = __webpack_require__(22); var cof = __webpack_require__(29); var MATCH = __webpack_require__(9)('match'); module.exports = function (it) { var isRegExp; return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); }; /***/ }), /* 140 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // 19.1.3.6 Object.prototype.toString() var classof = __webpack_require__(93); var test = {}; test[__webpack_require__(9)('toStringTag')] = 'z'; if (test + '' != '[object z]') { __webpack_require__(27)(Object.prototype, 'toString', function toString() { return '[object ' + classof(this) + ']'; }, true); } /***/ }), /* 141 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(146); /***/ }), /* 142 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var addToUnscopables = __webpack_require__(73); var step = __webpack_require__(170); var Iterators = __webpack_require__(137); var toIObject = __webpack_require__(91); // 22.1.3.4 Array.prototype.entries() // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() module.exports = __webpack_require__(171)(Array, 'Array', function (iterated, kind) { this._t = toIObject(iterated); // target this._i = 0; // next index this._k = kind; // kind // 22.1.5.2.1 %ArrayIteratorPrototype%.next() }, function () { var O = this._t; var kind = this._k; var index = this._i++; if (!O || index >= O.length) { this._t = undefined; return step(1); } if (kind == 'keys') return step(0, index); if (kind == 'values') return step(0, O[index]); return step(0, [index, O[index]]); }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) Iterators.Arguments = Iterators.Array; addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); /***/ }), /* 143 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); /***/ }), /* 144 */ /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(43); var defined = __webpack_require__(32); // true -> String#at // false -> String#codePointAt module.exports = function (TO_STRING) { return function (that, pos) { var s = String(defined(that)); var i = toInteger(pos); var l = s.length; var a, b; if (i < 0 || i >= l) return TO_STRING ? '' : undefined; a = s.charCodeAt(i); return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; /***/ }), /* 145 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var regexpExec = __webpack_require__(72); __webpack_require__(37)({ target: 'RegExp', proto: true, forced: regexpExec !== /./.exec }, { exec: regexpExec }); /***/ }), /* 146 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(147); var $Object = __webpack_require__(1).Object; module.exports = function getOwnPropertyDescriptor(it, key) { return $Object.getOwnPropertyDescriptor(it, key); }; /***/ }), /* 147 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) var toIObject = __webpack_require__(15); var $getOwnPropertyDescriptor = __webpack_require__(38).f; __webpack_require__(63)('getOwnPropertyDescriptor', function () { return function getOwnPropertyDescriptor(it, key) { return $getOwnPropertyDescriptor(toIObject(it), key); }; }); /***/ }), /* 148 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(149); /***/ }), /* 149 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(150); module.exports = __webpack_require__(1).Reflect.get; /***/ }), /* 150 */ /***/ (function(module, exports, __webpack_require__) { // 26.1.6 Reflect.get(target, propertyKey [, receiver]) var gOPD = __webpack_require__(38); var getPrototypeOf = __webpack_require__(59); var has = __webpack_require__(12); var $export = __webpack_require__(8); var isObject = __webpack_require__(17); var anObject = __webpack_require__(18); function get(target, propertyKey /* , receiver */) { var receiver = arguments.length < 3 ? target : arguments[2]; var desc, proto; if (anObject(target) === receiver) return target[propertyKey]; if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value : desc.get !== undefined ? desc.get.call(receiver) : undefined; if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); } $export($export.S, 'Reflect', { get: get }); /***/ }), /* 151 */ /***/ (function(module, exports, __webpack_require__) { var getPrototypeOf = __webpack_require__(3); function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = getPrototypeOf(object); if (object === null) break; } return object; } module.exports = _superPropBase; /***/ }), /* 152 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(153); module.exports = __webpack_require__(1).Object.keys; /***/ }), /* 153 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.14 Object.keys(O) var toObject = __webpack_require__(31); var $keys = __webpack_require__(28); __webpack_require__(63)('keys', function () { return function keys(it) { return $keys(toObject(it)); }; }); /***/ }), /* 154 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = __webpack_require__(166); var enumBugKeys = __webpack_require__(143); module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); }; /***/ }), /* 155 */ /***/ (function(module, exports, __webpack_require__) { var def = __webpack_require__(36).f; var has = __webpack_require__(47); var TAG = __webpack_require__(9)('toStringTag'); module.exports = function (it, tag, stat) { if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); }; /***/ }), /* 156 */ /***/ (function(module, exports, __webpack_require__) { // 7.3.20 SpeciesConstructor(O, defaultConstructor) var anObject = __webpack_require__(19); var aFunction = __webpack_require__(61); var SPECIES = __webpack_require__(9)('species'); module.exports = function (O, D) { var C = anObject(O).constructor; var S; return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); }; /***/ }), /* 157 */ /***/ (function(module, exports) { module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; /***/ }), /* 158 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(183); /***/ }), /* 159 */ /***/ (function(module, exports, __webpack_require__) { // false -> Array#indexOf // true -> Array#includes var toIObject = __webpack_require__(91); var toLength = __webpack_require__(42); var toAbsoluteIndex = __webpack_require__(160); module.exports = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIObject($this); var length = toLength(O.length); var index = toAbsoluteIndex(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not } else for (;length > index; index++) if (IS_INCLUDES || index in O) { if (O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; /***/ }), /* 160 */ /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(43); var max = Math.max; var min = Math.min; module.exports = function (index, length) { index = toInteger(index); return index < 0 ? max(index + length, 0) : min(index, length); }; /***/ }), /* 161 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var $export = __webpack_require__(37); var aFunction = __webpack_require__(61); var toObject = __webpack_require__(62); var fails = __webpack_require__(24); var $sort = [].sort; var test = [1, 2, 3]; $export($export.P + $export.F * (fails(function () { // IE8- test.sort(undefined); }) || !fails(function () { // V8 bug test.sort(null); // Old WebKit }) || !__webpack_require__(189)($sort)), 'Array', { // 22.1.3.25 Array.prototype.sort(comparefn) sort: function sort(comparefn) { return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn)); } }); /***/ }), /* 162 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(176); /***/ }), /* 163 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(205); /***/ }), /* 164 */ /***/ (function(module, exports, __webpack_require__) { var $iterators = __webpack_require__(142); var getKeys = __webpack_require__(154); var redefine = __webpack_require__(27); var global = __webpack_require__(11); var hide = __webpack_require__(21); var Iterators = __webpack_require__(137); var wks = __webpack_require__(9); var ITERATOR = wks('iterator'); var TO_STRING_TAG = wks('toStringTag'); var ArrayValues = Iterators.Array; var DOMIterables = { CSSRuleList: true, // TODO: Not spec compliant, should be false. CSSStyleDeclaration: false, CSSValueList: false, ClientRectList: false, DOMRectList: false, DOMStringList: false, DOMTokenList: true, DataTransferItemList: false, FileList: false, HTMLAllCollection: false, HTMLCollection: false, HTMLFormElement: false, HTMLSelectElement: false, MediaList: true, // TODO: Not spec compliant, should be false. MimeTypeArray: false, NamedNodeMap: false, NodeList: true, PaintRequestList: false, Plugin: false, PluginArray: false, SVGLengthList: false, SVGNumberList: false, SVGPathSegList: false, SVGPointList: false, SVGStringList: false, SVGTransformList: false, SourceBufferList: false, StyleSheetList: true, // TODO: Not spec compliant, should be false. TextTrackCueList: false, TextTrackList: false, TouchList: false }; for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { var NAME = collections[i]; var explicit = DOMIterables[NAME]; var Collection = global[NAME]; var proto = Collection && Collection.prototype; var key; if (proto) { if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = ArrayValues; if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); } } /***/ }), /* 165 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = __webpack_require__(19); var dPs = __webpack_require__(173); var enumBugKeys = __webpack_require__(143); var IE_PROTO = __webpack_require__(138)('IE_PROTO'); var Empty = function () { /* empty */ }; var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function () { // Thrash, waste and sodomy: IE GC bug var iframe = __webpack_require__(70)('iframe'); var i = enumBugKeys.length; var lt = '<'; var gt = '>'; var iframeDocument; iframe.style.display = 'none'; __webpack_require__(174).appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url // createDict = iframe.contentWindow.Object; // html.removeChild(iframe); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); iframeDocument.close(); createDict = iframeDocument.F; while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; return createDict(); }; module.exports = Object.create || function create(O, Properties) { var result; if (O !== null) { Empty[PROTOTYPE] = anObject(O); result = new Empty(); Empty[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; } else result = createDict(); return Properties === undefined ? result : dPs(result, Properties); }; /***/ }), /* 166 */ /***/ (function(module, exports, __webpack_require__) { var has = __webpack_require__(47); var toIObject = __webpack_require__(91); var arrayIndexOf = __webpack_require__(159)(false); var IE_PROTO = __webpack_require__(138)('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); var i = 0; var result = []; var key; for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); // Don't enum bug & hidden keys while (names.length > i) if (has(O, key = names[i++])) { ~arrayIndexOf(result, key) || result.push(key); } return result; }; /***/ }), /* 167 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _typeof2 = _interopRequireDefault(__webpack_require__(65)); var ControlBaseDataView = __webpack_require__(97), 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.elementSettingsModel.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); }, 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; /***/ }), /* 168 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var userAgent = navigator.userAgent; var _default = { webkit: -1 !== userAgent.indexOf('AppleWebKit'), firefox: -1 !== userAgent.indexOf('Firefox'), ie: /Trident|MSIE/.test(userAgent), edge: -1 !== userAgent.indexOf('Edge'), mac: -1 !== userAgent.indexOf('Macintosh') }; exports.default = _default; /***/ }), /* 169 */ /***/ (function(module, exports, __webpack_require__) { var _Object$defineProperty = __webpack_require__(2); 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; /***/ }), /* 170 */ /***/ (function(module, exports) { module.exports = function (done, value) { return { value: value, done: !!done }; }; /***/ }), /* 171 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var LIBRARY = __webpack_require__(71); var $export = __webpack_require__(37); var redefine = __webpack_require__(27); var hide = __webpack_require__(21); var Iterators = __webpack_require__(137); var $iterCreate = __webpack_require__(172); var setToStringTag = __webpack_require__(155); var getPrototypeOf = __webpack_require__(175); var ITERATOR = __webpack_require__(9)('iterator'); var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` var FF_ITERATOR = '@@iterator'; var KEYS = 'keys'; var VALUES = 'values'; var returnThis = function () { return this; }; module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { $iterCreate(Constructor, NAME, next); var getMethod = function (kind) { if (!BUGGY && kind in proto) return proto[kind]; switch (kind) { case KEYS: return function keys() { return new Constructor(this, kind); }; case VALUES: return function values() { return new Constructor(this, kind); }; } return function entries() { return new Constructor(this, kind); }; }; var TAG = NAME + ' Iterator'; var DEF_VALUES = DEFAULT == VALUES; var VALUES_BUG = false; var proto = Base.prototype; var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; var $default = $native || getMethod(DEFAULT); var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; var methods, key, IteratorPrototype; // Fix native if ($anyNative) { IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { // Set @@toStringTag to native iterators setToStringTag(IteratorPrototype, TAG, true); // fix for some old engines if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); } } // fix Array#{values, @@iterator}.name in V8 / FF if (DEF_VALUES && $native && $native.name !== VALUES) { VALUES_BUG = true; $default = function values() { return $native.call(this); }; } // Define iterator if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { hide(proto, ITERATOR, $default); } // Plug for library Iterators[NAME] = $default; Iterators[TAG] = returnThis; if (DEFAULT) { methods = { values: DEF_VALUES ? $default : getMethod(VALUES), keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; if (FORCED) for (key in methods) { if (!(key in proto)) redefine(proto, key, methods[key]); } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; }; /***/ }), /* 172 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var create = __webpack_require__(165); var descriptor = __webpack_require__(67); var setToStringTag = __webpack_require__(155); var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() __webpack_require__(21)(IteratorPrototype, __webpack_require__(9)('iterator'), function () { return this; }); module.exports = function (Constructor, NAME, next) { Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); setToStringTag(Constructor, NAME + ' Iterator'); }; /***/ }), /* 173 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(36); var anObject = __webpack_require__(19); var getKeys = __webpack_require__(154); module.exports = __webpack_require__(20) ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = getKeys(Properties); var length = keys.length; var i = 0; var P; while (length > i) dP.f(O, P = keys[i++], Properties[P]); return O; }; /***/ }), /* 174 */ /***/ (function(module, exports, __webpack_require__) { var document = __webpack_require__(11).document; module.exports = document && document.documentElement; /***/ }), /* 175 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = __webpack_require__(47); var toObject = __webpack_require__(62); var IE_PROTO = __webpack_require__(138)('IE_PROTO'); var ObjectProto = Object.prototype; module.exports = Object.getPrototypeOf || function (O) { O = toObject(O); if (has(O, IE_PROTO)) return O[IE_PROTO]; if (typeof O.constructor == 'function' && O instanceof O.constructor) { return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; }; /***/ }), /* 176 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(177); module.exports = __webpack_require__(1).parseInt; /***/ }), /* 177 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(8); var $parseInt = __webpack_require__(178); // 18.2.5 parseInt(string, radix) $export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); /***/ }), /* 178 */ /***/ (function(module, exports, __webpack_require__) { var $parseInt = __webpack_require__(10).parseInt; var $trim = __webpack_require__(179).trim; var ws = __webpack_require__(157); var hex = /^[-+]?0[xX]/; module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { var string = $trim(String(str), 3); return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); } : $parseInt; /***/ }), /* 179 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(8); var defined = __webpack_require__(39); var fails = __webpack_require__(25); var spaces = __webpack_require__(157); var space = '[' + spaces + ']'; var non = '\u200b\u0085'; var ltrim = RegExp('^' + space + space + '*'); var rtrim = RegExp(space + space + '*$'); var exporter = function (KEY, exec, ALIAS) { var exp = {}; var FORCE = fails(function () { return !!spaces[KEY]() || non[KEY]() != non; }); var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; if (ALIAS) exp[ALIAS] = fn; $export($export.P + $export.F * FORCE, 'String', exp); }; // 1 -> String#trimLeft // 2 -> String#trimRight // 3 -> String#trim var trim = exporter.trim = function (string, TYPE) { string = String(defined(string)); if (TYPE & 1) string = string.replace(ltrim, ''); if (TYPE & 2) string = string.replace(rtrim, ''); return string; }; module.exports = exporter; /***/ }), /* 180 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; if (true) { module.exports = __webpack_require__(293); } else {} /***/ }), /* 181 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(225); var anObject = __webpack_require__(19); var $flags = __webpack_require__(99); var DESCRIPTORS = __webpack_require__(20); var TO_STRING = 'toString'; var $toString = /./[TO_STRING]; var define = function (fn) { __webpack_require__(27)(RegExp.prototype, TO_STRING, fn, true); }; // 21.2.5.14 RegExp.prototype.toString() if (__webpack_require__(24)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { define(function toString() { var R = anObject(this); return '/'.concat(R.source, '/', 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); }); // FF44- RegExp#toString has a wrong name } else if ($toString.name != TO_STRING) { define(function toString() { return $toString.call(this); }); } /***/ }), /* 182 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), ControlSelect2ItemView; ControlSelect2ItemView = ControlBaseDataView.extend({ getSelect2Placeholder: function getSelect2Placeholder() { return this.ui.select.children('option:first[value=""]').text(); }, getSelect2DefaultOptions: function getSelect2DefaultOptions() { return { allowClear: true, placeholder: this.getSelect2Placeholder(), dir: elementorCommon.config.isRTL ? 'rtl' : 'ltr' }; }, getSelect2Options: function getSelect2Options() { return jQuery.extend(this.getSelect2DefaultOptions(), this.model.get('select2options')); }, onReady: function onReady() { this.ui.select.select2(this.getSelect2Options()); }, onBeforeDestroy: function onBeforeDestroy() { if (this.ui.select.data('select2')) { this.ui.select.select2('destroy'); } this.$el.remove(); } }); module.exports = ControlSelect2ItemView; /***/ }), /* 183 */ /***/ (function(module, exports, __webpack_require__) { var core = __webpack_require__(1); var $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify }); module.exports = function stringify(it) { // eslint-disable-line no-unused-vars return $JSON.stringify.apply($JSON, arguments); }; /***/ }), /* 184 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var anObject = __webpack_require__(19); var sameValue = __webpack_require__(202); var regExpExec = __webpack_require__(85); // @@search logic __webpack_require__(86)('search', 1, function (defined, SEARCH, $search, maybeCallNative) { return [ // `String.prototype.search` method // https://tc39.github.io/ecma262/#sec-string.prototype.search function search(regexp) { var O = defined(this); var fn = regexp == undefined ? undefined : regexp[SEARCH]; return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); }, // `RegExp.prototype[@@search]` method // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search function (regexp) { var res = maybeCallNative($search, regexp, this); if (res.done) return res.value; var rx = anObject(regexp); var S = String(this); var previousLastIndex = rx.lastIndex; if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; var result = regExpExec(rx, S); if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; return result === null ? -1 : result.index; } ]; }); /***/ }), /* 185 */ /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__(13); var getKeys = __webpack_require__(28); var toIObject = __webpack_require__(15); var isEnum = __webpack_require__(41).f; module.exports = function (isEntries) { return function (it) { var O = toIObject(it); var keys = getKeys(O); var length = keys.length; var i = 0; var result = []; var key; while (length > i) { key = keys[i++]; if (!DESCRIPTORS || isEnum.call(O, key)) { result.push(isEntries ? [key, O[key]] : O[key]); } } return result; }; }; /***/ }), /* 186 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); 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)) { classes += ' elementor-control-responsive-' + responsive.max; } return classes; }, templateHelpers: function templateHelpers() { var controlData = { _cid: this.model.cid }; return { 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) { this.elementSettingsModel = options.elementSettingsModel; var controlType = this.model.get('type'), controlSettings = jQuery.extend(true, {}, elementor.config.controls[controlType], this.model.attributes); this.model.set(controlSettings); this.listenTo(this.elementSettingsModel, 'change', this.toggleControlVisibility); }, toggleControlVisibility: function toggleControlVisibility() { var isVisible = elementor.helpers.isActiveControl(this.model, this.elementSettingsModel.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; /***/ }), /* 187 */ /***/ (function(module, exports, __webpack_require__) { var _Object$getOwnPropertyDescriptor = __webpack_require__(141); var _Object$defineProperty = __webpack_require__(2); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = _Object$defineProperty && _Object$getOwnPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } module.exports = _interopRequireWildcard; /***/ }), /* 188 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(217); /***/ }), /* 189 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var fails = __webpack_require__(24); module.exports = function (method, arg) { return !!method && fails(function () { // eslint-disable-next-line no-useless-call arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); }); }; /***/ }), /* 190 */, /* 191 */, /* 192 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // https://github.com/tc39/Array.prototype.includes var $export = __webpack_require__(37); var $includes = __webpack_require__(159)(true); $export($export.P, 'Array', { includes: function includes(el /* , fromIndex = 0 */) { return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); } }); __webpack_require__(73)('includes'); /***/ }), /* 193 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // 21.1.3.7 String.prototype.includes(searchString, position = 0) var $export = __webpack_require__(37); var context = __webpack_require__(203); var INCLUDES = 'includes'; $export($export.P + $export.F * __webpack_require__(204)(INCLUDES), 'String', { includes: function includes(searchString /* , position = 0 */) { return !!~context(this, searchString, INCLUDES) .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); } }); /***/ }), /* 194 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(212); /***/ }), /* 195 */ /***/ (function(module, exports, __webpack_require__) { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (false) { var throwOnDirectAccess, ReactIs; } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod module.exports = __webpack_require__(305)(); } /***/ }), /* 196 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(220); /***/ }), /* 197 */ /***/ (function(module, exports, __webpack_require__) { var classof = __webpack_require__(198); var ITERATOR = __webpack_require__(16)('iterator'); var Iterators = __webpack_require__(40); module.exports = __webpack_require__(1).getIteratorMethod = function (it) { if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; }; /***/ }), /* 198 */ /***/ (function(module, exports, __webpack_require__) { // getting tag from 19.1.3.6 Object.prototype.toString() var cof = __webpack_require__(66); var TAG = __webpack_require__(16)('toStringTag'); // ES3 wrong here var ARG = cof(function () { return arguments; }()) == 'Arguments'; // fallback for IE11 Script Access Denied error var tryGet = function (it, key) { try { return it[key]; } catch (e) { /* empty */ } }; module.exports = function (it) { var O, T, B; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T // builtinTag case : ARG ? cof(O) // ES3 arguments fallback : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; }; /***/ }), /* 199 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(223); /***/ }), /* 200 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(26); __webpack_require__(48); var _isArray = _interopRequireDefault(__webpack_require__(188)); var _typeof2 = _interopRequireDefault(__webpack_require__(65)); var _parseInt2 = _interopRequireDefault(__webpack_require__(162)); var _keys = _interopRequireDefault(__webpack_require__(58)); var _environment = _interopRequireDefault(__webpack_require__(168)); var ControlsCSSParser = __webpack_require__(226), Validator = __webpack_require__(207), BaseContainer = __webpack_require__(248), BaseElementView; BaseElementView = BaseContainer.extend({ tagName: 'div', controlsCSSParser: null, allowRender: true, toggleEditTools: false, renderAttributes: {}, className: function className() { var classes = 'elementor-element elementor-element-edit-mode ' + this.getElementUniqueID(); if (this.toggleEditTools) { classes += ' elementor-element--toggle-edit-tools'; } return classes; }, attributes: function attributes() { return { 'data-id': this.getID(), 'data-element_type': this.model.get('elType') }; }, ui: function ui() { return { tools: '> .elementor-element-overlay > .elementor-editor-element-settings', editButton: '> .elementor-element-overlay .elementor-editor-element-edit', duplicateButton: '> .elementor-element-overlay .elementor-editor-element-duplicate', addButton: '> .elementor-element-overlay .elementor-editor-element-add', removeButton: '> .elementor-element-overlay .elementor-editor-element-remove' }; }, behaviors: function behaviors() { var groups = elementor.hooks.applyFilters('elements/' + this.options.model.get('elType') + '/contextMenuGroups', this.getContextMenuGroups(), this); var behaviors = { contextMenu: { behaviorClass: __webpack_require__(201), groups: groups } }; return elementor.hooks.applyFilters('elements/base/behaviors', behaviors, this); }, getBehavior: function getBehavior(name) { return this._behaviors[(0, _keys.default)(this.behaviors()).indexOf(name)]; }, events: function events() { return { mousedown: 'onMouseDown', 'click @ui.editButton': 'onEditButtonClick', 'click @ui.duplicateButton': 'onDuplicateButtonClick', 'click @ui.addButton': 'onAddButtonClick', 'click @ui.removeButton': 'onRemoveButtonClick' }; }, getElementType: function getElementType() { return this.model.get('elType'); }, getIDInt: function getIDInt() { return (0, _parseInt2.default)(this.getID(), 16); }, getChildType: function getChildType() { return elementor.helpers.getElementChildType(this.getElementType()); }, getChildView: function getChildView(model) { var ChildView; var elType = model.get('elType'); if ('section' === elType) { ChildView = __webpack_require__(249); } else if ('column' === elType) { ChildView = __webpack_require__(376); } else { ChildView = elementor.modules.elements.views.Widget; } return elementor.hooks.applyFilters('element/view', ChildView, model, this); }, getTemplateType: function getTemplateType() { return 'js'; }, getEditModel: function getEditModel() { return this.model; }, getContextMenuGroups: function getContextMenuGroups() { var controlSign = _environment.default.mac ? '⌘' : '^'; return [{ name: 'general', actions: [{ name: 'edit', icon: 'eicon-edit', title: elementor.translate('edit_element', [this.options.model.getTitle()]), callback: this.options.model.trigger.bind(this.options.model, 'request:edit') }, { name: 'duplicate', icon: 'eicon-clone', title: elementor.translate('duplicate'), shortcut: controlSign + '+D', callback: this.duplicate.bind(this) }] }, { name: 'transfer', actions: [{ name: 'copy', title: elementor.translate('copy'), shortcut: controlSign + '+C', callback: this.copy.bind(this) }, { name: 'paste', title: elementor.translate('paste'), shortcut: controlSign + '+V', callback: this.paste.bind(this), isEnabled: this.isPasteEnabled.bind(this) }, { name: 'pasteStyle', title: elementor.translate('paste_style'), shortcut: controlSign + '+⇧+V', callback: this.pasteStyle.bind(this), isEnabled: function isEnabled() { return !!elementorCommon.storage.get('transfer'); } }, { name: 'resetStyle', title: elementor.translate('reset_style'), callback: this.resetStyle.bind(this) }] }, { name: 'delete', actions: [{ name: 'delete', icon: 'eicon-trash', title: elementor.translate('delete'), shortcut: '⌦', callback: this.removeElement.bind(this) }] }]; }, getEditButtons: function getEditButtons() { return {}; }, initialize: function initialize() { BaseContainer.prototype.initialize.apply(this, arguments); if (this.collection) { this.listenTo(this.collection, 'add remove reset', this.onCollectionChanged, this); } var editModel = this.getEditModel(); this.listenTo(editModel.get('settings'), 'change', this.onSettingsChanged).listenTo(editModel.get('editSettings'), 'change', this.onEditSettingsChanged).listenTo(this.model, 'request:edit', this.onEditRequest).listenTo(this.model, 'request:toggleVisibility', this.toggleVisibility); this.initControlsCSSParser(); }, getHandlesOverlay: function getHandlesOverlay() { var $handlesOverlay = jQuery('<div>', { class: 'elementor-element-overlay' }), $overlayList = jQuery('<ul>', { class: "elementor-editor-element-settings elementor-editor-".concat(this.getElementType(), "-settings") }); jQuery.each(this.getEditButtons(), function (toolName, tool) { var $item = jQuery('<li>', { class: "elementor-editor-element-setting elementor-editor-element-".concat(toolName), title: tool.title }), $icon = jQuery('<i>', { class: "eicon-".concat(tool.icon), 'aria-hidden': true }), $a11y = jQuery('<span>', { class: 'elementor-screen-only' }); $a11y.text(tool.title); $item.append($icon, $a11y); $overlayList.append($item); }); $handlesOverlay.append($overlayList); return $handlesOverlay; }, attachElContent: function attachElContent(html) { this.$el.empty().append(this.getHandlesOverlay(), html); }, startTransport: function startTransport(type) { elementorCommon.storage.set('transfer', { type: type, elementsType: this.getElementType(), elements: [this.model.toJSON({ copyHtmlCache: true })] }); }, copy: function copy() { this.startTransport('copy'); }, cut: function cut() { this.startTransport('cut'); }, paste: function paste() { this.trigger('request:paste'); }, isPasteEnabled: function isPasteEnabled() { var transferData = elementorCommon.storage.get('transfer'); if (!transferData || this.isCollectionFilled()) { return false; } return this.getElementType() === transferData.elementsType; }, isStyleTransferControl: function isStyleTransferControl(control) { if (undefined !== control.style_transfer) { return control.style_transfer; } return 'content' !== control.tab || control.selectors || control.prefix_class; }, duplicate: function duplicate() { var oldTransport = elementorCommon.storage.get('transfer'); this.copy(); this.paste(); elementorCommon.storage.set('transfer', oldTransport); }, pasteStyle: function pasteStyle() { var self = this, transferData = elementorCommon.storage.get('transfer'), sourceElement = transferData.elements[0], sourceSettings = sourceElement.settings, editModel = self.getEditModel(), settings = editModel.get('settings'), settingsAttributes = settings.attributes, controls = settings.controls, diffSettings = {}; jQuery.each(controls, function (controlName, control) { if (!self.isStyleTransferControl(control)) { return; } var sourceValue = sourceSettings[controlName], targetValue = settingsAttributes[controlName]; if (undefined === sourceValue || undefined === targetValue) { return; } if ('object' === (0, _typeof2.default)(sourceValue) ^ 'object' === (0, _typeof2.default)(targetValue)) { return; } if ('object' === (0, _typeof2.default)(sourceValue)) { var isEqual = true; jQuery.each(sourceValue, function (propertyKey) { if (sourceValue[propertyKey] !== targetValue[propertyKey]) { return isEqual = false; } }); if (isEqual) { return; } } if (sourceValue === targetValue) { return; } var ControlView = elementor.getControlView(control.type); if (!ControlView.onPasteStyle(control, sourceValue)) { return; } diffSettings[controlName] = sourceValue; }); self.allowRender = false; elementor.channels.data.trigger('element:before:paste:style', editModel); editModel.setSetting(diffSettings); elementor.channels.data.trigger('element:after:paste:style', editModel); self.allowRender = true; self.renderOnChange(); }, resetStyle: function resetStyle() { var self = this, editModel = self.getEditModel(), controls = editModel.get('settings').controls, defaultValues = {}; self.allowRender = false; elementor.channels.data.trigger('element:before:reset:style', editModel); jQuery.each(controls, function (controlName, control) { if (!self.isStyleTransferControl(control)) { return; } defaultValues[controlName] = control.default; }); editModel.setSetting(defaultValues); elementor.channels.data.trigger('element:after:reset:style', editModel); self.allowRender = true; self.renderOnChange(); }, toggleVisibility: function toggleVisibility() { this.model.set('hidden', !this.model.get('hidden')); this.toggleVisibilityClass(); }, toggleVisibilityClass: function toggleVisibilityClass() { this.$el.toggleClass('elementor-edit-hidden', !!this.model.get('hidden')); }, addElementFromPanel: function addElementFromPanel(options) { options = options || {}; var elementView = elementor.channels.panelElements.request('element:selected'); var itemData = { elType: elementView.model.get('elType') }; if (elementor.helpers.maybeDisableWidget()) { return; } if ('widget' === itemData.elType) { itemData.widgetType = elementView.model.get('widgetType'); } else if ('section' === itemData.elType) { itemData.isInner = true; } else { return; } var customData = elementView.model.get('custom'); if (customData) { jQuery.extend(itemData, customData); } options.trigger = { beforeAdd: 'element:before:add', afterAdd: 'element:after:add' }; options.onAfterAdd = function (newModel, newView) { if ('section' === newView.getElementType() && newView.isInner()) { newView.addChildElement(); } }; this.addChildElement(itemData, options); }, addControlValidator: function addControlValidator(controlName, validationCallback) { validationCallback = validationCallback.bind(this); var validator = new Validator({ customValidationMethod: validationCallback }), validators = this.getEditModel().get('settings').validators; if (!validators[controlName]) { validators[controlName] = []; } validators[controlName].push(validator); }, addRenderAttribute: function addRenderAttribute(element, key, value, overwrite) { var self = this; if ('object' === (0, _typeof2.default)(element)) { jQuery.each(element, function (elementKey, elementValue) { self.addRenderAttribute(elementKey, elementValue, null, overwrite); }); return self; } if ('object' === (0, _typeof2.default)(key)) { jQuery.each(key, function (attributeKey, attributeValue) { self.addRenderAttribute(element, attributeKey, attributeValue, overwrite); }); return self; } if (!self.renderAttributes[element]) { self.renderAttributes[element] = {}; } if (!self.renderAttributes[element][key]) { self.renderAttributes[element][key] = []; } if (!(0, _isArray.default)(value)) { value = [value]; } if (overwrite) { self.renderAttributes[element][key] = value; } else { self.renderAttributes[element][key] = self.renderAttributes[element][key].concat(value); } }, getRenderAttributeString: function getRenderAttributeString(element) { if (!this.renderAttributes[element]) { return ''; } var renderAttributes = this.renderAttributes[element], attributes = []; jQuery.each(renderAttributes, function (attributeKey, attributeValue) { attributes.push(attributeKey + '="' + _.escape(attributeValue.join(' ')) + '"'); }); return attributes.join(' '); }, isInner: function isInner() { return !!this.model.get('isInner'); }, initControlsCSSParser: function initControlsCSSParser() { this.controlsCSSParser = new ControlsCSSParser({ id: this.model.cid, settingsModel: this.getEditModel().get('settings'), dynamicParsing: this.getDynamicParsingSettings() }); }, enqueueFonts: function enqueueFonts() { var editModel = this.getEditModel(), settings = editModel.get('settings'); jQuery.each(settings.getFontControls(), function (index, control) { var fontFamilyName = editModel.getSetting(control.name); if (!fontFamilyName) { return; } elementor.helpers.enqueueFont(fontFamilyName); }); // Enqueue Icon Fonts jQuery.each(settings.getIconsControls(), function (index, control) { var iconType = editModel.getSetting(control.name); if (!iconType || !iconType.library) { return; } elementor.helpers.enqueueIconFonts(iconType.library); }); }, renderStyles: function renderStyles(settings) { if (!settings) { settings = this.getEditModel().get('settings'); } this.controlsCSSParser.stylesheet.empty(); this.controlsCSSParser.addStyleRules(settings.getStyleControls(), settings.attributes, this.getEditModel().get('settings').controls, [/{{ID}}/g, /{{WRAPPER}}/g], [this.getID(), '#elementor .' + this.getElementUniqueID()]); this.controlsCSSParser.addStyleToDocument(); var extraCSS = elementor.hooks.applyFilters('editor/style/styleText', '', this); if (extraCSS) { this.controlsCSSParser.elements.$stylesheetElement.append(extraCSS); } }, renderCustomClasses: function renderCustomClasses() { var self = this; var settings = self.getEditModel().get('settings'), classControls = settings.getClassControls(); // Remove all previous classes _.each(classControls, function (control) { var previousClassValue = settings.previous(control.name); if (control.classes_dictionary) { if (undefined !== control.classes_dictionary[previousClassValue]) { previousClassValue = control.classes_dictionary[previousClassValue]; } } self.$el.removeClass(control.prefix_class + previousClassValue); }); // Add new classes _.each(classControls, function (control) { var value = settings.attributes[control.name]; var classValue = value; if (control.classes_dictionary) { if (undefined !== control.classes_dictionary[value]) { classValue = control.classes_dictionary[value]; } } var isVisible = elementor.helpers.isActiveControl(control, settings.attributes); if (isVisible && (classValue || 0 === classValue)) { self.$el.addClass(control.prefix_class + classValue); } }); self.$el.addClass(_.result(self, 'className')); self.toggleVisibilityClass(); }, renderCustomElementID: function renderCustomElementID() { var customElementID = this.getEditModel().get('settings').get('_element_id'); this.$el.attr('id', customElementID); }, renderUI: function renderUI() { this.renderStyles(); this.renderCustomClasses(); this.renderCustomElementID(); this.enqueueFonts(); }, runReadyTrigger: function runReadyTrigger() { var self = this; _.defer(function () { elementorFrontend.elementsHandler.runReadyTrigger(self.el); if (!elementorFrontend.isEditMode()) { return; } // In edit mode - handle an external elements that loaded by another elements like shortcode etc. self.$el.find('.elementor-element.elementor-' + self.model.get('elType') + ':not(.elementor-element-edit-mode)').each(function () { elementorFrontend.elementsHandler.runReadyTrigger(this); }); }); }, getID: function getID() { return this.model.get('id'); }, getElementUniqueID: function getElementUniqueID() { return 'elementor-element-' + this.getID(); }, renderOnChange: function renderOnChange(settings) { if (!this.allowRender) { return; } // Make sure is correct model if (settings instanceof elementorModules.editor.elements.models.BaseSettings) { var hasChanged = settings.hasChanged(); var isContentChanged = !hasChanged, isRenderRequired = !hasChanged; _.each(settings.changedAttributes(), function (settingValue, settingKey) { var control = settings.getControl(settingKey); if ('_column_size' === settingKey) { isRenderRequired = true; return; } if (!control) { isRenderRequired = true; isContentChanged = true; return; } if ('none' !== control.render_type) { isRenderRequired = true; } if (-1 !== ['none', 'ui'].indexOf(control.render_type)) { return; } if ('template' === control.render_type || !settings.isStyleControl(settingKey) && !settings.isClassControl(settingKey) && '_element_id' !== settingKey) { isContentChanged = true; } }); if (!isRenderRequired) { return; } if (!isContentChanged) { this.renderUI(); return; } } // Re-render the template var templateType = this.getTemplateType(), editModel = this.getEditModel(); if ('js' === templateType) { this.getEditModel().setHtmlCache(); this.render(); editModel.renderOnLeave = true; } else { editModel.renderRemoteServer(); } }, getDynamicParsingSettings: function getDynamicParsingSettings() { var self = this; return { onServerRequestStart: function onServerRequestStart() { self.$el.addClass('elementor-loading'); }, onServerRequestEnd: function onServerRequestEnd() { self.render(); self.$el.removeClass('elementor-loading'); } }; }, serializeData: function serializeData() { var data = BaseContainer.prototype.serializeData.apply(this, arguments); data.settings = this.getEditModel().get('settings').parseDynamicSettings(data.settings, this.getDynamicParsingSettings()); return data; }, save: function save() { $e.route('library/save-template', { model: this.model }); }, removeElement: function removeElement() { elementor.channels.data.trigger('element:before:remove', this.model); var parent = this._parent; parent.isManualRemoving = true; this.model.destroy(); parent.isManualRemoving = false; elementor.channels.data.trigger('element:after:remove', this.model); }, onBeforeRender: function onBeforeRender() { this.renderAttributes = {}; }, onRender: function onRender() { this.renderUI(); this.runReadyTrigger(); if (this.toggleEditTools) { var editButton = this.ui.editButton; this.ui.tools.hoverIntent(function () { editButton.addClass('elementor-active'); }, function () { editButton.removeClass('elementor-active'); }, { timeout: 500 }); } }, onCollectionChanged: function onCollectionChanged() { elementor.saver.setFlagEditorChange(true); }, onEditSettingsChanged: function onEditSettingsChanged(changedModel) { elementor.channels.editor.trigger('change:editSettings', changedModel, this); }, onSettingsChanged: function onSettingsChanged(changedModel) { elementor.saver.setFlagEditorChange(true); this.renderOnChange(changedModel); }, onEditButtonClick: function onEditButtonClick() { this.model.trigger('request:edit'); }, onEditRequest: function onEditRequest() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if ('edit' !== elementor.channels.dataEditMode.request('activeMode')) { return; } var model = this.getEditModel(), panel = elementor.getPanelView(); if ($e.routes.isPartOf('panel/editor') && panel.getCurrentPageView().model === model) { return; } if (options.scrollIntoView) { elementor.helpers.scrollToView(this.$el, 200); } $e.run('panel/editor/open', { model: model, view: this }); }, onDuplicateButtonClick: function onDuplicateButtonClick(event) { event.stopPropagation(); this.duplicate(); }, onRemoveButtonClick: function onRemoveButtonClick(event) { event.stopPropagation(); this.removeElement(); }, /* jQuery ui sortable preventing any `mousedown` event above any element, and as a result is preventing the `blur` * event on the currently active element. Therefor, we need to blur the active element manually. */ onMouseDown: function onMouseDown(event) { if (jQuery(event.target).closest('.elementor-inline-editing').length) { return; } elementorFrontend.elements.window.document.activeElement.blur(); }, onDestroy: function onDestroy() { this.controlsCSSParser.removeStyleFromDocument(); this.getEditModel().get('settings').validators = {}; elementor.channels.data.trigger('element:destroy', this.model); } }); module.exports = BaseElementView; /***/ }), /* 201 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ContextMenu = __webpack_require__(374); module.exports = Marionette.Behavior.extend({ defaults: { groups: [], eventTargets: ['el'] }, events: function events() { var events = {}; this.getOption('eventTargets').forEach(function (eventTarget) { var eventName = 'contextmenu'; if ('el' !== eventTarget) { eventName += ' ' + eventTarget; } events[eventName] = 'onContextMenu'; }); return events; }, initialize: function initialize() { this.listenTo(this.view.options.model, 'request:contextmenu', this.onRequestContextMenu); }, initContextMenu: function initContextMenu() { var _this = this; var contextMenuGroups = this.getOption('groups'), deleteGroup = _.findWhere(contextMenuGroups, { name: 'delete' }), afterGroupIndex = contextMenuGroups.indexOf(deleteGroup); if (-1 === afterGroupIndex) { afterGroupIndex = contextMenuGroups.length; } contextMenuGroups.splice(afterGroupIndex, 0, { name: 'tools', actions: [{ name: 'navigator', title: elementor.translate('navigator'), callback: function callback() { return $e.route('navigator', { reOpen: true, model: _this.view.model }); } }] }); this.contextMenu = new ContextMenu({ groups: contextMenuGroups }); this.contextMenu.getModal().on('hide', this.onContextMenuHide); }, getContextMenu: function getContextMenu() { if (!this.contextMenu) { this.initContextMenu(); } return this.contextMenu; }, onContextMenu: function onContextMenu(event) { if ($e.shortcuts.isControlEvent(event) || !elementor.userCan('design')) { return; } if ('edit' !== elementor.channels.dataEditMode.request('activeMode')) { return; } event.preventDefault(); event.stopPropagation(); this.getContextMenu().show(event); elementor.channels.editor.reply('contextMenu:targetView', this.view); }, onRequestContextMenu: function onRequestContextMenu(event) { var modal = this.getContextMenu().getModal(), iframe = modal.getSettings('iframe'), toolsGroup = _.findWhere(this.contextMenu.getSettings('groups'), { name: 'tools' }); toolsGroup.isVisible = false; modal.setSettings('iframe', null); this.onContextMenu(event); toolsGroup.isVisible = true; modal.setSettings('iframe', iframe); }, onContextMenuHide: function onContextMenuHide() { elementor.channels.editor.reply('contextMenu:targetView', null); }, onDestroy: function onDestroy() { if (this.contextMenu) { this.contextMenu.destroy(); } } }); /***/ }), /* 202 */ /***/ (function(module, exports) { // 7.2.9 SameValue(x, y) module.exports = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; }; /***/ }), /* 203 */ /***/ (function(module, exports, __webpack_require__) { // helper for String#{startsWith, endsWith, includes} var isRegExp = __webpack_require__(139); var defined = __webpack_require__(32); module.exports = function (that, searchString, NAME) { if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); return String(defined(that)); }; /***/ }), /* 204 */ /***/ (function(module, exports, __webpack_require__) { var MATCH = __webpack_require__(9)('match'); module.exports = function (KEY) { var re = /./; try { '/./'[KEY](re); } catch (e) { try { re[MATCH] = false; return !'/./'[KEY](re); } catch (f) { /* empty */ } } return true; }; /***/ }), /* 205 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(206); module.exports = __webpack_require__(1).Object.values; /***/ }), /* 206 */ /***/ (function(module, exports, __webpack_require__) { // https://github.com/tc39/proposal-object-values-entries var $export = __webpack_require__(8); var $values = __webpack_require__(185)(false); $export($export.S, 'Object', { values: function values(it) { return $values(it); } }); /***/ }), /* 207 */ /***/ (function(module, exports, __webpack_require__) { "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; } }); /***/ }), /* 208 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _header = _interopRequireDefault(__webpack_require__(209)); var _logo = _interopRequireDefault(__webpack_require__(210)); var _loading = _interopRequireDefault(__webpack_require__(211)); var _default = /*#__PURE__*/ function (_Marionette$LayoutVie) { (0, _inherits2.default)(_default, _Marionette$LayoutVie); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "el", value: function el() { return this.getModal().getElements('widget'); } }, { key: "regions", value: function regions() { return { modalHeader: '.dialog-header', modalContent: '.dialog-lightbox-content', modalLoading: '.dialog-lightbox-loading' }; } }, { key: "initialize", value: function initialize() { this.modalHeader.show(new _header.default(this.getHeaderOptions())); } }, { key: "getModal", value: function getModal() { if (!this.modal) { this.initModal(); } return this.modal; } }, { key: "initModal", value: function initModal() { var modalOptions = { className: 'elementor-templates-modal', closeButton: false, draggable: false, hide: { onOutsideClick: false, onEscKeyPress: false } }; jQuery.extend(true, modalOptions, this.getModalOptions()); this.modal = elementorCommon.dialogsManager.createWidget('lightbox', modalOptions); this.modal.getElements('message').append(this.modal.addElement('content'), this.modal.addElement('loading')); if (modalOptions.draggable) { this.draggableModal(); } } }, { key: "showModal", value: function showModal() { this.getModal().show(); } }, { key: "hideModal", value: function hideModal() { this.getModal().hide(); } }, { key: "draggableModal", value: function draggableModal() { var $modalWidgetContent = this.getModal().getElements('widgetContent'); $modalWidgetContent.draggable({ containment: 'parent', stop: function stop() { $modalWidgetContent.height(''); } }); $modalWidgetContent.css('position', 'absolute'); } }, { key: "getModalOptions", value: function getModalOptions() { return {}; } }, { key: "getLogoOptions", value: function getLogoOptions() { return {}; } }, { key: "getHeaderOptions", value: function getHeaderOptions() { return { closeType: 'normal' }; } }, { key: "getHeaderView", value: function getHeaderView() { return this.modalHeader.currentView; } }, { key: "showLoadingView", value: function showLoadingView() { this.modalLoading.show(new _loading.default()); this.modalLoading.$el.show(); this.modalContent.$el.hide(); } }, { key: "hideLoadingView", value: function hideLoadingView() { this.modalContent.$el.show(); this.modalLoading.$el.hide(); } }, { key: "showLogo", value: function showLogo() { this.getHeaderView().logoArea.show(new _logo.default(this.getLogoOptions())); } }]); return _default; }(Marionette.LayoutView); exports.default = _default; /***/ }), /* 209 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$LayoutVie) { (0, _inherits2.default)(_default, _Marionette$LayoutVie); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "className", value: function className() { return 'elementor-templates-modal__header'; } }, { key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-templates-modal__header'; } }, { key: "regions", value: function regions() { return { logoArea: '.elementor-templates-modal__header__logo-area', tools: '#elementor-template-library-header-tools', menuArea: '.elementor-templates-modal__header__menu-area' }; } }, { key: "ui", value: function ui() { return { closeModal: '.elementor-templates-modal__header__close' }; } }, { key: "events", value: function events() { return { 'click @ui.closeModal': 'onCloseModalClick' }; } }, { key: "templateHelpers", value: function templateHelpers() { return { closeType: this.getOption('closeType') }; } }, { key: "onCloseModalClick", value: function onCloseModalClick() { this._parent._parent._parent.hideModal(); } }]); return _default; }(Marionette.LayoutView); exports.default = _default; /***/ }), /* 210 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-templates-modal__header__logo'; } }, { key: "className", value: function className() { return 'elementor-templates-modal__header__logo'; } }, { key: "events", value: function events() { return { click: 'onClick' }; } }, { key: "templateHelpers", value: function templateHelpers() { return { title: this.getOption('title') }; } }, { key: "onClick", value: function onClick() { var clickCallback = this.getOption('click'); if (clickCallback) { clickCallback(); } } }]); return _default; }(Marionette.ItemView); exports.default = _default; /***/ }), /* 211 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "id", value: function id() { return 'elementor-template-library-loading'; } }, { key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-template-library-loading'; } }]); return _default; }(Marionette.ItemView); exports.default = _default; /***/ }), /* 212 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(213); module.exports = __webpack_require__(1).Object.assign; /***/ }), /* 213 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.3.1 Object.assign(target, source) var $export = __webpack_require__(8); $export($export.S + $export.F, 'Object', { assign: __webpack_require__(214) }); /***/ }), /* 214 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // 19.1.2.1 Object.assign(target, source, ...) var DESCRIPTORS = __webpack_require__(13); var getKeys = __webpack_require__(28); var gOPS = __webpack_require__(64); var pIE = __webpack_require__(41); var toObject = __webpack_require__(31); var IObject = __webpack_require__(94); var $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) module.exports = !$assign || __webpack_require__(25)(function () { var A = {}; var B = {}; // eslint-disable-next-line no-undef var S = Symbol(); var K = 'abcdefghijklmnopqrst'; A[S] = 7; K.split('').forEach(function (k) { B[k] = k; }); return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars var T = toObject(target); var aLen = arguments.length; var index = 1; var getSymbols = gOPS.f; var isEnum = pIE.f; while (aLen > index) { var S = IObject(arguments[index++]); var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); var length = keys.length; var j = 0; var key; while (length > j) { key = keys[j++]; if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; } } return T; } : $assign; /***/ }), /* 215 */ /***/ (function(module, exports, __webpack_require__) { var arrayWithHoles = __webpack_require__(216); var iterableToArrayLimit = __webpack_require__(219); var nonIterableRest = __webpack_require__(222); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest(); } module.exports = _slicedToArray; /***/ }), /* 216 */ /***/ (function(module, exports, __webpack_require__) { var _Array$isArray = __webpack_require__(188); function _arrayWithHoles(arr) { if (_Array$isArray(arr)) return arr; } module.exports = _arrayWithHoles; /***/ }), /* 217 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(218); module.exports = __webpack_require__(1).Array.isArray; /***/ }), /* 218 */ /***/ (function(module, exports, __webpack_require__) { // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) var $export = __webpack_require__(8); $export($export.S, 'Array', { isArray: __webpack_require__(95) }); /***/ }), /* 219 */ /***/ (function(module, exports, __webpack_require__) { var _getIterator = __webpack_require__(196); function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = _getIterator(arr), _s; !(_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; /***/ }), /* 220 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(90); __webpack_require__(88); module.exports = __webpack_require__(221); /***/ }), /* 221 */ /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(18); var get = __webpack_require__(197); module.exports = __webpack_require__(1).getIterator = function (it) { var iterFn = get(it); if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!'); return anObject(iterFn.call(it)); }; /***/ }), /* 222 */ /***/ (function(module, exports) { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } module.exports = _nonIterableRest; /***/ }), /* 223 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(224); module.exports = __webpack_require__(1).Object.entries; /***/ }), /* 224 */ /***/ (function(module, exports, __webpack_require__) { // https://github.com/tc39/proposal-object-values-entries var $export = __webpack_require__(8); var $entries = __webpack_require__(185)(true); $export($export.S, 'Object', { entries: function entries(it) { return $entries(it); } }); /***/ }), /* 225 */ /***/ (function(module, exports, __webpack_require__) { // 21.2.5.3 get RegExp.prototype.flags() if (__webpack_require__(20) && /./g.flags != 'g') __webpack_require__(36).f(RegExp.prototype, 'flags', { configurable: true, get: __webpack_require__(99) }); /***/ }), /* 226 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); __webpack_require__(243); __webpack_require__(98); __webpack_require__(80); __webpack_require__(26); __webpack_require__(48); var Stylesheet = __webpack_require__(244), ControlsCSSParser; ControlsCSSParser = elementorModules.ViewModule.extend({ stylesheet: null, getDefaultSettings: function getDefaultSettings() { return { id: 0, settingsModel: null, dynamicParsing: {} }; }, getDefaultElements: function getDefaultElements() { return { $stylesheetElement: jQuery('<style>', { id: 'elementor-style-' + this.getSettings('id') }) }; }, initStylesheet: function initStylesheet() { var breakpoints = elementorFrontend.config.breakpoints; this.stylesheet = new Stylesheet(); this.stylesheet.addDevice('mobile', 0).addDevice('tablet', breakpoints.md).addDevice('desktop', breakpoints.lg); }, addStyleRules: function addStyleRules(styleControls, values, controls, placeholders, replacements) { var self = this, dynamicParsedValues = self.getSettings('settingsModel').parseDynamicSettings(values, self.getSettings('dynamicParsing'), styleControls); _.each(styleControls, function (control) { if (control.styleFields && control.styleFields.length) { self.addRepeaterControlsStyleRules(values[control.name], control.styleFields, controls, placeholders, replacements); } if (control.dynamic && control.dynamic.active && values.__dynamic__ && values.__dynamic__[control.name]) { self.addDynamicControlStyleRules(values.__dynamic__[control.name], control); } if (!control.selectors) { return; } self.addControlStyleRules(control, dynamicParsedValues, controls, placeholders, replacements); }); }, addControlStyleRules: function addControlStyleRules(control, values, controls, placeholders, replacements) { var _this = this; ControlsCSSParser.addControlStyleRules(this.stylesheet, control, controls, function (StyleControl) { return _this.getStyleControlValue(StyleControl, values); }, placeholders, replacements); }, getStyleControlValue: function getStyleControlValue(control, values) { var value = values[control.name]; if (control.selectors_dictionary) { value = control.selectors_dictionary[value] || value; } if (!_.isNumber(value) && _.isEmpty(value)) { return; } return value; }, addRepeaterControlsStyleRules: function addRepeaterControlsStyleRules(repeaterValues, repeaterControlsItems, controls, placeholders, replacements) { var self = this; repeaterControlsItems.forEach(function (item, index) { var itemModel = repeaterValues.models[index]; self.addStyleRules(item, itemModel.attributes, controls, placeholders.concat(['{{CURRENT_ITEM}}']), replacements.concat(['.elementor-repeater-item-' + itemModel.get('_id')])); }); }, addDynamicControlStyleRules: function addDynamicControlStyleRules(value, control) { var self = this; elementor.dynamicTags.parseTagsText(value, control.dynamic, function (id, name, settings) { var tag = elementor.dynamicTags.createTag(id, name, settings); if (!tag) { return; } var tagSettingsModel = tag.model, styleControls = tagSettingsModel.getStyleControls(); if (!styleControls.length) { return; } self.addStyleRules(tagSettingsModel.getStyleControls(), tagSettingsModel.attributes, tagSettingsModel.controls, ['{{WRAPPER}}'], ['#elementor-tag-' + id]); }); }, addStyleToDocument: function addStyleToDocument() { elementor.$previewContents.find('head').append(this.elements.$stylesheetElement); this.elements.$stylesheetElement.text(this.stylesheet); }, removeStyleFromDocument: function removeStyleFromDocument() { this.elements.$stylesheetElement.remove(); }, onInit: function onInit() { elementorModules.ViewModule.prototype.onInit.apply(this, arguments); this.initStylesheet(); } }); ControlsCSSParser.addControlStyleRules = function (stylesheet, control, controls, valueCallback, placeholders, replacements) { var value = valueCallback(control); if (undefined === value) { return; } _.each(control.selectors, function (cssProperty, selector) { var outputCssProperty; try { outputCssProperty = cssProperty.replace(/{{(?:([^.}]+)\.)?([^}| ]*)(?: *\|\| *(?:([^.}]+)\.)?([^}| ]*) *)*}}/g, function (originalPhrase, controlName, placeholder, fallbackControlName, fallbackValue) { var externalControlMissing = controlName && !controls[controlName]; var parsedValue = ''; if (!externalControlMissing) { parsedValue = ControlsCSSParser.parsePropertyPlaceholder(control, value, controls, valueCallback, placeholder, controlName); } if (!parsedValue && 0 !== parsedValue) { if (fallbackValue) { parsedValue = fallbackValue; var stringValueMatches = parsedValue.match(/^(['"])(.*)\1$/); if (stringValueMatches) { parsedValue = stringValueMatches[2]; } else if (!isFinite(parsedValue)) { if (fallbackControlName && !controls[fallbackControlName]) { return ''; } parsedValue = ControlsCSSParser.parsePropertyPlaceholder(control, value, controls, valueCallback, fallbackValue, fallbackControlName); } } if (!parsedValue && 0 !== parsedValue) { if (externalControlMissing) { return ''; } throw ''; } } return parsedValue; }); } catch (e) { return; } if (_.isEmpty(outputCssProperty)) { return; } var devicePattern = /^(?:\([^)]+\)){1,2}/, deviceRules = selector.match(devicePattern), query = {}; if (deviceRules) { deviceRules = deviceRules[0]; selector = selector.replace(devicePattern, ''); var pureDevicePattern = /\(([^)]+)\)/g, pureDeviceRules = [], matches; matches = pureDevicePattern.exec(deviceRules); while (matches) { pureDeviceRules.push(matches[1]); matches = pureDevicePattern.exec(deviceRules); } _.each(pureDeviceRules, function (deviceRule) { if ('desktop' === deviceRule) { return; } var device = deviceRule.replace(/\+$/, ''), endPoint = device === deviceRule ? 'max' : 'min'; query[endPoint] = device; }); } _.each(placeholders, function (placeholder, index) { // Check if it's a RegExp var regexp = placeholder.source ? placeholder.source : placeholder, placeholderPattern = new RegExp(regexp, 'g'); selector = selector.replace(placeholderPattern, replacements[index]); }); if (!(0, _keys.default)(query).length && control.responsive) { query = _.pick(elementorCommon.helpers.cloneObject(control.responsive), ['min', 'max']); if ('desktop' === query.max) { delete query.max; } } stylesheet.addRules(selector, outputCssProperty, query); }); }; ControlsCSSParser.parsePropertyPlaceholder = function (control, value, controls, valueCallback, placeholder, parserControlName) { if (parserControlName) { control = _.findWhere(controls, { name: parserControlName }); value = valueCallback(control); } return elementor.getControlView(control.type).getStyleValue(placeholder, value, control); }; module.exports = ControlsCSSParser; /***/ }), /* 227 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var SortableBehavior; SortableBehavior = Marionette.Behavior.extend({ defaults: { elChildType: 'widget' }, events: { sortstart: 'onSortStart', sortreceive: 'onSortReceive', sortupdate: 'onSortUpdate', sortover: 'onSortOver', sortout: 'onSortOut' }, initialize: function initialize() { this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeSwitched).listenTo(this.view.options.model, 'request:sort:start', this.startSort).listenTo(this.view.options.model, 'request:sort:update', this.updateSort).listenTo(this.view.options.model, 'request:sort:receive', this.receiveSort); }, onEditModeSwitched: function onEditModeSwitched(activeMode) { if ('edit' === activeMode) { this.activate(); } else { this.deactivate(); } }, onRender: function onRender() { var self = this; _.defer(function () { self.onEditModeSwitched(elementor.channels.dataEditMode.request('activeMode')); }); }, onDestroy: function onDestroy() { this.deactivate(); }, activate: function activate() { if (!elementor.userCan('design')) { return; } if (this.getChildViewContainer().sortable('instance')) { return; } var $childViewContainer = this.getChildViewContainer(), defaultSortableOptions = { connectWith: $childViewContainer.selector, placeholder: 'elementor-sortable-placeholder elementor-' + this.getOption('elChildType') + '-placeholder', cursorAt: { top: 20, left: 25 }, helper: this._getSortableHelper.bind(this), cancel: 'input, textarea, button, select, option, .elementor-inline-editing, .elementor-tab-title' }, sortableOptions = _.extend(defaultSortableOptions, this.view.getSortableOptions()); $childViewContainer.sortable(sortableOptions); }, _getSortableHelper: function _getSortableHelper(event, $item) { var model = this.view.collection.get({ cid: $item.data('model-cid') }); return '<div style="height: 84px; width: 125px;" class="elementor-sortable-helper elementor-sortable-helper-' + model.get('elType') + '"><div class="icon"><i class="' + model.getIcon() + '"></i></div><div class="elementor-element-title-wrapper"><div class="title">' + model.getTitle() + '</div></div></div>'; }, getChildViewContainer: function getChildViewContainer() { return this.view.getChildViewContainer(this.view); }, deactivate: function deactivate() { var childViewContainer = this.getChildViewContainer(); if (childViewContainer.sortable('instance')) { childViewContainer.sortable('destroy'); } }, startSort: function startSort(event, ui) { event.stopPropagation(); var model = this.view.collection.get({ cid: ui.item.data('model-cid') }); elementor.channels.data.reply('dragging:model', model).reply('dragging:parent:view', this.view).trigger('drag:start', model).trigger(model.get('elType') + ':drag:start'); }, updateSort: function updateSort(ui) { var model = elementor.channels.data.request('dragging:model'), $childElement = ui.item, collection = this.view.collection, newIndex = $childElement.parent().children().index($childElement), child = this.view.children.findByModelCid(model.cid); this.view.addChildElement(model.clone(), { at: newIndex, trigger: { beforeAdd: 'drag:before:update', afterAdd: 'drag:after:update' }, onBeforeAdd: function onBeforeAdd() { child._isRendering = true; collection.remove(model); } }); elementor.saver.setFlagEditorChange(true); }, receiveSort: function receiveSort(event, ui) { event.stopPropagation(); if (this.view.isCollectionFilled()) { jQuery(ui.sender).sortable('cancel'); return; } var model = elementor.channels.data.request('dragging:model'), draggedElType = model.get('elType'), draggedIsInnerSection = 'section' === draggedElType && model.get('isInner'), targetIsInnerColumn = 'column' === this.view.getElementType() && this.view.isInner(); if (draggedIsInnerSection && targetIsInnerColumn) { jQuery(ui.sender).sortable('cancel'); return; } var newIndex = ui.item.index(), modelData = model.toJSON({ copyHtmlCache: true }); this.view.addChildElement(modelData, { at: newIndex, trigger: { beforeAdd: 'drag:before:update', afterAdd: 'drag:after:update' }, onAfterAdd: function onAfterAdd() { var senderSection = elementor.channels.data.request('dragging:parent:view'); senderSection.isManualRemoving = true; model.destroy(); senderSection.isManualRemoving = false; } }); }, onSortStart: function onSortStart(event, ui) { if ('column' === this.options.elChildType) { var uiData = ui.item.data('sortableItem'), uiItems = uiData.items, itemHeight = 0; uiItems.forEach(function (item) { if (item.item[0] === ui.item[0]) { itemHeight = item.height; return false; } }); ui.placeholder.height(itemHeight); } this.startSort(event, ui); }, onSortOver: function onSortOver(event) { event.stopPropagation(); var model = elementor.channels.data.request('dragging:model'); jQuery(event.target).addClass('elementor-draggable-over').attr({ 'data-dragged-element': model.get('elType'), 'data-dragged-is-inner': model.get('isInner') }); this.$el.addClass('elementor-dragging-on-child'); }, onSortOut: function onSortOut(event) { event.stopPropagation(); jQuery(event.target).removeClass('elementor-draggable-over').removeAttr('data-dragged-element data-dragged-is-inner'); this.$el.removeClass('elementor-dragging-on-child'); }, onSortReceive: function onSortReceive(event, ui) { this.receiveSort(event, ui); }, onSortUpdate: function onSortUpdate(event, ui) { event.stopPropagation(); if (this.getChildViewContainer()[0] !== ui.item.parent()[0]) { return; } this.updateSort(ui); }, onAddChild: function onAddChild(view) { view.$el.attr('data-model-cid', view.model.cid); } }); module.exports = SortableBehavior; /***/ }), /* 228 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(26); var InnerTabsBehavior; InnerTabsBehavior = Marionette.Behavior.extend({ onRenderCollection: function onRenderCollection() { this.handleInnerTabs(this.view); }, handleInnerTabs: function handleInnerTabs(parent) { var closedClass = 'elementor-tab-close', activeClass = 'elementor-tab-active', tabsWrappers = parent.children.filter(function (view) { return 'tabs' === view.model.get('type'); }); _.each(tabsWrappers, function (view) { view.$el.find('.elementor-control-content').remove(); var tabsId = view.model.get('name'), tabs = parent.children.filter(function (childView) { return 'tab' === childView.model.get('type') && childView.model.get('tabs_wrapper') === tabsId; }); _.each(tabs, function (childView, index) { view._addChildView(childView); var tabId = childView.model.get('name'), controlsUnderTab = parent.children.filter(function (controlView) { return tabId === controlView.model.get('inner_tab'); }); if (0 === index) { childView.$el.addClass(activeClass); } else { _.each(controlsUnderTab, function (controlView) { controlView.$el.addClass(closedClass); }); } }); }); }, onChildviewControlTabClicked: function onChildviewControlTabClicked(childView) { var closedClass = 'elementor-tab-close', activeClass = 'elementor-tab-active', tabClicked = childView.model.get('name'), childrenUnderTab = this.view.children.filter(function (view) { return 'tab' !== view.model.get('type') && childView.model.get('tabs_wrapper') === view.model.get('tabs_wrapper'); }), siblingTabs = this.view.children.filter(function (view) { return 'tab' === view.model.get('type') && childView.model.get('tabs_wrapper') === view.model.get('tabs_wrapper'); }); _.each(siblingTabs, function (view) { view.$el.removeClass(activeClass); }); childView.$el.addClass(activeClass); _.each(childrenUnderTab, function (view) { if (view.model.get('inner_tab') === tabClicked) { view.$el.removeClass(closedClass); } else { view.$el.addClass(closedClass); } }); elementor.getPanelView().updateScrollbar(); } }); module.exports = InnerTabsBehavior; /***/ }), /* 229 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Handles managing all events for whatever you plug it into. Priorities for hooks are based on lowest to highest in * that, lowest priority hooks are fired first. */ var _interopRequireDefault = __webpack_require__(0); var _parseInt2 = _interopRequireDefault(__webpack_require__(162)); var EventManager = function EventManager() { var slice = Array.prototype.slice, MethodsAvailable; /** * Contains the hooks that get registered with this EventManager. The array for storage utilizes a "flat" * object literal such that looking up the hook utilizes the native object literal hash. */ var STORAGE = { actions: {}, filters: {} }; /** * Removes the specified hook by resetting the value of it. * * @param type Type of hook, either 'actions' or 'filters' * @param hook The hook (namespace.identifier) to remove * * @private */ function _removeHook(type, hook, callback, context) { var handlers, handler, i; if (!STORAGE[type][hook]) { return; } if (!callback) { STORAGE[type][hook] = []; } else { handlers = STORAGE[type][hook]; if (!context) { for (i = handlers.length; i--;) { if (handlers[i].callback === callback) { handlers.splice(i, 1); } } } else { for (i = handlers.length; i--;) { handler = handlers[i]; if (handler.callback === callback && handler.context === context) { handlers.splice(i, 1); } } } } } /** * Use an insert sort for keeping our hooks organized based on priority. This function is ridiculously faster * than bubble sort, etc: http://jsperf.com/javascript-sort * * @param hooks The custom array containing all of the appropriate hooks to perform an insert sort on. * @private */ function _hookInsertSort(hooks) { var tmpHook, j, prevHook; for (var i = 1, len = hooks.length; i < len; i++) { tmpHook = hooks[i]; j = i; while ((prevHook = hooks[j - 1]) && prevHook.priority > tmpHook.priority) { hooks[j] = hooks[j - 1]; --j; } hooks[j] = tmpHook; } return hooks; } /** * Adds the hook to the appropriate storage container * * @param type 'actions' or 'filters' * @param hook The hook (namespace.identifier) to add to our event manager * @param callback The function that will be called when the hook is executed. * @param priority The priority of this hook. Must be an integer. * @param [context] A value to be used for this * @private */ function _addHook(type, hook, callback, priority, context) { var hookObject = { callback: callback, priority: priority, context: context }; // Utilize 'prop itself' : http://jsperf.com/hasownproperty-vs-in-vs-undefined/19 var hooks = STORAGE[type][hook]; if (hooks) { // TEMP FIX BUG var hasSameCallback = false; jQuery.each(hooks, function () { if (this.callback === callback) { hasSameCallback = true; return false; } }); if (hasSameCallback) { return; } // END TEMP FIX BUG hooks.push(hookObject); hooks = _hookInsertSort(hooks); } else { hooks = [hookObject]; } STORAGE[type][hook] = hooks; } /** * Runs the specified hook. If it is an action, the value is not modified but if it is a filter, it is. * * @param type 'actions' or 'filters' * @param hook The hook ( namespace.identifier ) to be ran. * @param args Arguments to pass to the action/filter. If it's a filter, args is actually a single parameter. * @private */ function _runHook(type, hook, args) { var handlers = STORAGE[type][hook], i, len; if (!handlers) { return 'filters' === type ? args[0] : false; } len = handlers.length; if ('filters' === type) { for (i = 0; i < len; i++) { args[0] = handlers[i].callback.apply(handlers[i].context, args); } } else { for (i = 0; i < len; i++) { handlers[i].callback.apply(handlers[i].context, args); } } return 'filters' === type ? args[0] : true; } /** * Adds an action to the event manager. * * @param action Must contain namespace.identifier * @param callback Must be a valid callback function before this action is added * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook * @param [context] Supply a value to be used for this */ function addAction(action, callback, priority, context) { if ('string' === typeof action && 'function' === typeof callback) { priority = (0, _parseInt2.default)(priority || 10, 10); _addHook('actions', action, callback, priority, context); } return MethodsAvailable; } /** * Performs an action if it exists. You can pass as many arguments as you want to this function; the only rule is * that the first argument must always be the action. */ function doAction() /* action, arg1, arg2, ... */ { var args = slice.call(arguments); var action = args.shift(); if ('string' === typeof action) { _runHook('actions', action, args); } return MethodsAvailable; } /** * Removes the specified action if it contains a namespace.identifier & exists. * * @param action The action to remove * @param [callback] Callback function to remove */ function removeAction(action, callback) { if ('string' === typeof action) { _removeHook('actions', action, callback); } return MethodsAvailable; } /** * Adds a filter to the event manager. * * @param filter Must contain namespace.identifier * @param callback Must be a valid callback function before this action is added * @param [priority=10] Used to control when the function is executed in relation to other callbacks bound to the same hook * @param [context] Supply a value to be used for this */ function addFilter(filter, callback, priority, context) { if ('string' === typeof filter && 'function' === typeof callback) { priority = (0, _parseInt2.default)(priority || 10, 10); _addHook('filters', filter, callback, priority, context); } return MethodsAvailable; } /** * Performs a filter if it exists. You should only ever pass 1 argument to be filtered. The only rule is that * the first argument must always be the filter. */ function applyFilters() /* filter, filtered arg, arg2, ... */ { var args = slice.call(arguments); var filter = args.shift(); if ('string' === typeof filter) { return _runHook('filters', filter, args); } return MethodsAvailable; } /** * Removes the specified filter if it contains a namespace.identifier & exists. * * @param filter The action to remove * @param [callback] Callback function to remove */ function removeFilter(filter, callback) { if ('string' === typeof filter) { _removeHook('filters', filter, callback); } return MethodsAvailable; } /** * Maintain a reference to the object scope so our public methods never get confusing. */ MethodsAvailable = { removeFilter: removeFilter, applyFilters: applyFilters, addFilter: addFilter, removeAction: removeAction, doAction: doAction, addAction: addAction }; // return all of the publicly available methods return MethodsAvailable; }; module.exports = EventManager; /***/ }), /* 230 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(48); var ControlsCSSParser = __webpack_require__(226); module.exports = elementorModules.ViewModule.extend({ model: null, hasChange: false, changeCallbacks: {}, addChangeCallback: function addChangeCallback(attribute, callback) { this.changeCallbacks[attribute] = callback; }, bindEvents: function bindEvents() { elementor.on('preview:loaded', this.onElementorPreviewLoaded); this.model.on('change', this.onModelChange); }, 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: { model: this.model, controls: this.model.controls, name: name } }); }, updateStylesheet: function updateStylesheet(keepOldEntries) { var controlsCSS = this.getControlsCSS(); if (!keepOldEntries) { controlsCSS.stylesheet.empty(); } controlsCSS.addStyleRules(this.model.getStyleControls(), this.model.attributes, this.model.controls, [/{{WRAPPER}}/g], [this.getSettings('cssWrapperSelector')]); controlsCSS.addStyleToDocument(); }, initModel: function initModel() { this.model = new elementorModules.editor.elements.models.BaseSettings(this.getSettings('settings'), { controls: this.getSettings('controls') }); }, initControlsCSSParser: function initControlsCSSParser() { var controlsCSS; this.getControlsCSS = function () { if (!controlsCSS) { controlsCSS = new ControlsCSSParser({ id: this.getSettings('name'), settingsModel: this.model }); } 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 }); NProgress.start(); elementorCommon.ajax.addRequest('save_' + this.getSettings('name') + '_settings', { data: data, success: function success() { NProgress.done(); self.setSettings('settings', settings); self.hasChange = false; if (callback) { callback.apply(self, arguments); } }, error: function error() { 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(); }, onElementorPreviewLoaded: function onElementorPreviewLoaded() { this.updateStylesheet(); this.addPanelPage(); if (!elementor.userCan('design')) { $e.route('panel/page-settings/settings'); } } }); /***/ }), /* 231 */, /* 232 */, /* 233 */, /* 234 */, /* 235 */, /* 236 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); module.exports = Marionette.Region.extend({ storage: null, storageSizeKeys: null, constructor: function constructor() { Marionette.Region.prototype.constructor.apply(this, arguments); var savedStorage = elementorCommon.storage.get(this.getStorageKey()); this.storage = savedStorage ? savedStorage : this.getDefaultStorage(); this.storageSizeKeys = (0, _keys.default)(this.storage.size); }, saveStorage: function saveStorage(key, value) { this.storage[key] = value; elementorCommon.storage.set(this.getStorageKey(), this.storage); }, saveSize: function saveSize() { this.saveStorage('size', elementor.helpers.getElementInlineStyle(this.$el, this.storageSizeKeys)); } }); /***/ }), /* 237 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* object-assign (c) Sindre Sorhus @license MIT */ /* eslint-disable no-unused-vars */ var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (err) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }), /* 238 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var $defineProperty = __webpack_require__(14); var createDesc = __webpack_require__(30); module.exports = function (object, index, value) { if (index in object) $defineProperty.f(object, index, createDesc(0, value)); else object[index] = value; }; /***/ }), /* 239 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; function checkDCE() { /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' ) { return; } if (false) {} try { // Verify that the code above has been dead code eliminated (DCE'd). __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); } catch (err) { // DevTools shouldn't crash React, no matter what. // We should still report in case we break this code. console.error(err); } } if (true) { // DCE check should happen before ReactDOM bundle executes so that // DevTools can report bad minification during injection. checkDCE(); module.exports = __webpack_require__(307); } else {} /***/ }), /* 240 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(22); var setPrototypeOf = __webpack_require__(333).set; module.exports = function (that, target, C) { var S = target.constructor; var P; if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { setPrototypeOf(that, P); } return that; }; /***/ }), /* 241 */ /***/ (function(module, exports, __webpack_require__) { var pIE = __webpack_require__(334); var createDesc = __webpack_require__(67); var toIObject = __webpack_require__(91); var toPrimitive = __webpack_require__(82); var has = __webpack_require__(47); var IE8_DOM_DEFINE = __webpack_require__(84); var gOPD = Object.getOwnPropertyDescriptor; exports.f = __webpack_require__(20) ? gOPD : function getOwnPropertyDescriptor(O, P) { O = toIObject(O); P = toPrimitive(P, true); if (IE8_DOM_DEFINE) try { return gOPD(O, P); } catch (e) { /* empty */ } if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); }; /***/ }), /* 242 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = __webpack_require__(166); var hiddenKeys = __webpack_require__(143).concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); }; /***/ }), /* 243 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(11); var inheritIfRequired = __webpack_require__(240); var dP = __webpack_require__(36).f; var gOPN = __webpack_require__(242).f; var isRegExp = __webpack_require__(139); var $flags = __webpack_require__(99); var $RegExp = global.RegExp; var Base = $RegExp; var proto = $RegExp.prototype; var re1 = /a/g; var re2 = /a/g; // "new" creates a new object, old webkit buggy here var CORRECT_NEW = new $RegExp(re1) !== re1; if (__webpack_require__(20) && (!CORRECT_NEW || __webpack_require__(24)(function () { re2[__webpack_require__(9)('match')] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; }))) { $RegExp = function RegExp(p, f) { var tiRE = this instanceof $RegExp; var piRE = isRegExp(p); var fiU = f === undefined; return !tiRE && piRE && p.constructor === $RegExp && fiU ? p : inheritIfRequired(CORRECT_NEW ? new Base(piRE && !fiU ? p.source : p, f) : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) , tiRE ? this : proto, $RegExp); }; var proxy = function (key) { key in $RegExp || dP($RegExp, key, { configurable: true, get: function () { return Base[key]; }, set: function (it) { Base[key] = it; } }); }; for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); proto.constructor = $RegExp; $RegExp.prototype = proto; __webpack_require__(27)(global, 'RegExp', $RegExp); } __webpack_require__(337)('RegExp'); /***/ }), /* 244 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(181); __webpack_require__(140); __webpack_require__(80); __webpack_require__(98); __webpack_require__(161); __webpack_require__(89); var _keys = _interopRequireDefault(__webpack_require__(58)); (function ($) { var Stylesheet = function Stylesheet() { var self = this, rules = {}, rawCSS = {}, devices = {}; var getDeviceMaxValue = function getDeviceMaxValue(deviceName) { var deviceNames = (0, _keys.default)(devices), deviceNameIndex = deviceNames.indexOf(deviceName), nextIndex = deviceNameIndex + 1; if (nextIndex >= deviceNames.length) { throw new RangeError('Max value for this device is out of range.'); } return devices[deviceNames[nextIndex]] - 1; }; var queryToHash = function queryToHash(query) { var hash = []; $.each(query, function (endPoint) { hash.push(endPoint + '_' + this); }); return hash.join('-'); }; var hashToQuery = function hashToQuery(hash) { var query = {}; hash = hash.split('-').filter(String); hash.forEach(function (singleQuery) { var queryParts = singleQuery.split('_'), endPoint = queryParts[0], deviceName = queryParts[1]; query[endPoint] = 'max' === endPoint ? getDeviceMaxValue(deviceName) : devices[deviceName]; }); return query; }; var addQueryHash = function addQueryHash(queryHash) { rules[queryHash] = {}; var hashes = (0, _keys.default)(rules); if (hashes.length < 2) { return; } // Sort the devices from narrowest to widest hashes.sort(function (a, b) { if ('all' === a) { return -1; } if ('all' === b) { return 1; } var aQuery = hashToQuery(a), bQuery = hashToQuery(b); return bQuery.max - aQuery.max; }); var sortedRules = {}; hashes.forEach(function (deviceName) { sortedRules[deviceName] = rules[deviceName]; }); rules = sortedRules; }; var getQueryHashStyleFormat = function getQueryHashStyleFormat(queryHash) { var query = hashToQuery(queryHash), styleFormat = []; $.each(query, function (endPoint) { styleFormat.push('(' + endPoint + '-width:' + this + 'px)'); }); return '@media' + styleFormat.join(' and '); }; this.addDevice = function (newDeviceName, deviceValue) { devices[newDeviceName] = deviceValue; var deviceNames = (0, _keys.default)(devices); if (deviceNames.length < 2) { return self; } // Sort the devices from narrowest to widest deviceNames.sort(function (a, b) { return devices[a] - devices[b]; }); var sortedDevices = {}; deviceNames.forEach(function (deviceName) { sortedDevices[deviceName] = devices[deviceName]; }); devices = sortedDevices; return self; }; this.addRawCSS = function (key, css) { rawCSS[key] = css; }; this.addRules = function (selector, styleRules, query) { var queryHash = 'all'; if (!_.isEmpty(query)) { queryHash = queryToHash(query); } if (!rules[queryHash]) { addQueryHash(queryHash); } if (!styleRules) { var parsedRules = selector.match(/[^{]+\{[^}]+}/g); $.each(parsedRules, function () { var parsedRule = this.match(/([^{]+)\{([^}]+)}/); if (parsedRule) { self.addRules(parsedRule[1].trim(), parsedRule[2].trim(), query); } }); return; } if (!rules[queryHash][selector]) { rules[queryHash][selector] = {}; } if ('string' === typeof styleRules) { styleRules = styleRules.split(';').filter(String); var orderedRules = {}; try { $.each(styleRules, function () { var property = this.split(/:(.*)?/); orderedRules[property[0].trim()] = property[1].trim().replace(';', ''); }); } catch (error) { // At least one of the properties is incorrect return; } styleRules = orderedRules; } $.extend(rules[queryHash][selector], styleRules); return self; }; this.getRules = function () { return rules; }; this.empty = function () { rules = {}; rawCSS = {}; }; this.toString = function () { var styleText = ''; $.each(rules, function (queryHash) { var deviceText = Stylesheet.parseRules(this); if ('all' !== queryHash) { deviceText = getQueryHashStyleFormat(queryHash) + '{' + deviceText + '}'; } styleText += deviceText; }); $.each(rawCSS, function () { styleText += this; }); return styleText; }; }; Stylesheet.parseRules = function (rules) { var parsedRules = ''; $.each(rules, function (selector) { var selectorContent = Stylesheet.parseProperties(this); if (selectorContent) { parsedRules += selector + '{' + selectorContent + '}'; } }); return parsedRules; }; Stylesheet.parseProperties = function (properties) { var parsedProperties = ''; $.each(properties, function (propertyKey) { if (this) { parsedProperties += propertyKey + ':' + this + ';'; } }); return parsedProperties; }; module.exports = Stylesheet; })(jQuery); /***/ }), /* 245 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var InsertTemplateHandler; InsertTemplateHandler = Marionette.Behavior.extend({ ui: { insertButton: '.elementor-template-library-template-insert' }, events: { 'click @ui.insertButton': 'onInsertButtonClick' }, onInsertButtonClick: function onInsertButtonClick() { var autoImportSettings = elementor.config.document.remoteLibrary.autoImportSettings; if (!autoImportSettings && this.view.model.get('hasPageSettings')) { InsertTemplateHandler.showImportDialog(this.view.model); return; } elementor.templates.importTemplate(this.view.model, { withPageSettings: autoImportSettings }); } }, { dialog: null, showImportDialog: function showImportDialog(model) { var dialog = InsertTemplateHandler.getDialog(); dialog.onConfirm = function () { elementor.templates.importTemplate(model, { withPageSettings: true }); }; dialog.onCancel = function () { elementor.templates.importTemplate(model); }; dialog.show(); }, initDialog: function initDialog() { InsertTemplateHandler.dialog = elementorCommon.dialogsManager.createWidget('confirm', { id: 'elementor-insert-template-settings-dialog', headerMessage: elementor.translate('import_template_dialog_header'), message: elementor.translate('import_template_dialog_message') + '<br>' + elementor.translate('import_template_dialog_message_attention'), strings: { confirm: elementor.translate('yes'), cancel: elementor.translate('no') } }); }, getDialog: function getDialog() { if (!InsertTemplateHandler.dialog) { InsertTemplateHandler.initDialog(); } return InsertTemplateHandler.dialog; } }); module.exports = InsertTemplateHandler; /***/ }), /* 246 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var TemplateLibraryInsertTemplateBehavior = __webpack_require__(245), 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 (this.model.get('isPro')) { classes += ' elementor-template-library-pro-template'; } return classes; }, 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; /***/ }), /* 247 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) var $export = __webpack_require__(37); var $find = __webpack_require__(100)(6); var KEY = 'findIndex'; var forced = true; // Shouldn't skip holes if (KEY in []) Array(1)[KEY](function () { forced = false; }); $export($export.P + $export.F * forced, 'Array', { findIndex: function findIndex(callbackfn /* , that = undefined */) { return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); __webpack_require__(73)(KEY); /***/ }), /* 248 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); module.exports = Marionette.CompositeView.extend({ templateHelpers: function templateHelpers() { return { view: this }; }, getBehavior: function getBehavior(name) { return this._behaviors[(0, _keys.default)(this.behaviors()).indexOf(name)]; }, initialize: function initialize() { this.collection = this.model.get('elements'); }, addChildModel: function addChildModel(model, options) { return this.collection.add(model, options, true); }, addChildElement: function addChildElement(data, options) { if (this.isCollectionFilled()) { return; } options = jQuery.extend({ trigger: false, edit: true, onBeforeAdd: null, onAfterAdd: null }, options); var childTypes = this.getChildType(); var newItem, elType; if (data instanceof Backbone.Model) { newItem = data; elType = newItem.get('elType'); } else { newItem = { id: elementor.helpers.getUniqueID(), elType: childTypes[0], settings: {}, elements: [] }; if (data) { jQuery.extend(newItem, data); } elType = newItem.elType; } if (-1 === childTypes.indexOf(elType)) { return this.children.last().addChildElement(newItem, options); } if (options.clone) { newItem = this.cloneItem(newItem); } if (options.trigger) { elementor.channels.data.trigger(options.trigger.beforeAdd, newItem); } if (options.onBeforeAdd) { options.onBeforeAdd(); } var newModel = this.addChildModel(newItem, { at: options.at }), newView = this.children.findByModel(newModel); if (options.onAfterAdd) { options.onAfterAdd(newModel, newView); } if (options.trigger) { elementor.channels.data.trigger(options.trigger.afterAdd, newItem); } if (options.edit) { newModel.trigger('request:edit'); } return newView; }, cloneItem: function cloneItem(item) { var self = this; if (item instanceof Backbone.Model) { return item.clone(); } item.id = elementor.helpers.getUniqueID(); item.settings._element_id = ''; item.elements.forEach(function (childItem, index) { item.elements[index] = self.cloneItem(childItem); }); return item; }, isCollectionFilled: function isCollectionFilled() { return false; }, onChildviewRequestAddNew: function onChildviewRequestAddNew(childView) { this.addChildElement({}, { at: childView.$el.index() + 1, trigger: { beforeAdd: 'element:before:add', afterAdd: 'element:after:add' } }); }, onChildviewRequestPaste: function onChildviewRequestPaste(childView) { var self = this; if (self.isCollectionFilled()) { return; } var elements = elementorCommon.storage.get('transfer').elements, index = self.collection.indexOf(childView.model); elementor.channels.data.trigger('element:before:add', elements[0]); elements.forEach(function (item) { index++; self.addChildElement(item, { at: index, clone: true }); }); elementor.channels.data.trigger('element:after:add', elements[0]); } }); /***/ }), /* 249 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(26); var _inline = _interopRequireDefault(__webpack_require__(375)); var BaseElementView = __webpack_require__(200), SectionView; SectionView = BaseElementView.extend({ template: Marionette.TemplateCache.get('#tmpl-elementor-section-content'), addSectionView: null, className: function className() { var classes = BaseElementView.prototype.className.apply(this, arguments), type = this.isInner() ? 'inner' : 'top'; return classes + ' elementor-section elementor-' + type + '-section'; }, tagName: function tagName() { return this.model.getSetting('html_tag') || 'section'; }, childViewContainer: '> .elementor-container > .elementor-row', behaviors: function behaviors() { var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments); _.extend(behaviors, { Sortable: { behaviorClass: __webpack_require__(227), elChildType: 'column' } }); return elementor.hooks.applyFilters('elements/section/behaviors', behaviors, this); }, errors: { columnWidthTooLarge: 'New column width is too large', columnWidthTooSmall: 'New column width is too small' }, getEditButtons: function getEditButtons() { var elementData = elementor.getElementData(this.model), editTools = {}; if (!this.isInner()) { editTools.add = { title: elementor.translate('add_element', [elementData.title]), icon: 'plus' }; } editTools.edit = { title: elementor.translate('edit_element', [elementData.title]), icon: 'handle' }; if (elementor.config.editButtons) { editTools.duplicate = { title: elementor.translate('duplicate_element', [elementData.title]), icon: 'clone' }; } editTools.remove = { title: elementor.translate('delete_element', [elementData.title]), icon: 'close' }; return editTools; }, initialize: function initialize() { BaseElementView.prototype.initialize.apply(this, arguments); this.listenTo(this.collection, 'add remove reset', this._checkIsFull); this._checkIsEmpty(); }, getContextMenuGroups: function getContextMenuGroups() { var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments), transferGroupIndex = groups.indexOf(_.findWhere(groups, { name: 'transfer' })); groups.splice(transferGroupIndex + 1, 0, { name: 'save', actions: [{ name: 'save', title: elementor.translate('save_as_block'), callback: this.save.bind(this) }] }); return groups; }, addChildModel: function addChildModel(model) { var isModelInstance = model instanceof Backbone.Model, isInner = this.isInner(); if (isModelInstance) { model.set('isInner', isInner); } else { model.isInner = isInner; } return BaseElementView.prototype.addChildModel.apply(this, arguments); }, getSortableOptions: function getSortableOptions() { var sectionConnectClass = this.isInner() ? '.elementor-inner-section' : '.elementor-top-section'; return { connectWith: sectionConnectClass + ' > .elementor-container > .elementor-row', handle: '> .elementor-element-overlay .elementor-editor-element-edit', items: '> .elementor-column', forcePlaceholderSize: true, tolerance: 'pointer' }; }, getColumnPercentSize: function getColumnPercentSize(element, size) { return +(size / element.parent().width() * 100).toFixed(3); }, getDefaultStructure: function getDefaultStructure() { return this.collection.length + '0'; }, getStructure: function getStructure() { return this.model.getSetting('structure'); }, setStructure: function setStructure(structure) { var parsedStructure = elementor.presetsFactory.getParsedStructure(structure); if (+parsedStructure.columnsCount !== this.collection.length) { throw new TypeError('The provided structure doesn\'t match the columns count.'); } this.model.setSetting('structure', structure); }, redefineLayout: function redefineLayout() { var preset = elementor.presetsFactory.getPresetByStructure(this.getStructure()); this.collection.each(function (model, index) { model.setSetting('_column_size', preset.preset[index]); model.setSetting('_inline_size', null); }); }, resetLayout: function resetLayout() { this.setStructure(this.getDefaultStructure()); }, resetColumnsCustomSize: function resetColumnsCustomSize() { this.collection.each(function (model) { model.setSetting('_inline_size', null); }); }, isCollectionFilled: function isCollectionFilled() { var MAX_SIZE = 10, columnsCount = this.collection.length; return MAX_SIZE <= columnsCount; }, _checkIsFull: function _checkIsFull() { this.$el.toggleClass('elementor-section-filled', this.isCollectionFilled()); }, _checkIsEmpty: function _checkIsEmpty() { if (!this.collection.length && !this.model.get('allowEmpty')) { this.addChildElement(null, { edit: false }); } }, getColumnAt: function getColumnAt(index) { var model = this.collection.at(index); return model ? this.children.findByModelCid(model.cid) : null; }, getNextColumn: function getNextColumn(columnView) { return this.getColumnAt(this.collection.indexOf(columnView.model) + 1); }, getPreviousColumn: function getPreviousColumn(columnView) { return this.getColumnAt(this.collection.indexOf(columnView.model) - 1); }, showChildrenPercentsTooltip: function showChildrenPercentsTooltip(columnView, nextColumnView) { columnView.ui.percentsTooltip.show(); columnView.ui.percentsTooltip.attr('data-side', elementorCommon.config.isRTL ? 'right' : 'left'); nextColumnView.ui.percentsTooltip.show(); nextColumnView.ui.percentsTooltip.attr('data-side', elementorCommon.config.isRTL ? 'left' : 'right'); }, hideChildrenPercentsTooltip: function hideChildrenPercentsTooltip(columnView, nextColumnView) { columnView.ui.percentsTooltip.hide(); nextColumnView.ui.percentsTooltip.hide(); }, resizeChild: function resizeChild(childView, currentSize, newSize) { var nextChildView = this.getNextColumn(childView) || this.getPreviousColumn(childView); if (!nextChildView) { throw new ReferenceError('There is not any next column'); } var minColumnSize = 2, $nextElement = nextChildView.$el, nextElementCurrentSize = +nextChildView.model.getSetting('_inline_size') || this.getColumnPercentSize($nextElement, $nextElement[0].getBoundingClientRect().width), nextElementNewSize = +(currentSize + nextElementCurrentSize - newSize).toFixed(3); if (nextElementNewSize < minColumnSize) { throw new RangeError(this.errors.columnWidthTooLarge); } if (newSize < minColumnSize) { throw new RangeError(this.errors.columnWidthTooSmall); } nextChildView.model.setSetting('_inline_size', nextElementNewSize); return true; }, destroyAddSectionView: function destroyAddSectionView() { if (this.addSectionView && !this.addSectionView.isDestroyed) { this.addSectionView.destroy(); } }, onRender: function onRender() { BaseElementView.prototype.onRender.apply(this, arguments); this._checkIsFull(); }, onSettingsChanged: function onSettingsChanged(settingsModel) { BaseElementView.prototype.onSettingsChanged.apply(this, arguments); if (settingsModel.changed.structure) { this.redefineLayout(); } }, onAddButtonClick: function onAddButtonClick() { if (this.addSectionView && !this.addSectionView.isDestroyed) { this.addSectionView.fadeToDeath(); return; } var myIndex = this.model.collection.indexOf(this.model), addSectionView = new _inline.default({ at: myIndex }); addSectionView.render(); this.$el.before(addSectionView.$el); addSectionView.$el.hide(); // Delaying the slide down for slow-render browsers (such as FF) setTimeout(function () { addSectionView.$el.slideDown(); }); this.addSectionView = addSectionView; }, onAddChild: function onAddChild() { if (!this.isBuffering && !this.model.get('allowEmpty')) { // Reset the layout just when we have really add/remove element. this.resetLayout(); } }, onRemoveChild: function onRemoveChild() { if (!this.isManualRemoving) { return; } // If it's the last column, please create new one. this._checkIsEmpty(); this.resetLayout(); }, onChildviewRequestResizeStart: function onChildviewRequestResizeStart(columnView) { var nextColumnView = this.getNextColumn(columnView); if (!nextColumnView) { return; } this.showChildrenPercentsTooltip(columnView, nextColumnView); var $iframes = columnView.$el.find('iframe').add(nextColumnView.$el.find('iframe')); elementor.helpers.disableElementEvents($iframes); }, onChildviewRequestResizeStop: function onChildviewRequestResizeStop(columnView) { var nextColumnView = this.getNextColumn(columnView); if (!nextColumnView) { return; } this.hideChildrenPercentsTooltip(columnView, nextColumnView); var $iframes = columnView.$el.find('iframe').add(nextColumnView.$el.find('iframe')); elementor.helpers.enableElementEvents($iframes); }, onChildviewRequestResize: function onChildviewRequestResize(columnView, ui) { // Get current column details var currentSize = +columnView.model.getSetting('_inline_size') || this.getColumnPercentSize(columnView.$el, columnView.$el.data('originalWidth')); ui.element.css({ width: '', left: 'initial' // Fix for RTL resizing }); var newSize = this.getColumnPercentSize(ui.element, ui.size.width); try { this.resizeChild(columnView, currentSize, newSize); } catch (e) { return; } columnView.model.setSetting('_inline_size', newSize); }, onDestroy: function onDestroy() { BaseElementView.prototype.onDestroy.apply(this, arguments); this.destroyAddSectionView(); } }); module.exports = SectionView; /***/ }), /* 250 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var AddSectionBase = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(AddSectionBase, _Marionette$ItemView); function AddSectionBase() { (0, _classCallCheck2.default)(this, AddSectionBase); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(AddSectionBase).apply(this, arguments)); } (0, _createClass2.default)(AddSectionBase, [{ key: "template", value: function template() { return Marionette.TemplateCache.get('#tmpl-elementor-add-section'); } }, { key: "attributes", value: function attributes() { return { 'data-view': 'choose-action' }; } }, { key: "ui", value: function ui() { return { addNewSection: '.elementor-add-new-section', closeButton: '.elementor-add-section-close', addSectionButton: '.elementor-add-section-button', addTemplateButton: '.elementor-add-template-button', selectPreset: '.elementor-select-preset', presets: '.elementor-preset' }; } }, { key: "events", value: function events() { return { 'click @ui.addSectionButton': 'onAddSectionButtonClick', 'click @ui.addTemplateButton': 'onAddTemplateButtonClick', 'click @ui.closeButton': 'onCloseButtonClick', 'click @ui.presets': 'onPresetSelected' }; } }, { key: "behaviors", value: function behaviors() { return { contextMenu: { behaviorClass: __webpack_require__(201), groups: this.getContextMenuGroups() } }; } }, { key: "className", value: function className() { return 'elementor-add-section elementor-visible-desktop'; } }, { key: "addSection", value: function addSection(properties, options) { return elementor.getPreviewView().addChildElement(properties, jQuery.extend({}, this.options, options)); } }, { key: "setView", value: function setView(view) { this.$el.attr('data-view', view); } }, { key: "showSelectPresets", value: function showSelectPresets() { this.setView('select-preset'); } }, { key: "closeSelectPresets", value: function closeSelectPresets() { this.setView('choose-action'); } }, { key: "getTemplatesModalOptions", value: function getTemplatesModalOptions() { return { importOptions: { at: this.getOption('at') } }; } }, { key: "getContextMenuGroups", value: function getContextMenuGroups() { var hasContent = function hasContent() { return elementor.elements.length > 0; }; return [{ name: 'paste', actions: [{ name: 'paste', title: elementor.translate('paste'), callback: this.paste.bind(this), isEnabled: this.isPasteEnabled.bind(this) }] }, { name: 'content', actions: [{ name: 'copy_all_content', title: elementor.translate('copy_all_content'), callback: this.copy.bind(this), isEnabled: hasContent }, { name: 'delete_all_content', title: elementor.translate('delete_all_content'), callback: elementor.clearPage.bind(elementor), isEnabled: hasContent }] }]; } }, { key: "copy", value: function copy() { elementor.getPreviewView().copy(); } }, { key: "paste", value: function paste() { elementor.getPreviewView().paste(this.getOption('at')); } }, { key: "isPasteEnabled", value: function isPasteEnabled() { return elementorCommon.storage.get('transfer'); } }, { key: "onAddSectionButtonClick", value: function onAddSectionButtonClick() { this.showSelectPresets(); } }, { key: "onAddTemplateButtonClick", value: function onAddTemplateButtonClick() { $e.run('library/open', this.getTemplatesModalOptions()); } }, { key: "onRender", value: function onRender() { this.$el.html5Droppable({ axis: ['vertical'], groups: ['elementor-element'], placeholder: false, currentElementClass: 'elementor-html5dnd-current-element', hasDraggingOnChildClass: 'elementor-dragging-on-child', onDropping: this.onDropping.bind(this) }); } }, { key: "onPresetSelected", value: function onPresetSelected(event) { this.closeSelectPresets(); var selectedStructure = event.currentTarget.dataset.structure, parsedStructure = elementor.presetsFactory.getParsedStructure(selectedStructure), elements = []; var loopIndex; for (loopIndex = 0; loopIndex < parsedStructure.columnsCount; loopIndex++) { elements.push({ id: elementor.helpers.getUniqueID(), elType: 'column', settings: {}, elements: [] }); } elementor.channels.data.trigger('element:before:add', { elType: 'section' }); var newSection = this.addSection({ elements: elements }, { edit: false }); newSection.setStructure(selectedStructure); newSection.getEditModel().trigger('request:edit'); elementor.channels.data.trigger('element:after:add'); } }, { key: "onDropping", value: function onDropping() { elementor.channels.data.trigger('section:before:drop'); if (elementor.helpers.maybeDisableWidget()) { return; } this.addSection().addElementFromPanel(); elementor.channels.data.trigger('section:after:drop'); } }]); return AddSectionBase; }(Marionette.ItemView); var _default = AddSectionBase; exports.default = _default; /***/ }), /* 251 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(26); var ControlMultipleBaseItemView = __webpack_require__(167), ControlBoxShadowItemView; ControlBoxShadowItemView = ControlMultipleBaseItemView.extend({ ui: function ui() { var ui = ControlMultipleBaseItemView.prototype.ui.apply(this, arguments); ui.sliders = '.elementor-slider'; ui.colors = '.elementor-shadow-color-picker'; 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 self = this; elementor.helpers.wpColorPicker(this.ui.colors, { change: function change() { var $this = jQuery(this), type = $this.data('setting'); self.setValue(type, $this.wpColorPicker('color')); }, clear: function clear() { self.setValue(this.dataset.setting, ''); } }); }, 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.ui.colors.each(function () { var $color = jQuery(this); if ($color.wpColorPicker('instance')) { $color.wpColorPicker('close'); } }); this.$el.remove(); } }); module.exports = ControlBoxShadowItemView; /***/ }), /* 252 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), 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' }); }, 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'); } } }, { onPasteStyle: function onPasteStyle(control, clipboardValue) { return '' === clipboardValue || undefined !== control.options[clipboardValue]; } }); module.exports = ControlChooseItemView; /***/ }), /* 253 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseMultipleItemView = __webpack_require__(167), ControlBaseUnitsItemView; ControlBaseUnitsItemView = ControlBaseMultipleItemView.extend({ 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; /***/ }), /* 254 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(164); __webpack_require__(142); __webpack_require__(140); var ControlBaseDataView = __webpack_require__(97), RepeaterRowView; RepeaterRowView = 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__(228) } }, 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 { elementSettingsModel: this.model }; }, updateIndex: function updateIndex(newIndex) { this.itemIndex = newIndex; }, setTitle: function setTitle() { var titleField = this.getOption('titleField'), title = ''; if (titleField) { var values = {}; this.children.each(function (child) { if (!(child instanceof ControlBaseDataView)) { return; } values[child.model.get('name')] = child.getControlValue(); }); title = Marionette.TemplateCache.prototype.compileTemplate(titleField)(this.model.parseDynamicSettings()); } if (!title) { title = elementor.translate('Item #%s', [this.getOption('itemIndex')]); } this.ui.itemTitle.html(title); }, 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(); }, 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'); } } }); module.exports = RepeaterRowView; /***/ }), /* 255 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(89); var _typeof2 = _interopRequireDefault(__webpack_require__(65)); var ColumnSettingsModel = __webpack_require__(411), ElementModel; ElementModel = Backbone.Model.extend({ defaults: { id: '', elType: '', isInner: false, settings: {}, defaultEditSettings: {} }, remoteRender: false, _htmlCache: null, _jqueryXhr: null, renderOnLeave: false, initialize: function initialize(options) { var elType = this.get('elType'), elements = this.get('elements'); if (undefined !== elements) { var ElementsCollection = __webpack_require__(256); this.set('elements', new ElementsCollection(elements)); } if ('widget' === elType) { this.remoteRender = true; this.setHtmlCache(options.htmlCache || ''); } // No need this variable anymore delete options.htmlCache; // Make call to remote server as throttle function this.renderRemoteServer = _.throttle(this.renderRemoteServer, 1000); this.initSettings(); this.initEditSettings(); this.on({ destroy: this.onDestroy, 'editor:close': this.onCloseEditor }); }, initSettings: function initSettings() { var elType = this.get('elType'), settings = this.get('settings'), settingModels = { column: ColumnSettingsModel }, SettingsModel = settingModels[elType] || elementorModules.editor.elements.models.BaseSettings; if (jQuery.isEmptyObject(settings)) { settings = elementorCommon.helpers.cloneObject(settings); } if ('widget' === elType) { settings.widgetType = this.get('widgetType'); } settings.elType = elType; settings.isInner = this.get('isInner'); settings = new SettingsModel(settings, { controls: elementor.getElementControls(this) }); this.set('settings', settings); elementorFrontend.config.elements.data[this.cid] = settings; }, initEditSettings: function initEditSettings() { var editSettings = new Backbone.Model(this.get('defaultEditSettings')); this.set('editSettings', editSettings); elementorFrontend.config.elements.editSettings[this.cid] = editSettings; }, setSetting: function setSetting(key, value) { var settings = this.get('settings'); if ('object' !== (0, _typeof2.default)(key)) { var keyParts = key.split('.'), isRepeaterKey = 3 === keyParts.length; key = keyParts[0]; if (isRepeaterKey) { settings = settings.get(key).models[keyParts[1]]; key = keyParts[2]; } } settings.setExternalChange(key, value); }, getSetting: function getSetting(key) { var keyParts = key.split('.'), isRepeaterKey = 3 === keyParts.length, settings = this.get('settings'); key = keyParts[0]; var value = settings.get(key); if (undefined === value) { return ''; } if (isRepeaterKey) { value = value.models[keyParts[1]].get(keyParts[2]); } return value; }, setHtmlCache: function setHtmlCache(htmlCache) { this._htmlCache = htmlCache; }, getHtmlCache: function getHtmlCache() { return this._htmlCache; }, getDefaultTitle: function getDefaultTitle() { return elementor.getElementData(this).title; }, getTitle: function getTitle() { var title = this.getSetting('_title'); if (!title) { title = this.getDefaultTitle(); } return title; }, getIcon: function getIcon() { return elementor.getElementData(this).icon; }, createRemoteRenderRequest: function createRemoteRenderRequest() { var data = this.toJSON(); return elementorCommon.ajax.addRequest('render_widget', { unique_id: this.cid, data: { data: data }, success: this.onRemoteGetHtml.bind(this) }, true).jqXhr; }, renderRemoteServer: function renderRemoteServer() { if (!this.remoteRender) { return; } this.renderOnLeave = false; this.trigger('before:remote:render'); if (this.isRemoteRequestActive()) { this._jqueryXhr.abort(); } this._jqueryXhr = this.createRemoteRenderRequest(); }, isRemoteRequestActive: function isRemoteRequestActive() { return this._jqueryXhr && 4 !== this._jqueryXhr.readyState; }, onRemoteGetHtml: function onRemoteGetHtml(data) { this.setHtmlCache(data.render); this.trigger('remote:render'); }, clone: function clone() { var newModel = new this.constructor(elementorCommon.helpers.cloneObject(this.attributes)); newModel.set('id', elementor.helpers.getUniqueID()); newModel.setHtmlCache(this.getHtmlCache()); var elements = this.get('elements'); if (!_.isEmpty(elements)) { newModel.set('elements', elements.clone()); } return newModel; }, toJSON: function toJSON(options) { options = options || {}; // Call parent's toJSON method var data = Backbone.Model.prototype.toJSON.call(this); _.each(data, function (attribute, key) { if (attribute && attribute.toJSON) { data[key] = attribute.toJSON(options); } }); if (options.copyHtmlCache) { data.htmlCache = this.getHtmlCache(); } else { delete data.htmlCache; } if (options.remove) { options.remove.forEach(function (key) { return delete data[key]; }); } return data; }, onCloseEditor: function onCloseEditor() { if (this.renderOnLeave) { this.renderRemoteServer(); } }, onDestroy: function onDestroy() { // Clean the memory for all use instances var settings = this.get('settings'), elements = this.get('elements'); if (undefined !== elements) { _.each(_.clone(elements.models), function (model) { model.destroy(); }); } settings.destroy(); } }); ElementModel.prototype.sync = ElementModel.prototype.fetch = ElementModel.prototype.save = _.noop; module.exports = ElementModel; /***/ }), /* 256 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ElementModel = __webpack_require__(255); var ElementsCollection = Backbone.Collection.extend({ add: function add(models, options, isCorrectSet) { if ((!options || !options.silent) && !isCorrectSet) { throw 'Call Error: Adding model to element collection is allowed only by the dedicated addChildModel() method.'; } return Backbone.Collection.prototype.add.call(this, models, options); }, model: function model(attrs, options) { var ModelClass = Backbone.Model; if (attrs.elType) { ModelClass = elementor.hooks.applyFilters('element/model', ElementModel, attrs); } return new ModelClass(attrs, options); }, clone: function clone() { var tempCollection = Backbone.Collection.prototype.clone.apply(this, arguments), newCollection = new ElementsCollection(); tempCollection.forEach(function (model) { newCollection.add(model.clone(), null, true); }); return newCollection; } }); ElementsCollection.prototype.sync = ElementsCollection.prototype.fetch = ElementsCollection.prototype.save = _.noop; module.exports = ElementsCollection; /***/ }), /* 257 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(184); module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-global', id: 'elementor-panel-global', initialize: function initialize() { elementor.getPanelView().getCurrentPageView().search.reset(); } }); /***/ }), /* 258 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-element-library-element', className: 'elementor-element-wrapper', ui: { element: '.elementor-element' }, onRender: function onRender() { var _this = this; if (!elementor.userCan('design')) { return; } this.ui.element.html5Draggable({ onDragStart: function onDragStart() { elementor.channels.panelElements.reply('element:selected', _this).trigger('element:drag:start'); }, onDragEnd: function onDragEnd() { elementor.channels.panelElements.trigger('element:drag:end'); }, groups: ['elementor-element'] }); } }); /***/ }), /* 259 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelElementsElementModel; PanelElementsElementModel = Backbone.Model.extend({ defaults: { title: '', categories: [], keywords: [], icon: '', elType: 'widget', widgetType: '' } }); module.exports = PanelElementsElementModel; /***/ }), /* 260 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelElementsElementModel = __webpack_require__(259), PanelElementsElementsCollection; PanelElementsElementsCollection = Backbone.Collection.extend({ model: PanelElementsElementModel /*, comparator: 'title'*/ }); module.exports = PanelElementsElementsCollection; /***/ }), /* 261 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelSchemeBaseView = __webpack_require__(262), PanelSchemeColorsView; PanelSchemeColorsView = PanelSchemeBaseView.extend({ ui: function ui() { var ui = PanelSchemeBaseView.prototype.ui.apply(this, arguments); ui.systemSchemes = '.elementor-panel-scheme-color-system-scheme'; return ui; }, events: function events() { var events = PanelSchemeBaseView.prototype.events.apply(this, arguments); events['click @ui.systemSchemes'] = 'onSystemSchemeClick'; return events; }, getType: function getType() { return 'color'; }, onSystemSchemeClick: function onSystemSchemeClick(event) { var $schemeClicked = jQuery(event.currentTarget), schemeName = $schemeClicked.data('schemeName'), scheme = elementor.config.system_schemes[this.getType()][schemeName].items; this.changeChildrenUIValues(scheme); } }); module.exports = PanelSchemeColorsView; /***/ }), /* 262 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var childViewTypes = { color: __webpack_require__(442), typography: __webpack_require__(443) }, PanelSchemeBaseView; PanelSchemeBaseView = Marionette.CompositeView.extend({ id: function id() { return 'elementor-panel-scheme-' + this.getType(); }, className: function className() { return 'elementor-panel-scheme elementor-panel-scheme-' + this.getUIType(); }, childViewContainer: '.elementor-panel-scheme-items', getTemplate: function getTemplate() { return Marionette.TemplateCache.get('#tmpl-elementor-panel-schemes-' + this.getType()); }, getChildView: function getChildView() { return childViewTypes[this.getUIType()]; }, getUIType: function getUIType() { return this.getType(); }, ui: function ui() { return { saveButton: '.elementor-panel-scheme-save .elementor-button', discardButton: '.elementor-panel-scheme-discard .elementor-button', resetButton: '.elementor-panel-scheme-reset .elementor-button' }; }, events: function events() { return { 'click @ui.saveButton': 'saveScheme', 'click @ui.discardButton': 'discardScheme', 'click @ui.resetButton': 'setDefaultScheme' }; }, initialize: function initialize() { this.model = new Backbone.Model(); this.resetScheme(); }, getType: function getType() {}, getScheme: function getScheme() { return elementor.schemes.getScheme(this.getType()); }, changeChildrenUIValues: function changeChildrenUIValues(schemeItems) { var self = this; _.each(schemeItems, function (value, key) { var model = self.collection.findWhere({ key: key }), childView = self.children.findByModelCid(model.cid); childView.changeUIValue(value); }); }, discardScheme: function discardScheme() { elementor.schemes.resetSchemes(this.getType()); this.onSchemeChange(); this.ui.saveButton.prop('disabled', true); this._renderChildren(); }, setSchemeValue: function setSchemeValue(key, value) { elementor.schemes.setSchemeValue(this.getType(), key, value); this.onSchemeChange(); }, saveScheme: function saveScheme() { elementor.schemes.saveScheme(this.getType()); this.ui.saveButton.prop('disabled', true); this.resetScheme(); this._renderChildren(); }, setDefaultScheme: function setDefaultScheme() { var defaultScheme = elementor.config.default_schemes[this.getType()].items; this.changeChildrenUIValues(defaultScheme); }, resetItems: function resetItems() { this.model.set('items', this.getScheme().items); }, resetCollection: function resetCollection() { var self = this, items = self.model.get('items'); self.collection = new Backbone.Collection(); _.each(items, function (item, key) { item.type = self.getType(); item.key = key; self.collection.add(item); }); }, resetScheme: function resetScheme() { this.resetItems(); this.resetCollection(); }, onSchemeChange: function onSchemeChange() { elementor.schemes.printSchemesStyle(); }, onChildviewValueChange: function onChildviewValueChange(childView, newValue) { this.ui.saveButton.removeProp('disabled'); this.setSchemeValue(childView.model.get('key'), newValue); } }); module.exports = PanelSchemeBaseView; /***/ }), /* 263 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelSchemeItemView; PanelSchemeItemView = Marionette.ItemView.extend({ getTemplate: function getTemplate() { return Marionette.TemplateCache.get('#tmpl-elementor-panel-scheme-' + this.getUIType() + '-item'); }, className: function className() { return 'elementor-panel-scheme-item'; } }); module.exports = PanelSchemeItemView; /***/ }), /* 264 */, /* 265 */, /* 266 */, /* 267 */, /* 268 */, /* 269 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(270); __webpack_require__(271); module.exports = __webpack_require__(272); /***/ }), /* 270 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(48); __webpack_require__(98); __webpack_require__(80); /* * jQuery Serialize Object v1.0.1 */ (function ($) { $.fn.elementorSerializeObject = function () { var serializedArray = this.serializeArray(), data = {}; var parseObject = function parseObject(dataContainer, key, value) { var isArrayKey = /^[^\[\]]+\[]/.test(key), isObjectKey = /^[^\[\]]+\[[^\[\]]+]/.test(key), keyName = key.replace(/\[.*/, ''); if (isArrayKey) { if (!dataContainer[keyName]) { dataContainer[keyName] = []; } } else { if (!isObjectKey) { if (dataContainer.push) { dataContainer.push(value); } else { dataContainer[keyName] = value; } return; } if (!dataContainer[keyName]) { dataContainer[keyName] = {}; } } var nextKeys = key.match(/\[[^\[\]]*]/g); nextKeys[0] = nextKeys[0].replace(/\[|]/g, ''); return parseObject(dataContainer[keyName], nextKeys.join(''), value); }; $.each(serializedArray, function () { parseObject(data, this.name, this.value); }); return data; }; })(jQuery); /***/ }), /* 271 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(98); var _stringify = _interopRequireDefault(__webpack_require__(158)); /** * HTML5 - Drag and Drop */ (function ($) { var hasFullDataTransferSupport = function hasFullDataTransferSupport(event) { try { event.originalEvent.dataTransfer.setData('test', 'test'); event.originalEvent.dataTransfer.clearData('test'); return true; } catch (e) { return false; } }; var Draggable = function Draggable(userSettings) { var self = this, settings = {}, elementsCache = {}, defaultSettings = { element: '', groups: null, onDragStart: null, onDragEnd: null }; var initSettings = function initSettings() { $.extend(true, settings, defaultSettings, userSettings); }; var initElementsCache = function initElementsCache() { elementsCache.$element = $(settings.element); }; var buildElements = function buildElements() { elementsCache.$element.attr('draggable', true); }; var onDragEnd = function onDragEnd(event) { if ($.isFunction(settings.onDragEnd)) { settings.onDragEnd.call(elementsCache.$element, event, self); } }; var onDragStart = function onDragStart(event) { var groups = settings.groups || [], dataContainer = { groups: groups }; if (hasFullDataTransferSupport(event)) { event.originalEvent.dataTransfer.setData((0, _stringify.default)(dataContainer), true); } if ($.isFunction(settings.onDragStart)) { settings.onDragStart.call(elementsCache.$element, event, self); } }; var attachEvents = function attachEvents() { elementsCache.$element.on('dragstart', onDragStart).on('dragend', onDragEnd); }; var init = function init() { initSettings(); initElementsCache(); buildElements(); attachEvents(); }; this.destroy = function () { elementsCache.$element.off('dragstart', onDragStart); elementsCache.$element.removeAttr('draggable'); }; init(); }; var Droppable = function Droppable(userSettings) { var self = this, settings = {}, elementsCache = {}, currentElement, currentSide, defaultSettings = { element: '', items: '>', horizontalSensitivity: '10%', axis: ['vertical', 'horizontal'], placeholder: true, currentElementClass: 'html5dnd-current-element', placeholderClass: 'html5dnd-placeholder', hasDraggingOnChildClass: 'html5dnd-has-dragging-on-child', groups: null, isDroppingAllowed: null, onDragEnter: null, onDragging: null, onDropping: null, onDragLeave: null }; var initSettings = function initSettings() { $.extend(settings, defaultSettings, userSettings); }; var initElementsCache = function initElementsCache() { elementsCache.$element = $(settings.element); elementsCache.$placeholder = $('<div>', { class: settings.placeholderClass }); }; var hasHorizontalDetection = function hasHorizontalDetection() { return -1 !== settings.axis.indexOf('horizontal'); }; var hasVerticalDetection = function hasVerticalDetection() { return -1 !== settings.axis.indexOf('vertical'); }; var checkHorizontal = function checkHorizontal(offsetX, elementWidth) { var isPercentValue, sensitivity; if (!hasHorizontalDetection()) { return false; } if (!hasVerticalDetection()) { return offsetX > elementWidth / 2 ? 'right' : 'left'; } sensitivity = settings.horizontalSensitivity.match(/\d+/); if (!sensitivity) { return false; } sensitivity = sensitivity[0]; isPercentValue = /%$/.test(settings.horizontalSensitivity); if (isPercentValue) { sensitivity = elementWidth / sensitivity; } if (offsetX > elementWidth - sensitivity) { return 'right'; } else if (offsetX < sensitivity) { return 'left'; } return false; }; var setSide = function setSide(event) { var $element = $(currentElement), elementHeight = $element.outerHeight() - elementsCache.$placeholder.outerHeight(), elementWidth = $element.outerWidth(); event = event.originalEvent; currentSide = checkHorizontal(event.offsetX, elementWidth); if (currentSide) { return; } if (!hasVerticalDetection()) { currentSide = null; return; } var elementPosition = currentElement.getBoundingClientRect(); currentSide = event.clientY > elementPosition.top + elementHeight / 2 ? 'bottom' : 'top'; }; var insertPlaceholder = function insertPlaceholder() { if (!settings.placeholder) { return; } var insertMethod = 'top' === currentSide ? 'prependTo' : 'appendTo'; elementsCache.$placeholder[insertMethod](currentElement); }; var isDroppingAllowed = function isDroppingAllowed(event) { var dataTransferTypes, draggableGroups, isGroupMatch, droppingAllowed; if (settings.groups && hasFullDataTransferSupport(event)) { dataTransferTypes = event.originalEvent.dataTransfer.types; isGroupMatch = false; dataTransferTypes = Array.prototype.slice.apply(dataTransferTypes); // Convert to array, since Firefox hold it as DOMStringList dataTransferTypes.forEach(function (type) { try { draggableGroups = JSON.parse(type); if (!draggableGroups.groups.slice) { return; } settings.groups.forEach(function (groupName) { if (-1 !== draggableGroups.groups.indexOf(groupName)) { isGroupMatch = true; return false; // stops the forEach from extra loops } }); } catch (e) {} }); if (!isGroupMatch) { return false; } } if ($.isFunction(settings.isDroppingAllowed)) { droppingAllowed = settings.isDroppingAllowed.call(currentElement, currentSide, event, self); if (!droppingAllowed) { return false; } } return true; }; var onDragEnter = function onDragEnter(event) { event.stopPropagation(); if (currentElement) { return; } currentElement = this; elementsCache.$element.parents().each(function () { var droppableInstance = $(this).data('html5Droppable'); if (!droppableInstance) { return; } droppableInstance.doDragLeave(); }); setSide(event); if (!isDroppingAllowed(event)) { return; } insertPlaceholder(); elementsCache.$element.addClass(settings.hasDraggingOnChildClass); $(currentElement).addClass(settings.currentElementClass); if ($.isFunction(settings.onDragEnter)) { settings.onDragEnter.call(currentElement, currentSide, event, self); } }; var onDragOver = function onDragOver(event) { event.stopPropagation(); if (!currentElement) { onDragEnter.call(this, event); } var oldSide = currentSide; setSide(event); if (!isDroppingAllowed(event)) { return; } event.preventDefault(); if (oldSide !== currentSide) { insertPlaceholder(); } if ($.isFunction(settings.onDragging)) { settings.onDragging.call(this, currentSide, event, self); } }; var onDragLeave = function onDragLeave(event) { var elementPosition = this.getBoundingClientRect(); if ('dragleave' === event.type && !(event.clientX < elementPosition.left || event.clientX >= elementPosition.right || event.clientY < elementPosition.top || event.clientY >= elementPosition.bottom)) { return; } $(currentElement).removeClass(settings.currentElementClass); self.doDragLeave(); }; var onDrop = function onDrop(event) { setSide(event); if (!isDroppingAllowed(event)) { return; } event.preventDefault(); if ($.isFunction(settings.onDropping)) { settings.onDropping.call(this, currentSide, event, self); } }; var attachEvents = function attachEvents() { elementsCache.$element.on('dragenter', settings.items, onDragEnter).on('dragover', settings.items, onDragOver).on('drop', settings.items, onDrop).on('dragleave drop', settings.items, onDragLeave); }; var init = function init() { initSettings(); initElementsCache(); attachEvents(); }; this.doDragLeave = function () { if (settings.placeholder) { elementsCache.$placeholder.remove(); } elementsCache.$element.removeClass(settings.hasDraggingOnChildClass); if ($.isFunction(settings.onDragLeave)) { settings.onDragLeave.call(currentElement, event, self); } currentElement = currentSide = null; }; this.destroy = function () { elementsCache.$element.off('dragenter', settings.items, onDragEnter).off('dragover', settings.items, onDragOver).off('drop', settings.items, onDrop).off('dragleave drop', settings.items, onDragLeave); }; init(); }; var plugins = { html5Draggable: Draggable, html5Droppable: Droppable }; $.each(plugins, function (pluginName, Plugin) { $.fn[pluginName] = function (options) { options = options || {}; this.each(function () { var instance = $.data(this, pluginName), hasInstance = instance instanceof Plugin; if (hasInstance) { if ('destroy' === options) { instance.destroy(); $.removeData(this, pluginName); } return; } options.element = this; $.data(this, pluginName, new Plugin(options)); }); return this; }; }); })(jQuery); /***/ }), /* 272 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(184); __webpack_require__(26); var _heartbeat = _interopRequireDefault(__webpack_require__(273)); var _navigator = _interopRequireDefault(__webpack_require__(274)); var _hotkeys = _interopRequireDefault(__webpack_require__(280)); var _environment = _interopRequireDefault(__webpack_require__(168)); var _dateTime = _interopRequireDefault(__webpack_require__(284)); var _noticeBar = _interopRequireDefault(__webpack_require__(289)); var _iconsManager = _interopRequireDefault(__webpack_require__(290)); var _component = _interopRequireDefault(__webpack_require__(330)); /* global ElementorConfig */ var App = Marionette.Application.extend({ loaded: false, previewLoadedOnce: false, helpers: __webpack_require__(331), imagesManager: __webpack_require__(338), debug: __webpack_require__(339), schemes: __webpack_require__(340), presetsFactory: __webpack_require__(341), templates: __webpack_require__(342), // TODO: BC Since 2.3.0 ajax: elementorCommon.ajax, conditions: __webpack_require__(358), history: __webpack_require__(359), channels: { editor: Backbone.Radio.channel('ELEMENTOR:editor'), data: Backbone.Radio.channel('ELEMENTOR:data'), panelElements: Backbone.Radio.channel('ELEMENTOR:panelElements'), dataEditMode: Backbone.Radio.channel('ELEMENTOR:editmode'), deviceMode: Backbone.Radio.channel('ELEMENTOR:deviceMode'), templates: Backbone.Radio.channel('ELEMENTOR:templates') }, /** * Exporting modules that can be used externally * @TODO: All of the following entries should move to `elementorModules.editor` */ modules: { // TODO: Deprecated alias since 2.3.0 get Module() { elementorCommon.helpers.deprecatedMethod('elementor.modules.Module', '2.3.0', 'elementorModules.Module'); return elementorModules.Module; }, components: { templateLibrary: { views: { // TODO: Deprecated alias since 2.4.0 get BaseModalLayout() { elementorCommon.helpers.deprecatedMethod('elementor.modules.components.templateLibrary.views.BaseModalLayout', '2.4.0', 'elementorModules.common.views.modal.Layout'); return elementorModules.common.views.modal.Layout; } } }, saver: { behaviors: { FooterSaver: __webpack_require__(383) } } }, controls: { Animation: __webpack_require__(182), Base: __webpack_require__(186), BaseData: __webpack_require__(97), BaseMultiple: __webpack_require__(167), Box_shadow: __webpack_require__(251), Button: __webpack_require__(384), Choose: __webpack_require__(252), Code: __webpack_require__(385), Color: __webpack_require__(386), Date_time: _dateTime.default, Dimensions: __webpack_require__(387), Exit_animation: __webpack_require__(182), Font: __webpack_require__(390), Gallery: __webpack_require__(391), Hidden: __webpack_require__(392), Hover_animation: __webpack_require__(182), Icon: __webpack_require__(393), Icons: __webpack_require__(394), Image_dimensions: __webpack_require__(395), Media: __webpack_require__(396), Number: __webpack_require__(397), Order: __webpack_require__(399), Popover_toggle: __webpack_require__(400), Repeater: __webpack_require__(401), RepeaterRow: __webpack_require__(254), Section: __webpack_require__(402), Select: __webpack_require__(403), Select2: __webpack_require__(182), Slider: __webpack_require__(404), Structure: __webpack_require__(405), Switcher: __webpack_require__(406), Tab: __webpack_require__(407), Text_shadow: __webpack_require__(251), Url: __webpack_require__(408), Wp_widget: __webpack_require__(409), Wysiwyg: __webpack_require__(410) }, elements: { models: { // TODO: Deprecated alias since 2.4.0 get BaseSettings() { elementorCommon.helpers.deprecatedMethod('elementor.modules.elements.models.BaseSettings', '2.4.0', 'elementorModules.editor.elements.models.BaseSettings'); return elementorModules.editor.elements.models.BaseSettings; }, Element: __webpack_require__(255) }, views: { Widget: __webpack_require__(412) } }, layouts: { panel: { pages: { elements: { views: { Global: __webpack_require__(257), Elements: __webpack_require__(416) } }, menu: { Menu: __webpack_require__(417) } } } }, views: { // TODO: Deprecated alias since 2.4.0 get ControlsStack() { elementorCommon.helpers.deprecatedMethod('elementor.modules.views.ControlsStack', '2.4.0', 'elementorModules.editor.views.ControlsStack'); return elementorModules.editor.views.ControlsStack; } } }, backgroundClickListeners: { popover: { element: '.elementor-controls-popover', ignore: '.elementor-control-popover-toggle-toggle, .elementor-control-popover-toggle-toggle-label, .select2-container' }, tagsList: { element: '.elementor-tags-list', ignore: '.elementor-control-dynamic-switcher' }, panelFooterSubMenus: { element: '.elementor-panel-footer-tool.elementor-toggle-state', ignore: '.elementor-panel-footer-tool.elementor-toggle-state, #elementor-panel-saver-button-publish-label', callback: function callback($elementsToHide) { $elementsToHide.removeClass('elementor-open'); } } }, userCan: function userCan(capability) { return -1 === this.config.user.restrictions.indexOf(capability); }, _defaultDeviceMode: 'desktop', addControlView: function addControlView(controlID, ControlView) { this.modules.controls[elementorCommon.helpers.upperCaseWords(controlID)] = ControlView; }, checkEnvCompatibility: function checkEnvCompatibility() { return _environment.default.firefox || _environment.default.webkit; }, getElementData: function getElementData(model) { var elType = model.get('elType'); if ('widget' === elType) { var widgetType = model.get('widgetType'); if (!this.config.widgets[widgetType]) { return false; } if (!this.config.widgets[widgetType].commonMerged) { jQuery.extend(this.config.widgets[widgetType].controls, this.config.widgets.common.controls); this.config.widgets[widgetType].commonMerged = true; } return this.config.widgets[widgetType]; } if (!this.config.elements[elType]) { return false; } var elementConfig = elementorCommon.helpers.cloneObject(this.config.elements[elType]); if ('section' === elType && model.get('isInner')) { elementConfig.title = this.translate('inner_section'); } return elementConfig; }, getElementControls: function getElementControls(modelElement) { var self = this, elementData = self.getElementData(modelElement); if (!elementData) { return false; } var isInner = modelElement.get('isInner'), controls = {}; _.each(elementData.controls, function (controlData, controlKey) { if (isInner && controlData.hide_in_inner || !isInner && controlData.hide_in_top) { return; } controls[controlKey] = controlData; }); return controls; }, mergeControlsSettings: function mergeControlsSettings(controls) { var _this = this; _.each(controls, function (controlData, controlKey) { controls[controlKey] = jQuery.extend(true, {}, _this.config.controls[controlData.type], controlData); }); return controls; }, getControlView: function getControlView(controlID) { var capitalizedControlName = elementorCommon.helpers.upperCaseWords(controlID), View = this.modules.controls[capitalizedControlName]; if (!View) { var controlData = this.config.controls[controlID], isUIControl = -1 !== controlData.features.indexOf('ui'); View = this.modules.controls[isUIControl ? 'Base' : 'BaseData']; } return View; }, getPanelView: function getPanelView() { return this.panel.currentView; }, getPreviewView: function getPreviewView() { return this.sections.currentView; }, initComponents: function initComponents() { var EventManager = __webpack_require__(229), DynamicTags = __webpack_require__(420), Settings = __webpack_require__(422), Saver = __webpack_require__(428), Notifications = __webpack_require__(429); this.hooks = new EventManager(); this.saver = new Saver(); this.settings = new Settings(); this.dynamicTags = new DynamicTags(); this.templates.init(); this.initDialogsManager(); this.notifications = new Notifications(); $e.components.register(new _component.default({ manager: this })); this.hotkeysScreen = new _hotkeys.default(); this.iconManager = new _iconsManager.default(); this.noticeBar = new _noticeBar.default(); }, // TODO: BC method since 2.3.0 initDialogsManager: function initDialogsManager() { this.dialogsManager = elementorCommon.dialogsManager; }, initElements: function initElements() { var ElementCollection = __webpack_require__(256), config = this.config.data; // If it's an reload, use the not-saved data if (this.elements) { config = this.elements.toJSON(); } this.elements = new ElementCollection(config); this.elementsModel = new Backbone.Model({ elements: this.elements }); }, initPreview: function initPreview() { var $ = jQuery; this.$previewWrapper = $('#elementor-preview'); this.$previewResponsiveWrapper = $('#elementor-preview-responsive-wrapper'); var previewIframeId = 'elementor-preview-iframe'; // Make sure the iFrame does not exist. if (!this.$preview) { this.$preview = $('<iframe>', { id: previewIframeId, src: this.config.document.urls.preview, allowfullscreen: 1 }); this.$previewResponsiveWrapper.append(this.$preview); } this.$preview.on('load', this.onPreviewLoaded.bind(this)); }, initFrontend: function initFrontend() { var frontendWindow = this.$preview[0].contentWindow; window.elementorFrontend = frontendWindow.elementorFrontend; frontendWindow.elementor = this; elementorFrontend.init(); this.trigger('frontend:init'); }, initClearPageDialog: function initClearPageDialog() { var self = this, dialog; self.getClearPageDialog = function () { if (dialog) { return dialog; } dialog = elementorCommon.dialogsManager.createWidget('confirm', { id: 'elementor-clear-page-dialog', headerMessage: elementor.translate('clear_page'), message: elementor.translate('dialog_confirm_clear_page'), position: { my: 'center center', at: 'center center' }, strings: { confirm: elementor.translate('delete'), cancel: elementor.translate('cancel') }, onConfirm: function onConfirm() { self.elements.reset(); } }); return dialog; }; }, getCurrentElement: function getCurrentElement() { var isPreview = -1 !== ['BODY', 'IFRAME'].indexOf(document.activeElement.tagName) && 'BODY' === elementorFrontend.elements.window.document.activeElement.tagName; if (!isPreview) { return false; } var targetElement = elementor.channels.editor.request('contextMenu:targetView'); if (!targetElement) { var panel = elementor.getPanelView(); if ($e.routes.isPartOf('panel/editor')) { targetElement = panel.getCurrentPageView().getOption('editedElementView'); } } if (!targetElement) { targetElement = elementor.getPreviewView(); } return targetElement; }, initPanel: function initPanel() { this.addRegions({ panel: __webpack_require__(430) }); // Set default page to elements. $e.route('panel/elements/categories'); this.trigger('panel:init'); }, initNavigator: function initNavigator() { this.addRegions({ navigator: { el: '#elementor-navigator', regionClass: _navigator.default } }); this.trigger('navigator:init'); }, setAjax: function setAjax() { elementorCommon.ajax.addRequestConstant('editor_post_id', this.config.document.id); elementorCommon.ajax.on('request:unhandledError', function (xmlHttpRequest) { elementor.notifications.showToast({ message: elementor.createAjaxErrorMessage(xmlHttpRequest) }); }); }, createAjaxErrorMessage: function createAjaxErrorMessage(xmlHttpRequest) { var message; if (4 === xmlHttpRequest.readyState) { message = this.translate('server_error'); if (200 !== xmlHttpRequest.status) { message += ' (' + xmlHttpRequest.status + ' ' + xmlHttpRequest.statusText + ')'; } } else if (0 === xmlHttpRequest.readyState) { message = this.translate('server_connection_lost'); } else { message = this.translate('unknown_error'); } return message + '.'; }, preventClicksInsideEditor: function preventClicksInsideEditor() { this.$previewContents.on('submit', function (event) { event.preventDefault(); }); this.$previewContents.on('click', function (event) { var $target = jQuery(event.target), editMode = elementor.channels.dataEditMode.request('activeMode'), isClickInsideElementor = !!$target.closest('#elementor, .pen-menu').length, isTargetInsideDocument = this.contains($target[0]); if (isClickInsideElementor && 'edit' === editMode || !isTargetInsideDocument) { return; } if ($target.closest('a:not(.elementor-clickable)').length) { event.preventDefault(); } if (!isClickInsideElementor) { $e.route('panel/elements/categories'); } }); }, addBackgroundClickArea: function addBackgroundClickArea(element) { element.addEventListener('click', this.onBackgroundClick.bind(this), true); }, addBackgroundClickListener: function addBackgroundClickListener(key, listener) { this.backgroundClickListeners[key] = listener; }, removeBackgroundClickListener: function removeBackgroundClickListener(key) { delete this.backgroundClickListeners[key]; }, showFatalErrorDialog: function showFatalErrorDialog(options) { var defaultOptions = { id: 'elementor-fatal-error-dialog', headerMessage: '', message: '', position: { my: 'center center', at: 'center center' }, strings: { confirm: this.translate('learn_more'), cancel: this.translate('go_back') }, onConfirm: null, onCancel: function onCancel() { parent.history.go(-1); }, hide: { onBackgroundClick: false, onButtonClick: false } }; options = jQuery.extend(true, defaultOptions, options); elementorCommon.dialogsManager.createWidget('confirm', options).show(); }, showFlexBoxAttentionDialog: function showFlexBoxAttentionDialog() { var _this2 = this; var introduction = new elementorModules.editor.utils.Introduction({ introductionKey: 'flexbox', dialogType: 'confirm', dialogOptions: { id: 'elementor-flexbox-attention-dialog', headerMessage: this.translate('flexbox_attention_header'), message: this.translate('flexbox_attention_message'), position: { my: 'center center', at: 'center center' }, strings: { confirm: this.translate('learn_more'), cancel: this.translate('got_it') }, hide: { onButtonClick: false }, onCancel: function onCancel() { introduction.setViewed(); introduction.getDialog().hide(); }, onConfirm: function onConfirm() { return open(_this2.config.help_flexbox_bc_url, '_blank'); } } }); introduction.show(); }, checkPageStatus: function checkPageStatus() { if (elementor.config.current_revision_id !== elementor.config.document.id) { this.notifications.showToast({ message: this.translate('working_on_draft_notification'), buttons: [{ name: 'view_revisions', text: elementor.translate('view_all_revisions'), callback: function callback() { $e.route('panel/history/revisions'); } }] }); } }, openLibraryOnStart: function openLibraryOnStart() { if ('#library' === location.hash) { $e.run('library/open'); location.hash = ''; } }, enterPreviewMode: function enterPreviewMode(hidePanel) { var $elements = elementorFrontend.elements.$body; if (hidePanel) { $elements = $elements.add(elementorCommon.elements.$body); } $elements.removeClass('elementor-editor-active').addClass('elementor-editor-preview'); this.$previewElementorEl.removeClass('elementor-edit-area-active').addClass('elementor-edit-area-preview'); if (hidePanel) { // Handle panel resize this.$previewWrapper.css(elementorCommon.config.isRTL ? 'right' : 'left', ''); this.panel.$el.css('width', ''); } }, exitPreviewMode: function exitPreviewMode() { elementorFrontend.elements.$body.add(elementorCommon.elements.$body).removeClass('elementor-editor-preview').addClass('elementor-editor-active'); this.$previewElementorEl.removeClass('elementor-edit-area-preview').addClass('elementor-edit-area-active'); }, changeEditMode: function changeEditMode(newMode) { var dataEditMode = elementor.channels.dataEditMode, oldEditMode = dataEditMode.request('activeMode'); dataEditMode.reply('activeMode', newMode); if (newMode !== oldEditMode) { dataEditMode.trigger('switch', newMode); } }, reloadPreview: function reloadPreview() { jQuery('#elementor-preview-loading').show(); this.$preview[0].contentWindow.location.reload(true); }, clearPage: function clearPage() { this.getClearPageDialog().show(); }, changeDeviceMode: function changeDeviceMode(newDeviceMode) { var oldDeviceMode = this.channels.deviceMode.request('currentMode'); if (oldDeviceMode === newDeviceMode) { return; } elementorCommon.elements.$body.removeClass('elementor-device-' + oldDeviceMode).addClass('elementor-device-' + newDeviceMode); this.channels.deviceMode.reply('previousMode', oldDeviceMode).reply('currentMode', newDeviceMode).trigger('change'); }, enqueueTypographyFonts: function enqueueTypographyFonts() { var self = this, typographyScheme = this.schemes.getScheme('typography'); self.helpers.resetEnqueuedFontsCache(); _.each(typographyScheme.items, function (item) { self.helpers.enqueueFont(item.value.font_family); }); }, translate: function translate(stringKey, templateArgs, i18nStack) { // TODO: BC since 2.3.0, it always should be `this.config.i18n` if (!i18nStack) { i18nStack = this.config.i18n; } return elementorCommon.translate(stringKey, null, templateArgs, i18nStack); }, logSite: function logSite() { var text = '', style = ''; if (_environment.default.firefox) { var asciiText = [' ;;;;;;;;;;;;;;; ', ';;; ;; ;;;', ';;; ;;;;;;;;;;;;', ';;; ;;;;;;;;;;;;', ';;; ;; ;;;', ';;; ;;;;;;;;;;;;', ';;; ;;;;;;;;;;;;', ';;; ;; ;;;', ' ;;;;;;;;;;;;;;; ']; text += '%c' + asciiText.join('\n') + '\n'; style = 'color: #C42961'; } else { text += '%c00'; style = 'font-size: 22px; background-image: url("' + elementorCommon.config.urls.assets + 'images/logo-icon.png"); color: transparent; background-repeat: no-repeat'; } setTimeout(console.log.bind(console, text, style)); // eslint-disable-line text = '%cLove using Elementor? Join our growing community of Elementor developers: %chttps://github.com/elementor/elementor'; setTimeout(console.log.bind(console, text, 'color: #9B0A46', '')); // eslint-disable-line }, requestWidgetsConfig: function requestWidgetsConfig() { var _this3 = this; var excludeWidgets = {}; jQuery.each(this.config.widgets, function (widgetName, widgetConfig) { if (widgetConfig.controls) { excludeWidgets[widgetName] = true; } }); elementorCommon.ajax.addRequest('get_widgets_config', { data: { exclude: excludeWidgets }, success: function success(data) { jQuery.each(data, function (widgetName, controlsConfig) { var widgetConfig = _this3.config.widgets[widgetName]; widgetConfig.controls = controlsConfig.controls; widgetConfig.tabs_controls = controlsConfig.tabs_controls; }); if (_this3.loaded) { _this3.schemes.printSchemesStyle(); } elementorCommon.elements.$body.addClass('elementor-controls-ready'); } }); }, onStart: function onStart() { NProgress.start(); NProgress.inc(0.2); this.config = ElementorConfig; Backbone.Radio.DEBUG = false; Backbone.Radio.tuneIn('ELEMENTOR'); this.initComponents(); if (!this.checkEnvCompatibility()) { this.onEnvNotCompatible(); } this.setAjax(); this.requestWidgetsConfig(); this.channels.dataEditMode.reply('activeMode', 'edit'); this.listenTo(this.channels.dataEditMode, 'switch', this.onEditModeSwitched); this.initClearPageDialog(); this.addBackgroundClickArea(document); elementorCommon.elements.$window.trigger('elementor:init'); this.initPreview(); this.logSite(); }, onPreviewLoaded: function onPreviewLoaded() { NProgress.done(); var previewWindow = this.$preview[0].contentWindow; if (!previewWindow.elementorFrontend) { this.onPreviewLoadingError(); return; } this.$previewContents = this.$preview.contents(); this.$previewElementorEl = this.$previewContents.find('#elementor'); if (!this.$previewElementorEl.length) { this.onPreviewElNotFound(); return; } this.initFrontend(); this.initElements(); var iframeRegion = new Marionette.Region({ // Make sure you get the DOM object out of the jQuery object el: this.$previewElementorEl[0] }); this.schemes.init(); this.schemes.printSchemesStyle(); this.preventClicksInsideEditor(); this.addBackgroundClickArea(elementorFrontend.elements.window.document); if (this.previewLoadedOnce) { $e.route('panel/elements/categories'); } else { this.onFirstPreviewLoaded(); } this.addRegions({ sections: iframeRegion }); var Preview = __webpack_require__(449); this.sections.show(new Preview({ model: this.elementsModel })); this.$previewContents.children().addClass('elementor-html'); var $frontendBody = elementorFrontend.elements.$body; $frontendBody.addClass('elementor-editor-active'); if (!elementor.userCan('design')) { $frontendBody.addClass('elementor-editor-content-only'); } this.changeDeviceMode(this._defaultDeviceMode); jQuery('#elementor-loading, #elementor-preview-loading').fadeOut(600); _.defer(function () { elementorFrontend.elements.window.jQuery.holdReady(false); }); this.enqueueTypographyFonts(); this.onEditModeSwitched(); $e.shortcuts.bindListener(elementorFrontend.elements.$window); this.trigger('preview:loaded', !this.loaded /* isFirst */ ); this.loaded = true; }, onFirstPreviewLoaded: function onFirstPreviewLoaded() { this.initPanel(); this.heartbeat = new _heartbeat.default(); this.checkPageStatus(); this.openLibraryOnStart(); var isOldPageVersion = this.config.document.version && this.helpers.compareVersions(this.config.document.version, '2.5.0', '<'); if (!this.config.user.introduction.flexbox && isOldPageVersion) { this.showFlexBoxAttentionDialog(); } this.initNavigator(); this.previewLoadedOnce = true; }, onEditModeSwitched: function onEditModeSwitched() { var activeMode = this.channels.dataEditMode.request('activeMode'); if ('edit' === activeMode) { this.exitPreviewMode(); } else { this.enterPreviewMode('preview' === activeMode); } }, onEnvNotCompatible: function onEnvNotCompatible() { this.showFatalErrorDialog({ headerMessage: this.translate('device_incompatible_header'), message: this.translate('device_incompatible_message'), strings: { confirm: elementor.translate('proceed_anyway') }, hide: { onButtonClick: true }, onConfirm: function onConfirm() { this.hide(); } }); }, onPreviewLoadingError: function onPreviewLoadingError() { var self = this; var debugUrl = self.config.document.urls.preview + '&preview-debug', previewDebugLinkText = self.config.i18n.preview_debug_link_text, previewDebugLink = '<div id="elementor-preview-debug-link-text"><a href="' + debugUrl + '" target="_blank">' + previewDebugLinkText + '</a></div>', debugData = elementor.config.preview.debug_data, dialogOptions = { className: 'elementor-preview-loading-error', headerMessage: debugData.header, message: debugData.message + previewDebugLink, onConfirm: function onConfirm() { open(debugData.doc_url, '_blank'); } }; if (debugData.error) { self.showFatalErrorDialog(dialogOptions); return; } jQuery.get(debugUrl, function () { self.showFatalErrorDialog(dialogOptions); }).fail(function (response) { //Iframe can't be loaded self.showFatalErrorDialog({ className: 'elementor-preview-loading-error', headerMessage: debugData.header, message: response.statusText + ' ' + response.status + ' ' + previewDebugLink, onConfirm: function onConfirm() { var url = 500 <= response.status ? elementor.config.preview.help_preview_http_error_500_url : elementor.config.preview.help_preview_http_error_url; open(url, '_blank'); } }); }); }, onPreviewElNotFound: function onPreviewElNotFound() { var args = this.$preview[0].contentWindow.elementorPreviewErrorArgs; if (!args) { args = { headerMessage: this.translate('preview_el_not_found_header'), message: this.translate('preview_el_not_found_message'), confirmURL: elementor.config.help_the_content_url }; } args.onConfirm = function () { open(args.confirmURL, '_blank'); }; this.showFatalErrorDialog(args); }, onBackgroundClick: function onBackgroundClick(event) { jQuery.each(this.backgroundClickListeners, function () { var $clickedTarget = jQuery(event.target); // If it's a label that associated with an input if ($clickedTarget[0].control) { $clickedTarget = $clickedTarget.add($clickedTarget[0].control); } if (this.ignore && $clickedTarget.closest(this.ignore).length) { return; } var $clickedTargetClosestElement = $clickedTarget.closest(this.element), $elementsToHide = jQuery(this.element).not($clickedTargetClosestElement); if (this.callback) { this.callback($elementsToHide); return; } $elementsToHide.hide(); }); }, compileTemplate: function compileTemplate(template, data) { return Marionette.TemplateCache.prototype.compileTemplate(template)(data); } }); window.elementor = new App(); if (-1 === location.href.search('ELEMENTOR_TESTS=1')) { elementor.start(); } module.exports = elementor; /***/ }), /* 273 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var Heartbeat = /*#__PURE__*/ function () { function Heartbeat() { var _this = this; (0, _classCallCheck2.default)(this, Heartbeat); var modal; this.getModal = function () { if (!modal) { modal = _this.initModal(); } return modal; }; jQuery(document).on({ 'heartbeat-send': function heartbeatSend(event, data) { data.elementor_post_lock = { post_ID: elementor.config.document.id }; }, 'heartbeat-tick': function heartbeatTick(event, response) { if (response.locked_user) { if (elementor.saver.isEditorChanged()) { elementor.saver.saveEditor({ status: 'autosave' }); } _this.showLockMessage(response.locked_user); } else { _this.getModal().hide(); } elementorCommon.ajax.addRequestConstant('_nonce', response.elementorNonce); }, 'heartbeat-tick.wp-refresh-nonces': function heartbeatTickWpRefreshNonces(event, response) { var nonces = response['elementor-refresh-nonces']; if (nonces) { if (nonces.heartbeatNonce) { elementorCommon.ajax.addRequestConstant('_nonce', nonces.elementorNonce); } if (nonces.heartbeatNonce) { window.heartbeatSettings.nonce = nonces.heartbeatNonce; } } } }); if (elementor.config.locked_user) { this.showLockMessage(elementor.config.locked_user); } } (0, _createClass2.default)(Heartbeat, [{ key: "initModal", value: function initModal() { var modal = elementorCommon.dialogsManager.createWidget('lightbox', { headerMessage: elementor.translate('take_over') }); modal.addButton({ name: 'go_back', text: elementor.translate('go_back'), callback: function callback() { parent.history.go(-1); } }); modal.addButton({ name: 'take_over', text: elementor.translate('take_over'), callback: function callback() { wp.heartbeat.enqueue('elementor_force_post_lock', true); wp.heartbeat.connectNow(); } }); return modal; } }, { key: "showLockMessage", value: function showLockMessage(lockedUser) { var modal = this.getModal(); modal.setMessage(elementor.translate('dialog_user_taken_over', [lockedUser])).show(); } }]); return Heartbeat; }(); var _default = Heartbeat; exports.default = _default; /***/ }), /* 274 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(81)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _component = _interopRequireDefault(__webpack_require__(275)); var _layout = _interopRequireDefault(__webpack_require__(276)); var BaseRegion = __webpack_require__(236); var _default = /*#__PURE__*/ function (_BaseRegion) { (0, _inherits2.default)(_default, _BaseRegion); function _default(options) { var _this; (0, _classCallCheck2.default)(this, _default); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).call(this, options)); $e.components.register(new _component.default({ manager: (0, _assertThisInitialized2.default)(_this) })); _this.isDocked = false; _this.opened = false; _this.indicators = { customPosition: { title: elementor.translate('custom_positioning'), icon: 'cursor-move', settingKeys: ['_position', '_element_width'], section: '_section_position' } }; _this.ensurePosition = _this.ensurePosition.bind((0, _assertThisInitialized2.default)(_this)); _this.listenTo(elementor.channels.dataEditMode, 'switch', _this.onEditModeSwitched); elementor.on('navigator:init', function () { if (_this.storage.visible) { $e.route('navigator'); } }); return _this; } (0, _createClass2.default)(_default, [{ key: "getStorageKey", value: function getStorageKey() { return 'navigator'; } }, { key: "getDefaultStorage", value: function getDefaultStorage() { return { visible: false, size: { width: '', height: '', top: '', bottom: '', right: '', left: '' } }; } }, { key: "getLayout", value: function getLayout() { return this.currentView; } }, { key: "getDraggableOptions", value: function getDraggableOptions() { return { iframeFix: true, handle: '#elementor-navigator__header', drag: this.onDrag.bind(this), stop: this.onDragStop.bind(this) }; } }, { key: "getResizableOptions", value: function getResizableOptions() { var _this2 = this; return { handles: 'all', containment: 'document', minWidth: 150, maxWidth: 500, minHeight: 240, start: function start() { elementor.$previewWrapper.addClass('ui-resizable-resizing'); }, stop: function stop() { elementor.$previewWrapper.removeClass('ui-resizable-resizing'); if (_this2.isDocked) { _this2.storage.size.width = elementor.helpers.getElementInlineStyle(_this2.$el, ['width']).width; elementorCommon.storage.set('navigator', _this2.storage); } else { _this2.saveSize(); } } }; } }, { key: "beforeFirstOpen", value: function beforeFirstOpen() { this.show(new _layout.default()); this.$el.draggable(this.getDraggableOptions()); this.$el.resizable(this.getResizableOptions()); } }, { key: "open", value: function open(model) { if (!this.opened) { this.beforeFirstOpen(); this.opened = true; } this.$el.show(); if (this.storage.docked) { this.dock(); this.setDockedSize(); } else { this.setSize(); } if (model) { model.trigger('request:edit'); } this.saveStorage('visible', true); this.ensurePosition(); elementorCommon.elements.$window.on('resize', this.ensurePosition); } }, { key: "close", value: function close(silent) { this.$el.hide(); if (this.isDocked) { this.undock(true); } if (!silent) { this.saveStorage('visible', false); } elementorCommon.elements.$window.off('resize', this.ensurePosition); } }, { key: "isOpen", value: function isOpen() { return this.$el.is(':visible'); } }, { key: "dock", value: function dock() { elementorCommon.elements.$body.addClass('elementor-navigator-docked'); var side = elementorCommon.config.isRTL ? 'left' : 'right', resizableOptions = this.getResizableOptions(); this.$el.css({ height: '', top: '', bottom: '', left: '', right: '' }); elementor.$previewWrapper.css(side, this.storage.size.width); this.$el.resizable('destroy'); resizableOptions.handles = elementorCommon.config.isRTL ? 'e' : 'w'; resizableOptions.resize = function (event, ui) { elementor.$previewWrapper.css(side, ui.size.width); }; this.$el.resizable(resizableOptions); this.isDocked = true; this.saveStorage('docked', true); } }, { key: "undock", value: function undock(silent) { elementorCommon.elements.$body.removeClass('elementor-navigator-docked'); elementor.$previewWrapper.css(elementorCommon.config.isRTL ? 'left' : 'right', ''); this.setSize(); this.$el.resizable('destroy'); this.$el.resizable(this.getResizableOptions()); this.isDocked = false; if (!silent) { this.saveStorage('docked', false); } } }, { key: "setSize", value: function setSize() { if (this.storage.size) { this.$el.css(this.storage.size); } } }, { key: "setDockedSize", value: function setDockedSize() { this.$el.css('width', this.storage.size.width); } }, { key: "ensurePosition", value: function ensurePosition() { if (this.isDocked) { return; } var offset = this.$el.offset(); if (offset.left > innerWidth) { this.$el.css({ left: '', right: '' }); } if (offset.top > innerHeight) { this.$el.css({ top: '', bottom: '' }); } } }, { key: "onDrag", value: function onDrag(event, ui) { if (this.isDocked) { if (ui.position.left === ui.originalPosition.left) { if (ui.position.top !== ui.originalPosition.top) { return false; } } else { this.undock(); } return; } if (0 > ui.position.top) { ui.position.top = 0; } var isOutOfLeft = 0 > ui.position.left, isOutOfRight = ui.position.left + this.el.offsetWidth > innerWidth; if (elementorCommon.config.isRTL) { if (isOutOfRight) { ui.position.left = innerWidth - this.el.offsetWidth; } } else if (isOutOfLeft) { ui.position.left = 0; } elementorCommon.elements.$body.toggleClass('elementor-navigator--dock-hint', elementorCommon.config.isRTL ? isOutOfLeft : isOutOfRight); } }, { key: "onDragStop", value: function onDragStop(event, ui) { if (this.isDocked) { return; } this.saveSize(); var elementRight = ui.position.left + this.el.offsetWidth; if (0 > ui.position.left || elementRight > innerWidth) { this.dock(); } elementorCommon.elements.$body.removeClass('elementor-navigator--dock-hint'); } }, { key: "onEditModeSwitched", value: function onEditModeSwitched(activeMode) { if ('edit' === activeMode && this.storage.visible) { this.open(); } else { this.close(true); } } }]); return _default; }(BaseRegion); exports.default = _default; /***/ }), /* 275 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get2 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'navigator'; } }, { key: "defaultRoutes", value: function defaultRoutes() { return { '': function _() {} }; } }, { key: "defaultCommands", value: function defaultCommands() { var _this = this; return { open: function open() { return $e.route(_this.getNamespace()); }, close: function close() { return _this.close(); }, toggle: function toggle() { if (_this.isOpen) { _this.close(); } else { $e.route(_this.getNamespace()); } } }; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { toggle: { keys: 'ctrl+i', dependency: function dependency() { return 'edit' === elementor.channels.dataEditMode.request('activeMode'); } } }; } }, { key: "open", value: function open(args) { var _args$model = args.model, model = _args$model === void 0 ? false : _args$model; this.manager.open(model); return true; } }, { key: "close", value: function close() { if (!(0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "close", this).call(this)) { return false; } this.manager.close(); return true; } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 276 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _element = _interopRequireDefault(__webpack_require__(277)); var _default = /*#__PURE__*/ function (_Marionette$LayoutVie) { (0, _inherits2.default)(_default, _Marionette$LayoutVie); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-navigator'; } }, { key: "id", value: function id() { return 'elementor-navigator__inner'; } }, { key: "ui", value: function ui() { return { toggleAll: '#elementor-navigator__toggle-all', close: '#elementor-navigator__close' }; } }, { key: "events", value: function events() { return { 'click @ui.toggleAll': 'toggleAll', 'click @ui.close': 'onCloseClick' }; } }, { key: "regions", value: function regions() { return { elements: '#elementor-navigator__elements' }; } }, { key: "toggleAll", value: function toggleAll() { var state = 'expand' === this.ui.toggleAll.data('elementor-action'), classes = ['eicon-collapse', 'eicon-expand']; this.ui.toggleAll.data('elementor-action', state ? 'collapse' : 'expand').removeClass(classes[+state]).addClass(classes[+!state]); this.elements.currentView.recursiveChildInvoke('toggleList', state); } }, { key: "activateElementsMouseInteraction", value: function activateElementsMouseInteraction() { this.elements.currentView.recursiveChildInvoke('activateMouseInteraction'); } }, { key: "deactivateElementsMouseInteraction", value: function deactivateElementsMouseInteraction() { this.elements.currentView.recursiveChildInvoke('deactivateMouseInteraction'); } }, { key: "onShow", value: function onShow() { this.elements.show(new _element.default({ model: elementor.elementsModel })); } }, { key: "onCloseClick", value: function onCloseClick() { $e.components.get('navigator').close(); } }]); return _default; }(Marionette.LayoutView); exports.default = _default; /***/ }), /* 277 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(192); __webpack_require__(193); var _keys = _interopRequireDefault(__webpack_require__(58)); var _values = _interopRequireDefault(__webpack_require__(163)); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _elementEmpty = _interopRequireDefault(__webpack_require__(278)); var _rootEmpty = _interopRequireDefault(__webpack_require__(279)); var _default = /*#__PURE__*/ function (_Marionette$Composite) { (0, _inherits2.default)(_default, _Marionette$Composite); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-navigator__elements'; } }, { key: "ui", value: function ui() { return { item: '> .elementor-navigator__item', title: '> .elementor-navigator__item .elementor-navigator__element__title__text', toggle: '> .elementor-navigator__item > .elementor-navigator__element__toggle', toggleList: '> .elementor-navigator__item > .elementor-navigator__element__list-toggle', indicators: '> .elementor-navigator__item > .elementor-navigator__element__indicators', indicator: '> .elementor-navigator__item > .elementor-navigator__element__indicators > .elementor-navigator__element__indicator', elements: '> .elementor-navigator__elements' }; } }, { key: "events", value: function events() { return { contextmenu: 'onContextMenu', 'click @ui.item': 'onItemClick', 'click @ui.toggle': 'onToggleClick', 'click @ui.toggleList': 'onToggleListClick', 'click @ui.indicator': 'onIndicatorClick', 'dblclick @ui.title': 'onTitleDoubleClick', 'keydown @ui.title': 'onTitleKeyDown', 'paste @ui.title': 'onTitlePaste', 'sortstart @ui.elements': 'onSortStart', 'sortover @ui.elements': 'onSortOver', 'sortout @ui.elements': 'onSortOut', 'sortstop @ui.elements': 'onSortStop', 'sortupdate @ui.elements': 'onSortUpdate', 'sortreceive @ui.elements': 'onSortReceive' }; } }, { key: "getEmptyView", value: function getEmptyView() { if (this.isRoot()) { return _rootEmpty.default; } if (this.hasChildren()) { return _elementEmpty.default; } return null; } }, { key: "childViewOptions", value: function childViewOptions() { return { indent: this.getIndent() + 10 }; } }, { key: "className", value: function className() { var elType = this.model.get('elType'); var classes = 'elementor-navigator__element'; if (elType) { classes += ' elementor-navigator__element-' + elType; } if (this.hasChildren()) { classes += ' elementor-navigator__element--has-children'; } return classes; } }, { key: "attributes", value: function attributes() { return { 'data-model-cid': this.model.cid }; } }, { key: "templateHelpers", value: function templateHelpers() { var helpers = {}; if (!this.isRoot()) { helpers.title = this.model.getTitle(); helpers.icon = 'section' === this.model.get('elType') ? '' : this.model.getIcon(); } return helpers; } }, { key: "initialize", value: function initialize() { this.collection = this.model.get('elements'); this.childViewContainer = '.elementor-navigator__elements'; this.listenTo(this.model, 'request:edit', this.onEditRequest).listenTo(this.model, 'change', this.onModelChange).listenTo(this.model.get('settings'), 'change', this.onModelSettingsChange); } }, { key: "getIndent", value: function getIndent() { return this.getOption('indent') || 0; } }, { key: "isRoot", value: function isRoot() { return !this.model.get('elType'); } }, { key: "hasChildren", value: function hasChildren() { return 'widget' !== this.model.get('elType'); } }, { key: "toggleList", value: function toggleList(state, callback) { if (!this.hasChildren() || this.isRoot()) { return; } var isActive = this.ui.item.hasClass('elementor-active'); if (isActive === state) { return; } this.ui.item.toggleClass('elementor-active', state); var slideMethod = 'slideToggle'; if (undefined !== state) { slideMethod = 'slide' + (state ? 'Down' : 'Up'); } this.ui.elements[slideMethod](300, callback); } }, { key: "toggleHiddenClass", value: function toggleHiddenClass() { this.$el.toggleClass('elementor-navigator__element--hidden', !!this.model.get('hidden')); } }, { key: "recursiveChildInvoke", value: function recursiveChildInvoke(method) { var _this = this, _arguments = arguments; for (var _len = arguments.length, restArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { restArgs[_key - 1] = arguments[_key]; } this[method].apply(this, restArgs); this.children.each(function (child) { if (!(child instanceof _this.constructor)) { return; } child.recursiveChildInvoke.apply(child, _arguments); }); } }, { key: "recursiveParentInvoke", value: function recursiveParentInvoke(method) { for (var _len2 = arguments.length, restArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { restArgs[_key2 - 1] = arguments[_key2]; } if (!(this._parent instanceof this.constructor)) { return; } this._parent[method].apply(this._parent, restArgs); this._parent.recursiveParentInvoke.apply(this._parent, arguments); } }, { key: "recursiveChildAgreement", value: function recursiveChildAgreement(method) { for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { restArgs[_key3 - 1] = arguments[_key3]; } if (!this[method].apply(this, restArgs)) { return false; } var hasAgreement = true; for (var _i = 0, _Object$values = (0, _values.default)(this.children._views); _i < _Object$values.length; _i++) { var child = _Object$values[_i]; if (!(child instanceof this.constructor)) { continue; } if (!child.recursiveChildAgreement.apply(child, arguments)) { hasAgreement = false; break; } } return hasAgreement; } }, { key: "activateMouseInteraction", value: function activateMouseInteraction() { this.$el.on({ mouseenter: this.onMouseEnter.bind(this), mouseleave: this.onMouseLeave.bind(this) }); } }, { key: "deactivateMouseInteraction", value: function deactivateMouseInteraction() { this.$el.off('mouseenter mouseleave'); } }, { key: "dragShouldBeIgnored", value: function dragShouldBeIgnored(draggedModel) { var childTypes = elementor.helpers.getElementChildType(this.model.get('elType')), draggedElType = draggedModel.get('elType'); if ('section' === draggedElType && !draggedModel.get('isInner')) { return true; } return !childTypes || -1 === childTypes.indexOf(draggedModel.get('elType')); } }, { key: "addEditingClass", value: function addEditingClass() { this.ui.item.addClass('elementor-editing'); } }, { key: "removeEditingClass", value: function removeEditingClass() { this.ui.item.removeClass('elementor-editing'); } }, { key: "enterTitleEditing", value: function enterTitleEditing() { this.ui.title.attr('contenteditable', true).focus(); document.execCommand('selectAll'); elementor.addBackgroundClickListener('navigator', { ignore: this.ui.title, callback: this.exitTitleEditing.bind(this) }); } }, { key: "exitTitleEditing", value: function exitTitleEditing() { this.ui.title.attr('contenteditable', false); var settingsModel = this.model.get('settings'), oldTitle = settingsModel.get('_title'), newTitle = this.ui.title.text().trim(); // When there isn't an old title and a new title, allow backbone to recognize the `set` as a change if (!oldTitle) { settingsModel.unset('_title', { silent: true }); } settingsModel.set('_title', newTitle); elementor.removeBackgroundClickListener('navigator'); } }, { key: "activateSortable", value: function activateSortable() { if (!elementor.userCan('design')) { return; } this.ui.elements.sortable({ items: '> .elementor-navigator__element', placeholder: 'ui-sortable-placeholder', axis: 'y', forcePlaceholderSize: true, connectWith: '.elementor-navigator__element-' + this.model.get('elType') + ' ' + this.ui.elements.selector, cancel: '[contenteditable="true"]' }); } }, { key: "renderIndicators", value: function renderIndicators() { var _this2 = this; var settings = this.model.get('settings').attributes; this.ui.indicators.empty(); jQuery.each(elementor.navigator.indicators, function (indicatorName, indicatorSettings) { var isShouldBeIndicated = indicatorSettings.settingKeys.some(function (key) { return settings[key]; }); if (!isShouldBeIndicated) { return; } var $indicator = jQuery('<div>', { class: 'elementor-navigator__element__indicator', title: indicatorSettings.title }).attr('data-section', indicatorSettings.section).html("<i class=\"eicon-".concat(indicatorSettings.icon, "\"></i>")); _this2.ui.indicators.append($indicator); // Added delay of 500ms because the indicators bar has a CSS transition attribute of .5s $indicator.tipsy({ delayIn: 300 }); }); } }, { key: "onRender", value: function onRender() { this.activateSortable(); if (this.isRoot()) { return; } this.ui.item.css('padding-' + (elementorCommon.config.isRTL ? 'right' : 'left'), this.getIndent()); this.toggleHiddenClass(); this.renderIndicators(); } }, { key: "onModelChange", value: function onModelChange() { if (undefined !== this.model.changed.hidden) { this.toggleHiddenClass(); } } }, { key: "onModelSettingsChange", value: function onModelSettingsChange(settingsModel) { var _this3 = this; if (undefined !== settingsModel.changed._title) { this.ui.title.text(this.model.getTitle()); } jQuery.each(elementor.navigator.indicators, function (indicatorName, indicatorSettings) { if ((0, _keys.default)(settingsModel.changed).filter(function (key) { return indicatorSettings.settingKeys.includes(key); }).length) { _this3.renderIndicators(); return false; } }); } }, { key: "onItemClick", value: function onItemClick() { this.model.trigger('request:edit', { scrollIntoView: true }); } }, { key: "onToggleClick", value: function onToggleClick(event) { event.stopPropagation(); this.model.trigger('request:toggleVisibility'); } }, { key: "onTitleDoubleClick", value: function onTitleDoubleClick() { this.enterTitleEditing(); } }, { key: "onTitleKeyDown", value: function onTitleKeyDown(event) { var ENTER_KEY = 13; if (ENTER_KEY === event.which) { event.preventDefault(); this.exitTitleEditing(); } } }, { key: "onTitlePaste", value: function onTitlePaste(event) { event.preventDefault(); document.execCommand('insertHTML', false, event.originalEvent.clipboardData.getData('text/plain')); } }, { key: "onToggleListClick", value: function onToggleListClick(event) { event.stopPropagation(); this.toggleList(); } }, { key: "onSortStart", value: function onSortStart(event, ui) { this.model.trigger('request:sort:start', event, ui); jQuery(ui.item).children('.elementor-navigator__item').trigger('click'); elementor.navigator.getLayout().activateElementsMouseInteraction(); } }, { key: "onSortStop", value: function onSortStop() { elementor.navigator.getLayout().deactivateElementsMouseInteraction(); } }, { key: "onSortOver", value: function onSortOver(event) { event.stopPropagation(); this.$el.addClass('elementor-dragging-on-child'); } }, { key: "onSortOut", value: function onSortOut(event) { event.stopPropagation(); this.$el.removeClass('elementor-dragging-on-child'); } }, { key: "onSortUpdate", value: function onSortUpdate(event, ui) { event.stopPropagation(); if (!this.ui.elements.is(ui.item.parent())) { return; } this.model.trigger('request:sort:update', ui); } }, { key: "onSortReceive", value: function onSortReceive(event, ui) { this.model.trigger('request:sort:receive', event, ui); } }, { key: "onMouseEnter", value: function onMouseEnter(event) { var _this4 = this; event.stopPropagation(); var dragShouldBeIgnored = this.recursiveChildAgreement('dragShouldBeIgnored', elementor.channels.data.request('dragging:model')); if (dragShouldBeIgnored) { return; } this.autoExpandTimeout = setTimeout(function () { _this4.toggleList(true, function () { _this4.ui.elements.sortable('refreshPositions'); }); }, 500); } }, { key: "onMouseLeave", value: function onMouseLeave(event) { event.stopPropagation(); clearTimeout(this.autoExpandTimeout); } }, { key: "onContextMenu", value: function onContextMenu(event) { this.model.trigger('request:contextmenu', event); } }, { key: "onEditRequest", value: function onEditRequest() { this.recursiveParentInvoke('toggleList', true); elementor.navigator.getLayout().elements.currentView.recursiveChildInvoke('removeEditingClass'); this.addEditingClass(); elementor.helpers.scrollToView(this.$el, 400, elementor.navigator.getLayout().elements.$el); } }, { key: "onIndicatorClick", value: function onIndicatorClick(event) { var section = event.currentTarget.dataset.section; setTimeout(function () { var editor = elementor.getPanelView().currentPageView, tab = editor.getControlModel(section).get('tab'); editor.activateSection(section); editor.activateTab(tab); editor.render(); }); } }]); return _default; }(Marionette.CompositeView); exports.default = _default; /***/ }), /* 278 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-navigator__elements--empty'; } }, { key: "className", value: function className() { return 'elementor-empty-view'; } }, { key: "onRendr", value: function onRendr() { this.$el.css('padding-' + (elementorCommon.config.isRTL ? 'right' : 'left'), this.getOption('indent')); } }]); return _default; }(Marionette.ItemView); exports.default = _default; /***/ }), /* 279 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-navigator__root--empty'; } }, { key: "className", value: function className() { return 'elementor-nerd-box'; } }]); return _default; }(Marionette.ItemView); exports.default = _default; /***/ }), /* 280 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _component = _interopRequireDefault(__webpack_require__(281)); var _default = /*#__PURE__*/ function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).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; /***/ }), /* 281 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _modalLayout = _interopRequireDefault(__webpack_require__(282)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'shortcuts'; } }, { key: "getModalLayout", value: function getModalLayout() { return _modalLayout.default; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { '': { keys: 'ctrl+?' } }; } }]); return _default; }(elementorModules.common.ComponentModal); exports.default = _default; /***/ }), /* 282 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get3 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _modalContent = _interopRequireDefault(__webpack_require__(283)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getModalOptions", value: function getModalOptions() { return { id: 'elementor-hotkeys__modal' }; } }, { key: "getLogoOptions", value: function getLogoOptions() { return { title: elementor.translate('keyboard_shortcuts') }; } }, { 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; /***/ }), /* 283 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _environment = _interopRequireDefault(__webpack_require__(168)); var _default = /*#__PURE__*/ function (_Marionette$LayoutVie) { (0, _inherits2.default)(_default, _Marionette$LayoutVie); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).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; /***/ }), /* 284 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var ControlBaseDataView = __webpack_require__(97); var _default = /*#__PURE__*/ function (_ControlBaseDataView) { (0, _inherits2.default)(_default, _ControlBaseDataView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).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; /***/ }), /* 285 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); __webpack_require__(48); __webpack_require__(26); var TagPanelView = __webpack_require__(286); module.exports = Marionette.Behavior.extend({ tagView: null, listenerAttached: false, ui: { tagArea: '.elementor-control-tag-area', dynamicSwitcher: '.elementor-control-dynamic-switcher' }, events: { 'click @ui.dynamicSwitcher': 'onDynamicSwitcherClick' }, initialize: function initialize() { if (!this.listenerAttached) { this.listenTo(this.view.options.elementSettingsModel, 'change:external:__dynamic__', this.onAfterExternalChange); this.listenerAttached = true; } }, renderTools: function renderTools() { if (this.getOption('dynamicSettings').default) { return; } var $dynamicSwitcher = jQuery(Marionette.Renderer.render('#tmpl-elementor-control-dynamic-switcher')); if (this.view.model.get('label_block')) { this.ui.controlTitle.after($dynamicSwitcher); var $responsiveSwitchers = $dynamicSwitcher.next('.elementor-control-responsive-switchers'); if ($responsiveSwitchers.length) { $responsiveSwitchers.after($dynamicSwitcher); } } else { this.ui.controlTitle.before($dynamicSwitcher); } this.ui.dynamicSwitcher = this.$el.find(this.ui.dynamicSwitcher.selector); }, toggleDynamicClass: function toggleDynamicClass() { this.$el.toggleClass('elementor-control-dynamic-value', this.isDynamicMode()); }, isDynamicMode: function isDynamicMode() { var dynamicSettings = this.view.elementSettingsModel.get('__dynamic__'); return !!(dynamicSettings && dynamicSettings[this.view.model.get('name')]); }, createTagsList: function createTagsList() { var tags = _.groupBy(this.getOption('tags'), 'group'), groups = elementor.dynamicTags.getConfig('groups'), $tagsList = this.ui.tagsList = jQuery('<div>', { class: 'elementor-tags-list' }), $tagsListInner = jQuery('<div>', { class: 'elementor-tags-list__inner' }); $tagsList.append($tagsListInner); jQuery.each(groups, function (groupName) { var groupTags = tags[groupName]; if (!groupTags) { return; } var group = this, $groupTitle = jQuery('<div>', { class: 'elementor-tags-list__group-title' }).text(group.title); $tagsListInner.append($groupTitle); groupTags.forEach(function (tag) { var $tag = jQuery('<div>', { class: 'elementor-tags-list__item' }); $tag.text(tag.title).attr('data-tag-name', tag.name); $tagsListInner.append($tag); }); }); $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') }); tagView.render(); this.ui.tagArea.after(tagView.el); this.listenTo(tagView.model, 'change', this.onTagViewModelChange.bind(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.elementSettingsModel.get('__dynamic__')[this.view.model.get('name')]; }, getDynamicControlSettings: function getDynamicControlSettings() { return { control: { name: '__dynamic__', label: this.view.model.get('label') } }; }, setDynamicValue: function setDynamicValue(value) { var settingKey = this.view.model.get('name'), dynamicSettings = this.view.elementSettingsModel.get('__dynamic__') || {}; dynamicSettings = elementorCommon.helpers.cloneObject(dynamicSettings); dynamicSettings[settingKey] = value; this.view.elementSettingsModel.set('__dynamic__', dynamicSettings, this.getDynamicControlSettings(settingKey)); this.toggleDynamicClass(); }, destroyTagView: function destroyTagView() { if (this.tagView) { this.tagView.destroy(); this.tagView = null; } }, onRender: function onRender() { this.$el.addClass('elementor-control-dynamic'); this.renderTools(); this.toggleDynamicClass(); if (this.isDynamicMode()) { this.setDefaultTagView(); } }, onDynamicSwitcherClick: function onDynamicSwitcherClick() { this.toggleTagsList(); }, onTagsListItemClick: function onTagsListItemClick(event) { var $tag = jQuery(event.currentTarget); this.setTagView(elementor.helpers.getUniqueID(), $tag.data('tagName'), {}); this.setDynamicValue(this.tagViewToTagText()); this.toggleTagsList(); if (this.tagView.getTagConfig().settings_required) { this.tagView.showSettingsPopup(); } }, onTagViewModelChange: function onTagViewModelChange() { this.setDynamicValue(this.tagViewToTagText()); }, onTagViewRemove: function onTagViewRemove() { var settingKey = this.view.model.get('name'), dynamicSettings = this.view.elementSettingsModel.get('__dynamic__'); dynamicSettings = elementorCommon.helpers.cloneObject(dynamicSettings); delete dynamicSettings[settingKey]; if ((0, _keys.default)(dynamicSettings).length) { this.view.elementSettingsModel.set('__dynamic__', dynamicSettings, this.getDynamicControlSettings(settingKey)); } else { this.view.elementSettingsModel.unset('__dynamic__', this.getDynamicControlSettings(settingKey)); } this.toggleDynamicClass(); }, onAfterExternalChange: function onAfterExternalChange() { this.destroyTagView(); if (this.isDynamicMode()) { this.setDefaultTagView(); } this.toggleDynamicClass(); }, onDestroy: function onDestroy() { this.destroyTagView(); } }); /***/ }), /* 286 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(48); var _values = _interopRequireDefault(__webpack_require__(163)); var TagControlsStack = __webpack_require__(287); 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 } }; 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, 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() { if (!this.hasSettings()) { return; } this.initModel(); 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(); } } }); /***/ }), /* 287 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var EmptyView = __webpack_require__(288); 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; }, 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(); } }); /***/ }), /* 288 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.ItemView.extend({ className: 'elementor-tag-controls-stack-empty', template: '#tmpl-elementor-tag-controls-stack-empty' }); /***/ }), /* 289 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$Vie) { (0, _inherits2.default)(_default, _elementorModules$Vie); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { selectors: { notice: '#elementor-notice-bar', close: '#elementor-notice-bar__close' } }; } }, { key: "getDefaultElements", value: function getDefaultElements() { var settings = this.getSettings(); return { $notice: jQuery(settings.selectors.notice), $close: jQuery(settings.selectors.close) }; } }, { key: "bindEvents", value: function bindEvents() { this.elements.$close.on('click', this.onCloseClick.bind(this)); } }, { key: "onCloseClick", value: function onCloseClick() { this.elements.$notice.slideUp(); elementorCommon.ajax.addRequest('notice_bar_dismiss'); } }]); return _default; }(elementorModules.ViewModule); exports.default = _default; /***/ }), /* 290 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(80); var _keys = _interopRequireDefault(__webpack_require__(58)); __webpack_require__(48); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _modalLayout = _interopRequireDefault(__webpack_require__(291)); var _iconManager = __webpack_require__(292); var _iconLibrary = _interopRequireDefault(__webpack_require__(328)); var _store = _interopRequireDefault(__webpack_require__(329)); var _reactDom = __webpack_require__(239); var _default = /*#__PURE__*/ function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).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: elementor.translate('Insert'), 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) { if ('recommended' === library.name) { hasRecommended = true; } }); 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; /***/ }), /* 291 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get3 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _layout = _interopRequireDefault(__webpack_require__(208)); var _default = /*#__PURE__*/ function (_BaseModalLayout) { (0, _inherits2.default)(_default, _BaseModalLayout); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).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: elementor.translate('icon_library') }; } }, { 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; /***/ }), /* 292 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _interopRequireWildcard = __webpack_require__(187); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.renderIconManager = exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(180)); var _extends2 = _interopRequireDefault(__webpack_require__(294)); var _objectSpread2 = _interopRequireDefault(__webpack_require__(295)); __webpack_require__(48); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf3 = _interopRequireDefault(__webpack_require__(3)); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(81)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(169)); var _propTypes = _interopRequireDefault(__webpack_require__(195)); var _reactDom = __webpack_require__(239); var _tab = _interopRequireDefault(__webpack_require__(311)); var _iconsGoPro = _interopRequireDefault(__webpack_require__(327)); var IconsManager = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(IconsManager, _Component); function IconsManager() { var _getPrototypeOf2; 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 = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(IconsManager)).call.apply(_getPrototypeOf2, [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 _react.default.createElement("div", { className: className, key: tab.name, onClick: function onClick() { if (isCurrentTab) { return; } _this.setState({ activeTab: tab.name }); } }, _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 _react.default.createElement(_react.Fragment, null, _react.default.createElement("div", { id: "elementor-icons-manager__sidebar", className: 'elementor-templates-modal__sidebar' }, _react.default.createElement("div", { id: "elementor-icons-manager__tab-links" }, _this.getIconTabsLinks(), _this.getUploadCustomButton(), _this.getIconTabsLinks(false))), _react.default.createElement("div", { id: "elementor-icons-manager__main", className: 'elementor-templates-modal__content' }, 'GoPro' === activeTabName ? _react.default.createElement(_iconsGoPro.default, null) : _react.default.createElement(_react.Fragment, null, showSearch ? _this.getSearchHTML() : '', _react.default.createElement("div", { id: "elementor-icons-manager__tab__wrapper", ref: _this.scrollViewRef }, _react.default.createElement("div", { id: "elementor-icons-manager__tab__title" }, activeTab.label), _react.default.createElement("div", { id: "elementor-icons-manager__tab__content_wrapper" }, _react.default.createElement("input", { type: "hidden", name: "icon_value", id: "icon_value", value: selected.value }), _react.default.createElement("input", { type: "hidden", name: "icon_type", id: "icon_type", value: selected.library }), _this.state.loaded[activeTab.name] ? _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 _react.default.createElement("div", { id: "elementor-icons-manager__upload" }, _react.default.createElement("div", { id: "elementor-icons-manager__upload__title" }, elementor.translate('my_libraries')), _react.default.createElement("button", { id: "elementor-icons-manager__upload__button", className: "elementor-button elementor-button-default", onClick: onClick }, elementor.translate('upload'))); } }, { key: "getSearchHTML", value: function getSearchHTML() { return _react.default.createElement("div", { id: "elementor-icons-manager__search" }, _react.default.createElement("input", { placeholder: 'Filter by name...', onInput: this.handleSearch }), _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)(_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 }; /***/ }), /* 293 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** @license React v16.8.6 * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var k=__webpack_require__(237),n="function"===typeof Symbol&&Symbol.for,p=n?Symbol.for("react.element"):60103,q=n?Symbol.for("react.portal"):60106,r=n?Symbol.for("react.fragment"):60107,t=n?Symbol.for("react.strict_mode"):60108,u=n?Symbol.for("react.profiler"):60114,v=n?Symbol.for("react.provider"):60109,w=n?Symbol.for("react.context"):60110,x=n?Symbol.for("react.concurrent_mode"):60111,y=n?Symbol.for("react.forward_ref"):60112,z=n?Symbol.for("react.suspense"):60113,aa=n?Symbol.for("react.memo"): 60115,ba=n?Symbol.for("react.lazy"):60116,A="function"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name="Invariant Violation"}a.framesToPop=1;throw a;}} function B(a){for(var b=arguments.length-1,d="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=0;c<b;c++)d+="&args[]="+encodeURIComponent(arguments[c+1]);ca(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",d)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},D={}; function E(a,b,d){this.props=a;this.context=b;this.refs=D;this.updater=d||C}E.prototype.isReactComponent={};E.prototype.setState=function(a,b){"object"!==typeof a&&"function"!==typeof a&&null!=a?B("85"):void 0;this.updater.enqueueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(a,b,d){this.props=a;this.context=b;this.refs=D;this.updater=d||C}var H=G.prototype=new F; H.constructor=G;k(H,E.prototype);H.isPureReactComponent=!0;var I={current:null},J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0}; function M(a,b,d){var c=void 0,e={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(g=""+b.key),b)K.call(b,c)&&!L.hasOwnProperty(c)&&(e[c]=b[c]);var f=arguments.length-2;if(1===f)e.children=d;else if(1<f){for(var l=Array(f),m=0;m<f;m++)l[m]=arguments[m+2];e.children=l}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===e[c]&&(e[c]=f[c]);return{$$typeof:p,type:a,key:g,ref:h,props:e,_owner:J.current}} function da(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function N(a){return"object"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={"=":"=0",":":"=2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}var O=/\/+/g,P=[];function Q(a,b,d,c){if(P.length){var e=P.pop();e.result=a;e.keyPrefix=b;e.func=d;e.context=c;e.count=0;return e}return{result:a,keyPrefix:b,func:d,context:c,count:0}} function R(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>P.length&&P.push(a)} function S(a,b,d,c){var e=typeof a;if("undefined"===e||"boolean"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,""===b?"."+T(a,0):b),1;g=0;b=""===b?".":b+":";if(Array.isArray(a))for(var h=0;h<a.length;h++){e=a[h];var f=b+T(e,h);g+=S(e,f,d,c)}else if(null===a||"object"!==typeof a?f=null:(f=A&&a[A]||a["@@iterator"],f="function"===typeof f?f:null),"function"===typeof f)for(a=f.call(a),h= 0;!(e=a.next()).done;)e=e.value,f=b+T(e,h++),g+=S(e,f,d,c);else"object"===e&&(d=""+a,B("31","[object Object]"===d?"object with keys {"+Object.keys(a).join(", ")+"}":d,""));return g}function U(a,b,d){return null==a?0:S(a,"",b,d)}function T(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function ea(a,b){a.func.call(a.context,b,a.count++)} function fa(a,b,d){var c=a.result,e=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?V(a,c,d,function(a){return a}):null!=a&&(N(a)&&(a=da(a,e+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(O,"$&/")+"/")+d)),c.push(a))}function V(a,b,d,c,e){var g="";null!=d&&(g=(""+d).replace(O,"$&/")+"/");b=Q(b,g,c,e);U(a,fa,b);R(b)}function W(){var a=I.current;null===a?B("321"):void 0;return a} var X={Children:{map:function(a,b,d){if(null==a)return a;var c=[];V(a,c,null,b,d);return c},forEach:function(a,b,d){if(null==a)return a;b=Q(null,null,b,d);U(a,ea,b);R(b)},count:function(a){return U(a,function(){return null},null)},toArray:function(a){var b=[];V(a,b,null,function(a){return a});return b},only:function(a){N(a)?void 0:B("143");return a}},createRef:function(){return{current:null}},Component:E,PureComponent:G,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b, _currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:y,render:a}},lazy:function(a){return{$$typeof:ba,_ctor:a,_status:-1,_result:null}},memo:function(a,b){return{$$typeof:aa,type:a,compare:void 0===b?null:b}},useCallback:function(a,b){return W().useCallback(a,b)},useContext:function(a,b){return W().useContext(a,b)},useEffect:function(a,b){return W().useEffect(a,b)},useImperativeHandle:function(a, b,d){return W().useImperativeHandle(a,b,d)},useDebugValue:function(){},useLayoutEffect:function(a,b){return W().useLayoutEffect(a,b)},useMemo:function(a,b){return W().useMemo(a,b)},useReducer:function(a,b,d){return W().useReducer(a,b,d)},useRef:function(a){return W().useRef(a)},useState:function(a){return W().useState(a)},Fragment:r,StrictMode:t,Suspense:z,createElement:M,cloneElement:function(a,b,d){null===a||void 0===a?B("267",a):void 0;var c=void 0,e=k({},a.props),g=a.key,h=a.ref,f=a._owner;if(null!= b){void 0!==b.ref&&(h=b.ref,f=J.current);void 0!==b.key&&(g=""+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(c in b)K.call(b,c)&&!L.hasOwnProperty(c)&&(e[c]=void 0===b[c]&&void 0!==l?l[c]:b[c])}c=arguments.length-2;if(1===c)e.children=d;else if(1<c){l=Array(c);for(var m=0;m<c;m++)l[m]=arguments[m+2];e.children=l}return{$$typeof:p,type:a.type,key:g,ref:h,props:e,_owner:f}},createFactory:function(a){var b=M.bind(null,a);b.type=a;return b},isValidElement:N,version:"16.8.6", unstable_ConcurrentMode:x,unstable_Profiler:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:I,ReactCurrentOwner:J,assign:k}},Y={default:X},Z=Y&&X||Y;module.exports=Z.default||Z; /***/ }), /* 294 */ /***/ (function(module, exports, __webpack_require__) { var _Object$assign = __webpack_require__(194); 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; }; return _extends.apply(this, arguments); } module.exports = _extends; /***/ }), /* 295 */ /***/ (function(module, exports, __webpack_require__) { var _Object$getOwnPropertyDescriptors = __webpack_require__(296); var _Object$defineProperties = __webpack_require__(300); var _Object$getOwnPropertyDescriptor = __webpack_require__(141); var _Object$getOwnPropertySymbols = __webpack_require__(303); var _Object$keys = __webpack_require__(58); var defineProperty = __webpack_require__(169); function _objectSpread2(target) { for (var i = 1; i < arguments.length; i++) { if (i % 2) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = _Object$keys(source); if (typeof _Object$getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(_Object$getOwnPropertySymbols(source).filter(function (sym) { return _Object$getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { defineProperty(target, key, source[key]); }); } else { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(arguments[i])); } } return target; } module.exports = _objectSpread2; /***/ }), /* 296 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(297); /***/ }), /* 297 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(298); module.exports = __webpack_require__(1).Object.getOwnPropertyDescriptors; /***/ }), /* 298 */ /***/ (function(module, exports, __webpack_require__) { // https://github.com/tc39/proposal-object-getownpropertydescriptors var $export = __webpack_require__(8); var ownKeys = __webpack_require__(299); var toIObject = __webpack_require__(15); var gOPD = __webpack_require__(38); var createProperty = __webpack_require__(238); $export($export.S, 'Object', { getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { var O = toIObject(object); var getDesc = gOPD.f; var keys = ownKeys(O); var result = {}; var i = 0; var key, desc; while (keys.length > i) { desc = getDesc(O, key = keys[i++]); if (desc !== undefined) createProperty(result, key, desc); } return result; } }); /***/ }), /* 299 */ /***/ (function(module, exports, __webpack_require__) { // all object keys, includes non-enumerable and symbols var gOPN = __webpack_require__(69); var gOPS = __webpack_require__(64); var anObject = __webpack_require__(18); var Reflect = __webpack_require__(10).Reflect; module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { var keys = gOPN.f(anObject(it)); var getSymbols = gOPS.f; return getSymbols ? keys.concat(getSymbols(it)) : keys; }; /***/ }), /* 300 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(301); /***/ }), /* 301 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(302); var $Object = __webpack_require__(1).Object; module.exports = function defineProperties(T, D) { return $Object.defineProperties(T, D); }; /***/ }), /* 302 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(8); // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) $export($export.S + $export.F * !__webpack_require__(13), 'Object', { defineProperties: __webpack_require__(101) }); /***/ }), /* 303 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(304); /***/ }), /* 304 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(103); module.exports = __webpack_require__(1).Object.getOwnPropertySymbols; /***/ }), /* 305 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = __webpack_require__(306); function emptyFunction() {} function emptyFunctionWithReset() {} emptyFunctionWithReset.resetWarningCache = emptyFunction; module.exports = function() { function shim(props, propName, componentName, location, propFullName, secret) { if (secret === ReactPropTypesSecret) { // It is still safe when called from React. return; } var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; }; shim.isRequired = shim; function getShim() { return shim; }; // Important! // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bool: shim, func: shim, number: shim, object: shim, string: shim, symbol: shim, any: shim, arrayOf: getShim, element: shim, elementType: shim, instanceOf: getShim, node: shim, objectOf: getShim, oneOf: getShim, oneOfType: getShim, shape: getShim, exact: getShim, checkPropTypes: emptyFunctionWithReset, resetWarningCache: emptyFunction }; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /* 306 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /* 307 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** @license React v16.8.6 * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /* Modernizr 3.0.0pre (Custom Build) | MIT */ var aa=__webpack_require__(180),n=__webpack_require__(237),r=__webpack_require__(308);function ba(a,b,c,d,e,f,g,h){if(!a){a=void 0;if(void 0===b)a=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[c,d,e,f,g,h],k=0;a=Error(b.replace(/%s/g,function(){return l[k++]}));a.name="Invariant Violation"}a.framesToPop=1;throw a;}} function x(a){for(var b=arguments.length-1,c="https://reactjs.org/docs/error-decoder.html?invariant="+a,d=0;d<b;d++)c+="&args[]="+encodeURIComponent(arguments[d+1]);ba(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",c)}aa?void 0:x("227");function ca(a,b,c,d,e,f,g,h,l){var k=Array.prototype.slice.call(arguments,3);try{b.apply(c,k)}catch(m){this.onError(m)}} var da=!1,ea=null,fa=!1,ha=null,ia={onError:function(a){da=!0;ea=a}};function ja(a,b,c,d,e,f,g,h,l){da=!1;ea=null;ca.apply(ia,arguments)}function ka(a,b,c,d,e,f,g,h,l){ja.apply(this,arguments);if(da){if(da){var k=ea;da=!1;ea=null}else x("198"),k=void 0;fa||(fa=!0,ha=k)}}var la=null,ma={}; function na(){if(la)for(var a in ma){var b=ma[a],c=la.indexOf(a);-1<c?void 0:x("96",a);if(!oa[c]){b.extractEvents?void 0:x("97",a);oa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;pa.hasOwnProperty(h)?x("99",h):void 0;pa[h]=f;var l=f.phasedRegistrationNames;if(l){for(e in l)l.hasOwnProperty(e)&&qa(l[e],g,h);e=!0}else f.registrationName?(qa(f.registrationName,g,h),e=!0):e=!1;e?void 0:x("98",d,a)}}}} function qa(a,b,c){ra[a]?x("100",a):void 0;ra[a]=b;sa[a]=b.eventTypes[c].dependencies}var oa=[],pa={},ra={},sa={},ta=null,ua=null,va=null;function wa(a,b,c){var d=a.type||"unknown-event";a.currentTarget=va(c);ka(d,b,void 0,a);a.currentTarget=null}function xa(a,b){null==b?x("30"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]} function ya(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var za=null;function Aa(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)wa(a,b[d],c[d]);else b&&wa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}} var Ba={injectEventPluginOrder:function(a){la?x("101"):void 0;la=Array.prototype.slice.call(a);na()},injectEventPluginsByName:function(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];ma.hasOwnProperty(c)&&ma[c]===d||(ma[c]?x("102",c):void 0,ma[c]=d,b=!0)}b&&na()}}; function Ca(a,b){var c=a.stateNode;if(!c)return null;var d=ta(c);if(!d)return null;c=d[b];a:switch(b){case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1}if(a)return null;c&&"function"!==typeof c?x("231",b,typeof c):void 0; return c}function Da(a){null!==a&&(za=xa(za,a));a=za;za=null;if(a&&(ya(a,Aa),za?x("95"):void 0,fa))throw a=ha,fa=!1,ha=null,a;}var Ea=Math.random().toString(36).slice(2),Fa="__reactInternalInstance$"+Ea,Ga="__reactEventHandlers$"+Ea;function Ha(a){if(a[Fa])return a[Fa];for(;!a[Fa];)if(a.parentNode)a=a.parentNode;else return null;a=a[Fa];return 5===a.tag||6===a.tag?a:null}function Ia(a){a=a[Fa];return!a||5!==a.tag&&6!==a.tag?null:a} function Ja(a){if(5===a.tag||6===a.tag)return a.stateNode;x("33")}function Ka(a){return a[Ga]||null}function La(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}function Ma(a,b,c){if(b=Ca(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=xa(c._dispatchListeners,b),c._dispatchInstances=xa(c._dispatchInstances,a)} function Na(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=La(b);for(b=c.length;0<b--;)Ma(c[b],"captured",a);for(b=0;b<c.length;b++)Ma(c[b],"bubbled",a)}}function Oa(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Ca(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=xa(c._dispatchListeners,b),c._dispatchInstances=xa(c._dispatchInstances,a))}function Pa(a){a&&a.dispatchConfig.registrationName&&Oa(a._targetInst,null,a)} function Qa(a){ya(a,Na)}var Ra=!("undefined"===typeof window||!window.document||!window.document.createElement);function Sa(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;return c}var Ta={animationend:Sa("Animation","AnimationEnd"),animationiteration:Sa("Animation","AnimationIteration"),animationstart:Sa("Animation","AnimationStart"),transitionend:Sa("Transition","TransitionEnd")},Ua={},Va={}; Ra&&(Va=document.createElement("div").style,"AnimationEvent"in window||(delete Ta.animationend.animation,delete Ta.animationiteration.animation,delete Ta.animationstart.animation),"TransitionEvent"in window||delete Ta.transitionend.transition);function Wa(a){if(Ua[a])return Ua[a];if(!Ta[a])return a;var b=Ta[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Va)return Ua[a]=b[c];return a} var Xa=Wa("animationend"),Ya=Wa("animationiteration"),Za=Wa("animationstart"),$a=Wa("transitionend"),ab="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),bb=null,cb=null,db=null; function eb(){if(db)return db;var a,b=cb,c=b.length,d,e="value"in bb?bb.value:bb.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return db=e.slice(a,1<d?1-d:void 0)}function fb(){return!0}function gb(){return!1} function y(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):"target"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?fb:gb;this.isPropagationStopped=gb;return this} n(y.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=fb)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=fb)},persist:function(){this.isPersistent=fb},isPersistent:gb,destructor:function(){var a=this.constructor.Interface, b;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=gb;this._dispatchInstances=this._dispatchListeners=null}});y.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null}; y.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;hb(c);return c};hb(y);function ib(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}function jb(a){a instanceof this?void 0:x("279");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)} function hb(a){a.eventPool=[];a.getPooled=ib;a.release=jb}var kb=y.extend({data:null}),lb=y.extend({data:null}),mb=[9,13,27,32],nb=Ra&&"CompositionEvent"in window,ob=null;Ra&&"documentMode"in document&&(ob=document.documentMode); var pb=Ra&&"TextEvent"in window&&!ob,qb=Ra&&(!nb||ob&&8<ob&&11>=ob),rb=String.fromCharCode(32),sb={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart", captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},tb=!1; function ub(a,b){switch(a){case "keyup":return-1!==mb.indexOf(b.keyCode);case "keydown":return 229!==b.keyCode;case "keypress":case "mousedown":case "blur":return!0;default:return!1}}function vb(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}var wb=!1;function xb(a,b){switch(a){case "compositionend":return vb(b);case "keypress":if(32!==b.which)return null;tb=!0;return rb;case "textInput":return a=b.data,a===rb&&tb?null:a;default:return null}} function yb(a,b){if(wb)return"compositionend"===a||!nb&&ub(a,b)?(a=eb(),db=cb=bb=null,wb=!1,a):null;switch(a){case "paste":return null;case "keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case "compositionend":return qb&&"ko"!==b.locale?null:b.data;default:return null}} var zb={eventTypes:sb,extractEvents:function(a,b,c,d){var e=void 0;var f=void 0;if(nb)b:{switch(a){case "compositionstart":e=sb.compositionStart;break b;case "compositionend":e=sb.compositionEnd;break b;case "compositionupdate":e=sb.compositionUpdate;break b}e=void 0}else wb?ub(a,c)&&(e=sb.compositionEnd):"keydown"===a&&229===c.keyCode&&(e=sb.compositionStart);e?(qb&&"ko"!==c.locale&&(wb||e!==sb.compositionStart?e===sb.compositionEnd&&wb&&(f=eb()):(bb=d,cb="value"in bb?bb.value:bb.textContent,wb= !0)),e=kb.getPooled(e,b,c,d),f?e.data=f:(f=vb(c),null!==f&&(e.data=f)),Qa(e),f=e):f=null;(a=pb?xb(a,c):yb(a,c))?(b=lb.getPooled(sb.beforeInput,b,c,d),b.data=a,Qa(b)):b=null;return null===f?b:null===b?f:[f,b]}},Ab=null,Bb=null,Cb=null;function Db(a){if(a=ua(a)){"function"!==typeof Ab?x("280"):void 0;var b=ta(a.stateNode);Ab(a.stateNode,a.type,b)}}function Eb(a){Bb?Cb?Cb.push(a):Cb=[a]:Bb=a}function Fb(){if(Bb){var a=Bb,b=Cb;Cb=Bb=null;Db(a);if(b)for(a=0;a<b.length;a++)Db(b[a])}} function Gb(a,b){return a(b)}function Hb(a,b,c){return a(b,c)}function Ib(){}var Jb=!1;function Kb(a,b){if(Jb)return a(b);Jb=!0;try{return Gb(a,b)}finally{if(Jb=!1,null!==Bb||null!==Cb)Ib(),Fb()}}var Lb={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Mb(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!Lb[a.type]:"textarea"===b?!0:!1} function Nb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function Ob(a){if(!Ra)return!1;a="on"+a;var b=a in document;b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"===typeof b[a]);return b}function Pb(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)} function Qb(a){var b=Pb(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker= null;delete a[b]}}}}function Rb(a){a._valueTracker||(a._valueTracker=Qb(a))}function Sb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=Pb(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}var Tb=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Tb.hasOwnProperty("ReactCurrentDispatcher")||(Tb.ReactCurrentDispatcher={current:null}); var Ub=/^(.*)[\\\/]/,z="function"===typeof Symbol&&Symbol.for,Vb=z?Symbol.for("react.element"):60103,Wb=z?Symbol.for("react.portal"):60106,Xb=z?Symbol.for("react.fragment"):60107,Yb=z?Symbol.for("react.strict_mode"):60108,Zb=z?Symbol.for("react.profiler"):60114,$b=z?Symbol.for("react.provider"):60109,ac=z?Symbol.for("react.context"):60110,bc=z?Symbol.for("react.concurrent_mode"):60111,cc=z?Symbol.for("react.forward_ref"):60112,dc=z?Symbol.for("react.suspense"):60113,ec=z?Symbol.for("react.memo"): 60115,fc=z?Symbol.for("react.lazy"):60116,gc="function"===typeof Symbol&&Symbol.iterator;function hc(a){if(null===a||"object"!==typeof a)return null;a=gc&&a[gc]||a["@@iterator"];return"function"===typeof a?a:null} function ic(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case bc:return"ConcurrentMode";case Xb:return"Fragment";case Wb:return"Portal";case Zb:return"Profiler";case Yb:return"StrictMode";case dc:return"Suspense"}if("object"===typeof a)switch(a.$$typeof){case ac:return"Context.Consumer";case $b:return"Context.Provider";case cc:var b=a.render;b=b.displayName||b.name||"";return a.displayName||(""!==b?"ForwardRef("+b+ ")":"ForwardRef");case ec:return ic(a.type);case fc:if(a=1===a._status?a._result:null)return ic(a)}return null}function jc(a){var b="";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c="";break a;default:var d=a._debugOwner,e=a._debugSource,f=ic(a.type);c=null;d&&(c=ic(d.type));d=f;f="";e?f=" (at "+e.fileName.replace(Ub,"")+":"+e.lineNumber+")":c&&(f=" (created by "+c+")");c="\n in "+(d||"Unknown")+f}b+=c;a=a.return}while(a);return b} var kc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,lc=Object.prototype.hasOwnProperty,mc={},nc={}; function oc(a){if(lc.call(nc,a))return!0;if(lc.call(mc,a))return!1;if(kc.test(a))return nc[a]=!0;mc[a]=!0;return!1}function pc(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case "function":case "symbol":return!0;case "boolean":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1}} function qc(a,b,c,d){if(null===b||"undefined"===typeof b||pc(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function C(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var D={}; "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){D[a]=new C(a,0,!1,a,null)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];D[b]=new C(b,1,!1,a[1],null)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){D[a]=new C(a,2,!1,a.toLowerCase(),null)}); ["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){D[a]=new C(a,2,!1,a,null)});"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){D[a]=new C(a,3,!1,a.toLowerCase(),null)});["checked","multiple","muted","selected"].forEach(function(a){D[a]=new C(a,3,!0,a,null)}); ["capture","download"].forEach(function(a){D[a]=new C(a,4,!1,a,null)});["cols","rows","size","span"].forEach(function(a){D[a]=new C(a,6,!1,a,null)});["rowSpan","start"].forEach(function(a){D[a]=new C(a,5,!1,a.toLowerCase(),null)});var rc=/[\-:]([a-z])/g;function sc(a){return a[1].toUpperCase()} "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(rc, sc);D[b]=new C(b,1,!1,a,null)});"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,"http://www.w3.org/1999/xlink")});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,"http://www.w3.org/XML/1998/namespace")});["tabIndex","crossOrigin"].forEach(function(a){D[a]=new C(a,1,!1,a.toLowerCase(),null)}); function tc(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||"o"!==b[0]&&"O"!==b[0]||"n"!==b[1]&&"N"!==b[1]?!1:!0;f||(qc(b,c,e,d)&&(c=null),d||null===e?oc(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))} function uc(a){switch(typeof a){case "boolean":case "number":case "object":case "string":case "undefined":return a;default:return""}}function vc(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})} function wc(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=uc(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function xc(a,b){b=b.checked;null!=b&&tc(a,"checked",b,!1)} function yc(a,b){xc(a,b);var c=uc(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?zc(a,b.type,c):b.hasOwnProperty("defaultValue")&&zc(a,b.type,uc(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)} function Ac(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)} function zc(a,b,c){if("number"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}var Bc={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Cc(a,b,c){a=y.getPooled(Bc.change,a,b,c);a.type="change";Eb(c);Qa(a);return a}var Dc=null,Ec=null;function Fc(a){Da(a)} function Gc(a){var b=Ja(a);if(Sb(b))return a}function Hc(a,b){if("change"===a)return b}var Ic=!1;Ra&&(Ic=Ob("input")&&(!document.documentMode||9<document.documentMode));function Jc(){Dc&&(Dc.detachEvent("onpropertychange",Kc),Ec=Dc=null)}function Kc(a){"value"===a.propertyName&&Gc(Ec)&&(a=Cc(Ec,a,Nb(a)),Kb(Fc,a))}function Lc(a,b,c){"focus"===a?(Jc(),Dc=b,Ec=c,Dc.attachEvent("onpropertychange",Kc)):"blur"===a&&Jc()}function Mc(a){if("selectionchange"===a||"keyup"===a||"keydown"===a)return Gc(Ec)} function Nc(a,b){if("click"===a)return Gc(b)}function Oc(a,b){if("input"===a||"change"===a)return Gc(b)} var Pc={eventTypes:Bc,_isInputEventSupported:Ic,extractEvents:function(a,b,c,d){var e=b?Ja(b):window,f=void 0,g=void 0,h=e.nodeName&&e.nodeName.toLowerCase();"select"===h||"input"===h&&"file"===e.type?f=Hc:Mb(e)?Ic?f=Oc:(f=Mc,g=Lc):(h=e.nodeName)&&"input"===h.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)&&(f=Nc);if(f&&(f=f(a,b)))return Cc(f,c,d);g&&g(a,e,b);"blur"===a&&(a=e._wrapperState)&&a.controlled&&"number"===e.type&&zc(e,"number",e.value)}},Qc=y.extend({view:null,detail:null}),Rc={Alt:"altKey", Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sc(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Rc[a])?!!b[a]:!1}function Tc(){return Sc} var Uc=0,Vc=0,Wc=!1,Xc=!1,Yc=Qc.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Tc,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if("movementX"in a)return a.movementX;var b=Uc;Uc=a.screenX;return Wc?"mousemove"===a.type?a.screenX-b:0:(Wc=!0,0)},movementY:function(a){if("movementY"in a)return a.movementY; var b=Vc;Vc=a.screenY;return Xc?"mousemove"===a.type?a.screenY-b:0:(Xc=!0,0)}}),Zc=Yc.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),$c={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave", dependencies:["pointerout","pointerover"]}},ad={eventTypes:$c,extractEvents:function(a,b,c,d){var e="mouseover"===a||"pointerover"===a,f="mouseout"===a||"pointerout"===a;if(e&&(c.relatedTarget||c.fromElement)||!f&&!e)return null;e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;f?(f=b,b=(b=c.relatedTarget||c.toElement)?Ha(b):null):f=null;if(f===b)return null;var g=void 0,h=void 0,l=void 0,k=void 0;if("mouseout"===a||"mouseover"===a)g=Yc,h=$c.mouseLeave,l=$c.mouseEnter,k="mouse"; else if("pointerout"===a||"pointerover"===a)g=Zc,h=$c.pointerLeave,l=$c.pointerEnter,k="pointer";var m=null==f?e:Ja(f);e=null==b?e:Ja(b);a=g.getPooled(h,f,c,d);a.type=k+"leave";a.target=m;a.relatedTarget=e;c=g.getPooled(l,b,c,d);c.type=k+"enter";c.target=e;c.relatedTarget=m;d=b;if(f&&d)a:{b=f;e=d;k=0;for(g=b;g;g=La(g))k++;g=0;for(l=e;l;l=La(l))g++;for(;0<k-g;)b=La(b),k--;for(;0<g-k;)e=La(e),g--;for(;k--;){if(b===e||b===e.alternate)break a;b=La(b);e=La(e)}b=null}else b=null;e=b;for(b=[];f&&f!==e;){k= f.alternate;if(null!==k&&k===e)break;b.push(f);f=La(f)}for(f=[];d&&d!==e;){k=d.alternate;if(null!==k&&k===e)break;f.push(d);d=La(d)}for(d=0;d<b.length;d++)Oa(b[d],"bubbled",a);for(d=f.length;0<d--;)Oa(f[d],"captured",c);return[a,c]}};function bd(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var cd=Object.prototype.hasOwnProperty; function dd(a,b){if(bd(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!cd.call(b,c[d])||!bd(a[c[d]],b[c[d]]))return!1;return!0}function ed(a){var b=a;if(a.alternate)for(;b.return;)b=b.return;else{if(0!==(b.effectTag&2))return 1;for(;b.return;)if(b=b.return,0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function fd(a){2!==ed(a)?x("188"):void 0} function gd(a){var b=a.alternate;if(!b)return b=ed(a),3===b?x("188"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c.return,f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return fd(e),a;if(g===d)return fd(e),b;g=g.sibling}x("188")}if(c.return!==d.return)c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g? void 0:x("189")}}c.alternate!==d?x("190"):void 0}3!==c.tag?x("188"):void 0;return c.stateNode.current===c?a:b}function hd(a){a=gd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null} var id=y.extend({animationName:null,elapsedTime:null,pseudoElement:null}),jd=y.extend({clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),kd=Qc.extend({relatedTarget:null});function ld(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0} var md={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},nd={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4", 116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},od=Qc.extend({key:function(a){if(a.key){var b=md[a.key]||a.key;if("Unidentified"!==b)return b}return"keypress"===a.type?(a=ld(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?nd[a.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Tc,charCode:function(a){return"keypress"=== a.type?ld(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"===a.type?ld(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0}}),pd=Yc.extend({dataTransfer:null}),qd=Qc.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Tc}),rd=y.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),sd=Yc.extend({deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),td=[["abort","abort"],[Xa,"animationEnd"],[Ya,"animationIteration"],[Za,"animationStart"],["canplay","canPlay"],["canplaythrough","canPlayThrough"],["drag","drag"],["dragenter","dragEnter"],["dragexit","dragExit"],["dragleave","dragLeave"],["dragover","dragOver"],["durationchange","durationChange"],["emptied","emptied"],["encrypted","encrypted"], ["ended","ended"],["error","error"],["gotpointercapture","gotPointerCapture"],["load","load"],["loadeddata","loadedData"],["loadedmetadata","loadedMetadata"],["loadstart","loadStart"],["lostpointercapture","lostPointerCapture"],["mousemove","mouseMove"],["mouseout","mouseOut"],["mouseover","mouseOver"],["playing","playing"],["pointermove","pointerMove"],["pointerout","pointerOut"],["pointerover","pointerOver"],["progress","progress"],["scroll","scroll"],["seeking","seeking"],["stalled","stalled"], ["suspend","suspend"],["timeupdate","timeUpdate"],["toggle","toggle"],["touchmove","touchMove"],[$a,"transitionEnd"],["waiting","waiting"],["wheel","wheel"]],ud={},vd={};function wd(a,b){var c=a[0];a=a[1];var d="on"+(a[0].toUpperCase()+a.slice(1));b={phasedRegistrationNames:{bubbled:d,captured:d+"Capture"},dependencies:[c],isInteractive:b};ud[a]=b;vd[c]=b} [["blur","blur"],["cancel","cancel"],["click","click"],["close","close"],["contextmenu","contextMenu"],["copy","copy"],["cut","cut"],["auxclick","auxClick"],["dblclick","doubleClick"],["dragend","dragEnd"],["dragstart","dragStart"],["drop","drop"],["focus","focus"],["input","input"],["invalid","invalid"],["keydown","keyDown"],["keypress","keyPress"],["keyup","keyUp"],["mousedown","mouseDown"],["mouseup","mouseUp"],["paste","paste"],["pause","pause"],["play","play"],["pointercancel","pointerCancel"], ["pointerdown","pointerDown"],["pointerup","pointerUp"],["ratechange","rateChange"],["reset","reset"],["seeked","seeked"],["submit","submit"],["touchcancel","touchCancel"],["touchend","touchEnd"],["touchstart","touchStart"],["volumechange","volumeChange"]].forEach(function(a){wd(a,!0)});td.forEach(function(a){wd(a,!1)}); var xd={eventTypes:ud,isInteractiveTopLevelEventType:function(a){a=vd[a];return void 0!==a&&!0===a.isInteractive},extractEvents:function(a,b,c,d){var e=vd[a];if(!e)return null;switch(a){case "keypress":if(0===ld(c))return null;case "keydown":case "keyup":a=od;break;case "blur":case "focus":a=kd;break;case "click":if(2===c.button)return null;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":a=Yc;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":a= pd;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":a=qd;break;case Xa:case Ya:case Za:a=id;break;case $a:a=rd;break;case "scroll":a=Qc;break;case "wheel":a=sd;break;case "copy":case "cut":case "paste":a=jd;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":a=Zc;break;default:a=y}b=a.getPooled(e,b,c,d);Qa(b);return b}},yd=xd.isInteractiveTopLevelEventType, zd=[];function Ad(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d;for(d=c;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo;if(!d)break;a.ancestors.push(c);c=Ha(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=Nb(a.nativeEvent);d=a.topLevelType;for(var f=a.nativeEvent,g=null,h=0;h<oa.length;h++){var l=oa[h];l&&(l=l.extractEvents(d,b,f,e))&&(g=xa(g,l))}Da(g)}}var Bd=!0; function E(a,b){if(!b)return null;var c=(yd(a)?Cd:Dd).bind(null,a);b.addEventListener(a,c,!1)}function Ed(a,b){if(!b)return null;var c=(yd(a)?Cd:Dd).bind(null,a);b.addEventListener(a,c,!0)}function Cd(a,b){Hb(Dd,a,b)} function Dd(a,b){if(Bd){var c=Nb(b);c=Ha(c);null===c||"number"!==typeof c.tag||2===ed(c)||(c=null);if(zd.length){var d=zd.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{Kb(Ad,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>zd.length&&zd.push(a)}}}var Fd={},Gd=0,Hd="_reactListenersID"+(""+Math.random()).slice(2); function Id(a){Object.prototype.hasOwnProperty.call(a,Hd)||(a[Hd]=Gd++,Fd[a[Hd]]={});return Fd[a[Hd]]}function Jd(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Kd(a){for(;a&&a.firstChild;)a=a.firstChild;return a} function Ld(a,b){var c=Kd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Kd(c)}}function Md(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Md(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1} function Nd(){for(var a=window,b=Jd();b instanceof a.HTMLIFrameElement;){try{var c="string"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Jd(a.document)}return b}function Od(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)} function Pd(){var a=Nd();if(Od(a)){if("selectionStart"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{b=(b=a.ownerDocument)&&b.defaultView||window;var c=b.getSelection&&b.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(A){b=null;break a}var f=0,g=-1,h=-1,l=0,k=0,m=a,p=null;b:for(;;){for(var t;;){m!==b||0!==d&&3!==m.nodeType||(g=f+d);m!==e||0!==c&&3!==m.nodeType||(h=f+c);3===m.nodeType&&(f+=m.nodeValue.length); if(null===(t=m.firstChild))break;p=m;m=t}for(;;){if(m===a)break b;p===b&&++l===d&&(g=f);p===e&&++k===c&&(h=f);if(null!==(t=m.nextSibling))break;m=p;p=m.parentNode}m=t}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;return{focusedElem:a,selectionRange:b}} function Qd(a){var b=Nd(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Md(c.ownerDocument.documentElement,c)){if(null!==d&&Od(c))if(b=d.start,a=d.end,void 0===a&&(a=b),"selectionStart"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ld(c,f);var g=Ld(c, d);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});"function"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}} var Rd=Ra&&"documentMode"in document&&11>=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Td=null,Ud=null,Vd=null,Wd=!1; function Xd(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Wd||null==Td||Td!==Jd(c))return null;c=Td;"selectionStart"in c&&Od(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Vd&&dd(Vd,c)?null:(Vd=c,a=y.getPooled(Sd.select,Ud,a,b),a.type="select",a.target=Td,Qa(a),a)} var Yd={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Id(e);f=sa.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?Ja(b):window;switch(a){case "focus":if(Mb(e)||"true"===e.contentEditable)Td=e,Ud=b,Vd=null;break;case "blur":Vd=Ud=Td=null;break;case "mousedown":Wd=!0;break;case "contextmenu":case "mouseup":case "dragend":return Wd=!1,Xd(c,d);case "selectionchange":if(Rd)break; case "keydown":case "keyup":return Xd(c,d)}return null}};Ba.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));ta=Ka;ua=Ia;va=Ja;Ba.injectEventPluginsByName({SimpleEventPlugin:xd,EnterLeaveEventPlugin:ad,ChangeEventPlugin:Pc,SelectEventPlugin:Yd,BeforeInputEventPlugin:zb});function Zd(a){var b="";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b} function $d(a,b){a=n({children:void 0},b);if(b=Zd(b.children))a.children=b;return a}function ae(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=""+uc(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}} function be(a,b){null!=b.dangerouslySetInnerHTML?x("91"):void 0;return n({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function ce(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?x("92"):void 0,Array.isArray(b)&&(1>=b.length?void 0:x("93"),b=b[0]),c=b),null==c&&(c=""));a._wrapperState={initialValue:uc(c)}} function de(a,b){var c=uc(b.value),d=uc(b.defaultValue);null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=""+d)}function ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var fe={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"}; function ge(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?ge(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a} var ie=void 0,je=function(a){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==fe.svg||"innerHTML"in a)a.innerHTML=b;else{ie=ie||document.createElement("div");ie.innerHTML="<svg>"+b+"</svg>";for(b=ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}); function ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b} var le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0, floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];Object.keys(le).forEach(function(a){me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);le[b]=le[a]})});function ne(a,b,c){return null==b||"boolean"===typeof b||""===b?"":c||"number"!==typeof b||0===b||le.hasOwnProperty(a)&&le[a]?(""+b).trim():b+"px"} function oe(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--"),e=ne(c,b[c],d);"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e}}var pe=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}); function qe(a,b){b&&(pe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?x("137",a,""):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?x("60"):void 0,"object"===typeof b.dangerouslySetInnerHTML&&"__html"in b.dangerouslySetInnerHTML?void 0:x("61")),null!=b.style&&"object"!==typeof b.style?x("62",""):void 0)} function re(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}} function se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Id(a);b=sa[b];for(var d=0;d<b.length;d++){var e=b[d];if(!c.hasOwnProperty(e)||!c[e]){switch(e){case "scroll":Ed("scroll",a);break;case "focus":case "blur":Ed("focus",a);Ed("blur",a);c.blur=!0;c.focus=!0;break;case "cancel":case "close":Ob(e)&&Ed(e,a);break;case "invalid":case "submit":case "reset":break;default:-1===ab.indexOf(e)&&E(e,a)}c[e]=!0}}}function te(){}var ue=null,ve=null; function we(a,b){switch(a){case "button":case "input":case "select":case "textarea":return!!b.autoFocus}return!1}function xe(a,b){return"textarea"===a||"option"===a||"noscript"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html} var ye="function"===typeof setTimeout?setTimeout:void 0,ze="function"===typeof clearTimeout?clearTimeout:void 0,Ae=r.unstable_scheduleCallback,Be=r.unstable_cancelCallback; function Ce(a,b,c,d,e){a[Ga]=e;"input"===c&&"radio"===e.type&&null!=e.name&&xc(a,e);re(c,d);d=re(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];"style"===g?oe(a,h):"dangerouslySetInnerHTML"===g?je(a,h):"children"===g?ke(a,h):tc(a,g,h,d)}switch(c){case "input":yc(a,e);break;case "textarea":de(a,e);break;case "select":b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?ae(a,!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?ae(a,!!e.multiple,e.defaultValue, !0):ae(a,!!e.multiple,e.multiple?[]:"",!1))}}function De(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}function Ee(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}new Set;var Fe=[],Ge=-1;function F(a){0>Ge||(a.current=Fe[Ge],Fe[Ge]=null,Ge--)}function G(a,b){Ge++;Fe[Ge]=a.current;a.current=b}var He={},H={current:He},I={current:!1},Ie=He; function Je(a,b){var c=a.type.contextTypes;if(!c)return He;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function J(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ke(a){F(I,a);F(H,a)}function Le(a){F(I,a);F(H,a)} function Me(a,b,c){H.current!==He?x("168"):void 0;G(H,b,a);G(I,c,a)}function Ne(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:x("108",ic(b)||"Unknown",e);return n({},c,d)}function Oe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||He;Ie=H.current;G(H,b,a);G(I,I.current,a);return!0} function Pe(a,b,c){var d=a.stateNode;d?void 0:x("169");c?(b=Ne(a,b,Ie),d.__reactInternalMemoizedMergedChildContext=b,F(I,a),F(H,a),G(H,b,a)):F(I,a);G(I,c,a)}var Qe=null,Re=null;function Se(a){return function(b){try{return a(b)}catch(c){}}} function Te(a){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Qe=Se(function(a){return b.onCommitFiberRoot(c,a)});Re=Se(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0} function Ue(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function K(a,b,c,d){return new Ue(a,b,c,d)} function Ve(a){a=a.prototype;return!(!a||!a.isReactComponent)}function We(a){if("function"===typeof a)return Ve(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===cc)return 11;if(a===ec)return 14}return 2} function Xe(a,b){var c=a.alternate;null===c?(c=K(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.contextDependencies=a.contextDependencies;c.sibling=a.sibling; c.index=a.index;c.ref=a.ref;return c} function Ye(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)Ve(a)&&(g=1);else if("string"===typeof a)g=5;else a:switch(a){case Xb:return Ze(c.children,e,f,b);case bc:return $e(c,e|3,f,b);case Yb:return $e(c,e|2,f,b);case Zb:return a=K(12,c,b,e|4),a.elementType=Zb,a.type=Zb,a.expirationTime=f,a;case dc:return a=K(13,c,b,e),a.elementType=dc,a.type=dc,a.expirationTime=f,a;default:if("object"===typeof a&&null!==a)switch(a.$$typeof){case $b:g=10;break a;case ac:g=9;break a;case cc:g=11;break a;case ec:g= 14;break a;case fc:g=16;d=null;break a}x("130",null==a?a:typeof a,"")}b=K(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Ze(a,b,c,d){a=K(7,a,d,b);a.expirationTime=c;return a}function $e(a,b,c,d){a=K(8,a,d,b);b=0===(b&1)?Yb:bc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function af(a,b,c){a=K(6,a,null,b);a.expirationTime=c;return a} function bf(a,b,c){b=K(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function cf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:c<b?a.earliestPendingTime=b:a.latestPendingTime>b&&(a.latestPendingTime=b);df(b,a)} function ef(a,b){a.didError=!1;if(0===b)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0;else{b<a.latestPingedTime&&(a.latestPingedTime=0);var c=a.latestPendingTime;0!==c&&(c>b?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>b&&(a.earliestPendingTime=a.latestPendingTime));c=a.earliestSuspendedTime;0===c?cf(a,b):b<a.latestSuspendedTime?(a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0,cf(a,b)): b>c&&cf(a,b)}df(0,a)}function ff(a,b){a.didError=!1;a.latestPingedTime>=b&&(a.latestPingedTime=0);var c=a.earliestPendingTime,d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:c<b?a.earliestSuspendedTime=b:d>b&&(a.latestSuspendedTime=b);df(b,a)} function gf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;c>b&&(b=c);a>b&&(b=a);return b}function df(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||d<a)&&(e=d);a=e;0!==a&&c>a&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}function L(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b} function hf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var jf=(new aa.Component).refs; function kf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)} var tf={isMounted:function(a){return(a=a._reactInternalFiber)?2===ed(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.tag=rf;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=lf();c=mf(c,a);var d=nf(c);d.tag= sf;void 0!==b&&null!==b&&(d.callback=b);of();pf(a,d);qf(a,c)}};function uf(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!dd(c,d)||!dd(e,f):!0} function vf(a,b,c){var d=!1,e=He;var f=b.contextType;"object"===typeof f&&null!==f?f=M(f):(e=J(b)?Ie:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Je(a,e):He);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=tf;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b} function wf(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&tf.enqueueReplaceState(b,b.state,null)} function xf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jf;var f=b.contextType;"object"===typeof f&&null!==f?e.context=M(f):(f=J(b)?Ie:H.current,e.context=Je(a,f));f=a.updateQueue;null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;"function"===typeof f&&(kf(a,b,f,c),e.state=a.memoizedState);"function"===typeof b.getDerivedStateFromProps||"function"===typeof e.getSnapshotBeforeUpdate||"function"!==typeof e.UNSAFE_componentWillMount&&"function"!== typeof e.componentWillMount||(b=e.state,"function"===typeof e.componentWillMount&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&tf.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState));"function"===typeof e.componentDidMount&&(a.effectTag|=4)}var zf=Array.isArray; function Af(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?x("309"):void 0,d=c.stateNode);d?void 0:x("147",a);var e=""+a;if(null!==b&&null!==b.ref&&"function"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===jf&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}"string"!==typeof a?x("284"):void 0;c._owner?void 0:x("290",a)}return a} function Bf(a,b){"textarea"!==a.type&&x("31","[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+"}":b,"")} function Cf(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Xe(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag= 2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=af(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b}function l(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props,d),d.ref=Af(a,b,c),d.return=a,d;d=Ye(c.type,c.key,c.props,null,a.mode,d);d.ref=Af(a,b,c);d.return=a;return d}function k(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!== c.implementation)return b=bf(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ze(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b}function p(a,b,c){if("string"===typeof b||"number"===typeof b)return b=af(""+b,a.mode,c),b.return=a,b;if("object"===typeof b&&null!==b){switch(b.$$typeof){case Vb:return c=Ye(b.type,b.key,b.props,null,a.mode,c),c.ref=Af(a,null,b),c.return=a,c;case Wb:return b=bf(b,a.mode,c),b.return=a,b}if(zf(b)|| hc(b))return b=Ze(b,a.mode,c,null),b.return=a,b;Bf(a,b)}return null}function t(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===typeof c&&null!==c){switch(c.$$typeof){case Vb:return c.key===e?c.type===Xb?m(a,b,c.props.children,d,e):l(a,b,c,d):null;case Wb:return c.key===e?k(a,b,c,d):null}if(zf(c)||hc(c))return null!==e?null:m(a,b,c,d,null);Bf(a,c)}return null}function A(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a= a.get(c)||null,h(b,a,""+d,e);if("object"===typeof d&&null!==d){switch(d.$$typeof){case Vb:return a=a.get(null===d.key?c:d.key)||null,d.type===Xb?m(b,a,d.props.children,e,d.key):l(b,a,d,e);case Wb:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e)}if(zf(d)||hc(d))return a=a.get(c)||null,m(b,a,d,e,null);Bf(b,d)}return null}function v(e,g,h,k){for(var l=null,m=null,q=g,u=g=0,B=null;null!==q&&u<h.length;u++){q.index>u?(B=q,q=null):B=q.sibling;var w=t(e,q,h[u],k);if(null===w){null===q&&(q=B);break}a&& q&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=B}if(u===h.length)return c(e,q),l;if(null===q){for(;u<h.length;u++)if(q=p(e,h[u],k))g=f(q,g,u),null===m?l=q:m.sibling=q,m=q;return l}for(q=d(e,q);u<h.length;u++)if(B=A(q,e,u,h[u],k))a&&null!==B.alternate&&q.delete(null===B.key?u:B.key),g=f(B,g,u),null===m?l=B:m.sibling=B,m=B;a&&q.forEach(function(a){return b(e,a)});return l}function R(e,g,h,k){var l=hc(h);"function"!==typeof l?x("150"):void 0;h=l.call(h);null==h?x("151"):void 0; for(var m=l=null,q=g,u=g=0,B=null,w=h.next();null!==q&&!w.done;u++,w=h.next()){q.index>u?(B=q,q=null):B=q.sibling;var v=t(e,q,w.value,k);if(null===v){q||(q=B);break}a&&q&&null===v.alternate&&b(e,q);g=f(v,g,u);null===m?l=v:m.sibling=v;m=v;q=B}if(w.done)return c(e,q),l;if(null===q){for(;!w.done;u++,w=h.next())w=p(e,w.value,k),null!==w&&(g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);return l}for(q=d(e,q);!w.done;u++,w=h.next())w=A(q,e,u,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?u: w.key),g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k="object"===typeof f&&null!==f&&f.type===Xb&&null===f.key;k&&(f=f.props.children);var l="object"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Vb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Xb:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Xb?f.props.children:f.props,h);d.ref=Af(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k= k.sibling}f.type===Xb?(d=Ze(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ye(f.type,f.key,f.props,null,a.mode,h),h.ref=Af(a,d,f),h.return=a,a=h)}return g(a);case Wb:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=bf(f,a.mode,h);d.return=a;a=d}return g(a)}if("string"===typeof f||"number"===typeof f)return f= ""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=af(f,a.mode,h),d.return=a,a=d),g(a);if(zf(f))return v(a,d,f,h);if(hc(f))return R(a,d,f,h);l&&Bf(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,x("152",h.displayName||h.name||"Component")}return c(a,d)}}var Df=Cf(!0),Ef=Cf(!1),Ff={},N={current:Ff},Gf={current:Ff},Hf={current:Ff};function If(a){a===Ff?x("174"):void 0;return a} function Jf(a,b){G(Hf,b,a);G(Gf,a,a);G(N,Ff,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:he(null,"");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=he(b,c)}F(N,a);G(N,b,a)}function Kf(a){F(N,a);F(Gf,a);F(Hf,a)}function Lf(a){If(Hf.current);var b=If(N.current);var c=he(b,a.type);b!==c&&(G(Gf,a,a),G(N,c,a))}function Mf(a){Gf.current===a&&(F(N,a),F(Gf,a))} var Nf=0,Of=2,Pf=4,Qf=8,Rf=16,Sf=32,Tf=64,Uf=128,Vf=Tb.ReactCurrentDispatcher,Wf=0,Xf=null,O=null,P=null,Yf=null,Q=null,Zf=null,$f=0,ag=null,bg=0,cg=!1,dg=null,eg=0;function fg(){x("321")}function gg(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!bd(a[c],b[c]))return!1;return!0} function hg(a,b,c,d,e,f){Wf=f;Xf=b;P=null!==a?a.memoizedState:null;Vf.current=null===P?ig:jg;b=c(d,e);if(cg){do cg=!1,eg+=1,P=null!==a?a.memoizedState:null,Zf=Yf,ag=Q=O=null,Vf.current=jg,b=c(d,e);while(cg);dg=null;eg=0}Vf.current=kg;a=Xf;a.memoizedState=Yf;a.expirationTime=$f;a.updateQueue=ag;a.effectTag|=bg;a=null!==O&&null!==O.next;Wf=0;Zf=Q=Yf=P=O=Xf=null;$f=0;ag=null;bg=0;a?x("300"):void 0;return b}function lg(){Vf.current=kg;Wf=0;Zf=Q=Yf=P=O=Xf=null;$f=0;ag=null;bg=0;cg=!1;dg=null;eg=0} function mg(){var a={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};null===Q?Yf=Q=a:Q=Q.next=a;return Q}function ng(){if(null!==Zf)Q=Zf,Zf=Q.next,O=P,P=null!==O?O.next:null;else{null===P?x("310"):void 0;O=P;var a={memoizedState:O.memoizedState,baseState:O.baseState,queue:O.queue,baseUpdate:O.baseUpdate,next:null};Q=null===Q?Yf=a:Q.next=a;P=O.next}return Q}function og(a,b){return"function"===typeof b?b(a):b} function pg(a){var b=ng(),c=b.queue;null===c?x("311"):void 0;c.lastRenderedReducer=a;if(0<eg){var d=c.dispatch;if(null!==dg){var e=dg.get(c);if(void 0!==e){dg.delete(c);var f=b.memoizedState;do f=a(f,e.action),e=e.next;while(null!==e);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate===c.last&&(b.baseState=f);c.lastRenderedState=f;return[f,d]}}return[b.memoizedState,d]}d=c.last;var g=b.baseUpdate;f=b.baseState;null!==g?(null!==d&&(d.next=null),d=g.next):d=null!==d?d.next:null;if(null!== d){var h=e=null,l=d,k=!1;do{var m=l.expirationTime;m<Wf?(k||(k=!0,h=g,e=f),m>$f&&($f=m)):f=l.eagerReducer===a?l.eagerState:a(f,l.action);g=l;l=l.next}while(null!==l&&l!==d);k||(h=g,e=f);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]} function rg(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ag?(ag={lastEffect:null},ag.lastEffect=a.next=a):(b=ag.lastEffect,null===b?ag.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ag.lastEffect=a));return a}function sg(a,b,c,d){var e=mg();bg|=a;e.memoizedState=rg(b,c,void 0,void 0===d?null:d)} function tg(a,b,c,d){var e=ng();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&gg(d,g.deps)){rg(Nf,c,f,d);return}}bg|=a;e.memoizedState=rg(b,c,f,d)}function ug(a,b){if("function"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function vg(){} function wg(a,b,c){25>eg?void 0:x("301");var d=a.alternate;if(a===Xf||null!==d&&d===Xf)if(cg=!0,a={expirationTime:Wf,action:c,eagerReducer:null,eagerState:null,next:null},null===dg&&(dg=new Map),c=dg.get(b),void 0===c)dg.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{of();var e=lf();e=mf(e,a);var f={expirationTime:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null=== d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var l=b.lastRenderedState,k=d(l,c);f.eagerReducer=d;f.eagerState=k;if(bd(k,l))return}catch(m){}finally{}qf(a,e)}} var kg={readContext:M,useCallback:fg,useContext:fg,useEffect:fg,useImperativeHandle:fg,useLayoutEffect:fg,useMemo:fg,useReducer:fg,useRef:fg,useState:fg,useDebugValue:fg},ig={readContext:M,useCallback:function(a,b){mg().memoizedState=[a,void 0===b?null:b];return a},useContext:M,useEffect:function(a,b){return sg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return sg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return sg(4,Pf|Sf,a,b)}, useMemo:function(a,b){var c=mg();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=mg();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=wg.bind(null,Xf,a);return[d.memoizedState,a]},useRef:function(a){var b=mg();a={current:a};return b.memoizedState=a},useState:function(a){var b=mg();"function"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null, lastRenderedReducer:og,lastRenderedState:a};a=a.dispatch=wg.bind(null,Xf,a);return[b.memoizedState,a]},useDebugValue:vg},jg={readContext:M,useCallback:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:M,useEffect:function(a,b){return tg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return tg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a, b){return tg(4,Pf|Sf,a,b)},useMemo:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:pg,useRef:function(){return ng().memoizedState},useState:function(a){return pg(og,a)},useDebugValue:vg},xg=null,yg=null,zg=!1; function Ag(a,b){var c=K(5,null,null,0);c.elementType="DELETED";c.type="DELETED";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Bg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}} function Cg(a){if(zg){var b=yg;if(b){var c=b;if(!Bg(a,b)){b=De(c);if(!b||!Bg(a,b)){a.effectTag|=2;zg=!1;xg=a;return}Ag(xg,c)}xg=a;yg=Ee(b)}else a.effectTag|=2,zg=!1,xg=a}}function Dg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;xg=a}function Eg(a){if(a!==xg)return!1;if(!zg)return Dg(a),zg=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!xe(b,a.memoizedProps))for(b=yg;b;)Ag(a,b),b=De(b);Dg(a);yg=xg?De(a.stateNode):null;return!0}function Fg(){yg=xg=null;zg=!1} var Gg=Tb.ReactCurrentOwner,qg=!1;function S(a,b,c,d){b.child=null===a?Ef(b,null,c,d):Df(b,a.child,c,d)}function Hg(a,b,c,d,e){c=c.render;var f=b.ref;Ig(b,e);d=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child} function Kg(a,b,c,d,e,f){if(null===a){var g=c.type;if("function"===typeof g&&!Ve(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Lg(a,b,g,d,e,f);a=Ye(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:dd,c(e,d)&&a.ref===b.ref))return Jg(a,b,f);b.effectTag|=1;a=Xe(g,d,f);a.ref=b.ref;a.return=b;return b.child=a} function Lg(a,b,c,d,e,f){return null!==a&&dd(a.memoizedProps,d)&&a.ref===b.ref&&(qg=!1,e<f)?Jg(a,b,f):Mg(a,b,c,d,f)}function Ng(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function Mg(a,b,c,d,e){var f=J(c)?Ie:H.current;f=Je(b,f);Ig(b,e);c=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,c,e);return b.child} function Og(a,b,c,d,e){if(J(c)){var f=!0;Oe(b)}else f=!1;Ig(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),vf(b,c,d,e),xf(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var l=g.context,k=c.contextType;"object"===typeof k&&null!==k?k=M(k):(k=J(c)?Ie:H.current,k=Je(b,k));var m=c.getDerivedStateFromProps,p="function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate;p||"function"!==typeof g.UNSAFE_componentWillReceiveProps&& "function"!==typeof g.componentWillReceiveProps||(h!==d||l!==k)&&wf(b,g,d,k);Pg=!1;var t=b.memoizedState;l=g.state=t;var A=b.updateQueue;null!==A&&(yf(b,A,d,g,e),l=b.memoizedState);h!==d||t!==l||I.current||Pg?("function"===typeof m&&(kf(b,c,m,d),l=b.memoizedState),(h=Pg||uf(b,c,h,d,t,l,k))?(p||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount||("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&& g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.effectTag|=4)):("function"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=l),g.props=d,g.state=l,g.context=k,d=h):("function"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,h=b.memoizedProps,g.props=b.type===b.elementType?h:L(b.type,h),l=g.context,k=c.contextType,"object"===typeof k&&null!==k?k=M(k):(k=J(c)?Ie:H.current,k=Je(b,k)),m=c.getDerivedStateFromProps,(p="function"=== typeof m||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||l!==k)&&wf(b,g,d,k),Pg=!1,l=b.memoizedState,t=g.state=l,A=b.updateQueue,null!==A&&(yf(b,A,d,g,e),t=b.memoizedState),h!==d||l!==t||I.current||Pg?("function"===typeof m&&(kf(b,c,m,d),t=b.memoizedState),(m=Pg||uf(b,c,h,d,l,t,k))?(p||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"=== typeof g.componentWillUpdate&&g.componentWillUpdate(d,t,k),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,t,k)),"function"===typeof g.componentDidUpdate&&(b.effectTag|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&l===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&l===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState= t),g.props=d,g.state=t,g.context=k,d=m):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&l===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&l===a.memoizedState||(b.effectTag|=256),d=!1);return Qg(a,b,c,d,f,e)} function Qg(a,b,c,d,e,f){Ng(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Pe(b,c,!1),Jg(a,b,f);d=b.stateNode;Gg.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Df(b,a.child,null,f),b.child=Df(b,null,h,f)):S(a,b,h,f);b.memoizedState=d.state;e&&Pe(b,c,!0);return b.child}function Rg(a){var b=a.stateNode;b.pendingContext?Me(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Me(a,b.context,!1);Jf(a,b.containerInfo)} function Sg(a,b,c){var d=b.mode,e=b.pendingProps,f=b.memoizedState;if(0===(b.effectTag&64)){f=null;var g=!1}else f={timedOutAt:null!==f?f.timedOutAt:0},g=!0,b.effectTag&=-65;if(null===a)if(g){var h=e.fallback;a=Ze(null,d,0,null);0===(b.mode&1)&&(a.child=null!==b.memoizedState?b.child.child:b.child);d=Ze(h,d,c,null);a.sibling=d;c=a;c.return=d.return=b}else c=d=Ef(b,null,e.children,c);else null!==a.memoizedState?(d=a.child,h=d.sibling,g?(c=e.fallback,e=Xe(d,d.pendingProps,0),0===(b.mode&1)&&(g=null!== b.memoizedState?b.child.child:b.child,g!==d.child&&(e.child=g)),d=e.sibling=Xe(h,c,h.expirationTime),c=e,e.childExpirationTime=0,c.return=d.return=b):c=d=Df(b,d.child,e.children,c)):(h=a.child,g?(g=e.fallback,e=Ze(null,d,0,null),e.child=h,0===(b.mode&1)&&(e.child=null!==b.memoizedState?b.child.child:b.child),d=e.sibling=Ze(g,d,c,null),d.effectTag|=2,c=e,e.childExpirationTime=0,c.return=d.return=b):d=c=Df(b,h,e.children,c)),b.stateNode=a.stateNode;b.memoizedState=f;b.child=c;return d} function Jg(a,b,c){null!==a&&(b.contextDependencies=a.contextDependencies);if(b.childExpirationTime<c)return null;null!==a&&b.child!==a.child?x("153"):void 0;if(null!==b.child){a=b.child;c=Xe(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Xe(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child} function Tg(a,b,c){var d=b.expirationTime;if(null!==a)if(a.memoizedProps!==b.pendingProps||I.current)qg=!0;else{if(d<c){qg=!1;switch(b.tag){case 3:Rg(b);Fg();break;case 5:Lf(b);break;case 1:J(b.type)&&Oe(b);break;case 4:Jf(b,b.stateNode.containerInfo);break;case 10:Ug(b,b.memoizedProps.value);break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;if(0!==d&&d>=c)return Sg(a,b,c);b=Jg(a,b,c);return null!==b?b.sibling:null}}return Jg(a,b,c)}}else qg=!1;b.expirationTime=0;switch(b.tag){case 2:d= b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=Je(b,H.current);Ig(b,c);e=hg(null,b,d,a,e,c);b.effectTag|=1;if("object"===typeof e&&null!==e&&"function"===typeof e.render&&void 0===e.$$typeof){b.tag=1;lg();if(J(d)){var f=!0;Oe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;"function"===typeof g&&kf(b,d,g,a);e.updater=tf;b.stateNode=e;e._reactInternalFiber=b;xf(b,d,a,c);b=Qg(null,b,d,!0,f, c)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=hf(e);b.type=a;e=b.tag=We(a);f=L(a,f);g=void 0;switch(e){case 0:g=Mg(null,b,a,f,c);break;case 1:g=Og(null,b,a,f,c);break;case 11:g=Hg(null,b,a,f,c);break;case 14:g=Kg(null,b,a,L(a.type,f),d,c);break;default:x("306",a,"")}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Mg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps, e=b.elementType===d?e:L(d,e),Og(a,b,d,e,c);case 3:Rg(b);d=b.updateQueue;null===d?x("282"):void 0;e=b.memoizedState;e=null!==e?e.element:null;yf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Fg(),b=Jg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)yg=Ee(b.stateNode.containerInfo),xg=b,e=zg=!0;e?(b.effectTag|=2,b.child=Ef(b,null,d,c)):(S(a,b,d,c),Fg());b=b.child}return b;case 5:return Lf(b),null===a&&Cg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null, g=e.children,xe(d,e)?g=null:null!==f&&xe(d,f)&&(b.effectTag|=16),Ng(a,b),1!==c&&b.mode&1&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(S(a,b,g,c),b=b.child),b;case 6:return null===a&&Cg(b),null;case 13:return Sg(a,b,c);case 4:return Jf(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Df(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Hg(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children, c),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=bd(h,f)?0:("function"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!I.current){b=Jg(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var l=h.contextDependencies;if(null!==l){g=h.child;for(var k=l.first;null!==k;){if(k.context===d&&0!== (k.observedBits&f)){1===h.tag&&(k=nf(c),k.tag=sf,pf(h,k));h.expirationTime<c&&(h.expirationTime=c);k=h.alternate;null!==k&&k.expirationTime<c&&(k.expirationTime=c);k=c;for(var m=h.return;null!==m;){var p=m.alternate;if(m.childExpirationTime<k)m.childExpirationTime=k,null!==p&&p.childExpirationTime<k&&(p.childExpirationTime=k);else if(null!==p&&p.childExpirationTime<k)p.childExpirationTime=k;else break;m=m.return}l.expirationTime<c&&(l.expirationTime=c);break}k=k.next}}else g=10===h.tag?h.type===b.type? null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}}S(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,Ig(b,c),e=M(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,S(a,b,d,c),b.child;case 14:return e=b.type,f=L(e,b.pendingProps),f=L(e.type,f),Kg(a,b,e,f,d,c);case 15:return Lg(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType=== d?e:L(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,J(d)?(a=!0,Oe(b)):a=!1,Ig(b,c),vf(b,d,e,c),xf(b,d,e,c),Qg(null,b,d,!0,a,c)}x("156")}var Vg={current:null},Wg=null,Xg=null,Yg=null;function Ug(a,b){var c=a.type._context;G(Vg,c._currentValue,a);c._currentValue=b}function Zg(a){var b=Vg.current;F(Vg,a);a.type._context._currentValue=b}function Ig(a,b){Wg=a;Yg=Xg=null;var c=a.contextDependencies;null!==c&&c.expirationTime>=b&&(qg=!0);a.contextDependencies=null} function M(a,b){if(Yg!==a&&!1!==b&&0!==b){if("number"!==typeof b||1073741823===b)Yg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===Xg?(null===Wg?x("308"):void 0,Xg=b,Wg.contextDependencies={first:b,expirationTime:0}):Xg=Xg.next=b}return a._currentValue}var $g=0,rf=1,sf=2,ah=3,Pg=!1;function bh(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}} function ch(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nf(a){return{expirationTime:a,tag:$g,payload:null,callback:null,next:null,nextEffect:null}}function dh(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)} function pf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=bh(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=bh(a.memoizedState),e=c.updateQueue=bh(c.memoizedState)):d=a.updateQueue=ch(e):null===e&&(e=c.updateQueue=ch(d));null===e||d===e?dh(d,b):null===d.lastUpdate||null===e.lastUpdate?(dh(d,b),dh(e,b)):(dh(d,b),e.lastUpdate=b)} function eh(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=bh(a.memoizedState):fh(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function fh(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ch(b));return b} function gh(a,b,c,d,e,f){switch(c.tag){case rf:return a=c.payload,"function"===typeof a?a.call(f,d,e):a;case ah:a.effectTag=a.effectTag&-2049|64;case $g:a=c.payload;e="function"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case sf:Pg=!0}return d} function yf(a,b,c,d,e){Pg=!1;b=fh(a,b);for(var f=b.baseState,g=null,h=0,l=b.firstUpdate,k=f;null!==l;){var m=l.expirationTime;m<e?(null===g&&(g=l,f=k),h<m&&(h=m)):(k=gh(a,b,l,k,c,d),null!==l.callback&&(a.effectTag|=32,l.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=l:(b.lastEffect.nextEffect=l,b.lastEffect=l)));l=l.next}m=null;for(l=b.firstCapturedUpdate;null!==l;){var p=l.expirationTime;p<e?(null===m&&(m=l,null===g&&(f=k)),h<p&&(h=p)):(k=gh(a,b,l,k,c,d),null!==l.callback&&(a.effectTag|= 32,l.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=l:(b.lastCapturedEffect.nextEffect=l,b.lastCapturedEffect=l)));l=l.next}null===g&&(b.lastUpdate=null);null===m?b.lastCapturedUpdate=null:a.effectTag|=32;null===g&&null===m&&(f=k);b.baseState=f;b.firstUpdate=g;b.firstCapturedUpdate=m;a.expirationTime=h;a.memoizedState=k} function hh(a,b,c){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);ih(b.firstEffect,c);b.firstEffect=b.lastEffect=null;ih(b.firstCapturedEffect,c);b.firstCapturedEffect=b.lastCapturedEffect=null}function ih(a,b){for(;null!==a;){var c=a.callback;if(null!==c){a.callback=null;var d=b;"function"!==typeof c?x("191",c):void 0;c.call(d)}a=a.nextEffect}} function jh(a,b){return{value:a,source:b,stack:jc(b)}}function kh(a){a.effectTag|=4}var lh=void 0,mh=void 0,nh=void 0,oh=void 0;lh=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};mh=function(){}; nh=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;If(N.current);a=null;switch(c){case "input":f=vc(g,f);d=vc(g,d);a=[];break;case "option":f=$d(g,f);d=$d(g,d);a=[];break;case "select":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case "textarea":f=be(g,f);d=be(g,d);a=[];break;default:"function"!==typeof f.onClick&&"function"===typeof d.onClick&&(g.onclick=te)}qe(c,d);g=c=void 0;var h=null;for(c in f)if(!d.hasOwnProperty(c)&&f.hasOwnProperty(c)&&null!=f[c])if("style"=== c){var l=f[c];for(g in l)l.hasOwnProperty(g)&&(h||(h={}),h[g]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(ra.hasOwnProperty(c)?a||(a=[]):(a=a||[]).push(c,null));for(c in d){var k=d[c];l=null!=f?f[c]:void 0;if(d.hasOwnProperty(c)&&k!==l&&(null!=k||null!=l))if("style"===c)if(l){for(g in l)!l.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(h||(h={}),h[g]="");for(g in k)k.hasOwnProperty(g)&&l[g]!==k[g]&&(h|| (h={}),h[g]=k[g])}else h||(a||(a=[]),a.push(c,h)),h=k;else"dangerouslySetInnerHTML"===c?(k=k?k.__html:void 0,l=l?l.__html:void 0,null!=k&&l!==k&&(a=a||[]).push(c,""+k)):"children"===c?l===k||"string"!==typeof k&&"number"!==typeof k||(a=a||[]).push(c,""+k):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(ra.hasOwnProperty(c)?(null!=k&&se(e,c),a||l===k||(a=[])):(a=a||[]).push(c,k))}h&&(a=a||[]).push("style",h);e=a;(b.updateQueue=e)&&kh(b)}};oh=function(a,b,c,d){c!==d&&kh(b)}; var ph="function"===typeof WeakSet?WeakSet:Set;function qh(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=jc(c));null!==c&&ic(c.type);b=b.value;null!==a&&1===a.tag&&ic(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function rh(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null)}catch(c){sh(a,c)}else b.current=null} function th(a,b,c){c=c.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do{if((d.tag&a)!==Nf){var e=d.destroy;d.destroy=void 0;void 0!==e&&e()}(d.tag&b)!==Nf&&(e=d.create,d.destroy=e());d=d.next}while(d!==c)}} function uh(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d.style.display="none";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty("display")?e.display:null;d.style.display=ne("display",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?"":c.memoizedProps;else if(13===c.tag&&null!==c.memoizedState){d=c.child.sibling;d.return=c;c=d;continue}else if(null!==c.child){c.child.return=c;c=c.child;continue}if(c===a)break;for(;null===c.sibling;){if(null===c.return|| c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}} function vh(a){"function"===typeof Re&&Re(a);switch(a.tag){case 0:case 11:case 14:case 15:var b=a.updateQueue;if(null!==b&&(b=b.lastEffect,null!==b)){var c=b=b.next;do{var d=c.destroy;if(void 0!==d){var e=a;try{d()}catch(f){sh(e,f)}}c=c.next}while(c!==b)}break;case 1:rh(a);b=a.stateNode;if("function"===typeof b.componentWillUnmount)try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(f){sh(a,f)}break;case 5:rh(a);break;case 4:wh(a)}} function xh(a){return 5===a.tag||3===a.tag||4===a.tag} function yh(a){a:{for(var b=a.return;null!==b;){if(xh(b)){var c=b;break a}b=b.return}x("160");c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:x("161")}c.effectTag&16&&(ke(b,""),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||xh(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag& 2)continue b;if(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)if(c)if(d){var f=b,g=e.stateNode,h=c;8===f.nodeType?f.parentNode.insertBefore(g,h):f.insertBefore(g,h)}else b.insertBefore(e.stateNode,c);else d?(g=b,h=e.stateNode,8===g.nodeType?(f=g.parentNode,f.insertBefore(h,g)):(f=g,f.appendChild(h)),g=g._reactRootContainer,null!==g&&void 0!==g||null!==f.onclick||(f.onclick=te)):b.appendChild(e.stateNode); else if(4!==e.tag&&null!==e.child){e.child.return=e;e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return;e=e.sibling}} function wh(a){for(var b=a,c=!1,d=void 0,e=void 0;;){if(!c){c=b.return;a:for(;;){null===c?x("160"):void 0;switch(c.tag){case 5:d=c.stateNode;e=!1;break a;case 3:d=c.stateNode.containerInfo;e=!0;break a;case 4:d=c.stateNode.containerInfo;e=!0;break a}c=c.return}c=!0}if(5===b.tag||6===b.tag){a:for(var f=b,g=f;;)if(vh(g),null!==g.child&&4!==g.tag)g.child.return=g,g=g.child;else{if(g===f)break;for(;null===g.sibling;){if(null===g.return||g.return===f)break a;g=g.return}g.sibling.return=g.return;g=g.sibling}e? (f=d,g=b.stateNode,8===f.nodeType?f.parentNode.removeChild(g):f.removeChild(g)):d.removeChild(b.stateNode)}else if(4===b.tag){if(null!==b.child){d=b.stateNode.containerInfo;e=!0;b.child.return=b;b=b.child;continue}}else if(vh(b),null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return;b=b.return;4===b.tag&&(c=!1)}b.sibling.return=b.return;b=b.sibling}} function zh(a,b){switch(b.tag){case 0:case 11:case 14:case 15:th(Pf,Qf,b);break;case 1:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&Ce(c,f,e,a,d,b)}break;case 6:null===b.stateNode?x("162"):void 0;b.stateNode.nodeValue=b.memoizedProps;break;case 3:break;case 12:break;case 13:c=b.memoizedState;d=void 0;a=b;null===c?d=!1:(d=!0,a=b.child,0===c.timedOutAt&&(c.timedOutAt=lf()));null!==a&&uh(a,d);c= b.updateQueue;if(null!==c){b.updateQueue=null;var g=b.stateNode;null===g&&(g=b.stateNode=new ph);c.forEach(function(a){var c=Ah.bind(null,b,a);g.has(a)||(g.add(a),a.then(c,c))})}break;case 17:break;default:x("163")}}var Bh="function"===typeof WeakMap?WeakMap:Map;function Ch(a,b,c){c=nf(c);c.tag=ah;c.payload={element:null};var d=b.value;c.callback=function(){Dh(d);qh(a,b)};return c} function Eh(a,b,c){c=nf(c);c.tag=ah;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){return d(e)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){"function"!==typeof d&&(null===Fh?Fh=new Set([this]):Fh.add(this));var c=b.value,e=b.stack;qh(a,b);this.componentDidCatch(c,{componentStack:null!==e?e:""})});return c} function Gh(a){switch(a.tag){case 1:J(a.type)&&Ke(a);var b=a.effectTag;return b&2048?(a.effectTag=b&-2049|64,a):null;case 3:return Kf(a),Le(a),b=a.effectTag,0!==(b&64)?x("285"):void 0,a.effectTag=b&-2049|64,a;case 5:return Mf(a),null;case 13:return b=a.effectTag,b&2048?(a.effectTag=b&-2049|64,a):null;case 18:return null;case 4:return Kf(a),null;case 10:return Zg(a),null;default:return null}} var Hh=Tb.ReactCurrentDispatcher,Ih=Tb.ReactCurrentOwner,Jh=1073741822,Kh=!1,T=null,Lh=null,U=0,Mh=-1,Nh=!1,V=null,Oh=!1,Ph=null,Qh=null,Rh=null,Fh=null;function Sh(){if(null!==T)for(var a=T.return;null!==a;){var b=a;switch(b.tag){case 1:var c=b.type.childContextTypes;null!==c&&void 0!==c&&Ke(b);break;case 3:Kf(b);Le(b);break;case 5:Mf(b);break;case 4:Kf(b);break;case 10:Zg(b)}a=a.return}Lh=null;U=0;Mh=-1;Nh=!1;T=null} function Th(){for(;null!==V;){var a=V.effectTag;a&16&&ke(V.stateNode,"");if(a&128){var b=V.alternate;null!==b&&(b=b.ref,null!==b&&("function"===typeof b?b(null):b.current=null))}switch(a&14){case 2:yh(V);V.effectTag&=-3;break;case 6:yh(V);V.effectTag&=-3;zh(V.alternate,V);break;case 4:zh(V.alternate,V);break;case 8:a=V,wh(a),a.return=null,a.child=null,a.memoizedState=null,a.updateQueue=null,a=a.alternate,null!==a&&(a.return=null,a.child=null,a.memoizedState=null,a.updateQueue=null)}V=V.nextEffect}} function Uh(){for(;null!==V;){if(V.effectTag&256)a:{var a=V.alternate,b=V;switch(b.tag){case 0:case 11:case 15:th(Of,Nf,b);break a;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:L(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}break a;case 3:case 5:case 6:case 4:case 17:break a;default:x("163")}}V=V.nextEffect}} function Vh(a,b){for(;null!==V;){var c=V.effectTag;if(c&36){var d=V.alternate,e=V,f=b;switch(e.tag){case 0:case 11:case 15:th(Rf,Sf,e);break;case 1:var g=e.stateNode;if(e.effectTag&4)if(null===d)g.componentDidMount();else{var h=e.elementType===e.type?d.memoizedProps:L(e.type,d.memoizedProps);g.componentDidUpdate(h,d.memoizedState,g.__reactInternalSnapshotBeforeUpdate)}d=e.updateQueue;null!==d&&hh(e,d,g,f);break;case 3:d=e.updateQueue;if(null!==d){g=null;if(null!==e.child)switch(e.child.tag){case 5:g= e.child.stateNode;break;case 1:g=e.child.stateNode}hh(e,d,g,f)}break;case 5:f=e.stateNode;null===d&&e.effectTag&4&&we(e.type,e.memoizedProps)&&f.focus();break;case 6:break;case 4:break;case 12:break;case 13:break;case 17:break;default:x("163")}}c&128&&(e=V.ref,null!==e&&(f=V.stateNode,"function"===typeof e?e(f):e.current=f));c&512&&(Ph=a);V=V.nextEffect}} function Wh(a,b){Rh=Qh=Ph=null;var c=W;W=!0;do{if(b.effectTag&512){var d=!1,e=void 0;try{var f=b;th(Uf,Nf,f);th(Nf,Tf,f)}catch(g){d=!0,e=g}d&&sh(b,e)}b=b.nextEffect}while(null!==b);W=c;c=a.expirationTime;0!==c&&Xh(a,c);X||W||Yh(1073741823,!1)}function of(){null!==Qh&&Be(Qh);null!==Rh&&Rh()} function Zh(a,b){Oh=Kh=!0;a.current===b?x("177"):void 0;var c=a.pendingCommitExpirationTime;0===c?x("261"):void 0;a.pendingCommitExpirationTime=0;var d=b.expirationTime,e=b.childExpirationTime;ef(a,e>d?e:d);Ih.current=null;d=void 0;1<b.effectTag?null!==b.lastEffect?(b.lastEffect.nextEffect=b,d=b.firstEffect):d=b:d=b.firstEffect;ue=Bd;ve=Pd();Bd=!1;for(V=d;null!==V;){e=!1;var f=void 0;try{Uh()}catch(h){e=!0,f=h}e&&(null===V?x("178"):void 0,sh(V,f),null!==V&&(V=V.nextEffect))}for(V=d;null!==V;){e=!1; f=void 0;try{Th()}catch(h){e=!0,f=h}e&&(null===V?x("178"):void 0,sh(V,f),null!==V&&(V=V.nextEffect))}Qd(ve);ve=null;Bd=!!ue;ue=null;a.current=b;for(V=d;null!==V;){e=!1;f=void 0;try{Vh(a,c)}catch(h){e=!0,f=h}e&&(null===V?x("178"):void 0,sh(V,f),null!==V&&(V=V.nextEffect))}if(null!==d&&null!==Ph){var g=Wh.bind(null,a,d);Qh=r.unstable_runWithPriority(r.unstable_NormalPriority,function(){return Ae(g)});Rh=g}Kh=Oh=!1;"function"===typeof Qe&&Qe(b.stateNode);c=b.expirationTime;b=b.childExpirationTime;b= b>c?b:c;0===b&&(Fh=null);$h(a,b)} function ai(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&1024)){T=a;a:{var e=b;b=a;var f=U;var g=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:J(b.type)&&Ke(b);break;case 3:Kf(b);Le(b);g=b.stateNode;g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null);if(null===e||null===e.child)Eg(b),b.effectTag&=-3;mh(b);break;case 5:Mf(b);var h=If(Hf.current);f=b.type;if(null!==e&&null!=b.stateNode)nh(e,b,f,g,h),e.ref!==b.ref&&(b.effectTag|= 128);else if(g){var l=If(N.current);if(Eg(b)){g=b;e=g.stateNode;var k=g.type,m=g.memoizedProps,p=h;e[Fa]=g;e[Ga]=m;f=void 0;h=k;switch(h){case "iframe":case "object":E("load",e);break;case "video":case "audio":for(k=0;k<ab.length;k++)E(ab[k],e);break;case "source":E("error",e);break;case "img":case "image":case "link":E("error",e);E("load",e);break;case "form":E("reset",e);E("submit",e);break;case "details":E("toggle",e);break;case "input":wc(e,m);E("invalid",e);se(p,"onChange");break;case "select":e._wrapperState= {wasMultiple:!!m.multiple};E("invalid",e);se(p,"onChange");break;case "textarea":ce(e,m),E("invalid",e),se(p,"onChange")}qe(h,m);k=null;for(f in m)m.hasOwnProperty(f)&&(l=m[f],"children"===f?"string"===typeof l?e.textContent!==l&&(k=["children",l]):"number"===typeof l&&e.textContent!==""+l&&(k=["children",""+l]):ra.hasOwnProperty(f)&&null!=l&&se(p,f));switch(h){case "input":Rb(e);Ac(e,m,!0);break;case "textarea":Rb(e);ee(e,m);break;case "select":case "option":break;default:"function"===typeof m.onClick&& (e.onclick=te)}f=k;g.updateQueue=f;g=null!==f?!0:!1;g&&kh(b)}else{m=b;p=f;e=g;k=9===h.nodeType?h:h.ownerDocument;l===fe.html&&(l=ge(p));l===fe.html?"script"===p?(e=k.createElement("div"),e.innerHTML="<script>\x3c/script>",k=e.removeChild(e.firstChild)):"string"===typeof e.is?k=k.createElement(p,{is:e.is}):(k=k.createElement(p),"select"===p&&(p=k,e.multiple?p.multiple=!0:e.size&&(p.size=e.size))):k=k.createElementNS(l,p);e=k;e[Fa]=m;e[Ga]=g;lh(e,b,!1,!1);p=e;k=f;m=g;var t=h,A=re(k,m);switch(k){case "iframe":case "object":E("load", p);h=m;break;case "video":case "audio":for(h=0;h<ab.length;h++)E(ab[h],p);h=m;break;case "source":E("error",p);h=m;break;case "img":case "image":case "link":E("error",p);E("load",p);h=m;break;case "form":E("reset",p);E("submit",p);h=m;break;case "details":E("toggle",p);h=m;break;case "input":wc(p,m);h=vc(p,m);E("invalid",p);se(t,"onChange");break;case "option":h=$d(p,m);break;case "select":p._wrapperState={wasMultiple:!!m.multiple};h=n({},m,{value:void 0});E("invalid",p);se(t,"onChange");break;case "textarea":ce(p, m);h=be(p,m);E("invalid",p);se(t,"onChange");break;default:h=m}qe(k,h);l=void 0;var v=k,R=p,u=h;for(l in u)if(u.hasOwnProperty(l)){var q=u[l];"style"===l?oe(R,q):"dangerouslySetInnerHTML"===l?(q=q?q.__html:void 0,null!=q&&je(R,q)):"children"===l?"string"===typeof q?("textarea"!==v||""!==q)&&ke(R,q):"number"===typeof q&&ke(R,""+q):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(ra.hasOwnProperty(l)?null!=q&&se(t,l):null!=q&&tc(R,l,q,A))}switch(k){case "input":Rb(p); Ac(p,m,!1);break;case "textarea":Rb(p);ee(p,m);break;case "option":null!=m.value&&p.setAttribute("value",""+uc(m.value));break;case "select":h=p;h.multiple=!!m.multiple;p=m.value;null!=p?ae(h,!!m.multiple,p,!1):null!=m.defaultValue&&ae(h,!!m.multiple,m.defaultValue,!0);break;default:"function"===typeof h.onClick&&(p.onclick=te)}(g=we(f,g))&&kh(b);b.stateNode=e}null!==b.ref&&(b.effectTag|=128)}else null===b.stateNode?x("166"):void 0;break;case 6:e&&null!=b.stateNode?oh(e,b,e.memoizedProps,g):("string"!== typeof g&&(null===b.stateNode?x("166"):void 0),e=If(Hf.current),If(N.current),Eg(b)?(g=b,f=g.stateNode,e=g.memoizedProps,f[Fa]=g,(g=f.nodeValue!==e)&&kh(b)):(f=b,g=(9===e.nodeType?e:e.ownerDocument).createTextNode(g),g[Fa]=b,f.stateNode=g));break;case 11:break;case 13:g=b.memoizedState;if(0!==(b.effectTag&64)){b.expirationTime=f;T=b;break a}g=null!==g;f=null!==e&&null!==e.memoizedState;null!==e&&!g&&f&&(e=e.child.sibling,null!==e&&(h=b.firstEffect,null!==h?(b.firstEffect=e,e.nextEffect=h):(b.firstEffect= b.lastEffect=e,e.nextEffect=null),e.effectTag=8));if(g||f)b.effectTag|=4;break;case 7:break;case 8:break;case 12:break;case 4:Kf(b);mh(b);break;case 10:Zg(b);break;case 9:break;case 14:break;case 17:J(b.type)&&Ke(b);break;case 18:break;default:x("156")}T=null}b=a;if(1===U||1!==b.childExpirationTime){g=0;for(f=b.child;null!==f;)e=f.expirationTime,h=f.childExpirationTime,e>g&&(g=e),h>g&&(g=h),f=f.sibling;b.childExpirationTime=g}if(null!==T)return T;null!==c&&0===(c.effectTag&1024)&&(null===c.firstEffect&& (c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a))}else{a=Gh(a,U);if(null!==a)return a.effectTag&=1023,a;null!==c&&(c.firstEffect=c.lastEffect=null,c.effectTag|=1024)}if(null!==d)return d;if(null!==c)a=c;else break}return null} function bi(a){var b=Tg(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=ai(a));Ih.current=null;return b} function ci(a,b){Kh?x("243"):void 0;of();Kh=!0;var c=Hh.current;Hh.current=kg;var d=a.nextExpirationTimeToWorkOn;if(d!==U||a!==Lh||null===T)Sh(),Lh=a,U=d,T=Xe(Lh.current,null,U),a.pendingCommitExpirationTime=0;var e=!1;do{try{if(b)for(;null!==T&&!di();)T=bi(T);else for(;null!==T;)T=bi(T)}catch(u){if(Yg=Xg=Wg=null,lg(),null===T)e=!0,Dh(u);else{null===T?x("271"):void 0;var f=T,g=f.return;if(null===g)e=!0,Dh(u);else{a:{var h=a,l=g,k=f,m=u;g=U;k.effectTag|=1024;k.firstEffect=k.lastEffect=null;if(null!== m&&"object"===typeof m&&"function"===typeof m.then){var p=m;m=l;var t=-1,A=-1;do{if(13===m.tag){var v=m.alternate;if(null!==v&&(v=v.memoizedState,null!==v)){A=10*(1073741822-v.timedOutAt);break}v=m.pendingProps.maxDuration;if("number"===typeof v)if(0>=v)t=0;else if(-1===t||v<t)t=v}m=m.return}while(null!==m);m=l;do{if(v=13===m.tag)v=void 0===m.memoizedProps.fallback?!1:null===m.memoizedState;if(v){l=m.updateQueue;null===l?(l=new Set,l.add(p),m.updateQueue=l):l.add(p);if(0===(m.mode&1)){m.effectTag|= 64;k.effectTag&=-1957;1===k.tag&&(null===k.alternate?k.tag=17:(g=nf(1073741823),g.tag=sf,pf(k,g)));k.expirationTime=1073741823;break a}k=h;l=g;var R=k.pingCache;null===R?(R=k.pingCache=new Bh,v=new Set,R.set(p,v)):(v=R.get(p),void 0===v&&(v=new Set,R.set(p,v)));v.has(l)||(v.add(l),k=ei.bind(null,k,p,l),p.then(k,k));-1===t?h=1073741823:(-1===A&&(A=10*(1073741822-gf(h,g))-5E3),h=A+t);0<=h&&Mh<h&&(Mh=h);m.effectTag|=2048;m.expirationTime=g;break a}m=m.return}while(null!==m);m=Error((ic(k.type)||"A React component")+ " suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+jc(k))}Nh=!0;m=jh(m,k);h=l;do{switch(h.tag){case 3:h.effectTag|=2048;h.expirationTime=g;g=Ch(h,m,g);eh(h,g);break a;case 1:if(t=m,A=h.type,k=h.stateNode,0===(h.effectTag&64)&&("function"===typeof A.getDerivedStateFromError||null!==k&&"function"===typeof k.componentDidCatch&&(null===Fh||!Fh.has(k)))){h.effectTag|=2048; h.expirationTime=g;g=Eh(h,t,g);eh(h,g);break a}}h=h.return}while(null!==h)}T=ai(f);continue}}}break}while(1);Kh=!1;Hh.current=c;Yg=Xg=Wg=null;lg();if(e)Lh=null,a.finishedWork=null;else if(null!==T)a.finishedWork=null;else{c=a.current.alternate;null===c?x("281"):void 0;Lh=null;if(Nh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&e<d||0!==f&&f<d||0!==g&&g<d){ff(a,d);fi(a,c,d,a.expirationTime,-1);return}if(!a.didError&&b){a.didError=!0;d=a.nextExpirationTimeToWorkOn=d; b=a.expirationTime=1073741823;fi(a,c,d,b,-1);return}}b&&-1!==Mh?(ff(a,d),b=10*(1073741822-gf(a,d)),b<Mh&&(Mh=b),b=10*(1073741822-lf()),b=Mh-b,fi(a,c,d,a.expirationTime,0>b?0:b)):(a.pendingCommitExpirationTime=d,a.finishedWork=c)}} function sh(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===Fh||!Fh.has(d))){a=jh(b,a);a=Eh(c,a,1073741823);pf(c,a);qf(c,1073741823);return}break;case 3:a=jh(b,a);a=Ch(c,a,1073741823);pf(c,a);qf(c,1073741823);return}c=c.return}3===a.tag&&(c=jh(b,a),c=Ch(a,c,1073741823),pf(a,c),qf(a,1073741823))} function mf(a,b){var c=r.unstable_getCurrentPriorityLevel(),d=void 0;if(0===(b.mode&1))d=1073741823;else if(Kh&&!Oh)d=U;else{switch(c){case r.unstable_ImmediatePriority:d=1073741823;break;case r.unstable_UserBlockingPriority:d=1073741822-10*(((1073741822-a+15)/10|0)+1);break;case r.unstable_NormalPriority:d=1073741822-25*(((1073741822-a+500)/25|0)+1);break;case r.unstable_LowPriority:case r.unstable_IdlePriority:d=1;break;default:x("313")}null!==Lh&&d===U&&--d}c===r.unstable_UserBlockingPriority&& (0===gi||d<gi)&&(gi=d);return d}function ei(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);if(null!==Lh&&U===c)Lh=null;else if(b=a.earliestSuspendedTime,d=a.latestSuspendedTime,0!==b&&c<=b&&c>=d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;df(c,a);c=a.expirationTime;0!==c&&Xh(a,c)}}function Ah(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=lf();b=mf(b,a);a=hi(a,b);null!==a&&(cf(a,b),b=a.expirationTime,0!==b&&Xh(a,b))} function hi(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}return e} function qf(a,b){a=hi(a,b);null!==a&&(!Kh&&0!==U&&b>U&&Sh(),cf(a,b),Kh&&!Oh&&Lh===a||Xh(a,a.expirationTime),ii>ji&&(ii=0,x("185")))}function ki(a,b,c,d,e){return r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){return a(b,c,d,e)})}var li=null,Y=null,mi=0,ni=void 0,W=!1,oi=null,Z=0,gi=0,pi=!1,qi=null,X=!1,ri=!1,si=null,ti=r.unstable_now(),ui=1073741822-(ti/10|0),vi=ui,ji=50,ii=0,wi=null;function xi(){ui=1073741822-((r.unstable_now()-ti)/10|0)} function yi(a,b){if(0!==mi){if(b<mi)return;null!==ni&&r.unstable_cancelCallback(ni)}mi=b;a=r.unstable_now()-ti;ni=r.unstable_scheduleCallback(zi,{timeout:10*(1073741822-b)-a})}function fi(a,b,c,d,e){a.expirationTime=d;0!==e||di()?0<e&&(a.timeoutHandle=ye(Ai.bind(null,a,b,c),e)):(a.pendingCommitExpirationTime=c,a.finishedWork=b)}function Ai(a,b,c){a.pendingCommitExpirationTime=c;a.finishedWork=b;xi();vi=ui;Bi(a,c)}function $h(a,b){a.expirationTime=b;a.finishedWork=null} function lf(){if(W)return vi;Ci();if(0===Z||1===Z)xi(),vi=ui;return vi}function Xh(a,b){null===a.nextScheduledRoot?(a.expirationTime=b,null===Y?(li=Y=a,a.nextScheduledRoot=a):(Y=Y.nextScheduledRoot=a,Y.nextScheduledRoot=li)):b>a.expirationTime&&(a.expirationTime=b);W||(X?ri&&(oi=a,Z=1073741823,Di(a,1073741823,!1)):1073741823===b?Yh(1073741823,!1):yi(a,b))} function Ci(){var a=0,b=null;if(null!==Y)for(var c=Y,d=li;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===Y?x("244"):void 0;if(d===d.nextScheduledRoot){li=Y=d.nextScheduledRoot=null;break}else if(d===li)li=e=d.nextScheduledRoot,Y.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===Y){Y=c;Y.nextScheduledRoot=li;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===Y)break;if(1073741823=== a)break;c=d;d=d.nextScheduledRoot}}oi=b;Z=a}var Ei=!1;function di(){return Ei?!0:r.unstable_shouldYield()?Ei=!0:!1}function zi(){try{if(!di()&&null!==li){xi();var a=li;do{var b=a.expirationTime;0!==b&&ui<=b&&(a.nextExpirationTimeToWorkOn=ui);a=a.nextScheduledRoot}while(a!==li)}Yh(0,!0)}finally{Ei=!1}} function Yh(a,b){Ci();if(b)for(xi(),vi=ui;null!==oi&&0!==Z&&a<=Z&&!(Ei&&ui>Z);)Di(oi,Z,ui>Z),Ci(),xi(),vi=ui;else for(;null!==oi&&0!==Z&&a<=Z;)Di(oi,Z,!1),Ci();b&&(mi=0,ni=null);0!==Z&&yi(oi,Z);ii=0;wi=null;if(null!==si)for(a=si,si=null,b=0;b<a.length;b++){var c=a[b];try{c._onComplete()}catch(d){pi||(pi=!0,qi=d)}}if(pi)throw a=qi,qi=null,pi=!1,a;}function Bi(a,b){W?x("253"):void 0;oi=a;Z=b;Di(a,b,!1);Yh(1073741823,!1)} function Di(a,b,c){W?x("245"):void 0;W=!0;if(c){var d=a.finishedWork;null!==d?Fi(a,d,b):(a.finishedWork=null,d=a.timeoutHandle,-1!==d&&(a.timeoutHandle=-1,ze(d)),ci(a,c),d=a.finishedWork,null!==d&&(di()?a.finishedWork=d:Fi(a,d,b)))}else d=a.finishedWork,null!==d?Fi(a,d,b):(a.finishedWork=null,d=a.timeoutHandle,-1!==d&&(a.timeoutHandle=-1,ze(d)),ci(a,c),d=a.finishedWork,null!==d&&Fi(a,d,b));W=!1} function Fi(a,b,c){var d=a.firstBatch;if(null!==d&&d._expirationTime>=c&&(null===si?si=[d]:si.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===wi?ii++:(wi=a,ii=0);r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){Zh(a,b)})}function Dh(a){null===oi?x("246"):void 0;oi.expirationTime=0;pi||(pi=!0,qi=a)}function Gi(a,b){var c=X;X=!0;try{return a(b)}finally{(X=c)||W||Yh(1073741823,!1)}} function Hi(a,b){if(X&&!ri){ri=!0;try{return a(b)}finally{ri=!1}}return a(b)}function Ii(a,b,c){X||W||0===gi||(Yh(gi,!1),gi=0);var d=X;X=!0;try{return r.unstable_runWithPriority(r.unstable_UserBlockingPriority,function(){return a(b,c)})}finally{(X=d)||W||Yh(1073741823,!1)}} function Ji(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===ed(c)&&1===c.tag?void 0:x("170");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(J(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);x("171");g=void 0}if(1===c.tag){var h=c.type;if(J(h)){c=Ne(c,h,g);break a}}c=g}else c=He;null===b.context?b.context=c:b.pendingContext=c;b=e;e=nf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b); of();pf(f,e);qf(f,d);return d}function Ki(a,b,c,d){var e=b.current,f=lf();e=mf(f,e);return Ji(a,b,c,e,d)}function Li(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Mi(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Wb,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}} Ab=function(a,b,c){switch(b){case "input":yc(a,c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Ka(d);e?void 0:x("90");Sb(d);yc(d,e)}}}break;case "textarea":de(a,c);break;case "select":b=c.value,null!=b&&ae(a,!!c.multiple,b,!1)}}; function Ni(a){var b=1073741822-25*(((1073741822-lf()+500)/25|0)+1);b>=Jh&&(b=Jh-1);this._expirationTime=Jh=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ni.prototype.render=function(a){this._defer?void 0:x("250");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Oi;Ji(a,b,null,c,d._onCommit);return d}; Ni.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}}; Ni.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:x("251");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?x("251"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Bi(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next= null,this._defer=!1};Ni.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}};function Oi(){this._callbacks=null;this._didCommit=!1;this._onCommit=this._onCommit.bind(this)}Oi.prototype.then=function(a){if(this._didCommit)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}}; Oi.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++){var c=a[b];"function"!==typeof c?x("191",c):void 0;c()}}}; function Pi(a,b,c){b=K(3,null,null,b?3:0);a={current:b,containerInfo:a,pendingChildren:null,pingCache:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,didError:!1,pendingCommitExpirationTime:0,finishedWork:null,timeoutHandle:-1,context:null,pendingContext:null,hydrate:c,nextExpirationTimeToWorkOn:0,expirationTime:0,firstBatch:null,nextScheduledRoot:null};this._internalRoot=b.stateNode=a} Pi.prototype.render=function(a,b){var c=this._internalRoot,d=new Oi;b=void 0===b?null:b;null!==b&&d.then(b);Ki(a,c,null,d._onCommit);return d};Pi.prototype.unmount=function(a){var b=this._internalRoot,c=new Oi;a=void 0===a?null:a;null!==a&&c.then(a);Ki(null,b,null,c._onCommit);return c};Pi.prototype.legacy_renderSubtreeIntoContainer=function(a,b,c){var d=this._internalRoot,e=new Oi;c=void 0===c?null:c;null!==c&&e.then(c);Ki(b,d,a,e._onCommit);return e}; Pi.prototype.createBatch=function(){var a=new Ni(this),b=a._expirationTime,c=this._internalRoot,d=c.firstBatch;if(null===d)c.firstBatch=a,a._next=null;else{for(c=null;null!==d&&d._expirationTime>=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Qi(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}Gb=Gi;Hb=Ii;Ib=function(){W||0===gi||(Yh(gi,!1),gi=0)}; function Ri(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Pi(a,!1,b)} function Si(a,b,c,d,e){var f=c._reactRootContainer;if(f){if("function"===typeof e){var g=e;e=function(){var a=Li(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Ri(c,d);if("function"===typeof e){var h=e;e=function(){var a=Li(f._internalRoot);h.call(a)}}Hi(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Li(f._internalRoot)} function Ti(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;Qi(b)?void 0:x("200");return Mi(a,b,null,c)} var Vi={createPortal:Ti,findDOMNode:function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;void 0===b&&("function"===typeof a.render?x("188"):x("268",Object.keys(a)));a=hd(b);a=null===a?null:a.stateNode;return a},hydrate:function(a,b,c){Qi(b)?void 0:x("200");return Si(null,a,b,!0,c)},render:function(a,b,c){Qi(b)?void 0:x("200");return Si(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){Qi(c)?void 0:x("200");null==a||void 0===a._reactInternalFiber? x("38"):void 0;return Si(a,b,c,!1,d)},unmountComponentAtNode:function(a){Qi(a)?void 0:x("40");return a._reactRootContainer?(Hi(function(){Si(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return Ti.apply(void 0,arguments)},unstable_batchedUpdates:Gi,unstable_interactiveUpdates:Ii,flushSync:function(a,b){W?x("187"):void 0;var c=X;X=!0;try{return ki(a,b)}finally{X=c,Yh(1073741823,!1)}},unstable_createRoot:Ui,unstable_flushControlled:function(a){var b= X;X=!0;try{ki(a)}finally{(X=b)||W||Yh(1073741823,!1)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[Ia,Ja,Ka,Ba.injectEventPluginsByName,pa,Qa,function(a){ya(a,Pa)},Eb,Fb,Dd,Da]}};function Ui(a,b){Qi(a)?void 0:x("299","unstable_createRoot");return new Pi(a,!0,null!=b&&!0===b.hydrate)} (function(a){var b=a.findFiberByHostInstance;return Te(n({},a,{overrideProps:null,currentDispatcherRef:Tb.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hd(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))})({findFiberByHostInstance:Ha,bundleType:0,version:"16.8.6",rendererPackageName:"react-dom"});var Wi={default:Vi},Xi=Wi&&Vi||Wi;module.exports=Xi.default||Xi; /***/ }), /* 308 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; if (true) { module.exports = __webpack_require__(309); } else {} /***/ }), /* 309 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(global) {/** @license React v0.13.6 * scheduler.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ Object.defineProperty(exports,"__esModule",{value:!0});var d=null,e=!1,g=3,k=-1,l=-1,m=!1,n=!1;function p(){if(!m){var a=d.expirationTime;n?q():n=!0;r(t,a)}} function u(){var a=d,b=d.next;if(d===b)d=null;else{var c=d.previous;d=c.next=b;b.previous=c}a.next=a.previous=null;c=a.callback;b=a.expirationTime;a=a.priorityLevel;var f=g,Q=l;g=a;l=b;try{var h=c()}finally{g=f,l=Q}if("function"===typeof h)if(h={callback:h,priorityLevel:a,expirationTime:b,next:null,previous:null},null===d)d=h.next=h.previous=h;else{c=null;a=d;do{if(a.expirationTime>=b){c=a;break}a=a.next}while(a!==d);null===c?c=d:c===d&&(d=h,p());b=c.previous;b.next=c.previous=h;h.next=c;h.previous= b}}function v(){if(-1===k&&null!==d&&1===d.priorityLevel){m=!0;try{do u();while(null!==d&&1===d.priorityLevel)}finally{m=!1,null!==d?p():n=!1}}}function t(a){m=!0;var b=e;e=a;try{if(a)for(;null!==d;){var c=exports.unstable_now();if(d.expirationTime<=c){do u();while(null!==d&&d.expirationTime<=c)}else break}else if(null!==d){do u();while(null!==d&&!w())}}finally{m=!1,e=b,null!==d?p():n=!1,v()}} var x=Date,y="function"===typeof setTimeout?setTimeout:void 0,z="function"===typeof clearTimeout?clearTimeout:void 0,A="function"===typeof requestAnimationFrame?requestAnimationFrame:void 0,B="function"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,C,D;function E(a){C=A(function(b){z(D);a(b)});D=y(function(){B(C);a(exports.unstable_now())},100)} if("object"===typeof performance&&"function"===typeof performance.now){var F=performance;exports.unstable_now=function(){return F.now()}}else exports.unstable_now=function(){return x.now()};var r,q,w,G=null;"undefined"!==typeof window?G=window:"undefined"!==typeof global&&(G=global); if(G&&G._schedMock){var H=G._schedMock;r=H[0];q=H[1];w=H[2];exports.unstable_now=H[3]}else if("undefined"===typeof window||"function"!==typeof MessageChannel){var I=null,J=function(a){if(null!==I)try{I(a)}finally{I=null}};r=function(a){null!==I?setTimeout(r,0,a):(I=a,setTimeout(J,0,!1))};q=function(){I=null};w=function(){return!1}}else{"undefined"!==typeof console&&("function"!==typeof A&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"), "function"!==typeof B&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));var K=null,L=!1,M=-1,N=!1,O=!1,P=0,R=33,S=33;w=function(){return P<=exports.unstable_now()};var T=new MessageChannel,U=T.port2;T.port1.onmessage=function(){L=!1;var a=K,b=M;K=null;M=-1;var c=exports.unstable_now(),f=!1;if(0>=P-c)if(-1!==b&&b<=c)f=!0;else{N||(N=!0,E(V));K=a;M=b;return}if(null!==a){O=!0;try{a(f)}finally{O=!1}}}; var V=function(a){if(null!==K){E(V);var b=a-P+S;b<S&&R<S?(8>b&&(b=8),S=b<R?R:b):R=b;P=a+S;L||(L=!0,U.postMessage(void 0))}else N=!1};r=function(a,b){K=a;M=b;O||0>b?U.postMessage(void 0):N||(N=!0,E(V))};q=function(){K=null;L=!1;M=-1}}exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4; exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=g,f=k;g=a;k=exports.unstable_now();try{return b()}finally{g=c,k=f,v()}};exports.unstable_next=function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g,f=k;g=b;k=exports.unstable_now();try{return a()}finally{g=c,k=f,v()}}; exports.unstable_scheduleCallback=function(a,b){var c=-1!==k?k:exports.unstable_now();if("object"===typeof b&&null!==b&&"number"===typeof b.timeout)b=c+b.timeout;else switch(g){case 1:b=c+-1;break;case 2:b=c+250;break;case 5:b=c+1073741823;break;case 4:b=c+1E4;break;default:b=c+5E3}a={callback:a,priorityLevel:g,expirationTime:b,next:null,previous:null};if(null===d)d=a.next=a.previous=a,p();else{c=null;var f=d;do{if(f.expirationTime>b){c=f;break}f=f.next}while(f!==d);null===c?c=d:c===d&&(d=a,p()); b=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)d=null;else{a===d&&(d=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=g;return function(){var c=g,f=k;g=b;k=exports.unstable_now();try{return a.apply(this,arguments)}finally{g=c,k=f,v()}}};exports.unstable_getCurrentPriorityLevel=function(){return g}; exports.unstable_shouldYield=function(){return!e&&(null!==d&&d.expirationTime<l||w())};exports.unstable_continueExecution=function(){null!==d&&p()};exports.unstable_pauseExecution=function(){};exports.unstable_getFirstCallbackNode=function(){return d}; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(310))) /***/ }), /* 310 */ /***/ (function(module, exports) { var g; // This works in non-strict mode g = (function() { return this; })(); try { // This works if eval is allowed (see CSP) g = g || new Function("return this")(); } catch (e) { // This works if the window reference is available if (typeof window === "object") g = window; } // g can still be undefined, but nothing to do about it... // We return undefined, instead of nothing here, so it's // easier to handle this case. if(!global) { ...} module.exports = g; /***/ }), /* 311 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _interopRequireWildcard = __webpack_require__(187); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(180)); __webpack_require__(192); __webpack_require__(193); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(215)); __webpack_require__(164); __webpack_require__(142); __webpack_require__(140); var _getIterator2 = _interopRequireDefault(__webpack_require__(196)); var _values = _interopRequireDefault(__webpack_require__(163)); __webpack_require__(48); __webpack_require__(161); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(312)); var _entries = _interopRequireDefault(__webpack_require__(199)); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf3 = _interopRequireDefault(__webpack_require__(3)); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(81)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(169)); var _propTypes = _interopRequireDefault(__webpack_require__(195)); var _iconList = _interopRequireDefault(__webpack_require__(325)); var _icon = _interopRequireDefault(__webpack_require__(326)); var Tab = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(Tab, _Component); function Tab() { var _getPrototypeOf2; 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 = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(Tab)).call.apply(_getPrototypeOf2, [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 _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = (0, _getIterator2.default)(icons.entries()), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { 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) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } return _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 _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; /***/ }), /* 312 */ /***/ (function(module, exports, __webpack_require__) { var arrayWithoutHoles = __webpack_require__(313); var iterableToArray = __webpack_require__(314); var nonIterableSpread = __webpack_require__(324); function _toConsumableArray(arr) { return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); } module.exports = _toConsumableArray; /***/ }), /* 313 */ /***/ (function(module, exports, __webpack_require__) { var _Array$isArray = __webpack_require__(188); function _arrayWithoutHoles(arr) { if (_Array$isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } module.exports = _arrayWithoutHoles; /***/ }), /* 314 */ /***/ (function(module, exports, __webpack_require__) { var _Array$from = __webpack_require__(315); var _isIterable = __webpack_require__(321); function _iterableToArray(iter) { if (_isIterable(Object(iter)) || Object.prototype.toString.call(iter) === "[object Arguments]") return _Array$from(iter); } module.exports = _iterableToArray; /***/ }), /* 315 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(316); /***/ }), /* 316 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(88); __webpack_require__(317); module.exports = __webpack_require__(1).Array.from; /***/ }), /* 317 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ctx = __webpack_require__(68); var $export = __webpack_require__(8); var toObject = __webpack_require__(31); var call = __webpack_require__(318); var isArrayIter = __webpack_require__(319); var toLength = __webpack_require__(102); var createProperty = __webpack_require__(238); var getIterFn = __webpack_require__(197); $export($export.S + $export.F * !__webpack_require__(320)(function (iter) { Array.from(iter); }), 'Array', { // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { var O = toObject(arrayLike); var C = typeof this == 'function' ? this : Array; var aLen = arguments.length; var mapfn = aLen > 1 ? arguments[1] : undefined; var mapping = mapfn !== undefined; var index = 0; var iterFn = getIterFn(O); var length, result, step, iterator; if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); // if object isn't iterable or it's array with default iterator - use simple case if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); } } else { length = toLength(O.length); for (result = new C(length); length > index; index++) { createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); } } result.length = index; return result; } }); /***/ }), /* 318 */ /***/ (function(module, exports, __webpack_require__) { // call something on iterator step with safe closing on error var anObject = __webpack_require__(18); module.exports = function (iterator, fn, value, entries) { try { return entries ? fn(anObject(value)[0], value[1]) : fn(value); // 7.4.6 IteratorClose(iterator, completion) } catch (e) { var ret = iterator['return']; if (ret !== undefined) anObject(ret.call(iterator)); throw e; } }; /***/ }), /* 319 */ /***/ (function(module, exports, __webpack_require__) { // check on default Array iterator var Iterators = __webpack_require__(40); var ITERATOR = __webpack_require__(16)('iterator'); var ArrayProto = Array.prototype; module.exports = function (it) { return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); }; /***/ }), /* 320 */ /***/ (function(module, exports, __webpack_require__) { var ITERATOR = __webpack_require__(16)('iterator'); var SAFE_CLOSING = false; try { var riter = [7][ITERATOR](); riter['return'] = function () { SAFE_CLOSING = true; }; // eslint-disable-next-line no-throw-literal Array.from(riter, function () { throw 2; }); } catch (e) { /* empty */ } module.exports = function (exec, skipClosing) { if (!skipClosing && !SAFE_CLOSING) return false; var safe = false; try { var arr = [7]; var iter = arr[ITERATOR](); iter.next = function () { return { done: safe = true }; }; arr[ITERATOR] = function () { return iter; }; exec(arr); } catch (e) { /* empty */ } return safe; }; /***/ }), /* 321 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(322); /***/ }), /* 322 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(90); __webpack_require__(88); module.exports = __webpack_require__(323); /***/ }), /* 323 */ /***/ (function(module, exports, __webpack_require__) { var classof = __webpack_require__(198); var ITERATOR = __webpack_require__(16)('iterator'); var Iterators = __webpack_require__(40); module.exports = __webpack_require__(1).isIterable = function (it) { var O = Object(it); return O[ITERATOR] !== undefined || '@@iterator' in O // eslint-disable-next-line no-prototype-builtins || Iterators.hasOwnProperty(classof(O)); }; /***/ }), /* 324 */ /***/ (function(module, exports) { function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } module.exports = _nonIterableSpread; /***/ }), /* 325 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireWildcard = __webpack_require__(187); var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf3 = _interopRequireDefault(__webpack_require__(3)); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(81)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(169)); var _propTypes = _interopRequireDefault(__webpack_require__(195)); var _react = _interopRequireWildcard(__webpack_require__(180)); var LazyIconList = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(LazyIconList, _Component); function LazyIconList() { var _getPrototypeOf2; 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 = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(LazyIconList)).call.apply(_getPrototypeOf2, [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 _react.default.createElement(_react.Fragment, null, _react.default.createElement("div", { className: 'elementor-icons-manager__tab__content__offset', style: offsetStyle }), _react.default.createElement("div", { id: 'elementor-icons-manager__tab__content' }, itemsInView), _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 _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 }; /***/ }), /* 326 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _interopRequireWildcard = __webpack_require__(187); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(180)); __webpack_require__(48); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf3 = _interopRequireDefault(__webpack_require__(3)); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(81)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(169)); var _propTypes = _interopRequireDefault(__webpack_require__(195)); var Icon = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(Icon, _Component); function Icon() { var _getPrototypeOf2; 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 = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(Icon)).call.apply(_getPrototypeOf2, [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 _react.default.createElement("div", { className: _this.props.containerClass, key: _this.props.keyID, onClick: _this.setSelected, filter: _this.props.data.filter }, _react.default.createElement("div", { className: "elementor-icons-manager__tab__item__content" }, _react.default.createElement("i", { className: 'elementor-icons-manager__tab__item__icon ' + _this.props.className }), _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 }; /***/ }), /* 327 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _interopRequireWildcard = __webpack_require__(187); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(__webpack_require__(180)); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf3 = _interopRequireDefault(__webpack_require__(3)); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(81)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(169)); var IconsGoPro = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(IconsGoPro, _Component); function IconsGoPro() { var _getPrototypeOf2; 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 = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(IconsGoPro)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "render", function () { return _react.default.createElement("div", { id: "elementor-icons-manager__promotion" }, _react.default.createElement("i", { id: "elementor-icons-manager__promotion__icon", className: "eicon-nerd" }), _react.default.createElement("div", { id: "elementor-icons-manager__promotion__text" }, elementor.translate('icons_promotion')), _react.default.createElement("a", { href: elementor.config.icons.goProURL, id: "elementor-icons-manager__promotion__link", target: "_blank", rel: "noopener noreferrer" }, elementor.translate('go_pro'))); }); return _this; } return IconsGoPro; }(_react.Component); var _default = IconsGoPro; exports.default = _default; /***/ }), /* 328 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _keys = _interopRequireDefault(__webpack_require__(58)); __webpack_require__(80); __webpack_require__(89); var _entries = _interopRequireDefault(__webpack_require__(199)); var _typeof2 = _interopRequireDefault(__webpack_require__(65)); __webpack_require__(48); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(169)); 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; /***/ }), /* 329 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(48); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); 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; /***/ }), /* 330 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); // TODO: Maybe it should merge with panel/elements? var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'elements'; } }, { key: "dependency", value: function dependency() { return !!elementor.getCurrentElement(); } }, { key: "defaultCommands", value: function defaultCommands() { return { copy: function copy() { return elementor.getCurrentElement().copy(); }, duplicate: function duplicate() { return elementor.getCurrentElement().duplicate(); }, delete: function _delete() { return elementor.getCurrentElement().removeElement(); }, paste: function paste() { return elementor.getCurrentElement().paste(); }, pasteStyle: function pasteStyle() { return elementor.getCurrentElement().pasteStyle(); } }; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { copy: { keys: 'ctrl+c', exclude: ['input'] }, duplicate: { keys: 'ctrl+d' }, delete: { keys: 'del', exclude: ['input'] }, paste: { keys: 'ctrl+v', exclude: ['input'], dependency: function dependency() { return elementor.getCurrentElement().isPasteEnabled(); } }, pasteStyle: { keys: 'ctrl+shift+v', exclude: ['input'], dependency: function dependency() { return elementor.getCurrentElement().pasteStyle && elementorCommon.storage.get('transfer'); } } }; } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 331 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(332); var _typeof2 = _interopRequireDefault(__webpack_require__(65)); __webpack_require__(98); __webpack_require__(243); __webpack_require__(89); __webpack_require__(181); __webpack_require__(140); var _keys = _interopRequireDefault(__webpack_require__(58)); __webpack_require__(80); __webpack_require__(48); __webpack_require__(26); var helpers; helpers = { _enqueuedFonts: [], _enqueuedIconFonts: [], _inlineSvg: [], elementsHierarchy: { section: { column: { widget: null, section: null } } }, enqueueCSS: function enqueueCSS(url, $document) { var selector = 'link[href="' + url + '"]', link = '<link href="' + url + '" rel="stylesheet" type="text/css">'; if (!$document) { return; } if (!$document.find(selector).length) { $document.find('link:last').after(link); } }, enqueuePreviewStylesheet: function enqueuePreviewStylesheet(url) { this.enqueueCSS(url, elementor.$previewContents); }, enqueueEditorStylesheet: function enqueueEditorStylesheet(url) { this.enqueueCSS(url, elementorCommon.elements.$document); }, /** * @deprecated 2.6.0 */ enqueueStylesheet: function enqueueStylesheet(url) { elementorCommon.helpers.deprecatedMethod('elementor.helpers.enqueueStylesheet()', '2.6.0', 'elementor.helpers.enqueuePreviewStylesheet()'); this.enqueuePreviewStylesheet(url); }, fetchInlineSvg: function fetchInlineSvg(svgUrl) { var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; fetch(svgUrl).then(function (response) { return response.text(); }).then(function (data) { if (callback) { callback(data); } }); }, getInlineSvg: function getInlineSvg(value, view) { if (!value.id) { return; } if (this._inlineSvg.hasOwnProperty(value.id)) { return this._inlineSvg[value.id]; } var self = this; this.fetchInlineSvg(value.url, function (data) { if (data) { self._inlineSvg[value.id] = data; //$( data ).find( 'svg' )[ 0 ].outerHTML; if (view) { view.render(); } elementor.channels.editor.trigger('svg:insertion', data, value.id); } }); }, enqueueIconFonts: function enqueueIconFonts(iconType) { var _this = this; if (-1 !== this._enqueuedIconFonts.indexOf(iconType) || !!ElementorConfig['icons_update_needed']) { return; } var iconSetting = this.getIconLibrarySettings(iconType); if (!iconSetting) { return; } if (iconSetting.enqueue) { iconSetting.enqueue.forEach(function (assetURL) { _this.enqueuePreviewStylesheet(assetURL); _this.enqueueEditorStylesheet(assetURL); }); } if (iconSetting.url) { this.enqueuePreviewStylesheet(iconSetting.url); this.enqueueEditorStylesheet(iconSetting.url); } this._enqueuedIconFonts.push(iconType); elementor.channels.editor.trigger('fontIcon:insertion', iconType, iconSetting); }, getIconLibrarySettings: function getIconLibrarySettings(iconType) { var iconSetting = elementor.config.icons.libraries.filter(function (library) { return iconType === library.name; }); if (iconSetting[0] && iconSetting[0].name) { return iconSetting[0]; } return false; }, /** * * @param view - view to refresh if needed * @param icon - icon control data * @param attributes - default {} - attributes to attach to rendered html tag * @param tag - default i - html tag to render * @param returnType - default value - retrun type * @returns {string|boolean|*} */ renderIcon: function renderIcon(view, icon) { var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var tag = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'i'; var returnType = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'value'; if (!icon || !icon.library) { if ('object' === returnType) { return { rendered: false }; } return; } var iconType = icon.library, iconValue = icon.value; if ('svg' === iconType) { if ('panel' === returnType) { return '<img src="' + iconValue.url + '">'; } return { rendered: true, value: this.getInlineSvg(iconValue, view) }; } var iconSettings = this.getIconLibrarySettings(iconType); if (iconSettings && !iconSettings.hasOwnProperty('isCustom')) { this.enqueueIconFonts(iconType); if ('panel' === returnType) { return '<' + tag + ' class="' + iconValue + '"></' + tag + '>'; } var tagUniqueID = tag + this.getUniqueID(); view.addRenderAttribute(tagUniqueID, attributes); view.addRenderAttribute(tagUniqueID, 'class', iconValue); var htmlTag = '<' + tag + ' ' + view.getRenderAttributeString(tagUniqueID) + '></' + tag + '>'; if ('object' === returnType) { return { rendered: true, value: htmlTag }; } return htmlTag; } elementor.channels.editor.trigger('Icon:insertion', iconType, iconValue, attributes, tag, view); if ('object' === returnType) { return { rendered: false }; } }, isIconMigrated: function isIconMigrated(settings, controlName) { if (settings.__fa4_migrated && settings.__fa4_migrated[controlName]) { return true; } return false; }, fetchFa4ToFa5Mapping: function fetchFa4ToFa5Mapping() { var storageKey = 'fa4Tofa5Mapping'; var mapping = elementorCommon.storage.get(storageKey); if (!mapping) { jQuery.getJSON(ElementorConfig.fa4_to_fa5_mapping_url, function (data) { mapping = data; elementorCommon.storage.set(storageKey, data); }); } return mapping; }, mapFa4ToFa5: function mapFa4ToFa5(fa4Value) { var mapping = this.fetchFa4ToFa5Mapping(); if (mapping[fa4Value]) { return mapping[fa4Value]; } // every thing else is converted to solid return { value: 'fas' + fa4Value.replace('fa ', ' '), library: 'fa-solid' }; }, enqueueFont: function enqueueFont(font) { if (-1 !== this._enqueuedFonts.indexOf(font)) { return; } var fontType = elementor.config.controls.font.options[font], subsets = { ru_RU: 'cyrillic', uk: 'cyrillic', bg_BG: 'cyrillic', vi: 'vietnamese', el: 'greek', he_IL: 'hebrew' }; var fontUrl; switch (fontType) { case 'googlefonts': fontUrl = 'https://fonts.googleapis.com/css?family=' + font + ':100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic'; if (subsets[elementor.config.locale]) { fontUrl += '&subset=' + subsets[elementor.config.locale]; } break; case 'earlyaccess': var fontLowerString = font.replace(/\s+/g, '').toLowerCase(); fontUrl = 'https://fonts.googleapis.com/earlyaccess/' + fontLowerString + '.css'; break; } if (!_.isEmpty(fontUrl)) { this.enqueuePreviewStylesheet(fontUrl); } this._enqueuedFonts.push(font); elementor.channels.editor.trigger('font:insertion', fontType, font); }, resetEnqueuedFontsCache: function resetEnqueuedFontsCache() { this._enqueuedFonts = []; this._enqueuedIconFonts = []; }, getElementChildType: function getElementChildType(elementType, container) { var _this2 = this; if (!container) { container = this.elementsHierarchy; } if (undefined !== container[elementType]) { if (jQuery.isPlainObject(container[elementType])) { return (0, _keys.default)(container[elementType]); } return null; } var result = null; jQuery.each(container, function (index, type) { if (!jQuery.isPlainObject(type)) { return; } var childType = _this2.getElementChildType(elementType, type); if (childType) { result = childType; return false; } }); return result; }, getUniqueID: function getUniqueID() { return Math.random().toString(16).substr(2, 7); }, getSocialNetworkNameFromIcon: function getSocialNetworkNameFromIcon(iconsControl, fallbackControl) { var toUpperCase = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var migrated = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var withIcon = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; var social = '', icon = ''; if (fallbackControl && !migrated) { social = fallbackControl.replace('fa fa-', ''); icon = '<i class="' + fallbackControl + '"></i>'; } else if (iconsControl.value && 'svg' !== iconsControl.library) { social = iconsControl.value.split(' ')[1]; if (!social) { social = ''; } else { social = social.replace('fa-', ''); } icon = this.renderIcon(null, iconsControl, {}, 'i', 'panel'); } else { icon = this.renderIcon(null, iconsControl, {}, 'i', 'panel'); } if ('' !== social && toUpperCase) { social = social.split('-').join(' '); social = social.replace(/\b\w/g, function (letter) { return letter.toUpperCase(); }); } social = elementor.hooks.applyFilters('elementor/social_icons/network_name', social, iconsControl, fallbackControl, toUpperCase, withIcon); if (withIcon) { social = icon + ' ' + social; } return social; }, getSimpleDialog: function getSimpleDialog(id, title, message, confirmString, onConfirm) { return elementorCommon.dialogsManager.createWidget('confirm', { id: id, headerMessage: title, message: message, position: { my: 'center center', at: 'center center' }, strings: { confirm: confirmString, cancel: elementor.translate('cancel') }, onConfirm: onConfirm }); }, maybeDisableWidget: function maybeDisableWidget() { if (!ElementorConfig['icons_update_needed']) { return false; } var elementView = elementor.channels.panelElements.request('element:selected'), widgetType = elementView.model.get('widgetType'), widgetData = elementor.config.widgets[widgetType], hasControlOfType = function hasControlOfType(controls, type) { var has = false; jQuery.each(controls, function (controlName, controlData) { if (type === controlData.type) { has = true; return false; } if ('repeater' === controlData.type) { has = hasControlOfType(controlData.fields, type); if (has) { return false; } } }); return has; }; if (widgetData) { var hasIconsControl = hasControlOfType(widgetData.controls, 'icons'); if (hasIconsControl) { var onConfirm = function onConfirm() { window.location.href = ElementorConfig.tools_page_link + '&redirect_to=' + encodeURIComponent(document.location.href) + '#tab-fontawesome4_migration'; }; elementor.helpers.getSimpleDialog('elementor-enable-fa5-dialog', elementor.translate('enable_fa5'), elementor.translate('dialog_confirm_enable_fa5'), elementor.translate('update'), onConfirm).show(); return true; } } return false; }, /* * @deprecated 2.0.0 */ stringReplaceAll: function stringReplaceAll(string, replaces) { var re = new RegExp((0, _keys.default)(replaces).join('|'), 'gi'); return string.replace(re, function (matched) { return replaces[matched]; }); }, isActiveControl: function isActiveControl(controlModel, values) { var condition, conditions; // TODO: Better way to get this? if (_.isFunction(controlModel.get)) { condition = controlModel.get('condition'); conditions = controlModel.get('conditions'); } else { condition = controlModel.condition; conditions = controlModel.conditions; } // Multiple conditions with relations. if (conditions && !elementor.conditions.check(conditions, values)) { return false; } if (_.isEmpty(condition)) { return true; } var hasFields = _.filter(condition, function (conditionValue, conditionName) { var conditionNameParts = conditionName.match(/([a-z_\-0-9]+)(?:\[([a-z_]+)])?(!?)$/i), conditionRealName = conditionNameParts[1], conditionSubKey = conditionNameParts[2], isNegativeCondition = !!conditionNameParts[3], controlValue = values[conditionRealName]; if (values.__dynamic__ && values.__dynamic__[conditionRealName]) { controlValue = values.__dynamic__[conditionRealName]; } if (undefined === controlValue) { return true; } if (conditionSubKey && 'object' === (0, _typeof2.default)(controlValue)) { controlValue = controlValue[conditionSubKey]; } // If it's a non empty array - check if the conditionValue contains the controlValue, // If the controlValue is a non empty array - check if the controlValue contains the conditionValue // otherwise check if they are equal. ( and give the ability to check if the value is an empty array ) var isContains; if (_.isArray(conditionValue) && !_.isEmpty(conditionValue)) { isContains = _.contains(conditionValue, controlValue); } else if (_.isArray(controlValue) && !_.isEmpty(controlValue)) { isContains = _.contains(controlValue, conditionValue); } else { isContains = _.isEqual(conditionValue, controlValue); } return isNegativeCondition ? isContains : !isContains; }); return _.isEmpty(hasFields); }, cloneObject: function cloneObject(object) { elementorCommon.helpers.deprecatedMethod('elementor.helpers.cloneObject', '2.3.0', 'elementorCommon.helpers.cloneObject'); return elementorCommon.helpers.cloneObject(object); }, firstLetterUppercase: function firstLetterUppercase(string) { elementorCommon.helpers.deprecatedMethod('elementor.helpers.upperCaseWords', '2.3.0', 'elementorCommon.helpers.upperCaseWords'); return elementorCommon.helpers.upperCaseWords(string); }, disableElementEvents: function disableElementEvents($element) { $element.each(function () { var currentPointerEvents = this.style.pointerEvents; if ('none' === currentPointerEvents) { return; } jQuery(this).data('backup-pointer-events', currentPointerEvents).css('pointer-events', 'none'); }); }, enableElementEvents: function enableElementEvents($element) { $element.each(function () { var $this = jQuery(this), backupPointerEvents = $this.data('backup-pointer-events'); if (undefined === backupPointerEvents) { return; } $this.removeData('backup-pointer-events').css('pointer-events', backupPointerEvents); }); }, getColorPickerPaletteIndex: function getColorPickerPaletteIndex(paletteKey) { return ['7', '8', '1', '5', '2', '3', '6', '4'].indexOf(paletteKey); }, wpColorPicker: function wpColorPicker($element, options) { var self = this, colorPickerScheme = elementor.schemes.getScheme('color-picker'), items = _.sortBy(colorPickerScheme.items, function (item) { return self.getColorPickerPaletteIndex(item.key); }), defaultOptions = { width: window.innerWidth >= 1440 ? 271 : 251, palettes: _.pluck(items, 'value') }; if (options) { _.extend(defaultOptions, options); } return $element.wpColorPicker(defaultOptions); }, isInViewport: function isInViewport(element, html) { var rect = element.getBoundingClientRect(); html = html || document.documentElement; return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || html.clientHeight) && rect.right <= (window.innerWidth || html.clientWidth); }, scrollToView: function scrollToView($element, timeout, $parent) { if (undefined === timeout) { timeout = 500; } var $scrolled = $parent; var $elementorFrontendWindow = elementorFrontend.elements.$window; if (!$parent) { $parent = $elementorFrontendWindow; $scrolled = elementor.$previewContents.find('html, body'); } setTimeout(function () { var parentHeight = $parent.height(), parentScrollTop = $parent.scrollTop(), elementTop = $parent === $elementorFrontendWindow ? $element.offset().top : $element[0].offsetTop, topToCheck = elementTop - parentScrollTop; if (topToCheck > 0 && topToCheck < parentHeight) { return; } var scrolling = elementTop - parentHeight / 2; $scrolled.stop(true).animate({ scrollTop: scrolling }, 1000); }, timeout); }, getElementInlineStyle: function getElementInlineStyle($element, properties) { var style = {}, elementStyle = $element[0].style; properties.forEach(function (property) { style[property] = undefined !== elementStyle[property] ? elementStyle[property] : ''; }); return style; }, cssWithBackup: function cssWithBackup($element, backupState, rules) { var cssBackup = this.getElementInlineStyle($element, (0, _keys.default)(rules)); $element.data('css-backup-' + backupState, cssBackup).css(rules); }, recoverCSSBackup: function recoverCSSBackup($element, backupState) { var backupKey = 'css-backup-' + backupState; $element.css($element.data(backupKey)); $element.removeData(backupKey); }, elementSizeToUnit: function elementSizeToUnit($element, size, unit) { var window = elementorFrontend.elements.window; switch (unit) { case '%': size = size / ($element.offsetParent().width() / 100); break; case 'vw': size = size / (window.innerWidth / 100); break; case 'vh': size = size / (window.innerHeight / 100); } return Math.round(size * 1000) / 1000; }, compareVersions: function compareVersions(versionA, versionB, operator) { var prepareVersion = function prepareVersion(version) { version = version + ''; return version.replace(/[^\d.]+/, '.-1.'); }; versionA = prepareVersion(versionA); versionB = prepareVersion(versionB); if (versionA === versionB) { return !operator || /^={2,3}$/.test(operator); } var versionAParts = versionA.split('.').map(Number), versionBParts = versionB.split('.').map(Number), longestVersionParts = Math.max(versionAParts.length, versionBParts.length); for (var i = 0; i < longestVersionParts; i++) { var valueA = versionAParts[i] || 0, valueB = versionBParts[i] || 0; if (valueA !== valueB) { return elementor.conditions.compare(valueA, valueB, operator); } } } }; module.exports = helpers; /***/ }), /* 332 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var global = __webpack_require__(11); var has = __webpack_require__(47); var cof = __webpack_require__(29); var inheritIfRequired = __webpack_require__(240); var toPrimitive = __webpack_require__(82); var fails = __webpack_require__(24); var gOPN = __webpack_require__(242).f; var gOPD = __webpack_require__(241).f; var dP = __webpack_require__(36).f; var $trim = __webpack_require__(335).trim; var NUMBER = 'Number'; var $Number = global[NUMBER]; var Base = $Number; var proto = $Number.prototype; // Opera ~12 has broken Object#toString var BROKEN_COF = cof(__webpack_require__(165)(proto)) == NUMBER; var TRIM = 'trim' in String.prototype; // 7.1.3 ToNumber(argument) var toNumber = function (argument) { var it = toPrimitive(argument, false); if (typeof it == 'string' && it.length > 2) { it = TRIM ? it.trim() : $trim(it, 3); var first = it.charCodeAt(0); var third, radix, maxCode; if (first === 43 || first === 45) { third = it.charCodeAt(2); if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix } else if (first === 48) { switch (it.charCodeAt(1)) { case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i default: return +it; } for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { code = digits.charCodeAt(i); // parseInt parses a string to a first unavailable symbol // but ToNumber should return NaN if a string contains unavailable symbols if (code < 48 || code > maxCode) return NaN; } return parseInt(digits, radix); } } return +it; }; if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { $Number = function Number(value) { var it = arguments.length < 1 ? 0 : value; var that = this; return that instanceof $Number // check on 1..constructor(foo) case && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); }; for (var keys = __webpack_require__(20) ? gOPN(Base) : ( // ES3: 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES6 (in case, if modules with ES6 Number statics required before): 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' ).split(','), j = 0, key; keys.length > j; j++) { if (has(Base, key = keys[j]) && !has($Number, key)) { dP($Number, key, gOPD(Base, key)); } } $Number.prototype = proto; proto.constructor = $Number; __webpack_require__(27)(global, NUMBER, $Number); } /***/ }), /* 333 */ /***/ (function(module, exports, __webpack_require__) { // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var isObject = __webpack_require__(22); var anObject = __webpack_require__(19); var check = function (O, proto) { anObject(O); if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line function (test, buggy, set) { try { set = __webpack_require__(60)(Function.call, __webpack_require__(241).f(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch (e) { buggy = true; } return function setPrototypeOf(O, proto) { check(O, proto); if (buggy) O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check }; /***/ }), /* 334 */ /***/ (function(module, exports) { exports.f = {}.propertyIsEnumerable; /***/ }), /* 335 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(37); var defined = __webpack_require__(32); var fails = __webpack_require__(24); var spaces = __webpack_require__(336); var space = '[' + spaces + ']'; var non = '\u200b\u0085'; var ltrim = RegExp('^' + space + space + '*'); var rtrim = RegExp(space + space + '*$'); var exporter = function (KEY, exec, ALIAS) { var exp = {}; var FORCE = fails(function () { return !!spaces[KEY]() || non[KEY]() != non; }); var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; if (ALIAS) exp[ALIAS] = fn; $export($export.P + $export.F * FORCE, 'String', exp); }; // 1 -> String#trimLeft // 2 -> String#trimRight // 3 -> String#trim var trim = exporter.trim = function (string, TYPE) { string = String(defined(string)); if (TYPE & 1) string = string.replace(ltrim, ''); if (TYPE & 2) string = string.replace(rtrim, ''); return string; }; module.exports = exporter; /***/ }), /* 336 */ /***/ (function(module, exports) { module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; /***/ }), /* 337 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var global = __webpack_require__(11); var dP = __webpack_require__(36); var DESCRIPTORS = __webpack_require__(20); var SPECIES = __webpack_require__(9)('species'); module.exports = function (KEY) { var C = global[KEY]; if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { configurable: true, get: function () { return this; } }); }; /***/ }), /* 338 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); var ImagesManager; ImagesManager = function ImagesManager() { var self = this; var cache = {}; var debounceDelay = 300; var registeredItems = []; var getNormalizedSize = function getNormalizedSize(image) { var size, imageSize = image.size; if ('custom' === imageSize) { var customDimension = image.dimension; if (customDimension.width || customDimension.height) { size = 'custom_' + customDimension.width + 'x' + customDimension.height; } else { return 'full'; } } else { size = imageSize; } return size; }; var viewsToUpdate = {}; self.updateOnReceiveImage = function () { var elementView = elementor.getPanelView().getCurrentPageView().getOption('editedElementView'); elementView.$el.addClass('elementor-loading'); // Add per cid for multiple images in a single view. viewsToUpdate[elementView.cid] = elementView; elementor.channels.editor.once('imagesManager:detailsReceived', function () { if (!_.isEmpty(viewsToUpdate)) { _(viewsToUpdate).each(function (view) { view.render(); view.$el.removeClass('elementor-loading'); }); } viewsToUpdate = {}; }); }; self.getImageUrl = function (image) { // Register for AJAX checking self.registerItem(image); var imageUrl = self.getItem(image); // If it's not in cache, like a new dropped widget or a custom size - get from settings if (!imageUrl) { if ('custom' === image.size) { if ($e.routes.isPartOf('panel/editor') && image.model) { self.updateOnReceiveImage(); } return; } // If it's a new dropped widget imageUrl = image.url; } return imageUrl; }; self.getItem = function (image) { var size = getNormalizedSize(image), id = image.id; if (!size) { return false; } if (cache[id] && cache[id][size]) { return cache[id][size]; } return false; }; self.registerItem = function (image) { if ('' === image.id) { // It's a new dropped widget return; } if (self.getItem(image)) { // It's already in cache return; } registeredItems.push(image); self.debounceGetRemoteItems(); }; self.getRemoteItems = function () { var requestedItems = [], registeredItemsLength = (0, _keys.default)(registeredItems).length, image, index; // It's one item, so we can render it from remote server if (0 === registeredItemsLength) { return; } for (index in registeredItems) { image = registeredItems[index]; var size = getNormalizedSize(image), id = image.id, isFirstTime = !cache[id] || 0 === (0, _keys.default)(cache[id]).length; requestedItems.push({ id: id, size: size, is_first_time: isFirstTime }); } elementorCommon.ajax.send('get_images_details', { data: { items: requestedItems }, success: function success(data) { var imageId, imageSize; for (imageId in data) { if (!cache[imageId]) { cache[imageId] = {}; } for (imageSize in data[imageId]) { cache[imageId][imageSize] = data[imageId][imageSize]; } } registeredItems = []; elementor.channels.editor.trigger('imagesManager:detailsReceived', data); } }); }; self.debounceGetRemoteItems = _.debounce(self.getRemoteItems, debounceDelay); }; module.exports = new ImagesManager(); /***/ }), /* 339 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(98); __webpack_require__(48); var Debug = function Debug() { var self = this, errorStack = [], settings = {}, elements = {}; var initSettings = function initSettings() { settings = { debounceDelay: 500, urlsToWatch: ['elementor/assets'] }; }; var initElements = function initElements() { elements.$window = jQuery(window); }; var onError = function onError(event) { var originalEvent = event.originalEvent, error = originalEvent.error; if (!error) { return; } var isInWatchList = false, urlsToWatch = settings.urlsToWatch; jQuery.each(urlsToWatch, function () { if (-1 !== error.stack.indexOf(this)) { isInWatchList = true; return false; } }); if (!isInWatchList) { return; } self.addError({ type: error.name, message: error.message, url: originalEvent.filename, line: originalEvent.lineno, column: originalEvent.colno }); }; var bindEvents = function bindEvents() { elements.$window.on('error', onError); }; var init = function init() { initSettings(); initElements(); bindEvents(); self.sendErrors = _.debounce(self.sendErrors, settings.debounceDelay); }; this.addURLToWatch = function (url) { settings.urlsToWatch.push(url); }; this.addCustomError = function (error, category, tag) { var errorInfo = { type: error.name, message: error.message, url: error.fileName || error.sourceURL, line: error.lineNumber || error.line, column: error.columnNumber || error.column, customFields: { category: category || 'general', tag: tag } }; if (!errorInfo.url) { var stackInfo = error.stack.match(/\n {4}at (.*?(?=:(\d+):(\d+)))/); if (stackInfo) { errorInfo.url = stackInfo[1]; errorInfo.line = stackInfo[2]; errorInfo.column = stackInfo[3]; } } this.addError(errorInfo); }; this.addError = function (errorParams) { var defaultParams = { type: 'Error', timestamp: Math.floor(new Date().getTime() / 1000), message: null, url: null, line: null, column: null, customFields: {} }; errorStack.push(jQuery.extend(true, defaultParams, errorParams)); self.sendErrors(); }; this.sendErrors = function () { // Avoid recursions on errors in ajax elements.$window.off('error', onError); jQuery.ajax({ url: elementorCommon.config.ajax.url, method: 'POST', data: { action: 'elementor_js_log', _nonce: elementorCommon.ajax.getSettings('nonce'), data: errorStack }, success: function success() { errorStack = []; // Restore error handler elements.$window.on('error', onError); } }); }; init(); }; module.exports = new Debug(); /***/ }), /* 340 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _stringify = _interopRequireDefault(__webpack_require__(158)); __webpack_require__(26); var Schemes, Stylesheet = __webpack_require__(244), ControlsCSSParser = __webpack_require__(226); Schemes = function Schemes() { var self = this, stylesheet = new Stylesheet(), schemes = {}, settings = { selectorWrapperPrefix: '.elementor-widget-' }, elements = {}; var buildUI = function buildUI() { elements.$previewHead.append(elements.$style); }; var initElements = function initElements() { elements.$style = jQuery('<style>', { id: 'elementor-style-scheme' }); elements.$previewHead = elementor.$previewContents.find('head'); }; var initSchemes = function initSchemes() { schemes = elementorCommon.helpers.cloneObject(elementor.config.schemes.items); }; var fetchControlStyles = function fetchControlStyles(control, controlsStack, widgetType) { ControlsCSSParser.addControlStyleRules(stylesheet, control, controlsStack, function (controlStyles) { return self.getSchemeValue(controlStyles.scheme.type, controlStyles.scheme.value, controlStyles.scheme.key).value; }, ['{{WRAPPER}}'], [settings.selectorWrapperPrefix + widgetType]); }; var fetchWidgetControlsStyles = function fetchWidgetControlsStyles(widget) { var widgetSchemeControls = self.getWidgetSchemeControls(widget); _.each(widgetSchemeControls, function (control) { fetchControlStyles(control, widgetSchemeControls, widget.widget_type); }); }; var fetchAllWidgetsSchemesStyle = function fetchAllWidgetsSchemesStyle() { _.each(elementor.config.widgets, function (widget) { fetchWidgetControlsStyles(widget); }); }; this.init = function () { initElements(); buildUI(); initSchemes(); return self; }; this.getWidgetSchemeControls = function (widget) { return _.filter(widget.controls, function (control) { return _.isObject(control.scheme); }); }; this.getSchemes = function () { return schemes; }; this.getEnabledSchemesTypes = function () { return elementor.config.schemes.enabled_schemes; }; this.getScheme = function (schemeType) { return schemes[schemeType]; }; this.getSchemeValue = function (schemeType, value, key) { if (this.getEnabledSchemesTypes().indexOf(schemeType) < 0) { return false; } var scheme = self.getScheme(schemeType), schemeValue = scheme.items[value]; if (key && _.isObject(schemeValue)) { var clonedSchemeValue = elementorCommon.helpers.cloneObject(schemeValue); clonedSchemeValue.value = schemeValue.value[key]; return clonedSchemeValue; } return schemeValue; }; this.printSchemesStyle = function () { stylesheet.empty(); fetchAllWidgetsSchemesStyle(); elements.$style.text(stylesheet); }; this.resetSchemes = function (schemeName) { schemes[schemeName] = elementorCommon.helpers.cloneObject(elementor.config.schemes.items[schemeName]); }; this.saveScheme = function (schemeName) { elementor.config.schemes.items[schemeName].items = elementorCommon.helpers.cloneObject(schemes[schemeName].items); var itemsToSave = {}; _.each(schemes[schemeName].items, function (item, key) { itemsToSave[key] = item.value; }); NProgress.start(); elementorCommon.ajax.addRequest('apply_scheme', { data: { scheme_name: schemeName, data: (0, _stringify.default)(itemsToSave) }, success: function success() { NProgress.done(); } }); }; this.setSchemeValue = function (schemeName, itemKey, value) { schemes[schemeName].items[itemKey].value = value; }; }; module.exports = new Schemes(); /***/ }), /* 341 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var presetsFactory; presetsFactory = { getPresetsDictionary: function getPresetsDictionary() { return { 11: 100 / 9, 12: 100 / 8, 14: 100 / 7, 16: 100 / 6, 33: 100 / 3, 66: 2 / 3 * 100, 83: 5 / 6 * 100 }; }, getAbsolutePresetValues: function getAbsolutePresetValues(preset) { var clonedPreset = elementorCommon.helpers.cloneObject(preset), presetDictionary = this.getPresetsDictionary(); _.each(clonedPreset, function (unitValue, unitIndex) { if (presetDictionary[unitValue]) { clonedPreset[unitIndex] = presetDictionary[unitValue]; } }); return clonedPreset; }, getPresets: function getPresets(columnsCount, presetIndex) { var presets = elementorCommon.helpers.cloneObject(elementor.config.elements.section.presets); if (columnsCount) { presets = presets[columnsCount]; } if (presetIndex) { presets = presets[presetIndex]; } return presets; }, getPresetByStructure: function getPresetByStructure(structure) { var parsedStructure = this.getParsedStructure(structure); return this.getPresets(parsedStructure.columnsCount, parsedStructure.presetIndex); }, getParsedStructure: function getParsedStructure(structure) { structure += ''; // Make sure this is a string return { columnsCount: structure.slice(0, -1), presetIndex: structure.substr(-1) }; }, getPresetSVG: function getPresetSVG(preset, svgWidth, svgHeight, separatorWidth) { svgWidth = svgWidth || 100; svgHeight = svgHeight || 50; separatorWidth = separatorWidth || 2; var absolutePresetValues = this.getAbsolutePresetValues(preset), presetSVGPath = this._generatePresetSVGPath(absolutePresetValues, svgWidth, svgHeight, separatorWidth); return this._createSVGPreset(presetSVGPath, svgWidth, svgHeight); }, _createSVGPreset: function _createSVGPreset(presetPath, svgWidth, svgHeight) { // this is here to avoid being picked up by https re-write systems var protocol = 'ht' + 'tp'; var svg = document.createElementNS(protocol + '://www.w3.org/2000/svg', 'svg'); svg.setAttributeNS(protocol + '://www.w3.org/2000/xmlns/', 'xmlns:xlink', protocol + '://www.w3.org/1999/xlink'); svg.setAttribute('viewBox', '0 0 ' + svgWidth + ' ' + svgHeight); var path = document.createElementNS(protocol + '://www.w3.org/2000/svg', 'path'); path.setAttribute('d', presetPath); svg.appendChild(path); return svg; }, _generatePresetSVGPath: function _generatePresetSVGPath(preset, svgWidth, svgHeight, separatorWidth) { var DRAW_SIZE = svgWidth - separatorWidth * (preset.length - 1); var xPointer = 0, dOutput = ''; for (var i = 0; i < preset.length; i++) { if (i) { dOutput += ' '; } var increment = preset[i] / 100 * DRAW_SIZE; xPointer += increment; dOutput += 'M' + +xPointer.toFixed(4) + ',0'; dOutput += 'V' + svgHeight; dOutput += 'H' + +(xPointer - increment).toFixed(4); dOutput += 'V0Z'; xPointer += separatorWidth; } return dOutput; } }; module.exports = presetsFactory; /***/ }), /* 342 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _typeof2 = _interopRequireDefault(__webpack_require__(65)); var _stringify = _interopRequireDefault(__webpack_require__(158)); var _component = _interopRequireDefault(__webpack_require__(343)); var TemplateLibraryCollection = __webpack_require__(356), TemplateLibraryManager; TemplateLibraryManager = function TemplateLibraryManager() { this.modalConfig = {}; var self = this, templateTypes = {}; var deleteDialog, errorDialog, templatesCollection, config = {}, filterTerms = {}; var registerDefaultTemplateTypes = function registerDefaultTemplateTypes() { var data = { saveDialog: { description: elementor.translate('save_your_template_description') }, 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); } } }; _.each(['page', 'section', elementor.config.document.type], function (type) { var safeData = jQuery.extend(true, {}, data, { saveDialog: { title: elementor.translate('save_your_template', [elementor.translate(type)]) } }); 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 (templateModel, options) { options = options || {}; self.layout.showLoadingView(); self.requestTemplateContent(templateModel.get('source'), templateModel.get('template_id'), { data: { page_settings: options.withPageSettings }, success: function success(data) { // Clone `self.modalConfig` because it deleted during the closing. var importOptions = jQuery.extend({}, self.modalConfig.importOptions); // Hide for next open. self.layout.hideLoadingView(); self.layout.hideModal(); elementor.channels.data.trigger('template:before:insert', templateModel); elementor.getPreviewView().addChildModel(data.content, importOptions); elementor.channels.data.trigger('template:after:insert', templateModel); if (options.withPageSettings) { elementor.settings.page.model.setExternalChange(data.page_settings); } }, error: function error(data) { self.showErrorDialog(data); }, complete: function complete() { self.layout.hideLoadingView(); } }); }; 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: elementor.translate('delete_template'), message: elementor.translate('delete_template_confirm'), strings: { confirm: elementor.translate('delete') } }); } return deleteDialog; }; this.getErrorDialog = function () { if (!errorDialog) { errorDialog = elementorCommon.dialogsManager.createWidget('alert', { id: 'elementor-template-library-error-dialog', headerMessage: elementor.translate('an_error_occurred') }); } 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) { message += '<div>' + error.message + '.</div>'; }); errorMessage = message; } else if (errorMessage) { errorMessage += '.'; } else { errorMessage = '<i><The error message is empty></i>'; } self.getErrorDialog().setMessage(elementor.translate('templates_request_error') + '<div id="elementor-template-library-error-info">' + errorMessage + '</div>').show(); }; }; module.exports = new TemplateLibraryManager(); /***/ }), /* 343 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _assign = _interopRequireDefault(__webpack_require__(194)); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get2 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var TemplateLibraryLayoutView = __webpack_require__(344); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "__construct", value: function __construct(args) { // Before contruct because it's used in defaultTabs(). this.docLibraryConfig = elementor.config.document.remoteLibrary; (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "__construct", this).call(this, args); if ('block' === this.docLibraryConfig.type) { this.setDefaultRoute('templates/blocks'); } else { this.setDefaultRoute('templates/pages'); } } }, { key: "getNamespace", value: function getNamespace() { return 'library'; } }, { key: "getModalLayout", value: function getModalLayout() { return TemplateLibraryLayoutView; } }, { key: "defaultTabs", value: function defaultTabs() { return { 'templates/blocks': { title: elementor.translate('blocks'), filter: { source: 'remote', type: 'block', subtype: this.docLibraryConfig.category } }, 'templates/pages': { title: elementor.translate('pages'), filter: { source: 'remote', type: 'page' } }, 'templates/my-templates': { title: elementor.translate('my_templates'), 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); } }; } }, { key: "defaultCommands", value: function defaultCommands() { return (0, _assign.default)((0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "defaultCommands", this).call(this), { open: this.show }); } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { show: { keys: 'ctrl+shift+l' } }; } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return '#elementor-template-library-header-menu'; } }, { key: "renderTab", value: function renderTab(tab) { this.manager.setScreen(this.tabs[tab].filter); } }, { key: "activateTab", value: function activateTab(tab) { $e.routes.saveState('library'); (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "activateTab", this).call(this, tab); } }, { key: "open", value: function open() { (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "open", this).call(this); if (!this.manager.layout) { this.manager.layout = this.layout; } return true; } }, { key: "close", value: function close() { if (!(0, _get2.default)((0, _getPrototypeOf2.default)(_default.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()); } } }]); return _default; }(elementorModules.common.ComponentModal); exports.default = _default; /***/ }), /* 344 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var TemplateLibraryHeaderActionsView = __webpack_require__(345), TemplateLibraryHeaderMenuView = __webpack_require__(346), TemplateLibraryHeaderPreviewView = __webpack_require__(347), TemplateLibraryHeaderBackView = __webpack_require__(348), TemplateLibraryCollectionView = __webpack_require__(349), TemplateLibrarySaveTemplateView = __webpack_require__(353), TemplateLibraryImportView = __webpack_require__(354), TemplateLibraryPreviewView = __webpack_require__(355); module.exports = elementorModules.common.views.modal.Layout.extend({ getModalOptions: function getModalOptions() { return { id: 'elementor-template-library-modal' }; }, getLogoOptions: function getLogoOptions() { return { title: elementor.translate('library'), click: function click() { $e.run('library/open', { toDefault: true }); } }; }, getTemplateActionButton: function getTemplateActionButton(templateData) { var viewId = '#tmpl-elementor-template-library-' + (templateData.isPro ? 'get-pro-button' : 'insert-button'); viewId = elementor.hooks.applyFilters('elementor/editor/template-library/template/action-button', viewId, templateData); var template = Marionette.TemplateCache.get(viewId); return Marionette.Renderer.render(template); }, 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() { this.getHeaderView().menuArea.reset(); this.modalContent.show(new TemplateLibraryImportView()); }, 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()); } }); /***/ }), /* 345 */ /***/ (function(module, exports, __webpack_require__) { "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'); } }); /***/ }), /* 346 */ /***/ (function(module, exports, __webpack_require__) { "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() }; } }); /***/ }), /* 347 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var TemplateLibraryInsertTemplateBehavior = __webpack_require__(245); module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-template-library-header-preview', id: 'elementor-template-library-header-preview', behaviors: { insertTemplate: { behaviorClass: TemplateLibraryInsertTemplateBehavior } } }); /***/ }), /* 348 */ /***/ (function(module, exports, __webpack_require__) { "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() { elementor.templates.showTemplates(); } }); /***/ }), /* 349 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(161); var TemplateLibraryTemplateLocalView = __webpack_require__(350), TemplateLibraryTemplateRemoteView = __webpack_require__(351), 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__(352); 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() { var $filters = this.$(this.ui.selectFilter); $filters.select2({ placeholder: elementor.translate('category'), allowClear: true, width: 150 }); }, 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'))); }, onRenderCollection: function onRenderCollection() { this.addSourceData(); this.toggleFilterClass(); if ('remote' === elementor.templates.getFilter('source') && 'page' !== elementor.templates.getFilter('type')) { this.setFiltersUI(); 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; /***/ }), /* 350 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var TemplateLibraryTemplateView = __webpack_require__(246), 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; /***/ }), /* 351 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var TemplateLibraryTemplateView = __webpack_require__(246), 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() { elementor.templates.layout.showPreviewView(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; /***/ }), /* 352 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; 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: elementor.translate('templates_empty_title'), message: elementor.translate('templates_empty_message') }, noResults: { title: elementor.translate('templates_no_results_title'), message: elementor.translate('templates_no_results_message') }, noFavorites: { title: elementor.translate('templates_no_favorites_title'), message: elementor.translate('templates_no_favorites_message') } }, 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; /***/ }), /* 353 */ /***/ (function(module, exports, __webpack_require__) { "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; /***/ }), /* 354 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(80); __webpack_require__(48); 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; /***/ }), /* 355 */ /***/ (function(module, exports, __webpack_require__) { "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; /***/ }), /* 356 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var TemplateLibraryTemplateModel = __webpack_require__(357), TemplateLibraryCollection; TemplateLibraryCollection = Backbone.Collection.extend({ model: TemplateLibraryTemplateModel }); module.exports = TemplateLibraryCollection; /***/ }), /* 357 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Backbone.Model.extend({ defaults: { template_id: 0, title: '', source: '', type: '', subtype: '', author: '', thumbnail: '', url: '', export_link: '', tags: [] } }); /***/ }), /* 358 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(48); __webpack_require__(98); var Conditions; Conditions = function Conditions() { var self = this; this.compare = function (leftValue, rightValue, operator) { switch (operator) { /* eslint-disable eqeqeq */ case '==': return leftValue == rightValue; case '!=': return leftValue != rightValue; /* eslint-enable eqeqeq */ case '!==': return leftValue !== rightValue; case 'in': return -1 !== rightValue.indexOf(leftValue); case '!in': return -1 === rightValue.indexOf(leftValue); case 'contains': return -1 !== leftValue.indexOf(rightValue); case '!contains': return -1 === leftValue.indexOf(rightValue); case '<': return leftValue < rightValue; case '<=': return leftValue <= rightValue; case '>': return leftValue > rightValue; case '>=': return leftValue >= rightValue; default: return leftValue === rightValue; } }; this.check = function (conditions, comparisonObject) { var isOrCondition = 'or' === conditions.relation, conditionSucceed = !isOrCondition; jQuery.each(conditions.terms, function () { var term = this, comparisonResult; if (term.terms) { comparisonResult = self.check(term, comparisonObject); } else { var parsedName = term.name.match(/(\w+)(?:\[(\w+)])?/), value = comparisonObject[parsedName[1]]; if (parsedName[2]) { value = value[parsedName[2]]; } comparisonResult = self.compare(value, term.value, term.operator); } if (isOrCondition) { if (comparisonResult) { conditionSucceed = true; } return !comparisonResult; } if (!comparisonResult) { return conditionSucceed = false; } }); return conditionSucceed; }; }; module.exports = new Conditions(); /***/ }), /* 359 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _component = _interopRequireDefault(__webpack_require__(360)); var HistoryPageView = __webpack_require__(361), Manager; Manager = function Manager() { var self = this; var addPanelPage = function addPanelPage() { elementor.getPanelView().addPage('historyPage', { view: HistoryPageView, title: elementor.translate('history') }); }; var init = function init() { elementor.on('preview:loaded', addPanelPage); $e.components.register(new _component.default({ manager: self })); self.history = __webpack_require__(369); self.revisions = __webpack_require__(379); self.revisions.init(); }; jQuery(window).on('elementor:init', init); }; module.exports = new Manager(); /***/ }), /* 360 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'panel/history'; } }, { key: "defaultTabs", value: function defaultTabs() { return { actions: { title: elementor.translate('actions') }, revisions: { title: elementor.translate('revisions') } }; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { actions: { keys: 'ctrl+shift+h' } }; } }, { key: "activate", value: function activate() { // Activate the tab component itself. $e.components.activate(this.getTabRoute(this.currentTab)); } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return '#elementor-panel-elements-navigation'; } }, { key: "renderTab", value: function renderTab(tab) { elementor.getPanelView().setPage('historyPage').showView(tab); } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 361 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _loading = _interopRequireDefault(__webpack_require__(362)); var _panelTab = _interopRequireDefault(__webpack_require__(363)); var _empty = _interopRequireDefault(__webpack_require__(365)); var TabHistoryView = __webpack_require__(366); module.exports = Marionette.LayoutView.extend({ template: '#tmpl-elementor-panel-history-page', regions: { content: '#elementor-panel-history-content' }, ui: { tabs: '.elementor-panel-navigation-tab' }, regionViews: {}, currentTab: null, initialize: function initialize() { this.initRegionViews(); }, initRegionViews: function initRegionViews() { var historyItems = elementor.history.history.getItems(); this.regionViews = { actions: { view: function view() { return TabHistoryView; }, options: { collection: historyItems } }, revisions: { view: function view() { var revisionsItems = elementor.history.revisions.getItems(); if (!revisionsItems) { return _loading.default; } if (1 === revisionsItems.length && 'current' === revisionsItems.models[0].get('type')) { return _empty.default; } return _panelTab.default; } } }; }, getCurrentTab: function getCurrentTab() { return this.currentTab; }, showView: function showView(viewName) { var viewDetails = this.regionViews[viewName], options = viewDetails.options || {}, View = viewDetails.view(); if (this.currentTab && this.currentTab.constructor === View) { return; } this.currentTab = new View(options); this.content.show(this.currentTab); } }); /***/ }), /* 362 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-panel-revisions-loading'; } }, { key: "id", value: function id() { return 'elementor-panel-revisions-loading'; } }, { key: "onRender", value: function onRender() { elementor.history.revisions.requestRevisions(function () { setTimeout(function () { return $e.routes.refreshContainer('panel'); }); }); } }]); return _default; }(Marionette.ItemView); exports.default = _default; /***/ }), /* 363 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.CompositeView.extend({ id: 'elementor-panel-revisions', template: '#tmpl-elementor-panel-revisions', childView: __webpack_require__(364), childViewContainer: '#elementor-revisions-list', ui: { discard: '.elementor-panel-scheme-discard .elementor-button', apply: '.elementor-panel-scheme-save .elementor-button' }, events: { 'click @ui.discard': 'onDiscardClick', 'click @ui.apply': 'onApplyClick' }, isRevisionApplied: false, currentPreviewId: null, currentPreviewItem: null, initialize: function initialize() { this.collection = elementor.history.revisions.getItems(); this.listenTo(elementor.channels.editor, 'saved', this.onEditorSaved); this.currentPreviewId = elementor.config.current_revision_id; }, getRevisionViewData: function getRevisionViewData(revisionView) { var self = this; elementor.history.revisions.getRevisionDataAsync(revisionView.model.get('id'), { success: function success(data) { elementor.history.revisions.setEditorData(data.elements); elementor.settings.page.model.set(data.settings); self.setRevisionsButtonsActive(true); revisionView.$el.removeClass('elementor-revision-item-loading'); self.enterReviewMode(); }, error: function error(errorMessage) { revisionView.$el.removeClass('elementor-revision-item-loading'); self.currentPreviewItem = null; self.currentPreviewId = null; alert(errorMessage); } }); }, setRevisionsButtonsActive: function setRevisionsButtonsActive(active) { this.ui.apply.add(this.ui.discard).prop('disabled', !active); }, deleteRevision: function deleteRevision(revisionView) { var self = this; revisionView.$el.addClass('elementor-revision-item-loading'); elementor.history.revisions.deleteRevision(revisionView.model, { success: function success() { if (revisionView.model.get('id') === self.currentPreviewId) { self.onDiscardClick(); } self.currentPreviewId = null; }, error: function error() { revisionView.$el.removeClass('elementor-revision-item-loading'); alert('An error occurred'); } }); }, enterReviewMode: function enterReviewMode() { elementor.changeEditMode('review'); }, exitReviewMode: function exitReviewMode() { elementor.changeEditMode('edit'); }, navigate: function navigate(reverse) { if (!this.currentPreviewId || !this.currentPreviewItem || this.children.length <= 1) { return; } var currentPreviewItemIndex = this.collection.indexOf(this.currentPreviewItem.model), requiredIndex = reverse ? currentPreviewItemIndex - 1 : currentPreviewItemIndex + 1; if (requiredIndex < 0) { requiredIndex = this.collection.length - 1; } if (requiredIndex >= this.collection.length) { requiredIndex = 0; } this.children.findByIndex(requiredIndex).ui.detailsArea.trigger('click'); }, onEditorSaved: function onEditorSaved() { this.exitReviewMode(); this.setRevisionsButtonsActive(false); this.currentPreviewId = elementor.config.current_revision_id; }, onApplyClick: function onApplyClick() { elementor.saver.setFlagEditorChange(true); elementor.saver.saveAutoSave(); this.isRevisionApplied = true; this.currentPreviewId = null; elementor.history.history.getItems().reset(); }, onDiscardClick: function onDiscardClick() { elementor.history.revisions.setEditorData(elementor.config.data); elementor.saver.setFlagEditorChange(this.isRevisionApplied); this.isRevisionApplied = false; this.setRevisionsButtonsActive(false); this.currentPreviewId = null; this.exitReviewMode(); if (this.currentPreviewItem) { this.currentPreviewItem.$el.removeClass('elementor-revision-current-preview'); } }, onDestroy: function onDestroy() { if (this.currentPreviewId && this.currentPreviewId !== elementor.config.current_revision_id) { this.onDiscardClick(); } }, onRenderCollection: function onRenderCollection() { if (!this.currentPreviewId) { return; } var currentPreviewModel = this.collection.findWhere({ id: this.currentPreviewId }); // Ensure the model is exist and not deleted during a save. if (currentPreviewModel) { this.currentPreviewItem = this.children.findByModelCid(currentPreviewModel.cid); this.currentPreviewItem.$el.addClass('elementor-revision-current-preview'); } }, onChildviewDetailsAreaClick: function onChildviewDetailsAreaClick(childView) { var self = this, revisionID = childView.model.get('id'); if (revisionID === self.currentPreviewId) { return; } if (self.currentPreviewItem) { self.currentPreviewItem.$el.removeClass('elementor-revision-current-preview elementor-revision-item-loading'); } childView.$el.addClass('elementor-revision-current-preview elementor-revision-item-loading'); if (elementor.saver.isEditorChanged() && (null === self.currentPreviewId || elementor.config.current_revision_id === self.currentPreviewId)) { elementor.saver.saveEditor({ status: 'autosave', onSuccess: function onSuccess() { self.getRevisionViewData(childView); } }); } else { self.getRevisionViewData(childView); } self.currentPreviewItem = childView; self.currentPreviewId = revisionID; }, onChildviewDeleteClick: function onChildviewDeleteClick(childView) { var self = this, type = childView.model.get('type'); var removeDialog = elementorCommon.dialogsManager.createWidget('confirm', { message: elementor.translate('dialog_confirm_delete', [type]), headerMessage: elementor.translate('delete_element', [type]), strings: { confirm: elementor.translate('delete'), cancel: elementor.translate('cancel') }, defaultOption: 'confirm', onConfirm: function onConfirm() { self.deleteRevision(childView); } }); removeDialog.show(); } }); /***/ }), /* 364 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-revisions-revision-item', className: 'elementor-revision-item', ui: { detailsArea: '.elementor-revision-item__details', deleteButton: '.elementor-revision-item__tools-delete' }, triggers: { 'click @ui.detailsArea': 'detailsArea:click', 'click @ui.deleteButton': 'delete:click' } }); /***/ }), /* 365 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-revisions-no-revisions', id: 'elementor-panel-revisions-no-revisions', className: 'elementor-nerd-box' }); /***/ }), /* 366 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(247); __webpack_require__(26); var _itemView = _interopRequireDefault(__webpack_require__(367)); var _empty = _interopRequireDefault(__webpack_require__(368)); module.exports = Marionette.CompositeView.extend({ id: 'elementor-panel-history', template: '#tmpl-elementor-panel-history-tab', childView: _itemView.default, childViewContainer: '#elementor-history-list', emptyView: _empty.default, currentItem: null, updateCurrentItem: function updateCurrentItem() { var _this = this; if (this.children.length <= 1) { return; } _.defer(function () { // Set current item - the first not applied item var currentItem = _this.collection.find(function (model) { return 'not_applied' === model.get('status'); }), currentView = _this.children.findByModel(currentItem); if (!currentView) { return; } var currentItemClass = 'elementor-history-item-current'; if (_this.currentItem) { _this.currentItem.removeClass(currentItemClass); } _this.currentItem = currentView.$el; _this.currentItem.addClass(currentItemClass); }); }, onRender: function onRender() { this.updateCurrentItem(); }, onRenderEmpty: function onRenderEmpty() { this.$el.addClass('elementor-empty'); }, onChildviewClick: function onChildviewClick(childView, event) { if (childView.$el === this.currentItem) { return; } var collection = event.model.collection, itemIndex = collection.findIndex(event.model); elementor.history.history.doItem(itemIndex); } }); /***/ }), /* 367 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-panel-history-item'; } }, { key: "className", value: function className() { return 'elementor-history-item elementor-history-item-' + this.model.get('status'); } }, { key: "triggers", value: function triggers() { return { click: 'click' }; } }]); return _default; }(Marionette.ItemView); exports.default = _default; /***/ }), /* 368 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-panel-history-no-items'; } }, { key: "id", value: function id() { return 'elementor-panel-history-no-items'; } }, { key: "onDestroy", value: function onDestroy() { this._parent.$el.removeClass('elementor-empty'); } }]); return _default; }(Marionette.ItemView); exports.default = _default; /***/ }), /* 369 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(26); var _itemModel = _interopRequireDefault(__webpack_require__(370)); var _component = _interopRequireDefault(__webpack_require__(371)); var ElementHistoryBehavior = __webpack_require__(372), CollectionHistoryBehavior = __webpack_require__(373); var Manager = function Manager() { var self = this, currentItemID = null, items = new Backbone.Collection([], { model: _itemModel.default }), editorSaved = false, active = true; var translations = { add: elementor.translate('added'), remove: elementor.translate('removed'), change: elementor.translate('edited'), move: elementor.translate('moved'), paste_style: elementor.translate('style_pasted'), reset_style: elementor.translate('style_reset') }; var addBehaviors = function addBehaviors(behaviors) { behaviors.ElementHistory = { behaviorClass: ElementHistoryBehavior }; behaviors.CollectionHistory = { behaviorClass: CollectionHistoryBehavior }; return behaviors; }; var addCollectionBehavior = function addCollectionBehavior(behaviors) { behaviors.CollectionHistory = { behaviorClass: CollectionHistoryBehavior }; return behaviors; }; var getActionLabel = function getActionLabel(itemData) { if (translations[itemData.type]) { return translations[itemData.type]; } return itemData.type; }; this.navigate = function (isRedo) { var currentItem = items.find(function (model) { return 'not_applied' === model.get('status'); }), currentItemIndex = items.indexOf(currentItem), requiredIndex = isRedo ? currentItemIndex - 1 : currentItemIndex + 1; if (!isRedo && !currentItem || requiredIndex < 0 || requiredIndex >= items.length) { return; } self.doItem(requiredIndex); }; var updatePanelPageCurrentItem = function updatePanelPageCurrentItem() { if ($e.routes.is('panel/history/actions')) { elementor.getPanelView().getCurrentPageView().getCurrentTab().updateCurrentItem(); } }; var onPanelSave = function onPanelSave() { if (items.length >= 2) { // Check if it's a save after made changes, `items.length - 1` is the `Editing Started Item var firstEditItem = items.at(items.length - 2); editorSaved = 'not_applied' === firstEditItem.get('status'); } }; var init = function init() { $e.components.register(new _component.default({ manager: self })); elementor.hooks.addFilter('elements/base/behaviors', addBehaviors); elementor.hooks.addFilter('elements/base-section-container/behaviors', addCollectionBehavior); elementor.channels.data.on('drag:before:update', self.startMovingItem).on('drag:after:update', self.endItem).on('element:before:add', self.startAddElement).on('element:after:add', self.endItem).on('element:before:remove', self.startRemoveElement).on('element:after:remove', self.endItem).on('element:before:paste:style', self.startPasteStyle).on('element:after:paste:style', self.endItem).on('element:before:reset:style', self.startResetStyle).on('element:after:reset:style', self.endItem).on('section:before:drop', self.startDropElement).on('section:after:drop', self.endItem).on('template:before:insert', self.startInsertTemplate).on('template:after:insert', self.endItem); elementor.channels.editor.on('saved', onPanelSave); }; this.setActive = function (value) { active = value; }; this.getActive = function () { return active; }; this.getItems = function () { return items; }; this.startItem = function (itemData) { currentItemID = this.addItem(itemData); }; this.endItem = function () { currentItemID = null; }; this.isItemStarted = function () { return null !== currentItemID; }; this.addItem = function (itemData) { if (!this.getActive()) { return; } if (!items.length) { items.add({ status: 'not_applied', title: elementor.translate('editing_started'), subTitle: '', action: '', editing_started: true }); } // Remove old applied items from top of list while (items.length && 'applied' === items.first().get('status')) { items.shift(); } var id = currentItemID ? currentItemID : new Date().getTime(); var currentItem = items.findWhere({ id: id }); if (!currentItem) { currentItem = new _itemModel.default({ id: id, title: itemData.title, subTitle: itemData.subTitle, action: getActionLabel(itemData), type: itemData.type, elementType: itemData.elementType }); self.startItemTitle = ''; self.startItemAction = ''; } var position = 0; // Temp fix. On move a column - insert the `remove` subItem before the section changes subItem. // In a multi columns section - the structure has been changed, // In a one column section - it's filled with an empty column, // The order is important for the `redoItem`, that needed to change the section first // and only after that - to remove the column. if ('column' === itemData.elementType && 'remove' === itemData.type && 'column' === currentItem.get('elementType')) { position = 1; } currentItem.get('items').add(itemData, { at: position }); items.add(currentItem, { at: 0 }); updatePanelPageCurrentItem(); return id; }; this.doItem = function (index) { // Don't track while restoring the item this.setActive(false); var item = items.at(index); if ('not_applied' === item.get('status')) { this.undoItem(index); } else { this.redoItem(index); } this.setActive(true); var panel = elementor.getPanelView(), panelPage = panel.getCurrentPageView(), viewToScroll; if ($e.routes.isPartOf('panel/editor')) { if (panelPage.getOption('editedElementView').isDestroyed) { // If the the element isn't exist - show the history panel $e.route('panel/history/actions'); } else { // If element exist - render again, maybe the settings has been changed viewToScroll = panelPage.getOption('editedElementView'); } } else if (item instanceof Backbone.Model && item.get('items').length) { var history = item.get('items').first().get('history'); if (history && history.behavior.view.model) { viewToScroll = self.findView(history.behavior.view.model.get('id')); } } updatePanelPageCurrentItem(); if (viewToScroll && !elementor.helpers.isInViewport(viewToScroll.$el[0], elementor.$previewContents.find('html')[0])) { elementor.helpers.scrollToView(viewToScroll.$el); } if (item.get('editing_started')) { if (!editorSaved) { elementor.saver.setFlagEditorChange(false); } } }; this.undoItem = function (index) { var item; for (var stepNum = 0; stepNum < index; stepNum++) { item = items.at(stepNum); if ('not_applied' === item.get('status')) { item.get('items').each(function (subItem) { var history = subItem.get('history'); if (history) { /* type duplicate first items hasn't history */ history.behavior.restore(subItem); } }); item.set('status', 'applied'); } } }; this.redoItem = function (index) { for (var stepNum = items.length - 1; stepNum >= index; stepNum--) { var item = items.at(stepNum); if ('applied' === item.get('status')) { var reversedSubItems = _.toArray(item.get('items').models).reverse(); _(reversedSubItems).each(function (subItem) { var history = subItem.get('history'); if (history) { /* type duplicate first items hasn't history */ history.behavior.restore(subItem, true); } }); item.set('status', 'not_applied'); } } }; this.getModelLabel = function (model) { if (!(model instanceof Backbone.Model)) { model = new Backbone.Model(model); } return elementor.getElementData(model).title; }; this.findView = function (modelID, views) { var _this = this; var founded = false; if (!views) { views = elementor.getPreviewView().children; } _.each(views._views, function (view) { if (founded) { return; } // Widget global used getEditModel var model = view.getEditModel ? view.getEditModel() : view.model; if (modelID === model.get('id')) { founded = view; } else if (view.children && view.children.length) { founded = _this.findView(modelID, view.children); } }); return founded; }; this.startMovingItem = function (model) { elementor.history.history.startItem({ type: 'move', title: self.getModelLabel(model), elementType: model.elType || model.get('elType') }); }; this.startInsertTemplate = function (model) { elementor.history.history.startItem({ type: 'add', title: elementor.translate('template'), subTitle: model.get('title'), elementType: 'template' }); }; this.startDropElement = function () { var elementView = elementor.channels.panelElements.request('element:selected'); elementor.history.history.startItem({ type: 'add', title: self.getModelLabel(elementView.model), elementType: elementView.model.get('widgetType') || elementView.model.get('elType') }); }; this.startAddElement = function (model) { elementor.history.history.startItem({ type: 'add', title: self.getModelLabel(model), elementType: model.elType }); }; this.startPasteStyle = function (model) { elementor.history.history.startItem({ type: 'paste_style', title: self.getModelLabel(model), elementType: model.get('elType') }); }; this.startResetStyle = function (model) { elementor.history.history.startItem({ type: 'reset_style', title: self.getModelLabel(model), elementType: model.get('elType') }); }; this.startRemoveElement = function (model) { elementor.history.history.startItem({ type: 'remove', title: self.getModelLabel(model), elementType: model.get('elType') }); }; init(); }; module.exports = new Manager(); /***/ }), /* 370 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Backbone.Model.extend({ defaults: { id: 0, type: '', elementType: '', status: 'not_applied', title: '', subTitle: '', action: '', history: {} }, initialize: function initialize() { this.set('items', new Backbone.Collection()); } }); /***/ }), /* 371 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'panel/history/actions'; } }, { key: "defaultCommands", value: function defaultCommands() { var _this = this; return { undo: function undo() { return _this.manager.navigate(); }, redo: function redo() { return _this.manager.navigate(true); } }; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { undo: { keys: 'ctrl+z', exclude: ['input'], scopes: ['panel', 'navigator'] }, redo: { keys: 'ctrl+shift+z, ctrl+y', exclude: ['input'], scopes: ['panel', 'navigator'] } }; } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 372 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); __webpack_require__(48); module.exports = Marionette.Behavior.extend({ oldValues: [], listenerAttached: false, initialize: function initialize() { this.lazySaveTextHistory = _.debounce(this.saveTextHistory.bind(this), 800); }, // use beforeRender that runs after the settingsModel is exist onBeforeRender: function onBeforeRender() { if (!this.listenerAttached) { this.listenTo(this.view.getEditModel().get('settings'), 'change', this.saveHistory); this.listenerAttached = true; } }, saveTextHistory: function saveTextHistory(model, changed, control) { var changedAttributes = {}, currentValue = model.get(control.name), newValue; if (currentValue instanceof Backbone.Collection) { // Deep clone. newValue = currentValue.toJSON(); } else { newValue = currentValue; } changedAttributes[control.name] = { old: this.oldValues[control.name], new: newValue }; var historyItem = { type: 'change', elementType: 'control', title: elementor.history.history.getModelLabel(model), subTitle: control.label, history: { behavior: this, changed: changedAttributes, model: this.view.getEditModel().toJSON() } }; elementor.history.history.addItem(historyItem); delete this.oldValues[control.name]; }, saveHistory: function saveHistory(model, options) { if (!elementor.history.history.getActive()) { return; } var self = this, changed = (0, _keys.default)(model.changed), control = model.controls[changed[0]]; if (!control && options && options.control) { control = options.control; } if (!changed.length || !control) { return; } if (1 === changed.length) { if (_.isUndefined(self.oldValues[control.name])) { self.oldValues[control.name] = model.previous(control.name); } if (elementor.history.history.isItemStarted()) { // Do not delay the execution self.saveTextHistory(model, changed, control); } else { self.lazySaveTextHistory(model, changed, control); } return; } var changedAttributes = {}; _.each(changed, function (controlName) { changedAttributes[controlName] = { old: model.previous(controlName), new: model.get(controlName) }; }); var historyItem = { type: 'change', elementType: 'control', title: elementor.history.history.getModelLabel(model), history: { behavior: this, changed: changedAttributes, model: this.view.getEditModel().toJSON() } }; if (1 === changed.length) { historyItem.subTitle = control.label; } elementor.history.history.addItem(historyItem); }, restore: function restore(historyItem, isRedo) { var history = historyItem.get('history'), modelID = history.model.id, view = elementor.history.history.findView(modelID); if (!view) { return; } var model = view.getEditModel ? view.getEditModel() : view.model, settings = model.get('settings'), behavior = view.getBehavior('ElementHistory'); // Stop listen to restore actions behavior.stopListening(settings, 'change', this.saveHistory); var restoredValues = {}; _.each(history.changed, function (values, key) { if (isRedo) { restoredValues[key] = values.new; } else { restoredValues[key] = values.old; } }); // Set at once. settings.setExternalChange(restoredValues); historyItem.set('status', isRedo ? 'not_applied' : 'applied'); // Listen again behavior.listenTo(settings, 'change', this.saveHistory); } }); /***/ }), /* 373 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.Behavior.extend({ listenerAttached: false, // use beforeRender that runs after the collection is exist onBeforeRender: function onBeforeRender() { if (this.view.collection && !this.listenerAttached) { this.view.collection.on('update', this.saveCollectionHistory, this).on('reset', this.onDeleteAllContent, this); this.listenerAttached = true; } }, onDeleteAllContent: function onDeleteAllContent(collection, event) { if (!elementor.history.history.getActive()) { // On Redo the History Listener is not active - stop here for better performance. return; } var modelsJSON = []; _.each(event.previousModels, function (model) { modelsJSON.push(model.toJSON({ copyHtmlCache: true })); }); var historyItem = { type: 'remove', elementType: 'section', title: elementor.translate('all_content'), history: { behavior: this, collection: event.previousModels, event: event, models: modelsJSON } }; elementor.history.history.addItem(historyItem); }, saveCollectionHistory: function saveCollectionHistory(collection, event) { if (!elementor.history.history.getActive()) { // On Redo the History Listener is not active - stop here for better performance. return; } var historyItem, models, firstModel, type; if (event.add) { models = event.changes.added; firstModel = models[0]; type = 'add'; } else { models = event.changes.removed; firstModel = models[0]; type = 'remove'; } var title = elementor.history.history.getModelLabel(firstModel); // If it's an unknown model - don't save if (!title) { return; } var modelsJSON = []; _.each(models, function (model) { modelsJSON.push(model.toJSON({ copyHtmlCache: true })); }); historyItem = { type: type, elementType: firstModel.get('elType'), elementID: firstModel.get('id'), title: title, history: { behavior: this, collection: collection, event: event, models: modelsJSON } }; elementor.history.history.addItem(historyItem); }, add: function add(models, toView, position) { if ('section' === models[0].elType) { _.each(models, function (model) { model.allowEmpty = true; }); } // Fix for case the iframe has been reloaded and the old `elementor-inner` is not exist. if (toView.$el.hasClass('elementor-inner') && toView.$el[0].ownerDocument !== elementor.$previewContents[0]) { toView = elementor.getPreviewView(); } toView.addChildModel(models, { at: position, silent: 0 }); }, remove: function remove(models, fromCollection) { fromCollection.remove(models, { silent: 0 }); }, restore: function restore(historyItem, isRedo) { var type = historyItem.get('type'), history = historyItem.get('history'), didAction = false, behavior; var BaseElementView = __webpack_require__(200); // Find the new behavior and work with him. if (history.behavior.view instanceof BaseElementView) { var modelID = history.behavior.view.model.get('id'), view = elementor.history.history.findView(modelID); if (view) { behavior = view.getBehavior('CollectionHistory'); } } // Container or new Elements - Doesn't have a new behavior if (!behavior) { behavior = history.behavior; } // Stop listen to undo actions behavior.view.collection.off('update', behavior.saveCollectionHistory); switch (type) { case 'add': if (isRedo) { this.add(history.models, behavior.view, history.event.index); } else { this.remove(history.models, behavior.view.collection); } didAction = true; break; case 'remove': if (isRedo) { this.remove(history.models, behavior.view.collection); } else { this.add(history.models, behavior.view, history.event.index); } didAction = true; break; } // Listen again behavior.view.collection.on('update', behavior.saveCollectionHistory, history.behavior); return didAction; } }); /***/ }), /* 374 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(48); module.exports = elementorModules.Module.extend({ getDefaultSettings: function getDefaultSettings() { return { actions: {}, classes: { list: 'elementor-context-menu-list', group: 'elementor-context-menu-list__group', groupPrefix: 'elementor-context-menu-list__group-', item: 'elementor-context-menu-list__item', itemTypePrefix: 'elementor-context-menu-list__item-', itemTitle: 'elementor-context-menu-list__item__title', itemShortcut: 'elementor-context-menu-list__item__shortcut', iconShortcut: 'elementor-context-menu-list__item__icon', itemDisabled: 'elementor-context-menu-list__item--disabled', divider: 'elementor-context-menu-list__divider', hidden: 'elementor-hidden' } }; }, buildActionItem: function buildActionItem(action) { var self = this, classes = self.getSettings('classes'), $item = jQuery('<div>', { class: classes.item + ' ' + classes.itemTypePrefix + action.name }), $itemTitle = jQuery('<div>', { class: classes.itemTitle }).text(action.title), $itemIcon = jQuery('<div>', { class: classes.iconShortcut }); if (action.icon) { $itemIcon.html(jQuery('<i>', { class: action.icon })); } $item.append($itemIcon, $itemTitle); if (action.shortcut) { var $itemShortcut = jQuery('<div>', { class: classes.itemShortcut }).html(action.shortcut); $item.append($itemShortcut); } if (action.callback) { $item.on('click', function () { self.runAction(action); }); } action.$item = $item; return $item; }, buildActionsList: function buildActionsList() { var self = this, classes = self.getSettings('classes'), groups = self.getSettings('groups'), $list = jQuery('<div>', { class: classes.list }); groups.forEach(function (group) { var $group = jQuery('<div>', { class: classes.group + ' ' + classes.groupPrefix + group.name }); group.actions.forEach(function (action) { $group.append(self.buildActionItem(action)); }); $list.append($group); group.$item = $group; }); return $list; }, toggleGroupVisibility: function toggleGroupVisibility(group, state) { group.$item.toggleClass(this.getSettings('classes.hidden'), !state); }, toggleActionVisibility: function toggleActionVisibility(action, state) { action.$item.toggleClass(this.getSettings('classes.hidden'), !state); }, toggleActionUsability: function toggleActionUsability(action, state) { action.$item.toggleClass(this.getSettings('classes.itemDisabled'), !state); }, isActionEnabled: function isActionEnabled(action) { if (!action.callback && !action.groups) { return false; } return action.isEnabled ? action.isEnabled() : true; }, runAction: function runAction(action) { if (!this.isActionEnabled(action)) { return; } action.callback(); this.getModal().hide(); }, initModal: function initModal() { var modal; this.getModal = function () { if (!modal) { modal = elementorCommon.dialogsManager.createWidget('simple', { className: 'elementor-context-menu', message: this.buildActionsList(), iframe: elementor.$preview, effects: { hide: 'hide', show: 'show' }, hide: { onOutsideContextMenu: true }, position: { my: (elementorCommon.config.isRTL ? 'right' : 'left') + ' top', collision: 'fit' } }); } return modal; }; }, show: function show(event) { var self = this, modal = self.getModal(); modal.setSettings('position', { of: event }); self.getSettings('groups').forEach(function (group) { var isGroupVisible = false !== group.isVisible; self.toggleGroupVisibility(group, isGroupVisible); if (isGroupVisible) { group.actions.forEach(function (action) { var isActionVisible = false !== action.isVisible; self.toggleActionVisibility(action, isActionVisible); if (isActionVisible) { self.toggleActionUsability(action, self.isActionEnabled(action)); } }); } }); modal.show(); }, destroy: function destroy() { this.getModal().destroy(); }, onInit: function onInit() { this.initModal(); } }); /***/ }), /* 375 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get2 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _base = _interopRequireDefault(__webpack_require__(250)); var AddSectionView = /*#__PURE__*/ function (_BaseAddSectionView) { (0, _inherits2.default)(AddSectionView, _BaseAddSectionView); function AddSectionView() { (0, _classCallCheck2.default)(this, AddSectionView); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(AddSectionView).apply(this, arguments)); } (0, _createClass2.default)(AddSectionView, [{ key: "className", value: function className() { return (0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "className", this).call(this) + ' elementor-add-section-inline'; } }, { key: "fadeToDeath", value: function fadeToDeath() { var self = this; self.$el.slideUp(function () { self.destroy(); }); } }, { key: "paste", value: function paste() { (0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "paste", this).call(this); this.destroy(); } }, { key: "onCloseButtonClick", value: function onCloseButtonClick() { this.fadeToDeath(); } }, { key: "onPresetSelected", value: function onPresetSelected(event) { (0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "onPresetSelected", this).call(this, event); this.destroy(); } }, { key: "onAddTemplateButtonClick", value: function onAddTemplateButtonClick() { (0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "onAddTemplateButtonClick", this).call(this); this.destroy(); } }, { key: "onDropping", value: function onDropping() { (0, _get2.default)((0, _getPrototypeOf2.default)(AddSectionView.prototype), "onDropping", this).call(this); this.destroy(); } }]); return AddSectionView; }(_base.default); var _default = AddSectionView; exports.default = _default; /***/ }), /* 376 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var BaseElementView = __webpack_require__(200), ColumnEmptyView = __webpack_require__(377), ColumnView; ColumnView = BaseElementView.extend({ template: Marionette.TemplateCache.get('#tmpl-elementor-column-content'), emptyView: ColumnEmptyView, childViewContainer: '> .elementor-column-wrap > .elementor-widget-wrap', toggleEditTools: true, behaviors: function behaviors() { var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments); _.extend(behaviors, { Sortable: { behaviorClass: __webpack_require__(227), elChildType: 'widget' }, Resizable: { behaviorClass: __webpack_require__(378) } }); return elementor.hooks.applyFilters('elements/column/behaviors', behaviors, this); }, className: function className() { var classes = BaseElementView.prototype.className.apply(this, arguments), type = this.isInner() ? 'inner' : 'top'; return classes + ' elementor-column elementor-' + type + '-column'; }, tagName: function tagName() { return this.model.getSetting('html_tag') || 'div'; }, ui: function ui() { var ui = BaseElementView.prototype.ui.apply(this, arguments); ui.columnInner = '> .elementor-column-wrap'; ui.percentsTooltip = '> .elementor-element-overlay .elementor-column-percents-tooltip'; return ui; }, getEditButtons: function getEditButtons() { var elementData = elementor.getElementData(this.model), editTools = {}; editTools.edit = { title: elementor.translate('edit_element', [elementData.title]), icon: 'column' }; if (elementor.config.editButtons) { editTools.duplicate = { title: elementor.translate('duplicate_element', [elementData.title]), icon: 'clone' }; editTools.add = { title: elementor.translate('add_element', [elementData.title]), icon: 'plus' }; editTools.remove = { title: elementor.translate('delete_element', [elementData.title]), icon: 'close' }; } return editTools; }, initialize: function initialize() { BaseElementView.prototype.initialize.apply(this, arguments); this.addControlValidator('_inline_size', this.onEditorInlineSizeInputChange); }, attachElContent: function attachElContent() { BaseElementView.prototype.attachElContent.apply(this, arguments); var $tooltip = jQuery('<div>', { class: 'elementor-column-percents-tooltip' }); this.$el.children('.elementor-element-overlay').append($tooltip); }, getContextMenuGroups: function getContextMenuGroups() { var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments), generalGroupIndex = groups.indexOf(_.findWhere(groups, { name: 'general' })); groups.splice(generalGroupIndex + 1, 0, { name: 'addNew', actions: [{ name: 'addNew', icon: 'eicon-plus', title: elementor.translate('new_column'), callback: this.addNewColumn.bind(this) }] }); return groups; }, isDroppingAllowed: function isDroppingAllowed() { var elementView = elementor.channels.panelElements.request('element:selected'); if (!elementView) { return false; } var elType = elementView.model.get('elType'); if ('section' === elType) { return !this.isInner(); } return 'widget' === elType; }, getPercentsForDisplay: function getPercentsForDisplay() { var inlineSize = +this.model.getSetting('_inline_size') || this.getPercentSize(); return inlineSize.toFixed(1) + '%'; }, changeSizeUI: function changeSizeUI() { var self = this, columnSize = self.model.getSetting('_column_size'); self.$el.attr('data-col', columnSize); _.defer(function () { // Wait for the column size to be applied if (self.ui.percentsTooltip) { self.ui.percentsTooltip.text(self.getPercentsForDisplay()); } }); }, getPercentSize: function getPercentSize(size) { if (!size) { size = this.el.getBoundingClientRect().width; } return +(size / this.$el.parent().width() * 100).toFixed(3); }, getSortableOptions: function getSortableOptions() { return { connectWith: '.elementor-widget-wrap', items: '> .elementor-element' }; }, changeChildContainerClasses: function changeChildContainerClasses() { var emptyClass = 'elementor-element-empty', populatedClass = 'elementor-element-populated'; if (this.collection.isEmpty()) { this.ui.columnInner.removeClass(populatedClass).addClass(emptyClass); } else { this.ui.columnInner.removeClass(emptyClass).addClass(populatedClass); } }, addNewColumn: function addNewColumn() { this.trigger('request:add:new'); }, // Events onCollectionChanged: function onCollectionChanged() { BaseElementView.prototype.onCollectionChanged.apply(this, arguments); this.changeChildContainerClasses(); }, onRender: function onRender() { var self = this; BaseElementView.prototype.onRender.apply(self, arguments); self.changeChildContainerClasses(); self.changeSizeUI(); self.$el.html5Droppable({ items: ' > .elementor-column-wrap > .elementor-widget-wrap > .elementor-element, >.elementor-column-wrap > .elementor-widget-wrap > .elementor-empty-view > .elementor-first-add', axis: ['vertical'], groups: ['elementor-element'], isDroppingAllowed: self.isDroppingAllowed.bind(self), currentElementClass: 'elementor-html5dnd-current-element', placeholderClass: 'elementor-sortable-placeholder elementor-widget-placeholder', hasDraggingOnChildClass: 'elementor-dragging-on-child', onDropping: function onDropping(side, event) { event.stopPropagation(); // Triggering drag end manually, since it won't fired above iframe elementor.getPreviewView().onPanelElementDragEnd(); var newIndex = jQuery(this).index(); if ('bottom' === side) { newIndex++; } self.addElementFromPanel({ at: newIndex }); } }); }, onSettingsChanged: function onSettingsChanged(settings) { BaseElementView.prototype.onSettingsChanged.apply(this, arguments); var changedAttributes = settings.changedAttributes(); if ('_column_size' in changedAttributes || '_inline_size' in changedAttributes) { this.changeSizeUI(); } }, onEditorInlineSizeInputChange: function onEditorInlineSizeInputChange(newValue, oldValue) { var errors = [], columnSize = this.model.getSetting('_column_size'); // If there's only one column if (100 === columnSize) { errors.push('Could not resize one column'); return errors; } if (!oldValue) { oldValue = columnSize; } try { this._parent.resizeChild(this, +oldValue, +newValue); } catch (e) { if (e.message === this._parent.errors.columnWidthTooLarge) { errors.push(e.message); } } return errors; }, onAddButtonClick: function onAddButtonClick(event) { event.stopPropagation(); this.addNewColumn(); } }); module.exports = ColumnView; /***/ }), /* 377 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-empty-preview', className: 'elementor-empty-view', events: { click: 'onClickAdd' }, behaviors: function behaviors() { return { contextMenu: { behaviorClass: __webpack_require__(201), groups: this.getContextMenuGroups() } }; }, getContextMenuGroups: function getContextMenuGroups() { return [{ name: 'general', actions: [{ name: 'paste', title: elementor.translate('paste'), callback: this.paste.bind(this), isEnabled: this.isPasteEnabled.bind(this) }] }]; }, paste: function paste() { var self = this, elements = elementorCommon.storage.get('transfer').elements, index = 0; elements.forEach(function (item) { self._parent.addChildElement(item, { at: index, clone: true }); index++; }); }, isPasteEnabled: function isPasteEnabled() { var transferData = elementorCommon.storage.get('transfer'); if (!transferData) { return false; } if ('section' === transferData.elementsType) { return transferData.elements[0].isInner && !this._parent.isInner(); } return 'widget' === transferData.elementsType; }, onClickAdd: function onClickAdd() { $e.route('panel/elements/categories'); } }); /***/ }), /* 378 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ResizableBehavior; ResizableBehavior = Marionette.Behavior.extend({ defaults: { handles: elementorCommon.config.isRTL ? 'w' : 'e' }, events: { resizestart: 'onResizeStart', resizestop: 'onResizeStop', resize: 'onResize' }, initialize: function initialize() { Marionette.Behavior.prototype.initialize.apply(this, arguments); this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeSwitched); }, active: function active() { if (!elementor.userCan('design')) { return; } this.deactivate(); var options = _.clone(this.options); delete options.behaviorClass; var $childViewContainer = this.getChildViewContainer(), defaultResizableOptions = {}, resizableOptions = _.extend(defaultResizableOptions, options); $childViewContainer.resizable(resizableOptions); }, deactivate: function deactivate() { if (this.getChildViewContainer().resizable('instance')) { this.getChildViewContainer().resizable('destroy'); } }, onEditModeSwitched: function onEditModeSwitched(activeMode) { if ('edit' === activeMode) { this.active(); } else { this.deactivate(); } }, onRender: function onRender() { var self = this; _.defer(function () { self.onEditModeSwitched(elementor.channels.dataEditMode.request('activeMode')); }); }, onDestroy: function onDestroy() { this.deactivate(); }, onResizeStart: function onResizeStart(event) { event.stopPropagation(); this.view.$el.data('originalWidth', this.view.el.getBoundingClientRect().width); this.view.triggerMethod('request:resize:start', event); }, onResizeStop: function onResizeStop(event) { event.stopPropagation(); this.view.triggerMethod('request:resize:stop'); }, onResize: function onResize(event, ui) { event.stopPropagation(); this.view.triggerMethod('request:resize', ui, event); }, getChildViewContainer: function getChildViewContainer() { return this.$el; } }); module.exports = ResizableBehavior; /***/ }), /* 379 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _component = _interopRequireDefault(__webpack_require__(380)); var RevisionsCollection = __webpack_require__(381), RevisionsManager; RevisionsManager = function RevisionsManager() { var self = this; var revisions; var onEditorSaved = function onEditorSaved(data) { if (data.latest_revisions) { self.addRevisions(data.latest_revisions); } self.requestRevisions(function () { if (data.revisions_ids) { var revisionsToKeep = revisions.filter(function (revision) { return -1 !== data.revisions_ids.indexOf(revision.get('id')); }); revisions.reset(revisionsToKeep); } }); }; var attachEvents = function attachEvents() { elementor.channels.editor.on('saved', onEditorSaved); }; this.getItems = function () { return revisions; }; this.requestRevisions = function (callback) { var _this = this; if (revisions) { callback(revisions); return; } elementorCommon.ajax.addRequest('get_revisions', { success: function success(data) { revisions = new RevisionsCollection(data); revisions.on('update', _this.onRevisionsUpdate.bind(_this)); callback(revisions); } }); }; this.setEditorData = function (data) { var collection = elementor.getRegion('sections').currentView.collection; // Don't track in history. elementor.history.history.setActive(false); collection.reset(data); elementor.history.history.setActive(true); }; this.getRevisionDataAsync = function (id, options) { _.extend(options, { data: { id: id } }); return elementorCommon.ajax.addRequest('get_revision_data', options); }; this.addRevisions = function (items) { this.requestRevisions(function () { items.forEach(function (item) { var existedModel = revisions.findWhere({ id: item.id }); if (existedModel) { revisions.remove(existedModel, { silent: true }); } revisions.add(item, { silent: true }); }); revisions.trigger('update'); }); }; this.deleteRevision = function (revisionModel, options) { var params = { data: { id: revisionModel.get('id') }, success: function success() { if (options.success) { options.success(); } revisionModel.destroy(); } }; if (options.error) { params.error = options.error; } elementorCommon.ajax.addRequest('delete_revision', params); }; this.init = function () { attachEvents(); $e.components.register(new _component.default({ manager: self })); }; this.onRevisionsUpdate = function () { if ($e.routes.is('panel/history/revisions')) { $e.routes.refreshContainer('panel'); } }; }; module.exports = new RevisionsManager(); /***/ }), /* 380 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'panel/history/revisions'; } }, { key: "defaultCommands", value: function defaultCommands() { var _this = this; return { up: function up() { return _this.navigate(true); }, down: function down() { return _this.navigate(); } }; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { up: { keys: 'up', scopes: [this.getNamespace()] }, down: { keys: 'down', scopes: [this.getNamespace()] } }; } }, { key: "navigate", value: function navigate(up) { if (this.manager.getItems().length > 1) { elementor.getPanelView().getCurrentPageView().currentTab.navigate(up); } } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 381 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var RevisionModel = __webpack_require__(382); module.exports = Backbone.Collection.extend({ model: RevisionModel, comparator: function comparator(model) { return -model.get('timestamp'); } }); /***/ }), /* 382 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var RevisionModel; RevisionModel = Backbone.Model.extend(); RevisionModel.prototype.sync = function () { return null; }; module.exports = RevisionModel; /***/ }), /* 383 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(26); module.exports = Marionette.Behavior.extend({ previewWindow: null, ui: function ui() { return { buttonPreview: '#elementor-panel-footer-saver-preview', buttonPublish: '#elementor-panel-saver-button-publish', buttonSaveOptions: '#elementor-panel-saver-button-save-options', buttonPublishLabel: '#elementor-panel-saver-button-publish-label', menuSaveDraft: '#elementor-panel-footer-sub-menu-item-save-draft', lastEditedWrapper: '.elementor-last-edited-wrapper' }; }, events: function events() { return { 'click @ui.buttonPreview': 'onClickButtonPreview', 'click @ui.buttonPublish': 'onClickButtonPublish', 'click @ui.menuSaveDraft': 'onClickMenuSaveDraft' }; }, initialize: function initialize() { elementor.saver.on('before:save', this.onBeforeSave.bind(this)).on('after:save', this.onAfterSave.bind(this)).on('after:saveError', this.onAfterSaveError.bind(this)).on('page:status:change', this.onPageStatusChange); elementor.settings.page.model.on('change', this.onPageSettingsChange.bind(this)); elementor.channels.editor.on('status:change', this.activateSaveButtons.bind(this)); }, activateSaveButtons: function activateSaveButtons(hasChanges) { hasChanges = hasChanges || 'draft' === elementor.settings.page.model.get('post_status'); this.ui.buttonPublish.add(this.ui.menuSaveDraft).toggleClass('elementor-disabled', !hasChanges); this.ui.buttonSaveOptions.toggleClass('elementor-disabled', !hasChanges); }, onRender: function onRender() { this.setMenuItems(elementor.settings.page.model.get('post_status')); this.addTooltip(); }, onPageSettingsChange: function onPageSettingsChange(settings) { var changed = settings.changed; if (!_.isUndefined(changed.post_status)) { this.setMenuItems(changed.post_status); this.refreshWpPreview(); // Refresh page-settings post-status value. if ($e.routes.isPartOf('panel/page-settings')) { $e.routes.refreshContainer('panel'); } } }, onPageStatusChange: function onPageStatusChange(newStatus) { if ('publish' === newStatus) { elementor.notifications.showToast({ message: elementor.config.document.panel.messages.publish_notification, buttons: [{ name: 'view_page', text: elementor.translate('have_a_look'), callback: function callback() { open(elementor.config.document.urls.permalink); } }] }); } }, onBeforeSave: function onBeforeSave(options) { NProgress.start(); if ('autosave' === options.status) { this.ui.lastEditedWrapper.addClass('elementor-state-active'); } else { this.ui.buttonPublish.addClass('elementor-button-state'); } }, onAfterSave: function onAfterSave(data) { NProgress.done(); this.ui.buttonPublish.removeClass('elementor-button-state'); this.ui.lastEditedWrapper.removeClass('elementor-state-active'); this.refreshWpPreview(); this.setLastEdited(data); }, setLastEdited: function setLastEdited(data) { this.ui.lastEditedWrapper.removeClass('elementor-button-state').find('.elementor-last-edited').html(data.config.document.last_edited); }, onAfterSaveError: function onAfterSaveError() { NProgress.done(); this.ui.buttonPublish.removeClass('elementor-button-state'); }, onClickButtonPreview: function onClickButtonPreview() { // Open immediately in order to avoid popup blockers. this.previewWindow = open(elementor.config.document.urls.wp_preview, 'wp-preview-' + elementor.config.document.id); if (elementor.saver.isEditorChanged()) { // Force save even if it's saving now. if (elementor.saver.isSaving) { elementor.saver.isSaving = false; } elementor.saver.doAutoSave(); } }, onClickButtonPublish: function onClickButtonPublish() { if (this.ui.buttonPublish.hasClass('elementor-disabled')) { return; } elementor.saver.defaultSave(); }, onClickMenuSaveDraft: function onClickMenuSaveDraft() { elementor.saver.saveDraft(); }, setMenuItems: function setMenuItems(postStatus) { var publishLabel = 'publish'; switch (postStatus) { case 'publish': case 'private': publishLabel = 'update'; if (elementor.config.current_revision_id !== elementor.config.document.id) { this.activateSaveButtons(true); } break; case 'draft': if (!elementor.config.current_user_can_publish) { publishLabel = 'submit'; } this.activateSaveButtons(true); break; case 'pending': // User cannot change post status case undefined: // TODO: as a contributor it's undefined instead of 'pending'. if (!elementor.config.current_user_can_publish) { publishLabel = 'update'; } break; } this.ui.buttonPublishLabel.html(elementor.translate(publishLabel)); }, addTooltip: function addTooltip() { // Create tooltip on controls this.$el.find('.tooltip-target').tipsy({ // `n` for down, `s` for up gravity: 's', title: function title() { return this.getAttribute('data-tooltip'); } }); }, refreshWpPreview: function refreshWpPreview() { if (this.previewWindow) { // Refresh URL form updated config. try { this.previewWindow.location.href = elementor.config.document.urls.wp_preview; } catch (e) {// If the this.previewWindow is closed or it's domain was changed. // Do nothing. } } } }); /***/ }), /* 384 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseView = __webpack_require__(186); 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); } }); /***/ }), /* 385 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(98); var ControlBaseDataView = __webpack_require__(97), 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'); self.editor = ace.edit(this.ui.editor[0]); jQuery(self.editor.container).addClass('elementor-input-style elementor-code-editor'); self.editor.setOptions({ mode: 'ace/mode/' + self.model.attributes.language, minLines: 10, maxLines: Infinity, showGutter: true, useWorker: true, enableBasicAutocompletion: true, enableLiveAutocompletion: true }); 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; /***/ }), /* 386 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), ControlColorItemView; ControlColorItemView = ControlBaseDataView.extend({ applySavedValue: function applySavedValue() { ControlBaseDataView.prototype.applySavedValue.apply(this, arguments); var self = this, value = self.getControlValue(), colorInstance = self.ui.input.wpColorPicker('instance'); if (colorInstance) { self.ui.input.wpColorPicker('color', value); if (!value) { // Trigger `change` event manually, since it will not be triggered automatically on empty value self.ui.input.data('a8cIris')._change(); } } else { elementor.helpers.wpColorPicker(self.ui.input, { change: function change() { self.setValue(self.ui.input.wpColorPicker('color')); }, clear: function clear() { self.setValue(''); } }); } }, onBeforeDestroy: function onBeforeDestroy() { if (this.ui.input.wpColorPicker('instance')) { this.ui.input.wpColorPicker('close'); } this.$el.remove(); } }); module.exports = ControlColorItemView; /***/ }), /* 387 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(388); var ControlBaseUnitsItemView = __webpack_require__(253), 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; /***/ }), /* 388 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // B.2.3.10 String.prototype.link(url) __webpack_require__(389)('link', function (createHTML) { return function link(url) { return createHTML(this, 'a', 'href', url); }; }); /***/ }), /* 389 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(37); var fails = __webpack_require__(24); var defined = __webpack_require__(32); var quot = /"/g; // B.2.3.2.1 CreateHTML(string, tag, attribute, value) var createHTML = function (string, tag, attribute, value) { var S = String(defined(string)); var p1 = '<' + tag; if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; return p1 + '>' + S + '</' + tag + '>'; }; module.exports = function (NAME, exec) { var O = {}; O[NAME] = exec(createHTML); $export($export.P + $export.F * fails(function () { var test = ''[NAME]('"'); return test !== test.toLowerCase() || test.split('"').length > 3; }), 'String', O); }; /***/ }), /* 390 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(181); __webpack_require__(140); __webpack_require__(26); __webpack_require__(80); var ControlSelect2View = __webpack_require__(182); module.exports = ControlSelect2View.extend({ _enqueuedFonts: [], $previewContainer: null, enqueueFont: function enqueueFont(font) { if (-1 !== this._enqueuedFonts.indexOf(font)) { return; } var fontUrl; var fontType = elementor.config.controls.font.options[font]; switch (fontType) { case 'googlefonts': fontUrl = 'https://fonts.googleapis.com/css?family=' + font + '&text=' + font; break; case 'earlyaccess': var fontLowerString = font.replace(/\s+/g, '').toLowerCase(); fontUrl = 'https://fonts.googleapis.com/earlyaccess/' + fontLowerString + '.css'; break; } if (!_.isEmpty(fontUrl)) { jQuery('head').find('link:last').after('<link href="' + fontUrl + '" rel="stylesheet" type="text/css">'); } this._enqueuedFonts.push(font); }, 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(); self.enqueueFont(fontFamily); }); }, fontPreviewTemplate: function fontPreviewTemplate(state) { if (!state.id) { return state.text; } return jQuery('<span>', { text: state.text, css: { 'font-family': state.element.value.toString() } }); }, templateHelpers: function templateHelpers() { var helpers = ControlSelect2View.prototype.templateHelpers.apply(this, arguments), 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; } }); /***/ }), /* 391 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), 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(elementor.translate(hasImages ? 'gallery_images_selected' : 'gallery_no_images_selected', [imagesCount])); if (!hasImages) { return; } this.getControlValue().forEach(function (image) { var $thumbnail = jQuery('<div>', { 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(); }, 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: elementor.translate('insert_media') } }; if (this.hasImages()) { options.selection = this.fetchSelection(); } this.frame = wp.media(options); // 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); }, 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: elementor.translate('dialog_confirm_gallery_delete'), headerMessage: elementor.translate('delete_gallery'), strings: { confirm: elementor.translate('delete'), cancel: elementor.translate('cancel') }, 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; /***/ }), /* 392 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _baseData = _interopRequireDefault(__webpack_require__(97)); module.exports = _baseData.default.extend({}, { onPasteStyle: function onPasteStyle() { return false; } }); /***/ }), /* 393 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlSelect2View = __webpack_require__(182), 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('<span><i class="' + icon.id + '"></i> ' + icon.text + '</span>'); }, getSelect2Options: function getSelect2Options() { return { allowClear: true, templateResult: this.iconsList.bind(this), templateSelection: this.iconsList.bind(this) }; } }); module.exports = ControlIconView; /***/ }), /* 394 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf3 = _interopRequireDefault(__webpack_require__(3)); var _get2 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var ControlMultipleBaseItemView = __webpack_require__(167); var ControlIconsView = /*#__PURE__*/ function (_ControlMultipleBaseI) { (0, _inherits2.default)(ControlIconsView, _ControlMultipleBaseI); function ControlIconsView() { var _getPrototypeOf2; 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 = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(ControlIconsView)).call.apply(_getPrototypeOf2, [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, _getPrototypeOf3.default)(ControlIconsView.prototype), "ui", this).call(this); ui.controlMedia = '.elementor-control-media'; ui.svgUploader = '.elementor-control-svg-uploader'; ui.iconPickers = '.elementor-control-icon-picker, .elementor-control-media__preview, .elementor-control-media-upload-button'; ui.deleteButton = '.elementor-control-media__remove'; ui.previewPlaceholder = '.elementor-control-media__preview'; ui.previewContainer = '.elementor-control-preview-area'; 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.deleteButton': 'deleteIcon' }); } }, { key: "getControlValue", value: function getControlValue() { var value = (0, _get2.default)((0, _getPrototypeOf3.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 !ElementorConfig['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.elementSettingsModel.get(controlToMigrate); if (valueToMigrate) { return valueToMigrate; } return false; } }, { key: "onReady", value: function onReady() { var _this2 = this; // is migration allowed from fa4 if (!this.isMigrationAllowed()) { this.ui.previewContainer[0].addEventListener('click', function (event) { event.stopPropagation(); var onConfirm = function onConfirm() { window.location.href = ElementorConfig.tools_page_link + '&redirect_to=' + encodeURIComponent(document.location.href) + '#tab-fontawesome4_migration'; }; var enableMigrationDialog = elementor.helpers.getSimpleDialog('elementor-enable-fa5-dialog', elementor.translate('enable_fa5'), elementor.translate('dialog_confirm_enable_fa5'), elementor.translate('update'), 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, _getPrototypeOf3.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: elementor.translate('insert_media') }, library: { type: ['image/svg+xml'] }, states: [new wp.media.controller.Library({ title: elementor.translate('insert_media'), 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: "getSvgNotEnabledDialog", value: function getSvgNotEnabledDialog() { var _this4 = this; var onConfirm = function onConfirm() { elementorCommon.ajax.addRequest('enable_svg_uploads', {}, true); _this4.openFrame(); }; return elementor.helpers.getSimpleDialog('elementor-enable-svg-dialog', elementor.translate('enable_svg'), elementor.translate('dialog_confirm_enable_svg'), elementor.translate('enable'), onConfirm); } }, { key: "isSvgEnabled", value: function isSvgEnabled() { if (!this.cache.enableClicked) { return this.model.get('is_svg_enabled'); } return true; } }, { key: "openFrame", value: function openFrame() { if (!this.isSvgEnabled() && !elementor.iconManager.cache.svgDialogShown) { var dialog = this.getSvgNotEnabledDialog(); elementor.iconManager.cache.svgDialogShown = true; return dialog.show(); } if (!this.frame) { this.initFrame(); } this.frame.open(); // Set params to trigger sanitizer this.frame.uploader.uploader.param('uploadTypeCaller', 'elementor-editor-upload'); this.frame.uploader.uploader.param('upload_type', 'svg-icon'); 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(); var iconValue = controlValue.value, iconType = controlValue.library; if (!this.isMigrationAllowed() && !iconValue && this.getValueToMigrate()) { iconValue = this.getControlValue(); iconType = ''; } this.ui.controlMedia.toggleClass('elementor-media-empty', !iconValue); if (!iconValue) { this.ui.previewPlaceholder.html(''); return; } if ('svg' === iconType) { return elementor.helpers.fetchInlineSvg(iconValue.url, function (data) { _this5.ui.previewPlaceholder.html(data); }); } var previewHTML = '<i class="' + iconValue + '"></i>'; this.ui.previewPlaceholder.html(previewHTML); this.enqueueIconFonts(iconType); } }, { 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; /***/ }), /* 395 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlMultipleBaseItemView = __webpack_require__(167), 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; /***/ }), /* 396 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlMultipleBaseItemView = __webpack_require__(167), 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'; return ui; }, events: function events() { return _.extend(ControlMultipleBaseItemView.prototype.events.apply(this, arguments), { 'click @ui.frameOpeners': 'openFrame', 'click @ui.removeButton': 'deleteImage' }); }, getMediaType: function getMediaType() { return this.model.get('media_type'); }, applySavedValue: function applySavedValue() { var url = this.getControlValue('url'), mediaType = this.getMediaType(); if ('image' === mediaType) { this.ui.mediaImage.css('background-image', url ? 'url(' + url + ')' : ''); } else if ('video' === mediaType) { this.ui.mediaVideo.attr('src', url); } this.ui.controlMedia.toggleClass('elementor-media-empty', !url); }, openFrame: function openFrame() { if (!this.frame) { this.initFrame(); } this.frame.open(); var selectedId = this.getControlValue('id'); if (!selectedId) { return; } var selection = this.frame.state().get('selection'); 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() { // Set current doc id to attach uploaded images. wp.media.view.settings.post.id = elementor.config.document.id; this.frame = wp.media({ button: { text: elementor.translate('insert_media') }, states: [new wp.media.controller.Library({ title: elementor.translate('insert_media'), library: wp.media.query({ type: this.getMediaType() }), multiple: false, date: false })] }); // When a file is selected, run a callback. this.frame.on('insert select', this.select.bind(this)); }, /** * 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'); // Get the attachment from the modal frame. var attachment = this.frame.state().get('selection').first().toJSON(); if (attachment.url) { this.setValue({ url: attachment.url, id: attachment.id }); this.applySavedValue(); } this.trigger('after:select'); }, onBeforeDestroy: function onBeforeDestroy() { this.$el.remove(); } }); module.exports = ControlMediaItemView; /***/ }), /* 397 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), NumberValidator = __webpack_require__(398), 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 NumberValidator({ validationTerms: validationTerms })); } } }); module.exports = ControlNumberItemView; /***/ }), /* 398 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var Validator = __webpack_require__(207); 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; } }); /***/ }), /* 399 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlMultipleBaseItemView = __webpack_require__(167), 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', elementor.translate(reverseOrder ? 'asc' : 'desc')); }, onRender: function onRender() { ControlMultipleBaseItemView.prototype.onRender.apply(this, arguments); this.changeLabelTitle(); }, onInputChange: function onInputChange() { this.changeLabelTitle(); } }); module.exports = ControlOrderItemView; /***/ }), /* 400 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlChooseView = __webpack_require__(252), ControlPopoverStarterView; ControlPopoverStarterView = ControlChooseView.extend({ ui: function ui() { var ui = ControlChooseView.prototype.ui.apply(this, arguments); ui.popoverToggle = '.elementor-control-popover-toggle-toggle'; return ui; }, events: function events() { return _.extend(ControlChooseView.prototype.events.apply(this, arguments), { 'click @ui.popoverToggle': 'onPopoverToggleClick' }); }, onPopoverToggleClick: function onPopoverToggleClick() { this.$el.next('.elementor-controls-popover').toggle(); } }, { onPasteStyle: function onPasteStyle(control, clipboardValue) { return !clipboardValue || clipboardValue === control.return_value; } }); module.exports = ControlPopoverStarterView; /***/ }), /* 401 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(48); __webpack_require__(247); var _keys = _interopRequireDefault(__webpack_require__(58)); __webpack_require__(161); __webpack_require__(26); var ControlBaseDataView = __webpack_require__(97), RepeaterRowView = __webpack_require__(254), 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() { return { controlFields: this.model.get('fields'), titleField: this.model.get('title_field'), itemActions: this.model.get('item_actions') }; }, createItemModel: function createItemModel(attrs, options, controlView) { options = options || {}; options.controls = controlView.model.get('fields'); if (!attrs._id) { attrs._id = elementor.helpers.getUniqueID(); } return new elementorModules.editor.elements.models.BaseSettings(attrs, options); }, fillCollection: function fillCollection() { var controlName = this.model.get('name'); this.collection = this.elementSettingsModel.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 this.elementSettingsModel.set(controlName, this.collection, { silent: true }); this.listenTo(this.collection, 'change', this.onRowControlChange); this.listenTo(this.collection, 'update', this.onRowUpdate, this); } }, initialize: function initialize() { ControlBaseDataView.prototype.initialize.apply(this, arguments); this.fillCollection(); this.listenTo(this.collection, 'change', this.onRowControlChange); this.listenTo(this.collection, 'update', this.onRowUpdate, this); }, addRow: function addRow(data, options) { var id = elementor.helpers.getUniqueID(); if (data instanceof Backbone.Model) { data.set('_id', id); } else { data._id = id; } return this.collection.add(data, options); }, 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' }); } 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'), model = this.collection.at(oldIndex), newIndex = ui.item.index(); this.collection.remove(model); this.addRow(model, { at: newIndex }); }, onAddChild: function onAddChild() { this.updateChildIndexes(); this.updateActiveRow(); }, onRowUpdate: function onRowUpdate(collection, event) { // Simulate `changed` and `_previousAttributes` values var settings = this.elementSettingsModel, collectionCloned = collection.clone(), controlName = this.model.get('name'); if (event.add) { collectionCloned.remove(event.changes.added[0]); } else { collectionCloned.add(event.changes.removed[0], { at: event.index }); } settings.changed = {}; settings.changed[controlName] = collection; settings._previousAttributes = {}; settings._previousAttributes[controlName] = collectionCloned.toJSON(); settings.trigger('change', settings, settings._pending); delete settings.changed; delete settings._previousAttributes; this.toggleMinRowsClass(); }, onRowControlChange: function onRowControlChange(model) { // Simulate `changed` and `_previousAttributes` values var changed = (0, _keys.default)(model.changed); if (!changed.length) { return; } var collectionCloned = model.collection.toJSON(), modelIndex = model.collection.findIndex(model), element = this._parent.model, settings = element.get('settings'), controlName = this.model.get('name'); // Save it with old values collectionCloned[modelIndex] = model._previousAttributes; settings.changed = {}; settings.changed[controlName] = model.collection; settings._previousAttributes = {}; settings._previousAttributes[controlName] = collectionCloned; settings.trigger('change', settings); delete settings.changed; delete settings._previousAttributes; }, onButtonAddRowClick: function onButtonAddRowClick() { var defaults = {}; _.each(this.model.get('fields'), function (field) { defaults[field.name] = field.default; }); var newModel = this.addRow(defaults), newChildView = this.children.findByModel(newModel); this.editRow(newChildView); }, onChildviewClickRemove: function onChildviewClickRemove(childView) { childView.model.destroy(); if (childView === this.currentEditableChild) { delete this.currentEditableChild; } this.updateChildIndexes(); this.updateActiveRow(); }, onChildviewClickDuplicate: function onChildviewClickDuplicate(childView) { var newModel = this.createItemModel(childView.model.toJSON(), {}, this); this.addRow(newModel, { at: childView.itemIndex }); }, 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; /***/ }), /* 402 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseView = __webpack_require__(186), 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; /***/ }), /* 403 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), ControlSelectItemView; ControlSelectItemView = ControlBaseDataView.extend({}, { onPasteStyle: function onPasteStyle(control, clipboardValue) { if (control.groups) { return control.groups.some(function (group) { return ControlSelectItemView.onPasteStyle(group, clipboardValue); }); } return undefined !== control.options[clipboardValue]; } }); module.exports = ControlSelectItemView; /***/ }), /* 404 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); var _values = _interopRequireDefault(__webpack_require__(163)); var ControlBaseUnitsItemView = __webpack_require__(253), ControlSliderItemView; ControlSliderItemView = ControlBaseUnitsItemView.extend({ ui: function ui() { var ui = ControlBaseUnitsItemView.prototype.ui.apply(this, arguments); ui.slider = '.elementor-slider'; return ui; }, templateHelpers: function templateHelpers() { var templateHelpers = ControlBaseUnitsItemView.prototype.templateHelpers.apply(this, arguments); templateHelpers.isMultiple = this.isMultiple(); return templateHelpers; }, isMultiple: function isMultiple() { var sizes = this.getControlValue('sizes'); return !jQuery.isEmptyObject(sizes); }, initSlider: function initSlider() { this.destroySlider(); var isMultiple = this.isMultiple(), unitRange = elementorCommon.helpers.cloneObject(this.getCurrentRange()), step = unitRange.step; var sizes = this.getSize(); if (isMultiple) { sizes = (0, _values.default)(sizes); } else { sizes = [sizes]; this.ui.input.attr(unitRange); } delete unitRange.step; var tooltips; var self = this; if (isMultiple) { tooltips = []; sizes.forEach(function () { return tooltips.push({ to: function to(value) { return value + self.getControlValue('unit'); } }); }); } var sliderInstance = noUiSlider.create(this.ui.slider[0], { start: sizes, range: unitRange, step: step, tooltips: tooltips, connect: isMultiple, format: { to: function to(value) { return Math.round(value * 1000) / 1000; }, from: function from(value) { return +value; } } }); sliderInstance.on('slide', this.onSlideChange.bind(this)); }, applySavedValue: function applySavedValue() { ControlBaseUnitsItemView.prototype.applySavedValue.apply(this, arguments); if (this.ui.slider[0].noUiSlider) { this.ui.slider[0].noUiSlider.set(this.getSize()); } }, getSize: function getSize() { return this.getControlValue(this.isMultiple() ? 'sizes' : 'size'); }, resetSize: function resetSize() { if (this.isMultiple()) { this.setValue('sizes', {}); } else { this.setValue('size', ''); } this.initSlider(); }, destroySlider: function destroySlider() { if (this.ui.slider[0].noUiSlider) { this.ui.slider[0].noUiSlider.destroy(); } }, onReady: function onReady() { if (this.isMultiple()) { this.$el.addClass('elementor-control-type-slider--multiple elementor-control-type-slider--handles-' + this.model.get('handles')); } this.initSlider(); }, onSlideChange: function onSlideChange(values, index) { if (this.isMultiple()) { var sizes = elementorCommon.helpers.cloneObject(this.getSize()), key = (0, _keys.default)(sizes)[index]; sizes[key] = values[index]; this.setValue('sizes', sizes); } else { this.setValue('size', values[0]); this.ui.input.val(values[0]); } }, onInputChange: function onInputChange(event) { var dataChanged = event.currentTarget.dataset.setting; if ('size' === dataChanged) { this.ui.slider[0].noUiSlider.set(this.getSize()); } else if ('unit' === dataChanged) { this.resetSize(); } }, onBeforeDestroy: function onBeforeDestroy() { this.destroySlider(); this.$el.remove(); } }); module.exports = ControlSliderItemView; /***/ }), /* 405 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), ControlStructureItemView; ControlStructureItemView = ControlBaseDataView.extend({ ui: function ui() { var ui = ControlBaseDataView.prototype.ui.apply(this, arguments); ui.resetStructure = '.elementor-control-structure-reset'; return ui; }, events: function events() { return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), { 'click @ui.resetStructure': 'onResetStructureClick' }); }, templateHelpers: function templateHelpers() { var helpers = ControlBaseDataView.prototype.templateHelpers.apply(this, arguments); helpers.getMorePresets = this.getMorePresets.bind(this); return helpers; }, getCurrentEditedSection: function getCurrentEditedSection() { var editor = elementor.getPanelView().getCurrentPageView(); return editor.getOption('editedElementView'); }, getMorePresets: function getMorePresets() { var parsedStructure = elementor.presetsFactory.getParsedStructure(this.getControlValue()); return elementor.presetsFactory.getPresets(parsedStructure.columnsCount); }, onInputChange: function onInputChange() { this.getCurrentEditedSection().redefineLayout(); this.render(); }, onResetStructureClick: function onResetStructureClick() { this.getCurrentEditedSection().resetColumnsCustomSize(); } }); module.exports = ControlStructureItemView; /***/ }), /* 406 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97); module.exports = ControlBaseDataView.extend({ setInputValue: function setInputValue(input, value) { this.$(input).prop('checked', this.model.get('return_value') === value); } }, { onPasteStyle: function onPasteStyle(control, clipboardValue) { return !clipboardValue || clipboardValue === control.return_value; } }); /***/ }), /* 407 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseView = __webpack_require__(186), ControlTabItemView; ControlTabItemView = ControlBaseView.extend({ triggers: { click: { event: 'control:tab:clicked', stopPropagation: false } } }); module.exports = ControlTabItemView; /***/ }), /* 408 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var BaseMultiple = __webpack_require__(167); module.exports = BaseMultiple.extend({ onReady: function onReady() { var self = this, positionBase = elementorCommon.config.isRTL ? 'right' : 'left', last, cache; // Based on /wp-includes/js/tinymce/plugins/wplink/plugin.js. this.ui.input.autocomplete({ source: function source(request, response) { if (!self.options.model.attributes.autocomplete) { return; } if (last === request.term) { response(cache); return; } if (/^https?:/.test(request.term) || request.term.indexOf('.') !== -1) { return response(); } // Show Spinner. self.ui.input.prev().show(); jQuery.post(window.ajaxurl, { editor: 'elementor', action: 'wp-link-ajax', page: 1, search: request.term, _ajax_linking_nonce: jQuery('#_ajax_linking_nonce').val() }, function (data) { cache = data; response(data); }, 'json').always(function () { // Hide Spinner. self.ui.input.prev().hide(); }); last = request.term; }, focus: function focus(event) { /* * Don't empty the URL input field, when using the arrow keys to * highlight items. See api.jqueryui.com/autocomplete/#event-focus */ event.preventDefault(); }, select: function select(event, ui) { self.ui.input.val(ui.item.permalink); self.setValue('url', ui.item.permalink); return false; }, open: function open(event) { jQuery(event.target).data('uiAutocomplete').menu.activeMenu.addClass('elementor-autocomplete-menu'); }, minLength: 2, position: { my: positionBase + ' top+2', at: positionBase + ' bottom' } }) // The `_renderItem` cannot be override via the arguments. .autocomplete('instance')._renderItem = function (ul, item) { var fallbackTitle = window.wpLinkL10n ? window.wpLinkL10n.noTitle : '', title = item.title ? item.title : fallbackTitle; return jQuery('<li role="option" id="mce-wp-autocomplete-' + item.ID + '">').append('<span>' + title + '</span> <span class="elementor-autocomplete-item-info">' + item.info + '</span>').appendTo(ul); }; }, onBeforeDestroy: function onBeforeDestroy() { if (this.ui.input.data('autocomplete')) { this.ui.input.autocomplete('destroy'); } this.$el.remove(); } }); /***/ }), /* 409 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlBaseDataView = __webpack_require__(97), ControlWPWidgetItemView; ControlWPWidgetItemView = ControlBaseDataView.extend({ ui: function ui() { var ui = ControlBaseDataView.prototype.ui.apply(this, arguments); ui.form = 'form'; ui.loading = '.wp-widget-form-loading'; return ui; }, events: function events() { return { 'keyup @ui.form :input': 'onFormChanged', 'change @ui.form :input': 'onFormChanged' }; }, onFormChanged: function onFormChanged() { var idBase = 'widget-' + this.model.get('id_base'), settings = this.ui.form.elementorSerializeObject()[idBase].REPLACE_TO_ID; this.setValue(settings); }, onReady: function onReady() { var self = this; elementorCommon.ajax.addRequest('editor_get_wp_widget_form', { data: { // Fake Widget ID id: self.model.cid, widget_type: self.model.get('widget'), data: self.elementSettingsModel.toJSON() }, success: function success(data) { self.ui.form.html(data); // WP >= 4.8 if (wp.textWidgets) { self.ui.form.addClass('open'); var event = new jQuery.Event('widget-added'); wp.textWidgets.handleWidgetAdded(event, self.ui.form); wp.mediaWidgets.handleWidgetAdded(event, self.ui.form); // WP >= 4.9 if (wp.customHtmlWidgets) { wp.customHtmlWidgets.handleWidgetAdded(event, self.ui.form); } } elementor.hooks.doAction('panel/widgets/' + self.model.get('widget') + '/controls/wp_widget/loaded', self); } }); } }); module.exports = ControlWPWidgetItemView; /***/ }), /* 410 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(80); __webpack_require__(89); var ControlBaseDataView = __webpack_require__(97), ControlWysiwygItemView; ControlWysiwygItemView = ControlBaseDataView.extend({ editor: null, ui: function ui() { var ui = ControlBaseDataView.prototype.ui.apply(this, arguments); jQuery.extend(ui, { inputWrapper: '.elementor-control-input-wrapper' }); return ui; }, events: function events() { return _.extend(ControlBaseDataView.prototype.events.apply(this, arguments), { 'keyup textarea.elementor-wp-editor': 'onBaseInputChange' }); }, // List of buttons to move {buttonToMove: afterButton} buttons: { addToBasic: { underline: 'italic' }, addToAdvanced: {}, moveToAdvanced: { blockquote: 'removeformat', alignleft: 'blockquote', aligncenter: 'alignleft', alignright: 'aligncenter' }, moveToBasic: {}, removeFromBasic: ['unlink', 'wp_more'], removeFromAdvanced: [] }, initialize: function initialize() { ControlBaseDataView.prototype.initialize.apply(this, arguments); var self = this; self.editorID = 'elementorwpeditor' + self.cid; // Wait a cycle before initializing the editors. _.defer(function () { if (self.isDestroyed) { return; } // Initialize QuickTags, and set as the default mode. quicktags({ buttons: 'strong,em,del,link,img,close', id: self.editorID }); if (elementor.config.rich_editing_enabled) { switchEditors.go(self.editorID, 'tmce'); } delete QTags.instances[0]; }); if (!elementor.config.rich_editing_enabled) { self.$el.addClass('elementor-rich-editing-disabled'); return; } var editorConfig = { id: self.editorID, selector: '#' + self.editorID, setup: function setup(editor) { self.editor = editor; } }; tinyMCEPreInit.mceInit[self.editorID] = _.extend(_.clone(tinyMCEPreInit.mceInit.elementorwpeditor), editorConfig); if (!elementor.config.tinymceHasCustomConfig) { self.rearrangeButtons(); } }, applySavedValue: function applySavedValue() { if (!this.editor) { return; } var controlValue = this.getControlValue(); this.editor.setContent(controlValue); // Update also the plain textarea jQuery('#' + this.editorID).val(controlValue); }, saveEditor: function saveEditor() { this.editor.save(); this.setValue(this.editor.getContent()); }, moveButtons: function moveButtons(buttonsToMove, from, to) { if (!to) { to = from; from = null; } _.each(buttonsToMove, function (afterButton, button) { var afterButtonIndex = to.indexOf(afterButton); if (from) { var buttonIndex = from.indexOf(button); if (-1 === buttonIndex) { throw new ReferenceError('Trying to move non-existing button `' + button + '`'); } from.splice(buttonIndex, 1); } if (-1 === afterButtonIndex) { throw new ReferenceError('Trying to move button after non-existing button `' + afterButton + '`'); } to.splice(afterButtonIndex + 1, 0, button); }); }, rearrangeButtons: function rearrangeButtons() { var editorProps = tinyMCEPreInit.mceInit[this.editorID], editorBasicToolbarButtons = editorProps.toolbar1.split(','), editorAdvancedToolbarButtons = editorProps.toolbar2.split(','); editorBasicToolbarButtons = _.difference(editorBasicToolbarButtons, this.buttons.removeFromBasic); editorAdvancedToolbarButtons = _.difference(editorAdvancedToolbarButtons, this.buttons.removeFromAdvanced); this.moveButtons(this.buttons.moveToBasic, editorAdvancedToolbarButtons, editorBasicToolbarButtons); this.moveButtons(this.buttons.moveToAdvanced, editorBasicToolbarButtons, editorAdvancedToolbarButtons); this.moveButtons(this.buttons.addToBasic, editorBasicToolbarButtons); this.moveButtons(this.buttons.addToAdvanced, editorAdvancedToolbarButtons); editorProps.toolbar1 = editorBasicToolbarButtons.join(','); editorProps.toolbar2 = editorAdvancedToolbarButtons.join(','); }, onReady: function onReady() { var _this = this; var $editor = jQuery(elementor.config.wp_editor.replace(/elementorwpeditor/g, this.editorID).replace('%%EDITORCONTENT%%', this.getControlValue())); this.ui.inputWrapper.html($editor); setTimeout(function () { if (!_this.isDestroyed) { _this.editor.on('keyup change undo redo SetContent', _this.saveEditor.bind(_this)); } }, 100); }, onBeforeDestroy: function onBeforeDestroy() { // Remove TinyMCE and QuickTags instances delete QTags.instances[this.editorID]; if (!elementor.config.rich_editing_enabled) { return; } tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.editorID); // Cleanup PreInit data delete tinyMCEPreInit.mceInit[this.editorID]; delete tinyMCEPreInit.qtInit[this.editorID]; } }); module.exports = ControlWysiwygItemView; /***/ }), /* 411 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = elementorModules.editor.elements.models.BaseSettings.extend({ defaults: { _column_size: 100 } }); /***/ }), /* 412 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(26); var _widgetDraggable = _interopRequireDefault(__webpack_require__(413)); var _widgetResizeable = _interopRequireDefault(__webpack_require__(414)); var BaseElementView = __webpack_require__(200), WidgetView; WidgetView = BaseElementView.extend({ _templateType: null, toggleEditTools: true, getTemplate: function getTemplate() { var editModel = this.getEditModel(); if ('remote' !== this.getTemplateType()) { return Marionette.TemplateCache.get('#tmpl-elementor-' + editModel.get('widgetType') + '-content'); } return _.template(''); }, className: function className() { var baseClasses = BaseElementView.prototype.className.apply(this, arguments); return baseClasses + ' elementor-widget ' + elementor.getElementData(this.getEditModel()).html_wrapper_class; }, events: function events() { var events = BaseElementView.prototype.events.apply(this, arguments); events.click = 'onClickEdit'; return events; }, behaviors: function behaviors() { var behaviors = BaseElementView.prototype.behaviors.apply(this, arguments); _.extend(behaviors, { InlineEditing: { behaviorClass: __webpack_require__(415), inlineEditingClass: 'elementor-inline-editing' }, Draggable: { behaviorClass: _widgetDraggable.default }, Resizable: { behaviorClass: _widgetResizeable.default } }); return elementor.hooks.applyFilters('elements/widget/behaviors', behaviors, this); }, getEditButtons: function getEditButtons() { var elementData = elementor.getElementData(this.model), editTools = {}; editTools.edit = { title: elementor.translate('edit_element', [elementData.title]), icon: 'edit' }; if (elementor.config.editButtons) { editTools.duplicate = { title: elementor.translate('duplicate_element', [elementData.title]), icon: 'clone' }; editTools.remove = { title: elementor.translate('delete_element', [elementData.title]), icon: 'close' }; } return editTools; }, initialize: function initialize() { BaseElementView.prototype.initialize.apply(this, arguments); var editModel = this.getEditModel(); editModel.on({ 'before:remote:render': this.onModelBeforeRemoteRender.bind(this), 'remote:render': this.onModelRemoteRender.bind(this) }); if ('remote' === this.getTemplateType() && !this.getEditModel().getHtmlCache()) { editModel.renderRemoteServer(); } var onRenderMethod = this.onRender; this.render = _.throttle(this.render, 300); this.onRender = function () { _.defer(onRenderMethod.bind(this)); }; }, getContextMenuGroups: function getContextMenuGroups() { var groups = BaseElementView.prototype.getContextMenuGroups.apply(this, arguments), transferGroupIndex = groups.indexOf(_.findWhere(groups, { name: 'transfer' })); groups.splice(transferGroupIndex + 1, 0, { name: 'save', actions: [{ name: 'save', title: elementor.translate('save_as_global'), shortcut: jQuery('<i>', { class: 'eicon-pro-icon' }) }] }); return groups; }, render: function render() { if (this.model.isRemoteRequestActive()) { this.handleEmptyWidget(); this.$el.addClass('elementor-element'); return; } Marionette.CompositeView.prototype.render.apply(this, arguments); }, handleEmptyWidget: function handleEmptyWidget() { // TODO: REMOVE THIS !! // TEMP CODING !! this.$el.addClass('elementor-widget-empty').append('<i class="elementor-widget-empty-icon ' + this.getEditModel().getIcon() + '"></i>'); }, getTemplateType: function getTemplateType() { if (null === this._templateType) { var editModel = this.getEditModel(), $template = jQuery('#tmpl-elementor-' + editModel.get('widgetType') + '-content'); this._templateType = $template.length ? 'js' : 'remote'; } return this._templateType; }, getHTMLContent: function getHTMLContent(html) { var htmlCache = this.getEditModel().getHtmlCache(); return htmlCache || html; }, attachElContent: function attachElContent(html) { var _this = this; _.defer(function () { elementorFrontend.elements.window.jQuery(_this.el).empty().append(_this.getHandlesOverlay(), _this.getHTMLContent(html)); _this.bindUIElements(); // Build again the UI elements since the content attached just now }); return this; }, addInlineEditingAttributes: function addInlineEditingAttributes(key, toolbar) { this.addRenderAttribute(key, { class: 'elementor-inline-editing', 'data-elementor-setting-key': key }); if (toolbar) { this.addRenderAttribute(key, { 'data-elementor-inline-editing-toolbar': toolbar }); } }, getRepeaterSettingKey: function getRepeaterSettingKey(settingKey, repeaterKey, repeaterItemIndex) { return [repeaterKey, repeaterItemIndex, settingKey].join('.'); }, onModelBeforeRemoteRender: function onModelBeforeRemoteRender() { this.$el.addClass('elementor-loading'); }, onBeforeDestroy: function onBeforeDestroy() { // Remove old style from the DOM. elementor.$previewContents.find('#elementor-style-' + this.model.cid).remove(); }, onModelRemoteRender: function onModelRemoteRender() { if (this.isDestroyed) { return; } this.$el.removeClass('elementor-loading'); this.render(); }, onRender: function onRender() { var self = this; BaseElementView.prototype.onRender.apply(self, arguments); var editModel = self.getEditModel(), skinType = editModel.getSetting('_skin') || 'default'; self.$el.attr('data-widget_type', editModel.get('widgetType') + '.' + skinType).removeClass('elementor-widget-empty').children('.elementor-widget-empty-icon').remove(); // TODO: Find a better way to detect if all the images have been loaded self.$el.imagesLoaded().always(function () { setTimeout(function () { if (1 > self.$el.children('.elementor-widget-container').outerHeight()) { self.handleEmptyWidget(); } }, 200); // Is element empty? }); }, onClickEdit: function onClickEdit() { this.model.trigger('request:edit'); } }); module.exports = WidgetView; /***/ }), /* 413 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get2 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$Behavior) { (0, _inherits2.default)(_default, _Marionette$Behavior); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "events", value: function events() { return { dragstart: 'onDragStart', dragstop: 'onDragStop' }; } }, { key: "initialize", value: function initialize() { var _this = this; (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this).call(this); this.listenTo(elementor.channels.dataEditMode, 'switch', this.toggle); var view = this.view, viewSettingsChangedMethod = view.onSettingsChanged; view.onSettingsChanged = function () { var _this$onSettingsChang; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } viewSettingsChangedMethod.call.apply(viewSettingsChangedMethod, [view].concat(args)); (_this$onSettingsChang = _this.onSettingsChanged).call.apply(_this$onSettingsChang, [_this].concat(args)); }; } }, { key: "activate", value: function activate() { this.$el.draggable({ addClasses: false }); } }, { key: "deactivate", value: function deactivate() { if (!this.$el.draggable('instance')) { return; } this.$el.draggable('destroy'); } }, { key: "toggle", value: function toggle() { var isEditMode = 'edit' === elementor.channels.dataEditMode.request('activeMode'), isAbsolute = this.view.getEditModel().getSetting('_position'); this.deactivate(); if (isEditMode && isAbsolute && elementor.userCan('design')) { this.activate(); } } }, { key: "onRender", value: function onRender() { var _this2 = this; _.defer(function () { return _this2.toggle(); }); } }, { key: "onDestroy", value: function onDestroy() { this.deactivate(); } }, { key: "onDragStart", value: function onDragStart(event) { event.stopPropagation(); this.view.model.trigger('request:edit'); } }, { key: "onDragStop", value: function onDragStop(event, ui) { var _this3 = this; event.stopPropagation(); var currentDeviceMode = elementorFrontend.getCurrentDeviceMode(), deviceSuffix = 'desktop' === currentDeviceMode ? '' : '_' + currentDeviceMode, editModel = this.view.getEditModel(), hOrientation = editModel.getSetting('_offset_orientation_h'), vOrientation = editModel.getSetting('_offset_orientation_v'), settingToChange = {}, isRTL = elementorFrontend.config.is_rtl; var parentWidth = this.$el.offsetParent().width(), elementWidth = this.$el.outerWidth(true), left = ui.position.left, right = parentWidth - left - elementWidth; var xPos = isRTL ? right : left, yPos = ui.position.top, offsetX = '_offset_x', offsetY = '_offset_y'; if ('end' === hOrientation) { xPos = parentWidth - xPos - elementWidth; offsetX = '_offset_x_end'; } var offsetXUnit = editModel.getSetting(offsetX + deviceSuffix).unit; xPos = elementor.helpers.elementSizeToUnit(this.$el, xPos, offsetXUnit); var parentHeight = this.$el.offsetParent().height(), elementHeight = this.$el.outerHeight(true); if ('end' === vOrientation) { yPos = parentHeight - yPos - elementHeight; offsetY = '_offset_y_end'; } var offsetYUnit = editModel.getSetting(offsetY + deviceSuffix).unit; yPos = elementor.helpers.elementSizeToUnit(this.$el, yPos, offsetYUnit); settingToChange[offsetX + deviceSuffix] = { size: xPos, unit: offsetXUnit }; settingToChange[offsetY + deviceSuffix] = { size: yPos, unit: offsetYUnit }; editModel.get('settings').setExternalChange(settingToChange); setTimeout(function () { _this3.$el.css({ top: '', left: '', right: '', bottom: '', width: '', height: '' }); }, 250); } }, { key: "onSettingsChanged", value: function onSettingsChanged(changed) { if (changed.changed) { changed = changed.changed; } if (undefined !== changed._position) { this.toggle(); } } }]); return _default; }(Marionette.Behavior); exports.default = _default; /***/ }), /* 414 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get2 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$Behavior) { (0, _inherits2.default)(_default, _Marionette$Behavior); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "events", value: function events() { return { resizestart: 'onResizeStart', resizestop: 'onResizeStop', resize: 'onResize' }; } }, { key: "initialize", value: function initialize() { var _this = this; (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "initialize", this).call(this); this.listenTo(elementor.channels.dataEditMode, 'switch', this.toggle); var view = this.view, viewSettingsChangedMethod = view.onSettingsChanged; view.onSettingsChanged = function () { var _this$onSettingsChang; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } viewSettingsChangedMethod.call.apply(viewSettingsChangedMethod, [view].concat(args)); (_this$onSettingsChang = _this.onSettingsChanged).call.apply(_this$onSettingsChang, [_this].concat(args)); }; } }, { key: "activate", value: function activate() { this.$el.resizable({ handles: 'e, w' }); } }, { key: "deactivate", value: function deactivate() { if (!this.$el.resizable('instance')) { return; } this.$el.resizable('destroy'); } }, { key: "toggle", value: function toggle() { var editModel = this.view.getEditModel(), isEditMode = 'edit' === elementor.channels.dataEditMode.request('activeMode'), isAbsolute = editModel.getSetting('_position'), isInline = 'initial' === editModel.getSetting('_element_width'); this.deactivate(); if (isEditMode && (isAbsolute || isInline) && elementor.userCan('design')) { this.activate(); } } }, { key: "onRender", value: function onRender() { var _this2 = this; _.defer(function () { return _this2.toggle(); }); } }, { key: "onDestroy", value: function onDestroy() { this.deactivate(); } }, { key: "onResizeStart", value: function onResizeStart(event) { event.stopPropagation(); this.view.model.trigger('request:edit'); } }, { key: "onResizeStop", value: function onResizeStop(event, ui) { event.stopPropagation(); var currentDeviceMode = elementorFrontend.getCurrentDeviceMode(), deviceSuffix = 'desktop' === currentDeviceMode ? '' : '_' + currentDeviceMode, editModel = this.view.getEditModel(), unit = editModel.getSetting('_element_custom_width' + deviceSuffix).unit, width = elementor.helpers.elementSizeToUnit(this.$el, ui.size.width, unit), settingToChange = {}; settingToChange['_element_width' + deviceSuffix] = 'initial'; settingToChange['_element_custom_width' + deviceSuffix] = { unit: unit, size: width }; editModel.get('settings').setExternalChange(settingToChange); this.$el.css({ width: '', height: '' }); } }, { key: "onResize", value: function onResize(event) { event.stopPropagation(); } }, { key: "onSettingsChanged", value: function onSettingsChanged(changed) { if (changed.changed) { changed = changed.changed; } if (undefined !== changed._position || undefined !== changed._element_width) { this.toggle(); } } }]); return _default; }(Marionette.Behavior); exports.default = _default; /***/ }), /* 415 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(89); var InlineEditingBehavior; InlineEditingBehavior = Marionette.Behavior.extend({ editing: false, $currentEditingArea: null, ui: function ui() { return { inlineEditingArea: '.' + this.getOption('inlineEditingClass') }; }, events: function events() { return { 'click @ui.inlineEditingArea': 'onInlineEditingClick', 'input @ui.inlineEditingArea': 'onInlineEditingUpdate' }; }, initialize: function initialize() { this.onInlineEditingBlur = this.onInlineEditingBlur.bind(this); }, getEditingSettingKey: function getEditingSettingKey() { return this.$currentEditingArea.data().elementorSettingKey; }, startEditing: function startEditing($element) { if (this.editing || 'edit' !== elementor.channels.dataEditMode.request('activeMode') || this.view.model.isRemoteRequestActive()) { return; } var elementorSettingKey = $element.data().elementorSettingKey, settingKey = elementorSettingKey, keyParts = elementorSettingKey.split('.'), isRepeaterKey = 3 === keyParts.length, settingsModel = this.view.getEditModel().get('settings'); if (isRepeaterKey) { settingsModel = settingsModel.get(keyParts[0]).models[keyParts[1]]; settingKey = keyParts[2]; } var dynamicSettings = settingsModel.get('__dynamic__'), isDynamic = dynamicSettings && dynamicSettings[settingKey]; if (isDynamic) { return; } this.$currentEditingArea = $element; var elementData = this.$currentEditingArea.data(), elementDataToolbar = elementData.elementorInlineEditingToolbar, mode = 'advanced' === elementDataToolbar ? 'advanced' : 'basic', editModel = this.view.getEditModel(), inlineEditingConfig = elementor.config.inlineEditing, contentHTML = editModel.getSetting(this.getEditingSettingKey()); if ('advanced' === mode) { contentHTML = wp.editor.autop(contentHTML); } /** * Replace rendered content with unrendered content. * This way the user can edit the original content, before shortcodes and oEmbeds are fired. */ this.$currentEditingArea.html(contentHTML); var ElementorInlineEditor = elementorFrontend.elements.window.ElementorInlineEditor; this.editing = true; this.view.allowRender = false; // Avoid retrieving of old content (e.g. in case of sorting) this.view.model.setHtmlCache(''); this.editor = new ElementorInlineEditor({ linksInNewWindow: true, stay: false, editor: this.$currentEditingArea[0], mode: mode, list: 'none' === elementDataToolbar ? [] : inlineEditingConfig.toolbar[elementDataToolbar || 'basic'], cleanAttrs: ['id', 'class', 'name'], placeholder: elementor.translate('type_here') + '...', toolbarIconsPrefix: 'eicon-editor-', toolbarIconsDictionary: { externalLink: { className: 'eicon-editor-external-link' }, list: { className: 'eicon-editor-list-ul' }, insertOrderedList: { className: 'eicon-editor-list-ol' }, insertUnorderedList: { className: 'eicon-editor-list-ul' }, createlink: { className: 'eicon-editor-link' }, unlink: { className: 'eicon-editor-unlink' }, blockquote: { className: 'eicon-editor-quote' }, p: { className: 'eicon-editor-paragraph' }, pre: { className: 'eicon-editor-code' } } }); var $menuItems = jQuery(this.editor._menu).children(); /** * When the edit area is not focused (on blur) the inline editing is stopped. * In order to prevent blur event when the user clicks on toolbar buttons while editing the * content, we need the prevent their mousedown event. This also prevents the blur event. */ $menuItems.on('mousedown', function (event) { event.preventDefault(); }); this.$currentEditingArea.on('blur', this.onInlineEditingBlur); elementorCommon.elements.$body.on('mousedown', this.onInlineEditingBlur); }, stopEditing: function stopEditing() { this.editing = false; this.$currentEditingArea.off('blur', this.onInlineEditingBlur); elementorCommon.elements.$body.off('mousedown', this.onInlineEditingBlur); this.editor.destroy(); this.view.allowRender = true; /** * Inline editing has several toolbar types (advanced, basic and none). When editing is stopped, * we need to rerender the area. To prevent multiple renderings, we will render only areas that * use advanced toolbars. */ if ('advanced' === this.$currentEditingArea.data().elementorInlineEditingToolbar) { this.view.getEditModel().renderRemoteServer(); } }, onInlineEditingClick: function onInlineEditingClick(event) { var self = this, $targetElement = jQuery(event.currentTarget); /** * When starting inline editing we need to set timeout, this allows other inline items to finish * their operations before focusing new editing area. */ setTimeout(function () { self.startEditing($targetElement); }, 30); }, onInlineEditingBlur: function onInlineEditingBlur(event) { var _this = this; if ('mousedown' === event.type) { this.stopEditing(); return; } /** * When exiting inline editing we need to set timeout, to make sure there is no focus on internal * toolbar action. This prevent the blur and allows the user to continue the inline editing. */ setTimeout(function () { var selection = elementorFrontend.elements.window.getSelection(), $focusNode = jQuery(selection.focusNode); if ($focusNode.closest('.pen-input-wrapper').length) { return; } _this.stopEditing(); }, 20); }, onInlineEditingUpdate: function onInlineEditingUpdate() { this.view.getEditModel().setSetting(this.getEditingSettingKey(), this.editor.getContent()); } }); module.exports = InlineEditingBehavior; /***/ }), /* 416 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelElementsElementsView; PanelElementsElementsView = Marionette.CollectionView.extend({ childView: __webpack_require__(258), id: 'elementor-panel-elements', initialize: function initialize() { this.listenTo(elementor.channels.panelElements, 'filter:change', this.onFilterChanged); }, filter: function filter(childModel) { var filterValue = elementor.channels.panelElements.request('filter:value'); if (!filterValue) { return true; } if (-1 !== childModel.get('title').toLowerCase().indexOf(filterValue.toLowerCase())) { return true; } return _.any(childModel.get('keywords'), function (keyword) { return -1 !== keyword.toLowerCase().indexOf(filterValue.toLowerCase()); }); }, onFilterChanged: function onFilterChanged() { var filterValue = elementor.channels.panelElements.request('filter:value'); if (!filterValue) { this.onFilterEmpty(); } this._renderChildren(); this.triggerMethod('children:render'); }, onFilterEmpty: function onFilterEmpty() { $e.routes.refreshContainer('panel'); } }); module.exports = PanelElementsElementsView; /***/ }), /* 417 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelMenuGroupView = __webpack_require__(418), PanelMenuPageView; PanelMenuPageView = Marionette.CompositeView.extend({ id: 'elementor-panel-page-menu', template: '#tmpl-elementor-panel-menu', childView: PanelMenuGroupView, childViewContainer: '#elementor-panel-page-menu-content', initialize: function initialize() { this.collection = PanelMenuPageView.getGroups(); }, getArrowClass: function getArrowClass() { return 'eicon-arrow-' + (elementorCommon.config.isRTL ? 'right' : 'left'); }, onRender: function onRender() { elementor.getPanelView().getHeaderView().ui.menuIcon.removeClass('eicon-menu-bar').addClass(this.getArrowClass()); }, onDestroy: function onDestroy() { elementor.getPanelView().getHeaderView().ui.menuIcon.removeClass(this.getArrowClass()).addClass('eicon-menu-bar'); } }, { groups: null, initGroups: function initGroups() { this.groups = new Backbone.Collection([]); this.groups.add({ name: 'go_to', title: elementor.translate('go_to'), items: [] }); this.addItem({ name: 'view-page', icon: 'eicon-preview', title: elementor.translate('view_page'), type: 'link', link: elementor.config.document.urls.permalink }, 'go_to'); this.addItem({ name: 'exit-to-dashboard', icon: 'eicon-wordpress', title: elementor.translate('exit_to_dashboard'), type: 'link', link: elementor.config.document.urls.exit_to_dashboard }, 'go_to'); if (elementor.config.user.is_administrator) { this.addAdminMenu(); } }, addAdminMenu: function addAdminMenu() { this.groups.add({ name: 'style', title: elementor.translate('global_style'), items: [] }, { at: 0 }); this.groups.add({ name: 'settings', title: elementor.translate('settings'), items: [] }, { at: 1 }); this.addItem({ name: 'finder', icon: 'eicon-search', title: elementorCommon.translate('finder', 'finder'), callback: function callback() { return $e.route('finder'); } }, 'go_to', 'view-page'); this.addItem({ name: 'global-colors', icon: 'eicon-paint-brush', title: elementor.translate('global_colors'), type: 'page', callback: function callback() { return $e.route('panel/global-colors'); } }, 'style'); this.addItem({ name: 'global-fonts', icon: 'eicon-font', title: elementor.translate('global_fonts'), type: 'page', callback: function callback() { return $e.route('panel/global-fonts'); } }, 'style'); this.addItem({ name: 'color-picker', icon: 'eicon-eyedropper', title: elementor.translate('color_picker'), type: 'page', callback: function callback() { return $e.route('panel/color-picker'); } }, 'style'); this.addItem({ name: 'global-settings', icon: 'eicon-cogs', title: elementor.translate('global_settings'), type: 'page', callback: function callback() { return $e.route('panel/general-settings/style'); } }, 'settings', 'elementor-settings'); this.addItem({ name: 'elementor-settings', icon: 'eicon-editor-external-link', title: elementor.translate('elementor_settings'), type: 'link', link: elementor.config.settings_page_link, newTab: true }, 'settings'); this.addItem({ name: 'about-elementor', icon: 'eicon-info-circle', title: elementor.translate('about_elementor'), type: 'link', link: elementor.config.elementor_site, newTab: true }, 'settings'); }, getGroups: function getGroups() { if (!this.groups) { this.initGroups(); } return this.groups; }, addItem: function addItem(itemData, groupName, before) { var group = this.getGroups().findWhere({ name: groupName }); if (!group) { return; } var items = group.get('items'), beforeItem; if (before) { beforeItem = _.findWhere(items, { name: before }); } if (beforeItem) { items.splice(items.indexOf(beforeItem), 0, itemData); } else { items.push(itemData); } } }); module.exports = PanelMenuPageView; /***/ }), /* 418 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelMenuItemView = __webpack_require__(419); module.exports = Marionette.CompositeView.extend({ template: '#tmpl-elementor-panel-menu-group', className: 'elementor-panel-menu-group', childView: PanelMenuItemView, childViewContainer: '.elementor-panel-menu-items', initialize: function initialize() { this.collection = new Backbone.Collection(this.model.get('items')); }, onChildviewClick: function onChildviewClick(childView) { var callback = childView.model.get('callback'); if (_.isFunction(callback)) { callback.call(childView); } } }); /***/ }), /* 419 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-menu-item', className: function className() { return 'elementor-panel-menu-item elementor-panel-menu-item-' + this.model.get('name'); }, triggers: { click: { event: 'click', preventDefault: false } } }); /***/ }), /* 420 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(98); __webpack_require__(48); __webpack_require__(80); var _keys = _interopRequireDefault(__webpack_require__(58)); var _stringify = _interopRequireDefault(__webpack_require__(158)); module.exports = elementorModules.Module.extend({ CACHE_KEY_NOT_FOUND_ERROR: 'Cache key not found', tags: { Base: __webpack_require__(421) }, 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 + '"]'; }, cleanCache: function cleanCache() { this.cache = {}; }, onInit: function onInit() { this.loadCacheRequests = _.debounce(this.loadCacheRequests, 300); } }); /***/ }), /* 421 */ /***/ (function(module, exports, __webpack_require__) { "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'); } }); /***/ }), /* 422 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(48); module.exports = elementorModules.Module.extend({ modules: { base: __webpack_require__(230), general: __webpack_require__(423), page: __webpack_require__(425) }, panelPages: { base: __webpack_require__(427) }, 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); }); } }); /***/ }), /* 423 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _component = _interopRequireDefault(__webpack_require__(424)); var BaseSettings = __webpack_require__(230); module.exports = BaseSettings.extend({ onInit: function onInit() { BaseSettings.prototype.onInit.apply(this); $e.components.register(new _component.default({ manager: this })); }, changeCallbacks: { elementor_page_title_selector: function elementor_page_title_selector(newValue) { var newSelector = newValue || 'h1.entry-title', titleSelectors = elementor.settings.page.model.controls.hide_title.selectors = {}; titleSelectors[newSelector] = 'display: none'; elementor.settings.page.updateStylesheet(); } } }); /***/ }), /* 424 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'panel/general-settings'; } }, { key: "defaultTabs", value: function defaultTabs() { return { style: { title: elementor.translate('style') }, lightbox: { title: elementor.translate('lightbox') } }; } }, { key: "renderTab", value: function renderTab(tab) { elementor.getPanelView().setPage('general_settings').activateTab(tab); } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 425 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); __webpack_require__(26); var _component = _interopRequireDefault(__webpack_require__(426)); var BaseSettings = __webpack_require__(230); module.exports = BaseSettings.extend({ onInit: function onInit() { BaseSettings.prototype.onInit.apply(this); $e.components.register(new _component.default({ manager: this })); }, save: function save() {}, changeCallbacks: { post_title: function post_title(newValue) { var $title = elementorFrontend.elements.$document.find(elementor.config.page_title_selector); $title.text(newValue); }, template: function template() { elementor.saver.saveAutoSave({ onSuccess: function onSuccess() { elementor.reloadPreview(); elementor.once('preview:loaded', function () { $e.route('panel/page-settings/settings'); }); } }); } }, onModelChange: function onModelChange() { elementor.saver.setFlagEditorChange(true); BaseSettings.prototype.onModelChange.apply(this, arguments); }, getDataToSave: function getDataToSave(data) { data.id = elementor.config.document.id; return data; } }); /***/ }), /* 426 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'panel/page-settings'; } }, { key: "defaultTabs", value: function defaultTabs() { return { settings: { title: elementor.translate('settings') }, style: { title: elementor.translate('style') }, advanced: { title: elementor.translate('advanced') } }; } }, { key: "renderTab", value: function renderTab(tab) { elementor.getPanelView().setPage('page_settings').activateTab(tab); } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return '.elementor-panel-navigation'; } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 427 */ /***/ (function(module, exports, __webpack_require__) { "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 { elementSettingsModel: this.model }; } }); /***/ }), /* 428 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = elementorModules.Module.extend({ autoSaveTimer: null, autosaveInterval: elementor.config.autosave_interval * 1000, isSaving: false, isChangedDuringSave: false, __construct: function __construct() { this.setWorkSaver(); }, startTimer: function startTimer(hasChanges) { clearTimeout(this.autoSaveTimer); if (hasChanges) { this.autoSaveTimer = setTimeout(_.bind(this.doAutoSave, this), this.autosaveInterval); } }, saveDraft: function saveDraft() { var postStatus = elementor.settings.page.model.get('post_status'); if (!elementor.saver.isEditorChanged() && 'draft' !== postStatus) { return; } switch (postStatus) { case 'publish': case 'private': this.doAutoSave(); break; default: // Update and create a revision this.update(); } }, doAutoSave: function doAutoSave() { var editorMode = elementor.channels.dataEditMode.request('activeMode'); // Avoid auto save for Revisions Preview changes. if ('edit' !== editorMode) { return; } this.saveAutoSave(); }, saveAutoSave: function saveAutoSave(options) { if (!this.isEditorChanged()) { return; } options = _.extend({ status: 'autosave' }, options); this.saveEditor(options); }, savePending: function savePending(options) { options = _.extend({ status: 'pending' }, options); this.saveEditor(options); }, discard: function discard() { var self = this; elementorCommon.ajax.addRequest('discard_changes', { success: function success() { self.setFlagEditorChange(false); location.href = elementor.config.document.urls.exit_to_dashboard; } }); }, update: function update(options) { options = _.extend({ status: elementor.settings.page.model.get('post_status') }, options); this.saveEditor(options); }, publish: function publish(options) { options = _.extend({ status: 'publish' }, options); this.saveEditor(options); }, setFlagEditorChange: function setFlagEditorChange(status) { if (status && this.isSaving) { this.isChangedDuringSave = true; } this.startTimer(status); elementor.channels.editor.reply('status', status).trigger('status:change', status); }, isEditorChanged: function isEditorChanged() { return true === elementor.channels.editor.request('status'); }, setWorkSaver: function setWorkSaver() { var self = this; elementorCommon.elements.$window.on('beforeunload', function () { if (self.isEditorChanged()) { return elementor.translate('before_unload_alert'); } }); }, defaultSave: function defaultSave() { var postStatus = elementor.settings.page.model.get('post_status'); switch (postStatus) { case 'publish': case 'future': case 'private': this.update(); break; case 'draft': if (elementor.config.current_user_can_publish) { this.publish(); } else { this.savePending(); } break; case 'pending': // User cannot change post status case undefined: // TODO: as a contributor it's undefined instead of 'pending'. if (elementor.config.current_user_can_publish) { this.publish(); } else { this.update(); } } }, saveEditor: function saveEditor(options) { if (this.isSaving) { return; } options = _.extend({ status: 'draft', onSuccess: null }, options); var self = this, elements = elementor.elements.toJSON({ remove: ['default', 'editSettings', 'defaultEditSettings'] }), settings = elementor.settings.page.model.toJSON({ remove: ['default'] }), oldStatus = elementor.settings.page.model.get('post_status'), statusChanged = oldStatus !== options.status; self.trigger('before:save', options).trigger('before:save:' + options.status, options); self.isSaving = true; self.isChangedDuringSave = false; settings.post_status = options.status; elementorCommon.ajax.addRequest('save_builder', { data: { status: options.status, elements: elements, settings: settings }, success: function success(data) { self.afterAjax(); if ('autosave' !== options.status) { if (statusChanged) { elementor.settings.page.model.set('post_status', options.status); } // Notice: Must be after update page.model.post_status to the new status. if (!self.isChangedDuringSave) { self.setFlagEditorChange(false); } } if (data.config) { jQuery.extend(true, elementor.config, data.config); } elementor.config.data = elements; elementor.channels.editor.trigger('saved', data); self.trigger('after:save', data).trigger('after:save:' + options.status, data); if (statusChanged) { self.trigger('page:status:change', options.status, oldStatus); } if (_.isFunction(options.onSuccess)) { options.onSuccess.call(this, data); } }, error: function error(data) { self.afterAjax(); self.trigger('after:saveError', data).trigger('after:saveError:' + options.status, data); var message; if (_.isString(data)) { message = data; } else if (data.statusText) { message = elementor.createAjaxErrorMessage(data); if (0 === data.readyState) { message += ' ' + elementor.translate('saving_disabled'); } } else if (data[0] && data[0].code) { message = elementor.translate('server_error') + ' ' + data[0].code; } elementor.notifications.showToast({ message: message }); } }); this.trigger('save', options); }, afterAjax: function afterAjax() { this.isSaving = false; } }); /***/ }), /* 429 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _parseInt2 = _interopRequireDefault(__webpack_require__(162)); module.exports = elementorModules.Module.extend({ initToast: function initToast() { var toast = elementorCommon.dialogsManager.createWidget('buttons', { id: 'elementor-toast', position: { my: 'center bottom', at: 'center bottom-10', of: '#elementor-panel-content-wrapper', autoRefresh: true }, hide: { onClick: true, auto: true, autoDelay: 10000 }, effects: { show: function show() { var $widget = toast.getElements('widget'); $widget.show(); toast.refreshPosition(); var top = (0, _parseInt2.default)($widget.css('top'), 10); $widget.hide().css('top', top + 100); $widget.animate({ opacity: 'show', height: 'show', paddingBottom: 'show', paddingTop: 'show', top: top }, { easing: 'linear', duration: 300 }); }, hide: function hide() { var $widget = toast.getElements('widget'), top = (0, _parseInt2.default)($widget.css('top'), 10); $widget.animate({ opacity: 'hide', height: 'hide', paddingBottom: 'hide', paddingTop: 'hide', top: top + 100 }, { easing: 'linear', duration: 300 }); } }, button: { tag: 'div' } }); this.getToast = function () { return toast; }; }, showToast: function showToast(options) { var toast = this.getToast(); toast.setMessage(options.message); toast.getElements('buttonsWrapper').empty(); if (options.buttons) { options.buttons.forEach(function (button) { toast.addButton(button); }); } toast.show(); }, onInit: function onInit() { this.initToast(); } }); /***/ }), /* 430 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var BaseRegion = __webpack_require__(236); module.exports = BaseRegion.extend({ el: '#elementor-panel', getStorageKey: function getStorageKey() { return 'panel'; }, getDefaultStorage: function getDefaultStorage() { return { size: { width: '' } }; }, constructor: function constructor() { BaseRegion.prototype.constructor.apply(this, arguments); var PanelLayoutView = __webpack_require__(431); this.show(new PanelLayoutView()); this.resizable(); this.setSize(); this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeSwitched); }, setSize: function setSize() { var width = this.storage.size.width, side = elementorCommon.config.isRTL ? 'right' : 'left'; this.$el.css('width', width); elementor.$previewWrapper.css(side, width); }, resizable: function resizable() { var self = this, side = elementorCommon.config.isRTL ? 'right' : 'left'; self.$el.resizable({ handles: elementorCommon.config.isRTL ? 'w' : 'e', minWidth: 200, maxWidth: 680, start: function start() { elementor.$previewWrapper.addClass('ui-resizable-resizing'); }, stop: function stop() { elementor.$previewWrapper.removeClass('ui-resizable-resizing'); elementor.getPanelView().updateScrollbar(); self.saveSize(); }, resize: function resize(event, ui) { elementor.$previewWrapper.css(side, ui.size.width); } }); }, onEditModeSwitched: function onEditModeSwitched(activeMode) { if ('edit' !== activeMode) { return; } this.setSize(); } }); /***/ }), /* 431 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _keys = _interopRequireDefault(__webpack_require__(58)); var _component = _interopRequireDefault(__webpack_require__(432)); var _component2 = _interopRequireDefault(__webpack_require__(433)); var _component3 = _interopRequireDefault(__webpack_require__(434)); var EditModeItemView = __webpack_require__(435), PanelLayoutView; PanelLayoutView = Marionette.LayoutView.extend({ template: '#tmpl-elementor-panel', id: 'elementor-panel-inner', regions: { content: '#elementor-panel-content-wrapper', header: '#elementor-panel-header-wrapper', footer: '#elementor-panel-footer', modeSwitcher: '#elementor-mode-switcher' }, pages: {}, childEvents: { 'click:add': function clickAdd() { $e.route('panel/elements/categories'); }, 'editor:destroy': function editorDestroy() { $e.route('panel/elements/categories', { autoFocusSearch: false }); } }, currentPageName: null, currentPageView: null, perfectScrollbar: null, initialize: function initialize() { $e.components.register(new _component.default({ manager: this })); $e.components.register(new _component2.default({ manager: this })); $e.components.register(new _component3.default({ manager: this })); this.initPages(); }, buildPages: function buildPages() { var pages = { elements: { view: __webpack_require__(436), title: '<img src="' + elementorCommon.config.urls.assets + 'images/logo-panel.svg">' }, editor: { view: __webpack_require__(441) }, menu: { view: elementor.modules.layouts.panel.pages.menu.Menu, title: '<img src="' + elementorCommon.config.urls.assets + 'images/logo-panel.svg">' }, colorScheme: { view: __webpack_require__(261) }, typographyScheme: { view: __webpack_require__(444) }, colorPickerScheme: { view: __webpack_require__(445) } }; var schemesTypes = (0, _keys.default)(elementor.schemes.getSchemes()), disabledSchemes = _.difference(schemesTypes, elementor.schemes.getEnabledSchemesTypes()); _.each(disabledSchemes, function (schemeType) { var scheme = elementor.schemes.getScheme(schemeType); pages[schemeType + 'Scheme'].view = __webpack_require__(446).extend({ disabledTitle: scheme.disabled_title }); }); return pages; }, initPages: function initPages() { var pages; this.getPages = function (page) { if (!pages) { pages = this.buildPages(); } return page ? pages[page] : pages; }; this.addPage = function (pageName, pageData) { if (!pages) { pages = this.buildPages(); } pages[pageName] = pageData; }; }, getHeaderView: function getHeaderView() { return this.getChildView('header'); }, getFooterView: function getFooterView() { return this.getChildView('footer'); }, getCurrentPageName: function getCurrentPageName() { return this.currentPageName; }, getCurrentPageView: function getCurrentPageView() { return this.currentPageView; }, setPage: function setPage(page, title, viewOptions) { var pages = this.getPages(); if ('elements' === page && !elementor.userCan('design')) { if (pages.page_settings) { page = 'page_settings'; } } var pageData = pages[page]; if (!pageData) { throw new ReferenceError('Elementor panel doesn\'t have page named \'' + page + '\''); } if (pageData.options) { viewOptions = _.extend(pageData.options, viewOptions); } var View = pageData.view; if (pageData.getView) { View = pageData.getView(); } this.currentPageName = page; this.currentPageView = new View(viewOptions); this.showChildView('content', this.currentPageView); this.getHeaderView().setTitle(title || pageData.title); this.trigger('set:page', this.currentPageView).trigger('set:page:' + page, this.currentPageView); return this.currentPageView; }, onBeforeShow: function onBeforeShow() { var PanelFooterItemView = __webpack_require__(447), PanelHeaderItemView = __webpack_require__(448); // Edit Mode this.showChildView('modeSwitcher', new EditModeItemView()); // Header this.showChildView('header', new PanelHeaderItemView()); // Footer this.showChildView('footer', new PanelFooterItemView()); // Added Editor events this.updateScrollbar = _.throttle(this.updateScrollbar, 100); this.getRegion('content').on('before:show', this.onEditorBeforeShow.bind(this)).on('empty', this.onEditorEmpty.bind(this)).on('show', this.updateScrollbar.bind(this)); }, onEditorBeforeShow: function onEditorBeforeShow() { _.defer(this.updateScrollbar.bind(this)); }, onEditorEmpty: function onEditorEmpty() { this.updateScrollbar(); }, updateScrollbar: function updateScrollbar() { if (!this.perfectScrollbar) { this.perfectScrollbar = new PerfectScrollbar(this.content.el, { suppressScrollX: true }); // The RTL is buggy, so always keep it LTR. this.perfectScrollbar.isRtl = false; return; } this.perfectScrollbar.update(); } }); module.exports = PanelLayoutView; /***/ }), /* 432 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'panel'; } }, { key: "defaultRoutes", value: function defaultRoutes() { var _this = this; return { menu: function menu() { return _this.manager.setPage('menu'); }, 'global-colors': function globalColors() { return _this.manager.setPage('colorScheme'); }, 'global-fonts': function globalFonts() { return _this.manager.setPage('typographyScheme'); }, 'color-picker': function colorPicker() { return _this.manager.setPage('colorPickerScheme'); } }; } }, { key: "defaultCommands", value: function defaultCommands() { return { open: function open() { return elementor.getPanelView().modeSwitcher.currentView.setMode('edit'); }, close: function close() { return elementor.getPanelView().modeSwitcher.currentView.setMode('preview'); }, toggle: function toggle() { return elementor.getPanelView().modeSwitcher.currentView.toggleMode(); }, save: function save() { return elementor.saver.saveDraft(); }, publish: function publish() { return elementor.saver.publish(); }, exit: function exit() { return $e.route('panel/menu'); }, 'change-device-mode': function changeDeviceMode(args) { var devices = ['desktop', 'tablet', 'mobile']; if (!args.device) { var currentDeviceMode = elementor.channels.deviceMode.request('currentMode'); var modeIndex = devices.indexOf(currentDeviceMode); modeIndex++; if (modeIndex >= devices.length) { modeIndex = 0; } args.device = devices[modeIndex]; } elementor.changeDeviceMode(args.device); } }; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return { toggle: { keys: 'ctrl+p' }, save: { keys: 'ctrl+s' }, exit: { keys: 'esc', // TODO: replace dependency with scopes. dependency: function dependency() { return !jQuery('.dialog-widget:visible').length; }, scopes: ['panel', 'preview'] }, 'change-device-mode': { keys: 'ctrl+shift+m' } }; } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 433 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "getNamespace", value: function getNamespace() { return 'panel/elements'; } }, { key: "defaultTabs", value: function defaultTabs() { return { categories: { title: elementor.translate('elements') }, global: { title: elementor.translate('global') } }; } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return '#elementor-panel-elements-navigation'; } }, { key: "renderTab", value: function renderTab(tab) { this.manager.setPage('elements').showView(tab); } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 434 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; __webpack_require__(26); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _get2 = _interopRequireDefault(__webpack_require__(44)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "__construct", value: function __construct(args) { (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "__construct", this).call(this, args); // Remember last used tab. this.activeTabs = {}; } }, { key: "getNamespace", value: function getNamespace() { return 'panel/editor'; } }, { key: "defaultTabs", value: function defaultTabs() { return { content: { title: elementor.translate('content') }, style: { title: elementor.translate('style') }, advanced: { title: elementor.translate('advanced') }, layout: { title: elementor.translate('layout') } }; } }, { key: "defaultCommands", value: function defaultCommands() { var _this = this; return { open: function open(args) { _this.openEditor(args.model, args.view); _this.setDefaultTab(args); $e.route(_this.getDefaultRoute(), args); // BC: Run hooks after the route render's the view. var action = 'panel/open_editor/' + args.model.get('elType'); // Example: panel/open_editor/widget elementor.hooks.doAction(action, _this.manager, args.model, args.view); // Example: panel/open_editor/widget/heading elementor.hooks.doAction(action + '/' + args.model.get('widgetType'), _this.manager, args.model, args.view); } }; } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return '.elementor-panel-navigation'; } }, { key: "renderTab", value: function renderTab(tab) { this.manager.getCurrentPageView().activateTab(tab); } }, { key: "activateTab", value: function activateTab(tab) { this.activeTabs[this.manager.getCurrentPageView().model.id] = tab; (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "activateTab", this).call(this, tab); } }, { key: "setDefaultTab", value: function setDefaultTab(args) { var defaultTab; if (this.activeTabs[args.model.id]) { defaultTab = this.activeTabs[args.model.id]; } else { defaultTab = jQuery(this.getTabsWrapperSelector()).find('.elementor-component-tab').eq(0).data('tab'); } this.setDefaultRoute(defaultTab); } }, { key: "openEditor", value: function openEditor(model, view) { var title = elementor.translate('edit_element', [elementor.getElementData(model).title]), editor = elementor.getPanelView().setPage('editor', title, { model: model, controls: elementor.getElementControls(model), editedElementView: view }); return editor; } }]); return _default; }(elementorModules.common.Component); exports.default = _default; /***/ }), /* 435 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var EditModeItemView; EditModeItemView = Marionette.ItemView.extend({ template: '#tmpl-elementor-mode-switcher-content', id: 'elementor-mode-switcher-inner', ui: { previewButton: '#elementor-mode-switcher-preview-input', previewLabel: '#elementor-mode-switcher-preview', previewLabelA11y: '#elementor-mode-switcher-preview .elementor-screen-only' }, events: { 'change @ui.previewButton': 'onPreviewButtonChange' }, initialize: function initialize() { this.listenTo(elementor.channels.dataEditMode, 'switch', this.onEditModeChanged); }, getCurrentMode: function getCurrentMode() { return this.ui.previewButton.is(':checked') ? 'preview' : 'edit'; }, setMode: function setMode(mode) { this.ui.previewButton.prop('checked', 'preview' === mode).trigger('change'); }, toggleMode: function toggleMode() { this.setMode(this.ui.previewButton.prop('checked') ? 'edit' : 'preview'); }, onRender: function onRender() { this.onEditModeChanged(); }, onPreviewButtonChange: function onPreviewButtonChange() { elementor.changeEditMode(this.getCurrentMode()); }, onEditModeChanged: function onEditModeChanged() { var activeMode = elementor.channels.dataEditMode.request('activeMode'), title = elementor.translate('preview' === activeMode ? 'back_to_editor' : 'preview'); this.ui.previewLabel.attr('title', title); this.ui.previewLabelA11y.text(title); } }); module.exports = EditModeItemView; /***/ }), /* 436 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(184); var PanelElementsCategoriesCollection = __webpack_require__(437), PanelElementsElementsCollection = __webpack_require__(260), PanelElementsCategoriesView = __webpack_require__(438), PanelElementsElementsView = elementor.modules.layouts.panel.pages.elements.views.Elements, PanelElementsSearchView = __webpack_require__(440), PanelElementsGlobalView = __webpack_require__(257), PanelElementsLayoutView; PanelElementsLayoutView = Marionette.LayoutView.extend({ template: '#tmpl-elementor-panel-elements', id: 'elementor-panel-page-elements', options: { autoFocusSearch: true }, regions: { elements: '#elementor-panel-elements-wrapper', search: '#elementor-panel-elements-search-area' }, regionViews: {}, elementsCollection: null, categoriesCollection: null, initialize: function initialize() { this.listenTo(elementor.channels.panelElements, 'element:selected', this.destroy); this.initElementsCollection(); this.initCategoriesCollection(); this.initRegionViews(); }, initRegionViews: function initRegionViews() { var regionViews = { elements: { region: this.elements, view: PanelElementsElementsView, options: { collection: this.elementsCollection } }, categories: { region: this.elements, view: PanelElementsCategoriesView, options: { collection: this.categoriesCollection } }, search: { region: this.search, view: PanelElementsSearchView }, global: { region: this.elements, view: PanelElementsGlobalView } }; this.regionViews = elementor.hooks.applyFilters('panel/elements/regionViews', regionViews); }, initElementsCollection: function initElementsCollection() { var elementsCollection = new PanelElementsElementsCollection(), sectionConfig = elementor.config.elements.section; elementsCollection.add({ title: elementor.translate('inner_section'), elType: 'section', categories: ['basic'], keywords: ['row', 'columns', 'nested'], icon: sectionConfig.icon }); // TODO: Change the array from server syntax, and no need each loop for initialize _.each(elementor.config.widgets, function (widget) { if (elementor.config.document.panel.widgets_settings[widget.widget_type]) { widget = _.extend(widget, elementor.config.document.panel.widgets_settings[widget.widget_type]); } if (!widget.show_in_panel) { return; } elementsCollection.add({ title: widget.title, elType: widget.elType, categories: widget.categories, keywords: widget.keywords, icon: widget.icon, widgetType: widget.widget_type, custom: widget.custom }); }); this.elementsCollection = elementsCollection; }, initCategoriesCollection: function initCategoriesCollection() { var categories = {}; this.elementsCollection.each(function (element) { _.each(element.get('categories'), function (category) { if (!categories[category]) { categories[category] = []; } categories[category].push(element); }); }); var categoriesCollection = new PanelElementsCategoriesCollection(); _.each(elementor.config.document.panel.elements_categories, function (categoryConfig, categoryName) { if (!categories[categoryName]) { return; } // Set defaults. if ('undefined' === typeof categoryConfig.active) { categoryConfig.active = true; } if ('undefined' === typeof categoryConfig.icon) { categoryConfig.icon = 'font'; } categoriesCollection.add({ name: categoryName, title: categoryConfig.title, icon: categoryConfig.icon, defaultActive: categoryConfig.active, items: categories[categoryName] }); }); this.categoriesCollection = categoriesCollection; }, showView: function showView(viewName) { var viewDetails = this.regionViews[viewName], options = viewDetails.options || {}; viewDetails.region.show(new viewDetails.view(options)); }, clearSearchInput: function clearSearchInput() { this.getChildView('search').clearInput(); }, changeFilter: function changeFilter(filterValue) { elementor.channels.panelElements.reply('filter:value', filterValue).trigger('filter:change'); }, clearFilters: function clearFilters() { this.changeFilter(null); this.clearSearchInput(); }, focusSearch: function focusSearch() { if (!elementor.userCan('design') || !this.search /* default panel is not elements */ || !this.search.currentView /* on global elements empty */ ) { return; } this.search.currentView.ui.input.focus(); }, onChildviewChildrenRender: function onChildviewChildrenRender() { elementor.getPanelView().updateScrollbar(); }, onChildviewSearchChangeInput: function onChildviewSearchChangeInput(child) { this.changeFilter(child.ui.input.val(), 'search'); }, onDestroy: function onDestroy() { elementor.channels.panelElements.reply('filter:value', null); }, onShow: function onShow() { this.showView('search'); if (this.options.autoFocusSearch) { setTimeout(this.focusSearch.bind(this)); } } }); module.exports = PanelElementsLayoutView; /***/ }), /* 437 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelElementsCategory = __webpack_require__(259), PanelElementsCategoriesCollection; PanelElementsCategoriesCollection = Backbone.Collection.extend({ model: PanelElementsCategory }); module.exports = PanelElementsCategoriesCollection; /***/ }), /* 438 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelElementsCategoryView = __webpack_require__(439), PanelElementsCategoriesView; PanelElementsCategoriesView = Marionette.CompositeView.extend({ template: '#tmpl-elementor-panel-categories', childView: PanelElementsCategoryView, childViewContainer: '#elementor-panel-categories', id: 'elementor-panel-elements-categories', initialize: function initialize() { this.listenTo(elementor.channels.panelElements, 'filter:change', this.onPanelElementsFilterChange); }, onPanelElementsFilterChange: function onPanelElementsFilterChange() { if (elementor.channels.panelElements.request('filter:value')) { elementor.getPanelView().getCurrentPageView().showView('elements'); } } }); module.exports = PanelElementsCategoriesView; /***/ }), /* 439 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelElementsElementsCollection = __webpack_require__(260), PanelElementsCategoryView; PanelElementsCategoryView = Marionette.CompositeView.extend({ template: '#tmpl-elementor-panel-elements-category', className: 'elementor-panel-category', ui: { title: '.elementor-panel-category-title', items: '.elementor-panel-category-items' }, events: { 'click @ui.title': 'onTitleClick' }, id: function id() { return 'elementor-panel-category-' + this.model.get('name'); }, childView: __webpack_require__(258), childViewContainer: '.elementor-panel-category-items', initialize: function initialize() { this.collection = new PanelElementsElementsCollection(this.model.get('items')); }, onRender: function onRender() { var isActive = elementor.channels.panelElements.request('category:' + this.model.get('name') + ':active'); if (undefined === isActive) { isActive = this.model.get('defaultActive'); } if (isActive) { this.$el.addClass('elementor-active'); this.ui.items.show(); } }, onTitleClick: function onTitleClick() { var $items = this.ui.items, activeClass = 'elementor-active', isActive = this.$el.hasClass(activeClass), slideFn = isActive ? 'slideUp' : 'slideDown'; elementor.channels.panelElements.reply('category:' + this.model.get('name') + ':active', !isActive); this.$el.toggleClass(activeClass, !isActive); $items[slideFn](300, function () { elementor.getPanelView().updateScrollbar(); }); } }); module.exports = PanelElementsCategoryView; /***/ }), /* 440 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelElementsSearchView; PanelElementsSearchView = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-element-search', id: 'elementor-panel-elements-search-wrapper', ui: { input: 'input' }, events: { 'input @ui.input': 'onInputChanged' }, clearInput: function clearInput() { this.ui.input.val(''); }, onInputChanged: function onInputChanged(event) { var ESC_KEY = 27; if (ESC_KEY === event.keyCode) { this.clearInput(); } this.triggerMethod('search:change:input'); } }); module.exports = PanelElementsSearchView; /***/ }), /* 441 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var ControlsStack = elementorModules.editor.views.ControlsStack, EditorView; EditorView = ControlsStack.extend({ template: Marionette.TemplateCache.get('#tmpl-editor-content'), id: 'elementor-panel-page-editor', childViewContainer: '#elementor-controls', childViewOptions: function childViewOptions() { return { elementSettingsModel: this.model.get('settings'), elementEditSettings: this.model.get('editSettings') }; }, getNamespaceArray: function getNamespaceArray() { var eventNamespace = elementorModules.editor.views.ControlsStack.prototype.getNamespaceArray(); var model = this.getOption('editedElementView').getEditModel(), currentElementType = model.get('elType'); // Element Type: section / column / widget. eventNamespace.push(currentElementType); if ('widget' === currentElementType) { // Widget Type: heading / button and etc. eventNamespace.push(model.get('widgetType')); } return eventNamespace; }, initialize: function initialize() { ControlsStack.prototype.initialize.apply(this, arguments); var panelSettings = this.model.get('editSettings').get('panel'); if (panelSettings) { this.activeTab = panelSettings.activeTab; this.activeSection = panelSettings.activeSection; } }, activateSection: function activateSection() { ControlsStack.prototype.activateSection.apply(this, arguments); this.model.get('editSettings').set('panel', { activeTab: this.activeTab, activeSection: this.activeSection }); return this; }, openActiveSection: function openActiveSection() { ControlsStack.prototype.openActiveSection.apply(this, arguments); elementor.channels.editor.trigger('section:activated', this.activeSection, this); }, isVisibleSectionControl: function isVisibleSectionControl(sectionControlModel) { return ControlsStack.prototype.isVisibleSectionControl.apply(this, arguments) && elementor.helpers.isActiveControl(sectionControlModel, this.model.get('settings').attributes); }, scrollToEditedElement: function scrollToEditedElement() { elementor.helpers.scrollToView(this.getOption('editedElementView').$el); }, onDestroy: function onDestroy() { var editedElementView = this.getOption('editedElementView'); if (editedElementView) { editedElementView.$el.removeClass('elementor-element-editable'); } this.model.trigger('editor:close'); this.triggerMethod('editor:destroy'); }, onRender: function onRender() { var editedElementView = this.getOption('editedElementView'); if (editedElementView) { editedElementView.$el.addClass('elementor-element-editable'); } }, onDeviceModeChange: function onDeviceModeChange() { ControlsStack.prototype.onDeviceModeChange.apply(this, arguments); this.scrollToEditedElement(); }, onChildviewSettingsChange: function onChildviewSettingsChange(childView) { var editedElementView = this.getOption('editedElementView'), editedElementType = editedElementView.model.get('elType'); if ('widget' === editedElementType) { editedElementType = editedElementView.model.get('widgetType'); } elementor.channels.editor.trigger('change', childView, editedElementView).trigger('change:' + editedElementType, childView, editedElementView).trigger('change:' + editedElementType + ':' + childView.model.get('name'), childView, editedElementView); } }); module.exports = EditorView; /***/ }), /* 442 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(181); __webpack_require__(140); var PanelSchemeItemView = __webpack_require__(263), PanelSchemeColorView; PanelSchemeColorView = PanelSchemeItemView.extend({ getUIType: function getUIType() { return 'color'; }, ui: { input: '.elementor-panel-scheme-color-value' }, changeUIValue: function changeUIValue(newValue) { this.ui.input.wpColorPicker('color', newValue); }, onBeforeDestroy: function onBeforeDestroy() { if (this.ui.input.wpColorPicker('instance')) { this.ui.input.wpColorPicker('close'); } }, onRender: function onRender() { var self = this; elementor.helpers.wpColorPicker(self.ui.input, { change: function change(event, ui) { self.triggerMethod('value:change', ui.color.toString()); } }); } }); module.exports = PanelSchemeColorView; /***/ }), /* 443 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(48); var PanelSchemeItemView = __webpack_require__(263), PanelSchemeTypographyView; PanelSchemeTypographyView = PanelSchemeItemView.extend({ getUIType: function getUIType() { return 'typography'; }, className: function className() { var classes = PanelSchemeItemView.prototype.className.apply(this, arguments); return classes + ' elementor-panel-box'; }, ui: { heading: '.elementor-panel-heading', allFields: '.elementor-panel-scheme-typography-item-field', inputFields: 'input.elementor-panel-scheme-typography-item-field', selectFields: 'select.elementor-panel-scheme-typography-item-field', selectFamilyFields: 'select.elementor-panel-scheme-typography-item-field[name="font_family"]' }, events: { 'input @ui.inputFields': 'onFieldChange', 'change @ui.selectFields': 'onFieldChange', 'click @ui.heading': 'toggleVisibility' }, onRender: function onRender() { var self = this; this.ui.inputFields.add(this.ui.selectFields).each(function () { var $this = jQuery(this), name = $this.attr('name'), value = self.model.get('value')[name]; $this.val(value); }); this.ui.selectFamilyFields.select2({ dir: elementorCommon.config.isRTL ? 'rtl' : 'ltr' }); }, toggleVisibility: function toggleVisibility() { this.$el.toggleClass('elementor-open'); }, changeUIValue: function changeUIValue(newValue) { this.ui.allFields.each(function () { var $this = jQuery(this), thisName = $this.attr('name'), newFieldValue = newValue[thisName]; $this.val(newFieldValue).trigger('change'); }); }, onFieldChange: function onFieldChange(event) { var $select = this.$(event.currentTarget), currentValue = elementor.schemes.getSchemeValue('typography', this.model.get('key')).value, fieldKey = $select.attr('name'); currentValue[fieldKey] = $select.val(); if ('font_family' === fieldKey && !_.isEmpty(currentValue[fieldKey])) { elementor.helpers.enqueueFont(currentValue[fieldKey]); } this.triggerMethod('value:change', currentValue); } }); module.exports = PanelSchemeTypographyView; /***/ }), /* 444 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelSchemeBaseView = __webpack_require__(262), PanelSchemeTypographyView; PanelSchemeTypographyView = PanelSchemeBaseView.extend({ getType: function getType() { return 'typography'; } }); module.exports = PanelSchemeTypographyView; /***/ }), /* 445 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelSchemeColorsView = __webpack_require__(261), PanelSchemeColorPickerView; PanelSchemeColorPickerView = PanelSchemeColorsView.extend({ getType: function getType() { return 'color-picker'; }, getUIType: function getUIType() { return 'color'; }, onSchemeChange: function onSchemeChange() {}, getViewComparator: function getViewComparator() { return this.orderView; }, orderView: function orderView(model) { return elementor.helpers.getColorPickerPaletteIndex(model.get('key')); } }); module.exports = PanelSchemeColorPickerView; /***/ }), /* 446 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelSchemeDisabledView; PanelSchemeDisabledView = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-schemes-disabled', id: 'elementor-panel-schemes-disabled', className: 'elementor-nerd-box', disabledTitle: '', templateHelpers: function templateHelpers() { return { disabledTitle: this.disabledTitle }; } }); module.exports = PanelSchemeDisabledView; /***/ }), /* 447 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(26); __webpack_require__(48); module.exports = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-footer-content', tagName: 'nav', id: 'elementor-panel-footer-tools', possibleRotateModes: ['portrait', 'landscape'], ui: { menuButtons: '.elementor-panel-footer-tool', settings: '#elementor-panel-footer-settings', deviceModeIcon: '#elementor-panel-footer-responsive > i', deviceModeButtons: '#elementor-panel-footer-responsive .elementor-panel-footer-sub-menu-item', saveTemplate: '#elementor-panel-footer-sub-menu-item-save-template', history: '#elementor-panel-footer-history', navigator: '#elementor-panel-footer-navigator' }, events: { 'click @ui.menuButtons': 'onMenuButtonsClick', 'click @ui.settings': 'onSettingsClick', 'click @ui.deviceModeButtons': 'onResponsiveButtonsClick', 'click @ui.saveTemplate': 'onSaveTemplateClick', 'click @ui.history': 'onHistoryClick', 'click @ui.navigator': 'onNavigatorClick' }, behaviors: function behaviors() { var behaviors = { saver: { behaviorClass: elementor.modules.components.saver.behaviors.FooterSaver } }; return elementor.hooks.applyFilters('panel/footer/behaviors', behaviors, this); }, initialize: function initialize() { this.listenTo(elementor.channels.deviceMode, 'change', this.onDeviceModeChange); }, getDeviceModeButton: function getDeviceModeButton(deviceMode) { return this.ui.deviceModeButtons.filter('[data-device-mode="' + deviceMode + '"]'); }, addSubMenuItem: function addSubMenuItem(subMenuName, itemData) { var $newItem = jQuery('<div>', { id: 'elementor-panel-footer-sub-menu-item-' + itemData.name, class: 'elementor-panel-footer-sub-menu-item' }), $itemIcon = jQuery('<i>', { class: 'elementor-icon ' + itemData.icon, 'aria-hidden': true }), $itemTitle = jQuery('<div>', { class: 'elementor-title' }).text(itemData.title); $newItem.append($itemIcon, $itemTitle); if (itemData.description) { var $itemDescription = jQuery('<div>', { class: 'elementor-description' }).text(itemData.description); $newItem.append($itemDescription); } if (itemData.callback) { $newItem.on('click', itemData.callback); } var $menuTool = this.ui.menuButtons.filter('#elementor-panel-footer-' + subMenuName); if (itemData.before) { var $beforeItem = $menuTool.find('#elementor-panel-footer-sub-menu-item-' + itemData.before); if ($beforeItem.length) { return $newItem.insertBefore($beforeItem); } } var $subMenu = $menuTool.find('.elementor-panel-footer-sub-menu'); return $newItem.appendTo($subMenu); }, showSettingsPage: function showSettingsPage() { $e.route('panel/page-settings/settings'); }, onMenuButtonsClick: function onMenuButtonsClick(event) { var $tool = jQuery(event.currentTarget); // If the tool is not toggleable or the click is inside of a tool if (!$tool.hasClass('elementor-toggle-state') || jQuery(event.target).closest('.elementor-panel-footer-sub-menu-item').length) { return; } var isOpen = $tool.hasClass('elementor-open'); this.ui.menuButtons.not('.elementor-leave-open').removeClass('elementor-open'); if (!isOpen) { $tool.addClass('elementor-open'); } }, onSettingsClick: function onSettingsClick() { $e.route('panel/page-settings/settings'); }, onDeviceModeChange: function onDeviceModeChange() { var previousDeviceMode = elementor.channels.deviceMode.request('previousMode'), currentDeviceMode = elementor.channels.deviceMode.request('currentMode'); this.getDeviceModeButton(previousDeviceMode).removeClass('active'); this.getDeviceModeButton(currentDeviceMode).addClass('active'); // Change the footer icon this.ui.deviceModeIcon.removeClass('eicon-device-' + previousDeviceMode).addClass('eicon-device-' + currentDeviceMode); }, onResponsiveButtonsClick: function onResponsiveButtonsClick(event) { var $clickedButton = this.$(event.currentTarget), newDeviceMode = $clickedButton.data('device-mode'); elementor.changeDeviceMode(newDeviceMode); }, onSaveTemplateClick: function onSaveTemplateClick() { $e.route('library/save-template'); }, onHistoryClick: function onHistoryClick() { $e.route('panel/history/actions'); }, onNavigatorClick: function onNavigatorClick() { $e.run('navigator/toggle'); } }); /***/ }), /* 448 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var PanelHeaderItemView; PanelHeaderItemView = Marionette.ItemView.extend({ template: '#tmpl-elementor-panel-header', id: 'elementor-panel-header', ui: { menuButton: '#elementor-panel-header-menu-button', menuIcon: '#elementor-panel-header-menu-button i', title: '#elementor-panel-header-title', addButton: '#elementor-panel-header-add-button' }, events: { 'click @ui.addButton': 'onClickAdd', 'click @ui.menuButton': 'onClickMenu' }, setTitle: function setTitle(title) { this.ui.title.html(title); }, onClickAdd: function onClickAdd() { $e.route('panel/elements/categories'); }, onClickMenu: function onClickMenu() { if ($e.routes.is('panel/menu')) { $e.route('panel/elements/categories'); } else { $e.route('panel/menu'); } } }); module.exports = PanelHeaderItemView; /***/ }), /* 449 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _independent = _interopRequireDefault(__webpack_require__(450)); var _rightClickIntroduction = _interopRequireDefault(__webpack_require__(451)); var BaseSectionsContainerView = __webpack_require__(452), Preview; Preview = BaseSectionsContainerView.extend({ template: Marionette.TemplateCache.get('#tmpl-elementor-preview'), className: 'elementor-inner', childViewContainer: '.elementor-section-wrap', behaviors: function behaviors() { var parentBehaviors = BaseSectionsContainerView.prototype.behaviors.apply(this, arguments), behaviors = { contextMenu: { behaviorClass: __webpack_require__(201), groups: this.getContextMenuGroups() } }; // TODO: the `2` check is for BC reasons if (!elementor.config.user.introduction.rightClick && !elementor.config.user.introduction[2]) { behaviors.introduction = { behaviorClass: _rightClickIntroduction.default }; } return jQuery.extend(parentBehaviors, behaviors); }, getContextMenuGroups: function getContextMenuGroups() { var hasContent = function hasContent() { return elementor.elements.length > 0; }; return [{ name: 'paste', actions: [{ name: 'paste', title: elementor.translate('paste'), callback: this.paste.bind(this), isEnabled: this.isPasteEnabled.bind(this) }] }, { name: 'content', actions: [{ name: 'copy_all_content', title: elementor.translate('copy_all_content'), callback: this.copy.bind(this), isEnabled: hasContent }, { name: 'delete_all_content', title: elementor.translate('delete_all_content'), callback: elementor.clearPage.bind(elementor), isEnabled: hasContent }] }]; }, copy: function copy() { elementorCommon.storage.set('transfer', { type: 'copy', elementsType: 'section', elements: elementor.elements.toJSON({ copyHtmlCache: true }) }); }, paste: function paste(atIndex) { var self = this, transferData = elementorCommon.storage.get('transfer'), section, index = undefined !== atIndex ? atIndex : this.collection.length; elementor.channels.data.trigger('element:before:add', transferData.elements[0]); if ('section' === transferData.elementsType) { transferData.elements.forEach(function (element) { self.addChildElement(element, { at: index, edit: false, clone: true }); index++; }); } else if ('column' === transferData.elementsType) { section = self.addChildElement({ allowEmpty: true }, { at: atIndex }); section.model.unset('allowEmpty'); index = 0; transferData.elements.forEach(function (element) { section.addChildElement(element, { at: index, clone: true }); index++; }); section.redefineLayout(); } else { section = self.addChildElement(null, { at: atIndex }); index = 0; transferData.elements.forEach(function (element) { section.addChildElement(element, { at: index, clone: true }); index++; }); } elementor.channels.data.trigger('element:after:add', transferData.elements[0]); }, isPasteEnabled: function isPasteEnabled() { return elementorCommon.storage.get('transfer'); }, onRender: function onRender() { if (!elementor.userCan('design')) { return; } var addNewSectionView = new _independent.default(); addNewSectionView.render(); this.$el.append(addNewSectionView.$el); } }); module.exports = Preview; /***/ }), /* 450 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _base = _interopRequireDefault(__webpack_require__(250)); var AddSectionView = /*#__PURE__*/ function (_BaseAddSectionView) { (0, _inherits2.default)(AddSectionView, _BaseAddSectionView); function AddSectionView() { (0, _classCallCheck2.default)(this, AddSectionView); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(AddSectionView).apply(this, arguments)); } (0, _createClass2.default)(AddSectionView, [{ key: "onCloseButtonClick", value: function onCloseButtonClick() { this.closeSelectPresets(); } }, { key: "id", get: function get() { return 'elementor-add-new-section'; } }]); return AddSectionView; }(_base.default); var _default = AddSectionView; exports.default = _default; /***/ }), /* 451 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _interopRequireDefault = __webpack_require__(0); var _Object$defineProperty = __webpack_require__(2); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(4)); var _createClass2 = _interopRequireDefault(__webpack_require__(5)); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(6)); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(3)); var _inherits2 = _interopRequireDefault(__webpack_require__(7)); var _default = /*#__PURE__*/ function (_Marionette$Behavior) { (0, _inherits2.default)(_default, _Marionette$Behavior); function _default() { (0, _classCallCheck2.default)(this, _default); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_default).apply(this, arguments)); } (0, _createClass2.default)(_default, [{ key: "ui", value: function ui() { return { editButton: '.elementor-editor-element-edit' }; } }, { key: "events", value: function events() { return { 'click @ui.editButton': 'show' }; } }, { key: "initialize", value: function initialize() { this.initIntroduction(); } }, { key: "initIntroduction", value: function initIntroduction() { var introduction; this.getIntroduction = function () { if (!introduction) { introduction = new elementorModules.editor.utils.Introduction({ introductionKey: 'rightClick', dialogOptions: { className: 'elementor-right-click-introduction', headerMessage: elementor.translate('meet_right_click_header'), message: elementor.translate('meet_right_click_message'), iframe: elementor.$preview, position: { my: 'center top+5', at: 'center bottom', collision: 'fit' } }, onDialogInitCallback: function onDialogInitCallback(dialog) { dialog.addButton({ name: 'learn-more', text: elementor.translate('learn_more'), tag: 'div', callback: function callback() { open(elementor.config.help_right_click_url, '_blank'); } }); dialog.addButton({ name: 'ok', text: elementor.translate('got_it'), callback: function callback() { return introduction.setViewed(); } }); dialog.getElements('ok').addClass('elementor-button elementor-button-success'); } }); } return introduction; }; } }, { key: "show", value: function show(event) { this.getIntroduction().show(event.currentTarget); } }]); return _default; }(Marionette.Behavior); exports.default = _default; /***/ }), /* 452 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; __webpack_require__(26); var SectionView = __webpack_require__(249), BaseContainer = __webpack_require__(248), BaseSectionsContainerView; BaseSectionsContainerView = BaseContainer.extend({ childView: SectionView, behaviors: function behaviors() { var behaviors = { Sortable: { behaviorClass: __webpack_require__(227), elChildType: 'section' } }; return elementor.hooks.applyFilters('elements/base-section-container/behaviors', behaviors, this); }, getSortableOptions: function getSortableOptions() { return { handle: '> .elementor-element-overlay .elementor-editor-element-edit', items: '> .elementor-section' }; }, getChildType: function getChildType() { return ['section']; }, initialize: function initialize() { BaseContainer.prototype.initialize.apply(this, arguments); this.listenTo(this.collection, 'add remove reset', this.onCollectionChanged).listenTo(elementor.channels.panelElements, 'element:drag:start', this.onPanelElementDragStart).listenTo(elementor.channels.panelElements, 'element:drag:end', this.onPanelElementDragEnd); }, onCollectionChanged: function onCollectionChanged() { elementor.saver.setFlagEditorChange(true); }, onPanelElementDragStart: function onPanelElementDragStart() { // A temporary workaround in order to fix Chrome's 70+ dragging above nested iframe bug this.$el.find('.elementor-background-video-embed').hide(); elementor.helpers.disableElementEvents(this.$el.find('iframe')); }, onPanelElementDragEnd: function onPanelElementDragEnd() { this.$el.find('.elementor-background-video-embed').show(); elementor.helpers.enableElementEvents(this.$el.find('iframe')); } }); module.exports = BaseSectionsContainerView; /***/ }) /******/ ]); //# sourceMappingURL=editor.js.map
[+]
..
[-] frontend.js
[edit]
[-] beta-tester.js
[edit]
[-] common.js
[edit]
[-] common-modules.js
[edit]
[-] new-template.js
[edit]
[-] editor-modules.js
[edit]
[-] admin-feedback.js
[edit]
[-] frontend-modules.min.js
[edit]
[-] common-modules.min.js
[edit]
[-] editor-modules.min.js
[edit]
[-] frontend-modules.js
[edit]
[-] admin-feedback.min.js
[edit]
[-] gutenberg.js
[edit]
[-] gutenberg.min.js
[edit]
[-] frontend.min.js
[edit]
[-] admin.js
[edit]
[-] new-template.min.js
[edit]
[-] beta-tester.min.js
[edit]
[-] editor.min.js
[edit]
[-] admin.min.js
[edit]
[-] common.min.js
[edit]
[-] editor.js
[edit]