React DatePicker с маской ввода. Контролируемый и неконтролируемый, диапазоны, время, любые локали date-fns. Нулевые издержки, если react-hook-form не нужен.
Печатай подряд — точки расставятся сами. Backspace пропускает разделители, валидность проверяется round-trip'ом.
null
Через daterly/rhf — типобезопасный name, валидация, defaultValues и control из useForm.
// Заполни форму и нажми «Отправить»import { useForm, FormProvider } from 'react-hook-form'
import {
RHFDatePicker,
RHFDateRangePicker,
} from 'daterly/rhf'
const methods = useForm()
<FormProvider {...methods}>
<form onSubmit={methods.handleSubmit(onSubmit)}>
<input {...methods.register('name')} />
<RHFDatePicker
name="birthday"
label="Дата рождения"
/>
<RHFDateRangePicker
name="vacation"
label="Отпуск"
/>
</form>
</FormProvider>ru12 мая 2026enMay 12, 2026de12. Mai 2026<DatePicker
value={d}
onChange={setD}
/>Два пропса покрывают 90% случаев. Остальное — по необходимости.
valueDate | nullКонтролируемое значениеonChange(d: Date|null) => voidКолбэк при измененииformatstringМаска date-fns, напр. dd.MM.yyyylocaleLocaleЛокаль date-fnsrangebooleanДвухфазный выбор диапазонаshowTimebooleanВключить TimePanelРецепты, API и примеры под RHF, Zod, Joi и shadcn/ui — в документации.