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

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