DesktopDateTimeRangePicker API
API reference docs for the React DesktopDateTimeRangePicker component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import { DesktopDateTimeRangePicker } from '@mui/x-date-pickers-pro/DesktopDateTimeRangePicker';
// or
import { DesktopDateTimeRangePicker } from '@mui/x-date-pickers-pro';
Learn about the difference by reading this guide on minimizing bundle size.
Name | Type | Default | Description |
---|---|---|---|
ampm | bool | utils.is12HourCycleInCurrentLocale() | 12h/24h view for hour selection clock. |
autoFocus | bool | - | If |
calendars | 1 | 2 | 3 | 1 | The number of calendars to render on desktop. |
closeOnSelect | bool | `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop). | If |
currentMonthCalendarPosition | 1 | 2 | 3 | 1 | Position the current month is rendered in. |
dayOfWeekFormatter | func | (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase() | Formats the day of week displayed in the calendar header. Signature: function(date: PickerValidDate) => string
Returns: The name to display. |
defaultRangePosition | 'end' | 'start' | 'start' | The initial position in the edited date range. Used when the component is not controlled. |
defaultValue | Array<object> | - | The default value. Used when the component is not controlled. |
disableAutoMonthSwitching | bool | false | If |
disabled | bool | false | If |
disableDragEditing | bool | false | If |
disableFuture | bool | false | If |
disableHighlightToday | bool | false | If |
disableIgnoringDatePartForTimeValidation | bool | false | Do not ignore date part when validating min/max time. |
disableOpenPicker | bool | false | If |
disablePast | bool | false | If |
displayWeekNumber | bool | - | If |
fixedWeekNumber | number | - | The day view will show as many weeks as needed after the end of the current month to match this value. Put it to 6 to have a fixed number of weeks in Gregorian calendars |
format | string | - | Format of the date when rendered in the input(s). Defaults to localized format based on the used |
formatDensity | 'dense' | 'spacious' | "dense" | Density of the format when rendered in the input. Setting |
inputRef | ref | - | Pass a ref to the |
label | node | - | The label content. Ignored if the field has several inputs. |
loading | bool | false | If |
localeText | object | - | Locale for components texts. Allows overriding texts coming from |
maxDate | object | 2099-12-31 | Maximal selectable date. |
maxDateTime | object | - | Maximal selectable moment of time with binding to date, to set max time in each day use |
maxTime | object | - | Maximal selectable time. The date part of the object will be ignored unless |
minDate | object | 1900-01-01 | Minimal selectable date. |
minDateTime | object | - | Minimal selectable moment of time with binding to date, to set min time in each day use |
minTime | object | - | Minimal selectable time. The date part of the object will be ignored unless |
minutesStep | number | 1 | Step over minutes. |
name | string | - | Name attribute used by the |
onAccept | func | - | Callback fired when the value is accepted. Signature: function(value: TValue, context: FieldChangeHandlerContext
|
onChange | func | - | Callback fired when the value changes. Signature: function(value: TValue, context: FieldChangeHandlerContext
|
onClose | func | - | Callback fired when the popup requests to be closed. Use in controlled mode (see |
onError | func | - | Callback fired when the error associated with the current value changes. When a validation error is detected, the Signature: function(error: TError, value: TValue) => void
|
onMonthChange | func | - | Callback fired on month change. Signature: function(month: PickerValidDate) => void
|
onOpen | func | - | Callback fired when the popup requests to be opened. Use in controlled mode (see |
onRangePositionChange | func | - | Callback fired when the range position changes. Signature: function(rangePosition: RangePosition) => void
|
onSelectedSectionsChange | func | - | Callback fired when the selected sections change. Signature: function(newValue: FieldSelectedSections) => void
|
onViewChange | func | - | Callback fired on view change. Signature: function(view: TView) => void
|
open | bool | false | Control the popup or dialog open state. |
openTo | 'day' | 'hours' | 'minutes' | 'seconds' | - | The default visible view. Used when the component view is not controlled. Must be a valid option from |
rangePosition | 'end' | 'start' | - | The position in the currently edited date range. Used when the component position is controlled. |
readOnly | bool | false | If |
reduceAnimations | bool | `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13 | If |
referenceDate | object | The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`. | The date used to generate the new value when both |
renderLoading | func | () => "..." | Component rendered on the "day" view when Signature: function() => React.ReactNode Returns: The node to render when loading. |
selectedSections | 'all' | 'day' | 'empty' | 'hours' | 'meridiem' | 'minutes' | 'month' | 'seconds' | 'weekDay' | 'year' | number | - | The currently selected sections. This prop accepts four formats: 1. If a number is provided, the section at this index will be selected. 2. If a string of type |
shouldDisableDate | func | - | Disable specific date. Signature: function(day: PickerValidDate, position: string) => boolean
Returns: Returns |
shouldDisableTime | func | - | Disable specific time. Signature: function(value: PickerValidDate, view: TimeView) => boolean
Returns: If |
showDaysOutsideCurrentMonth | bool | false | If |
skipDisabled | bool | false | If |
slotProps | object | {} | The props used for each component slot. |
slots | object | {} | Overridable component slots. See Slots API below for more details. |
sx | Array<func | object | bool> | func | object | - | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details. |
thresholdToRenderTimeInASingleColumn | number | 24 | Amount of time options below or at which the single column time renderer is used. |
timeSteps | { hours?: number, minutes?: number, seconds?: number } | { hours: 1, minutes: 5, seconds: 5 } | The time steps between two time unit options. For example, if |
timezone | string | The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise. | Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used. See the timezones documentation for more details. |
value | Array<object> | - | The selected value. Used when the component is controlled. |
view | 'day' | 'hours' | 'meridiem' | 'minutes' | 'seconds' | - | The visible view. Used when the component view is controlled. Must be a valid option from |
viewRenderers | { day?: func, hours?: func, meridiem?: func, minutes?: func, seconds?: func } | - | Define custom view renderers for each section. If |
views | Array<'day' | 'hours' | 'minutes' | 'seconds'> | - | Available views. |
ref
is forwarded to the root element.Slot name | Class name | Default component | Description |
---|---|---|---|
actionBar | PickersActionBar | Custom component for the action bar, it is placed below the picker views. | |
calendarHeader | PickersCalendarHeader | Custom component for calendar header. Check the PickersCalendarHeader component. | |
clearButton | IconButton | Button to clear the value. | |
clearIcon | ClearIcon | Icon to display inside the clear button. | |
day | DateRangePickersDay | Custom component for day in range pickers. Check the DateRangePickersDay component. | |
desktopPaper | PickersPopperPaper | Custom component for the paper rendered inside the desktop picker's Popper. | |
desktopTransition | Grow or Fade from '@mui/material' when `reduceAnimations` is `true`. | Custom component for the desktop popper Transition. | |
desktopTrapFocus | TrapFocus from '@mui/material'. | Custom component for trapping the focus inside the views on desktop. | |
digitalClockItem | MenuItem from '@mui/material' | Component responsible for rendering a single digital clock item. | |
digitalClockSectionItem | MenuItem from '@mui/material' | Component responsible for rendering a single multi section digital clock section item. | |
field | |||
fieldRoot | Element rendered at the root. Ignored if the field has only one input. | ||
fieldSeparator | Element rendered between the two inputs. Ignored if the field has only one input. | ||
layout | Custom component for wrapping the layout. It wraps the toolbar, views, action bar, and shortcuts. | ||
leftArrowIcon | ArrowLeft | Icon displayed in the left view switch button. | |
nextIconButton | IconButton | Button allowing to switch to the right view. | |
popper | Popper from '@mui/material'. | Custom component for the popper inside which the views are rendered on desktop. | |
previousIconButton | IconButton | Button allowing to switch to the left view. | |
rightArrowIcon | ArrowRight | Icon displayed in the right view switch button. | |
shortcuts | PickersShortcuts | Custom component for the shortcuts. | |
switchViewButton | IconButton | Button displayed to switch between different calendar views. | |
switchViewIcon | ArrowDropDown | Icon displayed in the SwitchViewButton. Rotated by 180° when the open view is year . | |
tabs | DateTimeRangePickerTabs | Tabs enabling toggling between date and time pickers. | |
textField | TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`. | Form control with an input to render a date or time inside the default field. It is rendered twice: once for the start element and once for the end element. | |
toolbar | DateTimeRangePickerToolbar | Custom component for the toolbar rendered above the views. |
Source code
If you did not find the information in this page, consider having a look at the implementation of the component for more detail.