Avatar

Dale a un avatar un name y ningún src y dibujará las iniciales en vez de una imagen rota. Ese es el respaldo útil para una lista de colaboradores en la que solo algunos tienen foto.

Avatar básico

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

Con imagen

Cuando hay src, el alt recae en el nombre, así que un avatar nunca es una imagen sin etiquetar.

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)' }),
)

Tamaños

El tamaño de letra escala con el avatar, así que las iniciales mantienen la proporción.

PUMUGU
stack({ direction: 'row', gap: 'md', align: 'center' },
  avatar({ name: 'Pequeño Uno', size: 'sm' }),
  avatar({ name: 'Mediano Uno', size: 'md' }),
  avatar({ name: 'Grande Uno', size: 'lg' }),
)

Cuadrado

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

Colores

Un avatar sin imagen toma un fondo suave de la paleta.

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' }),
)

Iconos y otro contenido

Los hijos sustituyen a las iniciales, para un icono o un solo carácter.

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

Grupos

avatarGroup() solapa a sus hijos y colapsa todo lo que pase de max en un recuento.

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' }),
  ),
)

En una lista

  • AL
    Ada Lovelace
    Subió 3 commits a main
  • GH
    Grace Hopper
    Abrió una pull request
list(
  listItem({
    start: avatar({ name: 'Ada Lovelace', size: 'sm' }),
    title: 'Ada Lovelace',
    description: 'Subió 3 commits a main',
  }),
  listItem({
    start: avatar({ name: 'Grace Hopper', size: 'sm', color: 'success' }),
    title: 'Grace Hopper',
    description: 'Abrió una pull request',
  }),
)

Props

PropTipoPor defectoDescripción
namestring—Se usa para las iniciales, el title y como alt de reserva de la imagen.
srcstring—Imagen que se muestra en lugar de las iniciales.
altstring—Texto alternativo de la imagen; recae en name.
size'sm' | 'md' | 'lg''md'Diámetro, y tamaño de letra de las iniciales.
squarebooleanfalseRectángulo redondeado en vez de círculo.
color'primary' | 'neutral' | 'success' | 'warning' | 'danger'—Paleta del fondo de las iniciales.

avatarGroup() admite max — cuántos mostrar antes de colapsar el resto en un recuento — y size, que solo se usa para ese recuento.