DatePicker
Выбор даты: Popover с Calendar (mode="single") и кнопкой-триггером
(Button outline + иконка + отформатированная дата через
date-fns). Вариант base — управляемый композит
(value: Date | undefined / onChange), выбор даты сам закрывает поповер. В форме
DatePicker кладётся в component как есть: значение поля Date | null, к контракту
композита его сводит обёртка поля по статике datePickerAdapter. Формат подписи настраивается через
dateFormat, текст пустого состояния — через placeholder.
Период и несколько дат — отдельные компоненты того же подпути, у каждого свой тип значения:
DatePickerRange— период, значение[Date, Date] | null. Выбор в два клика: начало, затем конец; пока выбрано только начало, значение поля не меняется. Кортеж, а не объект{ from, to }: массив модели становится полем при любом начальном значении, в том числе с готовым периодом.DatePickerMulti— несколько дат, значениеDate[] | nullпо возрастанию. Клик добавляет день, повторный — снимает;maxItemsгасит невыбранные дни (правило формы —maxLength(n)).
У обоих есть clearable — крестик сброса у правого края кнопки — и numberOfMonths.
Компонент тяжёлый (тянет react-day-picker) — импортируется из подпути
@reformer/ui-kit/date-picker, а не из главного barrel.
Variants — готовые конфигурации компонента: один и тот же компонент с разными преднастроенными пропсами. Витрина состояний (напр. обычный Select и Select с расширенной информацией — два варианта).
Examples — приёмы в коде: как решить задачу. Напр. как разные Data Provider’ы работают с компонентом (рецепты использования).