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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/DateCalendar/DateCalendar.types.d.ts +6 -6
  3. package/DateCalendar/DayCalendar.d.ts +4 -4
  4. package/DateCalendar/index.d.ts +1 -1
  5. package/DateField/DateField.js +17 -50
  6. package/DateField/DateField.types.d.ts +5 -9
  7. package/DateField/useDateField.d.ts +2 -2
  8. package/DateField/useDateField.js +1 -5
  9. package/DatePicker/DatePicker.js +5 -1
  10. package/DatePicker/DatePicker.types.d.ts +6 -6
  11. package/DatePicker/index.d.ts +1 -1
  12. package/DatePicker/shared.d.ts +6 -6
  13. package/DateTimeField/DateTimeField.js +17 -50
  14. package/DateTimeField/DateTimeField.types.d.ts +5 -9
  15. package/DateTimeField/useDateTimeField.d.ts +2 -2
  16. package/DateTimeField/useDateTimeField.js +1 -5
  17. package/DateTimePicker/DateTimePicker.js +5 -1
  18. package/DateTimePicker/DateTimePicker.types.d.ts +6 -6
  19. package/DateTimePicker/index.d.ts +1 -1
  20. package/DateTimePicker/shared.d.ts +6 -6
  21. package/DesktopDatePicker/DesktopDatePicker.js +7 -2
  22. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +6 -6
  23. package/DesktopDatePicker/index.d.ts +1 -1
  24. package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  25. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
  26. package/DesktopDateTimePicker/index.d.ts +1 -1
  27. package/DesktopTimePicker/DesktopTimePicker.js +5 -1
  28. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
  29. package/DesktopTimePicker/index.d.ts +1 -1
  30. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  31. package/DigitalClock/index.d.ts +1 -1
  32. package/MobileDatePicker/MobileDatePicker.js +7 -2
  33. package/MobileDatePicker/MobileDatePicker.types.d.ts +6 -6
  34. package/MobileDatePicker/index.d.ts +1 -1
  35. package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  36. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +6 -6
  37. package/MobileDateTimePicker/index.d.ts +1 -1
  38. package/MobileTimePicker/MobileTimePicker.js +5 -1
  39. package/MobileTimePicker/MobileTimePicker.types.d.ts +6 -6
  40. package/MobileTimePicker/index.d.ts +1 -1
  41. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -4
  42. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +3 -3
  43. package/MultiSectionDigitalClock/index.d.ts +1 -1
  44. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +8 -8
  45. package/PickersCalendarHeader/index.d.ts +1 -1
  46. package/PickersLayout/PickersLayout.types.d.ts +6 -6
  47. package/PickersLayout/index.d.ts +1 -1
  48. package/StaticDatePicker/StaticDatePicker.js +1 -1
  49. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  50. package/StaticDatePicker/index.d.ts +1 -1
  51. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  52. package/StaticDateTimePicker/index.d.ts +1 -1
  53. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  54. package/StaticTimePicker/index.d.ts +1 -1
  55. package/TimeClock/TimeClock.types.d.ts +5 -5
  56. package/TimeClock/index.d.ts +1 -1
  57. package/TimeField/TimeField.js +17 -50
  58. package/TimeField/TimeField.types.d.ts +5 -9
  59. package/TimeField/useTimeField.d.ts +2 -2
  60. package/TimeField/useTimeField.js +1 -5
  61. package/TimePicker/TimePicker.js +5 -1
  62. package/TimePicker/TimePicker.types.d.ts +6 -6
  63. package/TimePicker/index.d.ts +1 -1
  64. package/TimePicker/shared.d.ts +5 -5
  65. package/hooks/index.d.ts +1 -0
  66. package/hooks/useClearableField.d.ts +32 -20
  67. package/hooks/useClearableField.js +32 -33
  68. package/index.js +1 -1
  69. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +9 -9
  70. package/internals/components/PickersArrowSwitcher/index.d.ts +3 -1
  71. package/internals/components/PickersArrowSwitcher/index.js +2 -1
  72. package/internals/components/PickersModalDialog.d.ts +4 -4
  73. package/internals/components/PickersPopper.d.ts +4 -4
  74. package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
  75. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  76. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -8
  77. package/internals/hooks/useField/index.d.ts +1 -1
  78. package/internals/hooks/useField/useField.js +3 -3
  79. package/internals/hooks/useField/useField.types.d.ts +4 -24
  80. package/internals/hooks/useField/useField.utils.js +24 -4
  81. package/internals/hooks/useField/useFieldState.js +7 -3
  82. package/internals/hooks/useMobilePicker/index.d.ts +1 -1
  83. package/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  84. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
  85. package/internals/hooks/useStaticPicker/index.d.ts +1 -1
  86. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +5 -5
  87. package/internals/index.d.ts +7 -6
  88. package/internals/index.js +1 -0
  89. package/internals/models/props/basePickerProps.d.ts +4 -0
  90. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +3 -0
  91. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  92. package/legacy/DateField/DateField.js +19 -47
  93. package/legacy/DateField/useDateField.js +1 -4
  94. package/legacy/DatePicker/DatePicker.js +5 -1
  95. package/legacy/DateTimeField/DateTimeField.js +19 -47
  96. package/legacy/DateTimeField/useDateTimeField.js +1 -4
  97. package/legacy/DateTimePicker/DateTimePicker.js +5 -1
  98. package/legacy/DesktopDatePicker/DesktopDatePicker.js +7 -2
  99. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  100. package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
  101. package/legacy/MobileDatePicker/MobileDatePicker.js +7 -2
  102. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  103. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
  104. package/legacy/StaticDatePicker/StaticDatePicker.js +1 -1
  105. package/legacy/TimeField/TimeField.js +19 -47
  106. package/legacy/TimeField/useTimeField.js +1 -4
  107. package/legacy/TimePicker/TimePicker.js +5 -1
  108. package/legacy/hooks/useClearableField.js +30 -32
  109. package/legacy/index.js +1 -1
  110. package/legacy/internals/components/PickersArrowSwitcher/index.js +2 -1
  111. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  112. package/legacy/internals/hooks/useField/useField.js +4 -4
  113. package/legacy/internals/hooks/useField/useField.utils.js +26 -4
  114. package/legacy/internals/hooks/useField/useFieldState.js +7 -3
  115. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  116. package/legacy/internals/index.js +1 -0
  117. package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +24 -0
  118. package/models/fields.d.ts +2 -1
  119. package/modern/DateField/DateField.js +17 -50
  120. package/modern/DateField/useDateField.js +1 -5
  121. package/modern/DatePicker/DatePicker.js +5 -1
  122. package/modern/DateTimeField/DateTimeField.js +17 -50
  123. package/modern/DateTimeField/useDateTimeField.js +1 -5
  124. package/modern/DateTimePicker/DateTimePicker.js +5 -1
  125. package/modern/DesktopDatePicker/DesktopDatePicker.js +7 -2
  126. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  127. package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
  128. package/modern/MobileDatePicker/MobileDatePicker.js +7 -2
  129. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  130. package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
  131. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  132. package/modern/TimeField/TimeField.js +17 -50
  133. package/modern/TimeField/useTimeField.js +1 -5
  134. package/modern/TimePicker/TimePicker.js +5 -1
  135. package/modern/hooks/useClearableField.js +32 -33
  136. package/modern/index.js +1 -1
  137. package/modern/internals/components/PickersArrowSwitcher/index.js +2 -1
  138. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  139. package/modern/internals/hooks/useField/useField.js +3 -3
  140. package/modern/internals/hooks/useField/useField.utils.js +24 -4
  141. package/modern/internals/hooks/useField/useFieldState.js +7 -3
  142. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  143. package/modern/internals/index.js +1 -0
  144. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  145. package/node/DateField/DateField.js +18 -51
  146. package/node/DateField/useDateField.js +1 -5
  147. package/node/DatePicker/DatePicker.js +5 -1
  148. package/node/DateTimeField/DateTimeField.js +18 -51
  149. package/node/DateTimeField/useDateTimeField.js +1 -5
  150. package/node/DateTimePicker/DateTimePicker.js +5 -1
  151. package/node/DesktopDatePicker/DesktopDatePicker.js +10 -5
  152. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  153. package/node/DesktopTimePicker/DesktopTimePicker.js +5 -1
  154. package/node/MobileDatePicker/MobileDatePicker.js +10 -5
  155. package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  156. package/node/MobileTimePicker/MobileTimePicker.js +5 -1
  157. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  158. package/node/TimeField/TimeField.js +18 -51
  159. package/node/TimeField/useTimeField.js +1 -5
  160. package/node/TimePicker/TimePicker.js +5 -1
  161. package/node/hooks/useClearableField.js +33 -34
  162. package/node/index.js +1 -1
  163. package/node/internals/components/PickersArrowSwitcher/index.js +14 -1
  164. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  165. package/node/internals/hooks/useField/useField.js +3 -3
  166. package/node/internals/hooks/useField/useField.utils.js +24 -4
  167. package/node/internals/hooks/useField/useFieldState.js +7 -3
  168. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  169. package/node/internals/index.js +7 -0
  170. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +34 -0
  171. package/package.json +2 -2
  172. package/themeAugmentation/overrides.d.ts +5 -7
  173. package/themeAugmentation/props.d.ts +6 -8
