API Reference

MonthView

component

Defined in package/src/month-view.tsx:443

PropTypeDefaultDescription
formatF"PlainDate"The value format used for date serialization. Determines the type of value, defaultValue, min, max, and callback parameters.
minRawValueForFormat<F>Earliest selectable date. Dates before this are disabled.
maxRawValueForFormat<F>Latest selectable date. Dates after this are disabled.
disabledbooleanfalseWhen true, the entire calendar is disabled.
readOnlybooleanfalseWhen true, the calendar is read-only. Keyboard navigation still works but selection is prevented.
isDateDisabled(date: PlainDate) => booleanCallback to disable individual dates. Return true to disable a date. Called in addition to min/max bounds checking.
timeZonestringThe system's current time zone.IANA time zone identifier used for date/time conversions.
localestring"en-US"BCP 47 locale string used for formatting month names, weekday labels, and other locale-sensitive output.
temporalTemporalNamespaceThe Temporal implementation to use. Not bundled — provide a Temporal namespace (e.g. from temporal-polyfill or @js-temporal/polyfill) unless the host exposes native Temporal. See RootOwnProps.temporal for links.
weekStartDayWeekStartDay0Day of the week the calendar grid starts on. 0 = Sunday, 1 = Monday, ..., 6 = Saturday.
childrenReact.ReactNodeReact children.
selectionMode"single" | "range" | "multiple""single"
valueRawValueForFormat<F> | DateRange<F> | RawValueForFormat<F>[] | nullThe controlled selected date. Pass null to clear.
defaultValueRawValueForFormat<F> | DateRange<F> | RawValueForFormat<F>[]
onValueChange((value: RawValueForFormat<F> | null, meta: ValueChangeMeta<RawValueForFormat<F> | null>) => void) | ((value: RawValueForFormat<F> | null, meta: ValueChangeMeta<RawValueForFormat<F> | null>) => void) | ((value: DateRange<F> | null, meta: ValueChangeMeta<DateRange<F> | null>) => void) | ((value: DateRange<F> | null, meta: ValueChangeMeta<DateRange<F> | null>) => void) | ((value: RawValueForFormat<F>[], meta: ValueChangeMeta<RawValueForFormat<F>[]>) => void) | ((value: RawValueForFormat<F>[], meta: ValueChangeMeta<RawValueForFormat<F>[]>) => void)
numberOfMonthsnumber | undefined1Number of months to display simultaneously (1–12).
fixedWeeksboolean | undefinedfalseWhen true, always render 6 week rows per month grid. Prevents layout shifts when navigating between months.
outsideDaysOutsideDays | undefined"enabled"Controls how days from adjacent months are displayed.
overflowBehaviorMonthOverflowBehavior | undefined"unbounded"How month navigation behaves at min/max bounds. - "unbounded" — navigation is always allowed. - "stop" — navigation buttons disable at the boundary.
monthPlainYearMonth | undefinedThe controlled visible month. When provided, the component is controlled. Interpreted in the ISO calendar (the year/month are read as ISO values). The locale only affects how the month is displayed, so this value round-trips directly with onMonthChange.
defaultMonthPlainYearMonth | undefinedThe initial visible month (uncontrolled). Interpreted in the ISO calendar.
onMonthChange((month: PlainYearMonth) => void) | undefinedCalled when the visible month changes via navigation or focus movement. Not called on initial mount. The argument is an ISO PlainYearMonth.