{"version":3,"file":"jarallax-element.js","sources":["../src/utils/ready.js","../src/utils/global.js","../src/deprecated/ext-element.js","../src/deprecated/ext-element.umd.js"],"sourcesContent":["function ready(callback) {\n if ('complete' === document.readyState || 'interactive' === document.readyState) {\n // Already ready or interactive, execute callback\n callback();\n } else {\n document.addEventListener('DOMContentLoaded', callback, {\n capture: true,\n once: true,\n passive: true,\n });\n }\n}\n\nexport default ready;\n","/* eslint-disable import/no-mutable-exports */\n/* eslint-disable no-restricted-globals */\nlet win;\n\nif ('undefined' !== typeof window) {\n win = window;\n} else if ('undefined' !== typeof global) {\n win = global;\n} else if ('undefined' !== typeof self) {\n win = self;\n} else {\n win = {};\n}\n\nexport default win;\n","import global from '../utils/global';\n\nfunction jarallaxElement(jarallax = global.jarallax) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Jarallax Element extension is DEPRECATED, please, avoid using it. We recommend you look at something like `lax.js` library . It is much more powerful and has a less code (in cases when you don't want to add parallax backgrounds).\"\n );\n\n if ('undefined' === typeof jarallax) {\n return;\n }\n\n const Jarallax = jarallax.constructor;\n\n // redefine default methods\n [\n 'initImg',\n 'canInitParallax',\n 'init',\n 'destroy',\n 'coverImage',\n 'isVisible',\n 'onScroll',\n 'onResize',\n ].forEach((key) => {\n const def = Jarallax.prototype[key];\n Jarallax.prototype[key] = function (...args) {\n const self = this;\n\n if ('initImg' === key && null !== self.$item.getAttribute('data-jarallax-element')) {\n self.options.type = 'element';\n self.pureOptions.speed = self.$item.getAttribute('data-jarallax-element') || '100';\n }\n if ('element' !== self.options.type) {\n return def.apply(self, args);\n }\n\n self.pureOptions.threshold = self.$item.getAttribute('data-threshold') || '';\n\n switch (key) {\n case 'init': {\n const speedArr = `${self.pureOptions.speed}`.split(' ');\n self.options.speed = self.pureOptions.speed || 0;\n self.options.speedY = speedArr[0] ? parseFloat(speedArr[0]) : 0;\n self.options.speedX = speedArr[1] ? parseFloat(speedArr[1]) : 0;\n\n const thresholdArr = self.pureOptions.threshold.split(' ');\n self.options.thresholdY = thresholdArr[0] ? parseFloat(thresholdArr[0]) : null;\n self.options.thresholdX = thresholdArr[1] ? parseFloat(thresholdArr[1]) : null;\n\n def.apply(self, args);\n\n // restore background image if available.\n const originalStylesTag = self.$item.getAttribute('data-jarallax-original-styles');\n if (originalStylesTag) {\n self.$item.setAttribute('style', originalStylesTag);\n }\n\n return true;\n }\n case 'onResize': {\n const defTransform = self.css(self.$item, 'transform');\n self.css(self.$item, { transform: '' });\n const rect = self.$item.getBoundingClientRect();\n self.itemData = {\n width: rect.width,\n height: rect.height,\n y: rect.top + self.getWindowData().y,\n x: rect.left,\n };\n self.css(self.$item, { transform: defTransform });\n break;\n }\n case 'onScroll': {\n const wnd = self.getWindowData();\n const centerPercent =\n (wnd.y + wnd.height / 2 - self.itemData.y - self.itemData.height / 2) /\n (wnd.height / 2);\n const moveY = centerPercent * self.options.speedY;\n const moveX = centerPercent * self.options.speedX;\n let my = moveY;\n let mx = moveX;\n if (null !== self.options.thresholdY && moveY > self.options.thresholdY) my = 0;\n if (null !== self.options.thresholdX && moveX > self.options.thresholdX) mx = 0;\n self.css(self.$item, { transform: `translate3d(${mx}px,${my}px,0)` });\n break;\n }\n case 'initImg':\n case 'isVisible':\n case 'coverImage':\n return true;\n // no default\n }\n return def.apply(self, args);\n };\n });\n}\n\nexport default jarallaxElement;\n","import domReady from '../utils/ready';\nimport global from '../utils/global';\n\nimport jarallaxElement from './ext-element';\n\njarallaxElement();\n\n// data-jarallax-element initialization\ndomReady(() => {\n if ('undefined' !== typeof global.jarallax) {\n global.jarallax(document.querySelectorAll('[data-jarallax-element]'));\n }\n});\n\nexport default jarallaxElement;\n"],"names":["ready","callback","document","readyState","addEventListener","capture","once","passive","win","window","global","self","jarallaxElement","jarallax","console","warn","Jarallax","constructor","forEach","key","def","prototype","args","$item","getAttribute","options","type","pureOptions","speed","apply","threshold","speedArr","split","speedY","parseFloat","speedX","thresholdArr","thresholdY","thresholdX","originalStylesTag","setAttribute","defTransform","css","transform","rect","getBoundingClientRect","itemData","width","height","y","top","getWindowData","x","left","wnd","centerPercent","moveY","moveX","my","mx","domReady","querySelectorAll"],"mappings":"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"}