Awatar

Daj awatarowi name i żadnego src, a wyrenderuje inicjały zamiast zepsutego obrazka. To użyteczne zabezpieczenie dla listy współtwórców, w której tylko część ma zdjęcie.

Podstawowy awatar

ALGHAT
stack({ direction: 'row', gap: 'md', align: 'center' },
  avatar({ name: 'Ada Lovelace' }),
  avatar({ name: 'Grace Hopper' }),
  avatar({ name: 'Alan Turing' }),
)

Z obrazem

Gdy ustawisz src, alt wraca do nazwy — więc awatar nigdy nie jest nieopisanym obrazem.

sitelositelo
stack({ direction: 'row', gap: 'md', align: 'center' },
  avatar({ src: '/logo.svg', alt: 'sitelo', style: 'background: var(--su-surface-2)' }),
  avatar({ src: '/logo.svg', name: 'sitelo', square: true, style: 'background: var(--su-surface-2)' }),
)

Rozmiary

Rozmiar czcionki skaluje się z awatarem, więc inicjały pozostają proporcjonalne.

MJŚJDJ
stack({ direction: 'row', gap: 'md', align: 'center' },
  avatar({ name: 'Mały Jeden', size: 'sm' }),
  avatar({ name: 'Średni Jeden', size: 'md' }),
  avatar({ name: 'Duży Jeden', size: 'lg' }),
)

Kwadratowy

PAPB
stack({ direction: 'row', gap: 'md', align: 'center' },
  avatar({ name: 'Projekt A', square: true }),
  avatar({ name: 'Projekt B', square: true, color: 'success' }),
)

Kolory

Awatar bez obrazu dostaje tło z miękkiej palety.

PNSWD
stack({ direction: 'row', gap: 'md', align: 'center', wrap: true },
  avatar({ name: 'Primary', color: 'primary' }),
  avatar({ name: 'Neutral', color: 'neutral' }),
  avatar({ name: 'Success', color: 'success' }),
  avatar({ name: 'Warning', color: 'warning' }),
  avatar({ name: 'Danger', color: 'danger' }),
)

Ikony i inna treść

Dzieci nadpisują inicjały, na ikonę albo pojedynczy znak.

?
stack({ direction: 'row', gap: 'md', align: 'center' },
  avatar({ color: 'neutral' },
    icon('user'),
  ),
  avatar({ color: 'primary' }, '?'),
)

Grupy

avatarGroup() nakłada swoje dzieci na siebie i zwija wszystko powyżej max do licznika.

ALGHAT
ALGHAT+3
ALGH+1
stack({ gap: 'md' },
  avatarGroup(
    avatar({ name: 'Ada Lovelace' }),
    avatar({ name: 'Grace Hopper' }),
    avatar({ name: 'Alan Turing' }),
  ),
  avatarGroup({ max: 3 },
    avatar({ name: 'Ada Lovelace' }),
    avatar({ name: 'Grace Hopper' }),
    avatar({ name: 'Alan Turing' }),
    avatar({ name: 'Katherine Johnson' }),
    avatar({ name: 'Barbara Liskov' }),
    avatar({ name: 'Margaret Hamilton' }),
  ),
  avatarGroup({ max: 2, size: 'sm' },
    avatar({ name: 'Ada Lovelace', size: 'sm' }),
    avatar({ name: 'Grace Hopper', size: 'sm' }),
    avatar({ name: 'Alan Turing', size: 'sm' }),
  ),
)

Na liście

  • AL
    Ada Lovelace
    Wypchnęła 3 commity na main
  • GH
    Grace Hopper
    Otworzyła pull request
list(
  listItem({
    start: avatar({ name: 'Ada Lovelace', size: 'sm' }),
    title: 'Ada Lovelace',
    description: 'Wypchnęła 3 commity na main',
  }),
  listItem({
    start: avatar({ name: 'Grace Hopper', size: 'sm', color: 'success' }),
    title: 'Grace Hopper',
    description: 'Otworzyła pull request',
  }),
)

Propsy

PropTypDomyślnieOpis
namestring—Używane do inicjałów, atrybutu title i zapasowego alt obrazu.
srcstring—Obraz pokazywany zamiast inicjałów.
altstring—Tekst alternatywny obrazu; wraca do name.
size'sm' | 'md' | 'lg''md'Średnica i rozmiar czcionki inicjałów.
squarebooleanfalseZaokrąglony prostokąt zamiast koła.
color'primary' | 'neutral' | 'success' | 'warning' | 'danger'—Paleta tła pod inicjały.

avatarGroup() przyjmuje max — ile pokazać, zanim zwinie resztę do licznika — oraz size, używany tylko dla tego licznika.