Date Picker
Date picker input with Calendar dropdown for single date and range selection.
Preview
March 2026
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Installation
npx drivn add date-pickerUsage
Import DatePicker and manage selection with useState.
1 import { useState } from "react" 2 import { DatePicker } from "@/components/ui/date-picker" 3 4 export default function Page() { 5 const [date, setDate] = useState<Date | undefined>() 6 7 return ( 8 <DatePicker 9 selected={date} 10 onSelect={setDate} 11 /> 12 ) 13 }
Range Selection
Use DatePicker.Range for selecting a date range.
March 2026
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Month / Year Dropdown
Quick navigation with month and year dropdowns.
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Custom Format
Pass a formatDate function to control date display.
March 2026
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Locale
Pass a locale object from react-day-picker/locale to localize the calendar dropdown.
březen 2026
| po | út | st | čt | pá | so | ne |
|---|---|---|---|---|---|---|
API Reference
DatePicker
| Prop | Type | Default | Description |
|---|---|---|---|
selected | Date | undefined | — | The currently selected date |
onSelect | (date: Date | undefined) => void | — | Callback when a date is selected |
placeholder | string | "Pick a date" | Text shown when no date is selected |
formatDate | (date: Date) => string | toLocaleDateString | Custom date formatting function |
disabled | boolean | false | Disables the trigger button |
variant | "default" | "weekNumbers" | "dropdown" | "default" | Calendar variant forwarded to the dropdown |
fromYear | number | currentYear - 20 | First year in the dropdown variant |
toYear | number | currentYear + 20 | Last year in the dropdown variant |
locale | Partial<Locale> | — | Locale object from react-day-picker/locale for localization |
defaultMonth | Date | selected | The month to display on initial render |
className | string | — | Additional CSS classes for the root element |
DatePicker.Range
| Prop | Type | Default | Description |
|---|---|---|---|
selected | DateRange | undefined | — | The currently selected date range ({ from, to }) |
onSelect | (range: DateRange | undefined) => void | — | Callback when a date range is selected |
placeholder | string | "Pick a date range" | Text shown when no range is selected |
formatDate | (date: Date) => string | toLocaleDateString | Custom date formatting function applied to both dates |
disabled | boolean | false | Disables the trigger button |
locale | Partial<Locale> | — | Locale object from react-day-picker/locale for localization |
defaultMonth | Date | selected.from | The month to display on initial render |
className | string | — | Additional CSS classes for the root element |