@mui/x-date-pickers 7.0.0-beta.2 → 7.0.0-beta.5

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