Skip to content

MonthCalendarProps — @gj-kit/expo-ui

A public interface from @gj-kit/expo-ui. The signature below is taken directly from the 0.8.1 release declaration.

import { MonthCalendarProps } from '@gj-kit/expo-ui';
interface MonthCalendarProps {
/** The displayed month. Controlled — the application owns this state. */
readonly month: CalendarMonth;
/**
* Month-navigation requests raised by the calendar itself — on the web,
* PageUp (previous month) and PageDown (next month) on a focused day cell.
* The calendar renders no built-in previous/next buttons; the application
* composes its own (a Toolbar of Buttons) and updates `month` from both.
*/
readonly onMonthChange?: ((month: CalendarMonth) => void) | undefined;
/** The selected day, or null for none. */
readonly value?: CalendarDate | null | undefined;
/**
* Selection handler. When absent the grid is a static presentation: day
* cells are not focusable, not pressable, and carry no keyboard behavior.
*/
readonly onValueChange?: ((date: CalendarDate) => void) | undefined;
/** The weekday the grid starts on: 0 = Sunday, 1 = Monday. Defaults to 1. */
readonly weekStartsOn?: CalendarWeekStart | undefined;
/** Days earlier than this are disabled (still focusable, activation is a no-op). */
readonly minDate?: CalendarDate | undefined;
/** Days later than this are disabled (still focusable, activation is a no-op). */
readonly maxDate?: CalendarDate | undefined;
/**
* The application-resolved current day. The kit never reads the clock, so
* omitting this simply renders no today ring and no `aria-current="date"`.
*/
readonly today?: CalendarDate | undefined;
readonly labels: MonthCalendarLabels;
/** Names the grid for assistive technology (web `aria-label`). Required. */
readonly accessibilityLabel: string;
/**
* Replaces a day cell's CONTENT. The cell itself — its gridcell/button
* semantics, focus, and press handling — stays kit-owned.
*/
readonly renderDay?: ((context: MonthCalendarDayContext) => ReactNode) | undefined;
/**
* The accessible name of a day cell. Defaults to the ISO key "YYYY-MM-DD" —
* a locale-free data format; pass this for localized, state-rich names.
*/
readonly getDayAccessibilityLabel?: ((context: MonthCalendarDayContext) => string) | undefined;
/** Per-day style hook layered after the built-in cell visuals. */
readonly dayStyle?: ((context: MonthCalendarDayContext) => StyleProp<ViewStyle> | undefined) | undefined;
readonly titleStyle?: StyleProp<TextStyle> | undefined;
readonly weekdayStyle?: StyleProp<TextStyle> | undefined;
readonly style?: StyleProp<ViewStyle> | undefined;
readonly className?: string | undefined;
readonly testID?: string | undefined;
readonly unstyled?: never;
}

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/expo-ui
  • Version: 0.8.1
  • Public entry: .
  • Source: GitHub