Primitives
Perform state toggling.
Import the Switch primitives from ng-primitives/switch.
import { NgpSwitch, NgpSwitchThumb } from 'ng-primitives/switch';
Assemble the switch directives in your template.
<button ngpSwitch [(ngpSwitchChecked)]="checked">
<span ngpSwitchThumb></span>
</button>
Create a reusable component that uses the switch directives.
Generate a reusable switch component using the Angular CLI.
ng g ng-primitives:primitive switch
path: The path at which to create the component file.prefix: The prefix to apply to the generated component selector.componentSuffix: The suffix to apply to the generated component class name.fileSuffix: The suffix to apply to the generated component file name. Defaults to component.exampleStyles: Whether to include example styles in the generated component file. Defaults to true.Here are some additional examples of how to use the Switch primitives.
The switch automatically integrates with the form field primitives.
The following directives are available to import from the ng-primitives/switch package:
The following data attributes are applied to the ngpSwitch directive:
| Attribute | Description |
|---|---|
data-checked |
Applied when the switch is checked. |
data-disabled |
Applied when the switch is disabled. |
data-hover |
Applied when the switch is hovered. |
data-focus-visible |
Applied when the switch is focused. |
data-press |
Applied when the switch is pressed. |
The following data attributes are available to style the thumb:
| Attribute | Description |
|---|---|
data-checked |
Applied when the switch is checked. |
data-disabled |
Applied when the switch is disabled. |
data-hover |
Applied when the switch thumb is hovered. |
data-focus-visible |
Applied when the switch thumb is focused. |
data-press |
Applied when the switch thumb is pressed. |
Adheres to the WAI-ARIA switch design pattern.
Copyright © 2026 Angular Primitives
This site is powered by Netlify