{"version":3,"file":"LoaderCounter.DoGi0C51.mjs","names":["React.useState","React.useRef","React.useMemo"],"sources":["https:/framerusercontent.com/modules/0n49LEArcKWMQSd7LAXs/NF62x0cBZIdQ7PxXBOB0/LoaderCounter.js"],"sourcesContent":["/**\n * @framerDisableUnlink\n * @framerDisplayName \"Loader Counter\"\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Disable unlinking to protect the component\nexport const framerDisableUnlinking=true;/* ===== UTILITIES ===== */const clamp=(value,min=0,max=1)=>Math.max(min,Math.min(max,value));// Color interpolation with support for hex and rgb\nconst parseColor=color=>{if(color.startsWith(\"#\")){const hex=color.slice(1);const fullHex=hex.length===3?hex.split(\"\").map(c=>c+c).join(\"\"):hex;const bigint=parseInt(fullHex,16);return{r:bigint>>16&255,g:bigint>>8&255,b:bigint&255};}const match=color.match(/rgba?\\s*\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)\\s*,\\s*([\\d.]+)/);if(match){return{r:parseInt(match[1]),g:parseInt(match[2]),b:parseInt(match[3])};}return{r:0,g:0,b:0};};const interpolateColor=(start,end,progress)=>{const from=parseColor(start);const to=parseColor(end);const r=Math.round(from.r+(to.r-from.r)*progress);const g=Math.round(from.g+(to.g-from.g)*progress);const b=Math.round(from.b+(to.b-from.b)*progress);return`rgb(${r}, ${g}, ${b})`;};// Loader-specific easing - more dramatic speed changes\nconst loaderEase=t=>{if(t<.25){return 3.2*t*t;}if(t<.65){const adjusted=(t-.25)/.4;return .2+adjusted*.5;}if(t<.88){const adjusted=(t-.65)/.23;return .7+Math.pow(adjusted,1.5)*.18;}const final=(t-.88)/.12;return .88+Math.pow(final,4)*.12;};// Generate random micro-pauses for authentic loader feel\nfunction generateLoaderPauses(){const pauses=[];const pauseCount=3+Math.floor(Math.random()*3);for(let i=0;i<pauseCount;i++){const center=.15+Math.random()*.7;const width=.04+Math.random()*.08;pauses.push({start:Math.max(.15,center-width/2),end:Math.min(.85,center+width/2)});}pauses.push({start:.75+Math.random()*.05,end:.82+Math.random()*.03});return pauses;}/* ===== NUMBER FORMATTING ===== */function formatNumber(value,options){const{thousands,abbreviate,locale,decimals,decimalSeparator}=options;const applyDecimalSeparator=text=>{if(decimalSeparator===\"comma\"){const lastDot=text.lastIndexOf(\".\");if(lastDot!==-1&&text.length-lastDot-1<=3){return text.slice(0,lastDot)+\",\"+text.slice(lastDot+1);}}return text;};if(abbreviate){const absValue=Math.abs(value);let divisor=1;let suffix=\"\";let precision=0;if(absValue>=1e9){divisor=1e9;suffix=\"B\";if(absValue<1e10)precision=2;else if(absValue<1e11)precision=1;}else if(absValue>=1e6){divisor=1e6;suffix=\"M\";if(absValue<1e7)precision=2;else if(absValue<1e8)precision=1;}else if(absValue>=1e3){divisor=1e3;suffix=\"K\";if(absValue<1e4)precision=2;else if(absValue<1e5)precision=1;}if(divisor===1){const fixedValue=Number(value.toFixed(decimals));if(thousands){try{let text=new Intl.NumberFormat(locale,{minimumFractionDigits:decimals,maximumFractionDigits:decimals,useGrouping:true}).format(fixedValue);const lastComma=text.lastIndexOf(\",\");if(lastComma!==-1){text=text.slice(0,lastComma)+\".\"+text.slice(lastComma+1);}return applyDecimalSeparator(text);}catch{const text=new Intl.NumberFormat(\"en-US\",{minimumFractionDigits:decimals,maximumFractionDigits:decimals,useGrouping:true}).format(fixedValue);return applyDecimalSeparator(text);}}return applyDecimalSeparator(fixedValue.toString());}const scaled=value/divisor;const factor=Math.pow(10,precision);const rounded=Math.round(scaled*factor)/factor;let text;if(precision===0||Number.isInteger(rounded)){text=rounded.toFixed(0);}else{text=rounded.toFixed(precision).replace(/\\.?0+$/,\"\");}return(value<0?\"-\":\"\")+applyDecimalSeparator(text)+suffix;}const fixedValue=Number(value.toFixed(decimals));if(thousands){try{let formatted=new Intl.NumberFormat(locale,{minimumFractionDigits:decimals,maximumFractionDigits:decimals,useGrouping:true}).format(fixedValue);const lastComma=formatted.lastIndexOf(\",\");if(lastComma!==-1){formatted=formatted.slice(0,lastComma)+\".\"+formatted.slice(lastComma+1);}return applyDecimalSeparator(formatted);}catch{const formatted=new Intl.NumberFormat(\"en-US\",{minimumFractionDigits:decimals,maximumFractionDigits:decimals,useGrouping:true}).format(fixedValue);return applyDecimalSeparator(formatted);}}if(decimals>0){return applyDecimalSeparator(value.toFixed(decimals));}return applyDecimalSeparator(fixedValue.toString());}function getDecimalPlaces(num){const str=String(num);const idx=str.indexOf(\".\");return idx>=0?Math.min(3,str.length-idx-1):0;}/* ===== ANIMATION HOOK ===== */function useCounterAnimation(config){const[value,setValue]=React.useState(config.from);const[progress,setProgress]=React.useState(0);const[isVisible,setIsVisible]=React.useState(!config.startOnView);const[isAnimating,setIsAnimating]=React.useState(false);const containerRef=React.useRef(null);const animationRef=React.useRef();const pausesRef=React.useRef([]);const lastPausedRef=React.useRef(false);React.useEffect(()=>{if(!config.startOnView){setIsVisible(true);return;}const observer=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){setIsVisible(true);}else if(config.replay){setIsVisible(false);setValue(config.from);setProgress(0);setIsAnimating(false);}},{threshold:.1});if(containerRef.current){observer.observe(containerRef.current);}return()=>observer.disconnect();},[config.startOnView,config.replay,config.from]);React.useEffect(()=>{const prefersReducedMotion=window.matchMedia?.(\"(prefers-reduced-motion: reduce)\")?.matches;if(prefersReducedMotion){setValue(config.to);setProgress(1);return;}},[config.to]);React.useEffect(()=>{if(!isVisible)return;const prefersReducedMotion=window.matchMedia?.(\"(prefers-reduced-motion: reduce)\")?.matches;if(prefersReducedMotion){setValue(config.to);setProgress(1);return;}if(animationRef.current){cancelAnimationFrame(animationRef.current);}pausesRef.current=config.isLoader?generateLoaderPauses():[];lastPausedRef.current=false;setIsAnimating(true);const startTime=performance.now()+config.delay*1e3;const duration=config.duration*1e3;const range=config.to-config.from;const animate=()=>{const now=performance.now();const elapsed=now-startTime;if(elapsed<0){animationRef.current=requestAnimationFrame(animate);return;}let rawProgress=clamp(elapsed/duration);if(config.isLoader&&rawProgress<.95){const isPaused=pausesRef.current.some(p=>rawProgress>=p.start&&rawProgress<=p.end);if(isPaused){if(!lastPausedRef.current){lastPausedRef.current=true;}animationRef.current=requestAnimationFrame(animate);return;}else{lastPausedRef.current=false;}}const easedProgress=config.isLoader?loaderEase(rawProgress):rawProgress;setProgress(easedProgress);setValue(config.from+range*easedProgress);if(rawProgress<1){animationRef.current=requestAnimationFrame(animate);}else{setProgress(1);setValue(config.to);setIsAnimating(false);}};animationRef.current=requestAnimationFrame(animate);return()=>{if(animationRef.current){cancelAnimationFrame(animationRef.current);}setIsAnimating(false);};},[isVisible,config.from,config.to,config.duration,config.delay,config.isLoader]);return{containerRef,value,progress,isAnimating};}/* ===== MAIN COMPONENT ===== */export default function LoaderCounter(props){const{// Animation\nisLoader=true,from=0,to=100,duration=false,customDuration=3.2,delay=0,startOnView=true,replay=true,// Formatting\nformatThousands=false,abbreviate=false,locale=false,customLocale=\"en-US\",twoDecimals=false,decimalSeparator=\"dot\",// Styling\nfont={fontFamily:\"Inter\",fontWeight:600,fontSize:64,letterSpacing:0,lineHeight:1.1,textAlign:\"left\"},color=\"#000000\",// Color transition\ncolorTransition=false,startColor=\"#3b82f6\",endColor=\"#ef4444\",// Affixes\nprefix=\"\",prefixColor=\"#000000\",suffix=\"\",suffixColor=\"#000000\",gap=8}=props;const calculatedDuration=React.useMemo(()=>{if(!duration){const range=Math.abs(to-from);if(isLoader){const seconds=3+Math.log10(Math.max(1,range))*.5;return clamp(seconds,3,4.5);}else{const seconds=1+Math.log10(Math.max(1,range))*.4;return clamp(seconds,1,2.5);}}return customDuration;},[duration,customDuration,from,to,isLoader]);const resolvedLocale=React.useMemo(()=>{if(!formatThousands)return\"en-US\";if(!locale&&typeof window!==\"undefined\"){return window.navigator?.language||\"en-US\";}return customLocale||\"en-US\";},[locale,customLocale,formatThousands]);const decimals=React.useMemo(()=>{if(twoDecimals)return 2;return Math.max(getDecimalPlaces(from),getDecimalPlaces(to));},[from,to,twoDecimals]);const{containerRef,value,progress,isAnimating}=useCounterAnimation({from,to,duration:calculatedDuration,delay,isLoader,startOnView,replay});const displayValue=React.useMemo(()=>{return formatNumber(value,{thousands:formatThousands,abbreviate,locale:resolvedLocale,decimals,from,to,decimalSeparator});},[value,formatThousands,abbreviate,resolvedLocale,decimals,from,to,decimalSeparator]);const currentColor=React.useMemo(()=>{if(colorTransition&&startColor&&endColor){return interpolateColor(startColor,endColor,progress);}return color;},[colorTransition,startColor,endColor,progress,color]);const fontStyles=React.useMemo(()=>({fontFamily:font?.fontFamily||\"Inter\",fontWeight:font?.fontWeight||600,fontSize:font?.fontSize||64,letterSpacing:font?.letterSpacing||0,lineHeight:font?.lineHeight||1.1,textAlign:font?.textAlign||\"left\"}),[font]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,role:\"status\",\"aria-live\":\"polite\",\"aria-label\":`Counter: ${displayValue}`,style:{width:\"100%\",display:\"flex\",justifyContent:fontStyles.textAlign===\"center\"?\"center\":fontStyles.textAlign===\"right\"?\"flex-end\":\"flex-start\",...fontStyles},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"baseline\",gap:prefix||suffix?`${gap}px`:\"0px\",fontVariantNumeric:\"tabular-nums\",userSelect:isAnimating?\"none\":\"auto\",transition:colorTransition?\"color 0.3s ease\":undefined},children:[prefix&&/*#__PURE__*/_jsx(\"span\",{style:{color:prefixColor},\"aria-hidden\":\"true\",children:prefix}),/*#__PURE__*/_jsx(\"span\",{style:{color:currentColor},\"data-value\":value,\"data-progress\":progress,children:displayValue}),suffix&&/*#__PURE__*/_jsx(\"span\",{style:{color:suffixColor},\"aria-hidden\":\"true\",children:suffix})]}),progress===1&&/*#__PURE__*/_jsxs(\"span\",{style:{position:\"absolute\",width:\"1px\",height:\"1px\",padding:\"0\",margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"},\"aria-live\":\"assertive\",children:[\"Counter complete: \",prefix,displayValue,suffix]})]});}/* ===== DEFAULT PROPS ===== */LoaderCounter.defaultProps={font:{fontFamily:\"Inter\",fontWeight:600,fontSize:64,letterSpacing:0,lineHeight:1.1,textAlign:\"left\"}};/* ===== PROPERTY CONTROLS ===== */addPropertyControls(LoaderCounter,{isLoader:{type:ControlType.Boolean,title:\"Style\",defaultValue:true,enabledTitle:\"Loader\",disabledTitle:\"Linear\"},from:{type:ControlType.Number,title:\"From\",defaultValue:0,displayStepper:true},to:{type:ControlType.Number,title:\"To\",defaultValue:100,displayStepper:true},duration:{type:ControlType.Boolean,title:\"Duration\",defaultValue:false,enabledTitle:\"Custom\",disabledTitle:\"Auto\"},customDuration:{type:ControlType.Number,title:\"Seconds\",defaultValue:3.2,min:.5,max:10,step:.1,hidden:props=>!props.duration},delay:{type:ControlType.Number,title:\"Delay (s)\",defaultValue:0,min:0,max:5,step:.1,displayStepper:true},abbreviate:{type:ControlType.Boolean,title:\"Shorten\",defaultValue:false,enabledTitle:\"K/M/B\",disabledTitle:\"Full\"},formatThousands:{type:ControlType.Boolean,title:\"Format\",defaultValue:false,enabledTitle:\"1,000\",disabledTitle:\"1000\"},locale:{type:ControlType.Boolean,title:\"Locale\",defaultValue:false,enabledTitle:\"Custom\",disabledTitle:\"Auto\",hidden:props=>!props.formatThousands},customLocale:{type:ControlType.String,title:\"Code\",defaultValue:\"en-US\",placeholder:\"en-US, nl-NL, etc\",hidden:props=>!props.formatThousands||!props.locale},twoDecimals:{type:ControlType.Boolean,title:\"Decimals\",defaultValue:false,enabledTitle:\"1.30\",disabledTitle:\"Auto\"},decimalSeparator:{type:ControlType.Enum,title:\"Dec. sep.\",defaultValue:\"dot\",options:[\"dot\",\"comma\"],optionTitles:[\"1.30\",\"1,30\"],hidden:props=>!props.twoDecimals&&!String(props.from).includes(\".\")&&!String(props.to).includes(\".\")},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayFontSize:true,displayTextAlignment:true},colorTransition:{type:ControlType.Boolean,title:\"Color fade\",defaultValue:false},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#000000\",hidden:props=>props.colorTransition},startColor:{type:ControlType.Color,title:\"From color\",defaultValue:\"#3b82f6\",hidden:props=>!props.colorTransition},endColor:{type:ControlType.Color,title:\"To color\",defaultValue:\"#ef4444\",hidden:props=>!props.colorTransition},prefix:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\",placeholder:\"$, €, etc\"},prefixColor:{type:ControlType.Color,title:\"Prefix color\",defaultValue:\"#000000\",hidden:props=>!props.prefix},suffix:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\",placeholder:\"%, pts, etc\"},suffixColor:{type:ControlType.Color,title:\"Suffix color\",defaultValue:\"#000000\",hidden:props=>!props.suffix},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:32,step:1,hidden:props=>!props.prefix&&!props.suffix},startOnView:{type:ControlType.Boolean,title:\"On view\",defaultValue:true},replay:{type:ControlType.Boolean,title:\"Replay\",defaultValue:true,hidden:props=>!props.startOnView,description:\"More components at [Memselon ☁️](http://memselon.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"framerDisableUnlinking\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"LoaderCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LoaderCounter.map"],"mappings":"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"}