@mui/x-date-pickers 7.0.0-beta.2 → 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 (701) hide show
  1. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -0
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +1 -0
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -0
  5. package/AdapterDayjs/AdapterDayjs.d.ts +1 -0
  6. package/AdapterDayjs/AdapterDayjs.js +6 -0
  7. package/AdapterLuxon/AdapterLuxon.d.ts +1 -0
  8. package/AdapterLuxon/AdapterLuxon.js +6 -0
  9. package/AdapterMoment/AdapterMoment.d.ts +1 -0
  10. package/AdapterMoment/AdapterMoment.js +4 -0
  11. package/AdapterMomentHijri/AdapterMomentHijri.js +3 -0
  12. package/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -0
  13. package/CHANGELOG.md +298 -23
  14. package/DateCalendar/DateCalendar.js +3 -1
  15. package/DateCalendar/DateCalendar.types.d.ts +3 -0
  16. package/DateCalendar/DayCalendar.d.ts +3 -1
  17. package/DateCalendar/DayCalendar.js +1 -1
  18. package/DateCalendar/PickersFadeTransitionGroup.d.ts +3 -0
  19. package/DateCalendar/PickersSlideTransition.d.ts +3 -0
  20. package/DateField/DateField.d.ts +1 -1
  21. package/DateField/DateField.js +11 -9
  22. package/DateField/DateField.types.d.ts +12 -15
  23. package/DateField/index.d.ts +1 -1
  24. package/DateField/useDateField.d.ts +2 -2
  25. package/DateField/useDateField.js +1 -15
  26. package/DatePicker/DatePicker.d.ts +1 -1
  27. package/DatePicker/DatePicker.js +9 -9
  28. package/DatePicker/DatePicker.types.d.ts +3 -3
  29. package/DatePicker/DatePickerToolbar.d.ts +5 -4
  30. package/DatePicker/DatePickerToolbar.js +11 -3
  31. package/DateTimeField/DateTimeField.d.ts +1 -1
  32. package/DateTimeField/DateTimeField.js +11 -9
  33. package/DateTimeField/DateTimeField.types.d.ts +12 -15
  34. package/DateTimeField/index.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.d.ts +2 -2
  36. package/DateTimeField/useDateTimeField.js +1 -20
  37. package/DateTimePicker/DateTimePicker.d.ts +1 -1
  38. package/DateTimePicker/DateTimePicker.js +9 -9
  39. package/DateTimePicker/DateTimePicker.types.d.ts +3 -3
  40. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -2
  41. package/DateTimePicker/DateTimePickerTabs.js +7 -1
  42. package/DateTimePicker/DateTimePickerToolbar.d.ts +2 -2
  43. package/DateTimePicker/DateTimePickerToolbar.js +3 -0
  44. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
  45. package/DesktopDatePicker/DesktopDatePicker.js +9 -9
  46. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +3 -3
  47. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
  48. package/DesktopDateTimePicker/DesktopDateTimePicker.js +9 -9
  49. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +3 -3
  50. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
  51. package/DesktopTimePicker/DesktopTimePicker.js +9 -8
  52. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +3 -3
  53. package/LocalizationProvider/LocalizationProvider.js +1 -0
  54. package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
  55. package/MobileDatePicker/MobileDatePicker.js +9 -9
  56. package/MobileDatePicker/MobileDatePicker.types.d.ts +3 -3
  57. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -2
  58. package/MobileDateTimePicker/MobileDateTimePicker.js +9 -9
  59. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  60. package/MobileTimePicker/MobileTimePicker.d.ts +2 -2
  61. package/MobileTimePicker/MobileTimePicker.js +9 -8
  62. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  63. package/PickersLayout/PickersLayout.js +6 -0
  64. package/PickersLayout/PickersLayout.types.d.ts +6 -0
  65. package/PickersSectionList/PickersSectionList.d.ts +4 -4
  66. package/PickersSectionList/PickersSectionList.js +1 -2
  67. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  68. package/PickersTextField/PickersInput/PickersInput.js +3 -3
  69. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +1 -1
  70. package/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  71. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  72. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  73. package/PickersTextField/PickersTextField.d.ts +1 -1
  74. package/PickersTextField/PickersTextField.js +9 -5
  75. package/StaticDatePicker/StaticDatePicker.js +0 -1
  76. package/StaticDateTimePicker/StaticDateTimePicker.js +0 -1
  77. package/TimeField/TimeField.d.ts +1 -1
  78. package/TimeField/TimeField.js +11 -9
  79. package/TimeField/TimeField.types.d.ts +12 -15
  80. package/TimeField/index.d.ts +1 -1
  81. package/TimeField/useTimeField.d.ts +2 -2
  82. package/TimeField/useTimeField.js +1 -13
  83. package/TimePicker/TimePicker.d.ts +1 -1
  84. package/TimePicker/TimePicker.js +9 -8
  85. package/TimePicker/TimePicker.types.d.ts +3 -3
  86. package/TimePicker/TimePickerToolbar.d.ts +5 -4
  87. package/TimePicker/TimePickerToolbar.js +11 -3
  88. package/hooks/index.d.ts +1 -1
  89. package/hooks/useClearableField.d.ts +10 -2
  90. package/index.js +1 -1
  91. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +3 -0
  92. package/internals/components/PickersPopper.d.ts +3 -0
  93. package/internals/components/PickersPopper.js +1 -2
  94. package/internals/demo/DemoContainer.js +6 -5
  95. package/internals/hooks/defaultizedFieldProps.d.ts +19 -0
  96. package/internals/hooks/defaultizedFieldProps.js +43 -0
  97. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  98. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  99. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +14 -13
  100. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +16 -0
  101. package/internals/hooks/useField/buildSectionsFromFormat.js +251 -0
  102. package/internals/hooks/useField/index.d.ts +2 -2
  103. package/internals/hooks/useField/index.js +1 -1
  104. package/internals/hooks/useField/useField.d.ts +4 -4
  105. package/internals/hooks/useField/useField.js +82 -309
  106. package/internals/hooks/useField/useField.types.d.ts +92 -56
  107. package/internals/hooks/useField/useField.utils.d.ts +10 -10
  108. package/internals/hooks/useField/useField.utils.js +78 -228
  109. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +7 -6
  110. package/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  111. package/internals/hooks/useField/useFieldState.d.ts +13 -11
  112. package/internals/hooks/useField/useFieldState.js +45 -61
  113. package/internals/hooks/useField/useFieldV6TextField.d.ts +25 -0
  114. package/internals/hooks/useField/useFieldV6TextField.js +324 -0
  115. package/internals/hooks/useField/useFieldV7TextField.d.ts +2 -0
  116. package/internals/hooks/useField/useFieldV7TextField.js +402 -0
  117. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  118. package/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  119. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
  120. package/internals/hooks/usePicker/usePicker.d.ts +1 -1
  121. package/internals/hooks/usePicker/usePicker.js +3 -3
  122. package/internals/hooks/usePicker/usePicker.types.d.ts +2 -2
  123. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  124. package/internals/hooks/usePicker/usePickerValue.js +2 -18
  125. package/internals/hooks/usePicker/usePickerValue.types.d.ts +5 -6
  126. package/internals/hooks/usePicker/usePickerViews.d.ts +4 -4
  127. package/internals/hooks/usePicker/usePickerViews.js +5 -6
  128. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  129. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +1 -0
  130. package/internals/index.d.ts +5 -4
  131. package/internals/index.js +2 -1
  132. package/internals/models/fields.d.ts +2 -4
  133. package/internals/models/helpers.d.ts +1 -0
  134. package/internals/models/props/basePickerProps.d.ts +2 -7
  135. package/internals/models/props/tabs.d.ts +6 -0
  136. package/internals/models/props/toolbar.d.ts +3 -0
  137. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +1 -1
  138. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  139. package/internals/utils/fields.js +1 -1
  140. package/internals/utils/valueManagers.js +5 -4
  141. package/locales/beBY.d.ts +9 -0
  142. package/locales/beBY.js +13 -0
  143. package/locales/caES.d.ts +9 -0
  144. package/locales/caES.js +13 -0
  145. package/locales/csCZ.d.ts +9 -0
  146. package/locales/csCZ.js +13 -0
  147. package/locales/daDK.d.ts +9 -0
  148. package/locales/daDK.js +13 -0
  149. package/locales/deDE.d.ts +9 -0
  150. package/locales/deDE.js +13 -0
  151. package/locales/elGR.d.ts +9 -0
  152. package/locales/elGR.js +13 -0
  153. package/locales/enUS.d.ts +9 -0
  154. package/locales/enUS.js +12 -1
  155. package/locales/esES.d.ts +9 -0
  156. package/locales/esES.js +13 -0
  157. package/locales/eu.d.ts +9 -0
  158. package/locales/eu.js +13 -0
  159. package/locales/faIR.d.ts +9 -0
  160. package/locales/faIR.js +13 -0
  161. package/locales/fiFI.d.ts +9 -0
  162. package/locales/fiFI.js +13 -0
  163. package/locales/frFR.d.ts +9 -0
  164. package/locales/frFR.js +13 -0
  165. package/locales/heIL.d.ts +9 -0
  166. package/locales/heIL.js +13 -0
  167. package/locales/huHU.d.ts +9 -0
  168. package/locales/huHU.js +13 -0
  169. package/locales/isIS.d.ts +9 -0
  170. package/locales/isIS.js +13 -0
  171. package/locales/itIT.d.ts +9 -0
  172. package/locales/itIT.js +13 -0
  173. package/locales/jaJP.d.ts +9 -0
  174. package/locales/jaJP.js +13 -0
  175. package/locales/koKR.d.ts +9 -0
  176. package/locales/koKR.js +13 -0
  177. package/locales/kzKZ.d.ts +9 -0
  178. package/locales/kzKZ.js +13 -0
  179. package/locales/mk.d.ts +9 -0
  180. package/locales/mk.js +13 -0
  181. package/locales/nbNO.d.ts +9 -0
  182. package/locales/nbNO.js +13 -0
  183. package/locales/nlNL.d.ts +9 -0
  184. package/locales/nlNL.js +13 -0
  185. package/locales/plPL.d.ts +9 -0
  186. package/locales/plPL.js +13 -0
  187. package/locales/ptBR.d.ts +9 -0
  188. package/locales/ptBR.js +13 -0
  189. package/locales/roRO.d.ts +9 -0
  190. package/locales/roRO.js +13 -0
  191. package/locales/ruRU.d.ts +9 -0
  192. package/locales/ruRU.js +13 -0
  193. package/locales/skSK.d.ts +9 -0
  194. package/locales/skSK.js +13 -0
  195. package/locales/svSE.d.ts +9 -0
  196. package/locales/svSE.js +13 -0
  197. package/locales/trTR.d.ts +9 -0
  198. package/locales/trTR.js +13 -0
  199. package/locales/ukUA.d.ts +9 -0
  200. package/locales/ukUA.js +13 -0
  201. package/locales/urPK.d.ts +9 -0
  202. package/locales/urPK.js +13 -0
  203. package/locales/utils/getPickersLocalization.d.ts +9 -0
  204. package/locales/utils/pickersLocaleTextApi.d.ts +9 -0
  205. package/locales/viVN.d.ts +9 -0
  206. package/locales/viVN.js +13 -0
  207. package/locales/zhCN.d.ts +9 -0
  208. package/locales/zhCN.js +13 -0
  209. package/locales/zhHK.d.ts +9 -0
  210. package/locales/zhHK.js +13 -0
  211. package/models/adapters.d.ts +13 -0
  212. package/models/fields.d.ts +47 -32
  213. package/modern/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  214. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -0
  215. package/modern/AdapterDayjs/AdapterDayjs.js +6 -0
  216. package/modern/AdapterLuxon/AdapterLuxon.js +6 -0
  217. package/modern/AdapterMoment/AdapterMoment.js +4 -0
  218. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +3 -0
  219. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -0
  220. package/modern/DateCalendar/DateCalendar.js +3 -1
  221. package/modern/DateCalendar/DayCalendar.js +1 -1
  222. package/modern/DateField/DateField.js +11 -9
  223. package/modern/DateField/useDateField.js +1 -14
  224. package/modern/DatePicker/DatePicker.js +9 -9
  225. package/modern/DatePicker/DatePickerToolbar.js +11 -3
  226. package/modern/DateTimeField/DateTimeField.js +11 -9
  227. package/modern/DateTimeField/useDateTimeField.js +1 -19
  228. package/modern/DateTimePicker/DateTimePicker.js +9 -9
  229. package/modern/DateTimePicker/DateTimePickerTabs.js +7 -1
  230. package/modern/DateTimePicker/DateTimePickerToolbar.js +3 -0
  231. package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -9
  232. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +9 -9
  233. package/modern/DesktopTimePicker/DesktopTimePicker.js +9 -8
  234. package/modern/LocalizationProvider/LocalizationProvider.js +1 -0
  235. package/modern/MobileDatePicker/MobileDatePicker.js +9 -9
  236. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +9 -9
  237. package/modern/MobileTimePicker/MobileTimePicker.js +9 -8
  238. package/modern/PickersLayout/PickersLayout.js +6 -0
  239. package/modern/PickersSectionList/PickersSectionList.js +1 -2
  240. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  241. package/modern/PickersTextField/PickersInput/PickersInput.js +3 -3
  242. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  243. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  244. package/modern/PickersTextField/PickersTextField.js +9 -5
  245. package/modern/StaticDatePicker/StaticDatePicker.js +0 -1
  246. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +0 -1
  247. package/modern/TimeField/TimeField.js +11 -9
  248. package/modern/TimeField/useTimeField.js +1 -12
  249. package/modern/TimePicker/TimePicker.js +9 -8
  250. package/modern/TimePicker/TimePickerToolbar.js +11 -3
  251. package/modern/index.js +1 -1
  252. package/modern/internals/components/PickersPopper.js +1 -2
  253. package/modern/internals/demo/DemoContainer.js +6 -5
  254. package/modern/internals/hooks/defaultizedFieldProps.js +40 -0
  255. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  256. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +251 -0
  257. package/modern/internals/hooks/useField/index.js +1 -1
  258. package/modern/internals/hooks/useField/useField.js +82 -303
  259. package/modern/internals/hooks/useField/useField.utils.js +78 -228
  260. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  261. package/modern/internals/hooks/useField/useFieldState.js +45 -61
  262. package/modern/internals/hooks/useField/useFieldV6TextField.js +318 -0
  263. package/modern/internals/hooks/useField/useFieldV7TextField.js +400 -0
  264. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  265. package/modern/internals/hooks/usePicker/usePicker.js +3 -3
  266. package/modern/internals/hooks/usePicker/usePickerValue.js +2 -18
  267. package/modern/internals/hooks/usePicker/usePickerViews.js +4 -6
  268. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  269. package/modern/internals/index.js +2 -1
  270. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  271. package/modern/internals/utils/fields.js +1 -1
  272. package/modern/internals/utils/valueManagers.js +5 -4
  273. package/modern/locales/beBY.js +13 -0
  274. package/modern/locales/caES.js +13 -0
  275. package/modern/locales/csCZ.js +13 -0
  276. package/modern/locales/daDK.js +13 -0
  277. package/modern/locales/deDE.js +13 -0
  278. package/modern/locales/elGR.js +13 -0
  279. package/modern/locales/enUS.js +12 -1
  280. package/modern/locales/esES.js +13 -0
  281. package/modern/locales/eu.js +13 -0
  282. package/modern/locales/faIR.js +13 -0
  283. package/modern/locales/fiFI.js +13 -0
  284. package/modern/locales/frFR.js +13 -0
  285. package/modern/locales/heIL.js +13 -0
  286. package/modern/locales/huHU.js +13 -0
  287. package/modern/locales/isIS.js +13 -0
  288. package/modern/locales/itIT.js +13 -0
  289. package/modern/locales/jaJP.js +13 -0
  290. package/modern/locales/koKR.js +13 -0
  291. package/modern/locales/kzKZ.js +13 -0
  292. package/modern/locales/mk.js +13 -0
  293. package/modern/locales/nbNO.js +13 -0
  294. package/modern/locales/nlNL.js +13 -0
  295. package/modern/locales/plPL.js +13 -0
  296. package/modern/locales/ptBR.js +13 -0
  297. package/modern/locales/roRO.js +13 -0
  298. package/modern/locales/ruRU.js +13 -0
  299. package/modern/locales/skSK.js +13 -0
  300. package/modern/locales/svSE.js +13 -0
  301. package/modern/locales/trTR.js +13 -0
  302. package/modern/locales/ukUA.js +13 -0
  303. package/modern/locales/urPK.js +13 -0
  304. package/modern/locales/viVN.js +13 -0
  305. package/modern/locales/zhCN.js +13 -0
  306. package/modern/locales/zhHK.js +13 -0
  307. package/node/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  308. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -0
  309. package/node/AdapterDayjs/AdapterDayjs.js +6 -0
  310. package/node/AdapterLuxon/AdapterLuxon.js +6 -0
  311. package/node/AdapterMoment/AdapterMoment.js +4 -0
  312. package/node/AdapterMomentHijri/AdapterMomentHijri.js +3 -0
  313. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -0
  314. package/node/DateCalendar/DateCalendar.js +3 -1
  315. package/node/DateCalendar/DayCalendar.js +1 -1
  316. package/node/DateField/DateField.js +11 -9
  317. package/node/DateField/useDateField.js +2 -16
  318. package/node/DatePicker/DatePicker.js +9 -9
  319. package/node/DatePicker/DatePickerToolbar.js +11 -3
  320. package/node/DateTimeField/DateTimeField.js +11 -9
  321. package/node/DateTimeField/useDateTimeField.js +2 -21
  322. package/node/DateTimePicker/DateTimePicker.js +9 -9
  323. package/node/DateTimePicker/DateTimePickerTabs.js +7 -1
  324. package/node/DateTimePicker/DateTimePickerToolbar.js +3 -0
  325. package/node/DesktopDatePicker/DesktopDatePicker.js +9 -9
  326. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +9 -9
  327. package/node/DesktopTimePicker/DesktopTimePicker.js +9 -8
  328. package/node/LocalizationProvider/LocalizationProvider.js +1 -0
  329. package/node/MobileDatePicker/MobileDatePicker.js +9 -9
  330. package/node/MobileDateTimePicker/MobileDateTimePicker.js +9 -9
  331. package/node/MobileTimePicker/MobileTimePicker.js +9 -8
  332. package/node/PickersLayout/PickersLayout.js +6 -0
  333. package/node/PickersSectionList/PickersSectionList.js +4 -5
  334. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  335. package/node/PickersTextField/PickersInput/PickersInput.js +3 -3
  336. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  337. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  338. package/node/PickersTextField/PickersTextField.js +9 -5
  339. package/node/StaticDatePicker/StaticDatePicker.js +0 -1
  340. package/node/StaticDateTimePicker/StaticDateTimePicker.js +0 -1
  341. package/node/TimeField/TimeField.js +11 -9
  342. package/node/TimeField/useTimeField.js +2 -14
  343. package/node/TimePicker/TimePicker.js +9 -8
  344. package/node/TimePicker/TimePickerToolbar.js +11 -3
  345. package/node/index.js +1 -1
  346. package/node/internals/components/PickersPopper.js +1 -2
  347. package/node/internals/demo/DemoContainer.js +6 -5
  348. package/node/internals/hooks/defaultizedFieldProps.js +50 -0
  349. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  350. package/node/internals/hooks/useField/buildSectionsFromFormat.js +259 -0
  351. package/node/internals/hooks/useField/index.js +4 -10
  352. package/node/internals/hooks/useField/useField.js +81 -302
  353. package/node/internals/hooks/useField/useField.utils.js +86 -236
  354. package/node/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  355. package/node/internals/hooks/useField/useFieldState.js +44 -60
  356. package/node/internals/hooks/useField/useFieldV6TextField.js +329 -0
  357. package/node/internals/hooks/useField/useFieldV7TextField.js +410 -0
  358. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  359. package/node/internals/hooks/usePicker/usePicker.js +3 -3
  360. package/node/internals/hooks/usePicker/usePickerValue.js +2 -18
  361. package/node/internals/hooks/usePicker/usePickerViews.js +4 -6
  362. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  363. package/node/internals/index.js +27 -8
  364. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  365. package/node/internals/utils/fields.js +1 -1
  366. package/node/internals/utils/valueManagers.js +4 -3
  367. package/node/locales/beBY.js +13 -0
  368. package/node/locales/caES.js +13 -0
  369. package/node/locales/csCZ.js +13 -0
  370. package/node/locales/daDK.js +13 -0
  371. package/node/locales/deDE.js +13 -0
  372. package/node/locales/elGR.js +13 -0
  373. package/node/locales/enUS.js +12 -1
  374. package/node/locales/esES.js +13 -0
  375. package/node/locales/eu.js +13 -0
  376. package/node/locales/faIR.js +13 -0
  377. package/node/locales/fiFI.js +13 -0
  378. package/node/locales/frFR.js +13 -0
  379. package/node/locales/heIL.js +13 -0
  380. package/node/locales/huHU.js +13 -0
  381. package/node/locales/isIS.js +13 -0
  382. package/node/locales/itIT.js +13 -0
  383. package/node/locales/jaJP.js +13 -0
  384. package/node/locales/koKR.js +13 -0
  385. package/node/locales/kzKZ.js +13 -0
  386. package/node/locales/mk.js +13 -0
  387. package/node/locales/nbNO.js +13 -0
  388. package/node/locales/nlNL.js +13 -0
  389. package/node/locales/plPL.js +13 -0
  390. package/node/locales/ptBR.js +13 -0
  391. package/node/locales/roRO.js +13 -0
  392. package/node/locales/ruRU.js +13 -0
  393. package/node/locales/skSK.js +13 -0
  394. package/node/locales/svSE.js +13 -0
  395. package/node/locales/trTR.js +13 -0
  396. package/node/locales/ukUA.js +13 -0
  397. package/node/locales/urPK.js +13 -0
  398. package/node/locales/viVN.js +13 -0
  399. package/node/locales/zhCN.js +13 -0
  400. package/node/locales/zhHK.js +13 -0
  401. package/package.json +4 -4
  402. package/themeAugmentation/props.d.ts +3 -3
  403. package/timeViewRenderers/timeViewRenderers.d.ts +1 -1
  404. package/legacy/AdapterDateFns/AdapterDateFns.js +0 -298
  405. package/legacy/AdapterDateFns/index.js +0 -1
  406. package/legacy/AdapterDateFnsBase/AdapterDateFnsBase.js +0 -293
  407. package/legacy/AdapterDateFnsBase/index.js +0 -1
  408. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +0 -547
  409. package/legacy/AdapterDateFnsJalali/index.js +0 -1
  410. package/legacy/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -306
  411. package/legacy/AdapterDateFnsV3/index.js +0 -1
  412. package/legacy/AdapterDayjs/AdapterDayjs.js +0 -568
  413. package/legacy/AdapterDayjs/index.js +0 -1
  414. package/legacy/AdapterLuxon/AdapterLuxon.js +0 -508
  415. package/legacy/AdapterLuxon/index.js +0 -1
  416. package/legacy/AdapterMoment/AdapterMoment.js +0 -481
  417. package/legacy/AdapterMoment/index.js +0 -1
  418. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +0 -238
  419. package/legacy/AdapterMomentHijri/index.js +0 -1
  420. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -235
  421. package/legacy/AdapterMomentJalaali/index.js +0 -1
  422. package/legacy/DateCalendar/DateCalendar.js +0 -573
  423. package/legacy/DateCalendar/DateCalendar.types.js +0 -1
  424. package/legacy/DateCalendar/DayCalendar.js +0 -515
  425. package/legacy/DateCalendar/PickersFadeTransitionGroup.js +0 -58
  426. package/legacy/DateCalendar/PickersSlideTransition.js +0 -118
  427. package/legacy/DateCalendar/dateCalendarClasses.js +0 -5
  428. package/legacy/DateCalendar/dayCalendarClasses.js +0 -5
  429. package/legacy/DateCalendar/index.js +0 -5
  430. package/legacy/DateCalendar/pickersFadeTransitionGroupClasses.js +0 -5
  431. package/legacy/DateCalendar/pickersSlideTransitionClasses.js +0 -5
  432. package/legacy/DateCalendar/useCalendarState.js +0 -124
  433. package/legacy/DateCalendar/useIsDateDisabled.js +0 -30
  434. package/legacy/DateField/DateField.js +0 -319
  435. package/legacy/DateField/DateField.types.js +0 -1
  436. package/legacy/DateField/index.js +0 -2
  437. package/legacy/DateField/useDateField.js +0 -33
  438. package/legacy/DatePicker/DatePicker.js +0 -353
  439. package/legacy/DatePicker/DatePicker.types.js +0 -1
  440. package/legacy/DatePicker/DatePickerToolbar.js +0 -132
  441. package/legacy/DatePicker/datePickerToolbarClasses.js +0 -5
  442. package/legacy/DatePicker/index.js +0 -3
  443. package/legacy/DatePicker/shared.js +0 -41
  444. package/legacy/DateTimeField/DateTimeField.js +0 -360
  445. package/legacy/DateTimeField/DateTimeField.types.js +0 -1
  446. package/legacy/DateTimeField/index.js +0 -2
  447. package/legacy/DateTimeField/useDateTimeField.js +0 -38
  448. package/legacy/DateTimePicker/DateTimePicker.js +0 -424
  449. package/legacy/DateTimePicker/DateTimePicker.types.js +0 -1
  450. package/legacy/DateTimePicker/DateTimePickerTabs.js +0 -142
  451. package/legacy/DateTimePicker/DateTimePickerToolbar.js +0 -385
  452. package/legacy/DateTimePicker/dateTimePickerTabsClasses.js +0 -5
  453. package/legacy/DateTimePicker/dateTimePickerToolbarClasses.js +0 -5
  454. package/legacy/DateTimePicker/index.js +0 -5
  455. package/legacy/DateTimePicker/shared.js +0 -56
  456. package/legacy/DayCalendarSkeleton/DayCalendarSkeleton.js +0 -119
  457. package/legacy/DayCalendarSkeleton/dayCalendarSkeletonClasses.js +0 -5
  458. package/legacy/DayCalendarSkeleton/index.js +0 -2
  459. package/legacy/DesktopDatePicker/DesktopDatePicker.js +0 -372
  460. package/legacy/DesktopDatePicker/DesktopDatePicker.types.js +0 -1
  461. package/legacy/DesktopDatePicker/index.js +0 -1
  462. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -480
  463. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -1
  464. package/legacy/DesktopDateTimePicker/index.js +0 -1
  465. package/legacy/DesktopTimePicker/DesktopTimePicker.js +0 -355
  466. package/legacy/DesktopTimePicker/DesktopTimePicker.types.js +0 -1
  467. package/legacy/DesktopTimePicker/index.js +0 -1
  468. package/legacy/DigitalClock/DigitalClock.js +0 -443
  469. package/legacy/DigitalClock/DigitalClock.types.js +0 -1
  470. package/legacy/DigitalClock/digitalClockClasses.js +0 -6
  471. package/legacy/DigitalClock/index.js +0 -2
  472. package/legacy/LocalizationProvider/LocalizationProvider.js +0 -140
  473. package/legacy/LocalizationProvider/index.js +0 -1
  474. package/legacy/MobileDatePicker/MobileDatePicker.js +0 -369
  475. package/legacy/MobileDatePicker/MobileDatePicker.types.js +0 -1
  476. package/legacy/MobileDatePicker/index.js +0 -1
  477. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +0 -428
  478. package/legacy/MobileDateTimePicker/MobileDateTimePicker.types.js +0 -1
  479. package/legacy/MobileDateTimePicker/index.js +0 -1
  480. package/legacy/MobileTimePicker/MobileTimePicker.js +0 -311
  481. package/legacy/MobileTimePicker/MobileTimePicker.types.js +0 -1
  482. package/legacy/MobileTimePicker/index.js +0 -1
  483. package/legacy/MonthCalendar/MonthCalendar.js +0 -338
  484. package/legacy/MonthCalendar/MonthCalendar.types.js +0 -1
  485. package/legacy/MonthCalendar/PickersMonth.js +0 -135
  486. package/legacy/MonthCalendar/index.js +0 -3
  487. package/legacy/MonthCalendar/monthCalendarClasses.js +0 -5
  488. package/legacy/MonthCalendar/pickersMonthClasses.js +0 -5
  489. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +0 -521
  490. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +0 -1
  491. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +0 -76
  492. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +0 -173
  493. package/legacy/MultiSectionDigitalClock/index.js +0 -3
  494. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +0 -6
  495. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +0 -6
  496. package/legacy/PickersActionBar/PickersActionBar.js +0 -86
  497. package/legacy/PickersActionBar/index.js +0 -1
  498. package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +0 -284
  499. package/legacy/PickersCalendarHeader/PickersCalendarHeader.types.js +0 -1
  500. package/legacy/PickersCalendarHeader/index.js +0 -2
  501. package/legacy/PickersCalendarHeader/pickersCalendarHeaderClasses.js +0 -5
  502. package/legacy/PickersDay/PickersDay.js +0 -367
  503. package/legacy/PickersDay/index.js +0 -2
  504. package/legacy/PickersDay/pickersDayClasses.js +0 -5
  505. package/legacy/PickersLayout/PickersLayout.js +0 -159
  506. package/legacy/PickersLayout/PickersLayout.types.js +0 -1
  507. package/legacy/PickersLayout/index.js +0 -3
  508. package/legacy/PickersLayout/pickersLayoutClasses.js +0 -6
  509. package/legacy/PickersLayout/usePickerLayout.js +0 -134
  510. package/legacy/PickersSectionList/PickersSectionList.js +0 -235
  511. package/legacy/PickersSectionList/PickersSectionList.types.js +0 -1
  512. package/legacy/PickersSectionList/index.js +0 -2
  513. package/legacy/PickersSectionList/pickersSectionListClasses.js +0 -6
  514. package/legacy/PickersShortcuts/PickersShortcuts.js +0 -110
  515. package/legacy/PickersShortcuts/index.js +0 -1
  516. package/legacy/PickersTextField/PickersFilledInput/PickersFilledInput.js +0 -234
  517. package/legacy/PickersTextField/PickersFilledInput/index.js +0 -2
  518. package/legacy/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js +0 -8
  519. package/legacy/PickersTextField/PickersInput/PickersInput.js +0 -190
  520. package/legacy/PickersTextField/PickersInput/index.js +0 -2
  521. package/legacy/PickersTextField/PickersInput/pickersInputClasses.js +0 -8
  522. package/legacy/PickersTextField/PickersInputBase/PickersInputBase.js +0 -340
  523. package/legacy/PickersTextField/PickersInputBase/PickersInputBase.types.js +0 -1
  524. package/legacy/PickersTextField/PickersInputBase/index.js +0 -2
  525. package/legacy/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +0 -6
  526. package/legacy/PickersTextField/PickersOutlinedInput/Outline.js +0 -121
  527. package/legacy/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +0 -183
  528. package/legacy/PickersTextField/PickersOutlinedInput/index.js +0 -2
  529. package/legacy/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js +0 -8
  530. package/legacy/PickersTextField/PickersTextField.js +0 -258
  531. package/legacy/PickersTextField/PickersTextField.types.js +0 -1
  532. package/legacy/PickersTextField/index.js +0 -6
  533. package/legacy/PickersTextField/pickersTextFieldClasses.js +0 -6
  534. package/legacy/StaticDatePicker/StaticDatePicker.js +0 -297
  535. package/legacy/StaticDatePicker/StaticDatePicker.types.js +0 -1
  536. package/legacy/StaticDatePicker/index.js +0 -1
  537. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +0 -356
  538. package/legacy/StaticDateTimePicker/StaticDateTimePicker.types.js +0 -1
  539. package/legacy/StaticDateTimePicker/index.js +0 -1
  540. package/legacy/StaticTimePicker/StaticTimePicker.js +0 -238
  541. package/legacy/StaticTimePicker/StaticTimePicker.types.js +0 -1
  542. package/legacy/StaticTimePicker/index.js +0 -1
  543. package/legacy/TimeClock/Clock.js +0 -358
  544. package/legacy/TimeClock/ClockNumber.js +0 -87
  545. package/legacy/TimeClock/ClockNumbers.js +0 -73
  546. package/legacy/TimeClock/ClockPointer.js +0 -106
  547. package/legacy/TimeClock/TimeClock.js +0 -481
  548. package/legacy/TimeClock/TimeClock.types.js +0 -1
  549. package/legacy/TimeClock/clockClasses.js +0 -5
  550. package/legacy/TimeClock/clockNumberClasses.js +0 -5
  551. package/legacy/TimeClock/clockPointerClasses.js +0 -5
  552. package/legacy/TimeClock/index.js +0 -5
  553. package/legacy/TimeClock/shared.js +0 -53
  554. package/legacy/TimeClock/timeClockClasses.js +0 -5
  555. package/legacy/TimeField/TimeField.js +0 -320
  556. package/legacy/TimeField/TimeField.types.js +0 -1
  557. package/legacy/TimeField/index.js +0 -2
  558. package/legacy/TimeField/useTimeField.js +0 -31
  559. package/legacy/TimePicker/TimePicker.js +0 -314
  560. package/legacy/TimePicker/TimePicker.types.js +0 -1
  561. package/legacy/TimePicker/TimePickerToolbar.js +0 -260
  562. package/legacy/TimePicker/index.js +0 -3
  563. package/legacy/TimePicker/shared.js +0 -45
  564. package/legacy/TimePicker/timePickerToolbarClasses.js +0 -5
  565. package/legacy/YearCalendar/PickersYear.js +0 -137
  566. package/legacy/YearCalendar/YearCalendar.js +0 -362
  567. package/legacy/YearCalendar/YearCalendar.types.js +0 -1
  568. package/legacy/YearCalendar/index.js +0 -3
  569. package/legacy/YearCalendar/pickersYearClasses.js +0 -5
  570. package/legacy/YearCalendar/yearCalendarClasses.js +0 -5
  571. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -162
  572. package/legacy/dateTimeViewRenderers/index.js +0 -1
  573. package/legacy/dateViewRenderers/dateViewRenderers.js +0 -82
  574. package/legacy/dateViewRenderers/index.js +0 -1
  575. package/legacy/hooks/index.js +0 -1
  576. package/legacy/hooks/useClearableField.js +0 -76
  577. package/legacy/icons/index.js +0 -68
  578. package/legacy/index.js +0 -59
  579. package/legacy/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +0 -5
  580. package/legacy/internals/components/DateTimeViewWrapper/index.js +0 -1
  581. package/legacy/internals/components/PickerViewRoot/PickerViewRoot.js +0 -10
  582. package/legacy/internals/components/PickerViewRoot/index.js +0 -1
  583. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +0 -170
  584. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.js +0 -1
  585. package/legacy/internals/components/PickersArrowSwitcher/index.js +0 -2
  586. package/legacy/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js +0 -5
  587. package/legacy/internals/components/PickersModalDialog.js +0 -42
  588. package/legacy/internals/components/PickersPopper.js +0 -325
  589. package/legacy/internals/components/PickersToolbar.js +0 -92
  590. package/legacy/internals/components/PickersToolbarButton.js +0 -61
  591. package/legacy/internals/components/PickersToolbarText.js +0 -52
  592. package/legacy/internals/components/pickersPopperClasses.js +0 -5
  593. package/legacy/internals/components/pickersToolbarButtonClasses.js +0 -5
  594. package/legacy/internals/components/pickersToolbarClasses.js +0 -5
  595. package/legacy/internals/components/pickersToolbarTextClasses.js +0 -5
  596. package/legacy/internals/constants/dimensions.js +0 -7
  597. package/legacy/internals/demo/DemoContainer.js +0 -163
  598. package/legacy/internals/demo/index.js +0 -1
  599. package/legacy/internals/hooks/date-helpers-hooks.js +0 -37
  600. package/legacy/internals/hooks/useClockReferenceDate.js +0 -28
  601. package/legacy/internals/hooks/useDefaultReduceAnimations.js +0 -14
  602. package/legacy/internals/hooks/useDesktopPicker/index.js +0 -1
  603. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +0 -174
  604. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.types.js +0 -1
  605. package/legacy/internals/hooks/useField/index.js +0 -2
  606. package/legacy/internals/hooks/useField/useField.js +0 -470
  607. package/legacy/internals/hooks/useField/useField.types.js +0 -1
  608. package/legacy/internals/hooks/useField/useField.utils.js +0 -828
  609. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +0 -277
  610. package/legacy/internals/hooks/useField/useFieldState.js +0 -321
  611. package/legacy/internals/hooks/useIsLandscape.js +0 -39
  612. package/legacy/internals/hooks/useMobilePicker/index.js +0 -1
  613. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +0 -126
  614. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.types.js +0 -1
  615. package/legacy/internals/hooks/useOpenState.js +0 -38
  616. package/legacy/internals/hooks/usePicker/index.js +0 -1
  617. package/legacy/internals/hooks/usePicker/usePicker.js +0 -54
  618. package/legacy/internals/hooks/usePicker/usePicker.types.js +0 -1
  619. package/legacy/internals/hooks/usePicker/usePickerLayoutProps.js +0 -28
  620. package/legacy/internals/hooks/usePicker/usePickerValue.js +0 -365
  621. package/legacy/internals/hooks/usePicker/usePickerValue.types.js +0 -1
  622. package/legacy/internals/hooks/usePicker/usePickerViews.js +0 -172
  623. package/legacy/internals/hooks/useStaticPicker/index.js +0 -1
  624. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.js +0 -66
  625. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.types.js +0 -1
  626. package/legacy/internals/hooks/useUtils.js +0 -38
  627. package/legacy/internals/hooks/useValidation.js +0 -20
  628. package/legacy/internals/hooks/useValueWithTimezone.js +0 -81
  629. package/legacy/internals/hooks/useViews.js +0 -124
  630. package/legacy/internals/index.js +0 -35
  631. package/legacy/internals/models/common.js +0 -1
  632. package/legacy/internals/models/fields.js +0 -1
  633. package/legacy/internals/models/helpers.js +0 -1
  634. package/legacy/internals/models/index.js +0 -2
  635. package/legacy/internals/models/props/basePickerProps.js +0 -1
  636. package/legacy/internals/models/props/clock.js +0 -1
  637. package/legacy/internals/models/props/tabs.js +0 -1
  638. package/legacy/internals/models/props/toolbar.js +0 -1
  639. package/legacy/internals/models/validation.js +0 -1
  640. package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -24
  641. package/legacy/internals/utils/date-time-utils.js +0 -71
  642. package/legacy/internals/utils/date-utils.js +0 -129
  643. package/legacy/internals/utils/fields.js +0 -28
  644. package/legacy/internals/utils/getDefaultReferenceDate.js +0 -65
  645. package/legacy/internals/utils/time-utils.js +0 -63
  646. package/legacy/internals/utils/utils.js +0 -40
  647. package/legacy/internals/utils/validation/extractValidationProps.js +0 -16
  648. package/legacy/internals/utils/validation/validateDate.js +0 -38
  649. package/legacy/internals/utils/validation/validateDateTime.js +0 -20
  650. package/legacy/internals/utils/validation/validateTime.js +0 -42
  651. package/legacy/internals/utils/valueManagers.js +0 -67
  652. package/legacy/internals/utils/views.js +0 -29
  653. package/legacy/internals/utils/warning.js +0 -39
  654. package/legacy/locales/beBY.js +0 -99
  655. package/legacy/locales/caES.js +0 -100
  656. package/legacy/locales/csCZ.js +0 -100
  657. package/legacy/locales/daDK.js +0 -102
  658. package/legacy/locales/deDE.js +0 -101
  659. package/legacy/locales/elGR.js +0 -100
  660. package/legacy/locales/enUS.js +0 -96
  661. package/legacy/locales/esES.js +0 -99
  662. package/legacy/locales/eu.js +0 -99
  663. package/legacy/locales/faIR.js +0 -100
  664. package/legacy/locales/fiFI.js +0 -100
  665. package/legacy/locales/frFR.js +0 -98
  666. package/legacy/locales/heIL.js +0 -100
  667. package/legacy/locales/huHU.js +0 -99
  668. package/legacy/locales/index.js +0 -35
  669. package/legacy/locales/isIS.js +0 -100
  670. package/legacy/locales/itIT.js +0 -98
  671. package/legacy/locales/jaJP.js +0 -102
  672. package/legacy/locales/koKR.js +0 -98
  673. package/legacy/locales/kzKZ.js +0 -99
  674. package/legacy/locales/mk.js +0 -96
  675. package/legacy/locales/nbNO.js +0 -100
  676. package/legacy/locales/nlNL.js +0 -100
  677. package/legacy/locales/plPL.js +0 -85
  678. package/legacy/locales/ptBR.js +0 -100
  679. package/legacy/locales/roRO.js +0 -99
  680. package/legacy/locales/ruRU.js +0 -98
  681. package/legacy/locales/skSK.js +0 -100
  682. package/legacy/locales/svSE.js +0 -85
  683. package/legacy/locales/trTR.js +0 -100
  684. package/legacy/locales/ukUA.js +0 -100
  685. package/legacy/locales/urPK.js +0 -85
  686. package/legacy/locales/utils/getPickersLocalization.js +0 -12
  687. package/legacy/locales/utils/pickersLocaleTextApi.js +0 -1
  688. package/legacy/locales/viVN.js +0 -100
  689. package/legacy/locales/zhCN.js +0 -100
  690. package/legacy/locales/zhHK.js +0 -100
  691. package/legacy/models/adapters.js +0 -1
  692. package/legacy/models/common.js +0 -1
  693. package/legacy/models/fields.js +0 -1
  694. package/legacy/models/index.js +0 -7
  695. package/legacy/models/pickers.js +0 -1
  696. package/legacy/models/timezone.js +0 -1
  697. package/legacy/models/validation.js +0 -1
  698. package/legacy/models/views.js +0 -1
  699. package/legacy/themeAugmentation/index.js +0 -3
  700. package/legacy/timeViewRenderers/index.js +0 -1
  701. 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
