UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

23 lines (22 loc) 985 B
"use client"; require("../../_virtual/_rolldown/runtime.cjs"); let react = require("react"); let _mantine_hooks = require("@mantine/hooks"); //#region packages/@mantine/core/src/components/ModalBase/use-lock-scroll.ts function useLockScroll({ opened, transitionDuration }) { const [shouldLockScroll, setShouldLockScroll] = (0, react.useState)(opened); const timeout = (0, react.useRef)(-1); const _transitionDuration = (0, _mantine_hooks.useReducedMotion)() ? 0 : transitionDuration; (0, react.useEffect)(() => { if (opened) { setShouldLockScroll(true); window.clearTimeout(timeout.current); } else if (_transitionDuration === 0) setShouldLockScroll(false); else timeout.current = window.setTimeout(() => setShouldLockScroll(false), _transitionDuration); return () => window.clearTimeout(timeout.current); }, [opened, _transitionDuration]); return shouldLockScroll; } //#endregion exports.useLockScroll = useLockScroll; //# sourceMappingURL=use-lock-scroll.cjs.map