Forms

Calendar

An inline month grid for picking a date, with no popup. Each day is a button, and the chosen day shows in color.

ReactVueWeb Components
View in Storybook

Playground

Examples

<Calendar defaultValue={today()} onChange={setDate} locale="ja-JP" />

Props

Name Type Default Description
value Temporal.PlainDate | null Selected date (controlled).
defaultValue Temporal.PlainDate | null Initial selection (uncontrolled). @default null
onChange (date: Temporal.PlainDate) => void Called with the newly selected date.
min PlainDateInput Earliest selectable date.
max PlainDateInput Latest selectable date.
isDateDisabled (date: Temporal.PlainDate) => boolean Disable individual dates.
locale Intl.LocalesArgument Locale for month/weekday names.
weekStartsOn Weekday Which weekday the grid starts on. @default 1 (Monday)
aria-label string Calendar Accessible label for the grid. @default 'Calendar'
className string

Accessibility

  • Body/background contrast is ≥ 7:1 (AAA) in both light and dark.
  • Every interaction works with the keyboard alone.
  • The focus ring is always visible.
  • Respects prefers-reduced-motion and stops excessive motion.

Every component is designed to meet WCAG 2.1 AAA.