Button Group
Disabled
Code
<!-- Group-level Disabled -->
<mdc-button-group variant="connected" disabled>
<mdc-button variant="filled">Group Disabled 1</mdc-button>
<mdc-button variant="filled">Group Disabled 2</mdc-button>
<mdc-button variant="filled">Group Disabled 3</mdc-button>
</mdc-button-group>
<!-- Item-level Disabled -->
<mdc-button-group variant="connected">
<mdc-button variant="filled">Enabled</mdc-button>
<mdc-button variant="filled" disabled>Disabled Middle</mdc-button>
<mdc-button variant="filled">Enabled</mdc-button>
</mdc-button-group>Expand On Active
Code
<mdc-button-group variant="connected" expand-on-active>
<mdc-button variant="filled">Press & Expand 1</mdc-button>
<mdc-button variant="filled">Press & Expand 2</mdc-button>
<mdc-button variant="filled">Press & Expand 3</mdc-button>
</mdc-button-group>Icon Buttons
Code
<!-- Standard Icon Button Group (M3 Common Layout) -->
<mdc-button-group variant="standard" selection-mode="single">
<mdc-toggle-icon-button variant="filled-tonal" checked>
<mdc-icon>bluetooth</mdc-icon>
</mdc-toggle-icon-button>
<mdc-toggle-icon-button variant="filled-tonal">
<mdc-icon>schedule</mdc-icon>
</mdc-toggle-icon-button>
<mdc-toggle-icon-button variant="filled-tonal">
<mdc-icon>link</mdc-icon>
</mdc-toggle-icon-button>
<mdc-toggle-icon-button variant="filled-tonal">
<mdc-icon>wifi</mdc-icon>
</mdc-toggle-icon-button>
</mdc-button-group>
<!-- Connected Icon Button Group -->
<mdc-button-group variant="connected" selection-mode="single">
<mdc-toggle-icon-button variant="filled" checked>
<mdc-icon>bluetooth</mdc-icon>
</mdc-toggle-icon-button>
<mdc-toggle-icon-button variant="filled">
<mdc-icon>schedule</mdc-icon>
</mdc-toggle-icon-button>
<mdc-toggle-icon-button variant="filled">
<mdc-icon>link</mdc-icon>
</mdc-toggle-icon-button>
<mdc-toggle-icon-button variant="filled">
<mdc-icon>wifi</mdc-icon>
</mdc-toggle-icon-button>
</mdc-button-group>Mixed
Code
<!-- Label Buttons with Icons (M3 Spec Layout 1) -->
<mdc-button-group variant="standard">
<mdc-button variant="filled-tonal">
<mdc-icon slot="icon">directions_car</mdc-icon>
Start
</mdc-button>
<mdc-button variant="filled-tonal">
<mdc-icon slot="icon">directions</mdc-icon>
Directions
</mdc-button>
<mdc-button variant="filled-tonal">
<mdc-icon slot="icon">share</mdc-icon>
Share
</mdc-button>
</mdc-button-group>
<!-- Mixed Label and Icon Buttons (M3 Spec Layout 2) -->
<mdc-button-group variant="standard">
<mdc-icon-button variant="filled">
<mdc-icon>fast_rewind</mdc-icon>
</mdc-icon-button>
<mdc-button variant="filled">
<mdc-icon slot="icon">play_arrow</mdc-icon>
Play
</mdc-button>
<mdc-icon-button variant="filled">
<mdc-icon>fast_forward</mdc-icon>
</mdc-icon-button>
</mdc-button-group>
<!-- Connected Mixed Group -->
<mdc-button-group variant="connected">
<mdc-button variant="filled">
<mdc-icon slot="icon">edit</mdc-icon>
Edit
</mdc-button>
<mdc-icon-button variant="filled">
<mdc-icon>arrow_drop_down</mdc-icon>
</mdc-icon-button>
</mdc-button-group>Selection Mode
Code
<!-- None (Action Group) -->
<mdc-button-group selection-mode="none">
<mdc-button variant="filled">Action 1</mdc-button>
<mdc-button variant="filled">Action 2</mdc-button>
<mdc-button variant="filled">Action 3</mdc-button>
</mdc-button-group>
<!-- Single (Radio Mutex) -->
<mdc-button-group selection-mode="single">
<mdc-toggle-button variant="filled-tonal" checked>Single 1</mdc-toggle-button>
<mdc-toggle-button variant="filled-tonal">Single 2</mdc-toggle-button>
<mdc-toggle-button variant="filled-tonal">Single 3</mdc-toggle-button>
</mdc-button-group>
<!-- Multiple (Checkbox Semantics) -->
<mdc-button-group selection-mode="multiple">
<mdc-toggle-button variant="outlined" checked>Multi A</mdc-toggle-button>
<mdc-toggle-button variant="outlined" checked>Multi B</mdc-toggle-button>
<mdc-toggle-button variant="outlined">Multi C</mdc-toggle-button>
</mdc-button-group>Shape
Code
<mdc-button-group variant="connected" shape="round">
<mdc-button variant="filled" shape="round">Round Start</mdc-button>
<mdc-button variant="filled" shape="round">Round Middle</mdc-button>
<mdc-button variant="filled" shape="round">Round End</mdc-button>
</mdc-button-group>
<mdc-button-group variant="connected" shape="square">
<mdc-button variant="filled" shape="square">Square Start</mdc-button>
<mdc-button variant="filled" shape="square">Square Middle</mdc-button>
<mdc-button variant="filled" shape="square">Square End</mdc-button>
</mdc-button-group>Size
Code
<mdc-button-group variant="connected" size="extra-small">
<mdc-button variant="filled" size="extra-small">Extra Small</mdc-button>
<mdc-button variant="filled" size="extra-small">Extra Small</mdc-button>
</mdc-button-group>
<mdc-button-group variant="connected" size="small">
<mdc-button variant="filled" size="small">Small</mdc-button>
<mdc-button variant="filled" size="small">Small</mdc-button>
</mdc-button-group>
<mdc-button-group variant="connected" size="medium">
<mdc-button variant="filled" size="medium">Medium</mdc-button>
<mdc-button variant="filled" size="medium">Medium</mdc-button>
</mdc-button-group>
<mdc-button-group variant="connected" size="large">
<mdc-button variant="filled" size="large">Large</mdc-button>
<mdc-button variant="filled" size="large">Large</mdc-button>
</mdc-button-group>
<mdc-button-group variant="connected" size="extra-large">
<mdc-button variant="filled" size="extra-large">Extra Large</mdc-button>
<mdc-button variant="filled" size="extra-large">Extra Large</mdc-button>
</mdc-button-group>Variant
Code
<!-- Connected Button Group (Default) -->
<mdc-button-group variant="connected">
<mdc-button variant="filled">Leading</mdc-button>
<mdc-button variant="filled">Middle</mdc-button>
<mdc-button variant="filled">Trailing</mdc-button>
</mdc-button-group>
<!-- Standard Button Group -->
<mdc-button-group variant="standard">
<mdc-button variant="filled">Leading</mdc-button>
<mdc-button variant="filled">Middle</mdc-button>
<mdc-button variant="filled">Trailing</mdc-button>
</mdc-button-group>Vertical
Code
<!-- Connected Vertical -->
<mdc-button-group variant="connected" orientation="vertical">
<mdc-button variant="filled">Top</mdc-button>
<mdc-button variant="filled">Middle</mdc-button>
<mdc-button variant="filled">Bottom</mdc-button>
</mdc-button-group>
<!-- Standard Vertical -->
<mdc-button-group variant="standard" orientation="vertical">
<mdc-button variant="filled-tonal">Top</mdc-button>
<mdc-button variant="filled-tonal">Middle</mdc-button>
<mdc-button variant="filled-tonal">Bottom</mdc-button>
</mdc-button-group>