Status

Метка состояния с цветным маркером и текстовой подписью. Маркер — цветная точка, спиннер (loading) или круговой прогресс-бар (progress).

Демо

Preview
Prop
Type
Value
appearance
neutral | red | orange | yellow | green | blue | violet | pink
background
boolean
data-test-id
text
label
text
loading
boolean
size
xs | s
Code
<Status appearance="green" background={false} loading={false} size="xs" label="Active" />

Когда использовать

  • Статус записи в списке / таблице: «Active», «Suspended», «Pending».
  • Состояние асинхронной операции со спиннером (loading).
  • Отображение прогресса обработки (progress=0..100) в компактном виде.

Когда не нужен: динамический чип с удалением — берите Chip/Tag. Промо-метка без функциональной семантики — берите PromoTag.

Анатомия

Size

xs — для плотных таблиц и инлайновых меток, s — дефолт в карточках и заголовках.

Appearance

Семантический цвет: neutral — нейтральный, green — успех/активно, red — ошибка/критично, orange/yellow — предупреждение, blue — информация, violet/pink — декоративные.

Установка

pnpm add @cloud-ru/ds-status
import { Status } from '@cloud-ru/ds-status'

Примеры использования

Активный статус

Активный статус
tsx
import { Status } from '@cloud-ru/ds-status';

export function Active() {
  return <Status label='Active' appearance='green' />;
}

Loading

LoadingСпиннер вместо точки, appearance принудительно neutral.
tsx
import { Status } from '@cloud-ru/ds-status';

export function Loading() {
  return <Status label='Processing' loading />;
}

С фоном

С фономbackground — визуально выделяет строку.
tsx
import { Status } from '@cloud-ru/ds-status';

export function WithBackground() {
  return <Status label='Error' appearance='red' background />;
}

Props

Types

PropsStatusProps
PropTypeDefaultRequiredDescription
appearance"blue" | "green" | "neutral" | "orange" | "pink" | "red" | "violet" | "yellow"neutralnoВнешний вид (цветовая схема)
backgroundbooleanfalsenoНаличие фона
classNamestringnoCSS-класс
data-test-idstringno
innerRefRef<HTMLDivElement>noRef на корневой DOM-элемент. Используем явный проп, чтобы не зависеть от `forwardRef` и не тащить type-assertions на экспорт.
labelstringyesПодпись к индикатору (точка с текстом). Если не передано — только точка
loadingbooleanfalsenoСостояние загрузки
progressnumbernoПрогресс загрузки (от 0 до 100)
size"s" | "xs"snoРазмер индикатора и подписи

Unions

Types

StatusProps

Unions

Storybook

Figma