@mui/x-date-pickers-pro 6.4.0 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +134 -2
  2. package/DateRangeCalendar/DateRangeCalendar.js +20 -5
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +5 -0
  4. package/DateRangePicker/DateRangePicker.js +5 -0
  5. package/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  6. package/MobileDateRangePicker/MobileDateRangePicker.js +5 -0
  7. package/MultiInputDateRangeField/MultiInputDateRangeField.js +23 -39
  8. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +20 -54
  9. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +20 -44
  10. package/README.md +5 -5
  11. package/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -0
  12. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +2 -2
  13. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  14. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +9 -43
  15. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +6 -0
  16. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  17. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +9 -53
  18. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -0
  19. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  20. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +9 -45
  21. package/StaticDateRangePicker/StaticDateRangePicker.js +5 -0
  22. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  23. package/dateRangeViewRenderers/dateRangeViewRenderers.js +2 -0
  24. package/index.js +1 -1
  25. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +2 -2
  26. package/internal/hooks/useEnrichedRangePickerFieldProps.d.ts +3 -3
  27. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +2 -2
  28. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +2 -2
  29. package/internal/models/dateRange.d.ts +1 -1
  30. package/internal/models/dateTimeRange.d.ts +1 -1
  31. package/internal/models/fields.d.ts +1 -1
  32. package/internal/models/timeRange.d.ts +1 -1
  33. package/internal/utils/releaseInfo.js +1 -1
  34. package/internal/utils/valueManagers.js +27 -3
  35. package/legacy/DateRangeCalendar/DateRangeCalendar.js +18 -4
  36. package/legacy/DateRangePicker/DateRangePicker.js +5 -0
  37. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  38. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +5 -0
  39. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +26 -43
  40. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +24 -59
  41. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +24 -49
  42. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -0
  43. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +8 -41
  44. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +6 -0
  45. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +8 -53
  46. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -0
  47. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +8 -43
  48. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +5 -0
  49. package/legacy/dateRangeViewRenderers/dateRangeViewRenderers.js +2 -0
  50. package/legacy/index.js +1 -1
  51. package/legacy/internal/utils/releaseInfo.js +1 -1
  52. package/legacy/internal/utils/valueManagers.js +29 -7
  53. package/modern/DateRangeCalendar/DateRangeCalendar.js +20 -5
  54. package/modern/DateRangePicker/DateRangePicker.js +5 -0
  55. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  56. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +5 -0
  57. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +23 -39
  58. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +20 -54
  59. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +20 -44
  60. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -0
  61. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +9 -43
  62. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +6 -0
  63. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +9 -53
  64. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -0
  65. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +9 -45
  66. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +5 -0
  67. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +2 -0
  68. package/modern/index.js +1 -1
  69. package/modern/internal/utils/releaseInfo.js +1 -1
  70. package/modern/internal/utils/valueManagers.js +27 -3
  71. package/node/DateRangeCalendar/DateRangeCalendar.js +19 -4
  72. package/node/DateRangePicker/DateRangePicker.js +5 -0
  73. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  74. package/node/MobileDateRangePicker/MobileDateRangePicker.js +5 -0
  75. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -38
  76. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +19 -53
  77. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +19 -43
  78. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +6 -0
  79. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +8 -42
  80. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +6 -0
  81. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +8 -52
  82. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +6 -0
  83. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +8 -44
  84. package/node/StaticDateRangePicker/StaticDateRangePicker.js +5 -0
  85. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +2 -0
  86. package/node/index.js +1 -1
  87. package/node/internal/utils/releaseInfo.js +1 -1
  88. package/node/internal/utils/valueManagers.js +26 -2
  89. package/package.json +6 -6
@@ -17,7 +17,7 @@ var _utils = require("@mui/base/utils");
17
17
  var _internals = require("@mui/x-date-pickers/internals");
18
18
  var _useMultiInputTimeRangeField = require("../internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
20
+ const _excluded = ["slots", "slotProps", "components", "componentsProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef"],
21
21
  _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
22
22
  _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
23
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -44,34 +44,21 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
44
44
  props: inProps,
45
45
  name: 'MuiMultiInputTimeRangeField'
46
46
  });
