Skip to content
RivetUI

Date Picker

Selects one date or a date range with direct month and year navigation.

@rivetui/date-picker

Preview

Explore each composition interactively, then open its code in the same context.

Default

Select a single local date with direct month and year navigation.

Note
Omit value and defaultValue for an empty picker. disabled and aria-invalid follow the same form-state conventions as other Rivet controls.

Dates are submitted as local YYYY-MM-DD values.

Date range

Collect a start and end date in one coordinated calendar.

Constrained dates

Pass calendar rules through calendarProps when only part of the calendar is selectable.

Registry

Installation

Add the component source and its declared dependencies with the shadcn CLI.

Install component
bunx --bun shadcn@latest add @rivetui/date-picker
Inspect registry item

Public interface

API reference

Component-specific props are listed here. Native element and Base UI props continue to pass through.

DatePicker

PropTypeDefault
valueDate—
defaultValueDate—
onValueChange(date: Date | undefined) => void—
placeholderstring"Select date"
formatLocaleIntl.LocalesArgumentruntime locale
dateFormatIntl.DateTimeFormatOptions{ dateStyle: "medium" }
calendarPropsDayPickerProps—
openboolean—
defaultOpenbooleanfalse
onOpenChange(open: boolean, details) => void—
disabledbooleanfalse
namestring—

DateRangePicker

PropTypeDefault
valueDateRange—
defaultValueDateRange—
onValueChange(range: DateRange | undefined) => void—
placeholderstring"Select date range"
formatLocaleIntl.LocalesArgumentruntime locale
dateFormatIntl.DateTimeFormatOptions{ dateStyle: "medium" }
calendarPropsDayPickerProps—
openboolean—
defaultOpenbooleanfalse
onOpenChange(open: boolean, details) => void—
fromNamestring—
toNamestring—
disabledbooleanfalse
Rivet UI / Date PickerComponents engineered, not decorated.