/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
elementor
/
assets
/
js
/
Upload File
HOME
/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../modules/interactions/assets/js/interactions-breakpoints.js": /*!*********************************************************************!*\ !*** ../modules/interactions/assets/js/interactions-breakpoints.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getActiveBreakpoint = getActiveBreakpoint; exports.initBreakpoints = initBreakpoints; var RESIZE_DEBOUNCE_TIMEOUT = 100; var breakpoints = { list: {}, active: {}, onChange: function onChange() {} }; function getActiveBreakpoint() { return breakpoints.active; } function matchBreakpoint(width) { for (var label in breakpoints.list) { var breakpoint = breakpoints.list[label]; if ('min' === breakpoint.direction && width >= breakpoint.value) { return label; } if ('max' === breakpoint.direction && breakpoint.value >= width) { return label; } } return 'desktop'; } function attachEventListeners() { var timeout = null; var onResize = function onResize() { if (timeout) { window.clearTimeout(timeout); timeout = null; } timeout = window.setTimeout(function () { var currentBreakpoint = matchBreakpoint(window.innerWidth); if (currentBreakpoint === breakpoints.active) { return; } breakpoints.active = currentBreakpoint; if ('function' === typeof breakpoints.onChange) { breakpoints.onChange(breakpoints.active); } }, RESIZE_DEBOUNCE_TIMEOUT); }; window.addEventListener('resize', onResize); } function getBreakpointsList() { var _ElementorInteraction; return ((_ElementorInteraction = ElementorInteractionsConfig) === null || _ElementorInteraction === void 0 ? void 0 : _ElementorInteraction.breakpoints) || {}; } function initBreakpoints() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, onChange = _ref.onChange; breakpoints.list = getBreakpointsList(); breakpoints.active = matchBreakpoint(window.innerWidth); if ('function' === typeof onChange) { breakpoints.onChange = onChange; } attachEventListeners(); } /***/ }), /***/ "../modules/interactions/assets/js/interactions-shared-utils.js": /*!**********************************************************************!*\ !*** ../modules/interactions/assets/js/interactions-shared-utils.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.config = config; exports.extractInteractionId = extractInteractionId; exports.getAnimateFunction = getAnimateFunction; exports.getInViewFunction = getInViewFunction; exports.parseInteractionsData = parseInteractionsData; exports.skipInteraction = skipInteraction; exports.timingValueToMs = timingValueToMs; exports.unwrapInteractionValue = unwrapInteractionValue; exports.waitForAnimateFunction = waitForAnimateFunction; var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js")); var _interactionsBreakpoints = __webpack_require__(/*! ./interactions-breakpoints.js */ "../modules/interactions/assets/js/interactions-breakpoints.js"); function config() { var _window$ElementorInte, _window$ElementorInte2; return (_window$ElementorInte = (_window$ElementorInte2 = window.ElementorInteractionsConfig) === null || _window$ElementorInte2 === void 0 ? void 0 : _window$ElementorInte2.constants) !== null && _window$ElementorInte !== void 0 ? _window$ElementorInte : {}; } function skipInteraction(interaction) { var _interaction$breakpoi; var breakpoint = (0, _interactionsBreakpoints.getActiveBreakpoint)(); return interaction === null || interaction === void 0 || (_interaction$breakpoi = interaction.breakpoints) === null || _interaction$breakpoi === void 0 || (_interaction$breakpoi = _interaction$breakpoi.excluded) === null || _interaction$breakpoi === void 0 ? void 0 : _interaction$breakpoi.includes(breakpoint); } function extractInteractionId(interaction) { if ('interaction-item' === (interaction === null || interaction === void 0 ? void 0 : interaction.$$type) && interaction !== null && interaction !== void 0 && interaction.value) { var _interaction$value$in; return ((_interaction$value$in = interaction.value.interaction_id) === null || _interaction$value$in === void 0 ? void 0 : _interaction$value$in.value) || null; } return null; } function motionFunc(name) { var _window, _window2; if ('function' !== typeof ((_window = window) === null || _window === void 0 || (_window = _window.Motion) === null || _window === void 0 ? void 0 : _window[name])) { return undefined; } return (_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.Motion) === null || _window2 === void 0 ? void 0 : _window2[name]; } function getAnimateFunction() { return motionFunc('animate'); } function getInViewFunction() { return motionFunc('inView'); } function waitForAnimateFunction(callback) { var maxAttempts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10; if (getAnimateFunction()) { callback(); return; } if (maxAttempts > 0) { setTimeout(function () { return waitForAnimateFunction(callback, maxAttempts - 1); }, 100); } } function parseInteractionsData(data) { if ('string' === typeof data) { try { return JSON.parse(data); } catch (_unused) { return null; } } return data; } function unwrapInteractionValue(propValue) { var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // Supports Elementor's typed wrapper shape: { $$type: '...', value: ... }. if (propValue && 'object' === (0, _typeof2.default)(propValue) && '$$type' in propValue) { return propValue.value; } return propValue !== null && propValue !== void 0 ? propValue : fallback; } function timingValueToMs(timingValue, fallbackMs) { if (null === timingValue || undefined === timingValue) { return fallbackMs; } var unwrapped = unwrapInteractionValue(timingValue); if ('number' === typeof unwrapped) { return unwrapped; } var sizeObj = unwrapInteractionValue(unwrapped); var size = sizeObj === null || sizeObj === void 0 ? void 0 : sizeObj.size; var unit = (sizeObj === null || sizeObj === void 0 ? void 0 : sizeObj.unit) || 'ms'; if ('number' !== typeof size) { return fallbackMs; } if ('s' === unit) { return size * 1000; } return size; } // Expose on elementorModules for Pro and other consumers. window.elementorModules = window.elementorModules || {}; window.elementorModules.interactions = { config: config, skipInteraction: skipInteraction, extractInteractionId: extractInteractionId, getAnimateFunction: getAnimateFunction, getInViewFunction: getInViewFunction, waitForAnimateFunction: waitForAnimateFunction, parseInteractionsData: parseInteractionsData, unwrapInteractionValue: unwrapInteractionValue, timingValueToMs: timingValueToMs }; /***/ }), /***/ "../modules/interactions/assets/js/interactions-utils.js": /*!***************************************************************!*\ !*** ../modules/interactions/assets/js/interactions-utils.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "config", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.config; } })); exports.extractAnimationConfig = extractAnimationConfig; Object.defineProperty(exports, "extractInteractionId", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.extractInteractionId; } })); exports.findElementByDataId = findElementByDataId; Object.defineProperty(exports, "getAnimateFunction", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.getAnimateFunction; } })); Object.defineProperty(exports, "getInViewFunction", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.getInViewFunction; } })); exports.getInteractionsData = getInteractionsData; exports.getKeyframes = getKeyframes; exports.isFreeFrontendSupportedTrigger = isFreeFrontendSupportedTrigger; exports.parseAnimationName = parseAnimationName; Object.defineProperty(exports, "parseInteractionsData", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.parseInteractionsData; } })); Object.defineProperty(exports, "skipInteraction", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.skipInteraction; } })); Object.defineProperty(exports, "timingValueToMs", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.timingValueToMs; } })); Object.defineProperty(exports, "unwrapInteractionValue", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.unwrapInteractionValue; } })); Object.defineProperty(exports, "waitForAnimateFunction", ({ enumerable: true, get: function get() { return _interactionsSharedUtils.waitForAnimateFunction; } })); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _interactionsSharedUtils = __webpack_require__(/*! ./interactions-shared-utils.js */ "../modules/interactions/assets/js/interactions-shared-utils.js"); /** * Triggers the Core `interactions.js` / `editor-interactions.js` bundles run. Pro-only triggers * (e.g. hover, click) must not fall through to the load-time default path. */ var FREE_FRONTEND_SUPPORTED_TRIGGERS = ['load', 'scrollIn', 'scrollOut']; function isFreeFrontendSupportedTrigger(trigger) { return FREE_FRONTEND_SUPPORTED_TRIGGERS.includes(trigger); } function getKeyframes(effect, type, direction) { var isIn = 'in' === type; var keyframes = {}; if ('fade' === effect) { keyframes.opacity = isIn ? [0, 1] : [1, 0]; } var config = (0, _interactionsSharedUtils.config)(); if ('scale' === effect) { keyframes.scale = isIn ? [config.scaleStart, 1] : [1, config.scaleStart]; } if (direction) { var distance = config.slideDistance; var movement = { left: { x: isIn ? [-distance, 0] : [0, -distance] }, right: { x: isIn ? [distance, 0] : [0, distance] }, top: { y: isIn ? [-distance, 0] : [0, -distance] }, bottom: { y: isIn ? [distance, 0] : [0, distance] } }; Object.assign(keyframes, movement[direction]); } return keyframes; } function parseAnimationName(name) { var _name$split = name.split('-'), _name$split2 = (0, _slicedToArray2.default)(_name$split, 8), trigger = _name$split2[0], effect = _name$split2[1], type = _name$split2[2], direction = _name$split2[3], duration = _name$split2[4], delay = _name$split2[5]; var config = (0, _interactionsSharedUtils.config)(); return { trigger: trigger, effect: effect, type: type, direction: direction || null, duration: duration ? parseInt(duration, 10) : config.defaultDuration, delay: delay ? parseInt(delay, 10) : config.defaultDelay, replay: false, easing: config.defaultEasing }; } /** * Get interactions data from the script tag injected by PHP. * Returns array of { elementId, dataId, interactions: [...] } */ function getInteractionsData() { var scriptTag = document.getElementById('elementor-interactions-data'); if (!scriptTag) { return null; } try { return JSON.parse(scriptTag.textContent); } catch (_unused) { return null; } } function findElementByDataId(dataId) { return document.querySelector("[data-interaction-id=\"".concat(dataId, "\"]")); } function unwrapInteractionBreakpoints(propValue) { var breakpointsConfig = (0, _interactionsSharedUtils.unwrapInteractionValue)(propValue, {}); var excluded = (0, _interactionsSharedUtils.unwrapInteractionValue)(breakpointsConfig === null || breakpointsConfig === void 0 ? void 0 : breakpointsConfig.excluded, []); if (1 > excluded.length) { return {}; } var breakpoints = { excluded: excluded.map(function (breakpoint) { return (0, _interactionsSharedUtils.unwrapInteractionValue)(breakpoint, ''); }) }; return breakpoints; } function extractAnimationConfig(interaction) { var _payload$animation; if ('string' === typeof interaction) { return parseAnimationName(interaction); } var payload = 'interaction-item' === (interaction === null || interaction === void 0 ? void 0 : interaction.$$type) && interaction !== null && interaction !== void 0 && interaction.value ? interaction.value : interaction; if (!payload) { return null; } if (payload !== null && payload !== void 0 && (_payload$animation = payload.animation) !== null && _payload$animation !== void 0 && _payload$animation.animation_id) { return parseAnimationName(payload.animation.animation_id); } var trigger = (0, _interactionsSharedUtils.unwrapInteractionValue)(payload.trigger) || payload.trigger || 'load'; var animation = payload.animation; animation = (0, _interactionsSharedUtils.unwrapInteractionValue)(animation); if (!animation) { return null; } var breakpoints = unwrapInteractionBreakpoints(payload.breakpoints); var config = (0, _interactionsSharedUtils.config)(); var effect = (0, _interactionsSharedUtils.unwrapInteractionValue)(animation.effect) || animation.effect || 'fade'; var type = (0, _interactionsSharedUtils.unwrapInteractionValue)(animation.type) || animation.type || 'in'; var direction = (0, _interactionsSharedUtils.unwrapInteractionValue)(animation.direction) || animation.direction || ''; var easing = config.defaultEasing; var replay = false; var timingConfig = (0, _interactionsSharedUtils.unwrapInteractionValue)(animation.timing_config) || animation.timing_config || {}; var duration = (0, _interactionsSharedUtils.timingValueToMs)(timingConfig === null || timingConfig === void 0 ? void 0 : timingConfig.duration, config.defaultDuration); var delay = (0, _interactionsSharedUtils.timingValueToMs)(timingConfig === null || timingConfig === void 0 ? void 0 : timingConfig.delay, config.defaultDelay); return { trigger: trigger, breakpoints: breakpoints, effect: effect, type: type, direction: direction, duration: duration, delay: delay, easing: easing, replay: replay }; } /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } 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(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, 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(e, r, t) { return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } module.exports = _defineProperty, 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(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, 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/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(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, 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 : 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(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }) /******/ }); /************************************************************************/ /******/ // 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; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!****************************************************************!*\ !*** ../modules/interactions/assets/js/editor-interactions.js ***! \****************************************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _interactionsUtils = __webpack_require__(/*! ./interactions-utils.js */ "../modules/interactions/assets/js/interactions-utils.js"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** * @type {Record<string, Promise<void> & { cancel: () => void }>} */ var playingInteractionsToStop = {}; function applyAnimation(element, animConfig, animateFunc) { var id = element.id; if (playingInteractionsToStop[id]) { playingInteractionsToStop[id].cancel(); delete playingInteractionsToStop[id]; } var keyframes = (0, _interactionsUtils.getKeyframes)(animConfig.effect, animConfig.type, animConfig.direction); var options = { duration: animConfig.duration / 1000, delay: animConfig.delay / 1000, ease: (0, _interactionsUtils.config)().defaultEasing }; var initialKeyframes = {}; Object.keys(keyframes).forEach(function (key) { initialKeyframes[key] = keyframes[key][0]; }); // WHY - Transition can be set on elements but once it sets it destroys all animations, so we basically put it aside. var transition = element.style.transition; element.style.transition = 'none'; animateFunc(element, initialKeyframes, { duration: 0 }).then(function () { var animations = animateFunc(element, keyframes, options); playingInteractionsToStop[id] = animations; animations.then(function () { if ('out' === animConfig.type) { var resetValues = { opacity: 1, scale: 1, x: 0, y: 0 }; var resetKeyframes = {}; Object.keys(keyframes).forEach(function (key) { resetKeyframes[key] = resetValues[key]; }); element.style.transition = transition; animateFunc(element, resetKeyframes, { duration: 0 }); } delete playingInteractionsToStop[id]; }); }); } function getInteractionsData() { var scriptTag = document.querySelector('script[data-e-interactions="true"]'); if (!scriptTag) { return []; } try { return JSON.parse(scriptTag.textContent || '[]'); } catch (_unused) { return []; } } function findElementByInteractionId(interactionId) { return document.querySelector('[data-interaction-id="' + interactionId + '"]'); } function applyInteractionsToElement(element, interactionsData) { var animateFunc = (0, _interactionsUtils.getAnimateFunction)(); if (!animateFunc) { return; } var parsedData = (0, _interactionsUtils.parseInteractionsData)(interactionsData); if (!parsedData) { return; } var interactions = Object.values((parsedData === null || parsedData === void 0 ? void 0 : parsedData.items) || []); interactions.forEach(function (interaction) { var animConfig = (0, _interactionsUtils.extractAnimationConfig)(interaction); if (animConfig) { applyAnimation(element, animConfig, animateFunc); } }); } var previousInteractionsData = []; function handleInteractionsUpdate() { var currentInteractionsData = getInteractionsData(); var changedItems = currentInteractionsData.filter(function (currentItem) { var _currentItem$interact, _previousItem$interac; var previousItem = previousInteractionsData.find(function (prev) { return prev.dataId === currentItem.dataId; }); if (!previousItem) { return true; } var currentIds = (((_currentItem$interact = currentItem.interactions) === null || _currentItem$interact === void 0 ? void 0 : _currentItem$interact.items) || []).map(_interactionsUtils.extractInteractionId).filter(Boolean).sort().join(','); var prevIds = (((_previousItem$interac = previousItem.interactions) === null || _previousItem$interac === void 0 ? void 0 : _previousItem$interac.items) || []).map(_interactionsUtils.extractInteractionId).filter(Boolean).sort().join(','); return currentIds !== prevIds; }); changedItems.forEach(function (item) { var _previousInteractions, _item$interactions; var element = findElementByInteractionId(item.dataId); var prevInteractions = (_previousInteractions = previousInteractionsData.find(function (prev) { return prev.dataId === item.dataId; })) === null || _previousInteractions === void 0 ? void 0 : _previousInteractions.interactions; if (!element || !((_item$interactions = item.interactions) !== null && _item$interactions !== void 0 && (_item$interactions = _item$interactions.items) !== null && _item$interactions !== void 0 && _item$interactions.length)) { return; } var prevIds = new Set(((prevInteractions === null || prevInteractions === void 0 ? void 0 : prevInteractions.items) || []).map(_interactionsUtils.extractInteractionId).filter(Boolean)); var changedInteractions = item.interactions.items.filter(function (interaction) { var id = (0, _interactionsUtils.extractInteractionId)(interaction); return !id || !prevIds.has(id); }); if (changedInteractions.length > 0) { applyInteractionsToElement(element, _objectSpread(_objectSpread({}, item.interactions), {}, { items: changedInteractions })); } }); previousInteractionsData = currentInteractionsData; } function initEditorInteractionsHandler() { (0, _interactionsUtils.waitForAnimateFunction)(function () { var head = document.head; var scriptTag = null; var observer = null; function setupObserver(tag) { if (observer) { observer.disconnect(); } observer = new MutationObserver(function () { handleInteractionsUpdate(); }); observer.observe(tag, { childList: true, characterData: true, subtree: true }); handleInteractionsUpdate(); registerWindowEvents(); } var headObserver = new MutationObserver(function () { var foundScriptTag = document.querySelector('script[data-e-interactions="true"]'); if (foundScriptTag && foundScriptTag !== scriptTag) { scriptTag = foundScriptTag; setupObserver(scriptTag); headObserver.disconnect(); } }); headObserver.observe(head, { childList: true, subtree: true }); scriptTag = document.querySelector('script[data-e-interactions="true"]'); if (scriptTag) { setupObserver(scriptTag); headObserver.disconnect(); } }); } function registerWindowEvents() { window.top.addEventListener('atomic/play_interactions', handlePlayInteractions); } function handlePlayInteractions(event) { var _event$detail = event.detail, elementId = _event$detail.elementId, interactionId = _event$detail.interactionId; var interactionsData = getInteractionsData(); var item = interactionsData.find(function (elementItemData) { return elementItemData.dataId === elementId; }); if (!item) { return; } var element = findElementByInteractionId(elementId); if (!element) { return; } var interactionsCopy = _objectSpread(_objectSpread({}, item.interactions), {}, { items: item.interactions.items.filter(function (interactionItem) { var itemId = (0, _interactionsUtils.extractInteractionId)(interactionItem); return itemId === interactionId; }) }); applyInteractionsToElement(element, interactionsCopy); } if ('loading' === document.readyState) { document.addEventListener('DOMContentLoaded', initEditorInteractionsHandler); } else { initEditorInteractionsHandler(); } })(); /******/ })() ; //# sourceMappingURL=editor-interactions.js.map