UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

24 lines (22 loc) 763 B
import { addBodyClass, removeBodyClass } from "../../utils/dom.js"; import { noScrollClass } from "./consts.js"; import { useEffect, useState } from "react"; //#region src/core/vuiProvider/useBodyScrollLock.tsx const useBodyScrollLock = () => { const [isScrollLocked, setIsScrollLocked] = useState(false); const toggleIsScrollLocked = () => setIsScrollLocked(!isScrollLocked); useEffect(() => { if (isScrollLocked) addBodyClass(noScrollClass); else removeBodyClass(noScrollClass); return () => removeBodyClass(noScrollClass); }, [isScrollLocked]); return { isScrollLocked, setIsScrollLocked, toggleIsScrollLocked }; }; //#endregion export { useBodyScrollLock }; globalThis.__vuiVersion__ = "5.3.1" //# sourceMappingURL=useBodyScrollLock.js.map