@mui/x-date-pickers-pro 6.0.0-alpha.12 → 6.0.0-alpha.13

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 (144) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +7 -1
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
  4. package/DateRangePicker/DateRangePicker.js +0 -5
  5. package/DateRangePicker/DateRangePickerView.d.ts +3 -3
  6. package/DateRangePicker/DateRangePickerView.js +6 -3
  7. package/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  8. package/DateRangePickerDay/DateRangePickerDay.js +72 -1
  9. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +5 -0
  10. package/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  11. package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  12. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
  13. package/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  14. package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  15. package/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  16. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +2 -2
  17. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  18. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +3 -3
  19. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  20. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +2 -2
  21. package/NextDateRangePicker/NextDateRangePicker.js +16 -2
  22. package/NextDateRangePicker/shared.d.ts +9 -2
  23. package/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  24. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +3 -2
  25. package/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  26. package/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  27. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +13 -0
  28. package/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  29. package/dateRangeViewRenderers/index.d.ts +2 -0
  30. package/dateRangeViewRenderers/index.js +1 -0
  31. package/dateRangeViewRenderers/package.json +6 -0
  32. package/index.d.ts +1 -0
  33. package/index.js +5 -2
  34. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  35. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  36. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +4 -5
  37. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
  38. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  39. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +4 -5
  40. package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  41. package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  42. package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +2 -0
  43. package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  44. package/internal/hooks/useRangePickerInputProps.d.ts +4 -6
  45. package/internal/hooks/useRangePickerInputProps.js +5 -6
  46. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  47. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  48. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  49. package/internal/models/dateRange.d.ts +11 -1
  50. package/internal/models/dateTimeRange.d.ts +2 -2
  51. package/internal/models/timeRange.d.ts +2 -1
  52. package/internal/utils/date-fields-utils.d.ts +17 -1
  53. package/internal/utils/releaseInfo.js +1 -1
  54. package/internal/utils/valueManagers.js +15 -21
  55. package/legacy/DateRangeCalendar/DateRangeCalendar.js +7 -1
  56. package/legacy/DateRangePicker/DateRangePicker.js +0 -5
  57. package/legacy/DateRangePicker/DateRangePickerView.js +7 -2
  58. package/legacy/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  59. package/legacy/DateRangePickerDay/DateRangePickerDay.js +72 -1
  60. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  61. package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  62. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  63. package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  64. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +44 -11
  65. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +43 -8
  66. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +43 -8
  67. package/legacy/NextDateRangePicker/NextDateRangePicker.js +16 -2
  68. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +109 -4
  69. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  70. package/legacy/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  71. package/legacy/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  72. package/legacy/dateRangeViewRenderers/index.js +1 -0
  73. package/legacy/index.js +5 -2
  74. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  75. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  76. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  77. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  78. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  79. package/legacy/internal/hooks/useRangePickerInputProps.js +5 -6
  80. package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  81. package/legacy/internal/utils/releaseInfo.js +1 -1
  82. package/legacy/internal/utils/valueManagers.js +15 -23
  83. package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  84. package/modern/DateRangeCalendar/DateRangeCalendar.js +7 -1
  85. package/modern/DateRangePicker/DateRangePicker.js +0 -5
  86. package/modern/DateRangePicker/DateRangePickerView.js +6 -3
  87. package/modern/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  88. package/modern/DateRangePickerDay/DateRangePickerDay.js +72 -1
  89. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  90. package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  91. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  92. package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  93. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  94. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  95. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  96. package/modern/NextDateRangePicker/NextDateRangePicker.js +16 -2
  97. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  98. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  99. package/modern/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  100. package/modern/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  101. package/modern/dateRangeViewRenderers/index.js +1 -0
  102. package/modern/index.js +5 -2
  103. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  104. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  105. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  106. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  107. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  108. package/modern/internal/hooks/useRangePickerInputProps.js +5 -6
  109. package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  110. package/modern/internal/utils/releaseInfo.js +1 -1
  111. package/modern/internal/utils/valueManagers.js +15 -21
  112. package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  113. package/node/DateRangeCalendar/DateRangeCalendar.js +7 -1
  114. package/node/DateRangePicker/DateRangePicker.js +0 -5
  115. package/node/DateRangePicker/DateRangePickerView.js +6 -3
  116. package/node/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  117. package/node/DateRangePickerDay/DateRangePickerDay.js +72 -1
  118. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -5
  119. package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -8
  120. package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -5
  121. package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -8
  122. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +46 -13
  123. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  124. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  125. package/node/NextDateRangePicker/NextDateRangePicker.js +16 -2
  126. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  127. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  128. package/node/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  129. package/node/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +4 -4
  130. package/node/dateRangeViewRenderers/index.js +12 -0
  131. package/node/index.js +13 -1
  132. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -4
  133. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +2 -4
  134. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  135. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  136. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  137. package/node/internal/hooks/useRangePickerInputProps.js +5 -6
  138. package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -2
  139. package/node/internal/utils/releaseInfo.js +1 -1
  140. package/node/internal/utils/valueManagers.js +14 -20
  141. package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  142. package/package.json +3 -3
  143. package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  144. package/internal/utils/viewRenderers.d.ts +0 -7
