{"version":3,"file":"Counter1.Bqbi4i-R.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/zMmwGo5K3m9mA48JAfwG/ZWoRvyiEP3wyIbMad0sU/Counter1.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";const CounterStyles={container:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"}};const applyGradient=(text,gradientEnabled,angle,color1,color2)=>{if(gradientEnabled){const gradient=`linear-gradient(${angle}deg, ${color1}, ${color2})`;return /*#__PURE__*/_jsx(\"span\",{style:{backgroundImage:gradient,WebkitBackgroundClip:\"text\",WebkitTextFillColor:\"transparent\",display:\"inline-block\"},children:text});}else{return text;}};export function Counter(props){const{start,end,speed,gapSize,prefixEnabled,prefixText,prefixFont,prefixColor,prefixGradientEnabled,prefixGradientAngle,prefixGradientColor1,prefixGradientColor2,suffixEnabled,suffixText,suffixFont,suffixColor,suffixGradientEnabled,suffixGradientAngle,suffixGradientColor1,suffixGradientColor2,textGradientEnabled,textGradientAngle,textGradientColor1,textGradientColor2,loop,decimalSeparatorType,textSize,selectedFont,textColor,startOnViewport,restartOnViewport,incrementType}=props;const[count,setCount]=useState(start);const[isVisible,setIsVisible]=useState(false);const containerRef=useRef(null);useEffect(()=>{const observer=new IntersectionObserver(entries=>{const entry=entries[0];setIsVisible(entry.isIntersecting);});if(containerRef.current){observer.observe(containerRef.current);}return()=>{if(containerRef.current){observer.unobserve(containerRef.current);}};},[]);useEffect(()=>{const updateCount=()=>{const increment=incrementType===\"integer\"?1:.1;if(count<end){setCount(prevCount=>parseFloat((prevCount+increment).toFixed(1)));}else if(loop){setCount(start);}};if(isVisible||!startOnViewport&&start!==end){const intervalId=setInterval(updateCount,speed);return()=>{clearInterval(intervalId);};}else if(startOnViewport&&isVisible){setCount(start);}},[count,start,end,loop,isVisible,speed,startOnViewport,incrementType]);useEffect(()=>{if(restartOnViewport&&isVisible){setCount(start)// Restart the animation when re-entering the viewport\n;}},[isVisible,restartOnViewport,start]);const formatNumber=number=>{if(decimalSeparatorType===\"comma\"){return number.toLocaleString(\"en-US\");}else if(decimalSeparatorType===\"period\"){return number.toLocaleString(\"en-US\").replace(/,/g,\".\");}else{return number.toFixed(incrementType===\"integer\"?0:1);}};return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{...CounterStyles.container,gap:`${gapSize}px`,flexDirection:\"row\",alignItems:\"center\",fontSize:`${textSize}px`,fontFamily:selectedFont.fontFamily,fontWeight:selectedFont.fontWeight,color:textColor},children:[prefixEnabled&&applyGradient(/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:prefixFont.fontFamily,fontWeight:prefixFont.fontWeight,color:prefixGradientEnabled?\"transparent\":prefixColor},children:prefixText}),prefixGradientEnabled,prefixGradientAngle,prefixGradientColor1,prefixGradientColor2),applyGradient(formatNumber(count),textGradientEnabled,textGradientAngle,textGradientColor1,textGradientColor2),suffixEnabled&&applyGradient(/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:suffixFont.fontFamily,fontWeight:suffixFont.fontWeight,color:suffixGradientEnabled?\"transparent\":suffixColor},children:suffixText}),suffixGradientEnabled,suffixGradientAngle,suffixGradientColor1,suffixGradientColor2)]});}Counter.defaultProps={start:0,end:100,speed:100,prefixEnabled:false,suffixEnabled:false,loop:false,decimalSeparatorType:\"comma\",textSize:36,selectedFont:{fontFamily:\"Inter\",fontWeight:500,systemFont:true},textColor:\"#D3D3D3\",startOnViewport:false,incrementType:\"integer\",textGradientEnabled:false,textGradientAngle:90,textGradientColor1:\"#000\",textGradientColor2:\"#fff\",prefixText:\"\",prefixFont:{fontFamily:\"Inter\",fontWeight:500,systemFont:true},prefixColor:\"#000\",prefixGradientEnabled:false,prefixGradientAngle:90,prefixGradientColor1:\"#000\",prefixGradientColor2:\"#fff\",suffixText:\"\",suffixFont:{fontFamily:\"Inter\",fontWeight:500,systemFont:true},suffixColor:\"#000\",suffixGradientEnabled:false,suffixGradientAngle:90,suffixGradientColor1:\"#000\",suffixGradientColor2:\"#fff\"};addPropertyControls(Counter,{startOnViewport:{type:ControlType.Boolean,title:\"Viewport\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},restartOnViewport:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},selectedFont:{title:\"Font\",type:ControlType.Font,defaultValue:{fontFamily:\"Inter\",fontWeight:500,systemFont:true}},textSize:{title:\"Font Size\",type:ControlType.Number,min:8,max:240,step:1},textColor:{type:ControlType.Color,title:\"Font Color\"},textGradientEnabled:{type:ControlType.Boolean,title:\"Text Gradient\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},textGradientAngle:{type:ControlType.Number,title:\"Text Gradient Angle\",min:0,max:360,defaultValue:90,hidden:props=>!props.textGradientEnabled},textGradientColor1:{type:ControlType.Color,title:\"Text Gradient Color 1\",defaultValue:\"#000\",hidden:props=>!props.textGradientEnabled},textGradientColor2:{type:ControlType.Color,title:\"Text Gradient Color 2\",defaultValue:\"#fff\",hidden:props=>!props.textGradientEnabled},start:{type:ControlType.Number,title:\"Start Number\",defaultValue:0,displayStepper:true},end:{type:ControlType.Number,title:\"End Number\",defaultValue:10,displayStepper:true},decimalSeparatorType:{type:ControlType.Enum,title:\"Separator\",defaultValue:\"comma\",options:[\"comma\",\"period\",\"none\"],optionTitles:[\"Comma (1,000)\",\"Decimal (1.000)\",\"None\"]},incrementType:{type:ControlType.Enum,title:\"Increment Type\",defaultValue:\"integer\",options:[\"integer\",\"decimal\"],optionTitles:[\"Integer\",\"Decimal\"]},prefixEnabled:{type:ControlType.Boolean,title:\"Prefix\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},prefixText:{type:ControlType.String,title:\"Prefix Text\",defaultValue:\"\",hidden:props=>!props.prefixEnabled},prefixFont:{title:\"Prefix Font\",type:ControlType.Font,defaultValue:{fontFamily:\"Inter\",fontWeight:500,systemFont:true},hidden:props=>!props.prefixEnabled},prefixColor:{type:ControlType.Color,title:\"Prefix Color\",hidden:props=>!props.prefixEnabled},prefixGradientEnabled:{type:ControlType.Boolean,title:\"Prefix Gradient\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:props=>!props.prefixEnabled},prefixGradientAngle:{type:ControlType.Number,title:\"Prefix Gradient Angle\",min:0,max:360,defaultValue:90,hidden:props=>!props.prefixEnabled||!props.prefixGradientEnabled},prefixGradientColor1:{type:ControlType.Color,title:\"Prefix Gradient Color 1\",defaultValue:\"#000\",hidden:props=>!props.prefixEnabled||!props.prefixGradientEnabled},prefixGradientColor2:{type:ControlType.Color,title:\"Prefix Gradient Color 2\",defaultValue:\"#fff\",hidden:props=>!props.prefixEnabled||!props.prefixGradientEnabled},suffixEnabled:{type:ControlType.Boolean,title:\"Suffix\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},suffixText:{type:ControlType.String,title:\"Suffix Text\",defaultValue:\"\",hidden:props=>!props.suffixEnabled},suffixFont:{title:\"Suffix Font\",type:ControlType.Font,defaultValue:{fontFamily:\"Inter\",fontWeight:500,systemFont:true},hidden:props=>!props.suffixEnabled},suffixColor:{type:ControlType.Color,title:\"Suffix Color\",hidden:props=>!props.suffixEnabled},suffixGradientEnabled:{type:ControlType.Boolean,title:\"Suffix Gradient\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:props=>!props.suffixEnabled},suffixGradientAngle:{type:ControlType.Number,title:\"Suffix Gradient Angle\",min:0,max:360,defaultValue:90,hidden:props=>!props.suffixEnabled||!props.suffixGradientEnabled},suffixGradientColor1:{type:ControlType.Color,title:\"Suffix Gradient Color 1\",defaultValue:\"#000\",hidden:props=>!props.suffixEnabled||!props.suffixGradientEnabled},suffixGradientColor2:{type:ControlType.Color,title:\"Suffix Gradient Color 2\",defaultValue:\"#fff\",hidden:props=>!props.suffixEnabled||!props.suffixGradientEnabled},gapSize:{type:ControlType.Number,title:\"Gap Size\",defaultValue:4,min:0,max:100,step:4},speed:{type:ControlType.Number,title:\"Speed (ms)\",defaultValue:100,min:0,max:2e3,step:10},loop:{type:ControlType.Boolean,title:\"Loop Animation\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"[Built by Asif Kabir](https://www.youtube.com/channel/UCujbStV-Rp-QGfiHOKA9AvA)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"Counter\":{\"type\":\"reactComponent\",\"name\":\"Counter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Counter1.map"],"mappings":"iPAA8mB,SAAgB,EAAQ,EAAM,CAAC,GAAK,CAAC,QAAM,MAAI,QAAM,UAAQ,gBAAc,aAAW,aAAW,cAAY,wBAAsB,sBAAoB,uBAAqB,uBAAqB,gBAAc,aAAW,aAAW,cAAY,wBAAsB,sBAAoB,uBAAqB,uBAAqB,sBAAoB,oBAAkB,qBAAmB,qBAAmB,OAAK,uBAAqB,WAAS,eAAa,YAAU,kBAAgB,oBAAkB,iBAAe,EAAW,CAAC,EAAM,GAAUA,EAAS,CAAK,EAAO,CAAC,EAAU,GAAcA,EAAS,EAAK,EAAQ,EAAaC,EAAO,IAAI,EAAE,MAAc,CAAC,IAAM,EAAS,IAAI,qBAAqB,GAAS,CAAC,IAAM,EAAM,EAAQ,GAAG,EAAa,EAAM,cAAc,CAAE,CAAC,EAAmE,OAA9D,EAAa,SAAS,EAAS,QAAQ,EAAa,OAAO,MAAa,CAAI,EAAa,SAAS,EAAS,UAAU,EAAa,OAAO,CAAG,CAAE,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,IAAM,MAAgB,CAAC,IAAM,EAAU,IAAgB,UAAU,EAAE,GAAM,EAAM,EAAK,EAAS,GAAW,YAAY,EAAU,EAAA,CAAW,QAAQ,CAAC,CAAC,CAAC,EAAW,GAAM,EAAS,CAAK,CAAG,EAAE,GAAG,GAAW,CAAC,GAAiB,IAAQ,EAAI,CAAC,IAAM,EAAW,YAAY,EAAY,CAAK,EAAE,UAAU,CAAC,cAAc,CAAU,CAAE,CAAE,MAAS,GAAiB,GAAW,EAAS,CAAK,CAAG,EAAE,CAAC,EAAM,EAAM,EAAI,EAAK,EAAU,EAAM,EAAgB,CAAa,CAAC,EAAE,MAAc,CAAI,GAAmB,GAAW,EAAS,CAAK,CAC9/D,EAAE,CAAC,EAAU,EAAkB,CAAK,CAAC,EAAE,IAAM,EAAa,GAAY,IAAuB,QAAgB,EAAO,eAAe,OAAO,EAAW,IAAuB,SAAiB,EAAO,eAAe,OAAO,CAAC,CAAC,QAAQ,KAAK,GAAG,EAAe,EAAO,QAAQ,IAAgB,UAAU,EAAE,CAAC,EAAK,OAAoB,EAAM,EAAO,IAAI,CAAC,IAAI,EAAa,MAAM,CAAC,GAAG,EAAc,UAAU,IAAI,GAAG,EAAQ,IAAI,cAAc,MAAM,WAAW,SAAS,SAAS,GAAG,EAAS,IAAI,WAAW,EAAa,WAAW,WAAW,EAAa,WAAW,MAAM,CAAS,EAAE,SAAS,CAAC,GAAe,EAA2B,EAAK,OAAO,CAAC,MAAM,CAAC,WAAW,EAAW,WAAW,WAAW,EAAW,WAAW,MAAM,EAAsB,cAAc,CAAW,EAAE,SAAS,CAAU,CAAC,EAAE,EAAsB,EAAoB,EAAqB,CAAoB,EAAE,EAAc,EAAa,CAAK,EAAE,EAAoB,EAAkB,EAAmB,CAAkB,EAAE,GAAe,EAA2B,EAAK,OAAO,CAAC,MAAM,CAAC,WAAW,EAAW,WAAW,WAAW,EAAW,WAAW,MAAM,EAAsB,cAAc,CAAW,EAAE,SAAS,CAAU,CAAC,EAAE,EAAsB,EAAoB,EAAqB,CAAoB,CAAC,CAAC,CAAC,CAAE,qBAD1rC,IAA6C,IAAkC,IAAoD,EAAO,EAAc,CAAC,UAAU,CAAC,QAAQ,OAAO,eAAe,SAAS,WAAW,QAAQ,CAAC,EAAQ,GAAe,EAAK,EAAgB,EAAM,EAAO,IAAa,EAAyG,EAAK,OAAO,CAAC,MAAM,CAAC,gBAAgB,mBAA1F,EAAM,OAAO,EAAO,IAAI,EAAO,GAAoE,qBAAqB,OAAO,oBAAoB,cAAc,QAAQ,cAAc,EAAE,SAAS,CAAI,CAAC,EAAe,EAC6oB,EAAQ,aAAa,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,IAAI,cAAc,GAAM,cAAc,GAAM,KAAK,GAAM,qBAAqB,QAAQ,SAAS,GAAG,aAAa,CAAC,WAAW,QAAQ,WAAW,IAAI,WAAW,EAAI,EAAE,UAAU,UAAU,gBAAgB,GAAM,cAAc,UAAU,oBAAoB,GAAM,kBAAkB,GAAG,mBAAmB,OAAO,mBAAmB,OAAO,WAAW,GAAG,WAAW,CAAC,WAAW,QAAQ,WAAW,IAAI,WAAW,EAAI,EAAE,YAAY,OAAO,sBAAsB,GAAM,oBAAoB,GAAG,qBAAqB,OAAO,qBAAqB,OAAO,WAAW,GAAG,WAAW,CAAC,WAAW,QAAQ,WAAW,IAAI,WAAW,EAAI,EAAE,YAAY,OAAO,sBAAsB,GAAM,oBAAoB,GAAG,qBAAqB,OAAO,qBAAqB,MAAM,EAAE,EAAoB,EAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,WAAW,aAAa,GAAM,aAAa,KAAK,cAAc,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAM,aAAa,MAAM,cAAc,IAAI,EAAE,aAAa,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,aAAa,CAAC,WAAW,QAAQ,WAAW,IAAI,WAAW,EAAI,CAAC,EAAE,SAAS,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,YAAY,EAAE,oBAAoB,CAAC,KAAK,EAAY,QAAQ,MAAM,gBAAgB,aAAa,GAAM,aAAa,KAAK,cAAc,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,sBAAsB,IAAI,EAAE,IAAI,IAAI,aAAa,GAAG,OAAO,GAAO,CAAC,EAAM,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,EAAY,MAAM,MAAM,wBAAwB,aAAa,OAAO,OAAO,GAAO,CAAC,EAAM,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,EAAY,MAAM,MAAM,wBAAwB,aAAa,OAAO,OAAO,GAAO,CAAC,EAAM,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,eAAe,EAAI,EAAE,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,eAAe,EAAI,EAAE,qBAAqB,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,aAAa,QAAQ,QAAQ,CAAC,QAAQ,SAAS,MAAM,EAAE,aAAa,CAAC,gBAAgB,kBAAkB,MAAM,CAAC,EAAE,cAAc,CAAC,KAAK,EAAY,KAAK,MAAM,iBAAiB,aAAa,UAAU,QAAQ,CAAC,UAAU,SAAS,EAAE,aAAa,CAAC,UAAU,SAAS,CAAC,EAAE,cAAc,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAM,aAAa,KAAK,cAAc,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,WAAW,CAAC,MAAM,cAAc,KAAK,EAAY,KAAK,aAAa,CAAC,WAAW,QAAQ,WAAW,IAAI,WAAW,EAAI,EAAE,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,sBAAsB,CAAC,KAAK,EAAY,QAAQ,MAAM,kBAAkB,aAAa,GAAM,aAAa,KAAK,cAAc,MAAM,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,wBAAwB,IAAI,EAAE,IAAI,IAAI,aAAa,GAAG,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,EAAM,qBAAqB,EAAE,qBAAqB,CAAC,KAAK,EAAY,MAAM,MAAM,0BAA0B,aAAa,OAAO,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,EAAM,qBAAqB,EAAE,qBAAqB,CAAC,KAAK,EAAY,MAAM,MAAM,0BAA0B,aAAa,OAAO,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,EAAM,qBAAqB,EAAE,cAAc,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,GAAM,aAAa,KAAK,cAAc,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,WAAW,CAAC,MAAM,cAAc,KAAK,EAAY,KAAK,aAAa,CAAC,WAAW,QAAQ,WAAW,IAAI,WAAW,EAAI,EAAE,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,sBAAsB,CAAC,KAAK,EAAY,QAAQ,MAAM,kBAAkB,aAAa,GAAM,aAAa,KAAK,cAAc,MAAM,OAAO,GAAO,CAAC,EAAM,aAAa,EAAE,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,wBAAwB,IAAI,EAAE,IAAI,IAAI,aAAa,GAAG,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,EAAM,qBAAqB,EAAE,qBAAqB,CAAC,KAAK,EAAY,MAAM,MAAM,0BAA0B,aAAa,OAAO,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,EAAM,qBAAqB,EAAE,qBAAqB,CAAC,KAAK,EAAY,MAAM,MAAM,0BAA0B,aAAa,OAAO,OAAO,GAAO,CAAC,EAAM,eAAe,CAAC,EAAM,qBAAqB,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,iBAAiB,aAAa,GAAM,aAAa,KAAK,cAAc,MAAM,YAAY,iFAAiF,CAAC,CAAC"}