UNPKG

@mantine/hooks

Version:

A collection of 50+ hooks for state and UI management

1 lines 1.15 kB
{"version":3,"file":"use-viewport-size.cjs","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,kBAAA,GAAA,MAAA,UAA0B;EAC3C,OAAO;EACP,QAAQ;EACT,CAAC;CAEF,MAAM,WAAA,GAAA,MAAA,mBAA4B;AAChC,gBAAc;GAAE,OAAO,OAAO,cAAc;GAAG,QAAQ,OAAO,eAAe;GAAG,CAAC;IAChF,EAAE,CAAC;AAEN,0BAAA,eAAe,UAAU,SAAS,mBAAmB;AACrD,0BAAA,eAAe,qBAAqB,SAAS,mBAAmB;AAChE,EAAA,GAAA,MAAA,WAAU,SAAS,EAAE,CAAC;AAEtB,QAAO"}