Skip to main content
Status: FoundationCategory: action

Button

Button provides a native button element for common actions while preserving familiar browser behavior and caller-supplied button attributes.

Preview

Capabilities

  • Offers primary, secondary, ghost, and danger variants.
  • Offers small, medium, and large sizes.
  • Supports disabled and loading states.
  • Sets aria-busy while loading and accepts native button properties.

Limitations

  • Does not manage asynchronous work itself.
  • The calling feature controls loading state at the smallest necessary client boundary.

Accessibility

Renders a native button. Loading exposes aria-busy and prevents additional activation until the caller clears that state.

Server compatible
Yes
Source path
components/ui/button.tsx