{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/qpjhCcDm4G1NbFAlpMKV/mpBjgPy3BrkirNCk9tKH/AnimatedNumberCounter_Prod.js", "ssg:https://framerusercontent.com/modules/RvM91VtLIONQCDM2DB6b/hKeTkWbMIpJUeTHgnOG9/rXHCePIVl.js"],
  "sourcesContent": ["import{jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef}from\"react\";import{motion,useMotionValue,animate,useInView}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n */export default function AnimatedNumberCounter(props){const{mode,start,end,value,decimals,commas,color,animation}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const MotionTag=motion[props.tag];const isDefault=mode==\"default\";const initialValue=isDefault?start:value;const transition=isDefault?animation.transition:props.transition;const formatNumber=number=>{let numberString=number.toFixed(decimals);if(commas){numberString=numberString.replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\");}return numberString;};const[number,setNumber]=useState(initialValue);const[currentAnimation,setCurrentAnimation]=useState(null);const ref=useRef(null);const isInView=useInView(ref,{once:!props.animation.replay,amount:\"some\"});const motionValue=useMotionValue(value);const runAnimation=(from,to)=>{if(!isCanvas){if(currentAnimation){currentAnimation.stop();}setCurrentAnimation(animate(from,to,{...transition,onUpdate:latest=>{setNumber(latest);}}));}};useEffect(()=>{if(isDefault&&animation.trigger==\"appear\"){runAnimation(start,end);}},[]);useEffect(()=>{if(isDefault&&animation.trigger==\"layerInView\"){if(isInView){runAnimation(start,end);}else{if(currentAnimation){currentAnimation.stop();}setNumber(start);}}},[isInView]);useEffect(()=>{if(!isDefault){runAnimation(number,value);}},[value]);return /*#__PURE__*/_jsxs(MotionTag,{ref:ref,style:{userSelect:props.userSelect?\"auto\":\"none\",fontVariantNumeric:props.monospace?\"tabular-nums\":undefined,margin:0,...color.mode==\"solid\"?{color:color.color}:{WebkitBackgroundClip:\"text\",WebkitTextFillColor:\"transparent\",backgroundImage:`linear-gradient(${color.angle}deg, ${color.startColor}, ${color.endColor})`},...props.font,...props.style},children:[props.prefix,formatNumber(isCanvas?initialValue:number),props.suffix]});}AnimatedNumberCounter.displayName=\"Animated Number Counter\";addPropertyControls(AnimatedNumberCounter,{mode:{type:ControlType.Enum,options:[\"default\",\"variants\"],optionTitles:[\"Default\",\"Variants\"],displaySegmentedControl:true},value:{type:ControlType.Number,defaultValue:0,hidden:props=>props.mode!==\"variants\"},start:{type:ControlType.Number,defaultValue:0,hidden:props=>props.mode!==\"default\"},end:{type:ControlType.Number,defaultValue:100,hidden:props=>props.mode!==\"default\"},animation:{type:ControlType.Object,icon:\"effect\",hidden:props=>props.mode!==\"default\",controls:{trigger:{type:ControlType.Enum,defaultValue:\"layerInView\",options:[\"appear\",\"layerInView\"],optionTitles:[\"Appear\",\"Layer in View\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},replay:{type:ControlType.Boolean,defaultValue:true,hidden(props){return props.trigger!==\"layerInView\";}},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:1,bounce:0}}}},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:1,bounce:0},hidden:props=>props.mode!==\"variants\"},decimals:{type:ControlType.Enum,defaultValue:0,options:[0,1,2,3],optionTitles:[\"Off\",\"1\",\"2\",\"3\"],displaySegmentedControl:true},commas:{type:ControlType.Boolean,defaultValue:true},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,lineHeight:1}},color:{type:ControlType.Object,controls:{mode:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"gradient\"],optionTitles:[\"Solid\",\"Gradient\"],displaySegmentedControl:true},color:{type:ControlType.Color,defaultValue:\"#000\",hidden:props=>props.mode!==\"solid\"},startColor:{type:ControlType.Color,defaultValue:\"#000\",hidden:props=>props.mode!==\"gradient\"},endColor:{type:ControlType.Color,defaultValue:\"#FFF\",hidden:props=>props.mode!==\"gradient\"},angle:{type:ControlType.Number,defaultValue:180,min:-360,max:360,unit:\"\\xb0\",hidden:props=>props.mode!==\"gradient\"}}},prefix:{type:ControlType.String,placeholder:\"Prefix\"},suffix:{type:ControlType.String,placeholder:\"Suffix\"},userSelect:{type:ControlType.Boolean,defaultValue:true},tag:{type:ControlType.Enum,defaultValue:\"p\",displaySegmentedControl:true,options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"]},monospace:{type:ControlType.Boolean,defaultValue:false,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedNumberCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedNumberCounter_Prod.map", "// 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 18 0 L 1.5 0 C 0.672 0 0 0.672 0 1.5 L 0 15 C 0 15.828 0.672 16.5 1.5 16.5 L 18 16.5 C 18.828 16.5 19.5 15.828 19.5 15 L 19.5 1.5 C 19.5 0.672 18.828 0 18 0 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"CcIDqS4bW\" transform=\"translate(2.25 3.75)\" width=\"19.5px\"/><path d=\"M 0 5.25 L 3.75 9 L 12.75 0\" fill=\"transparent\" height=\"9px\" id=\"txP0X4MiU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 7.5)\" width=\"12.75px\"/></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(\"4119102008\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-uMwCf\",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-uMwCf { -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\":\"Check\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-uMwCf\");Icon.displayName=\"Check\";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\":{\"framerVector\":\"{\\\"name\\\":\\\"Check\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["init_ssg_sandbox_shims", "AnimatedNumberCounter", "props", "mode", "start", "end", "value", "decimals", "commas", "color", "animation", "isCanvas", "RenderTarget", "MotionTag", "motion", "isDefault", "initialValue", "transition", "formatNumber", "number", "numberString", "setNumber", "ye", "currentAnimation", "setCurrentAnimation", "ref", "pe", "isInView", "useInView", "motionValue", "useMotionValue", "runAnimation", "from", "to", "animate", "latest", "ue", "u", "addPropertyControls", "ControlType", "init_ssg_sandbox_shims", "mask", "Base", "Y", "props", "ref", "p", "MotionSVG", "motion", "SVG", "animated", "layoutId", "children", "rest", "svg", "getProps", "alpha", "color", "height", "id", "width", "width1", "Component", "style", "className", "variant", "ezTt3ayMo", "lschgej4H", "qxTvv_EBh", "restProps", "href", "useSVGTemplate", "cx", "css", "Icon", "withCSS", "rXHCePIVl_default", "addPropertyControls", "ControlType"]
}
