@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,400 @@
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?.(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
+ onInput?.(event);
164
+ if (!sectionListRef.current || parsedSelectedSections !== 'all') {
165
+ return;
166
+ }
167
+ const target = event.target;
168
+ const keyPressed = target.textContent ?? '';
169
+ sectionListRef.current.getRoot().innerHTML = state.sections.map(section => `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`).join('');
170
+ interactions.syncSelectionToDOM();
171
+ if (keyPressed.length === 0 || keyPressed.charCodeAt(0) === 10) {
172
+ resetCharacterQuery();
173
+ clearValue();
174
+ setSelectedSections('all');
175
+ } else if (keyPressed.length > 1) {
176
+ updateValueFromValueStr(keyPressed);
177
+ } else {
178
+ applyCharacterEditing({
179
+ keyPressed,
180
+ sectionIndex: 0
181
+ });
182
+ }
183
+ });
184
+ const handleContainerPaste = useEventCallback(event => {
185
+ onPaste?.(event);
186
+ if (readOnly || parsedSelectedSections !== 'all') {
187
+ event.preventDefault();
188
+ return;
189
+ }
190
+ const pastedValue = event.clipboardData.getData('text');
191
+ event.preventDefault();
192
+ resetCharacterQuery();
193
+ updateValueFromValueStr(pastedValue);
194
+ });
195
+ const handleContainerFocus = useEventCallback((...args) => {
196
+ onFocus?.(...args);
197
+ if (focused || !sectionListRef.current) {
198
+ return;
199
+ }
200
+ setFocused(true);
201
+ const isFocusInsideASection = sectionListRef.current.getSectionIndexFromDOMElement(getActiveElement(document)) != null;
202
+ if (!isFocusInsideASection) {
203
+ setSelectedSections(sectionOrder.startIndex);
204
+ }
205
+ });
206
+ const handleContainerBlur = useEventCallback((...args) => {
207
+ onBlur?.(...args);
208
+ setTimeout(() => {
209
+ if (!sectionListRef.current) {
210
+ return;
211
+ }
212
+ const activeElement = getActiveElement(document);
213
+ const shouldBlur = !sectionListRef.current.getRoot().contains(activeElement);
214
+ if (shouldBlur) {
215
+ setFocused(false);
216
+ setSelectedSections(null);
217
+ }
218
+ });
219
+ });
220
+ const getInputContainerClickHandler = useEventCallback(sectionIndex => event => {
221
+ // The click event on the clear button would propagate to the input, trigger this handler and result in a wrong section selection.
222
+ // We avoid this by checking if the call to this function is actually intended, or a side effect.
223
+ if (event.isDefaultPrevented() || readOnly) {
224
+ return;
225
+ }
226
+ setSelectedSections(sectionIndex);
227
+ });
228
+ const handleInputContentMouseUp = useEventCallback(event => {
229
+ // Without this, the browser will remove the selected when clicking inside an already-selected section.
230
+ event.preventDefault();
231
+ });
232
+ const getInputContentFocusHandler = useEventCallback(sectionIndex => () => {
233
+ if (readOnly) {
234
+ return;
235
+ }
236
+ setSelectedSections(sectionIndex);
237
+ });
238
+ const handleInputContentPaste = useEventCallback(event => {
239
+ // prevent default to avoid the input `onInput` handler being called
240
+ event.preventDefault();
241
+ if (readOnly || typeof parsedSelectedSections !== 'number') {
242
+ return;
243
+ }
244
+ const activeSection = state.sections[parsedSelectedSections];
245
+ const pastedValue = event.clipboardData.getData('text');
246
+ const lettersOnly = /^[a-zA-Z]+$/.test(pastedValue);
247
+ const digitsOnly = /^[0-9]+$/.test(pastedValue);
248
+ const digitsAndLetterOnly = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(pastedValue);
249
+ const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly || activeSection.contentType === 'digit-with-letter' && digitsAndLetterOnly;
250
+ if (isValidPastedValue) {
251
+ resetCharacterQuery();
252
+ updateSectionValue({
253
+ activeSection,
254
+ newSectionValue: pastedValue,
255
+ shouldGoToNextSection: true
256
+ });
257
+ }
258
+ // If the pasted value corresponds to a single section, but not the expected type, we skip the modification
259
+ else if (!lettersOnly && !digitsOnly) {
260
+ resetCharacterQuery();
261
+ updateValueFromValueStr(pastedValue);
262
+ }
263
+ });
264
+ const handleInputContentDragOver = useEventCallback(event => {
265
+ event.preventDefault();
266
+ event.dataTransfer.dropEffect = 'none';
267
+ });
268
+ const handleInputContentInput = useEventCallback(event => {
269
+ if (!sectionListRef.current) {
270
+ return;
271
+ }
272
+ const target = event.target;
273
+ const keyPressed = target.textContent ?? '';
274
+ const sectionIndex = sectionListRef.current.getSectionIndexFromDOMElement(target);
275
+ const section = state.sections[sectionIndex];
276
+ if (readOnly || !sectionListRef.current) {
277
+ revertDOMSectionChange(sectionIndex);
278
+ return;
279
+ }
280
+ if (keyPressed.length === 0) {
281
+ if (section.value === '') {
282
+ revertDOMSectionChange(sectionIndex);
283
+ return;
284
+ }
285
+ resetCharacterQuery();
286
+ clearActiveSection();
287
+ return;
288
+ }
289
+ applyCharacterEditing({
290
+ keyPressed,
291
+ sectionIndex
292
+ });
293
+
294
+ // The DOM value needs to remain the one React is expecting.
295
+ revertDOMSectionChange(sectionIndex);
296
+ });
297
+ useEnhancedEffect(() => {
298
+ if (!focused || !sectionListRef.current) {
299
+ return;
300
+ }
301
+ if (parsedSelectedSections === 'all') {
302
+ sectionListRef.current.getRoot().focus();
303
+ } else if (typeof parsedSelectedSections === 'number') {
304
+ const domElement = sectionListRef.current.getSectionContent(parsedSelectedSections);
305
+ if (domElement) {
306
+ domElement.focus();
307
+ }
308
+ }
309
+ }, [parsedSelectedSections, focused]);
310
+ const sectionBoundaries = React.useMemo(() => {
311
+ return state.sections.reduce((acc, next) => {
312
+ acc[next.type] = sectionsValueBoundaries[next.type]({
313
+ currentDate: null,
314
+ contentType: next.contentType,
315
+ format: next.format
316
+ });
317
+ return acc;
318
+ }, {});
319
+ }, [sectionsValueBoundaries, state.sections]);
320
+ const isContainerEditable = parsedSelectedSections === 'all';
321
+ const elements = React.useMemo(() => {
322
+ return state.sections.map((section, index) => {
323
+ const isEditable = !isContainerEditable && !disabled && !readOnly;
324
+ return {
325
+ container: {
326
+ 'data-sectionindex': index,
327
+ onClick: getInputContainerClickHandler(index)
328
+ },
329
+ content: {
330
+ tabIndex: isContainerEditable ? undefined : 0,
331
+ contentEditable: !isContainerEditable && !disabled && !readOnly,
332
+ role: 'spinbutton',
333
+ id: `${id}-${section.type}`,
334
+ 'aria-labelledby': `${id}-${section.type}`,
335
+ 'aria-readonly': readOnly,
336
+ 'aria-valuenow': getSectionValueNow(section, utils),
337
+ 'aria-valuemin': sectionBoundaries[section.type].minimum,
338
+ 'aria-valuemax': sectionBoundaries[section.type].maximum,
339
+ 'aria-valuetext': section.value ? getSectionValueText(section, utils) : localeText.empty,
340
+ 'aria-label': localeText[section.type],
341
+ 'aria-disabled': disabled,
342
+ spellCheck: isEditable ? false : undefined,
343
+ autoCapitalize: isEditable ? 'off' : undefined,
344
+ autoCorrect: isEditable ? 'off' : undefined,
345
+ [parseInt(React.version, 10) >= 17 ? 'enterKeyHint' : 'enterkeyhint']: isEditable ? 'next' : undefined,
346
+ children: section.value || section.placeholder,
347
+ onInput: handleInputContentInput,
348
+ onPaste: handleInputContentPaste,
349
+ onFocus: getInputContentFocusHandler(index),
350
+ onDragOver: handleInputContentDragOver,
351
+ onMouseUp: handleInputContentMouseUp,
352
+ inputMode: section.contentType === 'letter' ? 'text' : 'numeric'
353
+ },
354
+ before: {
355
+ children: section.startSeparator
356
+ },
357
+ after: {
358
+ children: section.endSeparator
359
+ }
360
+ };
361
+ });
362
+ }, [state.sections, getInputContentFocusHandler, handleInputContentPaste, handleInputContentDragOver, handleInputContentInput, getInputContainerClickHandler, handleInputContentMouseUp, disabled, readOnly, isContainerEditable, localeText, utils, sectionBoundaries, id]);
363
+ const handleValueStrChange = useEventCallback(event => {
364
+ updateValueFromValueStr(event.target.value);
365
+ });
366
+ const valueStr = React.useMemo(() => areAllSectionsEmpty ? '' : fieldValueManager.getV7HiddenInputValueFromSections(state.sections), [areAllSectionsEmpty, state.sections, fieldValueManager]);
367
+ React.useEffect(() => {
368
+ if (sectionListRef.current == null) {
369
+ 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'));
370
+ }
371
+ if (autoFocus && sectionListRef.current) {
372
+ sectionListRef.current.getSectionContent(sectionOrder.startIndex).focus();
373
+ }
374
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
375
+
376
+ return {
377
+ interactions,
378
+ returnedValue: {
379
+ // Forwarded
380
+ autoFocus,
381
+ readOnly,
382
+ focused: focusedProp ?? focused,
383
+ sectionListRef: handleSectionListRef,
384
+ onBlur: handleContainerBlur,
385
+ onClick: handleContainerClick,
386
+ onFocus: handleContainerFocus,
387
+ onInput: handleContainerInput,
388
+ onPaste: handleContainerPaste,
389
+ // Additional
390
+ enableAccessibleFieldDOMStructure: true,
391
+ elements,
392
+ // TODO v7: Try to set to undefined when there is a section selected.
393
+ tabIndex: 0,
394
+ contentEditable: isContainerEditable,
395
+ value: valueStr,
396
+ onChange: handleValueStrChange,
397
+ areAllSectionsEmpty
398
+ }
399
+ };
400
+ };
@@ -32,6 +32,9 @@ export const useMobilePicker = _ref => {
32
32
  sx,
33
33
  format,
34
34
  formatDensity,
35
+ enableAccessibleFieldDOMStructure,
36
+ selectedSections,
37
+ onSelectedSectionsChange,
35
38
  timezone,
36
39
  name,
37
40
  label,
@@ -41,7 +44,7 @@ export const useMobilePicker = _ref => {
41
44
  localeText
42
45
  } = props;
43
46
  const utils = useUtils();
44
- const internalInputRef = React.useRef(null);
47
+ const fieldRef = React.useRef(null);
45
48
  const labelId = useId();
46
49
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
47
50
  const {
@@ -52,7 +55,7 @@ export const useMobilePicker = _ref => {
52
55
  fieldProps: pickerFieldProps
53
56
  } = usePicker(_extends({}, pickerParams, {
54
57
  props,
55
- inputRef: internalInputRef,
58
+ fieldRef,
56
59
  autoFocusView: true,
57
60
  additionalViewProps: {},
58
61
  wrapperVariant: 'mobile'
@@ -73,10 +76,15 @@ export const useMobilePicker = _ref => {
73
76
  sx,
74
77
  format,
75
78
  formatDensity,
79
+ enableAccessibleFieldDOMStructure,
80
+ selectedSections,
81
+ onSelectedSectionsChange,
76
82
  timezone,
77
83
  label,
78
84
  name
79
- }),
85
+ }, inputRef ? {
86
+ inputRef
87
+ } : {}),
80
88
  ownerState: props
81
89
  });
82
90
 
@@ -88,7 +96,6 @@ export const useMobilePicker = _ref => {
88
96
  textField: slots.textField
89
97
  }, fieldProps.slots);
