Встроенный бейдж показывает статус или счётчик прямо на аватаре; для метки на произвольном контенте возьмите CdsBadge, а для текстовой метки в строке — CdsTag.
Анатомия
Аватар — это контейнер с одним из трёх видов контента и необязательным бейджем в верхнем углу.
Вариации
Контент
Контент задаётся одним из трёх пропсов: image — фотография, icon — иконка, text — инициалы. Если передать несколько, победит image, затем icon.
Размеры
Свойство size принимает токен от xs до xl или число пикселей. Размер по умолчанию — md.
Цвета
Свойство color красит фон аватара с инициалами или иконкой: подойдёт токен темы или любой CSS-цвет.
Бейдж
Свойство badge со значением true показывает точку в углу аватара. Объект передаётся как пропсы CdsBadge: так можно поменять цвет точки, показать счётчик (dot: false и content) или отодвинуть бейдж от края (floating). Слот badge заменяет содержимое бейджа произвольным — например, иконкой.
Отступы
Свойства start и end добавляют отступ со стороны соседнего контента: start — для аватара в начале строки, end — в конце. Так аватар встаёт в текст без обёрток с внешними отступами.
Слоты
| Слот | Описание |
|---|---|
default | Контент аватара. Замещает image, icon и text |
badge | Содержимое бейджа. Отображается вместо точки при badge |
Рекомендации
Сценарии использования
Список участников
В списке людей аватар — быстрый визуальный якорь. Свойство start даёт отступ до текста, фотографии и инициалы чередуются в зависимости от того, что есть у пользователя, а бейдж-точка показывает, кто сейчас в сети.
Группа участников
Когда участников много, а места мало, аватары складывают в стек с небольшим перекрытием — рамка цвета фона отделяет соседей друг от друга. Последний аватар с text="+3" сообщает, сколько человек не поместилось.
Загрузка фото профиля
Пока фотографии нет, аватар показывает инициалы из text — страница не остаётся с пустым кругом. Как только image получает ссылку, фотография замещает инициалы; после удаления фото инициалы возвращаются сами.
API
Пропсы
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
activeColor | string | undefined | — | Цвет компонента, когда он находится в активном состоянии |
badge | boolean | CdsBadgeProps | undefined | false | Бейдж аватара. true показывает точку, объект — пропсы CdsBadge. |
baseColor | string | undefined | — | Цвет неактивного компонента |
bgColor | string | undefined | — | Цвет фона компонента |
color | string | undefined | — | Цвет компонента |
content | string | number | undefined | — | Контент, отображаемый в компоненте. |
end | boolean | undefined | — | Добавляет отступ слева — для использования в конце строки контента. |
icon | IconValue | undefined | — | Иконка, отображаемая в аватаре, если не задано изображение. |
image | string | undefined | — | Источник изображения аватара. Имеет приоритет над icon и text. |
size | number | "xs" | "sm" | "md" | "lg" | "xl" | undefined | 'md' | Размер компонента |
start | boolean | undefined | — | Добавляет отступ справа — для использования в начале строки контента. |
tag | string | JSXComponent<any> | undefined | 'div' | Пользовательский HTML-тег для отображения |
text | string | number | undefined | — | Текст, отображаемый в компоненте. |
textColor | string | undefined | — | Цвет текста компонента |
theme | string | undefined | — | Тема компонента |
Слоты
| Имя | Тип | Описание |
|---|---|---|
badge | any | Содержимое бейджа аватара. |
default | any | Контент аватара. Переопределяет image, icon и text. |