/*! elementor - v3.23.0 - 05-08-2024 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js": /*!******************************************************************!*\ !*** ../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EnhancerArray: () => (/* binding */ EnhancerArray), /* harmony export */ MiddlewareArray: () => (/* binding */ MiddlewareArray), /* harmony export */ SHOULD_AUTOBATCH: () => (/* binding */ SHOULD_AUTOBATCH), /* harmony export */ TaskAbortError: () => (/* binding */ TaskAbortError), /* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.__DO_NOT_USE__ActionTypes), /* harmony export */ addListener: () => (/* binding */ addListener), /* harmony export */ applyMiddleware: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.applyMiddleware), /* harmony export */ autoBatchEnhancer: () => (/* binding */ autoBatchEnhancer), /* harmony export */ bindActionCreators: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.bindActionCreators), /* harmony export */ clearAllListeners: () => (/* binding */ clearAllListeners), /* harmony export */ combineReducers: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers), /* harmony export */ compose: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.compose), /* harmony export */ configureStore: () => (/* binding */ configureStore), /* harmony export */ createAction: () => (/* binding */ createAction), /* harmony export */ createActionCreatorInvariantMiddleware: () => (/* binding */ createActionCreatorInvariantMiddleware), /* harmony export */ createAsyncThunk: () => (/* binding */ createAsyncThunk), /* harmony export */ createDraftSafeSelector: () => (/* binding */ createDraftSafeSelector), /* harmony export */ createEntityAdapter: () => (/* binding */ createEntityAdapter), /* harmony export */ createImmutableStateInvariantMiddleware: () => (/* binding */ createImmutableStateInvariantMiddleware), /* harmony export */ createListenerMiddleware: () => (/* binding */ createListenerMiddleware), /* harmony export */ createNextState: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__["default"]), /* harmony export */ createReducer: () => (/* binding */ createReducer), /* harmony export */ createSelector: () => (/* reexport safe */ reselect__WEBPACK_IMPORTED_MODULE_1__.createSelector), /* harmony export */ createSerializableStateInvariantMiddleware: () => (/* binding */ createSerializableStateInvariantMiddleware), /* harmony export */ createSlice: () => (/* binding */ createSlice), /* harmony export */ createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.createStore), /* harmony export */ current: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.current), /* harmony export */ findNonSerializableValue: () => (/* binding */ findNonSerializableValue), /* harmony export */ freeze: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.freeze), /* harmony export */ getDefaultMiddleware: () => (/* binding */ getDefaultMiddleware), /* harmony export */ getType: () => (/* binding */ getType), /* harmony export */ isAction: () => (/* binding */ isAction), /* harmony export */ isActionCreator: () => (/* binding */ isActionCreator), /* harmony export */ isAllOf: () => (/* binding */ isAllOf), /* harmony export */ isAnyOf: () => (/* binding */ isAnyOf), /* harmony export */ isAsyncThunkAction: () => (/* binding */ isAsyncThunkAction), /* harmony export */ isDraft: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.isDraft), /* harmony export */ isFluxStandardAction: () => (/* binding */ isFSA), /* harmony export */ isFulfilled: () => (/* binding */ isFulfilled), /* harmony export */ isImmutableDefault: () => (/* binding */ isImmutableDefault), /* harmony export */ isPending: () => (/* binding */ isPending), /* harmony export */ isPlain: () => (/* binding */ isPlain), /* harmony export */ isPlainObject: () => (/* binding */ isPlainObject), /* harmony export */ isRejected: () => (/* binding */ isRejected), /* harmony export */ isRejectedWithValue: () => (/* binding */ isRejectedWithValue), /* harmony export */ legacy_createStore: () => (/* reexport safe */ redux__WEBPACK_IMPORTED_MODULE_0__.legacy_createStore), /* harmony export */ miniSerializeError: () => (/* binding */ miniSerializeError), /* harmony export */ nanoid: () => (/* binding */ nanoid), /* harmony export */ original: () => (/* reexport safe */ immer__WEBPACK_IMPORTED_MODULE_2__.original), /* harmony export */ prepareAutoBatched: () => (/* binding */ prepareAutoBatched), /* harmony export */ removeListener: () => (/* binding */ removeListener), /* harmony export */ unwrapResult: () => (/* binding */ unwrapResult) /* harmony export */ }); /* harmony import */ var immer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! immer */ "../node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.esm.mjs"); /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "../node_modules/redux/es/redux.js"); /* harmony import */ var reselect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! reselect */ "../node_modules/reselect/es/index.js"); /* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! redux-thunk */ "../node_modules/redux-thunk/es/index.js"); var __extends = (undefined && undefined.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __generator = (undefined && undefined.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; }; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; }; var __spreadValues = function (a, b) { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) { var prop = _c[_i]; if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); }; var __async = function (__this, __arguments, generator) { return new Promise(function (resolve, reject) { var fulfilled = function (value) { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = function (value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); }; step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/index.ts // src/createDraftSafeSelector.ts var createDraftSafeSelector = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var selector = reselect__WEBPACK_IMPORTED_MODULE_1__.createSelector.apply(void 0, args); var wrappedSelector = function (value) { var rest = []; for (var _i = 1; _i < arguments.length; _i++) { rest[_i - 1] = arguments[_i]; } return selector.apply(void 0, __spreadArray([(0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(value) ? (0,immer__WEBPACK_IMPORTED_MODULE_2__.current)(value) : value], rest)); }; return wrappedSelector; }; // src/configureStore.ts // src/devtoolsExtension.ts var composeWithDevTools = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () { if (arguments.length === 0) return void 0; if (typeof arguments[0] === "object") return redux__WEBPACK_IMPORTED_MODULE_0__.compose; return redux__WEBPACK_IMPORTED_MODULE_0__.compose.apply(null, arguments); }; var devToolsEnhancer = typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () { return function (noop2) { return noop2; }; }; // src/isPlainObject.ts function isPlainObject(value) { if (typeof value !== "object" || value === null) return false; var proto = Object.getPrototypeOf(value); if (proto === null) return true; var baseProto = proto; while (Object.getPrototypeOf(baseProto) !== null) { baseProto = Object.getPrototypeOf(baseProto); } return proto === baseProto; } // src/getDefaultMiddleware.ts // src/tsHelpers.ts var hasMatchFunction = function (v) { return v && typeof v.match === "function"; }; // src/createAction.ts function createAction(type, prepareAction) { function actionCreator() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (prepareAction) { var prepared = prepareAction.apply(void 0, args); if (!prepared) { throw new Error("prepareAction did not return an object"); } return __spreadValues(__spreadValues({ type: type, payload: prepared.payload }, "meta" in prepared && { meta: prepared.meta }), "error" in prepared && { error: prepared.error }); } return { type: type, payload: args[0] }; } actionCreator.toString = function () { return "" + type; }; actionCreator.type = type; actionCreator.match = function (action) { return action.type === type; }; return actionCreator; } function isAction(action) { return isPlainObject(action) && "type" in action; } function isActionCreator(action) { return typeof action === "function" && "type" in action && hasMatchFunction(action); } function isFSA(action) { return isAction(action) && typeof action.type === "string" && Object.keys(action).every(isValidKey); } function isValidKey(key) { return ["type", "payload", "error", "meta"].indexOf(key) > -1; } function getType(actionCreator) { return "" + actionCreator; } // src/actionCreatorInvariantMiddleware.ts function getMessage(type) { var splitType = type ? ("" + type).split("/") : []; var actionName = splitType[splitType.length - 1] || "actionCreator"; return "Detected an action creator with type \"" + (type || "unknown") + "\" being dispatched. \nMake sure you're calling the action creator before dispatching, i.e. `dispatch(" + actionName + "())` instead of `dispatch(" + actionName + ")`. This is necessary even if the action has no payload."; } function createActionCreatorInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) {} var _c = options.isActionCreator, isActionCreator2 = _c === void 0 ? isActionCreator : _c; return function () { return function (next) { return function (action) { if (isActionCreator2(action)) { console.warn(getMessage(action.type)); } return next(action); }; }; }; } // src/utils.ts function getTimeMeasureUtils(maxDelay, fnName) { var elapsed = 0; return { measureTime: function (fn) { var started = Date.now(); try { return fn(); } finally { var finished = Date.now(); elapsed += finished - started; } }, warnIfExceeded: function () { if (elapsed > maxDelay) { console.warn(fnName + " took " + elapsed + "ms, which is more than the warning threshold of " + maxDelay + "ms. \nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\nIt is disabled in production builds, so you don't need to worry about that."); } } }; } var MiddlewareArray = /** @class */ (function (_super) { __extends(MiddlewareArray, _super); function MiddlewareArray() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var _this = _super.apply(this, args) || this; Object.setPrototypeOf(_this, MiddlewareArray.prototype); return _this; } Object.defineProperty(MiddlewareArray, Symbol.species, { get: function () { return MiddlewareArray; }, enumerable: false, configurable: true }); MiddlewareArray.prototype.concat = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } return _super.prototype.concat.apply(this, arr); }; MiddlewareArray.prototype.prepend = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } if (arr.length === 1 && Array.isArray(arr[0])) { return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))(); } return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))(); }; return MiddlewareArray; }(Array)); var EnhancerArray = /** @class */ (function (_super) { __extends(EnhancerArray, _super); function EnhancerArray() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var _this = _super.apply(this, args) || this; Object.setPrototypeOf(_this, EnhancerArray.prototype); return _this; } Object.defineProperty(EnhancerArray, Symbol.species, { get: function () { return EnhancerArray; }, enumerable: false, configurable: true }); EnhancerArray.prototype.concat = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } return _super.prototype.concat.apply(this, arr); }; EnhancerArray.prototype.prepend = function () { var arr = []; for (var _i = 0; _i < arguments.length; _i++) { arr[_i] = arguments[_i]; } if (arr.length === 1 && Array.isArray(arr[0])) { return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))(); } return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))(); }; return EnhancerArray; }(Array)); function freezeDraftable(val) { return (0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraftable)(val) ? (0,immer__WEBPACK_IMPORTED_MODULE_2__["default"])(val, function () { }) : val; } // src/immutableStateInvariantMiddleware.ts var isProduction = "development" === "production"; var prefix = "Invariant failed"; function invariant(condition, message) { if (condition) { return; } if (isProduction) { throw new Error(prefix); } throw new Error(prefix + ": " + (message || "")); } function stringify(obj, serializer, indent, decycler) { return JSON.stringify(obj, getSerialize(serializer, decycler), indent); } function getSerialize(serializer, decycler) { var stack = [], keys = []; if (!decycler) decycler = function (_, value) { if (stack[0] === value) return "[Circular ~]"; return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]"; }; return function (key, value) { if (stack.length > 0) { var thisPos = stack.indexOf(this); ~thisPos ? stack.splice(thisPos + 1) : stack.push(this); ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key); if (~stack.indexOf(value)) value = decycler.call(this, key, value); } else stack.push(value); return serializer == null ? value : serializer.call(this, key, value); }; } function isImmutableDefault(value) { return typeof value !== "object" || value == null || Object.isFrozen(value); } function trackForMutations(isImmutable, ignorePaths, obj) { var trackedProperties = trackProperties(isImmutable, ignorePaths, obj); return { detectMutations: function () { return detectMutations(isImmutable, ignorePaths, trackedProperties, obj); } }; } function trackProperties(isImmutable, ignorePaths, obj, path, checkedObjects) { if (ignorePaths === void 0) { ignorePaths = []; } if (path === void 0) { path = ""; } if (checkedObjects === void 0) { checkedObjects = new Set(); } var tracked = { value: obj }; if (!isImmutable(obj) && !checkedObjects.has(obj)) { checkedObjects.add(obj); tracked.children = {}; for (var key in obj) { var childPath = path ? path + "." + key : key; if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) { continue; } tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath); } } return tracked; } function detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) { if (ignoredPaths === void 0) { ignoredPaths = []; } if (sameParentRef === void 0) { sameParentRef = false; } if (path === void 0) { path = ""; } var prevObj = trackedProperty ? trackedProperty.value : void 0; var sameRef = prevObj === obj; if (sameParentRef && !sameRef && !Number.isNaN(obj)) { return { wasMutated: true, path: path }; } if (isImmutable(prevObj) || isImmutable(obj)) { return { wasMutated: false }; } var keysToDetect = {}; for (var key in trackedProperty.children) { keysToDetect[key] = true; } for (var key in obj) { keysToDetect[key] = true; } var hasIgnoredPaths = ignoredPaths.length > 0; var _loop_1 = function (key) { var nestedPath = path ? path + "." + key : key; if (hasIgnoredPaths) { var hasMatches = ignoredPaths.some(function (ignored) { if (ignored instanceof RegExp) { return ignored.test(nestedPath); } return nestedPath === ignored; }); if (hasMatches) { return "continue"; } } var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath); if (result.wasMutated) { return { value: result }; } }; for (var key in keysToDetect) { var state_1 = _loop_1(key); if (typeof state_1 === "object") return state_1.value; } return { wasMutated: false }; } function createImmutableStateInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) {} var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore; ignoredPaths = ignoredPaths || ignore; var track = trackForMutations.bind(null, isImmutable, ignoredPaths); return function (_c) { var getState = _c.getState; var state = getState(); var tracker = track(state); var result; return function (next) { return function (action) { var measureUtils = getTimeMeasureUtils(warnAfter, "ImmutableStateInvariantMiddleware"); measureUtils.measureTime(function () { state = getState(); result = tracker.detectMutations(); tracker = track(state); invariant(!result.wasMutated, "A state mutation was detected between dispatches, in the path '" + (result.path || "") + "'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)"); }); var dispatchedAction = next(action); measureUtils.measureTime(function () { state = getState(); result = tracker.detectMutations(); tracker = track(state); result.wasMutated && invariant(!result.wasMutated, "A state mutation was detected inside a dispatch, in the path: " + (result.path || "") + ". Take a look at the reducer(s) handling the action " + stringify(action) + ". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)"); }); measureUtils.warnIfExceeded(); return dispatchedAction; }; }; }; } // src/serializableStateInvariantMiddleware.ts function isPlain(val) { var type = typeof val; return val == null || type === "string" || type === "boolean" || type === "number" || Array.isArray(val) || isPlainObject(val); } function findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) { if (path === void 0) { path = ""; } if (isSerializable === void 0) { isSerializable = isPlain; } if (ignoredPaths === void 0) { ignoredPaths = []; } var foundNestedSerializable; if (!isSerializable(value)) { return { keyPath: path || "", value: value }; } if (typeof value !== "object" || value === null) { return false; } if (cache == null ? void 0 : cache.has(value)) return false; var entries = getEntries != null ? getEntries(value) : Object.entries(value); var hasIgnoredPaths = ignoredPaths.length > 0; var _loop_2 = function (key, nestedValue) { var nestedPath = path ? path + "." + key : key; if (hasIgnoredPaths) { var hasMatches = ignoredPaths.some(function (ignored) { if (ignored instanceof RegExp) { return ignored.test(nestedPath); } return nestedPath === ignored; }); if (hasMatches) { return "continue"; } } if (!isSerializable(nestedValue)) { return { value: { keyPath: nestedPath, value: nestedValue } }; } if (typeof nestedValue === "object") { foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache); if (foundNestedSerializable) { return { value: foundNestedSerializable }; } } }; for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) { var _c = entries_1[_i], key = _c[0], nestedValue = _c[1]; var state_2 = _loop_2(key, nestedValue); if (typeof state_2 === "object") return state_2.value; } if (cache && isNestedFrozen(value)) cache.add(value); return false; } function isNestedFrozen(value) { if (!Object.isFrozen(value)) return false; for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) { var nestedValue = _c[_i]; if (typeof nestedValue !== "object" || nestedValue === null) continue; if (!isNestedFrozen(nestedValue)) return false; } return true; } function createSerializableStateInvariantMiddleware(options) { if (options === void 0) { options = {}; } if (false) {} var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? ["meta.arg", "meta.baseQueryMeta"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k; var cache = !disableCache && WeakSet ? new WeakSet() : void 0; return function (storeAPI) { return function (next) { return function (action) { var result = next(action); var measureUtils = getTimeMeasureUtils(warnAfter, "SerializableStateInvariantMiddleware"); if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) { measureUtils.measureTime(function () { var foundActionNonSerializableValue = findNonSerializableValue(action, "", isSerializable, getEntries, ignoredActionPaths, cache); if (foundActionNonSerializableValue) { var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value; console.error("A non-serializable value was detected in an action, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the logic that dispatched this action: ", action, "\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)", "\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)"); } }); } if (!ignoreState) { measureUtils.measureTime(function () { var state = storeAPI.getState(); var foundStateNonSerializableValue = findNonSerializableValue(state, "", isSerializable, getEntries, ignoredPaths, cache); if (foundStateNonSerializableValue) { var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value; console.error("A non-serializable value was detected in the state, in the path: `" + keyPath + "`. Value:", value, "\nTake a look at the reducer(s) handling this action type: " + action.type + ".\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)"); } }); measureUtils.warnIfExceeded(); } return result; }; }; }; } // src/getDefaultMiddleware.ts function isBoolean(x) { return typeof x === "boolean"; } function curryGetDefaultMiddleware() { return function curriedGetDefaultMiddleware(options) { return getDefaultMiddleware(options); }; } function getDefaultMiddleware(options) { if (options === void 0) { options = {}; } var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e, _f = options.actionCreatorCheck, actionCreatorCheck = _f === void 0 ? true : _f; var middlewareArray = new MiddlewareArray(); if (thunk) { if (isBoolean(thunk)) { middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__["default"]); } else { middlewareArray.push(redux_thunk__WEBPACK_IMPORTED_MODULE_3__["default"].withExtraArgument(thunk.extraArgument)); } } if (true) { if (immutableCheck) { var immutableOptions = {}; if (!isBoolean(immutableCheck)) { immutableOptions = immutableCheck; } middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions)); } if (serializableCheck) { var serializableOptions = {}; if (!isBoolean(serializableCheck)) { serializableOptions = serializableCheck; } middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions)); } if (actionCreatorCheck) { var actionCreatorOptions = {}; if (!isBoolean(actionCreatorCheck)) { actionCreatorOptions = actionCreatorCheck; } middlewareArray.unshift(createActionCreatorInvariantMiddleware(actionCreatorOptions)); } } return middlewareArray; } // src/configureStore.ts var IS_PRODUCTION = "development" === "production"; function configureStore(options) { var curriedGetDefaultMiddleware = curryGetDefaultMiddleware(); var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h; var rootReducer; if (typeof reducer === "function") { rootReducer = reducer; } else if (isPlainObject(reducer)) { rootReducer = (0,redux__WEBPACK_IMPORTED_MODULE_0__.combineReducers)(reducer); } else { throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'); } var finalMiddleware = middleware; if (typeof finalMiddleware === "function") { finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware); if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) { throw new Error("when using a middleware builder function, an array of middleware must be returned"); } } if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== "function"; })) { throw new Error("each middleware provided to configureStore must be a function"); } var middlewareEnhancer = redux__WEBPACK_IMPORTED_MODULE_0__.applyMiddleware.apply(void 0, finalMiddleware); var finalCompose = redux__WEBPACK_IMPORTED_MODULE_0__.compose; if (devTools) { finalCompose = composeWithDevTools(__spreadValues({ trace: !IS_PRODUCTION }, typeof devTools === "object" && devTools)); } var defaultEnhancers = new EnhancerArray(middlewareEnhancer); var storeEnhancers = defaultEnhancers; if (Array.isArray(enhancers)) { storeEnhancers = __spreadArray([middlewareEnhancer], enhancers); } else if (typeof enhancers === "function") { storeEnhancers = enhancers(defaultEnhancers); } var composedEnhancer = finalCompose.apply(void 0, storeEnhancers); return (0,redux__WEBPACK_IMPORTED_MODULE_0__.createStore)(rootReducer, preloadedState, composedEnhancer); } // src/createReducer.ts // src/mapBuilders.ts function executeReducerBuilderCallback(builderCallback) { var actionsMap = {}; var actionMatchers = []; var defaultCaseReducer; var builder = { addCase: function (typeOrActionCreator, reducer) { if (true) { if (actionMatchers.length > 0) { throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`"); } if (defaultCaseReducer) { throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`"); } } var type = typeof typeOrActionCreator === "string" ? typeOrActionCreator : typeOrActionCreator.type; if (!type) { throw new Error("`builder.addCase` cannot be called with an empty action type"); } if (type in actionsMap) { throw new Error("`builder.addCase` cannot be called with two reducers for the same action type"); } actionsMap[type] = reducer; return builder; }, addMatcher: function (matcher, reducer) { if (true) { if (defaultCaseReducer) { throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`"); } } actionMatchers.push({ matcher: matcher, reducer: reducer }); return builder; }, addDefaultCase: function (reducer) { if (true) { if (defaultCaseReducer) { throw new Error("`builder.addDefaultCase` can only be called once"); } } defaultCaseReducer = reducer; return builder; } }; builderCallback(builder); return [actionsMap, actionMatchers, defaultCaseReducer]; } // src/createReducer.ts function isStateFunction(x) { return typeof x === "function"; } var hasWarnedAboutObjectNotation = false; function createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) { if (actionMatchers === void 0) { actionMatchers = []; } if (true) { if (typeof mapOrBuilderCallback === "object") { if (!hasWarnedAboutObjectNotation) { hasWarnedAboutObjectNotation = true; console.warn("The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer"); } } } var _c = typeof mapOrBuilderCallback === "function" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2]; var getInitialState; if (isStateFunction(initialState)) { getInitialState = function () { return freezeDraftable(initialState()); }; } else { var frozenInitialState_1 = freezeDraftable(initialState); getInitialState = function () { return frozenInitialState_1; }; } function reducer(state, action) { if (state === void 0) { state = getInitialState(); } var caseReducers = __spreadArray([ actionsMap[action.type] ], finalActionMatchers.filter(function (_c) { var matcher = _c.matcher; return matcher(action); }).map(function (_c) { var reducer2 = _c.reducer; return reducer2; })); if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) { caseReducers = [finalDefaultCaseReducer]; } return caseReducers.reduce(function (previousState, caseReducer) { if (caseReducer) { if ((0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(previousState)) { var draft = previousState; var result = caseReducer(draft, action); if (result === void 0) { return previousState; } return result; } else if (!(0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraftable)(previousState)) { var result = caseReducer(previousState, action); if (result === void 0) { if (previousState === null) { return previousState; } throw Error("A case reducer on a non-draftable value must not return undefined"); } return result; } else { return (0,immer__WEBPACK_IMPORTED_MODULE_2__["default"])(previousState, function (draft) { return caseReducer(draft, action); }); } } return previousState; }, state); } reducer.getInitialState = getInitialState; return reducer; } // src/createSlice.ts var hasWarnedAboutObjectNotation2 = false; function getType2(slice, actionKey) { return slice + "/" + actionKey; } function createSlice(options) { var name = options.name; if (!name) { throw new Error("`name` is a required option for createSlice"); } if (typeof process !== "undefined" && "development" === "development") { if (options.initialState === void 0) { console.error("You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`"); } } var initialState = typeof options.initialState == "function" ? options.initialState : freezeDraftable(options.initialState); var reducers = options.reducers || {}; var reducerNames = Object.keys(reducers); var sliceCaseReducersByName = {}; var sliceCaseReducersByType = {}; var actionCreators = {}; reducerNames.forEach(function (reducerName) { var maybeReducerWithPrepare = reducers[reducerName]; var type = getType2(name, reducerName); var caseReducer; var prepareCallback; if ("reducer" in maybeReducerWithPrepare) { caseReducer = maybeReducerWithPrepare.reducer; prepareCallback = maybeReducerWithPrepare.prepare; } else { caseReducer = maybeReducerWithPrepare; } sliceCaseReducersByName[reducerName] = caseReducer; sliceCaseReducersByType[type] = caseReducer; actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type); }); function buildReducer() { if (true) { if (typeof options.extraReducers === "object") { if (!hasWarnedAboutObjectNotation2) { hasWarnedAboutObjectNotation2 = true; console.warn("The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice"); } } } var _c = typeof options.extraReducers === "function" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f; var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType); return createReducer(initialState, function (builder) { for (var key in finalCaseReducers) { builder.addCase(key, finalCaseReducers[key]); } for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) { var m = actionMatchers_1[_i]; builder.addMatcher(m.matcher, m.reducer); } if (defaultCaseReducer) { builder.addDefaultCase(defaultCaseReducer); } }); } var _reducer; return { name: name, reducer: function (state, action) { if (!_reducer) _reducer = buildReducer(); return _reducer(state, action); }, actions: actionCreators, caseReducers: sliceCaseReducersByName, getInitialState: function () { if (!_reducer) _reducer = buildReducer(); return _reducer.getInitialState(); } }; } // src/entities/entity_state.ts function getInitialEntityState() { return { ids: [], entities: {} }; } function createInitialStateFactory() { function getInitialState(additionalState) { if (additionalState === void 0) { additionalState = {}; } return Object.assign(getInitialEntityState(), additionalState); } return { getInitialState: getInitialState }; } // src/entities/state_selectors.ts function createSelectorsFactory() { function getSelectors(selectState) { var selectIds = function (state) { return state.ids; }; var selectEntities = function (state) { return state.entities; }; var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); }); var selectId = function (_, id) { return id; }; var selectById = function (entities, id) { return entities[id]; }; var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; }); if (!selectState) { return { selectIds: selectIds, selectEntities: selectEntities, selectAll: selectAll, selectTotal: selectTotal, selectById: createDraftSafeSelector(selectEntities, selectId, selectById) }; } var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities); return { selectIds: createDraftSafeSelector(selectState, selectIds), selectEntities: selectGlobalizedEntities, selectAll: createDraftSafeSelector(selectState, selectAll), selectTotal: createDraftSafeSelector(selectState, selectTotal), selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById) }; } return { getSelectors: getSelectors }; } // src/entities/state_adapter.ts function createSingleArgumentStateOperator(mutator) { var operator = createStateOperator(function (_, state) { return mutator(state); }); return function operation(state) { return operator(state, void 0); }; } function createStateOperator(mutator) { return function operation(state, arg) { function isPayloadActionArgument(arg2) { return isFSA(arg2); } var runMutator = function (draft) { if (isPayloadActionArgument(arg)) { mutator(arg.payload, draft); } else { mutator(arg, draft); } }; if ((0,immer__WEBPACK_IMPORTED_MODULE_2__.isDraft)(state)) { runMutator(state); return state; } else { return (0,immer__WEBPACK_IMPORTED_MODULE_2__["default"])(state, runMutator); } }; } // src/entities/utils.ts function selectIdValue(entity, selectId) { var key = selectId(entity); if ( true && key === void 0) { console.warn("The entity passed to the `selectId` implementation returned undefined.", "You should probably provide your own `selectId` implementation.", "The entity that was passed:", entity, "The `selectId` implementation:", selectId.toString()); } return key; } function ensureEntitiesArray(entities) { if (!Array.isArray(entities)) { entities = Object.values(entities); } return entities; } function splitAddedUpdatedEntities(newEntities, selectId, state) { newEntities = ensureEntitiesArray(newEntities); var added = []; var updated = []; for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) { var entity = newEntities_1[_i]; var id = selectIdValue(entity, selectId); if (id in state.entities) { updated.push({ id: id, changes: entity }); } else { added.push(entity); } } return [added, updated]; } // src/entities/unsorted_state_adapter.ts function createUnsortedStateAdapter(selectId) { function addOneMutably(entity, state) { var key = selectIdValue(entity, selectId); if (key in state.entities) { return; } state.ids.push(key); state.entities[key] = entity; } function addManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) { var entity = newEntities_2[_i]; addOneMutably(entity, state); } } function setOneMutably(entity, state) { var key = selectIdValue(entity, selectId); if (!(key in state.entities)) { state.ids.push(key); } state.entities[key] = entity; } function setManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) { var entity = newEntities_3[_i]; setOneMutably(entity, state); } } function setAllMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); state.ids = []; state.entities = {}; addManyMutably(newEntities, state); } function removeOneMutably(key, state) { return removeManyMutably([key], state); } function removeManyMutably(keys, state) { var didMutate = false; keys.forEach(function (key) { if (key in state.entities) { delete state.entities[key]; didMutate = true; } }); if (didMutate) { state.ids = state.ids.filter(function (id) { return id in state.entities; }); } } function removeAllMutably(state) { Object.assign(state, { ids: [], entities: {} }); } function takeNewKey(keys, update, state) { var original2 = state.entities[update.id]; var updated = Object.assign({}, original2, update.changes); var newKey = selectIdValue(updated, selectId); var hasNewKey = newKey !== update.id; if (hasNewKey) { keys[update.id] = newKey; delete state.entities[update.id]; } state.entities[newKey] = updated; return hasNewKey; } function updateOneMutably(update, state) { return updateManyMutably([update], state); } function updateManyMutably(updates, state) { var newKeys = {}; var updatesPerEntity = {}; updates.forEach(function (update) { if (update.id in state.entities) { updatesPerEntity[update.id] = { id: update.id, changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes) }; } }); updates = Object.values(updatesPerEntity); var didMutateEntities = updates.length > 0; if (didMutateEntities) { var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0; if (didMutateIds) { state.ids = Object.keys(state.entities); } } } function upsertOneMutably(entity, state) { return upsertManyMutably([entity], state); } function upsertManyMutably(newEntities, state) { var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1]; updateManyMutably(updated, state); addManyMutably(added, state); } return { removeAll: createSingleArgumentStateOperator(removeAllMutably), addOne: createStateOperator(addOneMutably), addMany: createStateOperator(addManyMutably), setOne: createStateOperator(setOneMutably), setMany: createStateOperator(setManyMutably), setAll: createStateOperator(setAllMutably), updateOne: createStateOperator(updateOneMutably), updateMany: createStateOperator(updateManyMutably), upsertOne: createStateOperator(upsertOneMutably), upsertMany: createStateOperator(upsertManyMutably), removeOne: createStateOperator(removeOneMutably), removeMany: createStateOperator(removeManyMutably) }; } // src/entities/sorted_state_adapter.ts function createSortedStateAdapter(selectId, sort) { var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll; function addOneMutably(entity, state) { return addManyMutably([entity], state); } function addManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); }); if (models.length !== 0) { merge(models, state); } } function setOneMutably(entity, state) { return setManyMutably([entity], state); } function setManyMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); if (newEntities.length !== 0) { merge(newEntities, state); } } function setAllMutably(newEntities, state) { newEntities = ensureEntitiesArray(newEntities); state.entities = {}; state.ids = []; addManyMutably(newEntities, state); } function updateOneMutably(update, state) { return updateManyMutably([update], state); } function updateManyMutably(updates, state) { var appliedUpdates = false; for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) { var update = updates_1[_i]; var entity = state.entities[update.id]; if (!entity) { continue; } appliedUpdates = true; Object.assign(entity, update.changes); var newId = selectId(entity); if (update.id !== newId) { delete state.entities[update.id]; state.entities[newId] = entity; } } if (appliedUpdates) { resortEntities(state); } } function upsertOneMutably(entity, state) { return upsertManyMutably([entity], state); } function upsertManyMutably(newEntities, state) { var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1]; updateManyMutably(updated, state); addManyMutably(added, state); } function areArraysEqual(a, b) { if (a.length !== b.length) { return false; } for (var i = 0; i < a.length && i < b.length; i++) { if (a[i] === b[i]) { continue; } return false; } return true; } function merge(models, state) { models.forEach(function (model) { state.entities[selectId(model)] = model; }); resortEntities(state); } function resortEntities(state) { var allEntities = Object.values(state.entities); allEntities.sort(sort); var newSortedIds = allEntities.map(selectId); var ids = state.ids; if (!areArraysEqual(ids, newSortedIds)) { state.ids = newSortedIds; } } return { removeOne: removeOne, removeMany: removeMany, removeAll: removeAll, addOne: createStateOperator(addOneMutably), updateOne: createStateOperator(updateOneMutably), upsertOne: createStateOperator(upsertOneMutably), setOne: createStateOperator(setOneMutably), setMany: createStateOperator(setManyMutably), setAll: createStateOperator(setAllMutably), addMany: createStateOperator(addManyMutably), updateMany: createStateOperator(updateManyMutably), upsertMany: createStateOperator(upsertManyMutably) }; } // src/entities/create_adapter.ts function createEntityAdapter(options) { if (options === void 0) { options = {}; } var _c = __spreadValues({ sortComparer: false, selectId: function (instance) { return instance.id; } }, options), selectId = _c.selectId, sortComparer = _c.sortComparer; var stateFactory = createInitialStateFactory(); var selectorsFactory = createSelectorsFactory(); var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId); return __spreadValues(__spreadValues(__spreadValues({ selectId: selectId, sortComparer: sortComparer }, stateFactory), selectorsFactory), stateAdapter); } // src/nanoid.ts var urlAlphabet = "ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"; var nanoid = function (size) { if (size === void 0) { size = 21; } var id = ""; var i = size; while (i--) { id += urlAlphabet[Math.random() * 64 | 0]; } return id; }; // src/createAsyncThunk.ts var commonProperties = [ "name", "message", "stack", "code" ]; var RejectWithValue = /** @class */ (function () { function RejectWithValue(payload, meta) { this.payload = payload; this.meta = meta; } return RejectWithValue; }()); var FulfillWithMeta = /** @class */ (function () { function FulfillWithMeta(payload, meta) { this.payload = payload; this.meta = meta; } return FulfillWithMeta; }()); var miniSerializeError = function (value) { if (typeof value === "object" && value !== null) { var simpleError = {}; for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) { var property = commonProperties_1[_i]; if (typeof value[property] === "string") { simpleError[property] = value[property]; } } return simpleError; } return { message: String(value) }; }; var createAsyncThunk = (function () { function createAsyncThunk2(typePrefix, payloadCreator, options) { var fulfilled = createAction(typePrefix + "/fulfilled", function (payload, requestId, arg, meta) { return ({ payload: payload, meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, requestStatus: "fulfilled" }) }); }); var pending = createAction(typePrefix + "/pending", function (requestId, arg, meta) { return ({ payload: void 0, meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, requestStatus: "pending" }) }); }); var rejected = createAction(typePrefix + "/rejected", function (error, requestId, arg, payload, meta) { return ({ payload: payload, error: (options && options.serializeError || miniSerializeError)(error || "Rejected"), meta: __spreadProps(__spreadValues({}, meta || {}), { arg: arg, requestId: requestId, rejectedWithValue: !!payload, requestStatus: "rejected", aborted: (error == null ? void 0 : error.name) === "AbortError", condition: (error == null ? void 0 : error.name) === "ConditionError" }) }); }); var displayedWarning = false; var AC = typeof AbortController !== "undefined" ? AbortController : /** @class */ (function () { function class_1() { this.signal = { aborted: false, addEventListener: function () { }, dispatchEvent: function () { return false; }, onabort: function () { }, removeEventListener: function () { }, reason: void 0, throwIfAborted: function () { } }; } class_1.prototype.abort = function () { if (true) { if (!displayedWarning) { displayedWarning = true; console.info("This platform does not implement AbortController. \nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'."); } } }; return class_1; }()); function actionCreator(arg) { return function (dispatch, getState, extra) { var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid(); var abortController = new AC(); var abortReason; var started = false; function abort(reason) { abortReason = reason; abortController.abort(); } var promise2 = function () { return __async(this, null, function () { var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch; return __generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 4, , 5]); conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra }); if (!isThenable(conditionResult)) return [3 /*break*/, 2]; return [4 /*yield*/, conditionResult]; case 1: conditionResult = _c.sent(); _c.label = 2; case 2: if (conditionResult === false || abortController.signal.aborted) { throw { name: "ConditionError", message: "Aborted due to condition callback returning false." }; } started = true; abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener("abort", function () { return reject({ name: "AbortError", message: abortReason || "Aborted" }); }); }); dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra }))); return [4 /*yield*/, Promise.race([ abortedPromise, Promise.resolve(payloadCreator(arg, { dispatch: dispatch, getState: getState, extra: extra, requestId: requestId, signal: abortController.signal, abort: abort, rejectWithValue: function (value, meta) { return new RejectWithValue(value, meta); }, fulfillWithValue: function (value, meta) { return new FulfillWithMeta(value, meta); } })).then(function (result) { if (result instanceof RejectWithValue) { throw result; } if (result instanceof FulfillWithMeta) { return fulfilled(result.payload, requestId, arg, result.meta); } return fulfilled(result, requestId, arg); }) ])]; case 3: finalAction = _c.sent(); return [3 /*break*/, 5]; case 4: err_1 = _c.sent(); finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg); return [3 /*break*/, 5]; case 5: skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition; if (!skipDispatch) { dispatch(finalAction); } return [2 /*return*/, finalAction]; } }); }); }(); return Object.assign(promise2, { abort: abort, requestId: requestId, arg: arg, unwrap: function () { return promise2.then(unwrapResult); } }); }; } return Object.assign(actionCreator, { pending: pending, rejected: rejected, fulfilled: fulfilled, typePrefix: typePrefix }); } createAsyncThunk2.withTypes = function () { return createAsyncThunk2; }; return createAsyncThunk2; })(); function unwrapResult(action) { if (action.meta && action.meta.rejectedWithValue) { throw action.payload; } if (action.error) { throw action.error; } return action.payload; } function isThenable(value) { return value !== null && typeof value === "object" && typeof value.then === "function"; } // src/matchers.ts var matches = function (matcher, action) { if (hasMatchFunction(matcher)) { return matcher.match(action); } else { return matcher(action); } }; function isAnyOf() { var matchers = []; for (var _i = 0; _i < arguments.length; _i++) { matchers[_i] = arguments[_i]; } return function (action) { return matchers.some(function (matcher) { return matches(matcher, action); }); }; } function isAllOf() { var matchers = []; for (var _i = 0; _i < arguments.length; _i++) { matchers[_i] = arguments[_i]; } return function (action) { return matchers.every(function (matcher) { return matches(matcher, action); }); }; } function hasExpectedRequestMetadata(action, validStatus) { if (!action || !action.meta) return false; var hasValidRequestId = typeof action.meta.requestId === "string"; var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1; return hasValidRequestId && hasValidRequestStatus; } function isAsyncThunkArray(a) { return typeof a[0] === "function" && "pending" in a[0] && "fulfilled" in a[0] && "rejected" in a[0]; } function isPending() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["pending"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isPending()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isRejected() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["rejected"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isRejected()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isRejectedWithValue() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } var hasFlag = function (action) { return action && action.meta && action.meta.rejectedWithValue; }; if (asyncThunks.length === 0) { return function (action) { var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag); return combinedMatcher(action); }; } if (!isAsyncThunkArray(asyncThunks)) { return isRejectedWithValue()(asyncThunks[0]); } return function (action) { var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag); return combinedMatcher(action); }; } function isFulfilled() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["fulfilled"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isFulfilled()(asyncThunks[0]); } return function (action) { var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; }); var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } function isAsyncThunkAction() { var asyncThunks = []; for (var _i = 0; _i < arguments.length; _i++) { asyncThunks[_i] = arguments[_i]; } if (asyncThunks.length === 0) { return function (action) { return hasExpectedRequestMetadata(action, ["pending", "fulfilled", "rejected"]); }; } if (!isAsyncThunkArray(asyncThunks)) { return isAsyncThunkAction()(asyncThunks[0]); } return function (action) { var matchers = []; for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) { var asyncThunk = asyncThunks_1[_i]; matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled); } var combinedMatcher = isAnyOf.apply(void 0, matchers); return combinedMatcher(action); }; } // src/listenerMiddleware/utils.ts var assertFunction = function (func, expected) { if (typeof func !== "function") { throw new TypeError(expected + " is not a function"); } }; var noop = function () { }; var catchRejection = function (promise2, onError) { if (onError === void 0) { onError = noop; } promise2.catch(onError); return promise2; }; var addAbortSignalListener = function (abortSignal, callback) { abortSignal.addEventListener("abort", callback, { once: true }); return function () { return abortSignal.removeEventListener("abort", callback); }; }; var abortControllerWithReason = function (abortController, reason) { var signal = abortController.signal; if (signal.aborted) { return; } if (!("reason" in signal)) { Object.defineProperty(signal, "reason", { enumerable: true, value: reason, configurable: true, writable: true }); } ; abortController.abort(reason); }; // src/listenerMiddleware/exceptions.ts var task = "task"; var listener = "listener"; var completed = "completed"; var cancelled = "cancelled"; var taskCancelled = "task-" + cancelled; var taskCompleted = "task-" + completed; var listenerCancelled = listener + "-" + cancelled; var listenerCompleted = listener + "-" + completed; var TaskAbortError = /** @class */ (function () { function TaskAbortError(code) { this.code = code; this.name = "TaskAbortError"; this.message = task + " " + cancelled + " (reason: " + code + ")"; } return TaskAbortError; }()); // src/listenerMiddleware/task.ts var validateActive = function (signal) { if (signal.aborted) { throw new TaskAbortError(signal.reason); } }; function raceWithSignal(signal, promise2) { var cleanup = noop; return new Promise(function (resolve, reject) { var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); }; if (signal.aborted) { notifyRejection(); return; } cleanup = addAbortSignalListener(signal, notifyRejection); promise2.finally(function () { return cleanup(); }).then(resolve, reject); }).finally(function () { cleanup = noop; }); } var runTask = function (task2, cleanUp) { return __async(void 0, null, function () { var value, error_1; return __generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 3, 4, 5]); return [4 /*yield*/, Promise.resolve()]; case 1: _c.sent(); return [4 /*yield*/, task2()]; case 2: value = _c.sent(); return [2 /*return*/, { status: "ok", value: value }]; case 3: error_1 = _c.sent(); return [2 /*return*/, { status: error_1 instanceof TaskAbortError ? "cancelled" : "rejected", error: error_1 }]; case 4: cleanUp == null ? void 0 : cleanUp(); return [7 /*endfinally*/]; case 5: return [2 /*return*/]; } }); }); }; var createPause = function (signal) { return function (promise2) { return catchRejection(raceWithSignal(signal, promise2).then(function (output) { validateActive(signal); return output; })); }; }; var createDelay = function (signal) { var pause = createPause(signal); return function (timeoutMs) { return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); })); }; }; // src/listenerMiddleware/index.ts var assign = Object.assign; var INTERNAL_NIL_TOKEN = {}; var alm = "listenerMiddleware"; var createFork = function (parentAbortSignal, parentBlockingPromises) { var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); }; return function (taskExecutor, opts) { assertFunction(taskExecutor, "taskExecutor"); var childAbortController = new AbortController(); linkControllers(childAbortController); var result = runTask(function () { return __async(void 0, null, function () { var result2; return __generator(this, function (_c) { switch (_c.label) { case 0: validateActive(parentAbortSignal); validateActive(childAbortController.signal); return [4 /*yield*/, taskExecutor({ pause: createPause(childAbortController.signal), delay: createDelay(childAbortController.signal), signal: childAbortController.signal })]; case 1: result2 = _c.sent(); validateActive(childAbortController.signal); return [2 /*return*/, result2]; } }); }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); }); if (opts == null ? void 0 : opts.autoJoin) { parentBlockingPromises.push(result); } return { result: createPause(parentAbortSignal)(result), cancel: function () { abortControllerWithReason(childAbortController, taskCancelled); } }; }; }; var createTakePattern = function (startListening, signal) { var take = function (predicate, timeout) { return __async(void 0, null, function () { var unsubscribe, tuplePromise, promises, output; return __generator(this, function (_c) { switch (_c.label) { case 0: validateActive(signal); unsubscribe = function () { }; tuplePromise = new Promise(function (resolve, reject) { var stopListening = startListening({ predicate: predicate, effect: function (action, listenerApi) { listenerApi.unsubscribe(); resolve([ action, listenerApi.getState(), listenerApi.getOriginalState() ]); } }); unsubscribe = function () { stopListening(); reject(); }; }); promises = [ tuplePromise ]; if (timeout != null) { promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); })); } _c.label = 1; case 1: _c.trys.push([1, , 3, 4]); return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))]; case 2: output = _c.sent(); validateActive(signal); return [2 /*return*/, output]; case 3: unsubscribe(); return [7 /*endfinally*/]; case 4: return [2 /*return*/]; } }); }); }; return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); }; }; var getListenerEntryPropsFrom = function (options) { var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect; if (type) { predicate = createAction(type).match; } else if (actionCreator) { type = actionCreator.type; predicate = actionCreator.match; } else if (matcher) { predicate = matcher; } else if (predicate) { } else { throw new Error("Creating or removing a listener requires one of the known fields for matching an action"); } assertFunction(effect, "options.listener"); return { predicate: predicate, type: type, effect: effect }; }; var createListenerEntry = function (options) { var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect; var id = nanoid(); var entry = { id: id, effect: effect, type: type, predicate: predicate, pending: new Set(), unsubscribe: function () { throw new Error("Unsubscribe not initialized"); } }; return entry; }; var cancelActiveListeners = function (entry) { entry.pending.forEach(function (controller) { abortControllerWithReason(controller, listenerCancelled); }); }; var createClearListenerMiddleware = function (listenerMap) { return function () { listenerMap.forEach(cancelActiveListeners); listenerMap.clear(); }; }; var safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) { try { errorHandler(errorToNotify, errorInfo); } catch (errorHandlerError) { setTimeout(function () { throw errorHandlerError; }, 0); } }; var addListener = createAction(alm + "/add"); var clearAllListeners = createAction(alm + "/removeAll"); var removeListener = createAction(alm + "/remove"); var defaultErrorHandler = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } console.error.apply(console, __spreadArray([alm + "/error"], args)); }; function createListenerMiddleware(middlewareOptions) { var _this = this; if (middlewareOptions === void 0) { middlewareOptions = {}; } var listenerMap = new Map(); var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c; assertFunction(onError, "onError"); var insertEntry = function (entry) { entry.unsubscribe = function () { return listenerMap.delete(entry.id); }; listenerMap.set(entry.id, entry); return function (cancelOptions) { entry.unsubscribe(); if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) { cancelActiveListeners(entry); } }; }; var findListenerEntry = function (comparator) { for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) { var entry = _c[_i]; if (comparator(entry)) { return entry; } } return void 0; }; var startListening = function (options) { var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; }); if (!entry) { entry = createListenerEntry(options); } return insertEntry(entry); }; var stopListening = function (options) { var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate; var entry = findListenerEntry(function (entry2) { var matchPredicateOrType = typeof type === "string" ? entry2.type === type : entry2.predicate === predicate; return matchPredicateOrType && entry2.effect === effect; }); if (entry) { entry.unsubscribe(); if (options.cancelActive) { cancelActiveListeners(entry); } } return !!entry; }; var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () { var internalTaskController, take, autoJoinPromises, listenerError_1; return __generator(this, function (_c) { switch (_c.label) { case 0: internalTaskController = new AbortController(); take = createTakePattern(startListening, internalTaskController.signal); autoJoinPromises = []; _c.label = 1; case 1: _c.trys.push([1, 3, 4, 6]); entry.pending.add(internalTaskController); return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, { getOriginalState: getOriginalState, condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); }, take: take, delay: createDelay(internalTaskController.signal), pause: createPause(internalTaskController.signal), extra: extra, signal: internalTaskController.signal, fork: createFork(internalTaskController.signal, autoJoinPromises), unsubscribe: entry.unsubscribe, subscribe: function () { listenerMap.set(entry.id, entry); }, cancelActiveListeners: function () { entry.pending.forEach(function (controller, _, set) { if (controller !== internalTaskController) { abortControllerWithReason(controller, listenerCancelled); set.delete(controller); } }); } })))]; case 2: _c.sent(); return [3 /*break*/, 6]; case 3: listenerError_1 = _c.sent(); if (!(listenerError_1 instanceof TaskAbortError)) { safelyNotifyError(onError, listenerError_1, { raisedBy: "effect" }); } return [3 /*break*/, 6]; case 4: return [4 /*yield*/, Promise.allSettled(autoJoinPromises)]; case 5: _c.sent(); abortControllerWithReason(internalTaskController, listenerCompleted); entry.pending.delete(internalTaskController); return [7 /*endfinally*/]; case 6: return [2 /*return*/]; } }); }); }; var clearListenerMiddleware = createClearListenerMiddleware(listenerMap); var middleware = function (api) { return function (next) { return function (action) { if (!isAction(action)) { return next(action); } if (addListener.match(action)) { return startListening(action.payload); } if (clearAllListeners.match(action)) { clearListenerMiddleware(); return; } if (removeListener.match(action)) { return stopListening(action.payload); } var originalState = api.getState(); var getOriginalState = function () { if (originalState === INTERNAL_NIL_TOKEN) { throw new Error(alm + ": getOriginalState can only be called synchronously"); } return originalState; }; var result; try { result = next(action); if (listenerMap.size > 0) { var currentState = api.getState(); var listenerEntries = Array.from(listenerMap.values()); for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) { var entry = listenerEntries_1[_i]; var runListener = false; try { runListener = entry.predicate(action, currentState, originalState); } catch (predicateError) { runListener = false; safelyNotifyError(onError, predicateError, { raisedBy: "predicate" }); } if (!runListener) { continue; } notifyListener(entry, action, api, getOriginalState); } } } finally { originalState = INTERNAL_NIL_TOKEN; } return result; }; }; }; return { middleware: middleware, startListening: startListening, stopListening: stopListening, clearListeners: clearListenerMiddleware }; } // src/autoBatchEnhancer.ts var SHOULD_AUTOBATCH = "RTK_autoBatch"; var prepareAutoBatched = function () { return function (payload) { var _c; return ({ payload: payload, meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c) }); }; }; var promise; var queueMicrotaskShim = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : typeof __webpack_require__.g !== "undefined" ? __webpack_require__.g : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () { throw err; }, 0); }); }; var createQueueWithTimer = function (timeout) { return function (notify) { setTimeout(notify, timeout); }; }; var rAF = typeof window !== "undefined" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10); var autoBatchEnhancer = function (options) { if (options === void 0) { options = { type: "raf" }; } return function (next) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var store = next.apply(void 0, args); var notifying = true; var shouldNotifyAtEndOfTick = false; var notificationQueued = false; var listeners = new Set(); var queueCallback = options.type === "tick" ? queueMicrotaskShim : options.type === "raf" ? rAF : options.type === "callback" ? options.queueNotification : createQueueWithTimer(options.timeout); var notifyListeners = function () { notificationQueued = false; if (shouldNotifyAtEndOfTick) { shouldNotifyAtEndOfTick = false; listeners.forEach(function (l) { return l(); }); } }; return Object.assign({}, store, { subscribe: function (listener2) { var wrappedListener = function () { return notifying && listener2(); }; var unsubscribe = store.subscribe(wrappedListener); listeners.add(listener2); return function () { unsubscribe(); listeners.delete(listener2); }; }, dispatch: function (action) { var _a; try { notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]); shouldNotifyAtEndOfTick = !notifying; if (shouldNotifyAtEndOfTick) { if (!notificationQueued) { notificationQueued = true; queueCallback(notifyListeners); } } return store.dispatch(action); } finally { notifying = true; } } }); }; }; }; // src/index.ts (0,immer__WEBPACK_IMPORTED_MODULE_2__.enableES5)(); //# sourceMappingURL=redux-toolkit.esm.js.map /***/ }), /***/ "../assets/dev/js/editor/utils/files-upload-handler.js": /*!*************************************************************!*\ !*** ../assets/dev/js/editor/utils/files-upload-handler.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var FilesUploadHandler = /*#__PURE__*/function () { function FilesUploadHandler() { (0, _classCallCheck2.default)(this, FilesUploadHandler); } (0, _createClass2.default)(FilesUploadHandler, null, [{ key: "isUploadEnabled", value: function isUploadEnabled(mediaType) { var unfilteredFilesTypes = ['svg', 'application/json']; if (!unfilteredFilesTypes.includes(mediaType)) { return true; } return elementorCommon.config.filesUpload.unfilteredFiles; } }, { key: "setUploadTypeCaller", value: function setUploadTypeCaller(frame) { frame.uploader.uploader.param('uploadTypeCaller', 'elementor-wp-media-upload'); } }, { key: "getUnfilteredFilesNonAdminDialog", value: function getUnfilteredFilesNonAdminDialog() { return elementorCommon.dialogsManager.createWidget('alert', { id: 'e-unfiltered-files-disabled-dialog', headerMessage: __('Sorry, you can\'t upload that file yet', 'elementor'), message: __('This is because JSON files may pose a security risk.', 'elementor') + '

' + __('To upload them anyway, ask the site administrator to enable unfiltered file uploads.', 'elementor'), strings: { confirm: __('Got it', 'elementor') } }); } }, { key: "getUnfilteredFilesNotEnabledDialog", value: function getUnfilteredFilesNotEnabledDialog(callback) { var elementorInstance = window.elementorAdmin || window.elementor; if (!elementorInstance.config.user.is_administrator) { return this.getUnfilteredFilesNonAdminDialog(); } var onConfirm = function onConfirm() { elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', {}, true); elementorCommon.config.filesUpload.unfilteredFiles = true; callback(); }; return elementorInstance.helpers.getSimpleDialog('e-enable-unfiltered-files-dialog', __('Enable Unfiltered File Uploads', 'elementor'), __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor'), __('Enable', 'elementor'), onConfirm); } }, { key: "getUnfilteredFilesNotEnabledImportTemplateDialog", value: function getUnfilteredFilesNotEnabledImportTemplateDialog(callback) { if (!(window.elementorAdmin || window.elementor).config.user.is_administrator) { return this.getUnfilteredFilesNonAdminDialog(); } return elementorCommon.dialogsManager.createWidget('confirm', { id: 'e-enable-unfiltered-files-dialog-import-template', headerMessage: __('Enable Unfiltered File Uploads', 'elementor'), message: __('Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.', 'elementor') + '

' + __('If you do not enable uploading unfiltered files, any SVG or JSON (including lottie) files used in the uploaded template will not be imported.', 'elementor'), position: { my: 'center center', at: 'center center' }, strings: { confirm: __('Enable and Import', 'elementor'), cancel: __('Import Without Enabling', 'elementor') }, onConfirm: function onConfirm() { elementorCommon.ajax.addRequest('enable_unfiltered_files_upload', { success: function success() { // This utility is used in both the admin and the Editor. elementorCommon.config.filesUpload.unfilteredFiles = true; callback(); } }, true); }, onCancel: function onCancel() { return callback(); } }); } }]); return FilesUploadHandler; }(); exports["default"] = FilesUploadHandler; /***/ }), /***/ "../assets/dev/js/editor/utils/is-instanceof.js": /*!******************************************************!*\ !*** ../assets/dev/js/editor/utils/is-instanceof.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /** * Some FileAPI objects such as FileList, DataTransferItem and DataTransferItemList has inconsistency with the retrieved * object (from events, etc.) and the actual JavaScript object so a regular instanceof doesn't work. This function can * check whether it's instanceof by using the objects constructor and prototype names. * * @param object * @param constructors * @return {boolean} */ var _default = function _default(object, constructors) { constructors = Array.isArray(constructors) ? constructors : [constructors]; var _iterator = _createForOfIteratorHelper(constructors), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var _constructor = _step.value; if (object.constructor.name === _constructor.prototype[Symbol.toStringTag]) { return true; } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return false; }; exports["default"] = _default; /***/ }), /***/ "../assets/dev/js/modules/imports/args-object.js": /*!*******************************************************!*\ !*** ../assets/dev/js/modules/imports/args-object.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _instanceType = _interopRequireDefault(__webpack_require__(/*! ./instance-type */ "../assets/dev/js/modules/imports/instance-type.js")); var _isInstanceof = _interopRequireDefault(__webpack_require__(/*! ../../editor/utils/is-instanceof */ "../assets/dev/js/editor/utils/is-instanceof.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ArgsObject = /*#__PURE__*/function (_InstanceType) { (0, _inherits2.default)(ArgsObject, _InstanceType); var _super = _createSuper(ArgsObject); /** * Function constructor(). * * Create ArgsObject. * * @param {{}} args */ function ArgsObject(args) { var _this; (0, _classCallCheck2.default)(this, ArgsObject); _this = _super.call(this); _this.args = args; return _this; } /** * Function requireArgument(). * * Validate property in args. * * @param {string} property * @param {{}} args * * @throws {Error} */ (0, _createClass2.default)(ArgsObject, [{ key: "requireArgument", value: function requireArgument(property) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.args; if (!Object.prototype.hasOwnProperty.call(args, property)) { throw Error("".concat(property, " is required.")); } } /** * Function requireArgumentType(). * * Validate property in args using `type === typeof(args.whatever)`. * * @param {string} property * @param {string} type * @param {{}} args * * @throws {Error} */ }, { key: "requireArgumentType", value: function requireArgumentType(property, type) { var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; this.requireArgument(property, args); if ((0, _typeof2.default)(args[property]) !== type) { throw Error("".concat(property, " invalid type: ").concat(type, ".")); } } /** * Function requireArgumentInstance(). * * Validate property in args using `args.whatever instanceof instance`. * * @param {string} property * @param {*} instance * @param {{}} args * * @throws {Error} */ }, { key: "requireArgumentInstance", value: function requireArgumentInstance(property, instance) { var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; this.requireArgument(property, args); if (!(args[property] instanceof instance) && !(0, _isInstanceof.default)(args[property], instance)) { throw Error("".concat(property, " invalid instance.")); } } /** * Function requireArgumentConstructor(). * * Validate property in args using `type === args.whatever.constructor`. * * @param {string} property * @param {*} type * @param {{}} args * * @throws {Error} */ }, { key: "requireArgumentConstructor", value: function requireArgumentConstructor(property, type) { var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.args; this.requireArgument(property, args); // Note: Converting the constructor to string in order to avoid equation issues // due to different memory addresses between iframes (window.Object !== window.top.Object). if (args[property].constructor.toString() !== type.prototype.constructor.toString()) { throw Error("".concat(property, " invalid constructor type.")); } } }], [{ key: "getInstanceType", value: function getInstanceType() { return 'ArgsObject'; } }]); return ArgsObject; }(_instanceType.default); exports["default"] = ArgsObject; /***/ }), /***/ "../assets/dev/js/modules/imports/instance-type.js": /*!*********************************************************!*\ !*** ../assets/dev/js/modules/imports/instance-type.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var InstanceType = /*#__PURE__*/function (_Symbol$hasInstance) { function InstanceType() { var _this = this; (0, _classCallCheck2.default)(this, InstanceType); // Since anonymous classes sometimes do not get validated by babel, do it manually. var target = this instanceof InstanceType ? this.constructor : void 0; var prototypes = []; while (target.__proto__ && target.__proto__.name) { prototypes.push(target.__proto__); target = target.__proto__; } prototypes.reverse().forEach(function (proto) { return _this instanceof proto; }); } (0, _createClass2.default)(InstanceType, null, [{ key: _Symbol$hasInstance, value: function value(target) { /** * This is function extending being called each time JS uses instanceOf, since babel use it each time it create new class * its give's opportunity to mange capabilities of instanceOf operator. * saving current class each time will give option later to handle instanceOf manually. */ var result = (0, _get2.default)((0, _getPrototypeOf2.default)(InstanceType), Symbol.hasInstance, this).call(this, target); // Act normal when validate a class, which does not have instance type. if (target && !target.constructor.getInstanceType) { return result; } if (target) { if (!target.instanceTypes) { target.instanceTypes = []; } if (!result) { if (this.getInstanceType() === target.constructor.getInstanceType()) { result = true; } } if (result) { var name = this.getInstanceType === InstanceType.getInstanceType ? 'BaseInstanceType' : this.getInstanceType(); if (-1 === target.instanceTypes.indexOf(name)) { target.instanceTypes.push(name); } } } if (!result && target) { // Check if the given 'target', is instance of known types. result = target.instanceTypes && Array.isArray(target.instanceTypes) && -1 !== target.instanceTypes.indexOf(this.getInstanceType()); } return result; } }, { key: "getInstanceType", value: function getInstanceType() { elementorModules.ForceMethodImplementation(); } }]); return InstanceType; }(Symbol.hasInstance); exports["default"] = InstanceType; /***/ }), /***/ "../assets/dev/js/modules/imports/module.js": /*!**************************************************!*\ !*** ../assets/dev/js/modules/imports/module.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js")); var Module = function Module() { var $ = jQuery, instanceParams = arguments, self = this, events = {}; var settings; var ensureClosureMethods = function ensureClosureMethods() { $.each(self, function (methodName) { var oldMethod = self[methodName]; if ('function' !== typeof oldMethod) { return; } self[methodName] = function () { return oldMethod.apply(self, arguments); }; }); }; var initSettings = function initSettings() { settings = self.getDefaultSettings(); var instanceSettings = instanceParams[0]; if (instanceSettings) { $.extend(true, settings, instanceSettings); } }; var init = function init() { self.__construct.apply(self, instanceParams); ensureClosureMethods(); initSettings(); self.trigger('init'); }; this.getItems = function (items, itemKey) { if (itemKey) { var keyStack = itemKey.split('.'), currentKey = keyStack.splice(0, 1); if (!keyStack.length) { return items[currentKey]; } if (!items[currentKey]) { return; } return this.getItems(items[currentKey], keyStack.join('.')); } return items; }; this.getSettings = function (setting) { return this.getItems(settings, setting); }; this.setSettings = function (settingKey, value, settingsContainer) { if (!settingsContainer) { settingsContainer = settings; } if ('object' === (0, _typeof2.default)(settingKey)) { $.extend(settingsContainer, settingKey); return self; } var keyStack = settingKey.split('.'), currentKey = keyStack.splice(0, 1); if (!keyStack.length) { settingsContainer[currentKey] = value; return self; } if (!settingsContainer[currentKey]) { settingsContainer[currentKey] = {}; } return self.setSettings(keyStack.join('.'), value, settingsContainer[currentKey]); }; this.getErrorMessage = function (type, functionName) { var message; switch (type) { case 'forceMethodImplementation': message = "The method '".concat(functionName, "' must to be implemented in the inheritor child."); break; default: message = 'An error occurs'; } return message; }; // TODO: This function should be deleted ?. this.forceMethodImplementation = function (functionName) { throw new Error(this.getErrorMessage('forceMethodImplementation', functionName)); }; this.on = function (eventName, callback) { if ('object' === (0, _typeof2.default)(eventName)) { $.each(eventName, function (singleEventName) { self.on(singleEventName, this); }); return self; } var eventNames = eventName.split(' '); eventNames.forEach(function (singleEventName) { if (!events[singleEventName]) { events[singleEventName] = []; } events[singleEventName].push(callback); }); return self; }; this.off = function (eventName, callback) { if (!events[eventName]) { return self; } if (!callback) { delete events[eventName]; return self; } var callbackIndex = events[eventName].indexOf(callback); if (-1 !== callbackIndex) { delete events[eventName][callbackIndex]; // Reset array index (for next off on same event). events[eventName] = events[eventName].filter(function (val) { return val; }); } return self; }; this.trigger = function (eventName) { var methodName = 'on' + eventName[0].toUpperCase() + eventName.slice(1), params = Array.prototype.slice.call(arguments, 1); if (self[methodName]) { self[methodName].apply(self, params); } var callbacks = events[eventName]; if (!callbacks) { return self; } $.each(callbacks, function (index, callback) { callback.apply(self, params); }); return self; }; init(); }; Module.prototype.__construct = function () {}; Module.prototype.getDefaultSettings = function () { return {}; }; Module.prototype.getConstructorID = function () { return this.constructor.name; }; Module.extend = function (properties) { var $ = jQuery, parent = this; var child = function child() { return parent.apply(this, arguments); }; $.extend(child, parent); child.prototype = Object.create($.extend({}, parent.prototype, properties)); child.prototype.constructor = child; child.__super__ = parent.prototype; return child; }; module.exports = Module; /***/ }), /***/ "../assets/dev/js/utils/notifications.js": /*!***********************************************!*\ !*** ../assets/dev/js/utils/notifications.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } 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 = parseInt($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 = parseInt($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 (!this.isPositionValid(options === null || options === void 0 ? void 0 : options.position)) { this.positionToWindow(); } if (options.buttons) { options.buttons.forEach(function (button) { toast.addButton(button); }); } if (options.classes) { toast.getElements('widget').addClass(options.classes); } if (options.sticky) { toast.setSettings({ hide: { auto: false, onClick: false } }); } return toast.show(); }, isPositionValid: function isPositionValid(position) { var _position$of; var positionToCheck = (_position$of = position === null || position === void 0 ? void 0 : position.of) !== null && _position$of !== void 0 ? _position$of : this.getToast().getSettings('position').of; if (!positionToCheck) { return false; } return !!document.querySelector(positionToCheck); }, positionToWindow: function positionToWindow() { var toast = this.getToast(); var position = _objectSpread(_objectSpread({}, toast.getSettings('position')), {}, { my: 'right top', at: 'right-10 top+42', // 42px is the default admin bar height + 10px of: '' }); toast.setSettings('position', position); toast.getElements('widget').addClass('dialog-position-window'); }, onInit: function onInit() { this.initToast(); } }); /***/ }), /***/ "../assets/dev/js/utils/time.js": /*!**************************************!*\ !*** ../assets/dev/js/utils/time.js ***! \**************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = getUserTimestamp; /** * Returns the timestamp in ISO8601 format with the UTC timezone offset. * * @since 3.6.0 * * @param {Date} date * @return {Date} timestamp */ function getUserTimestamp() { var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); var timezoneOffset = date.getTimezoneOffset(); // Local time for the user var UTCTimestamp = new Date(date.getTime() - timezoneOffset * 60000).toISOString(); // Remove the Z suffix from the string. UTCTimestamp = UTCTimestamp.slice(0, -1); // Create the offset string in the format `+HH:00` (or minus (-) prefix for negative offset instead of plus) var decimalTimezoneOffset = timezoneOffset / 60, // Negative offsets include a '-' sign in the getTimezoneOffset value, positive values need a '+' prefix (ISO8601). sign = 0 <= decimalTimezoneOffset ? '+' : '-', hours = Math.abs(Math.floor(decimalTimezoneOffset)), minutes = Math.abs(decimalTimezoneOffset % 1) * 60, addZeroToHour = 10 > hours ? '0' : '', addZeroToMinutes = 10 > minutes ? '0' : ''; var formattedTimezoneOffset = sign + addZeroToHour + hours + ':' + addZeroToMinutes + minutes; return UTCTimestamp + formattedTimezoneOffset; } /***/ }), /***/ "../core/common/assets/js/components/wordpress/commands-data/index.js": /*!****************************************************************************!*\ !*** ../core/common/assets/js/components/wordpress/commands-data/index.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "Media", ({ enumerable: true, get: function get() { return _media.Media; } })); var _media = __webpack_require__(/*! ./media */ "../core/common/assets/js/components/wordpress/commands-data/media.js"); /***/ }), /***/ "../core/common/assets/js/components/wordpress/commands-data/media.js": /*!****************************************************************************!*\ !*** ../core/common/assets/js/components/wordpress/commands-data/media.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Media = void 0; var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js")); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandData = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-data */ "../modules/web-cli/assets/js/modules/command-data.js")); var _filesUploadHandler = _interopRequireDefault(__webpack_require__(/*! elementor-editor/utils/files-upload-handler */ "../assets/dev/js/editor/utils/files-upload-handler.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Media = /*#__PURE__*/function (_CommandData) { (0, _inherits2.default)(Media, _CommandData); var _super = _createSuper(Media); function Media() { (0, _classCallCheck2.default)(this, Media); return _super.apply(this, arguments); } (0, _createClass2.default)(Media, [{ key: "validateArgs", value: function validateArgs() { this.requireArgumentInstance('file', File); } }, { key: "getRequestData", value: function getRequestData() { var requestData = (0, _get2.default)((0, _getPrototypeOf2.default)(Media.prototype), "getRequestData", this).call(this); requestData.namespace = 'wp'; requestData.version = '2'; return requestData; } }, { key: "applyBeforeCreate", value: function applyBeforeCreate(args) { var _args$options; args.headers = { 'Content-Disposition': "attachment; filename=".concat(this.file.name), 'Content-Type': this.file.type }; args.query = { uploadTypeCaller: 'elementor-wp-media-upload' }; args.data = this.file; if ((_args$options = args.options) !== null && _args$options !== void 0 && _args$options.progress) { this.toast = elementor.notifications.showToast({ // eslint-disable-next-line @wordpress/i18n-ellipsis message: __('Uploading...'), sticky: true }); } return args; } }, { key: "applyAfterCreate", value: function applyAfterCreate(data, args) { var _args$options2; if ((_args$options2 = args.options) !== null && _args$options2 !== void 0 && _args$options2.progress) { this.toast.hide(); } return data; } }, { key: "run", value: function () { var _run = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { return _regenerator.default.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: this.file = this.args.file; if (!(this.file.size > parseInt(window._wpPluploadSettings.defaults.filters.max_file_size, 10))) { _context.next = 3; break; } throw new Error(__('The file exceeds the maximum upload size for this site.', 'elementor')); case 3: if (!(!window._wpPluploadSettings.defaults.filters.mime_types[0].extensions.split(',').includes(this.file.name.split('.').pop()) && !elementor.config.filesUpload.unfilteredFiles)) { _context.next = 6; break; } _filesUploadHandler.default.getUnfilteredFilesNotEnabledDialog(function () {}).show(); return _context.abrupt("return"); case 6: _context.next = 8; return (0, _get2.default)((0, _getPrototypeOf2.default)(Media.prototype), "run", this).call(this); case 8: return _context.abrupt("return", _context.sent); case 9: case "end": return _context.stop(); } }, _callee, this); })); function run() { return _run.apply(this, arguments); } return run; }() }], [{ key: "getEndpointFormat", value: function getEndpointFormat() { // 'wp/media' to 'media' since `requestData.namespace` is 'wp'. return 'media'; } }]); return Media; }(_commandData.default); exports.Media = Media; /***/ }), /***/ "../core/common/assets/js/components/wordpress/component.js": /*!******************************************************************!*\ !*** ../core/common/assets/js/components/wordpress/component.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-base */ "../modules/web-cli/assets/js/modules/component-base.js")); var dataCommands = _interopRequireWildcard(__webpack_require__(/*! ./commands-data/ */ "../core/common/assets/js/components/wordpress/commands-data/index.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = /*#__PURE__*/function (_ComponentBase) { (0, _inherits2.default)(Component, _ComponentBase); var _super = _createSuper(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (0, _createClass2.default)(Component, [{ key: "getNamespace", value: function getNamespace() { return 'wp'; } }, { key: "defaultData", value: function defaultData() { return this.importCommands(dataCommands); } }]); return Component; }(_componentBase.default); exports["default"] = Component; /***/ }), /***/ "../core/common/assets/js/utils/debug.js": /*!***********************************************!*\ !*** ../core/common/assets/js/utils/debug.js ***! \***********************************************/ /***/ ((module) => { "use strict"; // Moved from assets/dev/js/editor/utils 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 _event$originalEvent; var error = (_event$originalEvent = event.originalEvent) === null || _event$originalEvent === void 0 ? void 0 : _event$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: event.originalEvent.filename, line: event.originalEvent.lineno, column: event.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 = Debug; /***/ }), /***/ "../core/common/assets/js/utils/helpers.js": /*!*************************************************!*\ !*** ../core/common/assets/js/utils/helpers.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var Helpers = /*#__PURE__*/function () { function Helpers() { (0, _classCallCheck2.default)(this, Helpers); } (0, _createClass2.default)(Helpers, [{ key: "softDeprecated", value: /** * @param {string} name * @param {string} version * @param {string} replacement * @deprecated since 3.7.0, use `elementorDevTools.deprecation.deprecated()` instead. */ function softDeprecated(name, version, replacement) { elementorDevTools.deprecation.deprecated(name, version, replacement); // This is is self is deprecated. elementorDevTools.deprecation.deprecated('elementorCommon.helpers.softDeprecated()', '3.7.0', 'elementorDevTools.deprecation.deprecated()'); } /** * @param {string} name * @param {string} version * @param {string} replacement * @deprecated since 3.7.0, use `elementorDevTools.deprecation.deprecated()` instead. */ }, { key: "hardDeprecated", value: function hardDeprecated(name, version, replacement) { elementorDevTools.deprecation.deprecated(name, version, replacement); // This is is self is deprecated. elementorDevTools.deprecation.deprecated('elementorCommon.helpers.hardDeprecated()', '3.7.0', 'elementorDevTools.deprecation.deprecated()'); } /** * @param {string} type * @param {string} name * @param {string} version * @param {string} replacement * @deprecated since 3.7.0, use `elementorDevTools.deprecation.deprecated()` instead. */ }, { key: "deprecatedMessage", value: function deprecatedMessage(type, name, version, replacement) { elementorDevTools.deprecation.deprecated(name, version, replacement); // This is is self is deprecated. elementorDevTools.deprecation.deprecated('elementorCommon.helpers.deprecatedMessage()', '3.7.0', 'elementorDevTools.deprecation.deprecated()'); } /** * @param {*} args * @deprecated since 3.7.0, use `elementorDevTools.consoleWarn()` instead. */ }, { key: "consoleWarn", value: function consoleWarn() { var _elementorDevTools; (_elementorDevTools = elementorDevTools).consoleWarn.apply(_elementorDevTools, arguments); // This is is self is deprecated. elementorDevTools.deprecation.deprecated('elementorCommon.helpers.consoleWarn()', '3.7.0', 'elementorDevTools.consoleWarn()'); } /** * @param {string} message * @deprecated since 3.7.0, use `console.error()` instead. */ }, { key: "consoleError", value: function consoleError(message) { // eslint-disable-next-line no-console console.error(message); // This is is self is deprecated. elementorDevTools.deprecation.deprecated('elementorCommon.helpers.consoleError()', '3.7.0', 'console.error()'); } /** * @param {string} methodName * @param {string} version * @param {string} replacement * @deprecated since 2.8.0, use `elementorDevTools.deprecation.deprecated()` instead. */ }, { key: "deprecatedMethod", value: function deprecatedMethod(methodName, version, replacement) { elementorDevTools.deprecation.deprecated(methodName, version, replacement); // This itself is deprecated. elementorDevTools.deprecation.deprecated('elementorCommon.helpers.deprecatedMethod()', '2.8.0', 'elementorDevTools.deprecation.deprecated()'); } }, { key: "cloneObject", value: function cloneObject(object) { return JSON.parse(JSON.stringify(object)); } }, { key: "upperCaseWords", value: function upperCaseWords(string) { return (string + '').replace(/^(.)|\s+(.)/g, function ($1) { return $1.toUpperCase(); }); } }, { key: "getUniqueId", value: function getUniqueId() { return Math.random().toString(16).substr(2, 7); } }]); return Helpers; }(); exports["default"] = Helpers; /***/ }), /***/ "../core/common/assets/js/utils/storage.js": /*!*************************************************!*\ !*** ../core/common/assets/js/utils/storage.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "get", value: function get(key, options) { options = options || {}; var storage; try { storage = options.session ? sessionStorage : localStorage; } catch (e) { return key ? undefined : {}; } var elementorStorage = storage.getItem('elementor'); if (elementorStorage) { elementorStorage = JSON.parse(elementorStorage); } else { elementorStorage = {}; } if (!elementorStorage.__expiration) { elementorStorage.__expiration = {}; } var expiration = elementorStorage.__expiration; var expirationToCheck = []; if (key) { if (expiration[key]) { expirationToCheck = [key]; } } else { expirationToCheck = Object.keys(expiration); } var entryExpired = false; expirationToCheck.forEach(function (expirationKey) { if (new Date(expiration[expirationKey]) < new Date()) { delete elementorStorage[expirationKey]; delete expiration[expirationKey]; entryExpired = true; } }); if (entryExpired) { this.save(elementorStorage, options.session); } if (key) { return elementorStorage[key]; } return elementorStorage; } }, { key: "set", value: function set(key, value, options) { options = options || {}; var elementorStorage = this.get(null, options); elementorStorage[key] = value; if (options.lifetimeInSeconds) { var date = new Date(); date.setTime(date.getTime() + options.lifetimeInSeconds * 1000); elementorStorage.__expiration[key] = date.getTime(); } this.save(elementorStorage, options.session); } }, { key: "save", value: function save(object, session) { var storage; try { storage = session ? sessionStorage : localStorage; } catch (e) { return; } storage.setItem('elementor', JSON.stringify(object)); } }]); return _default; }(elementorModules.Module); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/ajax/assets/js/ajax.js": /*!*****************************************************!*\ !*** ../core/common/modules/ajax/assets/js/ajax.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); var _super = _createSuper(_default); function _default() { var _this; (0, _classCallCheck2.default)(this, _default); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); _this.requests = {}; _this.cache = {}; _this.initRequestConstants(); _this.debounceSendBatch = _.debounce(_this.sendBatch.bind((0, _assertThisInitialized2.default)(_this)), 500); return _this; } (0, _createClass2.default)(_default, [{ key: "getDefaultSettings", value: function getDefaultSettings() { return { ajaxParams: { type: 'POST', url: elementorCommon.config.ajax.url, data: {}, dataType: 'json' }, actionPrefix: 'elementor_' }; } }, { key: "initRequestConstants", value: function initRequestConstants() { this.requestConstants = { _nonce: this.getSettings('nonce') }; } }, { key: "addRequestConstant", value: function addRequestConstant(key, value) { this.requestConstants[key] = value; } }, { key: "getCacheKey", value: function getCacheKey(request) { return JSON.stringify({ unique_id: request.unique_id, data: request.data }); } }, { key: "loadObjects", value: function loadObjects(options) { var _this2 = this; var dataCollection = {}; var deferredArray = []; if (options.before) { options.before(); } options.ids.forEach(function (objectId) { deferredArray.push(_this2.load({ action: options.action, unique_id: options.data.unique_id + objectId, data: jQuery.extend({ id: objectId }, options.data) }).done(function (data) { return dataCollection = jQuery.extend(dataCollection, data); })); }); jQuery.when.apply(jQuery, deferredArray).done(function () { return options.success(dataCollection); }); } }, { key: "load", value: function load(request, immediately) { var _this3 = this; if (!request.unique_id) { request.unique_id = request.action; } if (request.before) { request.before(); } var deferred; var cacheKey = this.getCacheKey(request); if (_.has(this.cache, cacheKey)) { deferred = jQuery.Deferred().done(request.success).resolve(this.cache[cacheKey]); } else { deferred = this.addRequest(request.action, { data: request.data, unique_id: request.unique_id, success: function success(data) { return _this3.cache[cacheKey] = data; } }, immediately).done(request.success); } return deferred; } }, { key: "addRequest", value: function addRequest(action, options, immediately) { options = options || {}; if (!options.unique_id) { options.unique_id = action; } options.deferred = jQuery.Deferred().done(options.success).fail(options.error).always(options.complete); var request = { action: action, options: options }; if (immediately) { var requests = {}; requests[options.unique_id] = request; options.deferred.jqXhr = this.sendBatch(requests); } else { this.requests[options.unique_id] = request; this.debounceSendBatch(); } return options.deferred; } }, { key: "sendBatch", value: function sendBatch(requests) { var actions = {}; if (!requests) { requests = this.requests; // Empty for next batch. this.requests = {}; } Object.entries(requests).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), id = _ref2[0], request = _ref2[1]; return actions[id] = { action: request.action, data: request.options.data }; }); return this.send('ajax', { data: { actions: JSON.stringify(actions) }, success: function success(data) { Object.entries(data.responses).forEach(function (_ref3) { var _ref4 = (0, _slicedToArray2.default)(_ref3, 2), id = _ref4[0], response = _ref4[1]; var options = requests[id].options; if (options) { if (response.success) { options.deferred.resolve(response.data); } else if (!response.success) { options.deferred.reject(response.data); } } }); }, error: function error(data) { return Object.values(requests).forEach(function (args) { if (args.options) { args.options.deferred.reject(data); } }); } }); } }, { key: "prepareSend", value: function prepareSend(action, options) { var _this4 = this; var settings = this.getSettings(), ajaxParams = elementorCommon.helpers.cloneObject(settings.ajaxParams); options = options || {}; action = settings.actionPrefix + action; jQuery.extend(ajaxParams, options); var requestConstants = elementorCommon.helpers.cloneObject(this.requestConstants); requestConstants.action = action; var isFormData = ajaxParams.data instanceof FormData; Object.entries(requestConstants).forEach(function (_ref5) { var _ref6 = (0, _slicedToArray2.default)(_ref5, 2), key = _ref6[0], value = _ref6[1]; if (isFormData) { ajaxParams.data.append(key, value); } else { ajaxParams.data[key] = value; } }); var successCallback = ajaxParams.success, errorCallback = ajaxParams.error; if (successCallback || errorCallback) { ajaxParams.success = function (response) { if (response.success && successCallback) { successCallback(response.data); } if (!response.success && errorCallback) { errorCallback(response.data); } }; if (errorCallback) { ajaxParams.error = function (data) { return errorCallback(data); }; } else { ajaxParams.error = function (xmlHttpRequest) { if (xmlHttpRequest.readyState || 'abort' !== xmlHttpRequest.statusText) { _this4.trigger('request:unhandledError', xmlHttpRequest); } }; } } return ajaxParams; } }, { key: "send", value: function send(action, options) { return jQuery.ajax(this.prepareSend(action, options)); } }, { key: "addRequestCache", value: function addRequestCache(request, data) { var cacheKey = this.getCacheKey(request); this.cache[cacheKey] = data; } }, { key: "invalidateCache", value: function invalidateCache(request) { var cacheKey = this.getCacheKey(request); delete this.cache[cacheKey]; } }]); return _default; }(elementorModules.Module); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/connect/assets/js/connect.js": /*!***********************************************************!*\ !*** ../core/common/modules/connect/assets/js/connect.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_elementorModules$Vie) { (0, _inherits2.default)(_default, _elementorModules$Vie); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "addPopupPlugin", value: function addPopupPlugin() { var counter = 0; jQuery.fn.elementorConnect = function (options) { var _this = this; // Open the Connect Dialog in a popup window. if (options !== null && options !== void 0 && options.popup) { jQuery(this).on('click', function (event) { var _options$popup, _options$popup2; event.preventDefault(); var width = ((_options$popup = options.popup) === null || _options$popup === void 0 ? void 0 : _options$popup.width) || 600, height = ((_options$popup2 = options.popup) === null || _options$popup2 === void 0 ? void 0 : _options$popup2.height) || 700; window.open(jQuery(_this).attr('href') + '&mode=popup', 'elementorConnect', "toolbar=no, menubar=no, width=".concat(width, ", height=").concat(height, ", top=200, left=0")); }); delete options.popup; } var settings = jQuery.extend({ // These are the defaults. success: function success() { return location.reload(); }, error: function error() { elementor.notifications.showToast({ message: __('Unable to connect', 'elementor') }); }, parseUrl: function parseUrl(url) { return url; } // Allow to change the url, e.g: replace placeholders like '%%template_type%%' with actual value. }, options); this.each(function () { counter++; var $this = jQuery(this), callbackId = 'cb' + counter; $this.attr({ target: '_blank', rel: 'opener', href: settings.parseUrl($this.attr('href') + '&mode=popup&callback_id=' + callbackId) }); elementorCommon.elements.$window.on('elementor/connect/success/' + callbackId, settings.success).on('elementor/connect/error/' + callbackId, settings.error); }); return this; }; } }, { key: "getDefaultSettings", value: function getDefaultSettings() { return { selectors: { connectButton: '#elementor-template-library-connect__button' } }; } }, { key: "getDefaultElements", value: function getDefaultElements() { return { $connectButton: jQuery(this.getSettings('selectors.connectButton')) }; } }, { key: "applyPopup", value: function applyPopup() { this.elements.$connectButton.elementorConnect(); } }, { key: "onInit", value: function onInit() { (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "onInit", this).call(this); this.addPopupPlugin(); this.applyPopup(); } }]); return _default; }(elementorModules.ViewModule); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/event-tracker/assets/js/data/commands-data/index.js": /*!**********************************************************************************!*\ !*** ../core/common/modules/event-tracker/assets/js/data/commands-data/index.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Index = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandData = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-data */ "../modules/web-cli/assets/js/modules/command-data.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Index = /*#__PURE__*/function (_CommandData) { (0, _inherits2.default)(Index, _CommandData); var _super = _createSuper(Index); function Index() { (0, _classCallCheck2.default)(this, Index); return _super.apply(this, arguments); } (0, _createClass2.default)(Index, null, [{ key: "getEndpointFormat", value: function getEndpointFormat() { return 'send-event'; } }]); return Index; }(_commandData.default); exports.Index = Index; /***/ }), /***/ "../core/common/modules/event-tracker/assets/js/data/component.js": /*!************************************************************************!*\ !*** ../core/common/modules/event-tracker/assets/js/data/component.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _componentBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-base */ "../modules/web-cli/assets/js/modules/component-base.js")); var commandsData = _interopRequireWildcard(__webpack_require__(/*! ./commands-data/ */ "../core/common/modules/event-tracker/assets/js/data/commands-data/index.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = /*#__PURE__*/function (_ComponentBase) { (0, _inherits2.default)(Component, _ComponentBase); var _super = _createSuper(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (0, _createClass2.default)(Component, [{ key: "getNamespace", value: function getNamespace() { return 'event-tracker'; } }, { key: "defaultData", value: function defaultData() { return this.importCommands(commandsData); } }]); return Component; }(_componentBase.default); exports["default"] = Component; /***/ }), /***/ "../core/common/modules/event-tracker/assets/js/events.js": /*!****************************************************************!*\ !*** ../core/common/modules/event-tracker/assets/js/events.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _time = _interopRequireDefault(__webpack_require__(/*! elementor-utils/time */ "../assets/dev/js/utils/time.js")); var Events = /*#__PURE__*/function () { function Events() { (0, _classCallCheck2.default)(this, Events); } (0, _createClass2.default)(Events, [{ key: "dispatchEvent", value: function dispatchEvent(eventData) { if (!eventData) { return; } eventData.ts = (0, _time.default)(); // No need to wait for response, no need to block browser in any way. $e.data.create('event-tracker/index', { event_data: eventData }); } }]); return Events; }(); exports["default"] = Events; /***/ }), /***/ "../core/common/modules/finder/assets/js/commands/index.js": /*!*****************************************************************!*\ !*** ../core/common/modules/finder/assets/js/commands/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "NavigateDown", ({ enumerable: true, get: function get() { return _navigateDown.NavigateDown; } })); Object.defineProperty(exports, "NavigateSelect", ({ enumerable: true, get: function get() { return _navigateSelect.NavigateSelect; } })); Object.defineProperty(exports, "NavigateUp", ({ enumerable: true, get: function get() { return _navigateUp.NavigateUp; } })); var _navigateDown = __webpack_require__(/*! ./navigate-down */ "../core/common/modules/finder/assets/js/commands/navigate-down.js"); var _navigateSelect = __webpack_require__(/*! ./navigate-select */ "../core/common/modules/finder/assets/js/commands/navigate-select.js"); var _navigateUp = __webpack_require__(/*! ./navigate-up */ "../core/common/modules/finder/assets/js/commands/navigate-up.js"); /***/ }), /***/ "../core/common/modules/finder/assets/js/commands/navigate-down.js": /*!*************************************************************************!*\ !*** ../core/common/modules/finder/assets/js/commands/navigate-down.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.NavigateDown = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var NavigateDown = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(NavigateDown, _CommandBase); var _super = _createSuper(NavigateDown); function NavigateDown() { (0, _classCallCheck2.default)(this, NavigateDown); return _super.apply(this, arguments); } (0, _createClass2.default)(NavigateDown, [{ key: "apply", value: function apply() { this.component.getItemsView().activateNextItem(); } }]); return NavigateDown; }(_commandBase.default); exports.NavigateDown = NavigateDown; var _default = NavigateDown; exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/commands/navigate-select.js": /*!***************************************************************************!*\ !*** ../core/common/modules/finder/assets/js/commands/navigate-select.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.NavigateSelect = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var NavigateSelect = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(NavigateSelect, _CommandBase); var _super = _createSuper(NavigateSelect); function NavigateSelect() { (0, _classCallCheck2.default)(this, NavigateSelect); return _super.apply(this, arguments); } (0, _createClass2.default)(NavigateSelect, [{ key: "apply", value: function apply(args) { this.component.getItemsView().goToActiveItem(args); } }]); return NavigateSelect; }(_commandBase.default); exports.NavigateSelect = NavigateSelect; var _default = NavigateSelect; exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/commands/navigate-up.js": /*!***********************************************************************!*\ !*** ../core/common/modules/finder/assets/js/commands/navigate-up.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.NavigateUp = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var NavigateUp = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(NavigateUp, _CommandBase); var _super = _createSuper(NavigateUp); function NavigateUp() { (0, _classCallCheck2.default)(this, NavigateUp); return _super.apply(this, arguments); } (0, _createClass2.default)(NavigateUp, [{ key: "apply", value: function apply() { this.component.getItemsView().activateNextItem(true); } }]); return NavigateUp; }(_commandBase.default); exports.NavigateUp = NavigateUp; var _default = NavigateUp; exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/component.js": /*!************************************************************!*\ !*** ../core/common/modules/finder/assets/js/component.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _componentModalBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/component-modal-base */ "../modules/web-cli/assets/js/modules/component-modal-base.js")); var _layout = _interopRequireDefault(__webpack_require__(/*! ./modal/views/layout */ "../core/common/modules/finder/assets/js/modal/views/layout.js")); var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../core/common/modules/finder/assets/js/commands/index.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = /*#__PURE__*/function (_ComponentModalBase) { (0, _inherits2.default)(Component, _ComponentModalBase); var _super = _createSuper(Component); function Component() { (0, _classCallCheck2.default)(this, Component); return _super.apply(this, arguments); } (0, _createClass2.default)(Component, [{ key: "getNamespace", value: function getNamespace() { return 'finder'; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { var _this = this; return { '': { keys: 'ctrl+e' }, 'navigate-down': { keys: 'down', scopes: [this.getNamespace()], dependency: function dependency() { return _this.getItemsView(); } }, 'navigate-up': { keys: 'up', scopes: [this.getNamespace()], dependency: function dependency() { return _this.getItemsView(); } }, 'navigate-select': { keys: 'enter', scopes: [this.getNamespace()], dependency: function dependency() { return _this.getItemsView().$activeItem; } } }; } }, { key: "defaultCommands", value: function defaultCommands() { var modalCommands = (0, _get2.default)((0, _getPrototypeOf2.default)(Component.prototype), "defaultCommands", this).call(this); return _objectSpread(_objectSpread({ 'navigate/down': function navigateDown() { elementorDevTools.deprecation.deprecated("$e.run( 'finder/navigate/down' )", '3.0.0', "$e.run( 'finder/navigate-down' )"); $e.run('finder/navigate-down'); }, 'navigate/up': function navigateUp() { elementorDevTools.deprecation.deprecated("$e.run( 'finder/navigate/up' )", '3.0.0', "$e.run( 'finder/navigate-up' )"); $e.run('finder/navigate-up'); }, 'navigate/select': function navigateSelect(event) { elementorDevTools.deprecation.deprecated("$e.run( 'finder/navigate/select', event )", '3.0.0', "$e.run( 'finder/navigate-select', event )"); // TODO: Fix $e.shortcuts use args. ( args.event ). $e.run('finder/navigate-select', event); } }, modalCommands), this.importCommands(commands)); } }, { key: "getModalLayout", value: function getModalLayout() { return _layout.default; } }, { key: "getItemsView", value: function getItemsView() { return this.layout.modalContent.currentView.content.currentView; } }]); return Component; }(_componentModalBase.default); exports["default"] = Component; /***/ }), /***/ "../core/common/modules/finder/assets/js/finder.js": /*!*********************************************************!*\ !*** ../core/common/modules/finder/assets/js/finder.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _component = _interopRequireDefault(__webpack_require__(/*! ./component */ "../core/common/modules/finder/assets/js/component.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_elementorModules$Mod) { (0, _inherits2.default)(_default, _elementorModules$Mod); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "onInit", value: function onInit() { // TODO: Temp fix, do not load finder in theme-builder. // Better to pass into '$e' constructor the app owner. ( admin, editor, preview, iframe ). if (window.top !== window) { return; } this.channel = Backbone.Radio.channel('ELEMENTOR:finder'); $e.components.register(new _component.default({ manager: this })); } }]); return _default; }(elementorModules.Module); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/modal/model/item.js": /*!*******************************************************************!*\ !*** ../core/common/modules/finder/assets/js/modal/model/item.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_Backbone$Model) { (0, _inherits2.default)(_default, _Backbone$Model); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "defaults", value: function defaults() { return { description: '', icon: 'settings', url: '', keywords: [], actions: [], lock: null }; } }]); return _default; }(Backbone.Model); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/modal/views/categories.js": /*!*************************************************************************!*\ !*** ../core/common/modules/finder/assets/js/modal/views/categories.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _category = _interopRequireDefault(__webpack_require__(/*! ./category */ "../core/common/modules/finder/assets/js/modal/views/category.js")); var _dynamicCategory = _interopRequireDefault(__webpack_require__(/*! ./dynamic-category */ "../core/common/modules/finder/assets/js/modal/views/dynamic-category.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_Marionette$Composite) { (0, _inherits2.default)(_default, _Marionette$Composite); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "id", value: function id() { return 'elementor-finder__results-container'; } }, { key: "ui", value: function ui() { this.selectors = { noResults: '#elementor-finder__no-results', categoryItem: '.elementor-finder__results__item' }; return this.selectors; } }, { key: "events", value: function events() { return { 'mouseenter @ui.categoryItem': 'onCategoryItemMouseEnter' }; } }, { key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-finder-results-container'; } }, { key: "getChildView", value: function getChildView(childModel) { return childModel.get('dynamic') ? _dynamicCategory.default : _category.default; } }, { key: "initialize", value: function initialize() { this.$activeItem = null; this.childViewContainer = '#elementor-finder__results'; this.collection = new Backbone.Collection(Object.values(elementorCommon.finder.getSettings('data'))); } }, { key: "activateItem", value: function activateItem($item) { if (this.$activeItem) { this.$activeItem.removeClass('elementor-active'); } $item.addClass('elementor-active'); this.$activeItem = $item; } }, { key: "activateNextItem", value: function activateNextItem(reverse) { var $allItems = jQuery(this.selectors.categoryItem); var nextItemIndex = 0; if (this.$activeItem) { nextItemIndex = $allItems.index(this.$activeItem) + (reverse ? -1 : 1); if (nextItemIndex >= $allItems.length) { nextItemIndex = 0; } else if (nextItemIndex < 0) { nextItemIndex = $allItems.length - 1; } } var $nextItem = $allItems.eq(nextItemIndex); this.activateItem($nextItem); $nextItem[0].scrollIntoView({ block: 'nearest' }); } }, { key: "goToActiveItem", value: function goToActiveItem(event) { var $a = this.$activeItem.children('a'), isControlClicked = $e.shortcuts.isControlEvent(event); if (isControlClicked) { $a.attr('target', '_blank'); } $a[0].click(); if (isControlClicked) { $a.removeAttr('target'); } } }, { key: "onCategoryItemMouseEnter", value: function onCategoryItemMouseEnter(event) { this.activateItem(jQuery(event.currentTarget)); } }, { key: "onChildviewToggleVisibility", value: function onChildviewToggleVisibility() { var allCategoriesAreEmpty = this.children.every(function (child) { return !child.isVisible; }); this.ui.noResults.toggle(allCategoriesAreEmpty); } }]); return _default; }(Marionette.CompositeView); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/modal/views/category.js": /*!***********************************************************************!*\ !*** ../core/common/modules/finder/assets/js/modal/views/category.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _item = _interopRequireDefault(__webpack_require__(/*! ./item */ "../core/common/modules/finder/assets/js/modal/views/item.js")); var _item2 = _interopRequireDefault(__webpack_require__(/*! ../model/item */ "../core/common/modules/finder/assets/js/modal/model/item.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_Marionette$Composite) { (0, _inherits2.default)(_default, _Marionette$Composite); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "className", value: function className() { return 'elementor-finder__results__category'; } }, { key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-finder__results__category'; } }, { key: "getChildView", value: function getChildView() { return _item.default; } }, { key: "initialize", value: function initialize() { this.childViewContainer = '.elementor-finder__results__category__items'; this.isVisible = true; var items = this.model.get('items'); if (items) { items = Object.values(items); } this.collection = new Backbone.Collection(items, { model: _item2.default }); } }, { key: "filter", value: function filter(childModel) { var textFilter = this.getTextFilter(); if (childModel.get('title').toLowerCase().indexOf(textFilter) >= 0) { return true; } return childModel.get('keywords').some(function (keyword) { return keyword.indexOf(textFilter) >= 0; }); } }, { key: "getTextFilter", value: function getTextFilter() { return elementorCommon.finder.channel.request('filter:text').trim().toLowerCase(); } }, { key: "toggleElement", value: function toggleElement() { var isCurrentlyVisible = !!this.children.length; if (isCurrentlyVisible !== this.isVisible) { this.isVisible = isCurrentlyVisible; this.$el.toggle(isCurrentlyVisible); this.triggerMethod('toggle:visibility'); } } }, { key: "onRender", value: function onRender() { this.listenTo(elementorCommon.finder.channel, 'filter:change', this.onFilterChange.bind(this)); } }, { key: "onFilterChange", value: function onFilterChange() { this._renderChildren(); } }, { key: "onRenderCollection", value: function onRenderCollection() { this.toggleElement(); } }]); return _default; }(Marionette.CompositeView); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/modal/views/content.js": /*!**********************************************************************!*\ !*** ../core/common/modules/finder/assets/js/modal/views/content.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _categories = _interopRequireDefault(__webpack_require__(/*! ./categories */ "../core/common/modules/finder/assets/js/modal/views/categories.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_Marionette$LayoutVie) { (0, _inherits2.default)(_default, _Marionette$LayoutVie); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "id", value: function id() { return 'elementor-finder'; } }, { key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-finder'; } }, { key: "ui", value: function ui() { return { searchInput: '#elementor-finder__search__input' }; } }, { key: "events", value: function events() { return { 'input @ui.searchInput': 'onSearchInputInput' }; } }, { key: "regions", value: function regions() { return { content: '#elementor-finder__content' }; } }, { key: "showCategoriesView", value: function showCategoriesView() { this.content.show(new _categories.default()); } }, { key: "onSearchInputInput", value: function onSearchInputInput() { var value = this.ui.searchInput.val(); if (value) { elementorCommon.finder.channel.reply('filter:text', value).trigger('filter:change'); if (!(this.content.currentView instanceof _categories.default)) { this.showCategoriesView(); } } this.content.currentView.$el.toggle(!!value); } }]); return _default; }(Marionette.LayoutView); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/modal/views/dynamic-category.js": /*!*******************************************************************************!*\ !*** ../core/common/modules/finder/assets/js/modal/views/dynamic-category.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _category = _interopRequireDefault(__webpack_require__(/*! ./category */ "../core/common/modules/finder/assets/js/modal/views/category.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_Category) { (0, _inherits2.default)(_default, _Category); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "className", value: function className() { return (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "className", this).call(this) + ' elementor-finder__results__category--dynamic'; } }, { key: "ui", value: function ui() { return { title: '.elementor-finder__results__category__title' }; } }, { key: "fetchData", value: function fetchData() { var _this = this; this.ui.loadingIcon.show(); elementorCommon.ajax.addRequest('finder_get_category_items', { data: { category: this.model.get('name'), filter: this.getTextFilter() }, success: function success(data) { if (_this.isDestroyed) { return; } _this.collection.set(data); _this.toggleElement(); _this.ui.loadingIcon.hide(); } }); } }, { key: "filter", value: function filter() { return true; } }, { key: "onFilterChange", value: function onFilterChange() { this.fetchData(); } }, { key: "onRender", value: function onRender() { (0, _get2.default)((0, _getPrototypeOf2.default)(_default.prototype), "onRender", this).call(this); this.ui.loadingIcon = jQuery('', { class: 'eicon-loading eicon-animation-spin' }); this.ui.title.after(this.ui.loadingIcon); this.fetchData(); } }]); return _default; }(_category.default); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/modal/views/item.js": /*!*******************************************************************!*\ !*** ../core/common/modules/finder/assets/js/modal/views/item.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_Marionette$ItemView) { (0, _inherits2.default)(_default, _Marionette$ItemView); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "className", value: function className() { return 'elementor-finder__results__item'; } }, { key: "getTemplate", value: function getTemplate() { return '#tmpl-elementor-finder__results__item'; } }, { key: "events", value: function events() { this.$el[0].addEventListener('click', this.onClick.bind(this), true); } }, { key: "onClick", value: function onClick(e) { var _this = this; var lockOptions = this.model.get('lock'); if (!(lockOptions !== null && lockOptions !== void 0 && lockOptions.is_locked)) { return; } e.preventDefault(); e.stopImmediatePropagation(); elementorCommon.dialogsManager.createWidget('confirm', { id: 'elementor-finder__lock-dialog', headerMessage: lockOptions.content.heading, message: lockOptions.content.description, position: { my: 'center center', at: 'center center' }, strings: { confirm: lockOptions.button.text, cancel: __('Cancel', 'elementor') }, onConfirm: function onConfirm() { var link = _this.replaceLockLinkPlaceholders(lockOptions.button.url); window.open(link, '_blank'); } }).show(); } }, { key: "replaceLockLinkPlaceholders", value: function replaceLockLinkPlaceholders(link) { return link.replace(/%%utm_source%%/g, 'finder').replace(/%%utm_medium%%/g, 'wp-dash'); } }]); return _default; }(Marionette.ItemView); exports["default"] = _default; /***/ }), /***/ "../core/common/modules/finder/assets/js/modal/views/layout.js": /*!*********************************************************************!*\ !*** ../core/common/modules/finder/assets/js/modal/views/layout.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get4 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _content = _interopRequireDefault(__webpack_require__(/*! ./content */ "../core/common/modules/finder/assets/js/modal/views/content.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var _default = /*#__PURE__*/function (_elementorModules$com) { (0, _inherits2.default)(_default, _elementorModules$com); var _super = _createSuper(_default); function _default() { (0, _classCallCheck2.default)(this, _default); return _super.apply(this, arguments); } (0, _createClass2.default)(_default, [{ key: "getModalOptions", value: function getModalOptions() { return { id: 'elementor-finder__modal', draggable: true, effects: { show: 'show', hide: 'hide' }, position: { enable: false } }; } }, { key: "getLogoOptions", value: function getLogoOptions() { return { title: __('Finder', 'elementor') }; } }, { key: "initialize", value: function initialize() { var _get2; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } (_get2 = (0, _get4.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 _content.default()); } }, { key: "showModal", value: function showModal() { var _get3; for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } (_get3 = (0, _get4.default)((0, _getPrototypeOf2.default)(_default.prototype), "showModal", this)).call.apply(_get3, [this].concat(args)); this.modalContent.currentView.ui.searchInput.focus(); } }]); return _default; }(elementorModules.common.views.modal.Layout); exports["default"] = _default; /***/ }), /***/ "../modules/web-cli/assets/js/core/data/errors/base-error.js": /*!*******************************************************************!*\ !*** ../modules/web-cli/assets/js/core/data/errors/base-error.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _console = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/console */ "../modules/web-cli/assets/js/utils/console.js")); var _forceMethodImplementation = _interopRequireDefault(__webpack_require__(/*! ../../../utils/force-method-implementation */ "../modules/web-cli/assets/js/utils/force-method-implementation.js")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var BaseError = /*#__PURE__*/function (_Error) { (0, _inherits2.default)(BaseError, _Error); var _super = _createSuper(BaseError); /** * Error constructor. * * @param {string} message * @param {string} code * @param {*} data */ function BaseError() { var _this; var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var code = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; (0, _classCallCheck2.default)(this, BaseError); _this = _super.call(this, message); /** * The server error code. * * @type {string} */ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "code", ''); /** * Additional data about the current error. * * @type {*[]} */ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "data", []); _this.code = code; _this.data = data; return _this; } /** * Notify a message when the error occurs. */ (0, _createClass2.default)(BaseError, [{ key: "notify", value: function notify() { _console.default.error(_objectSpread({ message: this.message }, this)); } }], [{ key: "create", value: /** * Static helper function to create the error. * * @param {string} message * @param {string} code * @param {*} data * @return {BaseError} error */ function create(message) { var code = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; return new this(message, code, data); } /** * Returns the status code of the error. */ }, { key: "getHTTPErrorCode", value: function getHTTPErrorCode() { (0, _forceMethodImplementation.default)(); } }]); return BaseError; }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error)); exports["default"] = BaseError; /***/ }), /***/ "../modules/web-cli/assets/js/core/data/errors/default-error.js": /*!**********************************************************************!*\ !*** ../modules/web-cli/assets/js/core/data/errors/default-error.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.DefaultError = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _baseError = _interopRequireDefault(__webpack_require__(/*! ./base-error */ "../modules/web-cli/assets/js/core/data/errors/base-error.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var DefaultError = /*#__PURE__*/function (_BaseError) { (0, _inherits2.default)(DefaultError, _BaseError); var _super = _createSuper(DefaultError); function DefaultError() { (0, _classCallCheck2.default)(this, DefaultError); return _super.apply(this, arguments); } (0, _createClass2.default)(DefaultError, null, [{ key: "getHTTPErrorCode", value: function getHTTPErrorCode() { return 501; } }]); return DefaultError; }(_baseError.default); exports.DefaultError = DefaultError; var _default = DefaultError; exports["default"] = _default; /***/ }), /***/ "../modules/web-cli/assets/js/core/data/errors/error-404.js": /*!******************************************************************!*\ !*** ../modules/web-cli/assets/js/core/data/errors/error-404.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.Error404 = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _baseError = _interopRequireDefault(__webpack_require__(/*! ./base-error */ "../modules/web-cli/assets/js/core/data/errors/base-error.js")); var _console = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/console */ "../modules/web-cli/assets/js/utils/console.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Error404 = /*#__PURE__*/function (_BaseError) { (0, _inherits2.default)(Error404, _BaseError); var _super = _createSuper(Error404); function Error404() { (0, _classCallCheck2.default)(this, Error404); return _super.apply(this, arguments); } (0, _createClass2.default)(Error404, [{ key: "notify", value: function notify() { _console.default.warn(this.message); } }], [{ key: "getHTTPErrorCode", value: function getHTTPErrorCode() { return 404; } }]); return Error404; }(_baseError.default); exports.Error404 = Error404; var _default = Error404; exports["default"] = _default; /***/ }), /***/ "../modules/web-cli/assets/js/core/data/errors/index.js": /*!**************************************************************!*\ !*** ../modules/web-cli/assets/js/core/data/errors/index.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "DefaultError", ({ enumerable: true, get: function get() { return _defaultError.DefaultError; } })); Object.defineProperty(exports, "Error404", ({ enumerable: true, get: function get() { return _error.Error404; } })); var _defaultError = __webpack_require__(/*! ./default-error */ "../modules/web-cli/assets/js/core/data/errors/default-error.js"); var _error = __webpack_require__(/*! ./error-404 */ "../modules/web-cli/assets/js/core/data/errors/error-404.js"); /***/ }), /***/ "../modules/web-cli/assets/js/modules/command-base.js": /*!************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/command-base.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandInfra = _interopRequireDefault(__webpack_require__(/*! ./command-infra */ "../modules/web-cli/assets/js/modules/command-infra.js")); var _deprecation = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/deprecation */ "../modules/web-cli/assets/js/utils/deprecation.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @name $e.modules.CommandBase */ var CommandBase = /*#__PURE__*/function (_CommandInfra) { (0, _inherits2.default)(CommandBase, _CommandInfra); var _super = _createSuper(CommandBase); function CommandBase() { (0, _classCallCheck2.default)(this, CommandBase); return _super.apply(this, arguments); } (0, _createClass2.default)(CommandBase, [{ key: "onBeforeRun", value: function onBeforeRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; $e.hooks.runUIBefore(this.command, args); } }, { key: "onAfterRun", value: function onAfterRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; $e.hooks.runUIAfter(this.command, args, result); } }, { key: "onBeforeApply", value: function onBeforeApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; $e.hooks.runDataDependency(this.command, args); } }, { key: "onAfterApply", value: function onAfterApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; $e.hooks.runDataAfter(this.command, args, result); } }, { key: "onCatchApply", value: function onCatchApply(e) { this.runCatchHooks(e); } /** * Run all the catch hooks. * * @param {Error} e */ }, { key: "runCatchHooks", value: function runCatchHooks(e) { $e.hooks.runDataCatch(this.command, this.args, e); $e.hooks.runUICatch(this.command, this.args, e); } /** * TODO - Remove - Backwards compatibility. * * Function requireContainer(). * * Validate `arg.container` & `arg.containers`. * * @param {{}} args * @deprecated since 3.7.0, extend `$e.modules.editor.CommandContainerBase` or `$e.modules.editor.CommandContainerInternalBase` instead. * * @throws {Error} */ }, { key: "requireContainer", value: function requireContainer() { var _this = this; var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.args; _deprecation.default.deprecated('requireContainer()', '3.7.0', 'Extend `$e.modules.editor.CommandContainerBase` or `$e.modules.editor.CommandContainerInternalBase`'); if (!args.container && !args.containers) { throw Error('container or containers are required.'); } if (args.container && args.containers) { throw Error('container and containers cannot go together please select one of them.'); } var containers = args.containers || [args.container]; containers.forEach(function (container) { _this.requireArgumentInstance('container', elementorModules.editor.Container, { container: container }); }); } }], [{ key: "getInstanceType", value: function getInstanceType() { return 'CommandBase'; } }]); return CommandBase; }(_commandInfra.default); exports["default"] = CommandBase; /***/ }), /***/ "../modules/web-cli/assets/js/modules/command-callback-base.js": /*!*********************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/command-callback-base.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! ./command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * To support pure callbacks in the API(commands.js), to ensure they have registered with the proper context. */ var CommandCallbackBase = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(CommandCallbackBase, _CommandBase); var _super = _createSuper(CommandCallbackBase); function CommandCallbackBase() { (0, _classCallCheck2.default)(this, CommandCallbackBase); return _super.apply(this, arguments); } (0, _createClass2.default)(CommandCallbackBase, [{ key: "apply", value: function apply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return this.constructor.getCallback()(args); } }], [{ key: "getInstanceType", value: function getInstanceType() { return 'CommandCallbackBase'; } /** * Get original callback of the command. * * Support pure callbacks ( Non command-base ). * * @return {()=>{}} Command Results. */ }, { key: "getCallback", value: function getCallback() { return this.registerConfig.callback; } }]); return CommandCallbackBase; }(_commandBase.default); exports["default"] = CommandCallbackBase; /***/ }), /***/ "../modules/web-cli/assets/js/modules/command-data.js": /*!************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/command-data.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! ./command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); var errors = _interopRequireWildcard(__webpack_require__(/*! ../core/data/errors/ */ "../modules/web-cli/assets/js/core/data/errors/index.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @name $e.modules.CommandData */ /** * @typedef {('create'|'delete'|'get'|'update'|'options')} DataTypes */ /** * @typedef {{}} RequestData */ /** * @typedef {import('../core/data/errors/base-error')} BaseError */ var CommandData = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(CommandData, _CommandBase); var _super = _createSuper(CommandData); function CommandData(args) { var _this$args$options; var _this; var commandsAPI = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : $e.data; (0, _classCallCheck2.default)(this, CommandData); _this = _super.call(this, args, commandsAPI); /** * Data returned from remote. * * @type {*} */ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "data", void 0); /** * Fetch type. * * @type {DataTypes} */ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", void 0); if ((_this$args$options = _this.args.options) !== null && _this$args$options !== void 0 && _this$args$options.type) { _this.type = _this.args.options.type; } return _this; } /** * Function getEndpointFormat(). * * @return {null|string} endpoint format */ (0, _createClass2.default)(CommandData, [{ key: "getApplyMethods", value: /** * @param {DataTypes} type * * @return {boolean|{before: (function(*=): {}), after: (function({}, *=): {})}} apply methods */ function getApplyMethods() { var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.type; var before, after; switch (type) { case 'create': before = this.applyBeforeCreate; after = this.applyAfterCreate; break; case 'delete': before = this.applyBeforeDelete; after = this.applyAfterDelete; break; case 'get': before = this.applyBeforeGet; after = this.applyAfterGet; break; case 'update': before = this.applyBeforeUpdate; after = this.applyAfterUpdate; break; case 'options': before = this.applyBeforeOptions; after = this.applyAfterOptions; break; default: return false; } return { before: before.bind(this), after: after.bind(this) }; } /** * Function getRequestData(). * * @return {RequestData} request data */ }, { key: "getRequestData", value: function getRequestData() { return { type: this.type, args: this.args, timestamp: new Date().getTime(), component: this.component, command: this.command, endpoint: $e.data.commandToEndpoint(this.command, JSON.parse(JSON.stringify(this.args)), this.constructor.getEndpointFormat()) }; } }, { key: "apply", value: function apply() { var _this2 = this; var applyMethods = this.getApplyMethods(); // Run 'before' method. this.args = applyMethods.before(this.args); var requestData = this.getRequestData(); return $e.data.fetch(requestData).then(function (data) { _this2.data = data; // Run 'after' method. _this2.data = applyMethods.after(data, _this2.args); _this2.data = { data: _this2.data }; // Append requestData. _this2.data = Object.assign({ __requestData__: requestData }, _this2.data); return _this2.data; }); } /** * @param {*} [args={}] * @return {{}} filtered args */ }, { key: "applyBeforeCreate", value: function applyBeforeCreate() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return args; } /** * @param {{}} data * @param {*} [args={}] * @return {{}} filtered result */ }, { key: "applyAfterCreate", value: function applyAfterCreate(data) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // eslint-disable-line no-unused-vars return data; } /** * @param {*} [args={}] * @return {{}} filtered args */ }, { key: "applyBeforeDelete", value: function applyBeforeDelete() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return args; } /** * @param {{}} data * @param {*} [args={}] * @return {{}} filtered result */ }, { key: "applyAfterDelete", value: function applyAfterDelete(data) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // eslint-disable-line no-unused-vars return data; } /** * @param {*} [args={}] * @return {{}} filtered args */ }, { key: "applyBeforeGet", value: function applyBeforeGet() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return args; } /** * @param {{}} data * @param {*} [args={}] * @return {{}} filtered result */ }, { key: "applyAfterGet", value: function applyAfterGet(data) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // eslint-disable-line no-unused-vars return data; } /** * @param {*} [args={}] * @return {{}} filtered args */ }, { key: "applyBeforeUpdate", value: function applyBeforeUpdate() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return args; } /** * @param {{}} data * @param {*} [args={}] * @return {{}} filtered result */ }, { key: "applyAfterUpdate", value: function applyAfterUpdate(data) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // eslint-disable-line no-unused-vars return data; } /** * @param {*} [args={}] * @return {{}} filtered args */ }, { key: "applyBeforeOptions", value: function applyBeforeOptions() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return args; } /** * @param {{}} data * @param {*} [args={}] * @return {{}} filtered result */ }, { key: "applyAfterOptions", value: function applyAfterOptions(data) { var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // eslint-disable-line no-unused-vars return data; } /** * @param {BaseError} e */ }, { key: "applyAfterCatch", value: function applyAfterCatch(e) { e.notify(); } }, { key: "onCatchApply", value: function onCatchApply(e) { var _e, _e$data; // TODO: If the errors that returns from the server is consistent remove the '?' from 'e' var httpErrorCode = ((_e = e) === null || _e === void 0 ? void 0 : (_e$data = _e.data) === null || _e$data === void 0 ? void 0 : _e$data.status) || 501; var dataError = Object.values(errors).find(function (error) { return error.getHTTPErrorCode() === httpErrorCode; }); if (!dataError) { dataError = errors.DefaultError; } e = dataError.create(e.message, e.code, e.data || []); this.runCatchHooks(e); this.applyAfterCatch(e); } }], [{ key: "getInstanceType", value: function getInstanceType() { return 'CommandData'; } }, { key: "getEndpointFormat", value: function getEndpointFormat() { return null; } }]); return CommandData; }(_commandBase.default); exports["default"] = CommandData; /***/ }), /***/ "../modules/web-cli/assets/js/modules/command-infra.js": /*!*************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/command-infra.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _argsObject = _interopRequireDefault(__webpack_require__(/*! elementor-assets-js/modules/imports/args-object */ "../assets/dev/js/modules/imports/args-object.js")); var _deprecation = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/deprecation */ "../modules/web-cli/assets/js/utils/deprecation.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('../modules/component-base')} ComponentBase */ var CommandInfra = /*#__PURE__*/function (_ArgsObject) { (0, _inherits2.default)(CommandInfra, _ArgsObject); var _super = _createSuper(CommandInfra); /** * Function constructor(). * * Create Commands Base. * * @param {{}} args */ function CommandInfra() { var _this; var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; (0, _classCallCheck2.default)(this, CommandInfra); _this = _super.call(this, args); if (!_this.constructor.registerConfig) { throw RangeError('Doing it wrong: Each command type should have `registerConfig`.'); } // Acknowledge self about which command it run. _this.command = _this.constructor.getCommand(); // Assign instance of current component. _this.component = _this.constructor.getComponent(); // Who ever need do something before without `super` the constructor can use `initialize` method. _this.initialize(args); // Refresh args, maybe the changed via `initialize`. args = _this.args; // Validate args before run. _this.validateArgs(args); return _this; } /** * Function initialize(). * * Initialize command, called after construction. * * @param {{}} args */ (0, _createClass2.default)(CommandInfra, [{ key: "currentCommand", get: /** * @deprecated since 3.7.0, use `this.command` instead. */ function get() { _deprecation.default.deprecated('this.currentCommand', '3.7.0', 'this.command'); return this.command; } }, { key: "initialize", value: function initialize() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars /** * Function validateArgs(). * * Validate command arguments. * * @param {{}} args */ }, { key: "validateArgs", value: function validateArgs() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars // eslint-disable-next-line jsdoc/require-returns-check /** * Function apply(). * * Do the actual command. * * @param {{}} args * * @return {*} Command results. */ }, { key: "apply", value: function apply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; // eslint-disable-line no-unused-vars elementorModules.ForceMethodImplementation(); } /** * Function run(). * * Run command with history & hooks. * * @return {*} Command results. */ }, { key: "run", value: function run() { return this.apply(this.args); } /** * Function onBeforeRun. * * Called before run(). * * @param {{}} args */ }, { key: "onBeforeRun", value: function onBeforeRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars /** * Function onAfterRun. * * Called after run(). * * @param {{}} args * @param {*} result */ }, { key: "onAfterRun", value: function onAfterRun() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; } // eslint-disable-line no-unused-vars /** * Function onBeforeApply. * * Called before apply(). * * @param {{}} args */ }, { key: "onBeforeApply", value: function onBeforeApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; } // eslint-disable-line no-unused-vars /** * Function onAfterApply. * * Called after apply(). * * @param {{}} args * @param {*} result */ }, { key: "onAfterApply", value: function onAfterApply() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var result = arguments.length > 1 ? arguments[1] : undefined; } // eslint-disable-line no-unused-vars /** * Function onCatchApply. * * Called after apply() failed. * * @param {Error} e */ }, { key: "onCatchApply", value: function onCatchApply(e) {} // eslint-disable-line no-unused-vars }], [{ key: "getInstanceType", value: function getInstanceType() { return 'CommandInfra'; } /** * Get info of command. * * @return {Object} Extra information about the command. */ }, { key: "getInfo", value: function getInfo() { return {}; } /** * @return {string} Self command name. */ }, { key: "getCommand", value: function getCommand() { return this.registerConfig.command; } /** * @return {ComponentBase} Self component */ }, { key: "getComponent", value: function getComponent() { return this.registerConfig.component; } }, { key: "setRegisterConfig", value: function setRegisterConfig(config) { this.registerConfig = Object.freeze(config); } }]); return CommandInfra; }(_argsObject.default); exports["default"] = CommandInfra; /** * @type {Object} */ (0, _defineProperty2.default)(CommandInfra, "registerConfig", null); /***/ }), /***/ "../modules/web-cli/assets/js/modules/commands/close.js": /*!**************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/commands/close.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.Close = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Close = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Close, _CommandBase); var _super = _createSuper(Close); function Close() { (0, _classCallCheck2.default)(this, Close); return _super.apply(this, arguments); } (0, _createClass2.default)(Close, [{ key: "apply", value: function apply() { this.component.close(); } }]); return Close; }(_commandBase.default); exports.Close = Close; var _default = Close; exports["default"] = _default; /***/ }), /***/ "../modules/web-cli/assets/js/modules/commands/index.js": /*!**************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/commands/index.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "Close", ({ enumerable: true, get: function get() { return _close.Close; } })); Object.defineProperty(exports, "Open", ({ enumerable: true, get: function get() { return _open.Open; } })); Object.defineProperty(exports, "Toggle", ({ enumerable: true, get: function get() { return _toggle.Toggle; } })); var _close = __webpack_require__(/*! ./close */ "../modules/web-cli/assets/js/modules/commands/close.js"); var _open = __webpack_require__(/*! ./open */ "../modules/web-cli/assets/js/modules/commands/open.js"); var _toggle = __webpack_require__(/*! ./toggle */ "../modules/web-cli/assets/js/modules/commands/toggle.js"); /***/ }), /***/ "../modules/web-cli/assets/js/modules/commands/open.js": /*!*************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/commands/open.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.Open = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Open = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Open, _CommandBase); var _super = _createSuper(Open); function Open() { (0, _classCallCheck2.default)(this, Open); return _super.apply(this, arguments); } (0, _createClass2.default)(Open, [{ key: "apply", value: function apply() { $e.route(this.component.getNamespace()); } }]); return Open; }(_commandBase.default); exports.Open = Open; var _default = Open; exports["default"] = _default; /***/ }), /***/ "../modules/web-cli/assets/js/modules/commands/toggle.js": /*!***************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/commands/toggle.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.Toggle = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-base */ "../modules/web-cli/assets/js/modules/command-base.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Toggle = /*#__PURE__*/function (_CommandBase) { (0, _inherits2.default)(Toggle, _CommandBase); var _super = _createSuper(Toggle); function Toggle() { (0, _classCallCheck2.default)(this, Toggle); return _super.apply(this, arguments); } (0, _createClass2.default)(Toggle, [{ key: "apply", value: function apply() { if (this.component.isOpen) { this.component.close(); } else { $e.route(this.component.getNamespace()); } } }]); return Toggle; }(_commandBase.default); exports.Toggle = Toggle; var _default = Toggle; exports["default"] = _default; /***/ }), /***/ "../modules/web-cli/assets/js/modules/component-base.js": /*!**************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/component-base.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _commandCallbackBase = _interopRequireDefault(__webpack_require__(/*! elementor-api/modules/command-callback-base */ "../modules/web-cli/assets/js/modules/command-callback-base.js")); var _toolkit = __webpack_require__(/*! @reduxjs/toolkit */ "../node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js"); var _module = _interopRequireDefault(__webpack_require__(/*! elementor/assets/dev/js/modules/imports/module.js */ "../assets/dev/js/modules/imports/module.js")); var _forceMethodImplementation = _interopRequireDefault(__webpack_require__(/*! ../utils/force-method-implementation */ "../modules/web-cli/assets/js/utils/force-method-implementation.js")); var _deprecation = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/deprecation */ "../modules/web-cli/assets/js/utils/deprecation.js")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * @typedef {import('./command-infra')} CommandInfra * @typedef {import('./hook-base')} HookBase * @typedef {import('../core/states/ui-state-base')} UiStateBase */ var ComponentBase = /*#__PURE__*/function (_Module) { (0, _inherits2.default)(ComponentBase, _Module); var _super = _createSuper(ComponentBase); function ComponentBase() { (0, _classCallCheck2.default)(this, ComponentBase); return _super.apply(this, arguments); } (0, _createClass2.default)(ComponentBase, [{ key: "__construct", value: function __construct() { var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (args.manager) { this.manager = args.manager; } this.commands = this.defaultCommands(); this.commandsInternal = this.defaultCommandsInternal(); this.hooks = this.defaultHooks(); this.routes = this.defaultRoutes(); this.tabs = this.defaultTabs(); this.shortcuts = this.defaultShortcuts(); this.utils = this.defaultUtils(); this.data = this.defaultData(); this.uiStates = this.defaultUiStates(); this.states = this.defaultStates(); this.defaultRoute = ''; this.currentTab = ''; } }, { key: "registerAPI", value: function registerAPI() { var _this = this; Object.entries(this.getTabs()).forEach(function (tab) { return _this.registerTabRoute(tab[0]); }); Object.entries(this.getRoutes()).forEach(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), route = _ref2[0], callback = _ref2[1]; return _this.registerRoute(route, callback); }); Object.entries(this.getCommands()).forEach(function (_ref3) { var _ref4 = (0, _slicedToArray2.default)(_ref3, 2), command = _ref4[0], callback = _ref4[1]; return _this.registerCommand(command, callback); }); Object.entries(this.getCommandsInternal()).forEach(function (_ref5) { var _ref6 = (0, _slicedToArray2.default)(_ref5, 2), command = _ref6[0], callback = _ref6[1]; return _this.registerCommandInternal(command, callback); }); Object.values(this.getHooks()).forEach(function (instance) { return _this.registerHook(instance); }); Object.entries(this.getData()).forEach(function (_ref7) { var _ref8 = (0, _slicedToArray2.default)(_ref7, 2), command = _ref8[0], callback = _ref8[1]; return _this.registerData(command, callback); }); Object.values(this.getUiStates()).forEach(function (instance) { return _this.registerUiState(instance); }); Object.entries(this.getStates()).forEach(function (_ref9) { var _ref10 = (0, _slicedToArray2.default)(_ref9, 2), id = _ref10[0], state = _ref10[1]; return _this.registerState(id, state); }); } // eslint-disable-next-line jsdoc/require-returns-check /** * @return {string} namespace */ }, { key: "getNamespace", value: function getNamespace() { (0, _forceMethodImplementation.default)(); } /** * @deprecated since 3.7.0, use `getServiceName()` instead. */ }, { key: "getRootContainer", value: function getRootContainer() { _deprecation.default.deprecated('getRootContainer()', '3.7.0', 'getServiceName()'); return this.getServiceName(); } }, { key: "getServiceName", value: function getServiceName() { return this.getNamespace().split('/')[0]; } }, { key: "store", get: function get() { return $e.store.get(this.getNamespace()); } }, { key: "defaultTabs", value: function defaultTabs() { return {}; } }, { key: "defaultRoutes", value: function defaultRoutes() { return {}; } }, { key: "defaultCommands", value: function defaultCommands() { return {}; } }, { key: "defaultCommandsInternal", value: function defaultCommandsInternal() { return {}; } }, { key: "defaultHooks", value: function defaultHooks() { return {}; } /** * Get the component's default UI states. * * @return {Object} default UI states */ }, { key: "defaultUiStates", value: function defaultUiStates() { return {}; } /** * Get the component's Redux slice settings. * * @return {Object} Redux slice settings */ }, { key: "defaultStates", value: function defaultStates() { return {}; } }, { key: "defaultShortcuts", value: function defaultShortcuts() { return {}; } }, { key: "defaultUtils", value: function defaultUtils() { return {}; } }, { key: "defaultData", value: function defaultData() { return {}; } }, { key: "getCommands", value: function getCommands() { return this.commands; } }, { key: "getCommandsInternal", value: function getCommandsInternal() { return this.commandsInternal; } }, { key: "getHooks", value: function getHooks() { return this.hooks; } /** * Retrieve the component's UI states. * * @return {Object} UI states */ }, { key: "getUiStates", value: function getUiStates() { return this.uiStates; } /** * Retrieve the component's Redux Slice. * * @return {Object} Redux Slice */ }, { key: "getStates", value: function getStates() { return this.states; } }, { key: "getRoutes", value: function getRoutes() { return this.routes; } }, { key: "getTabs", value: function getTabs() { return this.tabs; } }, { key: "getShortcuts", value: function getShortcuts() { return this.shortcuts; } }, { key: "getData", value: function getData() { return this.data; } /** * @param {string} command * @param {(()=>{}|CommandInfra)} context * @param {'default'|'internal'|'data'} commandsType */ }, { key: "registerCommand", value: function registerCommand(command, context) { var commandsType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default'; var commandsManager; switch (commandsType) { case 'default': commandsManager = $e.commands; break; case 'internal': commandsManager = $e.commandsInternal; break; case 'data': commandsManager = $e.data; break; default: throw new Error("Invalid commands type: '".concat(command, "'")); } var fullCommand = this.getNamespace() + '/' + command, instanceType = context.getInstanceType ? context.getInstanceType() : false, registerConfig = { command: fullCommand, component: this }; // Support pure callback. if (!instanceType) { if ($e.devTools) { $e.devTools.log.warn("Attach command-callback-base, on command: '".concat(fullCommand, "', context is unknown type.")); } registerConfig.callback = context; // Unique class. context = /*#__PURE__*/function (_CommandCallbackBase) { (0, _inherits2.default)(context, _CommandCallbackBase); var _super2 = _createSuper(context); function context() { (0, _classCallCheck2.default)(this, context); return _super2.apply(this, arguments); } return (0, _createClass2.default)(context); }(_commandCallbackBase.default); } context.setRegisterConfig(registerConfig); commandsManager.register(this, command, context); } /** * @param {HookBase} instance */ }, { key: "registerHook", value: function registerHook(instance) { return instance.register(); } }, { key: "registerCommandInternal", value: function registerCommandInternal(command, context) { this.registerCommand(command, context, 'internal'); } /** * Register a UI state. * * @param {UiStateBase} instance - UI state instance. * * @return {void} */ }, { key: "registerUiState", value: function registerUiState(instance) { $e.uiStates.register(instance); } /** * Register a Redux Slice. * * @param {string} id - State id. * @param {Object} stateConfig - The state config. * * @return {void} */ }, { key: "registerState", value: function registerState(id, stateConfig) { id = this.getNamespace() + (id ? "/".concat(id) : ''); var slice = (0, _toolkit.createSlice)(_objectSpread(_objectSpread({}, stateConfig), {}, { name: id })); $e.store.register(id, slice); } }, { key: "registerRoute", value: function registerRoute(route, callback) { $e.routes.register(this, route, callback); } }, { key: "registerData", value: function registerData(command, context) { this.registerCommand(command, context, 'data'); } }, { key: "unregisterRoute", value: function unregisterRoute(route) { $e.routes.unregister(this, route); } }, { key: "registerTabRoute", value: function registerTabRoute(tab) { var _this2 = this; this.registerRoute(tab, function (args) { return _this2.activateTab(tab, args); }); } }, { key: "dependency", value: function dependency() { return true; } }, { key: "open", value: function open() { return true; } }, { key: "close", value: function close() { if (!this.isOpen) { return false; } this.isOpen = false; this.inactivate(); $e.routes.clearCurrent(this.getNamespace()); $e.routes.clearHistory(this.getServiceName()); return true; } }, { key: "activate", value: function activate() { $e.components.activate(this.getNamespace()); } }, { key: "inactivate", value: function inactivate() { $e.components.inactivate(this.getNamespace()); } }, { key: "isActive", value: function isActive() { return $e.components.isActive(this.getNamespace()); } }, { key: "onRoute", value: function onRoute(route) { this.toggleRouteClass(route, true); this.toggleHistoryClass(); this.activate(); this.trigger('route/open', route); } }, { key: "onCloseRoute", value: function onCloseRoute(route) { this.toggleRouteClass(route, false); this.inactivate(); this.trigger('route/close', route); } }, { key: "setDefaultRoute", value: function setDefaultRoute(route) { this.defaultRoute = this.getNamespace() + '/' + route; } }, { key: "getDefaultRoute", value: function getDefaultRoute() { return this.defaultRoute; } }, { key: "removeTab", value: function removeTab(tab) { delete this.tabs[tab]; this.unregisterRoute(tab); } }, { key: "hasTab", value: function hasTab(tab) { return !!this.tabs[tab]; } }, { key: "addTab", value: function addTab(tab, args, position) { var _this3 = this; this.tabs[tab] = args; // It can be 0. if ('undefined' !== typeof position) { var newTabs = {}; var ids = Object.keys(this.tabs); // Remove new tab ids.pop(); // Add it to position. ids.splice(position, 0, tab); ids.forEach(function (id) { newTabs[id] = _this3.tabs[id]; }); this.tabs = newTabs; } this.registerTabRoute(tab); } }, { key: "getTabsWrapperSelector", value: function getTabsWrapperSelector() { return ''; } }, { key: "getTabRoute", value: function getTabRoute(tab) { return this.getNamespace() + '/' + tab; } }, { key: "renderTab", value: function renderTab(tab) {} // eslint-disable-line }, { key: "activateTab", value: function activateTab(tab, args) { var _this4 = this; this.renderTab(tab, args); jQuery(this.getTabsWrapperSelector() + ' .elementor-component-tab').off('click').on('click', function (event) { $e.route(_this4.getTabRoute(event.currentTarget.dataset.tab), args); }).removeClass('elementor-active').filter('[data-tab="' + tab + '"]').addClass('elementor-active'); } }, { key: "getActiveTabConfig", value: function getActiveTabConfig() { return this.tabs[this.currentTab] || {}; } }, { key: "getBodyClass", value: function getBodyClass(route) { return 'e-route-' + route.replace(/\//g, '-'); } /** * If command includes uppercase character convert it to lowercase and add `-`. * e.g: `CopyAll` is converted to `copy-all`. * * @param {string} commandName */ }, { key: "normalizeCommandName", value: function normalizeCommandName(commandName) { return commandName.replace(/[A-Z]/g, function (match, offset) { return (offset > 0 ? '-' : '') + match.toLowerCase(); }); } /** * @param {{}} commandsFromImport * @return {{}} imported commands */ }, { key: "importCommands", value: function importCommands(commandsFromImport) { var _this5 = this; var commands = {}; // Convert `Commands` to `ComponentBase` workable format. Object.entries(commandsFromImport).forEach(function (_ref11) { var _ref12 = (0, _slicedToArray2.default)(_ref11, 2), className = _ref12[0], Class = _ref12[1]; var command = _this5.normalizeCommandName(className); commands[command] = Class; }); return commands; } }, { key: "importHooks", value: function importHooks(hooksFromImport) { var hooks = {}; for (var key in hooksFromImport) { var hook = new hooksFromImport[key](); hooks[hook.getId()] = hook; } return hooks; } /** * Import & initialize the component's UI states. * Should be used inside `defaultUiState()`. * * @param {Object} statesFromImport - UI states from import. * * @return {Object} UI States */ }, { key: "importUiStates", value: function importUiStates(statesFromImport) { var _this6 = this; var uiStates = {}; Object.values(statesFromImport).forEach(function (className) { var uiState = new className(_this6); uiStates[uiState.getId()] = uiState; }); return uiStates; } /** * Set a UI state value. * TODO: Should we provide such function? Maybe the developer should implicitly pass the full state ID? * * @param {string} state - Non-prefixed state ID. * @param {*} value - New state value. * * @return {void} */ }, { key: "setUiState", value: function setUiState(state, value) { $e.uiStates.set("".concat(this.getNamespace(), "/").concat(state), value); } }, { key: "toggleRouteClass", value: function toggleRouteClass(route, state) { document.body.classList.toggle(this.getBodyClass(route), state); } }, { key: "toggleHistoryClass", value: function toggleHistoryClass() { document.body.classList.toggle('e-routes-has-history', !!$e.routes.getHistory(this.getServiceName()).length); } }]); return ComponentBase; }(_module.default); exports["default"] = ComponentBase; /***/ }), /***/ "../modules/web-cli/assets/js/modules/component-modal-base.js": /*!********************************************************************!*\ !*** ../modules/web-cli/assets/js/modules/component-modal-base.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _componentBase = _interopRequireDefault(__webpack_require__(/*! ./component-base */ "../modules/web-cli/assets/js/modules/component-base.js")); var commands = _interopRequireWildcard(__webpack_require__(/*! ./commands/ */ "../modules/web-cli/assets/js/modules/commands/index.js")); var _forceMethodImplementation = _interopRequireDefault(__webpack_require__(/*! ../utils/force-method-implementation */ "../modules/web-cli/assets/js/utils/force-method-implementation.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ComponentModalBase = /*#__PURE__*/function (_ComponentBase) { (0, _inherits2.default)(ComponentModalBase, _ComponentBase); var _super = _createSuper(ComponentModalBase); function ComponentModalBase() { (0, _classCallCheck2.default)(this, ComponentModalBase); return _super.apply(this, arguments); } (0, _createClass2.default)(ComponentModalBase, [{ key: "registerAPI", value: function registerAPI() { var _this = this; (0, _get2.default)((0, _getPrototypeOf2.default)(ComponentModalBase.prototype), "registerAPI", this).call(this); $e.shortcuts.register('esc', { scopes: [this.getNamespace()], callback: function callback() { return _this.close(); } }); } }, { key: "defaultCommands", value: function defaultCommands() { return this.importCommands(commands); } }, { key: "defaultRoutes", value: function defaultRoutes() { return { '': function _() {/* Nothing to do, it's already rendered. */} }; } }, { key: "open", value: function open() { var _this2 = this; if (!this.layout) { var layout = this.getModalLayout(); this.layout = new layout({ component: this }); this.layout.getModal().on('hide', function () { return _this2.close(); }); } this.layout.showModal(); return true; } }, { key: "close", value: function close() { if (!(0, _get2.default)((0, _getPrototypeOf2.default)(ComponentModalBase.prototype), "close", this).call(this)) { return false; } this.layout.getModal().hide(); return true; } }, { key: "getModalLayout", value: function getModalLayout() { (0, _forceMethodImplementation.default)(); } }]); return ComponentModalBase; }(_componentBase.default); exports["default"] = ComponentModalBase; /***/ }), /***/ "../modules/web-cli/assets/js/utils/console.js": /*!*****************************************************!*\ !*** ../modules/web-cli/assets/js/utils/console.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var Console = /*#__PURE__*/function () { function Console() { (0, _classCallCheck2.default)(this, Console); } (0, _createClass2.default)(Console, null, [{ key: "error", value: function error(message) { // Show an error if devTools is available. if ($e.devTools) { $e.devTools.log.error(message); } // If not a 'Hook-Break' then show error. if (!(message instanceof $e.modules.HookBreak)) { // eslint-disable-next-line no-console console.error(message); } } }, { key: "warn", value: function warn() { var _console; var style = "font-size: 12px; background-image: url(\"".concat(elementorWebCliConfig.urls.assets, "images/logo-icon.png\"); background-repeat: no-repeat; background-size: contain;"); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } args.unshift('%c %c', style, ''); (_console = console).warn.apply(_console, args); // eslint-disable-line no-console } }]); return Console; }(); exports["default"] = Console; /***/ }), /***/ "../modules/web-cli/assets/js/utils/deprecation.js": /*!*********************************************************!*\ !*** ../modules/web-cli/assets/js/utils/deprecation.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _console = _interopRequireDefault(__webpack_require__(/*! elementor-api/utils/console */ "../modules/web-cli/assets/js/utils/console.js")); // Copied from `modules/dev-tools/assets/js/deprecation.js` /** * @typedef {Object} Version * @property {number} major1 The first number * @property {number} major2 The second number * @property {number} minor The third number * @property {string} build The fourth number */ var softDeprecated = function softDeprecated(name, version, replacement) { if (elementorWebCliConfig.isDebug) { deprecatedMessage('soft', name, version, replacement); } }; var hardDeprecated = function hardDeprecated(name, version, replacement) { deprecatedMessage('hard', name, version, replacement); }; var deprecatedMessage = function deprecatedMessage(type, name, version, replacement) { var message = "`".concat(name, "` is ").concat(type, " deprecated since ").concat(version); if (replacement) { message += " - Use `".concat(replacement, "` instead"); } _console.default.warn(message); }; var Deprecation = /*#__PURE__*/function () { function Deprecation() { (0, _classCallCheck2.default)(this, Deprecation); } (0, _createClass2.default)(Deprecation, null, [{ key: "deprecated", value: function deprecated(name, version, replacement) { if (this.isHardDeprecated(version)) { hardDeprecated(name, version, replacement); } else { softDeprecated(name, version, replacement); } } /** * @param {string} version * * @return {Version} */ }, { key: "parseVersion", value: function parseVersion(version) { var versionParts = version.split('.'); if (versionParts.length < 3 || versionParts.length > 4) { throw new RangeError('Invalid Semantic Version string provided'); } var _versionParts = (0, _slicedToArray2.default)(versionParts, 4), major1 = _versionParts[0], major2 = _versionParts[1], minor = _versionParts[2], _versionParts$ = _versionParts[3], build = _versionParts$ === void 0 ? '' : _versionParts$; return { major1: parseInt(major1), major2: parseInt(major2), minor: parseInt(minor), build: build }; } /** * Get total of major. * * Since `get_total_major` cannot determine how much really versions between 2.9.0 and 3.3.0 if there is 2.10.0 version for example, * versions with major2 more then 9 will be added to total. * * @param {Version} versionObj * * @return {number} */ }, { key: "getTotalMajor", value: function getTotalMajor(versionObj) { var total = parseInt("".concat(versionObj.major1).concat(versionObj.major2, "0")); total = Number((total / 10).toFixed(0)); if (versionObj.major2 > 9) { total = versionObj.major2 - 9; } return total; } /** * @param {string} version1 * @param {string} version2 * * @return {number} */ }, { key: "compareVersion", value: function compareVersion(version1, version2) { var _this = this; return [this.parseVersion(version1), this.parseVersion(version2)].map(function (versionObj) { return _this.getTotalMajor(versionObj); }).reduce(function (acc, major) { return acc - major; }); } /** * @param {string} version * * @return {boolean} */ }, { key: "isSoftDeprecated", value: function isSoftDeprecated(version) { var total = this.compareVersion(version, elementorWebCliConfig.version); return total <= 4; } /** * @param {string} version * @return {boolean} */ }, { key: "isHardDeprecated", value: function isHardDeprecated(version) { var total = this.compareVersion(version, elementorWebCliConfig.version); return total < 0 || total >= 8; } }]); return Deprecation; }(); exports["default"] = Deprecation; /***/ }), /***/ "../modules/web-cli/assets/js/utils/force-method-implementation.js": /*!*************************************************************************!*\ !*** ../modules/web-cli/assets/js/utils/force-method-implementation.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = exports.ForceMethodImplementation = void 0; var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // TODO: Copied from `assets/dev/js/modules/imports/force-method-implementation.js`; var ForceMethodImplementation = /*#__PURE__*/function (_Error) { (0, _inherits2.default)(ForceMethodImplementation, _Error); var _super = _createSuper(ForceMethodImplementation); function ForceMethodImplementation() { var _this; var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; (0, _classCallCheck2.default)(this, ForceMethodImplementation); _this = _super.call(this, "".concat(info.isStatic ? 'static ' : '').concat(info.fullName, "() should be implemented, please provide '").concat(info.functionName || info.fullName, "' functionality.")); Error.captureStackTrace((0, _assertThisInitialized2.default)(_this), ForceMethodImplementation); return _this; } return (0, _createClass2.default)(ForceMethodImplementation); }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error)); exports.ForceMethodImplementation = ForceMethodImplementation; var _default = function _default() { var stack = Error().stack, caller = stack.split('\n')[2].trim(), callerName = caller.startsWith('at new') ? 'constructor' : caller.split(' ')[1], info = {}; info.functionName = callerName; info.fullName = callerName; if (info.functionName.includes('.')) { var parts = info.functionName.split('.'); info.className = parts[0]; info.functionName = parts[1]; } else { info.isStatic = true; } throw new ForceMethodImplementation(info); }; exports["default"] = _default; /***/ }), /***/ "../node_modules/redux-thunk/es/index.js": /*!***********************************************!*\ !*** ../node_modules/redux-thunk/es/index.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** A function that accepts a potential "extra argument" value to be injected later, * and returns an instance of the thunk middleware that uses that value */ function createThunkMiddleware(extraArgument) { // Standard Redux middleware definition pattern: // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware var middleware = function middleware(_ref) { var dispatch = _ref.dispatch, getState = _ref.getState; return function (next) { return function (action) { // The thunk middleware looks for any functions that were passed to `store.dispatch`. // If this "action" is really a function, call it and return the result. if (typeof action === 'function') { // Inject the store's `dispatch` and `getState` methods, as well as any "extra arg" return action(dispatch, getState, extraArgument); } // Otherwise, pass the action down the middleware chain as usual return next(action); }; }; }; return middleware; } var thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version // with whatever "extra arg" they want to inject into their thunks thunk.withExtraArgument = createThunkMiddleware; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (thunk); /***/ }), /***/ "../node_modules/redux/es/redux.js": /*!*****************************************!*\ !*** ../node_modules/redux/es/redux.js ***! \*****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __DO_NOT_USE__ActionTypes: () => (/* binding */ ActionTypes), /* harmony export */ applyMiddleware: () => (/* binding */ applyMiddleware), /* harmony export */ bindActionCreators: () => (/* binding */ bindActionCreators), /* harmony export */ combineReducers: () => (/* binding */ combineReducers), /* harmony export */ compose: () => (/* binding */ compose), /* harmony export */ createStore: () => (/* binding */ createStore), /* harmony export */ legacy_createStore: () => (/* binding */ legacy_createStore) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread2 */ "../node_modules/@babel/runtime/helpers/esm/objectSpread2.js"); /** * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js * * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes * during build. * @param {number} code */ function formatProdErrorMessage(code) { return "Minified Redux error #" + code + "; visit https://redux.js.org/Errors?code=" + code + " for the full message or " + 'use the non-minified dev environment for full errors. '; } // Inlined version of the `symbol-observable` polyfill var $$observable = (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })(); /** * These are private action types reserved by Redux. * For any unknown actions, you must return the current state. * If the current state is undefined, you must return the initial state. * Do not reference these action types directly in your code. */ var randomString = function randomString() { return Math.random().toString(36).substring(7).split('').join('.'); }; var ActionTypes = { INIT: "@@redux/INIT" + randomString(), REPLACE: "@@redux/REPLACE" + randomString(), PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); } }; /** * @param {any} obj The object to inspect. * @returns {boolean} True if the argument appears to be a plain object. */ function isPlainObject(obj) { if (typeof obj !== 'object' || obj === null) return false; var proto = obj; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(obj) === proto; } // Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of function miniKindOf(val) { if (val === void 0) return 'undefined'; if (val === null) return 'null'; var type = typeof val; switch (type) { case 'boolean': case 'string': case 'number': case 'symbol': case 'function': { return type; } } if (Array.isArray(val)) return 'array'; if (isDate(val)) return 'date'; if (isError(val)) return 'error'; var constructorName = ctorName(val); switch (constructorName) { case 'Symbol': case 'Promise': case 'WeakMap': case 'WeakSet': case 'Map': case 'Set': return constructorName; } // other return type.slice(8, -1).toLowerCase().replace(/\s/g, ''); } function ctorName(val) { return typeof val.constructor === 'function' ? val.constructor.name : null; } function isError(val) { return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number'; } function isDate(val) { if (val instanceof Date) return true; return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function'; } function kindOf(val) { var typeOfVal = typeof val; if (true) { typeOfVal = miniKindOf(val); } return typeOfVal; } /** * @deprecated * * **We recommend using the `configureStore` method * of the `@reduxjs/toolkit` package**, which replaces `createStore`. * * Redux Toolkit is our recommended approach for writing Redux logic today, * including store setup, reducers, data fetching, and more. * * **For more details, please read this Redux docs page:** * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * `configureStore` from Redux Toolkit is an improved version of `createStore` that * simplifies setup and helps avoid common bugs. * * You should not be using the `redux` core package by itself today, except for learning purposes. * The `createStore` method from the core `redux` package will not be removed, but we encourage * all users to migrate to using Redux Toolkit for all Redux code. * * If you want to use `createStore` without this visual deprecation warning, use * the `legacy_createStore` import instead: * * `import { legacy_createStore as createStore} from 'redux'` * */ function createStore(reducer, preloadedState, enhancer) { var _ref2; if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { throw new Error( false ? 0 : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.'); } if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { enhancer = preloadedState; preloadedState = undefined; } if (typeof enhancer !== 'undefined') { if (typeof enhancer !== 'function') { throw new Error( false ? 0 : "Expected the enhancer to be a function. Instead, received: '" + kindOf(enhancer) + "'"); } return enhancer(createStore)(reducer, preloadedState); } if (typeof reducer !== 'function') { throw new Error( false ? 0 : "Expected the root reducer to be a function. Instead, received: '" + kindOf(reducer) + "'"); } var currentReducer = reducer; var currentState = preloadedState; var currentListeners = []; var nextListeners = currentListeners; var isDispatching = false; /** * This makes a shallow copy of currentListeners so we can use * nextListeners as a temporary list while dispatching. * * This prevents any bugs around consumers calling * subscribe/unsubscribe in the middle of a dispatch. */ function ensureCanMutateNextListeners() { if (nextListeners === currentListeners) { nextListeners = currentListeners.slice(); } } /** * Reads the state tree managed by the store. * * @returns {any} The current state tree of your application. */ function getState() { if (isDispatching) { throw new Error( false ? 0 : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.'); } return currentState; } /** * Adds a change listener. It will be called any time an action is dispatched, * and some part of the state tree may potentially have changed. You may then * call `getState()` to read the current state tree inside the callback. * * You may call `dispatch()` from a change listener, with the following * caveats: * * 1. The subscriptions are snapshotted just before every `dispatch()` call. * If you subscribe or unsubscribe while the listeners are being invoked, this * will not have any effect on the `dispatch()` that is currently in progress. * However, the next `dispatch()` call, whether nested or not, will use a more * recent snapshot of the subscription list. * * 2. The listener should not expect to see all state changes, as the state * might have been updated multiple times during a nested `dispatch()` before * the listener is called. It is, however, guaranteed that all subscribers * registered before the `dispatch()` started will be called with the latest * state by the time it exits. * * @param {Function} listener A callback to be invoked on every dispatch. * @returns {Function} A function to remove this change listener. */ function subscribe(listener) { if (typeof listener !== 'function') { throw new Error( false ? 0 : "Expected the listener to be a function. Instead, received: '" + kindOf(listener) + "'"); } if (isDispatching) { throw new Error( false ? 0 : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } var isSubscribed = true; ensureCanMutateNextListeners(); nextListeners.push(listener); return function unsubscribe() { if (!isSubscribed) { return; } if (isDispatching) { throw new Error( false ? 0 : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.'); } isSubscribed = false; ensureCanMutateNextListeners(); var index = nextListeners.indexOf(listener); nextListeners.splice(index, 1); currentListeners = null; }; } /** * Dispatches an action. It is the only way to trigger a state change. * * The `reducer` function, used to create the store, will be called with the * current state tree and the given `action`. Its return value will * be considered the **next** state of the tree, and the change listeners * will be notified. * * The base implementation only supports plain object actions. If you want to * dispatch a Promise, an Observable, a thunk, or something else, you need to * wrap your store creating function into the corresponding middleware. For * example, see the documentation for the `redux-thunk` package. Even the * middleware will eventually dispatch plain object actions using this method. * * @param {Object} action A plain object representing “what changed”. It is * a good idea to keep actions serializable so you can record and replay user * sessions, or use the time travelling `redux-devtools`. An action must have * a `type` property which may not be `undefined`. It is a good idea to use * string constants for action types. * * @returns {Object} For convenience, the same action object you dispatched. * * Note that, if you use a custom middleware, it may wrap `dispatch()` to * return something else (for example, a Promise you can await). */ function dispatch(action) { if (!isPlainObject(action)) { throw new Error( false ? 0 : "Actions must be plain objects. Instead, the actual type was: '" + kindOf(action) + "'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples."); } if (typeof action.type === 'undefined') { throw new Error( false ? 0 : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.'); } if (isDispatching) { throw new Error( false ? 0 : 'Reducers may not dispatch actions.'); } try { isDispatching = true; currentState = currentReducer(currentState, action); } finally { isDispatching = false; } var listeners = currentListeners = nextListeners; for (var i = 0; i < listeners.length; i++) { var listener = listeners[i]; listener(); } return action; } /** * Replaces the reducer currently used by the store to calculate the state. * * You might need this if your app implements code splitting and you want to * load some of the reducers dynamically. You might also need this if you * implement a hot reloading mechanism for Redux. * * @param {Function} nextReducer The reducer for the store to use instead. * @returns {void} */ function replaceReducer(nextReducer) { if (typeof nextReducer !== 'function') { throw new Error( false ? 0 : "Expected the nextReducer to be a function. Instead, received: '" + kindOf(nextReducer)); } currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. // Any reducers that existed in both the new and old rootReducer // will receive the previous state. This effectively populates // the new state tree with any relevant data from the old one. dispatch({ type: ActionTypes.REPLACE }); } /** * Interoperability point for observable/reactive libraries. * @returns {observable} A minimal observable of state changes. * For more information, see the observable proposal: * https://github.com/tc39/proposal-observable */ function observable() { var _ref; var outerSubscribe = subscribe; return _ref = { /** * The minimal observable subscription method. * @param {Object} observer Any object that can be used as an observer. * The observer object should have a `next` method. * @returns {subscription} An object with an `unsubscribe` method that can * be used to unsubscribe the observable from the store, and prevent further * emission of values from the observable. */ subscribe: function subscribe(observer) { if (typeof observer !== 'object' || observer === null) { throw new Error( false ? 0 : "Expected the observer to be an object. Instead, received: '" + kindOf(observer) + "'"); } function observeState() { if (observer.next) { observer.next(getState()); } } observeState(); var unsubscribe = outerSubscribe(observeState); return { unsubscribe: unsubscribe }; } }, _ref[$$observable] = function () { return this; }, _ref; } // When a store is created, an "INIT" action is dispatched so that every // reducer returns their initial state. This effectively populates // the initial state tree. dispatch({ type: ActionTypes.INIT }); return _ref2 = { dispatch: dispatch, subscribe: subscribe, getState: getState, replaceReducer: replaceReducer }, _ref2[$$observable] = observable, _ref2; } /** * Creates a Redux store that holds the state tree. * * **We recommend using `configureStore` from the * `@reduxjs/toolkit` package**, which replaces `createStore`: * **https://redux.js.org/introduction/why-rtk-is-redux-today** * * The only way to change the data in the store is to call `dispatch()` on it. * * There should only be a single store in your app. To specify how different * parts of the state tree respond to actions, you may combine several reducers * into a single reducer function by using `combineReducers`. * * @param {Function} reducer A function that returns the next state tree, given * the current state tree and the action to handle. * * @param {any} [preloadedState] The initial state. You may optionally specify it * to hydrate the state from the server in universal apps, or to restore a * previously serialized user session. * If you use `combineReducers` to produce the root reducer function, this must be * an object with the same shape as `combineReducers` keys. * * @param {Function} [enhancer] The store enhancer. You may optionally specify it * to enhance the store with third-party capabilities such as middleware, * time travel, persistence, etc. The only store enhancer that ships with Redux * is `applyMiddleware()`. * * @returns {Store} A Redux store that lets you read the state, dispatch actions * and subscribe to changes. */ var legacy_createStore = createStore; /** * Prints a warning in the console if it exists. * * @param {String} message The warning message. * @returns {void} */ function warning(message) { /* eslint-disable no-console */ if (typeof console !== 'undefined' && typeof console.error === 'function') { console.error(message); } /* eslint-enable no-console */ try { // This error was thrown as a convenience so that if you enable // "break on all exceptions" in your console, // it would pause the execution at this line. throw new Error(message); } catch (e) {} // eslint-disable-line no-empty } function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { var reducerKeys = Object.keys(reducers); var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; if (reducerKeys.length === 0) { return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; } if (!isPlainObject(inputState)) { return "The " + argumentName + " has unexpected type of \"" + kindOf(inputState) + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\""); } var unexpectedKeys = Object.keys(inputState).filter(function (key) { return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; }); unexpectedKeys.forEach(function (key) { unexpectedKeyCache[key] = true; }); if (action && action.type === ActionTypes.REPLACE) return; if (unexpectedKeys.length > 0) { return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored."); } } function assertReducerShape(reducers) { Object.keys(reducers).forEach(function (key) { var reducer = reducers[key]; var initialState = reducer(undefined, { type: ActionTypes.INIT }); if (typeof initialState === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined."); } if (typeof reducer(undefined, { type: ActionTypes.PROBE_UNKNOWN_ACTION() }) === 'undefined') { throw new Error( false ? 0 : "The slice reducer for key \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle '" + ActionTypes.INIT + "' or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null."); } }); } /** * Turns an object whose values are different reducer functions, into a single * reducer function. It will call every child reducer, and gather their results * into a single state object, whose keys correspond to the keys of the passed * reducer functions. * * @param {Object} reducers An object whose values correspond to different * reducer functions that need to be combined into one. One handy way to obtain * it is to use ES6 `import * as reducers` syntax. The reducers may never return * undefined for any action. Instead, they should return their initial state * if the state passed to them was undefined, and the current state for any * unrecognized action. * * @returns {Function} A reducer function that invokes every reducer inside the * passed object, and builds a state object with the same shape. */ function combineReducers(reducers) { var reducerKeys = Object.keys(reducers); var finalReducers = {}; for (var i = 0; i < reducerKeys.length; i++) { var key = reducerKeys[i]; if (true) { if (typeof reducers[key] === 'undefined') { warning("No reducer provided for key \"" + key + "\""); } } if (typeof reducers[key] === 'function') { finalReducers[key] = reducers[key]; } } var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same // keys multiple times. var unexpectedKeyCache; if (true) { unexpectedKeyCache = {}; } var shapeAssertionError; try { assertReducerShape(finalReducers); } catch (e) { shapeAssertionError = e; } return function combination(state, action) { if (state === void 0) { state = {}; } if (shapeAssertionError) { throw shapeAssertionError; } if (true) { var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); if (warningMessage) { warning(warningMessage); } } var hasChanged = false; var nextState = {}; for (var _i = 0; _i < finalReducerKeys.length; _i++) { var _key = finalReducerKeys[_i]; var reducer = finalReducers[_key]; var previousStateForKey = state[_key]; var nextStateForKey = reducer(previousStateForKey, action); if (typeof nextStateForKey === 'undefined') { var actionType = action && action.type; throw new Error( false ? 0 : "When called with an action of type " + (actionType ? "\"" + String(actionType) + "\"" : '(unknown type)') + ", the slice reducer for key \"" + _key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined."); } nextState[_key] = nextStateForKey; hasChanged = hasChanged || nextStateForKey !== previousStateForKey; } hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length; return hasChanged ? nextState : state; }; } function bindActionCreator(actionCreator, dispatch) { return function () { return dispatch(actionCreator.apply(this, arguments)); }; } /** * Turns an object whose values are action creators, into an object with the * same keys, but with every function wrapped into a `dispatch` call so they * may be invoked directly. This is just a convenience method, as you can call * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. * * For convenience, you can also pass an action creator as the first argument, * and get a dispatch wrapped function in return. * * @param {Function|Object} actionCreators An object whose values are action * creator functions. One handy way to obtain it is to use ES6 `import * as` * syntax. You may also pass a single function. * * @param {Function} dispatch The `dispatch` function available on your Redux * store. * * @returns {Function|Object} The object mimicking the original object, but with * every action creator wrapped into the `dispatch` call. If you passed a * function as `actionCreators`, the return value will also be a single * function. */ function bindActionCreators(actionCreators, dispatch) { if (typeof actionCreators === 'function') { return bindActionCreator(actionCreators, dispatch); } if (typeof actionCreators !== 'object' || actionCreators === null) { throw new Error( false ? 0 : "bindActionCreators expected an object or a function, but instead received: '" + kindOf(actionCreators) + "'. " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?"); } var boundActionCreators = {}; for (var key in actionCreators) { var actionCreator = actionCreators[key]; if (typeof actionCreator === 'function') { boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); } } return boundActionCreators; } /** * Composes single-argument functions from right to left. The rightmost * function can take multiple arguments as it provides the signature for * the resulting composite function. * * @param {...Function} funcs The functions to compose. * @returns {Function} A function obtained by composing the argument functions * from right to left. For example, compose(f, g, h) is identical to doing * (...args) => f(g(h(...args))). */ function compose() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } if (funcs.length === 0) { return function (arg) { return arg; }; } if (funcs.length === 1) { return funcs[0]; } return funcs.reduce(function (a, b) { return function () { return a(b.apply(void 0, arguments)); }; }); } /** * Creates a store enhancer that applies middleware to the dispatch method * of the Redux store. This is handy for a variety of tasks, such as expressing * asynchronous actions in a concise manner, or logging every action payload. * * See `redux-thunk` package as an example of the Redux middleware. * * Because middleware is potentially asynchronous, this should be the first * store enhancer in the composition chain. * * Note that each middleware will be given the `dispatch` and `getState` functions * as named arguments. * * @param {...Function} middlewares The middleware chain to be applied. * @returns {Function} A store enhancer applying the middleware. */ function applyMiddleware() { for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) { middlewares[_key] = arguments[_key]; } return function (createStore) { return function () { var store = createStore.apply(void 0, arguments); var _dispatch = function dispatch() { throw new Error( false ? 0 : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.'); }; var middlewareAPI = { getState: store.getState, dispatch: function dispatch() { return _dispatch.apply(void 0, arguments); } }; var chain = middlewares.map(function (middleware) { return middleware(middlewareAPI); }); _dispatch = compose.apply(void 0, chain)(store.dispatch); return (0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__["default"])({}, store), {}, { dispatch: _dispatch }); }; }; } /***/ }), /***/ "../node_modules/reselect/es/defaultMemoize.js": /*!*****************************************************!*\ !*** ../node_modules/reselect/es/defaultMemoize.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createCacheKeyComparator: () => (/* binding */ createCacheKeyComparator), /* harmony export */ defaultEqualityCheck: () => (/* binding */ defaultEqualityCheck), /* harmony export */ defaultMemoize: () => (/* binding */ defaultMemoize) /* harmony export */ }); // Cache implementation based on Erik Rasmussen's `lru-memoize`: // https://github.com/erikras/lru-memoize var NOT_FOUND = 'NOT_FOUND'; function createSingletonCache(equals) { var entry; return { get: function get(key) { if (entry && equals(entry.key, key)) { return entry.value; } return NOT_FOUND; }, put: function put(key, value) { entry = { key: key, value: value }; }, getEntries: function getEntries() { return entry ? [entry] : []; }, clear: function clear() { entry = undefined; } }; } function createLruCache(maxSize, equals) { var entries = []; function get(key) { var cacheIndex = entries.findIndex(function (entry) { return equals(key, entry.key); }); // We found a cached entry if (cacheIndex > -1) { var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top if (cacheIndex > 0) { entries.splice(cacheIndex, 1); entries.unshift(entry); } return entry.value; } // No entry found in cache, return sentinel return NOT_FOUND; } function put(key, value) { if (get(key) === NOT_FOUND) { // TODO Is unshift slow? entries.unshift({ key: key, value: value }); if (entries.length > maxSize) { entries.pop(); } } } function getEntries() { return entries; } function clear() { entries = []; } return { get: get, put: put, getEntries: getEntries, clear: clear }; } var defaultEqualityCheck = function defaultEqualityCheck(a, b) { return a === b; }; function createCacheKeyComparator(equalityCheck) { return function areArgumentsShallowlyEqual(prev, next) { if (prev === null || next === null || prev.length !== next.length) { return false; } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible. var length = prev.length; for (var i = 0; i < length; i++) { if (!equalityCheck(prev[i], next[i])) { return false; } } return true; }; } // defaultMemoize now supports a configurable cache size with LRU behavior, // and optional comparison of the result value with existing values function defaultMemoize(func, equalityCheckOrOptions) { var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : { equalityCheck: equalityCheckOrOptions }; var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck; var comparator = createCacheKeyComparator(equalityCheck); var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons function memoized() { var value = cache.get(arguments); if (value === NOT_FOUND) { // @ts-ignore value = func.apply(null, arguments); if (resultEqualityCheck) { var entries = cache.getEntries(); var matchingEntry = entries.find(function (entry) { return resultEqualityCheck(entry.value, value); }); if (matchingEntry) { value = matchingEntry.value; } } cache.put(arguments, value); } return value; } memoized.clearCache = function () { return cache.clear(); }; return memoized; } /***/ }), /***/ "../node_modules/reselect/es/index.js": /*!********************************************!*\ !*** ../node_modules/reselect/es/index.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createSelector: () => (/* binding */ createSelector), /* harmony export */ createSelectorCreator: () => (/* binding */ createSelectorCreator), /* harmony export */ createStructuredSelector: () => (/* binding */ createStructuredSelector), /* harmony export */ defaultEqualityCheck: () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultEqualityCheck), /* harmony export */ defaultMemoize: () => (/* reexport safe */ _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize) /* harmony export */ }); /* harmony import */ var _defaultMemoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultMemoize */ "../node_modules/reselect/es/defaultMemoize.js"); function getDependencies(funcs) { var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs; if (!dependencies.every(function (dep) { return typeof dep === 'function'; })) { var dependencyTypes = dependencies.map(function (dep) { return typeof dep === 'function' ? "function " + (dep.name || 'unnamed') + "()" : typeof dep; }).join(', '); throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]"); } return dependencies; } function createSelectorCreator(memoize) { for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { memoizeOptionsFromArgs[_key - 1] = arguments[_key]; } var createSelector = function createSelector() { for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { funcs[_key2] = arguments[_key2]; } var _recomputations = 0; var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`. // So, start by declaring the default value here. // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.) var directlyPassedOptions = { memoizeOptions: undefined }; // Normally, the result func or "output selector" is the last arg var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object if (typeof resultFunc === 'object') { directlyPassedOptions = resultFunc; // and pop the real result func off resultFunc = funcs.pop(); } if (typeof resultFunc !== 'function') { throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]"); } // Determine which set of options we're using. Prefer options passed directly, // but fall back to options given to createSelectorCreator. var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer // is an array. In most libs I've looked at, it's an equality function or options object. // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full // user-provided array of options. Otherwise, it must be just the _first_ arg, and so // we wrap it in an array so we can apply it. var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions]; var dependencies = getDependencies(funcs); var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() { _recomputations++; // apply arguments instead of spreading for performance. return resultFunc.apply(null, arguments); }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again. var selector = memoize(function dependenciesChecker() { var params = []; var length = dependencies.length; for (var i = 0; i < length; i++) { // apply arguments instead of spreading and mutate a local list of params for performance. // @ts-ignore params.push(dependencies[i].apply(null, arguments)); } // apply arguments instead of spreading for performance. _lastResult = memoizedResultFunc.apply(null, params); return _lastResult; }); Object.assign(selector, { resultFunc: resultFunc, memoizedResultFunc: memoizedResultFunc, dependencies: dependencies, lastResult: function lastResult() { return _lastResult; }, recomputations: function recomputations() { return _recomputations; }, resetRecomputations: function resetRecomputations() { return _recomputations = 0; } }); return selector; }; // @ts-ignore return createSelector; } var createSelector = /* #__PURE__ */createSelectorCreator(_defaultMemoize__WEBPACK_IMPORTED_MODULE_0__.defaultMemoize); // Manual definition of state and output arguments var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) { if (selectorCreator === void 0) { selectorCreator = createSelector; } if (typeof selectors !== 'object') { throw new Error('createStructuredSelector expects first argument to be an object ' + ("where each property is a selector, instead received a " + typeof selectors)); } var objectKeys = Object.keys(selectors); var resultSelector = selectorCreator( // @ts-ignore objectKeys.map(function (key) { return selectors[key]; }), function () { for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { values[_key3] = arguments[_key3]; } return values.reduce(function (composition, value, index) { composition[objectKeys[index]] = value; return composition; }, {}); }); return resultSelector; }; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \***********************************************************************/ /***/ ((module) => { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***! \******************************************************************/ /***/ ((module) => { function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***! \****************************************************************/ /***/ ((module) => { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/construct.js": /*!***********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/construct.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); var isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct.js */ "../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js"); function _construct(t, e, r) { if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && setPrototypeOf(p, r.prototype), p; } module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/createClass.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/createClass.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperty(obj, key, value) { key = toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/get.js": /*!*****************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/get.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js"); function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports; } 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(arguments.length < 3 ? target : receiver); } return desc.value; }, module.exports.__esModule = true, module.exports["default"] = module.exports; } return _get.apply(this, arguments); } module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _getPrototypeOf(o); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/inherits.js": /*!**********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/inherits.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/isNativeFunction.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/isNativeFunction.js ***! \******************************************************************/ /***/ ((module) => { function _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf("[native code]") !== -1; } catch (e) { return typeof fn === "function"; } } module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js": /*!**************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***! \**************************************************************************/ /***/ ((module) => { function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js": /*!********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ module.exports = _regeneratorRuntime = function _regeneratorRuntime() { return e; }, module.exports.__esModule = true, module.exports["default"] = module.exports; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"); function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = getPrototypeOf(object); if (object === null) break; } return object; } module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); function toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js"); function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/wrapNativeSuper.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/wrapNativeSuper.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"); var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); var isNativeFunction = __webpack_require__(/*! ./isNativeFunction.js */ "../node_modules/@babel/runtime/helpers/isNativeFunction.js"); var construct = __webpack_require__(/*! ./construct.js */ "../node_modules/@babel/runtime/helpers/construct.js"); function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return construct(Class, arguments, getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return setPrototypeOf(Wrapper, Class); }, module.exports.__esModule = true, module.exports["default"] = module.exports; return _wrapNativeSuper(Class); } module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/regenerator/index.js": /*!***********************************************************!*\ !*** ../node_modules/@babel/runtime/regenerator/index.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { // TODO(Babel 8): Remove this file. var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")(); module.exports = runtime; // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= try { regeneratorRuntime = runtime; } catch (accidentalStrictMode) { if (typeof globalThis === "object") { globalThis.regeneratorRuntime = runtime; } else { Function("r", "regeneratorRuntime = r")(runtime); } } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/defineProperty.js": /*!********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! \********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _defineProperty) /* harmony export */ }); /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"); function _defineProperty(obj, key, value) { key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/objectSpread2.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _objectSpread2) /* harmony export */ }); /* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defineProperty.js */ "../node_modules/@babel/runtime/helpers/esm/defineProperty.js"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/toPrimitive.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! \*****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPrimitive) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/esm/typeof.js"); function toPrimitive(t, r) { if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! \*******************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ toPropertyKey) /* harmony export */ }); /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/esm/typeof.js"); /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/esm/toPrimitive.js"); function toPropertyKey(t) { var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string"); return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i); } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/esm/typeof.js": /*!************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/esm/typeof.js ***! \************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _typeof) /* harmony export */ }); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } /***/ }), /***/ "../node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.esm.mjs": /*!******************************************************************************!*\ !*** ../node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.esm.mjs ***! \******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Immer: () => (/* binding */ un), /* harmony export */ applyPatches: () => (/* binding */ pn), /* harmony export */ castDraft: () => (/* binding */ K), /* harmony export */ castImmutable: () => (/* binding */ $), /* harmony export */ createDraft: () => (/* binding */ ln), /* harmony export */ current: () => (/* binding */ R), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ enableAllPlugins: () => (/* binding */ J), /* harmony export */ enableES5: () => (/* binding */ F), /* harmony export */ enableMapSet: () => (/* binding */ C), /* harmony export */ enablePatches: () => (/* binding */ T), /* harmony export */ finishDraft: () => (/* binding */ dn), /* harmony export */ freeze: () => (/* binding */ d), /* harmony export */ immerable: () => (/* binding */ L), /* harmony export */ isDraft: () => (/* binding */ r), /* harmony export */ isDraftable: () => (/* binding */ t), /* harmony export */ nothing: () => (/* binding */ H), /* harmony export */ original: () => (/* binding */ e), /* harmony export */ produce: () => (/* binding */ fn), /* harmony export */ produceWithPatches: () => (/* binding */ cn), /* harmony export */ setAutoFreeze: () => (/* binding */ sn), /* harmony export */ setUseProxies: () => (/* binding */ vn) /* harmony export */ }); function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2)}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return false||U||n(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r)}function g(n){O(n),n.p.forEach(S),n.p=null}function O(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b("Patches").N(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s,v){if( true&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r(p))return;e.m=!1}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function N(n,r,t){var e=s(r)?b("MapSet").F(r,t):v(r)?b("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return(t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return true&&f(r),en.get(r,n)},set:function(r){var t=this[Q]; true&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fn); //# sourceMappingURL=immer.esm.js.map /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/global */ /******/ (() => { /******/ __webpack_require__.g = (function() { /******/ if (typeof globalThis === 'object') return globalThis; /******/ try { /******/ return this || new Function('return this')(); /******/ } catch (e) { /******/ if (typeof window === 'object') return window; /******/ } /******/ })(); /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be in strict mode. (() => { "use strict"; /*!******************************************!*\ !*** ../core/common/assets/js/common.js ***! \******************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _helpers = _interopRequireDefault(__webpack_require__(/*! ./utils/helpers */ "../core/common/assets/js/utils/helpers.js")); var _storage = _interopRequireDefault(__webpack_require__(/*! ./utils/storage */ "../core/common/assets/js/utils/storage.js")); var _debug = _interopRequireDefault(__webpack_require__(/*! ./utils/debug */ "../core/common/assets/js/utils/debug.js")); var _ajax = _interopRequireDefault(__webpack_require__(/*! elementor-common-modules/ajax/assets/js/ajax */ "../core/common/modules/ajax/assets/js/ajax.js")); var _finder = _interopRequireDefault(__webpack_require__(/*! elementor-common-modules/finder/assets/js/finder */ "../core/common/modules/finder/assets/js/finder.js")); var _connect = _interopRequireDefault(__webpack_require__(/*! elementor-common-modules/connect/assets/js/connect */ "../core/common/modules/connect/assets/js/connect.js")); var _component = _interopRequireDefault(__webpack_require__(/*! ./components/wordpress/component */ "../core/common/assets/js/components/wordpress/component.js")); var _component2 = _interopRequireDefault(__webpack_require__(/*! elementor-common-modules/event-tracker/assets/js/data/component */ "../core/common/modules/event-tracker/assets/js/data/component.js")); var _events = _interopRequireDefault(__webpack_require__(/*! elementor-common-modules/event-tracker/assets/js/events */ "../core/common/modules/event-tracker/assets/js/events.js")); var _notifications = _interopRequireDefault(__webpack_require__(/*! elementor-utils/notifications */ "../assets/dev/js/utils/notifications.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var ElementorCommonApp = /*#__PURE__*/function (_elementorModules$Vie) { (0, _inherits2.default)(ElementorCommonApp, _elementorModules$Vie); var _super = _createSuper(ElementorCommonApp); function ElementorCommonApp() { (0, _classCallCheck2.default)(this, ElementorCommonApp); return _super.apply(this, arguments); } (0, _createClass2.default)(ElementorCommonApp, [{ key: "setMarionetteTemplateCompiler", value: function setMarionetteTemplateCompiler() { Marionette.TemplateCache.prototype.compileTemplate = function (rawTemplate, options) { options = { evaluate: /<#([\s\S]+?)#>/g, interpolate: /{{{([\s\S]+?)}}}/g, escape: /{{([^}]+?)}}(?!})/g }; return _.template(rawTemplate, options); }; } }, { key: "getDefaultElements", value: function getDefaultElements() { return { $window: jQuery(window), $document: jQuery(document), $body: jQuery(document.body) }; } }, { key: "initComponents", value: function initComponents() { this.events = new _events.default(); this.debug = new _debug.default(); this.helpers = new _helpers.default(); this.storage = new _storage.default(); this.dialogsManager = new DialogsManager.Instance(); this.notifications = new _notifications.default(); this.api = window.$e; $e.components.register(new _component2.default()); elementorCommon.elements.$window.on('elementor:init-components', function () { $e.components.register(new _component.default()); }); this.initModules(); } }, { key: "initModules", value: function initModules() { var _this = this; var activeModules = this.config.activeModules; var modules = { ajax: _ajax.default, finder: _finder.default, connect: _connect.default }; activeModules.forEach(function (name) { if (modules[name]) { _this[name] = new modules[name](_this.config[name]); } }); } }, { key: "compileArrayTemplateArgs", value: function compileArrayTemplateArgs(template, templateArgs) { return template.replace(/%(?:(\d+)\$)?s/g, function (match, number) { if (!number) { number = 1; } number--; return undefined !== templateArgs[number] ? templateArgs[number] : match; }); } }, { key: "compileObjectTemplateArgs", value: function compileObjectTemplateArgs(template, templateArgs) { return template.replace(/{{(?:([ \w]+))}}/g, function (match, name) { return templateArgs[name] ? templateArgs[name] : match; }); } }, { key: "compileTemplate", value: function compileTemplate(template, templateArgs) { return jQuery.isPlainObject(templateArgs) ? this.compileObjectTemplateArgs(template, templateArgs) : this.compileArrayTemplateArgs(template, templateArgs); } }, { key: "translate", value: function translate(stringKey, context, templateArgs, i18nStack) { if (context) { i18nStack = this.config[context].i18n; } if (!i18nStack) { i18nStack = this.config.i18n; } var string = i18nStack[stringKey]; if (undefined === string) { string = stringKey; } if (templateArgs) { string = this.compileTemplate(string, templateArgs); } return string; } }, { key: "onInit", value: function onInit() { (0, _get2.default)((0, _getPrototypeOf2.default)(ElementorCommonApp.prototype), "onInit", this).call(this); this.config = elementorCommonConfig; this.setMarionetteTemplateCompiler(); } }]); return ElementorCommonApp; }(elementorModules.ViewModule); window.elementorCommon = new ElementorCommonApp(); elementorCommon.initComponents(); })(); /******/ })() ; //# sourceMappingURL=common.js.map Форекс индикатор profbang Стратегии, индикаторы, роботы, сигналы, аналитика и прогнозы для начинающих - SkillsSer

Форекс индикатор profbang Стратегии, индикаторы, роботы, сигналы, аналитика и прогнозы для начинающих

Этот индикатор способен ежедневно приносить серьезный доход – даже новичкам без опыта! Многие трейдеры уже сейчас успешно https://boriscooper.org/instruments/torgovyj-indikator-profbang/ зарабатывают торгуя по сигналам «Forex Progress» — это проверенная технология, чтобы быстро выйти на хороший доход и ежедневно получать прибыль. Запустив индикатор «Forex Progress» Вы получите алгоритм перехода к действительно большим заработкам и уже сегодня начнете получать прибыль. Торговля на валютном рынке Forex связана с определёнными рисками, что останавливает многих потенциальных трейдеров. Новички не всегда обладают достаточно глубокими познаниями в этой области, поэтому совершают ошибки. Одна из первостепенных задач — освоить для рынка Форекс самые точные индикаторы.

Инновационный индикатор «Profit Sunrise» гарантированно обеспечит исключительно прибыльную торговлю!

Так же берите наилучшие сигналы от индикатора, когда все линии тренда сходятся в узкую полосу, и сближаются между собой. К примеру, первый сигнал я бы не стал брать, а вот последующие два, я бы работал. В заключение хотим остановить ваше внимание еще на одном представителе индикаторов без перерисовки, несомненно относящийся к категории «Самые прибыльные» — алгоритме Trend Wave. Этот индикатор относится к осцилляторам и показывает ценовые изменения, а также определяет области перепроданности и перекупленности. Все просто – при восходящем тренде полоски индикатора, размещенные под ценовым графиком, становятся синими. Если тренд нисходящий, то линия алгоритма становится красной.

инновационный высокоточный индикатор обеспечивающий всегда прибыльную торговлю…

Обращаем ваше внимание на один нюанс – на 0-м баре сигнал от ZigZag Larsen может иногда пропадать, однако на первой свечке он появится без перерисовки. Следует отметить, что в данном алгоритме реализована специальная система, оповещающая трейдера о появлении сигналов. Рассматривая прибыльные индикаторы без перерисовки, особое внимание следует обратить на алгоритм PZ_SwingTrading.

Бесконтактный индикатор напряжения: принцип действия

Это связано с тем, что не линии и индикаторы различных типов определяют направление цены, а благосостояние и экономические показатели страны, валютой которой мы торгуем. Стандартные индикаторы форекс доказали собственную эффективность многолетним использованием трейдерами, причем именно первые базовые инструменты используются трейдерами уже не одно десятилетие. Первоначальный стоп лосс устанавливаем на минимум, который показал откат, тейк профит не устанавливаем. При достижении прибыли в 20 пунктов переводим позицию в безубыток. При прибыли в 30 пунктов начинаем подтягивать стоп лосс вслед за ценой таким образом, чтобы в случае разворота цены мы сохранили бы 2/3 нашей прибыли.

Stoch Points. Повышенная информативность при торговле на форекс

Которые используют технический анализ в той или иной степени. Некоторые используют простые вычисления, а другие проводят сложнейшие математические вычисления. Работать с данным индикатором лучше на малых ТФ, М1 и М5, ведь при работе с сигналами от индикатора приходиться отслеживать сделки по рынку. На более старших ТФ работать так же можно, но я работаю внутри дня, поэтому я использовал индикатор именно на этих ТФ. Благодаря данному индикатору можно уйти с рынка с оптимальной прибылью, так как подаются сигналы на закрытие позиции. Но применять данный вид сигналов можно лишь тогда, когда торги идут исключительно по тренду.

Лучшие индикаторы форекс без перерисовки

На графике в местах разворота цены, индикатор будет вырисовывать стрелки сопутствующего направления и цвета. Этот индикатор, считается одним из самых лучших для осуществления на Форекс свинг-трейдинга. Этот стрелочный инструмент в своем алгоритме использует данные о ценовых циклах колебаний на протяжении одной недели. Согласитесь, что любому из нас намного сложнее будет принять правильное торговое решение, когда после проведенного тех. Анализа мы вошли в сделку, а технические показатели нашего торгового инструмента изменились. Различия в работе стандартных версий осцилляторов и модифицированного индикатора удобнее наблюдать если добавить на график стандартные Стохастик и RSI.

Где И Когда Использовать Стрелочный Индикатор Форекс?

Добрый день Владимир, не помню уже точно саму работу индикатора, если честно. По поводу перерисовки я не замечал глобальной проблемы, да, нужно работать по рынку, иногда обновлять график, но в целом особо проблемно не было. Если есть возможность, киньте мне на почту пару скринов с описанной вами проблемой, это бы упростило задачу для меня.

10 колонок представляют последние 10 баров каждого периода таймфрейма. Бар цвета указывает на его тип – красная стрелка «медвежий», зеленая стрелка «бычий» и желтая точка нейтральное положение тренда. Правая колонка с галочкой содержит резюме оценки направление тренда.

Используется авторская безукоризненно разработанная система не имеющая аналогов, с аналитической методикой хеджирования рисков. Уникальный авторский индикатор высокой точности, который не боится резких разворотов цены и эффективно противостоит попыткам брокера манипулировать результатами. Ещё одно важное замечание заключается в том, что многие предлагаемые индикаторы в той или иной степени являются модификациями стандартных индикаторов торговых терминалов MetaTrader4.

При этом в данной системе есть и точка входа, и уровень стопа по позиции. Цель устанавливайте в 1.5-2 раза больше стопа по позиции, или по ближайшим уровням, тут есть, где выбирать. Сегодня торговля на валютном рынке уже совсем не та, что была еще 5 лет назад. Но вместе с этим и улучшается качество инструментов, которыми пользуются трейдеры для своей работы, за что отдельное спасибо авторам. Я хочу поделиться одним из лучших таких инструментов, без преувеличения.

Таким образом, получаем, что при росте цены линия индикатора также растет, а при падении – падает. Зеркальность объясняется тем, что в начале расчета берется последний сформированный бар, на основании которого и строится первый участок прогноза. Делаем это тогда, когда показания SLMA на этом таймфрейме совпадают с показаниями на старшем ТФ. Ну а младший временной период нужен для своевременного закрытия торговой позиции. Именно в соответствии с ней и надо открывать торговые сделки.

Используя индикаторы без перерисовки надо помнить о следующем. Они показываютлучший результат на больших временных интервалах, начиная с часового графика. И то, что его показания практически не запаздывают, подтверждает пример на скрине.

А это значит, что индикатор SLMA можно с успехом использовать в своей торговле. Этот индикатор сначала преобразовывает период, указанный в настройках, затем сравнивает динамику цены на разных временных периодах и после этого выдаёт своё видение ситуации на рынке. Основное предназначение индикаторов флета – указывать слабоволатильные горизонтальные рыночные участки. Если Вас интересует самый точный не перерисовывающий индикатор флета для МТ4, то специалисты настоятельно рекомендуют обратить внимание на алгоритм Pulse Flat. В любом случае, все индикаторы перед использованием необходимо проверять на тестовых или центовых счетах, чтобы избежать потерь во время реальной торговли на большие деньги.

Этот прибыльный индикатор станет абсолютно незаменимым помощником для трейдера любого уровня — будь то новичок или опытный профессионал. После оформления заказа Вы моментально получите доступ к высокоточному индикатору «Profit Sunrise». Установка индикатора занимает не более пару минут, поэтому Вы сразу сможете начать зарабатывать свои большие деньги.

Этого достаточно для получения достоверной информации эффективности. Auto Trend Forecaster – красный цвет на данном индикаторе означает нисходящую тенденцию, синий – восходящую. Чем больше тайм фрейм, тем более четко происходит отображение линии направления стоимости. Ведь бывает на рынке всплеск цены, который при этом кардинально не меняет общую динамику.Запаздывание позволит отфильтровать подобные ситуации и исключить ложные торговые решения.

На нем базируется огромное количество других индикаторов, используемых большинством трейдеров. Частично, ответ кроется в том, что они успешно используют индикаторы для торговли на Форекс. Если существуют проверенные работающие индикаторы форекс, значит, рынок Форекс — это не хаотичное явление, как утверждают некоторые экономические теории. Тем не менее, при всей своей точности и простоте Forex Indicator Pro допускает ошибки — ложные сигналы также присутствуют.

Если установлено значение true, фон корзину индикатора будут окрашены в красный (продать пары) и зеленый (купить пар). Это просто дать лучшее впечатление визуальные и делает его легче различается между верхней «продать зоны» и меньше «купить зоны». Вы, конечно, можно задать его значение false, чтобы выключить заливку фона. Пользовательские пар продать и купить пользовательские пар может использоваться, только если AutoDetectPairs имеет значение false! По умолчанию используется альтернативный набор пар, но вы можете поместить в свой собственный пар, конечно.

И это её качество будет отражаться на показаниях индикатора, использующего МА в своих расчётах. Однако наиболее точные индикаторы форекс без перерисовки почти лишены подобных недостатков. Есть не большие различия, по времени ожидания формирования сигнала и по разрыву линии. Такие моменты происходят не очень часто, и некоторые сделки приходится закрывать по рынку с не большим убытком.

Особенности индикатора Profbang

Что касается стандартных алгоритмов, то все они хорошо известны трейдерам, так что рейтинг составить легко. Название этого индикатора можно перевести как «измеритель силы». Этот индикатор — удачное сочетание нескольких стандартных инструментов МТ4. Благодаря оригинальному подходу удалось получить алгоритм, выдающий надежные сигналы.

Как я уже говорил, индикатор состоит из нескольких классических индикаторов, Bollinger Bands и двух Moving Average. Этот индикатор трендовый, соответственно он дает лучшие результаты при работе на трендовых рынках, на спокойном рынке будет давать много ложных сигналов (т.е. нужны фильтры). Для сигналов всего используется три цвета – по умолчанию это желтый, синий и красный.

Именно для того, чтобы не попадать в такие ситуации и используются прибыльные индикаторы без перерисовки для МТ4, скачать которые бесплатно ниже. Именно такие алгоритмы самые прибыльные, надежные и эффективные. Он функционирует на основе усовершенствованного метода построения скользящих средних. Алгоритм строит сразу 2 скользящие средние с заданными в настройках периодами.

Если его показания приходят намного позже, чем показания на ценовом графике, он может принести неприятные сюрпризы. После закрытия очередной свечи, в этом периоде добавляется одна новая свеча и убирается одна старая. На картинках это выглядит вполне прилично, всё указано правильно и сигналы все верны, но при торговле на реальном рынке сталкиваемся с проблемой. Цена постоянно колеблется между гранями, лишь изредка покидая их для того, чтобы снова вернутся в диапазон конверта.

Цена рисует все те же фигуры, это пример графической фигуры «голова и плечи», я их вижу, но если бы я их не видел, то индикатор дал бы мне хороший сигнал в нужное время. Индикатор Mehditrend был выложен одним арабским трейдером в сеть, и т.к. Я скачал его абсолютно бесплатно, то точно так же делюсь им и у себя на сайте. Trend Focus лучше всего использовать на малых таймфреймах (максимум М15).

Было нисходящее движение, время было к обеду, вариант отката хороший, появляется сигнал, и я вхожу в рынок. Импульс вниз был поглощен, и цена вернулась с той же скоростью обратно. Помимо этого, Форекс индикатор Trend Wave способен указывать трейдерам на точки трендового разворота, что позволяет отнести его к классу трендовых алгоритмов. Но его особенность в том, что эта линия при смене трендового направления постоянно меняется в цвете. Также индикатор на графике стрелками отображает наилучшие моменты для рыночного вхождения.

В конце я хочу добавить, торговать не просто, уровни появляются и пробиваются, рынок сложный и всего учесть фактически не реально. Единственное, что зависит от трейдера, это когда войти в рынок, и когда выйти из рынка. Trend Striker Extreme – в параметрах этого инструмента не встречается существенных сложностей. К недостаткам этого индикатора можно отнести визуальное представление, из-за которого можно запутаться с показателями.

Индикатором разворота тренда называется индикатор, отображающий возможное изменение цен активов, а также периоды смены (так называемого разворота) тенденции, которая есть на данный момент. Иногда очень трудно определить, как изменилось направление тренда, так как у индикаторов нет четкого отображения на графике. Это значит, что каждый игрок на рынке может расценивать показания субъективно, то есть по-своему. Именно из-за этого рекомендуется использовать дополнительные инструменты анализа вместе с индикаторами разворота.

То есть стрелки показывают базовое направление сделки, а также окрашиваются по цвету. Если цена изменяется, эта группа индикаторов не занимается перерисовкой сигналов, поэтому трейдер может не беспокоиться за изменение показателей рыночной ситуации и за убыток. Нередко возникают ситуации, когда на форексе стрелочные индикаторы без перерисовки могут изменять сигналы, которые были заданы ранее, при входе на рынок. Новые явления способствуют его настройке под текущую рыночную ситуацию, происходит перерисовка. Если пользователем принимается во внимание неверный сигнал, наблюдается убыточная деятельность.

Анализ фундаментальных данных, а проще говоря, важных экономических и политических новостей является важной частью в построение прибыльных торговых стратегий. Каждая из распознанных им фигур указывает на продолжение или возможную смену направления движения цены. Любая торговая стратегия нуждается в комплексных индикаторах, которые способны решать множество задач одновременно. Поэтому ежедневно появляются различные модификации привычных нам индикаторов, с единственной разницей в простоте восприятия и улучшенной визуализацией.

Это обычный стролочник с уровнями Support Resistance и непонятными фильтрами который работает практически на всех мажорных парах. • если условия выполняются, то отложенный ордер выставляется над ценой High сигнальной свечи (на которой выполнились условия на вход в рынок). В настройках изменить можно только один параметр — амплитуду, то есть количество свечей, которые будет использовать индикатор для расчета. • cur, color — первый параметр позволяет включить отображения отдельных валют, а второй — изменять цвет соответствующих линий. Этот инструмент интересен тем, что позволяет узнать цену нефти в рублях.

Порой из-за высокой волатильности рынка очень сложно понять направление тренда, не говоря уже о каком-то прогнозировании цены. TRIX – это инструмент технического анализа, который самую большую популярность обрел после появления на свет известнейшей торговой стратегии «Кобра». Уровни — построение различных уровней для технического анализа рынка форекс. Перерисовывающийся индикатор — такой индикатор, который меняет свои значения на сформировавшихся барах.

Данную стратегию можно отнести к числу простых, а помимо отсутствия исчезаемых стрелок здесь нет отличий от ручной торговли. Внешний вид T3MA Alarm весьма стандартен и его трудно отличить от индикатора стрелочного типа. Индикатор T3MA Alarm можно считать исключением, так как в нем стратегия базируется на RSI индикаторе (его сигналы будут подтверждаться 2 скользящими средними, а также пересечениями медленной и быстрой). Зачастую помимо отсутствия явления перерисовки других плюсов у них нет, так как обычно о стратегии можно лишь догадываться, ведь алгоритм работы закрыт. Помните, что значение пересчитывается во время каждого изменения котировки. Это значит, что в большинстве технических индикаторов есть явление перерисовки.

Ее способности на С0 не приносят практически ничего нового поэтому при наличии упомянутых героев, от получения Шилонен можно отказаться без сильной потери для аккаунта. Когда бесконтактный индикатор напряжения приближается к проводу с напряжением, возникает электромагнитная индукция. Это происходит благодаря воздействию переменного магнитного поля на проводник. В результате этого в индикаторе появляется сигнал, указывающий на присутствие напряжения. Бесконтактный индикатор напряжения – это инновационный и многофункциональный инструмент, который позволяет проверять наличие напряжения в электрических цепях без контакта с проводами.

Без сомнения Profit Sunrise с новейшей революционной системой анализа рынка по праву считается одним из самых лучших и самых точных современных индикаторов. Высочайшая точность работы индикатора Profit Sunrise полностью подтверждена многомесячной прибыльной реальной торговлей по сигналам индикатора. В среднем на реальной торговле шести валютных пар за последние одиннадцать месяцев более 91% ордеров открытых по сигналам данного индикатора были закрыты с прибылью.

Многие трейдеры используют комбинацию инструментов, а не один выгодный Forex-индикатор. Этот индикатор форекс основан на идее, что после экстремального движения рынок будет иметь высокий шанс на повторную проверку определенных ключевых пропорций. Любой список Топ 10 индикаторов форекс должен включать в себя какой-нибудь индикатор, который показывает зоны волатильности. Без сомнения это лучший и самый инновационный торговой технологии мы когда-либо разработанных, так что вы можете начать зарабатывать прибыль всего за пару минут с этого времени. Этот индикатор можно использовать без ограничений хоть каждый день, и на основе его сигналов открывать большое количество профитных ордеров. Уверяю вас, что «Profit Sunrise» является полностью протестированым и проверенным в реальной торговле высокоточным инструментом с абсолютно потрясающим возможностям для создания прибыльной торговли.

Ниже я приведу еще несколько сринов работы с сигналами от индикатора Mehditrend, просмотрите их внимательно. Самое интересное в самих зонах индикатора, имеющих параметры от -50 до -60 и начиная с 53 до 60. По большому счету при пересечении линий индикатора в данных зонах и необходимо заключать сделки.

Как вы наверняка догадались, красный цвет сигнализирует о наличии медвежьей тенденции, синий же говорит о том, что на рынке в данный момент правят быки. Желтый цвет указывает на ослабление текущего тренда, возможную смену тенденции, начало отката или флетового участка. Как правило, расчёты осуществляются с использованием показаний известных индикаторов и осцилляторов.

Для этих целей и используются самые точные индикаторы флета без запаздывания и без перерисовки. О лучших представителях флетовых индикаторов мы сейчас и хотим Вам рассказать. Стохастик по-прежнему пользуется большой популярностью в трейдерской среде. Конечно, его нельзя отнести к категории индикаторы Форекс 2020 года, но несмотря на это, он используется в большинстве торговых стратегий.

Индикаторы без перерисовки рекомендуется использовать совместно с другими инструментами анализа, что позволит значительно улучшить итоговый результат. Чтобы Вы начали получать такие же выплаты, я подготовил для Вас прибыльный индикатор «Forex Progress». Если бы Вы торговали по сигналам «Forex Progress» в апреле 2020, то взяли бы с рынка как минимум 372 пункта, что означает чистую прибыль 744 долларов (если 1 пункт равен 2 долларам).

Обязательно работайте со стопом, переносите его в безубыток при первой же возможности. Трендовый форекс индикатор Super Trend Profit похож на стандартный индикатор Moving Average. Он представляет собой линию на графике валютной пары, изменяющуюся в зависимости от направления цены. Кроме направления линии, в точках разворота она меняет цвет, тем самым давая сигнал на вход в рынок. Однако наилучшие результаты торговли индикатор PROFBANG показал на часовом графике.

Если обычная скользящая средняя рассчитывает средние значения цены за установленный период, то SLMA делает другие расчёты. Это ситуация, когда индикатор подаёт сигнал на вход в рынок значительно позже того времени, когда на самом деле нужно было бы открыть торговую позицию. А если кривая индикатора будет находиться выше уровня диапазона 0,5, то это говорит о снижении оживленности и переходе рынка во флетовое состояние. Это может быть дополнительный индикатор, свечные комбинации, значимые уровни и т.

Он по-прежнему является одним из лучших индикаторов для торговли на Форекс среди различных методов определения канала волатильности. Канал волатильности — это еще один метод идентификации тренда. Он использует идею, что если цена выходит за пределы скользящей средней, то тренд может поменяться. Как отмечалось ранее, многие торговые индикаторы, которые можно отнести к самым лучшим — довольно сложные. Мы рекомендуем начинать с более простых, чтобы разобраться с принципом их работы. Мы рассмотрим лучшие индикаторы Форекс, которые просты в использовании и будут полезны как новичкам, так и опытным трейдерам.

Его цветные полоски на графике, отображают базовые возможности. Стрелки разной направленности и цвета отмечают на графике моменты разворотных свингов. Пунктирные линии, будут указателем вероятных разворотных свингов. В противоположность тренду существует флэт, это моменты, когда рынок находится в неопределенности, то есть цена перемещается в узком диапазоне. Binary Option Arrows выдает результат, основываясь на показателях японских свечей ценового графика.

Во-первых, backtesting отлично обеспечивает анализ прошлого, но предлагает весьма несовершенную оценку будущего. Когда мы выбираем индикатор, мы выбираем его на основании его прошлой работы. Это говорит о том, что это может быть хорошим руководством в будущем, но будущее никогда не будет полностью отражать предыдущие условия. Полосы Боллинджера (Bollinger Bands) — технический индикатор, изобретенный финансовым аналитиком Джоном Боллинджером более 30 лет назад.

Индикатор «Profit Sunrise» не просто поможет — он гарантированно обеспечит такой результат! Всего за пару минут после начала работы индикатора Вы уже увидите первые высокоточные сигналы для открытия прибыльных сделок. Хотя это всего один индикатор, он является симбиозом нескольких линий тренда на одном графике, что делает его абсолютно самодостаточным и точным инструментом, это один из лучших индикаторов форекс. Периоды линий отличаются, и фильтруют сигналы одни линии других.

Как и в случае с прочими персонажами Натлана, способности героини связаны с механикой Благословения Ночного духа, в котором может находиться до 9 сек. Мастерство Шилонен позволяет ей сделать что угодно, но информация от клиентов по поводу их желаний гораздо важнее для нее, чем сам процесс ковки. Девушка считает, что результат полностью зависит от полученных деталей относительно заказа. По этой причине перед тем, как приступить к изготовлению, Шилонен общается с каждым клиентом и заполняет индивидуальную таблицу, чтобы не упустить ни одной мелочи.

Однако есть индикаторы, степень запаздывания которых минимальна. Поэтому индикаторы форекс без запаздывания всегда были особенно востребованы среди трейдеров, хороший пример тому — индикатор Profbang. Форекс индикаторы без запаздывания и перерисовки могут иметь вид не только стрелочных.Например, в Trend Striker Extreme гистограмма разделена на зоны нисходящего и восходящего тренда.

В нашей современной жизни технологический прогресс не стоит на месте. Он проникает во все сферы нашей деятельности, в том числе и в область бытовых приборов и инструментов. Сегодня хочу рассказать вам о бесконтактном индикаторе напряжения, одном из самых полезных и удобных инструментов для проверки электрического напряжения. В нашей современной электротехнической среде присутствуют множество способов и устройств для обеспечения безопасности и защиты от опасности попадания под напряжение. Одним из таких устройств является бесконтактный индикатор напряжения. В этой статье мы рассмотрим его принцип действия и дадим вам полное представление о том, как он работает.

Тот, кто имеет даже небольшой опыт торговли, знает, что основным недостатком большинства индикаторов является, так называемая, перерисовка. Но прошло некоторое время и индикатор изменил свои показания. Сигнала на открытие торговой позиции, который вы использовали, уже нет.

Пробой уровней поддержки и сопротивления — это одна из самых распространенных стратегий торговли на рынке форекс. Стандартные индикаторы MetaTrader — описание индикаторов уже имеющихся в терминале трейдера. Перенесите индикатор в папку программы, предназначенной для индикаторов, обычно это indicators.

В процессе трейдинга на валютном рынке важно использовать разнообразные методы анализа, например, поможет Форекс индикатор Fl2. Ещё большой популярностью пользуется Wm%R, который также называется %R Вильямса. Скользящие средние — это один из самых популярных индикаторов, позволяющих объединить тренд и импульс. Инструмент MACD упрощает анализ, предоставляя необходимую информацию. Обязательно нужно найти очень точный индикатор Форекс, позволяющий зарабатывать с минимальными рисками.

Применяя индикаторы без перерисовки, можно устранить эти явления, благодаря наличию в них специальных алгоритмов аналитики, поэтому сигналы на вход на рынок получаются неизменяющимися. Такой подход позволяет сделать объективную оценку их эффективности без особого искажения. В качестве основных инструментов используются MACD, экспоненциальная скользящая средняя, а также Стохастик.

Использоваться может на любой валютной паре и на любом временном интервале без исключений. Ozymandias предельно просто, его сигналы легко читаются, но это не сказывается на прибыльности, при грамотном использовании с его помощью можно зарабатывать. Под силой понимается не волатильность или величина предполагаемого движения, а лишь положение одной валюты относительно другой. Можно попробовать вариант средне- и даже долгосрочной работы ведя дополнительный фильтр в виде расположения всех линий выше уровня 50. Тем не менее способности Шилонен по своему результату весьма схожи с навыками Кадзухи в сете Изумрудной тени или эффектом от Чжун Ли с артефактами Архаичного камня.

Такими инструментами могут быть фигуры продолжения и разворота тренда. Это даст возможность проверить, насколько правильным был прогноз. Высокая точность работы индикатора подтверждена реальной прибыльной торговлей по сигналам этого индикатора! «Profit Sunrise» практически всегда гарантирует положительный результат по своим сигналам. При этом индикатор очень простой и удобный в использовании, сигналы будут дублироваться различными способами (визуальный, звуковой, письмом и др.). Получив этот реально работающий точный индикатор «Profit Sunrise» – Вы фактически обеспечите для себя безубыточную всегда прибыльную торговлю.

Итак, есть проблема у части пользователей с корректной работой индикатора, проблема действительно имеет место быть. Я уже написал, что попробую решить данный вопрос, если получиться. Это ПО функционирует на базе применения алгоритмов таких индикаторов как MACD, RSI, Moving Average и прочих. Данный индикатор, лучше всего зарекомендовал себя на временных интервалах от М5 до М15, при этом использовать его можно на любом торговом инструменте.

Кроме самого вывода новостей на график так же выводится время работы основных биржевых площадок и некоторая другая полезная информация. Благодаря чему получилось довольно эффективное сочетание технических инструментов, показывающие прекрасные результаты при практическом применении. При доработке были исправлены некоторые недостатки стандартного индикатора и применен новый подход в визуальном отображении полученной информации.

100% Надёжный и проверенный на практике прибыльный индикатор, который обеспечивает больше 90% прибыльных сделок. Ваша прибыль полностью гарантирована благодаря точным опережающим сигналам индикатора «Forex Progress». Вы будете ежедневно получать качественные сигналы с точностью входов больше 90%, индикатор эффективно работает даже при попытках брокера манипулировать. Они позволяют прогнозировать движение цены, открывать прибыльные позиции и закрывать сделки вовремя.

Этот инструмент является симбиозом обычного алгоритма Стохастик и скользящих средних. Он присутствует в каждой платформе Метатрейдер и не нуждается в предустановке. Все что нужно для работы с ним – найти его среди других инструментов. Установка этих ордеров имеет огромную важность, так как она позволяет не только сохранить депозит от полного слива, но и зафиксировать полученную прибыль.

При переключении на героиню необходимо ввести ее в состояние Ночного духа, после чего набрать максимальное значение очков (90 ед.) с помощью базовых атак. Это активирует Исходные сэмплы и снизит резисты врагов к элементам. Ульту можно использовать как по откату для урона, так и по мере необходимости, в зависимости от того, нужен ли хил.

Шилонен в Genshin Impact — кузнец из Нанацкайана, известная тем, что никогда не возьмется за дело до того, как узнает все подробности о предстоящей работе. Девушка очень ответственно относится к процессу изготовления различных предметов в кузнице, поэтому ее известность давно распространилась по всему Натлану. Тем не менее Шилонен иногда не хватает организованности, и вместо кузницы ее частенько можно найти спящей где-то среди деревьев. В бою Шилонен может совмещать как роль дебаффера за счет элементального скилла, так и баффера благодаря взрыву стихий, открытию созвездий и в зависимости от выбранного сета артефактов. Определение наличия напряжения в проводе основано на принципе электромагнитной индукции.

Работать с этим инструментом лучше при использовании трендовых алгоритмов, так как сам по себе, он не определяет направление. На русский язык его название переводится как индекс направленного движения. Конечно, это не индикатор Форекс 2020 года, но его актуальность от этого не теряется.

Следовательно, Ишимоку более самодостаточен, чем большинство показателей. МА – основной и наиболее часто используемый индикатор, без него не обходится технический анализ Форекс рынка. Приложенный к графику, МА показывает главную тенденцию рынка.

Пока пользуйтесь этим шаблоном, а я надеюсь вопрос с индикатором Mehditrend будет все же решен. При любом входе в рынок есть 50% вероятность того, что цена пойдет в вашу сторону, добавьте еще несколько процентов уверенности и ведите грамотно сделку, это проще, чем пытаться разгадать рынок. Теперь я покажу скрин всех сделок по торговле с помощью индикатора Mehditrend, вы сможете сами убедится в его результативности. Скажу честно, я ожидал меньшего сегодня, но, тем не менее, за сегодня я закрыл по сигналам индикатора более 100п. При этом я не торговал с самого утра, я стал работать по сигналам уже к обеду. Вот пример AUDJPY, до обеда было 5 сигналов, вторая покупка дала убыток, но все остальные сделки принесли бы плюс по сделкам.

Его автор не один год работал в отрасли, связанной с производством оборудования для работы с аэрокосмическими сигналами. В его обязанности входила разработка алгоритмов сглаживания сигналов и устранения помех, позже свои наработки он применил и при создании своего осциллятора. Если установлено значение true, монитор виртуальной торговли будет проверить, если ваш брокер поддерживает исходный набор пар валюты или альтернативный и выбирает подходит.

  • В случае, если его показания могут изменяться в ходе торговли, нужно более тщательно проверять его показания.
  • Индикатор проанализирует ситуацию на рынке и высчитает все наиболее оптимальные точки для открытия ордеров.
  • Вы можете начать такую же прибыльную торговлю уже сегодня — Вы получите полную гарантию прибыльности сигналов индикатора «Forex Progress».
  • На периоде D1 мы смотрим цвет закрытого бара (предыдущий день).
  • Практика показывает, что прибыльно работать можно и со стандартными индикаторами МТ4, но если их возможностей не хватает, то всегда можно установить нужный индикатор самостоятельно.
  • Шилонен в Genshin Impact — кузнец из Нанацкайана, известная тем, что никогда не возьмется за дело до того, как узнает все подробности о предстоящей работе.
  • Главной проблемой гиперактивных трейдеров и начинающих спекулянтов, является отсутствие терпения, требующего пережидания опасных боковых рыночных движений и подготовки к работе по направлению тренда.

Один индикатор может быть лучше для долгосрочной торговли, а другой может быть лучше для краткосрочной. Следствием этой теории является то, что по мере изменения условий мы можем найти другой индикатор, который работает лучше. Поэтому мы изо всех сил пытаемся найти окончательный ответ на вопрос о наиболее выгодном индикаторе Форекс. Если в прошлом индикатор показал себя очень хорошо, есть хорошие шансы, что участники рынка это заметят. В результате, больше людей начнет использовать именно эту стратегию.

После того, как индикатор обработал данные согласно заложенного в нём алгоритма, он подаёт сигнал о возможности входа в рынок. Если, допустим, цена пробивает максимум за установленный период, то самое время покупать. Кстати, для того, чтобы найти оптимальные точки входа в рынок, рекомендуется в ходе анализа показаний SLMA рассматривать три временных периода. Trend Striker Extrem является одним из наиболее востребованных среди нестандартных индикаторов. Но не меньшей популярностью пользуется индикатор WPRSI Signal. В расчетах применяются осцилляторы теханализа и индикаторы стандартного типа.

Если рынок растет (на это указывает цвет центральной линии и ее наклон), и цена находится над верхней границей, то считается, что рынок не перекуплен и можно пробовать открывать длинные позиции. • еще один варианта работы — на пересечении основной линии индикатора и уровня 50. При пересечении уровня 50 снизу-вверх велика вероятность возникновения восходящей тенденции. Еще одна на редкость удачная комбинация 2 стандартных индикаторов МТ4. Его авторы — Стэнли Кролл и Тушард Чанда указывают на то, что стандартные осцилляторы при всех своих достоинствах обладают и рядом недостатков. В частности, индикатор индекса относительной силы большую часть времени находится между уровнями, ограничивающими зоны перепроданности и перекупленности не пересекая их.

Причем работа индикатора не сводится к простому выводу полученных данных, все параметры предварительно обрабатываются и предоставляются пользователю в наиболее удобном варианте. Индикатор обладает широким функционалом, что позволяет получить самую полную оценку ситуации на рынке. После того как вы скачали и установили данный продукт в metatrader 4 (MT4), следует произвести установку на график одной из валютных пар. При желании можно оставить большинство настроек по умолчанию, как я это и сделал. Индикатор написан при участии профессиональных трейдеров, что делает его не только максимально функциональным, но и удобным в работе. Причем используя линии можно установить параметры стоп ордера как на покупку так и на продажу, в зависимости от того в какую сторону будет открыта сделка.

Отряды, в которых Шилонен становится активным персонажем на несколько секунд, чтобы использовать сэмплы для понижения сопротивления, и уходит обратно в карман, уступая место мейн-дд. Героиня хорошо подойдет основным дамагерам как с долгой, так и с короткой стойкой, так как ей достаточно использовать Е-шку, ульту и 2 обычных удара, но при необходимости она может и задержаться на поле. Шилонен является персонажем поддержки, которому необязательно наносить много личного урона, чтобы приносить пользу группе.

Такое незначительное преимущество позволяет избежать многих проблем в дальнейшем. Естественно, что наибольшей популярностью пользуются именно те индикаторы, которые допускают наименьшую погрешность. Именно о таких индикаторах мы и расскажем в сегодняшнем материале. Инструмент проводит на графике несколько уровней, два из которых являются ориентирами при открытии ордеров, а третья служит в качестве опорной линии.

Этот же параметр влияет на длину участка, который самый лучший индикатор форекс Xprofuter берет для зеркального отображения. Принцип работы дополнительной сигнальной линии остался неясным. Найдя данную закономерность, появляется еще больше вопросов о том, как работает самый лучший индикатор форекс Xprofuter. Существует теория, неоднократно подтвержденная, что после разворота цена движется зеркально относительно уровня этого разворота. Таким образом, можно предположить, что индикатор стремится определить момент смены текущего тренда. Однако такой прогноз нельзя назвать точным, ведь не обязательно, что именно в момент применения Xprofuter цена пойдет в противоположном направлении.

Качество сигналов на самом высшем уровне для всего 1 инструмента. Конечно, нужен определенный опыт торговли для наилучшего результата, но, даже имея минимальный опыт в торговле, можно смело учиться торговать с данным индикатором. Я редко такими словами отмечаю индикаторы, но это действительно один из лучших индикаторов форекс. Конечно, вы можете постараться определить тренд путем графического анализа, однако на валютных парах, которым характерно сильное движение в разные стороны это будет сделать очень проблематично. Очевидно, что технический анализ, который так активно применяет большинство трейдеров, не способен дать полную картину происходящего на рынке. Однако если ранее инструмент предназначался для анализа глобальных тенденций, то по истечению времени и ряда доработок данный инструмент начал успешно применяться в скальперских торговых тактиках.

В случае с индикаторами без запаздывания, учитывая их особенности, на рынке форекс торговцы нередко имеют претензии к функционированию скользящих средних, что вызвано запаздыванием. Надежные индикаторы без запаздывания могут изменять показатели цен на определенный период времени. В ходе работы используются логические функции, поэтому никаких опозданий не обнаруживается.

Индикаторы тренда – показывают в какую сторону происходит движение тренда и насколько сильным оно является, как долго будет, сохранятся подобная тенденция. MosCatalogue.net — это сервис, который предоставляет вам возможность быстро, бесплатно и без регистрации скачать видео с YouTube в хорошем качестве. Вы можете скачать видео в форматах MP4 и 3GP, кроме того можно скачать видео любого типа. На нашем форуме форумчанином 2nb придумана оригинальная стратегия, использующая один только этот индикатор. Работа ведется на периоде М5 пары EURUSD во время Лондонской сессии. Кстати, если Вы не нашли нужного индикатора или нужны поправки в уже имеющемся то можете обратиться к нашему программисту mql4.

Это варьирующиеся входы, которые регулируют сигналы, выводимые индикатором. Мы можем попробовать, чтобы найти оптимальные параметры для данного индикатора. В настоящее время трейдеры могут измерять различные рыночные показатели; и программировать свои собственные индикаторы. Поиск наиболее прибыльного индикатора Форекс привел к созданию многочисленных способов оценки поведения рынка.

Чтобы трейдер мог успешно вести деятельность, достаточно сопоставления точек индикатора в различные временные периоды. SuperTrend-nrpЦвет линии изменился с зелёного на жёлтый при смене направления движения цены, что является сигналом для возможного открытия позиции. Поэтому наилучший результат можно получить, если применять эти индикаторы в сочетании с другими инструментами анализа.

Бесконтактный индикатор напряжения содержит катушку, в которую подается переменное напряжение. Проходящий через катушку электрический ток создает магнитное поле, которое воспринимает любая проводящая электричество среда, находящаяся рядом с индикатором. Бесконтактный индикатор напряжения – это устройство, которое используется для определения присутствия напряжения в электрической цепи без необходимости непосредственного контакта с проводами.

Интересной особенностью Ишимоку является то, что он также помогает определить соотношение сил на рынке за счет такого инструмента, как облако. Преимущество данного инструмента заключается еще и в том, что он может использоваться с другими индикаторами для получения более точных сигналов. MACD показывает не только ситуации, когда можно открывать сделки уже по текущему направлению движения, но и отражает перспективы разворота рынка посредством дивергенций. Данный алгоритм входит в достаточно большое количество современных торговых систем. Этот инструмент также не относится к категории новые индикаторы Форекс.

Однако во время состояния Благословения Ночного духа девушка вынуждена выполнять несколько базовых атак, дамаг которых, как и урон от взрыва стихии, зависит от показателя защиты героини. Ульта Шилонен может не только атаковать, но также и лечить команду, поэтому желательно ее прожимать по откату. Шилонен — Гео персонаж поддержки, который может выступать как полноценным баффером, так и в качестве драйвера, находящегося на поле боя и вносящего личный урон вместе с раздачей усилений.

Самый прибыльный индикатор, который показывает точнейшие сигналы на вход, как на форекс, так и бинарных опционах! Работает на любом таймфрейме и всегда высокая точность сигналов, также индикатор даёт 100% сигнал на разворот рынка или на коррекцию. Вы запускаете индикатор и он сразу начинает выдавать точные сигналы, открываете сделку по его сигналу и моментально начинаете получать доход. Ничего дополнительно настраивать или высчитывать не нужно — мы уже просчитали и ввели самые оптимальные настройки! Вы получаете полностью проверенный и настроенный индикатор — практически безотказная денежная машина!

Все индикаторы, о которых мы будем говорить, можно использовать в платформе MetaTrader 4 и MetaTrader 5. Хорошая новость в том, что сейчас доступна масса разнообразных индикаторов и со временем Вы сможете найти те, которые подходят именно Вам. Ваш успех обеспечен надежным проверенным индикатором который работает на основе точного профессионального алгоритма.

Поэтому этот индикатор можно смело отнести к разряду трендовых инструментов. Довольно популярная модель индикатора работающего на основе анализа свечных моделей, которые образовываются японскими свечами. Практически его работа напоминает полуавтоматический советник, при появлении на графике подходящей точки, он подает звуковой сигнал или оповещает трейдера по электронной почте. А уже окончательное решение принимается трейдером самостоятельно.

Сразу отметим, что для рынка Форекс характерно то, что если по какой-либо валютной паре формируется флет, то такая ситуация не обязательно складывается по другим торговым инструментам. Знак красного цвета говорит о понижении цены на торговый актив. Зеленая или синяя стрелка, указывающая вверх, дает знак трейдеру открыть опцион Call.

Однако бар закрывается, поэтому он переносится в историю индикатора. Поэтому при новом расчете старая стрелка может быть отменена. Очень важно понимать, что пробой диапазонных границ может случиться в любое время, а спрогнозировать верное направление будущей тенденции достаточно сложно. При появлении даже самого слабого бокового рыночного движения, индикатор в отдельном окне МТ4 (формирующийся под основным графиком) будет вырисовывать красные столбцы.

В рейтинге представлены действительно интересные и полезные индикаторы. Возможно, вы не слышали их названий или не пробовали их в работе, но все инструменты, которые будут описаны ниже, можно применять в торговле. Такие как цвет и вид индикаторных линий, позволяет выводить только будущие события, имеет фильтры по важности новостей, а так же вкл/выкл звукового сигнала о предстоящей новости. Он предназначен для решения тех же задач, но в качестве основных инструментов применяет три скользящие средние, которые для удобства пользователей размещаются в собственном окне. Ордера на покупку открываем в момент пересечения более короткой скользящей средней снизу вверх более длинной.

Принцип его действия легко понять, поэтому многие берут на вооружение. Его главная возможность заключается в том, что он способен показать момент, когда тренд полностью меняет своё направление. Однако все сталкиваются с одной распространённой проблемой — количество всевозможной информации сегодня просто огромно, поэтому сложно сориентироваться во всём этом многообразии. Далеко не каждый индикатор стоит брать на вооружение, и при этом вовсе необязательно платить за это деньги, чтобы добиться нужного результата. Главная цель — найти точные и надёжные сигналы, что позволяет увеличить собственную прибыль. Попытки определить, какие именно закономерности авторы программного кода использовали, остались безрезультатными.

Индикатор выдает сигналы по пересечению линий, как на рисунке выше. Следующий индикатор без перерисовки ZigZag Larsen относится к классу стрелочных алгоритмов и является модификацией популярного у трейдеров Форекс инструмента «Зигзаг Ларсена». В данном модифицированном варианте индикатора устранено запаздывание и перерисовка. • верхние и нижние линии рассматривать нужно как границы зон перепроданности и перекупленности.

Таким образом, вы можете видеть, что Ichimoku походит на несколько индикаторов, объединенных в одном — и у него есть своя собственная система фильтрации. Если вы считаете, что это тот индикатор, который вам подходит, попробуйте провести свои собственные испытания, чтобы определить его эффективность. Промежуточный диапазон или линия chikou действуют как фильтр.

Вы можете комбинировать индикаторы, чтобы использовать одну группу для определения точек для входа, а другую как фильтр. Фильтр определит, подходят ли общие условия для открытия позиции. Этот индикатор чаще всего используют приверженцы фундаментального анализа, но это не значит, что и технические трейдеры не могут его с пользой использовать. Это один из самых известных классических индикаторов Forex, который используется большинством аналитиков и трейдеров на финансовых рынках для анализа энергии (силы) тренда.

Один из самых простых индикаторов, который осваивают в первую очередь для эффективной торговли. Он уже давно доказал свою эффективность, поэтому часто появляется в обзорах экспертов и в разнообразных рейтингах. Центральная из них показывает основное направление и даёт представление о тренде. Две другие определяют диапазон, в котором осуществляются колебания . Позитивный тренд полностью подтверждается в том случае, если две средние демонстрируют положительные движения.

К сожалению, индикатор представлен в закрытом коде, поэтому говорить о том, на каком принципе он построен довольно затруднительно. В точках изменения цвета индикатор также дает звуковой сигнал и на графике появляется надпись SELL или BUY. Кроме того, в настройках индикатора возможно выставление желательных уровней стоп-лосс и тейк-профит в пунктах. Стоп ставится под минимум сигнальной свечи, а фиксированный тейк-профит можно и не использовать, ведь неизвестно сколько цена пройдет в нужном направлении. Закрывать сделку можно либо после того, как линия изменит цвет, либо после смены цвета центральной линии.

Естественно, самая лучшая возможность для открытия позиция появляется тогда. Когда все вышеуказанные алгоритмы дают соответствующий сигнал. Перед вами один из наиболее полезных индикаторов трейдера для торговли на форекс, благодаря ему появляется вывести на экран массу показателей, без которых просто трудно представить прибыльную торговлю. Ежедневный заработок на Форекс или Бинарных Опционах гарантируется благодаря индикатору «Profit Sunrise». Воспользовавшись этим инновационным инструментом Вы всегда будете открывать ордера с профитом..

Хорошо себя зарекомендовал данный стрелочный алгоритм на графиках Ренко, так как способен устранять ценовые шумы, провоцирующие массу ложных сигналов. Начнем с очень простого и эффективного не перерисовывающегося индикатора Kwan NRP, выдающего понятные торговые сигналы. Данный алгоритм для МТ4, является модификацией очень популярного и хорошо известного индикатора Kwan. Прибыльные индикаторы без перерисовки, сегодня привлекают многих трейдеров.

Итак, как видите, индикатор очень похож на всем знакомый SuperTrend, но в данном индикаторе используется несколько линий тренда с различными периодами. Совпадение направления от всех линий и является сигналом на вход. Сигналы фильтруются, то данный индикатор можно назвать фактически полноценной системой.

Благодаря такому инновационному индикатору Вы сможете начать торговать также как опытные трейдеры. Использует собственную формулу для расчета точек входа со сложным шумовым фильтром для выработки более точных сигналов. Многоуровневая система фильтрации позволяет отсеивать все сомнительные сигналы, оставляя только 100% прибыльные сигналы которые гарантированно обеспечат профитную сделку.

В общем, так или иначе хотят сделать деньги на доверчивых людях. Покупать уж точно не советую — еще никто не разбогател используя торговый робот (наверное, только его создатели). Попадался как-то в серфинге подобный сайт (а может тот же самый), где рекламировался этот индикатор — Profbang.

По своему внешнему, OSMA не похож ни на скользящие средние ни на Стохастик. Такие инструменты являются опережающими и помогают трейдеру видеть разворот еще в момент, когда цена продолжает обновлять свои минимумы или максимумы. Данный инструмент строится на основе анализа трех скользящих средних и предназначен для анализа глобальных трендов и отсеивания слабых колебаний.

Уровни, которые проектируются таким способом, по крайней мере, временно действуют как линии сопротивления или поддержки и используются участниками рынка, как Take Profit. Если один уровень прорван, то, скорее всего, будет достигнут и следующий. Анализ рынка — различные полезные инструметы, которые позволяют произвести анализ рынка. Если же применять индикаторы с запаздыванием, в теории и на практике могут существовать различия, приводящие пользователя в заблуждение. В связи с этими факторами некоторые сделки становятся минусовыми, что оказывает значительное влияние на общий результат торговли.

Оба этих индикатора есть на сайте, так же я добавлю шаблон с текущими настройками. Данная версия индикатора SuperTrend2 не перерисовывает показания, принцип работы с данными индикаторами тот же. Единственное отличие в том, что здесь в работе не один, а два индикатора.

Форекс календарь отображает текущие, прошлые и предстоящие события. Календарь обновляется практически сразу после того, как вышла новость и на рынке определяется новый тренд. Когда Тенкан-сен пересекает Кинджун-сен, это указывает на то, что краткосрочные цены ниже долгосрочного тренда. Когда Тенкан-сен пересекает Кинджун-сен, он предлагает восходящий тренд. Трудно найти универсальное решение, учитывая, что разные люди могут торговать в разные сроки.

Особенности индикатора Profbang

Трейдер выберет индикатор, наиболее подходящий для его цели или стиля торговли. Верный признак перегруженной системы — она будет сильно отставать, когда вы начнете торговать на реальных рынках. Это связано с тем, что результаты специально настраиваются для соответствия тестовым данным. Как видно на рисунке выше показан пример коррекции (Retracement) валютной пары EURUSD. После начала коррекции, мы видим ее остановку вблизи отметки 0,382 по отношению к предыдущей восходящей волне, от которого впоследствии и продолжилось восходящее движение.

Тем не менее, пожалуй, сегодня нет ни одного трейдера, который бы хотя бы раз не использовал его в своей работе. Преимущество алгоритма заключается в том, что он дает несколько типов сигналов, также, как и любой другой осциллятор. На мой взгляд, работа с ним будет более эффективна на старших периодах, от четырехчасовых графиков и выше, хотя авторы утверждают, что он будет хорошо работать на любых периодах. На периодах менее четырех часов индикатор дает много ложных сигналов, хотя, возможно, их можно уменьшить грамотным подбором параметров под конкретный период и дополнительной фильтрацией сделок.

Вам необходимо применить дополнительные фильтры в виде дополнительных индикаторов, чтобы уменьшить количество ложных сигналов. Цвет линии изменился с зелёного на жёлтый при смене направления движения цены, что является сигналом для возможного открытия позиции. Потому что нужно обязательно получат комплексное представление о рынке. На сегодняшний день оптимальный во многом вариант — это точные индикаторы Форекс без перерисовки.

Вам следует открывать торговлю в направлении основной тенденции по итогам первой колонки. Начиная с младшей колонки от 0 до 9 изменение значения сигнализирует о смене тренда. Бесконтактный индикатор напряжения — это эффективное и безопасное устройство, которое позволяет оператору определять наличие напряжения в проводниках без контакта.

Его принцип действия, основанный на электромагнитной индукции, позволяет пользователям безопасно работать с электричеством, избегая непредвиденных ситуаций. Бесконтактные индикаторы напряжения нашли широкое применение в различных областях, от электромонтажных работ до проверки безопасности в быту. Их простота использования и высокая точность делают их незаменимыми инструментами для широкого круга пользователей. Если ситуация развивается обратно той, что описана выше, то это говорит о тенденции понижения.

Важное отличие заключается в том, что Wm%R имеет обратную шкалу. Многие трейдеры выбирают такой вариант, если ищут точные и даже опережающие индикаторы Форекс. Он способен предупреждать о развороте тенденции и даёт ряд других преимуществ, если активно использовать его в своей работе на валютном рынке Forex. Потому что он во многом по своим особенностям похож на знаменитый Стохастик. Присмотревшись к линии построенного прогноза на 14 баров, можно заметить, что чаще всего она является зеркальным отражением того движения, которое наблюдалось до текущего момента. Наглядно это продемонстрировано на представленном примере четырех различных прогнозов.

Этот индикатор позволяет очень быстро получить высокие результаты торговли, так как он крайне редко ошибается и практически все сделки приносят профит. Индикатор работает на различных торговых платформах, в том числе MT4 и MT5, что позволяет значительно увеличить ареал его использования. «Profit Sunrise» значительно упрощает и облегчает Вашу работу, так как все сложные вычисления проводит вместо трейдера и результат ввыдает в визуально приятном виде.

Рисует самый большой период, на сколько я помню, более быстрые линии без изменения. Но это все же просто один индикатор, поэтому лучше добавить глобальный тренд, или любой другой трендовый индикатор под фильтр основного направления. Вы установите индикатор на график, и пусть индикатор формирует сигналы в течении дня, отметьте маркером сигналы и после обновите индикатор или переключите по ТФ. Количество изменений по сигналам будет хорош о видны, и по качеству работы индикатора будет понятнее. Несмотря на свою кажущуюся простоту, индикатор iVAR можно отнести к разряду самые точные индикаторы флета. Чтобы избежать этого, необходимо проверять, работает ли индикатор без задержек и опозданий.

На основе этого, трейдер принимает решение о покупке или продаже валюты. В наличии у меня не было формата MQL4 данного индикатора, автор не выкладывал код индикатора. Найти его я так и не смог, а ветка, на которой данный индикатор обсуждался закрыта самим автором. Так что без исходного кода нет возможности что-то сделать с индикатором сейчас.

Сегодня, мы с вами рассмотрим прибыльные индикаторы без перерисовки, использовать которые можно практически в любой торговой системе, подходящие в том числе и для скальпинга. Сегодня у нас на обзоре долгожданный универсальный индикатор BiforexPro. Как заявляет автор индикатор BiforexPro показывает отличные результаты, как на бинарных опционах так и на форекс с потрясающим Winrate от 75% и выше ,ну к реальной доходности вернёмся позже. По утверждению автора, трендовый форекс индикатор Super Trend Profit дает сигналы без перерисовки, а их точность составляет 85-90%.

Этот осциллятор дает опережающие сигналы о развороте текущей тенденции в рамках бокового тренда (работает только в период флета). По отношению к скользящей средней, Parabolic Sar можно отнести к категории новые индикаторы Форекс. Они очень схожи, но рассматриваемый нами инструмент работает с ускорением.

Теоретически Stochastic + RSI должны быть лишены этих недостатков. Использовать паттерны Price Action мы рекомендуем всем трейдерам независимо от того, по какой торговой стратегии они работают. Если есть сложности с определением моделей на графике, на помощь придется индикатора (а точнее информационная панель), на которой будут отображаться 3 типовых паттерна РА в автоматическом режиме. Вам лишь нужно оценить, стоит ли брать этот паттерн в работу. Хорошо подходит для ручной внутридневной торговли и скальпинга по сигналам наименьших таймфреймов.

Оплачиваем и получаем проверенный авторский индикатор «Forex Progress». К сожалению это может быть связанно с обновлением МТ4 до более поздней версии, и как факт, не корректная работа более раннего индикатора. Жаль, я попробую решить вопрос с программистами, возможно кто-то поможет решить проблему. Существенно ничего не изменилось, да и линии разрываются редко, но, тем не менее, факт есть, я о нем говорю. Индикатор иногда изменяет расположение трендовых линий после образования разрыва на ней.

Чтобы избежать таких ситуаций, можно использовать стрелочные индикаторы Форекс без перерисовки. Они не добавляют никаких дополнительных графиков, работают на уже существующем ценовом графике рынка. Стохастик помогает определить перекупленость или перепроданность по любому рыночному инструменту, а также дает сигналы о дивергенциях на рынке. Данный алгоритм – это как раз тот случай, когда из нескольких скользящих средних получаются новые индикаторы Форекс. Все MA в нем сдвинуты на определенный период по отношению друг к другу, что позволило создать так называемый конверт, в котором две кривые очерчивают грани, а третья находится посередине между ними.

Разница состоит в том, что влияние первых нескольких периодов намного больше, чем остальных. Другими словами, передвигаясь назад во времени, вес конкретной цены для конечного результата уменьшается в процентном соотношении быстрее, чем для WMA, то есть уменьшается экспоненциально. • линейно-взвешенная скользящая средняя (Linear Weighted MA – WMA). Самое интересное, что такое поведение повторяется, и это означает то, что некоторые ценовые модели будут возникать снова и снова. Лучшие индикаторы Форекс пытаются распознать такие паттерны и получить преимущество, используя эти знания. Обязательно используйте многофункциональное торговое программное обеспечение.

Этот инновационный инструмент нашел широкое применение в различных сферах, связанных с электричеством, и стал незаменимым помощником для электриков, инженеров и обычных пользователей. Бесконтактный индикатор напряжения — это переносное устройство, с помощью которого можно определить наличие напряжения в электрической цепи без непосредственного контакта с проводами. Он основан на эксплуатации электромагнитного поля, создаваемого электрическим током в проводах. Выбор графика с тайм фреймом 1М, на который будет установлен индикатор, он должен проработать порядка 20 минут.

Taotra также может быть использован в торговле бинарными опционами. Для определения точек входа мы ищем моменты, когда цена оторвалась от фиолетовых линий и начала удаляться. Если линии оказались ниже свечи, это сигнал на повышение, соответственно, если они выше, покупаем контракт на понижение.

Когда мы идентифицируем прибыльную систему посредством тестирования, она не может оставаться прибыльной навсегда. Это связано с тем, что чем больше трейдеров следует за одной системой, тем меньше вероятность того, что система будет работать в будущем. Другими словами, если для SMA цены всех периодов равнозначны, то при WMA разные периоды отличаются разной степенью веса при вычислении среднего значения. Для WMA наибольшее влияние имеет цена последнего периода (новейшие данные), когда как вес последующих (более старых) данных пропорционально уменьшается. Лучший индикатор на Форекс — тот, который соответствует Вашему стилю торговли и психологии.

Прибыльность такой торговли при риске в 4% может достигать 400 процентов в месяц. Скорее всего, именно по этой причине многие брокеры запретили использование данного алгоритма. Сегодня вы сможете узнать про совершенно новые инструменты, которые работают по новым принципам, учитывая правила мани-менеджмента и риск-контроль. Торговый индикатор При прибыли в 30 пунктов начинаем подтягивать стоп лосс вслед за ценой таким образом, чтобы в случае разворота цены мы сохранили бы 2/3 нашей прибыли. Кроме того, бесконтактный индикатор напряжения обладает особенностью «зондирования». Это означает, что он способен определить, на какой именно провод в цепи подано напряжение.

Все они одинаково прибыльные, если знать особенности грамотного использования и распределения биржевых инструментов. Первая категория индикаторов является наиболее востребованной среди участников рынка, поскольку применяются преимущественно при колебаниях цен в большую или меньшую сторону. Ведь этот период является наиболее интересным для участников рынка. Данный индикатор располагается на большей части окна, поэтому использовать его совместно с прочими инструментами достаточно трудно.

Начиная от определения точки входа и заканчивая функцией фильтра, которая позволяла бы отсеивать ложные сигналы, исходящие от сигнальных инструментов. Такой подход позволяет дополнительно оценить состояние рынка и принять решение стоит ли открывать сделку или лучше подождать следующего сигнала. На периоде D1 мы смотрим цвет закрытого бара (предыдущий день). Если предыдущий дневной бар индикатора красный, рассматриваем только продажи, если синий – только покупки. Иными словами, входим в сделку после того, как цена откатила, а затем пошла в нужном направлении (желтые столбики гистограммы начали уменьшаться в размере).

Новые индикаторы – последние разработки в сфере технического анализа. Скользящая средняя в той или иной форме, в качестве сигнала входа или выхода, фильтра, динамического уровня Stop Loss и др., может найти применение в любой торговой стратегии. Простая скользящая средняя (SMA) вычисляется как среднеарифметическое значение данной цены за определенный период времени. Реально работающий с высоким уровнем точности индикатор «Profit Sunrise» позволяет создавать очень прибыльную торговлю как на Форекс так и на Бинарных Опционах. А дальше будете получать только чистую прибыль снова и снова..

Торговля на рынке Форекс — не самое простое занятие, но несмотря на это, многие трейдеры способны планомерно получать прибыль. С этим высокоточным индикатором Sunrise Profit абсолютно любой (и даже начинающий) трейдер достаточно просто сможет получить очень впечатляющий результат. Практически все сделки будут прибыльными, а значит новый заработок будет поступать на Ваш счет гарантированно по завершению каждой сделки! Вы всегда заранее будете точно знать что когда Вам нужно будет закрывать ордер он обязательно принесет прибыль на Ваш счет. Эффективность работы индикатора «Forex Progress» бьет рекорды!

Есть небольшой процент ложных сигналов, поэтому нужно тщательно все проверять. Для большей эффективности необходимо комбинировать несколько из них. Для современного трейдера доступен широкий спектр инструментов, сделанный самими трейдерами. Среди них разные осцилляторы, индикаторы, алгоритмы и скрипты. Как и индикатор Силы тренда, ADX, указывает на то, насколько актуальна текущая тенденция. У этого инструмента есть несколько значений, возле которых постоянно колеблются его кривые.

• учитывать нужно и пробой канала, когда линия выходит за его пределы, это значит, что сила валюты возросла настолько, что может сформироваться тренд. • по расстоянию между полосами ВВ можно судить о волатильности. • countbars — задается количество свечей, на которых индикатор будет вести расчет.

История создания этого индикатора — попытка найти баланс между запаздыванием в получении сигнала и его надежностью. Всем ведь знакома ситуация, когда с целью повышения надежности трейдер увеличивает период, например, скользящей средней, но в итоге получает большую задержку в получении этого сигнала. Сделки рекомендуется закрывать при ослаблении тренда или в момент появления обратного сигнала. InterceptorFX – данный индикатор отмечает на графике области зеленого цвета – для покупок и красного цвета – для продаж.

Моментально получите доступ к инновационному реально прибыльному Индикатору «Profit Sunrise» и начните зарабатывать уже через несколько минут. Высокая точность и эффективность сигналов индикатора полностью подтверждена на реальной торговле — более 91% прибыльных ордеров по сигналам Profit Sunrise. Многие торговые системы строятся на показаниях индикаторов, например, Profbang. И поэтому результат торговли будет зависеть от степени точности их сигналов.

С сигналами всё просто – синяя стрелочка направлена вверх и предсказывает дальнейший рост цены, красная стрелочка, направленная вниз, подсказывает о дальнейшем падении цены. Дело в том, что по своему принципу работы эти индикаторы работают с определенным периодом времени, к примеру, с 10 свечами. Предлагаем вниманию читателей лучшие индикаторы Форекс, работа с которыми может существенно улучшить торговые показатели. Реально работающий по-настоящему точный индикатор «Profit Sunrise» обеспечивает возможность торговать с очень высоким уровнем прибыльности.

Этот точный индикатор признан как известными отечественными трейдерами, так и зарубежными гуру трейдерства. Устанавливаете индикатор, и он моментально начинает работать и анализировать рынок, высчитывая только самые лучшие точки для открытия только прибыльных сделок. Создан при содействии лучших аналитиков и опытных трейдеров Форекс и Бинарных Опционов. В торговле, этот индикатор использовать очень легко – сигналом на вход в рынок является изменение цвета индикаторной линии. Благодаря отсутствию запаздываний у этого алгоритма, заслуженно можно отнести к категории самых эффективных и прибыльных инструментов, подходящих для использования в любой стратегии торговли.

Как правило, положительная динамика на индикаторе кумулятивной дельты означает доминирование покупателей. График ниже (данные с Московской биржи, фьючерсы доллар-рубль) показывает эту корреляцию. Для наглядной демонстрации настройки индикатора кумулятивной дельты — смотрите соответствующее видео на нашем Youtube-канале. Стратегия кроссовера, упомянутая выше, основывается на дневных пересечениях скользящих средних. Цели применения индикаторов без запаздывания сводятся к тому, что посредством данного инструмента можно быстро и четко получать информацию о текущих ценах в реальном режиме времени.

Отправной точкой может быть индикатор с хорошей скоростью подачи правильных сигналов. Он может использоваться как компонент при построении торговой системы. Многие торговые стратегии используют комбинацию индикаторов, фильтров и методов управления капиталом для создания правил для точек входа и выхода. Как правило для построения индикатора MACD используются экспоненциальные скользящие средние (EMA) с периодами 26 и 12, а в качестве сигнальной линии используется скользящая средняя с периодом 9. Индикатор MACD строится как разница между двумя скользящими средними, которая выражена в виде вертикальных штрихов. В качестве определителя сигналов для входа на рынок используется скользящая средняя самой линии MACD (так называемая «сигнальная линия»).

Торговые правила очень просты, так как индикатор является стрелочным. Устанавливаем индикатор в терминал по обычной схеме, а затем ищем его во вкладке «Пользовательские» и переносим на график. Ничего дополнительно настраивать не нужно — я высылаю Вам индикатор уже настроенный и готовый к работе.

В сети помимо стандартного индикатора Laguerre есть еще и небольшая его модификация, в которой настроек намного больше и дополнительно указываются точки пересечения линии индикатора с уровнями. Их можно долго перечислять, мы не упомянули индекс товарного канала (ССI), ЗигЗаг, индикатор объемов и множество других достойных алгоритмов. Это произошло не из-за того, что они плохие или утратили актуальность, просто с ними знакомо большинство трейдеров, мы же договорились больше внимания уделить пользовательским индикаторам. Несмотря на громоздкое описание способностей, геймплей Шилонен достаточно прост.

Это может быть одним из наиболее важных особенностей виртуальной торговли монитора, как он показывает, как пары движутся после скачка! Если задано значение true монитор виртуальной торговли будут показаны ниже суммы продать/купить пары дополнительную информацию о последних перехода. Особенно после скачка произошло прошло время (например если вы не сидеть в передней части вашего компьютера все время). В сочетании с параметром ShowJumps это хороший инструмент для контроля за передвижением прыжков пар. Если присвоено значение true, вы будете будет информироваться о каждый прыжок через окно предупреждения (с звук).

И если линии начинают взаимно расходиться, то это говорит о наличии тренда, если переплетаются или находятся параллельно, это указывает на рыночный флет. Открыв сделку на покупку, индикатор с небольшим опозданием обновляет информацию, согласно новой свечи, и старый сигнал становится неактуальным. Несмотря на все преимущества данных индикаторов, есть и недостатки. Данные индикаторы, как и любые другие, имеют вероятность ошибаться. Есть множество стрелочных индикаторов для платформы МТ4 без перерисовки, самые популярные из них мы сейчас и рассмотрим. Они отличаются тем, что если стрелка появилась, она оттуда уже никуда не денется.

«Forex Progress» — это уникальный авторский индикатор, который позволяет стабильно и безопасно зарабатывать сотни пунктов каждый месяц. Вы легко можете зарабатывать 20%-60% от депозита ежемесячно, просто торгуя по сигналам индикатора «Forex Progress»! Индикатор разработан для Forex и Бинарных Опционов и гарантированно выдает больше 90% точных входов, использовать можно у любого брокера с платформой MetaTrader. В индикатор заложен точный прибыльный алгоритм от профессиональных трейдеров, благодаря чему обеспечивается максимально высокая точность сигналов. Подходит как новичкам так и опытным трейдерам — это надежный проверенный индикатор, который превратит Вас в успешного трейдера со стабильным ежемесячным доходом! Торгуя с этим проверенным индикатором не возможно слить депозит — Вы раз и навсегда перестанете терять деньги и начнете торговать максимально прибыльно.

Помощник, подтверждающий тренды, является одним из самых точных и достаточно распространённых. Если говорить простым языком, то он сообщает о том, что какая-то валюта поднимается или опускается. Для анализа в данном случае используется показатель схождения и расхождения скользящих. Видите, что нижняя зеленая линия была разорвана и индикатор нарисовал красную линию выше цены. Если на графике индикатор разорвал линию, просто переключите временной период с М1 на любой другой и переключите обратно на М1.

Теперь перезапустите терминал и установите инструмент на график выбранной пары валют. Если на рынке имеет место нисходящий тренд, то в этой ситуации осуществляется покупка, в это же время индикатор сигнализируется о том, что возможен разворот. Если на графике цены видно восходящее движение, то можно открывать ордер. Если рассматривать данный алгоритм в разрезе не перерисовывающихся индикаторов для скальпинга, то его можно отнести к той категории, которая выделяется высоким качеством сигналов и их чистотой. Итак, основная задача алгоритма – следить за рыночной динамикой и указывать на флэт и тренд.

Мы решили составить отдельно 2 рейтинга — один небольшой по стандартным индикаторам, а второй — по пользовательским, более расширенный. Также его можно использовать как обычный индикатор показывающий выход новостей.

Индикатор сразу после запуска начнет генерировать очень точные сигналы, работая по которым Вы сразу выйдете в профит. После записи «//Calculate the signal» отображается расчет показаний индикатора внутри цикла. Именно на этой формуле и основано построение прогноза данного инструмента.

Используются те же параметры, что и в индикаторе Stochastic+RSI. Этот индикатор можно использовать и как основу в торговой стратегии, и как дополнительный фильтр. • красная — сигнальная линия, использовалась более тяжелая скользящая средняя. • идентификация состояния рынка — если линия индикатора находится под уровнем 0,5, то предпочтение отдаем продажам, если над, то покупкам.

Way market – дословно переводится как «Путь рынка», что говорит о его прямом назначении, этот инструмент призван облегчить составление прогнозов по движению тренда. Постоянные ложные пробои, нервы и сомнения о текущем тренде можно с легкостью устранить с помощью индикатора Heiken Ashi. Однако впервые о данном индикаторе мир узнал в 1980 году, когда математик и аналитик Джек К. Хатсон впервые предложил его использовать для анализа финансовых рынков.

Если работать только по сигналам Озимандиса, то прибыль получается небольшой, из-за запаздывания сигнала трейдер входит вдогонку, по не самой выгодной цене. Так что лучше использовать его как один из элементов торговой стратегии. Далее мы обсудим, почему это такой сложный вопрос и почему мы, возможно, захотим рассмотреть и «пригодность»,и рентабельность таких индикаторов. Мы рассмотрим на Ichimoku Kinko Hyo Indicator, сильный претендент на звание самого универсального индикатора. Экспоненциальная скользящая средняя — Exponential Moving Average (EMA) – как и в случае WMA, для этой скользящей средней наибольшее значение имеют последние по времени данные. Бесконтактный индикатор напряжения – это современное устройство, позволяющее точно и надежно определить наличие напряжения в электрической цепи.

Необходимо отметить, что настройка параметра «bool IsShowBars» в индикаторе дает возможность выбирать его вид. Так, если в настройке установить «true», то на графике будут вырисовываться красные и черные столбцы. Без перерисовки и запаздывания данный индикатор успешно работает внутри дня, то есть на таймфреймах от M1 до H1 (на старших временных интервалах может запаздывать). Индикаторы флета сегодня являются достаточно востребованными инструментами, поскольку больший период времени рынок прибывает именно в состоянии покоя.

Это облегчает технический анализ, так как трейдер не тратит время на изучение показателей RSI. Примечательно, что работает торговый индикатор он на всех таймфреймах и торговых активах. Суть работы с этим лучшим индикатором Форекс 2020 понять не сложно. Каждая из них предполагает свои особенности применения, однако следование общим правилам гарантирует для трейдеров много перспективных возможностей. В каждом графике есть нюансы, которые важно принимать во внимание.

Самые популярные – трендовые, позволяющие определять направление изменения цены (вверх или вниз), а также осцилляторы, отображающие равномерное движение без резких колебаний, называемое флэтом. Долгосрочных трейдеров интересуют настроения участников рынка. Эта функция позволяет позиционным трейдерам понять ожидания других трейдеров. На своей панели вы сможете увидеть какой процент трейдеров готовится к росту стоимости, а какой, наоборот, — к ее снижению. Индикаторы рынка Форекс позволят вам проверить свое решение, без разницы собираетесь вы пойти с толпой или против нее. Вы должны начинать торговать только в том случае, если настроение согласуется с направлением сделки, которое предлагается с помощью сигнала кроссовера.

В таком случае, при открытии сделки пользователю больше не придется волноваться, что тренд резко поменяет направление своего движения. Важно, чтобы сигналы всегда подавались вовремя, причем не наблюдалось задержек. В его возможности входит как анализ текущей ситуации, так и торговый индикатор Profbang подача сигнала о результатах работы советника. Трейдеру нужно только задать размер лота, и следуя направлению, которое указывает индикатор, совершить сделку.

До этого ложного пробоя был так же сигнал на покупку, и он был выбит по стопу, да. Время к обеду еще не шло, и изменения направления я еще не ожидал, но это и не важно. Даже если бы я и взял тот первый сигнал, то покрыл бы его этим ордером с прибылью. А вот как развивалась ситуация дальше, это действительно был ложный пробой.

Работая на реальных счетах этот инновационный индикатор крайне редко ошибается (порой достигая уровня 95% прибыльных ордеров) поэтому практически все сигналы обеспечивают прибыльные ордера. Вы получаете качественный индикатор для Форекс и Бинарных Опционов, работающий на всех валютных парах с точностью сигналов более 90%. В комплекте с индикатором также имеется инструкция с описанием работы индикатора, а также советы и рекомендации разработчика и дополнительный бонус! «Forex Progress» это надежный безубыточный индикатор, его результаты в режиме реального времени подтверждаются успешной торговлей на наших счетах и счетах наших партнеров.

Он обладает рядом преимуществ перед традиционными методами проверки и нашел широкое применение как в профессиональной сфере, так и в быту. Безопасность, удобство и надежность делают бесконтактный индикатор напряжения незаменимым инструментом для всех, кто работает с электротехникой. Благодаря этому принципу действия бесконтактного индикатора напряжения, он позволяет оператору безопасно определить наличие напряжения в проводнике без необходимости касаться его или подключаться. Это очень удобно и эффективно, особенно при работе с электрическим оборудованием. При отсутствии данных какого-либо, необходимого для вычислений периода, индикатор выдаёт соответствующее сообщение.

Инновационный индикатор «Profit Sunrise» создан с единственной целью — генерирование точных сигналов для открытия прибыльных ордеров. Это незаменимый помощник для любого трейдера, который хочет прибыльно торговать. Индикатор проанализирует ситуацию на рынке и высчитает все наиболее оптимальные точки для открытия ордеров. Благодаря универсальному алгоритму индикатор успешно работает как на Форекс так и на Бинарных Опционах. Для создания успешной торговли даже не требуется использовать другие инструменты — достаточно только следовать указаниям нашего индикатора.

Для того, чтобы в этом убедиться, первоначально надо протестировать их работу на демо счёте. Индикатор с хорошей статистикой демо-торговли можно включать в свою торговую систему. Вы получите проверенный прибыльный индикатор благодаря которому у Вас появится постоянный надежный источник дохода. Никаких архисложных систем, партнерок или продаж — Вы просто открываете ордера по сигналам индикатора и получаете прибыль. Вы будете работать с надежным прибыльным инструментом — это авторский прибыльный индикатор с которым не возможно слить депозит. Ведь бюджет России верстается в рублях, так что регулируя курс национальной валюты можно регулировать и поступления в бюджет.

Запустите торговую платформу, теперь можно устанавливать индикатор на график валютной пары. Одно из самых регулярных и частых событий — это релиз экономического индикатора NFP. Этот американский индикатор отображает сколько новых рабочих мест появилось в экономике вне отрасли сельского хозяйства. Этот индикатор пересчитывается раз в месяц, поэтому напоминание трейдеру о релизе этой новости от этого торгового индикатора Форекс станет весьма кстати.

Это предполагает общее настроение рынка и эффективно сравнивает текущие и прошлые цены. Если chikou держится выше свечей цены на графике, это предполагает общее бычье настроение. Если он находится ниже, это предполагает общее медвежье настроение. Использование нескольких индикаторов на одном графике позволяет вам увидеть, находится ли рынок в равновесии или вне его.

Индикатор MACD достаточно прост, но благодаря этому он считается довольно надёжным. Подобная ситуация довольно распространённая, поэтому трейдеры уже давно используют такие факторы для точного анализа. Надёжный личный бизнес построить на торговле валютой можно, но только в том случае, если есть твёрдая основа в виде знаний, навыков и точных инструментов для анализа. В противном случае это будет похоже на азартные игры или на лотерею. Это известный уже SuperTrend2 и еще один трендовый индикатор на основе МА.

Поэтому трейдеры предпочитают использовать в своей торговле лучшие индикаторы форекс без перерисовки. Такие индикаторы Форекс, как три Экрана Элдера позволяют получать сигналы сразу от нескольких инструментов, анализировать их и принимать торговые решения. В новой версии этого алгоритма используются специальные алерты, которые предупреждают о возможности открытия сделок. Первый, агрессивный вариант сигнала возникает, когда гистограмма индикатора меняет цвет с красного на синий и наоборот, то есть когда меняется направление тренда. В данном случае при смене бычьего настроения на медвежье (кружок на скриншоте под номером 1).

К слову сказать, существуют сомнения в отношении того, а нужны ли индикаторы форекс без запаздывания? На запаздывание индикатора в значительной степени влияет один из его параметров, а именно — период. Чем он больше, тем большее количество данных необходимо обработать индикатору. Практика показывает, что прибыльно работать можно и со стандартными индикаторами МТ4, но если их возможностей не хватает, то всегда можно установить нужный индикатор самостоятельно.

Судя по его описанию и высокой прибыльности можно за пару месяцев миллионером стать. Технический индикатор Форекс — это математически рассчитанное преобразование цены и объема финансового инструмента в совокупности или раздельно, которое способно прогнозировать дальнейшие изменения цен. Шилонен в Геншин Импакт — удобный персонаж поддержки, который способен играть как на роли саппорта, так и на позиции драйвера с сильными второстепенными дамагерами. Ее способности позволяют ей снижать сопротивление врагов к тем элементам, которыми обладают союзники Шилонен, а также она способна лечить активного героя. Кроме того, при наличии созвездий героиня получает возможность раздавать дополнительные усиления, зависящие от элементов членов отряда.

При этом, в торговом процессе в учет берутся только пересечения, находящиеся за границами определенных настройками уровней. Это конечно уменьшает количество выдаваемых сигналов, но качество их повышается в разы. Индикатор также показывает отличные результаты и в торговле на Форексе. Индикатор никогда НЕ ПЕРЕРИСОВЫВАЕТ И НЕ ЗАПАЗДЫВАЕТ Мультитаймовый и Мультивалютный. Обычно авторы подобных индикаторов берут исходник «идею» чужого индюка, меняют цвет, размер стрелки… могут добавить или убрать какие — то настройки и вуаля АВТОРСКИЙ индикатор готов.

Вы можете начать такую же прибыльную торговлю уже сегодня — Вы получите полную гарантию прибыльности сигналов индикатора «Forex Progress». Прибыльный индикатор «Forex Progress» – новейшая разработка известного трейдера! Лучшие индикаторы форекс без перерисовки — это индикаторы, точность сигналов которых позволяет получать стабильную прибыль.

Если задано значение false, он будет использовать альтернативные пары (IBFX), но их можно перезаписать «Custom продать пары» и «Custom купить пары». В настоящее время используются какие пары показано в скобках в строке ниже «Виртуальной торговли монитор» (около в верхнем правом углу диаграммы) 2. Если присвоено значение true, ссылки будут показаны визуально линии и стрелки.

Просто следуйте его сигналам и открывайте только исключительно прибыльные ордера! Сколько бы разработчики не утверждали, что Xprofuter – это самый лучший индикатор форекс, но эффективность он показывает только в условиях разворота цены. При этом обязательно дополнительно подтвердить поступающие сигналы более надежными инструментами теханализа.

На графике этот инструмент строится в виде точек выше и ниже цены. Когда эти точки оказываются ниже ценовой кривой, появляется сигнал на покупку. Этот алгоритм без всякого сомнения относится к категории лучшие индикаторы Форекс. Он лежит в основе многих других популярных инструментов, которые применяют трейдеры, причем достаточно успешно. Скользящие средние – это трендовый алгоритм, указывающий направление текущего рыночного движения. Нужно с осторожностью пользоваться сигналами таких индикаторов во время крайне высокой волатильности рынка.

После того, как вы скачаете архив с программой, увидите инструкцию с подробными настройками. Если же инструкции в архиве нет, но вы сможете ее найти в статье на сайте. Достаточно лишь скопировать его, а также дополнений к нему в папку трейдера.

Основная функция данного программного продукта это определения балансового объема торговли. Что позволяет использовать данный показатель для прогнозирования продолжительности тренда и возможности предстоящего разворота. Такая оценка связана напрямую с его универсальностью, установив на график валютной пары один только Way market, вы сразу получаете вывод данных от пяти самых популярных индикаторов форекс. Данный индикатор можно назвать одним из лучших инструментов для проведения технического анализа на бирже forex. Перед вами довольно сложный инструмент технического анализа рынка forex, данный продукт имеет множество настроек и требует некоторых знаний по основам трейдинга.

К примеру, данный индикатор показывает стрелку вниз, то есть сигнал покупки уже после закрытия очередной свечи. Например, его можно использовать в совокупности с индикатором, добавляющим на график скользящую среднюю, чтобы более точно понимать, в каком состоянии находится рынок. После пересчета стрелка на графике может переместиться в другое место согласно новым показаниям. Их алгоритм работы не требует перерисовки своих же показателей.

Неплохой стрелочный индикатор для бинарных опционов без перерисовки. Подает много сигналов, что требует наличия дополнительных индикаторов для их проверки. В этом материале мы рассмотрим такую разновидность индикаторов, как стрелочные индикаторы без перерисовки и запаздывания. Не странно, что построенная линия поддержки или сопротивления очень часто ими не оказываются, а цена проходит мимо их вроде не замечая.

При достижении одной из граней или ее ложного пробития, можно открывать сделки. Для подтверждения сигналов желательно использовать другие технические инструменты, такой подход уменьшит вероятность возникновения ошибок. По сути это целый комплекс средств технического анализа, которые строят уровни и фигуры, определяют ванные показатели на валютном графике.

Помимо этого, Trend Master указывает стрелками места, где можно входить в позиции. Все, что требуется от пользователя, это попросту анализировать стрелки и отсеивать ложные из них. Сложнее с пользовательскими индикаторами, среди них встречаются действительно стоящие инструменты, но вот найти их не так просто. Мы сделали эту работу за вас, любой из 7 рассмотренных индикаторов может стать основой прибыльной торговой стратегии.

Для этого индикатор осуществляет зондирование путем измерения различий в электромагнитной индукции, возникающей от разных проводов. Таким образом, пользователь может точно определить, где именно находится напряжение, и принять необходимые меры предосторожности. Но бэктестинг может помочь нам оценить, что, скорее всего, произойдет, исходя из прошлого поведения рынка. Например, MetaTrader Supreme Edition предлагает функцию тестирования стратегии для этой цели.

Довольно простой в использовании, но при этом достаточно эффективный индикатор ForexProfitBoost стоит попробовать использовать в своей системе. Таким образом, мы рассмотрели популярные торговые системы Форекс, дающие хороший сигнал без перерисовки. С другой стороны дополнив этот самый лучший индикатор форекс осцилляторами и скользящими средними, можно с большой вероятностью спрогнозировать разворот. Разработанный и протестированный мной торговый Форекс индикатор PROFBANG определяет возникновение и направление рыночного тренда и посылает точные сигналы для совершения успешных сделок.

Почти все индикаторы меняют своё значение только на 0 баре(тот который ещё не закрылся), но перерисовывающиеся могу это сделать и на других барах. — тем что когда Вы смотрите на историю сигналов индиктаора — Вы видите идеальную картинку, где все входы просто отличны. Но в реальности так не будет, Вы увидите сигнал тогда когда уже поздно входит, т.е. Индикатор поставит стрелку сразу на 4-10 баров в истории, но когда эти бары формировались перерисовывающийся индикатор даже не помышлял сигнализировать. Вы можете прямо сейчас бесплатно скачать надежный индикатор, подходящий под Ваши задачи.

C результатами такой тактики вы можете ознакомиться в теме индикатора на форуме. И хотя правил для выхода из позиций у авторов индикатора я не нашел, все же предлагаю также два различных варианта для выхода. Для консервативных трейдеров подойдет выход при появлении желтых столбиков гистограммы (пункт 3 на скриншоте). При более агрессивной торговли можно выходить при смене красного цвета индикатора на синий (пункт 4). Агрессивные трейдеры также могут использовать небольшие откаты для доливки к существующим позициям (пункты 3 на скриншоте).

Вместе с индикатором Вы получите соответствующую инструкцию с описанием установки и указанием моих рекомендаций для получения максимальной прибыли. С помощью такого уникального индикатора можно постоянно очень точно анализировать тенденции на рынке. Без сомнения в Вашей торговой стратегии это будет ГЛАВНЫЙ индикатор, всегда безошибочно дающий очень точные сигналы для открытия ордеров. Более того — для прибыльной торговли Вам даже не придется дополнительно пользоваться другими инструментами, достаточно только следовать сигналам «Profit Sunrise». При этом окончательное решение об открытии сделок всегда будет оставаться за Вами. С этим высокоточным индикатором торговать удобно а зарабатывать приятно.

Благодаря данному индикатору многие трейдеры стабильно зарабатывают. Так что будьте спокойны, с данным индикатором вы гарантировано начнете зарабатывать. С индикатором «Forex Progress» Вы будете получать большую прибыль каждый день — надежная торговля без риска и с хорошей прибылью. Ленту Боллинджера также часто называют индикаторов колебаний.

Forex X Code выступает в качестве хорошего показателя, указывающего направление рыночной тенденции. Среди стандартных индикаторов топ составить сравнительно легко, их знают практически все трейдеры, а вот среди пользовательских отобрать достойных сложно. Их слишком много и далеко не по всем есть статистика использования и отзывы трейдеров. В технической аналитике представленные инструменты новы и несколько нестандартны. Прежде всего, это стрелочные индикаторы форекс без перерисовки.

Достаточно несложно определить флет рынка Форекс можно при помощи индикатора iVAR.Этот алгоритм на графике выглядит, как кривая линия, размещенная в отдельном экранном окне МТ4. Стрелочные индикаторы являются хорошим вариантом для начинающих трейдеров. Они помогут найти лучший момент входа в рынок и выхода из него. Однако нужно обращать внимание, на то, перерисовывает ли индикатор график. Он также не относится к индикаторам Форекс 2020 года, но все же актуален и по сей день. Этот алгоритм одновременно может указывать на текущий тренд и предсказывать его разворот.

Ищите, смотрите, скачивайте видео — все это бесплатно и на большой скорости. Результаты поиска можно сортировать, что упрощает поиск нужного видео. Как регулируемый брокер, мы предоставляем доступ к наиболее популярным торговым платформам в мире. Более прибыльная система с большой максимальной просадкой на практике может быть пригодна только для уверенного и опытного трейдера, который лучше переносит значительную потерю торгового капитала. Просадка — это термин, используемый в финансах для измерения снижения инвестиций. Мы можем определить его как период проигрыша, с которым столкнется торговая система, с учетом как продолжительности, так и величины потерь.

Также имеется вероятность запаздывания с закрытием позиций, поэтому придется, возможно, использовать осцилляторы дополнительно для выхода из сделки. Ценовой график представлен отрезками из кривых линий разных цветов. Важную роль играет сигнал Signal Period, устанавливаемый по принципу скользящей средней. Благодаря специальным технологиям аналитика и открытие сделок происходит проще, поэтому количество успешных процессов увеличивается.

То есть, нельзя назвать универсальный один индикатор, который бы подходил всем трейдерам одновременно. Необходимо помнить о том, что у каждого индикатора есть свои особенности. Результат во многом зависит от аналитических способностей самого трейдера — насколько хорошо он умеет сопоставлять информацию, полученную из различных источников. На сегодня я рассылку не подключал, слишком много не реальных пользователей регистрируется. Отправьте мне на почту запрос на уведомления, я буду сохранять новых реальных пользователей и при появлении новой информации буду вас информировать. А пока я добавлю аналог данного индикатора, пока вопрос с индикатором будет открыт.

По поводу отображения цветов в терминале даже не знаю, что и подсказать. Скажите какой у вас брокер, я скачаю терминал посмотрю у себя работу индикатора. Индикатор не новый, может не корректно работает после обновлений терминала. Главной особенностью данного алгоритма является выдача множества сигналов. Отметим, что в индикатор внедрен текстовый со звуковым алерты, а также имеется возможность получения сообщений о сигналах на e-mail адрес.

Для это необходимо отслеживать календарь новостей и сообщения новостных агентств о событиях в мире. В таком случае индикатор разворота тренда без перерисовки и запаздывания выполнит только информационную функцию, которая служит для контроля состояния таймфрейма. Следующий индикатор без перерисовки для МТ4 – RSX MA – arrows, является эффективным и прибыльным стрелочником, обладающим качественными сигналами, а также возможностью настройки параметров. Построен данный алгоритм на основе пересечения МА (скользящей средней) с RSI. Связываться с брокером и жаловаться на показания индикатора с требованиями отменить сделку?

Для достижения таких высоких результатов был разработан эксклюзивный авторский алгоритм, краеугольным камнем которого являются проверенные надежные разработки от успешных трейдеров. Если внедрять его в торговлю, то можно составлять точные стратегии для торговли на Форекс, позволяющие снизить риски. Трейдеры проводят высокоэффективные операции с минимальными рисками. Он позволяет с высокой точностью определять дальнейшее движение цены. Его относят к группе опережающих индикаторов, и его основная задача заключается в отслеживании моментов перепроданности и перекупленности. Он помогает определить точки, когда тренд меняет своё направление.

Использование знаний и навыков на практике, существенно увеличивает прогресс в освоении торговли на финансовых рынках. Нет никаких дополнительных платежей, для прибыльной торговли не требуется покупать дополнительные инструменты и материалы. Никаких ежемесячных или других дополнительных платежей, в дальнейшем Вы всегда будете получать очень точные сигналы абсолютно бесплатно. Для создания стабильно прибыльной торговли Вам потребуется только следовать сигналам высокоточного инновационного индикатора «Profit Sunrise». Этот точный индикатор не имеет ограничений по времени работы, Вы легко сможете долгие месяцы и даже годы стабильно и безостановочно зарабатывать большие деньги вместе с этим инновационным индикатором.

Все, кто хоть немного знаком с валютным рынком, уже хотят бесплатно заполучить самые прибыльные алгоритмы без перерисовки для МТ4. Но при этом далеко не всем ясно, что же это за индикаторы и какие из них можно получить бесплатно. Работает инструмент довольно просто, в его основе лежит продвинутый анализ скользящей средней, он самостоятельно обрабатывает всю полученную информацию и подает сигнал. Этот индикатор поможет вам точно найти место, где установить ордера тейк-профит и стоп-лосс при открытии позиции. В торговле на Форекс, трейдеры применяют большое количество различных индикаторов, которые позволяют получать точные входы в рынок. Все эти инструменты имеют различные подходы к определению сигналов, но многие из них схожи по своему строению.

Проводить торговые операции при таком рыночном состоянии очень опасно по той простой причине, что цена может не перерасти через размер спреда, и Ваша позиция долгое время будет висеть в минусах. Флетом рынка Форекс называют его такое состояние, при котором наблюдается так называемое «затишье», то есть цена движется по боковой траектории в очень узком коридоре. В случае, если его показания могут изменяться в ходе торговли, нужно более тщательно проверять его показания.

Широко используются канальные индикаторы форекса без перерисовки, оказывающие трейдерам реальную помощь в сложных ситуациях и предоставляющие достоверные сведения. У них в работе нет никаких сбоев, поэтому риски трейдера сводятся к нулю. Начинающие трейдеры зачастую, пользуются стрелочными индикаторами, так как они дают возможность не терять большое количество времени на рыночный анализ и показывают все наглядно. Не перерисовывающий и не запаздывающий индикатор флета — iVAR.

Множество точных индикаторов для MT4, предназначенных для торговли на форексе, часто полезны и для торговли бинарными опционами. Одним из таких индикаторов является Forex Indicator Pro, который изначально был предназначен для скальпирования внутри дня на низких таймфреймах (M5 и M15) и для торговли на D1. Но помимо хороших результатов на рынке форекс, он хорош в торговле бинарными опционами.

Лучшие индикаторы дают трейдеру возможность выбрать правильный момент для открытия или закрытия позиции. Как и в большинстве других видов деятельности, вы будете изучать торговлю с помощью индикаторов в процессе практики. Прямо сейчас вы можете найти все торговые индикаторы, которые мы обсуждали, и многое другое в MetaTrader 4 Supreme Edition и попробовать стратегии без риска с помощью демо счета. Кроме того, Вы можете узнать больше о торговых системах из наших вебинаров.

Одно из самых важных изменений коснулось способа вывода информации о скользящих средних, теперь они отображаются в отдельном окне торгового терминала и не мешают наблюдению за поведением цены. При необходимости вы так же можете скачать инструмент и самостоятельно установить его на вашу торговую платформу. Инструмент имеет сложную структуру, которая основывается на нескольких алгоритмах входящих в его состав, в основе работы лежит расчет скользящих средних и определение индекса RSI. Стоит заметить, что при нынешних возможностях программистов информативность любого технического индикатора на порядок выше.

Тем не менее, сложность работы с уровнями состоит в том, что наверняка невозможно утверждать ложный ли это пробой или цена продолжит дальше свое сильное целенаправленное движение. Именно в момент реального пробоя сильного ценового уровня движение цены набирает максимальных оборотов, проходит огромное количество пунктов за очень короткий промежуток времени. Двигаться вместе с рынком не такая уж и простая задача, поскольку тренды бывают разные, причем каждый, работая на своем интервале, видит картину рынка абсолютно индивидуально. Построение канала — инструменты для автоматического построения канала тренда. Индикаторы разворота – подают сигналы о приближении разворота цены в обратном направлении.

Работая на Бинарных Опционах и FOREX этот уникальный индикатор всегда с высокой точностью прогнозирует дальнейшее движение рынка, обеспечивая трейдеру возможность для прибыльной торговли. Многоступенчатая система фильтрации позволяет отсеивать все сомнительные сигналы, оставляя one hundred pc прибыльные сигналы которые гарантированно обеспечат профитную сделку. Если простая скользящая средняя (SMA), как и в первом моём примере, указала на разворот тренда с опозданием, то индикатор SLMA сделал это своевременно. Как видим, цена уже изменила направление движения с восходящего на нисходящее, а индикатор SMA по-прежнему указывал на движение вверх и только потом начал разворачиваться.

Но могут быть и ложные сигналы, поэтому лучше дождаться, когда индикатор покажет вам необходимый кружок. Как видите индикатору присущи все осцилляторные кривые с областями ниже либо выше которых, предполагаем разворот тенденции. Дополнительный плюс данному индикатору дает наличие сигналов (кружков) на рыночное вхождение. Появляются эти кружки, когда соблюдены все прописанные в алгоритме индикатора условия.

Они подразделяются на несколько видов, в зависимости от степени риска, и у каждого из них есть конкретное значение. Например, нередки в применении Форекс индикаторы без перерисовки и запаздывания. У многих торговцев на рынке Форекс возникают потери из-за высоких рисков или неправильно выбранных брокеров. Эти трудности связаны с невозможностью рационального выбора идентификации тенденции. Сегодня новичками и профи широко используются индикаторы, способные проводить технический анализ процессов на рынке с минимальным риском.

Форекс индикаторы без запаздывания и перерисовки рекомендуется использовать в торговле. Индикатор SLMA на старшем временном периоде покажет нам основную тенденцию на рынке. Либо трейдер, открывший сделку, в этом случае теряет часть прибыли, так как значительный период движения цены прошёл без него. Главной проблемой гиперактивных трейдеров и начинающих спекулянтов, является отсутствие терпения, требующего пережидания опасных боковых рыночных движений и подготовки к работе по направлению тренда.

Любой из выше описанных это лучший стрелочный индикатор форекс без перерисовки. Кроме того, что данный индикатор показывает начало и окончание рыночного флета, он еще при помощи гистограммных столбиков указывает на направление тренда. Данный индикатор использует свои алгоритмы для анализа предыдущих периодов и предсказания дальнейшего поведения рынка. В его основе – скользящая средняя, что позволяет более точно оценивать ситуацию. Лучшие индикаторы Форекс для Вас — это не самые популярные индикаторы Форекс, а те, которые работают именно для Вашей стратегии.

Принцип его действия основан на индукции и электромагнитном взаимодействии с током. Благодаря своей простоте использования и универсальности, бесконтактный индикатор напряжения является незаменимым инструментом для безопасной работы с электрическим оборудованием. Помните, что ваша безопасность — самый важный аспект в работе с электричеством, и использование такого инструмента поможет вам избежать потенциальных опасностей. Стрелочные индикаторы Форекс, являясь индикаторами без перерисовки представляют собой особую категорию технических инструментов, оснащенных своими весомыми преимуществами. Они могут оригинально подавать торговые сигналы, работают просто на принципе указания стрелок вверх или вниз.

Прибыльность индикатора на самом деле составляет чуть больше 50%. Такие ситуации как на скринах ниже происходят не часто, а очень часто! Сразу видны основные отличия — когда стандартный RSI только начинает понижаться и формирует очередной минимум где-то между уровнями 20 и 80 на Stochastic+RSI линия уже находится на нулевом уровне. • можно на самом индикаторе максимально уменьшить масштаб, отчертить зоны перепроданности/перекупленности и торговать на выходе линии индикатора из них. Идея состоит в следующем – когда цена в рублях слишком сильно растет и доходит до экстремальных значений, то падение рубля может приостановиться. Когда же за нефть в рублях удается выручить все меньше и меньше, то ЦБ может слегка опустить рубль, чтобы выровнять поступления в госбюджет в рублях.

Закрывать ордера рекомендуется в момент, когда инструмент выдаст сигнал, обратный тому, который применялся для открытия позиции. На пятом месте расположился индикатор «ATR-3LWMA», который получил 8 баллов. Это говорит о том, что тренд набрал силу и можно торговать с наименьшими рисками.

Если красная линия находится над ценой, то она отражает максимумы. Иногда бывает, что по такому сигналу вообще входить в рынок уже нельзя. Но для решения этой проблемы были созданы специальные индикаторы Форекс, у которых нет перерисовок. Поэтому, если в момент флета у Вас имеются открытые ордера, необходимо в обязательном порядке принять меры по страхованию возможных убытков. Сразу обратите внимание, что Pulse Flat указывает нам и на начало коррекции, это столбцы гистограммы фиолетового и бордового цвета. Касательно направления тенденции, то красные уменьшающиеся столбики гистограммы указывают на нисходящую тенденцию, а растущие столбики синего цвета указывают на восходящую тенденцию.

Бесконтактный индикатор напряжения основан на концепции электромагнитного поля, создаваемого проводящими элементами под напряжением. Он использует принцип индукции, чтобы обнаруживать наличие электрического тока, не требуя прямого контакта с проводниками. Термин «перерисовка» представляет собой ложные индикаторные данные, не имеющие соответствия реальной рыночной ситуации. Это приводит пользователей в смятение и мешает грамотному использованию активов. Индикаторы, в которых есть перерисовка, делают трудным вход на валютный рынок и выход из него.

Такая торговля усилит эмоциональную нагрузку на трейдера и не позволит получить прибыль. Поэтому трейдеры предпочитают использовать в своей торговле лучшие индикаторы форекс без перерисовки . Многоступенчатая система фильтрации позволяет отсеивать все сомнительные сигналы, оставляя 100% прибыльные сигналы которые гарантированно обеспечат профитную сделку. Прибыльный и уникальный индикатор для Бинарных Опционов и FOREX «Profit Sunrise» это на все 100% залог успешной торговли. Изменяя значение per, можно регулировать интервал, который берется для проведения анализа. Если рост продолжается, гистограмма загорается синим цветом, а если тренд ослабевает – голубым.

По внешнему виду, этот алгоритм напоминает простую скользящую. Обратите внимание, что наш алгоритм представляется по умолчанию с параметрами для EUR/JPY для использования на временном интервале М5. Рекомендуемый таймфрейм м5 с экспирацией 5 минут, сигналы довольно редкие и зачастую ложные. Этот индикатор можно использовать как замену стандартных осцилляторов Стохастик и RSI. • NumOfBars — количество свечей, на истории, для которых индикатор будет производить расчет.

Как и в случае с любым другим индикатором, лучше узнать из первых рук, что Вам подходит, а не верить другим на слово. Демо счет в Admiral Markets — идеальная площадка для определения эффективности индикатора в безрисковой среде. Кроме того, обратите внимание на наш список самых важных индикаторов Форекс. Подтверждающий сигнал на покупки будет актуален тогда, когда гистограмма индикатора MACD находится выше нулевой линии, для открытия сделок на продажу важно, чтобы гистограмма была ниже нулевой линии. Скользящая средняя — Moving Average – основной индикатор Forex технического анализа.

Форекс обучение в школе Бориса Купера, переходите по ссылке и узнаете больше — https://boriscooper.org/.

Leave a Comment