@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
JavaScript
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