{"version":3,"file":"Button.D_n3Az6H.mjs","names":["useState","useCallback","_Fragment","FramerLink"],"sources":["https:/framerusercontent.com/modules/m57b54LOqELhqi7lMMuN/Bf1kFZiZWjxdKpNSn5Yp/Button.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,Link as FramerLink,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{startTransition,useCallback,useState}from\"react\";const HOVER_EASE=\"cubic-bezier(0.44, 0, 0.56, 1)\";const HOVER_DURATION=\"0.6s\";const CUT=12// px, matches --btn-cut\n;function clipPath(tl,tr,br,bl){return`polygon(${tl}px 0, calc(100% - ${tr}px) 0, 100% ${tr}px, 100% calc(100% - ${br}px), calc(100% - ${br}px) 100%, ${bl}px 100%, 0 calc(100% - ${bl}px), 0 ${tl}px)`;}function Icon({name}){if(name===\"arrowRight\"){return /*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",width:\"1.1em\",height:\"1.1em\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"12\",x2:\"19\",y2:\"12\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 5 19 12 12 19\"})]});}if(name===\"arrowLeft\"){return /*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",width:\"1.1em\",height:\"1.1em\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"19\",y1:\"12\",x2:\"5\",y2:\"12\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 19 5 12 12 5\"})]});}if(name===\"subscribe\"){return /*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\",width:\"1.1em\",height:\"1.1em\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"22,6 12,13 2,6\"})]});}return null;}export default function Button(props){const{variant,label,link,newTab,iconOnly,icon,isOpen,accentColor,baseColor,surfaceColor,font,style}=props;const[hovered,setHovered]=useState(false);const handleHoverStart=useCallback(()=>{startTransition(()=>setHovered(true));},[]);const handleHoverEnd=useCallback(()=>{startTransition(()=>setHovered(false));},[]);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const open=isCanvas?isOpen:false;// ---------------------------------------------------------------\n// Hamburger variant — square icon toggle, no clip-path corners\n// ---------------------------------------------------------------\nif(variant===\"hamburger\"){return /*#__PURE__*/_jsxs(motion.button,{type:\"button\",\"aria-label\":open?\"Close menu\":\"Open menu\",\"aria-expanded\":open,onHoverStart:handleHoverStart,onHoverEnd:handleHoverEnd,style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",minWidth:48,minHeight:48,display:\"grid\",placeContent:\"center\",gap:7,background:\"transparent\",border:\"none\",cursor:\"pointer\",boxShadow:`inset 0 0 0 1px ${hovered?accentColor:\"rgba(255,255,255,0.30)\"}`,transition:`box-shadow ${HOVER_DURATION} ${HOVER_EASE}`},children:[/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",width:22,height:2,background:hovered?accentColor:baseColor,transformOrigin:\"center\",transition:`transform ${HOVER_DURATION} ${HOVER_EASE}, background-color ${HOVER_DURATION} ${HOVER_EASE}`,transform:open?\"translateY(4.5px) rotate(45deg)\":\"none\"}}),/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",width:22,height:2,background:hovered?accentColor:baseColor,transformOrigin:\"center\",transition:`transform ${HOVER_DURATION} ${HOVER_EASE}, background-color ${HOVER_DURATION} ${HOVER_EASE}`,transform:open?\"translateY(-4.5px) rotate(-45deg)\":\"none\"}})]});}// ---------------------------------------------------------------\n// Primary / Ghost — cut-corner button\n// ---------------------------------------------------------------\nconst isPrimary=variant===\"primary\";// Idle corners: TL + BR cut. Hover: flips to TR + BL cut.\nconst cuts=hovered?{tl:0,tr:CUT,br:0,bl:CUT}:{tl:CUT,tr:0,br:CUT,bl:0};const background=isPrimary?hovered?baseColor:accentColor:\"transparent\";const color=isPrimary?hovered?accentColor:baseColor===\"#111827\"?\"#111827\":baseColor:hovered?accentColor:surfaceColor;const boxShadow=isPrimary?hovered?`inset 0 0 0 1px ${accentColor}`:\"none\":hovered?`inset 0 0 0 1px ${accentColor}`:`inset 0 0 0 1px ${surfaceColor}`;const content=/*#__PURE__*/_jsxs(_Fragment,{children:[!iconOnly&&label,icon!==\"none\"&&/*#__PURE__*/_jsx(Icon,{name:icon})]});const commonStyle={...style,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"0.65em\",width:iconOnly?style?.width??48:style?.width??\"max-content\",height:iconOnly?style?.height??48:style?.height,padding:iconOnly?0:\"0.95em 2.1em\",flex:iconOnly?\"0 0 auto\":undefined,fontFamily:font?.fontFamily??\"'Work Sans', ui-sans-serif, system-ui, sans-serif\",fontWeight:font?.fontWeight??600,fontSize:iconOnly?undefined:font?.fontSize??14,letterSpacing:font?.letterSpacing??\"0.14em\",textTransform:\"uppercase\",textDecoration:\"none\",whiteSpace:\"nowrap\",border:\"none\",cursor:\"pointer\",background,color,boxShadow,clipPath:clipPath(iconOnly?8:cuts.tl,iconOnly?0:cuts.tr,iconOnly?8:cuts.br,iconOnly?0:cuts.bl),transition:`background-color ${HOVER_DURATION} ${HOVER_EASE}, color ${HOVER_DURATION} ${HOVER_EASE}, box-shadow ${HOVER_DURATION} ${HOVER_EASE}, clip-path ${HOVER_DURATION} ${HOVER_EASE}`};// Render as a link if a URL is provided, otherwise a semantic button\nif(link){return /*#__PURE__*/_jsx(FramerLink,{href:link,children:/*#__PURE__*/_jsx(motion.a,{target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined,\"aria-label\":iconOnly?label:undefined,onHoverStart:handleHoverStart,onHoverEnd:handleHoverEnd,style:commonStyle,children:content})});}return /*#__PURE__*/_jsx(motion.button,{type:\"button\",\"aria-label\":iconOnly?label:undefined,onHoverStart:handleHoverStart,onHoverEnd:handleHoverEnd,style:commonStyle,children:content});}addPropertyControls(Button,{variant:{type:ControlType.Enum,title:\"Variant\",options:[\"primary\",\"ghost\",\"hamburger\"],optionTitles:[\"Primary\",\"Ghost\",\"Hamburger\"],defaultValue:\"primary\",displaySegmentedControl:true},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Subscribe\",hidden:props=>props.variant===\"hamburger\"},iconOnly:{type:ControlType.Boolean,title:\"Icon Only\",defaultValue:false,hidden:props=>props.variant===\"hamburger\"},icon:{type:ControlType.Enum,title:\"Icon\",options:[\"none\",\"arrowRight\",\"arrowLeft\",\"subscribe\"],optionTitles:[\"None\",\"Arrow Right\",\"Arrow Left\",\"Subscribe\"],defaultValue:\"subscribe\",hidden:props=>props.variant===\"hamburger\"},link:{type:ControlType.Link,title:\"Link\",hidden:props=>props.variant===\"hamburger\"},newTab:{type:ControlType.Boolean,title:\"Open in New Tab\",defaultValue:false,hidden:props=>props.variant===\"hamburger\"||!props.link},isOpen:{type:ControlType.Boolean,title:\"Open State\",defaultValue:false,hidden:props=>props.variant!==\"hamburger\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#FF530D\"},baseColor:{type:ControlType.Color,title:\"Base\",defaultValue:\"#111827\"},surfaceColor:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#FFFFFF\"},font:{type:ControlType.Font,title:\"Typography\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{variant:\"Semibold\",fontSize:14,letterSpacing:\"0.14em\"}}});\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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"}