# Switch
A switch is an interactive element used to toggle features or settings "on" or "off" or to activate or deactivate something. A switch can be a stand-alone control or can be grouped with other controls such as form field or other switches, but they are independent from the other controls.
Note
A switch is not an alternative to a checkbox or radio button.
<ks-switch label="Show Pricing"></ks-switch>
# Checked
<ks-switch label="Show Pricing" checked></ks-switch>
# Disable
<ks-switch label="Disabled Switch" disable></ks-switch><br>
<ks-switch label="Disabled Checked Switch" disable checked></ks-switch>
# Utilities
If you need to customize the layout or placement of the label, this component works well with the flex layout utilities.
<ks-switch label="Show Pricing" class="flex-row-reverse space-between w-100"></ks-switch>
# Getting Values
<ks-switch label="Show Pricing" id="pricing"></ks-switch>
<script>
const $switch = document.getElementById('pricing');
$switch.addEventListener('updated', function (event) {
const value = event.detail.value;
// do something awesome
});
// using DOM utils
$('pricing').on('updated', function (event) {
const value = event.detail.value;
// do something awesome
});
</script>
The data coming back from the event on the event.detail is an object with a name (for identification purposes) and the value (true or false).
{
name: string,
value: boolean
}
The name will use the name property value. If one is not provided, it will derive a name from the label.
# Accessibility
This component is made up of a label and a button with the ARIA switch role. The ARIA switch role is functionally identical to the checkbox role, except that instead of representing "checked" and "unchecked" states, the switch role represents the states "on" and "off".
The label uses the for attribute to associate it with the button, but the button also uses aria-labelledby attribute so assistive technologies use the label when describing the switch.
# Properties
| Property | Attribute | Description | Type | Default |
|---|---|---|---|---|
checked | checked | A way to pass in a value to the component | boolean | false |
disable | disable | Disables the component | boolean | false |
label | label | The label used to describe the component | string | undefined |
name | name | A custom name used to identify the component data | string | undefined |
# Events
| Event | Description | Type |
|---|---|---|
updated | an event that fires every time the switch gets clicked | CustomEvent<{name: string, value: boolean}> |
← Side Drawer Tabs →