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

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 +122 -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 +2 -2
@@ -1,8 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
- _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
- _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
3
+ var _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
6
  import clsx from 'clsx';
@@ -12,7 +10,7 @@ import Typography from '@mui/material/Typography';
12
10
  import { styled, useThemeProps } from '@mui/material/styles';
13
11
  import { useSlotProps } from '@mui/base/utils';
14
12
  import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
15
- import { splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
13
+ import { splitFieldInternalAndForwardedProps, convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
16
14
  import { useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
17
15
  import { jsx as _jsx } from "react/jsx-runtime";
18
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -119,54 +117,23 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
119
117
  ownerState: ownerState,
120
118
  className: classes.separator
121
119
  });
122
- var _useMultiInputDateTim = useMultiInputDateTimeRangeField({
123
- sharedProps: _extends({}, dateTimeFieldInternalProps, {
124
- disabled: disabled
125
- }),
126
- startTextFieldProps: startTextFieldProps,
127
- endTextFieldProps: endTextFieldProps,
128
- startInputRef: startTextFieldProps.inputRef,
129
- unstableStartFieldRef: unstableStartFieldRef,
130
- endInputRef: endTextFieldProps.inputRef,
131
- unstableEndFieldRef: unstableEndFieldRef
120
+ var fieldResponse = useMultiInputDateTimeRangeField({
121
+ sharedProps: _extends({}, dateTimeFieldInternalProps, {
122
+ disabled: disabled
132
123
  }),
133
- _useMultiInputDateTim2 = _useMultiInputDateTim.startDate,
134
- onStartInputKeyDown = _useMultiInputDateTim2.onKeyDown,
135
- startInputRef = _useMultiInputDateTim2.ref,
136
- startReadOnly = _useMultiInputDateTim2.readOnly,
137
- startInputMode = _useMultiInputDateTim2.inputMode,
138
- startDateProps = _objectWithoutProperties(_useMultiInputDateTim2, _excluded2),
139
- _useMultiInputDateTim3 = _useMultiInputDateTim.endDate,
140
- onEndInputKeyDown = _useMultiInputDateTim3.onKeyDown,
141
- endInputRef = _useMultiInputDateTim3.ref,
142
- endReadOnly = _useMultiInputDateTim3.readOnly,
143
- endInputMode = _useMultiInputDateTim3.inputMode,
144
- endDateProps = _objectWithoutProperties(_useMultiInputDateTim3, _excluded3);
124
+ startTextFieldProps: startTextFieldProps,
125
+ endTextFieldProps: endTextFieldProps,
126
+ unstableStartFieldRef: unstableStartFieldRef,
127
+ unstableEndFieldRef: unstableEndFieldRef
128
+ });
129
+ var startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
130
+ var endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
145
131
  return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
146
132
  children: [/*#__PURE__*/_jsx(TextField, _extends({
147
133
  fullWidth: true
148
- }, startDateProps, {
149
- InputProps: _extends({}, startDateProps.InputProps, {
150
- readOnly: startReadOnly
151
- }),
152
- inputProps: _extends({}, startDateProps.inputProps, {
153
- ref: startInputRef,
154
- inputMode: startInputMode,
155
- onKeyDown: onStartInputKeyDown
156
- })
157
- })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
134
+ }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
158
135
  fullWidth: true
159
- }, endDateProps, {
160
- InputProps: _extends({}, endDateProps.InputProps, {
161
- readOnly: endReadOnly
162
- }),
163
- inputProps: _extends({}, endDateProps.inputProps, {
164
- ref: endInputRef,
165
- readOnly: endReadOnly,
166
- inputMode: endInputMode,
167
- onKeyDown: onEndInputKeyDown
168
- })
169
- }))]
136
+ }, endDateProps))]
170
137
  }));
171
138
  });
172
139
  process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes = {
@@ -303,7 +270,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
303
270
  * 4. If `null` is provided, no section will be selected
304
271
  * If not provided, the selected sections will be handled internally.
305
272
  */
306
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
273
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
307
274
  endIndex: PropTypes.number.isRequired,
308
275
  startIndex: PropTypes.number.isRequired
309
276
  })]),
@@ -1,8 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
- _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
- _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
3
+ var _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
6
  import { clsx } from 'clsx';
@@ -12,7 +10,7 @@ import Typography from '@mui/material/Typography';
12
10
  import { styled, useThemeProps } from '@mui/material/styles';
