@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
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.validateSections = exports.splitFormatIntoSections = exports.removeLocalizedDigits = exports.mergeDateIntoReferenceDate = exports.isStringNumber = exports.isAndroid = exports.getSectionsBoundaries = exports.getSectionVisibleValue = exports.getSectionOrder = exports.getLocalizedDigits = exports.getLetterEditingOptions = exports.getDaysInWeekStr = exports.getDateSectionConfigFromFormatToken = exports.getDateFromDateSections = exports.doesSectionFormatHaveLeadingZeros = exports.createDateStrForInputFromSections = exports.cleanString = exports.cleanLeadingZeros = exports.cleanDigitSectionValue = exports.changeSectionValueFormat = exports.applyLocalizedDigits = exports.adjustSectionValue = exports.addPositionPropertiesToSections = exports.FORMAT_SECONDS_NO_LEADING_ZEROS = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+ exports.validateSections = exports.removeLocalizedDigits = exports.parseSelectedSections = exports.mergeDateIntoReferenceDate = exports.isStringNumber = exports.isAndroid = exports.getSectionsBoundaries = exports.getSectionVisibleValue = exports.getSectionValueText = exports.getSectionValueNow = exports.getSectionOrder = exports.getLocalizedDigits = exports.getLetterEditingOptions = exports.getDaysInWeekStr = exports.getDateSectionConfigFromFormatToken = exports.getDateFromDateSections = exports.doesSectionFormatHaveLeadingZeros = exports.createDateStrForV7HiddenInputFromSections = exports.createDateStrForV6InputFromSections = exports.cleanLeadingZeros = exports.cleanDigitSectionValue = exports.changeSectionValueFormat = exports.applyLocalizedDigits = exports.adjustSectionValue = exports.FORMAT_SECONDS_NO_LEADING_ZEROS = void 0;
9
7
  var _dateUtils = require("../../utils/date-utils");
