Componente
Switch
Um toggle para uma configuração liga/desliga. Vincule o estado marcado, adicione um rótulo em qualquer lado, ponha ícones no thumb, dimensione e colora, e troque o switch simples por um card selecionável. Funciona com formulários.
Rótulo, posição e ícones
notify: true
import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
import { HbSwitchImports } from '@herbst/ui';
import { provideIcons } from '@ng-icons/core';
import { phosphorCheck, phosphorX } from '@ng-icons/phosphor-icons/regular';
@Component({
selector: 'hb-demo-switch-basic',
imports: [HbSwitchImports],
viewProviders: [provideIcons({ phosphorCheck, phosphorX })],
template: `
<div class="flex flex-col items-start gap-3">
<hb-switch [(hbChecked)]="notify" hbCheckedIcon="phosphorCheck" hbUncheckedIcon="phosphorX">
Email notifications
</hb-switch>
<hb-switch [hbChecked]="true" hbLabelPosition="start">Label at the start</hb-switch>
<p class="font-mono text-[12px] text-muted-foreground">notify: {{ notify() }}</p>
</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoSwitchBasicComponent {
protected readonly notify = signal(true);
}
Tamanhos, status e desabilitado
Cards de switch
Referência de API
hb-switch
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [(hbChecked)] | O estado liga/desliga, bidirecional. Também funciona como controle de formulário via ngModel / formControl. | boolean | false |
| [hbLabelPosition] | Em qual lado o rótulo projetado fica. | 'start' | 'end' | 'end' |
| [hbCheckedIcon] / [hbUncheckedIcon] | Nomes de ícone mostrados dentro do thumb para cada estado. | string | '' |
| [hbSize] / [hbStatus] | Dimensões do switch, e a cor quando marcado. | 'xs'–'xl' / 'default' | 'success' | 'warning' | 'error' | 'md' / 'default' |
| [hbDisabled] / [hbInvalid] / [hbRequired] | Estados de controle padrão repassados ao input e ao ARIA. | boolean | false |
| [hbName] / [hbInputId] / [hbAriaLabel] / (hbChange) | Nome de formulário, id do input, rótulo acessível, e um evento com o novo estado. | string / boolean | '' |
hb-switch-card
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| hb-switch-card | Uma variante de card que projeta conteúdo rico e alterna ao ser clicado. Compartilha todos os inputs do hb-switch. | component | — |
| [hbIndicator] | Mostra a trilha do switch à direita do card. | boolean | true |