@@ -1,8 +1,8 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "autoFocus"],
4
- _excluded2 = ["onKeyDown", "ref"],
5
- _excluded3 = ["onKeyDown", "ref"];
3
+ const _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "autoFocus"],
4
+ _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
+ _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import Stack from '@mui/material/Stack';
@@ -14,18 +14,15 @@ import { useMultiInputDateRangeField } from '../internal/hooks/useMultiInputRang
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
16
  const MultiInputDateRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
17
- ref: ref
18
- }, props, {
17
+ ref: ref,
19
18
  spacing: 2,
20
19
  direction: "row",
21
- alignItems: "center"
22
- }))), {
20
+ alignItems: "baseline"
21
+ }, props))), {
23
22
  name: 'MuiMultiInputDateRangeField',
24
23
  slot: 'Root',
25
24
  overridesResolver: (props, styles) => styles.root
26
- })({
27
- alignItems: 'baseline'
28
- });
25
+ })({});
29
26
  const MultiInputDateRangeFieldSeparator = styled(props => {
30
27
  var _props$children;
31
28
  return /*#__PURE__*/_jsx(Typography, _extends({}, props, {
@@ -50,6 +47,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
50
47
  format,
51
48
  onChange,
52
49
  readOnly,
50
+ disabled,
53
51
  onError,
54
52
  shouldDisableDate,
55
53
  minDate,
@@ -103,6 +101,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
103
101
  format,
104
102
  onChange,
105
103
  readOnly,
104
+ disabled,
106
105
  onError,
107
106
  shouldDisableDate,
108
107
  minDate,
@@ -120,11 +119,15 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
120
119
  {
121
120
  startDate: {
122
121
  onKeyDown: onStartInputKeyDown,
123
- ref: startInputRef
122
+ ref: startInputRef,
123
+ readOnly: startReadOnly,
124
+ inputMode: startInputMode
124
125
  },
125
126
  endDate: {
126
127
  onKeyDown: onEndInputKeyDown,
127
- ref: endInputRef
128
+ ref: endInputRef,
129
+ readOnly: endReadOnly,
130
+ inputMode: endInputMode
128
131
  }
129
132
  } = _useMultiInputDateRan,
130
133
  startDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateRan.startDate, _excluded3),
@@ -133,11 +136,15 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
133
136
  children: [/*#__PURE__*/_jsx(Input, _extends({}, startDateProps, {
134
137
  inputProps: _extends({}, startDateProps.inputProps, {
135
138
  ref: startInputRef,
139
+ readOnly: startReadOnly,
140
+ inputMode: startInputMode,
136
141
  onKeyDown: onStartInputKeyDown
137
142
  })
138
143
  })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(Input, _extends({}, endDateProps, {
139
144
  inputProps: _extends({}, endDateProps.inputProps, {
140
145
  ref: endInputRef,
146
+ readOnly: endReadOnly,
147
+ inputMode: endInputMode,
141
148
  onKeyDown: onEndInputKeyDown
142
149
  })
143
150
  }))]
@@ -149,6 +156,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
149
156
  // | To update them edit the TypeScript types and run "yarn proptypes" |
150
157
  // ----------------------------------------------------------------------
151
158
  autoFocus: PropTypes.bool,
159
+ className: PropTypes.string,
152
160
  /**
153
161
  * Overrideable components.
154
162
  * @default {}
@@ -163,6 +171,17 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
163
171
  * The default value. Use when the component is not controlled.
164
172
  */
165
173
  defaultValue: PropTypes.arrayOf(PropTypes.any),
174
+ /**
175
+ * Defines the `flex-direction` style property.
176
+ * It is applied for all screen sizes.
177
+ * @default 'column'
178
+ */
179
+ direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
180
+ /**
181
+ * If `true`, the component is disabled.
182
+ * @default false
183
+ */
184
+ disabled: PropTypes.bool,
166
185
  /**
167
186
  * If `true` disable values before the current date for date components, time for time components and both for date time components.
168
187
  * @default false
@@ -173,6 +192,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
173
192
  * @default false
174
193
  */
175
194
  disablePast: PropTypes.bool,
195
+ /**
196
+ * Add an element between each child.
197
+ */
198
+ divider: PropTypes.node,
176
199
  /**
177
200
  * Format of the date when rendered in the input(s).
178
201
  */
@@ -219,7 +242,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
219
242
  * 4. If `null` is provided, no section will be selected
220
243
  * If not provided, the selected sections will be handled internally.
221
244
  */
222
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
245
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
223
246
  endIndex: PropTypes.number.isRequired,
224
247
  startIndex: PropTypes.number.isRequired
225
248
  })]),
@@ -231,6 +254,16 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
231
254
  * @returns {boolean} Returns `true` if the date should be disabled.
232
255
  */
233
256
  shouldDisableDate: PropTypes.func,
257
+ /**
258
+ * Defines the space between immediate children.
259
+ * @default 0
260
+ */
261
+ spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
262
+ style: PropTypes.object,
263
+ /**
264
+ * The system prop, which allows defining system overrides as well as additional CSS styles.
265
+ */
266
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
234
267
  /**
235
268
  * The selected value.
236
269
  * Used when the component is controlled.
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import Typography from '@mui/material/Typography';
4
- import Stack from '@mui/material/Stack';
4
+ import Stack, { StackProps } from '@mui/material/Stack';
5
5
  import TextField from '@mui/material/TextField';
6
6
  import { UseDateRangeFieldProps } from '../internal/models/dateRange';
7
7
  import { RangePosition } from '../internal/models/range';
@@ -15,7 +15,7 @@ export interface UseMultiInputDateRangeFieldParams<TDate, TChildProps extends {}
15
15
  export interface UseMultiInputDateRangeFieldProps<TDate> extends UseDateRangeFieldProps<TDate> {
16
16
  }
17
17
  export type UseMultiInputDateRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate>> & UseMultiInputDateRangeFieldProps<TDate>;
18
- export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, {
18
+ export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'> & {
19
19
  autoFocus?: boolean;
20
20
  }> {
21
21
  /**
@@ -1,8 +1,8 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
4
- _excluded2 = ["onKeyDown", "ref"],
5
- _excluded3 = ["onKeyDown", "ref"];
3
+ const _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
4
+ _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
+ _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import Stack from '@mui/material/Stack';
@@ -14,12 +14,11 @@ import { useMultiInputDateTimeRangeField } from '../internal/hooks/useMultiInput
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
16
  const MultiInputDateTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
17
- ref: ref
18
- }, props, {
17
+ ref: ref,
19
18
  spacing: 2,
20
19
  direction: "row",
21
- alignItems: "center"
22
- }))), {
20
+ alignItems: "baseline"
21
+ }, props))), {
23
22
  name: 'MuiMultiInputDateTimeRangeField',
24
23
  slot: 'Root',
25
24
  overridesResolver: (props, styles) => styles.root
@@ -48,6 +47,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
48
47
  format,
49
48
  onChange,
50
49
  readOnly,
50
+ disabled,
51
51
  onError,
52
52
  shouldDisableDate,
53
53
  minDate,
@@ -103,6 +103,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
103
103
  format,
104
104
  onChange,
105
105
  readOnly,
106
+ disabled,
106
107
  onError,
107
108
  shouldDisableDate,
108
109
  minDate,
@@ -126,11 +127,15 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
126
127
  {
127
128
  startDate: {
128
129
  onKeyDown: onStartInputKeyDown,
129
- ref: startInputRef
130
+ ref: startInputRef,
131
+ readOnly: startReadOnly,
132
+ inputMode: startInputMode
130
133
  },
131
134
  endDate: {
132
135
  onKeyDown: onEndInputKeyDown,
133
- ref: endInputRef
136
+ ref: endInputRef,
137
+ readOnly: endReadOnly,
138
+ inputMode: endInputMode
134
139
  }
135
140
  } = _useMultiInputDateTim,
136
141
  startDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateTim.startDate, _excluded3),
@@ -139,11 +144,15 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
139
144
  children: [/*#__PURE__*/_jsx(Input, _extends({}, startDateProps, {
140
145
  inputProps: _extends({}, startDateProps.inputProps, {
141
146
  ref: startInputRef,
147
+ readOnly: startReadOnly,
148
+ inputMode: startInputMode,
142
149
  onKeyDown: onStartInputKeyDown
143
150
  })
144
151
  })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(Input, _extends({}, endDateProps, {
145
152
  inputProps: _extends({}, endDateProps.inputProps, {
146
153
  ref: endInputRef,
154
+ readOnly: endReadOnly,
155
+ inputMode: endInputMode,
147
156
  onKeyDown: onEndInputKeyDown
148
157
  })
149
158
  }))]
@@ -159,6 +168,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
159
168
  * @default `utils.is12HourCycleInCurrentLocale()`
160
169
  */
161
170
  ampm: PropTypes.bool,
171
+ className: PropTypes.string,
162
172
  /**
163
173
  * Overrideable components.
164
174
  * @default {}
@@ -173,6 +183,17 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
173
183
  * The default value. Use when the component is not controlled.
174
184
  */
175
185
  defaultValue: PropTypes.arrayOf(PropTypes.any),
186
+ /**
187
+ * Defines the `flex-direction` style property.
188
+ * It is applied for all screen sizes.
189
+ * @default 'column'
190
+ */
191
+ direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
192
+ /**
193
+ * If `true`, the component is disabled.
194
+ * @default false
195
+ */
196
+ disabled: PropTypes.bool,
176
197
  /**
177
198
  * If `true` disable values before the current date for date components, time for time components and both for date time components.
178
199
  * @default false
@@ -188,6 +209,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
188
209
  * @default false
189
210
  */
190
211
  disablePast: PropTypes.bool,
212
+ /**
213
+ * Add an element between each child.
214
+ */
215
+ divider: PropTypes.node,
191
216
  /**
192
217
  * Format of the date when rendered in the input(s).
193
218
  */
@@ -257,7 +282,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
257
282
  * 4. If `null` is provided, no section will be selected
258
283
  * If not provided, the selected sections will be handled internally.
259
284
  */
260
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
285
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
261
286
  endIndex: PropTypes.number.isRequired,
262
287
  startIndex: PropTypes.number.isRequired
263
288
  })]),
