Skip to content

Props

TemporalDatePicker uses a discriminated union — the available props depend on mode and clearable.

These props are available in all modes.

PropTypeDefaultDescription
mode'single' | 'range''single'Selection mode.
clearablebooleanfalseShow a × button to reset the selection when a value is set.
isDateDisabled(date: Temporal.PlainDate) => booleanundefinedReturn true to disable a date. Disabled dates are not clickable or keyboard-focusable. In range mode, they also block range crossing.
showWeekNumbersbooleanfalseShow ISO week numbers as an extra column on the left.
classNamestring''Additional CSS class on the root element.
localestringnavigator.languageBCP 47 locale tag controlling month names, weekday labels, and day aria-label strings.
labelsPartial<Labels>English stringsOverride any UI string. See Internationalization.
renderDayContent(date: Temporal.PlainDate, state: DayState) => ReactNodeundefinedCustom renderer for each day cell. Falls back to the day number.
PropTypeDescription
valueTemporal.PlainDate | undefinedCurrently selected date.
onChange(date: Temporal.PlainDate) => voidCalled when the user selects a date.

When clearable={true}, onChange is widened to (date: Temporal.PlainDate | undefined) => void.

PropTypeDescription
valueDateRange | undefinedCurrently selected range.
onChange(range: DateRange) => voidCalled on each click. Fires with end: null after the first click, and with both dates set after the second.

When clearable={true}, onChange is widened to (range: DateRange | undefined) => void.