{"version":3,"file":"useWindowSize.mjs","sources":["../../../packages/hooks/useWindowSize.ts"],"sourcesContent":["import { useCallback, useState, useEffect } from 'react'\n\ntype WindowSize = [width: number, height: number]\n\nconst getWindowSize = (): WindowSize => {\n  const width = window.innerWidth\n  const height = window.innerHeight\n\n  return [width, height]\n}\n\nexport const useWindowSize = (): WindowSize => {\n  const [size, setSize] = useState(getWindowSize)\n\n  const handleResize = useCallback(() => {\n    setSize(getWindowSize())\n  }, [])\n\n  useEffect(() => {\n    window.addEventListener('resize', handleResize)\n\n    return () => window.removeEventListener('resize', handleResize)\n  }, [handleResize])\n\n  return size\n}\n"],"names":["getWindowSize","width","window","innerWidth","height","innerHeight","useWindowSize","size","setSize","useState","handleResize","useCallback","useEffect","addEventListener","removeEventListener"],"mappings":";;AAIA,MAAMA,aAAa,GAAGA,MAAkB;AACtC,EAAA,MAAMC,KAAK,GAAGC,MAAM,CAACC,UAAU,CAAA;AAC/B,EAAA,MAAMC,MAAM,GAAGF,MAAM,CAACG,WAAW,CAAA;AAEjC,EAAA,OAAO,CAACJ,KAAK,EAAEG,MAAM,CAAC,CAAA;AACxB,CAAC,CAAA;AAEYE,MAAAA,aAAa,GAAGA,MAAkB;EAC7C,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGC,QAAQ,CAACT,aAAa,CAAC,CAAA;AAE/C,EAAA,MAAMU,YAAY,GAAGC,WAAW,CAAC,MAAM;AACrCH,IAAAA,OAAO,CAACR,aAAa,EAAE,CAAC,CAAA;GACzB,EAAE,EAAE,CAAC,CAAA;AAENY,EAAAA,SAAS,CAAC,MAAM;AACdV,IAAAA,MAAM,CAACW,gBAAgB,CAAC,QAAQ,EAAEH,YAAY,CAAC,CAAA;IAE/C,OAAO,MAAMR,MAAM,CAACY,mBAAmB,CAAC,QAAQ,EAAEJ,YAAY,CAAC,CAAA;AACjE,GAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,OAAOH,IAAI,CAAA;AACb;;;;"}