Pular para o conteúdo

Avatar

Representação visual de uma pessoa, empresa ou sistema, com imagem, iniciais ou ícone.

Em cada stack

HTML e Astro
Classes itps-* do CSS Sinapse, com todas as variantes desta página.
React e Vue
Componentes padrão do shadcn (avatar) com o tema Sinapse: cores, fonte e raio vêm do tema, e as variantes itps-* desta página existem só no HTML.
Maria Silva Paciente

Instalação

O comando instala o Avatar da sua stack com o tema Sinapse. Configure o registry uma vez por projeto em Comece por aqui.

terminal · React/Next

pnpm dlx shadcn@latest add @sinapse/avatar

terminal · Vue 3/Nuxt 4

pnpm dlx shadcn-vue@latest add https://dsystem.sinapse.org.br/r/vue/avatar.json

Sem shadcn, não há instalação por componente: use o CSS Sinapse e as classes da API copy-first desta página.

Uso

Em React/Next com shadcn/ui e Vue 3/Nuxt 4 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 Vue 3/Nuxt 4HTML
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 Pequeno, 32px
Ana Costa Médio, 40px
Marcos Lima Grande, 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.