DesktopDateRangePicker API
API reference docs for the React DesktopDateRangePicker component. Learn about the props, CSS, and other APIs of this exported module.
Import
import { DesktopDateRangePicker } from '@mui/x-date-pickers-pro/DesktopDateRangePicker';
// or
import { DesktopDateRangePicker } from '@mui/x-date-pickers-pro';Component name
The nameMuiDesktopDateRangePicker can be used when providing default props or style overrides in the theme.Props
| Name | Type | Default | Description | 
|---|---|---|---|
| onChange* | func | Callback fired when the value (the selected date range) changes @DateIOType. Signature: function(date: DateRange<TDate>, keyboardInputValue: string) => voiddate: The new parsed date range. keyboardInputValue: The current value of the keyboard input. | |
| renderInput* | func | The  renderInputprop allows you to customize the rendered input. ThestartPropsandendPropsarguments of this render prop contains props of TextField, that you need to forward to the range start/end inputs respectively. Pay specific attention to therefandinputPropskeys.Signature: function(startProps: MuiTextFieldProps, endProps: MuiTextFieldProps) => React.ReactElementstartProps: Props that you need to forward to the range start input. endProps: Props that you need to forward to the range end input. returns (React.ReactElement): The range input to render. | |
| value* | Array<any> | The value of the picker. | |
| acceptRegex | RegExp | /\dap/gi | Regular expression to detect "accepted" symbols. | 
| calendars | 1 | 2 | 3 | 2 | The number of calendars that render on desktop. | 
| className | string | className applied to the root component. | |
| closeOnSelect | bool | `true` for Desktop, `false` for Mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop). | If  truethe popup or dialog will immediately close after submitting full date. | 
| components | object | {} | Overrideable components. | 
| componentsProps | object | {} | The props used for each component slot. | 
| dayOfWeekFormatter | func | (day) => day.charAt(0).toUpperCase() | Formats the day of week displayed in the calendar header. Signature: function(day: string) => stringday: The day of week provided by the adapter's method getWeekdays.returns (string): The name to display. | 
| defaultCalendarMonth | any | Default calendar month displayed when  value={null}. | |
| disableAutoMonthSwitching | bool | false | If  true, after selectingstartdate calendar will not automatically switch to the month ofenddate. | 
| disabled | bool | false | If  true, the picker and text field are disabled. | 
| disableFuture | bool | false | If  truefuture days are disabled. | 
| disableHighlightToday | bool | false | If  true, today's date is rendering without highlighting with circle. | 
| disableMaskedInput | bool | false | Disable mask on the keyboard, this should be used rarely. Consider passing proper mask for your format. | 
| disableOpenPicker | bool | false | Do not render open picker button (renders only text field with validation). | 
| disablePast | bool | false | If  truepast days are disabled. | 
| endText | node | 'End' | Text for end input label and toolbar placeholder. | 
| getOpenDialogAriaText | func | (date, utils) => `Choose date, selected date is ${utils.format(utils.date(date), 'fullDate')}` | Get aria-label text for control that opens picker dialog. Aria-label text must include selected date. @DateIOType Signature: function(date: TInputDate, utils: MuiPickersAdapter<TDate>) => stringdate: The date from which we want to add an aria-text. utils: The utils to manipulate the date. returns (string): The aria-text to render inside the dialog. | 
| getViewSwitchingButtonText | func | Get aria-label text for switching between views button. Signature: function(currentView: CalendarPickerView) => stringcurrentView: The view from which we want to get the button text. returns (string): The label of the view. | |
| InputAdornmentProps | object | Props to pass to keyboard input adornment. | |
| inputFormat | string | Format string. | |
| inputRef | func | { current?: object } | Pass a ref to the  inputelement. | |
| leftArrowButtonText | string | Left arrow icon aria-label text. | |
| loading | bool | false | If  truerendersLoadingComponentin calendar instead of calendar view. Can be used to preload information and show it in calendar. | 
| mask | string | '__/__/____' | Custom mask. Can be used to override generate from format. (e.g.  __/__/____ __:__or__/__/____ __:__ _M). | 
| maxDate | any | Maximal selectable date. @DateIOType | |
| minDate | any | Minimal selectable date. @DateIOType | |
| onAccept | func | Callback fired when date is accepted @DateIOType. Signature: function(value: TValue) => voidvalue: The value that was just accepted. | |
| onClose | func | Callback fired when the popup requests to be closed. Use in controlled mode (see open). | |
| onError | func | Callback that fired when input value or new  valueprop validation returns new validation error (or value is valid after error). In case of validation error detectedreasonprop return non-null value andTextFieldmust be displayed inerrorstate. This can be used to render appropriate form error.Read the guide about form integration and error displaying. Signature: function(reason: TError, value: TInputValue) => voidreason: The reason why the current value is not valid. value: The invalid value. | |
| onMonthChange | func | Callback firing on month change @DateIOType. Signature: function(month: TDate) => void | Promisemonth: The new month. returns (void | Promise): - | |
| onOpen | func | Callback fired when the popup requests to be opened. Use in controlled mode (see open). | |
| onViewChange | func | Callback fired on view change. Signature: function(view: CalendarPickerView) => voidview: The new view. | |
| open | bool | false | Control the popup or dialog open state. | 
| OpenPickerButtonProps | object | Props to pass to keyboard adornment button. | |
| PaperProps | object | Paper props passed down to Paper component. | |
| PopperProps | object | Popper props passed down to Popper component. | |
| readOnly | bool | false | Make picker read only. | 
| reduceAnimations | bool | typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent) | Disable heavy animations. | 
| renderDay | func | Custom renderer for  <DateRangePicker />days. @DateIOTypeSignature: function(day: TDate, dateRangePickerDayProps: DateRangePickerDayProps<TDate>) => JSX.Elementday: The day to render. dateRangePickerDayProps: The props of the day to render. returns (JSX.Element): The element representing the day. | |
| renderLoading | func | () => <span data-mui-test="loading-progress">...</span> | Component displaying when passed  loadingtrue.Signature: function() => React.ReactNodereturns (React.ReactNode): The node to render when loading. | 
| rifmFormatter | func | Custom formatter to be passed into Rifm component. Signature: function(str: string) => stringstr: The un-formatted string. returns (string): The formatted string. | |
| rightArrowButtonText | string | Right arrow icon aria-label text. | |
| shouldDisableDate | func | Disable specific date. @DateIOType Signature: function(day: TDate, position: string) => booleanday: The date to test. position: The date to test, 'start' or 'end'. returns (boolean): Returns trueif the date should be disabled. | |
| shouldDisableMonth | func | Disable specific months dynamically. Works like  shouldDisableDatebut for month selection view @DateIOType.Signature: function(month: TDate) => booleanmonth: The month to check. returns (boolean): If truethe month will be disabled. | |
| shouldDisableYear | func | Disable specific years dynamically. Works like  shouldDisableDatebut for year selection view @DateIOType.Signature: function(year: TDate) => booleanyear: The year to test. returns (boolean): Returns trueif the year should be disabled. | |
| showDaysOutsideCurrentMonth | bool | false | If  true, days that haveoutsideCurrentMonth={true}are displayed. | 
| showToolbar | bool | false | If  true, show the toolbar even in desktop mode. | 
| startText | node | 'Start' | Text for start input label and toolbar placeholder. | 
| toolbarFormat | string | Date format, that is displaying in toolbar. | |
| toolbarTitle | node | 'Select date range' | Mobile picker title, displaying in the toolbar. | 
| TransitionComponent | elementType | Custom component for popper Transition. | 
Slots
| Name | Type | Default | Description | 
|---|---|---|---|
| ActionBar | elementType | PickersActionBar | The action bar placed bellow picker views. | 
| LeftArrowButton | elementType | IconButton | Button allowing to switch to the left view. | 
| LeftArrowIcon | elementType | ArrowLeft | Icon displayed in the left view switch button. | 
| OpenPickerIcon | elementType | Calendar or Clock | Icon displayed in the open picker button. | 
| PaperContent | elementType | React.Fragment | The content of the Paper wrapping views. | 
| RightArrowButton | elementType | IconButton | Button allowing to switch to the right view. | 
| RightArrowIcon | elementType | ArrowRight | Icon displayed in the right view switch button. | 
| SwitchViewButton | elementType | IconButton | Button displayed to switch between different calendar views. | 
| SwitchViewIcon | elementType | ArrowDropDown | Icon displayed in the SwitchViewButton. Rotated by 180° when the open view is 'year'. | 
ref is forwarded to the root element.