{"version":3,"file":"CountUp.DsAyumjV.mjs","names":["useRef","useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/lpEwh3kdoX387X6JN5cw/wAtOJwgwGvXav85Gcmdc/CountUp.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function CountUp(props){const{value=350,prefix=\"\",suffix=\"+\",fontSize=96,color=\"#FFFFFF\",fontWeight=\"300\",duration=1.2}=props;const rootRef=useRef(null);const rafRef=useRef(null);const hasTriggeredRef=useRef(false);const isStatic=useIsStaticRenderer();const[displayValue,setDisplayValue]=useState(value);const reducedMotion=useMemo(()=>{if(typeof window===\"undefined\")return true;return window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;},[]);const easeOutCubic=useCallback(t=>{return 1-Math.pow(1-t,3);},[]);const cancelRaf=useCallback(()=>{if(rafRef.current!==null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(rafRef.current);rafRef.current=null;}},[]);const runAnimation=useCallback(()=>{if(typeof window===\"undefined\")return;const totalMs=Math.max(.05,duration)*1e3;const start=window.performance.now();const tick=now=>{const elapsed=now-start;const progress=Math.min(elapsed/totalMs,1);const eased=easeOutCubic(progress);const next=Math.round(value*eased);startTransition(()=>setDisplayValue(next));if(progress<1){rafRef.current=window.requestAnimationFrame(tick);}else{rafRef.current=null;}};rafRef.current=window.requestAnimationFrame(tick);},[duration,easeOutCubic,value]);useEffect(()=>{cancelRaf();startTransition(()=>setDisplayValue(value));hasTriggeredRef.current=false;if(isStatic||reducedMotion)return;startTransition(()=>setDisplayValue(0));if(typeof window===\"undefined\"||typeof IntersectionObserver===\"undefined\"){startTransition(()=>setDisplayValue(value));return;}const target=rootRef.current;if(!target)return;const observer=new IntersectionObserver(entries=>{const entry=entries[0];if(!entry||!entry.isIntersecting||hasTriggeredRef.current)return;hasTriggeredRef.current=true;observer.disconnect();runAnimation();},{threshold:.2});observer.observe(target);return()=>{observer.disconnect();cancelRaf();};},[value,isStatic,reducedMotion,runAnimation,cancelRaf]);const label=`${prefix}${displayValue}${suffix}`;return /*#__PURE__*/_jsx(\"span\",{ref:rootRef,style:{position:\"relative\",display:\"inline-block\",width:\"max-content\",minWidth:\"max-content\",fontFamily:\"Montserrat\",fontSize:`${fontSize}px`,fontWeight,lineHeight:1,letterSpacing:\"-0.02em\",fontVariantNumeric:\"tabular-nums\",color,whiteSpace:\"nowrap\"},children:label});}addPropertyControls(CountUp,{value:{type:ControlType.Number,title:\"Value\",defaultValue:350,min:0,step:1},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"+\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:96,min:8,step:1,unit:\"px\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"},fontWeight:{type:ControlType.Enum,title:\"Weight\",defaultValue:\"300\",options:[\"300\",\"400\",\"500\"],optionTitles:[\"300\",\"400\",\"500\"],displaySegmentedControl:true},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:1.2,min:.1,max:10,step:.1,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountUp\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountUp.map"],"mappings":"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"}