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 &amp; mount</hb-radio>
        <hb-radio [hbValue]="'scan'">Digitise only</hb-radio>
        <hb-radio [hbValue]="'both'">Press &amp; 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

PropriedadeDescriçãoTipoPadrã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

PropriedadeDescriçãoTipoPadrã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