{"version":3,"file":"Counter.3XIsTKB3.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/yV2QtYYJOEHoAM6l4bJF/0bp6a2sL9ERZeaNS9UdG/qHDjMJdcu.js","https:/framerusercontent.com/modules/tPGfln2fFIuyFJBIL2LF/r2aV76NQksjX6GEBRm4K/Counter.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 11.25 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 11.25 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"11.25px\" id=\"WfV7WBXdz\" transform=\"translate(3.75 5.25)\" width=\"16.5px\"/><path d=\"M 0 11.25 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 11.25\" fill=\"transparent\" height=\"11.25px\" id=\"KBgEezkCN\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 5.25)\" width=\"16.5px\"/><path d=\"M 0 0 L 19.5 0 L 19.5 0 L 19.5 1.5 C 19.5 2.328 18.828 3 18 3 L 1.5 3 C 0.672 3 0 2.328 0 1.5 L 0 0 Z\" fill=\"transparent\" height=\"3px\" id=\"Ti9CTjmHy\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(2.25 16.5)\" width=\"19.5px\"/><path d=\"M 3 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"MHqbROsB8\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(10.5 8.25)\" width=\"3px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"1874634908\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ULIMo\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-ULIMo { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Laptop\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-ULIMo\");Icon.displayName=\"Laptop\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Laptop\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","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\";export function Counter({start=\"0\",end=\"2000\",speedPercent=200,gapSize=15,prefixText=\"\",suffixText=\"\",prefixFont,suffixFont,prefixColor,suffixColor,loop=false,decimalSeparatorType=\"comma\",textSize=36,selectedFont={fontFamily:\"Inter\",fontWeight:500,systemFont:true},textColor=\"#D3D3D3\",startOnViewport=false,restartOnViewport=false,incrementType=\"integer\"}){const[count,setCount]=useState(()=>parseNumber(start));const[isVisible,setIsVisible]=useState(false);const containerRef=useRef(null);const rafRef=useRef(null);const startTimestampRef=useRef(null);const fromRef=useRef(parseNumber(start));const toRef=useRef(parseNumber(end));const runningRef=useRef(false);function parseNumber(value){if(typeof value===\"number\")return value;if(typeof value!==\"string\")return 0;const s=value.trim();if(s===\"\")return 0;const hasDot=s.indexOf(\".\")!==-1;const hasComma=s.indexOf(\",\")!==-1;let normalized=s;if(hasDot&&hasComma){normalized=s.replace(/,/g,\"\");}else if(hasComma&&!hasDot){normalized=s.replace(/,/g,\".\");}else{normalized=s.replace(/,/g,\"\");}const n=parseFloat(normalized);return Number.isFinite(n)?n:0;}useEffect(()=>{const observer=new IntersectionObserver(([entry])=>{setIsVisible(entry.isIntersecting);});if(containerRef.current)observer.observe(containerRef.current);return()=>observer.disconnect();},[]);useEffect(()=>{const parsedStart=parseNumber(start);const parsedEnd=parseNumber(end);fromRef.current=parsedStart;toRef.current=parsedEnd;setCount(parsedStart);},[start,end]);useEffect(()=>{if(!(isVisible||!startOnViewport))return;if(fromRef.current===toRef.current)return;const safeSpeed=typeof speedPercent===\"number\"&&speedPercent>0?speedPercent:100;const durationMs=100/safeSpeed*1e3;const incrementPrecision=incrementType===\"integer\"?0:1;let loopRequested=loop;let cancel=false;const animateOnce=(from,to,duration,onComplete)=>{runningRef.current=true;startTimestampRef.current=null;const step=timestamp=>{if(cancel)return;if(!startTimestampRef.current)startTimestampRef.current=timestamp;const elapsed=timestamp-startTimestampRef.current;const t=Math.min(1,elapsed/duration);const current=from+(to-from)*t;const fixed=incrementPrecision===0?Math.round(current):Math.round(current*15)/15;setCount(fixed>=to?to:fixed);if(t<1){rafRef.current=requestAnimationFrame(step);}else{runningRef.current=false;if(onComplete)onComplete();}};rafRef.current=requestAnimationFrame(step);};const startAnimation=()=>{animateOnce(fromRef.current,toRef.current,durationMs,()=>{if(cancel)return;if(loopRequested){fromRef.current=parseNumber(start);toRef.current=parseNumber(end);startAnimation();}});};startAnimation();return()=>{cancel=true;if(rafRef.current)cancelAnimationFrame(rafRef.current);rafRef.current=null;runningRef.current=false;};},[isVisible,startOnViewport,restartOnViewport,speedPercent,incrementType,loop,start,end]);useEffect(()=>{if(restartOnViewport&&isVisible){setCount(parseNumber(start));}},[isVisible,restartOnViewport,start]);const formatNumber=number=>{if(decimalSeparatorType===\"comma\")return number.toLocaleString(\"en-US\");if(decimalSeparatorType===\"period\")return number.toLocaleString(\"en-US\").replace(/,/g,\".\");return number.toFixed(incrementType===\"integer\"?0:1);};return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{display:\"flex\",gap:`${gapSize}px`,alignItems:\"center\",fontSize:`${textSize}px`,fontFamily:selectedFont.fontFamily,fontWeight:selectedFont.fontWeight,color:textColor,letterSpacing:\"-0.07em\",lineHeight:\"100%\"},children:[prefixText&&/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:prefixFont?.fontFamily,fontWeight:prefixFont?.fontWeight,color:prefixColor,lineHeight:\"100%\"},children:prefixText}),/*#__PURE__*/_jsx(\"span\",{style:{lineHeight:\"100%\"},children:formatNumber(count)}),suffixText&&/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:suffixFont?.fontFamily,fontWeight:suffixFont?.fontWeight,color:suffixColor,lineHeight:\"100%\"},children:suffixText})]});}addPropertyControls(Counter,{startOnViewport:{type:ControlType.Boolean,title:\"Viewport\",defaultValue:false},restartOnViewport:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false},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.String,title:\"Start (text)\",defaultValue:\"0\"},end:{type:ControlType.String,title:\"End (text)\",defaultValue:\"15\"},decimalSeparatorType:{type:ControlType.Enum,title:\"Separator\",defaultValue:\"comma\",options:[\"comma\",\"period\",\"none\"]},incrementType:{type:ControlType.Enum,title:\"Increment Type\",defaultValue:\"integer\",options:[\"integer\",\"decimal\"]},prefixText:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},prefixFont:{title:\"Prefix Font\",type:ControlType.Font},prefixColor:{type:ControlType.Color,title:\"Prefix Color\"},suffixText:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},suffixFont:{type:ControlType.Font},suffixColor:{type:ControlType.Color,title:\"Suffix Color\"},gapSize:{type:ControlType.Number,title:\"Gap Size\",defaultValue:4,min:0,max:100},speedPercent:{type:ControlType.Number,title:\"Speed (%)\",defaultValue:100,min:1,max:1e3,step:1},loop:{type:ControlType.Boolean,title:\"Loop Animation\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"Counter\":{\"type\":\"reactComponent\",\"name\":\"Counter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Counter.map"],"mappings":"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"}