{"version":3,"file":"BackToTop.JWFW4UI0.mjs","names":["mask","Base","MotionSVG","SVG","svg","getProps","Icon","Icon","React.useState","React.useRef"],"sources":["https:/framerusercontent.com/modules/J70zO4HppZ7HkvCvwJHh/jEoOEhPY1IVta2TPITWY/Z1dMEXkJ6.js","https:/framerusercontent.com/modules/pekXMNBgOXjgxJsEjMcw/aYUNUXoKE8bgqddR0thu/J5DQDm9bJ.js","https:/framerusercontent.com/modules/T2jsczKNtfjbckr6ihef/WKMY6lKYImDNoRfYcbel/BackToTop.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 5.5 0 L 0 5.25 L 5.5 10.5\" fill=\"transparent\" height=\"10.5px\" id=\"qjdrtIpc7\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(4.75 6.75)\" width=\"5.5px\"/><path d=\"M 14.25 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"A7wAxaPFZ\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(5 12)\" width=\"14.25px\"/></svg>';const getProps=({dots,height,id,stroke,width,width1,...props})=>{return{...props,BKVe8Pgvw:dots??props.BKVe8Pgvw??1,fICyAUQY1:stroke??props.fICyAUQY1??\"rgb(0, 0, 0)\",lKf_CQTz5:width1??props.lKf_CQTz5??1.5};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,fICyAUQY1,lKf_CQTz5,BKVe8Pgvw,...restProps}=getProps(props);const href=useSVGTemplate(\"156361677\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-Yela7\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1335ju\":lKf_CQTz5,\"--18mrqx2\":fICyAUQY1,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-Yela7 { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"fICyAUQY1\":\"stroke\",\"lKf_CQTz5\":\"width1\",\"BKVe8Pgvw\":\"dots\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrow Left\",\"color\":{\"type\":\"variable\",\"value\":\"18mrqx2\"},\"set\":{\"localId\":\"vectorSet/SuYHhKUZG\",\"id\":\"SuYHhKUZG\",\"moduleId\":\"EqX8thWQjdZcOB1c6p5N\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-Yela7\");Icon.displayName=\"Arrow Left\";export default Icon;addPropertyControls(Icon,{fICyAUQY1:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color},lKf_CQTz5:{defaultValue:1.5,displayStepper:true,hidden:false,max:4,min:0,step:.5,title:\"Width\",type:ControlType.Number},BKVe8Pgvw:{defaultValue:1,displayStepper:true,hidden:true,max:4,min:1,title:\"Dots\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Arrow Left\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"18mrqx2\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/SuYHhKUZG\\\",\\\"id\\\":\\\"SuYHhKUZG\\\",\\\"moduleId\\\":\\\"EqX8thWQjdZcOB1c6p5N\\\"}}\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"fICyAUQY1\\\":\\\"stroke\\\",\\\"lKf_CQTz5\\\":\\\"width1\\\",\\\"BKVe8Pgvw\\\":\\\"dots\\\"}\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 2 C 0 0.895 0.895 0 2 0 L 12.5 0 C 13.605 0 14.5 0.895 14.5 2 L 14.5 10.5 C 14.5 11.605 13.605 12.5 12.5 12.5 L 2 12.5 C 0.895 12.5 0 11.605 0 10.5 Z\" fill=\"transparent\" height=\"12.5px\" id=\"uurT52Iok\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(4.75 6.75)\" width=\"14.5px\"/><path d=\"M 0 0 L 0 3.5\" fill=\"transparent\" height=\"3.5px\" id=\"zzzgtcBPP\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(8 4.75)\" width=\"1px\"/><path d=\"M 0 0 L 0 3.5\" fill=\"transparent\" height=\"3.5px\" id=\"OfBcQurC2\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(16 4.75)\" width=\"1px\"/><path d=\"M 0 0 L 8.5 0\" fill=\"transparent\" height=\"1px\" id=\"zHvULwzW0\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(7.75 10.75)\" width=\"8.5px\"/></svg>';const getProps=({dots,height,id,stroke,width,width1,...props})=>{return{...props,BKVe8Pgvw:dots??props.BKVe8Pgvw??1,fICyAUQY1:stroke??props.fICyAUQY1??\"rgb(0, 0, 0)\",lKf_CQTz5:width1??props.lKf_CQTz5??1.5};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,fICyAUQY1,lKf_CQTz5,BKVe8Pgvw,...restProps}=getProps(props);const href=useSVGTemplate(\"2726033352\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-SEIet\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1335ju\":lKf_CQTz5,\"--18mrqx2\":fICyAUQY1,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-SEIet { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"fICyAUQY1\":\"stroke\",\"lKf_CQTz5\":\"width1\",\"BKVe8Pgvw\":\"dots\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Calendar\",\"color\":{\"type\":\"variable\",\"value\":\"18mrqx2\"},\"set\":{\"localId\":\"vectorSet/SuYHhKUZG\",\"id\":\"SuYHhKUZG\",\"moduleId\":\"EqX8thWQjdZcOB1c6p5N\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-SEIet\");Icon.displayName=\"Calendar\";export default Icon;addPropertyControls(Icon,{fICyAUQY1:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color},lKf_CQTz5:{defaultValue:1.5,displayStepper:true,hidden:false,max:4,min:0,step:.5,title:\"Width\",type:ControlType.Number},BKVe8Pgvw:{defaultValue:1,displayStepper:true,hidden:true,max:4,min:1,title:\"Dots\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Calendar\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"18mrqx2\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/SuYHhKUZG\\\",\\\"id\\\":\\\"SuYHhKUZG\\\",\\\"moduleId\\\":\\\"EqX8thWQjdZcOB1c6p5N\\\"}}\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"fICyAUQY1\\\":\\\"stroke\\\",\\\"lKf_CQTz5\\\":\\\"width1\\\",\\\"BKVe8Pgvw\\\":\\\"dots\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * BackToTop Code Component (Framer)\n *\n * A customizable back-to-top button for Framer sites.\n * - Single default export (BackToTop)\n * - Drag & drop friendly: visible in canvas when Always Show = true\n * - Toggle Fixed = true to pin bottom-right/left/center for preview/publish\n * - Shapes: circle, rounded, square\n * - Icons: arrow, chevron, caret, double, rocket (points upward)\n * - Hover, border, shadow, pulse, scroll speed, and transition type options\n * - Polished UI: hover scale, smooth transitions, accessibility features\n * - Usage: Place in canvas, adjust props in properties panel, enable Fixed for live sites\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{createPortal}from\"react-dom\";// ----- Helpers -----\nconst isClient=()=>typeof window!==\"undefined\"&&typeof document!==\"undefined\";const clamp01=v=>Math.max(0,Math.min(1,v));function useRAFScrollProgress(){const[progress,setProgress]=React.useState(0);const tickingRef=React.useRef(false);React.useEffect(()=>{if(!isClient())return;function update(){const docHeight=Math.max(document.documentElement.scrollHeight-window.innerHeight,0);const top=window.scrollY||window.pageYOffset;setProgress(docHeight>0?clamp01(top/docHeight):0);tickingRef.current=false;}function onScroll(){if(tickingRef.current)return;tickingRef.current=true;requestAnimationFrame(update);}update();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);};},[]);return progress;}function scrollToTopDuration(duration=600){if(!isClient())return;const start=window.scrollY||window.pageYOffset;const startTime=performance.now();function step(now){const t=Math.min(1,(now-startTime)/duration);const eased=t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;window.scrollTo(0,Math.round(start*(1-eased)));if(t<1)requestAnimationFrame(step);}requestAnimationFrame(step);}// ----- Icons -----\nfunction Icon({name,color,size}){const common={width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":true};switch(name){case\"arrow\":return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 19V5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6.5 10.5L12 5l5.5 5.5\"})]});case\"chevron\":return /*#__PURE__*/_jsx(\"svg\",{...common,children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 14l6-6 6 6\"})});case\"caret\":return /*#__PURE__*/_jsx(\"svg\",{...common,stroke:\"none\",fill:color,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 6l6 12H6l6-12z\"})});case\"double\":return /*#__PURE__*/_jsxs(\"svg\",{...common,strokeWidth:\"1.6\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6 14l6-6 6 6\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6 20l6-6 6 6\"})]});case\"rocket\":return /*#__PURE__*/_jsx(\"svg\",{...common,viewBox:\"-5 -5 34 34\",children:/*#__PURE__*/_jsxs(\"g\",{transform:\"rotate(-45 12 12)\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"13.5\",cy:\"10.5\",r:\"1\"})]})});default:return null;}}// ----- Component -----\nexport default function BackToTop(inProps){// Props with defaults\nconst props={size:inProps.size??56,shape:inProps.shape??\"circle\",icon:inProps.icon??\"arrow\",fill:inProps.fill??\"#2979FF\",iconColor:inProps.iconColor??\"#ffffff\",hoverFill:inProps.hoverFill??\"#3E8BFF\",hoverIconColor:inProps.hoverIconColor??inProps.iconColor??\"#ffffff\",borderColor:inProps.borderColor??\"rgba(0,0,0,0.06)\",borderWidth:inProps.borderWidth??1,shadow:inProps.shadow??true,pulse:inProps.pulse??false,showAfter:inProps.showAfter??.25,alwaysShow:inProps.alwaysShow??true,fixed:inProps.fixed??false,placement:inProps.placement??\"bottom-right\",sideOffset:inProps.sideOffset??24,bottom:inProps.bottom??24,speedMs:inProps.speedMs??600,showOnMobile:inProps.showOnMobile??false,scrollType:inProps.scrollType??\"smooth\"};const progress=useRAFScrollProgress();const[hovered,setHovered]=React.useState(false);const[focused,setFocused]=React.useState(false);const[isMobile,setIsMobile]=React.useState(isClient()?window.innerWidth<=768:false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const client=isClient();const scrolledEnough=progress>=clamp01(props.showAfter);const visible=isCanvas||client?props.alwaysShow?true:scrolledEnough&&(props.showOnMobile||!isMobile):true;// Handle window resize for mobile detection\nReact.useEffect(()=>{if(!client)return;const handleResize=()=>setIsMobile(window.innerWidth<=768);window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[client]);// Inject pulse keyframes only when needed\nReact.useEffect(()=>{if(!client||!props.pulse||document.getElementById(\"axen-btt-pulse-ks\"))return;const style=document.createElement(\"style\");style.id=\"axen-btt-pulse-ks\";style.innerHTML=`@keyframes axen-btt-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.06); } 100% { transform: scale(1); } }`;document.head.appendChild(style);return()=>style.remove();},[client,props.pulse]);// Styles\nconst borderRadius=props.shape===\"circle\"?\"50%\":props.shape===\"rounded\"?\"12px\":\"0px\";const bgColor=hovered?props.hoverFill:props.fill;const iColor=hovered?props.hoverIconColor:props.iconColor;const size=Math.max(32,Math.min(320,props.size));const svgSize=size*.45;const baseStyle={width:`${size}px`,height:`${size}px`,minWidth:`${size}px`,minHeight:`${size}px`,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius,background:bgColor,border:props.borderWidth>0?`${props.borderWidth}px solid ${props.borderColor}`:\"none\",boxShadow:props.shadow?focused?\"0 0 0 3px rgba(66, 153, 225, 0.5), 0 10px 30px rgba(2,6,23,0.12)\":\"0 10px 30px rgba(2,6,23,0.12)\":focused?\"0 0 0 3px rgba(66, 153, 225, 0.5)\":\"none\",cursor:\"pointer\",transition:\"background 0.18s ease, transform 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease\",opacity:visible?1:0,pointerEvents:visible?\"auto\":\"none\",userSelect:\"none\",zIndex:99999,WebkitTapHighlightColor:\"transparent\",position:props.fixed&&!isCanvas?\"fixed\":\"relative\",right:props.fixed&&!isCanvas&&props.placement===\"bottom-right\"?`${props.sideOffset}px`:undefined,left:props.fixed&&!isCanvas&&props.placement===\"bottom-left\"?`${props.sideOffset}px`:props.fixed&&!isCanvas&&props.placement===\"bottom-center\"?\"50%\":undefined,bottom:props.fixed&&!isCanvas?`${props.bottom}px`:undefined,transform:`${props.fixed&&!isCanvas&&props.placement===\"bottom-center\"?\"translateX(-50%) \":\"\"}${hovered?\"scale(1.05)\":\"scale(1)\"}`,boxSizing:\"border-box\",animation:props.pulse&&visible&&!hovered?\"axen-btt-pulse 1.6s ease-in-out infinite\":undefined,outline:\"none\"};// Event handlers\nconst handleClick=()=>{if(props.scrollType===\"instant\"){if(isClient())window.scrollTo({top:0,behavior:\"instant\"});}else{scrollToTopDuration(props.speedMs);}};// Render\nconst button=/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Scroll to top\",title:\"Scroll to top\",onClick:handleClick,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),style:baseStyle,children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(Icon,{name:props.icon,color:iColor,size:svgSize})})});if(!client&&props.fixed)return null;if(props.fixed&&!isCanvas&&document.body)return /*#__PURE__*/createPortal(button,document.body);return button;}// ----- Property Controls -----\naddPropertyControls(BackToTop,{size:{type:ControlType.Number,title:\"Size\",defaultValue:56,min:32,max:320,description:\"Adjust button size (32-320px); use 48-64 for optimal visibility.\"},shape:{type:ControlType.Enum,title:\"Shape\",options:[\"circle\",\"rounded\",\"square\"],optionTitles:[\"Circle\",\"Rounded\",\"Square\"],defaultValue:\"circle\",description:\"Select button shape; circle for a modern, soft appearance.\"},icon:{type:ControlType.Enum,title:\"Icon\",options:[\"arrow\",\"chevron\",\"caret\",\"double\",\"rocket\"],optionTitles:[\"Arrow\",\"Chevron\",\"Caret\",\"Double\",\"Rocket\"],defaultValue:\"arrow\",description:\"Choose icon; arrow for classic, rocket for playful vibe.\"},fill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#2979FF\",description:\"Set button background color; ensure icon contrast.\"},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#FFFFFF\",description:\"Set icon color; choose high contrast with fill.\"},hoverFill:{type:ControlType.Color,title:\"Hover Fill\",defaultValue:\"#3E8BFF\",description:\"Set hover background; use a shade shift for feedback.\"},hoverIconColor:{type:ControlType.Color,title:\"Hover Icon Color\",defaultValue:\"#FFFFFF\",description:\"Set icon color on hover; maintain visibility.\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"rgba(0,0,0,0.06)\",description:\"Set border color; use subtle tones for outline.\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1,min:0,max:8,description:\"Set border thickness (0-8px); 0 removes border.\"},shadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:true,description:\"Toggle shadow; enable for depth, disable for flat look.\"},pulse:{type:ControlType.Boolean,title:\"Pulse\",defaultValue:false,description:\"Enable pulsing animation to attract attention.\"},showAfter:{type:ControlType.Number,title:\"Show After\",defaultValue:.25,min:0,max:1,step:.01,displayStepper:true,description:\"Show button after scrolling (0-1); e.g., 0.25 = 25% down.\"},alwaysShow:{type:ControlType.Boolean,title:\"Always Show\",defaultValue:true,description:\"Keep visible in canvas; disable to show only on scroll.\"},fixed:{type:ControlType.Boolean,title:\"Fixed\",defaultValue:false,description:\"Pin button to viewport; enable for live sites.\"},placement:{type:ControlType.Enum,title:\"Placement\",options:[\"bottom-right\",\"bottom-left\",\"bottom-center\"],optionTitles:[\"Bottom Right\",\"Bottom Left\",\"Bottom Center\"],defaultValue:\"bottom-right\",description:\"Set fixed position; bottom-right is standard.\"},sideOffset:{type:ControlType.Number,title:\"Side Offset\",defaultValue:24,description:\"Set horizontal edge spacing (px); adjust for layout.\"},bottom:{type:ControlType.Number,title:\"Bottom Offset\",defaultValue:24,description:\"Set vertical bottom spacing (px); avoid footer overlap.\"},speedMs:{type:ControlType.Number,title:\"Scroll Speed\",defaultValue:600,min:100,max:3e3,description:\"Set scroll duration (100-3000ms); lower for faster scroll.\"},showOnMobile:{type:ControlType.Boolean,title:\"Show on Mobile\",defaultValue:false,description:\"Show on mobile (≤768px); test for touch UX.\"},scrollType:{type:ControlType.Enum,title:\"Scroll Type\",options:[\"instant\",\"smooth\"],optionTitles:[\"Instant\",\"Smooth\"],defaultValue:\"smooth\",description:\"Choose instant (jump to top) or smooth (gradual scroll).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BackToTop\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BackToTop.map"],"mappings":"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"}