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

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

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