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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +342 -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/PickersSectionList/PickersSectionList.d.ts +11 -0
  49. package/PickersSectionList/PickersSectionList.js +223 -0
  50. package/PickersSectionList/PickersSectionList.types.d.ts +56 -0
  51. package/PickersSectionList/index.d.ts +4 -0
  52. package/PickersSectionList/index.js +2 -0
  53. package/PickersSectionList/package.json +6 -0
  54. package/PickersSectionList/pickersSectionListClasses.d.ts +11 -0
  55. package/PickersSectionList/pickersSectionListClasses.js +6 -0
  56. package/StaticDatePicker/StaticDatePicker.js +1 -1
  57. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  58. package/StaticDatePicker/index.d.ts +1 -1
  59. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  60. package/StaticDateTimePicker/index.d.ts +1 -1
  61. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  62. package/StaticTimePicker/index.d.ts +1 -1
  63. package/TimeClock/TimeClock.types.d.ts +5 -5
  64. package/TimeClock/index.d.ts +1 -1
  65. package/TimeField/TimeField.js +17 -50
  66. package/TimeField/TimeField.types.d.ts +5 -9
  67. package/TimeField/useTimeField.d.ts +2 -2
  68. package/TimeField/useTimeField.js +1 -5
  69. package/TimePicker/TimePicker.js +5 -1
  70. package/TimePicker/TimePicker.types.d.ts +6 -6
  71. package/TimePicker/index.d.ts +1 -1
  72. package/TimePicker/shared.d.ts +5 -5
  73. package/hooks/index.d.ts +1 -0
  74. package/hooks/useClearableField.d.ts +32 -20
  75. package/hooks/useClearableField.js +32 -33
  76. package/index.d.ts +1 -0
  77. package/index.js +4 -1
  78. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +9 -9
  79. package/internals/components/PickersArrowSwitcher/index.d.ts +3 -1
  80. package/internals/components/PickersArrowSwitcher/index.js +2 -1
  81. package/internals/components/{PickersTextField → PickersInput}/Outline.d.ts +1 -0
  82. package/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  83. package/internals/components/PickersInput/PickersFilledInput.d.ts +3 -0
  84. package/internals/components/PickersInput/PickersFilledInput.js +166 -0
  85. package/internals/components/PickersInput/PickersInput.d.ts +15 -0
  86. package/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
  87. package/internals/components/PickersInput/PickersInput.types.d.ts +60 -0
  88. package/internals/components/PickersInput/PickersOutlinedInput.d.ts +3 -0
  89. package/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
  90. package/internals/components/PickersInput/PickersStandardInput.d.ts +3 -0
  91. package/internals/components/PickersInput/PickersStandardInput.js +123 -0
  92. package/internals/components/PickersInput/index.d.ts +4 -0
  93. package/internals/components/PickersInput/index.js +3 -0
  94. package/internals/components/PickersInput/pickersInputClasses.d.ts +84 -0
  95. package/internals/components/PickersInput/pickersInputClasses.js +18 -0
  96. package/internals/components/PickersModalDialog.d.ts +4 -4
  97. package/internals/components/PickersPopper.d.ts +4 -4
  98. package/internals/components/PickersTextField/PickersTextField.d.ts +1 -2
  99. package/internals/components/PickersTextField/PickersTextField.js +15 -6
  100. package/internals/components/PickersTextField/PickersTextField.types.d.ts +46 -3
  101. package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +0 -31
  102. package/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  103. package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
  104. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  105. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -8
  106. package/internals/hooks/useField/index.d.ts +1 -1
  107. package/internals/hooks/useField/useField.js +11 -4
  108. package/internals/hooks/useField/useField.types.d.ts +4 -24
  109. package/internals/hooks/useField/useField.utils.js +24 -4
  110. package/internals/hooks/useField/useFieldState.js +7 -3
  111. package/internals/hooks/useMobilePicker/index.d.ts +1 -1
  112. package/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  113. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
  114. package/internals/hooks/useStaticPicker/index.d.ts +1 -1
  115. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +5 -5
  116. package/internals/index.d.ts +7 -6
  117. package/internals/index.js +1 -0
  118. package/internals/models/props/basePickerProps.d.ts +4 -0
  119. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +3 -0
  120. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  121. package/legacy/DateField/DateField.js +19 -47
  122. package/legacy/DateField/useDateField.js +1 -4
  123. package/legacy/DatePicker/DatePicker.js +5 -1
  124. package/legacy/DateTimeField/DateTimeField.js +19 -47
  125. package/legacy/DateTimeField/useDateTimeField.js +1 -4
  126. package/legacy/DateTimePicker/DateTimePicker.js +5 -1
  127. package/legacy/DesktopDatePicker/DesktopDatePicker.js +7 -2
  128. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  129. package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
  130. package/legacy/MobileDatePicker/MobileDatePicker.js +7 -2
  131. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  132. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
  133. package/legacy/PickersSectionList/PickersSectionList.js +230 -0
  134. package/legacy/PickersSectionList/index.js +2 -0
  135. package/legacy/PickersSectionList/pickersSectionListClasses.js +6 -0
  136. package/legacy/StaticDatePicker/StaticDatePicker.js +1 -1
  137. package/legacy/TimeField/TimeField.js +19 -47
  138. package/legacy/TimeField/useTimeField.js +1 -4
  139. package/legacy/TimePicker/TimePicker.js +5 -1
  140. package/legacy/hooks/useClearableField.js +30 -32
  141. package/legacy/index.js +4 -1
  142. package/legacy/internals/components/PickersArrowSwitcher/index.js +2 -1
  143. package/legacy/internals/components/{PickersTextField → PickersInput}/Outline.js +40 -22
  144. package/legacy/internals/components/PickersInput/PickersFilledInput.js +161 -0
  145. package/legacy/internals/components/{PickersTextField → PickersInput}/PickersInput.js +75 -90
  146. package/legacy/internals/components/PickersInput/PickersInput.types.js +1 -0
  147. package/legacy/internals/components/PickersInput/PickersOutlinedInput.js +110 -0
  148. package/legacy/internals/components/PickersInput/PickersStandardInput.js +117 -0
  149. package/legacy/internals/components/PickersInput/index.js +3 -0
  150. package/legacy/internals/components/PickersInput/pickersInputClasses.js +18 -0
  151. package/legacy/internals/components/PickersTextField/PickersTextField.js +16 -7
  152. package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  153. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  154. package/legacy/internals/hooks/useField/useField.js +12 -5
  155. package/legacy/internals/hooks/useField/useField.utils.js +26 -4
  156. package/legacy/internals/hooks/useField/useFieldState.js +7 -3
  157. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  158. package/legacy/internals/index.js +1 -0
  159. package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +24 -0
  160. package/legacy/locales/ruRU.js +1 -2
  161. package/locales/ruRU.js +1 -2
  162. package/models/fields.d.ts +2 -1
  163. package/modern/DateField/DateField.js +17 -50
  164. package/modern/DateField/useDateField.js +1 -5
  165. package/modern/DatePicker/DatePicker.js +5 -1
  166. package/modern/DateTimeField/DateTimeField.js +17 -50
  167. package/modern/DateTimeField/useDateTimeField.js +1 -5
  168. package/modern/DateTimePicker/DateTimePicker.js +5 -1
  169. package/modern/DesktopDatePicker/DesktopDatePicker.js +7 -2
  170. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  171. package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
  172. package/modern/MobileDatePicker/MobileDatePicker.js +7 -2
  173. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  174. package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
  175. package/modern/PickersSectionList/PickersSectionList.js +221 -0
  176. package/modern/PickersSectionList/PickersSectionList.types.js +1 -0
  177. package/modern/PickersSectionList/index.js +2 -0
  178. package/modern/PickersSectionList/pickersSectionListClasses.js +6 -0
  179. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  180. package/modern/TimeField/TimeField.js +17 -50
  181. package/modern/TimeField/useTimeField.js +1 -5
  182. package/modern/TimePicker/TimePicker.js +5 -1
  183. package/modern/hooks/useClearableField.js +32 -33
  184. package/modern/index.js +4 -1
  185. package/modern/internals/components/PickersArrowSwitcher/index.js +2 -1
  186. package/modern/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  187. package/modern/internals/components/PickersInput/PickersFilledInput.js +165 -0
  188. package/modern/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
  189. package/modern/internals/components/PickersInput/PickersInput.types.js +1 -0
  190. package/modern/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
  191. package/modern/internals/components/PickersInput/PickersStandardInput.js +123 -0
  192. package/modern/internals/components/PickersInput/index.js +3 -0
  193. package/modern/internals/components/PickersInput/pickersInputClasses.js +18 -0
  194. package/modern/internals/components/PickersTextField/PickersTextField.js +15 -6
  195. package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  196. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  197. package/modern/internals/hooks/useField/useField.js +11 -4
  198. package/modern/internals/hooks/useField/useField.utils.js +24 -4
  199. package/modern/internals/hooks/useField/useFieldState.js +7 -3
  200. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  201. package/modern/internals/index.js +1 -0
  202. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  203. package/modern/locales/ruRU.js +1 -2
  204. package/node/DateField/DateField.js +18 -51
  205. package/node/DateField/useDateField.js +1 -5
  206. package/node/DatePicker/DatePicker.js +5 -1
  207. package/node/DateTimeField/DateTimeField.js +18 -51
  208. package/node/DateTimeField/useDateTimeField.js +1 -5
  209. package/node/DateTimePicker/DateTimePicker.js +5 -1
  210. package/node/DesktopDatePicker/DesktopDatePicker.js +10 -5
  211. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  212. package/node/DesktopTimePicker/DesktopTimePicker.js +5 -1
  213. package/node/MobileDatePicker/MobileDatePicker.js +10 -5
  214. package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  215. package/node/MobileTimePicker/MobileTimePicker.js +5 -1
  216. package/node/PickersSectionList/PickersSectionList.js +228 -0
  217. package/node/PickersSectionList/index.js +49 -0
  218. package/node/PickersSectionList/pickersSectionListClasses.js +14 -0
  219. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  220. package/node/TimeField/TimeField.js +18 -51
  221. package/node/TimeField/useTimeField.js +1 -5
  222. package/node/TimePicker/TimePicker.js +5 -1
  223. package/node/hooks/useClearableField.js +33 -34
  224. package/node/index.js +13 -1
  225. package/node/internals/components/PickersArrowSwitcher/index.js +14 -1
  226. package/node/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  227. package/node/internals/components/PickersInput/PickersFilledInput.js +174 -0
  228. package/node/internals/components/{PickersTextField → PickersInput}/PickersInput.js +80 -108
  229. package/node/internals/components/PickersInput/PickersInput.types.js +5 -0
  230. package/node/internals/components/PickersInput/PickersOutlinedInput.js +125 -0
  231. package/node/internals/components/PickersInput/PickersStandardInput.js +132 -0
  232. package/node/internals/components/PickersInput/index.js +32 -0
  233. package/node/internals/components/PickersInput/pickersInputClasses.js +29 -0
  234. package/node/internals/components/PickersTextField/PickersTextField.js +15 -6
  235. package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +6 -9
  236. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  237. package/node/internals/hooks/useField/useField.js +11 -4
  238. package/node/internals/hooks/useField/useField.utils.js +24 -4
  239. package/node/internals/hooks/useField/useFieldState.js +7 -3
  240. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  241. package/node/internals/index.js +7 -0
  242. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +34 -0
  243. package/node/locales/ruRU.js +1 -2
  244. package/package.json +5 -5
  245. package/themeAugmentation/overrides.d.ts +5 -7
  246. package/themeAugmentation/props.d.ts +6 -8
  247. package/internals/components/PickersTextField/PickersInput.d.ts +0 -3
  248. package/internals/components/PickersTextField/PickersInput.types.d.ts +0 -45
  249. /package/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
  250. /package/{legacy/internals/components/PickersTextField → internals/components/PickersInput}/PickersInput.types.js +0 -0
  251. /package/{modern/internals/components/PickersTextField/PickersInput.types.js → legacy/PickersSectionList/PickersSectionList.types.js} +0 -0
  252. /package/node/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  export { DatePicker } from './DatePicker';
