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