// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page AvatarGroupDetail {
layout = "showcase"
state playground_items = JSON.parse(ctx.url.searchParams.get("pg_items") ?? "[{\"name\":\"Aisha Khan\",\"initials\":\"AK\",\"tooltip\":\"Aisha Khan · Product designer\"},{\"name\":\"Daniel Lee\",\"initials\":\"DL\",\"tooltip\":\"Daniel Lee · Engineer\"},{\"name\":\"Maya Patel\",\"initials\":\"MP\",\"tooltip\":\"Maya Patel · Product manager\"},{\"name\":\"Oliver Reed\",\"initials\":\"OR\",\"tooltip\":\"Oliver Reed · Support\"},{\"name\":\"Sofia Chen\",\"initials\":\"SC\",\"tooltip\":\"Sofia Chen · Operations\"}]")
state playground_size = ctx.url.searchParams.get("pg_size") ?? "md"
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 = Number(ctx.url.searchParams.get("pg_maxVisible") ?? "3")
state playground_columns = Number(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") === "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 {
Components / Base / Avatar Group
Interactive playground Configure Avatar Group Change any prop and inspect the server-rendered component immediately.
Live preview
page AvatarGroupExample {
state items = [
{
"name": "Aisha Khan",
"initials": "AK",
"tooltip": "Aisha Khan · Product designer"
} ,
{
"name": "Daniel Lee",
"initials": "DL",
"tooltip": "Daniel Lee · Engineer"
} ,
{
"name": "Maya Patel",
"initials": "MP",
"tooltip": "Maya Patel · Product manager"
} ,
{
"name": "Oliver Reed",
"initials": "OR",
"tooltip": "Oliver Reed · Support"
} ,
{
"name": "Sofia Chen",
"initials": "SC",
"tooltip": "Sofia Chen · Operations"
}
]
view {
<AvatarGroup
items="{ items} "
maxVisible="3"
/>
}
}
Event output Interact with the preview to inspect the typed payload.
Live examples Designed for real product surfaces Compare configurations and resize the browser to check responsive behavior.
page AvatarGroupExample {
state items = [
{
"name": "Aisha Khan",
"initials": "AK",
"tooltip": "Aisha Khan · Product designer"
} ,
{
"name": "Daniel Lee",
"initials": "DL",
"tooltip": "Daniel Lee · Engineer"
} ,
{
"name": "Maya Patel",
"initials": "MP",
"tooltip": "Maya Patel · Product manager"
} ,
{
"name": "Oliver Reed",
"initials": "OR",
"tooltip": "Oliver Reed · Support"
} ,
{
"name": "Sofia Chen",
"initials": "SC",
"tooltip": "Sofia Chen · Operations"
}
]
view {
<AvatarGroup
items="{ items} "
maxVisible="3"
/>
}
}
page AvatarGroupExample {
state items = [
{
"name": "Aisha Khan",
"initials": "AK",
"tooltip": "Aisha Khan · Product designer"
} ,
{
"name": "Daniel Lee",
"initials": "DL",
"tooltip": "Daniel Lee · Engineer"
} ,
{
"name": "Maya Patel",
"initials": "MP",
"tooltip": "Maya Patel · Product manager"
} ,
{
"name": "Oliver Reed",
"initials": "OR",
"tooltip": "Oliver Reed · Support"
} ,
{
"name": "Sofia Chen",
"initials": "SC",
"tooltip": "Sofia Chen · Operations"
}
]
view {
<AvatarGroup
items="{ items} "
size="sm"
maxVisible="3"
/>
}
}
page AvatarGroupExample {
state items = [
{
"name": "Aisha Khan",
"initials": "AK",
"tooltip": "Aisha Khan · Product designer"
} ,
{
"name": "Daniel Lee",
"initials": "DL",
"tooltip": "Daniel Lee · Engineer"
} ,
{
"name": "Maya Patel",
"initials": "MP",
"tooltip": "Maya Patel · Product manager"
} ,
{
"name": "Oliver Reed",
"initials": "OR",
"tooltip": "Oliver Reed · Support"
} ,
{
"name": "Sofia Chen",
"initials": "SC",
"tooltip": "Sofia Chen · Operations"
}
]
view {
<AvatarGroup
items="{ items} "
layout="grid"
maxVisible="3"
/>
}
}
Component outputs Receive every typed component output Use declarative output handlers in .wrn files or register a direct output handler from JavaScript. The canonical API exposes payload and does not require event.detail.
@overflowFires when the component emits the overflow event.
<AvatarGroup
@overflow='console.log(payload)'
/> Direct output handlers.js import { registerOutputHandler } from "@wrnexus/csr/outputs"
const component = document.querySelector("[data-ui-component=\"AvatarGroup\"], [data-component=\"AvatarGroup\"]")
if (component) registerOutputHandler(component, "overflow", (payload) => {
console.log("overflow", payload)
} )
Component API Props and configuration All content and behavior shown above is supplied through these props and slots.
Prop Type Default Required itemsunknown[] []No sizestring "md"No colorstring "primary"No variantstring "solid"No shapestring "circle"No layoutstring "stack"No maxVisiblenumber 4No columnsnumber 3No borderColorstring ""No showTooltipsboolean trueNo overflowLabelstring "Show remaining members"No classstring ""No
}
}