---
## AvatarGroup
Stacks avatars into an overlapping row with an optional "+N" overflow chip —
the canonical way to show a set of collaborators, assignees or participants compactly.
Data-driven: pass an `items` array of Avatar props; the group propagates a shared `size`
and a cut-out ring so the stack reads cleanly on any surface.
**Import:** `import { AvatarGroup } from '@urbicon-ui/blocks';`
### Examples
```svelte
```
```svelte
```
### Variants
- spacing: loose, normal, tight (default: normal)
### Api
| Prop | Type | Required | Default | Description |
| --- | --- | :---: | --- | --- |
| items | `AvatarProps[]` | yes | | The avatars to stack. Each entry is a full set of Avatar props (src, name, status, …). |
| ...AvatarGroupVariants | `VariantProps` | no | | Styling variants from AvatarGroupVariants |
| ...HTMLAttributes | `HTMLAttributes` | no | | HTML attributes (excluding: 'children' | 'class') |
| borderColor | `string` | no | 'var(--color-surface-base)' | Ring colour drawn around each avatar so the overlap reads as a cut-out. Any CSS colour; defaults to the base surface so the stack looks punched out of the page. |
| class | `string` | no | | Additional CSS class merged onto the root row. |
| max | `number` | no | | Maximum avatars to render. When `items` exceeds it, `max - 1` avatars are shown plus a single "+N" overflow chip — where N is the count of hidden avatars — so the total rendered count is exactly `max`. Unset (or `0`/negative) shows every avatar with no chip; use `≥ 2` so the chip sits alongside at least one visible face. |
| preset | `string` | no | | Apply a named preset registered via ``. Prefer this over `class` overrides when the requested look falls outside the semantic palette. |
| size | `AvatarProps['size']` | no | | Shared size applied to every avatar and the overflow chip — xs, sm, md (default), lg, xl, 2xl. |
| slotClasses | `Partial>` | no | | Per-slot class overrides. Slots: base | overflow |
| spacing | `'tight' | 'normal' | 'loose'` | no | | Overlap amount between avatars — tight, normal (default), loose. |
| unstyled | `boolean` | no | | Strip all default styles; combine with slotClasses to rebuild from scratch. |
Inherited from:
- AvatarGroupVariants (external)
- Omit, 'children' | 'class'> (omit-pattern)
### Types
```ts
type MintProp = | string
| { name: string; config?: MintConfig & Record }
| Array
| Array }>
```
```ts
type SlotNames = keyof ReturnType & string
```
```ts
type VariantProps = Omit<
Exclude[0], undefined>,
'class'
>
```
```ts
interface MintConfig {
trigger?: 'hover' | 'click' | 'focus' | 'load';
duration?: number;
delay?: number;
easing?: string;
disabled?: boolean;
}
```
### Slots (slotClasses keys)
`base`, `overflow`