@mui/x-date-pickers-pro 6.0.0-alpha.12 → 6.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +7 -1
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
  4. package/DateRangePicker/DateRangePicker.js +0 -5
  5. package/DateRangePicker/DateRangePickerView.d.ts +3 -3
  6. package/DateRangePicker/DateRangePickerView.js +6 -3
  7. package/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  8. package/DateRangePickerDay/DateRangePickerDay.js +72 -1
  9. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +5 -0
  10. package/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  11. package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  12. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
  13. package/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  14. package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  15. package/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  16. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +2 -2
  17. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  18. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +3 -3
  19. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  20. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +2 -2
  21. package/NextDateRangePicker/NextDateRangePicker.js +16 -2
  22. package/NextDateRangePicker/shared.d.ts +9 -2
  23. package/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  24. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +3 -2
  25. package/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  26. package/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  27. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +13 -0
  28. package/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  29. package/dateRangeViewRenderers/index.d.ts +2 -0
  30. package/dateRangeViewRenderers/index.js +1 -0
  31. package/dateRangeViewRenderers/package.json +6 -0
  32. package/index.d.ts +1 -0
  33. package/index.js +5 -2
  34. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  35. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  36. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +4 -5
  37. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
  38. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  39. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +4 -5
  40. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  41. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  42. package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +2 -0
  43. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  44. package/internal/hooks/useRangePickerInputProps.d.ts +4 -6
  45. package/internal/hooks/useRangePickerInputProps.js +5 -6
  46. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  47. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  48. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  49. package/internal/models/dateRange.d.ts +11 -1
  50. package/internal/models/dateTimeRange.d.ts +2 -2
  51. package/internal/models/timeRange.d.ts +2 -1
  52. package/internal/utils/date-fields-utils.d.ts +17 -1
  53. package/internal/utils/releaseInfo.js +1 -1
  54. package/internal/utils/valueManagers.js +15 -21
  55. package/legacy/DateRangeCalendar/DateRangeCalendar.js +7 -1
  56. package/legacy/DateRangePicker/DateRangePicker.js +0 -5
  57. package/legacy/DateRangePicker/DateRangePickerView.js +7 -2
  58. package/legacy/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  59. package/legacy/DateRangePickerDay/DateRangePickerDay.js +72 -1
  60. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  61. package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  62. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  63. package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  64. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +44 -11
  65. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +43 -8
  66. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +43 -8
  67. package/legacy/NextDateRangePicker/NextDateRangePicker.js +16 -2
  68. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +109 -4
  69. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  70. package/legacy/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  71. package/legacy/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  72. package/legacy/dateRangeViewRenderers/index.js +1 -0
  73. package/legacy/index.js +5 -2
  74. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  75. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  76. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  77. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  78. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  79. package/legacy/internal/hooks/useRangePickerInputProps.js +5 -6
  80. package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  81. package/legacy/internal/utils/releaseInfo.js +1 -1
  82. package/legacy/internal/utils/valueManagers.js +15 -23
  83. package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  84. package/modern/DateRangeCalendar/DateRangeCalendar.js +7 -1
  85. package/modern/DateRangePicker/DateRangePicker.js +0 -5
  86. package/modern/DateRangePicker/DateRangePickerView.js +6 -3
  87. package/modern/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  88. package/modern/DateRangePickerDay/DateRangePickerDay.js +72 -1
  89. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  90. package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  91. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  92. package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  93. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  94. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  95. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  96. package/modern/NextDateRangePicker/NextDateRangePicker.js +16 -2
  97. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  98. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  99. package/modern/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  100. package/modern/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  101. package/modern/dateRangeViewRenderers/index.js +1 -0
  102. package/modern/index.js +5 -2
  103. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  104. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  105. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  106. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  107. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  108. package/modern/internal/hooks/useRangePickerInputProps.js +5 -6
  109. package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  110. package/modern/internal/utils/releaseInfo.js +1 -1
  111. package/modern/internal/utils/valueManagers.js +15 -21
  112. package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  113. package/node/DateRangeCalendar/DateRangeCalendar.js +7 -1
  114. package/node/DateRangePicker/DateRangePicker.js +0 -5
  115. package/node/DateRangePicker/DateRangePickerView.js +6 -3
  116. package/node/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  117. package/node/DateRangePickerDay/DateRangePickerDay.js +72 -1
  118. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  119. package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  120. package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  121. package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  122. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  123. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  124. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  125. package/node/NextDateRangePicker/NextDateRangePicker.js +16 -2
  126. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  127. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  128. package/node/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  129. package/node/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +4 -4
  130. package/node/dateRangeViewRenderers/index.js +12 -0
  131. package/node/index.js +13 -1
  132. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  133. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  134. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  135. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  136. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  137. package/node/internal/hooks/useRangePickerInputProps.js +5 -6
  138. package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  139. package/node/internal/utils/releaseInfo.js +1 -1
  140. package/node/internal/utils/valueManagers.js +14 -20
  141. package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  142. package/package.json +3 -3
  143. package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  144. package/internal/utils/viewRenderers.d.ts +0 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,138 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 6.0.0-alpha.13