13
11
  import { useSlotProps } from '@mui/base/utils';
14
12
  import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
15
- import { splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
13
+ import { splitFieldInternalAndForwardedProps, convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
16
14
  import { useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
17
15
  import { jsx as _jsx } from "react/jsx-runtime";
18
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -119,54 +117,23 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
119
117
  ownerState: ownerState,
120
118
  className: classes.separator
121
119
  });
122
- var _useMultiInputTimeRan = useMultiInputTimeRangeField({
123
- sharedProps: _extends({}, timeFieldInternalProps, {
124
- disabled: disabled
125
- }),
126
- startTextFieldProps: startTextFieldProps,
127
- endTextFieldProps: endTextFieldProps,
128
- startInputRef: startTextFieldProps.inputRef,
129
- unstableStartFieldRef: unstableStartFieldRef,
130
- endInputRef: endTextFieldProps.inputRef,
131
- unstableEndFieldRef: unstableEndFieldRef
120
+ var fieldResponse = useMultiInputTimeRangeField({
121
+ sharedProps: _extends({}, timeFieldInternalProps, {
122
+ disabled: disabled
132
123
  }),
133
- _useMultiInputTimeRan2 = _useMultiInputTimeRan.startDate,
134
- onStartInputKeyDown = _useMultiInputTimeRan2.onKeyDown,
135
- startInputRef = _useMultiInputTimeRan2.ref,
136
- startReadOnly = _useMultiInputTimeRan2.readOnly,
137
- startInputMode = _useMultiInputTimeRan2.inputMode,
138
- startDateProps = _objectWithoutProperties(_useMultiInputTimeRan2, _excluded2),
139
- _useMultiInputTimeRan3 = _useMultiInputTimeRan.endDate,
140
- onEndInputKeyDown = _useMultiInputTimeRan3.onKeyDown,
141
- endInputRef = _useMultiInputTimeRan3.ref,
142
- endReadOnly = _useMultiInputTimeRan3.readOnly,
143
- endInputMode = _useMultiInputTimeRan3.inputMode,
144
- endDateProps = _objectWithoutProperties(_useMultiInputTimeRan3, _excluded3);
124
+ startTextFieldProps: startTextFieldProps,
125
+ endTextFieldProps: endTextFieldProps,
126
+ unstableStartFieldRef: unstableStartFieldRef,
127
+ unstableEndFieldRef: unstableEndFieldRef
128
+ });
129
+ var startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
130
+ var endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
145
131
  return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
146
132
  children: [/*#__PURE__*/_jsx(TextField, _extends({
147
133
  fullWidth: true
148
- }, startDateProps, {
149
- InputProps: _extends({}, startDateProps.InputProps, {
150
- readOnly: startReadOnly
151
- }),
152
- inputProps: _extends({}, startDateProps.inputProps, {
153
- ref: startInputRef,
154
- inputMode: startInputMode,
155
- onKeyDown: onStartInputKeyDown
156
- })
157
- })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
134
+ }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
158
135
  fullWidth: true
159
- }, endDateProps, {
160
- InputProps: _extends({}, endDateProps.InputProps, {
161
- readOnly: endReadOnly
162
- }),
163
- inputProps: _extends({}, endDateProps.inputProps, {
164
- ref: endInputRef,
165
- readOnly: endReadOnly,
166
- inputMode: endInputMode,
167
- onKeyDown: onEndInputKeyDown
168
- })
169
- }))]
136
+ }, endDateProps))]
170
137
  }));
171
138
  });
172
139
  process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
@@ -287,7 +254,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
287
254
  * 4. If `null` is provided, no section will be selected
288
255
  * If not provided, the selected sections will be handled internally.
289
256
  */
290
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
257
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
291
258
  endIndex: PropTypes.number.isRequired,
292
259
  startIndex: PropTypes.number.isRequired
293
260
  })]),
@@ -1,14 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
4
- _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
3
+ var _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
6
  import MuiTextField from '@mui/material/TextField';
9
7
  import { useThemeProps } from '@mui/material/styles';
10
8
  import { useSlotProps } from '@mui/base/utils';
11
9
  import { useClearableField } from '@mui/x-date-pickers/hooks';
10
+ import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
12
11
  import { refType } from '@mui/utils';
13
12
  import { useSingleInputDateRangeField } from './useSingleInputDateRangeField';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
21
  *