2
- export type { DatePickerProps, DatePickerSlotsComponents, DatePickerSlotsComponentsProps, } from './DatePicker.types';
2
+ export type { DatePickerProps, DatePickerSlots, DatePickerSlotProps } from './DatePicker.types';
3
3
  export { DatePickerToolbar } from './DatePickerToolbar';
4
4
  export type { DatePickerToolbarProps } from './DatePickerToolbar';
5
5
  export { datePickerToolbarClasses } from './datePickerToolbarClasses';
@@ -1,21 +1,21 @@
1
1
  import * as React from 'react';
2
2
  import { DefaultizedProps } from '../internals/models/helpers';
3
- import { DateCalendarSlotsComponent, DateCalendarSlotsComponentsProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
3
+ import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
4
4
  import { DateValidationError, DateView } from '../models';
5
5
  import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
6
- import { BaseDateValidationProps } from '../internals';
6
+ import { BaseDateValidationProps } from '../internals/models/validation';
7
7
  import { LocalizedComponent } from '../locales/utils/pickersLocaleTextApi';
8
8
  import { DatePickerToolbarProps, ExportedDatePickerToolbarProps } from './DatePickerToolbar';
9
9
  import { PickerViewRendererLookup } from '../internals/hooks/usePicker/usePickerViews';
10
10
  import { DateViewRendererProps } from '../dateViewRenderers';
11
- export interface BaseDatePickerSlotsComponent<TDate> extends DateCalendarSlotsComponent<TDate> {
11
+ export interface BaseDatePickerSlots<TDate> extends DateCalendarSlots<TDate> {
12
12
  /**
13
13
  * Custom component for the toolbar rendered above the views.
14
14
  * @default DatePickerToolbar
15
15
  */
16
16
  toolbar?: React.JSXElementConstructor<DatePickerToolbarProps<TDate>>;
17
17
  }
18
- export interface BaseDatePickerSlotsComponentsProps<TDate> extends DateCalendarSlotsComponentsProps<TDate> {
18
+ export interface BaseDatePickerSlotProps<TDate> extends DateCalendarSlotProps<TDate> {
19
19
  toolbar?: ExportedDatePickerToolbarProps;
20
20
  }
21
21
  export interface BaseDatePickerProps<TDate> extends BasePickerInputProps<TDate | null, TDate, DateView, DateValidationError>, ExportedDateCalendarProps<TDate> {
@@ -23,12 +23,12 @@ export interface BaseDatePickerProps<TDate> extends BasePickerInputProps<TDate |
23
23
  * Overridable component slots.
24
24
  * @default {}
25
25
  */
26
- slots?: BaseDatePickerSlotsComponent<TDate>;
26
+ slots?: BaseDatePickerSlots<TDate>;
27
27
  /**
28
28
  * The props used for each component slot.
29
29
  * @default {}
30
30
  */
31
- slotProps?: BaseDatePickerSlotsComponentsProps<TDate>;
31
+ slotProps?: BaseDatePickerSlotProps<TDate>;
32
32
  /**
33
33
  * Define custom view renderers for each section.
34
34
  * If `null`, the section will only have field editing.
@@ -1,8 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
4
- _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
3
+ const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
6
  import MuiTextField from '@mui/material/TextField';
@@ -11,6 +9,7 @@ import { useSlotProps } from '@mui/base/utils';
11
9
  import { refType } from '@mui/utils';
12
10
  import { useDateTimeField } from './useDateTimeField';
13
11
  import { useClearableField } from '../hooks';
12
+ import { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
15
14
  /**
16
15
  * Demos:
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
21
  *
23
22
  * - [DateTimeField API](https://mui.com/x/api/date-pickers/date-time-field/)
24
23
  */
25
- const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, ref) {
24
+ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, inRef) {
26
25
  var _slots$textField;
27
26
  const themeProps = useThemeProps({
28
27
  props: inProps,
@@ -37,58 +36,26 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
37
36
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
38
37
  const ownerState = themeProps;
39
38
  const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
40
- const _useSlotProps = useSlotProps({
41
- elementType: TextField,
42
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
43
- externalForwardedProps: other,
44
- ownerState
45
- }),
46
- {
47
- inputRef: externalInputRef
48
- } = _useSlotProps,
49
- textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
39
+ const textFieldProps = useSlotProps({
40
+ elementType: TextField,
41
+ externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
42
+ externalForwardedProps: other,
43
+ ownerState,
44
+ additionalProps: {
45
+ ref: inRef
46
+ }
47
+ });
50
48
 
51
49
  // TODO: Remove when mui/material-ui#35088 will be merged
52
50
  textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
53
51
  textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
54
- const _useDateTimeField = useDateTimeField({
55
- props: textFieldProps,
56
- inputRef: externalInputRef
57
- }),
58
- {
59
- ref: inputRef,
60
- onPaste,
61
- onKeyDown,
62
- inputMode,
63
- readOnly,
64
- clearable,
65
- onClear
66
- } = _useDateTimeField,
67
- fieldProps = _objectWithoutPropertiesLoose(_useDateTimeField, _excluded3);
68
- const {
69
- InputProps: ProcessedInputProps,
70
- fieldProps: processedFieldProps
71
- } = useClearableField({
72
- onClear,
73
- clearable,
74
- fieldProps,
75
- InputProps: fieldProps.InputProps,
52
+ const fieldResponse = useDateTimeField(textFieldProps);
53
+ const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
54
+ const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
76
55
  slots,
77
56
  slotProps
78
- });
79
- return /*#__PURE__*/_jsx(TextField, _extends({
80
- ref: ref
81
- }, processedFieldProps, {
82
- InputProps: _extends({}, ProcessedInputProps, {
83
- readOnly
84
- }),
85
- inputProps: _extends({}, fieldProps.inputProps, {
86
- inputMode,
87
- onPaste,
88
- onKeyDown,
89
- ref: inputRef
90
- })
91
57
  }));
58
+ return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
92
59
  });
93
60
  process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
94
61
  // ----------------------------- Warning --------------------------------
@@ -299,7 +266,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
299
266
  * 4. If `null` is provided, no section will be selected
300
267
  * If not provided, the selected sections will be handled internally.
301
268
  */
302
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
269
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
303
270
  endIndex: PropTypes.number.isRequired,
304
271
  startIndex: PropTypes.number.isRequired
305
272
  })]),