7
+
8
+ _Dec 24, 2022_
9
+
10
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🚀 New column menu design and API
13
+ - 🌍 Improve Russian (ru-RU) and Korean (ko-KR) locales
14
+ - 📚 Documentation improvements
15
+ - 🐞 Bugfixes
16
+
17
+ ### `@mui/x-data-grid@6.0.0-alpha.13` / `@mui/x-data-grid-pro@6.0.0-alpha.13` / `@mui/x-data-grid-premium@6.0.0-alpha.13`
18
+
19
+ #### Breaking changes
20
+
21
+ - New column menu design and API (#6619) MBilalShafi
22
+
23
+ The `currentColumn` prop passed to `components.ColumnMenu` was renamed to `colDef`.
24
+ The `column` prop passed to the items of the column menu was renamed to `colDef`.
25
+ The `DATA_GRID_DEFAULT_SLOTS_COMPONENTS` export has been removed.
26
+ The following components and interfaces were been renamed for consistency:
27
+
28
+ **Community Package:**
29
+
30
+ ```diff
31
+ -<GridFilterMenuItem />
32
+ +<GridColumnMenuFilterItem />
33
+ ```
34
+
35
+ ```diff
36
+ -<HideGridColMenuItem />
37
+ +<GridColumnMenuHideItem />
38
+ ```
39
+
40
+ ```diff
41
+ -<GridColumnsMenuItem />
42
+ +<GridColumnMenuColumnsItem />
43
+ ```
44
+
45
+ ```diff
46
+ -<SortGridMenuItems />
47
+ +<GridColumnMenuSortItem />
48
+ ```
49
+
50
+ ```diff
51
+ -interface GridFilterItemProps
52
+ +interface GridColumnMenuItemProps
53
+ ```
54
+
55
+ **Pro package:**
56
+
57
+ ```diff
58
+ -<GridColumnPinningMenuItems />
59
+ +<GridColumnMenuPinningItem />
60
+ ```
61
+
62
+ **Premium package:**
63
+
64
+ ```diff
65
+ -<GridAggregationColumnMenuItem />
66
+ +<GridColumnMenuAggregationItem />
67
+ ```
68
+
69
+ ```diff
70
+ -<GridRowGroupingColumnMenuItems />
71
+ -<GridRowGroupableColumnMenuItems />
72
+ +<GridColumnMenuGroupingItem />
73
+ ```
74
+
75
+ - Improve column definition typing (#7224) @cherniavskii
76
+
77
+ The `GridColumns` type was removed. Use `GridColDef[]` instead.
78
+ The `GridActionsColDef` interface was removed. Use `GridColDef` instead.
79
+ The `GridEnrichedColDef` type was removed. Use `GridColDef` instead.
80
+ The `GridStateColDef` type was removed.
81
+
82
+ If you use it to type `searchPredicate`, use `GridColumnsPanelProps['searchPredicate']` instead.
83
+ If you use it to type `getApplyFilterFn`, `GridFilterOperator['getApplyFilterFn']` can be used as replacement.
84
+
85
+ - Remove GridDensityType enum (#7304) @cherniavskii
86
+
87
+ The `GridDensityTypes` enum was removed. Use `GridDensity` type instead.
88
+
89
+ #### Changes
90
+
91
+ - [DataGrid] Allow disabling of buttons in column panel (#6947) @MBilalShafi
92
+ - [DataGrid] Improve column definition typing (#7224) @cherniavskii
93
+ - [DataGrid] Improve column menu design and API (#6619) @MBilalShafi
94
+ - [DataGrid] Remove `GridDensityType` enum (#7304) @cherniavskii
95
+ - [DataGrid] Remove `rowHeight` and `headerHeight` from state (#7199) @DanailH
96
+ - [DataGrid] Remove column separator to match table styles (#7067) @MBilalShafi
97
+ - [DataGrid] Update Russian (ru-RU) locale (#7220) @VeceluXa
98
+ - [DataGridPro] Use row ID as `key` of the detail panels (#7302) @m4theushw
99
+ - [DataGridPremium] Fix `exceljs` import with parcel (#7284) @alexfauquette
100
+
101
+ ### `@mui/x-date-pickers@6.0.0-alpha.13` / `@mui/x-date-pickers-pro@6.0.0-alpha.13`
102
+
103
+ #### Breaking changes
104
+
105
+ - Require Luxon 3.0.2 or higher (#7249) @flaviendelangle
106
+
107
+ `AdapterLuxon` now requires `luxon` in version `3.0.2` or higher in order to work.
108
+
109
+ Take a look at the [Upgrading Luxon](https://moment.github.io/luxon/#/upgrading) guide if you are using an older version.
110
+
111
+ #### Changes
112
+
113
+ - [DateRangePicker] Fix to propagate `disabled` and `readOnly` on multi input picker (#7135) @LukasTy
114
+ - [fields] Fix multi input fields root element props order and types (#7225) @LukasTy
115
+ - [fields] Support escaped characters (#7184) @flaviendelangle
116
+ - [pickers] Allow to define custom view renderers on the pickers (#7176) @flaviendelangle
117
+ - [pickers] Avoid running validation methods several times in `DateCalendar` (#7247) @flaviendelangle
118
+ - [pickers] Improve Korean (ko-KR) locale (#7266) @hanbin9775
119
+ - [pickers] Require Luxon 3.0.2 or higher (#7249) @flaviendelangle
120
+ - [pickers] Rework view internals (#7097) @flaviendelangle
121
+
122
+ ### `@mui/x-codemod@6.0.0-alpha.13`
123
+
124
+ #### Changes
125
+
126
+ - [codemod] New codemod for view component renaming (#7264) @flaviendelangle
127
+
128
+ ### Docs
129
+
130
+ - [docs] Fix some selectors not being documented (#7218) @cherniavskii
131
+ - [docs] New page for `DateCalendar` (#7053) @flaviendelangle
132
+ - [docs] Split selection docs (#7213) @m4theushw
133
+
134
+ ### Core
135
+
136
+ - [core] Fix API demos callout spacing @oliviertassinari
137
+
6
138
  ## 6.0.0-alpha.12
7
139
 
8
140
  _Dec 16, 2022_
@@ -383,7 +383,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
383
383
  className: classes.monthContainer,
384
384
  children: [calendars === 1 ? /*#__PURE__*/_jsx(PickersCalendarHeader, {
385
385
  views: ['day'],
386
- openView: 'day',
386
+ view: 'day',
387
387
  currentMonth: calendarState.currentMonth,
388
388
  onMonthChange: (newMonth, direction) => handleChangeMonth({
389
389
  newMonth,
@@ -438,6 +438,12 @@ process.env.NODE_ENV !== "production" ? DateRangeCalendar.propTypes = {
438
438
  // | These PropTypes are generated from the TypeScript type definitions |
439
439
  // | To update them edit the TypeScript types and run "yarn proptypes" |
440
440
  // ----------------------------------------------------------------------
441
+ /**
442
+ * If `true`, the main element is focused during the first mount.
443
+ * This main element is:
444
+ * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
445
+ * - the `input` element if there is a field rendered.
446
+ */
441
447
  autoFocus: PropTypes.bool,
442
448
  /**
443
449
  * The number of calendars to render.
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { SlotComponentProps } from '@mui/base';
4
4
  import { Theme } from '@mui/material/styles';
5
- import { BaseDateValidationProps, DefaultizedProps, ExportedDayCalendarProps, DayCalendarSlotsComponent, DayCalendarSlotsComponentsProps, PickersArrowSwitcherSlotsComponent, PickersArrowSwitcherSlotsComponentsProps, PickerSelectionState, PickersCalendarHeaderSlotsComponent, PickersCalendarHeaderSlotsComponentsProps, DayCalendarProps } from '@mui/x-date-pickers/internals';
5
+ import { BaseDateValidationProps, DefaultizedProps, ExportedDayCalendarProps, DayCalendarSlotsComponent, DayCalendarSlotsComponentsProps, PickersArrowSwitcherSlotsComponent, PickersArrowSwitcherSlotsComponentsProps, PickerSelectionState, PickersCalendarHeaderSlotsComponent, PickersCalendarHeaderSlotsComponentsProps, DayCalendarProps, ExportedUseViewsOptions } from '@mui/x-date-pickers/internals';
6
6
  import { DateRange, RangePositionProps, DayRangeValidationProps } from '../internal/models';
7
7
  import { DateRangeCalendarClasses } from './dateRangeCalendarClasses';
8
8
  import { DateRangePickerDay, DateRangePickerDayProps } from '../DateRangePickerDay';
@@ -21,41 +21,7 @@ export interface DateRangeCalendarSlotsComponentsProps<TDate> extends PickersArr
21
21
  selected: boolean;
22
22
  }>;
23
23
  }
24
- export interface DateRangeCalendarProps<TDate> extends ExportedDayCalendarProps<TDate>, BaseDateValidationProps<TDate>, DayRangeValidationProps<TDate>, Partial<RangePositionProps> {
25
- /**
26
- * The selected value.
27
- * Used when the component is controlled.
28
- */
29
- value?: DateRange<TDate>;
30
- /**
31
- * The default selected value.
32
- * Used when the component is not controlled.
33
- */
34
- defaultValue?: DateRange<TDate>;
35
- /**
36
- * Callback fired when the value changes.
37
- * @template TDate
38
- * @param {DateRange<TDate>} value The new value.
39
- * @param {PickerSelectionState | undefined} selectionState Indicates if the date range selection is complete.
40
- */
41
- onChange?: (value: DateRange<TDate>, selectionState?: PickerSelectionState) => void;
42
- autoFocus?: boolean;
43
- className?: string;
44
- classes?: Partial<DateRangeCalendarClasses>;
45
- /**
46
- * The system prop that allows defining system overrides as well as additional CSS styles.
47
- */
48
- sx?: SxProps<Theme>;
49
- /**
50
- * Overrideable components.
51
- * @default {}
52
- */
53
- components?: DateRangeCalendarSlotsComponent<TDate>;
54
- /**
55
- * The props used for each component slot.
56
- * @default {}
57
- */
58
- componentsProps?: DateRangeCalendarSlotsComponentsProps<TDate>;
24
+ export interface ExportedDateRangeCalendarProps<TDate> extends ExportedDayCalendarProps<TDate>, BaseDateValidationProps<TDate>, DayRangeValidationProps<TDate>, Pick<ExportedUseViewsOptions<'day'>, 'autoFocus'> {
59
25
  /**
60
26
  * If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
61
27
  * @default false
@@ -98,8 +64,42 @@ export interface DateRangeCalendarProps<TDate> extends ExportedDayCalendarProps<
98
64
  */
99
65
  disableDragEditing?: boolean;
100
66
  }
67
+ export interface DateRangeCalendarProps<TDate> extends ExportedDateRangeCalendarProps<TDate>, Partial<RangePositionProps> {
68
+ /**
69
+ * The selected value.
70
+ * Used when the component is controlled.
71
+ */
72
+ value?: DateRange<TDate>;
73
+ /**
74
+ * The default selected value.
75
+ * Used when the component is not controlled.
76
+ */
77
+ defaultValue?: DateRange<TDate>;
78
+ /**
79
+ * Callback fired when the value changes.
80
+ * @template TDate
81
+ * @param {DateRange<TDate>} value The new value.
82
+ * @param {PickerSelectionState | undefined} selectionState Indicates if the date range selection is complete.
83
+ */
84
+ onChange?: (value: DateRange<TDate>, selectionState?: PickerSelectionState) => void;
85
+ className?: string;
86
+ classes?: Partial<DateRangeCalendarClasses>;
87
+ /**
88
+ * The system prop that allows defining system overrides as well as additional CSS styles.
89
+ */
90
+ sx?: SxProps<Theme>;
91
+ /**
92
+ * Overrideable components.
93
+ * @default {}
94
+ */
95
+ components?: DateRangeCalendarSlotsComponent<TDate>;
96
+ /**
97
+ * The props used for each component slot.
98
+ * @default {}
99
+ */
100
+ componentsProps?: DateRangeCalendarSlotsComponentsProps<TDate>;
101
+ }
101
102
  export interface DateRangeCalendarOwnerState<TDate> extends DateRangeCalendarProps<TDate> {
102
103
  isDragging: boolean;
103
104
  }
104
105
  export type DateRangeCalendarDefaultizedProps<TDate> = DefaultizedProps<DateRangeCalendarProps<TDate>, 'reduceAnimations' | 'calendars' | 'disableDragEditing' | keyof BaseDateValidationProps<TDate>>;
105
- export type ExportedDateRangeCalendarProps<TDate> = Omit<DateRangeCalendarProps<TDate>, 'defaultValue' | 'value' | 'onChange' | 'changeView' | 'slideDirection' | 'currentMonth' | 'className' | 'classes' | 'components' | 'componentsProps' | 'rangePosition' | 'onRangePositionChange'>;
@@ -234,11 +234,6 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
234
234
  * Use in controlled mode (see open).
235
235
  */
236
236
  onOpen: PropTypes.func,
237
- /**
238
- * Callback fired on view change.
239
- * @param {DateView} view The new view.
240
- */
241
- onViewChange: PropTypes.func,
242
237
  /**
243
238
  * Control the popup or dialog open state.
244
239
  */
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ExportedDateCalendarProps, PickerStatePickerProps, BaseDateValidationProps, DayValidationProps, ExportedBaseToolbarProps } from '@mui/x-date-pickers/internals';
2
+ import { ExportedDateCalendarProps, PickerStatePickerProps, BaseDateValidationProps, DayValidationProps, ExportedBaseToolbarProps, ExportedUseViewsOptions } from '@mui/x-date-pickers/internals';
3
3
  import { DateRange, RangePositionProps } from '../internal/models/range';
4
4
  import { DayRangeValidationProps } from '../internal/models/dateRange';
5
5
  import { DateRangePickerViewMobileSlotsComponent, DateRangePickerViewMobileSlotsComponentsProps } from './DateRangePickerViewMobile';
@@ -16,7 +16,7 @@ export interface DateRangePickerViewSlotsComponent<TDate> extends DateRangePicke
16
16
  export interface DateRangePickerViewSlotsComponentsProps<TDate> extends DateRangePickerViewMobileSlotsComponentsProps<TDate> {
17
17
  toolbar?: ExportedBaseToolbarProps;
18
18
  }
19
- export interface ExportedDateRangePickerViewProps<TDate> extends ExportedDateRangePickerViewDesktopProps, DayRangeValidationProps<TDate>, Omit<ExportedDateCalendarProps<TDate>, 'onYearChange' | keyof BaseDateValidationProps<TDate> | keyof DayValidationProps<TDate>> {
19
+ export interface ExportedDateRangePickerViewProps<TDate> extends ExportedDateRangePickerViewDesktopProps, DayRangeValidationProps<TDate>, Omit<ExportedDateCalendarProps<TDate>, 'value' | 'defaultValue' | 'onChange' | 'onYearChange' | keyof BaseDateValidationProps<TDate> | keyof DayValidationProps<TDate>> {
20
20
  /**
21
21
  * Overrideable components.
22
22
  * @default {}
@@ -41,7 +41,7 @@ export interface ExportedDateRangePickerViewProps<TDate> extends ExportedDateRan
41
41
  */
42
42
  className?: string;
43
43
  }
44
- interface DateRangePickerViewProps<TDate> extends RangePositionProps, ExportedDateRangePickerViewProps<TDate>, PickerStatePickerProps<DateRange<TDate>>, Required<BaseDateValidationProps<TDate>> {
44
+ interface DateRangePickerViewProps<TDate> extends RangePositionProps, ExportedDateRangePickerViewProps<TDate>, PickerStatePickerProps<DateRange<TDate>>, Required<BaseDateValidationProps<TDate>>, Pick<ExportedUseViewsOptions<'day'>, 'onFocusedViewChange'> {
45
45
  calendars: 1 | 2 | 3;
46
46
  open: boolean;
47
47
  DateInputProps: DateRangePickerInputProps<TDate>;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["calendars", "className", "value", "DateInputProps", "defaultCalendarMonth", "disableAutoMonthSwitching", "disableFuture", "disableHighlightToday", "disablePast", "isMobileKeyboardViewOpen", "maxDate", "minDate", "onDateChange", "onMonthChange", "open", "reduceAnimations", "rangePosition", "onRangePositionChange", "shouldDisableDate", "showToolbar", "toggleMobileKeyboardView", "components", "componentsProps"];
3
+ const _excluded = ["calendars", "className", "value", "DateInputProps", "defaultCalendarMonth", "disableAutoMonthSwitching", "disableFuture", "disableHighlightToday", "disablePast", "isMobileKeyboardViewOpen", "maxDate", "minDate", "onDateChange", "onMonthChange", "open", "reduceAnimations", "rangePosition", "onRangePositionChange", "shouldDisableDate", "showToolbar", "toggleMobileKeyboardView", "components", "componentsProps", "onFocusedViewChange"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { Watermark } from '@mui/x-license-pro';
@@ -40,7 +40,8 @@ function DateRangePickerViewRaw(props) {
40
40
  showToolbar,
41
41
  toggleMobileKeyboardView,
42
42
  components,
43
- componentsProps
43
+ componentsProps,
44
+ onFocusedViewChange
44
45
  } = props,
45
46
  other = _objectWithoutPropertiesLoose(props, _excluded);
46
47
  const utils = useUtils();
@@ -123,7 +124,9 @@ function DateRangePickerViewRaw(props) {
123
124
  components,
124
125
  componentsProps,
125
126
  shouldDisableDate: wrappedShouldDisableDate
126
- }, calendarState, other);
127
+ }, calendarState, {
128
+ onFocusedViewChange: onFocusedViewChange ? newHasFocus => onFocusedViewChange('day', newHasFocus) : undefined
129
+ }, other);
127
130
  switch (wrapperVariant) {
128
131
  case 'desktop':
129
132
  {
@@ -66,7 +66,7 @@ export function DateRangePickerViewMobile(props) {
66
66
  maxDate: maxDateWithDisabled,
67
67
  minDate: minDateWithDisabled,
68
68
  onMonthChange: changeMonth,
69
- openView: "day",
69
+ view: "day",
70
70
  views: onlyDayView,
71
71
  disabled: disabled
72
72
  }, other)), /*#__PURE__*/_jsx(DayCalendar, _extends({}, other, {
@@ -196,10 +196,26 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
196
196
  // | These PropTypes are generated from the TypeScript type definitions |
197
197
  // | To update them edit the TypeScript types and run "yarn proptypes" |
198
198
  // ----------------------------------------------------------------------
199
+ /**
200
+ * A ref for imperative actions.
201
+ * It currently only supports `focusVisible()` action.
202
+ */
203
+ action: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
204
+ current: PropTypes.shape({
205
+ focusVisible: PropTypes.func.isRequired
206
+ })
207
+ })]),
208
+ /**
209
+ * If `true`, the ripples are centered.
210
+ * They won't start at the cursor interaction position.
211
+ * @default false
212
+ */
213
+ centerRipple: PropTypes.bool,
199
214
  /**
200
215
  * Override or extend the styles applied to the component.
201
216
  */
202
217
  classes: PropTypes.object,
218
+ className: PropTypes.string,
203
219
  /**
204
220
  * The date to show.
205
221
  */
@@ -219,6 +235,33 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
219
235
  * @default false
220
236
  */
221
237
  disableMargin: PropTypes.bool,
238
+ /**
239
+ * If `true`, the ripple effect is disabled.
240
+ *
241
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
242
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
243
+ * @default false
244
+ */
245
+ disableRipple: PropTypes.bool,
246
+ /**
247
+ * If `true`, the touch ripple effect is disabled.
248
+ * @default false
249
+ */
250
+ disableTouchRipple: PropTypes.bool,
251
+ /**
252
+ * If `true`, the base button will have a keyboard focus ripple.
253
+ * @default false
254
+ */
255
+ focusRipple: PropTypes.bool,
256
+ /**
257
+ * This prop can help identify which element has keyboard focus.
258
+ * The class name will be applied when the element gains the focus through keyboard interaction.
259
+ * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
260
+ * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
261
+ * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
262
+ * if needed.
263
+ */
264
+ focusVisibleClassName: PropTypes.string,
222
265
  isAnimating: PropTypes.bool,
223
266
  /**
224
267
  * Set to `true` if the `day` is the end of a highlighted date range.
@@ -249,6 +292,11 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
249
292
  */
250
293
  isVisuallySelected: PropTypes.bool,
251
294
  onDaySelect: PropTypes.func.isRequired,
295
+ /**
296
+ * Callback fired when the component is focused with a keyboard.
297
+ * We trigger a `onFocus` callback too.
298
+ */
299
+ onFocusVisible: PropTypes.func,
252
300
  onMouseEnter: PropTypes.func,
253
301
  /**
254
302
  * If `true`, day is outside of month and will be hidden.
@@ -264,11 +312,34 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDayRaw.propTypes = {
264
312
  * @default false
265
313
  */
266
314
  showDaysOutsideCurrentMonth: PropTypes.bool,
315
+ style: PropTypes.object,
316
+ /**
317
+ * The system prop that allows defining system overrides as well as additional CSS styles.
318
+ */
319
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
320
+ /**
321
+ * @default 0
322
+ */
323
+ tabIndex: PropTypes.number,
267
324
  /**
268
325
  * If `true`, renders as today date.
269
326
  * @default false
270
327
  */
271
- today: PropTypes.bool
328
+ today: PropTypes.bool,
329
+ /**
330
+ * Props applied to the `TouchRipple` element.
331
+ */
332
+ TouchRippleProps: PropTypes.object,
333
+ /**
334
+ * A ref that points to the `TouchRipple` element.
335
+ */
336
+ touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
337
+ current: PropTypes.shape({
338
+ pulsate: PropTypes.func.isRequired,
339
+ start: PropTypes.func.isRequired,
340
+ stop: PropTypes.func.isRequired
341
+ })
342
+ })])
272
343
  } : void 0;
273
344
 
274
345
  /**
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { SxProps } from '@mui/system';
2
3
  import { DesktopWrapperProps, DesktopWrapperSlotsComponent, DesktopWrapperSlotsComponentsProps, DateInputSlotsComponent } from '@mui/x-date-pickers/internals';
3
4
  import { BaseDateRangePickerProps, BaseDateRangePickerSlotsComponent, BaseDateRangePickerSlotsComponentsProps } from '../DateRangePicker/shared';
4
5
  export interface DesktopDateRangePickerSlotsComponent<TDate> extends BaseDateRangePickerSlotsComponent<TDate>, DesktopWrapperSlotsComponent, DateInputSlotsComponent {
@@ -16,6 +17,10 @@ export interface DesktopDateRangePickerProps<TDate> extends BaseDateRangePickerP
16
17
  * @default {}
17
18
  */
18
19
  componentsProps?: DesktopDateRangePickerSlotsComponentsProps<TDate>;
20
+ /**
21
+ * The system prop that allows defining system overrides as well as additional CSS styles.
22
+ */
23
+ sx?: SxProps;
19
24
  }
20
25
  type DesktopDateRangePickerComponent = (<TDate>(props: DesktopDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
21
26
  propTypes?: any;
@@ -248,11 +248,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes = {
248
248
  * Use in controlled mode (see open).
249
249
  */
250
250
  onOpen: PropTypes.func,
251
- /**
252
- * Callback fired on view change.
253
- * @param {DateView} view The new view.
254
- */
255
- onViewChange: PropTypes.func,
256
251
  /**
257
252
  * Control the popup or dialog open state.
258
253
  */
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
7
7
  import { resolveComponentProps } from '@mui/base/utils';
8
8
  import { rangeValueManager } from '../internal/utils/valueManagers';
9
9
  import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
10
- import { useDesktopRangePicker } from '../internal/hooks/useDesktopRangePicker';
10
+ import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
11
11
  import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
12
- import { renderDateRangeView } from '../internal/utils/viewRenderers';
12
+ import { useDesktopRangePicker } from '../internal/hooks/useDesktopRangePicker';
13
13
  import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
14
- const VIEW_LOOKUP = {
15
- day: renderDateRangeView
16
- };
17
14
  const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopNextDateRangePicker(inProps, ref) {
18
15
  var _defaultizedProps$cal, _defaultizedProps$sho;
19
16
  // Props with the default values common to all date time pickers
@@ -23,7 +20,11 @@ const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
23
20
  sx
24
21
  } = _useNextDateRangePick,
25
22
  defaultizedProps = _objectWithoutPropertiesLoose(_useNextDateRangePick, _excluded);
23
+ const viewRenderers = _extends({
24
+ day: renderDateRangeViewCalendar
25
+ }, defaultizedProps.viewRenderers);
26
26
  const props = _extends({}, defaultizedProps, {
27
+ viewRenderers,
27
28
  calendars: (_defaultizedProps$cal = defaultizedProps.calendars) != null ? _defaultizedProps$cal : 2,
28
29
  views: ['day'],
29
30
  openTo: 'day',
@@ -47,7 +48,6 @@ const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
47
48
  } = useDesktopRangePicker({
48
49
  props,
49
50
  valueManager: rangeValueManager,
50
- viewLookup: VIEW_LOOKUP,
51
51
  validator: validateDateRange
52
52
  });
53
53
  return renderPicker();
@@ -57,6 +57,12 @@ DesktopNextDateRangePicker.propTypes = {
57
57
  // | These PropTypes are generated from the TypeScript type definitions |
58
58
  // | To update them edit the TypeScript types and run "yarn proptypes" |
59
59
  // ----------------------------------------------------------------------
60
+ /**
61
+ * If `true`, the main element is focused during the first mount.
62
+ * This main element is:
63
+ * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
64
+ * - the `input` element if there is a field rendered.
65
+ */
60
66
  autoFocus: PropTypes.bool,
61
67
  /**
62
68
  * The number of calendars to render on **desktop**.
@@ -237,7 +243,7 @@ DesktopNextDateRangePicker.propTypes = {
237
243
  * 4. If `null` is provided, no section will be selected
238
244
  * If not provided, the selected sections will be handled internally.
239
245
  */
240
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
246
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
241
247
  endIndex: PropTypes.number.isRequired,
242
248
  startIndex: PropTypes.number.isRequired
243
249
  })]),
@@ -267,6 +273,14 @@ DesktopNextDateRangePicker.propTypes = {
267
273
  * The selected value.
268
274
  * Used when the component is controlled.
269
275
  */
270
- value: PropTypes.arrayOf(PropTypes.any)
276
+ value: PropTypes.arrayOf(PropTypes.any),
277
+ /**
278
+ * Define custom view renderers for each section.
279
+ * If `null`, the section will only have field editing.
280
+ * If `undefined`, internally defined view will be the used.
281
+ */
282
+ viewRenderers: PropTypes.shape({
283
+ day: PropTypes.func
284
+ })
271
285
  };
272
286
  export { DesktopNextDateRangePicker };
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { SxProps } from '@mui/system';
2
3
  import { MobileWrapperProps, MobileWrapperSlotsComponent, MobileWrapperSlotsComponentsProps, DateInputSlotsComponent } from '@mui/x-date-pickers/internals';
3
4
  import { BaseDateRangePickerProps, BaseDateRangePickerSlotsComponent, BaseDateRangePickerSlotsComponentsProps } from '../DateRangePicker/shared';
4
5
  export interface MobileDateRangePickerSlotsComponent<TDate> extends BaseDateRangePickerSlotsComponent<TDate>, MobileWrapperSlotsComponent, DateInputSlotsComponent {
@@ -16,6 +17,10 @@ export interface MobileDateRangePickerProps<TDate> extends BaseDateRangePickerPr
16
17
  * @default {}
17
18
  */
18
19
  componentsProps?: MobileDateRangePickerSlotsComponentsProps<TDate>;
20
+ /**
21
+ * The system prop that allows defining system overrides as well as additional CSS styles.
22
+ */
23
+ sx?: SxProps;
19
24
  }
20
25
  type MobileDateRangePickerComponent = (<TDate>(props: MobileDateRangePickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
21
26
  propTypes?: any;
@@ -255,11 +255,6 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
255
255
  * Use in controlled mode (see open).
256
256
  */
257
257
  onOpen: PropTypes.func,
258
- /**
259
- * Callback fired on view change.
260
- * @param {DateView} view The new view.
261
- */
262
- onViewChange: PropTypes.func,
263
258
  /**
264
259
  * Control the popup or dialog open state.
265
260
  */
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
7
7
  import { resolveComponentProps } from '@mui/base/utils';
8
8
  import { rangeValueManager } from '../internal/utils/valueManagers';
9
9
  import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
10
- import { useMobileRangePicker } from '../internal/hooks/useMobileRangePicker';
10
+ import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
11
11
  import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
12
- import { renderDateRangeView } from '../internal/utils/viewRenderers';
12
+ import { useMobileRangePicker } from '../internal/hooks/useMobileRangePicker';
13
13
  import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
14
- const VIEW_LOOKUP = {
15
- day: renderDateRangeView
16
- };
17
14
  const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileNextDateRangePicker(inProps, ref) {
18
15
  var _defaultizedProps$cal, _defaultizedProps$sho;
19
16
  // Props with the default values common to all date time pickers
@@ -23,7 +20,11 @@ const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileN
23
20
  sx
24
21
  } = _useNextDateRangePick,
25
22
  defaultizedProps = _objectWithoutPropertiesLoose(_useNextDateRangePick, _excluded);
23
+ const viewRenderers = _extends({
24
+ day: renderDateRangeViewCalendar
25
+ }, defaultizedProps.viewRenderers);
26
26
  const props = _extends({}, defaultizedProps, {
27
+ viewRenderers,
27
28
  calendars: (_defaultizedProps$cal = defaultizedProps.calendars) != null ? _defaultizedProps$cal : 1,
28
29
  views: ['day'],
29
30
  openTo: 'day',
@@ -47,7 +48,6 @@ const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileN
47
48
  } = useMobileRangePicker({
48
49
  props,
49
50
  valueManager: rangeValueManager,
50
- viewLookup: VIEW_LOOKUP,
51
51
  validator: validateDateRange
52
52
  });
53
53
  return renderPicker();
@@ -57,6 +57,12 @@ MobileNextDateRangePicker.propTypes = {
57
57
  // | These PropTypes are generated from the TypeScript type definitions |
58
58
  // | To update them edit the TypeScript types and run "yarn proptypes" |
59
59
  // ----------------------------------------------------------------------
60
+ /**
61
+ * If `true`, the main element is focused during the first mount.
62
+ * This main element is:
63
+ * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
64
+ * - the `input` element if there is a field rendered.
65
+ */
60
66
  autoFocus: PropTypes.bool,
61
67
  /**
62
68
  * The number of calendars to render on **desktop**.
@@ -237,7 +243,7 @@ MobileNextDateRangePicker.propTypes = {
237
243
  * 4. If `null` is provided, no section will be selected
238
244
  * If not provided, the selected sections will be handled internally.
239
245
  */
240
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
246
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
241
247
  endIndex: PropTypes.number.isRequired,
242
248
  startIndex: PropTypes.number.isRequired
243
249
  })]),
@@ -267,6 +273,14 @@ MobileNextDateRangePicker.propTypes = {
267
273
  * The selected value.
268
274
  * Used when the component is controlled.
269
275
  */
270
- value: PropTypes.arrayOf(PropTypes.any)
276
+ value: PropTypes.arrayOf(PropTypes.any),
277
+ /**
278
+ * Define custom view renderers for each section.
279
+ * If `null`, the section will only have field editing.
280
+ * If `undefined`, internally defined view will be the used.
281
+ */
282
+ viewRenderers: PropTypes.shape({
283
+ day: PropTypes.func
284
+ })
271
285
  };
272
286
  export { MobileNextDateRangePicker };