Skip to content

Upgrading @fullcalendar/timegrid 5 to 6

Breaking5.11.5 → 6.1.22Breaking2New17Changed15Fixed124Other2

BreakingUpgrade verdict

2 breaking changes.

  • You no longer need to load FullCalendar's stylesheet yourself, because the library adds its styles automatically.
  • If you use the iCalendar plugin, you must now install ical.js yourself.
2 items need code or config changes

@fullcalendar/timegrid publishes an official migration guide for version 6. It covers more than the release notes do.

Migration guide ↗

Drops @fullcalendar/common, tslib.

Installs 1 package in all (was 3).

Breaking2
FullCalendar no longer imports .css files; its JS now injects its own CSS.
@fullcalendar/icalendar now requires ical.js as a peer dependency.
@fullcalendar/icalendarical.js

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • removed: interface BaseOptionRefiners extends ExtraOptionRefiners
  • added: interface BaseOptionRefiners extends ExtraOptionRefiners
  • added: const default: PluginDef
  • added: declare module '@fullcalendar/core/internal'
  • added: abstract class TimeColsView extends DateComponent<ViewProps, TimeColsViewState>
  • added: class DayTimeCols extends DateComponent<DayTimeColsProps>
  • added: class DayTimeColsSlicer extends Slicer<TimeColsSeg, [DateRange[]]>
  • added: class DayTimeColsView extends TimeColsView
  • added: class TimeCols extends DateComponent<TimeColsProps, TimeColsState>
  • added: class TimeColsSlatsCoords
  • added: constructor TimeColsSlatsCoords(positions: PositionCache, dateProfile: DateProfile, slotDuration: Duration)
  • added: function buildDayRanges(dayTableModel: DayTableModel, dateProfile: DateProfile, dateEnv: DateEnv): DateRange[]
  • added: function buildSlatMetas(slotMinTime: Duration, slotMaxTime: Duration, explicitLabelInterval: Duration | null, slotDuration: Duration, dateEnv: DateEnv): TimeSlatMeta[]
  • added: function buildTimeColsModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): DayTableModel
  • added: interface TimeColsSeg extends Seg
  • added: interface TimeSlatMeta
  • added: method DayTimeCols.render(): createElement.JSX.Element
  • added: method DayTimeColsSlicer.sliceRange(range: DateRange, dayRanges: DateRange[]): TimeColsSeg[]
  • added: method DayTimeColsView.render(): createElement.JSX.Element
  • added: method TimeCols.componentDidMount(): void
  • added: method TimeCols.componentDidUpdate(prevProps: TimeColsProps): void
  • added: method TimeCols.componentWillUnmount(): void
  • added: method TimeCols.queryHit(positionLeft: number, positionTop: number): Hit
  • added: method TimeCols.render(): createElement.JSX.Element
  • added: method TimeColsSlatsCoords.computeDateTop(when: DateMarker, startOfDayDate?: DateMarker): number
  • added: method TimeColsSlatsCoords.computeTimeTop(duration: Duration): number
  • added: method TimeColsSlatsCoords.safeComputeTop(date: DateMarker): number
  • added: method TimeColsView.getAllDayMaxEventProps(): { dayMaxEvents: number | boolean; dayMaxEventRows: number | false }
  • added: method TimeColsView.renderHScrollLayout(headerRowContent: VNode | null, allDayContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null, timeContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null, colCnt: number, dayMinWidth: number, slatMetas: TimeSlatMeta[], slatCoords: TimeColsSlatsCoords | null): createElement.JSX.Element
  • added: method TimeColsView.renderSimpleLayout(headerRowContent: VNode | null, allDayContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null, timeContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null): createElement.JSX.Element
  • added: property TimeCols.handleColCoords: (colCoords: PositionCache | null) => void
  • added: property TimeCols.handleRootEl: (el: HTMLElement | null) => void
  • added: property TimeCols.handleScrollRequest: (request: ScrollRequest) => boolean
  • added: property TimeCols.handleSlatCoords: (slatCoords: TimeColsSlatsCoords | null) => void
  • added: property TimeCols.state: { slatCoords: any }
  • added: property TimeColsSeg.col: number
  • added: property TimeColsSeg.end: DateMarker
  • added: property TimeColsSeg.start: DateMarker
  • added: property TimeColsSlatsCoords.positions: PositionCache
  • added: property TimeColsView.handleScrollTopRequest: (scrollTop: number) => void
  • added: property TimeColsView.handleSlatCoords: (slatCoords: TimeColsSlatsCoords) => void
  • added: property TimeColsView.renderHeadAxis: (rowKey: 'day' | string, frameHeight?: CssDimValue) => createElement.JSX.Element
  • added: property TimeColsView.renderTableRowAxis: (rowHeight?: number) => createElement.JSX.Element
  • added: property TimeColsView.state: { slatCoords: any }
  • added: property TimeSlatMeta.date: DateMarker
  • added: property TimeSlatMeta.isLabeled: boolean
  • added: property TimeSlatMeta.isoTimeStr: string
  • added: property TimeSlatMeta.key: string
  • added: property TimeSlatMeta.time: Duration
  • added: protected property TimeColsView.allDaySplitter: AllDaySplitter
  • added: protected property TimeColsView.headerElRef: RefObject<HTMLTableCellElement>
  • removed: abstract class TimeColsView extends DateComponent<ViewProps, TimeColsViewState>
  • removed: class DayTimeCols extends DateComponent<DayTimeColsProps>
  • removed: class DayTimeColsSlicer extends Slicer<TimeColsSeg, [DateRange[]]>
  • removed: class DayTimeColsView extends TimeColsView
  • removed: class TimeCols extends DateComponent<TimeColsProps, TimeColsState>
  • removed: class TimeColsSlatsCoords
  • removed: const _default: _fullcalendar_common.PluginDef
  • removed: constructor TimeColsSlatsCoords(positions: PositionCache, dateProfile: DateProfile, slotDuration: Duration)
  • removed: declare module '@fullcalendar/common'
  • removed: default _default
  • removed: function buildDayRanges(dayTableModel: DayTableModel, dateProfile: DateProfile, dateEnv: DateEnv): DateRange[]
  • removed: function buildSlatMetas(slotMinTime: Duration, slotMaxTime: Duration, explicitLabelInterval: Duration | null, slotDuration: Duration, dateEnv: DateEnv): TimeSlatMeta[]
  • removed: function buildTimeColsModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator): DayTableModel
  • removed: interface TimeColsSeg extends Seg
  • removed: interface TimeSlatMeta
  • removed: method DayTimeCols.render(): createElement.JSX.Element
  • removed: method DayTimeColsSlicer.sliceRange(range: DateRange, dayRanges: DateRange[]): TimeColsSeg[]
  • removed: method DayTimeColsView.render(): createElement.JSX.Element
  • removed: method TimeCols.componentDidMount(): void
  • removed: method TimeCols.componentDidUpdate(prevProps: TimeColsProps): void
  • removed: method TimeCols.componentWillUnmount(): void
  • removed: method TimeCols.queryHit(positionLeft: number, positionTop: number): Hit
  • removed: method TimeCols.render(): createElement.JSX.Element
  • removed: method TimeColsSlatsCoords.computeDateTop(when: DateMarker, startOfDayDate?: DateMarker): number
  • removed: method TimeColsSlatsCoords.computeTimeTop(duration: Duration): number
  • removed: method TimeColsSlatsCoords.safeComputeTop(date: DateMarker): number
  • removed: method TimeColsView.getAllDayMaxEventProps(): { dayMaxEvents: number | boolean; dayMaxEventRows: number | false }
  • removed: method TimeColsView.renderHScrollLayout(headerRowContent: VNode | null, allDayContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null, timeContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null, colCnt: number, dayMinWidth: number, slatMetas: TimeSlatMeta[], slatCoords: TimeColsSlatsCoords | null): createElement.JSX.Element
  • removed: method TimeColsView.renderSimpleLayout(headerRowContent: VNode | null, allDayContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null, timeContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null): createElement.JSX.Element
  • removed: property TimeCols.handleColCoords: (colCoords: PositionCache | null) => void
  • removed: property TimeCols.handleRootEl: (el: HTMLElement | null) => void
  • removed: property TimeCols.handleScrollRequest: (request: ScrollRequest) => boolean
  • removed: property TimeCols.handleSlatCoords: (slatCoords: TimeColsSlatsCoords | null) => void
  • removed: property TimeCols.state: { slatCoords: any }
  • removed: property TimeColsSeg.col: number
  • removed: property TimeColsSeg.end: DateMarker
  • removed: property TimeColsSeg.start: DateMarker
  • removed: property TimeColsSlatsCoords.positions: PositionCache
  • removed: property TimeColsView.handleScrollTopRequest: (scrollTop: number) => void
  • removed: property TimeColsView.handleSlatCoords: (slatCoords: TimeColsSlatsCoords) => void
  • removed: property TimeColsView.renderHeadAxis: (rowKey: 'day' | string, frameHeight?: CssDimValue) => createElement.JSX.Element
  • removed: property TimeColsView.renderTableRowAxis: (rowHeight?: number) => createElement.JSX.Element
  • removed: property TimeColsView.state: { slatCoords: any }
  • removed: property TimeSlatMeta.date: DateMarker
  • removed: property TimeSlatMeta.isLabeled: boolean
  • removed: property TimeSlatMeta.isoTimeStr: string
  • removed: property TimeSlatMeta.key: string
  • removed: property TimeSlatMeta.time: Duration
  • removed: protected property TimeColsView.allDaySplitter: AllDaySplitter
  • removed: protected property TimeColsView.headerElRef: RefObject<HTMLTableCellElement>