@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
@@ -13,34 +13,3 @@ export interface PickersTextFieldClasses {
13
13
  export type PickersTextFieldClassKey = keyof PickersTextFieldClasses;
14
14
  export declare function getPickersTextFieldUtilityClass(slot: string): string;
15
15
  export declare const pickersTextFieldClasses: Record<keyof PickersTextFieldClasses, string>;
16
- export interface PickersInputClasses {
17
- /** Styles applied to the root element. */
18
- root: string;
19
- /** Styles applied to the root element if focused. */
20
- focused: string;
21
- /** State class applied to the root element if `disabled=true`. */
22
- disabled: string;
23
- /** State class applied to the root element if `readOnly=true`. */
24
- readOnly: string;
25
- /** State class applied to the root element if `error=true`. */
26
- error: string;
27
- /** Styles applied to the NotchedOutline element. */
28
- notchedOutline: string;
29
- /** Styles applied to the real hidden input element. */
30
- input: string;
31
- /** Styles applied to the container of the sections. */
32
- sectionsContainer: string;
33
- /** Styles applied to the content of a section. */
34
- sectionContent: string;
35
- /** Styles applied to the separator before a section */
36
- sectionBefore: string;
37
- /** Styles applied to the separator after a section */
38
- sectionAfter: string;
39
- /** Styles applied to the root if there is a startAdornment present */
40
- adornedStart: string;
41
- /** Styles applied to the root if there is an endAdornment present */
42
- adornedEnd: string;
43
- }
44
- export type PickersInputClassKey = keyof PickersInputClasses;
45
- export declare function getPickersInputUtilityClass(slot: string): string;
46
- export declare const pickersInputClasses: Record<keyof PickersInputClasses, string>;
@@ -1,9 +1,6 @@
1
- import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
2
3
  export function getPickersTextFieldUtilityClass(slot) {
3
4
  return generateUtilityClass('MuiPickersTextField', slot);
4
5
  }
5
- export const pickersTextFieldClasses = generateUtilityClasses('MuiPickersTextField', ['root', 'focused', 'disabled', 'error', 'required']);
6
- export function getPickersInputUtilityClass(slot) {
7
- return generateUtilityClass('MuiPickersInput', slot);
8
- }
9
- export const pickersInputClasses = generateUtilityClasses('MuiPickersInput', ['root', 'focused', 'disabled', 'error', 'notchedOutline', 'adornedStart', 'adornedEnd', 'input', 'sectionsContainer', 'sectionContent', 'sectionBefore', 'sectionAfter']);
6
+ export const pickersTextFieldClasses = generateUtilityClasses('MuiPickersTextField', ['root', 'focused', 'disabled', 'error', 'required']);
@@ -1,2 +1,2 @@
1
1
  export { useDesktopPicker } from './useDesktopPicker';
2
- export type { UseDesktopPickerSlotsComponent, UseDesktopPickerSlotsComponentsProps, ExportedUseDesktopPickerSlotsComponentsProps, DesktopOnlyPickerProps, } from './useDesktopPicker.types';
2
+ export type { UseDesktopPickerSlots, UseDesktopPickerSlotProps, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps, } from './useDesktopPicker.types';
@@ -37,6 +37,7 @@ export const useDesktopPicker = _ref => {
37
37
  format,
38
38
  formatDensity,
39
39
  timezone,
40
+ name,
40
41
  label,
41
42
  inputRef,
42
43
  readOnly,
@@ -104,6 +105,7 @@ export const useDesktopPicker = _ref => {
104
105
  formatDensity,
105
106
  timezone,
106
107
  label,
108
+ name,
107
109
  autoFocus: autoFocus && !props.open,
108
110
  focused: open ? true : undefined
109
111
  }),
@@ -4,15 +4,15 @@ import { InputAdornmentProps } from '@mui/material/InputAdornment';
4
4
  import TextField, { TextFieldProps } from '@mui/material/TextField';
5
5
  import { SlotComponentProps } from '@mui/base/utils';
6
6
  import { BaseNonStaticPickerProps, BasePickerProps, BaseNonRangeNonStaticPickerProps } from '../../models/props/basePickerProps';
7
- import { PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps } from '../../components/PickersPopper';
7
+ import { PickersPopperSlots, PickersPopperSlotProps } from '../../components/PickersPopper';
8
8
  import { UsePickerParams, UsePickerProps } from '../usePicker';
9
9
  import { BaseSingleInputFieldProps, FieldSection, MuiPickersAdapter } from '../../../models';
10
- import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps, PickersLayoutSlotsComponentsProps } from '../../../PickersLayout/PickersLayout.types';
10
+ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickersLayoutSlotProps } from '../../../PickersLayout/PickersLayout.types';
11
11
  import { UsePickerValueNonStaticProps } from '../usePicker/usePickerValue.types';
