@mui/x-date-pickers-pro 7.0.0-alpha.4 → 7.0.0-alpha.6

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 (114) hide show
  1. package/CHANGELOG.md +342 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +1 -1
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +6 -6
  4. package/DateRangeCalendar/index.d.ts +1 -1
  5. package/DateRangePicker/DateRangePicker.js +6 -1
  6. package/DateRangePicker/DateRangePicker.types.d.ts +6 -6
  7. package/DateRangePicker/index.d.ts +1 -1
  8. package/DateRangePicker/shared.d.ts +5 -5
  9. package/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  10. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +6 -6
  11. package/DesktopDateRangePicker/index.d.ts +1 -1
  12. package/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  13. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +6 -6
  14. package/MobileDateRangePicker/index.d.ts +1 -1
  15. package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
  16. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -4
  17. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
  18. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +4 -4
  19. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
  20. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +4 -4
  21. package/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
  22. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -9
  23. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +2 -2
  24. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
  25. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
  26. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +5 -9
  27. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +2 -2
  28. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
  29. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
  30. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +5 -9
  31. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +2 -2
  32. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
  33. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +6 -6
  34. package/StaticDateRangePicker/index.d.ts +1 -1
  35. package/index.js +1 -1
  36. package/internals/hooks/useDesktopRangePicker/index.d.ts +1 -1
  37. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  38. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -7
  39. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +6 -5
  40. package/internals/hooks/useMobileRangePicker/index.d.ts +1 -1
  41. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  42. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -7
  43. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
  44. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  45. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -1
  46. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  47. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -2
  48. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -1
  49. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  50. package/internals/hooks/useStaticRangePicker/index.d.ts +1 -1
  51. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +5 -5
  52. package/internals/models/rangePickerProps.d.ts +5 -0
  53. package/internals/utils/releaseInfo.js +1 -1
  54. package/legacy/DateRangeCalendar/DateRangeCalendar.js +1 -1
  55. package/legacy/DateRangePicker/DateRangePicker.js +6 -1
  56. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  57. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  58. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -48
  59. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -48
  60. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -48
  61. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -47
  62. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -4
  63. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -47
  64. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -4
  65. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -48
  66. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -4
  67. package/legacy/index.js +1 -1
  68. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  69. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  70. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  71. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  72. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  73. package/legacy/internals/utils/releaseInfo.js +1 -1
  74. package/modern/DateRangeCalendar/DateRangeCalendar.js +1 -1
  75. package/modern/DateRangePicker/DateRangePicker.js +6 -1
  76. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  77. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  78. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
  79. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
  80. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
  81. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
  82. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
  83. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
  84. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
  85. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
  86. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
  87. package/modern/index.js +1 -1
  88. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  89. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  90. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  91. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  92. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  93. package/modern/internals/utils/releaseInfo.js +1 -1
  94. package/node/DateRangeCalendar/DateRangeCalendar.js +1 -1
  95. package/node/DateRangePicker/DateRangePicker.js +6 -1
  96. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
  97. package/node/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
  98. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -51
  99. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -51
  100. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -51
  101. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
  102. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
  103. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
  104. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
  105. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
  106. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
  107. package/node/index.js +1 -1
  108. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
  109. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
  110. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
  111. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
  112. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
  113. package/node/internals/utils/releaseInfo.js +1 -1
  114. package/package.json +5 -5
