{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/v0MKT3Nli2XD1pgeENs3/MkMAAluX7kmH4TF3XGRT/C2_1.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const containerStyle={height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\"};export function AdvancedCounter({startNumber,endNumber,duration,color,prefix,suffix,font,fontSize,lineHeight,letterSpacing,prefixFontSize,suffixFontSize,prefixAlignment,suffixAlignment,decimalSeparator,countDirection,text}){const[count,setCount]=React.useState(startNumber);const formatNumber=num=>{switch(decimalSeparator){case\"comma\":return num.toLocaleString(\"en-US\");case\"period\":return num.toLocaleString(\"de-DE\");default:return num.toString();}};React.useEffect(()=>{const totalSteps=Math.abs(endNumber-startNumber);const stepTime=duration*1e3/totalSteps;const step=countDirection===\"up\"?1:-1;const timer=setInterval(()=>{setCount(prevCount=>{if(countDirection===\"up\"&&prevCount<endNumber){return prevCount+step;}else if(countDirection===\"down\"&&prevCount>endNumber){return prevCount+step;}else{clearInterval(timer);return prevCount;}});},stepTime);return()=>clearInterval(timer);},[startNumber,endNumber,duration,countDirection]);const dynamicStyle={...containerStyle,color:typeof color===\"string\"?color:undefined,fontFamily:font.fontFamily,fontWeight:font.fontWeight,fontSize:`${fontSize}px`,lineHeight:lineHeight.toString(),letterSpacing:`${letterSpacing}px`,background:typeof color===\"object\"?`linear-gradient(${color.angle}deg, ${color.start} 0%, ${color.end} 100%)`:undefined};const prefixStyle={fontSize:`${prefixFontSize}px`,alignSelf:prefixAlignment===\"top\"?\"flex-start\":prefixAlignment===\"middle\"?\"center\":\"flex-end\"};const suffixStyle={fontSize:`${suffixFontSize}px`,alignSelf:suffixAlignment===\"top\"?\"flex-start\":suffixAlignment===\"middle\"?\"center\":\"flex-end\"};return /*#__PURE__*/_jsxs(\"div\",{style:dynamicStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:prefixStyle,children:prefix}),/*#__PURE__*/_jsx(\"span\",{children:formatNumber(count)}),/*#__PURE__*/_jsx(\"span\",{style:suffixStyle,children:suffix})]});}AdvancedCounter.defaultProps={startNumber:0,endNumber:1e3,duration:5,color:\"#121212\",prefix:\"\",suffix:\"\",font:{fontFamily:\"Inter\",fontWeight:400,systemFont:true},fontSize:100,lineHeight:1.2,letterSpacing:0,prefixFontSize:100,suffixFontSize:100,prefixAlignment:\"middle\",suffixAlignment:\"middle\",decimalSeparator:\"comma\",countDirection:\"up\",text:\"\"};addPropertyControls(AdvancedCounter,{startNumber:{type:ControlType.Number,title:\"Start Number\",defaultValue:AdvancedCounter.defaultProps.startNumber,displayStepper:true},endNumber:{type:ControlType.Number,title:\"End Number\",defaultValue:AdvancedCounter.defaultProps.endNumber,displayStepper:true},duration:{type:ControlType.Number,title:\"Duration\",min:0,max:3600,unit:\"s\",defaultValue:AdvancedCounter.defaultProps.duration},color:{title:\"Color\",type:ControlType.Color,defaultValue:AdvancedCounter.defaultProps.color},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:AdvancedCounter.defaultProps.prefix},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:AdvancedCounter.defaultProps.suffix},font:{title:\"Font\",type:ControlType.Font,defaultValue:AdvancedCounter.defaultProps.font},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:AdvancedCounter.defaultProps.fontSize,min:1},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:AdvancedCounter.defaultProps.lineHeight,min:0},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:AdvancedCounter.defaultProps.letterSpacing,min:-5,max:20,step:.1},prefixFontSize:{type:ControlType.Number,title:\"Prefix Font Size\",defaultValue:AdvancedCounter.defaultProps.prefixFontSize,min:1},suffixFontSize:{type:ControlType.Number,title:\"Suffix Font Size\",defaultValue:AdvancedCounter.defaultProps.suffixFontSize,min:1},prefixAlignment:{type:ControlType.Enum,title:\"Prefix Alignment\",options:[\"top\",\"middle\",\"bottom\"],optionTitles:[\"Top\",\"Middle\",\"Bottom\"],defaultValue:AdvancedCounter.defaultProps.prefixAlignment},suffixAlignment:{type:ControlType.Enum,title:\"Suffix Alignment\",options:[\"top\",\"middle\",\"bottom\"],optionTitles:[\"Top\",\"Middle\",\"Bottom\"],defaultValue:AdvancedCounter.defaultProps.suffixAlignment},decimalSeparator:{type:ControlType.Enum,title:\"Decimal Separator\",options:[\"comma\",\"period\",\"none\"],optionTitles:[\"Comma (1,000)\",\"Period (1.000)\",\"None\"],defaultValue:AdvancedCounter.defaultProps.decimalSeparator},countDirection:{type:ControlType.SegmentedEnum,title:\"Direction\",options:[\"up\",\"down\"],optionTitles:[\"Up\",\"Down\"],defaultValue:AdvancedCounter.defaultProps.countDirection,description:\"[Built by FramerFuel](https://www.framerfuel.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"AdvancedCounter\":{\"type\":\"reactComponent\",\"name\":\"AdvancedCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./C2_1.map"],
  "mappings": "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",
  "names": ["containerStyle", "AdvancedCounter", "startNumber", "endNumber", "duration", "color", "prefix", "suffix", "font", "fontSize", "lineHeight", "letterSpacing", "prefixFontSize", "suffixFontSize", "prefixAlignment", "suffixAlignment", "decimalSeparator", "countDirection", "text", "count", "setCount", "ye", "formatNumber", "num", "ue", "totalSteps", "stepTime", "step", "timer", "prevCount", "dynamicStyle", "prefixStyle", "suffixStyle", "u", "p", "addPropertyControls", "ControlType"]
}
