UNPKG

@mantine/hooks

Version:

A collection of 50+ hooks for state and UI management

24 lines (21 loc) 693 B
'use client'; import { useState, useCallback, useEffect } from 'react'; import { useWindowEvent } from '../use-window-event/use-window-event.mjs'; const eventListerOptions = { passive: true }; function useViewportSize() { const [windowSize, setWindowSize] = useState({ width: 0, height: 0 }); const setSize = useCallback(() => { setWindowSize({ width: window.innerWidth || 0, height: window.innerHeight || 0 }); }, []); useWindowEvent("resize", setSize, eventListerOptions); useWindowEvent("orientationchange", setSize, eventListerOptions); useEffect(setSize, []); return windowSize; } export { useViewportSize }; //# sourceMappingURL=use-viewport-size.mjs.map