FullCalendar
proFullCalendar renders day, week, month, year, and agenda views over one event list, with built-in drag-to-reschedule and resize-to-adjust-duration.
October 2026
Sun
Mon
Tue
Wed
Thu
Fri
Sat
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Investor Update00:00
Sprint Planning09:00
Design Review14:00
Product Launch09:00
Installation
Add this component with the NateUI CLI.
Examples
Custom Header
October 2026
Sun
Mon
Tue
Wed
Thu
Fri
Sat
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Customer Call11:00
Board Meeting13:00
Resizable Duration
October 2026
28 Wed
| Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Happening now
Custom Day Sidebar
October 2026
28 Wed
Custom Event Render
October 2026
Sun
Mon
Tue
Wed
Thu
Fri
Sat
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Team Sync
Launch Day
Renewal Due
More Overflow
October 2026
Sun
Mon
Tue
Wed
Thu
Fri
Sat
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Interview 109:00
Interview 210:00
Interview 311:00
Interview 412:00
Interview 513:00
Fill Height
October 2026
Sun
Mon
Tue
Wed
Thu
Fri
Sat
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Standup09:00
Retro16:00
API
FullCalendar
| Prop | Description | Type | Default |
|---|---|---|---|
events | Events to render. color accepts 'blue' | 'green' | 'red' | 'yellow' | 'purple' | 'orange' | 'gray'; any other value falls back to gray. | FullCalendarEvent[] | — |
view | Active view. The built-in header only switches between Month, Week, and Agenda; reach Day and Year through view directly or a custom renderHeaderEnd. | CalendarView | 'month' |
fillHeight | Fills the parent's height instead of the view's own default height. The parent chain must be height-bounded (an explicit height somewhere above), or the calendar collapses. | boolean | false |
onCellClick | Fires when an empty cell or time slot is clicked. | (date: Date) => void | — |
onCellDoubleClick | Fires when an empty cell or time slot is double clicked. | (overflowedEvents: FullCalendarEvent[], allEvents: FullCalendarEvent[]) => void | — |
onEventClick | Fires when an event is clicked. Not called by the year view (its event bullets aren't clickable). | (event: FullCalendarEvent) => void | — |
onChange | Fires after an event is moved (drag) or resized, with the full updated list and the one event that changed. | (events: FullCalendarEvent[], event: FullCalendarEvent) => void | — |
onMoreClick | Observes activation of a month-view cell's "+N more" control alongside the built-in or customized overflow Popover. Only used by the month view. | (overflowedEvents: FullCalendarEvent[], allEvents: FullCalendarEvent[]) => void | — |
renderMoreContent | Customizes or replaces the built-in overflow Popover body in the month view; it is not required to enable the "+N more" Popover. | (props: MoreContentRenderProps) => ReactNode | — |
renderEvent | Replaces an event's rendered content and class name. Not called by the year view. | (props: EventRenderProps) => EventRenderResult | — |
renderDayViewSidebar | Replaces the day view's complete sidebar wrapper, including its width and responsive behavior. Receives the selected date, its setter, and currently active single-day events. Return null to hide the sidebar. | (props: DayViewSidebarRenderProps) => ReactNode | — |
renderHeaderStart | Replaces the header's left/start section. | (payload: FullCalendarHeaderPayload) => ReactNode | string | — |
renderHeaderEnd | Replaces the header's right/end section. | (payload: FullCalendarHeaderPayload) => ReactNode | string | — |
Drag-to-move and resize-to-adjust-duration are always active on single-day events in the month, week, and day views — there is no prop to disable them. Both report through onChange, so a parent that doesn't feed updated events back in will see the drag or resize visually revert.