@mantine/hooks
Version:
A collection of 50+ hooks for state and UI management
1 lines • 1.1 kB
Source Map (JSON)
{"version":3,"file":"use-viewport-size.mjs","names":[],"sources":["../../src/use-viewport-size/use-viewport-size.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { useWindowEvent } from '../use-window-event/use-window-event';\n\nconst eventListerOptions = {\n passive: true,\n};\n\nexport function useViewportSize() {\n const [windowSize, setWindowSize] = useState({\n width: 0,\n height: 0,\n });\n\n const setSize = useCallback(() => {\n setWindowSize({ width: window.innerWidth || 0, height: window.innerHeight || 0 });\n }, []);\n\n useWindowEvent('resize', setSize, eventListerOptions);\n useWindowEvent('orientationchange', setSize, eventListerOptions);\n useEffect(setSize, []);\n\n return windowSize;\n}\n"],"mappings":";;;;AAGA,MAAM,qBAAqB,EACzB,SAAS,MACV;AAED,SAAgB,kBAAkB;CAChC,MAAM,CAAC,YAAY,iBAAiB,SAAS;EAC3C,OAAO;EACP,QAAQ;EACT,CAAC;CAEF,MAAM,UAAU,kBAAkB;AAChC,gBAAc;GAAE,OAAO,OAAO,cAAc;GAAG,QAAQ,OAAO,eAAe;GAAG,CAAC;IAChF,EAAE,CAAC;AAEN,gBAAe,UAAU,SAAS,mBAAmB;AACrD,gBAAe,qBAAqB,SAAS,mBAAmB;AAChE,WAAU,SAAS,EAAE,CAAC;AAEtB,QAAO"}