Avatar
Face or initials for a person, team, or org. Stack two or more with AvatarGroup.
Group
Pass members and a pixel size. limit shows a +N count for the rest.
Stacking order
First member sits on top. reverse puts the last member on top. Left-to-right order stays the same.
Overlap
overlap auto scales with size. A number is pixels of overlap — higher packs tighter.
Fixed overlap
Size
Pixel size is the Hesoyam API. Token aliases sm (24), default (32), and lg (48) still work.
Git
GitHubAvatar, GitLabAvatar, and BitbucketAvatar resolve the host avatar from username.
With custom icon
Overlay a status glyph. Use the icon slot; keep icon-background when the mark needs a disc.
Letter
1–2 uppercase initials when there is no photo. This port renders letter only when placeholder is off.
Placeholder
Loading shell. Not a permanent fallback — switch to src, username, or letter once you know the entity.
1
<Avatar placeholder :size="90" />
Badge
AvatarBadge sits on the corner. Empty it is a presence dot; slot an icon at 32px and up.
Image and fallback
Compound slots when you already have a URL and do not want the username resolver.
Best practices
- One person, team, or org is
Avatar. Two or more stacked faces isAvatarGroupso overlap, size, and the overflow count stay consistent. - Resolve a photo with
srcorusernamefirst. Fall back toletter(1–2 uppercase chars). Keepplaceholderfor the loading shell. titleis the entity name. Letter avatars already announce Avatar with initials — do not prefix "Avatar of".- Match adjacent type: 20–24px next to 13px meta, 32px next to 14px body, 48px and up in headers.
- Status lives on
AvatarWithIconorAvatarBadge, not a second overlapping Avatar.

