@mui/x-date-pickers-pro 6.0.0-alpha.11 → 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 (147) hide show
  1. package/CHANGELOG.md +260 -0
  2. package/DateRangeCalendar/DateRangeCalendar.js +30 -3
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +37 -37
  4. package/DateRangePicker/DateRangePicker.js +0 -6
  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 -6
  11. package/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  12. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +5 -0
  13. package/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  14. package/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  15. package/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
  16. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -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 +2 -1
  33. package/index.js +5 -2
  34. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  35. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -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 +4 -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 +7 -7
  45. package/internal/hooks/useRangePickerInputProps.js +12 -11
  46. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  47. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  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/fields.d.ts +6 -1
  52. package/internal/models/range.d.ts +0 -4
  53. package/internal/models/timeRange.d.ts +2 -1
  54. package/internal/utils/date-fields-utils.d.ts +21 -5
  55. package/internal/utils/releaseInfo.js +1 -1
  56. package/internal/utils/valueManagers.d.ts +3 -2
  57. package/internal/utils/valueManagers.js +21 -22
  58. package/legacy/DateRangeCalendar/DateRangeCalendar.js +36 -3
  59. package/legacy/DateRangePicker/DateRangePicker.js +0 -6
  60. package/legacy/DateRangePicker/DateRangePickerView.js +7 -2
  61. package/legacy/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  62. package/legacy/DateRangePickerDay/DateRangePickerDay.js +72 -1
  63. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -6
  64. package/legacy/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  65. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  66. package/legacy/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  67. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +48 -8
  68. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +43 -8
  69. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +43 -8
  70. package/legacy/NextDateRangePicker/NextDateRangePicker.js +16 -2
  71. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +109 -4
  72. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  73. package/legacy/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  74. package/legacy/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  75. package/legacy/dateRangeViewRenderers/index.js +1 -0
  76. package/legacy/index.js +5 -2
  77. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -4
  78. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
  79. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  80. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  81. package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  82. package/legacy/internal/hooks/useRangePickerInputProps.js +12 -11
  83. package/legacy/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  84. package/legacy/internal/utils/releaseInfo.js +1 -1
  85. package/legacy/internal/utils/valueManagers.js +20 -23
  86. package/legacy/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  87. package/modern/DateRangeCalendar/DateRangeCalendar.js +29 -3
  88. package/modern/DateRangePicker/DateRangePicker.js +0 -6
  89. package/modern/DateRangePicker/DateRangePickerView.js +6 -3
  90. package/modern/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  91. package/modern/DateRangePickerDay/DateRangePickerDay.js +72 -1
  92. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -6
  93. package/modern/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  94. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  95. package/modern/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  96. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
  97. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  98. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  99. package/modern/NextDateRangePicker/NextDateRangePicker.js +16 -2
  100. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  101. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  102. package/modern/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  103. package/modern/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +3 -4
  104. package/modern/dateRangeViewRenderers/index.js +1 -0
  105. package/modern/index.js +5 -2
  106. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -4
  107. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
  108. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  109. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  110. package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  111. package/modern/internal/hooks/useRangePickerInputProps.js +11 -11
  112. package/modern/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  113. package/modern/internal/utils/releaseInfo.js +1 -1
  114. package/modern/internal/utils/valueManagers.js +21 -22
  115. package/modern/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  116. package/node/DateRangeCalendar/DateRangeCalendar.js +28 -2
  117. package/node/DateRangePicker/DateRangePicker.js +0 -6
  118. package/node/DateRangePicker/DateRangePickerView.js +6 -3
  119. package/node/DateRangePicker/DateRangePickerViewMobile.js +1 -1
  120. package/node/DateRangePickerDay/DateRangePickerDay.js +72 -1
  121. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -6
  122. package/node/DesktopNextDateRangePicker/DesktopNextDateRangePicker.js +22 -9
  123. package/node/MobileDateRangePicker/MobileDateRangePicker.js +0 -6
  124. package/node/MobileNextDateRangePicker/MobileNextDateRangePicker.js +22 -9
  125. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +51 -11
  126. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +45 -10
  127. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +45 -10
  128. package/node/NextDateRangePicker/NextDateRangePicker.js +16 -2
  129. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +110 -5
  130. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -5
  131. package/node/StaticNextDateRangePicker/StaticNextDateRangePicker.js +20 -6
  132. package/node/{internal/utils/viewRenderers.js → dateRangeViewRenderers/dateRangeViewRenderers.js} +4 -4
  133. package/node/dateRangeViewRenderers/index.js +12 -0
  134. package/node/index.js +13 -1
  135. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +6 -4
  136. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +4 -4
  137. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +7 -1
  138. package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +7 -1
  139. package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +7 -1
  140. package/node/internal/hooks/useRangePickerInputProps.js +11 -11
  141. package/node/internal/hooks/useStaticRangePicker/useStaticRangePicker.js +3 -3
  142. package/node/internal/utils/releaseInfo.js +1 -1
  143. package/node/internal/utils/valueManagers.js +20 -21
  144. package/node/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  145. package/package.json +4 -4
  146. package/tests/describeRangeValidation/testTextFieldRangeValidation.js +1 -1
  147. package/internal/utils/viewRenderers.d.ts +0 -7
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
7
7
  import { resolveComponentProps } from '@mui/base/utils';
