{"version":3,"file":"ScrollPosSaveReload.DBydBWg3.mjs","names":["__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/JcT0GzOiGFQz5lCqS9J2/e0tnAvm6zRZGWecahx2s/ScrollPosSaveReload.js"],"sourcesContent":["//I found this code override to work; just apply to the entire page\n// PreserveWindowScroll.tsx\nimport{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";// In-memory store for scroll positions keyed by URL\nconst positions=new Map;function keyForRoute(){if(typeof window===\"undefined\")return\"ssr\";const{pathname,search,hash}=window.location;return`${pathname}${search}${hash}`;}export function PreserveWindowScroll(){React.useEffect(()=>{const key=keyForRoute();// Restore on mount (after layout paints)\nconst saved=positions.get(key)??0;// Safari braucht history.scrollRestoration = 'manual'\nif(\"scrollRestoration\"in history){history.scrollRestoration=\"manual\";}let raf=null;let tries=0;const restore=()=>{// Try a few frames so images/fonts don’t defeat the restore\nwindow.scrollTo(0,saved);tries++;if(tries<30&&Math.abs(window.scrollY-saved)>2){raf=requestAnimationFrame(restore);}};setTimeout(()=>{raf=requestAnimationFrame(restore);},0);const observer=new ResizeObserver(()=>{if(Math.abs(window.scrollY-saved)>1){window.scrollTo(0,saved);}});observer.observe(document.body);setTimeout(()=>observer.disconnect(),5e3);// Save while scrolling\nconst onScroll=()=>positions.set(key,window.scrollY);window.addEventListener(\"scroll\",onScroll,{passive:true});// Also save right before nav/unload just in case\nconst onPageHide=()=>positions.set(key,window.scrollY);window.addEventListener(\"pagehide\",onPageHide);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"pagehide\",onPageHide);if(raf)cancelAnimationFrame(raf);};},[]);// No prop changes needed—just return an empty override\nreturn{};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withPreserveWindowScroll(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...PreserveWindowScroll(props)});};}withPreserveWindowScroll.displayName=\"PreserveWindowScroll\";\nexport const __FramerMetadata__ = {\"exports\":{\"withPreserveWindowScroll\":{\"type\":\"reactHoc\",\"name\":\"withPreserveWindowScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PreserveWindowScroll\":{\"type\":\"override\",\"name\":\"PreserveWindowScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollPosSaveReload.map"],"mappings":"mLAGwB,SAAS,GAAa,CAAC,GAAU,IAAS,OAAY,MAAM,MAAM,GAAK,CAAC,WAAS,SAAO,QAAM,EAAO,SAAS,MAAM,GAAG,IAAW,IAAS,GAAO,CAAC,SAAgB,GAAsB,CAMjN,OANkN,MAAoB,CAAC,IAAM,EAAI,EAAY,EACvP,EAAM,EAAU,IAAI,CAAG,GAAG,EAC7B,sBAAsB,UAAS,QAAQ,kBAAkB,UAAU,IAAI,EAAI,KAAS,EAAM,EAAQ,MAAY,CACjH,EAAO,SAAS,EAAE,CAAK,EAAE,IAAW,EAAM,IAAI,KAAK,IAAI,EAAO,QAAQ,CAAK,EAAE,IAAG,EAAI,sBAAsB,CAAO,EAAG,EAAE,eAAe,CAAC,EAAI,sBAAsB,CAAO,CAAE,EAAE,CAAC,EAAE,IAAM,EAAS,IAAI,mBAAmB,CAAI,KAAK,IAAI,EAAO,QAAQ,CAAK,EAAE,GAAG,EAAO,SAAS,EAAE,CAAK,CAAG,CAAC,EAAE,EAAS,QAAQ,SAAS,IAAI,EAAE,eAAe,EAAS,WAAW,EAAE,GAAG,EAC/V,IAAM,MAAa,EAAU,IAAI,EAAI,EAAO,OAAO,EAAE,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,EAAI,CAAC,EAC7G,IAAM,MAAe,EAAU,IAAI,EAAI,EAAO,OAAO,EAAiD,OAA/C,EAAO,iBAAiB,WAAW,CAAU,MAAY,CAAC,EAAO,oBAAoB,SAAS,CAAQ,EAAE,EAAO,oBAAoB,WAAW,CAAU,EAAK,GAAI,qBAAqB,CAAG,CAAE,CAAE,EAAE,CAAC,CAAC,EAClP,CAAC,CAAE,CAAoJ,SAAgB,EAAyB,EAAE,CAAC,MAAO,KAAQ,EAA+BA,CAAuC,EAASC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAqB,CAAK,CAAC,CAAC,EAAI,uBAPjT,IAA4B,IAOsF,EANtJ,EAAU,IAAI,IAMwU,EAAyB,YAAY"}