- Prop
class- Type
string- Default
- —
- Requirement
- optional
Docs Components Data Display
AvatarStack
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
const avatarStackFixture = { id: "avatar-stack", label: "On-call team", avatars: [ { name: "Ada Lovelace", initials: "AL" }, { name: "Grace Hopper", initials: "GH" }, { name: "Margaret Hamilton", initials: "MH" }, ],} satisfies { id: string; label: string; avatars: Array<{ name: string; initials: string }>;}; import { Avatar, AvatarStack } from "@grassroot/ui-react"; export default function AvatarStackDemo() { return ( <div> <AvatarStack aria-label={avatarStackFixture.label}> {avatarStackFixture.avatars.map((avatar) => ( <Avatar key={avatar.name} name={avatar.name} initials={avatar.initials} /> ))} </AvatarStack> </div> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">const avatarStackFixture = { id: "avatar-stack", label: "On-call team", avatars: [ { name: "Ada Lovelace", initials: "AL" }, { name: "Grace Hopper", initials: "GH" }, { name: "Margaret Hamilton", initials: "MH" }, ],} satisfies { id: string; label: string; avatars: Array<{ name: string; initials: string }>;}; import { AvatarStack, Avatar } from "@grassroot/ui-vue";</script> <template> <div> <AvatarStack :aria-label="avatarStackFixture.label"> <Avatar v-for="avatar in avatarStackFixture.avatars" :key="avatar.name" :name="avatar.name" :initials="avatar.initials" /> </AvatarStack> </div></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component } from "@angular/core";const avatarStackFixture = { id: "avatar-stack", label: "On-call team", avatars: [ { name: "Ada Lovelace", initials: "AL" }, { name: "Grace Hopper", initials: "GH" }, { name: "Margaret Hamilton", initials: "MH" }, ],} satisfies { id: string; label: string; avatars: Array<{ name: string; initials: string }>;}; import { GrassrootAvatarStack, GrassrootAvatar } from "@grassroot/ui-angular"; @Component({ selector: "app-avatar-stack-demo", standalone: true, imports: [GrassrootAvatarStack, GrassrootAvatar], template: ` <div> <grassroot-avatar-stack [attr.aria-label]="fixture.label"> @for (avatar of fixture.avatars; track avatar.name) { <grassroot-avatar [name]="avatar.name" [initials]="avatar.initials" /> } </grassroot-avatar-stack> </div> `,})export class AvatarStackDemoComponent { protected readonly fixture = avatarStackFixture;} export default AvatarStackDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> const avatarStackFixture = { id: "avatar-stack", label: "On-call team", avatars: [ { name: "Ada Lovelace", initials: "AL" }, { name: "Grace Hopper", initials: "GH" }, { name: "Margaret Hamilton", initials: "MH" }, ], } satisfies { id: string; label: string; avatars: Array<{ name: string; initials: string }>; }; import { AvatarStack, Avatar } from "@grassroot/ui-svelte";</script> <div> <AvatarStack aria-label={avatarStackFixture.label}> {#each avatarStackFixture.avatars as avatar (avatar.name)} <Avatar name={avatar.name} initials={avatar.initials} /> {/each} </AvatarStack></div>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */import { Avatar, AvatarStack } from "@grassroot/ui-solid";const avatarStackFixture = { id: "avatar-stack", label: "On-call team", avatars: [ { name: "Ada Lovelace", initials: "AL" }, { name: "Grace Hopper", initials: "GH" }, { name: "Margaret Hamilton", initials: "MH" }, ],} satisfies { id: string; label: string; avatars: Array<{ name: string; initials: string }>;}; import type { JSX } from "solid-js"; export default function AvatarStackDemo(): JSX.Element { return ( <div> <AvatarStack aria-label={avatarStackFixture.label}> {avatarStackFixture.avatars.map((avatar) => ( <Avatar name={avatar.name} initials={avatar.initials} /> ))} </AvatarStack> </div> );}Installation
API Reference
Import
import { Avatar, AvatarStack } from "@grassroot/ui-react";
Content regions
children
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { AvatarStack, Avatar } from "@grassroot/ui-vue";
Content regions
default
Import
import { Component } from "@angular/core";
import { GrassrootAvatarStack, GrassrootAvatar } from "@grassroot/ui-angular";
Content regions
default
Import
import { AvatarStack, Avatar } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
classstring—
optional
Content regions
children
Import
import { Avatar, AvatarStack } from "@grassroot/ui-solid";
import type { JSX } from "solid-js";
Props
Prop
Type
Default
Requirement
classNamestring—
optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Content regions
children
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.