{"version":3,"file":"static/js/40999.56808634.chunk.js","mappings":"+IAGO,MAAMA,EAAwB,WAIzB,IAHVC,IAASC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GACTG,EAA8BH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAC9BE,IAAOJ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAEP,MAAMK,GAAoBC,EAAAA,EAAAA,QAAsB,OAChDC,EAAAA,EAAAA,YAAU,KACR,GAAIJ,EACF,OAGF,MAAMK,EAAQC,YAAW,KACnBV,GAA8C,WAAjCW,SAASC,KAAKC,MAAMC,WACnCR,EAAkBS,QAAUC,OAAOC,QACnCN,SAASC,KAAKC,MAAMC,SAAW,SAC/BH,SAASC,KAAKC,MAAMK,YAAc,OAE9Bb,IACFM,SAASQ,gBAAgBN,MAAMC,SAAW,SAC1CH,SAASC,KAAKC,MAAMO,SAAW,SAEnC,GACCC,EAAAA,GAAgBC,cAEnB,MAAO,KACL,IAAIlB,IAIJmB,aAAad,GACbE,SAASC,KAAKC,MAAMW,eAAe,YACnCb,SAASC,KAAKC,MAAMW,eAAe,gBAE/BxB,GAAW,CACb,MAAMyB,EAAsBC,aAAY,KACtCf,SAASC,KAAKC,MAAMC,SAAW,GAC/BH,SAASQ,gBAAgBN,MAAMC,SAAW,GAC1Ca,cAAcF,EAAoB,GACjCJ,EAAAA,GAAgBO,cAEnBtB,EAAkBS,SAChBC,OAAOa,SAAS,EAAGvB,EAAkBS,QACzC,EACD,GACA,CAACf,GACN,C","sources":["hooks/usePopupScrollDisable.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\n\nexport const usePopupScrollDisable = (\n  condition = true,\n  preventScrollDisable?: boolean,\n  fixBody = true\n): void => {\n  const scrollPositionRef = useRef<null | number>(null);\n  useEffect(() => {\n    if (preventScrollDisable) {\n      return;\n    }\n\n    const timer = setTimeout(() => {\n      if (condition && document.body.style.overflow !== 'hidden') {\n        scrollPositionRef.current = window.scrollY;\n        document.body.style.overflow = 'hidden';\n        document.body.style.touchAction = 'none';\n\n        if (fixBody) {\n          document.documentElement.style.overflow = 'hidden';\n          document.body.style.position = 'fixed';\n        }\n      }\n    }, timeoutDuration.DURATION_200);\n\n    return () => {\n      if (preventScrollDisable) {\n        return;\n      }\n\n      clearTimeout(timer);\n      document.body.style.removeProperty('position');\n      document.body.style.removeProperty('touch-action');\n\n      if (condition) {\n        const setOverflowInterval = setInterval(() => {\n          document.body.style.overflow = '';\n          document.documentElement.style.overflow = '';\n          clearInterval(setOverflowInterval);\n        }, timeoutDuration.DURATION_100);\n\n        scrollPositionRef.current &&\n          window.scrollTo(0, scrollPositionRef.current);\n      }\n    };\n  }, [condition]);\n};\n"],"names":["usePopupScrollDisable","condition","arguments","length","undefined","preventScrollDisable","fixBody","scrollPositionRef","useRef","useEffect","timer","setTimeout","document","body","style","overflow","current","window","scrollY","touchAction","documentElement","position","timeoutDuration","DURATION_200","clearTimeout","removeProperty","setOverflowInterval","setInterval","clearInterval","DURATION_100","scrollTo"],"sourceRoot":""}