Toggle Ready
Toggles are graphical interface switches that give user control over a feature or option that can be turned on or off.
Examples #
<duet-toggle label="Checked toggle" value="Some value" checked></duet-toggle>
<script>
// Select the above toggle component
var toggle = document.querySelector("duet-toggle")
// Listen for change events in the toggle
toggle.addEventListener("duetChange", function (e) {
console.log("Change detected in toggle:", e.detail)
})
</script>
<duet-toggle label="Toggle" value="Some value"></duet-toggle>
Properties #
Property | Attribute | Description | Type | Default |
---|---|---|---|---|
accessibleActiveDescendant | accessible-active-descendant | Indicates the id of a related component’s visually focused element. | string | undefined |
accessibleControls | accessible-controls | Use this prop to add an aria-controls attribute. Use the attribute to indicate the id of a component controlled by this component. | string | undefined |
accessibleDescribedBy | accessible-described-by | Indicates the id of a component that describes the toggle. | string | undefined |
accessibleDescription | accessible-description | Aria description the button | string | undefined |
accessibleDetails | accessible-details | Aria Details of the component | string | undefined |
accessibleLabelledBy | accessible-labelled-by | String of id's that indicate alternative labels elements | string | undefined |
accessibleOwns | accessible-owns | Indicates the id of a component owned by the toggle. | string | undefined |
checked | checked | Check state of the checkbox. | boolean | false |
disabled | disabled | Makes the input component disabled. This prevents users from being able to interact with the input, and conveys its inactive state to assistive technologies. | boolean | false |
identifier | identifier | Adds a unique identifier for the checkbox. | string | undefined |
label | label | Label for the toggle. | string | "label" |
labelColor | label-color | Color of the label. | string | undefined |
labelPosition | label-position | Position of the label | "left" | "right" | "top" | "top" |
labelWeight | label-weight | Font weight of the label. | "normal" | "semi-bold" | undefined |
margin | margin | Controls the margin of the component. | "auto" | "none" | "auto" |
name | name | Name of the checkbox. | string | undefined |
required | required | Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them. When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors. | boolean | false |
role | role | Defines a specific role attribute for the input. | string | undefined |
theme | theme | Theme of the card. | "" | "default" | "turva" | "" |
value | value | The value of the checkbox does not mean if it's checked or not, use the checked property for that. | string | undefined |
Events #
Event | Description | Type |
---|---|---|
duetChange | Emitted when the checked property has changed. | CustomEvent<{ component: "duet-toggle"; checked: boolean; value: string; }> |
Methods #
setFocus(options?: FocusOptions) => Promise<void>
#
Sets focus on the specified duet-toggle
. Use this method instead of the global
input.focus()
.
Parameters #
Name | Type | Description |
---|---|---|
options | FocusOptions |
Returns #
Type: Promise<void>
Usage #
This section includes guidelines for designers and developers about the usage of this component in different contexts.
When to use #
- In forms to toggle something on or off.
- In native iOS or Android app to replace checkbox.
Accessibility #
This component has been validated to meet the WCAG 2.1 AA accessibility guidelines. You can find additional information regarding accessibility of this component below.
label
property is always required for accessible toggle control.labelHidden
property hides the above label visually, but still keeps it accessible for assistive technologies.disabled
property makes the range slider disabled. This prevents users from being able to interact with the range slider, and conveys its inactive state to assistive technologies.- You can use
accessibleActiveDescendant
property to indicates the id of a related component’s visually focused element. - Use
accessibleControls
property to add an aria-controls attribute. Use the attribute to indicate the id of a component controlled by this component. - Use
accessibleOwn
property to indicate the id of a component owned by the toggle. accessibleDescribedBy
property can be used to indicate the id of a component which contains descriptive/help text related to the toggle.role
property can be used to define a specific role attribute for the toggle.
Additional considerations #
- When you need to provide links inside the label, please follow the provided example to make sure these links stay accessible.
Integration
For integration, event and theming guidelines, please see Using Components. This documentation explains how to implement and use Duet’s components across different technologies like Angular, React or Vanilla JavaScript.
Tutorials
Follow these practical tutorials to learn how to build simple page layouts using Duet’s CSS Framework, Web Components and other features:
Building Layouts
TutorialsUsing CLI Tools
TutorialsCreating Custom Patterns
TutorialsServer Side Rendering
TutorialsSharing Prototypes
TutorialsUsage With Markdown
Troubleshooting
If you experience any issues while using a component, please head over to the Support page for more guidelines and help.