@@ -276,6 +301,16 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
276
301
  * @returns {boolean} If `true` the time will be disabled.
277
302
  */
278
303
  shouldDisableTime: PropTypes.func,
304
+ /**
305
+ * Defines the space between immediate children.
306
+ * @default 0
307
+ */
308
+ spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
309
+ style: PropTypes.object,
310
+ /**
311
+ * The system prop, which allows defining system overrides as well as additional CSS styles.
312
+ */
313
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
279
314
  /**
280
315
  * The selected value.
281
316
  * Used when the component is controlled.
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import Typography from '@mui/material/Typography';
4
- import Stack from '@mui/material/Stack';
5
- import TextField, { TextFieldProps } from '@mui/material/TextField';
4
+ import Stack, { StackProps } from '@mui/material/Stack';
5
+ import TextField from '@mui/material/TextField';
6
6
  import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internal/models/dateTimeRange';
7
7
  import { RangePosition } from '../internal/models/range';
8
8
  export interface UseMultiInputDateTimeRangeFieldParams<TDate, TChildProps extends {}> {
@@ -15,7 +15,7 @@ export interface UseMultiInputDateTimeRangeFieldParams<TDate, TChildProps extend
15
15
  export interface UseMultiInputDateTimeRangeFieldProps<TDate> extends UseDateTimeRangeFieldProps<TDate> {
16
16
  }
17
17
  export type UseMultiInputDateTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate>> & UseMultiInputDateTimeRangeFieldProps<TDate>;
18
- export interface MultiInputDateTimeRangeFieldProps<TDate> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, TextFieldProps> {
18
+ export interface MultiInputDateTimeRangeFieldProps<TDate> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
19
19
  /**
20
20
  * Overrideable components.
21
21
  * @default {}
@@ -1,8 +1,8 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
4
- _excluded2 = ["onKeyDown", "ref"],
5
- _excluded3 = ["onKeyDown", "ref"];
3
+ const _excluded = ["components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
4
+ _excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
5
+ _excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import Stack from '@mui/material/Stack';
@@ -14,12 +14,11 @@ import { useMultiInputTimeRangeField } from '../internal/hooks/useMultiInputRang
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
16
  const MultiInputTimeRangeFieldRoot = styled( /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
17
- ref: ref
18
- }, props, {
17
+ ref: ref,
19
18
  spacing: 2,
20
19
  direction: "row",
21
- alignItems: "center"
22
- }))), {
20
+ alignItems: "baseline"
21
+ }, props))), {
23
22
  name: 'MuiMultiInputTimeRangeField',
24
23
  slot: 'Root',
25
24
  overridesResolver: (props, styles) => styles.root
@@ -48,6 +47,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
48
47
  format,
49
48
  onChange,
50
49
  readOnly,
50
+ disabled,
51
51
  onError,
52
52
  minTime,
53
53
  maxTime,
@@ -98,6 +98,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
98
98
  format,
99
99
  onChange,
100
100
  readOnly,
101
+ disabled,
101
102
  onError,
102
103
  minTime,
103
104
  maxTime,
@@ -116,11 +117,15 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
116
117
  {
117
118
  startDate: {
118
119
  onKeyDown: onStartInputKeyDown,
119
- ref: startInputRef
120
+ ref: startInputRef,
121
+ readOnly: startReadOnly,
122
+ inputMode: startInputMode
120
123
  },
121
124
  endDate: {
122
125
  onKeyDown: onEndInputKeyDown,
123
- ref: endInputRef
126
+ ref: endInputRef,
127
+ readOnly: endReadOnly,
128
+ inputMode: endInputMode
124
129
  }
125
130
  } = _useMultiInputTimeRan,
126
131
  startDateProps = _objectWithoutPropertiesLoose(_useMultiInputTimeRan.startDate, _excluded3),
@@ -129,11 +134,15 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
129
134
  children: [/*#__PURE__*/_jsx(Input, _extends({}, startDateProps, {
130
135
  inputProps: _extends({}, startDateProps.inputProps, {
131
136
  ref: startInputRef,
137
+ readOnly: startReadOnly,
138
+ inputMode: startInputMode,
132
139
  onKeyDown: onStartInputKeyDown
133
140
  })
134
141
  })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(Input, _extends({}, endDateProps, {
135
142
  inputProps: _extends({}, endDateProps.inputProps, {
136
143
  ref: endInputRef,
144
+ readOnly: endReadOnly,
145
+ inputMode: endInputMode,
137
146
  onKeyDown: onEndInputKeyDown
138
147
  })
139
148
  }))]