@@ -6,11 +6,7 @@ import { UseFieldInternalProps } from '../internals/hooks/useField';
6
6
  import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
7
7
  import { BaseDateValidationProps, BaseTimeValidationProps, DateTimeValidationProps, DayValidationProps, MonthValidationProps, TimeValidationProps, YearValidationProps } from '../internals/models/validation';
8
8
  import { FieldsTextFieldProps } from '../internals/models/fields';
9
- import { FieldSlotsComponents, FieldSlotsComponentsProps } from '../internals';
10
- export interface UseDateTimeFieldParams<TDate, TChildProps extends {}> {
11
- props: UseDateTimeFieldComponentProps<TDate, TChildProps>;
12
- inputRef?: React.Ref<HTMLInputElement>;
13
- }
9
+ import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '../hooks/useClearableField';
14
10
  export interface UseDateTimeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<TDate | null, TDate, FieldSection, DateTimeValidationError>, 'format'>, DayValidationProps<TDate>, MonthValidationProps<TDate>, YearValidationProps<TDate>, BaseDateValidationProps<TDate>, TimeValidationProps<TDate>, BaseTimeValidationProps, DateTimeValidationProps<TDate> {
15
11
  /**
16
12
  * 12h/24h view for hour selection clock.
@@ -25,15 +21,15 @@ export interface DateTimeFieldProps<TDate> extends UseDateTimeFieldComponentProp
25
21
  * Overridable component slots.
26
22
  * @default {}
27
23
  */
28
- slots?: DateTimeFieldSlotsComponent;
24
+ slots?: DateTimeFieldSlots;
29
25
  /**
30
26
  * The props used for each component slot.
31
27
  * @default {}
32
28
  */
33
- slotProps?: DateTimeFieldSlotsComponentsProps<TDate>;
29
+ slotProps?: DateTimeFieldSlotProps<TDate>;
34
30
  }