+ };
@@ -8,6 +8,6 @@ import { DateOrTimeViewWithMeridiem } from '../../models';
8
8
  * - MobileDateTimePicker
9
9
  * - MobileTimePicker
10
10
  */
11
- export declare const useMobilePicker: <TDate extends PickerValidDate, 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>) => {
12
12
  renderPicker: () => React.JSX.Element;
13
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,5 +1,5 @@
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';
@@ -9,27 +9,27 @@ import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickersLayo
9
9
  import { UsePickerValueNonStaticProps } from '../usePicker/usePickerValue.types';
10
10
  import { UsePickerViewsNonStaticProps, UsePickerViewsProps } from '../usePicker/usePickerViews';
11
11
  import { DateOrTimeViewWithMeridiem } from '../../models';
12
+ import { SlotComponentPropsFromProps } from '../../models/helpers';
12
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 extends PickerValidDate, 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 extends PickerValidDate, 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 PickerValidDate> extends BaseNonStaticPickerProps, BaseNonRangeNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, FieldSection>, UsePickerViewsNonStaticProps {
30
+ export interface MobileOnlyPickerProps extends BaseNonStaticPickerProps, BaseNonRangeNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps {
31
31
  }
32
- export interface UseMobilePickerProps<TDate extends PickerValidDate, 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 extends PickerValidDate, TView exten
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 extends PickerValidDate, 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
  }
@@ -2,4 +2,4 @@ import { UsePickerParams, UsePickerProps, UsePickerResponse } from './usePicker.
2
2
  import { InferError } from '../useValidation';
3
3
  import { FieldSection, PickerValidDate } from '../../../models';
4
4
  import { DateOrTimeViewWithMeridiem } from '../../models';
5
- export declare const usePicker: <TValue, TDate extends PickerValidDate, 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
  });
