{"version":3,"file":"CircularProgress.B7bRZpC2.mjs","names":["useRef","useRef"],"sources":["https:/framerusercontent.com/modules/SVdsVdFX9ArMH3bvwODC/JzyiHfMuH39m8skj9VRR/Counter.js","https:/framerusercontent.com/modules/TTbFtSpAfvGWGHfziGTg/WRCONq2t5OwbM3uFMoBg/CircularProgress.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{useInView,useMotionValue,useSpring}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";export default function Counter({value,stiffness,damping,color,fontStyle,fontSize}){const ref=useRef(null);const motionValue=useMotionValue(0);const springValue=useSpring(motionValue,{damping,stiffness});const isInView=useInView(ref,{once:true,margin:\"0px\"});useEffect(()=>{if(isInView)motionValue.set(value);},[motionValue,isInView]);useEffect(()=>springValue.on(\"change\",latest=>{if(ref.current){ref.current.textContent=`${Math.round(latest)}%`;}}),[springValue]);return /*#__PURE__*/_jsx(\"span\",{ref:ref,style:{...fontStyle,color:color,fontSize:fontSize},children:\"0%\"});}Counter.defaultProps={value:75,stiffness:300,damping:100,color:\"#000000\",fontStyle:\"\",fontSize:48};addPropertyControls(Counter,{value:{title:\"Value\",type:ControlType.Number,min:0,max:100},fontSize:{title:\"Font Size\",type:ControlType.Number,min:8,max:300,unit:\"px\"},stiffness:{title:\"Stiffness\",type:ControlType.Number,min:1,max:1e3},damping:{title:\"Damping\",type:ControlType.Number,min:0,max:100},color:{title:\"Color\",type:ControlType.Color},fontStyle:{title:\"Font Style\",type:\"font\",controls:\"extended\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Counter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Counter.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useInView}from\"framer-motion\";/**\n * Circular Progress Bar\n *\n * A customizable circular progress indicator with track and progress colors.\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CircularProgress(props){const{progress=25,size=200,strokeWidth=24,trackColor=\"#FFFFFF\",progressColor=\"#4A5568\",roundedCaps=true}=props;const containerRef=useRef(null);const isInView=useInView(containerRef,{once:true,margin:\"-50px\"});const normalizedProgress=Math.min(100,Math.max(0,progress));const radius=(size-strokeWidth)/2;const circumference=2*Math.PI*radius;const strokeDashoffset=circumference-normalizedProgress/100*circumference;const center=size/2;const containerStyle={width:size,height:size,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\"};return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:containerStyle,children:/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,style:{transform:\"rotate(-90deg)\",position:\"absolute\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:center,cy:center,r:radius,fill:\"none\",stroke:trackColor,strokeWidth:strokeWidth,strokeLinecap:roundedCaps?\"round\":\"butt\"}),/*#__PURE__*/_jsx(motion.circle,{cx:center,cy:center,r:radius,fill:\"none\",stroke:progressColor,strokeWidth:strokeWidth,strokeLinecap:roundedCaps?\"round\":\"butt\",strokeDasharray:circumference,initial:{strokeDashoffset:circumference},animate:{strokeDashoffset:isInView?strokeDashoffset:circumference},transition:{type:\"spring\",stiffness:50,damping:15,mass:1}})]})});}addPropertyControls(CircularProgress,{progress:{type:ControlType.Number,title:\"Progress\",defaultValue:25,min:0,max:100,step:1,unit:\"%\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:200,min:50,max:500,step:10,unit:\"px\"},strokeWidth:{type:ControlType.Number,title:\"Stroke Width\",defaultValue:24,min:4,max:60,step:2,unit:\"px\"},trackColor:{type:ControlType.Color,title:\"Track Color\",defaultValue:\"#FFFFFF\"},progressColor:{type:ControlType.Color,title:\"Progress Color\",defaultValue:\"#4A5568\"},roundedCaps:{type:ControlType.Boolean,title:\"Rounded Caps\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"}});CircularProgress.displayName=\"Circular Progress\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CircularProgress\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CircularProgress.map"],"mappings":"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"}