@mui/x-date-pickers 7.0.0-beta.1 → 7.0.0-beta.4

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 (778) hide show
  1. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +6 -0
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +6 -0
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -1
  5. package/AdapterDayjs/AdapterDayjs.d.ts +6 -0
  6. package/AdapterDayjs/AdapterDayjs.js +6 -1
  7. package/AdapterLuxon/AdapterLuxon.d.ts +6 -0
  8. package/AdapterLuxon/AdapterLuxon.js +7 -2
  9. package/AdapterMoment/AdapterMoment.d.ts +6 -0
  10. package/AdapterMoment/AdapterMoment.js +4 -1
  11. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +5 -0
  12. package/AdapterMomentHijri/AdapterMomentHijri.js +3 -1
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +5 -0
  14. package/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -1
  15. package/CHANGELOG.md +437 -4
  16. package/DateCalendar/DateCalendar.d.ts +2 -1
  17. package/DateCalendar/DateCalendar.js +8 -6
  18. package/DateCalendar/DateCalendar.types.d.ts +9 -6
  19. package/DateCalendar/DayCalendar.d.ts +9 -7
  20. package/DateCalendar/DayCalendar.js +1 -1
  21. package/DateCalendar/PickersFadeTransitionGroup.d.ts +3 -0
  22. package/DateCalendar/PickersSlideTransition.d.ts +3 -0
  23. package/DateCalendar/useCalendarState.d.ts +7 -7
  24. package/DateCalendar/useIsDateDisabled.d.ts +2 -1
  25. package/DateField/DateField.d.ts +2 -1
  26. package/DateField/DateField.js +16 -14
  27. package/DateField/DateField.types.d.ts +12 -15
  28. package/DateField/index.d.ts +1 -1
  29. package/DateField/useDateField.d.ts +3 -2
  30. package/DateField/useDateField.js +1 -15
  31. package/DatePicker/DatePicker.d.ts +2 -1
  32. package/DatePicker/DatePicker.js +14 -14
  33. package/DatePicker/DatePicker.types.d.ts +5 -4
  34. package/DatePicker/DatePickerToolbar.d.ts +7 -6
  35. package/DatePicker/DatePickerToolbar.js +12 -4
  36. package/DatePicker/shared.d.ts +6 -6
  37. package/DateTimeField/DateTimeField.d.ts +2 -1
  38. package/DateTimeField/DateTimeField.js +20 -18
  39. package/DateTimeField/DateTimeField.types.d.ts +12 -15
  40. package/DateTimeField/index.d.ts +1 -1
  41. package/DateTimeField/useDateTimeField.d.ts +3 -2
  42. package/DateTimeField/useDateTimeField.js +1 -20
  43. package/DateTimePicker/DateTimePicker.d.ts +2 -1
  44. package/DateTimePicker/DateTimePicker.js +18 -18
  45. package/DateTimePicker/DateTimePicker.types.d.ts +5 -4
  46. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -2
  47. package/DateTimePicker/DateTimePickerTabs.js +7 -1
  48. package/DateTimePicker/DateTimePickerToolbar.d.ts +4 -3
  49. package/DateTimePicker/DateTimePickerToolbar.js +4 -1
  50. package/DateTimePicker/shared.d.ts +6 -6
  51. package/DesktopDatePicker/DesktopDatePicker.d.ts +2 -1
  52. package/DesktopDatePicker/DesktopDatePicker.js +14 -14
  53. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -5
  54. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +2 -1
  55. package/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  56. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +5 -5
  57. package/DesktopTimePicker/DesktopTimePicker.d.ts +2 -1
  58. package/DesktopTimePicker/DesktopTimePicker.js +14 -13
  59. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +5 -5
  60. package/DigitalClock/DigitalClock.d.ts +2 -1
  61. package/DigitalClock/DigitalClock.js +5 -5
  62. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  63. package/LocalizationProvider/LocalizationProvider.d.ts +5 -5
  64. package/LocalizationProvider/LocalizationProvider.js +1 -0
  65. package/MobileDatePicker/MobileDatePicker.d.ts +2 -1
  66. package/MobileDatePicker/MobileDatePicker.js +14 -14
  67. package/MobileDatePicker/MobileDatePicker.types.d.ts +5 -5
  68. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -1
  69. package/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  70. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +5 -5
  71. package/MobileTimePicker/MobileTimePicker.d.ts +2 -1
  72. package/MobileTimePicker/MobileTimePicker.js +14 -13
  73. package/MobileTimePicker/MobileTimePicker.types.d.ts +5 -5
  74. package/MonthCalendar/MonthCalendar.d.ts +3 -2
  75. package/MonthCalendar/MonthCalendar.js +5 -5
  76. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +2 -1
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  79. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -3
  80. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +5 -5
  81. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +2 -1
  82. package/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  83. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +6 -6
  84. package/PickersDay/PickersDay.d.ts +3 -2
  85. package/PickersDay/PickersDay.js +1 -1
  86. package/PickersLayout/PickersLayout.d.ts +2 -1
  87. package/PickersLayout/PickersLayout.js +6 -0
  88. package/PickersLayout/PickersLayout.types.d.ts +13 -6
  89. package/PickersLayout/usePickerLayout.d.ts +2 -1
  90. package/PickersSectionList/PickersSectionList.d.ts +4 -4
  91. package/PickersSectionList/PickersSectionList.js +1 -2
  92. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  93. package/PickersTextField/PickersInput/PickersInput.js +3 -3
  94. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +1 -1
  95. package/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  96. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  97. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  98. package/PickersTextField/PickersTextField.d.ts +1 -1
  99. package/PickersTextField/PickersTextField.js +9 -5
  100. package/StaticDatePicker/StaticDatePicker.d.ts +2 -1
  101. package/StaticDatePicker/StaticDatePicker.js +5 -6
  102. package/StaticDatePicker/StaticDatePicker.types.d.ts +4 -4
  103. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +2 -1
  104. package/StaticDateTimePicker/StaticDateTimePicker.js +9 -10
  105. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +4 -4
  106. package/StaticTimePicker/StaticTimePicker.d.ts +2 -1
  107. package/StaticTimePicker/StaticTimePicker.js +5 -5
  108. package/StaticTimePicker/StaticTimePicker.types.d.ts +4 -4
  109. package/TimeClock/Clock.d.ts +3 -3
  110. package/TimeClock/ClockNumbers.d.ts +4 -4
  111. package/TimeClock/TimeClock.d.ts +2 -1
  112. package/TimeClock/TimeClock.js +5 -5
  113. package/TimeClock/TimeClock.types.d.ts +3 -3
  114. package/TimeField/TimeField.d.ts +2 -1
  115. package/TimeField/TimeField.js +16 -14
  116. package/TimeField/TimeField.types.d.ts +12 -15
  117. package/TimeField/index.d.ts +1 -1
  118. package/TimeField/useTimeField.d.ts +3 -2
  119. package/TimeField/useTimeField.js +1 -13
  120. package/TimePicker/TimePicker.d.ts +2 -1
  121. package/TimePicker/TimePicker.js +14 -13
  122. package/TimePicker/TimePicker.types.d.ts +5 -4
  123. package/TimePicker/TimePickerToolbar.d.ts +7 -5
  124. package/TimePicker/TimePickerToolbar.js +12 -4
  125. package/TimePicker/shared.d.ts +5 -5
  126. package/YearCalendar/YearCalendar.d.ts +2 -1
  127. package/YearCalendar/YearCalendar.js +5 -5
  128. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  129. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +3 -2
  130. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  131. package/hooks/index.d.ts +1 -1
  132. package/hooks/useClearableField.d.ts +10 -2
  133. package/index.js +1 -1
  134. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +3 -0
  135. package/internals/components/PickersPopper.d.ts +3 -0
  136. package/internals/components/PickersPopper.js +1 -2
  137. package/internals/demo/DemoContainer.js +6 -5
  138. package/internals/hooks/date-helpers-hooks.d.ts +5 -5
  139. package/internals/hooks/defaultizedFieldProps.d.ts +19 -0
  140. package/internals/hooks/defaultizedFieldProps.js +43 -0
  141. package/internals/hooks/useClockReferenceDate.d.ts +3 -3
  142. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -1
  143. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  144. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -15
  145. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +16 -0
  146. package/internals/hooks/useField/buildSectionsFromFormat.js +251 -0
  147. package/internals/hooks/useField/index.d.ts +2 -2
  148. package/internals/hooks/useField/index.js +1 -1
  149. package/internals/hooks/useField/useField.d.ts +4 -4
  150. package/internals/hooks/useField/useField.js +82 -309
  151. package/internals/hooks/useField/useField.types.d.ts +96 -60
  152. package/internals/hooks/useField/useField.utils.d.ts +20 -20
  153. package/internals/hooks/useField/useField.utils.js +78 -228
  154. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +8 -7
  155. package/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  156. package/internals/hooks/useField/useFieldState.d.ts +13 -11
  157. package/internals/hooks/useField/useFieldState.js +45 -61
  158. package/internals/hooks/useField/useFieldV6TextField.d.ts +25 -0
  159. package/internals/hooks/useField/useFieldV6TextField.js +324 -0
  160. package/internals/hooks/useField/useFieldV7TextField.d.ts +2 -0
  161. package/internals/hooks/useField/useFieldV7TextField.js +402 -0
  162. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -1
  163. package/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  164. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +14 -14
  165. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  166. package/internals/hooks/usePicker/usePicker.js +3 -3
  167. package/internals/hooks/usePicker/usePicker.types.d.ts +4 -4
  168. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  169. package/internals/hooks/usePicker/usePickerValue.js +2 -18
  170. package/internals/hooks/usePicker/usePickerValue.types.d.ts +6 -7
  171. package/internals/hooks/usePicker/usePickerViews.d.ts +6 -6
  172. package/internals/hooks/usePicker/usePickerViews.js +5 -6
  173. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -1
  174. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  175. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -6
  176. package/internals/hooks/useUtils.d.ts +6 -6
  177. package/internals/hooks/useValidation.d.ts +3 -2
  178. package/internals/hooks/useValueWithTimezone.d.ts +3 -3
  179. package/internals/hooks/useViews.d.ts +2 -1
  180. package/internals/index.d.ts +5 -4
  181. package/internals/index.js +2 -1
  182. package/internals/models/fields.d.ts +3 -5
  183. package/internals/models/helpers.d.ts +1 -0
  184. package/internals/models/props/basePickerProps.d.ts +5 -9
  185. package/internals/models/props/clock.d.ts +4 -4
  186. package/internals/models/props/tabs.d.ts +6 -0
  187. package/internals/models/props/toolbar.d.ts +3 -0
  188. package/internals/models/validation.d.ts +7 -7
  189. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +1 -1
  190. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  191. package/internals/utils/date-time-utils.d.ts +5 -5
  192. package/internals/utils/date-utils.d.ts +12 -12
  193. package/internals/utils/fields.js +1 -1
  194. package/internals/utils/getDefaultReferenceDate.d.ts +3 -3
  195. package/internals/utils/time-utils.d.ts +6 -6
  196. package/internals/utils/validation/validateDate.d.ts +2 -2
  197. package/internals/utils/validation/validateDateTime.d.ts +2 -2
  198. package/internals/utils/validation/validateTime.d.ts +2 -2
  199. package/internals/utils/valueManagers.d.ts +2 -2
  200. package/internals/utils/valueManagers.js +5 -4
  201. package/locales/beBY.d.ts +15 -6
  202. package/locales/beBY.js +13 -0
  203. package/locales/caES.d.ts +15 -6
  204. package/locales/caES.js +13 -0
  205. package/locales/csCZ.d.ts +15 -6
  206. package/locales/csCZ.js +13 -0
  207. package/locales/daDK.d.ts +15 -6
  208. package/locales/daDK.js +13 -0
  209. package/locales/deDE.d.ts +15 -6
  210. package/locales/deDE.js +13 -0
  211. package/locales/elGR.d.ts +15 -6
  212. package/locales/elGR.js +13 -0
  213. package/locales/enUS.d.ts +15 -6
  214. package/locales/enUS.js +12 -1
  215. package/locales/esES.d.ts +15 -6
  216. package/locales/esES.js +13 -0
  217. package/locales/eu.d.ts +15 -6
  218. package/locales/eu.js +13 -0
  219. package/locales/faIR.d.ts +15 -6
  220. package/locales/faIR.js +13 -0
  221. package/locales/fiFI.d.ts +15 -6
  222. package/locales/fiFI.js +13 -0
  223. package/locales/frFR.d.ts +15 -6
  224. package/locales/frFR.js +13 -0
  225. package/locales/heIL.d.ts +15 -6
  226. package/locales/heIL.js +13 -0
  227. package/locales/huHU.d.ts +15 -6
  228. package/locales/huHU.js +13 -0
  229. package/locales/isIS.d.ts +15 -6
  230. package/locales/isIS.js +13 -0
  231. package/locales/itIT.d.ts +15 -6
  232. package/locales/itIT.js +13 -0
  233. package/locales/jaJP.d.ts +15 -6
  234. package/locales/jaJP.js +13 -0
  235. package/locales/koKR.d.ts +15 -6
  236. package/locales/koKR.js +13 -0
  237. package/locales/kzKZ.d.ts +15 -6
  238. package/locales/kzKZ.js +13 -0
  239. package/locales/mk.d.ts +15 -6
  240. package/locales/mk.js +13 -0
  241. package/locales/nbNO.d.ts +15 -6
  242. package/locales/nbNO.js +13 -0
  243. package/locales/nlNL.d.ts +15 -6
  244. package/locales/nlNL.js +13 -0
  245. package/locales/plPL.d.ts +15 -6
  246. package/locales/plPL.js +13 -0
  247. package/locales/ptBR.d.ts +15 -6
  248. package/locales/ptBR.js +13 -0
  249. package/locales/roRO.d.ts +15 -6
  250. package/locales/roRO.js +13 -0
  251. package/locales/ruRU.d.ts +15 -6
  252. package/locales/ruRU.js +13 -0
  253. package/locales/skSK.d.ts +15 -6
  254. package/locales/skSK.js +13 -0
  255. package/locales/svSE.d.ts +15 -6
  256. package/locales/svSE.js +13 -0
  257. package/locales/trTR.d.ts +15 -6
  258. package/locales/trTR.js +13 -0
  259. package/locales/ukUA.d.ts +15 -6
  260. package/locales/ukUA.js +13 -0
  261. package/locales/urPK.d.ts +15 -6
  262. package/locales/urPK.js +13 -0
  263. package/locales/utils/getPickersLocalization.d.ts +15 -6
  264. package/locales/utils/pickersLocaleTextApi.d.ts +15 -6
  265. package/locales/viVN.d.ts +15 -6
  266. package/locales/viVN.js +13 -0
  267. package/locales/zhCN.d.ts +15 -6
  268. package/locales/zhCN.js +13 -0
  269. package/locales/zhHK.d.ts +15 -6
  270. package/locales/zhHK.js +13 -0
  271. package/models/adapters.d.ts +15 -1
  272. package/models/fields.d.ts +48 -32
  273. package/models/pickers.d.ts +3 -0
  274. package/modern/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  275. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -1
  276. package/modern/AdapterDayjs/AdapterDayjs.js +6 -1
  277. package/modern/AdapterLuxon/AdapterLuxon.js +7 -2
  278. package/modern/AdapterMoment/AdapterMoment.js +4 -1
  279. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +3 -1
  280. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -1
  281. package/modern/DateCalendar/DateCalendar.js +8 -6
  282. package/modern/DateCalendar/DayCalendar.js +1 -1
  283. package/modern/DateField/DateField.js +16 -14
  284. package/modern/DateField/useDateField.js +1 -14
  285. package/modern/DatePicker/DatePicker.js +14 -14
  286. package/modern/DatePicker/DatePickerToolbar.js +12 -4
  287. package/modern/DateTimeField/DateTimeField.js +20 -18
  288. package/modern/DateTimeField/useDateTimeField.js +1 -19
  289. package/modern/DateTimePicker/DateTimePicker.js +18 -18
  290. package/modern/DateTimePicker/DateTimePickerTabs.js +7 -1
  291. package/modern/DateTimePicker/DateTimePickerToolbar.js +4 -1
  292. package/modern/DesktopDatePicker/DesktopDatePicker.js +14 -14
  293. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  294. package/modern/DesktopTimePicker/DesktopTimePicker.js +14 -13
  295. package/modern/DigitalClock/DigitalClock.js +5 -5
  296. package/modern/LocalizationProvider/LocalizationProvider.js +1 -0
  297. package/modern/MobileDatePicker/MobileDatePicker.js +14 -14
  298. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  299. package/modern/MobileTimePicker/MobileTimePicker.js +14 -13
  300. package/modern/MonthCalendar/MonthCalendar.js +5 -5
  301. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  302. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  303. package/modern/PickersDay/PickersDay.js +1 -1
  304. package/modern/PickersLayout/PickersLayout.js +6 -0
  305. package/modern/PickersSectionList/PickersSectionList.js +1 -2
  306. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  307. package/modern/PickersTextField/PickersInput/PickersInput.js +3 -3
  308. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  309. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  310. package/modern/PickersTextField/PickersTextField.js +9 -5
  311. package/modern/StaticDatePicker/StaticDatePicker.js +5 -6
  312. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +9 -10
  313. package/modern/StaticTimePicker/StaticTimePicker.js +5 -5
  314. package/modern/TimeClock/TimeClock.js +5 -5
  315. package/modern/TimeField/TimeField.js +16 -14
  316. package/modern/TimeField/useTimeField.js +1 -12
  317. package/modern/TimePicker/TimePicker.js +14 -13
  318. package/modern/TimePicker/TimePickerToolbar.js +12 -4
  319. package/modern/YearCalendar/YearCalendar.js +5 -5
  320. package/modern/index.js +1 -1
  321. package/modern/internals/components/PickersPopper.js +1 -2
  322. package/modern/internals/demo/DemoContainer.js +6 -5
  323. package/modern/internals/hooks/defaultizedFieldProps.js +40 -0
  324. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  325. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +251 -0
  326. package/modern/internals/hooks/useField/index.js +1 -1
  327. package/modern/internals/hooks/useField/useField.js +82 -303
  328. package/modern/internals/hooks/useField/useField.utils.js +78 -228
  329. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  330. package/modern/internals/hooks/useField/useFieldState.js +45 -61
  331. package/modern/internals/hooks/useField/useFieldV6TextField.js +318 -0
  332. package/modern/internals/hooks/useField/useFieldV7TextField.js +400 -0
  333. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  334. package/modern/internals/hooks/usePicker/usePicker.js +3 -3
  335. package/modern/internals/hooks/usePicker/usePickerValue.js +2 -18
  336. package/modern/internals/hooks/usePicker/usePickerViews.js +4 -6
  337. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  338. package/modern/internals/index.js +2 -1
  339. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  340. package/modern/internals/utils/fields.js +1 -1
  341. package/modern/internals/utils/valueManagers.js +5 -4
  342. package/modern/locales/beBY.js +13 -0
  343. package/modern/locales/caES.js +13 -0
  344. package/modern/locales/csCZ.js +13 -0
  345. package/modern/locales/daDK.js +13 -0
  346. package/modern/locales/deDE.js +13 -0
  347. package/modern/locales/elGR.js +13 -0
  348. package/modern/locales/enUS.js +12 -1
  349. package/modern/locales/esES.js +13 -0
  350. package/modern/locales/eu.js +13 -0
  351. package/modern/locales/faIR.js +13 -0
  352. package/modern/locales/fiFI.js +13 -0
  353. package/modern/locales/frFR.js +13 -0
  354. package/modern/locales/heIL.js +13 -0
  355. package/modern/locales/huHU.js +13 -0
  356. package/modern/locales/isIS.js +13 -0
  357. package/modern/locales/itIT.js +13 -0
  358. package/modern/locales/jaJP.js +13 -0
  359. package/modern/locales/koKR.js +13 -0
  360. package/modern/locales/kzKZ.js +13 -0
  361. package/modern/locales/mk.js +13 -0
  362. package/modern/locales/nbNO.js +13 -0
  363. package/modern/locales/nlNL.js +13 -0
  364. package/modern/locales/plPL.js +13 -0
  365. package/modern/locales/ptBR.js +13 -0
  366. package/modern/locales/roRO.js +13 -0
  367. package/modern/locales/ruRU.js +13 -0
  368. package/modern/locales/skSK.js +13 -0
  369. package/modern/locales/svSE.js +13 -0
  370. package/modern/locales/trTR.js +13 -0
  371. package/modern/locales/ukUA.js +13 -0
  372. package/modern/locales/urPK.js +13 -0
  373. package/modern/locales/viVN.js +13 -0
  374. package/modern/locales/zhCN.js +13 -0
  375. package/modern/locales/zhHK.js +13 -0
  376. package/node/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  377. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -1
  378. package/node/AdapterDayjs/AdapterDayjs.js +6 -1
  379. package/node/AdapterLuxon/AdapterLuxon.js +7 -2
  380. package/node/AdapterMoment/AdapterMoment.js +4 -1
  381. package/node/AdapterMomentHijri/AdapterMomentHijri.js +3 -1
  382. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -1
  383. package/node/DateCalendar/DateCalendar.js +8 -6
  384. package/node/DateCalendar/DayCalendar.js +1 -1
  385. package/node/DateField/DateField.js +16 -14
  386. package/node/DateField/useDateField.js +2 -16
  387. package/node/DatePicker/DatePicker.js +14 -14
  388. package/node/DatePicker/DatePickerToolbar.js +12 -4
  389. package/node/DateTimeField/DateTimeField.js +20 -18
  390. package/node/DateTimeField/useDateTimeField.js +2 -21
  391. package/node/DateTimePicker/DateTimePicker.js +18 -18
  392. package/node/DateTimePicker/DateTimePickerTabs.js +7 -1
  393. package/node/DateTimePicker/DateTimePickerToolbar.js +4 -1
  394. package/node/DesktopDatePicker/DesktopDatePicker.js +14 -14
  395. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  396. package/node/DesktopTimePicker/DesktopTimePicker.js +14 -13
  397. package/node/DigitalClock/DigitalClock.js +5 -5
  398. package/node/LocalizationProvider/LocalizationProvider.js +1 -0
  399. package/node/MobileDatePicker/MobileDatePicker.js +14 -14
  400. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  401. package/node/MobileTimePicker/MobileTimePicker.js +14 -13
  402. package/node/MonthCalendar/MonthCalendar.js +5 -5
  403. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  404. package/node/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  405. package/node/PickersDay/PickersDay.js +1 -1
  406. package/node/PickersLayout/PickersLayout.js +6 -0
  407. package/node/PickersSectionList/PickersSectionList.js +4 -5
  408. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  409. package/node/PickersTextField/PickersInput/PickersInput.js +3 -3
  410. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  411. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  412. package/node/PickersTextField/PickersTextField.js +9 -5
  413. package/node/StaticDatePicker/StaticDatePicker.js +5 -6
  414. package/node/StaticDateTimePicker/StaticDateTimePicker.js +9 -10
  415. package/node/StaticTimePicker/StaticTimePicker.js +5 -5
  416. package/node/TimeClock/TimeClock.js +5 -5
  417. package/node/TimeField/TimeField.js +16 -14
  418. package/node/TimeField/useTimeField.js +2 -14
  419. package/node/TimePicker/TimePicker.js +14 -13
  420. package/node/TimePicker/TimePickerToolbar.js +12 -4
  421. package/node/YearCalendar/YearCalendar.js +5 -5
  422. package/node/index.js +1 -1
  423. package/node/internals/components/PickersPopper.js +1 -2
  424. package/node/internals/demo/DemoContainer.js +6 -5
  425. package/node/internals/hooks/defaultizedFieldProps.js +50 -0
  426. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  427. package/node/internals/hooks/useField/buildSectionsFromFormat.js +259 -0
  428. package/node/internals/hooks/useField/index.js +4 -10
  429. package/node/internals/hooks/useField/useField.js +81 -302
  430. package/node/internals/hooks/useField/useField.utils.js +86 -236
  431. package/node/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  432. package/node/internals/hooks/useField/useFieldState.js +44 -60
  433. package/node/internals/hooks/useField/useFieldV6TextField.js +329 -0
  434. package/node/internals/hooks/useField/useFieldV7TextField.js +410 -0
  435. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  436. package/node/internals/hooks/usePicker/usePicker.js +3 -3
  437. package/node/internals/hooks/usePicker/usePickerValue.js +2 -18
  438. package/node/internals/hooks/usePicker/usePickerViews.js +4 -6
  439. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  440. package/node/internals/index.js +27 -8
  441. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  442. package/node/internals/utils/fields.js +1 -1
  443. package/node/internals/utils/valueManagers.js +4 -3
  444. package/node/locales/beBY.js +13 -0
  445. package/node/locales/caES.js +13 -0
  446. package/node/locales/csCZ.js +13 -0
  447. package/node/locales/daDK.js +13 -0
  448. package/node/locales/deDE.js +13 -0
  449. package/node/locales/elGR.js +13 -0
  450. package/node/locales/enUS.js +12 -1
  451. package/node/locales/esES.js +13 -0
  452. package/node/locales/eu.js +13 -0
  453. package/node/locales/faIR.js +13 -0
  454. package/node/locales/fiFI.js +13 -0
  455. package/node/locales/frFR.js +13 -0
  456. package/node/locales/heIL.js +13 -0
  457. package/node/locales/huHU.js +13 -0
  458. package/node/locales/isIS.js +13 -0
  459. package/node/locales/itIT.js +13 -0
  460. package/node/locales/jaJP.js +13 -0
  461. package/node/locales/koKR.js +13 -0
  462. package/node/locales/kzKZ.js +13 -0
  463. package/node/locales/mk.js +13 -0
  464. package/node/locales/nbNO.js +13 -0
  465. package/node/locales/nlNL.js +13 -0
  466. package/node/locales/plPL.js +13 -0
  467. package/node/locales/ptBR.js +13 -0
  468. package/node/locales/roRO.js +13 -0
  469. package/node/locales/ruRU.js +13 -0
  470. package/node/locales/skSK.js +13 -0
  471. package/node/locales/svSE.js +13 -0
  472. package/node/locales/trTR.js +13 -0
  473. package/node/locales/ukUA.js +13 -0
  474. package/node/locales/urPK.js +13 -0
  475. package/node/locales/viVN.js +13 -0
  476. package/node/locales/zhCN.js +13 -0
  477. package/node/locales/zhHK.js +13 -0
  478. package/package.json +4 -4
  479. package/themeAugmentation/props.d.ts +31 -31
  480. package/timeViewRenderers/timeViewRenderers.d.ts +4 -4
  481. package/legacy/AdapterDateFns/AdapterDateFns.js +0 -298
  482. package/legacy/AdapterDateFns/index.js +0 -1
  483. package/legacy/AdapterDateFnsBase/AdapterDateFnsBase.js +0 -293
  484. package/legacy/AdapterDateFnsBase/index.js +0 -1
  485. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +0 -548
  486. package/legacy/AdapterDateFnsJalali/index.js +0 -1
  487. package/legacy/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -306
  488. package/legacy/AdapterDateFnsV3/index.js +0 -1
  489. package/legacy/AdapterDayjs/AdapterDayjs.js +0 -569
  490. package/legacy/AdapterDayjs/index.js +0 -1
  491. package/legacy/AdapterLuxon/AdapterLuxon.js +0 -509
  492. package/legacy/AdapterLuxon/index.js +0 -1
  493. package/legacy/AdapterMoment/AdapterMoment.js +0 -482
  494. package/legacy/AdapterMoment/index.js +0 -1
  495. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +0 -239
  496. package/legacy/AdapterMomentHijri/index.js +0 -1
  497. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -236
  498. package/legacy/AdapterMomentJalaali/index.js +0 -1
  499. package/legacy/DateCalendar/DateCalendar.js +0 -573
  500. package/legacy/DateCalendar/DateCalendar.types.js +0 -1
  501. package/legacy/DateCalendar/DayCalendar.js +0 -515
  502. package/legacy/DateCalendar/PickersFadeTransitionGroup.js +0 -58
  503. package/legacy/DateCalendar/PickersSlideTransition.js +0 -118
  504. package/legacy/DateCalendar/dateCalendarClasses.js +0 -5
  505. package/legacy/DateCalendar/dayCalendarClasses.js +0 -5
  506. package/legacy/DateCalendar/index.js +0 -5
  507. package/legacy/DateCalendar/pickersFadeTransitionGroupClasses.js +0 -5
  508. package/legacy/DateCalendar/pickersSlideTransitionClasses.js +0 -5
  509. package/legacy/DateCalendar/useCalendarState.js +0 -124
  510. package/legacy/DateCalendar/useIsDateDisabled.js +0 -30
  511. package/legacy/DateField/DateField.js +0 -319
  512. package/legacy/DateField/DateField.types.js +0 -1
  513. package/legacy/DateField/index.js +0 -2
  514. package/legacy/DateField/useDateField.js +0 -33
  515. package/legacy/DatePicker/DatePicker.js +0 -353
  516. package/legacy/DatePicker/DatePicker.types.js +0 -1
  517. package/legacy/DatePicker/DatePickerToolbar.js +0 -132
  518. package/legacy/DatePicker/datePickerToolbarClasses.js +0 -5
  519. package/legacy/DatePicker/index.js +0 -3
  520. package/legacy/DatePicker/shared.js +0 -41
  521. package/legacy/DateTimeField/DateTimeField.js +0 -360
  522. package/legacy/DateTimeField/DateTimeField.types.js +0 -1
  523. package/legacy/DateTimeField/index.js +0 -2
  524. package/legacy/DateTimeField/useDateTimeField.js +0 -38
  525. package/legacy/DateTimePicker/DateTimePicker.js +0 -424
  526. package/legacy/DateTimePicker/DateTimePicker.types.js +0 -1
  527. package/legacy/DateTimePicker/DateTimePickerTabs.js +0 -142
  528. package/legacy/DateTimePicker/DateTimePickerToolbar.js +0 -385
  529. package/legacy/DateTimePicker/dateTimePickerTabsClasses.js +0 -5
  530. package/legacy/DateTimePicker/dateTimePickerToolbarClasses.js +0 -5
  531. package/legacy/DateTimePicker/index.js +0 -5
  532. package/legacy/DateTimePicker/shared.js +0 -56
  533. package/legacy/DayCalendarSkeleton/DayCalendarSkeleton.js +0 -119
  534. package/legacy/DayCalendarSkeleton/dayCalendarSkeletonClasses.js +0 -5
  535. package/legacy/DayCalendarSkeleton/index.js +0 -2
  536. package/legacy/DesktopDatePicker/DesktopDatePicker.js +0 -372
  537. package/legacy/DesktopDatePicker/DesktopDatePicker.types.js +0 -1
  538. package/legacy/DesktopDatePicker/index.js +0 -1
  539. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -480
  540. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -1
  541. package/legacy/DesktopDateTimePicker/index.js +0 -1
  542. package/legacy/DesktopTimePicker/DesktopTimePicker.js +0 -355
  543. package/legacy/DesktopTimePicker/DesktopTimePicker.types.js +0 -1
  544. package/legacy/DesktopTimePicker/index.js +0 -1
  545. package/legacy/DigitalClock/DigitalClock.js +0 -443
  546. package/legacy/DigitalClock/DigitalClock.types.js +0 -1
  547. package/legacy/DigitalClock/digitalClockClasses.js +0 -6
  548. package/legacy/DigitalClock/index.js +0 -2
  549. package/legacy/LocalizationProvider/LocalizationProvider.js +0 -140
  550. package/legacy/LocalizationProvider/index.js +0 -1
  551. package/legacy/MobileDatePicker/MobileDatePicker.js +0 -369
  552. package/legacy/MobileDatePicker/MobileDatePicker.types.js +0 -1
  553. package/legacy/MobileDatePicker/index.js +0 -1
  554. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +0 -428
  555. package/legacy/MobileDateTimePicker/MobileDateTimePicker.types.js +0 -1
  556. package/legacy/MobileDateTimePicker/index.js +0 -1
  557. package/legacy/MobileTimePicker/MobileTimePicker.js +0 -311
  558. package/legacy/MobileTimePicker/MobileTimePicker.types.js +0 -1
  559. package/legacy/MobileTimePicker/index.js +0 -1
  560. package/legacy/MonthCalendar/MonthCalendar.js +0 -338
  561. package/legacy/MonthCalendar/MonthCalendar.types.js +0 -1
  562. package/legacy/MonthCalendar/PickersMonth.js +0 -135
  563. package/legacy/MonthCalendar/index.js +0 -3
  564. package/legacy/MonthCalendar/monthCalendarClasses.js +0 -5
  565. package/legacy/MonthCalendar/pickersMonthClasses.js +0 -5
  566. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +0 -521
  567. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +0 -1
  568. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +0 -76
  569. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +0 -173
  570. package/legacy/MultiSectionDigitalClock/index.js +0 -3
  571. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +0 -6
  572. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +0 -6
  573. package/legacy/PickersActionBar/PickersActionBar.js +0 -86
  574. package/legacy/PickersActionBar/index.js +0 -1
  575. package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +0 -284
  576. package/legacy/PickersCalendarHeader/PickersCalendarHeader.types.js +0 -1
  577. package/legacy/PickersCalendarHeader/index.js +0 -2
  578. package/legacy/PickersCalendarHeader/pickersCalendarHeaderClasses.js +0 -5
  579. package/legacy/PickersDay/PickersDay.js +0 -367
  580. package/legacy/PickersDay/index.js +0 -2
  581. package/legacy/PickersDay/pickersDayClasses.js +0 -5
  582. package/legacy/PickersLayout/PickersLayout.js +0 -159
  583. package/legacy/PickersLayout/PickersLayout.types.js +0 -1
  584. package/legacy/PickersLayout/index.js +0 -3
  585. package/legacy/PickersLayout/pickersLayoutClasses.js +0 -6
  586. package/legacy/PickersLayout/usePickerLayout.js +0 -134
  587. package/legacy/PickersSectionList/PickersSectionList.js +0 -235
  588. package/legacy/PickersSectionList/PickersSectionList.types.js +0 -1
  589. package/legacy/PickersSectionList/index.js +0 -2
  590. package/legacy/PickersSectionList/pickersSectionListClasses.js +0 -6
  591. package/legacy/PickersShortcuts/PickersShortcuts.js +0 -110
  592. package/legacy/PickersShortcuts/index.js +0 -1
  593. package/legacy/PickersTextField/PickersFilledInput/PickersFilledInput.js +0 -234
  594. package/legacy/PickersTextField/PickersFilledInput/index.js +0 -2
  595. package/legacy/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js +0 -8
  596. package/legacy/PickersTextField/PickersInput/PickersInput.js +0 -190
  597. package/legacy/PickersTextField/PickersInput/index.js +0 -2
  598. package/legacy/PickersTextField/PickersInput/pickersInputClasses.js +0 -8
  599. package/legacy/PickersTextField/PickersInputBase/PickersInputBase.js +0 -340
  600. package/legacy/PickersTextField/PickersInputBase/PickersInputBase.types.js +0 -1
  601. package/legacy/PickersTextField/PickersInputBase/index.js +0 -2
  602. package/legacy/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +0 -6
  603. package/legacy/PickersTextField/PickersOutlinedInput/Outline.js +0 -121
  604. package/legacy/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +0 -183
  605. package/legacy/PickersTextField/PickersOutlinedInput/index.js +0 -2
  606. package/legacy/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js +0 -8
  607. package/legacy/PickersTextField/PickersTextField.js +0 -258
  608. package/legacy/PickersTextField/PickersTextField.types.js +0 -1
  609. package/legacy/PickersTextField/index.js +0 -6
  610. package/legacy/PickersTextField/pickersTextFieldClasses.js +0 -6
  611. package/legacy/StaticDatePicker/StaticDatePicker.js +0 -297
  612. package/legacy/StaticDatePicker/StaticDatePicker.types.js +0 -1
  613. package/legacy/StaticDatePicker/index.js +0 -1
  614. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +0 -356
  615. package/legacy/StaticDateTimePicker/StaticDateTimePicker.types.js +0 -1
  616. package/legacy/StaticDateTimePicker/index.js +0 -1
  617. package/legacy/StaticTimePicker/StaticTimePicker.js +0 -238
  618. package/legacy/StaticTimePicker/StaticTimePicker.types.js +0 -1
  619. package/legacy/StaticTimePicker/index.js +0 -1
  620. package/legacy/TimeClock/Clock.js +0 -358
  621. package/legacy/TimeClock/ClockNumber.js +0 -87
  622. package/legacy/TimeClock/ClockNumbers.js +0 -73
  623. package/legacy/TimeClock/ClockPointer.js +0 -106
  624. package/legacy/TimeClock/TimeClock.js +0 -481
  625. package/legacy/TimeClock/TimeClock.types.js +0 -1
  626. package/legacy/TimeClock/clockClasses.js +0 -5
  627. package/legacy/TimeClock/clockNumberClasses.js +0 -5
  628. package/legacy/TimeClock/clockPointerClasses.js +0 -5
  629. package/legacy/TimeClock/index.js +0 -5
  630. package/legacy/TimeClock/shared.js +0 -53
  631. package/legacy/TimeClock/timeClockClasses.js +0 -5
  632. package/legacy/TimeField/TimeField.js +0 -320
  633. package/legacy/TimeField/TimeField.types.js +0 -1
  634. package/legacy/TimeField/index.js +0 -2
  635. package/legacy/TimeField/useTimeField.js +0 -31
  636. package/legacy/TimePicker/TimePicker.js +0 -314
  637. package/legacy/TimePicker/TimePicker.types.js +0 -1
  638. package/legacy/TimePicker/TimePickerToolbar.js +0 -260
  639. package/legacy/TimePicker/index.js +0 -3
  640. package/legacy/TimePicker/shared.js +0 -45
  641. package/legacy/TimePicker/timePickerToolbarClasses.js +0 -5
  642. package/legacy/YearCalendar/PickersYear.js +0 -137
  643. package/legacy/YearCalendar/YearCalendar.js +0 -362
  644. package/legacy/YearCalendar/YearCalendar.types.js +0 -1
  645. package/legacy/YearCalendar/index.js +0 -3
  646. package/legacy/YearCalendar/pickersYearClasses.js +0 -5
  647. package/legacy/YearCalendar/yearCalendarClasses.js +0 -5
  648. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -162
  649. package/legacy/dateTimeViewRenderers/index.js +0 -1
  650. package/legacy/dateViewRenderers/dateViewRenderers.js +0 -82
  651. package/legacy/dateViewRenderers/index.js +0 -1
  652. package/legacy/hooks/index.js +0 -1
  653. package/legacy/hooks/useClearableField.js +0 -76
  654. package/legacy/icons/index.js +0 -68
  655. package/legacy/index.js +0 -59
  656. package/legacy/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +0 -5
  657. package/legacy/internals/components/DateTimeViewWrapper/index.js +0 -1
  658. package/legacy/internals/components/PickerViewRoot/PickerViewRoot.js +0 -10
  659. package/legacy/internals/components/PickerViewRoot/index.js +0 -1
  660. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +0 -170
  661. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.js +0 -1
  662. package/legacy/internals/components/PickersArrowSwitcher/index.js +0 -2
  663. package/legacy/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js +0 -5
  664. package/legacy/internals/components/PickersModalDialog.js +0 -42
  665. package/legacy/internals/components/PickersPopper.js +0 -325
  666. package/legacy/internals/components/PickersToolbar.js +0 -92
  667. package/legacy/internals/components/PickersToolbarButton.js +0 -61
  668. package/legacy/internals/components/PickersToolbarText.js +0 -52
  669. package/legacy/internals/components/pickersPopperClasses.js +0 -5
  670. package/legacy/internals/components/pickersToolbarButtonClasses.js +0 -5
  671. package/legacy/internals/components/pickersToolbarClasses.js +0 -5
  672. package/legacy/internals/components/pickersToolbarTextClasses.js +0 -5
  673. package/legacy/internals/constants/dimensions.js +0 -7
  674. package/legacy/internals/demo/DemoContainer.js +0 -163
  675. package/legacy/internals/demo/index.js +0 -1
  676. package/legacy/internals/hooks/date-helpers-hooks.js +0 -37
  677. package/legacy/internals/hooks/useClockReferenceDate.js +0 -28
  678. package/legacy/internals/hooks/useDefaultReduceAnimations.js +0 -14
  679. package/legacy/internals/hooks/useDesktopPicker/index.js +0 -1
  680. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +0 -174
  681. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.types.js +0 -1
  682. package/legacy/internals/hooks/useField/index.js +0 -2
  683. package/legacy/internals/hooks/useField/useField.js +0 -470
  684. package/legacy/internals/hooks/useField/useField.types.js +0 -1
  685. package/legacy/internals/hooks/useField/useField.utils.js +0 -828
  686. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +0 -277
  687. package/legacy/internals/hooks/useField/useFieldState.js +0 -321
  688. package/legacy/internals/hooks/useIsLandscape.js +0 -39
  689. package/legacy/internals/hooks/useMobilePicker/index.js +0 -1
  690. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +0 -126
  691. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.types.js +0 -1
  692. package/legacy/internals/hooks/useOpenState.js +0 -38
  693. package/legacy/internals/hooks/usePicker/index.js +0 -1
  694. package/legacy/internals/hooks/usePicker/usePicker.js +0 -54
  695. package/legacy/internals/hooks/usePicker/usePicker.types.js +0 -1
  696. package/legacy/internals/hooks/usePicker/usePickerLayoutProps.js +0 -28
  697. package/legacy/internals/hooks/usePicker/usePickerValue.js +0 -365
  698. package/legacy/internals/hooks/usePicker/usePickerValue.types.js +0 -1
  699. package/legacy/internals/hooks/usePicker/usePickerViews.js +0 -172
  700. package/legacy/internals/hooks/useStaticPicker/index.js +0 -1
  701. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.js +0 -66
  702. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.types.js +0 -1
  703. package/legacy/internals/hooks/useUtils.js +0 -38
  704. package/legacy/internals/hooks/useValidation.js +0 -20
  705. package/legacy/internals/hooks/useValueWithTimezone.js +0 -81
  706. package/legacy/internals/hooks/useViews.js +0 -124
  707. package/legacy/internals/index.js +0 -35
  708. package/legacy/internals/models/common.js +0 -1
  709. package/legacy/internals/models/fields.js +0 -1
  710. package/legacy/internals/models/helpers.js +0 -1
  711. package/legacy/internals/models/index.js +0 -2
  712. package/legacy/internals/models/props/basePickerProps.js +0 -1
  713. package/legacy/internals/models/props/clock.js +0 -1
  714. package/legacy/internals/models/props/tabs.js +0 -1
  715. package/legacy/internals/models/props/toolbar.js +0 -1
  716. package/legacy/internals/models/validation.js +0 -1
  717. package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -24
  718. package/legacy/internals/utils/date-time-utils.js +0 -71
  719. package/legacy/internals/utils/date-utils.js +0 -129
  720. package/legacy/internals/utils/fields.js +0 -28
  721. package/legacy/internals/utils/getDefaultReferenceDate.js +0 -65
  722. package/legacy/internals/utils/time-utils.js +0 -63
  723. package/legacy/internals/utils/utils.js +0 -40
  724. package/legacy/internals/utils/validation/extractValidationProps.js +0 -16
  725. package/legacy/internals/utils/validation/validateDate.js +0 -38
  726. package/legacy/internals/utils/validation/validateDateTime.js +0 -20
  727. package/legacy/internals/utils/validation/validateTime.js +0 -42
  728. package/legacy/internals/utils/valueManagers.js +0 -67
  729. package/legacy/internals/utils/views.js +0 -29
  730. package/legacy/internals/utils/warning.js +0 -39
  731. package/legacy/locales/beBY.js +0 -99
  732. package/legacy/locales/caES.js +0 -100
  733. package/legacy/locales/csCZ.js +0 -100
  734. package/legacy/locales/daDK.js +0 -102
  735. package/legacy/locales/deDE.js +0 -101
  736. package/legacy/locales/elGR.js +0 -100
  737. package/legacy/locales/enUS.js +0 -96
  738. package/legacy/locales/esES.js +0 -99
  739. package/legacy/locales/eu.js +0 -99
  740. package/legacy/locales/faIR.js +0 -100
  741. package/legacy/locales/fiFI.js +0 -100
  742. package/legacy/locales/frFR.js +0 -98
  743. package/legacy/locales/heIL.js +0 -100
  744. package/legacy/locales/huHU.js +0 -99
  745. package/legacy/locales/index.js +0 -35
  746. package/legacy/locales/isIS.js +0 -100
  747. package/legacy/locales/itIT.js +0 -98
  748. package/legacy/locales/jaJP.js +0 -102
  749. package/legacy/locales/koKR.js +0 -98
  750. package/legacy/locales/kzKZ.js +0 -99
  751. package/legacy/locales/mk.js +0 -96
  752. package/legacy/locales/nbNO.js +0 -100
  753. package/legacy/locales/nlNL.js +0 -100
  754. package/legacy/locales/plPL.js +0 -85
  755. package/legacy/locales/ptBR.js +0 -100
  756. package/legacy/locales/roRO.js +0 -99
  757. package/legacy/locales/ruRU.js +0 -98
  758. package/legacy/locales/skSK.js +0 -100
  759. package/legacy/locales/svSE.js +0 -85
  760. package/legacy/locales/trTR.js +0 -100
  761. package/legacy/locales/ukUA.js +0 -100
  762. package/legacy/locales/urPK.js +0 -85
  763. package/legacy/locales/utils/getPickersLocalization.js +0 -12
  764. package/legacy/locales/utils/pickersLocaleTextApi.js +0 -1
  765. package/legacy/locales/viVN.js +0 -100
  766. package/legacy/locales/zhCN.js +0 -100
  767. package/legacy/locales/zhHK.js +0 -100
  768. package/legacy/models/adapters.js +0 -1
  769. package/legacy/models/common.js +0 -1
  770. package/legacy/models/fields.js +0 -1
  771. package/legacy/models/index.js +0 -7
  772. package/legacy/models/pickers.js +0 -1
  773. package/legacy/models/timezone.js +0 -1
  774. package/legacy/models/validation.js +0 -1
  775. package/legacy/models/views.js +0 -1
  776. package/legacy/themeAugmentation/index.js +0 -3
  777. package/legacy/timeViewRenderers/index.js +0 -1
  778. package/legacy/timeViewRenderers/timeViewRenderers.js +0 -186