8
8
  import { rangeValueManager } from '../internal/utils/valueManagers';
9
9
  import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
10
- import { useDesktopRangePicker } from '../internal/hooks/useDesktopRangePicker';
10
+ import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
11
11
  import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
12
- import { renderDateRangeView } from '../internal/utils/viewRenderers';
12
+ import { useDesktopRangePicker } from '../internal/hooks/useDesktopRangePicker';
13
13
  import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
14
- const VIEW_LOOKUP = {
15
- day: renderDateRangeView
16
- };
17
14
  const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopNextDateRangePicker(inProps, ref) {
18
15
  // Props with the default values common to all date time pickers
19
16
  const _useNextDateRangePick = useNextDateRangePickerDefaultizedProps(inProps, 'MuiDesktopNextDateRangePicker'),
@@ -22,12 +19,15 @@ const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
22
19
  sx
23
20
  } = _useNextDateRangePick,
24
21
  defaultizedProps = _objectWithoutPropertiesLoose(_useNextDateRangePick, _excluded);
22
+ const viewRenderers = _extends({
23
+ day: renderDateRangeViewCalendar
24
+ }, defaultizedProps.viewRenderers);
25
25
  const props = _extends({}, defaultizedProps, {
26
+ viewRenderers,
26
27
  calendars: defaultizedProps.calendars ?? 2,
27
28
  views: ['day'],
28
29
  openTo: 'day',
29
30
  showToolbar: defaultizedProps.showToolbar ?? false,
30
- autoFocus: true,
31
31
  components: _extends({
32
32
  Field: MultiInputDateRangeField
33
33
  }, defaultizedProps.components),
@@ -44,7 +44,6 @@ const DesktopNextDateRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
44
44
  } = useDesktopRangePicker({
45
45
  props,
46
46
  valueManager: rangeValueManager,
47
- viewLookup: VIEW_LOOKUP,
48
47
  validator: validateDateRange
49
48
  });
50
49
  return renderPicker();
@@ -54,6 +53,12 @@ DesktopNextDateRangePicker.propTypes = {
54
53
  // | These PropTypes are generated from the TypeScript type definitions |
55
54
  // | To update them edit the TypeScript types and run "yarn proptypes" |
56
55
  // ----------------------------------------------------------------------
56
+ /**
57
+ * If `true`, the main element is focused during the first mount.
58
+ * This main element is:
59
+ * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
60
+ * - the `input` element if there is a field rendered.
61
+ */
57
62
  autoFocus: PropTypes.bool,
58
63
  /**
59
64
  * The number of calendars to render on **desktop**.
@@ -234,7 +239,7 @@ DesktopNextDateRangePicker.propTypes = {
234
239
  * 4. If `null` is provided, no section will be selected
235
240
  * If not provided, the selected sections will be handled internally.
236
241
  */
237
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
242
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
238
243
  endIndex: PropTypes.number.isRequired,
239
244
  startIndex: PropTypes.number.isRequired
240
245
  })]),
@@ -264,6 +269,14 @@ DesktopNextDateRangePicker.propTypes = {
264
269
  * The selected value.
265
270
  * Used when the component is controlled.
266
271
  */
267
- value: PropTypes.arrayOf(PropTypes.any)
272
+ value: PropTypes.arrayOf(PropTypes.any),
273
+ /**
274
+ * Define custom view renderers for each section.
275
+ * If `null`, the section will only have field editing.
276
+ * If `undefined`, internally defined view will be the used.
277
+ */
278
+ viewRenderers: PropTypes.shape({
279
+ day: PropTypes.func
280
+ })
268
281
  };
269
282
  export { DesktopNextDateRangePicker };
