GoBrand Calendar

useCreateCalendar

Create a controlled or uncontrolled item-agnostic controller, with optional simple-mode data.

const calendar = useCreateCalendar({
  views: { month: true, week: true },
  defaultDate: Temporal.PlainDate.from('2026-07-10'),
  defaultView: 'month',
  timeZone: 'America/Asuncion',
  items: events,
  getDate: event => event.date,
})

With items, the return value includes the inferred activeView. Without items, it returns the item-agnostic controller used with CalendarProvider and useCalendarView.

Controlled props are date/onDateChange and view/onViewChange; uncontrolled initial props are defaultDate and defaultView.