DatePicker

Language:

Single Date

Short Display Format (dd/mm/yyyy)

Single Date with Day Navigation

Date Range

Date + Time

With Min/Max Dates

Only dates within the next 30 days are selectable.

Disable Weekends

Saturdays and Sundays cannot be selected.

Disabled Specific Dates

Holidays (2026-11-15, 2026-11-20, 2026-12-25) are disabled. Combined with disableWeekends.

Year & Month Select

Dropdown selects for year and month navigation.

Disabled

DatePicker

A date picker input with popover calendar. Supports single date, date range, and date + time selection modes.

Usage

import { DatePicker } from "@/components/ui/date-picker"

// Single date
<DatePicker
  value={date}
  onChange={setDate}
/>

// Date range
<DatePicker
  mode="range"
  value={range}
  onChange={setRange}
/>

// Date + time
<DatePicker
  mode="datetime"
  value={dateTime}
  onChange={setDateTime}
/>

Props

PropTypeDefaultDescription
mode"single" | "range" | "datetime""single"Selection mode. Single picks one date, range picks from/to, datetime adds time inputs.
valueDate | DateRange | undefinedSelected value. Date for single/datetime, { from?: Date; to?: Date } for range.
onChange(value) => voidCalled when selection changes. Argument type matches the mode.
displayFormat"long" | "short""long"Date display format. "long" shows full date (e.g. March 21, 2026), "short" shows dd/MM/yyyy.
enableDayNavigationbooleanfalseSingle mode only. Adds < > buttons beside the trigger to move one day forward or backward.
placeholderstringCustom placeholder text. Defaults to a localized string per mode.
disabledbooleanfalseDisables the trigger button.
disableWeekendsbooleanfalsePrevents selection of Saturdays and Sundays.
disabledDatesstring[]Array of dates in "yyyy-MM-dd" format to disable. Can be combined with disableWeekends.
enableYearMonthSelectbooleanfalseShows dropdown selects for year and month in the calendar header for quick navigation. Range defaults to 100 years back / 10 years forward, or uses minDate/maxDate.
language"en" | "pt""en"Locale for labels, month/weekday names, and date formatting.
formatstringCustom date-fns format string. Defaults: "PPP" (single), "PP" (range), "PPP HH:mm" (datetime).
minDateDateEarliest selectable date.
maxDateDateLatest selectable date.
triggerClassNamestringAdditional classes for the trigger button.
classNamestringAdditional classes for the popover content.