@@ -149,6 +158,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
149
158
  * @default `utils.is12HourCycleInCurrentLocale()`
150
159
  */
151
160
  ampm: PropTypes.bool,
161
+ className: PropTypes.string,
152
162
  /**
153
163
  * Overrideable components.
154
164
  * @default {}
@@ -163,6 +173,17 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
163
173
  * The default value. Use when the component is not controlled.
164
174
  */
165
175
  defaultValue: PropTypes.arrayOf(PropTypes.any),
176
+ /**
177
+ * Defines the `flex-direction` style property.
178
+ * It is applied for all screen sizes.
179
+ * @default 'column'
180
+ */
181
+ direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
182
+ /**
183
+ * If `true`, the component is disabled.
184
+ * @default false
185
+ */
186
+ disabled: PropTypes.bool,
166
187
  /**
167
188
  * If `true` disable values before the current date for date components, time for time components and both for date time components.
168
189
  * @default false
@@ -178,6 +199,10 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
178
199
  * @default false
179
200
  */
180
201
  disablePast: PropTypes.bool,
202
+ /**
203
+ * Add an element between each child.
204
+ */
205
+ divider: PropTypes.node,
181
206
  /**
182
207
  * Format of the date when rendered in the input(s).
183
208
  */
@@ -231,7 +256,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
231
256
  * 4. If `null` is provided, no section will be selected
