Search

Search the site

All components

Smart Date Picker

Premium date/time picker with calendar, ranges, timezone, natural-language parsing, recurrence rules, availability overlays, and conflict hints for scheduling flows.

Default
Single date with time, presets, natural language, and availability overlay.

Selected: Fri Jun 12 2026 at 10:00

Sign in to view this example's source code.

Sign in
Range
Two-click range selection with unavailable days disabled.

Click start, then end. Unavailable days are disabled.

Sign in to view this example's source code.

Sign in
Scheduling
Booking scenario: timezone, weekly recurrence, custom parser, conflict detection.

Try “team standup” for the custom parser, “every Monday for the next 3 weeks”, or pick a day that overlaps demo blocked slots (days +2 and +5) to see conflict detection.

Sign in to view this example's source code.

Sign in

Props

NameTypeDefaultDescription
mode"single" | "range""single"Single date/time or start–end range selection
value / onChangeDateTimeSelection | DateRangeSelection | nulluncontrolled if omittedControlled selection state
timezone / onTimezoneChangestringbrowser timezoneIANA timezone for display and scheduling context
recurrence / onRecurrenceChangeRecurrenceRulenoneRepeat rule builder (daily/weekly/monthly/yearly)
availabilityAvailabilityDay[][]Per-day availability and load overlay on the calendar grid
conflictsScheduleConflict[][]External conflict messages shown in the footer
presetsSmartDatePickerPreset[]Today, Tomorrow, Next week, Next 7 daysQuick scheduling chips
onParseNaturalLanguage(input: string) => ParseResult | Promise<ParseResult>built-in heuristic parserSwap in your own NLP/LLM parser for AI-friendly input
onQuickSchedule(selection) => voidundefinedCalled when Apply is pressed with a valid selection
showTime / showTimezone / showRecurrencebooleantrueToggle schedule tab sections
weekStartsOn0 | 11 (Monday)Calendar week start