← All Components

Calendar

A date picker calendar component. Built on react-day-picker v9.

Default

March 2026
1234567
891011121314
15161718192021
22232425262728
2930311234

Single Selection

March 2026

Selected: 3/28/2026

Range Selection

March 2026

3/20/2026 - 3/27/2026

Disabled Weekends

March 2026

Props

PropTypeDescription
mode'single' | 'multiple' | 'range'Selection mode for the calendar.
selectedDate | Date[] | DateRangeCurrently selected date(s).
onSelect(date) => voidCallback when selection changes.
showOutsideDaysbooleanShow days outside the current month. Default true.
disabledMatcher | Matcher[]Days that cannot be selected.
classNamestringAdditional classes for the root element.
classNamesPartial<ClassNames>Override internal class names.

Usage

import { Calendar } from "@/components/ui/Calendar"; // Uncontrolled <Calendar /> // Single selection const [date, setDate] = useState<Date>(); <Calendar mode="single" selected={date} onSelect={setDate} /> // Range selection const [range, setRange] = useState<DateRange>(); <Calendar mode="range" selected={range} onSelect={setRange} /> // Disable weekends <Calendar disabled={(d) => d.getDay() === 0 || d.getDay() === 6} />