@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
@@ -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.6
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 {
@@ -25,10 +25,8 @@ export var useDefaultizedDateTimeRangeFieldProps = function useDefaultizedDateTi
25
25
  export var useMultiInputDateTimeRangeField = function useMultiInputDateTimeRangeField(_ref) {
26
26
  var inSharedProps = _ref.sharedProps,
27
27
  startTextFieldProps = _ref.startTextFieldProps,
28
- startInputRef = _ref.startInputRef,
29
28
  unstableStartFieldRef = _ref.unstableStartFieldRef,
30
29
  endTextFieldProps = _ref.endTextFieldProps,
31
- endInputRef = _ref.endInputRef,
32
30
  unstableEndFieldRef = _ref.unstableEndFieldRef;
33
31
  var sharedProps = useDefaultizedDateTimeRangeFieldProps(inSharedProps);
34
32
  var adapter = useLocalizationContext();
@@ -106,14 +104,8 @@ export var useMultiInputDateTimeRangeField = function useMultiInputDateTimeRange
106
104
  selectedSections: selectedSections,
107
105
  onSelectedSectionsChange: onSelectedSectionsChange
108
106
  });
109
- var startDateResponse = useDateTimeField({
110
- props: startFieldProps,
111
- inputRef: startInputRef
112
- });
113
- var endDateResponse = useDateTimeField({
114
- props: endFieldProps,
115
- inputRef: endInputRef
116
- });
107
+ var startDateResponse = useDateTimeField(startFieldProps);
108
+ var endDateResponse = useDateTimeField(endFieldProps);
117
109
 
118
110
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
119
111
  return {
@@ -19,10 +19,8 @@ export var useDefaultizedTimeRangeFieldProps = function useDefaultizedTimeRangeF
19
19
  export var useMultiInputTimeRangeField = function useMultiInputTimeRangeField(_ref) {
20
20
  var inSharedProps = _ref.sharedProps,
21
21
  startTextFieldProps = _ref.startTextFieldProps,
22
- startInputRef = _ref.startInputRef,
23
22
  unstableStartFieldRef = _ref.unstableStartFieldRef,
24
23
  endTextFieldProps = _ref.endTextFieldProps,
25
- endInputRef = _ref.endInputRef,
26
24
  unstableEndFieldRef = _ref.unstableEndFieldRef;
27
25
  var sharedProps = useDefaultizedTimeRangeFieldProps(inSharedProps);
28
26
  var adapter = useLocalizationContext();
@@ -100,14 +98,8 @@ export var useMultiInputTimeRangeField = function useMultiInputTimeRangeField(_r
100
98
  selectedSections: selectedSections,
101
99
  onSelectedSectionsChange: onSelectedSectionsChange
102
100
  });
103
- var startDateResponse = useTimeField({
104
- props: startFieldProps,
105
- inputRef: startInputRef
106
- });
107
- var endDateResponse = useTimeField({
108
- props: endFieldProps,
109
- inputRef: endInputRef
110
- });
101
+ var startDateResponse = useTimeField(startFieldProps);
102
+ var endDateResponse = useTimeField(endFieldProps);
111
103
 
112
104
  /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
113
105
  return {
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export var getReleaseInfo = function getReleaseInfo() {
3
- var releaseInfo = "MTcwMTk5MDAwMDAwMA==";
3
+ var 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
@@ -470,7 +470,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
470
470
  renderLoading: renderLoading,
471
471
  slots: slotsForDayCalendar,
472
472
  slotProps: slotPropsForDayCalendar,
473
- autoFocus: month === focusedMonth,
473
+ autoFocus: visibleMonths[month] === focusedMonth,
474
474
  fixedWeekNumber: fixedWeekNumber,
475
475
  displayWeekNumber: displayWeekNumber,
476
476
  timezone: timezone
@@ -182,6 +182,11 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
182
182
  * Minimal selectable date.
183
183
  */
184
184
  minDate: PropTypes.any,
185
+ /**
186
+ * Name attribute used by the `input` element in the Field.
187
+ * Ignored if the field has several inputs.
188
+ */
189
+ name: PropTypes.string,
185
190
  /**
186
191
  * Callback fired when the value is accepted.
187
192
  * @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.
@@ -268,7 +273,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes = {
268
273
  * 4. If `null` is provided, no section will be selected
269
274
  * If not provided, the selected sections will be handled internally.
270
275
  */
271
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
276
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
272
277
  endIndex: PropTypes.number.isRequired,
273
278
  startIndex: PropTypes.number.isRequired
274
279
  })]),