@@ -0,0 +1,402 @@
1
+ import * as React from 'react';
2
+ import useForkRef from '@mui/utils/useForkRef';
3
+ import useEventCallback from '@mui/utils/useEventCallback';
4
+ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
5
+ import useId from '@mui/utils/useId';
6
+ import { getSectionValueNow, getSectionValueText, parseSelectedSections } from './useField.utils';
7
+ import { getActiveElement } from '../../utils/utils';
8
+ import { useLocaleText, useUtils } from '../useUtils';
9
+ export const useFieldV7TextField = params => {
10
+ const {
11
+ internalProps: {
12
+ disabled,
13
+ readOnly = false
14
+ },
15
+ forwardedProps: {
16
+ sectionListRef: inSectionListRef,
17
+ onBlur,
18
+ onClick,
19
+ onFocus,
20
+ onInput,
21
+ onPaste,
22
+ focused: focusedProp,
23
+ autoFocus = false
24
+ },
25
+ fieldValueManager,
26
+ applyCharacterEditing,
27
+ resetCharacterQuery,
28
+ setSelectedSections,
29
+ parsedSelectedSections,
30
+ state,
31
+ clearActiveSection,
32
+ clearValue,
33
+ updateSectionValue,
34
+ updateValueFromValueStr,
35
+ sectionOrder,
36
+ areAllSectionsEmpty,
37
+ sectionsValueBoundaries
38
+ } = params;
39
+ const sectionListRef = React.useRef(null);
40
+ const handleSectionListRef = useForkRef(inSectionListRef, sectionListRef);
41
+ const localeText = useLocaleText();
42
+ const utils = useUtils();
43
+ const id = useId();
44
+ const [focused, setFocused] = React.useState(false);
45
+ const interactions = React.useMemo(() => ({
46
+ syncSelectionToDOM: () => {
47
+ if (!sectionListRef.current) {
48
+ return;
49
+ }
50
+ const selection = document.getSelection();
51
+ if (!selection) {
52
+ return;
53
+ }
54
+ if (parsedSelectedSections == null) {
55
+ // If the selection contains an element inside the field, we reset it.
56
+ if (selection.rangeCount > 0 && sectionListRef.current.getRoot().contains(selection.getRangeAt(0).startContainer)) {
57
+ selection.removeAllRanges();
58
+ }
59
+ if (focused) {
60
+ sectionListRef.current.getRoot().blur();
61
+ }
62
+ return;
63
+ }
64
+
65
+ // On multi input range pickers we want to update selection range only for the active input
66
+ if (!sectionListRef.current.getRoot().contains(getActiveElement(document))) {
67
+ return;
68
+ }
69
+ const range = new window.Range();
70
+ let target;
71
+ if (parsedSelectedSections === 'all') {
72
+ target = sectionListRef.current.getRoot();
73
+ } else {
74
+ const section = state.sections[parsedSelectedSections];
75
+ if (section.type === 'empty') {
76
+ target = sectionListRef.current.getSectionContainer(parsedSelectedSections);
77
+ } else {
78
+ target = sectionListRef.current.getSectionContent(parsedSelectedSections);
79
+ }
80
+ }
81
+ range.selectNodeContents(target);
82
+ target.focus();
83
+ selection.removeAllRanges();
84
+ selection.addRange(range);
85
+ },
86
+ getActiveSectionIndexFromDOM: () => {
87
+ const activeElement = getActiveElement(document);
88
+ if (!activeElement || !sectionListRef.current || !sectionListRef.current.getRoot().contains(activeElement)) {
89
+ return null;
90
+ }
91
+ return sectionListRef.current.getSectionIndexFromDOMElement(activeElement);
92
+ },
93
+ focusField: (newSelectedSections = 0) => {
94
+ if (!sectionListRef.current) {
95
+ return;
96
+ }
97
+ const newParsedSelectedSections = parseSelectedSections(newSelectedSections, state.sections);
98
+ setFocused(true);
99
+ sectionListRef.current.getSectionContent(newParsedSelectedSections).focus();
100
+ },
101
+ setSelectedSections: newSelectedSections => {
102
+ if (!sectionListRef.current) {
103
+ return;
104
+ }
105
+ const newParsedSelectedSections = parseSelectedSections(newSelectedSections, state.sections);
106
+ const newActiveSectionIndex = newParsedSelectedSections === 'all' ? 0 : newParsedSelectedSections;
107
+ setFocused(newActiveSectionIndex !== null);
108
+ setSelectedSections(newSelectedSections);
109
+ },
110
+ isFieldFocused: () => {
111
+ const activeElement = getActiveElement(document);
112
+ return !!sectionListRef.current && sectionListRef.current.getRoot().contains(activeElement);
113
+ }
114
+ }), [parsedSelectedSections, setSelectedSections, state.sections, focused]);
115
+
116
+ /**
117
+ * If a section content has been updated with a value we don't want to keep,
118
+ * Then we need to imperatively revert it (we can't let React do it because the value did not change in his internal representation).
119
+ */
120
+ const revertDOMSectionChange = useEventCallback(sectionIndex => {
121
+ if (!sectionListRef.current) {
122
+ return;
123
+ }
124
+ const section = state.sections[sectionIndex];
125
+ sectionListRef.current.getSectionContent(sectionIndex).innerHTML = section.value || section.placeholder;
126
+ interactions.syncSelectionToDOM();
127
+ });
128
+ const handleContainerClick = useEventCallback((event, ...args) => {
129
+ // The click event on the clear button would propagate to the input, trigger this handler and result in a wrong section selection.
130
+ // We avoid this by checking if the call of `handleContainerClick` is actually intended, or a side effect.
131
+ if (event.isDefaultPrevented() || !sectionListRef.current) {
132
+ return;
133
+ }
134
+ setFocused(true);
135
+ onClick == null || onClick(event, ...args);
136
+ if (parsedSelectedSections === 'all') {
137
+ window.setTimeout(() => {
138
+ const cursorPosition = document.getSelection().getRangeAt(0).startOffset;
139
+ if (cursorPosition === 0) {
140
+ setSelectedSections(sectionOrder.startIndex);
141
+ return;
142
+ }
143
+ let sectionIndex = 0;
144
+ let cursorOnStartOfSection = 0;
145
+ while (cursorOnStartOfSection < cursorPosition && sectionIndex < state.sections.length) {
146
+ const section = state.sections[sectionIndex];
147
+ sectionIndex += 1;
148
+ cursorOnStartOfSection += `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`.length;
149
+ }
150
+ setSelectedSections(sectionIndex - 1);
151
+ });
152
+ } else if (!focused) {
153
+ setFocused(true);
154
+ setSelectedSections(sectionOrder.startIndex);
155
+ } else {
156
+ const hasClickedOnASection = sectionListRef.current.getRoot().contains(event.target);
157
+ if (!hasClickedOnASection) {
158
+ setSelectedSections(sectionOrder.startIndex);
159
+ }
160
+ }
161
+ });
162
+ const handleContainerInput = useEventCallback(event => {
163
+ var _target$textContent;
164
+ onInput == null || onInput(event);
165
+ if (!sectionListRef.current || parsedSelectedSections !== 'all') {
166
+ return;
167
+ }
168
+ const target = event.target;
169
+ const keyPressed = (_target$textContent = target.textContent) != null ? _target$textContent : '';
170
+ sectionListRef.current.getRoot().innerHTML = state.sections.map(section => `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`).join('');
171
+ interactions.syncSelectionToDOM();
172
+ if (keyPressed.length === 0 || keyPressed.charCodeAt(0) === 10) {
173
+ resetCharacterQuery();
174
+ clearValue();
175
+ setSelectedSections('all');
176
+ } else if (keyPressed.length > 1) {
177
+ updateValueFromValueStr(keyPressed);
178
+ } else {
179
+ applyCharacterEditing({
180
+ keyPressed,
181
+ sectionIndex: 0
182
+ });
183
+ }
184
+ });
185
+ const handleContainerPaste = useEventCallback(event => {
186
+ onPaste == null || onPaste(event);
187
+ if (readOnly || parsedSelectedSections !== 'all') {
188
+ event.preventDefault();
189
+ return;
190
+ }
191
+ const pastedValue = event.clipboardData.getData('text');
192
+ event.preventDefault();
193
+ resetCharacterQuery();
194
+ updateValueFromValueStr(pastedValue);
195
+ });
196
+ const handleContainerFocus = useEventCallback((...args) => {
197
+ onFocus == null || onFocus(...args);
198
+ if (focused || !sectionListRef.current) {
199
+ return;
200
+ }
201
+ setFocused(true);
202
+ const isFocusInsideASection = sectionListRef.current.getSectionIndexFromDOMElement(getActiveElement(document)) != null;
203
+ if (!isFocusInsideASection) {
204
+ setSelectedSections(sectionOrder.startIndex);
205
+ }
206
+ });
207
+ const handleContainerBlur = useEventCallback((...args) => {
208
+ onBlur == null || onBlur(...args);
209
+ window.setTimeout(() => {
210
+ if (!sectionListRef.current) {
211
+ return;
212
+ }
213
+ const activeElement = getActiveElement(document);
214
+ const shouldBlur = !sectionListRef.current.getRoot().contains(activeElement);
215
+ if (shouldBlur) {
216
+ setFocused(false);
217
+ setSelectedSections(null);
218
+ }
219
+ });
220
+ });
221
+ const getInputContainerClickHandler = useEventCallback(sectionIndex => event => {
222
+ // The click event on the clear button would propagate to the input, trigger this handler and result in a wrong section selection.
223
+ // We avoid this by checking if the call to this function is actually intended, or a side effect.
224
+ if (event.isDefaultPrevented() || readOnly) {
225
+ return;
226
+ }
227
+ setSelectedSections(sectionIndex);
228
+ });
229
+ const handleInputContentMouseUp = useEventCallback(event => {
230
+ // Without this, the browser will remove the selected when clicking inside an already-selected section.
231
+ event.preventDefault();
232
+ });
233
+ const getInputContentFocusHandler = useEventCallback(sectionIndex => () => {
234
+ if (readOnly) {
235
+ return;
236
+ }
237
+ setSelectedSections(sectionIndex);
238
+ });
239
+ const handleInputContentPaste = useEventCallback(event => {
240
+ // prevent default to avoid the input `onInput` handler being called
241
+ event.preventDefault();
242
+ if (readOnly || typeof parsedSelectedSections !== 'number') {
243
+ return;
244
+ }
245
+ const activeSection = state.sections[parsedSelectedSections];
246
+ const pastedValue = event.clipboardData.getData('text');
247
+ const lettersOnly = /^[a-zA-Z]+$/.test(pastedValue);
248
+ const digitsOnly = /^[0-9]+$/.test(pastedValue);
249
+ const digitsAndLetterOnly = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(pastedValue);
250
+ const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly || activeSection.contentType === 'digit-with-letter' && digitsAndLetterOnly;
251
+ if (isValidPastedValue) {
252
+ resetCharacterQuery();
253
+ updateSectionValue({
254
+ activeSection,
255
+ newSectionValue: pastedValue,
256
+ shouldGoToNextSection: true
257
+ });
258
+ }
259
+ // If the pasted value corresponds to a single section, but not the expected type, we skip the modification
260
+ else if (!lettersOnly && !digitsOnly) {
261
+ resetCharacterQuery();
262
+ updateValueFromValueStr(pastedValue);
263
+ }
264
+ });
265
+ const handleInputContentDragOver = useEventCallback(event => {
266
+ event.preventDefault();
267
+ event.dataTransfer.dropEffect = 'none';
268
+ });
269
+ const handleInputContentInput = useEventCallback(event => {
270
+ var _target$textContent2;
271
+ if (!sectionListRef.current) {
272
+ return;
273
+ }
274
+ const target = event.target;
275
+ const keyPressed = (_target$textContent2 = target.textContent) != null ? _target$textContent2 : '';
276
+ const sectionIndex = sectionListRef.current.getSectionIndexFromDOMElement(target);
277
+ const section = state.sections[sectionIndex];
278
+ if (readOnly || !sectionListRef.current) {
279
+ revertDOMSectionChange(sectionIndex);
280
+ return;
281
+ }
282
+ if (keyPressed.length === 0) {
283
+ if (section.value === '') {
284
+ revertDOMSectionChange(sectionIndex);
285
+ return;
286
+ }
287
+ resetCharacterQuery();
288
+ clearActiveSection();
289
+ return;
290
+ }
291
+ applyCharacterEditing({
292
+ keyPressed,
293
+ sectionIndex
294
+ });
295
+
296
+ // The DOM value needs to remain the one React is expecting.
297
+ revertDOMSectionChange(sectionIndex);
298
+ });
299
+ useEnhancedEffect(() => {
300
+ if (!focused || !sectionListRef.current) {
301
+ return;
302
+ }
303
+ if (parsedSelectedSections === 'all') {
304
+ sectionListRef.current.getRoot().focus();
305
+ } else if (typeof parsedSelectedSections === 'number') {
306
+ const domElement = sectionListRef.current.getSectionContent(parsedSelectedSections);
307
+ if (domElement) {
308
+ domElement.focus();
309
+ }
310
+ }
311
+ }, [parsedSelectedSections, focused]);
312
+ const sectionBoundaries = React.useMemo(() => {
313
+ return state.sections.reduce((acc, next) => {
314
+ acc[next.type] = sectionsValueBoundaries[next.type]({
315
+ currentDate: null,
316
+ contentType: next.contentType,
317
+ format: next.format
318
+ });
319
+ return acc;
320
+ }, {});
321
+ }, [sectionsValueBoundaries, state.sections]);
322
+ const isContainerEditable = parsedSelectedSections === 'all';
323
+ const elements = React.useMemo(() => {
324
+ return state.sections.map((section, index) => {
325
+ const isEditable = !isContainerEditable && !disabled && !readOnly;
326
+ return {
327
+ container: {
328
+ 'data-sectionindex': index,
329
+ onClick: getInputContainerClickHandler(index)
330
+ },
331
+ content: {
332
+ tabIndex: isContainerEditable ? undefined : 0,
333
+ contentEditable: !isContainerEditable && !disabled && !readOnly,
334
+ role: 'spinbutton',
335
+ id: `${id}-${section.type}`,
336
+ 'aria-labelledby': `${id}-${section.type}`,
337
+ 'aria-readonly': readOnly,
338
+ 'aria-valuenow': getSectionValueNow(section, utils),
339
+ 'aria-valuemin': sectionBoundaries[section.type].minimum,
340
+ 'aria-valuemax': sectionBoundaries[section.type].maximum,
341
+ 'aria-valuetext': section.value ? getSectionValueText(section, utils) : localeText.empty,
342
+ 'aria-label': localeText[section.type],
343
+ 'aria-disabled': disabled,
344
+ spellCheck: isEditable ? false : undefined,
345
+ autoCapitalize: isEditable ? 'off' : undefined,
346
+ autoCorrect: isEditable ? 'off' : undefined,
347
+ [parseInt(React.version, 10) >= 17 ? 'enterKeyHint' : 'enterkeyhint']: isEditable ? 'next' : undefined,
348
+ children: section.value || section.placeholder,
349
+ onInput: handleInputContentInput,
350
+ onPaste: handleInputContentPaste,
351
+ onFocus: getInputContentFocusHandler(index),
352
+ onDragOver: handleInputContentDragOver,
353
+ onMouseUp: handleInputContentMouseUp,
354
+ inputMode: section.contentType === 'letter' ? 'text' : 'numeric'
355
+ },
356
+ before: {
357
+ children: section.startSeparator
358
+ },
359
+ after: {
360
+ children: section.endSeparator
361
+ }
362
+ };
363
+ });
364
+ }, [state.sections, getInputContentFocusHandler, handleInputContentPaste, handleInputContentDragOver, handleInputContentInput, getInputContainerClickHandler, handleInputContentMouseUp, disabled, readOnly, isContainerEditable, localeText, utils, sectionBoundaries, id]);
365
+ const handleValueStrChange = useEventCallback(event => {
366
+ updateValueFromValueStr(event.target.value);
367
+ });
368
+ const valueStr = React.useMemo(() => areAllSectionsEmpty ? '' : fieldValueManager.getV7HiddenInputValueFromSections(state.sections), [areAllSectionsEmpty, state.sections, fieldValueManager]);
369
+ React.useEffect(() => {
370
+ if (sectionListRef.current == null) {
371
+ throw new Error(['MUI X: The `sectionListRef` prop has not been initialized by `PickersSectionList`', 'You probably tried to pass a component to the `textField` slot that contains an `<input />` element instead of a `PickersSectionList`.', '', 'If you want to keep using an `<input />` HTML element for the editing, please remove the `enableAccessibleFieldDOMStructure` prop from your picker or field component:', '', '<DatePicker slots={{ textField: MyCustomTextField }} />', '', 'Learn more about the field accessible DOM structure on the MUI documentation: https://next.mui.com/x/react-date-pickers/fields/#fields-to-edit-a-single-element'].join('\n'));
372
+ }
373
+ if (autoFocus && sectionListRef.current) {
374
+ sectionListRef.current.getSectionContent(sectionOrder.startIndex).focus();
375
+ }
376
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
377
+
378
+ return {
379
+ interactions,
380
+ returnedValue: {
381
+ // Forwarded
382
+ autoFocus,
383
+ readOnly,
384
+ focused: focusedProp != null ? focusedProp : focused,
385
+ sectionListRef: handleSectionListRef,
386
+ onBlur: handleContainerBlur,
387
+ onClick: handleContainerClick,
388
+ onFocus: handleContainerFocus,
389
+ onInput: handleContainerInput,
390
+ onPaste: handleContainerPaste,
391
+ // Additional
392
+ enableAccessibleFieldDOMStructure: true,
393
+ elements,
394
+ // TODO v7: Try to set to undefined when there is a section selected.
395
+ tabIndex: 0,
396
+ contentEditable: isContainerEditable,
397
+ value: valueStr,
398
+ onChange: handleValueStrChange,
399
+ areAllSectionsEmpty
400
+ }
401
+ };
402
+ };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { UseMobilePickerParams, UseMobilePickerProps } from './useMobilePicker.types';
3
+ import { PickerValidDate } from '../../../models';
3
4
  import { DateOrTimeViewWithMeridiem } from '../../models';
4
5
  /**
5
6
  * Hook managing all the single-date mobile pickers:
@@ -7,6 +8,6 @@ import { DateOrTimeViewWithMeridiem } from '../../models';
7
8
  * - MobileDateTimePicker
8
9
  * - MobileTimePicker
9
10
  */
10
- export declare const useMobilePicker: <TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseMobilePickerProps<TDate, TView, any, TExternalProps>>({ props, getOpenDialogAriaText, ...pickerParams }: UseMobilePickerParams<TDate, TView, TExternalProps>) => {
11
+ export declare const useMobilePicker: <TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseMobilePickerProps<TDate, TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>>({ props, getOpenDialogAriaText, ...pickerParams }: UseMobilePickerParams<TDate, TView, TEnableAccessibleFieldDOMStructure, TExternalProps>) => {
11
12
  renderPicker: () => React.JSX.Element;
12
13
  };
@@ -33,6 +33,9 @@ export const useMobilePicker = _ref => {
33
33
  sx,
34
34
  format,
35
35
  formatDensity,
36
+ enableAccessibleFieldDOMStructure,
37
+ selectedSections,
38
+ onSelectedSectionsChange,
36
39
  timezone,
37
40
  name,
38
41
  label,
@@ -42,7 +45,7 @@ export const useMobilePicker = _ref => {
42
45
  localeText
43
46
  } = props;
44
47
  const utils = useUtils();
45
- const internalInputRef = React.useRef(null);
48
+ const fieldRef = React.useRef(null);
46
49
  const labelId = useId();
47
50
  const isToolbarHidden = (_innerSlotProps$toolb = innerSlotProps == null || (_innerSlotProps$toolb2 = innerSlotProps.toolbar) == null ? void 0 : _innerSlotProps$toolb2.hidden) != null ? _innerSlotProps$toolb : false;
48
51
  const {
@@ -53,7 +56,7 @@ export const useMobilePicker = _ref => {
53
56
  fieldProps: pickerFieldProps
54
57
  } = usePicker(_extends({}, pickerParams, {
55
58
  props,
56
- inputRef: internalInputRef,
59
+ fieldRef,
57
60
  autoFocusView: true,
58
61
  additionalViewProps: {},
59
62
  wrapperVariant: 'mobile'
@@ -74,10 +77,15 @@ export const useMobilePicker = _ref => {
74
77
  sx,
75
78
  format,
76
79
  formatDensity,
80
+ enableAccessibleFieldDOMStructure,
81
+ selectedSections,
82
+ onSelectedSectionsChange,
77
83
  timezone,
78
84
  label,
79
85
  name
80
- }),
86
+ }, inputRef ? {
87
+ inputRef
88
+ } : {}),
81
89
  ownerState: props
82
90
  });
83
91
 
@@ -89,7 +97,6 @@ export const useMobilePicker = _ref => {
89
97
  textField: slots.textField
90
98
  }, fieldProps.slots);
91
99
  const Layout = (_slots$layout = slots.layout) != null ? _slots$layout : PickersLayout;
92
- const handleInputRef = useForkRef(internalInputRef, fieldProps.inputRef, inputRef);
93
100
  let labelledById = labelId;
94
101
  if (isToolbarHidden) {
95
102
  if (label) {
@@ -106,12 +113,13 @@ export const useMobilePicker = _ref => {
106
113
  'aria-labelledby': labelledById
107
114
  }, innerSlotProps == null ? void 0 : innerSlotProps.mobilePaper)
108
115
  });
116
+ const handleFieldRef = useForkRef(fieldRef, fieldProps.unstableFieldRef);
109
117
  const renderPicker = () => /*#__PURE__*/_jsxs(LocalizationProvider, {
110
118
  localeText: localeText,
111
119
  children: [/*#__PURE__*/_jsx(Field, _extends({}, fieldProps, {
112
120
  slots: slotsForField,
113
121
  slotProps: slotProps,
114
- inputRef: handleInputRef
122
+ unstableFieldRef: handleFieldRef
115
123
  })), /*#__PURE__*/_jsx(PickersModalDialog, _extends({}, actions, {
116
124
  open: open,
117
125
  slots: slots,
@@ -1,35 +1,35 @@
1
1
  import * as React from 'react';
2
- import TextField, { TextFieldProps } from '@mui/material/TextField';
2
+ import TextField from '@mui/material/TextField';
3
3
  import { SlotComponentProps } from '@mui/base/utils';
4
4
  import { BaseNonStaticPickerProps, BasePickerProps, BaseNonRangeNonStaticPickerProps } from '../../models/props/basePickerProps';
5
5
  import { PickersModalDialogSlots, PickersModalDialogSlotProps } from '../../components/PickersModalDialog';
6
6
  import { UsePickerParams, UsePickerProps } from '../usePicker';
7
- import { BaseSingleInputFieldProps, FieldSection, MuiPickersAdapter } from '../../../models';
7
+ import { BaseSingleInputFieldProps, FieldSection, MuiPickersAdapter, PickerValidDate } from '../../../models';
8
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 UseMobilePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlots, ExportedPickersLayoutSlots<TDate | null, TDate, TView> {
12
+ import { SlotComponentPropsFromProps } from '../../models/helpers';
13
+ export interface UseMobilePickerSlots<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlots, ExportedPickersLayoutSlots<TDate | null, TDate, TView> {
13
14
  /**
14
15
  * Component used to enter the date with the keyboard.
15
16
  */
16
- field: React.ElementType<BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, any>>;
17
+ field: React.ElementType;
17
18
  /**
18
19
  * Form control with an input to render the value inside the default field.
19
- * Receives the same props as `@mui/material/TextField`.
20
- * @default TextField from '@mui/material'
20
+ * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
21
21
  */
22
- textField?: React.ElementType<TextFieldProps>;
22
+ textField?: React.ElementType;
23
23
  }
24
- export interface ExportedUseMobilePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps<TDate | null, TDate, TView> {
25
- field?: SlotComponentProps<React.ElementType<BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, unknown>>, {}, UsePickerProps<TDate | null, TDate, any, FieldSection, any, any, any>>;
24
+ export interface ExportedUseMobilePickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps<TDate | null, TDate, TView> {
25
+ field?: SlotComponentPropsFromProps<BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, TEnableAccessibleFieldDOMStructure, unknown>, {}, UsePickerProps<TDate | null, TDate, any, any, any, any>>;
26
26
  textField?: SlotComponentProps<typeof TextField, {}, Record<string, any>>;
27
27
  }
28
- export interface UseMobilePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedUseMobilePickerSlotProps<TDate, TView>, Pick<PickersLayoutSlotProps<TDate | null, TDate, TView>, 'toolbar'> {
28
+ export interface UseMobilePickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends ExportedUseMobilePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure>, Pick<PickersLayoutSlotProps<TDate | null, TDate, TView>, 'toolbar'> {
29
29
  }
30
- export interface MobileOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, BaseNonRangeNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, FieldSection>, UsePickerViewsNonStaticProps {
30
+ export interface MobileOnlyPickerProps extends BaseNonStaticPickerProps, BaseNonRangeNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps {
31
31
  }
32
- export interface UseMobilePickerProps<TDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<any, any, TView, any, any>> extends BasePickerProps<TDate | null, TDate, TView, TError, TExternalProps, {}>, MobileOnlyPickerProps<TDate> {
32
+ export interface UseMobilePickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TError, TExternalProps extends UsePickerViewsProps<any, any, TView, any, any>> extends BasePickerProps<TDate | null, TDate, TView, TError, TExternalProps, {}>, MobileOnlyPickerProps {
33
33
  /**
34
34
  * Overridable component slots.
35
35
  * @default {}
@@ -39,9 +39,9 @@ export interface UseMobilePickerProps<TDate, TView extends DateOrTimeViewWithMer
39
39
  * The props used for each component slot.
40
40
  * @default {}
41
41
  */
42
- slotProps?: UseMobilePickerSlotProps<TDate, TView>;
42
+ slotProps?: UseMobilePickerSlotProps<TDate, TView, TEnableAccessibleFieldDOMStructure>;
43
43
  }
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'> {
44
+ export interface UseMobilePickerParams<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseMobilePickerProps<TDate, TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>> extends Pick<UsePickerParams<TDate | null, TDate, TView, FieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
45
45
  props: TExternalProps;
46
46
  getOpenDialogAriaText: (date: TDate | null, utils: MuiPickersAdapter<TDate>) => string;
47
47
  }
@@ -1,5 +1,5 @@
1
1
  import { UsePickerParams, UsePickerProps, UsePickerResponse } from './usePicker.types';
2
2
  import { InferError } from '../useValidation';
3
- import { FieldSection } from '../../../models';
3
+ import { FieldSection, PickerValidDate } from '../../../models';
4
4
  import { DateOrTimeViewWithMeridiem } from '../../models';
5
- export declare const usePicker: <TValue, TDate, TView extends DateOrTimeViewWithMeridiem, TSection extends FieldSection, TExternalProps extends UsePickerProps<TValue, TDate, TView, TSection, any, any, any>, TAdditionalProps extends {}>({ props, valueManager, valueType, wrapperVariant, inputRef, additionalViewProps, validator, autoFocusView, rendererInterceptor, }: UsePickerParams<TValue, TDate, TView, TSection, TExternalProps, TAdditionalProps>) => UsePickerResponse<TValue, TView, TSection, InferError<TExternalProps>>;
5
+ export declare const usePicker: <TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TSection extends FieldSection, TExternalProps extends UsePickerProps<TValue, TDate, TView, any, any, any>, TAdditionalProps extends {}>({ props, valueManager, valueType, wrapperVariant, additionalViewProps, validator, autoFocusView, rendererInterceptor, fieldRef, }: UsePickerParams<TValue, TDate, TView, TSection, TExternalProps, TAdditionalProps>) => UsePickerResponse<TValue, TView, TSection, InferError<TExternalProps>>;
@@ -8,11 +8,11 @@ export const usePicker = ({
8
8
  valueManager,
9
9
  valueType,
10
10
  wrapperVariant,
11
- inputRef,
12
11
  additionalViewProps,
13
12
  validator,
14
13
  autoFocusView,
15
- rendererInterceptor
14
+ rendererInterceptor,
15
+ fieldRef
16
16
  }) => {
17
17
  if (process.env.NODE_ENV !== 'production') {
18
18
  if (props.renderInput != null) {
@@ -28,9 +28,9 @@ export const usePicker = ({
28
28
  });
29
29
  const pickerViewsResponse = usePickerViews({
30
30
  props,
31
- inputRef,
32
31
  additionalViewProps,
33
32
  autoFocusView,
33
+ fieldRef,
34
34
  propsFromPickerValue: pickerValueResponse.viewProps,
35
35
  rendererInterceptor
36
36
  });
@@ -1,16 +1,16 @@
1
1
  import { UsePickerValueParams, UsePickerValueProps, UsePickerValueBaseProps, UsePickerValueResponse } from './usePickerValue.types';
2
2
  import { UsePickerViewsProps, UsePickerViewParams, UsePickerViewsResponse, UsePickerViewsBaseProps } from './usePickerViews';
3
3
  import { UsePickerLayoutProps, UsePickerLayoutPropsResponse } from './usePickerLayoutProps';
4
- import { FieldSection } from '../../../models';
4
+ import { FieldSection, PickerValidDate } from '../../../models';
5
5
  import { DateOrTimeViewWithMeridiem } from '../../models';
6
6
  /**
7
7
  * Props common to all picker headless implementations.
8
8
  */
9
- export interface UsePickerBaseProps<TValue, TDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<TValue, TDate, TView, any, any>, TAdditionalProps extends {}> extends UsePickerValueBaseProps<TValue, TError>, UsePickerViewsBaseProps<TValue, TDate, TView, TExternalProps, TAdditionalProps>, UsePickerLayoutProps {
9
+ export interface UsePickerBaseProps<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<TValue, TDate, TView, any, any>, TAdditionalProps extends {}> extends UsePickerValueBaseProps<TValue, TError>, UsePickerViewsBaseProps<TValue, TDate, TView, TExternalProps, TAdditionalProps>, UsePickerLayoutProps {
10
10
  }
11
- export interface UsePickerProps<TValue, TDate, TView extends DateOrTimeViewWithMeridiem, TSection extends FieldSection, TError, TExternalProps extends UsePickerViewsProps<TValue, TDate, TView, any, any>, TAdditionalProps extends {}> extends UsePickerValueProps<TValue, TSection, TError>, UsePickerViewsProps<TValue, TDate, TView, TExternalProps, TAdditionalProps>, UsePickerLayoutProps {
11
+ export interface UsePickerProps<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<TValue, TDate, TView, any, any>, TAdditionalProps extends {}> extends UsePickerValueProps<TValue, TError>, UsePickerViewsProps<TValue, TDate, TView, TExternalProps, TAdditionalProps>, UsePickerLayoutProps {
12
12
  }
13
- export interface UsePickerParams<TValue, TDate, TView extends DateOrTimeViewWithMeridiem, TSection extends FieldSection, TExternalProps extends UsePickerProps<TValue, TDate, TView, TSection, any, any, any>, TAdditionalProps extends {}> extends Pick<UsePickerValueParams<TValue, TDate, TSection, TExternalProps>, 'valueManager' | 'valueType' | 'wrapperVariant' | 'validator'>, Pick<UsePickerViewParams<TValue, TDate, TView, TExternalProps, TAdditionalProps>, 'additionalViewProps' | 'inputRef' | 'autoFocusView' | 'rendererInterceptor'> {
13
+ export interface UsePickerParams<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TSection extends FieldSection, TExternalProps extends UsePickerProps<TValue, TDate, TView, any, any, any>, TAdditionalProps extends {}> extends Pick<UsePickerValueParams<TValue, TDate, TExternalProps>, 'valueManager' | 'valueType' | 'wrapperVariant' | 'validator'>, Pick<UsePickerViewParams<TValue, TDate, TView, TSection, TExternalProps, TAdditionalProps>, 'additionalViewProps' | 'autoFocusView' | 'rendererInterceptor' | 'fieldRef'> {
14
14
  props: TExternalProps;
15
15
  }
16
16
  export interface UsePickerResponse<TValue, TView extends DateOrTimeViewWithMeridiem, TSection extends FieldSection, TError> extends Omit<UsePickerValueResponse<TValue, TSection, TError>, 'viewProps' | 'layoutProps'>, Omit<UsePickerViewsResponse<TView>, 'layoutProps'>, UsePickerLayoutPropsResponse<TValue, TView> {
@@ -1,7 +1,7 @@
1
1
  import { InferError } from '../useValidation';
2
- import { FieldSection } from '../../../models';
2
+ import { FieldSection, PickerValidDate } from '../../../models';
3
3
  import { UsePickerValueProps, UsePickerValueParams, UsePickerValueResponse } from './usePickerValue.types';
4
4
  /**
5
5
  * Manage the value lifecycle of all the pickers.
6
6
  */
7
- export declare const usePickerValue: <TValue, TDate, TSection extends FieldSection, TExternalProps extends UsePickerValueProps<TValue, TSection, any>>({ props, valueManager, valueType, wrapperVariant, validator, }: UsePickerValueParams<TValue, TDate, TSection, TExternalProps>) => UsePickerValueResponse<TValue, TSection, InferError<TExternalProps>>;
7
+ export declare const usePickerValue: <TValue, TDate extends PickerValidDate, TSection extends FieldSection, TExternalProps extends UsePickerValueProps<TValue, any>>({ props, valueManager, valueType, wrapperVariant, validator, }: UsePickerValueParams<TValue, TDate, TExternalProps>) => UsePickerValueResponse<TValue, TSection, InferError<TExternalProps>>;