MeldUI

Date Range Picker

A composite date picker with presets, calendar, and support for single or range date selection.

Usage

Single Date Mode

Use mode="single" for picking a single date instead of a range.

Props

PropTypeDefaultDescription
mode'range' | 'single''range'Whether to select a date range or a single date.
modelValue{ start: DateValue; end: DateValue } | DateValue-The selected date value (range object or single date).
presets{ label: string; value: { start: DateValue; end: DateValue } | DateValue }[]-Predefined date options shown as quick-select buttons.
showCalendarbooleantrueWhether to display the calendar alongside presets.
closeOnPresetSelectbooleantrueClose the popover automatically when a preset is selected.
placeholderstring-Placeholder text shown when no date is selected.
localestring'en-US'Locale string for date formatting.
minValueDateValue-The earliest selectable date.
maxValueDateValue-The latest selectable date.
disabledbooleanfalseDisables the entire picker.
numberOfMonthsnumber2Number of months visible in the calendar at once.

Sub-components

DateRangePicker

Root component managing state and popover

DateRangePickerTrigger

The button that opens the picker popover

DateRangePickerContent

Popover content wrapper for calendar and presets

DateRangePickerCalendar

The calendar grid for selecting dates

DateRangePickerPresets

Quick-select preset buttons