@@ -24,10 +24,8 @@ export const useDefaultizedDateTimeRangeFieldProps = props => {
24
24
  export const useMultiInputDateTimeRangeField = ({
25
25
  sharedProps: inSharedProps,
26
26
  startTextFieldProps,
27
- startInputRef,
28
27
  unstableStartFieldRef,
29
28
  endTextFieldProps,
30
- endInputRef,
31
29
  unstableEndFieldRef
32
30
  }) => {
33
31
  const sharedProps = useDefaultizedDateTimeRangeFieldProps(inSharedProps);
@@ -109,14 +107,8 @@ export const useMultiInputDateTimeRangeField = ({
109
107
  selectedSections,
110
108
  onSelectedSectionsChange
111
109
  });
112
- const startDateResponse = useDateTimeField({
113
- props: startFieldProps,
114
- inputRef: startInputRef
115
- });
116
- const endDateResponse = useDateTimeField({
117
- props: endFieldProps,
118
- inputRef: endInputRef
119
- });
110
+ const startDateResponse = useDateTimeField(startFieldProps);
111
+ const endDateResponse = useDateTimeField(endFieldProps);
120
112
 
121
113
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
122
114
  return {
@@ -18,10 +18,8 @@ export const useDefaultizedTimeRangeFieldProps = props => {
18
18
  export const useMultiInputTimeRangeField = ({
19
19
  sharedProps: inSharedProps,
20
20
  startTextFieldProps,
21
- startInputRef,
22
21
  unstableStartFieldRef,
23
22
  endTextFieldProps,
24
- endInputRef,
25
23
  unstableEndFieldRef
26
24
  }) => {
27
25
  const sharedProps = useDefaultizedTimeRangeFieldProps(inSharedProps);
@@ -103,14 +101,8 @@ export const useMultiInputTimeRangeField = ({
103
101
  selectedSections,
104
102
  onSelectedSectionsChange
105
103
  });
106
- const startDateResponse = useTimeField({
107
- props: startFieldProps,
108
- inputRef: startInputRef
109
- });
110
- const endDateResponse = useTimeField({
111
- props: endFieldProps,
112
- inputRef: endInputRef
113
- });
104
+ const startDateResponse = useTimeField(startFieldProps);
105
+ const endDateResponse = useTimeField(endFieldProps);
114
106
 
115
107
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
116
108
  return {
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcwMTk5MDAwMDAwMA==";
3
+ const releaseInfo = "MTcwMzIyMTIwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -478,7 +478,7 @@ const DateRangeCalendar = exports.DateRangeCalendar = /*#__PURE__*/React.forward
478
478
  renderLoading: renderLoading,
479
479
  slots: slotsForDayCalendar,
480
480
  slotProps: slotPropsForDayCalendar,
481
- autoFocus: month === focusedMonth,
481
+ autoFocus: visibleMonths[month] === focusedMonth,
482
482
  fixedWeekNumber: fixedWeekNumber,
483
483
  displayWeekNumber: displayWeekNumber,
484
484
  timezone: timezone
@@ -191,6 +191,11 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
191
191
  * Minimal selectable date.
192
192
  */
193
193
  minDate: _propTypes.default.any,
194
+ /**
195
+ * Name attribute used by the `input` element in the Field.
196
+ * Ignored if the field has several inputs.
197
+ */
198
+ name: _propTypes.default.string,
194
199
  /**
195
200
  * Callback fired when the value is accepted.
196
201
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -277,7 +282,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
277
282
  * 4. If `null` is provided, no section will be selected
278
283
  * If not provided, the selected sections will be handled internally.
279
284
  */
280
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
285
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
281
286
  endIndex: _propTypes.default.number.isRequired,
282
287
  startIndex: _propTypes.default.number.isRequired
283
288
  })]),
@@ -196,6 +196,11 @@ DesktopDateRangePicker.propTypes = {
196
196
  * Minimal selectable date.
197
197
  */
198
198
  minDate: _propTypes.default.any,
199
+ /**
200
+ * Name attribute used by the `input` element in the Field.
201
+ * Ignored if the field has several inputs.
202
+ */
203
+ name: _propTypes.default.string,
199
204
  /**
200
205
  * Callback fired when the value is accepted.
201
206
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -282,7 +287,7 @@ DesktopDateRangePicker.propTypes = {
282
287
  * 4. If `null` is provided, no section will be selected
283
288
  * If not provided, the selected sections will be handled internally.
284
289
  */
285
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
290
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
286
291
  endIndex: _propTypes.default.number.isRequired,
287
292
  startIndex: _propTypes.default.number.isRequired
288
293
  })]),
