className | string | Partial<Record<"header" | "datePicker" | "monthNav" | "monthLabel" | "weekDays" | "weekDay" | "daysGrid" | "dayCell" | "dayButton", string>> | ClassNameComponent<...> | No | — | Root classes (string), static element classes (object), or state-aware element classes (function). |
minDate | Date | No | — | Minimum selectable date. |
maxDate | Date | No | — | Maximum selectable date. |
shouldDisableDate | (date: Date) => boolean | No | — | Disables specific dates. |
locale | string | No | 'default' | Locale for formatting dates. |
weekStartDay | 0 | 2 | 1 | 3 | 4 | 5 | 6 | No | 0 | First day of the week (0=Sunday, 1=Monday). |
mode | "single" | "range" | No | 'single' | Selects one date. Selects a start/end date period. |
value | Date | DateRange | No | — | The currently selected date. The currently selected [start, end] period. |
defaultValue | Date | DateRange | No | — | Default selected date for uncontrolled usage. Default selected [start, end] period for uncontrolled usage. |
onChange | ((value: Date) => void) | ((value: DateRange) => void) | No | — | Called once for each accepted selection transition. |