Calendar
Пакет @cloud-ru/ds-calendar объединяет полноэкранный и встраиваемый календарь с клавиатурной навигацией и два варианта выбора времени: встроенный TimePicker и TimePickerDropdown на базе Dropdown для полей с триггером.
- Calendar — выбор даты, даты со временем, диапазонов и месяцев/лет в режимах
CALENDAR_MODE. - TimePicker — выбор часов, минут и опционально секунд в потоке формы.
- TimePickerDropdown — то же время в выпадающей панели с кнопками действий и настройками позиционирования триггера.
Когда использовать
- Нужен выбор периода или точечной даты с доступностью с клавиатуры и поддержкой локали.
- Время задаётся отдельно от даты или внутри поля — берите
TimePickerилиTimePickerDropdownпо контексту (inline vs popover).
Когда не подходит: для простого текстового поля с маской без визуального календаря рассмотрите нативный input type="date" или поле с маской; для таймзон и сложного расписания — специализированные виджеты.
Установка
pnpm add @cloud-ru/ds-calendar
import { Calendar, CALENDAR_MODE, TimePicker, TimePickerDropdown } from '@cloud-ru/ds-calendar'
Адаптивность
Триггерные CalendarDropdown и TimePickerDropdown переключают поверхность (surface-swap): на desktop — popover над триггером (@cloud-ru/ds-dropdown), на mobile — BottomSheet из @cloud-ru/ds-bottom-sheet. Раскладка берётся из AdaptiveProvider (контекст @cloud-ru/ds-adaptive), пропа layoutType нет. Встраиваемые Calendar и TimePicker desktop-only и не адаптируются.
Детали поведения на mobile — на страницах Calendar и TimePickerDropdown. Общая модель — Adaptive.
Figma
Макеты разбиты по узлам в библиотеке FF-8179 (сетка дней, месяцев, лет, барабан времени). Конкретные embed — на страницах компонентов ниже.
Смотри также
- Паттерны календаря и времени — контролируемое значение, локаль и составление с полями формы.