{"version":3,"file":"Counter.Dc-3aRAl.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/Cnf5i24PUr37K3h2d7WK/nHA9Dog8fH3zz0A4a6zk/Counter.js"],"sourcesContent":["import{jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export function NumberCounter(props){const{startNumber,endNumber,fontColor,fontSize,fontWeight,fontFamily,speed,prefix,suffix,loop}=props;const[count,setCount]=useState(startNumber);const[isVisible,setIsVisible]=useState(false);const ref=useRef(null);useEffect(()=>{const observer=new IntersectionObserver(entries=>{const entry=entries[0];setIsVisible(entry.isIntersecting);});if(ref.current){observer.observe(ref.current);}return()=>{if(ref.current){observer.unobserve(ref.current);}};},[]);useEffect(()=>{if(isVisible&&startNumber!==endNumber){const intervalId=setInterval(()=>{if(count<endNumber){setCount(prevCount=>prevCount+1);}else if(loop){setCount(startNumber);}},speed);return()=>{clearInterval(intervalId);};}},[count,startNumber,endNumber,loop,isVisible]);return /*#__PURE__*/_jsxs(motion.div,{ref:ref,style:{color:fontColor,fontSize:fontSize,fontWeight:fontWeight,fontFamily:fontFamily},children:[prefix,count,suffix]});}NumberCounter.defaultProps={startNumber:0,endNumber:10,fontColor:\"#000\",fontSize:\"16px\",fontWeight:\"normal\",fontFamily:\"Arial\",speed:100,prefix:\"\",suffix:\"\",loop:false};addPropertyControls(NumberCounter,{startNumber:{type:ControlType.Number,title:\"Start Number\",defaultValue:0,displayStepper:true},endNumber:{type:ControlType.Number,title:\"End Number\",defaultValue:10,displayStepper:true},fontColor:{type:ControlType.Color,title:\"Font Color\",defaultValue:\"#000\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:16,min:0,max:100,step:1},fontWeight:{type:ControlType.Enum,title:\"Font Weight\",defaultValue:\"normal\",options:[\"light\",\"normal\",\"italic\",\"medium\",\"semibold\",\"bold\"],optionTitles:[\"Light\",\"Regular\",\"Medium\",\"Semibold\",\"Bold\"]},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Arial\"},speed:{type:ControlType.Number,title:\"Speed (ms)\",defaultValue:100,min:0,max:1e3,step:10},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},loop:{type:ControlType.Boolean,title:\"Loop Animation\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"NumberCounter\":{\"type\":\"reactComponent\",\"name\":\"NumberCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Counter.map"],"mappings":"oOAAgL,SAAgB,EAAc,EAAM,CAAC,GAAK,CAAC,cAAY,YAAU,YAAU,WAAS,aAAW,aAAW,QAAM,SAAO,SAAO,QAAM,EAAW,CAAC,EAAM,GAAUA,EAAS,CAAW,EAAO,CAAC,EAAU,GAAcA,EAAS,EAAK,EAAQ,EAAIC,EAAO,IAAI,EAAugB,OAArgB,MAAc,CAAC,IAAM,EAAS,IAAI,qBAAqB,GAAS,CAAC,IAAM,EAAM,EAAQ,GAAG,EAAa,EAAM,cAAc,CAAE,CAAC,EAAiD,OAA5C,EAAI,SAAS,EAAS,QAAQ,EAAI,OAAO,MAAa,CAAI,EAAI,SAAS,EAAS,UAAU,EAAI,OAAO,CAAG,CAAE,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,GAAG,GAAW,IAAc,EAAU,CAAC,IAAM,EAAW,gBAAgB,CAAI,EAAM,EAAW,EAAS,GAAW,EAAU,CAAC,EAAW,GAAM,EAAS,CAAW,CAAG,EAAE,CAAK,EAAE,UAAU,CAAC,cAAc,CAAU,CAAE,CAAE,CAAC,EAAE,CAAC,EAAM,EAAY,EAAU,EAAK,CAAS,CAAC,EAAsB,EAAM,EAAO,IAAI,CAAK,MAAI,MAAM,CAAC,MAAM,EAAmB,WAAoB,aAAsB,YAAU,EAAE,SAAS,CAAC,EAAO,EAAM,CAAM,CAAC,CAAC,CAAE,iBAAziC,IAAkC,IAA6C,IAAoD,EAAu6B,EAAc,aAAa,CAAC,YAAY,EAAE,UAAU,GAAG,UAAU,OAAO,SAAS,OAAO,WAAW,SAAS,WAAW,QAAQ,MAAM,IAAI,OAAO,GAAG,OAAO,GAAG,KAAK,EAAK,EAAE,EAAoB,EAAc,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,eAAe,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,eAAe,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,MAAM,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,cAAc,aAAa,SAAS,QAAQ,CAAC,QAAQ,SAAS,SAAS,SAAS,WAAW,MAAM,EAAE,aAAa,CAAC,QAAQ,UAAU,SAAS,WAAW,MAAM,CAAC,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,OAAO,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,EAAE,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,iBAAiB,aAAa,GAAM,aAAa,KAAK,cAAc,KAAK,CAAC,CAAC"}