@@ -196,6 +196,11 @@ MobileDateRangePicker.propTypes = {
196
196
  * Minimal selectable date.
197
197
  */
198
198
  minDate: _propTypes.default.any,
199
+ /**
200
+ * Name attribute used by the `input` element in the Field.
201
+ * Ignored if the field has several inputs.
202
+ */
203
+ name: _propTypes.default.string,
199
204
  /**
200
205
  * Callback fired when the value is accepted.
201
206
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -282,7 +287,7 @@ MobileDateRangePicker.propTypes = {
282
287
  * 4. If `null` is provided, no section will be selected
283
288
  * If not provided, the selected sections will be handled internally.
284
289
  */
285
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
290
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
286
291
  endIndex: _propTypes.default.number.isRequired,
287
292
  startIndex: _propTypes.default.number.isRequired
288
293
  })]),
@@ -19,9 +19,7 @@ var _utils2 = require("@mui/utils");
19
19
  var _internals = require("@mui/x-date-pickers/internals");
20
20
  var _useMultiInputDateRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
23
- _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
24
- _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
22
+ const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
25
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
25
  const multiInputDateRangeFieldClasses = exports.multiInputDateRangeFieldClasses = (0, _utils2.unstable_generateUtilityClasses)('MuiMultiInputDateRangeField', ['root', 'separator']);
@@ -121,58 +119,23 @@ const MultiInputDateRangeField = exports.MultiInputDateRangeField = /*#__PURE__*
121
119
  ownerState,
122
120
  className: classes.separator
123
121
  });
124
- const _useMultiInputDateRan = (0, _useMultiInputDateRangeField.useMultiInputDateRangeField)({
125
- sharedProps: (0, _extends2.default)({}, dateFieldInternalProps, {
126
- disabled
127
- }),
128
- startTextFieldProps,
129
- endTextFieldProps,
130
- unstableStartFieldRef,
131
- unstableEndFieldRef,
132
- startInputRef: startTextFieldProps.inputRef,
133
- endInputRef: endTextFieldProps.inputRef
122
+ const fieldResponse = (0, _useMultiInputDateRangeField.useMultiInputDateRangeField)({
123
+ sharedProps: (0, _extends2.default)({}, dateFieldInternalProps, {
124
+ disabled
134
125
  }),
135
- {
136
- startDate: {
137
- onKeyDown: onStartInputKeyDown,
138
- ref: startInputRef,
139
- readOnly: startReadOnly,
140
- inputMode: startInputMode
141
- },
142
- endDate: {
143
- onKeyDown: onEndInputKeyDown,
144
- ref: endInputRef,
145
- readOnly: endReadOnly,
146
- inputMode: endInputMode
147
- }
148
- } = _useMultiInputDateRan,
149
- startDateProps = (0, _objectWithoutPropertiesLoose2.default)(_useMultiInputDateRan.startDate, _excluded3),
150
- endDateProps = (0, _objectWithoutPropertiesLoose2.default)(_useMultiInputDateRan.endDate, _excluded2);
126
+ startTextFieldProps,
127
+ endTextFieldProps,
128
+ unstableStartFieldRef,
129
+ unstableEndFieldRef
130
+ });
131
+ const startDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.startDate);
132
+ const endDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.endDate);
151
133
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
152
134
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
153
135
  fullWidth: true
154
- }, startDateProps, {
155
- InputProps: (0, _extends2.default)({}, startDateProps.InputProps, {
156
- readOnly: startReadOnly
157
- }),
158
- inputProps: (0, _extends2.default)({}, startDateProps.inputProps, {
159
- ref: startInputRef,
160
- inputMode: startInputMode,
161
- onKeyDown: onStartInputKeyDown
162
- })
163
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
136
+ }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
164
137
  fullWidth: true
165
- }, endDateProps, {
166
- InputProps: (0, _extends2.default)({}, endDateProps.InputProps, {
167
- readOnly: endReadOnly
168
- }),
169
- inputProps: (0, _extends2.default)({}, endDateProps.inputProps, {
170
- ref: endInputRef,
171
- readOnly: endReadOnly,
172
- inputMode: endInputMode,
173
- onKeyDown: onEndInputKeyDown
174
- })
175
- }))]
138
+ }, endDateProps))]
176
139
  }));
177
140
  });
178
141
  process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
@@ -276,7 +239,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
276
239
  * 4. If `null` is provided, no section will be selected
277
240
  * If not provided, the selected sections will be handled internally.
278
241
  */
279
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
242
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
280
243
  endIndex: _propTypes.default.number.isRequired,
