{"version":3,"file":"StickyOverride.Xa_x0YRi.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/I1G09pGtRIy78GC6TGS8/eHL1WdIE2pcF62Hd0ZEY/StickyOverride.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";/**\n * StickyOverride — JS-driven sticky for DESKTOP ONLY.\n * On tablet/phone, does nothing — sidebar flows naturally.\n */export function withSticky(Component){return props=>{const ref=useRef(null);useEffect(()=>{const el=ref.current;if(!el)return;// Only activate on desktop (> 1024px)\nconst mq=window.matchMedia(\"(min-width: 1024px)\");let ticking=false;let active=mq.matches;const container=el.parentElement;if(!container)return;const topOffset=120;function update(){if(!el||!container||!active)return;const containerRect=container.getBoundingClientRect();const elHeight=el.offsetHeight;let translateY=0;if(containerRect.top<topOffset){translateY=topOffset-containerRect.top;const maxTranslate=containerRect.height-elHeight;if(translateY>maxTranslate){translateY=Math.max(0,maxTranslate);}}el.style.transform=`translateY(${translateY}px)`;el.style.willChange=\"transform\";ticking=false;}function onScroll(){if(!ticking&&active){requestAnimationFrame(update);ticking=true;}}function reset(){if(!el)return;el.style.transform=\"\";el.style.willChange=\"\";el.style.position=\"\";el.style.top=\"\";el.style.alignSelf=\"\";}function activate(){if(!el)return;el.style.position=\"relative\";el.style.top=\"auto\";el.style.alignSelf=\"flex-start\";update();}function onMediaChange(e){active=e.matches;if(active){activate();}else{reset();}}if(active){activate();}window.addEventListener(\"scroll\",onScroll,{passive:true});mq.addEventListener(\"change\",onMediaChange);return()=>{window.removeEventListener(\"scroll\",onScroll);mq.removeEventListener(\"change\",onMediaChange);reset();};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withSticky\":{\"type\":\"reactHoc\",\"name\":\"withSticky\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StickyOverride.map"],"mappings":"uIAGG,SAAgB,EAAW,EAAU,CAAC,MAAO,IAAO,CAAC,IAAM,EAAIA,EAAO,KAAK,CAC4qC,OAD3qC,MAAc,CAAC,IAAM,EAAG,EAAI,QAAQ,GAAG,CAAC,EAAG,OAC1H,IAAM,EAAG,EAAO,WAAW,sBAAsB,CAAK,EAAQ,GAAU,EAAO,EAAG,QAAc,EAAU,EAAG,cAAc,GAAG,CAAC,EAAU,OAA2B,SAAS,GAAQ,CAAC,GAAG,CAAC,GAAI,CAAC,GAAW,CAAC,EAAO,OAAO,IAAM,EAAc,EAAU,uBAAuB,CAAO,EAAS,EAAG,aAAiB,EAAW,EAAE,GAAG,EAAc,IAAI,IAAU,CAAC,EAAW,IAAU,EAAc,IAAI,IAAM,EAAa,EAAc,OAAO,EAAY,EAAW,IAAc,EAAW,KAAK,IAAI,EAAE,EAAa,EAAG,EAAG,MAAM,UAAU,cAAc,EAAW,KAAK,EAAG,MAAM,WAAW,YAAY,EAAQ,GAAO,SAAS,GAAU,CAAI,CAAC,GAAS,IAAQ,sBAAsB,EAAO,CAAC,EAAQ,IAAO,SAAS,GAAO,CAAK,IAAU,EAAG,MAAM,UAAU,GAAG,EAAG,MAAM,WAAW,GAAG,EAAG,MAAM,SAAS,GAAG,EAAG,MAAM,IAAI,GAAG,EAAG,MAAM,UAAU,IAAI,SAAS,GAAU,CAAK,IAAU,EAAG,MAAM,SAAS,WAAW,EAAG,MAAM,IAAI,OAAO,EAAG,MAAM,UAAU,aAAa,GAAQ,EAAE,SAAS,EAAc,EAAE,CAAC,EAAO,EAAE,QAAW,EAAQ,GAAU,CAAO,GAAO,CAAgI,OAA1H,GAAQ,GAAU,CAAE,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,GAAK,CAAC,CAAC,EAAG,iBAAiB,SAAS,EAAc,KAAW,CAAC,EAAO,oBAAoB,SAAS,EAAS,CAAC,EAAG,oBAAoB,SAAS,EAAc,CAAC,GAAO,GAAK,EAAE,CAAC,CAAqB,EAAK,EAAU,CAAC,GAAG,EAAU,MAAI,CAAC,uBAJrwC,IAAoC"}