Date
Date — дата в интерфейсе: форматирует значение паттерном date-fns с русской локалью либо показывает относительное время («через 3 дня») с тултипом на точную дату. Рендерится тегом time с машинным dateTime. Компонент ничего не знает про смысл даты — цвет и иконку задаёт потребитель через getAppearance.
Использует: Tooltip
Анатомия
Примеры
value
Сама дата. Принимает объект Date, ISO-строку (в таком виде дата приходит из API) или timestamp — приведение компонент берёт на себя.
format
Паттерн date-fns; локаль всегда русская, так что название месяца и дня недели переводить не нужно. По умолчанию — "d MMMM yyyy".
Относительное времяformat
Значение "relative" вместо паттерна: дата показывается относительно текущего момента и обрастает тултипом с точной датой и временем.
Дедлайн
getAppearance вызывается с датой и текущим моментом и возвращает вариант цвета и иконку — так дата становится дедлайном: меньше двух часов — danger, меньше суток — warning, дальше — обычный приглушённый текст. Правило живёт у потребителя, компонент только рисует.
API
| Prop | Type | Default |
|---|---|---|
value*Дата: объект Date, ISO-строка или timestamp | globalThis.Date | string | number | - |
formatПаттерн date-fns ("d MMMM yyyy" по умолчанию) либо "relative" — относительная дата («через 3 дня») с тултипом на полную дату | string | "relative" | "d MMMM yyyy" |
getAppearanceПравила отображения: цвет и иконка в зависимости от даты. Вызывается с датой и текущим моментом, например «до дедлайна меньше двух часов — danger с иконкой». Без него — приглушённый текст без иконки | ( value: globalThis.Date, now: globalThis.Date, ) => { variant?: Variant; icon?: Icon } | undefined | - |