Date Range Picker

Dates & Time
Local guide ↗ import { DateRangePicker } from "bits-ui"

Presets and range calendar

Last 7 days and this month replace the same bound range edited by the field and calendar

Travel dates

Bound range: 2026-08-25 — 2026-08-31

Constrained stay

Minimum and maximum range lengths with the popover held open while dates are refined

Production reservation

Select 3–10 consecutive calendar days

5 days

Date Range Picker composes Date Range Field, Range Calendar, and Popover state. Its value is still one { start, end } object; presets must replace those immutable date values rather than mutate them. Selection closes the popover by default, while closeOnRangeSelect can keep it open.

The top-level Portal utility renders the picker content into document.body by default and accepts a custom to target. Locale controls field formatting and the calendar's first weekday unless weekStartsOn is set; granularity and hourCycle follow the same rules as Date Range Field when the bound values include time.