@@ -8,9 +8,9 @@ import { DateOrTimeViewWithMeridiem } from '../../models';
8
8
  */
9
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 extends PickerValidDate, 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 extends PickerValidDate, 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> {
@@ -4,4 +4,4 @@ import { UsePickerValueProps, UsePickerValueParams, UsePickerValueResponse } fro
4
4
  /**
5
5
  * Manage the value lifecycle of all the pickers.
6
6
  */
7
- export declare const usePickerValue: <TValue, TDate extends PickerValidDate, 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>>;
@@ -1,6 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
- import { unstable_useControlled as useControlled } from '@mui/utils';
4
3
  import useEventCallback from '@mui/utils/useEventCallback';
5
4
  import { useOpenState } from '../useOpenState';
6
5
  import { useLocalizationContext, useUtils } from '../useUtils';
@@ -123,8 +122,6 @@ export const usePickerValue = ({
123
122
  value: inValue,
124
123
  defaultValue: inDefaultValue,
125
124
  closeOnSelect = wrapperVariant === 'desktop',
126
- selectedSections: selectedSectionsProp,
127
- onSelectedSectionsChange,
128
125
  timezone: timezoneProp
129
126
  } = props;
130
127
  const {
@@ -151,12 +148,6 @@ export const usePickerValue = ({
151
148
 
152
149
  const utils = useUtils();
153
150
  const adapter = useLocalizationContext();
154
- const [selectedSections, setSelectedSections] = useControlled({
155
- controlled: selectedSectionsProp,
156
- default: null,
157
- name: 'usePickerValue',
158
- state: 'selectedSections'
159
- });
160
151
  const {
161
152
  isOpen,
162
153
  setIsOpen
@@ -297,10 +288,6 @@ export const usePickerValue = ({
297
288
  value: newValue,
298
289
  context
299
290
  }));
300
- const handleFieldSelectedSectionsChange = useEventCallback(newSelectedSections => {
301
- setSelectedSections(newSelectedSections);
302
- onSelectedSectionsChange == null || onSelectedSectionsChange(newSelectedSections);
303
- });
304
291
  const actions = {
305
292
  onClear: handleClear,
306
293
  onAccept: handleAccept,
@@ -312,17 +299,14 @@ export const usePickerValue = ({
312
299
  };
313
300
  const fieldResponse = {
314
301
  value: dateState.draft,
315
- onChange: handleChangeFromField,
316
- selectedSections,
317
- onSelectedSectionsChange: handleFieldSelectedSectionsChange
302
+ onChange: handleChangeFromField
318
303
  };
319
304
  const viewValue = React.useMemo(() => valueManager.cleanValue(utils, dateState.draft), [utils, valueManager, dateState.draft]);
320
305
  const viewResponse = {
321
306
  value: viewValue,
322
307
  onChange: handleChange,
323
308
  onClose: handleClose,
324
- open: isOpen,
325
- onSelectedSectionsChange: handleFieldSelectedSectionsChange
309
+ open: isOpen
326
310
  };
327
311
  const isValid = testedValue => {
328
312
  const error = validator({