Для меток с произвольными цветами палитры — категорий, фильтров — подойдёт CdsTag, для счётчиков и точек-пометок в углу элемента — CdsBadge.
Вариации
Статусы
Проп status задаёт один из пяти семантических статусов. Закрепите значения за состояниями объекта: info — нейтральное, progress — процесс идёт, warning — нужно внимание, success — успех, danger — проблема.
Режим отображения
Проп variant управляет заметностью. fill (по умолчанию) — бейдж с цветной заливкой, притягивает взгляд в списках и таблицах. text — без фона, с цветной иконкой статуса и нейтральным текстом: семантика сохраняется, но статус не спорит с окружающим контентом.
Похожую связку «цветная иконка + текст» можно собрать и вручную — из CdsIcon с пропом color и текста рядом. Так вы свободны в выборе иконки и цвета; variant="text" же гарантирует, что иконка и цвет всегда соответствуют семантике статуса.
Индикатор
Проп indicator ставит перед текстом точку цвета статуса. Так статус читается компактнее и хорошо встаёт в плотные списки. В режиме variant="text" точка заменяет иконку.
Пульс
Проп pulse заставляет точку пульсировать и работает только вместе с indicator. Включайте его там, где процесс идёт прямо сейчас: проверка, загрузка, синхронизация. Для завершённых и статичных состояний пульс не нужен — бесконечное движение отвлекает (WCAG 2.2.2). При prefers-reduced-motion пульс выключается.
Смена статуса
Когда статус меняется, цвет заливки, текста и точки переходит плавно, без скачка.
Текст
Текст задаётся пропом text. Когда нужна разметка — выделение, неразрывные пробелы, — используйте слот default: он замещает текст из пропа.
Рекомендации
Сценарии использования
Статусы записей в списке
В списках и таблицах fill-бейдж показывает состояние записи с первого взгляда. Держите словарь статусов коротким и единым для всего раздела — так колонку можно сканировать по цвету, не вчитываясь.
Отслеживание процесса
Статус отражает ход асинхронного процесса: после отправки на проверку объект переходит в progress, по завершении — в success. Пользователь видит текущее состояние без перезагрузки страницы.
Статус в блоке деталей
В плотном инфоблоке — карточке счёта, панели реквизитов — заливка fill перетягивает внимание. Вариант text встаёт в строку с остальными данными: цветная иконка сохраняет семантику, а текст остаётся нейтральным.
API
Пропсы
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
content | string | number | undefined | — | Контент, отображаемый в компоненте. |
indicator | boolean | undefined | — | Точка цвета статуса перед текстом. При variant="text" заменяет иконку. |
pulse | boolean | undefined | — | Пульс точки. Работает только вместе с indicator. Включайте там, где процесс идёт прямо сейчас: бесконечное движение отвлекает и по WCAG 2.2.2 не должно быть у статичных состояний. При prefers-reduced-motion не анимируется. |
status | "progress" | "danger" | "success" | "warning" | "info" | undefined | 'info' | Семантический статус — определяет цвет и дефолтную иконку. |
text | string | number | undefined | — | Текст, отображаемый в компоненте. |
theme | string | undefined | — | Тема компонента |
variant | "fill" | "text" | undefined | 'fill' | Режим отображения: fill — заливка-бейдж без иконки; text — прозрачный фон с цветной иконкой статуса. |
Слоты
| Имя | Тип | Описание |
|---|---|---|
default | any | Слот для текста статуса. |