@substrate-system/scroll-lock
Version:
Prevent scrolling
3 lines (2 loc) • 1.07 kB
JavaScript
var c=Object.defineProperty;var o=(e,n)=>c(e,"name",{value:n,configurable:!0});var l=new Set;function d(){let e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}o(d,"getScrollbarWidth");function r(){let e=Number(getComputedStyle(document.body).paddingRight.replace(/px/,""));return isNaN(e)||!e?0:e}o(r,"getExistingBodyPadding");function i(e){if(l.add(e),!document.documentElement.classList.contains("scroll-lock")){let n=d()+r(),t=getComputedStyle(document.documentElement).scrollbarGutter;(!t||t==="auto")&&(t="stable"),n<2&&(t=""),document.documentElement.style.setProperty("--scroll-lock-gutter",t),document.documentElement.classList.add("scroll-lock"),document.documentElement.style.setProperty("--scroll-lock-size",`${n}px`)}}o(i,"lockBodyScrolling");function m(e){l.delete(e),l.size===0&&(document.documentElement.classList.remove("scroll-lock"),document.documentElement.style.removeProperty("--scroll-lock-size"))}o(m,"unlockBodyScrolling");export{i as lockBodyScrolling,m as unlockBodyScrolling};
//# sourceMappingURL=index.min.js.map