{"version":3,"sources":["webpack:///./src/components/back-to-top/c-back-to-top.js","webpack:///./src/js/utils/throttle.js"],"names":["l","u","__webpack_require__","o","t","__esModule","default","_jquery2","$component","length","click","e","preventDefault","animate","scrollTop","scrollUp","_throttle2","document","addClass","removeClass","window","on","backToTopInit","callback","wait","context","arguments","this","timeout","callbackArgs","later","apply","setTimeout"],"mappings":"2FAAA,IAAAA,EAAAC,EAAAC,EAAA,KAAAC,EAAAF,EACAC,EAAA,eAAAD,EAAAG,GAAA,OAAAA,KAAAC,WAAAD,GAAAE,QAAAF,IAAA,EA8BAG,EAAAD,SAAE,YA5BoB,WAClB,IAAME,KAAaD,EAAAD,SAAE,kBAMrB,GAAIE,EAAWC,OAAQ,CAEnBD,EAAWE,MAAM,SAAAC,GACbA,EAAEC,oBACFL,EAAAD,SAAE,cAAcO,SAAUC,UAAW,GANzB,UAUhB,IAAMC,KAAWC,EAAAV,SAAS,cAClBC,EAAAD,SAAEW,UAAUH,YAbG,IAcfN,EAAWU,SAfF,cAiBTV,EAAWW,YAjBF,eAEE,QAmBnBZ,EAAAD,SAAEc,QAAQC,GAAG,SAAUN,IAvBT,MA6BlBO,4FChCW,SAAkBC,EAAUC,GAAsB,IAAhBC,EAAgBC,UAAAjB,OAAA,YAAAiB,UAAA,GAAAA,UAAA,GAANC,KACnDC,EAAU,KACVC,EAAe,KAEbC,EAAQ,WACVP,EAASQ,MAAMN,EAASI,GACxBD,EAAU,MAGd,OAAO,WACEA,IACDC,EAAeH,UACfE,EAAUI,WAAWF,EAAON","file":"js/19.chunk.js?v=1741037327230","sourcesContent":["import $ from 'jquery';\nimport throttle from 'utils/throttle';\n\nconst backToTopInit = () => {\n const $component = $('.c-back-to-top');\n const visibleClass = 'is-visible';\n const minVisibleDistance = 1000; // in px\n const scrollThrottle = 200; // in ms\n const scrollSpeed = 'slow';\n\n if ($component.length) {\n // scroll to top\n $component.click(e => {\n e.preventDefault();\n $('html, body').animate({ scrollTop: 0 }, scrollSpeed);\n });\n\n // throttle the check of document top postition compared to the minimum visible distance from page top every 200ms\n const scrollUp = throttle(() => {\n if ($(document).scrollTop() > minVisibleDistance) {\n $component.addClass(visibleClass);\n } else {\n $component.removeClass(visibleClass);\n }\n }, scrollThrottle);\n\n $(window).on('scroll', scrollUp);\n }\n};\n\n// doc ready\n$(() => {\n backToTopInit();\n});\n","export default function throttle(callback, wait, context = this) {\n let timeout = null;\n let callbackArgs = null;\n\n const later = () => {\n callback.apply(context, callbackArgs);\n timeout = null;\n };\n\n return function () {\n if (!timeout) {\n callbackArgs = arguments; // eslint-disable-line prefer-rest-params\n timeout = setTimeout(later, wait);\n }\n };\n}\n"],"sourceRoot":""}