Primitives
Selection within a group.
Indie Plan For those who want to are just starting out Growth Plan For those who want to grow their business Unicorn Plan For those who are going to the moon
Import the Radio primitives from ng-primitives/radio.
Assemble the radio directives in your template.
Create a reusable component that uses the radio directives.
import { Component, signal } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { RadioGroup } from './radio-group';
import { RadioItem } from './radio-item';
@Component({
selector: 'app-root',
imports: [RadioGroup, RadioItem, FormsModule],
template: `
<app-radio-group [(ngModel)]="value" orientation="vertical">
<app-radio-item value="1">One</app-radio-item>
<app-radio-item value="2">Two</app-radio-item>
<app-radio-item value="3">Three</app-radio-item>
</app-radio-group>
`,
})
export default class App {
value = signal('1');
}
Generate a reusable radio component using the Angular CLI.
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.The following directives are available to import from the ng-primitives/radio package:
Apply the `ngpRadioGroup` directive to an element that represents the group of radio items. The value of the radio group.
Whether the radio group is disabled.
The orientation of the radio group.
The comparator function for the radio group. This is useful if values are objects and you want to compare them by value, not by reference.
Event emitted when the radio group value changes.
[ngpRadioGroup]
The following data attributes are applied to the ngpRadioGroup directive:
| Attribute | Description | Value |
|---|---|---|
data-orientation |
The orientation of the radio group. | vertical | horizontal |
data-disabled |
Applied when the radio group is disabled. | - |
Apply the `ngpRadioItem` directive to an element that represents a radio item. This would typically be a `button` element. The value of the radio item.
Whether the radio item is disabled.
[ngpRadioItem]
The following data attributes are applied to the ngpRadioItem directive:
| Attribute | Description |
|---|---|
data-checked |
Applied when the radio item is checked. |
data-disabled |
Applied when the radio item is disabled. |
data-hover |
Applied when the radio item is hovered. |
data-focus-visible |
Applied when the radio item is focused. |
data-press |
Applied when the radio item is pressed. |
Apply the `ngpRadioIndicator` directive to an element that represents the radio indicator (i.e. the dot).[ngpRadioIndicator]
The following data attributes are applied to the ngpRadioItem directive:
| Attribute | Description |
|---|---|
data-checked |
Applied when the radio item is checked. |
data-disabled |
Applied when the radio item is disabled. |
data-hover |
Applied when the radio item is hovered. |
data-press |
Applied when the radio item is pressed. |
Adheres to the Radio Group WAI-ARIA design pattern.
Copyright © 2025 Angular Primitives