Scheduler - Event Calendar
A collection of React UI components to schedule your events.
July 2025
Out of office
Alice's Birthday
Running
Team Retrospective
Evening Gym Class
Running
Remote work
Daily Standup
Dental Checkup
Daily Standup
1-on-1 with Abigail
Client Call
Evening Gym Class
Daily Standup
Weekly planning
Dinner with Friends
All day events
You can use the allDay property on your event model to define it as all-day:
const event = {
// ...other even properties
allDay: true,
};
July 2025
Event 4
Event 6
Event 3
Event 1
Event 2
Event 5
Event 7
Event 8
July 2025
Out of office
Alice's Birthday
Running
Team Retrospective
Evening Gym Class
Running
Remote work
Daily Standup
Dental Checkup
Daily Standup
1-on-1 with Abigail
Client Call
Evening Gym Class
Daily Standup
Weekly planning
Dinner with Friends
Default view
<EventCalendar defaultView="month" />
July 2025
Out of office
Running
Team Retrospective
Evening Gym Class
Running
Remote work
Daily Standup
Dental Checkup
Alice's Birthday
Daily Standup
1-on-1 with Abigail
Daily Standup
Weekly planning
Dinner with Friends
Long run
Running
Daily Standup
1-on-1 with Hailey
Client Call
Daily Standup
Weekly planning
Design review Scheduler
Evening Gym Class
Running
Daily Standup
1-on-1 with John
Backlog Grooming
Daily Standup
Client Call
Evening Gym Class
Daily Standup
Long run
Running
Daily Standup
Daily Standup
Team Retrospective
Evening Gym Class
Dinner with Friends
Running
Daily Standup
Daily Standup
Physical Therapy
Evening Gym Class
Bob's Birthday
Daily Standup
Weekly planning
Client Call
Prescription Pickup
Shopping
Long run
Running
Daily Standup
Daily Standup
Weekly planning
Evening Gym Class
Running
Daily Standup
Backlog Grooming
Daily Standup
1-on-1 with Abigail
Client Call
Evening Gym Class
Richard's Birthday
Daily Standup
Community Workshop
Shopping
Long run
Running
Daily Standup
1-on-1 with Hailey
Dinner with Friends
Daily Standup
Team Retrospective
Evening Gym Class
Running
Daily Standup
1-on-1 with John
Daily Standup
Evening Gym Class
Daily Standup
Weekly planning
Add custom view
In your custom view, you have to use the useEventCalendarView() hook to register your view in the parent component.
import { addDays } from 'date-fns';
import { useEventCalendarView } from '@mui/x-scheduler-headless/use-event-calendar-view';
function CustomView() {
const adapter = useAdapter();
useEventCalendarView(() => ({
siblingVisibleDateGetter: (date, delta) => addDays(date, delta),
}));
}
Default visible date
const defaultVisibleDate = DateTime.fromISO('2025-11-01');
<EventCalendar defaultVisibleDate={defaultVisibleDate} />;
November 2025
Long run
Running
Daily Standup
Daily Standup
Weekly planning
Evening Gym Class
Running
Daily Standup
Backlog Grooming
Daily Standup
Evening Gym Class
Daily Standup
Initialize / control the preferences
const defaultPreferences = {
ampm: false,
showWeekends: false,
isSidePanelOpen: false,
}
<EventCalendar defaultPreferences={defaultPreferences} />;
December 2025
Running
Daily Standup
1-on-1 with Hailey
Daily Standup
Weekly planning
Evening Gym Class
Running
Daily Standup
1-on-1 with John
Backlog Grooming
Daily Standup
Evening Gym Class
Daily Standup
Preferences menu
You can customize the preferences menu using the preferencesMenuConfig prop:
Available properties:
toggleWeekendVisibility: show/hide the menu item that toggles weekend visibility.toggleWeekNumberVisibility: show/hide the menu item that toggles week number visibility.toggleAmpm: show/hide the menu item that toggles 12/24‑hour time format.toggleEmptyDaysInAgenda: show/hide the menu item that toggles the visibility of days with no events in the Agenda view.
// will hide the menu
preferencesMenuConfig={false}
// will hide the menu item responsible for toggling the weekend visibility
// the other preferences remain visible
preferencesMenuConfig={{ toggleWeekendVisibility: false }}
// will hide the menu items for toggling weekend and week number visibility
preferencesMenuConfig={{ toggleWeekendVisibility: false, toggleWeekNumberVisibility: false }}
July 2025
Out of office
Alice's Birthday
Running
Team Retrospective
Evening Gym Class
Running
Remote work
Daily Standup
Dental Checkup
Daily Standup
1-on-1 with Abigail
Client Call
Evening Gym Class
Daily Standup
Weekly planning
Dinner with Friends
Color palettes
The Event Calendar supports several color palettes.
Event colors can be set at two levels. The effective color resolves in the following order:
- The
colorassigned to the event
<EventCalendar events={[{ id: '1', title: 'Event 1', color: 'pink' }]} />
- The
eventColorassigned to the event's resource
<EventCalendar resources={[{ id: '1', title: 'Resource 1', eventColor: 'pink' }]} />
- The
eventColorassigned to the Event Calendar
<EventCalendar eventColor="pink" />
- The default color palette,
"jade"
The following demo shows one event for each palette:
July 2025
violet
jade
lime
orange
cyan
pink
indigo
yellow
blue
Translations
import { frFR } from '@mui/x-scheduler/translations';
<EventCalendar translations={frFR} />;
July 2025
violet
jade
lime
orange
cyan
pink
indigo
yellow
blue