232
257
  * If not provided, the selected sections will be handled internally.
233
258
  */
234
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
259
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
235
260
  endIndex: PropTypes.number.isRequired,
236
261
  startIndex: PropTypes.number.isRequired
237
262
  })]),
@@ -242,6 +267,16 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
242
267
  * @returns {boolean} If `true` the time will be disabled.
243
268
  */
244
269
  shouldDisableTime: PropTypes.func,
270
+ /**
271
+ * Defines the space between immediate children.
272
+ * @default 0
273
+ */
274
+ spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
275
+ style: PropTypes.object,
276
+ /**
277
+ * The system prop, which allows defining system overrides as well as additional CSS styles.
278
+ */
279
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
245
280
  /**
246
281
  * The selected value.
247
282
  * Used when the component is controlled.
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import Typography from '@mui/material/Typography';
4
- import Stack from '@mui/material/Stack';
4
+ import Stack, { StackProps } from '@mui/material/Stack';
5
5
  import TextField from '@mui/material/TextField';
6
6
  import { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internal/models/timeRange';
7
7
  import { RangePosition } from '../internal/models/range';
@@ -15,7 +15,7 @@ export interface UseMultiInputTimeRangeFieldParams<TDate, TChildProps extends {}
15
15
  export interface UseMultiInputTimeRangeFieldProps<TDate> extends UseTimeRangeFieldProps<TDate> {
16
16
  }
17
17
  export type UseMultiInputTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TDate>> & UseMultiInputTimeRangeFieldProps<TDate>;
18
- export interface MultiInputTimeRangeFieldProps<TDate> extends UseMultiInputTimeRangeFieldComponentProps<TDate, {}> {
18
+ export interface MultiInputTimeRangeFieldProps<TDate> extends UseMultiInputTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
19
19
  /**
20
20
  * Overrideable components.
21
21
  * @default {}
@@ -36,6 +36,12 @@ process.env.NODE_ENV !== "production" ? NextDateRangePicker.propTypes = {
36
36
  // | These PropTypes are generated from the TypeScript type definitions |
37
37
  // | To update them edit the TypeScript types and run "yarn proptypes" |
38
38
  // ----------------------------------------------------------------------
39
+ /**
40
+ * If `true`, the main element is focused during the first mount.
41
+ * This main element is:
42
+ * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
43
+ * - the `input` element if there is a field rendered.
44
+ */
39
45
  autoFocus: PropTypes.bool,
