Calendar Month

January 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
About this component

Calendar Month

A month grid with selectable days, a today marker, colored event dots per day, and prev/next month controls. Data-driven (weekStart + daysInMonth) so it renders deterministically; controlled or self-managed selection.

Usage

The import and the props worth knowing about, in one place.

import { CalendarMonth } from "@/components/beste/component/calendar-month";

<CalendarMonth
  monthLabel="January 2026"
  weekStart={4}
  daysInMonth={31}
  today={20}
  defaultSelectedDay={21}
  events={[
    { day: 12, tone: "emerald" },
    { day: 22, tone: "primary" },
  ]}
  onSelectDay={(day) => console.log("day:", day)}
/>

Props

Read from the component's own type, so this cannot drift from what it accepts.

PropTypeDefaultDescription
monthLabel*string—Header label, e.g. "January 2026"
weekStart*number—Weekday index (0=Sun … 6=Sat) that the 1st falls on
daysInMonth*number—
eventsCalendarEvent[]—Colored dots under specific days
todaynumber—Day number to mark as today
selectedDaynumber—Controlled selected day
defaultSelectedDaynumber—
onSelectDay(day: number) => void—
onPrevMonth() => void—
onNextMonth() => void—
classNamestring—

More Dashboard components

View all Dashboard
8 AM10 AM12 PM2 PM4 PM6 PM

Atrium Loft

Floor 3 · 12 seats

Studio B

Floor 2 · 8 seats

Garden Room

Ground · 20 seats

Rooftop Deck

Level 5 · 40 seats

Actions
A
Amara Okafor[email protected]
ScaleActive$4,820Jan 4, 2026
D
Diego Santos[email protected]
StarterTrial$0Feb 18, 2026
GrowthActive$2,140Nov 22, 2025
T
StarterChurned$380Aug 9, 2025
L
ScaleActive$6,390Mar 2, 2026
M
StarterTrial$0Feb 27, 2026

8 row(s)

Page 1 of 2