{"version":3,"file":"Number.BT40rtEc.mjs","names":["React.useRef"],"sources":["https:/framerusercontent.com/modules/8kyGxpzcy4Vy9VN8aD3p/0IeREBhZg41NTkakreNQ/Number.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,useInView,useMotionValue,useTransform,animate}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";export function AnimatedNumber(props){const ref=React.useRef(null);const isInView=useInView(ref,{once:true});const number=useMotionValue(props.startFrom);const formattedNumber=useTransform(number,latest=>{const value=props.formatNumber?Math.round(latest).toLocaleString():latest.toFixed(props.decimalPlaces);return`${value}${props.suffix}`;});React.useEffect(()=>{if(isInView){animate(number,props.targetNumber,{duration:props.duration,ease:props.easing});}},[isInView]);return /*#__PURE__*/_jsx(motion.div,{ref:ref,style:{fontFamily:props.font,fontWeight:props.fontWeight,fontSize:props.fontSize,color:props.textColor,whiteSpace:\"nowrap\",lineHeight:props.lineHeight,letterSpacing:`${props.letterSpacing}px`,...props.style},children:formattedNumber});}AnimatedNumber.defaultProps={targetNumber:1e3,startFrom:0,duration:2,easing:\"easeInOut\",textColor:\"#000\",formatNumber:true,decimalPlaces:0,font:\"Inter, sans-serif\",fontSize:24,fontWeight:600,lineHeight:1.2,letterSpacing:0,suffix:\"\"};addPropertyControls(AnimatedNumber,{targetNumber:{type:ControlType.Number,title:\"Target Value\",defaultValue:1e3,min:0,max:1e6},startFrom:{type:ControlType.Number,title:\"Start From\",defaultValue:0,min:0,max:1e6},duration:{type:ControlType.Number,title:\"Duration (s)\",min:.1,max:30,step:.1,defaultValue:2},easing:{type:ControlType.Enum,title:\"Easing\",options:[\"linear\",\"easeIn\",\"easeOut\",\"easeInOut\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease In Out\"],defaultValue:\"easeInOut\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000\"},font:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Inter, sans-serif\"},fontSize:{type:ControlType.Number,title:\"Font Size\",min:8,max:300,step:1,defaultValue:24},fontWeight:{type:ControlType.Enum,title:\"Font Weight\",options:[\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],optionTitles:[\"Thin\",\"Extra Light\",\"Light\",\"Regular\",\"Medium\",\"Semi Bold\",\"Bold\",\"Extra Bold\",\"Black\"],defaultValue:\"600\"},lineHeight:{type:ControlType.Number,title:\"Line Height\",min:.5,max:5,step:.1,defaultValue:1.2,displayStepper:true},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",min:-5,max:50,step:.1,defaultValue:0,unit:\"px\",displayStepper:true},formatNumber:{type:ControlType.Boolean,title:\"Format Number\",defaultValue:true},decimalPlaces:{type:ControlType.Number,title:\"Decimals\",min:0,max:5,step:1,defaultValue:0,hidden:props=>props.formatNumber},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\",placeholder:\"e.g., B, %, $\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"AnimatedNumber\":{\"type\":\"reactComponent\",\"name\":\"AnimatedNumber\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Number.map"],"mappings":"4ZAA2M,SAAgB,EAAe,EAAM,CAAC,IAAM,EAAIA,EAAa,KAAK,CAAO,EAAS,EAAU,EAAI,CAAC,KAAK,GAAK,CAAC,CAAO,EAAO,EAAe,EAAM,UAAU,CAAO,EAAgB,EAAa,EAAO,GAAsH,GAAjG,EAAM,aAAa,KAAK,MAAM,EAAO,CAAC,gBAAgB,CAAC,EAAO,QAAQ,EAAM,cAAc,GAAkB,EAAM,SAAW,CAAiI,OAAhI,MAAoB,CAAI,GAAU,EAAQ,EAAO,EAAM,aAAa,CAAC,SAAS,EAAM,SAAS,KAAK,EAAM,OAAO,CAAC,EAAI,CAAC,EAAS,CAAC,CAAqB,EAAK,EAAO,IAAI,CAAK,MAAI,MAAM,CAAC,WAAW,EAAM,KAAK,WAAW,EAAM,WAAW,SAAS,EAAM,SAAS,MAAM,EAAM,UAAU,WAAW,SAAS,WAAW,EAAM,WAAW,cAAc,GAAG,EAAM,cAAc,IAAI,GAAG,EAAM,MAAM,CAAC,SAAS,EAAgB,CAAC,kBAA94B,IAA4B,IAAgF,IAAoD,CAAgvB,EAAe,aAAa,CAAC,aAAa,IAAI,UAAU,EAAE,SAAS,EAAE,OAAO,YAAY,UAAU,OAAO,aAAa,GAAK,cAAc,EAAE,KAAK,oBAAoB,SAAS,GAAG,WAAW,IAAI,WAAW,IAAI,cAAc,EAAE,OAAO,GAAG,CAAC,EAAoB,EAAe,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,SAAS,SAAS,UAAU,YAAY,CAAC,aAAa,CAAC,SAAS,UAAU,WAAW,cAAc,CAAC,aAAa,YAAY,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,OAAO,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,oBAAoB,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,QAAQ,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,cAAc,QAAQ,UAAU,SAAS,YAAY,OAAO,aAAa,QAAQ,CAAC,aAAa,MAAM,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,aAAa,IAAI,eAAe,GAAK,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,aAAa,EAAE,KAAK,KAAK,eAAe,GAAK,CAAC,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,gBAAgB,aAAa,GAAK,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,GAAO,EAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,YAAY,gBAAgB,CAAC,CAAC"}