{"version":3,"file":"BackToTopButton_1.A1iFfeJy.mjs","names":["useState","useCallback","reactStartTransition","__esmMin","window","te","init_ssg_sandbox_shims","init_npm_react_18_3_1","_e","ne","p","init_jsx_runtime","ce","motion","init_framer_motion_DhsWWWsN","addPropertyControls","init_framer_B1b760uK","ControlType","BackToTopButton","props","visible","setVisible","hover","setHover","scrollProgress","setScrollProgress","isWideEnough","setIsWideEnough","minViewportWidth","mq","update","throttle","timeoutId","lastExecTime","args","currentTime","delay","func","getButtonPosition","basePosition","bottomMargin","buttonPosition","sideMargin","calculateScrollProgress","scrollTop","scrollHeight","handleScroll","progress","startTransition","scrollThreshold","scrollToTop","startTime","startScrollTop","easeInOutCubic","t","animateScroll","elapsedTime","scrollDuration","easedProgress","callback","positionStyles","iconColor","arrowColorHover","arrowColor","getBorderRadius","buttonShape","renderIcon","iconSize","buttonSize","strokeWidth","iconStyle","iconType","renderProgressIndicator","showProgress","size","progressWidth","radius","circumference","dashoffset","rectSize","backgroundColorHover","backgroundColor","borderWidth","borderColor","boxShadow","init_BackToTopButton_1"],"sources":["https:/framerusercontent.com/modules/c6yCe0ECheZMSDoUFxlQ/W2nhaQJXimxc8QbSxMqP/BackToTopButton_1.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,minViewportWidth=0,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);// Optional viewport gate. Default 0 = render on all viewports (legacy behavior).\n// Only instances that explicitly set minViewportWidth are restricted.\nconst[isWideEnough,setIsWideEnough]=useState(minViewportWidth<=0);useEffect(()=>{if(typeof window===\"undefined\")return;if(minViewportWidth<=0){setIsWideEnough(true);return;}const mq=window.matchMedia(`(min-width: ${minViewportWidth}px)`);const update=()=>setIsWideEnough(mq.matches);update();if(typeof mq.addEventListener===\"function\"){mq.addEventListener(\"change\",update);return()=>mq.removeEventListener(\"change\",update);}else{// Safari < 14 fallback\nmq.addListener(update);return()=>mq.removeListener(update);}},[minViewportWidth]);// 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();// Only restrict rendering when an explicit minimum viewport width is set\nif(minViewportWidth>0&&!isWideEnough)return null;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\"},minViewportWidth:{type:ControlType.Number,title:\"Show From\",defaultValue:0,min:0,max:1440,step:10,unit:\"px\",description:\"0 = show on all viewports. Set 1200 to restrict this instance to desktop.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BackToTopButton\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"56\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"56\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BackToTopButton_1.map"],"mappings":"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"}