Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)

Date Range Picker

Link to Figma: https://www.figma.com/design/yck1tcUXgdQ5aYX6iUAwrO/GE---Astronaut-Design-System?node-id=11525-89949&t=iosNC2AkSTGs5lMh-1

Overview

  • The Date Range Picker allows users to select a start and end date within forms.
  • It supports formatting, display options, and validation rules.
  • It is useful for scenarios such as reporting periods, booking ranges, or filtering data by timeframes.
  • The component can also handle time selection when precision is required.

Example Date Range Picker

Specs

Tokens

TokenDescription
labelTranslationsSets the label text displayed above the picker with support for multiple languages.
formatDetermines how selected dates are displayed and parsed (e.g., "DD/MM/YYYY").
minZoomModeSets the minimum zoom level in the calendar (DAY, MONTH, YEAR).
maxZoomModeSets the maximum zoom level in the calendar (DAY, MONTH, YEAR).
showTimeControls whether time selection is available.
showNowButtonAdds a button to quickly select the current date and time.
initializeWithCurrentDatePre-fills the picker with today as start and tomorrow as end when first displayed.
typeSets the appearance to "NORMAL" (dropdown) or "INLINE" (always visible calendar).
hiddenControls whether the component is visible in the form.
saveInLocalStoragePreserves the selected range in local storage between sessions.
defaultValueSets the initial date range used when the form is reset.
readonlyDisplays the value but prevents user changes.
dataFieldDefines the field name used when submitting form data.
controlsRequestTypeSpecifies how the date range data is sent in HTTP requests (BODY, HEADER, PATH).
validationConfigures validation rules for the date range.
requiredEnsures a date range must be selected before submission.
authorizationDisableApplies a policy set that disables the component based on user permissions.
eventsConfigures events the component can trigger or respond to.
ON_VALUE_CHANGE (Events)Triggered when the user changes the date range.
ON_INIT_BASED_ON_USER_VIEW (Events)Triggered when the component initializes in user view mode.
ON_INIT (Events)Triggered when the component is initialized.
ON_DESTROY (Events)Triggered when the component is removed from the DOM.

...

  • validation – Configures validation rules for the date range picker, including:
  • required – When set to true, a date range must be selected before the form can be submitted. This ensures users provide this important information before proceeding.
  • Figma: https://www.figma.com/design/yck1tcUXgdQ5aYX6iUAwrO/GE---Astronaut-Design-System?node-id=11525-89949&t=iosNC2AkSTGs5lMh-1
  • Live style guide: https://e1-dev.k8s.myapp.de/live-style-guide/id3/9-date-picker/date-range-picker

Guidelines

Usage

  • Use for selecting a start and end date (optionally with time) when forms must submit a single range value. Bind the submitted field and transport to backends using dataField and controlsRequestType.
  • Enable time precision only when required. Turn on showTime so users can pick hours/minutes alongside dates.
  • Prefer a predictable, explicit display/parse format. Set format (e.g., DD.MM.YYYY or YYYY-MM-DD HH:mm) so values read consistently and parse reliably.
  • Pre-fill when “current period” is the dominant choice. Use initializeWithCurrentDate (today → tomorrow) or set an explicit defaultValue for common ranges.

...

DoDon’tArticle setting(s)
Use showTime: true when hours/minutes matter.Encode time in help text while leaving time selection off.showTime
Constrain zoom to match the task (e.g., MONTH↔YEAR).Leave default zoom so users must click through days for month-level picks.minZoomMode, maxZoomMode
Pre-fill common ranges with today→tomorrow or a known default.Start empty when most users pick “today”.initializeWithCurrentDate, defaultValue
Persist the last chosen range across sessions when useful.Clear the range on reload, forcing users to re-enter.saveInLocalStorage
Use a compact explicit format to avoid truncation.Rely on ambiguous, locale-dependent browser defaults.format
Inline the calendar when range entry is frequent.Force extra clicks with a dropdown in workflows that need constant adjustment.type
Validate at the component level and mark as required when needed.Depend solely on downstream validation to catch empty/invalid ranges.validation, required
Wire downstream updates to value changes.Require a separate “Apply” button to sync data.events, ON_VALUE_CHANGE
Disable on policy while keeping it visible when awareness is needed.Hide it when users should understand they lack edit rights.authorizationDisable
Set a stable field name and request location for submissions.Let backends infer where the range will appear.dataField, controlsRequestType

Accessibility

  • Localize the field name so screen readers announce the correct label in the user’s language.
  • Use an explicit, unambiguous date format to reduce misinterpretation by assistive technologies.
  • Reduce keyboard navigation load by limiting calendar granularity to what the task needs (e.g., month/year only).
  • Minimize unnecessary focus stops by enabling time inputs only when time precision is needed.
  • Offer a quick “current date/time” action to reduce input effort for motor and cognitive accessibility.
  • Provide a predictable initial value so the control announces meaningful content on first focus when helpful.
  • Avoid re-entry burden across sessions by persisting the last valid range.
  • Hide irrelevant inputs entirely to prevent confusion in the accessibility tree when the control is not applicable.
  • Reflect permission states clearly by disabling interaction while leaving the value visible when policy requires it.