281
244
  startIndex: _propTypes.default.number.isRequired
282
245
  })]),
@@ -19,9 +19,7 @@ var _utils2 = require("@mui/utils");
19
19
  var _internals = require("@mui/x-date-pickers/internals");
20
20
  var _useMultiInputDateTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
23
- _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
24
- _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
22
+ const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
25
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
25
  const multiInputDateTimeRangeFieldClasses = exports.multiInputDateTimeRangeFieldClasses = (0, _utils2.unstable_generateUtilityClasses)('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
@@ -121,58 +119,23 @@ const MultiInputDateTimeRangeField = exports.MultiInputDateTimeRangeField = /*#_
121
119
  ownerState,
122
120
  className: classes.separator
123
121
  });
124
- const _useMultiInputDateTim = (0, _useMultiInputDateTimeRangeField.useMultiInputDateTimeRangeField)({
125
- sharedProps: (0, _extends2.default)({}, dateTimeFieldInternalProps, {
126
- disabled
127
- }),
128
- startTextFieldProps,
129
- endTextFieldProps,
130
- startInputRef: startTextFieldProps.inputRef,
131
- unstableStartFieldRef,
132
- endInputRef: endTextFieldProps.inputRef,
133
- unstableEndFieldRef
122
+ const fieldResponse = (0, _useMultiInputDateTimeRangeField.useMultiInputDateTimeRangeField)({
123
+ sharedProps: (0, _extends2.default)({}, dateTimeFieldInternalProps, {
124
+ disabled
134
125
  }),
135
- {
136
- startDate: {
137
- onKeyDown: onStartInputKeyDown,
138
- ref: startInputRef,
139
- readOnly: startReadOnly,
140
- inputMode: startInputMode
141
- },
142
- endDate: {
143
- onKeyDown: onEndInputKeyDown,
144
- ref: endInputRef,
145
- readOnly: endReadOnly,
146
- inputMode: endInputMode
147
- }
148
- } = _useMultiInputDateTim,
149
- startDateProps = (0, _objectWithoutPropertiesLoose2.default)(_useMultiInputDateTim.startDate, _excluded3),
150
- endDateProps = (0, _objectWithoutPropertiesLoose2.default)(_useMultiInputDateTim.endDate, _excluded2);
126
+ startTextFieldProps,
127
+ endTextFieldProps,
128
+ unstableStartFieldRef,
129
+ unstableEndFieldRef
130
+ });
131
+ const startDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.startDate);
132
+ const endDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.endDate);
151
133
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
152
134
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
153
135
  fullWidth: true
154
- }, startDateProps, {
155
- InputProps: (0, _extends2.default)({}, startDateProps.InputProps, {
156
- readOnly: startReadOnly
157
- }),
158
- inputProps: (0, _extends2.default)({}, startDateProps.inputProps, {
159
- ref: startInputRef,
160
- inputMode: startInputMode,
161
- onKeyDown: onStartInputKeyDown
162
- })
163
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
136
+ }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
164
137
  fullWidth: true
165
- }, endDateProps, {
166
- InputProps: (0, _extends2.default)({}, endDateProps.InputProps, {
167
- readOnly: endReadOnly
168
- }),
169
- inputProps: (0, _extends2.default)({}, endDateProps.inputProps, {
170
- ref: endInputRef,
171
- readOnly: endReadOnly,
172
- inputMode: endInputMode,
173
- onKeyDown: onEndInputKeyDown
174
- })
175
- }))]
138
+ }, endDateProps))]
176
139
  }));
177
140
  });
178
141
  process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes = {
@@ -309,7 +272,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
309
272
  * 4. If `null` is provided, no section will be selected
310
273
  * If not provided, the selected sections will be handled internally.
311
274
  */
312
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
275
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
313
276
  endIndex: _propTypes.default.number.isRequired,
314
277
  startIndex: _propTypes.default.number.isRequired
315
278
  })]),
@@ -19,9 +19,7 @@ var _utils2 = require("@mui/utils");
19
19
  var _internals = require("@mui/x-date-pickers/internals");
20
20
  var _useMultiInputTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
