react-ios-scroll-lock
Version:
A lightweight CSS-only scroll lock solution for iOS Safari and Android
2 lines (1 loc) • 873 B
JavaScript
import e,{useEffect as n}from"react";function i(i){var t=i.children,o=i.isOpen,r=void 0!==o&&o,l=i.isInline,s=void 0!==l&&l,c=i.className,a=void 0===c?"":c,d=i.bgColor,m=void 0===d?"":d;n(function(){function e(){document.documentElement.style.setProperty("--isl-vh",.01*window.innerHeight+"px")}if("undefined"!=typeof window&&navigator.userAgent.match(/iPhone|iPad|iPod/i))return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}},[]);var v=m?{"--isl-bg":m}:void 0;return e.createElement("div",{className:"isl_holder".concat(s?" isl_holder--contents":"").concat(r?" isl_holder--open":"").concat(a?" ".concat(a):""),style:v},e.createElement("div",{className:"isl_scroller"},e.createElement("div",{className:"isl_scroller_inner"},e.createElement("div",{className:"isl_scroller_content"},t))))}export{i as IosScrollLock,i as default};