{"version":3,"file":"Regenerate.B4bO2HWl.mjs","names":["React.useState","React.useRef","React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/beMaagH6OjrsDCqtydKh/aTfT6NZxxXLGoEQjwBxO/ScrollProgress_1.js","https:/framerusercontent.com/modules/twDygjUQFQMnzb70AYEb/zGcdfD2TLPnouyZ7d7Bd/Regenerate.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsOnFramerCanvas,RenderTarget}from\"framer\";/**\n * Simple scroll progress bar that fills as you scroll the page.\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */function ScrollProgress(props){const{backgroundColor,fillColor,height,borderRadius,glow}=props;const[progress,setProgress]=React.useState(0);const isOnCanvas=useIsOnFramerCanvas();React.useEffect(()=>{if(isOnCanvas||RenderTarget.current()===RenderTarget.thumbnail){setProgress(.5);return;}function handleScroll(){const scrollTop=window.scrollY||window.pageYOffset;const docHeight=document.documentElement.scrollHeight-window.innerHeight;const percent=docHeight>0?scrollTop/docHeight:0;setProgress(percent);}window.addEventListener(\"scroll\",handleScroll,{passive:true});handleScroll();return()=>window.removeEventListener(\"scroll\",handleScroll);},[isOnCanvas]);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:props.style&&props.style.height?props.style.height:height,background:backgroundColor,borderRadius,overflow:glow>0?\"visible\":\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,top:0,height:\"100%\",width:`${Math.max(0,Math.min(1,progress))*100}%`,background:fillColor,borderRadius,transition:\"width 0.15s cubic-bezier(.4,1,.4,1)\",boxShadow:glow>0?`0 0 ${glow}px ${fillColor}`:undefined}})});}addPropertyControls(ScrollProgress,{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#EEEEEE\"},fillColor:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#000000\"},height:{type:ControlType.Number,title:\"Height\",defaultValue:24,min:10,max:32,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:32,unit:\"px\"},glow:{type:ControlType.Number,title:\"Glow\",defaultValue:0,min:0,max:40,unit:\"px\"}});export default ScrollProgress;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollProgress\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollProgress_1.map","// NumberCounter: Animates a number up or down with customizable transitions, start/end values, and styling.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useMotionValue,useAnimation,animate}from\"framer-motion\";import{addPropertyControls,ControlType,useIsOnFramerCanvas,useInView}from\"framer\";/**\n * NumberCounter\n *\n * Animates a number up or down with customizable transitions, start and end values, styling, and more.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */function NumberCounter(props){const{start,end,duration,delay,decimals,font,color,align,transition,autoStart,loop,loopDelay,resetOnView}=props;const isOnCanvas=useIsOnFramerCanvas();const ref=React.useRef(null);const inView=useInView(ref,{once:false});const[displayValue,setDisplayValue]=React.useState(start);const controls=useAnimation();const value=useMotionValue(start);const[isAnimating,setIsAnimating]=React.useState(false);const timeoutRef=React.useRef();const[hasAnimated,setHasAnimated]=React.useState(false);// Animation function\nconst runAnimation=React.useCallback(()=>{setIsAnimating(true);animate(value,end,{duration,delay,ease:transition,onUpdate:v=>setDisplayValue(v),onComplete:()=>{setIsAnimating(false);if(loop){timeoutRef.current=setTimeout(()=>{value.set(start);runAnimation();},loopDelay*1e3);}}});},[start,end,duration,delay,transition,loop,loopDelay]);// Play animation only when in view\nReact.useEffect(()=>{if(isOnCanvas)return;if(inView){if(resetOnView){value.set(start);setDisplayValue(start);setHasAnimated(false);}if((autoStart||resetOnView)&&!isAnimating&&!hasAnimated){runAnimation();setHasAnimated(true);}}else{if(resetOnView){value.set(start);setDisplayValue(start);setHasAnimated(false);}}return()=>{if(timeoutRef.current)clearTimeout(timeoutRef.current);};},[inView,start,end,autoStart,isOnCanvas,resetOnView]);// Canvas: show end value statically\nif(isOnCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",minWidth:\"max-content\",minHeight:\"max-content\",display:\"flex\",alignItems:\"center\",justifyContent:align,color:color,...font},children:end.toFixed(decimals)});}return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{position:\"relative\",minWidth:\"max-content\",minHeight:\"max-content\",display:\"flex\",alignItems:\"center\",justifyContent:align,color:color,...font,userSelect:\"none\"},children:Number(displayValue).toFixed(decimals)});}addPropertyControls(NumberCounter,{start:{type:ControlType.Number,title:\"Start\",defaultValue:0},end:{type:ControlType.Number,title:\"End\",defaultValue:100},decimals:{type:ControlType.Number,title:\"Decimals\",min:0,max:6,step:1,defaultValue:0},duration:{type:ControlType.Number,title:\"Duration\",min:.1,max:10,step:.1,unit:\"s\",defaultValue:1.2},delay:{type:ControlType.Number,title:\"Delay\",min:0,max:5,step:.1,unit:\"s\",defaultValue:0},transition:{type:ControlType.Enum,title:\"Easing\",options:[\"linear\",\"easeIn\",\"easeOut\",\"easeInOut\",\"circIn\",\"circOut\",\"circInOut\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease Out\",\"Ease InOut\",\"Circ In\",\"Circ Out\",\"Circ InOut\"],defaultValue:\"easeInOut\"},autoStart:{type:ControlType.Boolean,title:\"Auto Start\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},loopDelay:{type:ControlType.Number,title:\"Loop Delay\",min:0,max:10,step:.1,unit:\"s\",defaultValue:1,hidden:({loop})=>!loop},color:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"40px\",variant:\"Bold\",letterSpacing:\"-0.04em\",lineHeight:\"1em\"}},align:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\"},resetOnView:{type:ControlType.Boolean,title:\"Reset on View\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"}});export default NumberCounter;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NumberCounter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Regenerate.map"],"mappings":"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"}