Interface: ButtonProps
Defined in: components/Button/Button.tsx:32
Displays a semantic action trigger (entity: Action).
Entity = Action → colors: action, radii: control, border: outline.control,
sizing: hit.base, spacing: inset.control.md, typography: label.md, motion: feedback.
Extends
Omit<RACButtonProps,"style">
Properties
composition?
optionalcomposition?:"primaryAction"|"secondaryAction"|"dismissAction"
Defined in: components/Button/Button.tsx:59
Slot this button occupies inside a parent composite (FSL §4).
Emitted as data-composition on the DOM and consumed at runtime by
composites that need to reorder or style actions by role — notably
DialogActions, which reorders children per platform convention
(iOS vs Windows).
Orthogonal to evaluation (authorial voice) and consequence
(effect on state): composition is purely positional semantics.
consequence?
optionalconsequence?:"neutral"|"committing"|"destructive"
Defined in: components/Button/Button.tsx:48
Effect on state this button's action produces. Emitted as
data-consequence on the DOM so host integrations (confirm wrappers,
telemetry, undo/redo hooks) and tests can observe the contract.
NOT used for coloring — visual distinction (if any) is a theme /
host-CSS concern, matching the same contract as MenuItem.
Default
'neutral'
data-scope?
optionaldata-scope?:string
Defined in: components/Button/Button.tsx:64
Data scope identifier for the button.
Default
'button'
evaluation?
optionalevaluation?:"primary"|"secondary"|"accent"|"muted"|"negative"
Defined in: components/Button/Button.tsx:37
Semantic emphasis.
Default
'primary'