23
22
  * - [SingleInputDateRangeField API](https://mui.com/x/api/single-input-date-range-field/)
24
23
  */
25
- var SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateRangeField(inProps, ref) {
24
+ var SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateRangeField(inProps, inRef) {
26
25
  var _slots$textField;
27
26
  var themeProps = useThemeProps({
28
27
  props: inProps,
@@ -35,53 +34,26 @@ var SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleInp
35
34
  other = _objectWithoutProperties(themeProps, _excluded);
36
35
  var ownerState = themeProps;
37
36
  var TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
38
- var _useSlotProps = useSlotProps({
39
- elementType: TextField,
40
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
41
- externalForwardedProps: other,
42
- ownerState: ownerState
43
- }),
44
- externalInputRef = _useSlotProps.inputRef,
45
- textFieldProps = _objectWithoutProperties(_useSlotProps, _excluded2);
37
+ var textFieldProps = useSlotProps({
38
+ elementType: TextField,
39
+ externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
40
+ externalForwardedProps: other,
41
+ ownerState: ownerState,
42
+ additionalProps: {
43
+ ref: inRef
44
+ }
45
+ });
46
46
 
47
47
  // TODO: Remove when mui/material-ui#35088 will be merged
48
48
  textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
49
49
  textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
50
- var _useSingleInputDateRa = useSingleInputDateRangeField({
51
- props: textFieldProps,
52
- inputRef: externalInputRef
53
- }),
54
- inputRef = _useSingleInputDateRa.ref,
55
- onPaste = _useSingleInputDateRa.onPaste,
56
- onKeyDown = _useSingleInputDateRa.onKeyDown,
57
- inputMode = _useSingleInputDateRa.inputMode,
58
- readOnly = _useSingleInputDateRa.readOnly,
59
- clearable = _useSingleInputDateRa.clearable,
60
- onClear = _useSingleInputDateRa.onClear,
61
- fieldProps = _objectWithoutProperties(_useSingleInputDateRa, _excluded3);
62
- var _useClearableField = useClearableField({
63
- onClear: onClear,
64
- clearable: clearable,
65
- fieldProps: fieldProps,
66
- InputProps: fieldProps.InputProps,
67
- slots: slots,
68
- slotProps: slotProps
69
- }),
70
- ProcessedInputProps = _useClearableField.InputProps,
71
- processedFieldProps = _useClearableField.fieldProps;
72
- return /*#__PURE__*/_jsx(TextField, _extends({
73
- ref: ref
74
- }, processedFieldProps, {
75
- InputProps: _extends({}, ProcessedInputProps, {
76
- readOnly: readOnly
77
- }),
78
- inputProps: _extends({}, fieldProps.inputProps, {
79
- inputMode: inputMode,
80
- onPaste: onPaste,
81
- onKeyDown: onKeyDown,
82
- ref: inputRef
83
- })
50
+ var fieldResponse = useSingleInputDateRangeField(textFieldProps);
51
+ var convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
52
+ var processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
53
+ slots: slots,
54
+ slotProps: slotProps
84
55
  }));
56
+ return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
85
57
  });
86
58
  SingleInputDateRangeField.fieldType = 'single-input';
87
59
  process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
@@ -260,7 +232,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
260
232
  * 4. If `null` is provided, no section will be selected
261
233
  * If not provided, the selected sections will be handled internally.
262
234
  */
263
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
235
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
264
236
  endIndex: PropTypes.number.isRequired,
265
237
  startIndex: PropTypes.number.isRequired
266
238
  })]),
@@ -14,15 +14,12 @@ export var useDefaultizedDateRangeFieldProps = function useDefaultizedDateRangeF
14
14
  maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)
15
15
  });
16
16
  };
