Vesture

Date & time

DateRangePicker

Two linked date inputs plus a shaded range Calendar — for booking windows, report ranges, and similar.

DateRangePicker

Preview

Usage

tsx
import { DateRangePicker } from "@vesture/react";

<DateRangePicker value={range} onChange={setRange} locale="en-US" />

Behavior

  • Start and end inputs validate against each other — start can't exceed end and vice versa.
  • First calendar click sets the range start (clearing a prior end), the second sets the end, auto-swapping if it precedes the current start.

Props

PropTypeDefaultDescription
value / defaultValue{ start: Date | null; end: Date | null }—Controlled / uncontrolled range.
onChange(range) => void—Fires on range change.
minDate / maxDate / isDateDisabledmixed—Same as Calendar.
weekStartsOn0 | 11Sunday or Monday, passed through to the popover's Calendar.
localestring"en-US"Drives both inputs and the Calendar.
startPlaceholder / endPlaceholderstring—Defaults derived from locale.
disabledboolean—Disables both inputs and the calendar-trigger button.
open / onOpenChangeboolean / fn—Controlled popover state.