Componente
Avatar
Um retrato compacto de uma pessoa ou entidade — uma imagem com iniciais como fallback, um ponto de status ou badge opcional, e hb-avatar-group para empilhar vários com contagem de excedente.
Imagem, fallback e formato
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { HbAvatarImports } from '@herbst/ui';
const portrait =
'data:image/svg+xml,' +
encodeURIComponent(
"<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'>" +
"<defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'>" +
"<stop offset='0' stop-color='#A64B2A'/><stop offset='1' stop-color='#6B7A55'/>" +
'</linearGradient></defs>' +
"<rect width='80' height='80' fill='url(#g)'/></svg>",
);
@Component({
selector: 'hb-demo-avatar-basic',
imports: [HbAvatarImports],
template: `
<div class="flex items-center gap-4">
<hb-avatar [hbSrc]="portrait" hbAlt="Kauan Herbst" hbFallback="KH" hbPriority hbSize="lg" />
<hb-avatar hbFallback="NA" hbSize="lg" />
<hb-avatar hbFallback="Q" hbShape="square" hbSize="lg" />
</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class HbDemoAvatarBasicComponent {
protected readonly portrait = portrait;
}
Tamanhos
Status e badge
Grupo e excedente
Overflow clicks: 0
Clicável e desabilitado
Tapped 0×
Referência de API
hb-avatar — inputs
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbSrc] | URL da imagem; o fallback aparece durante o carregamento ou em erro. | string | '' |
| [hbAlt] | Texto alternativo da imagem. | string | '' |
| [hbFallback] | Iniciais ou texto exibidos quando não há imagem. | string | '' |
| [hbPriority] | Marca a imagem como alta prioridade para carregar antecipadamente. | boolean | false |
| [hbSize] | Tamanho nomeado, ou um número em pixels. | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number | 'md' |
| [hbShape] | Círculo ou quadrado arredondado. | 'circle' | 'square' | 'circle' |
| [hbStatus] | Cor do ponto de presença. | 'online' | 'offline' | 'away' | 'busy' | undefined |
| [hbBadgePosition] | Canto do ponto de status ou badge. | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'bottom-right' |
| [hbBadgeIcon] | Nome do ícone exibido dentro do badge. | string | '' |
| [hbDisabled] | Esmaece o avatar e bloqueia os cliques. | boolean | false |
hb-avatar — outputs & slots
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| (hbClick) | Emitido quando o avatar é clicado. | void | — |
| [hbAvatarBadge] | Badge personalizado projetado (contagem, ponto ou ícone). | slot | — |
hb-avatar-group
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| [hbMax] | Mostra no máximo esta quantidade; o restante vira um bloco de excedente. | number | null | null |
| [hbSpacing] | O quanto os avatares se sobrepõem. | 'sm' | 'md' | 'lg' | 'md' |
| [hbSize] | Tamanho aplicado a todos os avatares do grupo. | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number | 'md' |
| [hbShape] | Formato aplicado a todos os avatares do grupo. | 'circle' | 'square' | 'circle' |
| [hbOrientation] | Empilha os avatares em linha ou em coluna. | 'horizontal' | 'vertical' | 'horizontal' |
| [hbOverflowIcon] | Ícone exibido no bloco de excedente em vez da contagem. | string | '' |
| (hbOverflowClick) | Emitido quando o bloco de excedente é clicado. | void | — |