23
- _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
24
- _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
22
+ const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
25
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
26
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
25
  const multiInputTimeRangeFieldClasses = exports.multiInputTimeRangeFieldClasses = (0, _utils2.unstable_generateUtilityClasses)('MuiMultiInputTimeRangeField', ['root', 'separator']);
@@ -121,58 +119,23 @@ const MultiInputTimeRangeField = exports.MultiInputTimeRangeField = /*#__PURE__*
121
119
  ownerState,
122
120
  className: classes.separator
123
121
  });
124
- const _useMultiInputTimeRan = (0, _useMultiInputTimeRangeField.useMultiInputTimeRangeField)({
125
- sharedProps: (0, _extends2.default)({}, timeFieldInternalProps, {
126
- disabled
127
- }),
128
- startTextFieldProps,
129
- endTextFieldProps,
130
- startInputRef: startTextFieldProps.inputRef,
131
- unstableStartFieldRef,
132
- endInputRef: endTextFieldProps.inputRef,
133
- unstableEndFieldRef
122
+ const fieldResponse = (0, _useMultiInputTimeRangeField.useMultiInputTimeRangeField)({
123
+ sharedProps: (0, _extends2.default)({}, timeFieldInternalProps, {
124
+ disabled
134
125
  }),
135
- {
136
- startDate: {
137
- onKeyDown: onStartInputKeyDown,
138
- ref: startInputRef,
139
- readOnly: startReadOnly,
140
- inputMode: startInputMode
141
- },
142
- endDate: {
143
- onKeyDown: onEndInputKeyDown,
144
- ref: endInputRef,
145
- readOnly: endReadOnly,
146
- inputMode: endInputMode
147
- }
148
- } = _useMultiInputTimeRan,
149
- startDateProps = (0, _objectWithoutPropertiesLoose2.default)(_useMultiInputTimeRan.startDate, _excluded3),
150
- endDateProps = (0, _objectWithoutPropertiesLoose2.default)(_useMultiInputTimeRan.endDate, _excluded2);
126
+ startTextFieldProps,
127
+ endTextFieldProps,
128
+ unstableStartFieldRef,
129
+ unstableEndFieldRef
130
+ });
131
+ const startDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.startDate);
132
+ const endDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.endDate);
151
133
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
152
134
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
153
135
  fullWidth: true
154
- }, startDateProps, {
155
- InputProps: (0, _extends2.default)({}, startDateProps.InputProps, {
156
- readOnly: startReadOnly
157
- }),
158
- inputProps: (0, _extends2.default)({}, startDateProps.inputProps, {
159
- ref: startInputRef,
160
- inputMode: startInputMode,
161
- onKeyDown: onStartInputKeyDown
162
- })
163
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
136
+ }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
164
137
  fullWidth: true
165
- }, endDateProps, {
166
- InputProps: (0, _extends2.default)({}, endDateProps.InputProps, {
167
- readOnly: endReadOnly
168
- }),
169
- inputProps: (0, _extends2.default)({}, endDateProps.inputProps, {
170
- ref: endInputRef,
171
- readOnly: endReadOnly,
172
- inputMode: endInputMode,
173
- onKeyDown: onEndInputKeyDown
174
- })
175
- }))]
138
+ }, endDateProps))]
176
139
  }));
177
140
  });
178
141
  process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
@@ -293,7 +256,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
293
256
  * 4. If `null` is provided, no section will be selected
294
257
  * If not provided, the selected sections will be handled internally.
295
258
  */
296
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
259
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
297
260
  endIndex: _propTypes.default.number.isRequired,
298
261
  startIndex: _propTypes.default.number.isRequired
299
262
  })]),
@@ -13,12 +13,11 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
13
  var _styles = require("@mui/material/styles");
14
14
  var _utils = require("@mui/base/utils");
15
15
  var _hooks = require("@mui/x-date-pickers/hooks");
16
+ var _internals = require("@mui/x-date-pickers/internals");
16
17
  var _utils2 = require("@mui/utils");
17
18
  var _useSingleInputDateRangeField = require("./useSingleInputDateRangeField");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
20
- _excluded2 = ["inputRef"],
21
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
20
+ const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
22
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  /**
@@ -31,7 +30,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
31
30
  *
32
31
  * - [SingleInputDateRangeField API](https://mui.com/x/api/single-input-date-range-field/)
33
32
  */
