{"version":3,"file":"AnimatedCounter.DbTEEfCB.mjs","names":["useState","useRef","animate"],"sources":["https:/framerusercontent.com/modules/Pl93VV1FZUHUowt2IinL/1lcHbm3Ha4bWy2dnr8wW/AnimatedCounter.js"],"sourcesContent":["import{jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,useMotionValue,animate,useInView}from\"framer\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 80\n */function AnimatedCounter(props){const{target,start,duration,prefix,suffix,separator,trigger,easing,color,fontSize,fontFamily}=props;const[currentValue,setCurrentValue]=useState(start);const ref=useRef(null);const isInView=useInView(ref,{once:true});const motionValue=useMotionValue(start);useEffect(()=>{let shouldAnimate=false;if(trigger===\"On Load\"){shouldAnimate=true;}else if(trigger===\"On Scroll\"&&isInView){shouldAnimate=true;}if(shouldAnimate){const controls=animate(motionValue,target,{duration:duration,ease:easing,onUpdate:latest=>{setCurrentValue(latest);}});return()=>controls.stop();}},[trigger,isInView,start,target,duration,easing,motionValue]);let displayValue=Math.round(currentValue);let displayString=displayValue.toString();if(separator){displayString=displayValue.toLocaleString(\"de-DE\");}return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{display:\"flex\",width:\"100%\",height:\"100%\",color:color,fontSize:`${fontSize}px`,fontFamily:fontFamily,alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\"},children:[prefix,displayString,suffix]});}AnimatedCounter.defaultProps={target:1e4,start:0,duration:2,prefix:\"\",suffix:\"+\",separator:true,trigger:\"On Scroll\",easing:\"easeOut\",color:\"#e8e8f0\",fontSize:48,fontFamily:\"Instrument Serif\"};addPropertyControls(AnimatedCounter,{target:{type:ControlType.Number,title:\"Target\",defaultValue:1e4},start:{type:ControlType.Number,title:\"Start\",defaultValue:0},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:2,displayStepper:true,step:.1,min:0,unit:\"s\"},prefix:{type:ControlType.String,title:\"Prefix\",placeholder:\"$\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"+\"},separator:{type:ControlType.Boolean,title:\"Separator\",defaultValue:true},trigger:{type:ControlType.Enum,title:\"Trigger\",options:[\"On Scroll\",\"On Load\"],defaultValue:\"On Scroll\"},easing:{type:ControlType.Enum,title:\"Easing\",options:[\"linear\",\"easeOut\",\"easeInOut\"],defaultValue:\"easeOut\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#e8e8f0\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:48,unit:\"px\"},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Instrument Serif\"}});//@framerDisableUnlink\nexport default AnimatedCounter;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"80\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedCounter.map"],"mappings":"2OAKG,SAAS,EAAgB,EAAM,CAAC,GAAK,CAAC,SAAO,QAAM,WAAS,SAAO,SAAO,YAAU,UAAQ,SAAO,QAAM,WAAS,cAAY,EAAW,CAAC,EAAa,GAAiBA,EAAS,CAAK,EAAQ,EAAIC,EAAO,IAAI,EAAQ,EAAS,EAAU,EAAI,CAAC,KAAK,EAAI,CAAC,EAAQ,EAAY,EAAe,CAAK,EAAE,MAAc,CAAC,IAAI,EAAc,GAA+G,IAAtG,IAAU,WAAuC,IAAU,aAAa,KAAnD,EAAc,IAAsE,EAAc,CAAC,IAAM,EAASC,EAAQ,EAAY,EAAO,CAAU,WAAS,KAAK,EAAO,SAAS,GAAQ,CAAC,EAAgB,CAAM,CAAE,CAAC,CAAC,EAAE,UAAU,EAAS,KAAK,CAAE,CAAC,EAAE,CAAC,EAAQ,EAAS,EAAM,EAAO,EAAS,EAAO,CAAW,CAAC,EAAE,IAAI,EAAa,KAAK,MAAM,CAAY,EAAM,EAAc,EAAa,SAAS,EAAoE,OAA/D,IAAW,EAAc,EAAa,eAAe,OAAO,GAAuB,EAAM,MAAM,CAAK,MAAI,MAAM,CAAC,QAAQ,OAAO,MAAM,OAAO,OAAO,OAAa,QAAM,SAAS,GAAG,EAAS,IAAe,aAAW,WAAW,SAAS,eAAe,SAAS,SAAS,QAAQ,EAAE,SAAS,CAAC,EAAO,EAAc,CAAM,CAAC,CAAC,CAAE,iBAL9/B,IAA6C,IAAqF,EAK63B,EAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,IAAI,UAAU,GAAK,QAAQ,YAAY,OAAO,UAAU,MAAM,UAAU,SAAS,GAAG,WAAW,kBAAkB,EAAE,EAAoB,EAAgB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,CAAC,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,eAAe,GAAK,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,GAAG,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,EAAI,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,QAAQ,CAAC,YAAY,SAAS,EAAE,aAAa,WAAW,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,SAAS,UAAU,WAAW,EAAE,aAAa,SAAS,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,KAAK,IAAI,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,kBAAkB,CAAC,CAAC"}