Concrete
form
Component

Date range picker

Range picker for start/end ISO dates with calendar selection and in-range treatment.

Date range picker returns a small object boundary and keeps range intent visible without introducing a date runtime dependency.

Playground

Props in the URL.

Controls update query params directly. Complex slots use curated fixtures so component states stay deterministic, linkable, and screenshot-ready.

Loading playground.
States

Rendered matrix.

Every state maps to the same component render route through the `state` query param.

Default

Closed range field.

/render state
April 2026
MonTueWedThuFriSatSun
Open

Open calendar with active range.

/render state
Partial

Start date selected while waiting for an end date.

/render state
Props

Public contract.

NameTypeDefaultDescription
valueDateRangeValue-Controlled start/end ISO date object.
defaultValueDateRangeValue-Uncontrolled initial range value.
defaultOpenbooleanfalseInitial calendar popdown state.
minDateValue-Minimum selectable ISO date.
maxDateValue-Maximum selectable ISO date.
onValueChange(value: DateRangeValue) => void-Receives the selected range.
labelReactNode-Field label.