Skip to main content
<Calendar> is the batteries-included entry point. The props below are the common ones, grouped by purpose; every prop is typed via CalendarProps<T>, so your editor lists the full set with inline docs.

Data

PropTypeNotes
eventsCalendarEvent<T>[]Your events. The generic T is your own data.
dateDateThe controlled anchor date.
modeCalendarModemonth week day 3days custom schedule.
numberOfDaysnumberColumn count for custom.
weekStartsOn0–60 = Sunday, 1 = Monday.
PropTypeNotes
onChangeDate(date) => voidFires when paging changes the date.
onChangeDateRange(range: [Date, Date]) => voidThe visible window — handy for fetching.
freeSwipebooleanFling across several pages.

Events & rendering

PropTypeNotes
renderEventRenderEvent<T>Render events your way, every mode.
eventCellStylestyle | (event) => styleTweak the built-in box.
calendarCellStyle(date) => stylePer-date column/cell shading.
businessHours(date) => { start, end } | nullShade closed hours.
keyExtractor(event, index) => stringStable event keys.

Interactions

PropTypeNotes
onDragEvent(event, start, end) => void | booleanEnable move/resize; return false to reject.
onDragStart(event) => voidFires on grab (e.g. haptics).
onCreateEvent(start, end) => voidDrag empty space to create.
dragStepMinutesnumberSnap step (default 15).
onPressEvent(event) => voidTap an event.
onPressCell(date) => voidTap empty grid space.
onPressDay(date) => voidTap a month day cell.
onPressMore(events, date) => voidTap the +N more overflow.

Display

PropTypeNotes
scrollOffsetMinutesnumberInitial vertical scroll.
hourHeightnumberRow height (px per hour).
timeslotsnumberHour sub-divisions.
ampmboolean12-hour labels.
showNowIndicatorbooleanCurrent-time line (default on).
maxVisibleEventCountnumberMonth: fixed chip cap.
themePartialCalendarThemeColor/text/metric overrides.

Exports

Components

Calendar, Agenda, MonthView, MonthPager, TimeGrid, DefaultEvent

Theming

defaultTheme, darkTheme, mergeTheme, CalendarThemeProvider, useCalendarTheme

Helpers

expandRecurringEvents, eventsInTimeZone, toZonedTime, layoutDayEvents, isAllDayEvent, getWeekDays, getIsToday, isWeekend, minutesIntoDay

Types

CalendarEvent, CalendarMode, RenderEventArgs, RecurrenceRule, BusinessHours, EventDragHandler, CalendarTheme, PositionedEvent