Skip to content
Drivn logoDrivn

Calendar

Date picker powered by react-day-picker with single date, range selection, week numbers, and month/year dropdown.

Preview

March 2026

Installation

npx drivn add calendar

Usage

Import Calendar and manage selection with useState.

1import { useState } from "react"
2import { Calendar } from "@/components/ui/calendar"
3
4export default function Page() {
5 const [date, setDate] = useState<Date | undefined>()
6
7 return (
8 <Calendar
9 selected={date}
10 onSelect={setDate}
11 />
12 )
13}

Week Numbers

Display ISO week numbers alongside each row.

March 2026
10
11
12
13
14

Month / Year Dropdown

Quick navigation with month and year dropdowns.

March 2026

Locale

Pass a locale object from react-day-picker/locale to localize month names, weekday labels, and first day of week.

březen 2026

Range Selection

Select a date range with Calendar.Range.

March 2026

API Reference

Calendar

PropTypeDefaultDescription
variant"default" | "weekNumbers" | "dropdown""default"Visual variant controlling layout and navigation style
selectedDate | undefinedThe currently selected date
onSelect(date: Date | undefined) => voidCallback when a date is selected
defaultMonthDateThe month to display on initial render
fromYearnumbercurrentYear - 20First year shown in the dropdown variant
toYearnumbercurrentYear + 20Last year shown in the dropdown variant
disabledMatcher | Matcher[]Dates or date ranges to disable
localePartial<Locale>Locale object from react-day-picker/locale for localization
classNamestringAdditional CSS classes for the root element

Calendar.Range

PropTypeDefaultDescription
selectedDateRange | undefinedThe currently selected date range ({ from, to })
onSelect(range: DateRange | undefined) => voidCallback when a date range is selected
minnumberMinimum number of days in the range
maxnumberMaximum number of days in the range
localePartial<Locale>Locale object from react-day-picker/locale for localization
classNamestringAdditional CSS classes for the root element