pub fn date_range_picker() -> DateRangePickerBuilderExpand description
§date_range_picker
Select an inclusive date range for bookings, reports, and multi-day events.
§Usage
Collect a start and end date with a scrolling calendar or two date inputs.
§Parameters
state— optional external selection, restrictions, visible month, and mode.modifier— sizing and layout of the picker body.first_day_of_week— weekday at the start of each calendar row.today— current date used for the date outline and initial keyboard focus; defaults to the system date.calendar_height— scrollable month viewport height; defaults to 360dp.show_mode_toggle— whether people can switch calendar and input modes.title— optional title override.headline— optional selection-summary override.
§Examples
use tessera_components::date_picker::{CalendarDate, DateRangePickerState, date_range_picker};
use tessera_components::theme::material_theme;
use tessera_ui::{remember, tessera};
#[tessera]
fn demo() {
let state = remember(DateRangePickerState::default);
material_theme().child(move || {
date_range_picker()
.state(state)
.today(CalendarDate::new(2026, 7, 16).unwrap());
});
}
let mut state = DateRangePickerState::default();
let day = CalendarDate::new(2026, 10, 17).unwrap();
assert!(state.select_date(day));
assert!(!state.is_complete());
assert!(state.select_date(day));
assert!(state.is_complete());