Componente
Button
Um botão para ações e links. Aplica-se a hosts <button> ou <a>, carrega texto e ícones, e vem em oito tons, seis tamanhos, três formatos, além dos estados de carregamento e largura total.
Tipos
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { HbButtonComponent } from '@herbst/ui';
@Component({
selector: 'hb-demo-button-types',
imports: [HbButtonComponent],
template: `
<div class="flex flex-wrap items-center gap-2">
<button hb-button>Default</button>
<button hb-button hbType="secondary">Secondary</button>
<button hb-button hbType="outline">Outline</button>
<button hb-button hbType="ghost">Ghost</button>
<button hb-button hbType="success">Success</button>
<button hb-button hbType="warning">Warning</button>
<button hb-button hbType="destructive">Destructive</button>
<button hb-button hbType="link">Link</button>
</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoButtonTypesComponent {}
Tamanhos
Ícones e formatos
Estados, âncora e largura total
Referência de API
hb-button, button[hb-button], a[hb-button]
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbType] | Tom e ênfase do botão. | 'default' | 'destructive' | 'warning' | 'success' | 'outline' | 'secondary' | 'ghost' | 'link' | 'default' |
| [hbSize] | Altura e espaçamento; icon é um botão quadrado só de ícone. | 'xs' | 'sm' | 'default' | 'lg' | 'xl' | 'icon' | 'default' |
| [hbShape] | Estilo dos cantos do botão. | 'default' | 'circle' | 'square' | 'default' |
| [hbFull] | Estica para a largura total do contêiner. | boolean | false |
| [hbLoading] | Mostra um spinner e bloqueia a interação. | boolean | false |
| [hbDisabled] | Desabilita o botão. | boolean | false |
| [class] | Classes CSS extras. O conteúdo projetado (texto e ícones) preenche o botão. | string | '' |