← Components/primitives

Button

Carbon-spec Button re-implementation. Seven kinds × five sizes, plus `asChild` for Radix Slot composition (matches the legacy @avala/ui Button API surface).

primitivesstablea11y: untested3/3 coverageEdit on GitHub ↗
primitives-button--defaultOpen all variants →

When to use

  • Any user-triggered action — submit, save, cancel, open dialog, navigate via asChild.
  • The exemplar primitive: every other interactive primitive defers to Button's kind/size matrix, so reach for it first.

When not to use

  • Icon-only triggers without visible text → use `IconButton` (it requires aria-label).
  • Anchor-styled inline links inside prose → use `Link`.
  • A toggle on/off control → use `Toggle` or `Switch`.