{"version":3,"file":"ScrollPosSaveReload.C-RwqO-V.mjs","names":["__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/1VvW8ulRa1F9UNDl2xxL/8OvtAeqgc8oP4RyGPeKA/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,IAAQ,SAAgB,GAAsB,CAMjN,OANkN,MAAoB,CAAC,IAAM,EAAI,GAAa,CACxP,EAAM,EAAU,IAAI,EAAI,EAAE,EAC7B,sBAAsB,UAAS,QAAQ,kBAAkB,UAAU,IAAI,EAAI,KAAS,EAAM,EAAQ,MAAY,CACjH,EAAO,SAAS,EAAE,EAAM,CAAC,IAAW,EAAM,IAAI,KAAK,IAAI,EAAO,QAAQ,EAAM,CAAC,IAAG,EAAI,sBAAsB,EAAQ,GAAI,eAAe,CAAC,EAAI,sBAAsB,EAAQ,EAAG,EAAE,CAAC,IAAM,EAAS,IAAI,mBAAmB,CAAI,KAAK,IAAI,EAAO,QAAQ,EAAM,CAAC,GAAG,EAAO,SAAS,EAAE,EAAM,EAAI,CAAC,EAAS,QAAQ,SAAS,KAAK,CAAC,eAAe,EAAS,YAAY,CAAC,IAAI,CAChW,IAAM,MAAa,EAAU,IAAI,EAAI,EAAO,QAAQ,CAAC,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,GAAK,CAAC,CAC9G,IAAM,MAAe,EAAU,IAAI,EAAI,EAAO,QAAQ,CAAgD,OAA/C,EAAO,iBAAiB,WAAW,EAAW,KAAW,CAAC,EAAO,oBAAoB,SAAS,EAAS,CAAC,EAAO,oBAAoB,WAAW,EAAW,CAAI,GAAI,qBAAqB,EAAI,GAAK,EAAE,CAAC,CACnP,EAAE,CAAqJ,SAAgB,EAAyB,EAAE,CAAC,MAAO,KAAQ,EAA+BA,EAAwC,CAAQC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAqB,EAAM,CAAC,CAAC,yBAP7S,IAA4B,IAOsF,CANvJ,EAAU,IAAI,IAMwU,EAAyB,YAAY"}