Avatar

Maintainer:
DakEnviy
GitHub
size
theme
view
imgUrl
fallbackImgUrl
sizes
srcSet
alt
icon
text
backgroundColor
borderColor
color
title
import {Avatar} from '@gravity-ui/uikit';

Данный компонент предназначен для рендеринга аватаров. Он поддерживает три основных типа аватаров: изображение, иконку и текст (инициалы). Все эти типы имеют специальные свойства для настройки их поведения и внешнего вида.

Типы

Изображение

Компонент Avatar можно применять для рендеринга аватаров с использованием изображений. Для добавления изображения используйте свойство imgUrl.

Дополнительно можно передать свойство srcSet, которое позволяет загружать изображения разных размеров.

У компонента Avatar есть свойство fallbackImgUrl, которое позволяет передать изображение, которое будет показано при ошибке загрузки изображения по ссылке imgUrl (ошибка CSP или отсутствие исходного изображения).

Иконка

Этот компонент можно применять для рендеринга аватаров с использованием иконок. Чтобы задать иконку, используйте свойство icon точно так же, как для компонента Icon.

Текст

Этот компонент можно применять для рендеринга аватаров с использованием текста. Для этого используйте свойство text. Текст отображается в виде инициалов (первых букв двух слов) или первых двух букв одного слова.

Внешний вид

Тема и вид

Компонент Avatar имеет предустановленные темы (normal и brand) и виды (filled и outlined).

По умолчанию тема — normal, а вид — filled.

Пользовательские цвета

Можно также задать собственные цвета через свойства backgroundColor, borderColor и color (последнее работает только для аватарок с иконками и текстом). Эти цвета обладают бóльшим приоритетом по сравнению с цветами, которые заданы в темах.

Размер

Размер Avatar можно настроить с помощью свойства size. Размер по умолчанию — m. Возможные значения: xs, s, m, l и xl.

Форма

Форму Avatar можно настроить с помощью свойства shape. Форма по умолчанию — circle. Возможные значения: circle и square.

Свойства

Общие

ИмяОписаниеТипЗначение по умолчанию
sizeРазмер аватара.'xs' 's' 'm' 'l' 'xl'm
themeТема аватара.'normal' 'brand'normal
viewВарианты заполнения и обводки аватара.'filled' 'outlined'filled
shapeФорма аватара.'circle' 'square'circle
backgroundColorПользовательский цвет фона.string
borderColorПользовательский цвет границы.string
titleHTML-атрибут title.string
aria-labelАтрибут aria-label для секции аватара.string
aria-labelledbyАтрибут aria-labelledby для секции аватара.string
classNameПользовательский CSS-класс корневого элемента.string
styleHTML-атрибут style.React.CSSProperties
qaHTML-атрибут data-qa, используется для тестирования.string

Свойства изображений

ИмяОписаниеТипЗначение по умолчанию
imgUrlHTML-атрибут src для img.string
fallbackImgUrlРезервное изображение, отображаемое в случае ошибки.string
sizesHTML-атрибут sizes для img.string
srcSetHTML-атрибут srcSet для img.string
altHTML-атрибут alt для img.stringprops.title
loadingHTML-атрибут loading для img.'eager' 'lazy'
withImageBorderДобавляет обводку по умолчанию для изображенияboolean

Свойства иконки

ИмяОписаниеТипЗначение по умолчанию
iconИсточник SVG-иконки.IconData
colorПользовательский цвет иконки.string

Свойства текста

ИмяОписаниеТипЗначение по умолчанию
textТекст, отображаемый на аватаре.string
colorПользовательский цвет текста.string

API CSS

ИмяОписание
--g-avatar-sizeРазмер (ширина и высота).
--g-avatar-background-colorЦвет фона.
--g-avatar-border-colorЦвет границы.
--g-avatar-colorЦвет иконки и текста.
--g-avatar-font-sizeРазмер шрифта текста.
--g-avatar-line-heightВысота строки текста.