- Prop
src- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- Image URL; on error falls back to initials.
Docs Components Data Display
Avatar
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 avatarFixture = { id: "avatar", name: "Ada Lovelace", initials: "AL", status: "online", size: "md",} satisfies { id: string; name: string; initials: string; status: "online"; size: "sm" | "md" | "lg";}; import { Avatar } from "@grassroot/ui-react"; export default function AvatarDemo() { return ( <div> <Avatar name={avatarFixture.name} initials={avatarFixture.initials} size={avatarFixture.size} status={avatarFixture.status} /> </div> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">const avatarFixture = { id: "avatar", name: "Ada Lovelace", initials: "AL", status: "online", size: "md",} satisfies { id: string; name: string; initials: string; status: "online"; size: "sm" | "md" | "lg";}; import { Avatar } from "@grassroot/ui-vue";</script> <template> <div> <Avatar :name="avatarFixture.name" :initials="avatarFixture.initials" :size="avatarFixture.size" :status="avatarFixture.status" /> </div></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component } from "@angular/core";const avatarFixture = { id: "avatar", name: "Ada Lovelace", initials: "AL", status: "online", size: "md",} satisfies { id: string; name: string; initials: string; status: "online"; size: "sm" | "md" | "lg";}; import { GrassrootAvatar } from "@grassroot/ui-angular"; @Component({ selector: "app-avatar-demo", standalone: true, imports: [GrassrootAvatar], template: ` <div> <grassroot-avatar [name]="fixture.name" [initials]="fixture.initials" [size]="fixture.size" [status]="fixture.status" /> </div> `,})export class AvatarDemoComponent { protected readonly fixture = avatarFixture;} export default AvatarDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> const avatarFixture = { id: "avatar", name: "Ada Lovelace", initials: "AL", status: "online", size: "md", } satisfies { id: string; name: string; initials: string; status: "online"; size: "sm" | "md" | "lg"; }; import { Avatar } from "@grassroot/ui-svelte";</script> <div> <Avatar name={avatarFixture.name} initials={avatarFixture.initials} size={avatarFixture.size} status={avatarFixture.status} /></div>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */import { Avatar } from "@grassroot/ui-solid";const avatarFixture = { id: "avatar", name: "Ada Lovelace", initials: "AL", status: "online", size: "md",} satisfies { id: string; name: string; initials: string; status: "online"; size: "sm" | "md" | "lg";}; import type { JSX } from "solid-js"; export default function AvatarDemo(): JSX.Element { return ( <div> <Avatar name={avatarFixture.name} initials={avatarFixture.initials} size={avatarFixture.size} status={avatarFixture.status} /> </div> );}Installation
API Reference
Import
import { Avatar } from "@grassroot/ui-react";
Props
Prop
Type
Default
Requirement
Description
srcstring | undefined—
optional
Image URL; on error falls back to initials.
namestring | undefined—
optional
Full name — initials are derived from it (also used as alt).
initialsstring | undefined—
optional
Explicit fallback text; overrides derived initials.
size"sm" | "md" | "lg" | undefined"md"optional
—
statusAvatarStatus | undefined—
optional
Presence dot.
- Prop
name- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- Full name — initials are derived from it (also used as alt).
- Prop
initials- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- Explicit fallback text; overrides derived initials.
- Prop
size- Type
"sm" | "md" | "lg" | undefined- Default
"md"- Requirement
- optional
- Description
- —
- Prop
status- Type
AvatarStatus | undefined- Default
- —
- Requirement
- optional
- Description
- Presence dot.
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { Avatar } from "@grassroot/ui-vue";
Props
Prop
Type
Default
Requirement
srcstring | undefined—
optional
namestring | undefined—
optional
initialsstring | undefined—
optional
size"sm" | "md" | "lg" | undefined"md"optional
statusAvatarStatus | undefined—
optional
- Prop
src- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
name- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
initials- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
size- Type
"sm" | "md" | "lg" | undefined- Default
"md"- Requirement
- optional
- Prop
status- Type
AvatarStatus | undefined- Default
- —
- Requirement
- optional
Import
import { Component } from "@angular/core";
import { GrassrootAvatar } from "@grassroot/ui-angular";
Props
Prop
Type
Default
Requirement
srcstring—
optional
namestring—
optional
initialsstring—
optional
size"sm" | "md" | "lg""md"optional
statusAvatarStatus—
optional
- Prop
src- Type
string- Default
- —
- Requirement
- optional
- Prop
name- Type
string- Default
- —
- Requirement
- optional
- Prop
initials- Type
string- Default
- —
- Requirement
- optional
- Prop
size- Type
"sm" | "md" | "lg"- Default
"md"- Requirement
- optional
- Prop
status- Type
AvatarStatus- Default
- —
- Requirement
- optional
Import
import { Avatar } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
srcstring—
optional
namestring—
optional
initialsstring—
optional
size"sm" | "md" | "lg""md"optional
statusAvatarStatus—
optional
classNamestring—
optional
- Prop
src- Type
string- Default
- —
- Requirement
- optional
- Prop
name- Type
string- Default
- —
- Requirement
- optional
- Prop
initials- Type
string- Default
- —
- Requirement
- optional
- Prop
size- Type
"sm" | "md" | "lg"- Default
"md"- Requirement
- optional
- Prop
status- Type
AvatarStatus- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Import
import { Avatar } from "@grassroot/ui-solid";
import type { JSX } from "solid-js";
Props
Prop
Type
Default
Requirement
srcstring—
optional
namestring""optional
initialsstring—
optional
size"sm" | "md" | "lg""md"optional
statusAvatarStatus—
optional
classNamestring—
optional
- Prop
src- Type
string- Default
- —
- Requirement
- optional
- Prop
name- Type
string- Default
""- Requirement
- optional
- Prop
initials- Type
string- Default
- —
- Requirement
- optional
- Prop
size- Type
"sm" | "md" | "lg"- Default
"md"- Requirement
- optional
- Prop
status- Type
AvatarStatus- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.