콘텐츠로 이동

MonthCalendarProps — @gj-kit/expo-ui

@gj-kit/expo-ui에서 공개하는 interface입니다. package version 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;
}

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/expo-ui
  • 버전: 0.8.1
  • 공개 entry: .
  • 소스: GitHub