Spec
| Min height (touch) | 44px (--sp-touch) |
|---|---|
| Padding sm | 8px 16px (0.5rem 1rem) |
| Padding md | 12px 24px (0.75rem 1.5rem) |
| Padding lg | 16px 32px (1rem 2rem) |
| Focus | 3px focus border; secondary uses light border for contrast |
| Accessibility | Use native button, visible focus, disabled via disabled attribute, icon-only with aria-label |
Primary
Size sm · md · lg — default · hover · focus · disabled
Secondary
Size sm · md · lg — default · hover · focus · disabled
Outline
Size sm · md · lg — default · hover · focus · disabled
Ghost
Size sm · md · lg — default · hover · focus · disabled
Buttons with icons
Use .anvil-btn__icon. Icon/text spacing is gap: var(--sp-2) (8px). Icon-only uses .anvil-btn--icon + aria-label.
Leading icon · sm / md / lg
Trailing icon
Icon only · always 44px touch target