Type Alias: ActionButtonProps
ActionButtonProps =
ActionButtonOwnProps&ActionLabellingProps
Defined in: components/ActionButton/ActionButton.tsx:143
Displays a semantic action trigger (entity: Action) in the utility silhouette — the ambient posture, for operations on content rather than commitments in a flow: toolbar controls, table-row actions, the trigger of an overflow menu, a card's inline "edit".
ActionButton and Button are both Action/root and read the same colour
tree; what separates them is the weight of the commitment, exactly as
Meter and ProgressBar are both Feedback/root separated by meaning. That
makes the pair a semantic distinction rather than a size variant, which is
why neither carries a size prop (CONTRACT §4):
- Command (
Button) — "commit to this": submit, confirm, the primary action of a surface. Wears the theme's command radius, semibold type and the generous command inset (40px on the desktop). - Utility (
ActionButton) — "operate on that": ambient, repeatable, often icon-only. Wears the control radius, plain label type and the tight control inset (34px on the desktop), so it recedes beside a command.
Those 34px are the field row: identical to TextField, Select and
every other control, because a utility trigger's job is to stand beside a
field. That is also why its type is not a step smaller — only its weight
is (regular against the command's semibold). Dropping the size as well would
desynchronise it from the fields it aligns with; a caller who genuinely needs
smaller trigger text asks for it at the call site.
Entity = Action → colors: action, radii: control, border:
outline.control, sizing: hit (floor on both axes), spacing:
inset.control (sm block / md inline) plus gap.inline.xs between
glyph and label, typography: label.md, motion: feedback.
Anatomy (data-part): root · icon · label.
Example
// Toolbar: icon-only is the common shape
<ActionButton icon={<Icon intent="action.search" />} aria-label={searchLabel} />
// Row action, quiet until hovered
<ActionButton evaluation="muted" icon={<Icon intent="action.close" />}>
Remove
</ActionButton>