Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/elementor/assets/js/editor-interactions.js

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + /******/ (() => { // webpackBootstrap
2 + /******/ var __webpack_modules__ = ({
3 +
4 + /***/ "../modules/interactions/assets/js/interactions-utils.js":
5 + /*!***************************************************************!*\
6 + !*** ../modules/interactions/assets/js/interactions-utils.js ***!
7 + \***************************************************************/
8 + /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9 +
10 + "use strict";
11 +
12 +
13 + var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
14 + Object.defineProperty(exports, "__esModule", ({
15 + value: true
16 + }));
17 + exports.config = void 0;
18 + exports.getKeyframes = getKeyframes;
19 + exports.parseAnimationName = parseAnimationName;
20 + var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
21 + var _window$ElementorInte;
22 + var config = exports.config = ((_window$ElementorInte = window.ElementorInteractionsConfig) === null || _window$ElementorInte === void 0 ? void 0 : _window$ElementorInte.constants) || {
23 + defaultDuration: 300,
24 + defaultDelay: 0,
25 + slideDistance: 100,
26 + scaleStart: 0,
27 + easing: 'linear'
28 + };
29 + function calculateSlideDistance(element, direction) {
30 + if (!element) {
31 + return config.slideDistance;
32 + }
33 + var rect = element.getBoundingClientRect();
34 + var viewportWidth = window.innerWidth || document.documentElement.clientWidth;
35 + var viewportHeight = window.innerHeight || document.documentElement.clientHeight;
36 + var isLtr = 'ltr' === document.documentElement.dir || 'ltr' === document.body.dir;
37 + switch (direction) {
38 + case 'left':
39 + return Math.min((isLtr ? rect.left : rect.right) + rect.width, viewportWidth + rect.width);
40 + case 'right':
41 + return Math.min(viewportWidth - (isLtr ? rect.right : rect.left) + rect.width, viewportWidth + rect.width);
42 + case 'top':
43 + return Math.min(rect.top + rect.height, viewportHeight + rect.height);
44 + case 'bottom':
45 + return Math.min(viewportHeight - rect.bottom + rect.height, viewportHeight + rect.height);
46 + default:
47 + return config.slideDistance;
48 + }
49 + }
50 + function getKeyframes(effect, type, direction) {
51 + var element = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
52 + var isIn = 'in' === type;
53 + var keyframes = {};
54 + var hasDirection = !!direction;
55 + if ('fade' === effect) {
56 + if (hasDirection && isIn) {
57 + keyframes.opacity = [0, 0, 0.2, 0.6, 1];
58 + } else if (hasDirection && !isIn) {
59 + keyframes.opacity = [1, 0.8, 0.4, 0, 0];
60 + } else {
61 + keyframes.opacity = isIn ? [0, 1] : [1, 0];
62 + }
63 + }
64 + if ('scale' === effect) {
65 + keyframes.scale = isIn ? [config.scaleStart, 1] : [1, config.scaleStart];
66 + }
67 + if (direction) {
68 + var distance = calculateSlideDistance(element, direction);
69 + var movement = {
70 + left: {
71 + x: isIn ? [-distance, 0] : [0, -distance]
72 + },
73 + right: {
74 + x: isIn ? [distance, 0] : [0, distance]
75 + },
76 + top: {
77 + y: isIn ? [-distance, 0] : [0, -distance]
78 + },
79 + bottom: {
80 + y: isIn ? [distance, 0] : [0, distance]
81 + }
82 + };
83 + Object.assign(keyframes, movement[direction]);
84 + }
85 + return keyframes;
86 + }
87 + function parseAnimationName(name) {
88 + var _name$split = name.split('-'),
89 + _name$split2 = (0, _slicedToArray2.default)(_name$split, 6),
90 + trigger = _name$split2[0],
91 + effect = _name$split2[1],
92 + type = _name$split2[2],
93 + direction = _name$split2[3],
94 + duration = _name$split2[4],
95 + delay = _name$split2[5];
96 + return {
97 + trigger: trigger,
98 + effect: effect,
99 + type: type,
100 + direction: direction || null,
101 + duration: duration ? parseInt(duration, 10) : config.defaultDuration,
102 + delay: delay ? parseInt(delay, 10) : config.defaultDelay
103 + };
104 + }
105 +
106 + /***/ }),
107 +
108 + /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
109 + /*!******************************************************************!*\
110 + !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
111 + \******************************************************************/
112 + /***/ ((module) => {
113 +
114 + function _arrayLikeToArray(r, a) {
115 + (null == a || a > r.length) && (a = r.length);
116 + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
117 + return n;
118 + }
119 + module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
120 +
121 + /***/ }),
122 +
123 + /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
124 + /*!****************************************************************!*\
125 + !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
126 + \****************************************************************/
127 + /***/ ((module) => {
128 +
129 + function _arrayWithHoles(r) {
130 + if (Array.isArray(r)) return r;
131 + }
132 + module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
133 +
134 + /***/ }),
135 +
136 + /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
137 + /*!*******************************************************************!*\
138 + !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
139 + \*******************************************************************/
140 + /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
141 +
142 + var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
143 + function _arrayWithoutHoles(r) {
144 + if (Array.isArray(r)) return arrayLikeToArray(r);
145 + }
146 + module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
147 +
148 + /***/ }),
149 +
150 + /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
151 + /*!****************************************************************!*\
152 + !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
153 + \****************************************************************/
154 + /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
155 +
156 + var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
157 + function _defineProperty(e, r, t) {
158 + return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
159 + value: t,
160 + enumerable: !0,
161 + configurable: !0,
162 + writable: !0
163 + }) : e[r] = t, e;
164 + }
165 + module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
166 +
167 + /***/ }),
168 +
169 + /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
170 + /*!***********************************************************************!*\
171 + !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
172 + \***********************************************************************/
173 + /***/ ((module) => {
174 +
175 + function _interopRequireDefault(e) {
176 + return e && e.__esModule ? e : {
177 + "default": e
178 + };
179 + }
180 + module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
181 +
182 + /***/ }),
183 +
184 + /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
185 + /*!*****************************************************************!*\
186 + !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
187 + \*****************************************************************/
188 + /***/ ((module) => {
189 +
190 + function _iterableToArray(r) {
191 + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
192 + }
193 + module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
194 +
195 + /***/ }),
196 +
197 + /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
198 + /*!**********************************************************************!*\
199 + !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
200 + \**********************************************************************/
201 + /***/ ((module) => {
202 +
203 + function _iterableToArrayLimit(r, l) {
204 + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
205 + if (null != t) {
206 + var e,
207 + n,
208 + i,
209 + u,
210 + a = [],
211 + f = !0,
212 + o = !1;
213 + try {
214 + if (i = (t = t.call(r)).next, 0 === l) {
215 + if (Object(t) !== t) return;
216 + f = !1;
217 + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
218 + } catch (r) {
219 + o = !0, n = r;
220 + } finally {
221 + try {
222 + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
223 + } finally {
224 + if (o) throw n;
225 + }
226 + }
227 + return a;
228 + }
229 + }
230 + module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
231 +
232 + /***/ }),
233 +
234 + /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
235 + /*!*****************************************************************!*\
236 + !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
237 + \*****************************************************************/
238 + /***/ ((module) => {
239 +
240 + function _nonIterableRest() {
241 + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
242 + }
243 + module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
244 +
245 + /***/ }),
246 +
247 + /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
248 + /*!*******************************************************************!*\
249 + !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
250 + \*******************************************************************/
251 + /***/ ((module) => {
252 +
253 + function _nonIterableSpread() {
254 + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
255 + }
256 + module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
257 +
258 + /***/ }),
259 +
260 + /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
261 + /*!***************************************************************!*\
262 + !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
263 + \***************************************************************/
264 + /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
265 +
266 + var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
267 + var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
268 + var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
269 + var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
270 + function _slicedToArray(r, e) {
271 + return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();
272 + }
273 + module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
274 +
275 + /***/ }),
276 +
277 + /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
278 + /*!*******************************************************************!*\
279 + !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
280 + \*******************************************************************/
281 + /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
282 +
283 + var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
284 + var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
285 + var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
286 + var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
287 + function _toConsumableArray(r) {
288 + return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();
289 + }
290 + module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
291 +
292 + /***/ }),
293 +
294 + /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
295 + /*!*************************************************************!*\
296 + !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
297 + \*************************************************************/
298 + /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
299 +
300 + var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
301 + function toPrimitive(t, r) {
302 + if ("object" != _typeof(t) || !t) return t;
303 + var e = t[Symbol.toPrimitive];
304 + if (void 0 !== e) {
305 + var i = e.call(t, r || "default");
306 + if ("object" != _typeof(i)) return i;
307 + throw new TypeError("@@toPrimitive must return a primitive value.");
308 + }
309 + return ("string" === r ? String : Number)(t);
310 + }
311 + module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
312 +
313 + /***/ }),
314 +
315 + /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
316 + /*!***************************************************************!*\
317 + !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
318 + \***************************************************************/
319 + /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
320 +
321 + var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
322 + var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
323 + function toPropertyKey(t) {
324 + var i = toPrimitive(t, "string");
325 + return "symbol" == _typeof(i) ? i : i + "";
326 + }
327 + module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
328 +
329 + /***/ }),
330 +
331 + /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
332 + /*!********************************************************!*\
333 + !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
334 + \********************************************************/
335 + /***/ ((module) => {
336 +
337 + function _typeof(o) {
338 + "@babel/helpers - typeof";
339 +
340 + return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
341 + return typeof o;
342 + } : function (o) {
343 + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
344 + }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
345 + }
346 + module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
347 +
348 + /***/ }),
349 +
350 + /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
351 + /*!****************************************************************************!*\
352 + !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
353 + \****************************************************************************/
354 + /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
355 +
356 + var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
357 + function _unsupportedIterableToArray(r, a) {
358 + if (r) {
359 + if ("string" == typeof r) return arrayLikeToArray(r, a);
360 + var t = {}.toString.call(r).slice(8, -1);
361 + 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;
362 + }
363 + }
364 + module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
365 +
366 + /***/ })
367 +
368 + /******/ });
369 + /************************************************************************/
370 + /******/ // The module cache
371 + /******/ var __webpack_module_cache__ = {};
372 + /******/
373 + /******/ // The require function
374 + /******/ function __webpack_require__(moduleId) {
375 + /******/ // Check if module is in cache
376 + /******/ var cachedModule = __webpack_module_cache__[moduleId];
377 + /******/ if (cachedModule !== undefined) {
378 + /******/ return cachedModule.exports;
379 + /******/ }
380 + /******/ // Create a new module (and put it into the cache)
381 + /******/ var module = __webpack_module_cache__[moduleId] = {
382 + /******/ // no module.id needed
383 + /******/ // no module.loaded needed
384 + /******/ exports: {}
385 + /******/ };
386 + /******/
387 + /******/ // Execute the module function
388 + /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
389 + /******/
390 + /******/ // Return the exports of the module
391 + /******/ return module.exports;
392 + /******/ }
393 + /******/
394 + /************************************************************************/
395 + var __webpack_exports__ = {};
396 + // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
397 + (() => {
398 + "use strict";
399 + /*!****************************************************************!*\
400 + !*** ../modules/interactions/assets/js/editor-interactions.js ***!
401 + \****************************************************************/
402 +
403 +
404 + var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
405 + var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
406 + var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
407 + var _interactionsUtils = __webpack_require__(/*! ./interactions-utils.js */ "../modules/interactions/assets/js/interactions-utils.js");
408 + 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; }
409 + 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; }
410 + function applyAnimation(element, animConfig, animateFunc) {
411 + var keyframes = (0, _interactionsUtils.getKeyframes)(animConfig.effect, animConfig.type, animConfig.direction, element);
412 + var options = {
413 + duration: animConfig.duration / 1000,
414 + delay: animConfig.delay / 1000,
415 + easing: _interactionsUtils.config.easing
416 + };
417 + var initialKeyframes = {};
418 + Object.keys(keyframes).forEach(function (key) {
419 + initialKeyframes[key] = keyframes[key][0];
420 + });
421 + // WHY - Transition can be set on elements but once it sets it destroys all animations, so we basically put it aside.
422 + var transition = element.style.transition;
423 + element.style.transition = 'none';
424 + animateFunc(element, initialKeyframes, {
425 + duration: 0
426 + }).then(function () {
427 + animateFunc(element, keyframes, options).then(function () {
428 + if ('out' === animConfig.type) {
429 + var resetValues = {
430 + opacity: 1,
431 + scale: 1,
432 + x: 0,
433 + y: 0
434 + };
435 + var resetKeyframes = {};
436 + Object.keys(keyframes).forEach(function (key) {
437 + resetKeyframes[key] = resetValues[key];
438 + });
439 + element.style.transition = transition;
440 + animateFunc(element, resetKeyframes, {
441 + duration: 0
442 + });
443 + }
444 + });
445 + });
446 + }
447 + function getInteractionsData() {
448 + var scriptTag = document.querySelector('script[data-e-interactions="true"]');
449 + if (!scriptTag) {
450 + return [];
451 + }
452 + try {
453 + return JSON.parse(scriptTag.textContent || '[]');
454 + } catch (_unused) {
455 + return [];
456 + }
457 + }
458 + function findElementByInteractionId(interactionId) {
459 + return document.querySelector('[data-interaction-id="' + interactionId + '"]');
460 + }
461 + function applyInteractionsToElement(element, interactionsData) {
462 + var _window$Motion, _parsedData;
463 + var animateFunc = 'undefined' !== typeof animate ? animate : (_window$Motion = window.Motion) === null || _window$Motion === void 0 ? void 0 : _window$Motion.animate;
464 + if (!animateFunc) {
465 + return;
466 + }
467 + var parsedData;
468 + if ('string' === typeof interactionsData) {
469 + try {
470 + parsedData = JSON.parse(interactionsData);
471 + } catch (error) {
472 + return;
473 + }
474 + } else {
475 + parsedData = interactionsData;
476 + }
477 + var interactions = Object.values((_parsedData = parsedData) === null || _parsedData === void 0 ? void 0 : _parsedData.items);
478 + interactions.forEach(function (interaction) {
479 + var _interaction$animatio;
480 + var animationName = 'string' === typeof interaction ? interaction : interaction === null || interaction === void 0 || (_interaction$animatio = interaction.animation) === null || _interaction$animatio === void 0 ? void 0 : _interaction$animatio.animation_id;
481 + var animConfig = animationName && (0, _interactionsUtils.parseAnimationName)(animationName);
482 + if (animConfig) {
483 + applyAnimation(element, animConfig, animateFunc);
484 + }
485 + });
486 + }
487 + var previousInteractionsData = [];
488 + function handleInteractionsUpdate() {
489 + var currentInteractionsData = getInteractionsData();
490 + var changedItems = currentInteractionsData.filter(function (currentItem) {
491 + var previousItem = previousInteractionsData.find(function (prev) {
492 + return prev.dataId === currentItem.dataId;
493 + });
494 + return !previousItem || previousItem.interactions !== currentItem.interactions;
495 + });
496 + changedItems.forEach(function (item) {
497 + var _previousInteractions, _item$interactions, _item$interactions2, _prevInteractions$ite;
498 + var element = findElementByInteractionId(item.dataId);
499 + var prevInteractions = (_previousInteractions = previousInteractionsData.find(function (prev) {
500 + return prev.dataId === item.dataId;
501 + })) === null || _previousInteractions === void 0 ? void 0 : _previousInteractions.interactions;
502 + if (element && ((_item$interactions = item.interactions) === null || _item$interactions === void 0 || (_item$interactions = _item$interactions.items) === null || _item$interactions === void 0 ? void 0 : _item$interactions.length) > 0 && ((_item$interactions2 = item.interactions) === null || _item$interactions2 === void 0 || (_item$interactions2 = _item$interactions2.items) === null || _item$interactions2 === void 0 ? void 0 : _item$interactions2.length) === (prevInteractions === null || prevInteractions === void 0 || (_prevInteractions$ite = prevInteractions.items) === null || _prevInteractions$ite === void 0 ? void 0 : _prevInteractions$ite.length)) {
503 + var interactionsToApply = _objectSpread(_objectSpread({}, item.interactions), {}, {
504 + items: (0, _toConsumableArray2.default)(item.interactions.items).filter(function (interaction, index) {
505 + var _prevInteractions$ite2;
506 + return (prevInteractions === null || prevInteractions === void 0 || (_prevInteractions$ite2 = prevInteractions.items[index]) === null || _prevInteractions$ite2 === void 0 || (_prevInteractions$ite2 = _prevInteractions$ite2.animation) === null || _prevInteractions$ite2 === void 0 ? void 0 : _prevInteractions$ite2.animation_id) !== interaction.animation.animation_id;
507 + })
508 + });
509 + applyInteractionsToElement(element, interactionsToApply);
510 + }
511 + });
512 + previousInteractionsData = currentInteractionsData;
513 + }
514 + function initEditorInteractionsHandler() {
515 + var _window$Motion2;
516 + if ('undefined' === typeof animate && !((_window$Motion2 = window.Motion) !== null && _window$Motion2 !== void 0 && _window$Motion2.animate)) {
517 + setTimeout(initEditorInteractionsHandler, 100);
518 + return;
519 + }
520 + var head = document.head;
521 + var scriptTag = null;
522 + var observer = null;
523 + function setupObserver(tag) {
524 + if (observer) {
525 + observer.disconnect();
526 + }
527 + observer = new MutationObserver(function () {
528 + handleInteractionsUpdate();
529 + });
530 + observer.observe(tag, {
531 + childList: true,
532 + characterData: true,
533 + subtree: true
534 + });
535 + handleInteractionsUpdate();
536 + registerWindowEvents();
537 + }
538 + var headObserver = new MutationObserver(function () {
539 + var foundScriptTag = document.querySelector('script[data-e-interactions="true"]');
540 + if (foundScriptTag && foundScriptTag !== scriptTag) {
541 + scriptTag = foundScriptTag;
542 + setupObserver(scriptTag);
543 + headObserver.disconnect();
544 + }
545 + });
546 + headObserver.observe(head, {
547 + childList: true,
548 + subtree: true
549 + });
550 + scriptTag = document.querySelector('script[data-e-interactions="true"]');
551 + if (scriptTag) {
552 + setupObserver(scriptTag);
553 + headObserver.disconnect();
554 + }
555 + }
556 + function registerWindowEvents() {
557 + window.top.addEventListener('atomic/play_interactions', handlePlayInteractions);
558 + }
559 + function handlePlayInteractions(event) {
560 + var _event$detail = event.detail,
561 + elementId = _event$detail.elementId,
562 + animationId = _event$detail.animationId;
563 + var interactionsData = getInteractionsData();
564 + var item = interactionsData.find(function (elementItemData) {
565 + return elementItemData.dataId === elementId;
566 + });
567 + if (!item) {
568 + return;
569 + }
570 + var element = findElementByInteractionId(elementId);
571 + if (element) {
572 + var interactionsCopy = _objectSpread(_objectSpread({}, item.interactions), {}, {
573 + items: (0, _toConsumableArray2.default)(item.interactions.items)
574 + });
575 + interactionsCopy.items = interactionsCopy.items.filter(function (interactionItem) {
576 + return interactionItem.animation.animation_id === animationId;
577 + });
578 + applyInteractionsToElement(element, JSON.stringify(interactionsCopy));
579 + }
580 + }
581 + if ('loading' === document.readyState) {
582 + document.addEventListener('DOMContentLoaded', initEditorInteractionsHandler);
583 + } else {
584 + initEditorInteractionsHandler();
585 + }
586 + })();
587 +
588 + /******/ })()
589 + ;
590 + //# sourceMappingURL=editor-interactions.js.map