{"version":3,"file":"useSmoothScroller-yM550cb-.js","sources":["../../../app/frontend/composables/useSmoothScroller.js"],"sourcesContent":["const useSmoothScroller = () => {\n // t = current time, b = start value, c = change in value, d = duration\n const easeInOutQuad = (t, b, c, d) => {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n };\n\n const polyfillScroll = (to, duration = 600) => {\n const element = document.scrollingElement || document.documentElement;\n const start = element.scrollTop;\n const change = to - start;\n const startDate = +new Date();\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n element.scrollTop = parseInt(easeInOutQuad(currentTime, start, change, duration));\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n }\n else {\n element.scrollTop = to;\n }\n };\n\n animateScroll();\n };\n\n const smoothScrollToElement = (el, offset = 0, delayInMs = 0) => {\n const supportsNativeSmoothScroll = 'scrollBehavior' in document.documentElement.style;\n const top = el.offsetTop - offset;\n setTimeout(() => {\n supportsNativeSmoothScroll ? window.scroll({ top, behavior: 'smooth' }) : polyfillScroll(top);\n }, delayInMs);\n };\n\n return { smoothScrollToElement };\n};\n\nexport default useSmoothScroller;\n"],"names":["useSmoothScroller","easeInOutQuad","t","b","c","d","polyfillScroll","to","duration","element","start","change","startDate","animateScroll","currentTime","el","offset","delayInMs","supportsNativeSmoothScroll","top"],"mappings":"AAAK,MAACA,EAAoB,IAAM,CAE9B,MAAMC,EAAgB,CAACC,EAAGC,EAAGC,EAAGC,KAC9BH,GAAKG,EAAI,EACLH,EAAI,EAAUE,EAAI,EAAIF,EAAIA,EAAIC,GAClCD,IACO,CAACE,EAAI,GAAKF,GAAKA,EAAI,GAAK,GAAKC,IAGhCG,EAAiB,CAACC,EAAIC,EAAW,MAAQ,CAC7C,MAAMC,EAAU,SAAS,kBAAoB,SAAS,gBAChDC,EAAQD,EAAQ,UAChBE,EAASJ,EAAKG,EACdE,EAAY,CAAC,IAAI,KAEjBC,EAAgB,IAAM,CAE1B,MAAMC,EADc,CAAC,IAAI,KACSF,EAClCH,EAAQ,UAAY,SAASR,EAAca,EAAaJ,EAAOC,EAAQH,CAAQ,CAAC,EAC5EM,EAAcN,EAChB,sBAAsBK,CAAa,EAGnCJ,EAAQ,UAAYF,CAE5B,EAEIM,GACJ,EAUE,MAAO,CAAE,sBARqB,CAACE,EAAIC,EAAS,EAAGC,EAAY,IAAM,CAC/D,MAAMC,EAA6B,mBAAoB,SAAS,gBAAgB,MAC1EC,EAAMJ,EAAG,UAAYC,EAC3B,WAAW,IAAM,CACfE,EAA6B,OAAO,OAAO,CAAE,IAAAC,EAAK,SAAU,SAAU,EAAIb,EAAea,CAAG,CAC7F,EAAEF,CAAS,CAChB,CAEgC,CAChC"}