Button API
API reference for the Button components.
Related
Explore these related pages for additional context and usage patterns.
| Page | Category |
|---|---|
| Button | Actions |
| createSelection | Selection |
| Single | Providers |
| Atom | Primitives |
Button.Root
Props
disabled
boolean | undefinedDisables the button — fully non-interactive, removed from tab order
Default: false
passive
boolean | undefinedNon-clickable, looks disabled via [data-passive], remains focusable/hoverable
Default: false
loading
boolean | undefinedTriggers loading state with grace period before visual indicator
Default: false
groupNamespace
string | undefinedNamespace for connecting to parent Button.Group
Default: "v0:button:group"
Slots
default
ButtonRootSlotPropsButton.Content
Props
namespace
string | undefinedNamespace for context injection from parent Button.Root
Default: "v0:button:root"
Slots
default
ButtonContentSlotPropsButton.Group
Props
mandatory
boolean | "force" | undefinedControls mandatory selection behavior: - false (default): No mandatory enforcement - true: Prevents deselecting the last selected item - `force`: Automatically selects the first non-disabled item on registration
Default: false
modelValue
T | T[] | undefinedEvents
update:model-value
[value: T | T[]]Slots
default
ButtonGroupSlotPropsButton.HiddenInput
Props
namespace
string | undefinedNamespace for context injection from parent Button.Root
Default: "v0:button:root"
Button.Icon
Props
namespace
string | undefinedNamespace for context injection from parent Button.Root
Default: "v0:button:root"
Slots
default
ButtonIconSlotPropsButton.Loading
Props
namespace
string | undefinedNamespace for context injection from parent Button.Root
Default: "v0:button:root"
Slots
default
ButtonLoadingSlotProps