12
12
  import { UsePickerViewsNonStaticProps, UsePickerViewsProps } from '../usePicker/usePickerViews';
13
13
  import { DateOrTimeViewWithMeridiem } from '../../models';
14
- import { FieldSlotsComponents, FieldSlotsComponentsProps } from '../useField';
15
- export interface UseDesktopPickerSlotsComponent<TDate, TView extends DateOrTimeViewWithMeridiem> extends Pick<PickersPopperSlotsComponent, 'desktopPaper' | 'desktopTransition' | 'desktopTrapFocus' | 'popper'>, ExportedPickersLayoutSlotsComponent<TDate | null, TDate, TView>, FieldSlotsComponents {
14
+ import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '../../../hooks/useClearableField';
15
+ export interface UseDesktopPickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends Pick<PickersPopperSlots, 'desktopPaper' | 'desktopTransition' | 'desktopTrapFocus' | 'popper'>, ExportedPickersLayoutSlots<TDate | null, TDate, TView>, UseClearableFieldSlots {
16
16
  /**
17
17
  * Component used to enter the date with the keyboard.
18
18
  */
@@ -38,9 +38,9 @@ export interface UseDesktopPickerSlotsComponent<TDate, TView extends DateOrTimeV
38
38
  */
39
39
  openPickerIcon: React.ElementType;
40
40
  }
41
- export interface UseDesktopPickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedUseDesktopPickerSlotsComponentsProps<TDate, TView>, Pick<PickersLayoutSlotsComponentsProps<TDate | null, TDate, TView>, 'toolbar'> {
41
+ export interface UseDesktopPickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedUseDesktopPickerSlotProps<TDate, TView>, Pick<PickersLayoutSlotProps<TDate | null, TDate, TView>, 'toolbar'> {
42
42
  }
43
- export interface ExportedUseDesktopPickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<TDate | null, TDate, TView>, FieldSlotsComponentsProps {
43
+ export interface ExportedUseDesktopPickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotProps, ExportedPickersLayoutSlotProps<TDate | null, TDate, TView>, UseClearableFieldSlotProps {
44
44
  field?: SlotComponentProps<React.ElementType<BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, unknown>>, {}, UsePickerProps<TDate | null, TDate, any, FieldSection, any, any, any>>;
45
45
  textField?: SlotComponentProps<typeof TextField, {}, Record<string, any>>;
46
46
  inputAdornment?: Partial<InputAdornmentProps>;
@@ -58,12 +58,12 @@ export interface UseDesktopPickerProps<TDate, TView extends DateOrTimeViewWithMe
58
58
  * Overridable component slots.
59
59
  * @default {}
60
60
  */
61
- slots: UseDesktopPickerSlotsComponent<TDate, TView>;
61
+ slots: UseDesktopPickerSlots<TDate, TView>;
62
62
  /**
63
63
  * The props used for each component slot.
64
64
  * @default {}
65
65
  */
66
- slotProps?: UseDesktopPickerSlotsComponentsProps<TDate, TView>;
66
+ slotProps?: UseDesktopPickerSlotProps<TDate, TView>;
67
67
  }
68
68
  export interface UseDesktopPickerParams<TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopPickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<TDate | null, TDate, TView, FieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
69
69
  props: TExternalProps;
@@ -1,3 +1,3 @@
1
1
  export { useField } from './useField';
2
- export type { FieldValueManager, UseFieldInternalProps, UseFieldForwardedProps, UseFieldParams, UseFieldResponse, FieldChangeHandler, FieldChangeHandlerContext, FieldRef, FieldSlotsComponents, FieldSlotsComponentsProps, } from './useField.types';
2
+ export type { FieldValueManager, UseFieldInternalProps, UseFieldForwardedProps, UseFieldParams, UseFieldResponse, FieldChangeHandler, FieldChangeHandlerContext, FieldRef, } from './useField.types';
3
3
  export { splitFormatIntoSections, addPositionPropertiesToSections, createDateStrForInputFromSections, } from './useField.utils';
@@ -1,6 +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 = ["onClick", "onKeyDown", "onFocus", "onBlur", "onMouseUp", "onPaste", "error", "clearable", "onClear", "disabled"];
3
+ const _excluded = ["inputRef", "onClick", "onKeyDown", "onFocus", "onBlur", "onMouseUp", "onPaste", "error", "clearable", "onClear", "disabled"];
4
4
  import * as React from 'react';
5
5
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
6
6
  import useEventCallback from '@mui/utils/useEventCallback';
@@ -28,7 +28,6 @@ export const useField = params => {
28
28
  timezone
29
29
  } = useFieldState(params);
30
30
  const {
31
- inputRef: inputRefProp,
32
31
  internalProps,
33
32
  internalProps: {
34
33
  readOnly = false,
@@ -36,6 +35,7 @@ export const useField = params => {
36
35
  minutesStep
37
36
  },
38
37
  forwardedProps: {
38
+ inputRef: inputRefProp,
39
39
  onClick,
40
40
  onKeyDown,
41
41
  onFocus,
@@ -143,7 +143,14 @@ export const useField = params => {
143
143
  const digitsAndLetterOnly = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(pastedValue);
144
144
  const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly || activeSection.contentType === 'digit-with-letter' && digitsAndLetterOnly;
145
145
  if (isValidPastedValue) {
146
- // Early return to let the paste update section, value
146
+ resetCharacterQuery();
147
+ updateSectionValue({
148
+ activeSection,
149
+ newSectionValue: pastedValue,
150
+ shouldGoToNextSection: true
151
+ });
152
+ // prevent default to avoid the input change handler being called
153
+ event.preventDefault();
147
154
  return;
148
155
  }
149
156
  if (lettersOnly || digitsOnly) {
@@ -433,7 +440,7 @@ export const useField = params => {
433
440
  onMouseUp: handleInputMouseUp,
434
441
  onClear: handleClearValue,
435
442
  error: inputError,
436
- ref: handleRef,
443
+ inputRef: handleRef,
437
444
  clearable: Boolean(clearable && !areAllSectionsEmpty && !readOnly && !disabled)
438
445
  });
439
446
  };
@@ -1,12 +1,8 @@
1
1
  import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/base/utils';
3
- import IconButton from '@mui/material/IconButton';
4
- import { ClearIcon } from '../../../icons';
5
2
  import { FieldSectionType, FieldSection, FieldSelectedSections, MuiPickersAdapter, TimezoneProps, FieldSectionContentType, FieldValueType, PickersTimezone } from '../../../models';
6
3
  import type { PickerValueManager } from '../usePicker';
7
4
  import { InferError, Validator } from '../useValidation';
8
5
  export interface UseFieldParams<TValue, TDate, TSection extends FieldSection, TForwardedProps extends UseFieldForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, any>> {
9
- inputRef?: React.Ref<HTMLInputElement>;
10
6
  forwardedProps: TForwardedProps;
11
7
  internalProps: TInternalProps;
12
8
  valueManager: PickerValueManager<TValue, TDate, InferError<TInternalProps>>;
@@ -130,6 +126,7 @@ export interface FieldRef<TSection extends FieldSection> {
130
126
  setSelectedSections: (selectedSections: FieldSelectedSections) => void;
131
127
  }
132
128
  export interface UseFieldForwardedProps {
129
+ inputRef?: React.Ref<HTMLInputElement>;
133
130
  onKeyDown?: React.KeyboardEventHandler;
134
131
  onMouseUp?: React.MouseEventHandler;
135
132
  onPaste?: React.ClipboardEventHandler<HTMLInputElement>;
@@ -141,8 +138,8 @@ export interface UseFieldForwardedProps {
141
138
  clearable?: boolean;
142
139
  disabled?: boolean;
143
140
  }
144
- export type UseFieldResponse<TForwardedProps extends UseFieldForwardedProps> = Omit<TForwardedProps, keyof UseFieldForwardedProps> & Required<UseFieldForwardedProps> & Pick<React.HTMLAttributes<HTMLInputElement>, 'autoCorrect' | 'inputMode' | 'placeholder'> & {
145
- ref: React.Ref<HTMLInputElement>;
141
+ export type UseFieldResponse<TForwardedProps extends UseFieldForwardedProps> = Omit<TForwardedProps, keyof UseFieldForwardedProps> & Required<UseFieldForwardedProps> & Pick<React.InputHTMLAttributes<HTMLInputElement>, 'autoCorrect' | 'inputMode' | 'placeholder'> & {
142
+ inputRef: React.Ref<HTMLInputElement>;
146
143
  value: string;
147
144
  onChange: React.ChangeEventHandler<HTMLInputElement>;
148
145
  error: boolean;
@@ -200,9 +197,8 @@ export type FieldSelectedSectionsIndexes = {
200
197
  endIndex: number;
201
198
  /**
202
199
  * If `true`, the selectors at the very beginning and very end of the input will be selected.
203
- * @default false
204
200
  */
205
- shouldSelectBoundarySelectors?: boolean;
201
+ shouldSelectBoundarySelectors: boolean;
206
202
  };
207
203
  export interface FieldValueManager<TValue, TDate, TSection extends FieldSection> {
208
204
  /**
@@ -318,20 +314,4 @@ export type SectionOrdering = {
318
314
  */
319
315
  endIndex: number;
320
316
  };
321
- export interface FieldSlotsComponents {
322
- /**
323
- * Icon to display inside the clear button.
324
- * @default ClearIcon
325
- */
326
- clearIcon?: React.ElementType;
327
- /**
328
- * Button to clear the value.
329
- * @default IconButton
330
- */
331
- clearButton?: React.ElementType;
332
- }
333
- export interface FieldSlotsComponentsProps {
334
- clearIcon?: SlotComponentProps<typeof ClearIcon, {}, {}>;
335
- clearButton?: SlotComponentProps<typeof IconButton, {}, {}>;
336
- }
337
317
  export {};
@@ -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,
@@ -1,2 +1,2 @@
1
1
  export { useMobilePicker } from './useMobilePicker';
2
- export type { UseMobilePickerSlotsComponent, UseMobilePickerSlotsComponentsProps, ExportedUseMobilePickerSlotsComponentsProps, MobileOnlyPickerProps, } from './useMobilePicker.types';
2
+ export type { UseMobilePickerSlots, UseMobilePickerSlotProps, ExportedUseMobilePickerSlotProps, MobileOnlyPickerProps, } from './useMobilePicker.types';
@@ -34,6 +34,7 @@ export const useMobilePicker = _ref => {
34
34
  format,
35
35
  formatDensity,
36
36
  timezone,
37
+ name,
37
38
  label,
38
39
  inputRef,
39
40
  readOnly,
@@ -74,7 +75,8 @@ export const useMobilePicker = _ref => {
74
75
  format,
75
76
  formatDensity,
76
77
  timezone,
77
- label
78
+ label,
79
+ name
78
80
  }),
79
81
  ownerState: props
80
82
  });
@@ -2,14 +2,14 @@ import * as React from 'react';
2
2
  import TextField, { TextFieldProps } from '@mui/material/TextField';
3
3
  import { SlotComponentProps } from '@mui/base/utils';
4
4
  import { BaseNonStaticPickerProps, BasePickerProps, BaseNonRangeNonStaticPickerProps } from '../../models/props/basePickerProps';
5
- import { PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps } from '../../components/PickersModalDialog';
5
+ import { PickersModalDialogSlots, PickersModalDialogSlotProps } from '../../components/PickersModalDialog';
6
6
  import { UsePickerParams, UsePickerProps } from '../usePicker';
7
7
  import { BaseSingleInputFieldProps, FieldSection, MuiPickersAdapter } from '../../../models';
8
- import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps, PickersLayoutSlotsComponentsProps } from '../../../PickersLayout/PickersLayout.types';
8
+ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickersLayoutSlotProps } from '../../../PickersLayout/PickersLayout.types';
9
9
  import { UsePickerValueNonStaticProps } from '../usePicker/usePickerValue.types';
10
10
  import { UsePickerViewsNonStaticProps, UsePickerViewsProps } from '../usePicker/usePickerViews';
11
11
  import { DateOrTimeViewWithMeridiem } from '../../models';
12
- export interface UseMobilePickerSlotsComponent<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotsComponent, ExportedPickersLayoutSlotsComponent<TDate | null, TDate, TView> {
12
+ export interface UseMobilePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlots, ExportedPickersLayoutSlots<TDate | null, TDate, TView> {
13
13
  /**
14
14
  * Component used to enter the date with the keyboard.
15
15
  */
@@ -21,11 +21,11 @@ export interface UseMobilePickerSlotsComponent<TDate, TView extends DateOrTimeVi
21
21
  */
22
22
  textField?: React.ElementType<TextFieldProps>;
23
23
  }
24
- export interface ExportedUseMobilePickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<TDate | null, TDate, TView> {
24
+ export interface ExportedUseMobilePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps<TDate | null, TDate, TView> {
25
25
  field?: SlotComponentProps<React.ElementType<BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, unknown>>, {}, UsePickerProps<TDate | null, TDate, any, FieldSection, any, any, any>>;
26
26
  textField?: SlotComponentProps<typeof TextField, {}, Record<string, any>>;
27
27
  }
28
- export interface UseMobilePickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedUseMobilePickerSlotsComponentsProps<TDate, TView>, Pick<PickersLayoutSlotsComponentsProps<TDate | null, TDate, TView>, 'toolbar'> {
28
+ export interface UseMobilePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedUseMobilePickerSlotProps<TDate, TView>, Pick<PickersLayoutSlotProps<TDate | null, TDate, TView>, 'toolbar'> {
29
29
  }
30
30
  export interface MobileOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, BaseNonRangeNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, FieldSection>, UsePickerViewsNonStaticProps {
31
31
  }
@@ -34,12 +34,12 @@ export interface UseMobilePickerProps<TDate, TView extends DateOrTimeViewWithMer
34
34
  * Overridable component slots.
35
35
  * @default {}
36
36
  */
37
- slots: UseMobilePickerSlotsComponent<TDate, TView>;
37
+ slots: UseMobilePickerSlots<TDate, TView>;
38
38
  /**
39
39
  * The props used for each component slot.
40
40
  * @default {}
41
41
  */
42
- slotProps?: UseMobilePickerSlotsComponentsProps<TDate, TView>;
42
+ slotProps?: UseMobilePickerSlotProps<TDate, TView>;
43
43
  }
44
44
  export interface UseMobilePickerParams<TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseMobilePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<TDate | null, TDate, TView, FieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
45
45
  props: TExternalProps;
@@ -1,2 +1,2 @@
1
1
  export { useStaticPicker } from './useStaticPicker';
2
- export type { UseStaticPickerSlotsComponent, UseStaticPickerSlotsComponentsProps, StaticOnlyPickerProps, } from './useStaticPicker.types';
2
+ export type { UseStaticPickerSlots, UseStaticPickerSlotProps, StaticOnlyPickerProps, } from './useStaticPicker.types';
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
- import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '../../../PickersLayout/PickersLayout.types';
2
+ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '../../../PickersLayout/PickersLayout.types';
3
3
  import { BasePickerProps } from '../../models/props/basePickerProps';
4
4
  import { UsePickerParams } from '../usePicker';
5
5
  import { UsePickerViewsProps } from '../usePicker/usePickerViews';
6
6
  import { FieldSection } from '../../../models';
7
7
  import { DateOrTimeViewWithMeridiem } from '../../models';
8
- export interface UseStaticPickerSlotsComponent<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotsComponent<TDate | null, TDate, TView> {
8
+ export interface UseStaticPickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<TDate | null, TDate, TView> {
9
9
  }
10
- export interface UseStaticPickerSlotsComponentsProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotsComponentsProps<TDate | null, TDate, TView> {
10
+ export interface UseStaticPickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotProps<TDate | null, TDate, TView> {
11
11
  }
12
12
  export interface StaticOnlyPickerProps {
13
13
  /**
@@ -31,12 +31,12 @@ export interface UseStaticPickerProps<TDate, TView extends DateOrTimeViewWithMer
31
31
  * Overridable component slots.
32
32
  * @default {}
33
33
  */
34
- slots?: UseStaticPickerSlotsComponent<TDate | null, TView>;
34
+ slots?: UseStaticPickerSlots<TDate | null, TView>;
35
35
  /**
36
36
  * The props used for each component slot.
37
37
  * @default {}
38
38
  */
39
- slotProps?: UseStaticPickerSlotsComponentsProps<TDate, TView>;
39
+ slotProps?: UseStaticPickerSlotProps<TDate, TView>;
40
40
  }
41
41
  export interface UseStaticPickerParams<TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<TDate | null, TDate, TView, FieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
42
42
  props: TExternalProps;
@@ -1,9 +1,9 @@
1
1
  export { PickersArrowSwitcher } from './components/PickersArrowSwitcher/PickersArrowSwitcher';
2
- export type { ExportedPickersArrowSwitcherProps, PickersArrowSwitcherSlotsComponent, PickersArrowSwitcherSlotsComponentsProps, } from './components/PickersArrowSwitcher';
2
+ export type { ExportedPickersArrowSwitcherProps, PickersArrowSwitcherSlots, PickersArrowSwitcherSlotProps, } from './components/PickersArrowSwitcher';
3
3
  export { PickersModalDialog } from './components/PickersModalDialog';
4
- export type { PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, } from './components/PickersModalDialog';
4
+ export type { PickersModalDialogSlots, PickersModalDialogSlotProps, } from './components/PickersModalDialog';
5
5
  export { PickersPopper } from './components/PickersPopper';
6
- export type { PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, } from './components/PickersPopper';
6
+ export type { PickersPopperSlots, PickersPopperSlotProps } from './components/PickersPopper';
7
7
  export { PickersToolbar } from './components/PickersToolbar';
8
8
  export type { PickersToolbarProps } from './components/PickersToolbar';
9
9
  export { pickersToolbarClasses } from './components/pickersToolbarClasses';
@@ -24,14 +24,14 @@ export { DAY_MARGIN, DIALOG_WIDTH } from './constants/dimensions';
24
24
  export { useControlledValueWithTimezone } from './hooks/useValueWithTimezone';
25
25
  export type { DesktopOnlyPickerProps } from './hooks/useDesktopPicker';
26
26
  export { useField, createDateStrForInputFromSections, addPositionPropertiesToSections, } from './hooks/useField';
27
- export type { UseFieldInternalProps, UseFieldParams, UseFieldResponse, UseFieldForwardedProps, FieldValueManager, FieldChangeHandler, FieldChangeHandlerContext, FieldSlotsComponents, FieldSlotsComponentsProps, } from './hooks/useField';
27
+ export type { UseFieldInternalProps, UseFieldParams, UseFieldResponse, UseFieldForwardedProps, FieldValueManager, FieldChangeHandler, FieldChangeHandlerContext, } from './hooks/useField';
28
28
  export type { MobileOnlyPickerProps } from './hooks/useMobilePicker';
29
29
  export { usePicker } from './hooks/usePicker';
30
30
  export type { UsePickerResponse, UsePickerParams, UsePickerProps } from './hooks/usePicker';
31
31
  export type { UsePickerValueNonStaticProps, PickerValueManager, PickerSelectionState, } from './hooks/usePicker/usePickerValue.types';
32
32
  export type { UsePickerViewsNonStaticProps, PickerViewRendererLookup, UsePickerViewsProps, } from './hooks/usePicker/usePickerViews';
33
33
  export { useStaticPicker } from './hooks/useStaticPicker';
34
- export type { StaticOnlyPickerProps, UseStaticPickerSlotsComponent, UseStaticPickerSlotsComponentsProps, } from './hooks/useStaticPicker';
34
+ export type { StaticOnlyPickerProps, UseStaticPickerSlots, UseStaticPickerSlotProps, } from './hooks/useStaticPicker';
35
35
  export { useLocalizationContext, useDefaultDates, useUtils, useLocaleText, useNow, } from './hooks/useUtils';
36
36
  export type { ExportedUseViewsOptions } from './hooks/useViews';
37
37
  export { useValidation } from './hooks/useValidation';
@@ -43,6 +43,7 @@ export type { BaseToolbarProps, ExportedBaseToolbarProps } from './models/props/
43
43
  export type { DefaultizedProps, MakeOptional } from './models/helpers';
44
44
  export type { WrapperVariant } from './models/common';
45
45
  export type { BaseDateValidationProps, BaseTimeValidationProps, TimeValidationProps, MonthValidationProps, YearValidationProps, DayValidationProps, DateTimeValidationProps, } from './models/validation';
46
+ export { convertFieldResponseIntoMuiTextFieldProps } from './utils/convertFieldResponseIntoMuiTextFieldProps';
46
47
  export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate, } from './utils/date-utils';
47
48
  export { splitFieldInternalAndForwardedProps } from './utils/fields';
48
49
  export { getDefaultReferenceDate } from './utils/getDefaultReferenceDate';
@@ -54,6 +55,6 @@ export { validateDateTime } from './utils/validation/validateDateTime';
54
55
  export { validateTime } from './utils/validation/validateTime';
55
56
  export { buildDeprecatedPropsWarning, buildWarning } from './utils/warning';
56
57
  export { DayCalendar } from '../DateCalendar/DayCalendar';
57
- export type { DayCalendarProps, DayCalendarSlotsComponent, DayCalendarSlotsComponentsProps, ExportedDayCalendarProps, } from '../DateCalendar/DayCalendar';
58
+ export type { DayCalendarProps, DayCalendarSlots, DayCalendarSlotProps, ExportedDayCalendarProps, } from '../DateCalendar/DayCalendar';
58
59
  export type { ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
59
60
  export { useCalendarState } from '../DateCalendar/useCalendarState';
@@ -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';
@@ -59,4 +59,8 @@ export interface BaseNonRangeNonStaticPickerProps {
59
59
  * Pass a ref to the `input` element.
60
60
  */
61
61
  inputRef?: React.Ref<HTMLInputElement>;
62
+ /**
63
+ * Name attribute used by the `input` element in the Field.
64
+ */
65
+ name?: string;
62
66
  }
@@ -0,0 +1,3 @@
1
+ import { TextFieldProps } from '@mui/material/TextField';
2
+ import { UseFieldResponse } from '../hooks/useField';
3
+ export declare const convertFieldResponseIntoMuiTextFieldProps: <TFieldResponse extends UseFieldResponse<any>>(fieldResponse: TFieldResponse) => TextFieldProps;
@@ -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 != null ? InputProps : {}, {
17
+ readOnly
18
+ }),
19
+ inputProps: _extends({}, inputProps != null ? inputProps : {}, {
20
+ inputMode,
21
+ onPaste,
22
+ onKeyDown,
23
+ ref: inputRef
24
+ })
25
+ });
26
+ };