{"version":3,"file":"index-BW20NcoO.js","sources":["../../Client/legacy/Components/BackToTop/index.tsx"],"sourcesContent":["import { useClassName } from '@shared/Hooks/ClassName';\r\nimport Portal from '@webkit/components/portal';\r\nimport { FunctionComponent, useEffect, useState } from 'react';\r\nimport './style.scss';\r\n\r\ntype Props = {\r\n /** Optional token to set the pixel depth to trigger the back to top button appearance. Default is 1500. */\r\n scrollDepth?: number;\r\n\r\n /** Optional token to add a class to change styles for custom applications */\r\n addClass?: string;\r\n};\r\n\r\nexport const BackToTop: FunctionComponent<Props> = props => {\r\n const [isTop, setIsTop] = useState<boolean>(true),\r\n className = useClassName('back-to-top', [isTop ? '' : 'visible', props.addClass ?? '']);\r\n\r\n useEffect(() => {\r\n document.addEventListener('scroll', onScroll);\r\n return () => document.removeEventListener('scroll', onScroll);\r\n }, []);\r\n\r\n return (\r\n <Portal>\r\n <div\r\n className={className}\r\n onClick={() =>\r\n window.scrollTo({\r\n top: 700,\r\n left: 0,\r\n behavior: 'smooth',\r\n })\r\n }\r\n >\r\n <i className='chevron-cp' />\r\n </div>\r\n </Portal>\r\n );\r\n\r\n function onScroll() {\r\n setIsTop(window.scrollY < (props.scrollDepth ? props.scrollDepth : 1500));\r\n }\r\n};\r\n"],"names":["BackToTop","props","isTop","setIsTop","useState","className","useClassName","useEffect","onScroll","Portal","jsx"],"mappings":"mIAaO,MAAMA,EAA+CC,GAAA,CACxD,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAAkB,EAAI,EAC5CC,EAAYC,EAAa,cAAe,CAACJ,EAAQ,GAAK,UAAWD,EAAM,UAAY,EAAE,CAAC,EAE1FM,OAAAA,EAAAA,UAAU,KACG,SAAA,iBAAiB,SAAUC,CAAQ,EACrC,IAAM,SAAS,oBAAoB,SAAUA,CAAQ,GAC7D,EAAE,QAGAC,EACG,CAAA,SAAAC,EAAA,IAAC,MAAA,CACG,UAAAL,EACA,QAAS,IACL,OAAO,SAAS,CACZ,IAAK,IACL,KAAM,EACN,SAAU,QAAA,CACb,EAGL,SAAAK,EAAAA,IAAC,IAAE,CAAA,UAAU,YAAa,CAAA,CAAA,CAAA,EAElC,EAGJ,SAASF,GAAW,CAChBL,EAAS,OAAO,SAAWF,EAAM,YAAcA,EAAM,YAAc,KAAK,CAAA,CAEhF"}