Range Calendar

Forms

A calendar component optimized for selecting date ranges. Displays two months side by side for easy range selection.

Import

import { RangeCalendar } from "@/components/ui/range-calendar";

Usage

Basic Range Calendar

Select a date range by clicking two dates

December 2025

Su
Mo
Tu
We
Th
Fr
Sa

January 2026

Su
Mo
Tu
We
Th
Fr
Sa

Single Month View

Compact version showing one month

December 2025

Su
Mo
Tu
We
Th
Fr
Sa

With Date Constraints

Limit selection to a specific range

December 2025

Su
Mo
Tu
We
Th
Fr
Sa

January 2026

Su
Mo
Tu
We
Th
Fr
Sa

Selection limited to the next 60 days

Disabled Weekends

Prevent weekend selection

December 2025

Su
Mo
Tu
We
Th
Fr
Sa

January 2026

Su
Mo
Tu
We
Th
Fr
Sa

Weekends cannot be selected

API Reference

PropTypeDefaultDescription
value{ start: Date; end: Date }undefinedControlled date range value
defaultValue{ start: Date; end: Date }undefinedDefault range for uncontrolled usage
onValueChange(range: DateRange) => voidundefinedCallback when the date range changes
defaultMonthDatenew Date()The initial month to display
numberOfMonthsnumber2Number of months to display
disabled(date: Date) => booleanundefinedFunction to determine if a date should be disabled
minDateDateundefinedMinimum selectable date
maxDateDateundefinedMaximum selectable date

Related Components