@@ -192,7 +192,7 @@ export const addPositionPropertiesToSections = (sections, isRTL) => {
192
192
 
193
193
  // The ...InInput values consider the unicode characters but do include them in their indexes
194
194
  const cleanedValue = cleanString(renderedValue);
195
- const startInInput = positionInInput + renderedValue.indexOf(cleanedValue[0]) + section.startSeparator.length;
195
+ const startInInput = positionInInput + (cleanedValue === '' ? 0 : renderedValue.indexOf(cleanedValue[0])) + section.startSeparator.length;
196
196
  const endInInput = startInInput + cleanedValue.length;
197
197
  newSections.push(_extends({}, section, {
198
198
  start: position,
@@ -425,6 +425,21 @@ export const splitFormatIntoSections = (utils, timezone, localeText, format, dat
425
425
  }
426
426
  }
427
427
  commitToken(currentTokenValue);
428
+ if (sections.length === 0 && startSeparator.length > 0) {
429
+ sections.push({
430
+ type: 'empty',
431
+ contentType: 'letter',
432
+ maxLength: null,
433
+ format: '',
434
+ value: '',
435
+ placeholder: '',
436
+ hasLeadingZerosInFormat: false,
437
+ hasLeadingZerosInInput: false,
438
+ startSeparator,
439
+ endSeparator: '',
440
+ modified: false
441
+ });
442
+ }
428
443
  return sections.map(section => {
429
444
  const cleanSeparator = separator => {
430
445
  let cleanedSeparator = separator;
@@ -566,6 +581,10 @@ export const getSectionsBoundaries = (utils, timezone) => {
566
581
  meridiem: () => ({
567
582
  minimum: 0,
568
583
  maximum: 0
584
+ }),
585
+ empty: () => ({
586
+ minimum: 0,
587
+ maximum: 0
569
588
  })
570
589
  };
571
590
  };
@@ -573,7 +592,7 @@ let warnedOnceInvalidSection = false;
573
592
  export const validateSections = (sections, valueType) => {
574
593
  if (process.env.NODE_ENV !== 'production') {
575
594
  if (!warnedOnceInvalidSection) {
576
- const supportedSections = [];
595
+ const supportedSections = ['empty'];
577
596
  if (['date', 'date-time'].includes(valueType)) {
578
597
  supportedSections.push('weekDay', 'day', 'month', 'year');
579
598
  }
@@ -582,7 +601,7 @@ export const validateSections = (sections, valueType) => {
582
601
  }
583
602
  const invalidSection = sections.find(section => !supportedSections.includes(section.type));
584
603
  if (invalidSection) {
585
- console.warn(`MUI: The field component you are using is not compatible with the "${invalidSection.type} date section.`, `The supported date sections are ["${supportedSections.join('", "')}"]\`.`);
604
+ console.warn(`MUI: The field component you are using is not compatible with the "${invalidSection.type}" date section.`, `The supported date sections are ["${supportedSections.join('", "')}"]\`.`);
586
605
  warnedOnceInvalidSection = true;
587
606
  }
588
607
  }
@@ -649,7 +668,8 @@ const reliableSectionModificationOrder = {
649
668
  hours: 5,
650
669
  minutes: 6,
651
670
  seconds: 7,
652
- meridiem: 8
671
+ meridiem: 8,
672
+ empty: 9
653
673
  };
654
674
  export const mergeDateIntoReferenceDate = (utils, timezone, dateToTransferFrom, sections, referenceDate, shouldLimitToEditedSections) =>
655
675
  // cloning sections before sort to avoid mutating it
@@ -94,17 +94,21 @@ export const useFieldState = params => {
94
94
  if (typeof selectedSections === 'number') {
95
95
  return {
96
96
  startIndex: selectedSections,
97
- endIndex: selectedSections
97
+ endIndex: selectedSections,
98
+ shouldSelectBoundarySelectors: state.sections[selectedSections].type === 'empty'
98
99
  };
99
100
  }
100
101
  if (typeof selectedSections === 'string') {
101
102
  const selectedSectionIndex = state.sections.findIndex(section => section.type === selectedSections);
102
103
  return {
103
104
  startIndex: selectedSectionIndex,
104
- endIndex: selectedSectionIndex
105
+ endIndex: selectedSectionIndex,
106
+ shouldSelectBoundarySelectors: state.sections[selectedSectionIndex].type === 'empty'
105
107
  };
106
108
  }
107
- return selectedSections;
109
+ return _extends({}, selectedSections, {
110
+ shouldSelectBoundarySelectors: selectedSections.startIndex === selectedSections.endIndex && state.sections[selectedSections.startIndex].type === 'empty'
111
+ });
108
112
  }, [selectedSections, state.sections]);
109
113
  const publishValue = ({
110
114
  value,
@@ -33,6 +33,7 @@ export const useMobilePicker = _ref => {
33
33
  format,
34
34
  formatDensity,
35
35
  timezone,
36
+ name,
36
37
  label,
37
38
  inputRef,
38
39
  readOnly,
@@ -73,7 +74,8 @@ export const useMobilePicker = _ref => {
73
74
  format,
74
75
  formatDensity,
75
76
  timezone,
76
- label
77
+ label,
78
+ name
77
79
  }),
78
80
  ownerState: props
79
81
  });
@@ -16,6 +16,7 @@ export { useStaticPicker } from './hooks/useStaticPicker';
16
16
  export { useLocalizationContext, useDefaultDates, useUtils, useLocaleText, useNow } from './hooks/useUtils';
17
17
  export { useValidation } from './hooks/useValidation';
18
18
  export { usePreviousMonthDisabled, useNextMonthDisabled } from './hooks/date-helpers-hooks';
19
+ export { convertFieldResponseIntoMuiTextFieldProps } from './utils/convertFieldResponseIntoMuiTextFieldProps';
19
20
  export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate } from './utils/date-utils';
20
21
  export { splitFieldInternalAndForwardedProps } from './utils/fields';
21
22
  export { getDefaultReferenceDate } from './utils/getDefaultReferenceDate';
@@ -0,0 +1,26 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["onPaste", "onKeyDown", "inputMode", "readOnly", "InputProps", "inputProps", "inputRef"];
4
+ export const convertFieldResponseIntoMuiTextFieldProps = fieldResponse => {
5
+ const {
6
+ onPaste,
7
+ onKeyDown,
8
+ inputMode,
9
+ readOnly,
10
+ InputProps,
11
+ inputProps,
12
+ inputRef
13
+ } = fieldResponse,
14
+ other = _objectWithoutPropertiesLoose(fieldResponse, _excluded);
15
+ return _extends({}, other, {
16
+ InputProps: _extends({}, InputProps ?? {}, {
17
+ readOnly
18
+ }),
19
+ inputProps: _extends({}, inputProps ?? {}, {
20
+ inputMode,
21
+ onPaste,
22
+ onKeyDown,
23
+ ref: inputRef
24
+ })
25
+ });
26
+ };
@@ -13,12 +13,11 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
13
  var _styles = require("@mui/material/styles");
14
14
  var _utils = require("@mui/base/utils");
15
15
  var _utils2 = require("@mui/utils");
16
- var _useDateField2 = require("./useDateField");
16
+ var _useDateField = require("./useDateField");
17
17
  var _hooks = require("../hooks");
18
+ var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
20
- _excluded2 = ["inputRef"],
21
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
20
+ const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
22
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  /**
@@ -31,7 +30,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
31
30
  *
32
31
  * - [DateField API](https://mui.com/x/api/date-pickers/date-field/)
33
32
  */
34
- const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, ref) {
33
+ const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, inRef) {
35
34
  const themeProps = (0, _styles.useThemeProps)({
36
35
  props: inProps,
37
36
  name: 'MuiDateField'
@@ -45,58 +44,26 @@ const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function Dat
45
44
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
45
  const ownerState = themeProps;
47
46
  const TextField = slots?.textField ?? _TextField.default;
48
- const _useSlotProps = (0, _utils.useSlotProps)({
49
- elementType: TextField,
50
- externalSlotProps: slotProps?.textField,
51
- externalForwardedProps: other,
52
- ownerState
53
- }),
54
- {
55
- inputRef: externalInputRef
56
- } = _useSlotProps,
57
- textFieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
47
+ const textFieldProps = (0, _utils.useSlotProps)({
48
+ elementType: TextField,
49
+ externalSlotProps: slotProps?.textField,
50
+ externalForwardedProps: other,
51
+ additionalProps: {
52
+ ref: inRef
53
+ },
54
+ ownerState
55
+ });
58
56
 
59
57
  // TODO: Remove when mui/material-ui#35088 will be merged
60
58
  textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
61
59
  textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
62
- const _useDateField = (0, _useDateField2.useDateField)({
63
- props: textFieldProps,
64
- inputRef: externalInputRef
65
- }),
66
- {
67
- ref: inputRef,
68
- onPaste,
69
- onKeyDown,
70
- inputMode,
71
- readOnly,
72
- clearable,
73
- onClear
74
- } = _useDateField,
75
- fieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useDateField, _excluded3);
76
- const {
77
- InputProps: ProcessedInputProps,
78
- fieldProps: processedFieldProps
79
- } = (0, _hooks.useClearableField)({
80
- onClear,
81
- clearable,
82
- fieldProps,
83
- InputProps: fieldProps.InputProps,
60
+ const fieldResponse = (0, _useDateField.useDateField)(textFieldProps);
61
+ const convertedFieldResponse = (0, _convertFieldResponseIntoMuiTextFieldProps.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
62
+ const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
84
63
  slots,
85
64
  slotProps
86
- });
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
88
- ref: ref
89
- }, processedFieldProps, {
90
- InputProps: (0, _extends2.default)({}, ProcessedInputProps, {
91
- readOnly
92
- }),
93
- inputProps: (0, _extends2.default)({}, fieldProps.inputProps, {
94
- inputMode,
95
- onPaste,
96
- onKeyDown,
97
- ref: inputRef
98
- })
99
65
  }));
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
100
67
  });
101
68
  process.env.NODE_ENV !== "production" ? DateField.propTypes = {
102
69
  // ----------------------------- Warning --------------------------------
@@ -274,7 +241,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
274
241
  * 4. If `null` is provided, no section will be selected
275
242
  * If not provided, the selected sections will be handled internally.
276
243
  */
277
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
244
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
278
245
  endIndex: _propTypes.default.number.isRequired,
279
246
  startIndex: _propTypes.default.number.isRequired
280
247
  })]),
