Avatar
Componente para exibir imagem de perfil de um usuário, com fallback automático para iniciais quando a imagem não está disponível.
Tamanhos
O Avatar tem três tamanhos controlados pela prop size.
sm · 24px
default · 32px
lg · 40px
Tamanhos disponíveis
<Avatar size="sm">...</Avatar>
<Avatar size="default">...</Avatar>
<Avatar size="lg">...</Avatar>Com badge de status
O AvatarBadge indica status online, notificação ou outro marcador visual no canto inferior direito.
sm
default
lg
offline
away
Avatar com badge de status online
<Avatar>
<AvatarImage src="/profile.jpg" alt="Lucas" />
<AvatarFallback>LZ</AvatarFallback>
<AvatarBadge className="bg-success" />
</Avatar>Grupo de avatares
AvatarGroup empilha avatares com sobreposição automática. AvatarGroupCount exibe a quantidade de itens restantes.
default
size lg
Grupo com contagem de extras
<AvatarGroup>
<Avatar>
<AvatarImage src="/a.jpg" alt="Ana" />
<AvatarFallback>AN</AvatarFallback>
</Avatar>
<Avatar>
<AvatarFallback>BM</AvatarFallback>
</Avatar>
<AvatarGroupCount>+5</AvatarGroupCount>
</AvatarGroup>Props e uso
API dos sub-componentes disponíveis no projeto.
Props principais
size
"sm" | "default" | "lg"
Tamanho do avatar: sm (24px), default (32px), lg (40px).
AvatarImage src
string
URL da imagem de perfil.
AvatarFallback
ReactNode
Texto de fallback (geralmente iniciais) exibido quando a imagem não carrega.
AvatarBadge className
string
Cor do badge via classe Tailwind: bg-success, bg-destructive, bg-warning, etc.
Acessibilidade
Sempre use o atributo alt em AvatarImage com o nome do usuário para leitores de tela.
O fallback de iniciais é puramente visual. Para acessibilidade, garanta que o nome completo do usuário esteja disponível via alt ou label contextual.
Em grupos, considere adicionar aria-label no container para descrever o conjunto de usuários.
MN Design System · Primary #5FC318 · Brand Green #AFF000 · Font: Inter