GoBrand Calendar

createCalendar

Create an item-agnostic controller from a non-empty view configuration.

const calendar = createCalendar({
  views: {
    month: true,
    week: {
      dayStart: Temporal.PlainTime.from('08:00'),
      dayEnd: Temporal.PlainTime.from('18:00'),
      slotDuration: Temporal.Duration.from({ minutes: 30 }),
    },
  },
  date: Temporal.PlainDate.from('2026-07-10'),
  timeZone: 'America/Asuncion',
})

The visible range is always derived from date, view, timezone, and view configuration. It cannot become stale independently.

weekStartsOn follows Temporal's dayOfWeek convention: 1 is Monday through 7 is Sunday. Omit it to use the locale default.