{"version":3,"file":"AnimatingNumberCounter.CzbYZSsN.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/Xch1woZrdoxvJIJbIxfJ/5CHhpqMKSSU04u75lWRr/AnimatingNumberCounter.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const animateNumberCounter=(el,from,to,duration)=>{let startTimestamp;const step=timestamp=>{if(!startTimestamp)startTimestamp=timestamp;const progress=Math.min((timestamp-startTimestamp)/duration,1);const current=Math.floor(progress*(to-from)+from);el.innerHTML=current.toLocaleString();if(progress<1)window.requestAnimationFrame(step);};window.requestAnimationFrame(step);};function AnimatingNumberCounter({From,To,Duration,UseGradient,FontColor,Gradient}){const counterRef=useRef(null);const baseStyle={fontFamily:\"Inter\",fontWeight:900,fontSize:\"48px\",letterSpacing:\"-0.64px\",lineHeight:\"100%\",WebkitFontSmoothing:\"antialiased\"};const gradientStyle=UseGradient?{background:Gradient,WebkitBackgroundClip:\"text\",WebkitTextFillColor:\"transparent\"}:{color:FontColor};useEffect(()=>{const observer=new IntersectionObserver((entries,obs)=>{entries.forEach(entry=>{if(entry.isIntersecting&&counterRef.current){animateNumberCounter(counterRef.current,From,To,Duration);obs.unobserve(entry.target);}});});if(counterRef.current)observer.observe(counterRef.current);return()=>observer.disconnect();},[From,To,Duration]);return /*#__PURE__*/_jsx(\"div\",{ref:counterRef,style:{...baseStyle,...gradientStyle}});}addPropertyControls(AnimatingNumberCounter,{From:{type:ControlType.Number,title:\"From\",defaultValue:0},To:{type:ControlType.Number,title:\"To\",defaultValue:1e3},Duration:{type:ControlType.Number,title:\"Duration (ms)\",defaultValue:1500},UseGradient:{type:ControlType.Boolean,title:\"Use Gradient\",defaultValue:false},FontColor:{type:ControlType.Color,title:\"Font Color\",defaultValue:\"#000000\",hidden:props=>props.UseGradient},Gradient:{type:ControlType.String,title:\"Gradient CSS\",defaultValue:\"linear-gradient(90deg, #ff4d4d, #4d9aff)\",hidden:props=>!props.UseGradient}});export default AnimatingNumberCounter;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatingNumberCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatingNumberCounter.map"],"mappings":"2LAA2f,SAAS,EAAuB,CAAC,OAAK,KAAG,WAAS,cAAY,YAAU,YAAU,CAAC,IAAM,EAAWA,EAAO,IAAI,EAAQ,EAAU,CAAC,WAAW,QAAQ,WAAW,IAAI,SAAS,OAAO,cAAc,UAAU,WAAW,OAAO,oBAAoB,aAAa,EAAQ,EAAc,EAAY,CAAC,WAAW,EAAS,qBAAqB,OAAO,oBAAoB,aAAa,EAAE,CAAC,MAAM,CAAS,EAA4V,OAA1V,MAAc,CAAC,IAAM,EAAS,IAAI,sBAAsB,EAAQ,IAAM,CAAC,EAAQ,QAAQ,GAAO,CAAI,EAAM,gBAAgB,EAAW,UAAS,EAAqB,EAAW,QAAQ,EAAK,EAAG,CAAQ,EAAE,EAAI,UAAU,EAAM,MAAM,EAAG,CAAC,CAAE,CAAC,EAA6D,OAAxD,EAAW,SAAQ,EAAS,QAAQ,EAAW,OAAO,MAAY,EAAS,WAAW,CAAE,EAAE,CAAC,EAAK,EAAG,CAAQ,CAAC,EAAsB,EAAK,MAAM,CAAC,IAAI,EAAW,MAAM,CAAC,GAAG,EAAU,GAAG,CAAa,CAAC,CAAC,CAAE,uBAAzwC,IAAoC,IAAoD,EAAO,GAAsB,EAAG,EAAK,EAAG,IAAW,CAAC,IAAI,EAAqB,EAAK,GAAW,CAAC,AAAmB,IAAe,EAAU,IAAM,EAAS,KAAK,KAAK,EAAU,GAAgB,EAAS,CAAC,EAAoD,EAAG,UAAvC,KAAK,MAAM,GAAU,EAAG,GAAM,CAAyB,CAAC,CAAC,eAAe,EAAK,EAAS,GAAE,EAAO,sBAAsB,CAAI,CAAE,EAAE,EAAO,sBAAsB,CAAI,CAAE,EAA2zB,EAAoB,EAAuB,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,CAAC,KAAK,EAAY,OAAO,MAAM,KAAK,aAAa,GAAG,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,IAAI,EAAE,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,eAAe,aAAa,EAAK,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,OAAO,GAAO,EAAM,WAAW,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,2CAA2C,OAAO,GAAO,CAAC,EAAM,WAAW,CAAC,CAAC"}