@@ -82,7 +82,6 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
82
82
  * @default /\dap/gi
83
83
  */
84
84
  acceptRegex: PropTypes.instanceOf(RegExp),
85
- autoFocus: PropTypes.bool,
86
85
  /**
87
86
  * The number of calendars that render on **desktop**.
88
87
  * @default 2
@@ -256,11 +255,6 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes = {
256
255
  * Use in controlled mode (see open).
257
256
  */
258
257
  onOpen: PropTypes.func,
259
- /**
260
- * Callback fired on view change.
261
- * @param {DateView} view The new view.
262
- */
263
- onViewChange: PropTypes.func,
264
258
  /**
265
259
  * Control the popup or dialog open state.
266
260
  */
@@ -7,13 +7,10 @@ import { extractValidationProps } from '@mui/x-date-pickers/internals';
7
7
  import { resolveComponentProps } from '@mui/base/utils';
8
8
  import { rangeValueManager } from '../internal/utils/valueManagers';
9
9
  import { useNextDateRangePickerDefaultizedProps } from '../NextDateRangePicker/shared';
10
- import { useMobileRangePicker } from '../internal/hooks/useMobileRangePicker';
10
+ import { renderDateRangeViewCalendar } from '../dateRangeViewRenderers';
11
11
  import { Unstable_MultiInputDateRangeField as MultiInputDateRangeField } from '../MultiInputDateRangeField';
12
- import { renderDateRangeView } from '../internal/utils/viewRenderers';
12
+ import { useMobileRangePicker } from '../internal/hooks/useMobileRangePicker';
13
13
  import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
14
- const VIEW_LOOKUP = {
15
- day: renderDateRangeView
16
- };
17
14
  const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileNextDateRangePicker(inProps, ref) {
18
15
  // Props with the default values common to all date time pickers
19
16
  const _useNextDateRangePick = useNextDateRangePickerDefaultizedProps(inProps, 'MuiMobileNextDateRangePicker'),
@@ -22,12 +19,15 @@ const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileN
22
19
  sx
23
20
  } = _useNextDateRangePick,
24
21
  defaultizedProps = _objectWithoutPropertiesLoose(_useNextDateRangePick, _excluded);
22
+ const viewRenderers = _extends({
23
+ day: renderDateRangeViewCalendar
24
+ }, defaultizedProps.viewRenderers);
25
25
  const props = _extends({}, defaultizedProps, {
26
+ viewRenderers,
26
27
  calendars: defaultizedProps.calendars ?? 1,
27
28
  views: ['day'],
28
29
  openTo: 'day',
29
30
  showToolbar: defaultizedProps.showToolbar ?? true,
30
- autoFocus: true,
31
31
  components: _extends({
32
32
  Field: MultiInputDateRangeField
33
33
  }, defaultizedProps.components),
@@ -44,7 +44,6 @@ const MobileNextDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileN
44
44
  } = useMobileRangePicker({
45
45
  props,
46
46
  valueManager: rangeValueManager,
47
- viewLookup: VIEW_LOOKUP,
48
47
  validator: validateDateRange
49
48
  });
50
49
  return renderPicker();
@@ -54,6 +53,12 @@ MobileNextDateRangePicker.propTypes = {
54
53
  // | These PropTypes are generated from the TypeScript type definitions |
55
54
  // | To update them edit the TypeScript types and run "yarn proptypes" |
56
55
  // ----------------------------------------------------------------------
56
+ /**
57
+ * If `true`, the main element is focused during the first mount.
58
+ * This main element is:
59
+ * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
60
+ * - the `input` element if there is a field rendered.
61
+ */
57
62
  autoFocus: PropTypes.bool,
58
63
  /**
59
64
  * The number of calendars to render on **desktop**.
@@ -234,7 +239,7 @@ MobileNextDateRangePicker.propTypes = {
234
239
  * 4. If `null` is provided, no section will be selected
235
240
  * If not provided, the selected sections will be handled internally.
236
241
  */
237
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
242
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
238
243
  endIndex: PropTypes.number.isRequired,
239
244
  startIndex: PropTypes.number.isRequired
240
245
  })]),
@@ -264,6 +269,14 @@ MobileNextDateRangePicker.propTypes = {
264
269
  * The selected value.
265
270
  * Used when the component is controlled.
266
271
  */
267
- value: PropTypes.arrayOf(PropTypes.any)
272
+ value: PropTypes.arrayOf(PropTypes.any),
273
+ /**
274
+ * Define custom view renderers for each section.
275
+ * If `null`, the section will only have field editing.
276
+ * If `undefined`, internally defined view will be the used.
277
+ */
278
+ viewRenderers: PropTypes.shape({
279
+ day: PropTypes.func
280
+ })
268
281
  };