35
31
  export type DateTimeFieldOwnerState<TDate> = DateTimeFieldProps<TDate>;
36
- export interface DateTimeFieldSlotsComponent extends FieldSlotsComponents {
32
+ export interface DateTimeFieldSlots extends UseClearableFieldSlots {
37
33
  /**
38
34
  * Form control with an input to render the value.
39
35
  * Receives the same props as `@mui/material/TextField`.
@@ -41,6 +37,6 @@ export interface DateTimeFieldSlotsComponent extends FieldSlotsComponents {
41
37
  */
42
38
  textField?: React.ElementType;
43
39
  }
44
- export interface DateTimeFieldSlotsComponentsProps<TDate> extends FieldSlotsComponentsProps {
40
+ export interface DateTimeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
45
41
  textField?: SlotComponentProps<typeof TextField, {}, DateTimeFieldOwnerState<TDate>>;
46
42
  }
@@ -1,2 +1,2 @@
1
- import { UseDateTimeFieldProps, UseDateTimeFieldParams } from './DateTimeField.types';
2
- export declare const useDateTimeField: <TDate, TChildProps extends {}>({ props: inProps, inputRef, }: UseDateTimeFieldParams<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate"> & Required<Pick<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate">>, keyof UseDateTimeFieldProps<any>>>;
1
+ import { UseDateTimeFieldProps, UseDateTimeFieldComponentProps } from './DateTimeField.types';
2
+ export declare const useDateTimeField: <TDate, TChildProps extends {}>(inProps: UseDateTimeFieldComponentProps<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate"> & Required<Pick<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate">>, keyof UseDateTimeFieldProps<any>>>;
@@ -22,17 +22,13 @@ const useDefaultizedDateTimeField = props => {
22
22
  maxTime: (_props$maxDateTime2 = props.maxDateTime) != null ? _props$maxDateTime2 : props.maxTime
23
23
  });
24
24
  };
25
- export const useDateTimeField = ({
26
- props: inProps,
27
- inputRef
28
- }) => {
25
+ export const useDateTimeField = inProps => {
29
26
  const props = useDefaultizedDateTimeField(inProps);
30
27
  const {
31
28
  forwardedProps,
32
29
  internalProps
33
30
  } = splitFieldInternalAndForwardedProps(props, 'date-time');
34
31
  return useField({
35
- inputRef,
36
32
  forwardedProps,
37
33
  internalProps,
38
34
  valueManager: singleItemValueManager,
@@ -198,6 +198,10 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
198
198
  * @default 3
199
199
  */
200
200
  monthsPerRow: PropTypes.oneOf([3, 4]),
201
+ /**
202
+ * Name attribute used by the `input` element in the Field.
203
+ */
204
+ name: PropTypes.string,
201
205
  /**
202
206
  * Callback fired when the value is accepted.
203
207
  * @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.
@@ -296,7 +300,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
296
300
  * 4. If `null` is provided, no section will be selected
297
301
  * If not provided, the selected sections will be handled internally.
298
302
  */
299
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
303
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
300
304
  endIndex: PropTypes.number.isRequired,
301
305
  startIndex: PropTypes.number.isRequired
302
306
  })]),
@@ -1,9 +1,9 @@
1
- import { DesktopDateTimePickerProps, DesktopDateTimePickerSlotsComponent, DesktopDateTimePickerSlotsComponentsProps } from '../DesktopDateTimePicker';
1
+ import { DesktopDateTimePickerProps, DesktopDateTimePickerSlots, DesktopDateTimePickerSlotProps } from '../DesktopDateTimePicker';
2
2
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
3
- import { MobileDateTimePickerProps, MobileDateTimePickerSlotsComponent, MobileDateTimePickerSlotsComponentsProps } from '../MobileDateTimePicker';
4
- export interface DateTimePickerSlotsComponents<TDate> extends DesktopDateTimePickerSlotsComponent<TDate>, MobileDateTimePickerSlotsComponent<TDate, DateOrTimeViewWithMeridiem> {
3
+ import { MobileDateTimePickerProps, MobileDateTimePickerSlots, MobileDateTimePickerSlotProps } from '../MobileDateTimePicker';
4
+ export interface DateTimePickerSlots<TDate> extends DesktopDateTimePickerSlots<TDate>, MobileDateTimePickerSlots<TDate, DateOrTimeViewWithMeridiem> {
5
5
  }
6
- export interface DateTimePickerSlotsComponentsProps<TDate> extends DesktopDateTimePickerSlotsComponentsProps<TDate>, MobileDateTimePickerSlotsComponentsProps<TDate, DateOrTimeViewWithMeridiem> {
6
+ export interface DateTimePickerSlotProps<TDate> extends DesktopDateTimePickerSlotProps<TDate>, MobileDateTimePickerSlotProps<TDate, DateOrTimeViewWithMeridiem> {
7
7
  }
8
8
  export interface DateTimePickerProps<TDate> extends DesktopDateTimePickerProps<TDate>, Omit<MobileDateTimePickerProps<TDate, DateOrTimeViewWithMeridiem>, 'views'> {
9
9
  /**
@@ -21,10 +21,10 @@ export interface DateTimePickerProps<TDate> extends DesktopDateTimePickerProps<T
21
21
  * Overridable component slots.
22
22
  * @default {}
23
23
  */
24
- slots?: DateTimePickerSlotsComponents<TDate>;
24
+ slots?: DateTimePickerSlots<TDate>;
25
25
  /**
26
26
  * The props used for each component slot.
27
27
  * @default {}
28
28
  */
29
- slotProps?: DateTimePickerSlotsComponentsProps<TDate>;
29
+ slotProps?: DateTimePickerSlotProps<TDate>;
30
30
  }
@@ -1,5 +1,5 @@
1
1
  export { DateTimePicker } from './DateTimePicker';
2
- export type { DateTimePickerProps, DateTimePickerSlotsComponents, DateTimePickerSlotsComponentsProps, } from './DateTimePicker.types';
2
+ export type { DateTimePickerProps, DateTimePickerSlots, DateTimePickerSlotProps, } from './DateTimePicker.types';
3
3
  export { DateTimePickerTabs } from './DateTimePickerTabs';
4
4
  export type { DateTimePickerTabsProps } from './DateTimePickerTabs';
5
5
  export { dateTimePickerTabsClasses } from './dateTimePickerTabsClasses';
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { DefaultizedProps } from '../internals/models/helpers';
3
3
  import { DateTimeValidationError } from '../models';
4
- import { DateCalendarSlotsComponent, DateCalendarSlotsComponentsProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
5
- import { TimeClockSlotsComponent, TimeClockSlotsComponentsProps } from '../TimeClock/TimeClock.types';
4
+ import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
5
+ import { TimeClockSlots, TimeClockSlotProps } from '../TimeClock/TimeClock.types';
6
6
  import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
7
7
  import { DateTimePickerTabsProps, ExportedDateTimePickerTabsProps } from './DateTimePickerTabs';
8
8
  import { BaseDateValidationProps, BaseTimeValidationProps, DateTimeValidationProps } from '../internals/models/validation';
@@ -13,7 +13,7 @@ import { DateViewRendererProps } from '../dateViewRenderers';
13
13
  import { TimeViewRendererProps } from '../timeViewRenderers';
14
14
  import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock';
15
15
  import { DateOrTimeViewWithMeridiem, TimeViewWithMeridiem } from '../internals/models';
16
- export interface BaseDateTimePickerSlotsComponent<TDate> extends DateCalendarSlotsComponent<TDate>, TimeClockSlotsComponent {
16
+ export interface BaseDateTimePickerSlots<TDate> extends DateCalendarSlots<TDate>, TimeClockSlots {
17
17
  /**
18
18
  * Tabs enabling toggling between date and time pickers.
19
19
  * @default DateTimePickerTabs
@@ -25,7 +25,7 @@ export interface BaseDateTimePickerSlotsComponent<TDate> extends DateCalendarSlo
25
25
  */
26
26
  toolbar?: React.JSXElementConstructor<DateTimePickerToolbarProps<TDate>>;
27
27
  }
28
- export interface BaseDateTimePickerSlotsComponentsProps<TDate> extends DateCalendarSlotsComponentsProps<TDate>, TimeClockSlotsComponentsProps {
28
+ export interface BaseDateTimePickerSlotProps<TDate> extends DateCalendarSlotProps<TDate>, TimeClockSlotProps {
29
29
  /**
30
30
  * Props passed down to the tabs component.
31
31
  */
@@ -45,12 +45,12 @@ export interface BaseDateTimePickerProps<TDate, TView extends DateOrTimeViewWith
45
45
  * Overridable component slots.
46
46
  * @default {}
47
47
  */
48
- slots?: BaseDateTimePickerSlotsComponent<TDate>;
48
+ slots?: BaseDateTimePickerSlots<TDate>;
49
49
  /**
50
50
  * The props used for each component slot.
51
51
  * @default {}
52
52
  */
53
- slotProps?: BaseDateTimePickerSlotsComponentsProps<TDate>;
53
+ slotProps?: BaseDateTimePickerSlotProps<TDate>;
54
54
  /**
55
55
  * Define custom view renderers for each section.
56
56
  * If `null`, the section will only have field editing.
@@ -5,7 +5,8 @@ import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { refType } from '@mui/utils';
6
6
  import { singleItemValueManager } from '../internals/utils/valueManagers';
7
7
  import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
8
- import { useLocaleText, useUtils, validateDate } from '../internals';
8
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
9
+ import { validateDate } from '../internals/utils/validation/validateDate';
9
10
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
10
11
  import { CalendarIcon } from '../icons';
11
12
  import { DateField } from '../DateField';
@@ -178,6 +179,10 @@ DesktopDatePicker.propTypes = {
178
179
  * @default 3
179
180
  */
180
181
  monthsPerRow: PropTypes.oneOf([3, 4]),
182
+ /**
183
+ * Name attribute used by the `input` element in the Field.
184
+ */
185
+ name: PropTypes.string,
181
186
  /**
182
187
  * Callback fired when the value is accepted.
183
188
  * @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.
@@ -276,7 +281,7 @@ DesktopDatePicker.propTypes = {
276
281
  * 4. If `null` is provided, no section will be selected
277
282
  * If not provided, the selected sections will be handled internally.
278
283
  */
279
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
284
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
280
285
  endIndex: PropTypes.number.isRequired,
281
286
  startIndex: PropTypes.number.isRequired
282
287
  })]),
@@ -1,10 +1,10 @@
1
- import { UseDesktopPickerSlotsComponent, ExportedUseDesktopPickerSlotsComponentsProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
2
- import { BaseDatePickerProps, BaseDatePickerSlotsComponent, BaseDatePickerSlotsComponentsProps } from '../DatePicker/shared';
1
+ import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
2
+ import { BaseDatePickerProps, BaseDatePickerSlots, BaseDatePickerSlotProps } from '../DatePicker/shared';
3
3
  import { MakeOptional } from '../internals/models/helpers';
4
4
  import { DateView } from '../models';
5
- export interface DesktopDatePickerSlotsComponent<TDate> extends BaseDatePickerSlotsComponent<TDate>, MakeOptional<UseDesktopPickerSlotsComponent<TDate, DateView>, 'field' | 'openPickerIcon'> {
5
+ export interface DesktopDatePickerSlots<TDate> extends BaseDatePickerSlots<TDate>, MakeOptional<UseDesktopPickerSlots<TDate, DateView>, 'field' | 'openPickerIcon'> {
6
6
  }
7
- export interface DesktopDatePickerSlotsComponentsProps<TDate> extends BaseDatePickerSlotsComponentsProps<TDate>, ExportedUseDesktopPickerSlotsComponentsProps<TDate, DateView> {
7
+ export interface DesktopDatePickerSlotProps<TDate> extends BaseDatePickerSlotProps<TDate>, ExportedUseDesktopPickerSlotProps<TDate, DateView> {
8
8
  }
9
9
  export interface DesktopDatePickerProps<TDate> extends BaseDatePickerProps<TDate>, DesktopOnlyPickerProps<TDate> {
10
10
  /**
@@ -16,10 +16,10 @@ export interface DesktopDatePickerProps<TDate> extends BaseDatePickerProps<TDate
16
16
  * Overridable component slots.
17
17
  * @default {}
18
18
  */
19
- slots?: DesktopDatePickerSlotsComponent<TDate>;
19
+ slots?: DesktopDatePickerSlots<TDate>;
20
20
  /**
21
21
  * The props used for each component slot.
22
22
  * @default {}
23
23
  */
24
- slotProps?: DesktopDatePickerSlotsComponentsProps<TDate>;
24
+ slotProps?: DesktopDatePickerSlotProps<TDate>;
25
25
  }
@@ -1,2 +1,2 @@
1
1
  export { DesktopDatePicker } from './DesktopDatePicker';
2
- export type { DesktopDatePickerProps, DesktopDatePickerSlotsComponent, DesktopDatePickerSlotsComponentsProps, } from './DesktopDatePicker.types';
2
+ export type { DesktopDatePickerProps, DesktopDatePickerSlots, DesktopDatePickerSlotProps, } from './DesktopDatePicker.types';
@@ -255,6 +255,10 @@ DesktopDateTimePicker.propTypes = {
255
255
  * @default 3
256
256
  */
257
257
  monthsPerRow: PropTypes.oneOf([3, 4]),
258
+ /**
259
+ * Name attribute used by the `input` element in the Field.
260
+ */
261
+ name: PropTypes.string,
258
262
  /**
259
263
  * Callback fired when the value is accepted.
260
264
  * @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.
@@ -353,7 +357,7 @@ DesktopDateTimePicker.propTypes = {
353
357
  * 4. If `null` is provided, no section will be selected
354
358
  * If not provided, the selected sections will be handled internally.
355
359
  */
356
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
360
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
357
361
  endIndex: PropTypes.number.isRequired,
358
362
  startIndex: PropTypes.number.isRequired
359
363
  })]),
@@ -1,14 +1,14 @@
1
- import { UseDesktopPickerSlotsComponent, ExportedUseDesktopPickerSlotsComponentsProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
2
- import { BaseDateTimePickerProps, BaseDateTimePickerSlotsComponent, BaseDateTimePickerSlotsComponentsProps } from '../DateTimePicker/shared';
1
+ import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
2
+ import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from '../DateTimePicker/shared';
3
3
  import { MakeOptional } from '../internals/models/helpers';
4
4
  import { DateOrTimeView } from '../models';
5
5
  import { DesktopOnlyTimePickerProps } from '../internals/models/props/clock';
6
6
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
7
- import { MultiSectionDigitalClockSlotsComponent, MultiSectionDigitalClockSlotsComponentsProps } from '../MultiSectionDigitalClock';
8
- import { DigitalClockSlotsComponent, DigitalClockSlotsComponentsProps } from '../DigitalClock';
9
- export interface DesktopDateTimePickerSlotsComponent<TDate> extends BaseDateTimePickerSlotsComponent<TDate>, MakeOptional<UseDesktopPickerSlotsComponent<TDate, DateOrTimeViewWithMeridiem>, 'field' | 'openPickerIcon'>, DigitalClockSlotsComponent, MultiSectionDigitalClockSlotsComponent {
7
+ import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from '../MultiSectionDigitalClock';
8
+ import { DigitalClockSlots, DigitalClockSlotProps } from '../DigitalClock';
9
+ export interface DesktopDateTimePickerSlots<TDate> extends BaseDateTimePickerSlots<TDate>, MakeOptional<UseDesktopPickerSlots<TDate, DateOrTimeViewWithMeridiem>, 'field' | 'openPickerIcon'>, DigitalClockSlots, MultiSectionDigitalClockSlots {
10
10
  }
11
- export interface DesktopDateTimePickerSlotsComponentsProps<TDate> extends BaseDateTimePickerSlotsComponentsProps<TDate>, ExportedUseDesktopPickerSlotsComponentsProps<TDate, DateOrTimeViewWithMeridiem>, DigitalClockSlotsComponentsProps, MultiSectionDigitalClockSlotsComponentsProps {
11
+ export interface DesktopDateTimePickerSlotProps<TDate> extends BaseDateTimePickerSlotProps<TDate>, ExportedUseDesktopPickerSlotProps<TDate, DateOrTimeViewWithMeridiem>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
12
12
  }
13
13
  export interface DesktopDateTimePickerProps<TDate> extends BaseDateTimePickerProps<TDate, DateOrTimeViewWithMeridiem>, DesktopOnlyPickerProps<TDate>, DesktopOnlyTimePickerProps<TDate> {
14
14
  /**
@@ -24,10 +24,10 @@ export interface DesktopDateTimePickerProps<TDate> extends BaseDateTimePickerPro
24
24
  * Overridable component slots.
25
25
  * @default {}
26
26
  */
27
- slots?: DesktopDateTimePickerSlotsComponent<TDate>;
27
+ slots?: DesktopDateTimePickerSlots<TDate>;
28
28
  /**
29
29
  * The props used for each component slot.
30
30
  * @default {}
31
31
  */
32
- slotProps?: DesktopDateTimePickerSlotsComponentsProps<TDate>;
32
+ slotProps?: DesktopDateTimePickerSlotProps<TDate>;
33
33
  }
@@ -1,2 +1,2 @@
1
1
  export { DesktopDateTimePicker } from './DesktopDateTimePicker';
2
- export type { DesktopDateTimePickerProps, DesktopDateTimePickerSlotsComponent, DesktopDateTimePickerSlotsComponentsProps, } from './DesktopDateTimePicker.types';
2
+ export type { DesktopDateTimePickerProps, DesktopDateTimePickerSlots, DesktopDateTimePickerSlotProps, } from './DesktopDateTimePicker.types';
@@ -189,6 +189,10 @@ DesktopTimePicker.propTypes = {
189
189
  * @default 1
190
190
  */
191
191
  minutesStep: PropTypes.number,
192
+ /**
193
+ * Name attribute used by the `input` element in the Field.
194
+ */
195
+ name: PropTypes.string,
192
196
  /**
193
197
  * Callback fired when the value is accepted.
194
198
  * @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.
@@ -269,7 +273,7 @@ DesktopTimePicker.propTypes = {
269
273
  * 4. If `null` is provided, no section will be selected
270
274
  * If not provided, the selected sections will be handled internally.
271
275
  */
272
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
276
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
273
277
  endIndex: PropTypes.number.isRequired,
274
278
  startIndex: PropTypes.number.isRequired
275
279
  })]),
@@ -1,14 +1,14 @@
1
- import { UseDesktopPickerSlotsComponent, ExportedUseDesktopPickerSlotsComponentsProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
2
- import { BaseTimePickerProps, BaseTimePickerSlotsComponent, BaseTimePickerSlotsComponentsProps } from '../TimePicker/shared';
1
+ import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
2
+ import { BaseTimePickerProps, BaseTimePickerSlots, BaseTimePickerSlotProps } from '../TimePicker/shared';
3
3
  import { MakeOptional } from '../internals/models/helpers';
4
4
  import { TimeViewWithMeridiem } from '../internals/models';
5
5
  import { DesktopOnlyTimePickerProps } from '../internals/models/props/clock';
6
- import { DigitalClockSlotsComponent, DigitalClockSlotsComponentsProps } from '../DigitalClock';
7
- import { MultiSectionDigitalClockSlotsComponent, MultiSectionDigitalClockSlotsComponentsProps } from '../MultiSectionDigitalClock';
6
+ import { DigitalClockSlots, DigitalClockSlotProps } from '../DigitalClock';
7
+ import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from '../MultiSectionDigitalClock';
8
8
  import { TimeView } from '../models';
9
- export interface DesktopTimePickerSlotsComponent<TDate> extends BaseTimePickerSlotsComponent<TDate>, MakeOptional<UseDesktopPickerSlotsComponent<TDate, TimeViewWithMeridiem>, 'field' | 'openPickerIcon'>, DigitalClockSlotsComponent, MultiSectionDigitalClockSlotsComponent {
9
+ export interface DesktopTimePickerSlots<TDate> extends BaseTimePickerSlots<TDate>, MakeOptional<UseDesktopPickerSlots<TDate, TimeViewWithMeridiem>, 'field' | 'openPickerIcon'>, DigitalClockSlots, MultiSectionDigitalClockSlots {
10
10
  }
11
- export interface DesktopTimePickerSlotsComponentsProps<TDate> extends BaseTimePickerSlotsComponentsProps, ExportedUseDesktopPickerSlotsComponentsProps<TDate, TimeViewWithMeridiem>, DigitalClockSlotsComponentsProps, MultiSectionDigitalClockSlotsComponentsProps {
11
+ export interface DesktopTimePickerSlotProps<TDate> extends BaseTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TDate, TimeViewWithMeridiem>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
12
12
  }
13
13
  export interface DesktopTimePickerProps<TDate> extends BaseTimePickerProps<TDate, TimeViewWithMeridiem>, DesktopOnlyPickerProps<TDate>, DesktopOnlyTimePickerProps<TDate> {
14
14
  /**
@@ -19,10 +19,10 @@ export interface DesktopTimePickerProps<TDate> extends BaseTimePickerProps<TDate
19
19
  * Overridable component slots.
20
20
  * @default {}
21
21
  */
22
- slots?: DesktopTimePickerSlotsComponent<TDate>;
22
+ slots?: DesktopTimePickerSlots<TDate>;
23
23
  /**
24
24
  * The props used for each component slot.
25
25
  * @default {}
26
26
  */
27
- slotProps?: DesktopTimePickerSlotsComponentsProps<TDate>;
27
+ slotProps?: DesktopTimePickerSlotProps<TDate>;
28
28
  }
@@ -1,2 +1,2 @@
1
1
  export { DesktopTimePicker } from './DesktopTimePicker';
2
- export type { DesktopTimePickerProps, DesktopTimePickerSlotsComponent, DesktopTimePickerSlotsComponentsProps, } from './DesktopTimePicker.types';
2
+ export type { DesktopTimePickerProps, DesktopTimePickerSlots, DesktopTimePickerSlotProps, } from './DesktopTimePicker.types';
@@ -6,14 +6,14 @@ import { BaseClockProps, DigitalClockOnlyProps, ExportedBaseClockProps } from '.
6
6
  import { TimeView } from '../models';
7
7
  export interface ExportedDigitalClockProps<TDate> extends ExportedBaseClockProps<TDate>, DigitalClockOnlyProps {
8
8
  }
9
- export interface DigitalClockSlotsComponent {
9
+ export interface DigitalClockSlots {
10
10
  /**
11
11
  * Component responsible for rendering a single digital clock item.
12
12
  * @default MenuItem from '@mui/material'
13
13
  */
14
14
  digitalClockItem?: React.ElementType;
15
15
  }
16
- export interface DigitalClockSlotsComponentsProps {
16
+ export interface DigitalClockSlotProps {
17
17
  digitalClockItem?: SlotComponentProps<typeof MenuItem, {}, Record<string, any>>;
18
18
  }
19
19
  export interface DigitalClockProps<TDate> extends ExportedDigitalClockProps<TDate>, BaseClockProps<TDate, Extract<TimeView, 'hours'>> {
@@ -25,10 +25,10 @@ export interface DigitalClockProps<TDate> extends ExportedDigitalClockProps<TDat
25
25
  * Overrideable component slots.
26
26
  * @default {}
27
27
  */
28
- slots?: DigitalClockSlotsComponent;
28
+ slots?: DigitalClockSlots;
29
29
  /**
30
30
  * The props used for each component slot.
31
31
  * @default {}
32
32
  */
33
- slotProps?: DigitalClockSlotsComponentsProps;
33
+ slotProps?: DigitalClockSlotProps;
34
34
  }
@@ -1,4 +1,4 @@
1
1
  export { DigitalClock } from './DigitalClock';
2
- export type { DigitalClockProps, DigitalClockSlotsComponent, DigitalClockSlotsComponentsProps, ExportedDigitalClockProps, } from './DigitalClock.types';
2
+ export type { DigitalClockProps, DigitalClockSlots, DigitalClockSlotProps, ExportedDigitalClockProps, } from './DigitalClock.types';
3
3
  export { digitalClockClasses, getDigitalClockUtilityClass } from './digitalClockClasses';
4
4
  export type { DigitalClockClasses, DigitalClockClassKey } from './digitalClockClasses';
@@ -5,7 +5,8 @@ import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { refType } from '@mui/utils';
6
6
  import { useMobilePicker } from '../internals/hooks/useMobilePicker';
7
7
  import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
8
- import { useLocaleText, useUtils, validateDate } from '../internals';
8
+ import { useUtils, useLocaleText } from '../internals/hooks/useUtils';
9
+ import { validateDate } from '../internals/utils/validation/validateDate';
9
10
  import { DateField } from '../DateField';
10
11
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
11
12
  import { singleItemValueManager } from '../internals/utils/valueManagers';
@@ -175,6 +176,10 @@ MobileDatePicker.propTypes = {
175
176
  * @default 3
176
177
  */
177
178
  monthsPerRow: PropTypes.oneOf([3, 4]),
179
+ /**
180
+ * Name attribute used by the `input` element in the Field.
181
+ */
182
+ name: PropTypes.string,
178
183
  /**
179
184
  * Callback fired when the value is accepted.
180
185
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -273,7 +278,7 @@ MobileDatePicker.propTypes = {
273
278
  * 4. If `null` is provided, no section will be selected
274
279
  * If not provided, the selected sections will be handled internally.
275
280
  */
276
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
281
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
277
282
  endIndex: PropTypes.number.isRequired,
278
283
  startIndex: PropTypes.number.isRequired
279
284
  })]),
@@ -1,20 +1,20 @@
1
- import { UseMobilePickerSlotsComponent, MobileOnlyPickerProps, ExportedUseMobilePickerSlotsComponentsProps } from '../internals/hooks/useMobilePicker';
2
- import { BaseDatePickerProps, BaseDatePickerSlotsComponent, BaseDatePickerSlotsComponentsProps } from '../DatePicker/shared';
1
+ import { UseMobilePickerSlots, MobileOnlyPickerProps, ExportedUseMobilePickerSlotProps } from '../internals/hooks/useMobilePicker';
2
+ import { BaseDatePickerProps, BaseDatePickerSlots, BaseDatePickerSlotProps } from '../DatePicker/shared';
3
3
  import { MakeOptional } from '../internals/models/helpers';
4
4
  import { DateView } from '../models';
5
- export interface MobileDatePickerSlotsComponent<TDate> extends BaseDatePickerSlotsComponent<TDate>, MakeOptional<UseMobilePickerSlotsComponent<TDate, DateView>, 'field'> {
5
+ export interface MobileDatePickerSlots<TDate> extends BaseDatePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, DateView>, 'field'> {
6
6
  }
7
- export interface MobileDatePickerSlotsComponentsProps<TDate> extends BaseDatePickerSlotsComponentsProps<TDate>, ExportedUseMobilePickerSlotsComponentsProps<TDate, DateView> {
7
+ export interface MobileDatePickerSlotProps<TDate> extends BaseDatePickerSlotProps<TDate>, ExportedUseMobilePickerSlotProps<TDate, DateView> {
8
8
  }
9
9
  export interface MobileDatePickerProps<TDate> extends BaseDatePickerProps<TDate>, MobileOnlyPickerProps<TDate> {
10
10
  /**
11
11
  * Overridable component slots.
12
12
  * @default {}
13
13
  */
14
- slots?: MobileDatePickerSlotsComponent<TDate>;
14
+ slots?: MobileDatePickerSlots<TDate>;
15
15
  /**
16
16
  * The props used for each component slot.
17
17
  * @default {}
18
18
  */
19
- slotProps?: MobileDatePickerSlotsComponentsProps<TDate>;
19
+ slotProps?: MobileDatePickerSlotProps<TDate>;
20
20
  }
@@ -1,2 +1,2 @@
1
1
  export { MobileDatePicker } from './MobileDatePicker';
2
- export type { MobileDatePickerProps, MobileDatePickerSlotsComponent, MobileDatePickerSlotsComponentsProps, } from './MobileDatePicker.types';
2
+ export type { MobileDatePickerProps, MobileDatePickerSlots, MobileDatePickerSlotProps, } from './MobileDatePicker.types';