DataList

DataList — список свойств сущности парами «подпись → значение»: панель деталей задачи, карточка профиля, сводка проекта.

Подпись — всегда текст, значением может быть что угодно: строка, Badge, Date, EntityLabel, кнопка. Компонент отвечает только за раскладку и кегль — внешний вид значения ведёт сам вложенный компонент.

Подписи всех строк выстраиваются в общую колонку по самой длинной из них: колонки объявлены на DataList.Root, а строки подхватывают их через subgrid. Поэтому ширину колонки задавать не нужно, но и строки из разных списков между собой не выравниваются — один блок свойств должен быть одним DataList.Root.

В отличие от Cell это не список сущностей, по которым переходят: ни подложки, ни ховера, ни выбора — только данные. Разметка семантическая (dl / dt / dd), так что пары читаются скринридером как пары.

Статус
В работе
Исполнитель
АП
Анна Петрова
Создана
Проект
Дизайн-система

Анатомия

DataList.Root
DataList.Item
DataList.Label
DataList.Value

Примеры

Значения

Значение — не обязательно текст: в DataList.Value кладётся готовый компонент ДС. Несколько элементов подряд (метки, аватары) выстраиваются в ряд с общим зазором и переносятся по ширине, а не выезжают за колонку.

Название
Перенести настройки в отдельный раздел
Метки
frontendнужен дизайнблокер
Участники
АП
ИС
МК
ПО
Обновлена

Размер

Размер задаётся на DataList.Root и управляет кеглем, зазорами и высотой строки. Ступень наследуется вложенными компонентами — аватар и бейдж в значении едут за списком, пока им не задали свой size. xs и sm — плотная панель свойств сбоку, md — базовый, lg и xl — сводка на всю ширину страницы.

Размер
xs
Владелец
АП
Анна Петрова
Размер
sm
Владелец
АП
Анна Петрова
Размер
md
Владелец
АП
Анна Петрова
Размер
lg
Владелец
АП
Анна Петрова
Размер
xl
Владелец
АП
Анна Петрова

Длинные значения

Длинное значение переносится по строкам, а подпись остаётся на первой из них — строки выравниваются по верху, а не по центру. Колонка подписей ужимается вслед за контейнером: в узкой панели переносится и она.

Проект
Дизайн-система
Ответственный за релиз
Анна Петрова
Описание
Перенести настройки уведомлений из общего раздела в личный кабинет и согласовать формулировки с поддержкой

Панель свойств

Основной сценарий — блок свойств в Panel сбоку от содержимого. Размер sm держит панель плотной, а подписи узкой колонкой оставляют место значениям.

Свойства

API

PropTypeDefault
children*

Строки списка — DataList.Item

ReactNode-
size

Размер компонента

Size-

Наследуется от Pick<VisualProps, K>, HTMLAttributes<HTMLDListElement>

DataList.Item

Строка списка — пара подписи и значения. Занимает обе колонки и наследует их у DataList.Root, поэтому подпись попадает в ту же колонку, что и у соседних строк.

PropTypeDefault
children*

Пара DataList.Label и DataList.Value — одна строка списка

ReactNode-

DataList.Label

Подпись строки (dt) — только текст, приглушённым цветом.

PropTypeDefault
children*

Подпись строки — только текст, приглушённым цветом

ReactNode-

DataList.Value

Значение строки (dd): текст или готовый компонент. Несколько элементов подряд встают в ряд с общим зазором.

PropTypeDefault
children*

Значение строки: текст либо готовый компонент — EntityLabel, Date, Badge, Avatar

ReactNode-