{"version":3,"file":"BackToTopButton.rjuJSkez.mjs","names":["useState","useCallback","reactStartTransition"],"sources":["https:/framerusercontent.com/modules/zKG144KCSYZMViMCj5oj/sR9fXc9Bsl4DFTs4GnS1/BackToTopButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useCallback,startTransition as reactStartTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/**\n\n* Fixed Back to Top Button (icon centered, no extra animation)\n\n*\n\n* @framerIntrinsicWidth 56\n\n* @framerIntrinsicHeight 56\n\n* @framerSupportedLayoutWidth fixed\n\n* @framerSupportedLayoutHeight fixed\n\n*/export default function BackToTopButton(props){const{backgroundColor=\"#FFFFFF\",backgroundColorHover=\"#F8F8F8\",arrowColor=\"#EA5D5F\",arrowColorHover=\"#D64545\",buttonSize=56,buttonPosition=\"bottomRight\",bottomMargin=32,sideMargin=32,scrollThreshold=300,scrollDuration=800,boxShadow=true,iconType=\"arrow\",buttonShape=\"circle\",borderWidth=0,borderColor=\"#E0E0E0\",showProgress=false,progressWidth=3,style}=props;// Ensure minimum size of 5x5 pixels\nconst minSize=5;const effectiveButtonSize=Math.max(buttonSize,minSize);const[visible,setVisible]=useState(false);const[hover,setHover]=useState(false);const[scrollProgress,setScrollProgress]=useState(0);// Throttle for performance\nconst throttle=(func,delay)=>{let timeoutId=null;let lastExecTime=0;return(...args)=>{const currentTime=Date.now();if(currentTime-lastExecTime>delay){func(...args);lastExecTime=currentTime;}else{if(timeoutId)clearTimeout(timeoutId);timeoutId=setTimeout(()=>{func(...args);lastExecTime=Date.now();},delay-(currentTime-lastExecTime));}};};// Button position\nconst getButtonPosition=useCallback(()=>{const basePosition={bottom:`${bottomMargin}px`,zIndex:999};switch(buttonPosition){case\"bottomLeft\":return{...basePosition,left:`${sideMargin}px`,right:\"auto\"};case\"bottomCenter\":return{...basePosition,left:\"50%\",right:\"auto\",transform:\"translateX(-50%)\"};case\"bottomRight\":default:return{...basePosition,right:`${sideMargin}px`,left:\"auto\"};}},[buttonPosition,bottomMargin,sideMargin]);// Scroll progress\nconst calculateScrollProgress=useCallback(()=>{if(typeof window===\"undefined\")return 0;const scrollTop=window.pageYOffset||document.documentElement.scrollTop;const scrollHeight=document.documentElement.scrollHeight-document.documentElement.clientHeight;return scrollHeight>0?scrollTop/scrollHeight*100:0;},[]);// Handle scroll\nconst handleScroll=useCallback(throttle(()=>{if(typeof window===\"undefined\")return;const scrollTop=window.pageYOffset||document.documentElement.scrollTop;const progress=calculateScrollProgress();startTransition(()=>{setVisible(scrollTop>scrollThreshold);setScrollProgress(progress);});},16),[scrollThreshold,calculateScrollProgress]);useEffect(()=>{if(typeof window===\"undefined\")return;window.addEventListener(\"scroll\",handleScroll,{passive:true});handleScroll();return()=>window.removeEventListener(\"scroll\",handleScroll);},[handleScroll]);// Smooth scroll to top\nconst scrollToTop=useCallback(()=>{if(typeof window===\"undefined\")return;const startTime=performance.now();const startScrollTop=window.pageYOffset||document.documentElement.scrollTop;const easeInOutCubic=t=>t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;const animateScroll=currentTime=>{const elapsedTime=currentTime-startTime;const progress=Math.min(elapsedTime/scrollDuration,1);const easedProgress=easeInOutCubic(progress);window.scrollTo(0,startScrollTop*(1-easedProgress));if(progress<1)window.requestAnimationFrame(animateScroll);};window.requestAnimationFrame(animateScroll);},[scrollDuration]);// Start transition wrapper\nconst startTransition=callback=>{if(typeof window!==\"undefined\"&&typeof reactStartTransition===\"function\"){reactStartTransition(callback);}else{callback();}};const positionStyles=getButtonPosition();const iconColor=hover?arrowColorHover:arrowColor;// Border radius\nconst getBorderRadius=()=>{switch(buttonShape){case\"square\":return\"0px\";case\"rounded\":return\"12px\";case\"circle\":default:return\"50%\";}};// Render icon\nconst renderIcon=()=>{const iconSize=Math.max(buttonSize*.5,20);const strokeWidth=2.5;const iconStyle={display:\"block\",color:iconColor};switch(iconType){case\"chevron\":return /*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",style:iconStyle,children:/*#__PURE__*/_jsx(\"path\",{d:\"M18 15L12 9L6 15\",stroke:\"currentColor\",strokeWidth:strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"})});case\"caretUp\":return /*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",style:iconStyle,children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 14L12 9L17 14\",stroke:\"currentColor\",strokeWidth:strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"})});case\"rocket\":return /*#__PURE__*/_jsxs(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",style:iconStyle,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 2C12 2 7 7 7 13C7 15.21 8.79 17 11 17H13C15.21 17 17 15.21 17 13C17 7 12 2 12 2Z\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 17V21\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 14H15\",stroke:\"currentColor\",strokeWidth:1.5,strokeLinecap:\"round\"})]});case\"doubleArrow\":return /*#__PURE__*/_jsxs(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",style:iconStyle,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M17 11L12 6L7 11\",stroke:\"currentColor\",strokeWidth:strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M17 18L12 13L7 18\",stroke:\"currentColor\",strokeWidth:strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});case\"arrow\":default:return /*#__PURE__*/_jsxs(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",style:iconStyle,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 19V5\",stroke:\"currentColor\",strokeWidth:strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M5 12L12 5L19 12\",stroke:\"currentColor\",strokeWidth:strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}};// Render progress indicator\nconst renderProgressIndicator=()=>{if(!showProgress)return null;const size=buttonSize;const strokeWidth=progressWidth;const radius=(size-strokeWidth)/2;const circumference=2*Math.PI*radius;const dashoffset=circumference*(1-scrollProgress/100);// For rounded and square shapes, we'll use a different approach\nif(buttonShape!==\"circle\"){const rectSize=size-strokeWidth;return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:`0 0 ${size} ${size}`,style:{position:\"absolute\"},children:[/*#__PURE__*/_jsx(\"rect\",{x:strokeWidth/2,y:strokeWidth/2,width:rectSize,height:rectSize,fill:\"none\",stroke:\"rgba(0,0,0,0.1)\",strokeWidth:strokeWidth,rx:buttonShape===\"rounded\"?12:0}),/*#__PURE__*/_jsx(\"rect\",{x:strokeWidth/2,y:strokeWidth/2,width:rectSize,height:rectSize,fill:\"none\",stroke:arrowColor,strokeWidth:strokeWidth,strokeDasharray:2*(rectSize+rectSize),strokeDashoffset:2*(rectSize+rectSize)*(1-scrollProgress/100),rx:buttonShape===\"rounded\"?12:0})]});}// Default circular progress indicator\nreturn /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:`0 0 ${size} ${size}`,style:{position:\"absolute\",transform:\"rotate(-90deg)\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:size/2,cy:size/2,r:radius,fill:\"none\",stroke:\"rgba(0,0,0,0.1)\",strokeWidth:strokeWidth}),/*#__PURE__*/_jsx(\"circle\",{cx:size/2,cy:size/2,r:radius,fill:\"none\",stroke:arrowColor,strokeWidth:strokeWidth,strokeDasharray:circumference,strokeDashoffset:dashoffset,strokeLinecap:\"round\"})]});};// Animations\nconst getAnimationVariants=()=>{return{hidden:{opacity:0},visible:{opacity:1}};};const variants=getAnimationVariants();return /*#__PURE__*/_jsxs(motion.button,{initial:\"hidden\",animate:visible?\"visible\":\"hidden\",variants:variants,transition:{duration:.3,ease:\"easeInOut\"},type:\"button\",onClick:scrollToTop,onMouseEnter:()=>startTransition(()=>setHover(true)),onMouseLeave:()=>startTransition(()=>setHover(false)),\"aria-label\":\"Scroll to top\",tabIndex:visible?0:-1,style:{background:hover?backgroundColorHover:backgroundColor,borderRadius:getBorderRadius(),visibility:visible?\"visible\":\"hidden\",position:\"fixed\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:buttonSize,height:buttonSize,border:borderWidth>0?`${borderWidth}px solid ${borderColor}`:\"none\",boxShadow:visible&&boxShadow?`0px 4px 12px rgba(0,0,0,0.15),0px 2px 4px rgba(0,0,0,0.1)`:\"none\",transition:\"all 0.2s cubic-bezier(0.4,0,0.2,1)\",...positionStyles},whileHover:{scale:1.05,boxShadow:visible&&boxShadow?`0px 6px 16px rgba(0,0,0,0.2),0px 4px 8px rgba(0,0,0,0.15)`:\"none\"},whileTap:{scale:.95},children:[showProgress&&renderProgressIndicator(),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:iconColor},children:renderIcon()})]});}addPropertyControls(BackToTopButton,{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\",description:\"Background color of the button\"},backgroundColorHover:{type:ControlType.Color,title:\"Background Hover\",defaultValue:\"#F8F8F8\",description:\"Background color when hovering over the button\"},arrowColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#EA5D5F\",description:\"Color of the icon in normal state\"},arrowColorHover:{type:ControlType.Color,title:\"Icon Hover\",defaultValue:\"#D64545\",description:\"Color of the icon when hovering\"},iconType:{type:ControlType.Enum,title:\"Icon Type\",options:[\"arrow\",\"chevron\",\"caretUp\",\"rocket\",\"doubleArrow\"],optionTitles:[\"Arrow\",\"Chevron\",\"Caret\",\"Rocket\",\"Double Arrow\"],defaultValue:\"arrow\",description:\"Style of the icon displayed in the button\"},buttonSize:{type:ControlType.Number,title:\"Size\",defaultValue:56,min:40,max:80,step:2,unit:\"px\",description:\"Width and height of the button\"},buttonShape:{type:ControlType.Enum,title:\"Shape\",options:[\"circle\",\"rounded\",\"square\"],optionTitles:[\"Circle\",\"Rounded\",\"Square\"],defaultValue:\"circle\",description:\"Shape of the button and progress indicator\"},buttonPosition:{type:ControlType.Enum,title:\"Position\",options:[\"bottomRight\",\"bottomLeft\",\"bottomCenter\"],optionTitles:[\"Bottom Right\",\"Bottom Left\",\"Bottom Center\"],defaultValue:\"bottomRight\",description:\"Position of the button on the screen\"},bottomMargin:{type:ControlType.Number,title:\"Bottom Margin\",defaultValue:32,min:0,max:100,step:1,unit:\"px\",description:\"Distance from the bottom of the screen\"},sideMargin:{type:ControlType.Number,title:\"Side Margin\",defaultValue:32,min:0,max:100,step:1,unit:\"px\",description:\"Distance from the side of the screen (left or right)\"},scrollThreshold:{type:ControlType.Number,title:\"Show After\",defaultValue:300,min:100,max:1e3,step:50,unit:\"px\",description:\"How far to scroll before the button appears\"},scrollDuration:{type:ControlType.Number,title:\"Scroll Speed\",defaultValue:800,min:300,max:2e3,step:100,unit:\"ms\",description:\"Duration of the scroll-to-top animation\"},boxShadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"Add a shadow effect to the button\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:0,min:0,max:4,step:1,unit:\"px\",description:\"Width of the button border\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#E0E0E0\",hidden:({borderWidth})=>borderWidth===0,description:\"Color of the button border\"},showProgress:{type:ControlType.Boolean,title:\"Progress Ring\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Show a ring indicating scroll progress\"},progressWidth:{type:ControlType.Number,title:\"Progress Width\",defaultValue:3,min:1,max:10,step:1,unit:\"px\",hidden:({showProgress})=>!showProgress,description:\"Thickness of the progress indicator\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BackToTopButton\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"56\",\"framerIntrinsicWidth\":\"56\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BackToTopButton.map"],"mappings":"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"}