Skip to main content

Date Range Selection

Select a date range with visual highlighting between start and end dates.

Live Example​

Code Breakdown​

Range Selection Mode​

Use selectionMode="range" to enable range selection:

<DatePicker
selectionMode="range"
startDate={range.startDate}
endDate={range.endDate}
onRangeChange={setRange}
weekStartsOn={0}
themeOverrides={pickerTheme}
/>

Range State​

The onRangeChange callback receives an object with startDate and endDate:

const [range, setRange] = useState({
startDate: new Date(),
endDate: null,
});

Selection UX​

  1. First tap sets the start date
  2. Second tap sets the end date (if after start)
  3. Tapping before start resets to new start
  4. Dates between are visually highlighted

With Disabled Dates​

Next Steps​