--- /** * Button — the labelled action button. * variant: 'secondary' (default) | 'primary' * href: renders an ; without it, a (for specimens) or pass as="button". * arrow: shows the 16px arrow after the label. * state: 'hover' | 'focus' | 'pressed' — forces a state for documentation. */ interface Props { variant?: 'primary' | 'secondary'; href?: string; as?: 'a' | 'button' | 'span'; arrow?: boolean; state?: 'hover' | 'focus' | 'pressed'; class?: string; [attr: string]: any; } const { variant = 'secondary', href, as, arrow = false, state, class: extra, ...rest } = Astro.props; const Tag = as ?? (href ? 'a' : 'span'); --- {arrow && }