UnreviewedOptional UnreviewedvalueControlled selected date — ISO YYYY-MM-DD. When provided, the application
controls selection: the grid follows this prop and a pick only requests a change via
onStateChange. Leave undefined for uncontrolled.
Optional UnrevieweddefaultInitial selected date for the uncontrolled case (ISO YYYY-MM-DD).
Optional UnreviewedminEarliest selectable date (ISO YYYY-MM-DD) — earlier days render disabled.
Optional UnreviewedmaxLatest selectable date (ISO YYYY-MM-DD) — later days render disabled.
Optional UnreviewedlocaleBCP-47 locale tag driving first-day-of-week, weekday, and month names.
Optional UnreviewednameForm field name — the selected ISO date submits under this key.
Optional UnreviewedsizeSize of the whole calendar — scales the day cells, the chevrons, and the
weekday / month-heading type together (uses Button's small / medium /
large scale).
Optional UnrevieweddisabledDisable the whole calendar (not focusable or selectable).
Optional UnreviewedfocusMove keyboard focus onto the active day. Change this to a new value (e.g.
increment a counter) to focus the cursor cell — InputDate bumps it when
the calendar is opened from the field by keyboard (ArrowDown), so focus
lands in the grid. The initial value never focuses; only a change does.
Optional Unreviewedaria-Accessible name for the grid (defaults to the visible month heading).
Optional UnreviewedonFired whenever the selection changes — event-first. detail is
{ next, prev, reason }: next / prev are ISO date strings (null = none);
reason is 'user' | 'reset' | 'restore'. A 'user' pick fires before
applying and is cancelable — event.preventDefault() vetoes it
(uncontrolled), or in controlled mode answer by updating value. 'reset' /
'restore' are not cancelable.
Optional UnreviewedonFired after the selection changes (post-apply). Not cancelable; for a
controlled calendar it fires once you've updated value.
Optional UnreviewedonLike onChange, but with a { value, name } snapshot as the second argument,
matching Input.
Optional UnreviewedclassCSS class on the component's root element (merged with the component's own
classes). Use it directly for layout and positioning — grid/flex placement,
margins, alignment — rather than wrapping the component in a <div>/<span>.
Optional UnreviewedstyleInline styles on the component's root element. Set layout/positioning here
(or via className) directly on the component instead of adding a wrapper.
Optional UnreviewedidHTML id attribute.
Optional UnreviewedtitleHTML title attribute — native browser tooltip on hover.
Optional UnreviewedslotAssigns the element to a named <slot> of a parent web component (e.g.
slot="header" inside a <Card>, slot="footer" inside a <Dialog>).
Optional UnreviewedtabTab order. Set to -1 to skip the element when tabbing.
Optional UnreviewedkeyReact/Preact reconciliation key when rendered inside a list. Consumed by the JSX runtime (not forwarded as a DOM attribute).
Public props for
<Calendar>— the single-date month grid.