Saturation UIsaturation UI
DocsComponentsBlocks
⌘K

Getting Started

IntroductionInstallationTheming

Components

AccordionAI Chat InputAlertAnimated GroupAnimated NumberAvatarBadgeBorder TrailBreadcrumbButtonButton GroupCalendarCardChartCheckboxCollapsibleComboboxCommandContext MenuData TableDate PickerDialogDropdown MenuEmptyFieldGlow EffectInputInput GroupItemKbdMenubarNovel EditorPaginationProgressive BlurProgressSelectSheetSkeletonSonnerSpinnerSpotlightSwitchTableTabsText EffectText ShimmerTextareaToggleToggle GroupTreeTypography
Components
/
Calendar

Calendar

A date picker component with range and multiple selection support.

November 2025
SuMoTuWeThFrSa

Installation

npx shadcn@latest add https://ui.saturation.io/r/calendar.json

Usage

import { Calendar } from "@/components/ui/calendar"
import { useState } from "react"

export default function Example() {
  const [date, setDate] = useState<Date | undefined>(new Date())
  
  return (
    <Calendar
      mode="single"
      selected={date}
      onSelect={setDate}
    />
  )
}

Examples

Default

November 2025
SuMoTuWeThFrSa

Date Range

Select a range of dates by setting mode to "range".

November 2025
SuMoTuWeThFrSa

Multi Month

Display multiple months at once using the numberOfMonths prop.

November 2025
SuMoTuWeThFrSa
December 2025
SuMoTuWeThFrSa

Multi Month with Date Range

Combine multiple months with range selection for better date range visibility.

November 2025
SuMoTuWeThFrSa
December 2025
SuMoTuWeThFrSa

Disabled Dates

Disable specific dates using the disabled prop with an array of dates or a matcher function.

June 2025
SuMoTuWeThFrSa

Disabled Weekends

Disable all weekend dates using a matcher function.

June 2025
SuMoTuWeThFrSa

Month and Year Picker

Enable month and year selection with dropdown controls using captionLayout.

Nov2025November 2025
SuMoTuWeThFrSa

With Event List

Display a calendar with an event list showing scheduled items for the selected date.

June 2025
SuMoTuWeThFrSa
June 12, 2025
Team Sync Meeting
9:00 AM - 10:00 AM
Design Review
11:30 AM - 12:30 PM
Client Presentation
2:00 PM - 3:00 PM

With Time Input

Combine date selection with time input for scheduling and appointment booking.

November 2025
SuMoTuWeThFrSa

API Reference

PropTypeDefaultDescription
modesingle | range | multiplesingleThe selection mode
selectedDate | DateRange-The selected date(s)
onSelectfunction-Callback when date is selected
numberOfMonthsnumber1Number of months to display
disabledDate[] | function-Dates to disable
captionLayoutbuttons | dropdown | dropdown-buttonsbuttonsLayout for the caption
fromYearnumber-Start year for dropdown
toYearnumber-End year for dropdown
showOutsideDaysbooleantrueWhether to show dates from adjacent months

On This Page

  • Preview
  • Installation
  • Usage
  • Examples
    • Default
    • Date Range
    • Multi Month
    • Multi Month with Range
    • Disabled Dates
    • Disabled Weekends
    • Month and Year Picker
    • With Event List
    • With Time Input
  • API Reference

Deploy your Saturation UI app

Build beautiful, saturated interfaces with our component library.

Deploy to Vercel for the best performance and developer experience.