{"version":3,"file":"ViewportOverride.BEDO2Spf.mjs","names":["useRef","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/oRxDN0WFJfvGG4WRtO0q/H0EVJnLBBeVZgsnytk2L/ViewportOverride.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";function isHidden(el){const s=window.getComputedStyle(el);if(s.display===\"none\")return true;if(s.visibility===\"hidden\")return true;if(parseFloat(s.opacity||\"1\")<.05)return true;if(el.getAttribute(\"aria-hidden\")===\"true\")return true;return false;}export function OverlayLayerDynamicVH(){const armedRef=useRef(false);const lockedRef=useRef(false);const scrollYRef=useRef(0);useEffect(()=>{const vv=window.visualViewport;let raf=0;const arm=()=>{armedRef.current=true;window.removeEventListener(\"pointerdown\",arm,true);window.removeEventListener(\"touchstart\",arm,true);window.removeEventListener(\"keydown\",arm,true);};window.addEventListener(\"pointerdown\",arm,true);window.addEventListener(\"touchstart\",arm,true);window.addEventListener(\"keydown\",arm,true);const lockScroll=()=>{if(lockedRef.current)return;lockedRef.current=true;const y=window.scrollY||0;scrollYRef.current=y;document.documentElement.style.scrollBehavior=\"auto\";document.body.style.position=\"fixed\";document.body.style.top=`-${y}px`;document.body.style.left=\"0\";document.body.style.right=\"0\";document.body.style.width=\"100%\";document.body.style.overflow=\"hidden\";};const unlockScroll=()=>{if(!lockedRef.current)return;lockedRef.current=false;const y=scrollYRef.current;document.body.style.position=\"\";document.body.style.top=\"\";document.body.style.left=\"\";document.body.style.right=\"\";document.body.style.width=\"\";document.body.style.overflow=\"\";document.documentElement.style.scrollBehavior=\"\";requestAnimationFrame(()=>{window.scrollTo(0,y);setTimeout(()=>window.scrollTo(0,y),0);});};const clearOverlayInline=el=>{el.style.position=\"\";el.style.inset=\"\";el.style.left=\"\";el.style.top=\"\";el.style.width=\"\";el.style.height=\"\";el.style.minHeight=\"\";el.style.zIndex=\"\";el.style.pointerEvents=\"\";};const applyOverlayInline=el=>{const height=Math.round(vv?.height??window.innerHeight);const width=Math.round(vv?.width??window.innerWidth);const top=Math.round(vv?.offsetTop??0);const left=Math.round(vv?.offsetLeft??0);el.style.position=\"fixed\";el.style.top=`${top}px`;el.style.left=`${left}px`;el.style.width=`${width}px`;el.style.height=`${height}px`;el.style.minHeight=`${height}px`;el.style.zIndex=\"9999\";el.style.pointerEvents=\"auto\";};const update=()=>{if(raf)cancelAnimationFrame(raf);raf=requestAnimationFrame(()=>{const overlay=document.querySelector('[data-framer-name=\"OverlayLayer\"]');// If the overlay node isn't present (Framer swapped DOM), always unlock.\nif(!overlay){unlockScroll();return;}// Closed (or not armed yet): clear + unlock\nif(!armedRef.current||isHidden(overlay)){clearOverlayInline(overlay);unlockScroll();return;}// Open\napplyOverlayInline(overlay);lockScroll();});};// Initial + iOS settle\nupdate();const t0=window.setTimeout(update,50);const t1=window.setTimeout(update,250);// ✅ Important: also listen to window scroll (variant swaps often coincide with scroll/sticky updates)\nwindow.addEventListener(\"scroll\",update,{passive:true});window.addEventListener(\"resize\",update);vv?.addEventListener(\"resize\",update);vv?.addEventListener(\"scroll\",update);// ✅ Observe a stable parent so variant DOM swaps still trigger update()\nconst mo=new MutationObserver(update);mo.observe(document.body,{subtree:true,attributes:true,childList:true,attributeFilter:[\"style\",\"class\",\"aria-hidden\"]});return()=>{window.removeEventListener(\"scroll\",update);window.removeEventListener(\"resize\",update);vv?.removeEventListener(\"resize\",update);vv?.removeEventListener(\"scroll\",update);window.clearTimeout(t0);window.clearTimeout(t1);mo.disconnect();if(raf)cancelAnimationFrame(raf);unlockScroll();window.removeEventListener(\"pointerdown\",arm,true);window.removeEventListener(\"touchstart\",arm,true);window.removeEventListener(\"keydown\",arm,true);};},[]);return{};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withOverlayLayerDynamicVH(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...OverlayLayerDynamicVH(props)});};}withOverlayLayerDynamicVH.displayName=\"OverlayLayerDynamicVH\";\nexport const __FramerMetadata__ = {\"exports\":{\"OverlayLayerDynamicVH\":{\"type\":\"override\",\"name\":\"OverlayLayerDynamicVH\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withOverlayLayerDynamicVH\":{\"type\":\"reactHoc\",\"name\":\"withOverlayLayerDynamicVH\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ViewportOverride.map"],"mappings":"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"}