{"version":3,"sources":["common/ScrollToTop/styles.ts","common/utils/getWindow.ts","common/ScrollToTop/index.tsx"],"names":["ScrollUpContainer","styled","p","show","isWindow","obj","undefined","window","ScrollToTop","useState","showScroll","setShowScroll","checkScrollTop","event","offsetFromTop","target","top","method","result","Document","documentElement","ownerDocument","getScroll","useEffect","addEventListener","removeEventListener","onClick","document","getElementById","scrollIntoView","behavior","block","inline","SvgIcon","src","width","height"],"mappings":"gKAEaA,EAAoBC,YAAO,MAAPA,CAAH,qeAYd,SAACC,GAAD,OAAQA,EAAEC,KAAO,UAAY,YAChC,SAACD,GAAD,OAAQA,EAAEC,KAAO,IAAM,OCf7B,SAASC,EAASC,GACvB,OAAe,OAARA,QAAwBC,IAARD,GAAqBA,IAAQA,EAAIE,OAGnD,I,OCsCQC,UArCK,WAClB,MAAoCC,oBAAS,GAA7C,mBAAOC,EAAP,KAAmBC,EAAnB,KAEMC,EAAiB,SAACC,GACtB,IAAMC,EDLe,SACvBC,EACAC,GAEA,GAAsB,qBAAXT,OACT,OAAO,EAET,IAS+D,EATzDU,EAASD,EAAM,YAAc,aAC/BE,EAAS,EAYb,OAXId,EAASW,GACXG,EAAUH,EAAkBC,EAAM,cAAgB,eACzCD,aAAkBI,SAC3BD,EAASH,EAAOK,gBAAgBH,GACvBF,IACTG,EAAUH,EAAuBE,IAE/BF,IAAWX,EAASW,IAA6B,kBAAXG,IACxCA,EAAM,WAAKH,EAAuBM,eAAkBN,GACjDK,uBADG,aAAG,EACYH,IAEhBC,ECfiBI,CAAUT,EAAME,QAAQ,IAEzCL,GAAcI,EAAgB,IACjCH,GAAc,GACLG,GAAiB,KAC1BH,GAAc,IAIlBY,qBAAU,WAER,OADAhB,OAAOiB,iBAAiB,SAAUZ,GAC3B,WACLL,OAAOkB,oBAAoB,SAAUb,MAGtC,IAWH,OACE,cAACZ,EAAD,CAAmB0B,QAVJ,WACCC,SAASC,eAAe,SAChCC,eAAe,CACrBC,SAAU,SACVC,MAAO,MACPC,OAAQ,aAK4B7B,KAAMO,EAA5C,SACE,cAACuB,EAAA,EAAD,CAASC,IAAI,iBAAiBC,MAAM,OAAOC,OAAO","file":"static/js/4.6db6266f.chunk.js","sourcesContent":["import styled from \"styled-components\";\r\n\r\nexport const ScrollUpContainer = styled(\"div\")`\r\n padding: 10px;\r\n position: fixed;\r\n right: 100px;\r\n bottom: 30px;\r\n z-index: 10;\r\n cursor: pointer;\r\n background: rgb(241, 242, 243);\r\n text-align: center;\r\n align-items: center;\r\n border-radius: 4px;\r\n transition: all 0.3s ease-in-out;\r\n visibility: ${(p) => (p.show ? \"visible\" : \"hidden\")};\r\n opacity: ${(p) => (p.show ? \"1\" : \"0\")};\r\n display: flex;\r\n\r\n &:hover,\r\n &:active,\r\n &:focus {\r\n background: rgb(224, 224, 224);\r\n }\r\n\r\n @media screen and (max-width: 1240px) {\r\n display: none;\r\n }\r\n`;\r\n","export function isWindow(obj: any) {\r\n return obj !== null && obj !== undefined && obj === obj.window;\r\n}\r\n\r\nexport const getScroll = (\r\n target: HTMLElement | Window | Document | null,\r\n top: boolean\r\n): number => {\r\n if (typeof window === \"undefined\") {\r\n return 0;\r\n }\r\n const method = top ? \"scrollTop\" : \"scrollLeft\";\r\n let result = 0;\r\n if (isWindow(target)) {\r\n result = (target as Window)[top ? \"pageYOffset\" : \"pageXOffset\"];\r\n } else if (target instanceof Document) {\r\n result = target.documentElement[method];\r\n } else if (target) {\r\n result = (target as HTMLElement)[method];\r\n }\r\n if (target && !isWindow(target) && typeof result !== \"number\") {\r\n result = ((target as HTMLElement).ownerDocument || (target as Document))\r\n .documentElement?.[method];\r\n }\r\n return result;\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { SvgIcon } from \"../SvgIcon\";\r\nimport { ScrollUpContainer } from \"./styles\";\r\nimport { getScroll } from \"../utils/getWindow\";\r\n\r\nconst ScrollToTop = () => {\r\n const [showScroll, setShowScroll] = useState(false);\r\n\r\n const checkScrollTop = (event: any) => {\r\n const offsetFromTop = getScroll(event.target, true);\r\n\r\n if (!showScroll && offsetFromTop > 350) {\r\n setShowScroll(true);\r\n } else if (offsetFromTop <= 350) {\r\n setShowScroll(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", checkScrollTop);\r\n return () => {\r\n window.removeEventListener(\"scroll\", checkScrollTop);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const scrollUp = () => {\r\n const element = document.getElementById(\"intro\") as HTMLDivElement;\r\n element.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"end\",\r\n inline: \"nearest\",\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ScrollToTop;\r\n"],"sourceRoot":""}