{"version":3,"file":"Animator.LEUTrHk3.mjs","names":["useState","useRef","Children"],"sources":["https:/framerusercontent.com/modules/C6RReEVkU5a09SLeBtHz/yJZDkM0BRg9SKnM9JsZq/Counter1.js","https:/framerusercontent.com/modules/gh5xmpM9GHT9MXnnMpPc/YOcbb3cyk0md6ytVCE3R/Animator.js"],"sourcesContent":["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\";const CounterStyles={container:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"}};export function Counter(props){const{start,end,speed,gapSize,prefixText,suffixText,prefixFont,suffixFont,prefixColor,suffixColor,loop,decimalSeparatorType,textSize,selectedFont,textColor,startOnViewport,restartOnViewport}=props;const[count,setCount]=useState(start);const[isVisible,setIsVisible]=useState(false);const containerRef=useRef(null);useEffect(()=>{const observer=new IntersectionObserver(entries=>{const entry=entries[0];setIsVisible(entry.isIntersecting);});if(containerRef.current){observer.observe(containerRef.current);}return()=>{if(containerRef.current){observer.unobserve(containerRef.current);}};},[]);useEffect(()=>{const updateCount=()=>{if(count<end){setCount(prevCount=>prevCount+1);}else if(loop){setCount(start);}};if(isVisible||!startOnViewport&&start!==end){const intervalId=setInterval(updateCount,speed);return()=>{clearInterval(intervalId);};}else if(startOnViewport&&isVisible){setCount(start);}},[count,start,end,loop,isVisible,speed,startOnViewport]);useEffect(()=>{if(restartOnViewport&&isVisible){setCount(start)// Restart the animation when re-entering the viewport\n;}},[isVisible,restartOnViewport,start]);const formatNumber=number=>{if(decimalSeparatorType===\"comma\"){return number.toLocaleString(\"en-US\");}else if(decimalSeparatorType===\"period\"){return number.toLocaleString(\"en-US\").replace(/,/g,\".\");}else{return number.toFixed(0);}};return /*#__PURE__*/_jsxs(motion.div,{ref:containerRef,style:{...CounterStyles.container,gap:`${gapSize}px`,flexDirection:\"row\",alignItems:\"center\",fontSize:`${textSize}px`,fontFamily:selectedFont.fontFamily,fontWeight:selectedFont.fontWeight,color:textColor},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:prefixFont.fontFamily,fontWeight:prefixFont.fontWeight,color:prefixColor},children:prefixText}),/*#__PURE__*/_jsx(\"span\",{children:formatNumber(count)}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:suffixFont.fontFamily,fontWeight:suffixFont.fontWeight,color:suffixColor},children:suffixText})]});}Counter.defaultProps={start:0,end:100,speed:100,prefixText:\"\",suffixText:\"\",loop:false,decimalSeparatorType:\"comma\",textSize:36,selectedFont:{fontFamily:\"Inter\",fontWeight:500,systemFont:true},textColor:\"#D3D3D3\",startOnViewport:false};addPropertyControls(Counter,{startOnViewport:{type:ControlType.Boolean,title:\"Viewport\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},restartOnViewport:{type:ControlType.Boolean,title:\"Replay\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},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.Number,title:\"Start Number\",defaultValue:0,displayStepper:true},end:{type:ControlType.Number,title:\"End Number\",defaultValue:10,displayStepper:true},decimalSeparatorType:{type:ControlType.Enum,title:\"Separator\",defaultValue:\"comma\",options:[\"comma\",\"period\",\"none\"],optionTitles:[\"Comma (1,000)\",\"Decimal (1.000)\",\"None\"]},prefixText:{type:ControlType.String,title:\"Prefix\",defaultValue:\"\"},prefixFont:{title:\"Prefix Font\",type:ControlType.Font,defaultValue:{fontFamily:\"Inter\",fontWeight:500,systemFont:true}},prefixColor:{type:ControlType.Color,title:\"Prefix Color\"},suffixText:{type:ControlType.String,title:\"Suffix\",defaultValue:\"\"},suffixFont:{title:\"Suffix Font\",type:ControlType.Font,defaultValue:{fontFamily:\"Inter\",fontWeight:500,systemFont:true}},suffixColor:{type:ControlType.Color,title:\"Suffix Color\"},gapSize:{type:ControlType.Number,title:\"Gap Size\",defaultValue:4,min:0,max:100,step:4},speed:{type:ControlType.Number,title:\"Speed (ms)\",defaultValue:100,min:0,max:2e3,step:10},loop:{type:ControlType.Boolean,title:\"Loop Animation\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"[Built by Asif Kabir](https://www.youtube.com/channel/UCujbStV-Rp-QGfiHOKA9AvA)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"Counter\":{\"type\":\"reactComponent\",\"name\":\"Counter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Counter1.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useMotionValue,useTransform}from\"framer-motion\";/**\n * ANIMATOR\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Animator(props){/* Properties */const{pathAnimation,from,to,animate,shouldLoop,loopOptions,slots=[],endCircle}=props;/* State */const hasChildren=Children.count(slots)>0;/* Empty State */let customShape=/*#__PURE__*/_jsxs(\"div\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"✍️\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Graphic\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Animates single or joined paths on Web Pages only.\"})]});if(hasChildren){/* Grab the SVG from the Graphic */const firstChild=getFirstChild(slots);const svgChild=getFirstChild(firstChild.props.svg);const isSpring=pathAnimation.type===\"spring\";/* Shape transition properties *//* Dividing stiffness and damping by 1000 is a trick I got from Matt \n        which helps with pathLength animations, which otherwise are so fast \n        you never even see them happen in the preview. */const shapeTransition={pathLength:{...pathAnimation,repeat:shouldLoop?Infinity:0,repeatType:loopOptions,stiffness:isSpring?pathAnimation.stiffness/1e3:pathAnimation.stiffness,damping:isSpring?pathAnimation.damping/1e3:pathAnimation.damping}};/* Add our own properties to the Path */const pathLength=useMotionValue(0);const opacity=useTransform(pathLength,[0,.025],[0,1]);const shapeProps={variants:{start:{pathLength:from/100},end:{pathLength:to/100}},transition:shapeTransition};/* Prevent animating or adjusting pathLength on the Canvas */const isCanvas=RenderTarget.current()===RenderTarget.canvas;/* Just render the full connected Graphic on Canvas, when connected */if(isCanvas){customShape=firstChild;}/* If on a web page */if(!isCanvas&&svgChild){/* Pass Attributes */let attributes=svgChild.match(/[\\w-]+=\"[^\"]*\"/g);let pathD;let stroke;let strokeWidth;let strokeLinecap;let strokeLinejoin;for(const element of attributes){if(element.includes(\"d=\")){pathD=splitAndReplace(element);}if(element.includes(\"stroke=\")){stroke=splitAndReplace(element);}if(element.includes(\"stroke-width=\")){strokeWidth=splitAndReplace(element);}if(element.includes(\"stroke-linecap=\")){strokeLinecap=splitAndReplace(element);}if(element.includes(\"stroke-linejoin=\")){strokeLinejoin=splitAndReplace(element);}}/* Grab viewbox */let svgViewbox;svgViewbox=svgChild.split(\"viewBox=\")[1];svgViewbox=svgViewbox.split(\">\")[0];svgViewbox=svgViewbox.replace(/^\"(.+(?=\"$))\"$/,\"$1\");customShape=/*#__PURE__*/_jsx(motion.div,{initial:isCanvas||animate===false?false:\"start\",animate:isCanvas||animate===false?false:\"end\",style:{width:\"100%\",height:\"100%\",display:\"flex\",placeContent:\"center\",placeItems:\"center\",backgroundColor:\"transparent\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(motion.svg,{xmlns:\"http://www.w3.org/2000/svg\",width:\"100%\",height:\"100%\",viewBox:svgViewbox,children:/*#__PURE__*/_jsx(motion.path,{...shapeProps,d:pathD,stroke:stroke,strokeWidth:strokeWidth,strokeLinejoin:strokeLinejoin,strokeLinecap:strokeLinecap,fill:\"transparent\",style:!endCircle&&{pathLength,opacity},initial:isCanvas||animate===false?false:\"start\",animate:isCanvas||animate===false?false:\"end\"})})});}}return customShape;}/* Default Properties */Animator.defaultProps={animate:true,shouldLoop:false,loopOptions:\"reverse\",from:0,to:100,pathAnimation:{type:\"tween\",duration:2},endCircle:true};/* Property Controls */addPropertyControls(Animator,{slots:{type:ControlType.ComponentInstance,title:\"Children\"},animate:{title:\"Animate\",type:ControlType.Boolean,defaultValue:Animator.defaultProps.animate,enabledTitle:\"True\",disabledTitle:\"False\"},shouldLoop:{title:\"Loop\",type:ControlType.Boolean,defaultValue:Animator.defaultProps.shouldLoop,enabledTitle:\"True\",disabledTitle:\"False\",hidden(props){return props.animate===false;}},loopOptions:{type:ControlType.Enum,title:\"Type\",defaultValue:Animator.defaultProps.loopOptions,options:[\"loop\",\"reverse\",\"mirror\"],optionTitles:[\"Loop\",\"Reverse\",\"Mirror\"],hidden(props){return props.shouldLoop===false;}},endCircle:{title:\"End Circle\",type:ControlType.Boolean,defaultValue:Animator.defaultProps.endCircle,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden(props){return props.animate===false;}},from:{title:\"From\",type:ControlType.Number,min:0,max:100,displayStepper:true,step:1,defaultValue:Animator.defaultProps.from,unit:\"%\",hidden(props){return props.animate===false;}},to:{title:\"To\",type:ControlType.Number,min:0,max:100,displayStepper:true,step:1,defaultValue:Animator.defaultProps.to,unit:\"%\",hidden(props){return props.animate===false;}},pathAnimation:{title:\" \",type:ControlType.Transition,defaultValue:Animator.defaultProps.pathAnimation,hidden(props){return props.animate===false;}}});/* Method to get stringless attributes */const splitAndReplace=string=>{return string.split(\"=\")[1].replace(/['\"]+/g,\"\");};/* Method to get the first child */function getFirstChild(slots){let firstChild;Children.map(slots,child=>{if(firstChild===undefined){firstChild=child;}});return firstChild;}/* Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:150,lineHeight:1.5,textAlign:\"center\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Animator\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Animator.map"],"mappings":"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"}