Range Calendar
Inline calendar for selecting a start and end date. Built on reka-ui. For a button + popover wrapper, use RangeCalendarPicker.
Default
Pick start, then end. Range highlights in between.
June 2026
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
Multiple months
Render two months side by side for picking longer ranges.
June - July 2026
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
Min and max
Constrain selection with minValue and maxValue; dates outside are disabled.
API Reference
Props, events, and slots for each sub-component.
RangeCalendar
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| modelValue | { start: DateValue, end: DateValue } | — | Selected range. Supports v-model. |
| numberOfMonths | number | 1 | Render multiple months side by side. |
| minValue | DateValue | — | Earliest selectable date. |
| maxValue | DateValue | — | Latest selectable date. |
| locale | string | "en" | Locale for month/day names. |
Events
| Event | Description |
|---|---|
| update:modelValue | Fires when the range changes. Enables v-model. |
| update:placeholder | Fires when the focused month changes during navigation. |
Slots
| Slot | Description |
|---|---|
| calendar-heading | Scoped slot to override the month/year heading. Receives { headingValue }. |
Accessibility
Keyboard shortcuts and ARIA behavior.
Keyboard
| Shortcut | Description |
|---|---|
| ← | Moves to the previous day. |
| → | Moves to the next day. |
| ↑ | Moves to the same day in the previous week. |
| ↓ | Moves to the same day in the next week. |
| Page Up | Moves to the previous month. |
| Page Down | Moves to the next month. |
| Enter | Selects the focused date as a range endpoint. |
| Space | Selects the focused date as a range endpoint. |
- The first Enter sets the range start; the second sets the range end.
- Uses the grid pattern with a roving tabindex on the focused date.
- Dates within the selection are conveyed via aria-selected.