Calendar

A date field that allows users to enter and edit dates. Built on react-day-picker v8.

Single date

SuMoTuWeThFrSa
import { Calendar } from "@tidal-ds/react";

const [date, setDate] = React.useState<Date | undefined>();

<Calendar mode="single" selected={date} onSelect={setDate} />

Date range

SuMoTuWeThFrSa
SuMoTuWeThFrSa
import { Calendar } from "@tidal-ds/react";
import type { DateRange } from "react-day-picker";

const [range, setRange] = React.useState<DateRange | undefined>();

<Calendar
  mode="range"
  selected={range}
  onSelect={setRange}
  numberOfMonths={2}
/>

With disabled dates

SuMoTuWeThFrSa
<Calendar
  mode="single"
  selected={date}
  onSelect={setDate}
  disabled={{ before: new Date() }}
/>

Props

Calendar forwards every prop to DayPicker. Common props:

PropTypeNotes
mode"single" | "multiple" | "range"Selection mode.
selectedDate | Date[] | DateRangeControlled selection.
onSelect(value) => voidChange handler matching mode.
numberOfMonthsnumberRender N months side-by-side (great for range).
defaultMonthDateInitial visible month.
disabledMatcher | Matcher[]Disable specific days (before/after/days).
showOutsideDaysbooleanDefault true — show trailing/leading days.

Source

packages/react/src/components/calendar.tsx · Figma node 2819:19887