Skip to main content
super-calendar keeps the same month / week / day / 3-day / custom / schedule model and a similar <Calendar> API, so most props carry over by name. It is not a drop-in swap, though: it is built on Reanimated, Gesture Handler and Legend List, it fills its container instead of taking a height, and its locale is a date-fns Locale rather than a dayjs string. The fastest path is to hand the prompt below to your coding agent. Prefer to do it by hand? Jump to the manual mapping.

The migration prompt

Copy this into Claude Code, Cursor, or any coding agent working in your repo.

Manual mapping

Renamed props

Removed props

Behaviour changes

  • No height. The calendar fills its parent, so wrap it in a sized container. This is the most common cause of a blank screen after migrating.
  • locale is a date-fns Locale, not a dayjs locale string. Import the locale you need from date-fns/locale.
  • renderEvent is a component, not a function call, so it can use hooks and receives the live box height for progressive disclosure. See Custom events.
  • Overlapping events lay out in side-by-side columns instead of stacking with an offset.
  • Recurring events are not expanded for you; use expandRecurringEvents (see Recurring events).

Things super-calendar adds

Drag to move, resize, and create (Dragging), pinch and Ctrl-scroll zoom, virtualized snap-paging, a darkTheme preset (Theming), time-zone display (Time zones), and an “All day” label in the schedule (allDayLabel). See the README comparison for the full picture, including where big-calendar’s lighter footprint may still suit you better.