@@ -187,6 +187,11 @@ DesktopDateRangePicker.propTypes = {
187
187
  * Minimal selectable date.
188
188
  */
189
189
  minDate: PropTypes.any,
190
+ /**
191
+ * Name attribute used by the `input` element in the Field.
192
+ * Ignored if the field has several inputs.
193
+ */
194
+ name: PropTypes.string,
190
195
  /**
191
196
  * Callback fired when the value is accepted.
192
197
  * @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.
@@ -273,7 +278,7 @@ DesktopDateRangePicker.propTypes = {
273
278
  * 4. If `null` is provided, no section will be selected
274
279
  * If not provided, the selected sections will be handled internally.
275
280
  */
276
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
281
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
277
282
  endIndex: PropTypes.number.isRequired,
278
283
  startIndex: PropTypes.number.isRequired
279
284
  })]),
@@ -187,6 +187,11 @@ MobileDateRangePicker.propTypes = {
187
187
  * Minimal selectable date.
188
188
  */
189
189
  minDate: PropTypes.any,
190
+ /**
191
+ * Name attribute used by the `input` element in the Field.
192
+ * Ignored if the field has several inputs.
193
+ */
194
+ name: PropTypes.string,
190
195
  /**
191
196
  * Callback fired when the value is accepted.
192
197
  * @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.
@@ -273,7 +278,7 @@ MobileDateRangePicker.propTypes = {
273
278
  * 4. If `null` is provided, no section will be selected
274
279
  * If not provided, the selected sections will be handled internally.
275
280
  */
276
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
281
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
277
282
  endIndex: PropTypes.number.isRequired,
278
283
  startIndex: PropTypes.number.isRequired
279
284
  })]),
@@ -1,8 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"],
4
- _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
- _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
3
+ const _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 { useMultiInputDateRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField';
17
15
  import { jsx as _jsx } from "react/jsx-runtime";
18
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -112,58 +110,23 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
112
110
  ownerState,
113
111
  className: classes.separator
114
112
  });
115
- const _useMultiInputDateRan = useMultiInputDateRangeField({
116
- sharedProps: _extends({}, dateFieldInternalProps, {
117
- disabled
118
- }),
119
- startTextFieldProps,
120
- endTextFieldProps,
121
- unstableStartFieldRef,
122
- unstableEndFieldRef,
123
- startInputRef: startTextFieldProps.inputRef,
124
- endInputRef: endTextFieldProps.inputRef
113
+ const fieldResponse = useMultiInputDateRangeField({
114
+ sharedProps: _extends({}, dateFieldInternalProps, {
115
+ disabled
125
116
  }),
126
- {
127
- startDate: {
128
- onKeyDown: onStartInputKeyDown,
129
- ref: startInputRef,
130
- readOnly: startReadOnly,
131
- inputMode: startInputMode
132
- },
133
- endDate: {
134
- onKeyDown: onEndInputKeyDown,
135
- ref: endInputRef,
136
- readOnly: endReadOnly,
137
- inputMode: endInputMode
138
- }
139
- } = _useMultiInputDateRan,
140
- startDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateRan.startDate, _excluded3),
141
- endDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateRan.endDate, _excluded2);
117
+ startTextFieldProps,
118
+ endTextFieldProps,
119
+ unstableStartFieldRef,
120
+ unstableEndFieldRef
121
+ });
122
+ const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
123
+ const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
142
124
  return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
143
125
  children: [/*#__PURE__*/_jsx(TextField, _extends({
144
126
  fullWidth: true
145
- }, startDateProps, {
146
- InputProps: _extends({}, startDateProps.InputProps, {
147
- readOnly: startReadOnly
148
- }),
149
- inputProps: _extends({}, startDateProps.inputProps, {
150
- ref: startInputRef,
151
- inputMode: startInputMode,
152
- onKeyDown: onStartInputKeyDown
153
- })
154
- })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
127
+ }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
155
128
  fullWidth: true
156
- }, endDateProps, {
157
- InputProps: _extends({}, endDateProps.InputProps, {
158
- readOnly: endReadOnly
159
- }),
160
- inputProps: _extends({}, endDateProps.inputProps, {
161
- ref: endInputRef,
162
- readOnly: endReadOnly,
163
- inputMode: endInputMode,
164
- onKeyDown: onEndInputKeyDown
165
- })
166
- }))]
129
+ }, endDateProps))]
167
130
  }));
168
131
  });
169
132
  process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
@@ -267,7 +230,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
267
230
  * 4. If `null` is provided, no section will be selected
268
231
  * If not provided, the selected sections will be handled internally.
269
232
  */
270
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
233
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
271
234
  endIndex: PropTypes.number.isRequired,
272
235
  startIndex: PropTypes.number.isRequired
273
236
  })]),