UNPKG

@mantine/hooks

Version:

A collection of 50+ hooks for state and UI management

25 lines (24 loc) 773 B
"use client"; import { useWindowEvent } from "../use-window-event/use-window-event.mjs"; import { useCallback, useEffect, useState } from "react"; //#region packages/@mantine/hooks/src/use-viewport-size/use-viewport-size.ts 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; } //#endregion export { useViewportSize }; //# sourceMappingURL=use-viewport-size.mjs.map