{"version":3,"file":"AnimatedNumber.DFbFf9w0.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/DuR6VDtxvwo2eUI8Aa0Z/cuFVQvldBTwY8nOKJ9Iv/AnimatedNumber.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{motion,useInView,useMotionValue,useSpring,useTransform}from\"framer-motion\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const formatNumber=(value,decimals)=>{const n=Number(value);const fixed=n.toFixed(decimals);return n>=1e3?Number(fixed).toLocaleString():fixed;};function AnimatedNumberMotion({start=0,end=100,decimals=0,font,color=\"#000\"}){const ref=useRef(null);const isInView=useInView(ref,{once:true,amount:.5});const value=useMotionValue(start);const spring=useSpring(value,{damping:30,stiffness:100});const display=useTransform(spring,num=>{return formatNumber(num,decimals);});useEffect(()=>{value.set(isInView?end:start);},[start,end,isInView,value]);return /*#__PURE__*/_jsx(motion.span,{ref:ref,style:{color,display:\"inline-block\",...font},children:display});}/**\n * @framerDisableUnlink\n */export default function AnimatedNumber({start=0,end=100,decimals=0,font,color=\"#000\"}){const isStaticRenderer=useIsStaticRenderer();if(isStaticRenderer){return /*#__PURE__*/_jsx(\"span\",{style:{color,display:\"inline-block\",...font},children:formatNumber(end,decimals)});}return /*#__PURE__*/_jsx(AnimatedNumberMotion,{start:start,end:end,decimals:decimals,font:font,color:color});}AnimatedNumber.displayName=\"AnimatedNumber\";addPropertyControls(AnimatedNumber,{start:{type:ControlType.Number,title:\"Start\",defaultValue:0,min:0,max:1e5,step:1},end:{type:ControlType.Number,title:\"End\",defaultValue:100,min:0,max:1e5,step:1},decimals:{type:ControlType.Number,title:\"Decimals\",defaultValue:0,min:0,max:10,step:1},font:{type:ControlType.Font,controls:\"extended\",title:\"Styles\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000\",description:\"More components at [Stylokit](https://stylokit.com/).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedNumber\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedNumber.map"],"mappings":"sQAA0X,SAAS,EAAqB,CAAC,QAAM,EAAE,MAAI,IAAI,WAAS,EAAE,OAAK,QAAM,QAAQ,CAAC,IAAM,EAAIA,EAAO,IAAI,EAAQ,EAAS,EAAU,EAAI,CAAC,KAAK,GAAK,OAAO,EAAE,CAAC,EAAQ,EAAM,EAAe,CAAK,EAAiE,EAAQ,EAA1D,EAAU,EAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,CAAmC,EAAE,GAAa,EAAa,EAAI,CAAQ,CAAG,EAA6E,OAA3E,MAAc,CAAC,EAAM,IAAI,EAAS,EAAI,CAAK,CAAE,EAAE,CAAC,EAAM,EAAI,EAAS,CAAK,CAAC,EAAsB,EAAK,EAAO,KAAK,CAAK,MAAI,MAAM,CAAC,QAAM,QAAQ,eAAe,GAAG,CAAI,EAAE,SAAS,CAAO,CAAC,CAAE,CAEj3B,SAAwB,EAAe,CAAC,QAAM,EAAE,MAAI,IAAI,WAAS,EAAE,OAAK,QAAM,QAAQ,CAAwL,OAAhK,EAAwC,EAAuB,EAAK,OAAO,CAAC,MAAM,CAAC,QAAM,QAAQ,eAAe,GAAG,CAAI,EAAE,SAAS,EAAa,EAAI,CAAQ,CAAC,CAAC,EAAuB,EAAK,EAAqB,CAAO,QAAU,MAAa,WAAc,OAAW,OAAK,CAAC,CAAE,mBAFpV,IAAkF,IAAoC,IAAwE,EAAO,GAAc,EAAM,IAAW,CAAC,IAAM,EAAE,OAAO,CAAK,EAAQ,EAAM,EAAE,QAAQ,CAAQ,EAAE,OAAO,GAAG,IAAI,OAAO,CAAK,CAAC,CAAC,eAAe,EAAE,CAAM,EAEO,EAAe,YAAY,iBAAiB,EAAoB,EAAe,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,KAAK,SAAS,WAAW,MAAM,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,OAAO,YAAY,uDAAuD,CAAC,CAAC"}