@@ -23,17 +23,13 @@ const useDefaultizedDateField = props => {
23
23
  maxDate: (0, _dateUtils.applyDefaultDate)(utils, props.maxDate, defaultDates.maxDate)
24
24
  });
25
25
  };
26
- const useDateField = ({
27
- props: inProps,
28
- inputRef
29
- }) => {
26
+ const useDateField = inProps => {
30
27
  const props = useDefaultizedDateField(inProps);
31
28
  const {
32
29
  forwardedProps,
33
30
  internalProps
34
31
  } = (0, _fields.splitFieldInternalAndForwardedProps)(props, 'date');
35
32
  return (0, _useField.useField)({
36
- inputRef,
37
33
  forwardedProps,
38
34
  internalProps,
39
35
  valueManager: _valueManagers.singleItemValueManager,
@@ -169,6 +169,10 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
169
169
  * @default 3
170
170
  */
171
171
  monthsPerRow: _propTypes.default.oneOf([3, 4]),
172
+ /**
173
+ * Name attribute used by the `input` element in the Field.
174
+ */
175
+ name: _propTypes.default.string,
172
176
  /**
173
177
  * Callback fired when the value is accepted.
174
178
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -267,7 +271,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
267
271
  * 4. If `null` is provided, no section will be selected
268
272
  * If not provided, the selected sections will be handled internally.
269
273
  */
270
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
274
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
271
275
  endIndex: _propTypes.default.number.isRequired,
272
276
  startIndex: _propTypes.default.number.isRequired
273
277
  })]),
