Calendar
A Calendar component lays a month out as a grid and lets a date be picked from it. Unlike a date picker it is always open, which suits a booking screen, an availability view or anywhere the surrounding dates are part of the decision.
Rendered live, with the same build of the library you install.
September 2026
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
30 | 31 | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 1 | 2 | 3 |
Calendar.tsx
import { useState } from 'react';import { getLocalTimeZone, today } from '@internationalized/date';import { NCalendar } from '@nayan-ui/react';const Calendar = () => {const [value, setValue] = useState<any>(today(getLocalTimeZone()));return (<div><NCalendar value={value} onChange={setValue} aria-label="Pick a date" /></div>);};export default Calendar;
| Name | Type | Default | Details |
|---|---|---|---|
| value | any | Optional | The value prop. |
| defaultValue | any | Optional | The defaultValue prop. |
| onChange | (value: any) => void | Optional | The onChange prop. |
| minValue | any | Optional | The minValue prop. |
| maxValue | any | Optional | The maxValue prop. |
| isDateUnavailable | (date: any) => boolean | Optional | Dates the user cannot pick, e.g. `date => date.day === 1`. |
| disabled | boolean | false | The disabled prop. |
| visibleMonths | number | Optional | Months shown side by side. |
| label | ReactNode | Optional | The label prop. |
| className | string | '' | The className prop. |
| headerClassName | string | '' | The headerClassName prop. |
| gridClassName | string | '' | The gridClassName prop. |
| aria-label | string | 'Calendar' | The aria-label prop. |
Other components solving nearby problems.