17
- export var useSingleInputDateRangeField = function useSingleInputDateRangeField(_ref) {
18
- var inProps = _ref.props,
19
- inputRef = _ref.inputRef;
17
+ export var useSingleInputDateRangeField = function useSingleInputDateRangeField(inProps) {
20
18
  var props = useDefaultizedDateRangeFieldProps(inProps);
21
19
  var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(props, 'date'),
22
20
  forwardedProps = _splitFieldInternalAn.forwardedProps,
23
21
  internalProps = _splitFieldInternalAn.internalProps;
24
22
  return useField({
25
- inputRef: inputRef,
26
23
  forwardedProps: forwardedProps,
27
24
  internalProps: internalProps,
28
25
  valueManager: rangeValueManager,
@@ -1,11 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
4
- _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
3
+ var _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
6
  import MuiTextField from '@mui/material/TextField';
7
+ import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
9
8
  import { useThemeProps } from '@mui/material/styles';
10
9
  import { useSlotProps } from '@mui/base/utils';
11
10
  import { useClearableField } from '@mui/x-date-pickers/hooks';
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
21
  *
23
22
  * - [SingleInputDateTimeRangeField API](https://mui.com/x/api/single-input-date-time-range-field/)
24
23
  */
25
- var SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateTimeRangeField(inProps, ref) {
24
+ var SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateTimeRangeField(inProps, inRef) {
26
25
  var _slots$textField;
27
26
  var themeProps = useThemeProps({
28
27
  props: inProps,
@@ -35,53 +34,26 @@ var SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Singl
35
34
  other = _objectWithoutProperties(themeProps, _excluded);
36
35
  var ownerState = themeProps;
37
36
  var TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
38
- var _useSlotProps = useSlotProps({
39
- elementType: TextField,
40
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
41
- externalForwardedProps: other,
42
- ownerState: ownerState
43
- }),
44
- externalInputRef = _useSlotProps.inputRef,
45
- textFieldProps = _objectWithoutProperties(_useSlotProps, _excluded2);
37
+ var textFieldProps = useSlotProps({
38
+ elementType: TextField,
39
+ externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
40
+ externalForwardedProps: other,
41
+ ownerState: ownerState,
42
+ additionalProps: {
43
+ ref: inRef
44
+ }
45
+ });
46
46
 
47
47
  // TODO: Remove when mui/material-ui#35088 will be merged
48
48
  textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
49
49
  textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
50
- var _useSingleInputDateTi = useSingleInputDateTimeRangeField({
51
- props: textFieldProps,
52
- inputRef: externalInputRef
53
- }),
54
- inputRef = _useSingleInputDateTi.ref,
55
- onPaste = _useSingleInputDateTi.onPaste,
56
- onKeyDown = _useSingleInputDateTi.onKeyDown,
57
- inputMode = _useSingleInputDateTi.inputMode,
58
- readOnly = _useSingleInputDateTi.readOnly,
59
- clearable = _useSingleInputDateTi.clearable,
60
- onClear = _useSingleInputDateTi.onClear,
61
- fieldProps = _objectWithoutProperties(_useSingleInputDateTi, _excluded3);
62
- var _useClearableField = useClearableField({
63
- onClear: onClear,
64
- clearable: clearable,
65
- fieldProps: fieldProps,
66
- InputProps: fieldProps.InputProps,
67
- slots: slots,
68
- slotProps: slotProps
69
- }),
70
- ProcessedInputProps = _useClearableField.InputProps,
71
- processedFieldProps = _useClearableField.fieldProps;
72
- return /*#__PURE__*/_jsx(TextField, _extends({
73
- ref: ref
74
- }, processedFieldProps, {
75
- InputProps: _extends({}, ProcessedInputProps, {
76
- readOnly: readOnly
77
- }),
78
- inputProps: _extends({}, fieldProps.inputProps, {
79
- inputMode: inputMode,
80
- onPaste: onPaste,
81
- onKeyDown: onKeyDown,
82
- ref: inputRef
83
- })
50
+ var fieldResponse = useSingleInputDateTimeRangeField(textFieldProps);
51
+ var convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
52
+ var processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
53
+ slots: slots,
54
+ slotProps: slotProps
84
55
  }));
56
+ return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
85
57
  });
86
58
  SingleInputDateTimeRangeField.fieldType = 'single-input';
87
59
  process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes = {
@@ -293,7 +265,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
293
265
  * 4. If `null` is provided, no section will be selected
294
266
  * If not provided, the selected sections will be handled internally.
295
267
  */
296
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
268
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
297
269
  endIndex: PropTypes.number.isRequired,
298
270
  startIndex: PropTypes.number.isRequired
299
271
  })]),
@@ -19,15 +19,12 @@ export var useDefaultizedTimeRangeFieldProps = function useDefaultizedTimeRangeF
19
19
  disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime)
20
20
  });
21
21
  };
