{"version":3,"file":"Counter1.2uNTFSGP.mjs","names":["useState","useRef","__esmMin","init_npm_react_18_3_1","ce","init_jsx_runtime","c","p","_e","de","motion","init_framer_motion_DhsWWWsN","init_framer_B1b760uK","addPropertyControls","ControlType","Counter","props","count","setCount","start","isVisible","setIsVisible","containerRef","observer","entry","entries","updateCount","increment","incrementType","nextCount","prevCount","end","startOnViewport","intervalId","speed","loop","restartOnViewport","formatNumber","decimalSeparatorType","number","CounterStyles","gapSize","textSize","selectedFont","textColor","prefixFont","prefixColor","prefixText","suffixFont","suffixColor","suffixText","init_Counter1"],"sources":["https:/framerusercontent.com/modules/nAvvEboS1vZ5rulokgFq/xftbyJD4AjHyJM9uW9fV/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\"}};export function Counter(props){const{start,end,speed,gapSize,prefixText,suffixText,prefixFont,suffixFont,prefixColor,suffixColor,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;setCount(prevCount=>{const nextCount=parseFloat((prevCount+increment).toFixed(2));return nextCount>=end?end:nextCount;});};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:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:prefixFont.fontFamily,fontWeight:prefixFont.fontWeight,color:prefixColor},children:prefixText}),/*#__PURE__*/_jsx(\"span\",{children:formatNumber(count)}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:suffixFont.fontFamily,fontWeight:suffixFont.fontWeight,color:suffixColor},children:suffixText})]});}Counter.defaultProps={start:0,end:100,speed:100,prefixText:\"\",suffixText:\"\",loop:false,decimalSeparatorType:\"comma\",textSize:36,selectedFont:{fontFamily:\"Inter\",fontWeight:500,systemFont:true},textColor:\"#D3D3D3\",startOnViewport:false,incrementType:\"integer\"};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\"},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\"]},prefixText:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},prefixFont:{title:\"Prefix Font\",type:ControlType.Font,defaultValue:{fontFamily:\"Inter\",fontWeight:500,systemFont:true}},prefixColor:{type:ControlType.Color,title:\"Prefix Color\"},suffixText:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},suffixFont:{title:\"Suffix Font\",type:ControlType.Font,defaultValue:{fontFamily:\"Inter\",fontWeight:500,systemFont:true}},suffixColor:{type:ControlType.Color,title:\"Suffix Color\"},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":"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"}