40
46
  /**
41
47
  * The number of calendars to render on **desktop**.
@@ -222,7 +228,7 @@ process.env.NODE_ENV !== "production" ? NextDateRangePicker.propTypes = {
222
228
  * 4. If `null` is provided, no section will be selected
223
229
  * If not provided, the selected sections will be handled internally.
224
230
  */
225
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
231
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
226
232
  endIndex: PropTypes.number.isRequired,
227
233
  startIndex: PropTypes.number.isRequired
228
234
  })]),
@@ -252,6 +258,14 @@ process.env.NODE_ENV !== "production" ? NextDateRangePicker.propTypes = {
252
258
  * The selected value.
253
259
  * Used when the component is controlled.
254
260
  */
255
- value: PropTypes.arrayOf(PropTypes.any)
261
+ value: PropTypes.arrayOf(PropTypes.any),
262
+ /**
263
+ * Define custom view renderers for each section.
264
+ * If `null`, the section will only have field editing.
265
+ * If `undefined`, internally defined view will be the used.
266
+ */
267
+ viewRenderers: PropTypes.shape({
268
+ day: PropTypes.func
269
+ })
256
270
  } : void 0;
257
271
  export { NextDateRangePicker };
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { LocalizedComponent } from '@mui/x-date-pickers';
3
- import { BaseNextPickerProps, DefaultizedProps, BaseDateValidationProps } from '@mui/x-date-pickers/internals';
3
+ import { DefaultizedProps, BaseDateValidationProps, BaseNextPickerInputProps, PickerViewRendererLookup } from '@mui/x-date-pickers/internals';
4
4
  import { DateRangeValidationError } from '../internal/hooks/validation/useDateRangeValidation';
