An accessible calendar for choosing a single date or a range, with full keyboard grid navigation, roving focus, and an optional confirm/cancel flow. Follows the WAI-ARIA date-picker grid pattern.
Set value as an ISO date
(YYYY-MM-DD), or leave it empty for no initial
selection. The component fires change with
{ value }.
mode="range" selects a start
(value) and end
date; change then carries
{ start, end }.
show-actions adds a confirm/cancel footer (the
selection stays pending until confirmed); min /
max constrain the window; and
first-day-of-week sets the week start.
Pass a BCP-47 locale to translate the month and
weekday names; combine with first-day-of-week for
regional conventions.
date and range selection in forms, filters, and scheduling flows. For free-text date entry, pair it with an Input.
min / max to rule out impossible dates rather than validating after the fact.show-actions when a selection should be deliberate (e.g. inside a popover).locale and first-day-of-week to the user’s region.role="grid" of gridcell day buttons with roving tabindex — one tab stop for the whole grid.aria-selected; today is marked aria-current="date".min/max render as disabled buttons, skipped by activation.