@mui/x-date-pickers-pro 7.22.1 → 8.0.0-alpha.0

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 (161) hide show
  1. package/CHANGELOG.md +143 -92
  2. package/DateRangeCalendar/DateRangeCalendar.d.ts +1 -2
  3. package/DateRangeCalendar/DateRangeCalendar.js +23 -22
  4. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +24 -36
  5. package/DateRangeCalendar/useDragRange.d.ts +10 -9
  6. package/DateRangeCalendar/useDragRange.js +3 -3
  7. package/DateRangePicker/DateRangePicker.d.ts +1 -2
  8. package/DateRangePicker/DateRangePicker.js +12 -8
  9. package/DateRangePicker/DateRangePicker.types.d.ts +12 -6
  10. package/DateRangePicker/DateRangePickerToolbar.d.ts +3 -5
  11. package/DateRangePicker/DateRangePickerToolbar.js +12 -2
  12. package/DateRangePicker/index.d.ts +1 -1
  13. package/DateRangePicker/shared.d.ts +12 -12
  14. package/DateRangePickerDay/DateRangePickerDay.d.ts +2 -3
  15. package/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -2
  16. package/DateTimeRangePicker/DateTimeRangePicker.js +13 -10
  17. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +12 -6
  18. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +1 -2
  19. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +2 -2
  20. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -9
  21. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +3 -5
  22. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +12 -2
  23. package/DateTimeRangePicker/index.d.ts +1 -1
  24. package/DateTimeRangePicker/shared.d.ts +13 -13
  25. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +1 -2
  26. package/DesktopDateRangePicker/DesktopDateRangePicker.js +16 -8
  27. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +6 -7
  28. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +1 -2
  29. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +13 -10
  30. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +6 -7
  31. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +1 -2
  32. package/MobileDateRangePicker/MobileDateRangePicker.js +16 -8
  33. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +6 -7
  34. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +1 -2
  35. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -10
  36. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +6 -7
  37. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +1 -2
  38. package/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -6
  39. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +9 -10
  40. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +1 -2
  41. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +7 -8
  42. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +9 -10
  43. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +1 -2
  44. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +6 -6
  45. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +9 -10
  46. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.d.ts +1 -2
  47. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
  48. package/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.d.ts +3 -3
  49. package/README.md +2 -2
  50. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +1 -2
  51. package/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -6
  52. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +8 -8
  53. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -2
  54. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +1 -2
  55. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +7 -8
  56. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +8 -8
  57. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -2
  58. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +1 -2
  59. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -6
  60. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +8 -8
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -2
  62. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +1 -2
  63. package/StaticDateRangePicker/StaticDateRangePicker.js +11 -7
  64. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +6 -7
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -3
  66. package/index.d.ts +0 -7
  67. package/index.js +1 -7
  68. package/internals/hooks/models/useRangePicker.d.ts +6 -7
  69. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -2
  70. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +20 -14
  71. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +6 -7
  72. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -13
  73. package/internals/hooks/useEnrichedRangePickerFieldProps.js +4 -4
  74. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -2
  75. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +21 -15
  76. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +6 -7
  77. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +1 -1
  78. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -2
  79. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -2
  80. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -2
  81. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -2
  82. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +5 -5
  83. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +8 -9
  84. package/internals/models/dateRange.d.ts +3 -4
  85. package/internals/models/dateTimeRange.d.ts +5 -10
  86. package/internals/models/fields.d.ts +26 -0
  87. package/internals/models/fields.js +1 -0
  88. package/internals/models/timeRange.d.ts +5 -9
  89. package/internals/utils/date-range-manager.d.ts +10 -9
  90. package/internals/utils/date-utils.d.ts +5 -5
  91. package/internals/utils/releaseInfo.js +1 -1
  92. package/internals/utils/valueManagers.d.ts +5 -6
  93. package/models/dateRange.d.ts +4 -5
  94. package/models/fields.d.ts +5 -32
  95. package/models/range.d.ts +1 -1
  96. package/modern/DateRangeCalendar/DateRangeCalendar.js +23 -22
  97. package/modern/DateRangeCalendar/useDragRange.js +3 -3
  98. package/modern/DateRangePicker/DateRangePicker.js +12 -8
  99. package/modern/DateRangePicker/DateRangePickerToolbar.js +12 -2
  100. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +13 -10
  101. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +2 -2
  102. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +12 -2
  103. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +16 -8
  104. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +13 -10
  105. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +16 -8
  106. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -10
  107. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -6
  108. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +7 -8
  109. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +6 -6
  110. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
  111. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -6
  112. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +7 -8
  113. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -6
  114. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +11 -7
  115. package/modern/index.js +1 -7
  116. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +20 -14
  117. package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +4 -4
  118. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +21 -15
  119. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +5 -5
  120. package/modern/internals/models/fields.js +1 -0
  121. package/modern/internals/utils/releaseInfo.js +1 -1
  122. package/modern/validation/validateDateRange.js +5 -0
  123. package/modern/validation/validateDateTimeRange.js +5 -0
  124. package/modern/validation/validateTimeRange.js +5 -0
  125. package/node/DateRangeCalendar/DateRangeCalendar.js +22 -21
  126. package/node/DateRangeCalendar/useDragRange.js +3 -3
  127. package/node/DateRangePicker/DateRangePicker.js +12 -8
  128. package/node/DateRangePicker/DateRangePickerToolbar.js +11 -1
  129. package/node/DateTimeRangePicker/DateTimeRangePicker.js +13 -10
  130. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +1 -1
  131. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +11 -1
  132. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +16 -8
  133. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +13 -10
  134. package/node/MobileDateRangePicker/MobileDateRangePicker.js +16 -8
  135. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -10
  136. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +6 -6
  137. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +7 -8
  138. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +6 -6
  139. package/node/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +1 -1
  140. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -6
  141. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +7 -8
  142. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -6
  143. package/node/StaticDateRangePicker/StaticDateRangePicker.js +11 -7
  144. package/node/index.js +2 -41
  145. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +19 -13
  146. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +3 -3
  147. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +19 -13
  148. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +4 -4
  149. package/node/internals/models/fields.js +5 -0
  150. package/node/internals/utils/releaseInfo.js +1 -1
  151. package/node/validation/validateDateRange.js +4 -0
  152. package/node/validation/validateDateTimeRange.js +4 -0
  153. package/node/validation/validateTimeRange.js +4 -0
  154. package/package.json +6 -6
  155. package/themeAugmentation/props.d.ts +16 -17
  156. package/validation/validateDateRange.d.ts +9 -5
  157. package/validation/validateDateRange.js +5 -0
  158. package/validation/validateDateTimeRange.d.ts +11 -6
  159. package/validation/validateDateTimeRange.js +5 -0
  160. package/validation/validateTimeRange.d.ts +9 -4
  161. package/validation/validateTimeRange.js +5 -0