22
- export var useSingleInputDateTimeRangeField = function useSingleInputDateTimeRangeField(_ref) {
23
- var inProps = _ref.props,
24
- inputRef = _ref.inputRef;
22
+ export var useSingleInputDateTimeRangeField = function useSingleInputDateTimeRangeField(inProps) {
25
23
  var props = useDefaultizedTimeRangeFieldProps(inProps);
26
24
  var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(props, 'date-time'),
27
25
  forwardedProps = _splitFieldInternalAn.forwardedProps,
28
26
  internalProps = _splitFieldInternalAn.internalProps;
29
27
  return useField({
30
- inputRef: inputRef,
31
28
  forwardedProps: forwardedProps,
32
29
  internalProps: internalProps,
33
30
  valueManager: rangeValueManager,
@@ -1,12 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
4
- _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
3
+ var _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
- import { useClearableField } from '@mui/x-date-pickers/hooks';
9
6
  import MuiTextField from '@mui/material/TextField';
7
+ import { useClearableField } from '@mui/x-date-pickers/hooks';
8
+ import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
10
9
  import { useThemeProps } from '@mui/material/styles';
11
10
  import { useSlotProps } from '@mui/base/utils';
12
11
  import { refType } from '@mui/utils';
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
21
  *
23
22
  * - [SingleInputTimeRangeField API](https://mui.com/x/api/single-input-time-range-field/)
24
23
  */
25
- var SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputTimeRangeField(inProps, ref) {
24
+ var SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputTimeRangeField(inProps, inRef) {
26
25
  var _slots$textField;
27
26
  var themeProps = useThemeProps({
28
27
  props: inProps,
@@ -35,53 +34,26 @@ var SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInp
35
34
  other = _objectWithoutProperties(themeProps, _excluded);
36
35
  var ownerState = themeProps;
37
36
  var TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
38
- var _useSlotProps = useSlotProps({
39
- elementType: TextField,
40
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
41
- externalForwardedProps: other,
42
- ownerState: ownerState
43
- }),
44
- externalInputRef = _useSlotProps.inputRef,
45
- textFieldProps = _objectWithoutProperties(_useSlotProps, _excluded2);
37
+ var textFieldProps = useSlotProps({
38
+ elementType: TextField,
39
+ externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
40
+ externalForwardedProps: other,
41
+ ownerState: ownerState,
42
+ additionalProps: {
43
+ ref: inRef
44
+ }
45
+ });
46
46
 
47
47
  // TODO: Remove when mui/material-ui#35088 will be merged
48
48
  textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
49
49
  textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
50
- var _useSingleInputTimeRa = useSingleInputTimeRangeField({
51
- props: textFieldProps,
52
- inputRef: externalInputRef
53
- }),
54
- inputRef = _useSingleInputTimeRa.ref,
55
- onPaste = _useSingleInputTimeRa.onPaste,
56
- onKeyDown = _useSingleInputTimeRa.onKeyDown,
57
- inputMode = _useSingleInputTimeRa.inputMode,
58
- readOnly = _useSingleInputTimeRa.readOnly,
59
- clearable = _useSingleInputTimeRa.clearable,
60
- onClear = _useSingleInputTimeRa.onClear,
61
- fieldProps = _objectWithoutProperties(_useSingleInputTimeRa, _excluded3);
62
- var _useClearableField = useClearableField({
63
- onClear: onClear,
64
- clearable: clearable,
65
- fieldProps: fieldProps,
66
- InputProps: fieldProps.InputProps,
67
- slots: slots,
68
- slotProps: slotProps
69
- }),
70
- ProcessedInputProps = _useClearableField.InputProps,
71
- processedFieldProps = _useClearableField.fieldProps;
72
- return /*#__PURE__*/_jsx(TextField, _extends({
73
- ref: ref
74
- }, processedFieldProps, {
75
- InputProps: _extends({}, ProcessedInputProps, {
76
- readOnly: readOnly
77
- }),
78
- inputProps: _extends({}, fieldProps.inputProps, {
79
- inputMode: inputMode,
80
- onPaste: onPaste,
81
- onKeyDown: onKeyDown,
82
- ref: inputRef
83
- })
50
+ var fieldResponse = useSingleInputTimeRangeField(textFieldProps);
51
+ var convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
52
+ var processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
53
+ slots: slots,
54
+ slotProps: slotProps
84
55
  }));
56
+ return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
85
57
  });
86
58
  SingleInputTimeRangeField.fieldType = 'single-input';
87
59
  process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
@@ -277,7 +249,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
277
249
  * 4. If `null` is provided, no section will be selected
278
250
  * If not provided, the selected sections will be handled internally.
279
251
  */
280
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
252
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
281
253
  endIndex: PropTypes.number.isRequired,
282
254
  startIndex: PropTypes.number.isRequired
283
255
  })]),
@@ -13,15 +13,12 @@ export var useDefaultizedTimeRangeFieldProps = function useDefaultizedTimeRangeF
13
13
  format: (_props$format = props.format) != null ? _props$format : defaultFormat
14
14
  });
15
15
  };
