import {Avatar} from '@gravity-ui/uikit';
Este componente está diseñado para renderizar avatares. Tiene tres tipos básicos de avatar: imagen, icono y texto (iniciales del nombre). Todos estos tipos tienen propiedades especiales para configurar el comportamiento y la apariencia.
§Tipos
§Imagen
Este componente se puede usar para renderizar avatares con imágenes. Para proporcionar una imagen, usa la imgUrl
propiedad.
<Avatar imgUrl="https://loremflickr.com/640/480/cats?lock=8610182282084352" size="l" />
También puede proporcionar la srcSet
propiedad para cargar imágenes de diferentes tamaños.
<Avatar imgUrl="https://loremflickr.com/640/480/cats?lock=8610182282084352" srcSet="https://loremflickr.com/57/43/cats?lock=2879400393572352 1x, https://loremflickr.com/131/98/cats?lock=4373954936438784 2x, https://loremflickr.com/164/123/cats?lock=3007328513163264 3x, https://loremflickr.com/225/169/cats?lock=8243879964835840 4x" size="l" />
El Avatar
componente tiene la fallbackImgUrl
propiedad que permite proporcionar la imagen que se muestra cuando se produce un error al cargar la imagen, a través del imgUrl
enlace (error de CSP o falta de imagen original).
<Avatar imgUrl="random_link" fallbackImgUrl="https://loremflickr.com/640/480/cats?lock=3552647338524672" size="l" />
§Icono
Este componente se puede usar para renderizar avatares mediante iconos. Utilice la icon
propiedad para proporcionar un icono, tal como lo haría en el caso del Icon
componente.
import {GraduationCap} from '@gravity-ui/icons';
<Avatar icon={GraduationCap} size="l" />
§Texto
Este componente se puede usar para representar avatares usando texto. Usa la text
propiedad para eso. El texto se representa como iniciales (primeras letras de dos palabras) o solo dos primeras letras de una sola palabra.
<Avatar text="Charles Darwin" size="l" />
<Avatar text="Guardian" size="l" />
§Apariencia
§Tema y vista
El Avatar
componente tiene temas (normal
, brand
) y vistas (filled
, outlined
predefinidos.
El tema predeterminado es normal
y la vista predeterminada es filled
.
import {GraduationCap} from '@gravity-ui/icons';
<Avatar icon={GraduationCap} size="l" theme="normal" view="filled" />
<Avatar icon={GraduationCap} size="l" theme="brand" view="filled" />
<Avatar icon={GraduationCap} size="l" theme="normal" view="outlined" />
<Avatar icon={GraduationCap} size="l" theme="brand" view="outlined" />
§Colores personalizados
También puede proporcionar colores personalizados a través de las color
propiedades backgroundColor
borderColor
, y (esta última solo funciona para avatares de iconos y texto). Estos colores tienen una prioridad mayor que los colores del tema.
<Avatar text="Charles Darwin" size="l" backgroundColor="var(--g-color-base-danger-medium)" color="var(--g-color-text-primary)" />
<Avatar text="Charles Darwin" size="l" borderColor="var(--g-color-line-misc)" />
§Tamaño
Usa la size
propiedad para administrar el Avatar
tamaño. El tamaño predeterminado es m
. Los valores posibles son 3xs
2xs
, xs
, s
m
, l
, y xl
.
<Avatar text="Charles Darwin" theme="brand" size="3xs" />
<Avatar text="Charles Darwin" theme="brand" size="2xs" />
<Avatar text="Charles Darwin" theme="brand" size="xs" />
<Avatar text="Charles Darwin" theme="brand" size="s" />
<Avatar text="Charles Darwin" theme="brand" size="m" />
<Avatar text="Charles Darwin" theme="brand" size="l" />
<Avatar text="Charles Darwin" theme="brand" size="xl" />
§Propiedades
§Común
Nombre | Descripción | Tipo | Predeterminado |
---|---|---|---|
tamaño | Tamaño del avatar | '3xs' 'xl' | m |
canción | Tema Avatar | 'normal' 'brand' | normal |
vista | Opciones de rellenado y delineado de avatares | 'filled' 'outlined' | filled |
backgroundColor | Color de fondo personalizado | string | |
borderColor | Color de borde personalizado | string | |
título | title Atributo HTML | string | |
etiqueta aria | aria-label para la sección de avatares | string | |
aria - etiquetada por | aria-labelledby para la sección de avatares | string | |
aria, descrita por | aria-describedby para bloque de avatares | string | |
detalles de aria | aria-details para bloque de avatares | string | |
className | Clase CSS personalizada para el elemento raíz | string | |
estilo | style Atributo HTML | React.CSSProperties | |
qa | data-qa Atributo HTML, usado para realizar pruebas | string |
§Específico de la imagen
Nombre | Descripción | Tipo | Predeterminado |
---|---|---|---|
imgUrl | img src Atributo HTML | string | |
fallbackImgUrl | Se muestra una imagen alternativa si se ha producido un error | string | |
tamaños | img sizes Atributo HTML | string | |
srcSet | img srcSet Atributo HTML | string | |
alt | img alt Atributo HTML | string | props.title |
cargando | img loading Atributo HTML | 'eager' 'lazy' |
§Específico para cada icono
Nombre | Descripción | Tipo | Predeterminado |
---|---|---|---|
icono | Fuente del icono SVG | IconData | |
color | Color de icono personalizado | string |
§Texto específico
Nombre | Descripción | Tipo | Predeterminado |
---|---|---|---|
mensaje | Texto de avatar | string | |
color | Color de texto personalizado | string |
§API CSS
Nombre | Descripción |
---|---|
--g-avatar-size | Tamaño (ancho y alto) |
--g-avatar-border-width | Ancho del borde |
--g-avatar-inner-border-width | Ancho del borde interior |
--g-avatar-border-color | Color del borde |
--g-avatar-background-color | Color de fondo |
--g-avatar-text-color | Color del icono y del texto |
--g-avatar-font-weight | Peso de la fuente del texto |
--g-avatar-font-size | Tamaño de fuente del texto |
--g-avatar-line-height | Altura de línea de texto |