5
5
  import { DateRange } from '../internal/models';
6
6
  import { DateRangeCalendarSlotsComponent, DateRangeCalendarSlotsComponentsProps, ExportedDateRangeCalendarProps } from '../DateRangeCalendar';
7
7
  import { DateRangePickerToolbarProps, ExportedDateRangePickerToolbarProps } from '../DateRangePicker/DateRangePickerToolbar';
8
+ import { DateRangeViewRendererProps } from '../dateRangeViewRenderers';
8
9
  export interface BaseNextDateRangePickerSlotsComponent<TDate> extends DateRangeCalendarSlotsComponent<TDate> {
9
10
  /**
10
11
  * Custom component for the toolbar rendered above the views.
@@ -15,7 +16,7 @@ export interface BaseNextDateRangePickerSlotsComponent<TDate> extends DateRangeC
15
16
  export interface BaseNextDateRangePickerSlotsComponentsProps<TDate> extends DateRangeCalendarSlotsComponentsProps<TDate> {
16
17
  toolbar?: ExportedDateRangePickerToolbarProps;
17
18
  }
18
- export interface BaseNextDateRangePickerProps<TDate> extends Omit<BaseNextPickerProps<DateRange<TDate>, TDate, 'day', DateRangeValidationError>, 'views' | 'openTo' | 'onViewChange' | 'orientation'>, ExportedDateRangeCalendarProps<TDate>, BaseDateValidationProps<TDate> {
19
+ export interface BaseNextDateRangePickerProps<TDate> extends Omit<BaseNextPickerInputProps<DateRange<TDate>, TDate, 'day', DateRangeValidationError>, 'view' | 'views' | 'openTo' | 'onViewChange' | 'orientation'>, ExportedDateRangeCalendarProps<TDate>, BaseDateValidationProps<TDate> {
19
20
  /**
20
21
  * Overrideable components.
21
22
  * @default {}
@@ -26,6 +27,12 @@ export interface BaseNextDateRangePickerProps<TDate> extends Omit<BaseNextPicker
26
27
  * @default {}
27
28
  */
28
29
  componentsProps?: BaseNextDateRangePickerSlotsComponentsProps<TDate>;
30
+ /**
31
+ * Define custom view renderers for each section.
32
+ * If `null`, the section will only have field editing.
33
+ * If `undefined`, internally defined view will be the used.
34
+ */
35
+ viewRenderers?: Partial<PickerViewRendererLookup<DateRange<TDate>, 'day', DateRangeViewRendererProps<TDate, 'day'>, {}>>;
29
36
  }
30
37
  type UseNextDateRangePickerDefaultizedProps<TDate, Props extends BaseNextDateRangePickerProps<TDate>> = LocalizedComponent<TDate, DefaultizedProps<Props, keyof BaseDateValidationProps<TDate>>>;
31
38
  export declare function useNextDateRangePickerDefaultizedProps<TDate, Props extends BaseNextDateRangePickerProps<TDate>>(props: Props, name: string): UseNextDateRangePickerDefaultizedProps<TDate, Props>;