269
282
  export { MobileNextDateRangePicker };
@@ -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"],
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,12 +14,11 @@ 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
@@ -44,6 +43,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
44
43
  format,
45
44
  onChange,
46
45
  readOnly,
46
+ disabled,
47
47
  onError,
48
48
  shouldDisableDate,
49
49
  minDate,
@@ -51,7 +51,8 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
51
51
  disableFuture,
52
52
  disablePast,
53
53
  selectedSections,
54
- onSelectedSectionsChange
54
+ onSelectedSectionsChange,
55
+ autoFocus
55
56
  } = themeProps,
56
57
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
57
58
  const ownerState = themeProps;
@@ -69,6 +70,9 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
69
70
  const startInputProps = useSlotProps({
70
71
  elementType: Input,
71
72
  externalSlotProps: componentsProps?.input,
73
+ additionalProps: {
74
+ autoFocus
75
+ },
72
76
  ownerState: _extends({}, ownerState, {
73
77
  position: 'start'
74
78
  })
@@ -93,6 +97,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
93
97
  format,
94
98
  onChange,
95
99
  readOnly,
100
+ disabled,
96
101
  onError,
97
102
  shouldDisableDate,
98
103
  minDate,
@@ -110,11 +115,15 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
110
115
  {
111
116
  startDate: {
112
117
  onKeyDown: onStartInputKeyDown,
113
- ref: startInputRef
118
+ ref: startInputRef,
119
+ readOnly: startReadOnly,
120
+ inputMode: startInputMode
114
121
  },
115
122
  endDate: {
116
123
  onKeyDown: onEndInputKeyDown,
117
- ref: endInputRef
124
+ ref: endInputRef,
125
+ readOnly: endReadOnly,
126
+ inputMode: endInputMode
118
127
  }
119
128
  } = _useMultiInputDateRan,
120
129
  startDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateRan.startDate, _excluded3),
@@ -123,11 +132,15 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
123
132
  children: [/*#__PURE__*/_jsx(Input, _extends({}, startDateProps, {
124
133
  inputProps: _extends({}, startDateProps.inputProps, {
125
134
  ref: startInputRef,
135
+ readOnly: startReadOnly,
136
+ inputMode: startInputMode,
126
137
  onKeyDown: onStartInputKeyDown
127
138
  })
128
139
  })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(Input, _extends({}, endDateProps, {
129
140
  inputProps: _extends({}, endDateProps.inputProps, {
130
141
  ref: endInputRef,
142
+ readOnly: endReadOnly,
143
+ inputMode: endInputMode,
131
144
  onKeyDown: onEndInputKeyDown
132
145
  })
133
146
  }))]
@@ -138,6 +151,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
138
151
  // | These PropTypes are generated from the TypeScript type definitions |
139
152
  // | To update them edit the TypeScript types and run "yarn proptypes" |
140
153
  // ----------------------------------------------------------------------
154
+ autoFocus: PropTypes.bool,
155
+ className: PropTypes.string,
141
156
  /**
142
157
  * Overrideable components.
143
158
  * @default {}
@@ -152,6 +167,17 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
152
167
  * The default value. Use when the component is not controlled.
153
168
  */
154
169
  defaultValue: PropTypes.arrayOf(PropTypes.any),
170
+ /**
171
+ * Defines the `flex-direction` style property.
172
+ * It is applied for all screen sizes.
173
+ * @default 'column'
174
+ */
175
+ direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
176
+ /**
177
+ * If `true`, the component is disabled.
178
+ * @default false
179
+ */
180
+ disabled: PropTypes.bool,
155
181
  /**
156
182
  * If `true` disable values before the current date for date components, time for time components and both for date time components.
157
183
  * @default false
@@ -162,6 +188,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
162
188
  * @default false
163
189
  */
164
190
  disablePast: PropTypes.bool,
191
+ /**
192
+ * Add an element between each child.
193
+ */
194
+ divider: PropTypes.node,
165
195
  /**
166
196
  * Format of the date when rendered in the input(s).
167
197
  */
@@ -208,7 +238,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
208
238
  * 4. If `null` is provided, no section will be selected
209
239
  * If not provided, the selected sections will be handled internally.
210
240
  */
211
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
241
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
212
242
  endIndex: PropTypes.number.isRequired,
213
243
  startIndex: PropTypes.number.isRequired
214
244
  })]),
