{"version":3,"file":"jarallax-element.min.js","sources":["../src/utils/global.js","../src/utils/ready.js","../src/deprecated/ext-element.js","../src/deprecated/ext-element.umd.js"],"sourcesContent":["/* 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","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","import global from '../utils/global';\n\nfunction jarallaxElement(jarallax = global.jarallax) {\n // eslint-disable-next-line no-console\n console.warning(\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 =\n self.$item.getAttribute('data-jarallax-element') || self.pureOptions.speed;\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":["win","window","global","self","callback","jarallaxElement","jarallax","console","warning","Jarallax","constructor","forEach","key","def","prototype","args","this","$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","document","querySelectorAll","readyState","addEventListener","capture","once","passive"],"mappings":";;;gPAEA,IAAIA,EAGFA,EADE,oBAAuBC,OACnBA,OACG,oBAAuBC,OAC1BA,OACG,oBAAuBC,KAC1BA,KAEA,OCXOC,IDcAJ,EEZf,SAASK,EAAgBC,EAAWJ,EAAOI,aAEzCC,QAAQC,QACN,kRAGE,IAAuBF,eAIrBG,EAAWH,EAASI,aAIxB,UACA,kBACA,OACA,UACA,aACA,YACA,WACA,YACAC,SAASC,UACHC,EAAMJ,EAASK,UAAUF,GAC/BH,EAASK,UAAUF,GAAO,YAAaG,SAC/BZ,EAAOa,QAET,YAAcJ,GAAO,OAAST,EAAKc,MAAMC,aAAa,2BACxDf,EAAKgB,QAAQC,KAAO,UACpBjB,EAAKkB,YAAYC,MACfnB,EAAKc,MAAMC,aAAa,0BAA4Bf,EAAKkB,YAAYC,OAErE,YAAcnB,EAAKgB,QAAQC,YACtBP,EAAIU,MAAMpB,EAAMY,UAGzBZ,EAAKkB,YAAYG,UAAYrB,EAAKc,MAAMC,aAAa,mBAAqB,GAElEN,OACD,cACGa,EAAWtB,EAAKkB,YAAYC,MAAMI,MAAM,KAC9CvB,EAAKgB,QAAQG,MAAQnB,EAAKkB,YAAYC,OAAS,EAC/CnB,EAAKgB,QAAQQ,OAASF,EAAS,GAAKG,WAAWH,EAAS,IAAM,EAC9DtB,EAAKgB,QAAQU,OAASJ,EAAS,GAAKG,WAAWH,EAAS,IAAM,QAExDK,EAAe3B,EAAKkB,YAAYG,UAAUE,MAAM,KACtDvB,EAAKgB,QAAQY,WAAaD,EAAa,GAAKF,WAAWE,EAAa,IAAM,KAC1E3B,EAAKgB,QAAQa,WAAaF,EAAa,GAAKF,WAAWE,EAAa,IAAM,KAE1EjB,EAAIU,MAAMpB,EAAMY,SAGVkB,EAAoB9B,EAAKc,MAAMC,aAAa,wCAC9Ce,GACF9B,EAAKc,MAAMiB,aAAa,QAASD,IAG5B,MAEJ,kBACGE,EAAehC,EAAKiC,IAAIjC,EAAKc,MAAO,aAC1Cd,EAAKiC,IAAIjC,EAAKc,MAAO,CAAEoB,UAAW,WAC5BC,EAAOnC,EAAKc,MAAMsB,wBACxBpC,EAAKqC,SAAW,CACdC,MAAOH,EAAKG,MACZC,OAAQJ,EAAKI,OACbC,EAAGL,EAAKM,IAAMzC,EAAK0C,gBAAgBF,EACnCG,EAAGR,EAAKS,MAEV5C,EAAKiC,IAAIjC,EAAKc,MAAO,CAAEoB,UAAWF,cAG/B,kBACGa,EAAM7C,EAAK0C,gBACXI,GACHD,EAAIL,EAAIK,EAAIN,OAAS,EAAIvC,EAAKqC,SAASG,EAAIxC,EAAKqC,SAASE,OAAS,IAClEM,EAAIN,OAAS,GACVQ,EAAQD,EAAgB9C,EAAKgB,QAAQQ,OACrCwB,EAAQF,EAAgB9C,EAAKgB,QAAQU,WACvCuB,EAAKF,EACLG,EAAKF,EACL,OAAShD,EAAKgB,QAAQY,YAAcmB,EAAQ/C,EAAKgB,QAAQY,aAAYqB,EAAK,GAC1E,OAASjD,EAAKgB,QAAQa,YAAcmB,EAAQhD,EAAKgB,QAAQa,aAAYqB,EAAK,GAC9ElD,EAAKiC,IAAIjC,EAAKc,MAAO,CAAEoB,UAAY,eAAcgB,OAAQD,qBAGtD,cACA,gBACA,oBACI,SAGJvC,EAAIU,MAAMpB,EAAMY,cCzF7BV,IFLeD,EEQN,UACH,IAAuBF,EAAOI,UAChCJ,EAAOI,SAASgD,SAASC,iBAAiB,6BFTxC,aAAeD,SAASE,YAAc,gBAAkBF,SAASE,WAEnEpD,IAEAkD,SAASG,iBAAiB,mBAAoBrD,EAAU,CACtDsD,SAAS,EACTC,MAAM,EACNC,SAAS"}