@@ -13,12 +13,11 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
13
  var _styles = require("@mui/material/styles");
14
14
  var _utils = require("@mui/base/utils");
15
15
  var _utils2 = require("@mui/utils");
16
- var _useDateTimeField2 = require("./useDateTimeField");
16
+ var _useDateTimeField = require("./useDateTimeField");
17
17
  var _hooks = require("../hooks");
18
+ var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
20
- _excluded2 = ["inputRef"],
21
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
20
+ const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
22
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  /**
@@ -31,7 +30,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
31
30
  *
32
31
  * - [DateTimeField API](https://mui.com/x/api/date-pickers/date-time-field/)
33
32
  */
34
- const DateTimeField = exports.DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, ref) {
33
+ const DateTimeField = exports.DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, inRef) {
35
34
  const themeProps = (0, _styles.useThemeProps)({
36
35
  props: inProps,
37
36
  name: 'MuiDateTimeField'
@@ -45,58 +44,26 @@ const DateTimeField = exports.DateTimeField = /*#__PURE__*/React.forwardRef(func
45
44
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
45
  const ownerState = themeProps;
47
46
  const TextField = slots?.textField ?? _TextField.default;
48
- const _useSlotProps = (0, _utils.useSlotProps)({
49
- elementType: TextField,
50
- externalSlotProps: slotProps?.textField,
51
- externalForwardedProps: other,
52
- ownerState
53
- }),
54
- {
55
- inputRef: externalInputRef
56
- } = _useSlotProps,
57
- textFieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
47
+ const textFieldProps = (0, _utils.useSlotProps)({
48
+ elementType: TextField,
49
+ externalSlotProps: slotProps?.textField,
50
+ externalForwardedProps: other,
51
+ ownerState,
52
+ additionalProps: {
53
+ ref: inRef
54
+ }
55
+ });
58
56
 
59
57
  // TODO: Remove when mui/material-ui#35088 will be merged
60
58
  textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
61
59
  textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
62
- const _useDateTimeField = (0, _useDateTimeField2.useDateTimeField)({
63
- props: textFieldProps,
64
- inputRef: externalInputRef
65
- }),
66
- {
67
- ref: inputRef,
68
- onPaste,
69
- onKeyDown,
70
- inputMode,
71
- readOnly,
72
- clearable,
73
- onClear
74
- } = _useDateTimeField,
75
- fieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useDateTimeField, _excluded3);
76
- const {
77
- InputProps: ProcessedInputProps,
78
- fieldProps: processedFieldProps
79
- } = (0, _hooks.useClearableField)({
80
- onClear,
81
- clearable,
82
- fieldProps,
83
- InputProps: fieldProps.InputProps,
60
+ const fieldResponse = (0, _useDateTimeField.useDateTimeField)(textFieldProps);
61
+ const convertedFieldResponse = (0, _convertFieldResponseIntoMuiTextFieldProps.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
62
+ const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
84
63
  slots,
85
64
  slotProps
86
- });
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
88
- ref: ref
89
- }, processedFieldProps, {
90
- InputProps: (0, _extends2.default)({}, ProcessedInputProps, {
91
- readOnly
92
- }),
93
- inputProps: (0, _extends2.default)({}, fieldProps.inputProps, {
94
- inputMode,
95
- onPaste,
96
- onKeyDown,
97
- ref: inputRef
98
- })
99
65
  }));
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
100
67
  });