@@ -220,6 +250,16 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
220
250
  * @returns {boolean} Returns `true` if the date should be disabled.
221
251
  */
222
252
  shouldDisableDate: PropTypes.func,
253
+ /**
254
+ * Defines the space between immediate children.
255
+ * @default 0
256
+ */
257
+ spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
258
+ style: PropTypes.object,
259
+ /**
260
+ * The system prop, which allows defining system overrides as well as additional CSS styles.
261
+ */
262
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
223
263
  /**
224
264
  * The selected value.
225
265
  * Used when the component is controlled.
@@ -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
@@ -44,6 +43,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
44
43
  format,
45
44
  onChange,
46
45
  readOnly,
46
+ disabled,
47
47
  onError,
48
48
  shouldDisableDate,
49
49
  minDate,
@@ -99,6 +99,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
99
99
  format,
100
100
  onChange,
101
101
  readOnly,
102
+ disabled,
102
103
  onError,
103
104
  shouldDisableDate,
104
105
  minDate,
@@ -122,11 +123,15 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
122
123
  {
123
124
  startDate: {
124
125
  onKeyDown: onStartInputKeyDown,
125
- ref: startInputRef
126
+ ref: startInputRef,
127
+ readOnly: startReadOnly,
128
+ inputMode: startInputMode
126
129
  },
127
130
  endDate: {
128
131
  onKeyDown: onEndInputKeyDown,
129
- ref: endInputRef
132
+ ref: endInputRef,
133
+ readOnly: endReadOnly,
134
+ inputMode: endInputMode
130
135
  }
131
136
  } = _useMultiInputDateTim,
132
137
  startDateProps = _objectWithoutPropertiesLoose(_useMultiInputDateTim.startDate, _excluded3),
@@ -135,11 +140,15 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
135
140
  children: [/*#__PURE__*/_jsx(Input, _extends({}, startDateProps, {
136
141
  inputProps: _extends({}, startDateProps.inputProps, {
137
142
  ref: startInputRef,
143
+ readOnly: startReadOnly,
144
+ inputMode: startInputMode,
138
145
  onKeyDown: onStartInputKeyDown
139
146
  })
140
147
  })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(Input, _extends({}, endDateProps, {
141
148
  inputProps: _extends({}, endDateProps.inputProps, {
142
149
  ref: endInputRef,
150
+ readOnly: endReadOnly,
151
+ inputMode: endInputMode,
143
152
  onKeyDown: onEndInputKeyDown
144
153
  })
145
154
  }))]
@@ -155,6 +164,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
155
164
  * @default `utils.is12HourCycleInCurrentLocale()`
156
165
  */
157
166
  ampm: PropTypes.bool,
167
+ className: PropTypes.string,
158
168
  /**
159
169
  * Overrideable components.
160
170
  * @default {}
@@ -169,6 +179,17 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
169
179
  * The default value. Use when the component is not controlled.
170
180
  */
171
181
  defaultValue: PropTypes.arrayOf(PropTypes.any),
182
+ /**
183
+ * Defines the `flex-direction` style property.
184
+ * It is applied for all screen sizes.
185
+ * @default 'column'
186
+ */
187
+ direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
188
+ /**
189
+ * If `true`, the component is disabled.
190
+ * @default false
191
+ */
192
+ disabled: PropTypes.bool,
172
193
  /**
173
194
  * If `true` disable values before the current date for date components, time for time components and both for date time components.
174
195
  * @default false
@@ -184,6 +205,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
184
205
  * @default false
185
206
  */
186
207
  disablePast: PropTypes.bool,
208
+ /**
209
+ * Add an element between each child.
210
+ */
211
+ divider: PropTypes.node,
187
212
  /**
188
213
  * Format of the date when rendered in the input(s).
189
214
  */
@@ -253,7 +278,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
253
278
  * 4. If `null` is provided, no section will be selected
254
279
  * If not provided, the selected sections will be handled internally.
255
280
  */
256
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
281
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
257
282
  endIndex: PropTypes.number.isRequired,
258
283
  startIndex: PropTypes.number.isRequired
259
284
  })]),
@@ -272,6 +297,16 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
272
297
  * @returns {boolean} If `true` the time will be disabled.
273
298
  */
274
299
  shouldDisableTime: PropTypes.func,
