{"remainingRequest":"C:\\wamp64\\www\\free-energie\\wp-content\\themes\\digitalcover\\node_modules\\babel-loader\\lib\\index.js??ruleSet[1].rules[0].use[1]!C:\\wamp64\\www\\free-energie\\wp-content\\themes\\digitalcover\\resources\\assets\\scripts\\util\\Parallax.js","dependencies":[{"path":"C:\\wamp64\\www\\free-energie\\wp-content\\themes\\digitalcover\\resources\\assets\\scripts\\util\\Parallax.js","mtime":1722418414000},{"path":"C:\\wamp64\\www\\free-energie\\wp-content\\themes\\digitalcover\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1726651497274},{"path":"C:\\wamp64\\www\\free-energie\\wp-content\\themes\\digitalcover\\node_modules\\babel-loader\\lib\\index.js","mtime":1726651482652}],"contextDependencies":[],"result":["import store from './store';\n\n/**\n * Allow to add parallax on elements using data-attributes.\n * data-parallax : Element parallax speed. A negative value will reverse the direction.\n * data-offset : Element in-view trigger offset : bottom,top.\n  First value is bottom offset, second (optional) is top offset.\n  Percent is relative to viewport height, otherwise it's absolute pixels.\n  E.g. \"10\", \"100,50%\", \"25%, 15%\"\n\n * ⚠️ Uncomment import in main.js to use this class.\n * ⚠️ This class has to be used with Lenis scroll engine.\n */\nexport default class Parallax {\n  on() {\n    this.els = [];\n    this.dom = document.querySelectorAll('[data-parallax]');\n    for (let i = 0; i < this.dom.length; i++) {\n      const dom = this.dom[i];\n      const bounds = dom.getBoundingClientRect();\n      const offset = dom.dataset.offset ? dom.dataset.offset.split(',') : null;\n      const relativeOffset = [0, 0];\n      if (offset) {\n        for (let k = 0; k < offset.length; k++) {\n          // eslint-disable-next-line max-depth\n          if (offset[k].includes('%')) {\n            relativeOffset[k] = parseInt(offset[k].replace('%', '') * store.w.h) / 100;\n          } else {\n            relativeOffset[k] = parseInt(offset[k]);\n          }\n        }\n      }\n      this.els.push({\n        dom,\n        speed: dom.dataset.parallax / 10,\n        inView: false,\n        out: false,\n        viewed: false,\n        bounds: {\n          top: bounds.top - store.w.h + relativeOffset[0],\n          bottom: bounds.bottom - relativeOffset[1]\n        }\n      });\n    }\n    for (let i = 0; i < this.els.length; i++) {\n      store.observer.observe({\n        el: this.els[i].dom,\n        repeat: true,\n        cb: e => {\n          this.els[i].inView = e;\n        }\n      });\n      const {\n        bounds,\n        dom,\n        speed\n      } = this.els[i];\n      dom.style.transform = `translate3d(0, ${bounds.top * speed}px, 0)`;\n    }\n  }\n  scroll(e) {\n    const s = store.round(e, 3);\n    for (let i = 0; i < this.els.length; i++) {\n      const {\n        bounds,\n        dom,\n        speed,\n        inView,\n        out,\n        viewed\n      } = this.els[i];\n      if (inView) {\n        this.els[i].out && (this.els[i].out = false);\n        this.els[i].viewed = true;\n        dom.style.transform = `translate3d(0, ${-(s - bounds.top) * speed}px, 0)`;\n      } else if (!out && viewed) {\n        this.els[i].out = true;\n        dom.style.transform = `translate(0, ${-(s - bounds.top) * speed}px)`;\n      }\n    }\n  }\n}",null]}