47
+ const {
48
+ internalProps: timeFieldInternalProps,
49
+ forwardedProps
50
+ } = (0, _internals.splitFieldInternalAndForwardedProps)(themeProps, 'time');
47
51
  const {
48
52
  slots: innerSlots,
49
53
  slotProps: innerSlotProps,
50
54
  components,
51
55
  componentsProps,
52
- value,
53
- defaultValue,
54
- format,
55
- formatDensity,
56
- shouldRespectLeadingZeros,
57
- onChange,
58
- readOnly,
59
56
  disabled,
60
- onError,
61
- minTime,
62
- maxTime,
63
- minutesStep,
64
- shouldDisableClock,
65
- shouldDisableTime,
66
- disableFuture,
67
- disablePast,
68
- selectedSections,
69
- onSelectedSectionsChange,
57
+ autoFocus,
70
58
  unstableStartFieldRef,
71
- unstableEndFieldRef,
72
- autoFocus
73
- } = themeProps,
74
- other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
59
+ unstableEndFieldRef
60
+ } = forwardedProps,
61
+ otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
75
62
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
76
63
  const slotProps = innerSlotProps ?? componentsProps;
77
64
  const ownerState = themeProps;
@@ -79,7 +66,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
79
66
  const rootProps = (0, _utils.useSlotProps)({
80
67
  elementType: Root,
81
68
  externalSlotProps: slotProps?.root,
82
- externalForwardedProps: other,
69
+ externalForwardedProps: otherForwardedProps,
83
70
  additionalProps: {
84
71
  ref
85
72
  },
@@ -110,26 +97,9 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
110
97
  ownerState
111
98
  });
