{"version":3,"file":"ScrollProgressButton.DtBYaJFw.mjs","names":["useState","useRef","useCallback","useMemo","__esmMin","init_ssg_sandbox_shims","te","ne","window","_e","pe","p","init_jsx_runtime","ce","init_npm_react_18_3_1","de","init_framer_DymZktPS","addPropertyControls","useIsStaticRenderer","ControlType","ScrollProgressButton","props","scrollProgress","setScrollProgress","isVisible","setIsVisible","shouldAlwaysShow","scrollTimeoutRef","lastScrollProgressRef","lastVisibilityRef","getStrokeColor","progress","localProgress","dynamicStrokeColorMemo","glowIntensityMemo","glowIntensity","activeRingColor","useGradientRing","ringColor","activeGlowColor","useGradientGlow","glowColor","handleScroll","scrollTop","docHeight","newIsVisible","showThreshold","progressChanged","visibilityChanged","scrollToTop","radiusMemo","buttonSize","ringWidth","circumferenceMemo","strokeDashoffsetMemo","innerCircleSize","showButton","visibilityMode","hideButton","containerStyle","bottomOffset","rightOffset","enableAnimation","animationSpeed","buttonStyle","innerCircleStyle","buttonColor","showShadow","svgStyle","enableGlow","circleStyle","enableHoverEffect","iconColor","init_ScrollProgressButton"],"sources":["https:/framerusercontent.com/modules/w6sSR348AcaJQkXOrG7N/CZefFX1zwmXw7gZLtOBu/ScrollProgressButton.js"],"sourcesContent":["// Back to Top floating action button with progress ring that fills as you scroll down the page\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useCallback,useMemo,useRef,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * Back to Top Button with Progress Ring\n *\n * @framerIntrinsicWidth 60\n * @framerIntrinsicHeight 60\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ScrollProgressButton(props){const{buttonColor,iconColor,ringColor,ringWidth,buttonSize,bottomOffset,rightOffset,showThreshold,visibilityMode,showShadow,enableHoverEffect,enableAnimation,animationSpeed,glowColor,enableGlow,glowIntensity,useGradientRing,useGradientGlow}=props;const[scrollProgress,setScrollProgress]=useState(0);const[isVisible,setIsVisible]=useState(false);const isStatic=useIsStaticRenderer();const shouldAlwaysShow=isStatic;const scrollTimeoutRef=useRef(null);const lastScrollProgressRef=useRef(0);const lastVisibilityRef=useRef(false);// Calculate dynamic stroke color based on scroll progress\nconst getStrokeColor=useCallback(progress=>{if(progress<.5){// Purple to Blue (0% to 50%)\nconst localProgress=progress*2;const r=Math.round(91+(59-91)*localProgress);const g=Math.round(33+(130-33)*localProgress);const b=Math.round(182+(246-182)*localProgress);return`rgb(${r}, ${g}, ${b})`;}else{// Blue to Teal (50% to 100%)\nconst localProgress=(progress-.5)*2;const r=Math.round(59+(20-59)*localProgress);const g=Math.round(130+(184-130)*localProgress);const b=Math.round(246+(166-246)*localProgress);return`rgb(${r}, ${g}, ${b})`;}},[]);const dynamicStrokeColorMemo=useMemo(()=>getStrokeColor(scrollProgress),[scrollProgress,getStrokeColor]);const glowIntensityMemo=useMemo(()=>scrollProgress*15*glowIntensity,[scrollProgress,glowIntensity]);// Determine which color to use for the ring\nconst activeRingColor=useGradientRing?dynamicStrokeColorMemo:ringColor;// Determine which color to use for the glow\nconst activeGlowColor=useGradientGlow?dynamicStrokeColorMemo:glowColor;const handleScroll=useCallback(()=>{if(typeof window===\"undefined\")return;requestAnimationFrame(()=>{// Throttle updates - only update if there's a meaningful change\nif(scrollTimeoutRef.current!==null)return;scrollTimeoutRef.current=window.setTimeout(()=>{scrollTimeoutRef.current=null;requestAnimationFrame(()=>{const scrollTop=window.scrollY;const docHeight=document.documentElement.scrollHeight-window.innerHeight;const progress=docHeight<=0?0:Math.min(Math.max(scrollTop/docHeight,0),1);const newIsVisible=scrollTop>showThreshold;// Only update state if values have meaningfully changed\nconst progressChanged=Math.abs(progress-lastScrollProgressRef.current)>.001;const visibilityChanged=newIsVisible!==lastVisibilityRef.current;if(progressChanged||visibilityChanged){lastScrollProgressRef.current=progress;lastVisibilityRef.current=newIsVisible;startTransition(()=>{if(progressChanged)setScrollProgress(progress);if(visibilityChanged)setIsVisible(newIsVisible);});}});},16)// ~60fps throttle\n;});},[showThreshold]);useEffect(()=>{if(typeof window===\"undefined\")return;if(shouldAlwaysShow)return;handleScroll();window.addEventListener(\"scroll\",handleScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",handleScroll);if(scrollTimeoutRef.current!==null){clearTimeout(scrollTimeoutRef.current);}};},[handleScroll,shouldAlwaysShow]);const scrollToTop=()=>{if(typeof window===\"undefined\")return;window.scrollTo({top:0,behavior:\"smooth\"});};const radiusMemo=useMemo(()=>(buttonSize-ringWidth)/2,[buttonSize,ringWidth]);const circumferenceMemo=useMemo(()=>2*Math.PI*radiusMemo,[radiusMemo]);const strokeDashoffsetMemo=useMemo(()=>circumferenceMemo-scrollProgress*circumferenceMemo,[circumferenceMemo,scrollProgress]);// Gap between inner circle and outer ring\nconst gap=2;const innerCircleSize=buttonSize-ringWidth*2-gap*2;const showButton=shouldAlwaysShow||visibilityMode===\"always\"||visibilityMode===\"scroll\"&&isVisible;const hideButton=visibilityMode===\"hidden\"&&!shouldAlwaysShow;const containerStyle=useMemo(()=>({position:shouldAlwaysShow?\"relative\":\"fixed\",bottom:shouldAlwaysShow?undefined:bottomOffset,right:shouldAlwaysShow?undefined:rightOffset,width:buttonSize,height:buttonSize,pointerEvents:hideButton?\"none\":\"auto\",zIndex:9999,opacity:showButton?1:0,transform:shouldAlwaysShow?undefined:showButton?\"scale(1)\":\"scale(0.8)\",transition:enableAnimation&&!shouldAlwaysShow?`opacity ${animationSpeed}s ease, transform ${animationSpeed}s ease`:\"none\",touchAction:\"manipulation\"}),[shouldAlwaysShow,bottomOffset,rightOffset,buttonSize,hideButton,showButton,enableAnimation,animationSpeed]);const buttonStyle=useMemo(()=>({position:\"relative\",width:\"100%\",height:\"100%\",borderRadius:\"50%\",backgroundColor:\"transparent\",border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",transition:\"transform 0.2s ease\",WebkitTransform:\"translateZ(0)\",willChange:\"transform\",touchAction:\"manipulation\",WebkitTapHighlightColor:\"transparent\"}),[]);const innerCircleStyle=useMemo(()=>({position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:innerCircleSize,height:innerCircleSize,borderRadius:\"50%\",backgroundColor:buttonColor,boxShadow:showShadow?\"0 4px 12px rgba(0, 0, 0, 0.15)\":\"none\",pointerEvents:\"none\"}),[innerCircleSize,buttonColor,showShadow]);const svgStyle=useMemo(()=>({position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",transform:\"rotate(-90deg)\",filter:enableGlow?`drop-shadow(0 0 ${glowIntensityMemo}px ${activeGlowColor})`:\"none\",pointerEvents:\"none\"}),[enableGlow,glowIntensityMemo,activeGlowColor]);const circleStyle=useMemo(()=>({transition:\"stroke-dashoffset 0.1s linear\"}),[]);return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsxs(\"button\",{onClick:scrollToTop,style:buttonStyle,onMouseEnter:e=>{if(enableHoverEffect){e.currentTarget.style.transform=\"scale(1.05)\";}},onMouseLeave:e=>{if(enableHoverEffect){e.currentTarget.style.transform=\"scale(1)\";}},\"aria-label\":\"Back to top\",children:[/*#__PURE__*/_jsx(\"div\",{style:innerCircleStyle}),/*#__PURE__*/_jsxs(\"svg\",{width:buttonSize*.4,height:buttonSize*.4,viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{position:\"relative\",zIndex:1},children:[/*#__PURE__*/_jsx(\"title\",{children:\"Arrow up\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 19V5M5 12l7-7 7 7\"})]}),/*#__PURE__*/_jsx(\"svg\",{style:svgStyle,children:/*#__PURE__*/_jsx(\"circle\",{cx:buttonSize/2,cy:buttonSize/2,r:radiusMemo,stroke:activeRingColor,strokeWidth:ringWidth,fill:\"none\",strokeDasharray:circumferenceMemo,strokeDashoffset:strokeDashoffsetMemo,strokeLinecap:\"round\",style:circleStyle})})]})});}addPropertyControls(ScrollProgressButton,{visibilityMode:{type:ControlType.Enum,title:\"Visibility\",description:\"Choose when the button should be visible.\",options:[\"always\",\"scroll\",\"hidden\"],optionTitles:[\"Always Show\",\"Show on Scroll\",\"Hidden\"],defaultValue:\"scroll\",displaySegmentedControl:false},showThreshold:{type:ControlType.Number,title:\"Show Threshold\",description:\"Scroll distance in pixels before the button appears.\",defaultValue:300,min:0,max:1e3,step:50,unit:\"px\",hidden:({visibilityMode})=>visibilityMode!==\"scroll\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",description:\"Background color of the button.\",defaultValue:\"#FFFFFF\"},iconColor:{type:ControlType.Color,title:\"Icon Color\",description:\"Color of the arrow icon.\",defaultValue:\"#5B21B6\"},useGradientRing:{type:ControlType.Boolean,title:\"Ring Style\",description:\"Use a dynamic gradient color for the progress ring.\",defaultValue:true,enabledTitle:\"Gradient\",disabledTitle:\"Custom\"},ringColor:{type:ControlType.Color,title:\"Ring Color\",description:\"Custom color for the progress ring.\",defaultValue:\"#5B21B6\",hidden:({useGradientRing})=>useGradientRing},ringWidth:{type:ControlType.Number,title:\"Ring Width\",description:\"Thickness of the progress ring.\",defaultValue:3,min:1,max:10,step:1,unit:\"px\"},enableGlow:{type:ControlType.Boolean,title:\"Glow Effect\",description:\"Add a glow effect to the progress ring.\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},useGradientGlow:{type:ControlType.Boolean,title:\"Glow Style\",description:\"Use a dynamic gradient color for the glow effect.\",defaultValue:true,enabledTitle:\"Gradient\",disabledTitle:\"Custom\",hidden:({enableGlow})=>!enableGlow},glowColor:{type:ControlType.Color,title:\"Glow Color\",description:\"Custom color for the glow effect.\",defaultValue:\"#5B21B6\",hidden:({enableGlow,useGradientGlow})=>!enableGlow||useGradientGlow},glowIntensity:{type:ControlType.Number,title:\"Glow Intensity\",description:\"Intensity of the glow effect.\",defaultValue:1,min:.1,max:3,step:.1,hidden:({enableGlow})=>!enableGlow},buttonSize:{type:ControlType.Number,title:\"Button Size\",description:\"Diameter of the button in pixels.\",defaultValue:60,min:40,max:100,step:5,unit:\"px\"},showShadow:{type:ControlType.Boolean,title:\"Shadow\",description:\"Show a shadow behind the button.\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},enableHoverEffect:{type:ControlType.Boolean,title:\"Hover Effect\",description:\"Scale up the button on hover.\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},enableAnimation:{type:ControlType.Boolean,title:\"Animation\",description:\"Animate the button appearance and disappearance.\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",description:\"Duration of the appearance animation in seconds.\",defaultValue:.2,min:.1,max:1,step:.1,unit:\"s\",hidden:({enableAnimation})=>!enableAnimation},bottomOffset:{type:ControlType.Number,title:\"Bottom Offset\",description:\"Distance from the bottom of the screen.\",defaultValue:40,min:0,max:200,step:5,unit:\"px\"},rightOffset:{type:ControlType.Number,title:\"Right Offset\",description:\"Distance from the right of the screen.\",defaultValue:40,min:0,max:200,step:5,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollProgressButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"60\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"60\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollProgressButton.map"],"mappings":"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"}