Radio Button
<sl-radio-button> | SlRadioButton
            Radios buttons allow the user to select a single option from a group using a button-like control.
Radio buttons are designed to be used with radio groups. When a radio button has focus, the arrow keys can be used to change the selected option just like standard radio controls.
<sl-radio-group label="Select an option" name="a" value="1"> <sl-radio-button value="1">Option 1</sl-radio-button> <sl-radio-button value="2">Option 2</sl-radio-button> <sl-radio-button value="3">Option 3</sl-radio-button> </sl-radio-group>
Examples
Checked States
            To set the initial value and checked state, use the value attribute on the containing radio
            group.
          
<sl-radio-group label="Select an option" name="a" value="1"> <sl-radio-button value="1">Option 1</sl-radio-button> <sl-radio-button value="2">Option 2</sl-radio-button> <sl-radio-button value="3">Option 3</sl-radio-button> </sl-radio-group>
Disabled
Use the disabled attribute to disable a radio button.
<sl-radio-group label="Select an option" name="a" value="1"> <sl-radio-button value="1">Option 1</sl-radio-button> <sl-radio-button value="2" disabled>Option 2</sl-radio-button> <sl-radio-button value="3">Option 3</sl-radio-button> </sl-radio-group>
Sizes
Use the size attribute to change a radio button’s size.
<sl-radio-group size="small" label="Select an option" name="a" value="1"> <sl-radio-button value="1">Option 1</sl-radio-button> <sl-radio-button value="2">Option 2</sl-radio-button> <sl-radio-button value="3">Option 3</sl-radio-button> </sl-radio-group> <br /> <sl-radio-group size="medium" label="Select an option" name="a" value="1"> <sl-radio-button value="1">Option 1</sl-radio-button> <sl-radio-button value="2">Option 2</sl-radio-button> <sl-radio-button value="3">Option 3</sl-radio-button> </sl-radio-group> <br /> <sl-radio-group size="large" label="Select an option" name="a" value="1"> <sl-radio-button value="1">Option 1</sl-radio-button> <sl-radio-button value="2">Option 2</sl-radio-button> <sl-radio-button value="3">Option 3</sl-radio-button> </sl-radio-group>
Pill Buttons
Use the pill attribute to give radio buttons rounded edges.
<sl-radio-group size="small" label="Select an option" name="a" value="1"> <sl-radio-button pill value="1">Option 1</sl-radio-button> <sl-radio-button pill value="2">Option 2</sl-radio-button> <sl-radio-button pill value="3">Option 3</sl-radio-button> </sl-radio-group> <br /> <sl-radio-group size="medium" label="Select an option" name="a" value="1"> <sl-radio-button pill value="1">Option 1</sl-radio-button> <sl-radio-button pill value="2">Option 2</sl-radio-button> <sl-radio-button pill value="3">Option 3</sl-radio-button> </sl-radio-group> <br /> <sl-radio-group size="large" label="Select an option" name="a" value="1"> <sl-radio-button pill value="1">Option 1</sl-radio-button> <sl-radio-button pill value="2">Option 2</sl-radio-button> <sl-radio-button pill value="3">Option 3</sl-radio-button> </sl-radio-group>
Prefix and Suffix Icons
Use the prefix and suffix slots to add icons.
<sl-radio-group label="Select an option" name="a" value="1"> <sl-radio-button value="1"> <sl-icon slot="prefix" name="box-archive"></sl-icon> Option 1 </sl-radio-button> <sl-radio-button value="2"> <sl-icon slot="suffix" name="bags-shopping"></sl-icon> Option 2 </sl-radio-button> <sl-radio-button value="3"> <sl-icon slot="prefix" name="gift"></sl-icon> <sl-icon slot="suffix" name="cart-shopping"></sl-icon> Option 3 </sl-radio-button> </sl-radio-group>
Buttons with Icons
            You can omit button labels and use icons instead. Make sure to set a label attribute on each
            icon so screen readers will announce each option correctly.
          
<sl-radio-group label="Select an option" name="a" value="neutral"> <sl-radio-button value="angry"> <sl-icon name="face-angry" label="Angry"></sl-icon> </sl-radio-button> <sl-radio-button value="sad"> <sl-icon name="face-frown" label="Sad"></sl-icon> </sl-radio-button> <sl-radio-button value="neutral"> <sl-icon name="face-meh" label="Neutral"></sl-icon> </sl-radio-button> <sl-radio-button value="happy"> <sl-icon name="face-smile" label="Happy"></sl-icon> </sl-radio-button> <sl-radio-button value="laughing"> <sl-icon name="face-laugh" label="Laughing"></sl-icon> </sl-radio-button> </sl-radio-group>
Slots
| Name | Description | 
|---|---|
| (default) | The radio button’s label. | 
| prefix | A presentational prefix icon or similar element. | 
| suffix | A presentational suffix icon or similar element. | 
Learn more about using slots.
Properties
| Name | Description | Reflects | Type | Default | 
|---|---|---|---|---|
| value | The radio’s value. When selected, the radio group will receive this value. | string | - | |
| disabled | Disables the radio button. |  | boolean | false | 
| size | The radio button’s size. When used inside a radio group, the size will be determined by the radio group’s size so this attribute can typically be omitted. |  | 'small' | 'medium' | 'large' | 'medium' | 
| pill | Draws a pill-style radio button with rounded edges. |  | boolean | false | 
| updateComplete | A read-only promise that resolves when the component has finished updating. | 
Learn more about attributes and properties.
Events
| Name | React Event | Description | Event Detail | 
|---|---|---|---|
| sl-blur |  | Emitted when the button loses focus. | - | 
| sl-focus |  | Emitted when the button gains focus. | - | 
Learn more about events.
Methods
| Name | Description | Arguments | 
|---|---|---|
| focus() | Sets focus on the radio button. |  options: FocusOptions  | 
| blur() | Removes focus from the radio button. | - | 
Learn more about methods.
Parts
| Name | Description | 
|---|---|
| base | The component’s base wrapper. | 
| button | The internal <button>element. | 
| button--checked | The internal button element when the radio button is checked. | 
| prefix | The container that wraps the prefix. | 
| label | The container that wraps the radio button’s label. | 
| suffix | The container that wraps the suffix. | 
Learn more about customizing CSS parts.