Calendar

Month, week and day views with colour-themed events, a current-time marker, and a day view with a mini calendar and event details. Figma V8.0: Type (Month / Week / Day view) × Breakpoint.

import{ Calendar } from "@pepulux/ui"

Type: Month view

January 2027

Jan 1, 2027 – Jan 31, 2027

Mon
Tue
Wed
Thu
Fri
Sat
Sun
28
29
30
31
1
2
3
4
5
6
1 more…
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

Type: Week view

Events are positioned by start and end time. The purple line marks the current time.

January 2027

Week 2

Jan 4, 2027 – Jan 10, 2027

Mon4
Tue5
Wed6
Thu7
Fri8
Sat9
Sun10
1 AM2 AM3 AM4 AM5 AM6 AM7 AM8 AM9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM6 PM7 PM8 PM9 PM10 PM11 PM
2:20 PM

Type: Day view

Mini calendar and the selected event’s details sit in a side panel (hidden on small screens).

January 8, 2027

Week 2

Friday

1 AM2 AM3 AM4 AM5 AM6 AM7 AM8 AM9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM6 PM7 PM8 PM9 PM10 PM11 PM
2:20 PM

Props

PropTypeDefaultDescription
view"month" | "week" | "day""month"Figma Type — initial view. Users can switch with the view menu
initialDateDate—Date the calendar opens on
eventsCalendarEvent[]—{ id, title, start, end, color?, dot?, description?, reminder?, guests?, guestsYes?, guestsAwaiting? }
color"gray" | "blue" | "indigo" | "purple" | "pink" | "orange" | "green" | "yellow" | string—On an event — a Figma colour theme, or any CSS colour for a custom event
nowDate—Current time for the Today highlight and time marker (defaults to the real time)
showAddEvent / onAddEventboolean / () => voidtrueFigma "Add event" button
showSearch / onSearchboolean / () => voidtrueSearch icon button in the header
maxEventsPerDaynumber3Month view — events shown before "N more…"
onDateClick(date: Date) => void—Called when a month day cell is clicked
onEventClick(event: CalendarEvent) => void—Called when an event is clicked
onViewChange / onDateChange(…) => void—Called when the view or visible date changes
classNamestring—Extra classes — the calendar is 720px tall by default (h-[720px])
Application component → Calendarswww.pepulux.com

Notes and documentation

Space for notes, documentation, and best practices for using these components.

Time at three zoom levels

Month view is for planning, week for scheduling, day for detail. Keep event colour meaningful (calendar or category) and show a small dot for events in the mini calendar.

The current time marker and today highlight should always be visible.