UNPKG

@guruhotel/aura-hooks

Version:

🪝 Hooks library designed by the Guruhotel team for Aura UI

1 lines 829 B
exports.__esModule=!0,exports.useScrollLock=function(u,n={disableBodyPadding:!1}){const[i,d]=(0,e.useState)(u||!1),o=(0,e.useRef)(0),{disableBodyPadding:c}=n,a=(0,e.useRef)(null),y=()=>{null!=a&&a.current&&(a.current.parentNode.removeChild(a.current),a.current=null)};return(0,e.useEffect)((()=>(i?(()=>{o.current=window.scrollY;const e=(0,t.getLockStyles)({disableBodyPadding:c}),u=(0,s.makeStyleTag)();(0,r.injectStyles)(u,e),(0,l.insertStyleTag)(u),a.current=u})():y(),y)),[i]),(0,e.useEffect)((()=>{void 0!==u&&d(u)}),[u]),(0,e.useEffect)((()=>{void 0===u&&"undefined"!=typeof window&&"hidden"===window.document.body.style.overflow&&d(!0)}),[d]),[i,d]};var e=require("react"),t=require("./utils/get-lock-styles"),r=require("./utils/inject-style-tag"),l=require("./utils/insert-style-tag"),s=require("./utils/make-style-tag");