sp-switch
NPM
1.0.3
Storybook
View Storybook
Try it on
webcomponents.dev
Attributes and Properties #
checked
checked
boolean
false
disabled
disabled
boolean
false
emphasized
emphasized
boolean
false
name
name
string | undefined
readonly
readonly
boolean
false
tabIndex
tabIndex
number
Slots #
default slot
Events #
change
Event
Announces a change in the `checked` property of a Switch
1.0.3 (2024-12-09) #
Note: Version bump only for package @spectrum-web-components/switch
1.0.1 (2024-11-11) #
Note: Version bump only for package @spectrum-web-components/switch
1.0.0 (2024-10-31) #
Note: Version bump only for package @spectrum-web-components/switch
0.49.0 (2024-10-15) #
Note: Version bump only for package @spectrum-web-components/switch
0.48.1 (2024-10-01) #
Note: Version bump only for package @spectrum-web-components/switch
0.48.0 (2024-09-17) #
Note: Version bump only for package @spectrum-web-components/switch
0.47.2 (2024-09-03) #
Note: Version bump only for package @spectrum-web-components/switch
0.47.1 (2024-08-27) #
Note: Version bump only for package @spectrum-web-components/switch
0.47.0 (2024-08-20) #
Note: Version bump only for package @spectrum-web-components/switch
0.46.0 (2024-08-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.45.0 (2024-07-30) #
Note: Version bump only for package @spectrum-web-components/switch
0.44.0 (2024-07-15) #
Note: Version bump only for package @spectrum-web-components/switch
0.43.0 (2024-06-11) #
Note: Version bump only for package @spectrum-web-components/switch
0.42.5 (2024-05-24) #
Note: Version bump only for package @spectrum-web-components/switch
0.42.4 (2024-05-14) #
Note: Version bump only for package @spectrum-web-components/switch
0.42.3 (2024-05-01) #
Note: Version bump only for package @spectrum-web-components/switch
0.42.2 (2024-04-03) #
Note: Version bump only for package @spectrum-web-components/switch
0.42.1 (2024-04-02) #
Note: Version bump only for package @spectrum-web-components/switch
0.42.0 (2024-03-19) #
Features #
- asset: use core tokens (
99e76f4 )
0.41.2 (2024-03-05) #
Note: Version bump only for package @spectrum-web-components/switch
0.41.1 (2024-02-22) #
Note: Version bump only for package @spectrum-web-components/switch
0.41.0 (2024-02-13) #
Note: Version bump only for package @spectrum-web-components/switch
0.40.5 (2024-02-05) #
Note: Version bump only for package @spectrum-web-components/switch
0.40.4 (2024-01-29) #
Note: Version bump only for package @spectrum-web-components/switch
0.40.3 (2024-01-11) #
Note: Version bump only for package @spectrum-web-components/switch
0.40.2 (2023-12-18) #
Note: Version bump only for package @spectrum-web-components/switch
0.40.1 (2023-12-05) #
Performance Improvements #
- checkbox: refactor architecture for more rendering perf and DOM element count (
7c2277f )
0.40.0 (2023-11-16) #
Features #
- textfield: added name attribute to textfield (
#3752 ) (593005a )
0.39.4 (2023-11-02) #
Note: Version bump only for package @spectrum-web-components/switch
0.39.3 (2023-10-18) #
Note: Version bump only for package @spectrum-web-components/switch
0.39.2 (2023-10-13) #
Note: Version bump only for package @spectrum-web-components/switch
0.39.1 (2023-10-06) #
Note: Version bump only for package @spectrum-web-components/switch
0.39.0 (2023-09-25) #
Note: Version bump only for package @spectrum-web-components/switch
0.38.0 (2023-09-05) #
Note: Version bump only for package @spectrum-web-components/switch
0.37.0 (2023-08-18) #
Note: Version bump only for package @spectrum-web-components/switch
0.36.0 (2023-08-18) #
Note: Version bump only for package @spectrum-web-components/switch
0.35.0 (2023-07-31) #
Note: Version bump only for package @spectrum-web-components/switch
0.34.0 (2023-07-11) #
Note: Version bump only for package @spectrum-web-components/switch
0.33.2 (2023-06-14) #
Note: Version bump only for package @spectrum-web-components/switch
0.33.0 (2023-06-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.32.0 (2023-06-01) #
Note: Version bump only for package @spectrum-web-components/switch
0.31.0 (2023-05-17) #
Note: Version bump only for package @spectrum-web-components/switch
0.30.0 (2023-05-03) #
Bug Fixes #
- add support for "readonly" attribute (
4bce3b7 ) - correct
@element jsDoc listing across library (c97a632 ) - ensure [disabled] styling (
4c067eb ) - ensure aria attributes based on state (
6ee43de ) - focusable style (
48ea3e7 ) - implement "emphasized" styles (
750bbe7 ) - include "type" in package.json, generate custom-elements.json (
1a8d716 ) - include default export in the "exports" fields (
f32407d ) - include the "types" entry in package.json files (
b432f59 ) - move hover/focus hoisting into conditioning (
15ac2f7 ) - stop merging selectors in a way that alters the cascade (
369388f ) - switch: process CSS correction (
292fff1 ) - switch: track aria-checked (
1980046 ) - update configuration for Spectrum CSS processing for specificity (
5c2e21e ) - update latest Spectrum CSS beta releases (
d8d3acc ) - update side effect listings (
8160d3a ) - update to latest spectrum-css packages (
a5ca19f ) - workaround bug in Edge with switches (
7014a2c )
Features #
- action-button: add action button pattern (
03ac00a ) - action-group: add action-group pattern (
d2de766 ) - adopt DNA@7 base Spectrum CSS (
e08cafd ) - include all Dev Mode files in side effects (
f70817c ) - leverage "exports" field in package.json (
321abd7 ) - shared pkg versions, devmode define warning, registry-conflicts docs (
6e49565 ) - switch: update spectrum css input (
1d2ce17 ) - switch: use core tokens (
8011ead ) - update to Spectrum CSS v3.0.0 (
e8b3d8f ) - use :focus-visable (via polyfill) instead of :focus (
11c6fc7 ) - use @adobe/spectrum-css@2.15.1 (
3918888 ) - use latest exports specification (
a7ecf4b )
Performance Improvements #
- use "sideEffects" listing in package.json (
7271614 ) - use imported TypeScript helpers instead of inlining them (
cc2bd0a )
Reverts #
- Revert "chore: release new versions" (
a6d655d )
0.11.13 (2023-04-24) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.12 (2023-04-05) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.11 (2023-03-22) #
Bug Fixes #
- move hover/focus hoisting into conditioning (
15ac2f7 )
0.11.10 (2023-03-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.9 (2023-02-23) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.8 (2023-02-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.7 (2023-01-23) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.6 (2023-01-09) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.5 (2022-12-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.4 (2022-11-21) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.3 (2022-11-14) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.2 (2022-10-28) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.1 (2022-10-17) #
Note: Version bump only for package @spectrum-web-components/switch
0.11.0 (2022-10-10) #
Features #
- switch: use core tokens (
8011ead )
0.10.0 (2022-08-09) #
Features #
- include all Dev Mode files in side effects (
f70817c )
0.9.14 (2022-08-04) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.13 (2022-07-18) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.12 (2022-06-29) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.11 (2022-06-07) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.10 (2022-05-27) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.9 (2022-05-12) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.8 (2022-04-21) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.7 (2022-03-30) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.6 (2022-03-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.5 (2022-03-04) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.4 (2022-02-22) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.3 (2022-01-26) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.2 (2022-01-07) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.1 (2021-12-13) #
Note: Version bump only for package @spectrum-web-components/switch
0.9.0 (2021-11-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.8.1 (2021-11-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.8.0 (2021-11-02) #
Features #
- adopt DNA@7 base Spectrum CSS (
e08cafd )
0.7.16 (2021-10-12) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.15 (2021-09-20) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.14 (2021-09-13) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.13 (2021-08-24) #
Bug Fixes #
- correct
@element jsDoc listing across library (c97a632 )
0.7.12 (2021-08-03) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.11 (2021-07-22) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.10 (2021-07-01) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.9 (2021-06-16) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.8 (2021-06-07) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.7 (2021-05-24) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.6 (2021-05-12) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.5 (2021-04-09) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.4 (2021-03-29) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.3 (2021-03-22) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.2 (2021-03-22) #
Bug Fixes #
- add support for "readonly" attribute (
4bce3b7 )
0.7.1 (2021-03-05) #
Note: Version bump only for package @spectrum-web-components/switch
0.7.0 (2021-03-04) #
Features #
- use latest exports specification (
a7ecf4b )
0.6.3 (2021-02-11) #
Bug Fixes #
- update to latest spectrum-css packages (
a5ca19f )
0.6.2 (2021-02-02) #
Note: Version bump only for package @spectrum-web-components/switch
0.6.1 (2021-01-28) #
Note: Version bump only for package @spectrum-web-components/switch
0.6.0 (2021-01-21) #
Bug Fixes #
- ensure [disabled] styling (
4c067eb ) - implement "emphasized" styles (
750bbe7 ) - include the "types" entry in package.json files (
b432f59 ) - stop merging selectors in a way that alters the cascade (
369388f ) - update configuration for Spectrum CSS processing for specificity (
5c2e21e ) - update latest Spectrum CSS beta releases (
d8d3acc )
Features #
- action-button: add action button pattern (
03ac00a ) - switch: update spectrum css input (
1d2ce17 )
0.5.0 (2021-01-13) #
Bug Fixes #
- implement "emphasized" styles (
750bbe7 ) - include the "types" entry in package.json files (
b432f59 ) - stop merging selectors in a way that alters the cascade (
369388f ) - update latest Spectrum CSS beta releases (
d8d3acc )
Features #
- action-button: add action button pattern (
03ac00a ) - switch: update spectrum css input (
1d2ce17 )
0.4.4 (2020-10-12) #
Note: Version bump only for package @spectrum-web-components/switch
0.4.3 (2020-10-12) #
Bug Fixes #
- include default export in the "exports" fields (
f32407d )
0.4.2 (2020-09-25) #
Bug Fixes #
- update side effect listings (
8160d3a )
0.4.1 (2020-09-14) #
Note: Version bump only for package @spectrum-web-components/switch
0.4.0 (2020-08-31) #
Features #
- update to Spectrum CSS v3.0.0 (
e8b3d8f ) - action-group: add action-group pattern (
d2de766 )
0.3.4 (2020-08-19) #
Note: Version bump only for package @spectrum-web-components/switch
0.3.3 (2020-07-27) #
Note: Version bump only for package @spectrum-web-components/switch
0.3.2 (2020-07-24) #
Note: Version bump only for package @spectrum-web-components/switch
0.3.1 (2020-07-22) #
Note: Version bump only for package @spectrum-web-components/switch
0.3.0 (2020-07-17) #
Bug Fixes #
- switch: track aria-checked (
1980046 )
Features #
- leverage "exports" field in package.json (
321abd7 )
0.2.16 (2020-06-08) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.15 (2020-05-08) #
Bug Fixes #
- switch: process CSS correction (
292fff1 ) - ensure aria attributes based on state (
6ee43de )
0.2.14 (2020-04-21) #
Bug Fixes #
- workaround bug in Edge with switches (
7014a2c )
0.2.13 (2020-04-16) #
Performance Improvements #
- use "sideEffects" listing in package.json (
7271614 )
0.2.12 (2020-04-10) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.11 (2020-04-07) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.10 (2020-03-11) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.9 (2020-02-05) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.8 (2020-02-01) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.7 (2020-01-30) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.6 (2020-01-06) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.5 (2019-12-12) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.4 (2019-12-09) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.3 (2019-12-03) #
Bug Fixes #
- focusable style (
48ea3e7 )
0.2.2 (2019-12-02) #
Note: Version bump only for package @spectrum-web-components/switch
0.2.1 (2019-11-27) #
Bug Fixes #
- include "type" in package.json, generate custom-elements.json (
1a8d716 )
0.2.0 (2019-11-19) #
Features #
- use :focus-visable (via polyfill) instead of :focus (
11c6fc7 ) - use @adobe/spectrum-css@2.15.1 (
3918888 )
0.1.5 (2019-11-01) #
Note: Version bump only for package @spectrum-web-components/switch
0.1.4 (2019-10-14) #
Performance Improvements #
- use imported TypeScript helpers instead of inlining them (
cc2bd0a )
0.1.3 (2019-10-03) #
Note: Version bump only for package @spectrum-web-components/switch
Description #
An <sp-switch>
is used to turn an option on or off. Switches allow users to select the state of a single option at a time. Use a switch rather than a checkbox when activating (or deactivating) an option, instead of selecting.
Usage #
yarn add @spectrum-web-components/switch
Import the side effectful registration of <sp-switch>
via:
import '@spectrum-web-components/switch/sp-switch.js';
When looking to leverage the Switch
base class as a type and/or for extension purposes, do so via:
import { Switch } from '@spectrum-web-components/switch';
Example #
<sp-switch label="Switch" onclick="spAlert(this, '<sp-switch> clicked!')"> Switch </sp-switch>
Standard switch buttons #
Standard switches are the default style for switches. They are optimal for application panels where all visual elements are monochrome in order to direct focus to the content.
<div style="display: flex; justify-content: space-between;"> <div style="display: flex; flex-direction: column;"> <h4 class="spectrum-Heading--subtitle1">Default</h4> <sp-field-group selected="first" name="example" vertical> <sp-switch value="off">Switch Off</sp-switch> <sp-switch value="on" checked>Switch On</sp-switch> </sp-field-group> </div> <div style="display: flex; flex-direction: column;"> <h4 class="spectrum-Heading--subtitle1">Disabled</h4> <sp-field-group selected="first" name="example" vertical> <sp-switch disabled value="off">Switch Off</sp-switch> <sp-switch disabled value="on" checked>Switch On</sp-switch> </sp-field-group> </div> </div>
Sizes #
<sp-switch size="s">Small</sp-switch>
<sp-switch size="m">Medium</sp-switch>
<sp-switch size="l">Large</sp-switch>
<sp-switch size="xl">Extra Large</sp-switch>
Emphasized radio buttons #
Emphasized switches are a secondary style for switches. The blue color provides a visual prominence that is optimal for forms, settings, etc. where the switches need to be noticed.
<div style="display: flex; justify-content: space-between;"> <div style="display: flex; flex-direction: column;"> <h4 class="spectrum-Heading--subtitle1">Default</h4> <sp-field-group selected="first" name="example" vertical> <sp-switch emphasized value="off">Switch Off</sp-switch> <sp-switch emphasized value="on" checked>Switch On</sp-switch> </sp-field-group> </div> <div style="display: flex; flex-direction: column;"> <h4 class="spectrum-Heading--subtitle1">Disabled</h4> <sp-field-group selected="first" name="example" vertical> <sp-switch emphasized disabled value="off">Switch Off</sp-switch> <sp-switch emphasized disabled value="on" checked>Switch On</sp-switch> </sp-field-group> </div> </div>
Handling events #
Event handlers for clicks and other user actions can be registered on an <sp-switch>
similar to a standard <input type="checkbox">
element.
<sp-switch id="switch-example" onclick="spAlert(this, '<sp-radio> clicked!')"> Web component </sp-switch>
Accessibility #
Switch are accessible by default, rendered in HTML using the <input type="checkbox">
element with the appropriate accessibility role, switch
. When the Switch is checked
or invalid
, the appropriate ARIA state attribute will automatically be applied.