{"version":3,"file":"Magic_Counter.C3xKc7CF.mjs","names":["React.useRef","React.Fragment"],"sources":["https:/framerusercontent.com/modules/GUlmbBmkY9HrxckdX1Qt/b2VEy3BLH4hTwUbK3ZGu/Magic_Counter.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,useInView,useMotionValue,useTransform,animate}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";export default function MagicCounter(props){const{items,orientation,playOnce,gap,numberFont,titleFont,numberColor,titleColor}=props;const ref=React.useRef(null);const isInView=useInView(ref,{once:playOnce,margin:\"-80px\"});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"flex\",flexDirection:orientation===\"Horizontal\"?\"row\":\"column\",alignItems:\"center\",justifyContent:\"center\",gap,width:\"100%\",height:\"100%\",position:\"relative\"},children:items.map((item,index)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(SingleCounter,{...item,isInView:isInView,numberFont:numberFont,titleFont:titleFont,numberColor:numberColor,titleColor:titleColor}),orientation===\"Horizontal\"&&index<items.length-1&&/*#__PURE__*/_jsx(Divider,{})]},index))});}/* ---------------- Counter ---------------- */function SingleCounter({title,start,end,suffix,isInView,numberFont,titleFont,numberColor,titleColor}){const value=useMotionValue(start);const rounded=useTransform(value,latest=>Math.round(latest));React.useEffect(()=>{if(!isInView)return;value.set(start);animate(value,end,{duration:1.6,ease:\"easeOut\"});},[isInView]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",padding:\"12px 16px\"},children:[/*#__PURE__*/_jsxs(motion.div,{style:{fontSize:\"clamp(40px, 6vw, 88px)\",fontFamily:numberFont,fontWeight:600,color:numberColor,position:\"relative\",lineHeight:1},children:[/*#__PURE__*/_jsx(motion.span,{children:rounded}),suffix,/*#__PURE__*/_jsx(Particles,{active:isInView})]}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontSize:\"clamp(12px, 1.2vw, 14px)\",fontFamily:titleFont,color:titleColor,opacity:.75,textAlign:\"center\"},children:title})]});}/* ---------------- Particles ---------------- */function Particles({active}){return /*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",left:\"0%\",bottom:0,width:\"120%\",height:\"120%\",pointerEvents:\"none\"},children:[...Array(8)].map((_,i)=>/*#__PURE__*/_jsx(motion.span,{initial:{opacity:0,y:0},animate:active?{opacity:[0,.8,0],y:-60-Math.random()*40}:{},transition:{duration:1.4,delay:Math.random()*.6,repeat:active?Infinity:0},style:{position:\"absolute\",left:`${Math.random()*100}%`,bottom:0,width:6,height:6,background:\"rgba(255,255,255,0.8)\",borderRadius:\"50%\",filter:\"blur(2px)\"}},i))});}/* ---------------- Divider ---------------- */function Divider(){return /*#__PURE__*/_jsx(\"svg\",{width:\"3\",height:\"60\",viewBox:\"0 0 3 60\",children:/*#__PURE__*/_jsx(\"line\",{x1:\"0.9\",y1:\"0\",x2:\"0.9\",y2:\"60\",stroke:\"rgba(255,255,255,0.2)\"})});}/* ---------------- Controls ---------------- */addPropertyControls(MagicCounter,{orientation:{type:ControlType.Enum,options:[\"Horizontal\",\"Vertical\"],defaultValue:\"Horizontal\"},playOnce:{type:ControlType.Boolean,title:\"Play Once\",defaultValue:true},gap:{type:ControlType.Number,defaultValue:24},items:{type:ControlType.Array,title:\"Counters\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,defaultValue:\"Projects\"},start:{type:ControlType.Number,defaultValue:0},end:{type:ControlType.Number,defaultValue:120},suffix:{type:ControlType.String,defaultValue:\"+\"}}},defaultValue:[{title:\"Projects\",start:0,end:120,suffix:\"+\"},{title:\"Clients\",start:0,end:45,suffix:\"\"}]},numberFont:{type:ControlType.String,defaultValue:\"Inter\"},titleFont:{type:ControlType.String,defaultValue:\"Inter\"},numberColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\"},titleColor:{type:ControlType.Color,defaultValue:\"#FFFFFF\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagicCounter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Magic_Counter.map"],"mappings":"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"}