Radio
Radio buttons present mutually exclusive choices with Material 3 state styling and accessible native form semantics. Use presentation when the radio is only a visual indicator inside another accessible control, such as a clickable ListItem.
Anatomy
| Element | Part | Selector |
|---|---|---|
<component> | root | [data-scope="radio"][data-part="root"]LMBCopy |
<input> | inputconditional | [data-scope="radio"][data-part="input"]LMBCopy |
<span> | control | [data-scope="radio"][data-part="control"]LMBCopy |
<span> | outer | [data-scope="radio"][data-part="outer"]LMBCopy |
<span> | inner | [data-scope="radio"][data-part="inner"]LMBCopy |
<span> | labelconditional | [data-scope="radio"][data-part="label"]LMBCopy |
Props
| Name | Description | Default | Control |
|---|---|---|---|
disabledOptional | Whether the radio is disabled. boolean | undefined | false | |
presentationOptional | Render only the visual radio. The parent must provide interaction semantics. boolean | undefined | false | |
nameOptional | Name attribute for the native radio input. string | undefined | - | - |
valueOptional | Value attribute for the native radio input. string | undefined | - | - |
ariaLabelOptional | ARIA label forwarded to the native radio input. string | undefined | - | - |
checkedRequired | - boolean | - |
Events1
| Name | Type | Description |
|---|---|---|
update:checked | [value: boolean] | - |
Slots1
| Name | Parameters | Description |
|---|---|---|
default | - | Optional label content rendered next to radio. |
Styling18
| Token | Description |
|---|---|
--md-radio-disabled-dot-opacityDisabledFallback 0.38 | Controls disabled dot opacity. |
--md-radio-disabled-outline-opacityDisabledFallback 0.38 | Controls disabled outline opacity. |
--md-radio-disabled-selected-dot-colorDisabledFallback var(--md-sys-color-on-surface) | Controls disabled selected dot color. |
--md-radio-disabled-selected-outline-colorDisabledFallback var(--md-sys-color-on-surface) | Controls disabled selected outline color. |
--md-radio-disabled-unselected-outline-colorDisabledFallback var(--md-sys-color-on-surface) | Controls disabled unselected outline color. |
--md-radio-focus-indicator-colorFocusFallback var(--md-sys-color-secondary) | Controls focus indicator color. |
--md-radio-focus-indicator-offsetFocusFallback var(--md-sys-state-focus-indicator-outer-offset) | Controls focus indicator offset. |
--md-radio-focus-indicator-thicknessFocusFallback var(--md-sys-state-focus-indicator-thickness) | Controls focus indicator thickness. |
--md-radio-icon-shapeShapeFallback var(--md-sys-shape-corner-full) | Controls icon shape. |
--md-radio-icon-sizeLayoutFallback --dp(20) | Controls icon size. |
--md-radio-selected-dot-colorStateFallback var(--md-sys-color-primary) | Controls selected dot color. |
--md-radio-selected-dot-sizeStateFallback --dp(10) | Controls selected dot size. |
--md-radio-selected-outline-colorStateFallback var(--md-sys-color-primary) | Controls selected outline color. |
--md-radio-selected-outline-widthStateFallback --dp(2) | Controls selected outline width. |
--md-radio-state-layer-sizeStateFallback --dp(40) | Controls state layer size. |
--md-radio-target-sizeLayoutFallback --dp(40) | Controls target size. |
--md-radio-unselected-outline-colorStateFallback var(--md-sys-color-on-surface-variant) | Controls unselected outline color. |
--md-radio-unselected-outline-widthStateFallback --dp(2) | Controls unselected outline width. |