DateCalendar API
Demos
For examples and details on the usage of this React component, visit the component demo pages:
Import
import { DateCalendar } from '@mui/x-date-pickers-pro/DateCalendar';
// or
import { DateCalendar } from '@mui/x-date-pickers/DateCalendar';
// or
import { DateCalendar } from '@mui/x-date-pickers-pro';
// or
import { DateCalendar } from '@mui/x-date-pickers';
Component name
The nameMuiDateCalendar
can be used when providing default props or style overrides in the theme.Props
Name | Type | Default | Description |
---|---|---|---|
autoFocus | bool | false | If true , the main element is focused during the first mount. This main element is: - the element chosen by the visible view if any (i.e: the selected day on the day view). - the input element if there is a field rendered. |
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) => string day: 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} . | |
defaultValue | any | The default selected value. Used when the component is not controlled. | |
disabled | bool | false | If true , the picker and text field are disabled. |
disableFuture | bool | false | If true , disable values after the current date for date components, time for time components and both for date time components. |
disableHighlightToday | bool | false | If true , today's date is rendering without highlighting with circle. |
disablePast | bool | false | If true , disable values before the current date for date components, time for time components and both for date time components. |
displayWeekNumber | bool | false | If true , the week number will be display in the calendar. |
fixedWeekNumber | number | undefined | Calendar will show more weeks in order to match this value. Put it to 6 for having fix number of week in Gregorian calendars |
focusedView | 'day' | 'month' | 'year' | Controlled focused view. | |
loading | bool | false | If true , calls renderLoading instead of rendering the day calendar. Can be used to preload information and show it in calendar. |
maxDate | any | Maximal selectable date. | |
minDate | any | Minimal selectable date. | |
monthsPerRow | 3 | 4 | 3 | Months rendered per row. |
onChange | func | Callback fired when the value changes. Signature: function(value: TDate | null, selectionState: PickerSelectionState | undefined) => void value: The new value. selectionState: Indicates if the date selection is complete. | |
onFocusedViewChange | func | Callback fired on focused view change. Signature: function(view: TView, hasFocus: boolean) => void view: The new view to focus or not. hasFocus: true if the view should be focused. | |
onMonthChange | func | Callback fired on month change. Signature: function(month: TDate) => void month: The new month. | |
onViewChange | func | Callback fired on view change. Signature: function(view: TView) => void view: The new view. | |
onYearChange | func | Callback fired on year change. Signature: function(year: TDate) => void year: The new year. | |
openTo | 'day' | 'month' | 'year' | The default visible view. Used when the component view is not controlled. Must be a valid option from views list. | |
readOnly | bool | false | Make picker read only. |
reduceAnimations | bool | typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent) | Disable heavy animations. |
renderLoading | func | () => <span data-mui-test="loading-progress">...</span> | Component displaying when passed loading true.Signature: function() => React.ReactNode returns (React.ReactNode): The node to render when loading. |
shouldDisableDate | func | Disable specific date. Signature: function(day: TDate) => boolean day: The date to test. returns (boolean): If true the date will be disabled. | |
shouldDisableMonth | func | Disable specific month. Signature: function(month: TDate) => boolean month: The month to test. returns (boolean): If true , the month will be disabled. | |
shouldDisableYear | func | Disable specific year. Signature: function(year: TDate) => boolean year: The year to test. returns (boolean): If true , the year will be disabled. | |
showDaysOutsideCurrentMonth | bool | false | If true , days outside the current month are rendered:- if fixedWeekNumber is defined, renders days to have the weeks requested.- if fixedWeekNumber is not defined, renders day to fill the first and last week of the current month.- ignored if calendars equals more than 1 on range pickers. |
slotProps | object | {} | The props used for each component slot. |
slots | object | {} | Overrideable component slots. |
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. | |
value | any | The selected value. Used when the component is controlled. | |
view | 'day' | 'month' | 'year' | The visible view. Used when the component view is controlled. Must be a valid option from views list. | |
views | Array<'day' | 'month' | 'year'> | Available views. | |
yearsPerRow | 3 | 4 | 3 | Years rendered per row. |
Slots
Name | Type | Default | Description |
---|---|---|---|
Day | elementType | PickersDay | Custom component for day.
Check the PickersDay component. |
LeftArrowIcon | elementType | ArrowLeft | Icon displayed in the left view switch button. |
NextIconButton | elementType | IconButton | Button allowing to switch to the right view. |
PreviousIconButton | elementType | IconButton | Button allowing to switch to the left 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'. |
CSS
Rule name | Global class | Description |
---|---|---|
root | .MuiDateCalendar-root | Styles applied to the root element. |
viewTransitionContainer | .MuiDateCalendar-viewTransitionContainer | Styles applied to the transition group element. |
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's
styleOverrides
property in a custom theme.