ComponentsPickers and uploads
Date range picker
Two dates chosen in one calendar: a start and an end. Choose it for stays, reports and leave requests, where the span matters as much as either date.
Basic usage
Bind a DateRange with @bind-DateRange. Start and End are nullable while the range is being chosen.
4 nights, from Monday, November 9, 2026 to Friday, November 13, 2026.
Two months side by side
DisplayMonths shows several months at once, which makes ranges across a month boundary easy to pick.
Every variant and margin
Variant and Margin shape the closed field exactly as they shape a text field.
| Variant ↓ · Margin → | None | Dense | Normal |
|---|---|---|---|
| Text | |||
| Filled | |||
| Outlined |
Bounds and allowed lengths
MinDate and MaxDate limit the calendar, MinDays and MaxDays limit the length, and IsDateDisabledFunc blocks days that a range may not include.
No booking yet.
Typing, clearing and formats
Editable ranges accept typed dates in both halves. Placeholders name each half, and Culture with DateFormat sets the text.
Presets and action buttons
Common ranges are one click away beside the field; inside the calendar, OK commits and Cancel restores the previous range.