{"version":3,"file":"NumberCounter.DMf5-R23.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/DVegmwn59xHBSYKAZoZI/lKkX9dWHOFvMIlw7QTP4/NumberCounter.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 NumberCounterStyles={container:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"}};const useForceInlineStyles=(ref,styles)=>{useEffect(()=>{if(ref.current&&styles){// Use a small timeout to ensure it runs after Framer styling\nconst timeoutId=setTimeout(()=>{// Apply each style as an inline style with !important\nObject.entries(styles).forEach(([property,value])=>{ref.current.style.setProperty(property,value,\"important\");});},50);return()=>clearTimeout(timeoutId);}},[ref,styles]);};// Convert to a functional component that uses the hook\nconst CounterText=props=>{const spanRef=useRef(null);// Extract all style props\nconst{font,fontType,color,verticalAlign,children,...otherProps}=props;// Determine the final style values\nconst fontFamily=props.fontFamily||font&&font.fontFamily||fontType&&fontType.fontFamily||\"Inter\";const fontSize=props.fontSize||font&&font.fontSize||fontType&&fontType.fontSize||\"16px\";const fontWeight=props.fontWeight||font&&font.fontWeight||fontType&&fontType.fontWeight||400;const lineHeight=props.lineHeight||font&&font.lineHeight||fontType&&fontType.lineHeight||\"1.2\";const letterSpacing=props.letterSpacing||font&&font.letterSpacing||fontType&&fontType.letterSpacing||\"normal\";const textAlign=props.textAlign||font&&font.textAlign||fontType&&fontType.textAlign||\"left\";const fontStyle=props.fontStyle||font&&font.fontStyle||fontType&&fontType.fontStyle||\"normal\";// Create a style object for our hook\nconst styles={color:color||\"#000\",\"font-family\":fontFamily,\"font-size\":fontSize,\"font-weight\":fontWeight.toString(),\"line-height\":lineHeight,\"letter-spacing\":letterSpacing,\"text-align\":textAlign,\"font-style\":fontStyle,padding:\"0\",margin:\"0\",\"box-sizing\":\"content-box\",\"white-space\":\"nowrap\",display:\"inline-block\"};// Handle vertical alignment\nlet alignSelf=\"baseline\";switch(verticalAlign){case\"top\":alignSelf=\"flex-start\";break;case\"middle\":alignSelf=\"center\";break;case\"bottom\":alignSelf=\"flex-end\";break;default:alignSelf=\"baseline\";}styles[\"align-self\"]=alignSelf;// Use our hook to force these styles\nuseForceInlineStyles(spanRef,styles);return /*#__PURE__*/_jsx(\"span\",{ref:spanRef,...otherProps,children:children});};/**\n * @framerDisableUnlink\n */export function NumberCounter(props){const{start,end,speed,gapSize,prefixText,suffixText,prefixFont,suffixFont,prefixColor,suffixColor,prefixPosition,suffixPosition,loop,decimalSep,textSize,fontType,textColor,replayCount,loopCount,incrementType,formatType,uppercaseRoman}=props;const[count,setCount]=useState(start);const[isVisible,setIsVisible]=useState(false);const[hasStarted,setHasStarted]=useState(false);const containerRef=useRef(null);const prevVisibleRef=useRef(false);useEffect(()=>{const observer=new IntersectionObserver(entries=>{setIsVisible(entries[0].isIntersecting);});if(containerRef.current){observer.observe(containerRef.current);}return()=>{if(containerRef.current){observer.unobserve(containerRef.current);}};},[]);// Reset counter when necessary\nuseEffect(()=>{// Start counting when component becomes visible\nif(isVisible&&!hasStarted){setCount(start);setHasStarted(true);}// Reset counter for loop functionality\nif(isVisible&&!prevVisibleRef.current&&loopCount&&hasStarted){setCount(start);}prevVisibleRef.current=isVisible;},[isVisible,start,loopCount,hasStarted]);// Handle the counting logic\nuseEffect(()=>{// Only count when visible in the viewport\nconst shouldCount=isVisible&&hasStarted;if(shouldCount){const step=incrementType===\"integer\"?1:.1;const timer=setInterval(()=>{setCount(prev=>{const next=parseFloat((prev+step).toFixed(2));return next>=end?end:next;});},speed);return()=>clearInterval(timer);}},[count,end,isVisible,speed,incrementType,hasStarted]);// Handle looping\nuseEffect(()=>{if(loop&&count>=end){const loopTimer=setTimeout(()=>{setCount(start);},1e3);return()=>clearTimeout(loopTimer);}},[count,end,loop,start]);const toRoman=num=>{if(num<=0)return\"N/A\";if(num>=4e3)return num.toString();const romanNumerals=[{value:1e3,numeral:\"M\"},{value:900,numeral:\"CM\"},{value:500,numeral:\"D\"},{value:400,numeral:\"CD\"},{value:100,numeral:\"C\"},{value:90,numeral:\"XC\"},{value:50,numeral:\"L\"},{value:40,numeral:\"XL\"},{value:10,numeral:\"X\"},{value:9,numeral:\"IX\"},{value:5,numeral:\"V\"},{value:4,numeral:\"IV\"},{value:1,numeral:\"I\"}];let result=\"\";let remaining=Math.floor(num);for(const{value,numeral}of romanNumerals){while(remaining>=value){result+=numeral;remaining-=value;}}return uppercaseRoman?result:result.toLowerCase();};const formatNumber=num=>{if(formatType===\"roman\"){return toRoman(num);}else if(decimalSep===\"period\"){return num.toLocaleString(\"de-DE\",{minimumFractionDigits:incrementType===\"integer\"?0:1});}else if(decimalSep===\"comma\"){return num.toLocaleString(\"en-US\",{minimumFractionDigits:incrementType===\"integer\"?0:1});}else{return num.toFixed(incrementType===\"integer\"?0:1);}};return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{...NumberCounterStyles.container,gap:`${gapSize}px`,flexDirection:\"row\",alignItems:\"center\",display:\"flex\"},children:[/*#__PURE__*/_jsx(CounterText,{font:prefixFont,fontType:prefixFont,color:prefixColor,verticalAlign:prefixPosition,children:prefixText}),/*#__PURE__*/_jsx(CounterText,{font:fontType,fontType:fontType,color:textColor,children:formatNumber(count)}),/*#__PURE__*/_jsx(CounterText,{font:suffixFont,fontType:suffixFont,color:suffixColor,verticalAlign:suffixPosition,children:suffixText})]});}NumberCounter.defaultProps={start:1,end:100,speed:100,prefixText:\"\",suffixText:\"\",prefixPosition:\"baseline\",suffixPosition:\"baseline\",loop:false,decimalSep:\"comma\",formatType:\"numeric\",uppercaseRoman:true,fontType:{fontFamily:\"Inter\",fontSize:36,fontWeight:500,lineHeight:\"1.2\",letterSpacing:\"normal\",textAlign:\"center\",fontStyle:\"normal\",systemFont:true},textColor:\"#D3D3D3\",replayCount:false,incrementType:\"integer\"};addPropertyControls(NumberCounter,{replayCount:{type:ControlType.Boolean,title:\"Viewport\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",hidden:true},loopCount:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},formatType:{type:ControlType.Enum,title:\"Format\",defaultValue:\"numeric\",options:[\"numeric\",\"roman\"],optionTitles:[\"Numeric\",\"Roman\"]},uppercaseRoman:{type:ControlType.Boolean,title:\"Uppercase Roman\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>props.formatType!==\"roman\"},fontType:{title:\"Font\",type:ControlType.Font,controls:\"extended\",displayFontSize:true,displayTextAlignment:true,defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontSize:36,fontWeight:500,lineHeight:\"1.2\",letterSpacing:\"normal\",textAlign:\"center\",fontStyle:\"normal\",systemFont:true}},textColor:{type:ControlType.Color,title:\"Font Color\",defaultValue:\"#D3D3D3\"},start:{type:ControlType.Number,title:\"Start Number\",defaultValue:1,displayStepper:true},end:{type:ControlType.Number,title:\"End Number\",defaultValue:10,displayStepper:true},decimalSep:{type:ControlType.Enum,title:\"Separator\",defaultValue:\"comma\",options:[\"comma\",\"period\",\"none\"],optionTitles:[\"Comma\",\"Decimal\",\"None\"],hidden:props=>props.formatType===\"roman\"},incrementType:{type:ControlType.Enum,title:\"Increment\",defaultValue:\"integer\",options:[\"integer\",\"decimal\"],optionTitles:[\"Integer\",\"Decimal\"],hidden:props=>props.formatType===\"roman\"},prefixText:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},prefixFont:{title:\"Prefix Font\",type:ControlType.Font,controls:\"extended\",displayFontSize:true,displayTextAlignment:true,defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontSize:36,fontWeight:500,lineHeight:\"1.2\",letterSpacing:\"normal\",textAlign:\"center\",fontStyle:\"normal\",systemFont:true}},prefixColor:{type:ControlType.Color,title:\"Prefix Color\"},prefixPosition:{type:ControlType.Enum,title:\"Prefix Position\",defaultValue:\"baseline\",options:[\"top\",\"middle\",\"baseline\",\"bottom\"],optionTitles:[\"Top\",\"Middle\",\"Baseline\",\"Bottom\"],description:\"Vertical alignment of the prefix text\"},suffixText:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},suffixFont:{title:\"Suffix Font\",type:ControlType.Font,controls:\"extended\",displayFontSize:true,displayTextAlignment:true,defaultFontType:\"sans-serif\",defaultValue:{fontFamily:\"Inter\",fontSize:36,fontWeight:500,lineHeight:\"1.2\",letterSpacing:\"normal\",textAlign:\"center\",fontStyle:\"normal\",systemFont:true}},suffixColor:{type:ControlType.Color,title:\"Suffix Color\"},suffixPosition:{type:ControlType.Enum,title:\"Suffix Position\",defaultValue:\"baseline\",options:[\"top\",\"middle\",\"baseline\",\"bottom\"],optionTitles:[\"Top\",\"Middle\",\"Baseline\",\"Bottom\"],description:\"Vertical alignment of the suffix text\"},gapSize:{type:ControlType.Number,title:\"Gap Size\",defaultValue:4,min:0,max:100,step:1,displayStepper:true},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:100,min:0,max:1e3,step:10,displayStepper:true,description:\"Discover more Framer resources at [Pixco](https://pixcodrops.com/resources)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"NumberCounter\":{\"type\":\"reactComponent\",\"name\":\"NumberCounter\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NumberCounter.map"],"mappings":"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"}