Componente
Radio
Um grupo de escolha única. Vincule o valor selecionado, disponha as opções vertical ou horizontalmente, dimensione e colora-as, e troque radios simples por cards selecionáveis. Funciona com formulários template-driven e reativos.
Grupo e valor
Selected: scan · last change: —
import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
import { HbRadioImports } from '@herbst/ui';
@Component({
selector: 'hb-demo-radio-basic',
imports: [HbRadioImports],
template: `
<div class="flex flex-col gap-3">
<hb-radio-group [(hbValue)]="plan" hbName="plan" (hbChange)="last.set($any($event))">
<hb-radio [hbValue]="'press'">Press & mount</hb-radio>
<hb-radio [hbValue]="'scan'">Digitise only</hb-radio>
<hb-radio [hbValue]="'both'">Press & digitise</hb-radio>
</hb-radio-group>
<p class="font-mono text-[12px] text-muted-foreground">
Selected: {{ plan() }} · last change: {{ last() }}
</p>
</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoRadioBasicComponent {
protected readonly plan = signal('scan');
protected readonly last = signal('—');
}
Orientação, tamanho e status
Cards de radio
Referência de API
hb-radio-group
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [(hbValue)] | O valor selecionado, bidirecional. Também funciona como controle de formulário via ngModel / formControl. | unknown | null |
| [hbOrientation] | Empilha as opções numa coluna ou numa linha que quebra. | 'vertical' | 'horizontal' | 'vertical' |
| [hbName] | O nome de input compartilhado do grupo (gerado automaticamente se omitido). | string | '' |
| [hbSize] / [hbStatus] | Tamanho e cor de validação padrão, herdados por cada radio salvo se sobrescritos. | size xs–xl / 'default' | 'success' | 'warning' | 'error' | 'md' / 'default' |
| [hbDisabled] / [hbInvalid] | Desabilita o grupo inteiro, e marca-o como aria-invalid. | boolean | false |
| (hbChange) | Emite o novo valor selecionado. | unknown | — |
hb-radio / hb-radio-card
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbValue] | O valor que esta opção contribui ao grupo. | unknown | null |
| [hbSize] / [hbStatus] | Overrides por opção do tamanho e status do grupo. | size / status | inherit |
| [hbDisabled] / [hbInvalid] / [hbInputId] | Desabilita uma opção, marca-a como inválida, ou define o id do input. | boolean / string | false |
| hb-radio-card [hbIndicator] | Uma variante de card que projeta conteúdo rico; hbIndicator alterna o círculo do radio. | boolean | true |