Pular para o conteúdo

Avatar

Representação visual de pessoa com iniciais ou ícone de usuário.

Maria Silva Paciente

Instalação

Instale Avatar da sua stack e rode o comando individual ITpS em seguida. O comando itps add avatar é theme-only: ele valida o slug e confirma que o contrato visual vem do tema ITpS, das classes copy-first e dos snippets desta página.

terminal · React/Next

pnpm dlx shadcn@latest add avatar
pnpm dlx github:ITPS/sinapse-ui-cli add avatar

terminal · Vue3/Nuxt4

pnpm dlx shadcn-vue@latest add avatar
pnpm dlx github:ITPS/sinapse-ui-cli add avatar

O comando individual adapta só este componente; não instala o catálogo inteiro.

Uso

Em React/Next com shadcn/ui e Vue3/Nuxt4 com shadcn-vue, use Avatar, AvatarImage e AvatarFallback. O fallback deve ser curto e legível quando a imagem falhar ou ainda não tiver carregado.

Para HTML ou wrappers finos, use itps-avatar com iniciais quando houver nome confiável. Mantenha o nome visível próximo do avatar para não depender só da imagem, iniciais ou ícone.

Exemplos

Estrutura

PeçaReact/Next e Vue3/Nuxt4HTML
RaizAvataritps-avatar
ImagemAvatarImageitps-avatar__image
FallbackAvatarFallbackitps-avatar__initials ou itps-avatar__icon
Tamanhoclasse utilitáriaitps-avatar--sm, itps-avatar--md, itps-avatar--lg

Tamanhos e fallback

Use os modificadores de tamanho para manter consistência visual. Sem modificador, o avatar tem 56px.

João Silva Small, 32px
Ana Costa Medium, 40px
Marcos Lima Large, 80px
Pessoa sem iniciais Fallback com ícone de usuário

API copy-first

Classe/atributoUso
itps-avatarWrapper circular do avatar.
itps-avatar--user, itps-avatar--company, itps-avatar--systemPapel visual da entidade.
itps-avatar--sm, itps-avatar--md, itps-avatar--lgTamanhos semânticos.
itps-avatar__imageImagem recortada em círculo.
itps-avatar__initialsFallback textual curto.
itps-avatar__iconFallback com ícone quando não houver iniciais confiáveis.
role="img"Expõe o avatar como imagem quando ele identifica uma pessoa.
aria-labelNomeia o avatar quando o nome não está no texto vizinho.
aria-hidden="true"Evita leitura duplicada quando o nome já aparece ao lado.

Acessibilidade

Use role="img" e aria-label quando o avatar identifica uma pessoa. Use aria-hidden="true" quando o nome já aparece ao lado do avatar e a leitura duplicada atrapalhar.

Não dependa apenas do ícone para identificar a pessoa. Não use Avatar para comunicar status; mantenha status em texto visível ou em outro componente específico.