@@ -10,6 +10,7 @@ exports.MobileDateRangePicker = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _internals = require("@mui/x-date-pickers/internals");
13
14
  var _validation = require("@mui/x-date-pickers/validation");
14
15
  var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
15
16
  var _utils = require("@mui/utils");
@@ -30,6 +31,8 @@ var _validation2 = require("../validation");
30
31
  * - [MobileDateRangePicker API](https://mui.com/x/api/date-pickers/mobile-date-range-picker/)
31
32
  */
32
33
  const MobileDateRangePicker = exports.MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateRangePicker(inProps, ref) {
34
+ const utils = (0, _internals.useUtils)();
35
+
33
36
  // Props with the default values common to all date time pickers
34
37
  const defaultizedProps = (0, _shared.useDateRangePickerDefaultizedProps)(inProps, 'MuiMobileDateRangePicker');
35
38
  const viewRenderers = (0, _extends2.default)({
@@ -37,6 +40,7 @@ const MobileDateRangePicker = exports.MobileDateRangePicker = /*#__PURE__*/React
37
40
  }, defaultizedProps.viewRenderers);
38
41
  const props = (0, _extends2.default)({}, defaultizedProps, {
39
42
  viewRenderers,
43
+ format: utils.formats.keyboardDate,
40
44
  // Force one calendar on mobile to avoid layout issues
41
45
  calendars: 1,
42
46
  views: ['day'],
@@ -88,9 +92,9 @@ MobileDateRangePicker.propTypes = {
88
92
  currentMonthCalendarPosition: _propTypes.default.oneOf([1, 2, 3]),
89
93
  /**
90
94
  * Formats the day of week displayed in the calendar header.
91
- * @param {TDate} date The date of the day of week provided by the adapter.
95
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
92
96
  * @returns {string} The name to display.
93
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
97
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
94
98
  */
95
99
  dayOfWeekFormatter: _propTypes.default.func,
96
100
  /**
@@ -110,7 +114,8 @@ MobileDateRangePicker.propTypes = {
110
114
  */
111
115
  disableAutoMonthSwitching: _propTypes.default.bool,
112
116
  /**
113
- * If `true`, the picker and text field are disabled.
117
+ * If `true`, the component is disabled.
118
+ * When disabled, the value cannot be changed and no interaction is possible.
114
119
  * @default false
115
120
  */
116
121
  disabled: _propTypes.default.bool,
@@ -144,7 +149,7 @@ MobileDateRangePicker.propTypes = {
144
149
  */
145
150
  displayWeekNumber: _propTypes.default.bool,
146
151
  /**
147
- * @default false
152
+ * @default true
148
153
  */
149
154
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
150
155
  /**
@@ -232,8 +237,7 @@ MobileDateRangePicker.propTypes = {
232
237
  onError: _propTypes.default.func,
233
238
  /**
234
239
  * Callback fired on month change.
235
- * @template TDate
236
- * @param {TDate} month The new month.
240
+ * @param {PickerValidDate} month The new month.
237
241
  */
238
242
  onMonthChange: _propTypes.default.func,
239
243
  /**
@@ -261,6 +265,11 @@ MobileDateRangePicker.propTypes = {
261
265
  * Used when the component position is controlled.
262
266
  */
263
267
  rangePosition: _propTypes.default.oneOf(['end', 'start']),
268
+ /**
269
+ * If `true`, the component is read-only.
270
+ * When read-only, the value cannot be changed but the user can interact with the interface.
271
+ * @default false
272
+ */
264
273
  readOnly: _propTypes.default.bool,
265
274
  /**
266
275
  * If `true`, disable heavy animations.
@@ -293,8 +302,7 @@ MobileDateRangePicker.propTypes = {
293
302
  *
294
303
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
295
304
  *
296
- * @template TDate
297
- * @param {TDate} day The date to test.
305
+ * @param {PickerValidDate} day The date to test.
298
306
  * @param {string} position The date to test, 'start' or 'end'.
299
307
  * @returns {boolean} Returns `true` if the date should be disabled.
300
308
  */
@@ -167,9 +167,9 @@ MobileDateTimeRangePicker.propTypes = {
167
167
  currentMonthCalendarPosition: _propTypes.default.oneOf([1, 2, 3]),
168
168
  /**
169
169
  * Formats the day of week displayed in the calendar header.
170
- * @param {TDate} date The date of the day of week provided by the adapter.
170
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
171
171
  * @returns {string} The name to display.
172
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
172
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
173
173
  */
174
174
  dayOfWeekFormatter: _propTypes.default.func,
175
175
  /**
@@ -189,7 +189,8 @@ MobileDateTimeRangePicker.propTypes = {
189
189
  */
190
190
  disableAutoMonthSwitching: _propTypes.default.bool,
191
191
  /**
192
- * If `true`, the picker and text field are disabled.
192
+ * If `true`, the component is disabled.
193
+ * When disabled, the value cannot be changed and no interaction is possible.
193
194
  * @default false
194
195
  */
195
196
  disabled: _propTypes.default.bool,
@@ -228,7 +229,7 @@ MobileDateTimeRangePicker.propTypes = {
228
229
  */
229
230
  displayWeekNumber: _propTypes.default.bool,
230
231
  /**
231
- * @default false
232
+ * @default true
232
233
  */
233
234
  enableAccessibleFieldDOMStructure: _propTypes.default.any,
234
235
  /**
@@ -339,8 +340,7 @@ MobileDateTimeRangePicker.propTypes = {
339
340
  onError: _propTypes.default.func,
340
341
  /**
341
342
  * Callback fired on month change.
342
- * @template TDate
343
- * @param {TDate} month The new month.
343
+ * @param {PickerValidDate} month The new month.
344
344
  */
345
345
  onMonthChange: _propTypes.default.func,
346
346
  /**
@@ -380,6 +380,11 @@ MobileDateTimeRangePicker.propTypes = {
380
380
  * Used when the component position is controlled.
381
381
  */
382
382
  rangePosition: _propTypes.default.oneOf(['end', 'start']),
383
+ /**
384
+ * If `true`, the component is read-only.
385
+ * When read-only, the value cannot be changed but the user can interact with the interface.
386
+ * @default false
387
+ */
383
388
  readOnly: _propTypes.default.bool,
384
389
  /**
385
390
  * If `true`, disable heavy animations.
@@ -412,16 +417,14 @@ MobileDateTimeRangePicker.propTypes = {
412
417
  *
413
418
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
414
419
  *
415
- * @template TDate
416
- * @param {TDate} day The date to test.
420
+ * @param {PickerValidDate} day The date to test.
417
421
  * @param {string} position The date to test, 'start' or 'end'.
418
422
  * @returns {boolean} Returns `true` if the date should be disabled.
419
423
  */
420
424
  shouldDisableDate: _propTypes.default.func,
421
425
  /**
422
426
  * Disable specific time.
423
- * @template TDate
424
- * @param {TDate} value The value to check.
427
+ * @param {PickerValidDate} value The value to check.
425
428
  * @param {TimeView} view The clock type of the timeValue.
426
429
  * @returns {boolean} If `true` the time will be disabled.
427
430
  */
@@ -94,7 +94,7 @@ const MultiInputDateRangeField = exports.MultiInputDateRangeField = /*#__PURE__*
94
94
  ownerState,
95
95
  className: (0, _clsx.default)(className, classes.root)
96
96
  });
97
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
97
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
98
98
  const startTextFieldProps = (0, _useSlotProps.default)({
99
99
  elementType: TextField,
100
100
  externalSlotProps: slotProps?.textField,
@@ -168,6 +168,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
168
168
  direction: _propTypes.default.oneOfType([_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), _propTypes.default.object]),
169
169
  /**
170
170
  * If `true`, the component is disabled.
171
+ * When disabled, the value cannot be changed and no interaction is possible.
171
172
  * @default false
172
173
  */
173
174
  disabled: _propTypes.default.bool,
@@ -186,7 +187,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
186
187
  */
187
188
  divider: _propTypes.default.node,
188
189
  /**
189
- * @default false
190
+ * @default true
190
191
  */
191
192
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
192
193
  /**
@@ -233,8 +234,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
233
234
  */
234
235
  onSelectedSectionsChange: _propTypes.default.func,
235
236
  /**
236
- * It prevents the user from changing the value of the field
237
- * (not from interacting with the field).
237
+ * If `true`, the component is read-only.
238
+ * When read-only, the value cannot be changed but the user can interact with the interface.
238
239
  * @default false
239
240
  */
240
241
  readOnly: _propTypes.default.bool,
@@ -259,8 +260,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
259
260
  *
260
261
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
261
262
  *
262
- * @template TDate
263
- * @param {TDate} day The date to test.
263
+ * @param {PickerValidDate} day The date to test.
264
264
  * @param {string} position The date to test, 'start' or 'end'.
265
265
  * @returns {boolean} Returns `true` if the date should be disabled.
266
266
  */
@@ -94,7 +94,7 @@ const MultiInputDateTimeRangeField = exports.MultiInputDateTimeRangeField = /*#_
94
94
  ownerState,
95
95
  className: (0, _clsx.default)(className, classes.root)
96
96
  });
97
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
97
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
98
98
  const startTextFieldProps = (0, _useSlotProps.default)({
99
99
  elementType: TextField,
100
100
  externalSlotProps: slotProps?.textField,
@@ -173,6 +173,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
173
173
  direction: _propTypes.default.oneOfType([_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), _propTypes.default.object]),
174
174
  /**
175
175
  * If `true`, the component is disabled.
176
+ * When disabled, the value cannot be changed and no interaction is possible.
176
177
  * @default false
177
178
  */
178
179
  disabled: _propTypes.default.bool,
@@ -196,7 +197,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
196
197
  */
197
198
  divider: _propTypes.default.node,
198
199
  /**
199
- * @default false
200
+ * @default true
200
201
  */
201
202
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
202
203
  /**
@@ -266,8 +267,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
266
267
  */
267
268
  onSelectedSectionsChange: _propTypes.default.func,
268
269
  /**
269
- * It prevents the user from changing the value of the field
270
- * (not from interacting with the field).
270
+ * If `true`, the component is read-only.
271
+ * When read-only, the value cannot be changed but the user can interact with the interface.
271
272
  * @default false
272
273
  */
273
274
  readOnly: _propTypes.default.bool,
@@ -292,16 +293,14 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
292
293
  *
293
294
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
294
295
  *
295
- * @template TDate
296
- * @param {TDate} day The date to test.
296
+ * @param {PickerValidDate} day The date to test.
297
297
  * @param {string} position The date to test, 'start' or 'end'.
298
298
  * @returns {boolean} Returns `true` if the date should be disabled.
299
299
  */
300
300
  shouldDisableDate: _propTypes.default.func,
301
301
  /**
302
302
  * Disable specific time.
303
- * @template TDate
304
- * @param {TDate} value The value to check.
303
+ * @param {PickerValidDate} value The value to check.
305
304
  * @param {TimeView} view The clock type of the timeValue.
306
305
  * @returns {boolean} If `true` the time will be disabled.
307
306
  */
@@ -94,7 +94,7 @@ const MultiInputTimeRangeField = exports.MultiInputTimeRangeField = /*#__PURE__*
94
94
  ownerState,
95
95
  className: (0, _clsx.clsx)(className, classes.root)
96
96
  });
97
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
97
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
98
98
  const startTextFieldProps = (0, _useSlotProps.default)({
99
99
  elementType: TextField,
100
100
  externalSlotProps: slotProps?.textField,
@@ -173,6 +173,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
173
173
  direction: _propTypes.default.oneOfType([_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), _propTypes.default.object]),
174
174
  /**
175
175
  * If `true`, the component is disabled.
176
+ * When disabled, the value cannot be changed and no interaction is possible.
176
177
  * @default false
177
178
  */
178
179
  disabled: _propTypes.default.bool,
@@ -196,7 +197,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
196
197
  */
197
198
  divider: _propTypes.default.node,
198
199
  /**
199
- * @default false
200
+ * @default true
200
201
  */
201
202
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
202
203
  /**
@@ -248,8 +249,8 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
248
249
  */
249
250
  onSelectedSectionsChange: _propTypes.default.func,
250
251
  /**
251
- * It prevents the user from changing the value of the field
252
- * (not from interacting with the field).
252
+ * If `true`, the component is read-only.
253
+ * When read-only, the value cannot be changed but the user can interact with the interface.
253
254
  * @default false
254
255
  */
255
256
  readOnly: _propTypes.default.bool,
@@ -271,8 +272,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
271
272
  selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number]),
272
273
  /**
273
274
  * Disable specific time.
274
- * @template TDate
275
- * @param {TDate} value The value to check.
275
+ * @param {PickerValidDate} value The value to check.
276
276
  * @param {TimeView} view The clock type of the timeValue.
277
277
  * @returns {boolean} If `true` the time will be disabled.
278
278
  */
@@ -26,7 +26,7 @@ const PickersRangeCalendarHeaderContentMultipleCalendars = (0, _styles.styled)(_
26
26
  });
27
27
  const PickersRangeCalendarHeader = exports.PickersRangeCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersRangeCalendarHeader(props, ref) {
28
28
  const utils = (0, _internals.useUtils)();
29
- const translations = (0, _hooks.usePickersTranslations)();
29
+ const translations = (0, _hooks.usePickerTranslations)();
30
30
  const {
31
31
  calendars,
32
32
  month,
@@ -44,7 +44,7 @@ const SingleInputDateRangeField = exports.SingleInputDateRangeField = /*#__PURE_
44
44
  } = themeProps,
45
45
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
46
  const ownerState = themeProps;
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
47
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
48
  const textFieldProps = (0, _useSlotProps.default)({
49
49
  elementType: TextField,
50
50
  externalSlotProps: slotProps?.textField,
@@ -102,6 +102,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
102
102
  defaultValue: _propTypes.default.arrayOf(_propTypes.default.object),
103
103
  /**
104
104
  * If `true`, the component is disabled.
105
+ * When disabled, the value cannot be changed and no interaction is possible.
105
106
  * @default false
106
107
  */
107
108
  disabled: _propTypes.default.bool,
@@ -116,7 +117,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
116
117
  */
117
118
  disablePast: _propTypes.default.bool,
118
119
  /**
119
- * @default false
120
+ * @default true
120
121
  */
121
122
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
122
123
  /**
@@ -231,8 +232,8 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
231
232
  */
232
233
  onSelectedSectionsChange: _propTypes.default.func,
233
234
  /**
234
- * It prevents the user from changing the value of the field
235
- * (not from interacting with the field).
235
+ * If `true`, the component is read-only.
236
+ * When read-only, the value cannot be changed but the user can interact with the interface.
236
237
  * @default false
237
238
  */
238
239
  readOnly: _propTypes.default.bool,
@@ -262,8 +263,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
262
263
  *
263
264
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
264
265
  *
265
- * @template TDate
266
- * @param {TDate} day The date to test.
266
+ * @param {PickerValidDate} day The date to test.
267
267
  * @param {string} position The date to test, 'start' or 'end'.
268
268
  * @returns {boolean} Returns `true` if the date should be disabled.
269
269
  */
@@ -44,7 +44,7 @@ const SingleInputDateTimeRangeField = exports.SingleInputDateTimeRangeField = /*
44
44
  } = themeProps,
45
45
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
46
  const ownerState = themeProps;
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
47
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
48
  const textFieldProps = (0, _useSlotProps.default)({
49
49
  elementType: TextField,
50
50
  externalSlotProps: slotProps?.textField,
@@ -107,6 +107,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
107
107
  defaultValue: _propTypes.default.arrayOf(_propTypes.default.object),
108
108
  /**
109
109
  * If `true`, the component is disabled.
110
+ * When disabled, the value cannot be changed and no interaction is possible.
110
111
  * @default false
111
112
  */
112
113
  disabled: _propTypes.default.bool,
@@ -126,7 +127,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
126
127
  */
127
128
  disablePast: _propTypes.default.bool,
128
129
  /**
129
- * @default false
130
+ * @default true
130
131
  */
131
132
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
132
133
  /**
@@ -264,8 +265,8 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
264
265
  */
265
266
  onSelectedSectionsChange: _propTypes.default.func,
266
267
  /**
267
- * It prevents the user from changing the value of the field
268
- * (not from interacting with the field).
268
+ * If `true`, the component is read-only.
269
+ * When read-only, the value cannot be changed but the user can interact with the interface.
269
270
  * @default false
270
271
  */
271
272
  readOnly: _propTypes.default.bool,
@@ -295,16 +296,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
295
296
  *
296
297
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
297
298
  *
298
- * @template TDate
299
- * @param {TDate} day The date to test.
299
+ * @param {PickerValidDate} day The date to test.
300
300
  * @param {string} position The date to test, 'start' or 'end'.
301
301
  * @returns {boolean} Returns `true` if the date should be disabled.
302
302
  */
303
303
  shouldDisableDate: _propTypes.default.func,
304
304
  /**
305
305
  * Disable specific time.
306
- * @template TDate
307
- * @param {TDate} value The value to check.
306
+ * @param {PickerValidDate} value The value to check.
308
307
  * @param {TimeView} view The clock type of the timeValue.
309
308
  * @returns {boolean} If `true` the time will be disabled.
310
309
  */
@@ -44,7 +44,7 @@ const SingleInputTimeRangeField = exports.SingleInputTimeRangeField = /*#__PURE_
44
44
  } = themeProps,
45
45
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
46
  const ownerState = themeProps;
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? _PickersTextField.PickersTextField : _TextField.default);
47
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
48
  const textFieldProps = (0, _useSlotProps.default)({
49
49
  elementType: TextField,
50
50
  externalSlotProps: slotProps?.textField,
@@ -107,6 +107,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
107
107
  defaultValue: _propTypes.default.arrayOf(_propTypes.default.object),
108
108
  /**
109
109
  * If `true`, the component is disabled.
110
+ * When disabled, the value cannot be changed and no interaction is possible.
110
111
  * @default false
111
112
  */
112
113
  disabled: _propTypes.default.bool,
@@ -126,7 +127,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
126
127
  */
127
128
  disablePast: _propTypes.default.bool,
128
129
  /**
129
- * @default false
130
+ * @default true
130
131
  */
131
132
  enableAccessibleFieldDOMStructure: _propTypes.default.bool,
132
133
  /**
@@ -246,8 +247,8 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
246
247
  */
247
248
  onSelectedSectionsChange: _propTypes.default.func,
248
249
  /**
249
- * It prevents the user from changing the value of the field
250
- * (not from interacting with the field).
250
+ * If `true`, the component is read-only.
251
+ * When read-only, the value cannot be changed but the user can interact with the interface.
251
252
  * @default false
252
253
  */
253
254
  readOnly: _propTypes.default.bool,
@@ -274,8 +275,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
274
275
  selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number]),
275
276
  /**
276
277
  * Disable specific time.
277
- * @template TDate
278
- * @param {TDate} value The value to check.
278
+ * @param {PickerValidDate} value The value to check.
279
279
  * @param {TimeView} view The clock type of the timeValue.
280
280
  * @returns {boolean} If `true` the time will be disabled.
281
281
  */
@@ -81,9 +81,9 @@ StaticDateRangePicker.propTypes = {
81
81
  currentMonthCalendarPosition: _propTypes.default.oneOf([1, 2, 3]),
82
82
  /**
83
83
  * Formats the day of week displayed in the calendar header.
84
- * @param {TDate} date The date of the day of week provided by the adapter.
84
+ * @param {PickerValidDate} date The date of the day of week provided by the adapter.
85
85
  * @returns {string} The name to display.
86
- * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
86
+ * @default (date: PickerValidDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
87
87
  */
88
88
  dayOfWeekFormatter: _propTypes.default.func,
89
89
  /**
@@ -103,7 +103,8 @@ StaticDateRangePicker.propTypes = {
103
103
  */
104
104
  disableAutoMonthSwitching: _propTypes.default.bool,
105
105
  /**
106
- * If `true`, the picker and text field are disabled.
106
+ * If `true`, the component is disabled.
107
+ * When disabled, the value cannot be changed and no interaction is possible.
107
108
  * @default false
108
109
  */
109
110
  disabled: _propTypes.default.bool,
@@ -196,8 +197,7 @@ StaticDateRangePicker.propTypes = {
196
197
  onError: _propTypes.default.func,
197
198
  /**
198
199
  * Callback fired on month change.
199
- * @template TDate
200
- * @param {TDate} month The new month.
200
+ * @param {PickerValidDate} month The new month.
201
201
  */
202
202
  onMonthChange: _propTypes.default.func,
203
203
  /**
@@ -210,6 +210,11 @@ StaticDateRangePicker.propTypes = {
210
210
  * Used when the component position is controlled.
211
211
  */
212
212
  rangePosition: _propTypes.default.oneOf(['end', 'start']),
213
+ /**
214
+ * If `true`, the component is read-only.
215
+ * When read-only, the value cannot be changed but the user can interact with the interface.
216
+ * @default false
217
+ */
213
218
  readOnly: _propTypes.default.bool,
214
219
  /**
215
220
  * If `true`, disable heavy animations.
@@ -232,8 +237,7 @@ StaticDateRangePicker.propTypes = {
232
237
  *
233
238
  * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
234
239
  *
235
- * @template TDate
236
- * @param {TDate} day The date to test.
240
+ * @param {PickerValidDate} day The date to test.
237
241
  * @param {string} position The date to test, 'start' or 'end'.
238
242
  * @returns {boolean} Returns `true` if the date should be disabled.
239
243
  */