{"version":3,"file":"Button.D12CUk91.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/4YHjLpmIM4z7QPawH9Qi/alZFVMCyriaXW47kyEf2/Button.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useState}from\"react\";const sizeMap={sm:{padY:10,padX:20,fontSize:13},md:{padY:14,padX:28,fontSize:14},lg:{padY:20,padX:40,fontSize:15}};// Token mirrors — keep these in sync with project color styles.\n// Framer's /Accent/* styles are not directly accessible from code,\n// so we hardcode the canonical values here and document the source.\nconst GOLD=\"rgb(201, 169, 97)\"// /Accent/Gold\n;const GOLD_HOVER=\"rgb(214, 185, 115)\"// /Accent/GoldHover\n;const DARK=\"rgb(10, 10, 10)\";const DARK_HOVER=\"rgb(30, 30, 30)\";const INVERSE_TEXT=\"rgb(10, 10, 10)\";const PRIMARY_TEXT=\"rgb(255, 255, 255)\";// Motion constants — the trailing arrow shifts right on hover for a\n// subtle directional cue. Respects OS-level prefers-reduced-motion.\nconst HOVER_ARROW_SHIFT_PX=3;function variantStyles(variant){switch(variant){case\"primary\":return{background:GOLD,hoverBackground:GOLD_HOVER,color:INVERSE_TEXT,border:\"none\"};case\"secondary\":return{background:\"transparent\",hoverBackground:\"rgba(201, 169, 97, 0.1)\",color:GOLD,border:`1px solid ${GOLD}`};case\"outline\":return{background:\"transparent\",hoverBackground:\"rgba(10, 10, 10, 0.08)\",color:DARK,border:`1px solid ${DARK}`};case\"dark\":return{background:DARK,hoverBackground:DARK_HOVER,color:PRIMARY_TEXT,border:\"none\"};}}/**\n * useReducedMotion — returns true when the user has enabled\n * prefers-reduced-motion at the OS level. Used to skip transform\n * animations for users sensitive to motion.\n */function useReducedMotion(){const[reduced,setReduced]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");setReduced(mq.matches);const handler=e=>setReduced(e.matches);mq.addEventListener(\"change\",handler);return()=>mq.removeEventListener(\"change\",handler);},[]);return reduced;}const TrailingArrow=({color,shift})=>/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 18 18\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{flexShrink:0,transform:`translateX(${shift}px)`,transition:\"transform 160ms ease\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.75 9H14.25M14.25 9L9.75 4.5M14.25 9L9.75 13.5\",stroke:color,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});export default function Button(props){const{label=\"Button\",variant=\"primary\",size=\"md\",href=\"\",newTab=false,fullWidth=false,iconTrailing=false}=props;const s=variantStyles(variant);const dims=sizeMap[size];const[hovered,setHovered]=useState(false);const reducedMotion=useReducedMotion();const arrowShift=hovered&&!reducedMotion?HOVER_ARROW_SHIFT_PX:0;return /*#__PURE__*/_jsxs(\"a\",{href:href||undefined,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,padding:`${dims.padY}px ${dims.padX}px`,background:hovered?s.hoverBackground:s.background,border:s.border,color:s.color,fontFamily:\"Inter, sans-serif\",fontWeight:500,fontSize:dims.fontSize,letterSpacing:\"0.02em\",lineHeight:1,textDecoration:\"none\",cursor:href?\"pointer\":\"default\",width:fullWidth?\"100%\":\"auto\",transition:\"background 160ms ease, border-color 160ms ease\"},children:[/*#__PURE__*/_jsx(\"span\",{children:label}),iconTrailing&&/*#__PURE__*/_jsx(TrailingArrow,{color:s.color,shift:arrowShift})]});}addPropertyControls(Button,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Button\"},variant:{type:ControlType.Enum,title:\"Variant\",options:[\"primary\",\"secondary\",\"outline\",\"dark\"],optionTitles:[\"Primary (Gold)\",\"Secondary (Gold Outline)\",\"Outline (Dark)\",\"Dark\"],defaultValue:\"primary\"},size:{type:ControlType.Enum,title:\"Size\",options:[\"sm\",\"md\",\"lg\"],optionTitles:[\"Small\",\"Medium\",\"Large\"],defaultValue:\"md\"},href:{type:ControlType.Link,title:\"Link\"},newTab:{type:ControlType.Boolean,title:\"New Tab\",defaultValue:false},fullWidth:{type:ControlType.Boolean,title:\"Full Width\",defaultValue:false},iconTrailing:{type:ControlType.Boolean,title:\"Trailing Arrow\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Button\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Button.map"],"mappings":"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"}