Skip to main content

date_range_picker

Function date_range_picker 

Source
pub fn date_range_picker() -> DateRangePickerBuilder
Expand 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());