101
68
  process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
102
69
  // ----------------------------- Warning --------------------------------
@@ -307,7 +274,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
307
274
  * 4. If `null` is provided, no section will be selected
308
275
  * If not provided, the selected sections will be handled internally.
309
276
  */
310
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
277
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
311
278
  endIndex: _propTypes.default.number.isRequired,
312
279
  startIndex: _propTypes.default.number.isRequired
313
280
  })]),
@@ -28,17 +28,13 @@ const useDefaultizedDateTimeField = props => {
28
28
  maxTime: props.maxDateTime ?? props.maxTime
29
29
  });
30
30
  };
31
- const useDateTimeField = ({
32
- props: inProps,
33
- inputRef
34
- }) => {
31
+ const useDateTimeField = inProps => {
35
32
  const props = useDefaultizedDateTimeField(inProps);
36
33
  const {
37
34
  forwardedProps,
38
35
  internalProps
39
36
  } = (0, _fields.splitFieldInternalAndForwardedProps)(props, 'date-time');
40
37
  return (0, _useField.useField)({
41
- inputRef,
42
38
  forwardedProps,
43
39
  internalProps,
44
40
  valueManager: _valueManagers.singleItemValueManager,
@@ -207,6 +207,10 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
207
207
  * @default 3
208
208
  */
209
209
  monthsPerRow: _propTypes.default.oneOf([3, 4]),
210
+ /**
211
+ * Name attribute used by the `input` element in the Field.
212
+ */
213
+ name: _propTypes.default.string,
210
214
  /**
211
215
  * Callback fired when the value is accepted.
212
216
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -305,7 +309,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
305
309
  * 4. If `null` is provided, no section will be selected
306
310
  * If not provided, the selected sections will be handled internally.
307
311
  */
308
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
312
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
309
313
  endIndex: _propTypes.default.number.isRequired,
310
314
  startIndex: _propTypes.default.number.isRequired
311
315
  })]),
