Skip to content

CdsAvatar

New in v4.0

Аватар показывает пользователя, команду или компанию: фотографию, инициалы или иконку в круглом контейнере. Используйте его в списках участников, комментариях, шапке профиля — везде, где нужно быстро узнать «кто это».

Storybook GitLab
Покрытие тестами: 100% — хорошее покрытие
API в спеках
17 / 17 пропсы, события, слоты и exposed, у которых есть тест
Тест-кейсы
25 юнит · 0 браузерных · 2 в планах
Известные баги
2 зафиксированы тестом it.fails
Покрытие кода
100% строк · 100% ветвей замер v4.0.0-alpha.13
A11y (axe)
8 рекомендаций в 10 историях замер v4.0.0-alpha.11

Встроенный бейдж показывает статус или счётчик прямо на аватаре; для метки на произвольном контенте возьмите CdsBadge, а для текстовой метки в строке — CdsTag.

Анатомия ​

Аватар — это контейнер с одним из трёх видов контента и необязательным бейджем в верхнем углу.

Вариации ​

Контент ​

Контент задаётся одним из трёх пропсов: image — фотография, icon — иконка, text — инициалы. Если передать несколько, победит image, затем icon.

Sandbox Storybook

Размеры ​

Свойство size принимает токен от xs до xl или число пикселей. Размер по умолчанию — md.

Sandbox Storybook

Цвета ​

Свойство color красит фон аватара с инициалами или иконкой: подойдёт токен темы или любой CSS-цвет.

Sandbox Storybook

Бейдж ​

Свойство badge со значением true показывает точку в углу аватара. Объект передаётся как пропсы CdsBadge: так можно поменять цвет точки, показать счётчик (dot: false и content) или отодвинуть бейдж от края (floating). Слот badge заменяет содержимое бейджа произвольным — например, иконкой.

Sandbox Storybook

Отступы ​

Свойства start и end добавляют отступ со стороны соседнего контента: start — для аватара в начале строки, end — в конце. Так аватар встаёт в текст без обёрток с внешними отступами.

Sandbox Storybook

Слоты ​

СлотОписание
defaultКонтент аватара. Замещает image, icon и text
badgeСодержимое бейджа. Отображается вместо точки при badge

Рекомендации ​

Сценарии использования ​

Список участников ​

В списке людей аватар — быстрый визуальный якорь. Свойство start даёт отступ до текста, фотографии и инициалы чередуются в зависимости от того, что есть у пользователя, а бейдж-точка показывает, кто сейчас в сети.

Sandbox Storybook

Группа участников ​

Когда участников много, а места мало, аватары складывают в стек с небольшим перекрытием — рамка цвета фона отделяет соседей друг от друга. Последний аватар с text="+3" сообщает, сколько человек не поместилось.

Sandbox Storybook

Загрузка фото профиля ​

Пока фотографии нет, аватар показывает инициалы из text — страница не остаётся с пустым кругом. Как только image получает ссылку, фотография замещает инициалы; после удаления фото инициалы возвращаются сами.

Sandbox Storybook

API ​

Пропсы

ИмяТипПо умолчаниюОписание
activeColorstring | undefined—Цвет компонента, когда он находится в активном состоянии
badgeboolean | CdsBadgeProps | undefinedfalseБейдж аватара. true показывает точку, объект — пропсы CdsBadge.
baseColorstring | undefined—Цвет неактивного компонента
bgColorstring | undefined—Цвет фона компонента
colorstring | undefined—Цвет компонента
contentstring | number | undefined—Контент, отображаемый в компоненте.
endboolean | undefined—Добавляет отступ слева — для использования в конце строки контента.
iconIconValue | undefined—Иконка, отображаемая в аватаре, если не задано изображение.
imagestring | undefined—Источник изображения аватара. Имеет приоритет над icon и text.
sizenumber | "xs" | "sm" | "md" | "lg" | "xl" | undefined'md'Размер компонента
startboolean | undefined—Добавляет отступ справа — для использования в начале строки контента.
tagstring | JSXComponent<any> | undefined'div'Пользовательский HTML-тег для отображения
textstring | number | undefined—Текст, отображаемый в компоненте.
textColorstring | undefined—Цвет текста компонента
themestring | undefined—Тема компонента

Слоты

ИмяТипОписание
badgeanyСодержимое бейджа аватара.
defaultanyКонтент аватара. Переопределяет image, icon и text.