// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page AvatarGroupDetail {
layout = "showcase"
state playground_items = ctx.url.searchParams.get("pg_items") ?? "[\n {\n \"src\": \"/avatar-example.svg\",\n \"name\": \"Mark Wanner\",\n \"alt\": \"Mark Wanner\"\n },\n {\n \"src\": \"/avatar-example-2.svg\",\n \"name\": \"Maria Guan\",\n \"alt\": \"Maria Guan\"\n },\n {\n \"src\": \"/avatar-example-3.svg\",\n \"name\": \"Amil Evara\",\n \"alt\": \"Amil Evara\"\n },\n {\n \"initials\": \"EE\",\n \"name\": \"Ebele Egbuna\",\n \"color\": \"info\"\n }\n]"
state playground_size = ctx.url.searchParams.get("pg_size") ?? "lg"
state playground_color = ctx.url.searchParams.get("pg_color") ?? "primary"
state playground_variant = ctx.url.searchParams.get("pg_variant") ?? "solid"
state playground_shape = ctx.url.searchParams.get("pg_shape") ?? "circle"
state playground_layout = ctx.url.searchParams.get("pg_layout") ?? "stack"
state playground_maxVisible = ctx.url.searchParams.get("pg_maxVisible") ?? "4"
state playground_columns = ctx.url.searchParams.get("pg_columns") ?? "3"
state playground_borderColor = ctx.url.searchParams.get("pg_borderColor") ?? ""
state playground_showTooltips = ctx.url.searchParams.get("pg_showTooltips") ?? "true"
state playground_overflowLabel = ctx.url.searchParams.get("pg_overflowLabel") ?? "Show remaining members"
state playground_class = ctx.url.searchParams.get("pg_class") ?? ""
seo {
title = "Avatar Group"
description = "Theme-aware, responsive avatar group component."
}
view {
Interactive playgroundConfigure Avatar Group
Change any prop and inspect the server-rendered component immediately.
Live preview
<AvatarGroup
items='[
{
"src": "/avatar-example.svg",
"name": "Mark Wanner",
"alt": "Mark Wanner"
},
{
"src": "/avatar-example-2.svg",
"name": "Maria Guan",
"alt": "Maria Guan"
},
{
"src": "/avatar-example-3.svg",
"name": "Amil Evara",
"alt": "Amil Evara"
},
{
"initials": "EE",
"name": "Ebele Egbuna",
"color": "info"
}
]'
size="lg"
/>
Live examplesDesigned for real product surfaces
Compare configurations and resize the browser to check responsive behavior.
<AvatarGroup
items='[
{
"src": "/avatar-example.svg",
"name": "Mark Wanner",
"alt": "Mark Wanner"
},
{
"src": "/avatar-example-2.svg",
"name": "Maria Guan",
"alt": "Maria Guan"
},
{
"src": "/avatar-example-3.svg",
"name": "Amil Evara",
"alt": "Amil Evara"
},
{
"initials": "EE",
"name": "Ebele Egbuna",
"color": "info"
}
]'
size="lg"
/>
<AvatarGroup
items='[
{
"src": "/avatar-example.svg",
"name": "Mark Wanner",
"alt": "Mark Wanner"
},
{
"src": "/avatar-example-2.svg",
"name": "Maria Guan",
"alt": "Maria Guan"
},
{
"src": "/avatar-example-3.svg",
"name": "Amil Evara",
"alt": "Amil Evara"
},
{
"initials": "EE",
"name": "Ebele Egbuna",
"color": "info"
},
{
"initials": "CL",
"name": "Chris Lynch",
"color": "success"
},
{
"initials": "NS",
"name": "Nora Singh",
"color": "warning"
},
{
"initials": "JR",
"name": "Jon Rivera",
"color": "danger"
},
{
"initials": "AK",
"name": "Amina Khan",
"color": "secondary"
}
]'
layout="grid"
maxVisible="7"
/>
<AvatarGroup
items='[
{
"src": "/avatar-example.svg",
"name": "Mark Wanner",
"alt": "Mark Wanner"
},
{
"src": "/avatar-example-2.svg",
"name": "Maria Guan",
"alt": "Maria Guan"
},
{
"src": "/avatar-example-3.svg",
"name": "Amil Evara",
"alt": "Amil Evara"
},
{
"initials": "EE",
"name": "Ebele Egbuna",
"color": "info"
}
]'
borderColor="#2583ff"
/>
<AvatarGroup
items='[
{
"src": "/avatar-example.svg",
"name": "Mark Wanner",
"alt": "Mark Wanner"
},
{
"src": "/avatar-example-2.svg",
"name": "Maria Guan",
"alt": "Maria Guan"
},
{
"src": "/avatar-example-3.svg",
"name": "Amil Evara",
"alt": "Amil Evara"
},
{
"initials": "EE",
"name": "Ebele Egbuna",
"color": "info"
}
]'
/>
<AvatarGroup
items='[
{
"src": "/avatar-example.svg",
"name": "Mark Wanner",
"alt": "Mark Wanner"
},
{
"src": "/avatar-example-2.svg",
"name": "Maria Guan",
"alt": "Maria Guan"
},
{
"src": "/avatar-example-3.svg",
"name": "Amil Evara",
"alt": "Amil Evara"
},
{
"initials": "EE",
"name": "Ebele Egbuna",
"color": "info"
},
{
"initials": "CL",
"name": "Chris Lynch",
"color": "success"
},
{
"initials": "NS",
"name": "Nora Singh",
"color": "warning"
},
{
"initials": "JR",
"name": "Jon Rivera",
"color": "danger"
},
{
"initials": "AK",
"name": "Amina Khan",
"color": "secondary"
}
]'
/>
Component eventsEvents
Public events declared by this component. Custom events bubble from the component root and expose state through event.detail.
@overflowFires when the component emits the overflow event.
const component = document.querySelector('[data-wrn-events]')
component.addEventListener('overflow', (event) => {
console.log(event.detail)
})
Component APIProps and configuration
All content and behavior shown above is supplied through these props and slots.
| Prop | Type | Default | Required |
|---|
items | string | [] | No |
size | string | "md" | No |
color | string | "primary" | No |
variant | string | "solid" | No |
shape | string | "circle" | No |
layout | string | "stack" | No |
maxVisible | number | 4 | No |
columns | number | 3 | No |
borderColor | string | "" | No |
showTooltips | boolean | true | No |
overflowLabel | string | "Show remaining members" | No |
class | string | "" | No |
}
}