AvatarGroup
A compact row of avatars that collapses overflow into a +N count.
beta
Examples
Reviewers
- MC
- LF
- PS
<script lang="ts">
import AvatarGroup from '@tcpsystems/ui/foundation/AvatarGroup';
</script>
<AvatarGroup items={[
{ name: 'Maya Chen' },
{ name: 'Leon Fischer' },
{ name: 'Priya Shah' }
]} />Overflow
- MC
- LF
- +3
<script lang="ts">
import AvatarGroup from '@tcpsystems/ui/foundation/AvatarGroup';
import Stack from '@tcpsystems/ui/foundation/Stack';
import Button from '@tcpsystems/ui/foundation/Button';
const items = [{ name: 'Maya Chen' }, { name: 'Leon Fischer' }, { name: 'Priya Shah' }, { name: 'Sam Rivera' }, { name: 'Nora Ali' }];
let expanded = $state(false);
</script>
<Stack>
<AvatarGroup {items} max={expanded ? items.length : 2} />
<Button size="sm" aria-expanded={expanded} onclick={() => expanded = !expanded}>{expanded ? 'Show fewer reviewers' : 'Show all reviewers'}</Button>
</Stack>Sizes
- MC
- LF
- MC
- LF
- MC
- LF
<script lang="ts">
import AvatarGroup from '@tcpsystems/ui/foundation/AvatarGroup';
import Stack from '@tcpsystems/ui/foundation/Stack';
const items = [{ name: 'Maya Chen' }, { name: 'Leon Fischer' }];
</script>
<Stack>
<AvatarGroup {items} size="sm" />
<AvatarGroup {items} />
<AvatarGroup {items} size="lg" />
</Stack>API
import AvatarGroup from '@tcpsystems/ui/foundation/AvatarGroup';| Prop | Type | Default |
|---|---|---|
items | Item[] | none |
max? | number | 4 |
size? | 'sm' | 'md' | 'lg' | 'md' |
| Hook | Kind |
|---|---|
.tcp-avatar-group | Root class |
data-size | Data attribute |