Switch
<sl-switch> | SlSwitch
            Switches allow the user to toggle an option on or off.
<sl-switch>Switch</sl-switch>
              This component works with standard <form> elements. Please refer to the section on
              form controls to learn more about form submission and
              client-side validation.
            
Examples
Checked
Use the checked attribute to activate the switch.
<sl-switch checked>Checked</sl-switch>
Disabled
Use the disabled attribute to disable the switch.
<sl-switch disabled>Disabled</sl-switch>
Sizes
Use the size attribute to change a switch’s size.
<sl-switch size="small">Small</sl-switch> <br /> <sl-switch size="medium">Medium</sl-switch> <br /> <sl-switch size="large">Large</sl-switch>
Help Text
            Add descriptive help text to a switch with the help-text attribute. For help texts that contain
            HTML, use the help-text slot instead.
          
<sl-switch help-text="What should the user know about the switch?">Label</sl-switch>
Custom Styles
Use the available custom properties to change how the switch is styled.
<sl-switch style="--width: 80px; --height: 40px; --thumb-size: 36px;">Really big</sl-switch>
Slots
| Name | Description | 
|---|---|
| (default) | The switch’s label. | 
| help-text | Text that describes how to use the switch. Alternatively, you can use the help-textattribute. | 
Learn more about using slots.
Properties
| Name | Description | Reflects | Type | Default | 
|---|---|---|---|---|
| name | The name of the switch, submitted as a name/value pair with form data. | string | '' | |
| value | The current value of the switch, submitted as a name/value pair with form data. | string | - | |
| size | The switch’s size. |  | 'small' | 'medium' | 'large' | 'medium' | 
| disabled | Disables the switch. |  | boolean | false | 
| checked | Draws the switch in a checked state. |  | boolean | false | 
| defaultChecked | The default value of the form control. Primarily used for resetting the form control. | boolean | false | |
| form | By default, form controls are associated with the nearest containing <form>element. This attribute allows you to place the form control outside of a
                    form and associate it with the form that has thisid. The form must be in the same
                    document or shadow root for this to work. |  | string | '' | 
| required | Makes the switch a required field. |  | boolean | false | 
| helpText help-text  | The switch’s help text. If you need to display HTML, use the help-textslot instead. | string | '' | |
| validity | Gets the validity state object | - | - | |
| validationMessage | Gets the validation message | - | - | |
| 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 control loses focus. | - | 
| sl-change |  | Emitted when the control’s checked state changes. | - | 
| sl-input |  | Emitted when the control receives input. | - | 
| sl-focus |  | Emitted when the control gains focus. | - | 
| sl-invalid |  | Emitted when the form control has been checked for validity and its constraints aren’t satisfied. | - | 
Learn more about events.
Methods
| Name | Description | Arguments | 
|---|---|---|
| click() | Simulates a click on the switch. | - | 
| focus() | Sets focus on the switch. |  options: FocusOptions  | 
| blur() | Removes focus from the switch. | - | 
| checkValidity() | Checks for validity but does not show a validation message. Returns truewhen valid andfalsewhen invalid. | - | 
| getForm() | Gets the associated form, if one exists. | - | 
| reportValidity() | Checks for validity and shows the browser’s validation message if the control is invalid. | - | 
| setCustomValidity() | Sets a custom validation message. Pass an empty string to restore validity. |  message: string  | 
Learn more about methods.
Custom Properties
| Name | Description | Default | 
|---|---|---|
| --width | The width of the switch. | |
| --height | The height of the switch. | |
| --thumb-size | The size of the thumb. | 
Learn more about customizing CSS custom properties.
Parts
| Name | Description | 
|---|---|
| base | The component’s base wrapper. | 
| control | The control that houses the switch’s thumb. | 
| thumb | The switch’s thumb. | 
| label | The switch’s label. | 
| form-control-help-text | The help text’s wrapper. | 
Learn more about customizing CSS parts.