112
99
  const _useMultiInputTimeRan = (0, _useMultiInputTimeRangeField.useMultiInputTimeRangeField)({
113
- sharedProps: {
114
- value,
115
- defaultValue,
116
- format,
117
- formatDensity,
118
- shouldRespectLeadingZeros,
119
- onChange,
120
- readOnly,
121
- disabled,
122
- onError,
123
- minTime,
124
- maxTime,
125
- minutesStep,
126
- shouldDisableClock,
127
- shouldDisableTime,
128
- disableFuture,
129
- disablePast,
130
- selectedSections,
131
- onSelectedSectionsChange
132
- },
100
+ sharedProps: (0, _extends2.default)({}, timeFieldInternalProps, {
101
+ disabled
102
+ }),
133
103
  startTextFieldProps,
134
104
  endTextFieldProps,
135
105
  startInputRef: startTextFieldProps.inputRef,
@@ -291,6 +261,12 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
291
261
  * @default false
292
262
  */
293
263
  readOnly: _propTypes.default.bool,
264
+ /**
265
+ * The date used to generate a part of the date-time that is not present in the format when both `value` and `defaultValue` are not present.
266
+ * For example, on time fields it will be used to determine the date to set.
267
+ * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
268
+ */
269
+ referenceDate: _propTypes.default.any,
294
270
  /**
295
271
  * The currently selected sections.
296
272
  * This prop accept four formats:
@@ -239,6 +239,12 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
239
239
  * @default false
240
240
  */
241
241
  readOnly: _propTypes.default.bool,
242
+ /**
243
+ * The date used to generate a part of the date-time that is not present in the format when both `value` and `defaultValue` are not present.
244
+ * For example, on time fields it will be used to determine the date to set.
245
+ * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
246
+ */
247
+ referenceDate: _propTypes.default.any,
242
248
  /**
243
249
  * If `true`, the label is displayed as required and the `input` element is required.
244
250
  * @default false
@@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useSingleInputDateRangeField = exports.useDefaultizedDateRangeFieldProps = void 0;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _internals = require("@mui/x-date-pickers/internals");
11
10
  var _valueManagers = require("../internal/utils/valueManagers");
12
11
  var _validateDateRange = require("../internal/utils/validation/validateDateRange");
13
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
14
12
  const useDefaultizedDateRangeFieldProps = props => {
15
13
  const utils = (0, _internals.useUtils)();
16
14
  const defaultDates = (0, _internals.useDefaultDates)();
@@ -24,50 +22,18 @@ const useDefaultizedDateRangeFieldProps = props => {
24
22
  };
25
23
  exports.useDefaultizedDateRangeFieldProps = useDefaultizedDateRangeFieldProps;
26
24
  const useSingleInputDateRangeField = ({
27
- props,
25
+ props: inProps,
28
26
  inputRef
29
27
  }) => {
30
- const _useDefaultizedDateRa = useDefaultizedDateRangeFieldProps(props),
31
- {
32
- value,
33
- defaultValue,
34
- format,
35
- formatDensity,
36
- shouldRespectLeadingZeros,
37
- onChange,
38
- readOnly,
39
- onError,
40
- shouldDisableDate,
41
- minDate,
42
- maxDate,
43
- disableFuture,
44
- disablePast,
45
- selectedSections,
46
- onSelectedSectionsChange,
47
- unstableFieldRef
48
- } = _useDefaultizedDateRa,
49
- other = (0, _objectWithoutPropertiesLoose2.default)(_useDefaultizedDateRa, _excluded);
28
+ const props = useDefaultizedDateRangeFieldProps(inProps);
29
+ const {
30
+ forwardedProps,
31
+ internalProps
32
+ } = (0, _internals.splitFieldInternalAndForwardedProps)(props, 'date');
50
33
  return (0, _internals.useField)({
51
34
  inputRef,
52
- forwardedProps: other,
53
- internalProps: {
54
- value,
55
- defaultValue,
56
- format,
57
- formatDensity,
58
- shouldRespectLeadingZeros,
59
- onChange,
60
- readOnly,
61
- onError,
62
- shouldDisableDate,
63
- minDate,
64
- maxDate,
65
- disableFuture,
66
- disablePast,
67
- selectedSections,
68
- onSelectedSectionsChange,
69
- unstableFieldRef
70
- },
35
+ forwardedProps,
36
+ internalProps,
71
37
  valueManager: _valueManagers.rangeValueManager,
72
38
  fieldValueManager: _valueManagers.rangeFieldValueManager,
73
39
  validator: _validateDateRange.validateDateRange,
@@ -272,6 +272,12 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
272
272
  * @default false
273
273
  */
274
274
  readOnly: _propTypes.default.bool,
275
+ /**
276
+ * The date used to generate a part of the date-time that is not present in the format when both `value` and `defaultValue` are not present.
277
+ * For example, on time fields it will be used to determine the date to set.
278
+ * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
279
+ */
280
+ referenceDate: _propTypes.default.any,
275
281
  /**
276
282
  * If `true`, the label is displayed as required and the `input` element is required.
277
283
  * @default false
@@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useSingleInputDateTimeRangeField = exports.useDefaultizedTimeRangeFieldProps = void 0;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _internals = require("@mui/x-date-pickers/internals");
11
10
  var _valueManagers = require("../internal/utils/valueManagers");
12
11
  var _validateDateTimeRange = require("../internal/utils/validation/validateDateTimeRange");
13
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
14
12
  const useDefaultizedTimeRangeFieldProps = props => {
15
13
  const utils = (0, _internals.useUtils)();
16
14
  const defaultDates = (0, _internals.useDefaultDates)();
@@ -29,60 +27,18 @@ const useDefaultizedTimeRangeFieldProps = props => {
29
27
  };
30
28
  exports.useDefaultizedTimeRangeFieldProps = useDefaultizedTimeRangeFieldProps;
31
29
  const useSingleInputDateTimeRangeField = ({
32
- props,
30
+ props: inProps,
33
31
  inputRef
34
32
  }) => {
35
- const _useDefaultizedTimeRa = useDefaultizedTimeRangeFieldProps(props),
36
- {
37
- value,
38
- defaultValue,
39
- format,
40
- formatDensity,
41
- shouldRespectLeadingZeros,
42
- onChange,
43
- readOnly,
44
- onError,
45
- shouldDisableDate,
46
- minDate,
47
- maxDate,
48
- disableFuture,
49
- disablePast,
50
- minTime,
51
- maxTime,
52
- minutesStep,
53
- shouldDisableTime,
54
- disableIgnoringDatePartForTimeValidation,
55
- selectedSections,
56
- onSelectedSectionsChange,
57
- unstableFieldRef
58
- } = _useDefaultizedTimeRa,
59
- other = (0, _objectWithoutPropertiesLoose2.default)(_useDefaultizedTimeRa, _excluded);
33
+ const props = useDefaultizedTimeRangeFieldProps(inProps);
34
+ const {
35
+ forwardedProps,
36
+ internalProps
37
+ } = (0, _internals.splitFieldInternalAndForwardedProps)(props, 'date-time');
60
38
  return (0, _internals.useField)({
61
39
  inputRef,
62
- forwardedProps: other,
63
- internalProps: {
64
- value,
65
- defaultValue,
66
- format,
67
- formatDensity,
68
- shouldRespectLeadingZeros,
69
- onChange,
70
- readOnly,
71
- onError,
72
- shouldDisableDate,
73
- minDate,
74
- maxDate,
75
- disableFuture,
76
- disablePast,
77
- minTime,
78
- maxTime,
79
- minutesStep,
80
- shouldDisableTime,
81
- disableIgnoringDatePartForTimeValidation,
82
- selectedSections,
83
- onSelectedSectionsChange,
84
- unstableFieldRef
85
- },
40
+ forwardedProps,
41
+ internalProps,
86
42
  valueManager: _valueManagers.rangeValueManager,
87
43
  fieldValueManager: _valueManagers.rangeFieldValueManager,
88
44
  validator: _validateDateTimeRange.validateDateTimeRange,
@@ -256,6 +256,12 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
256
256
  * @default false
257
257
  */
258
258
  readOnly: _propTypes.default.bool,
259
+ /**
260
+ * The date used to generate a part of the date-time that is not present in the format when both `value` and `defaultValue` are not present.
261
+ * For example, on time fields it will be used to determine the date to set.
262
+ * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
263
+ */
264
+ referenceDate: _propTypes.default.any,
259
265
  /**
260
266
  * If `true`, the label is displayed as required and the `input` element is required.
261
267
  * @default false
@@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useSingleInputTimeRangeField = exports.useDefaultizedTimeRangeFieldProps = void 0;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _internals = require("@mui/x-date-pickers/internals");
11
10
  var _valueManagers = require("../internal/utils/valueManagers");
12
11
  var _validateTimeRange = require("../internal/utils/validation/validateTimeRange");
13
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
14
12
  const useDefaultizedTimeRangeFieldProps = props => {
15
13
  const utils = (0, _internals.useUtils)();
16
14
  const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();
@@ -23,52 +21,18 @@ const useDefaultizedTimeRangeFieldProps = props => {
23
21
  };
24
22
  exports.useDefaultizedTimeRangeFieldProps = useDefaultizedTimeRangeFieldProps;
25
23
  const useSingleInputTimeRangeField = ({
26
- props,
24
+ props: inProps,
27
25
  inputRef
28
26
  }) => {
29
- const _useDefaultizedTimeRa = useDefaultizedTimeRangeFieldProps(props),
30
- {
31
- value,
32
- defaultValue,
33
- format,
34
- formatDensity,
35
- shouldRespectLeadingZeros,
36
- onChange,
37
- readOnly,
38
- onError,
39
- minTime,
40
- maxTime,
41
- minutesStep,
42
- shouldDisableTime,
43
- disableFuture,
44
- disablePast,
45
- selectedSections,
46
- onSelectedSectionsChange,
47
- unstableFieldRef
48
- } = _useDefaultizedTimeRa,
49
- other = (0, _objectWithoutPropertiesLoose2.default)(_useDefaultizedTimeRa, _excluded);
27
+ const props = useDefaultizedTimeRangeFieldProps(inProps);
28
+ const {
29
+ forwardedProps,
30
+ internalProps
31
+ } = (0, _internals.splitFieldInternalAndForwardedProps)(props, 'time');
50
32
  return (0, _internals.useField)({
51
33
  inputRef,
52
- forwardedProps: other,
53
- internalProps: {
54
- value,
55
- defaultValue,
56
- format,
57
- formatDensity,
58
- shouldRespectLeadingZeros,
59
- onChange,
60
- readOnly,
61
- onError,
62
- minTime,
63
- maxTime,
64
- minutesStep,
65
- shouldDisableTime,
66
- disableFuture,
67
- disablePast,
68
- selectedSections,
69
- onSelectedSectionsChange,
70
- unstableFieldRef
71
- },
34
+ forwardedProps,
35
+ internalProps,
72
36
  valueManager: _valueManagers.rangeValueManager,
73
37
  fieldValueManager: _valueManagers.rangeFieldValueManager,
74
38
  validator: _validateTimeRange.validateTimeRange,
@@ -80,6 +80,11 @@ StaticDateRangePicker.propTypes = {
80
80
  * @deprecated Please use `slotProps`.
81
81
  */
82
82
  componentsProps: _propTypes.default.object,
83
+ /**
84
+ * Position the current month is rendered in.
85
+ * @default 1
86
+ */
87
+ currentMonthCalendarPosition: _propTypes.default.oneOf([1, 2, 3]),
83
88
  /**
84
89
  * Formats the day of week displayed in the calendar header.
85
90
  * @param {string} day The day of week provided by the adapter's method `getWeekdays`.
@@ -31,6 +31,7 @@ const renderDateRangeViewCalendar = ({
31
31
  defaultRangePosition,
32
32
  onRangePositionChange,
33
33
  calendars,
34
+ currentMonthCalendarPosition,
34
35
  components,
35
36
  componentsProps,
36
37
  slots,
@@ -66,6 +67,7 @@ const renderDateRangeViewCalendar = ({
66
67
  defaultRangePosition: defaultRangePosition,
67
68
  onRangePositionChange: onRangePositionChange,
68
69
  calendars: calendars,
70
+ currentMonthCalendarPosition: currentMonthCalendarPosition,
69
71
  components: components,
70
72
  componentsProps: componentsProps,
71
73
  slots: slots,
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.4.0
2
+ * @mui/x-date-pickers-pro v6.6.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTY4Mzg0MjQwMDAwMA==";
9
+ const releaseInfo = "MTY4NTU3MDQwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat
@@ -6,16 +6,40 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.rangeValueManager = exports.rangeFieldValueManager = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
10
  var _internals = require("@mui/x-date-pickers/internals");
10
11
  var _dateFieldsUtils = require("./date-fields-utils");
12
+ const _excluded = ["value", "referenceDate"];
11
13
  const rangeValueManager = {
12
14
  emptyValue: [null, null],
13
- getTodayValue: (utils, valueType) => valueType === 'date' ? [utils.startOfDay(utils.date()), utils.startOfDay(utils.date())] : [utils.date(), utils.date()],
15
+ getTodayValue: (utils, valueType) => [(0, _internals.getTodayDate)(utils, valueType), (0, _internals.getTodayDate)(utils, valueType)],
16
+ getInitialReferenceValue: _ref => {
17
+ let {
18
+ value,
19
+ referenceDate: referenceDateProp
20
+ } = _ref,
21
+ params = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
22
+ const shouldKeepStartDate = value[0] != null && params.utils.isValid(value[0]);
23
+ const shouldKeepEndDate = value[1] != null && params.utils.isValid(value[1]);
24
+ if (shouldKeepStartDate && shouldKeepEndDate) {
25
+ return value;
26
+ }
27
+ const referenceDate = referenceDateProp ?? (0, _internals.getDefaultReferenceDate)(params);
28
+ return [shouldKeepStartDate ? value[0] : referenceDate, shouldKeepEndDate ? value[1] : referenceDate];
29
+ },
14
30
  cleanValue: (utils, value) => value.map(date => (0, _internals.replaceInvalidDateByNull)(utils, date)),
15
31
  areValuesEqual: (utils, a, b) => (0, _internals.areDatesEqual)(utils, a[0], b[0]) && (0, _internals.areDatesEqual)(utils, a[1], b[1]),
16
32
  isSameError: (a, b) => b !== null && a[1] === b[1] && a[0] === b[0],
17
33
  hasError: error => error[0] != null || error[1] != null,
18
- defaultErrorState: [null, null]
34
+ defaultErrorState: [null, null],
35
+ getTimezone: (utils, value) => {
36
+ const timezoneStart = value[0] == null ? null : utils.getTimezone(value[0]);
37
+ const timezoneEnd = value[1] == null ? null : utils.getTimezone(value[1]);
38
+ if (timezoneStart != null && timezoneEnd != null && timezoneStart !== timezoneEnd) {
39
+ throw new Error('MUI: The timezone of the start and the end date should be the same');
40
+ }
41
+ return timezoneStart ?? timezoneEnd;
42
+ }
19
43
  };
20
44
  exports.rangeValueManager = rangeValueManager;
21
45
  const rangeFieldValueManager = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "6.4.0",
3
+ "version": "6.6.0",
4
4
  "description": "The commercial edition of the date picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -31,9 +31,9 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@babel/runtime": "^7.21.0",
34
- "@mui/utils": "^5.12.3",
35
- "@mui/x-date-pickers": "6.4.0",
36
- "@mui/x-license-pro": "6.0.4",
34
+ "@mui/utils": "^5.13.1",
35
+ "@mui/x-date-pickers": "6.6.0",
36
+ "@mui/x-license-pro": "6.6.0",
37
37
  "clsx": "^1.2.1",
38
38
  "prop-types": "^15.8.1",
39
39
  "react-transition-group": "^4.4.5"
@@ -51,8 +51,8 @@
51
51
  "moment": "^2.29.4",
52
52
  "moment-hijri": "^2.1.2",
53
53
  "moment-jalaali": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0",
54
- "react": "^17.0.2 || ^18.0.0",
55
- "react-dom": "^17.0.2 || ^18.0.0"
54
+ "react": "^17.0.0 || ^18.0.0",
55
+ "react-dom": "^17.0.0 || ^18.0.0"
56
56
  },
57
57
  "peerDependenciesMeta": {
58
58
  "@emotion/react": {