10
8
  const getDateSectionConfigFromFormatToken = (utils, formatToken) => {
11
9
  const config = utils.formatTokenMap[formatToken];
@@ -243,95 +241,6 @@ const getSectionVisibleValue = (section, target, localizedDigits) => {
243
241
  return value;
244
242
  };
245
243
  exports.getSectionVisibleValue = getSectionVisibleValue;
246
- const cleanString = dirtyString => dirtyString.replace(/[\u2066\u2067\u2068\u2069]/g, '');
247
- exports.cleanString = cleanString;
248
- const addPositionPropertiesToSections = (sections, localizedDigits, isRTL) => {
249
- let position = 0;
250
- let positionInInput = isRTL ? 1 : 0;
251
- const newSections = [];
252
- for (let i = 0; i < sections.length; i += 1) {
253
- const section = sections[i];
254
- const renderedValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
255
- const sectionStr = `${section.startSeparator}${renderedValue}${section.endSeparator}`;
256
- const sectionLength = cleanString(sectionStr).length;
257
- const sectionLengthInInput = sectionStr.length;
258
-
259
- // The ...InInput values consider the unicode characters but do include them in their indexes
260
- const cleanedValue = cleanString(renderedValue);
261
- const startInInput = positionInInput + (cleanedValue === '' ? 0 : renderedValue.indexOf(cleanedValue[0])) + section.startSeparator.length;
262
- const endInInput = startInInput + cleanedValue.length;
263
- newSections.push((0, _extends2.default)({}, section, {
264
- start: position,
265
- end: position + sectionLength,
266
- startInInput,
267
- endInInput
268
- }));
269
- position += sectionLength;
270
- // Move position to the end of string associated to the current section
271
- positionInInput += sectionLengthInInput;
272
- }
273
- return newSections;
274
- };
275
- exports.addPositionPropertiesToSections = addPositionPropertiesToSections;
276
- const getSectionPlaceholder = (utils, timezone, localeText, sectionConfig, sectionFormat) => {
277
- switch (sectionConfig.type) {
278
- case 'year':
279
- {
280
- return localeText.fieldYearPlaceholder({
281
- digitAmount: utils.formatByString(utils.date(undefined, timezone), sectionFormat).length,
282
- format: sectionFormat
283
- });
284
- }
285
- case 'month':
286
- {
287
- return localeText.fieldMonthPlaceholder({
288
- contentType: sectionConfig.contentType,
289
- format: sectionFormat
290
- });
291
- }
292
- case 'day':
293
- {
294
- return localeText.fieldDayPlaceholder({
295
- format: sectionFormat
296
- });
297
- }
298
- case 'weekDay':
299
- {
300
- return localeText.fieldWeekDayPlaceholder({
301
- contentType: sectionConfig.contentType,
302
- format: sectionFormat
303
- });
304
- }
305
- case 'hours':
306
- {
307
- return localeText.fieldHoursPlaceholder({
308
- format: sectionFormat
309
- });
310
- }
311
- case 'minutes':
312
- {
313
- return localeText.fieldMinutesPlaceholder({
314
- format: sectionFormat
315
- });
316
- }
317
- case 'seconds':
318
- {
319
- return localeText.fieldSecondsPlaceholder({
320
- format: sectionFormat
321
- });
322
- }
323
- case 'meridiem':
324
- {
325
- return localeText.fieldMeridiemPlaceholder({
326
- format: sectionFormat
327
- });
328
- }
329
- default:
330
- {
331
- return sectionFormat;
332
- }
333
- }
334
- };
335
244
  const changeSectionValueFormat = (utils, valueStr, currentFormat, newFormat) => {
336
245
  if (process.env.NODE_ENV !== 'production') {
337
246
  if (getDateSectionConfigFromFormatToken(utils, currentFormat).type === 'weekDay') {
@@ -388,149 +297,12 @@ const doesSectionFormatHaveLeadingZeros = (utils, timezone, contentType, section
388
297
  }
389
298
  }
390
299
  };
391
- exports.doesSectionFormatHaveLeadingZeros = doesSectionFormatHaveLeadingZeros;
392
- const getEscapedPartsFromFormat = (utils, format) => {
393
- const escapedParts = [];
394
- const {
395
- start: startChar,
396
- end: endChar
397
- } = utils.escapedCharacters;
398
- const regExp = new RegExp(`(\\${startChar}[^\\${endChar}]*\\${endChar})+`, 'g');
399
- let match = null;
400
- // eslint-disable-next-line no-cond-assign
401
- while (match = regExp.exec(format)) {
402
- escapedParts.push({
403
- start: match.index,
404
- end: regExp.lastIndex - 1
405
- });
406
- }
407
- return escapedParts;
408
- };
409
- const splitFormatIntoSections = (utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL) => {
410
- let startSeparator = '';
411
- const sections = [];
412
- const now = utils.date();
413
- const commitToken = token => {
414
- if (token === '') {
415
- return null;
416
- }
417
- const sectionConfig = getDateSectionConfigFromFormatToken(utils, token);
418
- const hasLeadingZerosInFormat = doesSectionFormatHaveLeadingZeros(utils, timezone, sectionConfig.contentType, sectionConfig.type, token);
419
- const hasLeadingZerosInInput = shouldRespectLeadingZeros ? hasLeadingZerosInFormat : sectionConfig.contentType === 'digit';
420
- const isValidDate = date != null && utils.isValid(date);
421
- let sectionValue = isValidDate ? utils.formatByString(date, token) : '';
422
- let maxLength = null;
423
- if (hasLeadingZerosInInput) {
424
- if (hasLeadingZerosInFormat) {
425
- maxLength = sectionValue === '' ? utils.formatByString(now, token).length : sectionValue.length;
426
- } else {
427
- if (sectionConfig.maxLength == null) {
428
- throw new Error(`MUI X: The token ${token} should have a 'maxDigitNumber' property on it's adapter`);
429
- }
430
- maxLength = sectionConfig.maxLength;
431
- if (isValidDate) {
432
- sectionValue = applyLocalizedDigits(cleanLeadingZeros(removeLocalizedDigits(sectionValue, localizedDigits), maxLength), localizedDigits);
433
- }
434
- }
435
- }
436
- sections.push((0, _extends2.default)({}, sectionConfig, {
437
- format: token,
438
- maxLength,
439
- value: sectionValue,
440
- placeholder: getSectionPlaceholder(utils, timezone, localeText, sectionConfig, token),
441
- hasLeadingZerosInFormat,
442
- hasLeadingZerosInInput,
443
- startSeparator: sections.length === 0 ? startSeparator : '',
444
- endSeparator: '',
445
- modified: false
446
- }));
447
- return null;
448
- };
449
-
450
- // Expand the provided format
451
- let formatExpansionOverflow = 10;
452
- let prevFormat = format;
453
- let nextFormat = utils.expandFormat(format);
454
- while (nextFormat !== prevFormat) {
455
- prevFormat = nextFormat;
456
- nextFormat = utils.expandFormat(prevFormat);
457
- formatExpansionOverflow -= 1;
458
- if (formatExpansionOverflow < 0) {
459
- throw new Error('MUI X: The format expansion seems to be enter in an infinite loop. Please open an issue with the format passed to the picker component.');
460
- }
461
- }
462
- const expandedFormat = nextFormat;
463
-
464
- // Get start/end indexes of escaped sections
465
- const escapedParts = getEscapedPartsFromFormat(utils, expandedFormat);
466
-
467
- // This RegExp test if the beginning of a string correspond to a supported token
468
- const isTokenStartRegExp = new RegExp(`^(${Object.keys(utils.formatTokenMap).sort((a, b) => b.length - a.length) // Sort to put longest word first
469
- .join('|')})`, 'g') // used to get access to lastIndex state
470
- ;
471
- let currentTokenValue = '';
472
- for (let i = 0; i < expandedFormat.length; i += 1) {
473
- const escapedPartOfCurrentChar = escapedParts.find(escapeIndex => escapeIndex.start <= i && escapeIndex.end >= i);
474
- const char = expandedFormat[i];
475
- const isEscapedChar = escapedPartOfCurrentChar != null;
476
- const potentialToken = `${currentTokenValue}${expandedFormat.slice(i)}`;
477
- const regExpMatch = isTokenStartRegExp.test(potentialToken);
478
- if (!isEscapedChar && char.match(/([A-Za-z]+)/) && regExpMatch) {
479
- currentTokenValue = potentialToken.slice(0, isTokenStartRegExp.lastIndex);
480
- i += isTokenStartRegExp.lastIndex - 1;
481
- } else {
482
- // If we are on the opening or closing character of an escaped part of the format,
483
- // Then we ignore this character.
484
- const isEscapeBoundary = isEscapedChar && escapedPartOfCurrentChar?.start === i || escapedPartOfCurrentChar?.end === i;
485
- if (!isEscapeBoundary) {
486
- commitToken(currentTokenValue);
487
- currentTokenValue = '';
488
- if (sections.length === 0) {
489
- startSeparator += char;
490
- } else {
491
- sections[sections.length - 1].endSeparator += char;
492
- }
493
- }
494
- }
495
- }
496
- commitToken(currentTokenValue);
497
- if (sections.length === 0 && startSeparator.length > 0) {
498
- sections.push({
499
- type: 'empty',
500
- contentType: 'letter',
501
- maxLength: null,
502
- format: '',
503
- value: '',
504
- placeholder: '',
505
- hasLeadingZerosInFormat: false,
506
- hasLeadingZerosInInput: false,
507
- startSeparator,
508
- endSeparator: '',
509
- modified: false
510
- });
511
- }
512
- return sections.map(section => {
513
- const cleanSeparator = separator => {
514
- let cleanedSeparator = separator;
515
- if (isRTL && cleanedSeparator !== null && cleanedSeparator.includes(' ')) {
516
- cleanedSeparator = `\u2069${cleanedSeparator}\u2066`;
517
- }
518
- if (formatDensity === 'spacious' && ['/', '.', '-'].includes(cleanedSeparator)) {
519
- cleanedSeparator = ` ${cleanedSeparator} `;
520
- }
521
- return cleanedSeparator;
522
- };
523
- section.startSeparator = cleanSeparator(section.startSeparator);
524
- section.endSeparator = cleanSeparator(section.endSeparator);
525
- return section;
526
- });
527
- };
528
300
 
529
301
  /**
530
302
  * Some date libraries like `dayjs` don't support parsing from date with escaped characters.
531
303
  * To make sure that the parsing works, we are building a format and a date without any separator.
532
304
  */
533
- exports.splitFormatIntoSections = splitFormatIntoSections;
305
+ exports.doesSectionFormatHaveLeadingZeros = doesSectionFormatHaveLeadingZeros;
534
306
  const getDateFromDateSections = (utils, sections, localizedDigits) => {
535
307
  // If we have both a day and a weekDay section,
536
308
  // Then we skip the weekDay in the parsing because libraries like dayjs can't parse complicated formats containing a weekDay.
@@ -551,7 +323,11 @@ const getDateFromDateSections = (utils, sections, localizedDigits) => {
551
323
  return utils.parse(dateWithoutSeparatorStr, formatWithoutSeparator);
552
324
  };
553
325
  exports.getDateFromDateSections = getDateFromDateSections;
554
- const createDateStrForInputFromSections = (sections, localizedDigits, isRTL) => {
326
+ const createDateStrForV7HiddenInputFromSections = sections => sections.map(section => {
327
+ return `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`;
328
+ }).join('');
329
+ exports.createDateStrForV7HiddenInputFromSections = createDateStrForV7HiddenInputFromSections;
330
+ const createDateStrForV6InputFromSections = (sections, localizedDigits, isRTL) => {
555
331
  const formattedSections = sections.map(section => {
556
332
  const dateValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
557
333
  return `${section.startSeparator}${dateValue}${section.endSeparator}`;
@@ -568,7 +344,7 @@ const createDateStrForInputFromSections = (sections, localizedDigits, isRTL) =>
568
344
  // wrap into an isolated group such that separators can split the string in smaller ones by adding \u2069\u2068
569
345
  return `\u2066${dateStr}\u2069`;
570
346
  };
571
- exports.createDateStrForInputFromSections = createDateStrForInputFromSections;
347
+ exports.createDateStrForV6InputFromSections = createDateStrForV6InputFromSections;
572
348
  const getSectionsBoundaries = (utils, localizedDigits, timezone) => {
573
349
  const today = utils.date(undefined, timezone);
574
350
  const endOfYear = utils.endOfYear(today);
@@ -652,7 +428,7 @@ const getSectionsBoundaries = (utils, localizedDigits, timezone) => {
652
428
  }),
653
429
  meridiem: () => ({
654
430
  minimum: 0,
655
- maximum: 0
431
+ maximum: 1
656
432
  }),
657
433
  empty: () => ({
658
434
  minimum: 0,
@@ -755,10 +531,12 @@ const mergeDateIntoReferenceDate = (utils, timezone, dateToTransferFrom, section
755
531
  }, referenceDate);
756
532
  exports.mergeDateIntoReferenceDate = mergeDateIntoReferenceDate;
757
533
  const isAndroid = () => navigator.userAgent.toLowerCase().indexOf('android') > -1;
534
+
535
+ // TODO v8: Remove if we drop the v6 TextField approach.
758
536
  exports.isAndroid = isAndroid;
759
- const getSectionOrder = (sections, isRTL) => {
537
+ const getSectionOrder = (sections, shouldApplyRTL) => {
760
538
  const neighbors = {};
761
- if (!isRTL) {
539
+ if (!shouldApplyRTL) {
762
540
  sections.forEach((_, index) => {
763
541
  const leftIndex = index === 0 ? null : index - 1;
764
542
  const rightIndex = index === sections.length - 1 ? null : index + 1;
@@ -809,4 +587,76 @@ const getSectionOrder = (sections, isRTL) => {
809
587
  endIndex: rtl2ltr[sections.length - 1]
810
588
  };
811
589
  };
812
- exports.getSectionOrder = getSectionOrder;
590
+ exports.getSectionOrder = getSectionOrder;
591
+ const parseSelectedSections = (selectedSections, sections) => {
592
+ if (selectedSections == null) {
593
+ return null;
594
+ }
595
+ if (selectedSections === 'all') {
596
+ return 'all';
597
+ }
598
+ if (typeof selectedSections === 'string') {
599
+ return sections.findIndex(section => section.type === selectedSections);
600
+ }
601
+ return selectedSections;
602
+ };
603
+ exports.parseSelectedSections = parseSelectedSections;
604
+ const getSectionValueText = (section, utils) => {
605
+ if (!section.value) {
606
+ return undefined;
607
+ }
608
+ switch (section.type) {
609
+ case 'month':
610
+ {
611
+ if (section.contentType === 'digit') {
612
+ return utils.format(utils.setMonth(utils.date(), Number(section.value) - 1), 'month');
613
+ }
614
+ const parsedDate = utils.parse(section.value, section.format);
615
+ return parsedDate ? utils.format(parsedDate, 'month') : undefined;
616
+ }
617
+ case 'day':
618
+ return section.contentType === 'digit' ? utils.format(utils.setDate(utils.startOfYear(utils.date()), Number(section.value)), 'dayOfMonthFull') : section.value;
619
+ case 'weekDay':
620
+ // TODO: improve by providing the label of the week day
621
+ return undefined;
622
+ default:
623
+ return undefined;
624
+ }
625
+ };
626
+ exports.getSectionValueText = getSectionValueText;
627
+ const getSectionValueNow = (section, utils) => {
628
+ if (!section.value) {
629
+ return undefined;
630
+ }
631
+ switch (section.type) {
632
+ case 'weekDay':
633
+ {
634
+ if (section.contentType === 'letter') {
635
+ // TODO: improve by resolving the week day number from a letter week day
636
+ return undefined;
637
+ }
638
+ return Number(section.value);
639
+ }
640
+ case 'meridiem':
641
+ {
642
+ const parsedDate = utils.parse(`01:00 ${section.value}`, `${utils.formats.hours12h}:${utils.formats.minutes} ${section.format}`);
643
+ if (parsedDate) {
644
+ return utils.getHours(parsedDate) >= 12 ? 1 : 0;
645
+ }
646
+ return undefined;
647
+ }
648
+ case 'day':
649
+ return section.contentType === 'digit-with-letter' ? parseInt(section.value, 10) : Number(section.value);
650
+ case 'month':
651
+ {
652
+ if (section.contentType === 'digit') {
653
+ return Number(section.value);
654
+ }
655
+ const parsedDate = utils.parse(section.value, section.format);
656
+ return parsedDate ? utils.getMonth(parsedDate) + 1 : undefined;
657
+ }
658
+ default:
659
+ return section.contentType !== 'letter' ? Number(section.value) : undefined;
660
+ }
661
+ };
662
+ exports.getSectionValueNow = getSectionValueNow;
@@ -64,7 +64,7 @@ const useFieldCharacterEditing = ({
64
64
  if (query != null) {
65
65
  const timeout = setTimeout(() => resetQuery(), QUERY_LIFE_DURATION_MS);
66
66
  return () => {
67
- window.clearTimeout(timeout);
67
+ clearTimeout(timeout);
68
68
  };
69
69
  }
70
70
  return () => {};
@@ -251,13 +251,13 @@ const useFieldCharacterEditing = ({
251
251
  })) : applyLetterEditing(params);
252
252
  if (response == null) {
253
253
  setTempAndroidValueStr(null);
254
- } else {
255
- updateSectionValue({
256
- activeSection,
257
- newSectionValue: response.sectionValue,
258
- shouldGoToNextSection: response.shouldGoToNextSection
259
- });
254
+ return;
260
255
  }
256
+ updateSectionValue({
257
+ activeSection,
258
+ newSectionValue: response.sectionValue,
259
+ shouldGoToNextSection: response.shouldGoToNextSection
260
+ });
261
261
  });
262
262
  return {
263
263
  applyCharacterEditing,
@@ -11,6 +11,7 @@ var _useControlled = _interopRequireDefault(require("@mui/utils/useControlled"))
11
11
  var _styles = require("@mui/material/styles");
12
12
  var _useUtils = require("../useUtils");
13
13
  var _useField = require("./useField.utils");
14
+ var _buildSectionsFromFormat = require("./buildSectionsFromFormat");
14
15
  var _useValueWithTimezone = require("../useValueWithTimezone");
15
16
  var _getDefaultReferenceDate = require("../../utils/getDefaultReferenceDate");
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -37,7 +38,8 @@ const useFieldState = params => {
37
38
  selectedSections: selectedSectionsProp,
38
39
  onSelectedSectionsChange,
39
40
  shouldRespectLeadingZeros = false,
40
- timezone: timezoneProp
41
+ timezone: timezoneProp,
42
+ enableAccessibleFieldDOMStructure = false
41
43
  }
42
44
  } = params;
43
45
  const {
@@ -53,8 +55,18 @@ const useFieldState = params => {
53
55
  });
54
56
  const localizedDigits = React.useMemo(() => (0, _useField.getLocalizedDigits)(utils), [utils]);
55
57
  const sectionsValueBoundaries = React.useMemo(() => (0, _useField.getSectionsBoundaries)(utils, localizedDigits, timezone), [utils, localizedDigits, timezone]);
56
- const getSectionsFromValue = React.useCallback((value, fallbackSections = null) => fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, localizedDigits, isRTL, date => (0, _useField.splitFormatIntoSections)(utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL)), [fieldValueManager, format, localeText, localizedDigits, isRTL, shouldRespectLeadingZeros, utils, formatDensity, timezone]);
57
- const placeholder = React.useMemo(() => fieldValueManager.getValueStrFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL), [fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
58
+ const getSectionsFromValue = React.useCallback((value, fallbackSections = null) => fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, date => (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
59
+ utils,
60
+ timezone,
61
+ localeText,
62
+ localizedDigits,
63
+ format,
64
+ date,
65
+ formatDensity,
66
+ shouldRespectLeadingZeros,
67
+ enableAccessibleFieldDOMStructure,
68
+ isRTL
69
+ })), [fieldValueManager, format, localeText, localizedDigits, isRTL, shouldRespectLeadingZeros, utils, formatDensity, timezone, enableAccessibleFieldDOMStructure]);
58
70
  const [state, setState] = React.useState(() => {
59
71
  const sections = getSectionsFromValue(valueFromTheOutside);
60
72
  (0, _useField.validateSections)(sections, valueType);
@@ -81,45 +93,14 @@ const useFieldState = params => {
81
93
  controlled: selectedSectionsProp,
82
94
  default: null,
83
95
  name: 'useField',
84
- state: 'selectedSectionIndexes'
96
+ state: 'selectedSections'
85
97
  });
86
98
  const setSelectedSections = newSelectedSections => {
87
99
  innerSetSelectedSections(newSelectedSections);
88
100
  onSelectedSectionsChange?.(newSelectedSections);
89
- setState(prevState => (0, _extends2.default)({}, prevState, {
90
- selectedSectionQuery: null
91
- }));
92
101
  };
93
- const selectedSectionIndexes = React.useMemo(() => {
94
- if (selectedSections == null) {
95
- return null;
96
- }
97
- if (selectedSections === 'all') {
98
- return {
99
- startIndex: 0,
100
- endIndex: state.sections.length - 1,
101
- shouldSelectBoundarySelectors: true
102
- };
103
- }
104
- if (typeof selectedSections === 'number') {
105
- return {
106
- startIndex: selectedSections,
107
- endIndex: selectedSections,
108
- shouldSelectBoundarySelectors: state.sections[selectedSections].type === 'empty'
109
- };
110
- }
111
- if (typeof selectedSections === 'string') {
112
- const selectedSectionIndex = state.sections.findIndex(section => section.type === selectedSections);
113
- return {
114
- startIndex: selectedSectionIndex,
115
- endIndex: selectedSectionIndex,
116
- shouldSelectBoundarySelectors: state.sections[selectedSectionIndex].type === 'empty'
117
- };
118
- }
119
- return (0, _extends2.default)({}, selectedSections, {
120
- shouldSelectBoundarySelectors: selectedSections.startIndex === selectedSections.endIndex && state.sections[selectedSections.startIndex].type === 'empty'
121
- });
122
- }, [selectedSections, state.sections]);
102
+ const parsedSelectedSections = React.useMemo(() => (0, _useField.parseSelectedSections)(selectedSections, state.sections), [selectedSections, state.sections]);
103
+ const activeSectionIndex = parsedSelectedSections === 'all' ? 0 : parsedSelectedSections;
123
104
  const publishValue = ({
124
105
  value,
125
106
  referenceValue,
@@ -152,7 +133,7 @@ const useFieldState = params => {
152
133
  value: newSectionValue,
153
134
  modified: true
154
135
  });
155
- return (0, _useField.addPositionPropertiesToSections)(newSections, localizedDigits, isRTL);
136
+ return newSections;
156
137
  };
157
138
  const clearValue = () => {
158
139
  publishValue({
@@ -162,26 +143,19 @@ const useFieldState = params => {
162
143
  });
163
144
  };
164
145
  const clearActiveSection = () => {
165
- if (selectedSectionIndexes == null) {
146
+ if (activeSectionIndex == null) {
166
147
  return;
167
148
  }
168
- const activeSection = state.sections[selectedSectionIndexes.startIndex];
149
+ const activeSection = state.sections[activeSectionIndex];
169
150
  const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
170
151
  const nonEmptySectionCountBefore = activeDateManager.getSections(state.sections).filter(section => section.value !== '').length;
171
152
  const hasNoOtherNonEmptySections = nonEmptySectionCountBefore === (activeSection.value === '' ? 0 : 1);
172
- const newSections = setSectionValue(selectedSectionIndexes.startIndex, '');
153
+ const newSections = setSectionValue(activeSectionIndex, '');
173
154
  const newActiveDate = hasNoOtherNonEmptySections ? null : utils.getInvalidDate();
174
155
  const newValues = activeDateManager.getNewValuesFromNewActiveDate(newActiveDate);
175
- if ((newActiveDate != null && !utils.isValid(newActiveDate)) !== (activeDateManager.date != null && !utils.isValid(activeDateManager.date))) {
176
- publishValue((0, _extends2.default)({}, newValues, {
177
- sections: newSections
178
- }));
179
- } else {
180
- setState(prevState => (0, _extends2.default)({}, prevState, newValues, {
181
- sections: newSections,
182
- tempValueStrAndroid: null
183
- }));
184
- }
156
+ publishValue((0, _extends2.default)({}, newValues, {
157
+ sections: newSections
158
+ }));
185
159
  };
186
160
  const updateValueFromValueStr = valueStr => {
187
161
  const parseDateStr = (dateStr, referenceDate) => {
@@ -189,7 +163,18 @@ const useFieldState = params => {
189
163
  if (date == null || !utils.isValid(date)) {
190
164
  return null;
191
165
  }
192
- const sections = (0, _useField.splitFormatIntoSections)(utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL);
166
+ const sections = (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
167
+ utils,
168
+ timezone,
169
+ localeText,
170
+ localizedDigits,
171
+ format,
172
+ date,
173
+ formatDensity,
174
+ shouldRespectLeadingZeros,
175
+ enableAccessibleFieldDOMStructure,
176
+ isRTL
177
+ });
193
178
  return (0, _useField.mergeDateIntoReferenceDate)(utils, timezone, date, sections, referenceDate, false);
194
179
  };
195
180
  const newValue = fieldValueManager.parseValueStr(valueStr, state.referenceValue, parseDateStr);
@@ -208,17 +193,15 @@ const useFieldState = params => {
208
193
  /**
209
194
  * 1. Decide which section should be focused
210
195
  */
211
- if (shouldGoToNextSection && selectedSectionIndexes && selectedSectionIndexes.startIndex < state.sections.length - 1) {
212
- setSelectedSections(selectedSectionIndexes.startIndex + 1);
213
- } else if (selectedSectionIndexes && selectedSectionIndexes.startIndex !== selectedSectionIndexes.endIndex) {
214
- setSelectedSections(selectedSectionIndexes.startIndex);
196
+ if (shouldGoToNextSection && activeSectionIndex < state.sections.length - 1) {
197
+ setSelectedSections(activeSectionIndex + 1);
215
198
  }
216
199
 
217
200
  /**
218
201
  * 2. Try to build a valid date from the new section value
219
202
  */
220
203
  const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
221
- const newSections = setSectionValue(selectedSectionIndexes.startIndex, newSectionValue);
204
+ const newSections = setSectionValue(activeSectionIndex, newSectionValue);
222
205
  const newActiveDateSections = activeDateManager.getSections(newSections);
223
206
  const newActiveDate = (0, _useField.getDateFromDateSections)(utils, newActiveDateSections, localizedDigits);
224
207
  let values;
@@ -260,7 +243,7 @@ const useFieldState = params => {
260
243
  setState(prevState => (0, _extends2.default)({}, prevState, {
261
244
  sections
262
245
  }));
263
- }, [format, utils.locale]); // eslint-disable-line react-hooks/exhaustive-deps
246
+ }, [format, utils.locale, isRTL]); // eslint-disable-line react-hooks/exhaustive-deps
264
247
 
265
248
  React.useEffect(() => {
266
249
  let shouldUpdate;
@@ -280,16 +263,17 @@ const useFieldState = params => {
280
263
 
281
264
  return {
282
265
  state,
283
- selectedSectionIndexes,
266
+ activeSectionIndex,
267
+ parsedSelectedSections,
284
268
  setSelectedSections,
285
269
  clearValue,
286
270
  clearActiveSection,
287
271
  updateSectionValue,
288
272
  updateValueFromValueStr,
289
273
  setTempAndroidValueStr,
274
+ getSectionsFromValue,
290
275
  sectionsValueBoundaries,
291
276
  localizedDigits,
292
- placeholder,
293
277
  timezone
294
278
  };
295
279
  };