Skip to content

Avatar / AvatarGroup

Displays a user avatar — either as an image or as initials derived from the name.

// Name-based (shows initials)
new Avatar("Mateu Pérez")
// With image
Avatar.builder()
.name("Mateu Pérez")
.image("/images/mateu.png")
.build()
PropertyTypeDefaultDescription
nameStringUser’s name — used to generate initials when no image is provided
abbreviationString""Custom initials override
imageString""Image URL or data URI
styleString""Inline CSS
cssClassesString""CSS class names
// Initials only
Avatar.builder().name("Miguel Pérez").build()
// Custom abbreviation
Avatar.builder().name("Miguel Pérez").abbreviation("MP").build()
// Image avatar
Avatar.builder()
.name("Antònia Galmés")
.image("https://example.com/users/antonia.jpg")
.build()

Stacks multiple avatars with a visible overlap. Shows a “+N” overflow indicator when there are more avatars than the maxItems limit.

new AvatarGroup(List.of(
Avatar.builder().name("Mateu Pérez").build(),
Avatar.builder().name("Antònia Galmés").build(),
Avatar.builder().name("Miguel Pérez").build()
), 2)
PropertyTypeDescription
itemsList<Avatar>Avatars to display
maxItemsintMaximum avatars shown before the overflow indicator
new AvatarGroup(teamMembers.stream()
.map(m -> Avatar.builder().name(m.getName()).image(m.getPhotoUrl()).build())
.toList(),
4 // show at most 4, then "+N"
)