16
- export var useSingleInputTimeRangeField = function useSingleInputTimeRangeField(_ref) {
17
- var inProps = _ref.props,
18
- inputRef = _ref.inputRef;
16
+ export var useSingleInputTimeRangeField = function useSingleInputTimeRangeField(inProps) {
19
17
  var props = useDefaultizedTimeRangeFieldProps(inProps);
20
18
  var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(props, 'time'),
21
19
  forwardedProps = _splitFieldInternalAn.forwardedProps,
22
20
  internalProps = _splitFieldInternalAn.internalProps;
23
21
  return useField({
24
- inputRef: inputRef,
25
22
  forwardedProps: forwardedProps,
26
23
  internalProps: internalProps,
27
24
  valueManager: rangeValueManager,
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.0.0-alpha.4
2
+ * @mui/x-date-pickers-pro v7.0.0-alpha.5
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -27,6 +27,7 @@ export var useDesktopRangePicker = function useDesktopRangePicker(_ref) {
27
27
  timezone = props.timezone,
28
28
  label = props.label,
29
29
  inputRef = props.inputRef,
30
+ name = props.name,
30
31
  readOnly = props.readOnly,
31
32
  disabled = props.disabled,
32
33
  autoFocus = props.autoFocus,
@@ -80,7 +81,8 @@ export var useDesktopRangePicker = function useDesktopRangePicker(_ref) {
80
81
  autoFocus: autoFocus && !props.open,
81
82
  ref: fieldContainerRef
82
83
  }, fieldType === 'single-input' && {
83
- inputRef: inputRef
84
+ inputRef: inputRef,
85
+ name: name
84
86
  }),
85
87
  ownerState: props
86
88
  });
@@ -28,6 +28,7 @@ export var useMobileRangePicker = function useMobileRangePicker(_ref) {
28
28
  timezone = props.timezone,
29
29
  label = props.label,
30
30
  inputRef = props.inputRef,
31
+ name = props.name,
31
32
  readOnly = props.readOnly,
32
33
  disabled = props.disabled,
33
34
  disableOpenPicker = props.disableOpenPicker,
@@ -66,7 +67,8 @@ export var useMobileRangePicker = function useMobileRangePicker(_ref) {
66
67
  formatDensity: formatDensity,
67
68
  timezone: timezone
68
69
  }, fieldType === 'single-input' && {
69
- inputRef: inputRef
70
+ inputRef: inputRef,
71
+ name: name
70
72
  }),
71
73
  ownerState: props
72
74
  });
@@ -9,10 +9,8 @@ import { excludeProps } from './shared';
9
9
  export var useMultiInputDateRangeField = function useMultiInputDateRangeField(_ref) {
10
10
  var inSharedProps = _ref.sharedProps,
11
11
  startTextFieldProps = _ref.startTextFieldProps,
12
- startInputRef = _ref.startInputRef,
13
12
  unstableStartFieldRef = _ref.unstableStartFieldRef,
14
13
  endTextFieldProps = _ref.endTextFieldProps,
15
- endInputRef = _ref.endInputRef,
16
14
  unstableEndFieldRef = _ref.unstableEndFieldRef;
17
15
  var sharedProps = useDefaultizedDateRangeFieldProps(inSharedProps);
18
16
  var adapter = useLocalizationContext();
@@ -93,14 +91,8 @@ export var useMultiInputDateRangeField = function useMultiInputDateRangeField(_r
93
91
  selectedSections: selectedSections,
94
92
  onSelectedSectionsChange: onSelectedSectionsChange
95
93
  });
96
- var startDateResponse = useDateField({
97
- props: startFieldProps,
98
- inputRef: startInputRef
99
- });
100
- var endDateResponse = useDateField({
101
- props: endFieldProps,
102
- inputRef: endInputRef
103
- });
94
+ var startDateResponse = useDateField(startFieldProps);
95
+ var endDateResponse = useDateField(endFieldProps);
104
96
 
105
97
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
106
98
  return {