Components
Calendar
A month grid to pick a date or a range, fully keyboard-driven, with limits, blocked days and a year view to jump far.
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
Wednesday, September 30, 2026
Import
import { Calendar } from '@rinzai/zen';Examples
Range
Two months side by side: pick a start, then an end. The days between are previewed as you point.
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
5 – 12 Oct 2026 · 8 days
Limits
Only the next 60 days, and no weekends: min, max and isDisabled. Weeks start on Monday here, whatever the locale.
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
API reference
<Calendar>
A month grid to pick a date, or a range of dates, fully keyboard-driven: arrows move by day and week, Home and End to the week's ends, Page Up and Down by month (with Shift, by year). The title opens a year and month grid to jump far. Dates are "YYYY-MM-DD" strings, so they never shift a day with time zones. Inline on a page, or in a popup with DatePicker.
| Prop | Type | Default |
|---|---|---|
localeRequiredDecides month and weekday names, and the first day of the week, e.g. "en-IN". | string | — |
onChangeRequired | ((date: string) => void) | ((range: DateRange) => void) | — |
valueRequired"YYYY-MM-DD", or null for none. | DateRange | string | null | — |
autoFocusFocus the chosen date (or today) when shown, e.g. in a popup. | boolean | — |
className | string | — |
defaultMonthMonth shown first ("YYYY-MM"). Defaults to the chosen date's, or this month. | string | — |
isDisabledDates that can't be picked, e.g. weekends or booked days. | ((date: string) => boolean) | — |
maxLatest date that can be picked. | string | — |
minEarliest date that can be picked ("YYYY-MM-DD"). | string | — |
modePick a start and then an end; the days between are highlighted, previewed while pointing. | "range" | "single" | — |
monthsMonths shown side by side (e.g. 2 for ranges). | number | — |
weekStartsOn0 for Sunday … 6 for Saturday. Defaults to the locale's. | number | — |