{"version":3,"file":"CMS_Background_Changer.CrcrTcoD.mjs","names":["useRef","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/xhgURgXMWiDK96CTfyVe/21sGDCxH0em7Qu0UG5QC/CMS_Background_Changer.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect}from\"react\";const cardRegistry=new Set;const cardProgressMap=new Map;let currentMode=null;let stickyContainer=null;let frontImg=null;let backImg=null;let frontBgLayer=null;let backBgLayer=null;let currentSrc=\"\";let currentSrcSet=\"\";let currentSizes=\"\";let isTransitioning=false;function resetTransitionState(){currentSrc=\"\";currentSrcSet=\"\";currentSizes=\"\";isTransitioning=false;}function resolveStickyTarget(root){const sticky=root.querySelector('[data-framer-name=\"background-sticky\"]');if(!sticky)return null;const nestedImg=sticky.querySelector(\"img\");if(nestedImg){return{mode:\"img\",container:sticky,image:nestedImg};}return{mode:\"background\",container:sticky};}function ensureDualLayers(target){if(stickyContainer!==target.container||currentMode!==target.mode){stickyContainer=target.container;currentMode=target.mode;frontImg=null;backImg=null;frontBgLayer=null;backBgLayer=null;resetTransitionState();}if(target.mode===\"img\"){const stickyImg=target.image;if(!stickyImg)return;if(frontImg&&backImg)return;const wrapper=stickyImg.parentElement;if(!wrapper)return;const existingBackdrop=wrapper.querySelector('[data-cms-bg=\"backdrop\"]');if(!existingBackdrop){const backdrop=document.createElement(\"div\");backdrop.setAttribute(\"data-cms-bg\",\"backdrop\");backdrop.style.cssText=\"position:absolute;inset:0;background:black;z-index:0;\";wrapper.insertBefore(backdrop,wrapper.firstChild);}frontImg=stickyImg;frontImg.style.position=\"absolute\";frontImg.style.inset=\"0\";frontImg.style.width=\"100%\";frontImg.style.height=\"100%\";frontImg.style.objectFit=\"cover\";frontImg.style.objectPosition=\"center\";frontImg.style.opacity=\"1\";frontImg.style.zIndex=\"1\";const existingBack=wrapper.querySelector('[data-cms-bg=\"back-img\"]');backImg=existingBack||frontImg.cloneNode(true);backImg.setAttribute(\"data-cms-bg\",\"back-img\");backImg.style.transition=\"opacity 0.6s ease\";backImg.style.opacity=\"0\";backImg.style.zIndex=\"2\";if(!existingBack)wrapper.appendChild(backImg);currentSrc=frontImg.currentSrc||frontImg.src||\"\";currentSrcSet=frontImg.getAttribute(\"srcset\")||\"\";currentSizes=frontImg.getAttribute(\"sizes\")||\"\";return;}if(frontBgLayer&&backBgLayer)return;const host=target.container;const previousPosition=window.getComputedStyle(host).position;if(previousPosition===\"static\"){host.style.position=\"relative\";}host.style.overflow=\"hidden\";if(!host.style.backgroundColor){host.style.backgroundColor=\"black\";}const existingFront=host.querySelector('[data-cms-bg=\"front-layer\"]');const existingBack=host.querySelector('[data-cms-bg=\"back-layer\"]');frontBgLayer=existingFront||document.createElement(\"div\");backBgLayer=existingBack||document.createElement(\"div\");frontBgLayer.setAttribute(\"data-cms-bg\",\"front-layer\");backBgLayer.setAttribute(\"data-cms-bg\",\"back-layer\");frontBgLayer.style.cssText=\"position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:1;z-index:1;pointer-events:none;\";backBgLayer.style.cssText=\"position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;z-index:2;pointer-events:none;transition:opacity 0.6s ease;\";if(!existingFront)host.appendChild(frontBgLayer);if(!existingBack)host.appendChild(backBgLayer);const hostBgImage=host.style.backgroundImage||window.getComputedStyle(host).backgroundImage||\"none\";frontBgLayer.style.backgroundImage=hostBgImage;currentSrc=hostBgImage;currentSrcSet=\"\";currentSizes=\"\";}let transitionTimer=null;function crossfadeTo(nextImage){if(!nextImage?.src)return;const{src:newSrc,srcset:newSrcSet=\"\",sizes:newSizes=\"\"}=nextImage;if(newSrc===currentSrc&&newSrcSet===currentSrcSet&&newSizes===currentSizes){return;}if(transitionTimer){window.clearTimeout(transitionTimer);if(currentMode===\"img\"&&frontImg&&backImg){frontImg.src=backImg.src;const backSrcSet=backImg.getAttribute(\"srcset\")||\"\";const backSizes=backImg.getAttribute(\"sizes\")||\"\";if(backSrcSet)frontImg.setAttribute(\"srcset\",backSrcSet);else frontImg.removeAttribute(\"srcset\");if(backSizes)frontImg.setAttribute(\"sizes\",backSizes);else frontImg.removeAttribute(\"sizes\");frontImg.style.transform=backImg.style.transform;backImg.style.transition=\"none\";backImg.style.opacity=\"0\";}else if(currentMode===\"background\"&&frontBgLayer&&backBgLayer){frontBgLayer.style.backgroundImage=backBgLayer.style.backgroundImage;frontBgLayer.style.transform=backBgLayer.style.transform;backBgLayer.style.transition=\"none\";backBgLayer.style.opacity=\"0\";}isTransitioning=false;}if(currentMode===\"img\"&&frontImg&&backImg){backImg.offsetHeight;isTransitioning=true;backImg.src=newSrc;if(newSrcSet)backImg.setAttribute(\"srcset\",newSrcSet);else backImg.removeAttribute(\"srcset\");if(newSizes)backImg.setAttribute(\"sizes\",newSizes);else backImg.removeAttribute(\"sizes\");backImg.style.transition=\"opacity 0.6s ease\";backImg.style.opacity=\"1\";transitionTimer=window.setTimeout(()=>{if(!frontImg||!backImg)return;frontImg.src=newSrc;if(newSrcSet)frontImg.setAttribute(\"srcset\",newSrcSet);else frontImg.removeAttribute(\"srcset\");if(newSizes)frontImg.setAttribute(\"sizes\",newSizes);else frontImg.removeAttribute(\"sizes\");frontImg.style.transform=backImg.style.transform;backImg.style.transition=\"none\";backImg.style.opacity=\"0\";isTransitioning=false;transitionTimer=null;},600);}else if(currentMode===\"background\"&&frontBgLayer&&backBgLayer){backBgLayer.offsetHeight;isTransitioning=true;backBgLayer.style.backgroundImage=`url(\"${newSrc}\")`;backBgLayer.style.transition=\"opacity 0.6s ease\";backBgLayer.style.opacity=\"1\";transitionTimer=window.setTimeout(()=>{if(!frontBgLayer||!backBgLayer)return;frontBgLayer.style.backgroundImage=backBgLayer.style.backgroundImage;frontBgLayer.style.transform=backBgLayer.style.transform;backBgLayer.style.transition=\"none\";backBgLayer.style.opacity=\"0\";isTransitioning=false;transitionTimer=null;},600);}currentSrc=newSrc;currentSrcSet=newSrcSet;currentSizes=newSizes;}export function TrackCardTrigger(){const ref=useRef(null);useEffect(()=>{const mountedEl=ref.current;if(!mountedEl)return;cardRegistry.add(mountedEl);const updateBackground=()=>{const currentEl=ref.current;if(!currentEl)return;let activeCard=null;let closestInViewport=Infinity;let closestAboveViewport=null;let closestAboveDistance=-Infinity;cardRegistry.forEach(cardElement=>{const scrollTrigger=cardElement.querySelector('[data-framer-name=\"scroll-trigger\"]');if(!scrollTrigger)return;const rect=scrollTrigger.getBoundingClientRect();const viewportHeight=window.innerHeight;const cardRect=cardElement.getBoundingClientRect();const progress=Math.max(0,Math.min(1,(viewportHeight-cardRect.top)/(2*viewportHeight)));cardProgressMap.set(cardElement,progress);if(rect.bottom>0&&rect.top<viewportHeight){const distanceFromTop=Math.abs(rect.top);if(distanceFromTop<closestInViewport){closestInViewport=distanceFromTop;activeCard=cardElement;}}else if(rect.bottom<=0){if(rect.bottom>closestAboveDistance){closestAboveDistance=rect.bottom;closestAboveViewport=cardElement;}}});const winner=activeCard||closestAboveViewport;// Only the card that owns this handler should do anything\nif(!winner||winner!==currentEl)return;const scrollProgress=cardProgressMap.get(winner)||1;const stickyTarget=resolveStickyTarget(document)||resolveStickyTarget(currentEl.ownerDocument);if(stickyTarget){ensureDualLayers(stickyTarget);}const bgLayer=currentEl.querySelector('[data-framer-name=\"background\"]');const cardImg=bgLayer?.querySelector(\"img\");if(cardImg?.src){const renderedSrc=cardImg.currentSrc||cardImg.src;const renderedSrcSet=cardImg.getAttribute(\"srcset\")||cardImg.srcset||\"\";const renderedSizes=cardImg.getAttribute(\"sizes\")||cardImg.sizes||\"\";crossfadeTo({src:renderedSrc,srcset:renderedSrcSet,sizes:renderedSizes});}const scale=1.3-scrollProgress*.3;if(isTransitioning){if(currentMode===\"img\"&&backImg){backImg.style.transform=`scale(${scale})`;backImg.style.transformOrigin=\"center center\";}else if(currentMode===\"background\"&&backBgLayer){backBgLayer.style.transform=`scale(${scale})`;backBgLayer.style.transformOrigin=\"center center\";}}else{if(currentMode===\"img\"&&frontImg){frontImg.style.transform=`scale(${scale})`;frontImg.style.transformOrigin=\"center center\";}else if(currentMode===\"background\"&&frontBgLayer){frontBgLayer.style.transform=`scale(${scale})`;frontBgLayer.style.transformOrigin=\"center center\";}}};let ticking=false;const onScroll=()=>{if(!ticking){window.requestAnimationFrame(()=>{updateBackground();ticking=false;});ticking=true;}};window.addEventListener(\"scroll\",onScroll,{passive:true});setTimeout(()=>{updateBackground();},50);return()=>{cardRegistry.delete(mountedEl);window.removeEventListener(\"scroll\",onScroll);};},[]);return{ref};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withTrackCardTrigger(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...TrackCardTrigger(props)});};}withTrackCardTrigger.displayName=\"TrackCardTrigger\";\nexport const __FramerMetadata__ = {\"exports\":{\"TrackCardTrigger\":{\"type\":\"override\",\"name\":\"TrackCardTrigger\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTrackCardTrigger\":{\"type\":\"reactHoc\",\"name\":\"withTrackCardTrigger\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMS_Background_Changer.map"],"mappings":"0LAAyV,SAAS,GAAsB,CAAC,EAAW,GAAG,EAAc,GAAG,EAAa,GAAG,EAAgB,EAAM,CAAC,SAAS,EAAoB,EAAK,CAAC,IAAM,EAAO,EAAK,cAAc,wCAAwC,EAAE,GAAG,CAAC,EAAO,OAAO,KAAK,IAAM,EAAU,EAAO,cAAc,KAAK,EAAqE,OAAhE,EAAiB,CAAC,KAAK,MAAM,UAAU,EAAO,MAAM,CAAS,EAAS,CAAC,KAAK,aAAa,UAAU,CAAM,CAAE,CAAC,SAAS,EAAiB,EAAO,CAAkN,IAA9M,IAAkB,EAAO,WAAW,IAAc,EAAO,QAAM,EAAgB,EAAO,UAAU,EAAY,EAAO,KAAK,EAAS,KAAK,EAAQ,KAAK,EAAa,KAAK,EAAY,KAAK,EAAqB,GAAM,EAAO,OAAO,MAAM,CAAC,IAAM,EAAU,EAAO,MAA2B,GAAlB,CAAC,GAAoB,GAAU,EAAQ,OAAO,IAAM,EAAQ,EAAU,cAAc,GAAG,CAAC,EAAQ,OAAgF,GAAG,CAArD,EAAQ,cAAc,0BAA+C,EAAE,CAAC,IAAM,EAAS,SAAS,cAAc,KAAK,EAAE,EAAS,aAAa,cAAc,UAAU,EAAE,EAAS,MAAM,QAAQ,wDAAwD,EAAQ,aAAa,EAAS,EAAQ,UAAU,CAAE,CAAC,EAAS,EAAU,EAAS,MAAM,SAAS,WAAW,EAAS,MAAM,MAAM,IAAI,EAAS,MAAM,MAAM,OAAO,EAAS,MAAM,OAAO,OAAO,EAAS,MAAM,UAAU,QAAQ,EAAS,MAAM,eAAe,SAAS,EAAS,MAAM,QAAQ,IAAI,EAAS,MAAM,OAAO,IAAI,IAAM,EAAa,EAAQ,cAAc,0BAA0B,EAAE,EAAQ,GAAc,EAAS,UAAU,EAAI,EAAE,EAAQ,aAAa,cAAc,UAAU,EAAE,EAAQ,MAAM,WAAW,oBAAoB,EAAQ,MAAM,QAAQ,IAAI,EAAQ,MAAM,OAAO,IAAQ,GAAa,EAAQ,YAAY,CAAO,EAAE,EAAW,EAAS,YAAY,EAAS,KAAK,GAAG,EAAc,EAAS,aAAa,QAAQ,GAAG,GAAG,EAAa,EAAS,aAAa,OAAO,GAAG,GAAG,MAAO,CAAC,GAAG,GAAc,EAAY,OAAO,IAAM,EAAK,EAAO,UAAiC,EAAO,iBAAiB,CAAI,CAAC,CAAC,WAA+B,WAAU,EAAK,MAAM,SAAS,YAAY,EAAK,MAAM,SAAS,SAAa,EAAK,MAAM,kBAAiB,EAAK,MAAM,gBAAgB,SAAS,IAAM,EAAc,EAAK,cAAc,6BAA6B,EAAQ,EAAa,EAAK,cAAc,4BAA4B,EAAE,EAAa,GAAe,SAAS,cAAc,KAAK,EAAE,EAAY,GAAc,SAAS,cAAc,KAAK,EAAE,EAAa,aAAa,cAAc,aAAa,EAAE,EAAY,aAAa,cAAc,YAAY,EAAE,EAAa,MAAM,QAAQ,kJAAkJ,EAAY,MAAM,QAAQ,+KAAmL,GAAc,EAAK,YAAY,CAAY,EAAM,GAAa,EAAK,YAAY,CAAW,EAAE,IAAM,EAAY,EAAK,MAAM,iBAAiB,EAAO,iBAAiB,CAAI,CAAC,CAAC,iBAAiB,OAAO,EAAa,MAAM,gBAAgB,EAAY,EAAW,EAAY,EAAc,GAAG,EAAa,EAAG,CAA0B,SAAS,EAAY,EAAU,CAAC,GAAG,CAAC,GAAW,IAAI,OAAO,GAAK,CAAC,IAAI,EAAO,OAAO,EAAU,GAAG,MAAM,EAAS,IAAI,EAAa,SAAS,GAAY,IAAY,GAAe,IAAW,GAAsB,IAAG,EAAgB,CAAsC,GAArC,EAAO,aAAa,CAAe,EAAK,IAAc,OAAO,GAAU,EAAQ,CAAC,EAAS,IAAI,EAAQ,IAAI,IAAM,EAAW,EAAQ,aAAa,QAAQ,GAAG,GAAS,EAAU,EAAQ,aAAa,OAAO,GAAG,GAAM,EAAW,EAAS,aAAa,SAAS,CAAU,EAAO,EAAS,gBAAgB,QAAQ,EAAK,EAAU,EAAS,aAAa,QAAQ,CAAS,EAAO,EAAS,gBAAgB,OAAO,EAAE,EAAS,MAAM,UAAU,EAAQ,MAAM,UAAU,EAAQ,MAAM,WAAW,OAAO,EAAQ,MAAM,QAAQ,GAAI,MAAS,IAAc,cAAc,GAAc,IAAa,EAAa,MAAM,gBAAgB,EAAY,MAAM,gBAAgB,EAAa,MAAM,UAAU,EAAY,MAAM,UAAU,EAAY,MAAM,WAAW,OAAO,EAAY,MAAM,QAAQ,KAAK,EAAgB,EAAM,CAAI,IAAc,OAAO,GAAU,GAAS,EAAQ,aAAa,EAAgB,GAAK,EAAQ,IAAI,EAAU,EAAU,EAAQ,aAAa,SAAS,CAAS,EAAO,EAAQ,gBAAgB,QAAQ,EAAK,EAAS,EAAQ,aAAa,QAAQ,CAAQ,EAAO,EAAQ,gBAAgB,OAAO,EAAE,EAAQ,MAAM,WAAW,oBAAoB,EAAQ,MAAM,QAAQ,IAAI,EAAgB,EAAO,eAAe,CAAI,CAAC,GAAU,CAAC,IAAe,EAAS,IAAI,EAAU,EAAU,EAAS,aAAa,SAAS,CAAS,EAAO,EAAS,gBAAgB,QAAQ,EAAK,EAAS,EAAS,aAAa,QAAQ,CAAQ,EAAO,EAAS,gBAAgB,OAAO,EAAE,EAAS,MAAM,UAAU,EAAQ,MAAM,UAAU,EAAQ,MAAM,WAAW,OAAO,EAAQ,MAAM,QAAQ,IAAI,EAAgB,GAAM,EAAgB,KAAK,EAAE,GAAG,GAAW,IAAc,cAAc,GAAc,IAAa,EAAY,aAAa,EAAgB,GAAK,EAAY,MAAM,gBAAgB,QAAQ,EAAO,IAAI,EAAY,MAAM,WAAW,oBAAoB,EAAY,MAAM,QAAQ,IAAI,EAAgB,EAAO,eAAe,CAAI,CAAC,GAAc,CAAC,IAAmB,EAAa,MAAM,gBAAgB,EAAY,MAAM,gBAAgB,EAAa,MAAM,UAAU,EAAY,MAAM,UAAU,EAAY,MAAM,WAAW,OAAO,EAAY,MAAM,QAAQ,IAAI,EAAgB,GAAM,EAAgB,KAAK,EAAE,GAAG,GAAG,EAAW,EAAO,EAAc,EAAU,EAAa,CAA/3C,CAAw4C,CAAC,SAAgB,GAAkB,CAAC,IAAM,EAAIA,EAAO,IAAI,EACn1I,OADq1I,MAAc,CAAC,IAAM,EAAU,EAAI,QAAQ,GAAG,CAAC,EAAU,OAAO,EAAa,IAAI,CAAS,EAAE,IAAM,MAAqB,CAAC,IAAM,EAAU,EAAI,QAAQ,GAAG,CAAC,EAAU,OAAO,IAAI,EAAW,KAAS,EAAkB,IAAa,EAAqB,KAAS,EAAqB,KAAU,EAAa,QAAQ,GAAa,CAAC,IAAM,EAAc,EAAY,cAAc,qCAAqC,EAAE,GAAG,CAAC,EAAc,OAAO,IAAM,EAAK,EAAc,sBAAsB,EAAQ,EAAe,EAAO,YAAkB,EAAS,EAAY,sBAAsB,EAAQ,EAAS,KAAK,IAAI,EAAE,KAAK,IAAI,GAAG,EAAe,EAAS,MAAM,EAAE,EAAe,CAAC,EAA4C,GAA1C,EAAgB,IAAI,EAAY,CAAQ,EAAK,EAAK,OAAO,GAAG,EAAK,IAAI,EAAe,CAAC,IAAM,EAAgB,KAAK,IAAI,EAAK,GAAG,EAAK,EAAgB,IAAmB,EAAkB,EAAgB,EAAW,EAAa,MAAS,EAAK,QAAQ,GAAM,EAAK,OAAO,IAAsB,EAAqB,EAAK,OAAO,EAAqB,EAAc,CAAC,EAAE,IAAM,EAAO,GAAY,EACr4N,GAAG,CAAC,GAAQ,IAAS,EAAU,OAAO,IAAM,EAAe,EAAgB,IAAI,CAAM,GAAG,EAAQ,EAAa,EAAoB,QAAQ,GAAG,EAAoB,EAAU,aAAa,EAAK,GAAc,EAAiB,CAAY,EAA4E,IAAM,EAAjE,EAAU,cAAc,iCAAuD,CAAC,EAAE,cAAc,KAAK,EAAK,GAAS,KAAoM,EAAY,CAAC,IAA1L,EAAQ,YAAY,EAAQ,IAA8K,OAArJ,EAAQ,aAAa,QAAQ,GAAG,EAAQ,QAAQ,GAA2H,MAApG,EAAQ,aAAa,OAAO,GAAG,EAAQ,OAAO,EAAyE,CAAC,EAAG,IAAM,EAAM,IAAI,EAAe,GAAM,EAAoB,IAAc,OAAO,GAAS,EAAQ,MAAM,UAAU,SAAS,EAAM,GAAG,EAAQ,MAAM,gBAAgB,iBAAyB,IAAc,cAAc,IAAa,EAAY,MAAM,UAAU,SAAS,EAAM,GAAG,EAAY,MAAM,gBAAgB,iBAA0B,IAAc,OAAO,GAAU,EAAS,MAAM,UAAU,SAAS,EAAM,GAAG,EAAS,MAAM,gBAAgB,iBAAyB,IAAc,cAAc,IAAc,EAAa,MAAM,UAAU,SAAS,EAAM,GAAG,EAAa,MAAM,gBAAgB,gBAAkB,EAAM,EAAQ,GAAY,MAAa,CAAC,AAAmF,KAAtE,EAAO,0BAA0B,CAAC,EAAiB,EAAE,EAAQ,EAAM,CAAC,EAAU,GAAM,EAAqG,OAAnG,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,EAAI,CAAC,EAAE,eAAe,CAAC,EAAiB,CAAE,EAAE,EAAE,MAAY,CAAC,EAAa,OAAO,CAAS,EAAE,EAAO,oBAAoB,SAAS,CAAQ,CAAE,CAAE,EAAE,CAAC,CAAC,EAAQ,CAAC,KAAG,CAAE,CAAoJ,SAAgB,EAAqB,EAAE,CAAC,MAAO,KAAQ,EAA+BC,CAAuC,EAASC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAiB,CAAK,CAAC,CAAC,EAAI,+CAD90D,IAAoC,IACmnD,EAD5mD,EAAa,IAAI,IAAU,EAAgB,IAAI,IAAQ,EAAY,KAAS,EAAgB,KAAS,EAAS,KAAS,EAAQ,KAAS,EAAa,KAAS,EAAY,KAAS,EAAW,GAAO,EAAc,GAAO,EAAa,GAAO,EAAgB,GAAylG,EAAgB,KACnkD,EAAqB,YAAY"}