Forms
Date Range Picker
Two linked DatePickers for a start and end date. Each one limits the other’s range.
ReactVueWeb Components
View in Storybook Playground
Examples
<DateRangePicker onChange={([from, to]) => …} /> Props
| Name | Type | Default | Description |
|---|---|---|---|
value | DateRange | — | Controlled `[start, end]` range. |
defaultValue | DateRange | — | Initial range when uncontrolled. @default [null, null] |
onChange | (range: DateRange) => void | — | Called with the updated range. |
min | PlainDateInput | — | Earliest selectable date. |
max | PlainDateInput | — | Latest selectable date. |
locale | Intl.LocalesArgument | — | BCP-47 locale for month/weekday names. |
weekStartsOn | Weekday | — | Which weekday the grid starts on. @default 1 (Monday) |
disabled | boolean | false | Disable both fields. @default false |
startLabel | string | Start date | Accessible label for the start field. @default 'Start date' |
endLabel | string | End date | Accessible label for the end field. @default 'End date' |
separator | ReactNode | – | Separator between the two fields. @default '–' |
className | string | — |
Accessibility
- Body/background contrast is ≥ 7:1 (AAA) in both light and dark.
- Every interaction works with the keyboard alone.
- The focus ring is always visible.
- Respects prefers-reduced-motion and stops excessive motion.
Every component is designed to meet WCAG 2.1 AAA.