{"version":3,"file":"CountUp.ChCuBodi.mjs","names":["React.useRef","React.useState","React.useMemo","React.useCallback"],"sources":["https:/framerusercontent.com/modules/JuQkK8BVOUQ0CH4KPVrG/HW77QOdkuFKCCyyxoGyS/CountUp.js"],"sourcesContent":["import{jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function easeOutCubic(t){return 1-Math.pow(1-t,3);}function formatPtBR(value,decimals){return new Intl.NumberFormat(\"pt-BR\",{minimumFractionDigits:decimals,maximumFractionDigits:decimals}).format(value);}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function CountUp(props){const{value,decimals,prefix,suffix,duration,replay,fontFamily,fontWeight,fontSize,letterSpacing,lineHeight,color}=props;const isStatic=useIsStaticRenderer();const containerRef=React.useRef(null);const rafRef=React.useRef(null);const hasAnimatedRef=React.useRef(false);const[animatedValue,setAnimatedValue]=React.useState(value);const[hasStarted,setHasStarted]=React.useState(false);const finalFormatted=React.useMemo(()=>formatPtBR(value,decimals),[value,decimals]);const visibleFormatted=React.useMemo(()=>{if(!hasStarted)return finalFormatted;return formatPtBR(animatedValue,decimals);},[animatedValue,decimals,finalFormatted,hasStarted]);const startAnimation=React.useCallback(()=>{if(duration<=0){React.startTransition(()=>{setHasStarted(true);setAnimatedValue(value);});hasAnimatedRef.current=true;return;}const startTime=typeof performance!==\"undefined\"?performance.now():Date.now();React.startTransition(()=>{setHasStarted(true);setAnimatedValue(0);});const tick=nowRaw=>{const now=typeof performance!==\"undefined\"?nowRaw:Date.now();const elapsed=now-startTime;const progress=Math.min(elapsed/(duration*1e3),1);const eased=easeOutCubic(progress);const nextValue=value*eased;React.startTransition(()=>setAnimatedValue(nextValue));if(progress<1){if(typeof window!==\"undefined\"){rafRef.current=window.requestAnimationFrame(tick);}}else{hasAnimatedRef.current=true;React.startTransition(()=>setAnimatedValue(value));}};if(typeof window!==\"undefined\"){if(rafRef.current!==null)window.cancelAnimationFrame(rafRef.current);rafRef.current=window.requestAnimationFrame(tick);}},[duration,value]);React.useEffect(()=>{if(isStatic){React.startTransition(()=>{setHasStarted(false);setAnimatedValue(value);});return;}if(typeof window===\"undefined\")return;if(typeof IntersectionObserver===\"undefined\"){if(!hasAnimatedRef.current||replay)startAnimation();return;}const element=containerRef.current;if(!element)return;const observer=new IntersectionObserver(entries=>{const entry=entries[0];if(!entry)return;if(entry.isIntersecting){if(!hasAnimatedRef.current||replay){startAnimation();}}else if(replay){hasAnimatedRef.current=false;React.startTransition(()=>setHasStarted(false));}},{threshold:.2});observer.observe(element);return()=>{observer.disconnect();if(typeof window!==\"undefined\"&&rafRef.current!==null){window.cancelAnimationFrame(rafRef.current);rafRef.current=null;}};},[isStatic,replay,startAnimation,value]);React.useEffect(()=>{if(!hasStarted)return;if(isStatic)return;if(!replay&&hasAnimatedRef.current){React.startTransition(()=>setAnimatedValue(value));}},[value,replay,hasStarted,isStatic]);return /*#__PURE__*/_jsxs(\"span\",{ref:containerRef,style:{position:\"relative\",display:\"inline-block\",width:\"max-content\",color,fontFamily,fontWeight,fontSize,letterSpacing,lineHeight},children:[prefix,visibleFormatted,suffix]});}addPropertyControls(CountUp,{value:{type:ControlType.Number,title:\"Value\",defaultValue:22921.71,step:.01},decimals:{type:ControlType.Number,title:\"Decimals\",defaultValue:2,min:0,max:6,step:1},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"R$ \"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:2,min:0,max:10,step:.1,unit:\"s\"},replay:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Inter, sans-serif\"},fontWeight:{type:ControlType.Number,title:\"Font Weight\",defaultValue:700,min:100,max:900,step:100},fontSize:{type:ControlType.String,title:\"Font Size\",defaultValue:\"44px\"},letterSpacing:{type:ControlType.String,title:\"Letter Spacing\",defaultValue:\"-0.03em\"},lineHeight:{type:ControlType.String,title:\"Line Height\",defaultValue:\"1em\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#CCFF00\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountUp\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CountUp.map"],"mappings":"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"}