@@ -12,7 +12,8 @@ var _utils = require("@mui/base/utils");
12
12
  var _utils2 = require("@mui/utils");
13
13
  var _valueManagers = require("../internals/utils/valueManagers");
14
14
  var _shared = require("../DatePicker/shared");
15
- var _internals = require("../internals");
15
+ var _useUtils = require("../internals/hooks/useUtils");
16
+ var _validateDate = require("../internals/utils/validation/validateDate");
16
17
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
17
18
  var _icons = require("../icons");
18
19
  var _DateField = require("../DateField");
@@ -32,8 +33,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
32
33
  * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
33
34
  */
34
35
  const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
35
- const localeText = (0, _internals.useLocaleText)();
36
- const utils = (0, _internals.useUtils)();
36
+ const localeText = (0, _useUtils.useLocaleText)();
37
+ const utils = (0, _useUtils.useUtils)();
37
38
 
38
39
  // Props with the default values common to all date pickers
39
40
  const defaultizedProps = (0, _shared.useDatePickerDefaultizedProps)(inProps, 'MuiDesktopDatePicker');
@@ -68,7 +69,7 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
68
69
  valueManager: _valueManagers.singleItemValueManager,
69
70
  valueType: 'date',
70
71
  getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? localeText.openDatePickerDialogue,
