react-ios-scroll-lock
Version:
A lightweight CSS-only scroll lock solution for iOS Safari and Android
2 lines (1 loc) • 939 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");function n(n){var t=n.children,i=n.isOpen,o=void 0!==i&&i,r=n.isInline,s=void 0!==r&&r,l=n.className,c=void 0===l?"":l,a=n.bgColor,d=void 0===a?"":a;e.useEffect(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=d?{"--isl-bg":d}:void 0;return e.createElement("div",{className:"isl_holder".concat(s?" isl_holder--contents":"").concat(o?" isl_holder--open":"").concat(c?" ".concat(c):""),style:v},e.createElement("div",{className:"isl_scroller"},e.createElement("div",{className:"isl_scroller_inner"},e.createElement("div",{className:"isl_scroller_content"},t))))}exports.IosScrollLock=n,exports.default=n;