300
+ /**
301
+ * Defines the space between immediate children.
302
+ * @default 0
303
+ */
304
+ spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
305
+ style: PropTypes.object,
306
+ /**
307
+ * The system prop, which allows defining system overrides as well as additional CSS styles.
308
+ */
309
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
275
310
  /**
276
311
  * The selected value.
277
312
  * Used when the component is controlled.
@@ -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
@@ -44,6 +43,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
44
43
  format,
45
44
  onChange,
46
45
  readOnly,
46
+ disabled,
47
47
  onError,
48
48
  minTime,
49
49
  maxTime,
@@ -94,6 +94,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
94
94
  format,
95
95
  onChange,
96
96
  readOnly,
97
+ disabled,
97
98
  onError,
98
99
  minTime,
99
100
  maxTime,
@@ -112,11 +113,15 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
112
113
  {
113
114
  startDate: {
114
115
  onKeyDown: onStartInputKeyDown,
115
- ref: startInputRef
116
+ ref: startInputRef,
117
+ readOnly: startReadOnly,
118
+ inputMode: startInputMode
116
119
  },
117
120
  endDate: {
118
121
  onKeyDown: onEndInputKeyDown,
119
- ref: endInputRef
122
+ ref: endInputRef,
123
+ readOnly: endReadOnly,
124
+ inputMode: endInputMode
120
125
  }
121
126
  } = _useMultiInputTimeRan,
122
127
  startDateProps = _objectWithoutPropertiesLoose(_useMultiInputTimeRan.startDate, _excluded3),
@@ -125,11 +130,15 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
125
130
  children: [/*#__PURE__*/_jsx(Input, _extends({}, startDateProps, {
126
131
  inputProps: _extends({}, startDateProps.inputProps, {
127
132
  ref: startInputRef,
133
+ readOnly: startReadOnly,
134
+ inputMode: startInputMode,
128
135
  onKeyDown: onStartInputKeyDown
129
136
  })
130
137
  })), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(Input, _extends({}, endDateProps, {
131
138
  inputProps: _extends({}, endDateProps.inputProps, {
132
139
  ref: endInputRef,
140
+ readOnly: endReadOnly,
141
+ inputMode: endInputMode,
133
142
  onKeyDown: onEndInputKeyDown
134
143
  })
135
144
  }))]
@@ -145,6 +154,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
145
154
  * @default `utils.is12HourCycleInCurrentLocale()`
146
155
  */
147
156
  ampm: PropTypes.bool,
157
+ className: PropTypes.string,
148
158
  /**
149
159
  * Overrideable components.
150
160
  * @default {}
@@ -159,6 +169,17 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
159
169
  * The default value. Use when the component is not controlled.
160
170
  */
161
171
  defaultValue: PropTypes.arrayOf(PropTypes.any),
172
+ /**
173
+ * Defines the `flex-direction` style property.
174
+ * It is applied for all screen sizes.
175
+ * @default 'column'
176
+ */
177
+ direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),
178
+ /**
179
+ * If `true`, the component is disabled.
180
+ * @default false
181
+ */
182
+ disabled: PropTypes.bool,
162
183
  /**
163
184
  * If `true` disable values before the current date for date components, time for time components and both for date time components.
164
185
  * @default false
@@ -174,6 +195,10 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
174
195
  * @default false
175
196
  */
176
197
  disablePast: PropTypes.bool,
198
+ /**
199
+ * Add an element between each child.
200
+ */
201
+ divider: PropTypes.node,
177
202
  /**
178
203
  * Format of the date when rendered in the input(s).
179
204
  */
@@ -227,7 +252,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
227
252
  * 4. If `null` is provided, no section will be selected
228
253
  * If not provided, the selected sections will be handled internally.
229
254
  */
230
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
255
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']), PropTypes.number, PropTypes.shape({
231
256
  endIndex: PropTypes.number.isRequired,
232
257
  startIndex: PropTypes.number.isRequired
233
258
  })]),
@@ -238,6 +263,16 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
238
263
  * @returns {boolean} If `true` the time will be disabled.
239
264
  */
240
265
  shouldDisableTime: PropTypes.func,
266
+ /**
267
+ * Defines the space between immediate children.
268
+ * @default 0
269
+ */
270
+ spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),
271
+ style: PropTypes.object,
272
+ /**
273
+ * The system prop, which allows defining system overrides as well as additional CSS styles.
274
+ */
275
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
241
276
  /**
242
277
  * The selected value.
243
278
  * Used when the component is controlled.
@@ -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 };