90
98
  const Layout = slots.layout ?? PickersLayout;
91
- const handleInputRef = useForkRef(internalInputRef, fieldProps.inputRef, inputRef);
92
99
  let labelledById = labelId;
93
100
  if (isToolbarHidden) {
94
101
  if (label) {
@@ -105,12 +112,13 @@ export const useMobilePicker = _ref => {
105
112
  'aria-labelledby': labelledById
106
113
  }, innerSlotProps?.mobilePaper)
107
114
  });
115
+ const handleFieldRef = useForkRef(fieldRef, fieldProps.unstableFieldRef);
108
116
  const renderPicker = () => /*#__PURE__*/_jsxs(LocalizationProvider, {
109
117
  localeText: localeText,
110
118
  children: [/*#__PURE__*/_jsx(Field, _extends({}, fieldProps, {
111
119
  slots: slotsForField,
112
120
  slotProps: slotProps,
113
- inputRef: handleInputRef
121
+ unstableFieldRef: handleFieldRef
114
122
  })), /*#__PURE__*/_jsx(PickersModalDialog, _extends({}, actions, {
115
123
  open: open,
116
124
  slots: slots,
@@ -8,11 +8,11 @@ export const usePicker = ({
8
8
  valueManager,
9
9
  valueType,
10
10
  wrapperVariant,
11
- inputRef,
12
11
  additionalViewProps,
13
12
  validator,
14
13
  autoFocusView,
15
- rendererInterceptor
14
+ rendererInterceptor,
15
+ fieldRef
16
16
  }) => {
17
17
  if (process.env.NODE_ENV !== 'production') {
18
18
  if (props.renderInput != null) {
@@ -28,9 +28,9 @@ export const usePicker = ({
28
28
  });
29
29
  const pickerViewsResponse = usePickerViews({
30
30
  props,
31
- inputRef,
32
31
  additionalViewProps,
33
32
  autoFocusView,
33
+ fieldRef,
34
34
  propsFromPickerValue: pickerValueResponse.viewProps,
35
35
  rendererInterceptor
36
36
  });
@@ -1,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?.(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({
@@ -29,14 +29,13 @@ export const usePickerViews = ({
29
29
  props,
30
30
  propsFromPickerValue,
31
31
  additionalViewProps,
32
- inputRef,
33
32
  autoFocusView,
34
- rendererInterceptor
33
+ rendererInterceptor,
34
+ fieldRef
35
35
  }) => {
36
36
  const {
37
37
  onChange,
38
38
  open,
39
- onSelectedSectionsChange,
40
39
  onClose
41
40
  } = propsFromPickerValue;
42
41
  const {
@@ -102,9 +101,8 @@ export const usePickerViews = ({
102
101
  onClose();
103
102
  setTimeout(() => {
104
103
  // focusing the input before the range selection is done
105
- // calling `onSelectedSectionsChange` outside of timeout results in an inconsistent behavior between Safari And Chrome
106
- inputRef?.current.focus();
107
- onSelectedSectionsChange(view);
104
+ // calling it outside of timeout results in an inconsistent behavior between Safari And Chrome
105
+ fieldRef?.current?.focusField(view);
108
106
  });
109
107
  }
110
108
  }, [view]); // eslint-disable-line react-hooks/exhaustive-deps
@@ -44,6 +44,7 @@ export const useStaticPicker = _ref => {
44
44
  } = usePicker(_extends({}, pickerParams, {
45
45
  props,
46
46
  autoFocusView: autoFocus ?? false,
47
+ fieldRef: undefined,
47
48
  additionalViewProps: {},
48
49
  wrapperVariant: displayStaticWrapperAs
49
50
  }));
@@ -10,7 +10,7 @@ export { pickersPopperClasses } from './components/pickersPopperClasses';
10
10
  export { PickersToolbarButton } from './components/PickersToolbarButton';
11
11
  export { DAY_MARGIN, DIALOG_WIDTH, VIEW_HEIGHT } from './constants/dimensions';
12
12
  export { useControlledValueWithTimezone } from './hooks/useValueWithTimezone';
13
- export { useField, createDateStrForInputFromSections, addPositionPropertiesToSections } from './hooks/useField';
13
+ export { useField, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from './hooks/useField';
14
14
  export { usePicker } from './hooks/usePicker';
15
15
  export { useStaticPicker } from './hooks/useStaticPicker';
16
16
  export { useLocalizationContext, useDefaultDates, useUtils, useLocaleText, useNow } from './hooks/useUtils';
@@ -23,6 +23,7 @@ export { resolveTimeViewsResponse } from './utils/date-time-utils';
23
23
  export { splitFieldInternalAndForwardedProps } from './utils/fields';
24
24
  export { getDefaultReferenceDate } from './utils/getDefaultReferenceDate';
25
25
  export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from './utils/utils';
26
+ export { useDefaultizedDateField, useDefaultizedTimeField, useDefaultizedDateTimeField } from './hooks/defaultizedFieldProps';
26
27
  export { useDefaultReduceAnimations } from './hooks/useDefaultReduceAnimations';
27
28
  export { extractValidationProps } from './utils/validation/extractValidationProps';
28
29
  export { validateDate } from './utils/validation/validateDate';
@@ -1,7 +1,25 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["onPaste", "onKeyDown", "inputMode", "readOnly", "InputProps", "inputProps", "inputRef"];
4
- export const convertFieldResponseIntoMuiTextFieldProps = fieldResponse => {
3
+ const _excluded = ["enableAccessibleFieldDOMStructure"],
4
+ _excluded2 = ["InputProps", "readOnly"],
5
+ _excluded3 = ["onPaste", "onKeyDown", "inputMode", "readOnly", "InputProps", "inputProps", "inputRef"];
6
+ export const convertFieldResponseIntoMuiTextFieldProps = _ref => {
7
+ let {
8
+ enableAccessibleFieldDOMStructure
9
+ } = _ref,
10
+ fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);
11
+ if (enableAccessibleFieldDOMStructure) {
12
+ const {
13
+ InputProps,
14
+ readOnly
15
+ } = fieldResponse,
16
+ other = _objectWithoutPropertiesLoose(fieldResponse, _excluded2);
17
+ return _extends({}, other, {
18
+ InputProps: _extends({}, InputProps ?? {}, {
19
+ readOnly
20
+ })
21
+ });
22
+ }
5
23
  const {
6
24
  onPaste,
7
25
  onKeyDown,
@@ -11,7 +29,7 @@ export const convertFieldResponseIntoMuiTextFieldProps = fieldResponse => {
11
29
  inputProps,
12
30
  inputRef
13
31
  } = fieldResponse,
14
- other = _objectWithoutPropertiesLoose(fieldResponse, _excluded);
32
+ other = _objectWithoutPropertiesLoose(fieldResponse, _excluded3);
15
33
  return _extends({}, other, {
16
34
  InputProps: _extends({}, InputProps ?? {}, {
17
35
  readOnly
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { DATE_TIME_VALIDATION_PROP_NAMES, DATE_VALIDATION_PROP_NAMES, TIME_VALIDATION_PROP_NAMES } from './validation/extractValidationProps';
3
- const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'readOnly', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'unstableFieldRef'];
3
+ const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'unstableFieldRef', 'enableAccessibleFieldDOMStructure', 'disabled', 'readOnly'];
4
4
  export const splitFieldInternalAndForwardedProps = (props, valueType) => {
5
5
  const forwardedProps = _extends({}, props);
6
6
  const internalProps = {};
@@ -2,7 +2,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
2
2
  const _excluded = ["value", "referenceDate"];
3
3
  import { areDatesEqual, getTodayDate, replaceInvalidDateByNull } from './date-utils';
4
4
  import { getDefaultReferenceDate } from './getDefaultReferenceDate';
5
- import { addPositionPropertiesToSections, createDateStrForInputFromSections } from '../hooks/useField/useField.utils';
5
+ import { createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from '../hooks/useField/useField.utils';
6
6
  export const singleItemValueManager = {
7
7
  emptyValue: null,
8
8
  getTodayValue: getTodayDate,
@@ -30,14 +30,15 @@ export const singleItemValueManager = {
30
30
  };
31
31
  export const singleItemFieldValueManager = {
32
32
  updateReferenceValue: (utils, value, prevReferenceValue) => value == null || !utils.isValid(value) ? prevReferenceValue : value,
33
- getSectionsFromValue: (utils, date, prevSections, localizedDigits, isRTL, getSectionsFromDate) => {
33
+ getSectionsFromValue: (utils, date, prevSections, getSectionsFromDate) => {
34
34
  const shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;
35
35
  if (shouldReUsePrevDateSections) {
36
36
  return prevSections;
37
37
  }
38
- return addPositionPropertiesToSections(getSectionsFromDate(date), localizedDigits, isRTL);
38
+ return getSectionsFromDate(date);
39
39
  },
40
- getValueStrFromSections: createDateStrForInputFromSections,
40
+ getV7HiddenInputValueFromSections: createDateStrForV7HiddenInputFromSections,
41
+ getV6InputValueFromSections: createDateStrForV6InputFromSections,
41
42
  getActiveDateManager: (utils, state) => ({
42
43
  date: state.value,
43
44
  referenceDate: state.referenceValue,