{"version":3,"file":"BackToTopButton.DF5OLXsb.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/vxVBP3J5EffWUPGOYrAl/mmj3255lAqsTxwT8aKnl/BackToTopButton.js"],"sourcesContent":["// Back to Top Component - A floating button that scrolls to the top of the page when clicked\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function BackToTopButton(props){const{backgroundColor=\"#000000\",iconColor=\"#FFFFFF\",size=56,iconSize=20,text=\"Top\",textColor=\"#FFFFFF\",showIcon=true,showText=false,alignment=\"vertical\",font={fontSize:\"12px\",fontWeight:\"600\",lineHeight:\"1\"},showThreshold=300,smoothScroll=true,borderRadius=28,shadow=true}=props;const[isVisible,setIsVisible]=useState(false);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const toggleVisibility=()=>{if(window.pageYOffset>showThreshold){startTransition(()=>setIsVisible(true));}else{startTransition(()=>setIsVisible(false));}};window.addEventListener(\"scroll\",toggleVisibility);return()=>window.removeEventListener(\"scroll\",toggleVisibility);},[showThreshold,isStatic]);const scrollToTop=()=>{if(typeof window===\"undefined\")return;if(smoothScroll){window.scrollTo({top:0,behavior:\"smooth\"});}else{window.scrollTo(0,0);}};const getPositionStyles=()=>{return{position:\"fixed\",zIndex:1e3,bottom:\"24px\",right:\"24px\"};};// Show static preview in canvas\nif(isStatic){return /*#__PURE__*/_jsxs(\"div\",{style:{width:`${size}px`,height:`${size}px`,backgroundColor,borderRadius:`${borderRadius}px`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",boxShadow:shadow?\"0 4px 12px rgba(0, 0, 0, 0.15)\":\"none\",transition:\"all 0.3s ease\",flexDirection:showIcon&&showText?alignment===\"vertical\"?\"column\":\"row\":\"row\",gap:showIcon&&showText?alignment===\"vertical\"?\"4px\":\"8px\":\"0\"},children:[showIcon&&/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 19V5M5 12l7-7 7 7\"})}),showText&&/*#__PURE__*/_jsx(\"span\",{style:{color:textColor,...font},children:text})]});}if(!isVisible)return null;return /*#__PURE__*/_jsxs(\"button\",{onClick:scrollToTop,style:{...getPositionStyles(),width:`${size}px`,height:`${size}px`,backgroundColor,border:\"none\",borderRadius:`${borderRadius}px`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",boxShadow:shadow?\"0 4px 12px rgba(0, 0, 0, 0.15)\":\"none\",transition:\"all 0.3s ease\",opacity:isVisible?1:0,transform:`scale(${isVisible?1:.8})`,flexDirection:showIcon&&showText?alignment===\"vertical\"?\"column\":\"row\":\"row\",gap:showIcon&&showText?alignment===\"vertical\"?\"4px\":\"8px\":\"0\"},onMouseEnter:e=>{e.currentTarget.style.transform=\"scale(1.1)\";e.currentTarget.style.boxShadow=shadow?\"0 6px 16px rgba(0, 0, 0, 0.2)\":\"none\";},onMouseLeave:e=>{e.currentTarget.style.transform=\"scale(1)\";e.currentTarget.style.boxShadow=shadow?\"0 4px 12px rgba(0, 0, 0, 0.15)\":\"none\";},\"aria-label\":\"Back to top\",children:[showIcon&&/*#__PURE__*/_jsx(\"svg\",{width:iconSize,height:iconSize,viewBox:\"0 0 24 24\",fill:\"none\",stroke:iconColor,strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 19V5M5 12l7-7 7 7\"})}),showText&&/*#__PURE__*/_jsx(\"span\",{style:{color:textColor,...font},children:text})]});}addPropertyControls(BackToTopButton,{backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#000000\",hidden:({showIcon})=>!showIcon},iconSize:{type:ControlType.Number,title:\"Icon Size\",defaultValue:22,min:12,max:32,step:2,unit:\"px\",hidden:({showIcon})=>!showIcon},showIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},text:{type:ControlType.String,title:\"Text\",defaultValue:\"Top\",hidden:({showText})=>!showText},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\",hidden:({showText})=>!showText},font:{type:ControlType.Font,title:\"Text Font\",defaultValue:{fontSize:\"12px\",variant:\"Semibold\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\",hidden:({showText})=>!showText},showText:{type:ControlType.Boolean,title:\"Show Text\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:55,min:32,max:80,step:4,unit:\"px\"},showThreshold:{type:ControlType.Number,title:\"Show After\",defaultValue:300,min:100,max:1e3,step:50,unit:\"px\"},smoothScroll:{type:ControlType.Boolean,title:\"Smooth Scroll\",defaultValue:true,enabledTitle:\"Smooth\",disabledTitle:\"Instant\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:40,min:0,max:40,step:2,unit:\"px\"},shadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BackToTopButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BackToTopButton.map"],"mappings":"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"}