71
- validator: _internals.validateDate
72
+ validator: _validateDate.validateDate
72
73
  });
73
74
  return renderPicker();
74
75
  });
@@ -183,6 +184,10 @@ DesktopDatePicker.propTypes = {
183
184
  * @default 3
184
185
  */
185
186
  monthsPerRow: _propTypes.default.oneOf([3, 4]),
187
+ /**
188
+ * Name attribute used by the `input` element in the Field.
189
+ */
190
+ name: _propTypes.default.string,
186
191
  /**
187
192
  * Callback fired when the value is accepted.
188
193
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -281,7 +286,7 @@ DesktopDatePicker.propTypes = {
281
286
  * 4. If `null` is provided, no section will be selected
282
287
  * If not provided, the selected sections will be handled internally.
283
288
  */
284
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
289
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
285
290
  endIndex: _propTypes.default.number.isRequired,
286
291
  startIndex: _propTypes.default.number.isRequired
287
292
  })]),
@@ -260,6 +260,10 @@ DesktopDateTimePicker.propTypes = {
260
260
  * @default 3
261
261
  */
262
262
  monthsPerRow: _propTypes.default.oneOf([3, 4]),
263
+ /**
264
+ * Name attribute used by the `input` element in the Field.
265
+ */
266
+ name: _propTypes.default.string,
263
267
  /**
264
268
  * Callback fired when the value is accepted.
265
269
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -358,7 +362,7 @@ DesktopDateTimePicker.propTypes = {
358
362
  * 4. If `null` is provided, no section will be selected
359
363
  * If not provided, the selected sections will be handled internally.
360
364
  */
361
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
365
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
362
366
  endIndex: _propTypes.default.number.isRequired,
363
367
  startIndex: _propTypes.default.number.isRequired
364
368
  })]),
@@ -194,6 +194,10 @@ DesktopTimePicker.propTypes = {
194
194
  * @default 1
195
195
  */
196
196
  minutesStep: _propTypes.default.number,
197
+ /**
198
+ * Name attribute used by the `input` element in the Field.
199
+ */
200
+ name: _propTypes.default.string,
197
201
  /**
198
202
  * Callback fired when the value is accepted.
199
203
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -274,7 +278,7 @@ DesktopTimePicker.propTypes = {
274
278
  * 4. If `null` is provided, no section will be selected
275
279
  * If not provided, the selected sections will be handled internally.
276
280
  */
277
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
281
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
278
282
  endIndex: _propTypes.default.number.isRequired,
279
283
  startIndex: _propTypes.default.number.isRequired
280
284
  })]),
@@ -12,7 +12,8 @@ var _utils = require("@mui/base/utils");
12
12
  var _utils2 = require("@mui/utils");
13
13
  var _useMobilePicker = require("../internals/hooks/useMobilePicker");
14
14
  var _shared = require("../DatePicker/shared");
15
- var _internals = require("../internals");
15
+ var _useUtils = require("../internals/hooks/useUtils");
16
+ var _validateDate = require("../internals/utils/validation/validateDate");
16
17
  var _DateField = require("../DateField");