34
- const SingleInputDateRangeField = exports.SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateRangeField(inProps, ref) {
33
+ const SingleInputDateRangeField = exports.SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateRangeField(inProps, inRef) {
35
34
  const themeProps = (0, _styles.useThemeProps)({
36
35
  props: inProps,
37
36
  name: 'MuiSingleInputDateRangeField'
@@ -45,58 +44,26 @@ const SingleInputDateRangeField = exports.SingleInputDateRangeField = /*#__PURE_
45
44
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
45
  const ownerState = themeProps;
47
46
  const TextField = slots?.textField ?? _TextField.default;
48
- const _useSlotProps = (0, _utils.useSlotProps)({
49
- elementType: TextField,
50
- externalSlotProps: slotProps?.textField,
51
- externalForwardedProps: other,
52
- ownerState
53
- }),
54
- {
55
- inputRef: externalInputRef
56
- } = _useSlotProps,
57
- textFieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
47
+ const textFieldProps = (0, _utils.useSlotProps)({
48
+ elementType: TextField,
49
+ externalSlotProps: slotProps?.textField,
50
+ externalForwardedProps: other,
51
+ ownerState,
52
+ additionalProps: {
53
+ ref: inRef
54
+ }
55
+ });
58
56
 
59
57
  // TODO: Remove when mui/material-ui#35088 will be merged
60
58
  textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
61
59
  textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
62
- const _useSingleInputDateRa = (0, _useSingleInputDateRangeField.useSingleInputDateRangeField)({
63
- props: textFieldProps,
64
- inputRef: externalInputRef
65
- }),
66
- {
67
- ref: inputRef,
68
- onPaste,
69
- onKeyDown,
70
- inputMode,
71
- readOnly,
72
- clearable,
73
- onClear
74
- } = _useSingleInputDateRa,
75
- fieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSingleInputDateRa, _excluded3);
76
- const {
77
- InputProps: ProcessedInputProps,
78
- fieldProps: processedFieldProps
79
- } = (0, _hooks.useClearableField)({
80
- onClear,
81
- clearable,
82
- fieldProps,
83
- InputProps: fieldProps.InputProps,
60
+ const fieldResponse = (0, _useSingleInputDateRangeField.useSingleInputDateRangeField)(textFieldProps);
61
+ const convertedFieldResponse = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
62
+ const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
84
63
  slots,
85
64
  slotProps
86
- });
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
88
- ref: ref
89
- }, processedFieldProps, {
90
- InputProps: (0, _extends2.default)({}, ProcessedInputProps, {
91
- readOnly
92
- }),
93
- inputProps: (0, _extends2.default)({}, fieldProps.inputProps, {
94
- inputMode,
95
- onPaste,
96
- onKeyDown,
97
- ref: inputRef
98
- })
99
65
  }));
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
100
67
  });
101
68
  SingleInputDateRangeField.fieldType = 'single-input';
102
69
  process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
@@ -275,7 +242,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
275
242
  * 4. If `null` is provided, no section will be selected
276
243
  * If not provided, the selected sections will be handled internally.
277
244
  */
278
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
245
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
279
246
  endIndex: _propTypes.default.number.isRequired,
280
247
  startIndex: _propTypes.default.number.isRequired
281
248
  })]),
@@ -21,17 +21,13 @@ const useDefaultizedDateRangeFieldProps = props => {
21
21
  });
22
22
  };
23
23
  exports.useDefaultizedDateRangeFieldProps = useDefaultizedDateRangeFieldProps;
24
- const useSingleInputDateRangeField = ({
25
- props: inProps,
26
- inputRef
27
- }) => {
24
+ const useSingleInputDateRangeField = inProps => {
28
25
  const props = useDefaultizedDateRangeFieldProps(inProps);
29
26
  const {
30
27
  forwardedProps,
31
28
  internalProps
32
29
  } = (0, _internals.splitFieldInternalAndForwardedProps)(props, 'date');
33
30
  return (0, _internals.useField)({
34
- inputRef,
35
31
  forwardedProps,
36
32
  internalProps,
37
33
  valueManager: _valueManagers.rangeValueManager,