Avatar

Primitive Content draft Gen UI part

A person. Shows an initial or label on a color; empty marks an open seat.

Examples

HTML and CSS

Framework-free reference. Styles live in system/components/avatar.css and read only tokens. Wrap markup in .v-root.

Rendered markup of the anatomy example

Props and slots

The component API. Gen UI JSON uses these names, and the Flutter widget should mirror them.

Props

PropValuesDefault
name *string
labelstring
sizexs | sm | md | lgsm
coloraccent | accent-2 | accent-dark | sage-dark | neutral | photo | emptyneutral
statusnone | onlinenone

* required.

Slot rules

No slots. This part takes no children.

In Gen UI

How VelioBot uses this part. The bot returns JSON; the validator checks it; the renderer draws it.

JSON node

Every node may also carry id, grow, attribution, privateOnly and fallbackText.

Rules that name this part

listitem-leading List item leading: Icon, Avatar, Avatar stack, Image, Checkbox, Radio (and Time in stacked format).

listitem-trailing List item trailing: Text, Amount, Time, Badge, an icon, text or small secondary/tonal Button, Toggle, Checkbox, Chip, Icon, Avatar.

group-attribution In group context every card shows who triggered it (a Text or Avatar with attribution: true).

Usage in recipes

18 of the original cards use it. Needed for V1. Priority table

Bot functions: Bill split and payments, Bot foundation, Calendar and itinerary, Community and PopTonight picks, Email connect, Friend catchups, Friends nearby, Group plans, Meet new people, Occasions and events, Plan capture, Plan day and live ETA, Trips, Trust and vouches, Voice calls with notes, all functions.