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

Kauan HerbstNAQ
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

XSSMMDLGXL72

Status e badge

ONAWBSOFOK99 9+

Grupo e excedente

KHNABS

Overflow clicks: 0

Clicável e desabilitado

KHNA

Tapped 0×

Referência de API

hb-avatar — inputs

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

PropriedadeDescriçãoTipoPadrão
(hbClick) Emitido quando o avatar é clicado. void
[hbAvatarBadge] Badge personalizado projetado (contagem, ponto ou ícone). slot

hb-avatar-group

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