Overview
Reference usage
Clusters related action buttons into a unified visual group with shared borders.
Usage
Input with an attached Button
An Input can be the first member of a group, with a Button as the trailing part of the field. The pair shares one border, one height and the outer corners: the Input and the Button take their height from the same step of the shared control height scale, so give both the same size and they match at sm, md and lg.
Keep the label, description and error outside the group, so nothing but the control sits beside the Button: label the field with an enclosing FormField (as above) or a visually hidden label (labelVisible={false}), and put any description or error on the FormField. Use this for a field the user submits with the button (Test a key, Add a tag). A field that updates as the user types needs no button. A group that holds a field is horizontal only.
When to use
- Clustering related actions such as align-left/center/right that read as a single toolset.
- Visually joining multiple buttons into a single segmented bar without implying selection.
- Pairing an Input with a trailing Button that shares its border, height and corners.
- Selecting exactly one option from a fixed set — use segmented-control instead.
- Rendering a single button — use button on its own.
Examples
Basic button group
Horizontal layout container with border-collapsed buttons. Use consistent variants across children.
Right-to-left (RTL)
Logical properties automatically flip collapsed borders and outer corner rounding when the writing direction is RTL.
Vertical button group
Vertically stacked buttons with collapsed borders.
Props
Name | Type | Default | Description |
|---|---|---|---|
label required | text | Inline accessible name for the group, applied as aria-label. Provide exactly one of label or ariaLabelledby. | |
ariaLabelledby | text | The id of a visible heading element that already names the group, applied as aria-labelledby. Provide exactly one of label or ariaLabelledby. | |
orientation | 'horizontal' | 'vertical' | 'horizontal' | Orientation of the visual collapse. Default: 'horizontal'. |
children required | snippet | Buttons (or split-button compositions) to render inside the group. |