Calendar

Month-view calendar for date selection. Supports single, multiple, and range modes.

Live Demo

Single

July 2026

Range

July 2026

Props

PropTypeDefaultDescription
mode"single" | "multiple" | "range""single"Selection mode: single, multiple, or range
selectedDate | Date[] | DateRangeCurrently selected date(s)
onSelect(date) => voidCallback when selection changes
disabledDate | Date[] | MatcherDisabled date(s) or matcher function
showOutsideDaysbooleantrueShow days from adjacent months

Usage

import { Calendar } from '@ghiberti85/ui'

// Single date
const [date, setDate] = useState<Date | undefined>()
<Calendar mode="single" selected={date} onSelect={setDate} />

// Date range
const [range, setRange] = useState<{ from?: Date; to?: Date }>()
<Calendar mode="range" selected={range} onSelect={setRange} />

// Multiple dates
const [dates, setDates] = useState<Date[]>()
<Calendar mode="multiple" selected={dates} onSelect={setDates} />

// Disable weekends
<Calendar mode="single" disabled={{ dayOfWeek: [0, 6] }} />

View in Storybook

Open in Storybook
Ghiberti UI — Design System