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