{"version":3,"file":"CardSliderOverrides.BBZP1Tku.mjs","names":["useRef","useState","Children"],"sources":["https:/framerusercontent.com/modules/RPOOQveiBcRfLuQbClkX/HHImGsW9rD8GgXo4n4Rg/CardSliderOverrides.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{Children,forwardRef,useEffect,useLayoutEffect,useRef,useState}from\"react\";const CARD_SLIDER_EVENT=\"framer-card-slider-change\";const CARD_SLIDER_SELECTOR='[data-card-slider-track=\"true\"]';function setForwardedRef(ref,value){if(typeof ref===\"function\"){ref(value);}else if(ref&&typeof ref===\"object\"){ref.current=value;}}function dispatchCardChange(event,delta){const source=event?.currentTarget||event?.target;let scope=source?.parentElement??null;while(scope){const track=scope.querySelector(CARD_SLIDER_SELECTOR);if(track){track.dispatchEvent(new CustomEvent(CARD_SLIDER_EVENT,{detail:{delta}}));return;}scope=scope.parentElement;}}export function withPreviousCard(Component){return /*#__PURE__*/forwardRef((props,ref)=>/*#__PURE__*/_jsx(Component,{ref:ref,...props,\"aria-label\":\"Previous card\",style:{...props.style,cursor:\"pointer\",pointerEvents:\"auto\"},onTap:event=>{if(typeof props.onTap===\"function\")props.onTap(event);dispatchCardChange(event,-1);}}));}export function withNextCard(Component){return /*#__PURE__*/forwardRef((props,ref)=>/*#__PURE__*/_jsx(Component,{ref:ref,...props,\"aria-label\":\"Next card\",style:{...props.style,cursor:\"pointer\",pointerEvents:\"auto\"},onTap:event=>{if(typeof props.onTap===\"function\")props.onTap(event);dispatchCardChange(event,1);}}));}export function withCardSlider(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const trackRef=useRef(null);const[index,setIndex]=useState(0);const[step,setStep]=useState(0);const[maxIndex,setMaxIndex]=useState(0);const cardCount=Math.max(1,Children.count(props.children));useLayoutEffect(()=>{const track=trackRef.current;if(!track)return;const measure=()=>{const firstCard=track.firstElementChild;if(!firstCard)return;const styles=getComputedStyle(track);const gap=Number.parseFloat(styles.columnGap||styles.gap||\"0\")||0;const cardWidth=firstCard.getBoundingClientRect().width;const viewportWidth=track.getBoundingClientRect().width;const nextStep=cardWidth+gap;const visibleCards=Math.max(1,Math.floor((viewportWidth+gap)/Math.max(1,nextStep)));setStep(nextStep);setMaxIndex(Math.max(0,cardCount-visibleCards));};measure();const observer=new ResizeObserver(measure);observer.observe(track);if(track.firstElementChild)observer.observe(track.firstElementChild);return()=>observer.disconnect();},[cardCount]);useEffect(()=>{setIndex(current=>Math.min(current,maxIndex));},[maxIndex]);useEffect(()=>{const track=trackRef.current;if(!track)return;const handleChange=event=>{const delta=event.detail?.delta;if(delta!==-1&&delta!==1)return;setIndex(current=>{const positions=Math.max(1,maxIndex+1);return(current+delta+positions)%positions;});};track.addEventListener(CARD_SLIDER_EVENT,handleChange);return()=>track.removeEventListener(CARD_SLIDER_EVENT,handleChange);},[maxIndex]);return /*#__PURE__*/_jsx(Component,{ref:value=>{trackRef.current=value;setForwardedRef(ref,value);},...props,\"data-card-slider-track\":\"true\",\"data-card-slider-index\":index,\"data-card-slider-max-index\":maxIndex,animate:{...props.animate||{},x:-index*step},transition:{...props.transition||{},x:{type:\"spring\",stiffness:320,damping:34}},style:{...props.style,willChange:\"transform\"}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withNextCard\":{\"type\":\"reactHoc\",\"name\":\"withNextCard\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCardSlider\":{\"type\":\"reactHoc\",\"name\":\"withCardSlider\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withPreviousCard\":{\"type\":\"reactHoc\",\"name\":\"withPreviousCard\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CardSliderOverrides.map"],"mappings":"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"}