17
18
  var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
18
19
  var _valueManagers = require("../internals/utils/valueManagers");
@@ -31,8 +32,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
31
32
  * - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
32
33
  */
33
34
  const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
34
- const localeText = (0, _internals.useLocaleText)();
35
- const utils = (0, _internals.useUtils)();
35
+ const localeText = (0, _useUtils.useLocaleText)();
36
+ const utils = (0, _useUtils.useUtils)();
36
37
 
37
38
  // Props with the default values common to all date pickers
38
39
  const defaultizedProps = (0, _shared.useDatePickerDefaultizedProps)(inProps, 'MuiMobileDatePicker');
@@ -65,7 +66,7 @@ const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRe
65
66
  valueManager: _valueManagers.singleItemValueManager,
66
67
  valueType: 'date',
67
68
  getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? localeText.openDatePickerDialogue,
68
- validator: _internals.validateDate
69
+ validator: _validateDate.validateDate
69
70
  });
70
71
  return renderPicker();
71
72
  });
@@ -180,6 +181,10 @@ MobileDatePicker.propTypes = {
180
181
  * @default 3
181
182
  */
182
183
  monthsPerRow: _propTypes.default.oneOf([3, 4]),
184
+ /**
185
+ * Name attribute used by the `input` element in the Field.
186
+ */
187
+ name: _propTypes.default.string,
183
188
  /**
184
189
  * Callback fired when the value is accepted.
185
190
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -278,7 +283,7 @@ MobileDatePicker.propTypes = {
278
283
  * 4. If `null` is provided, no section will be selected
279
284
  * If not provided, the selected sections will be handled internally.
280
285
  */
281
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
286
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
282
287
  endIndex: _propTypes.default.number.isRequired,
283
288
  startIndex: _propTypes.default.number.isRequired
284
289
  })]),
@@ -229,6 +229,10 @@ MobileDateTimePicker.propTypes = {
229
229
  * @default 3
230
230
  */
231
231
  monthsPerRow: _propTypes.default.oneOf([3, 4]),
232
+ /**
233
+ * Name attribute used by the `input` element in the Field.
234
+ */
235
+ name: _propTypes.default.string,
232
236
  /**
233
237
  * Callback fired when the value is accepted.
234
238
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -327,7 +331,7 @@ MobileDateTimePicker.propTypes = {
327
331
  * 4. If `null` is provided, no section will be selected
328
332
  * If not provided, the selected sections will be handled internally.
329
333
  */
330
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
334
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
331
335
  endIndex: _propTypes.default.number.isRequired,
332
336
  startIndex: _propTypes.default.number.isRequired
333
337
  })]),
@@ -173,6 +173,10 @@ MobileTimePicker.propTypes = {
173
173
  * @default 1
174
174
  */
175
175
  minutesStep: _propTypes.default.number,
176
+ /**
177
+ * Name attribute used by the `input` element in the Field.
178
+ */
179
+ name: _propTypes.default.string,
176
180
  /**
177
181
  * Callback fired when the value is accepted.
178
182
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -253,7 +257,7 @@ MobileTimePicker.propTypes = {
253
257
  * 4. If `null` is provided, no section will be selected
254
258
  * If not provided, the selected sections will be handled internally.
255
259
  */
256
- selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
260
+ selectedSections: _propTypes.default.oneOfType([_propTypes.default.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), _propTypes.default.number, _propTypes.default.shape({
257
261
  endIndex: _propTypes.default.number.isRequired,
258
262
  startIndex: _propTypes.default.number.isRequired
259
263
  })]),
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _shared = require("../DatePicker/shared");
12
12
  var _dateViewRenderers = require("../dateViewRenderers");
13
13
  var _useStaticPicker = require("../internals/hooks/useStaticPicker");
14
- var _internals = require("../internals");
14
+ var _validateDate = require("../internals/utils/validation/validateDate");
15
15
  var _valueManagers = require("../internals/utils/valueManagers");
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -51,7 +51,7 @@ const StaticDatePicker = exports.StaticDatePicker = /*#__PURE__*/React.forwardRe
51
51
  props,
52
52
  valueManager: _valueManagers.singleItemValueManager,
53
53
  valueType: 'date',
54
- validator: _internals.validateDate,
54
+ validator: _validateDate.validateDate,
55
55
  ref
56
56
  });
57
57
  return renderPicker();