@mui/x-date-pickers 7.0.0-beta.1 → 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 (778) hide show
  1. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +6 -0
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +6 -0
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -1
  5. package/AdapterDayjs/AdapterDayjs.d.ts +6 -0
  6. package/AdapterDayjs/AdapterDayjs.js +6 -1
  7. package/AdapterLuxon/AdapterLuxon.d.ts +6 -0
  8. package/AdapterLuxon/AdapterLuxon.js +7 -2
  9. package/AdapterMoment/AdapterMoment.d.ts +6 -0
  10. package/AdapterMoment/AdapterMoment.js +4 -1
  11. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +5 -0
  12. package/AdapterMomentHijri/AdapterMomentHijri.js +3 -1
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +5 -0
  14. package/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -1
  15. package/CHANGELOG.md +437 -4
  16. package/DateCalendar/DateCalendar.d.ts +2 -1
  17. package/DateCalendar/DateCalendar.js +8 -6
  18. package/DateCalendar/DateCalendar.types.d.ts +9 -6
  19. package/DateCalendar/DayCalendar.d.ts +9 -7
  20. package/DateCalendar/DayCalendar.js +1 -1
  21. package/DateCalendar/PickersFadeTransitionGroup.d.ts +3 -0
  22. package/DateCalendar/PickersSlideTransition.d.ts +3 -0
  23. package/DateCalendar/useCalendarState.d.ts +7 -7
  24. package/DateCalendar/useIsDateDisabled.d.ts +2 -1
  25. package/DateField/DateField.d.ts +2 -1
  26. package/DateField/DateField.js +16 -14
  27. package/DateField/DateField.types.d.ts +12 -15
  28. package/DateField/index.d.ts +1 -1
  29. package/DateField/useDateField.d.ts +3 -2
  30. package/DateField/useDateField.js +1 -15
  31. package/DatePicker/DatePicker.d.ts +2 -1
  32. package/DatePicker/DatePicker.js +14 -14
  33. package/DatePicker/DatePicker.types.d.ts +5 -4
  34. package/DatePicker/DatePickerToolbar.d.ts +7 -6
  35. package/DatePicker/DatePickerToolbar.js +12 -4
  36. package/DatePicker/shared.d.ts +6 -6
  37. package/DateTimeField/DateTimeField.d.ts +2 -1
  38. package/DateTimeField/DateTimeField.js +20 -18
  39. package/DateTimeField/DateTimeField.types.d.ts +12 -15
  40. package/DateTimeField/index.d.ts +1 -1
  41. package/DateTimeField/useDateTimeField.d.ts +3 -2
  42. package/DateTimeField/useDateTimeField.js +1 -20
  43. package/DateTimePicker/DateTimePicker.d.ts +2 -1
  44. package/DateTimePicker/DateTimePicker.js +18 -18
  45. package/DateTimePicker/DateTimePicker.types.d.ts +5 -4
  46. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -2
  47. package/DateTimePicker/DateTimePickerTabs.js +7 -1
  48. package/DateTimePicker/DateTimePickerToolbar.d.ts +4 -3
  49. package/DateTimePicker/DateTimePickerToolbar.js +4 -1
  50. package/DateTimePicker/shared.d.ts +6 -6
  51. package/DesktopDatePicker/DesktopDatePicker.d.ts +2 -1
  52. package/DesktopDatePicker/DesktopDatePicker.js +14 -14
  53. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -5
  54. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +2 -1
  55. package/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  56. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +5 -5
  57. package/DesktopTimePicker/DesktopTimePicker.d.ts +2 -1
  58. package/DesktopTimePicker/DesktopTimePicker.js +14 -13
  59. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +5 -5
  60. package/DigitalClock/DigitalClock.d.ts +2 -1
  61. package/DigitalClock/DigitalClock.js +5 -5
  62. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  63. package/LocalizationProvider/LocalizationProvider.d.ts +5 -5
  64. package/LocalizationProvider/LocalizationProvider.js +1 -0
  65. package/MobileDatePicker/MobileDatePicker.d.ts +2 -1
  66. package/MobileDatePicker/MobileDatePicker.js +14 -14
  67. package/MobileDatePicker/MobileDatePicker.types.d.ts +5 -5
  68. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -1
  69. package/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  70. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +5 -5
  71. package/MobileTimePicker/MobileTimePicker.d.ts +2 -1
  72. package/MobileTimePicker/MobileTimePicker.js +14 -13
  73. package/MobileTimePicker/MobileTimePicker.types.d.ts +5 -5
  74. package/MonthCalendar/MonthCalendar.d.ts +3 -2
  75. package/MonthCalendar/MonthCalendar.js +5 -5
  76. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +2 -1
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  79. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -3
  80. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +5 -5
  81. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +2 -1
  82. package/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  83. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +6 -6
  84. package/PickersDay/PickersDay.d.ts +3 -2
  85. package/PickersDay/PickersDay.js +1 -1
  86. package/PickersLayout/PickersLayout.d.ts +2 -1
  87. package/PickersLayout/PickersLayout.js +6 -0
  88. package/PickersLayout/PickersLayout.types.d.ts +13 -6
  89. package/PickersLayout/usePickerLayout.d.ts +2 -1
  90. package/PickersSectionList/PickersSectionList.d.ts +4 -4
  91. package/PickersSectionList/PickersSectionList.js +1 -2
  92. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  93. package/PickersTextField/PickersInput/PickersInput.js +3 -3
  94. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +1 -1
  95. package/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  96. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  97. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  98. package/PickersTextField/PickersTextField.d.ts +1 -1
  99. package/PickersTextField/PickersTextField.js +9 -5
  100. package/StaticDatePicker/StaticDatePicker.d.ts +2 -1
  101. package/StaticDatePicker/StaticDatePicker.js +5 -6
  102. package/StaticDatePicker/StaticDatePicker.types.d.ts +4 -4
  103. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +2 -1
  104. package/StaticDateTimePicker/StaticDateTimePicker.js +9 -10
  105. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +4 -4
  106. package/StaticTimePicker/StaticTimePicker.d.ts +2 -1
  107. package/StaticTimePicker/StaticTimePicker.js +5 -5
  108. package/StaticTimePicker/StaticTimePicker.types.d.ts +4 -4
  109. package/TimeClock/Clock.d.ts +3 -3
  110. package/TimeClock/ClockNumbers.d.ts +4 -4
  111. package/TimeClock/TimeClock.d.ts +2 -1
  112. package/TimeClock/TimeClock.js +5 -5
  113. package/TimeClock/TimeClock.types.d.ts +3 -3
  114. package/TimeField/TimeField.d.ts +2 -1
  115. package/TimeField/TimeField.js +16 -14
  116. package/TimeField/TimeField.types.d.ts +12 -15
  117. package/TimeField/index.d.ts +1 -1
  118. package/TimeField/useTimeField.d.ts +3 -2
  119. package/TimeField/useTimeField.js +1 -13
  120. package/TimePicker/TimePicker.d.ts +2 -1
  121. package/TimePicker/TimePicker.js +14 -13
  122. package/TimePicker/TimePicker.types.d.ts +5 -4
  123. package/TimePicker/TimePickerToolbar.d.ts +7 -5
  124. package/TimePicker/TimePickerToolbar.js +12 -4
  125. package/TimePicker/shared.d.ts +5 -5
  126. package/YearCalendar/YearCalendar.d.ts +2 -1
  127. package/YearCalendar/YearCalendar.js +5 -5
  128. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  129. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +3 -2
  130. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  131. package/hooks/index.d.ts +1 -1
  132. package/hooks/useClearableField.d.ts +10 -2
  133. package/index.js +1 -1
  134. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +3 -0
  135. package/internals/components/PickersPopper.d.ts +3 -0
  136. package/internals/components/PickersPopper.js +1 -2
  137. package/internals/demo/DemoContainer.js +6 -5
  138. package/internals/hooks/date-helpers-hooks.d.ts +5 -5
  139. package/internals/hooks/defaultizedFieldProps.d.ts +19 -0
  140. package/internals/hooks/defaultizedFieldProps.js +43 -0
  141. package/internals/hooks/useClockReferenceDate.d.ts +3 -3
  142. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -1
  143. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  144. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -15
  145. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +16 -0
  146. package/internals/hooks/useField/buildSectionsFromFormat.js +251 -0
  147. package/internals/hooks/useField/index.d.ts +2 -2
  148. package/internals/hooks/useField/index.js +1 -1
  149. package/internals/hooks/useField/useField.d.ts +4 -4
  150. package/internals/hooks/useField/useField.js +82 -309
  151. package/internals/hooks/useField/useField.types.d.ts +96 -60
  152. package/internals/hooks/useField/useField.utils.d.ts +20 -20
  153. package/internals/hooks/useField/useField.utils.js +78 -228
  154. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +8 -7
  155. package/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  156. package/internals/hooks/useField/useFieldState.d.ts +13 -11
  157. package/internals/hooks/useField/useFieldState.js +45 -61
  158. package/internals/hooks/useField/useFieldV6TextField.d.ts +25 -0
  159. package/internals/hooks/useField/useFieldV6TextField.js +324 -0
  160. package/internals/hooks/useField/useFieldV7TextField.d.ts +2 -0
  161. package/internals/hooks/useField/useFieldV7TextField.js +402 -0
  162. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -1
  163. package/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  164. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +14 -14
  165. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  166. package/internals/hooks/usePicker/usePicker.js +3 -3
  167. package/internals/hooks/usePicker/usePicker.types.d.ts +4 -4
  168. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  169. package/internals/hooks/usePicker/usePickerValue.js +2 -18
  170. package/internals/hooks/usePicker/usePickerValue.types.d.ts +6 -7
  171. package/internals/hooks/usePicker/usePickerViews.d.ts +6 -6
  172. package/internals/hooks/usePicker/usePickerViews.js +5 -6
  173. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -1
  174. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  175. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -6
  176. package/internals/hooks/useUtils.d.ts +6 -6
  177. package/internals/hooks/useValidation.d.ts +3 -2
  178. package/internals/hooks/useValueWithTimezone.d.ts +3 -3
  179. package/internals/hooks/useViews.d.ts +2 -1
  180. package/internals/index.d.ts +5 -4
  181. package/internals/index.js +2 -1
  182. package/internals/models/fields.d.ts +3 -5
  183. package/internals/models/helpers.d.ts +1 -0
  184. package/internals/models/props/basePickerProps.d.ts +5 -9
  185. package/internals/models/props/clock.d.ts +4 -4
  186. package/internals/models/props/tabs.d.ts +6 -0
  187. package/internals/models/props/toolbar.d.ts +3 -0
  188. package/internals/models/validation.d.ts +7 -7
  189. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +1 -1
  190. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  191. package/internals/utils/date-time-utils.d.ts +5 -5
  192. package/internals/utils/date-utils.d.ts +12 -12
  193. package/internals/utils/fields.js +1 -1
  194. package/internals/utils/getDefaultReferenceDate.d.ts +3 -3
  195. package/internals/utils/time-utils.d.ts +6 -6
  196. package/internals/utils/validation/validateDate.d.ts +2 -2
  197. package/internals/utils/validation/validateDateTime.d.ts +2 -2
  198. package/internals/utils/validation/validateTime.d.ts +2 -2
  199. package/internals/utils/valueManagers.d.ts +2 -2
  200. package/internals/utils/valueManagers.js +5 -4
  201. package/locales/beBY.d.ts +15 -6
  202. package/locales/beBY.js +13 -0
  203. package/locales/caES.d.ts +15 -6
  204. package/locales/caES.js +13 -0
  205. package/locales/csCZ.d.ts +15 -6
  206. package/locales/csCZ.js +13 -0
  207. package/locales/daDK.d.ts +15 -6
  208. package/locales/daDK.js +13 -0
  209. package/locales/deDE.d.ts +15 -6
  210. package/locales/deDE.js +13 -0
  211. package/locales/elGR.d.ts +15 -6
  212. package/locales/elGR.js +13 -0
  213. package/locales/enUS.d.ts +15 -6
  214. package/locales/enUS.js +12 -1
  215. package/locales/esES.d.ts +15 -6
  216. package/locales/esES.js +13 -0
  217. package/locales/eu.d.ts +15 -6
  218. package/locales/eu.js +13 -0
  219. package/locales/faIR.d.ts +15 -6
  220. package/locales/faIR.js +13 -0
  221. package/locales/fiFI.d.ts +15 -6
  222. package/locales/fiFI.js +13 -0
  223. package/locales/frFR.d.ts +15 -6
  224. package/locales/frFR.js +13 -0
  225. package/locales/heIL.d.ts +15 -6
  226. package/locales/heIL.js +13 -0
  227. package/locales/huHU.d.ts +15 -6
  228. package/locales/huHU.js +13 -0
  229. package/locales/isIS.d.ts +15 -6
  230. package/locales/isIS.js +13 -0
  231. package/locales/itIT.d.ts +15 -6
  232. package/locales/itIT.js +13 -0
  233. package/locales/jaJP.d.ts +15 -6
  234. package/locales/jaJP.js +13 -0
  235. package/locales/koKR.d.ts +15 -6
  236. package/locales/koKR.js +13 -0
  237. package/locales/kzKZ.d.ts +15 -6
  238. package/locales/kzKZ.js +13 -0
  239. package/locales/mk.d.ts +15 -6
  240. package/locales/mk.js +13 -0
  241. package/locales/nbNO.d.ts +15 -6
  242. package/locales/nbNO.js +13 -0
  243. package/locales/nlNL.d.ts +15 -6
  244. package/locales/nlNL.js +13 -0
  245. package/locales/plPL.d.ts +15 -6
  246. package/locales/plPL.js +13 -0
  247. package/locales/ptBR.d.ts +15 -6
  248. package/locales/ptBR.js +13 -0
  249. package/locales/roRO.d.ts +15 -6
  250. package/locales/roRO.js +13 -0
  251. package/locales/ruRU.d.ts +15 -6
  252. package/locales/ruRU.js +13 -0
  253. package/locales/skSK.d.ts +15 -6
  254. package/locales/skSK.js +13 -0
  255. package/locales/svSE.d.ts +15 -6
  256. package/locales/svSE.js +13 -0
  257. package/locales/trTR.d.ts +15 -6
  258. package/locales/trTR.js +13 -0
  259. package/locales/ukUA.d.ts +15 -6
  260. package/locales/ukUA.js +13 -0
  261. package/locales/urPK.d.ts +15 -6
  262. package/locales/urPK.js +13 -0
  263. package/locales/utils/getPickersLocalization.d.ts +15 -6
  264. package/locales/utils/pickersLocaleTextApi.d.ts +15 -6
  265. package/locales/viVN.d.ts +15 -6
  266. package/locales/viVN.js +13 -0
  267. package/locales/zhCN.d.ts +15 -6
  268. package/locales/zhCN.js +13 -0
  269. package/locales/zhHK.d.ts +15 -6
  270. package/locales/zhHK.js +13 -0
  271. package/models/adapters.d.ts +15 -1
  272. package/models/fields.d.ts +48 -32
  273. package/models/pickers.d.ts +3 -0
  274. package/modern/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  275. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -1
  276. package/modern/AdapterDayjs/AdapterDayjs.js +6 -1
  277. package/modern/AdapterLuxon/AdapterLuxon.js +7 -2
  278. package/modern/AdapterMoment/AdapterMoment.js +4 -1
  279. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +3 -1
  280. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -1
  281. package/modern/DateCalendar/DateCalendar.js +8 -6
  282. package/modern/DateCalendar/DayCalendar.js +1 -1
  283. package/modern/DateField/DateField.js +16 -14
  284. package/modern/DateField/useDateField.js +1 -14
  285. package/modern/DatePicker/DatePicker.js +14 -14
  286. package/modern/DatePicker/DatePickerToolbar.js +12 -4
  287. package/modern/DateTimeField/DateTimeField.js +20 -18
  288. package/modern/DateTimeField/useDateTimeField.js +1 -19
  289. package/modern/DateTimePicker/DateTimePicker.js +18 -18
  290. package/modern/DateTimePicker/DateTimePickerTabs.js +7 -1
  291. package/modern/DateTimePicker/DateTimePickerToolbar.js +4 -1
  292. package/modern/DesktopDatePicker/DesktopDatePicker.js +14 -14
  293. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  294. package/modern/DesktopTimePicker/DesktopTimePicker.js +14 -13
  295. package/modern/DigitalClock/DigitalClock.js +5 -5
  296. package/modern/LocalizationProvider/LocalizationProvider.js +1 -0
  297. package/modern/MobileDatePicker/MobileDatePicker.js +14 -14
  298. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  299. package/modern/MobileTimePicker/MobileTimePicker.js +14 -13
  300. package/modern/MonthCalendar/MonthCalendar.js +5 -5
  301. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  302. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  303. package/modern/PickersDay/PickersDay.js +1 -1
  304. package/modern/PickersLayout/PickersLayout.js +6 -0
  305. package/modern/PickersSectionList/PickersSectionList.js +1 -2
  306. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  307. package/modern/PickersTextField/PickersInput/PickersInput.js +3 -3
  308. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  309. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  310. package/modern/PickersTextField/PickersTextField.js +9 -5
  311. package/modern/StaticDatePicker/StaticDatePicker.js +5 -6
  312. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +9 -10
  313. package/modern/StaticTimePicker/StaticTimePicker.js +5 -5
  314. package/modern/TimeClock/TimeClock.js +5 -5
  315. package/modern/TimeField/TimeField.js +16 -14
  316. package/modern/TimeField/useTimeField.js +1 -12
  317. package/modern/TimePicker/TimePicker.js +14 -13
  318. package/modern/TimePicker/TimePickerToolbar.js +12 -4
  319. package/modern/YearCalendar/YearCalendar.js +5 -5
  320. package/modern/index.js +1 -1
  321. package/modern/internals/components/PickersPopper.js +1 -2
  322. package/modern/internals/demo/DemoContainer.js +6 -5
  323. package/modern/internals/hooks/defaultizedFieldProps.js +40 -0
  324. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  325. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +251 -0
  326. package/modern/internals/hooks/useField/index.js +1 -1
  327. package/modern/internals/hooks/useField/useField.js +82 -303
  328. package/modern/internals/hooks/useField/useField.utils.js +78 -228
  329. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  330. package/modern/internals/hooks/useField/useFieldState.js +45 -61
  331. package/modern/internals/hooks/useField/useFieldV6TextField.js +318 -0
  332. package/modern/internals/hooks/useField/useFieldV7TextField.js +400 -0
  333. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  334. package/modern/internals/hooks/usePicker/usePicker.js +3 -3
  335. package/modern/internals/hooks/usePicker/usePickerValue.js +2 -18
  336. package/modern/internals/hooks/usePicker/usePickerViews.js +4 -6
  337. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  338. package/modern/internals/index.js +2 -1
  339. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  340. package/modern/internals/utils/fields.js +1 -1
  341. package/modern/internals/utils/valueManagers.js +5 -4
  342. package/modern/locales/beBY.js +13 -0
  343. package/modern/locales/caES.js +13 -0
  344. package/modern/locales/csCZ.js +13 -0
  345. package/modern/locales/daDK.js +13 -0
  346. package/modern/locales/deDE.js +13 -0
  347. package/modern/locales/elGR.js +13 -0
  348. package/modern/locales/enUS.js +12 -1
  349. package/modern/locales/esES.js +13 -0
  350. package/modern/locales/eu.js +13 -0
  351. package/modern/locales/faIR.js +13 -0
  352. package/modern/locales/fiFI.js +13 -0
  353. package/modern/locales/frFR.js +13 -0
  354. package/modern/locales/heIL.js +13 -0
  355. package/modern/locales/huHU.js +13 -0
  356. package/modern/locales/isIS.js +13 -0
  357. package/modern/locales/itIT.js +13 -0
  358. package/modern/locales/jaJP.js +13 -0
  359. package/modern/locales/koKR.js +13 -0
  360. package/modern/locales/kzKZ.js +13 -0
  361. package/modern/locales/mk.js +13 -0
  362. package/modern/locales/nbNO.js +13 -0
  363. package/modern/locales/nlNL.js +13 -0
  364. package/modern/locales/plPL.js +13 -0
  365. package/modern/locales/ptBR.js +13 -0
  366. package/modern/locales/roRO.js +13 -0
  367. package/modern/locales/ruRU.js +13 -0
  368. package/modern/locales/skSK.js +13 -0
  369. package/modern/locales/svSE.js +13 -0
  370. package/modern/locales/trTR.js +13 -0
  371. package/modern/locales/ukUA.js +13 -0
  372. package/modern/locales/urPK.js +13 -0
  373. package/modern/locales/viVN.js +13 -0
  374. package/modern/locales/zhCN.js +13 -0
  375. package/modern/locales/zhHK.js +13 -0
  376. package/node/AdapterDateFnsBase/AdapterDateFnsBase.js +4 -0
  377. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -1
  378. package/node/AdapterDayjs/AdapterDayjs.js +6 -1
  379. package/node/AdapterLuxon/AdapterLuxon.js +7 -2
  380. package/node/AdapterMoment/AdapterMoment.js +4 -1
  381. package/node/AdapterMomentHijri/AdapterMomentHijri.js +3 -1
  382. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +3 -1
  383. package/node/DateCalendar/DateCalendar.js +8 -6
  384. package/node/DateCalendar/DayCalendar.js +1 -1
  385. package/node/DateField/DateField.js +16 -14
  386. package/node/DateField/useDateField.js +2 -16
  387. package/node/DatePicker/DatePicker.js +14 -14
  388. package/node/DatePicker/DatePickerToolbar.js +12 -4
  389. package/node/DateTimeField/DateTimeField.js +20 -18
  390. package/node/DateTimeField/useDateTimeField.js +2 -21
  391. package/node/DateTimePicker/DateTimePicker.js +18 -18
  392. package/node/DateTimePicker/DateTimePickerTabs.js +7 -1
  393. package/node/DateTimePicker/DateTimePickerToolbar.js +4 -1
  394. package/node/DesktopDatePicker/DesktopDatePicker.js +14 -14
  395. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  396. package/node/DesktopTimePicker/DesktopTimePicker.js +14 -13
  397. package/node/DigitalClock/DigitalClock.js +5 -5
  398. package/node/LocalizationProvider/LocalizationProvider.js +1 -0
  399. package/node/MobileDatePicker/MobileDatePicker.js +14 -14
  400. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  401. package/node/MobileTimePicker/MobileTimePicker.js +14 -13
  402. package/node/MonthCalendar/MonthCalendar.js +5 -5
  403. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +5 -5
  404. package/node/PickersCalendarHeader/PickersCalendarHeader.js +3 -3
  405. package/node/PickersDay/PickersDay.js +1 -1
  406. package/node/PickersLayout/PickersLayout.js +6 -0
  407. package/node/PickersSectionList/PickersSectionList.js +4 -5
  408. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +3 -3
  409. package/node/PickersTextField/PickersInput/PickersInput.js +3 -3
  410. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +11 -5
  411. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +3 -3
  412. package/node/PickersTextField/PickersTextField.js +9 -5
  413. package/node/StaticDatePicker/StaticDatePicker.js +5 -6
  414. package/node/StaticDateTimePicker/StaticDateTimePicker.js +9 -10
  415. package/node/StaticTimePicker/StaticTimePicker.js +5 -5
  416. package/node/TimeClock/TimeClock.js +5 -5
  417. package/node/TimeField/TimeField.js +16 -14
  418. package/node/TimeField/useTimeField.js +2 -14
  419. package/node/TimePicker/TimePicker.js +14 -13
  420. package/node/TimePicker/TimePickerToolbar.js +12 -4
  421. package/node/YearCalendar/YearCalendar.js +5 -5
  422. package/node/index.js +1 -1
  423. package/node/internals/components/PickersPopper.js +1 -2
  424. package/node/internals/demo/DemoContainer.js +6 -5
  425. package/node/internals/hooks/defaultizedFieldProps.js +50 -0
  426. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -5
  427. package/node/internals/hooks/useField/buildSectionsFromFormat.js +259 -0
  428. package/node/internals/hooks/useField/index.js +4 -10
  429. package/node/internals/hooks/useField/useField.js +81 -302
  430. package/node/internals/hooks/useField/useField.utils.js +86 -236
  431. package/node/internals/hooks/useField/useFieldCharacterEditing.js +6 -6
  432. package/node/internals/hooks/useField/useFieldState.js +44 -60
  433. package/node/internals/hooks/useField/useFieldV6TextField.js +329 -0
  434. package/node/internals/hooks/useField/useFieldV7TextField.js +410 -0
  435. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +13 -5
  436. package/node/internals/hooks/usePicker/usePicker.js +3 -3
  437. package/node/internals/hooks/usePicker/usePickerValue.js +2 -18
  438. package/node/internals/hooks/usePicker/usePickerViews.js +4 -6
  439. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -0
  440. package/node/internals/index.js +27 -8
  441. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +21 -3
  442. package/node/internals/utils/fields.js +1 -1
  443. package/node/internals/utils/valueManagers.js +4 -3
  444. package/node/locales/beBY.js +13 -0
  445. package/node/locales/caES.js +13 -0
  446. package/node/locales/csCZ.js +13 -0
  447. package/node/locales/daDK.js +13 -0
  448. package/node/locales/deDE.js +13 -0
  449. package/node/locales/elGR.js +13 -0
  450. package/node/locales/enUS.js +12 -1
  451. package/node/locales/esES.js +13 -0
  452. package/node/locales/eu.js +13 -0
  453. package/node/locales/faIR.js +13 -0
  454. package/node/locales/fiFI.js +13 -0
  455. package/node/locales/frFR.js +13 -0
  456. package/node/locales/heIL.js +13 -0
  457. package/node/locales/huHU.js +13 -0
  458. package/node/locales/isIS.js +13 -0
  459. package/node/locales/itIT.js +13 -0
  460. package/node/locales/jaJP.js +13 -0
  461. package/node/locales/koKR.js +13 -0
  462. package/node/locales/kzKZ.js +13 -0
  463. package/node/locales/mk.js +13 -0
  464. package/node/locales/nbNO.js +13 -0
  465. package/node/locales/nlNL.js +13 -0
  466. package/node/locales/plPL.js +13 -0
  467. package/node/locales/ptBR.js +13 -0
  468. package/node/locales/roRO.js +13 -0
  469. package/node/locales/ruRU.js +13 -0
  470. package/node/locales/skSK.js +13 -0
  471. package/node/locales/svSE.js +13 -0
  472. package/node/locales/trTR.js +13 -0
  473. package/node/locales/ukUA.js +13 -0
  474. package/node/locales/urPK.js +13 -0
  475. package/node/locales/viVN.js +13 -0
  476. package/node/locales/zhCN.js +13 -0
  477. package/node/locales/zhHK.js +13 -0
  478. package/package.json +4 -4
  479. package/themeAugmentation/props.d.ts +31 -31
  480. package/timeViewRenderers/timeViewRenderers.d.ts +4 -4
  481. package/legacy/AdapterDateFns/AdapterDateFns.js +0 -298
  482. package/legacy/AdapterDateFns/index.js +0 -1
  483. package/legacy/AdapterDateFnsBase/AdapterDateFnsBase.js +0 -293
  484. package/legacy/AdapterDateFnsBase/index.js +0 -1
  485. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +0 -548
  486. package/legacy/AdapterDateFnsJalali/index.js +0 -1
  487. package/legacy/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -306
  488. package/legacy/AdapterDateFnsV3/index.js +0 -1
  489. package/legacy/AdapterDayjs/AdapterDayjs.js +0 -569
  490. package/legacy/AdapterDayjs/index.js +0 -1
  491. package/legacy/AdapterLuxon/AdapterLuxon.js +0 -509
  492. package/legacy/AdapterLuxon/index.js +0 -1
  493. package/legacy/AdapterMoment/AdapterMoment.js +0 -482
  494. package/legacy/AdapterMoment/index.js +0 -1
  495. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +0 -239
  496. package/legacy/AdapterMomentHijri/index.js +0 -1
  497. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +0 -236
  498. package/legacy/AdapterMomentJalaali/index.js +0 -1
  499. package/legacy/DateCalendar/DateCalendar.js +0 -573
  500. package/legacy/DateCalendar/DateCalendar.types.js +0 -1
  501. package/legacy/DateCalendar/DayCalendar.js +0 -515
  502. package/legacy/DateCalendar/PickersFadeTransitionGroup.js +0 -58
  503. package/legacy/DateCalendar/PickersSlideTransition.js +0 -118
  504. package/legacy/DateCalendar/dateCalendarClasses.js +0 -5
  505. package/legacy/DateCalendar/dayCalendarClasses.js +0 -5
  506. package/legacy/DateCalendar/index.js +0 -5
  507. package/legacy/DateCalendar/pickersFadeTransitionGroupClasses.js +0 -5
  508. package/legacy/DateCalendar/pickersSlideTransitionClasses.js +0 -5
  509. package/legacy/DateCalendar/useCalendarState.js +0 -124
  510. package/legacy/DateCalendar/useIsDateDisabled.js +0 -30
  511. package/legacy/DateField/DateField.js +0 -319
  512. package/legacy/DateField/DateField.types.js +0 -1
  513. package/legacy/DateField/index.js +0 -2
  514. package/legacy/DateField/useDateField.js +0 -33
  515. package/legacy/DatePicker/DatePicker.js +0 -353
  516. package/legacy/DatePicker/DatePicker.types.js +0 -1
  517. package/legacy/DatePicker/DatePickerToolbar.js +0 -132
  518. package/legacy/DatePicker/datePickerToolbarClasses.js +0 -5
  519. package/legacy/DatePicker/index.js +0 -3
  520. package/legacy/DatePicker/shared.js +0 -41
  521. package/legacy/DateTimeField/DateTimeField.js +0 -360
  522. package/legacy/DateTimeField/DateTimeField.types.js +0 -1
  523. package/legacy/DateTimeField/index.js +0 -2
  524. package/legacy/DateTimeField/useDateTimeField.js +0 -38
  525. package/legacy/DateTimePicker/DateTimePicker.js +0 -424
  526. package/legacy/DateTimePicker/DateTimePicker.types.js +0 -1
  527. package/legacy/DateTimePicker/DateTimePickerTabs.js +0 -142
  528. package/legacy/DateTimePicker/DateTimePickerToolbar.js +0 -385
  529. package/legacy/DateTimePicker/dateTimePickerTabsClasses.js +0 -5
  530. package/legacy/DateTimePicker/dateTimePickerToolbarClasses.js +0 -5
  531. package/legacy/DateTimePicker/index.js +0 -5
  532. package/legacy/DateTimePicker/shared.js +0 -56
  533. package/legacy/DayCalendarSkeleton/DayCalendarSkeleton.js +0 -119
  534. package/legacy/DayCalendarSkeleton/dayCalendarSkeletonClasses.js +0 -5
  535. package/legacy/DayCalendarSkeleton/index.js +0 -2
  536. package/legacy/DesktopDatePicker/DesktopDatePicker.js +0 -372
  537. package/legacy/DesktopDatePicker/DesktopDatePicker.types.js +0 -1
  538. package/legacy/DesktopDatePicker/index.js +0 -1
  539. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -480
  540. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.types.js +0 -1
  541. package/legacy/DesktopDateTimePicker/index.js +0 -1
  542. package/legacy/DesktopTimePicker/DesktopTimePicker.js +0 -355
  543. package/legacy/DesktopTimePicker/DesktopTimePicker.types.js +0 -1
  544. package/legacy/DesktopTimePicker/index.js +0 -1
  545. package/legacy/DigitalClock/DigitalClock.js +0 -443
  546. package/legacy/DigitalClock/DigitalClock.types.js +0 -1
  547. package/legacy/DigitalClock/digitalClockClasses.js +0 -6
  548. package/legacy/DigitalClock/index.js +0 -2
  549. package/legacy/LocalizationProvider/LocalizationProvider.js +0 -140
  550. package/legacy/LocalizationProvider/index.js +0 -1
  551. package/legacy/MobileDatePicker/MobileDatePicker.js +0 -369
  552. package/legacy/MobileDatePicker/MobileDatePicker.types.js +0 -1
  553. package/legacy/MobileDatePicker/index.js +0 -1
  554. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +0 -428
  555. package/legacy/MobileDateTimePicker/MobileDateTimePicker.types.js +0 -1
  556. package/legacy/MobileDateTimePicker/index.js +0 -1
  557. package/legacy/MobileTimePicker/MobileTimePicker.js +0 -311
  558. package/legacy/MobileTimePicker/MobileTimePicker.types.js +0 -1
  559. package/legacy/MobileTimePicker/index.js +0 -1
  560. package/legacy/MonthCalendar/MonthCalendar.js +0 -338
  561. package/legacy/MonthCalendar/MonthCalendar.types.js +0 -1
  562. package/legacy/MonthCalendar/PickersMonth.js +0 -135
  563. package/legacy/MonthCalendar/index.js +0 -3
  564. package/legacy/MonthCalendar/monthCalendarClasses.js +0 -5
  565. package/legacy/MonthCalendar/pickersMonthClasses.js +0 -5
  566. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +0 -521
  567. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +0 -1
  568. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +0 -76
  569. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +0 -173
  570. package/legacy/MultiSectionDigitalClock/index.js +0 -3
  571. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +0 -6
  572. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +0 -6
  573. package/legacy/PickersActionBar/PickersActionBar.js +0 -86
  574. package/legacy/PickersActionBar/index.js +0 -1
  575. package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +0 -284
  576. package/legacy/PickersCalendarHeader/PickersCalendarHeader.types.js +0 -1
  577. package/legacy/PickersCalendarHeader/index.js +0 -2
  578. package/legacy/PickersCalendarHeader/pickersCalendarHeaderClasses.js +0 -5
  579. package/legacy/PickersDay/PickersDay.js +0 -367
  580. package/legacy/PickersDay/index.js +0 -2
  581. package/legacy/PickersDay/pickersDayClasses.js +0 -5
  582. package/legacy/PickersLayout/PickersLayout.js +0 -159
  583. package/legacy/PickersLayout/PickersLayout.types.js +0 -1
  584. package/legacy/PickersLayout/index.js +0 -3
  585. package/legacy/PickersLayout/pickersLayoutClasses.js +0 -6
  586. package/legacy/PickersLayout/usePickerLayout.js +0 -134
  587. package/legacy/PickersSectionList/PickersSectionList.js +0 -235
  588. package/legacy/PickersSectionList/PickersSectionList.types.js +0 -1
  589. package/legacy/PickersSectionList/index.js +0 -2
  590. package/legacy/PickersSectionList/pickersSectionListClasses.js +0 -6
  591. package/legacy/PickersShortcuts/PickersShortcuts.js +0 -110
  592. package/legacy/PickersShortcuts/index.js +0 -1
  593. package/legacy/PickersTextField/PickersFilledInput/PickersFilledInput.js +0 -234
  594. package/legacy/PickersTextField/PickersFilledInput/index.js +0 -2
  595. package/legacy/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js +0 -8
  596. package/legacy/PickersTextField/PickersInput/PickersInput.js +0 -190
  597. package/legacy/PickersTextField/PickersInput/index.js +0 -2
  598. package/legacy/PickersTextField/PickersInput/pickersInputClasses.js +0 -8
  599. package/legacy/PickersTextField/PickersInputBase/PickersInputBase.js +0 -340
  600. package/legacy/PickersTextField/PickersInputBase/PickersInputBase.types.js +0 -1
  601. package/legacy/PickersTextField/PickersInputBase/index.js +0 -2
  602. package/legacy/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +0 -6
  603. package/legacy/PickersTextField/PickersOutlinedInput/Outline.js +0 -121
  604. package/legacy/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +0 -183
  605. package/legacy/PickersTextField/PickersOutlinedInput/index.js +0 -2
  606. package/legacy/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js +0 -8
  607. package/legacy/PickersTextField/PickersTextField.js +0 -258
  608. package/legacy/PickersTextField/PickersTextField.types.js +0 -1
  609. package/legacy/PickersTextField/index.js +0 -6
  610. package/legacy/PickersTextField/pickersTextFieldClasses.js +0 -6
  611. package/legacy/StaticDatePicker/StaticDatePicker.js +0 -297
  612. package/legacy/StaticDatePicker/StaticDatePicker.types.js +0 -1
  613. package/legacy/StaticDatePicker/index.js +0 -1
  614. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +0 -356
  615. package/legacy/StaticDateTimePicker/StaticDateTimePicker.types.js +0 -1
  616. package/legacy/StaticDateTimePicker/index.js +0 -1
  617. package/legacy/StaticTimePicker/StaticTimePicker.js +0 -238
  618. package/legacy/StaticTimePicker/StaticTimePicker.types.js +0 -1
  619. package/legacy/StaticTimePicker/index.js +0 -1
  620. package/legacy/TimeClock/Clock.js +0 -358
  621. package/legacy/TimeClock/ClockNumber.js +0 -87
  622. package/legacy/TimeClock/ClockNumbers.js +0 -73
  623. package/legacy/TimeClock/ClockPointer.js +0 -106
  624. package/legacy/TimeClock/TimeClock.js +0 -481
  625. package/legacy/TimeClock/TimeClock.types.js +0 -1
  626. package/legacy/TimeClock/clockClasses.js +0 -5
  627. package/legacy/TimeClock/clockNumberClasses.js +0 -5
  628. package/legacy/TimeClock/clockPointerClasses.js +0 -5
  629. package/legacy/TimeClock/index.js +0 -5
  630. package/legacy/TimeClock/shared.js +0 -53
  631. package/legacy/TimeClock/timeClockClasses.js +0 -5
  632. package/legacy/TimeField/TimeField.js +0 -320
  633. package/legacy/TimeField/TimeField.types.js +0 -1
  634. package/legacy/TimeField/index.js +0 -2
  635. package/legacy/TimeField/useTimeField.js +0 -31
  636. package/legacy/TimePicker/TimePicker.js +0 -314
  637. package/legacy/TimePicker/TimePicker.types.js +0 -1
  638. package/legacy/TimePicker/TimePickerToolbar.js +0 -260
  639. package/legacy/TimePicker/index.js +0 -3
  640. package/legacy/TimePicker/shared.js +0 -45
  641. package/legacy/TimePicker/timePickerToolbarClasses.js +0 -5
  642. package/legacy/YearCalendar/PickersYear.js +0 -137
  643. package/legacy/YearCalendar/YearCalendar.js +0 -362
  644. package/legacy/YearCalendar/YearCalendar.types.js +0 -1
  645. package/legacy/YearCalendar/index.js +0 -3
  646. package/legacy/YearCalendar/pickersYearClasses.js +0 -5
  647. package/legacy/YearCalendar/yearCalendarClasses.js +0 -5
  648. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -162
  649. package/legacy/dateTimeViewRenderers/index.js +0 -1
  650. package/legacy/dateViewRenderers/dateViewRenderers.js +0 -82
  651. package/legacy/dateViewRenderers/index.js +0 -1
  652. package/legacy/hooks/index.js +0 -1
  653. package/legacy/hooks/useClearableField.js +0 -76
  654. package/legacy/icons/index.js +0 -68
  655. package/legacy/index.js +0 -59
  656. package/legacy/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +0 -5
  657. package/legacy/internals/components/DateTimeViewWrapper/index.js +0 -1
  658. package/legacy/internals/components/PickerViewRoot/PickerViewRoot.js +0 -10
  659. package/legacy/internals/components/PickerViewRoot/index.js +0 -1
  660. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +0 -170
  661. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.js +0 -1
  662. package/legacy/internals/components/PickersArrowSwitcher/index.js +0 -2
  663. package/legacy/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js +0 -5
  664. package/legacy/internals/components/PickersModalDialog.js +0 -42
  665. package/legacy/internals/components/PickersPopper.js +0 -325
  666. package/legacy/internals/components/PickersToolbar.js +0 -92
  667. package/legacy/internals/components/PickersToolbarButton.js +0 -61
  668. package/legacy/internals/components/PickersToolbarText.js +0 -52
  669. package/legacy/internals/components/pickersPopperClasses.js +0 -5
  670. package/legacy/internals/components/pickersToolbarButtonClasses.js +0 -5
  671. package/legacy/internals/components/pickersToolbarClasses.js +0 -5
  672. package/legacy/internals/components/pickersToolbarTextClasses.js +0 -5
  673. package/legacy/internals/constants/dimensions.js +0 -7
  674. package/legacy/internals/demo/DemoContainer.js +0 -163
  675. package/legacy/internals/demo/index.js +0 -1
  676. package/legacy/internals/hooks/date-helpers-hooks.js +0 -37
  677. package/legacy/internals/hooks/useClockReferenceDate.js +0 -28
  678. package/legacy/internals/hooks/useDefaultReduceAnimations.js +0 -14
  679. package/legacy/internals/hooks/useDesktopPicker/index.js +0 -1
  680. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +0 -174
  681. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.types.js +0 -1
  682. package/legacy/internals/hooks/useField/index.js +0 -2
  683. package/legacy/internals/hooks/useField/useField.js +0 -470
  684. package/legacy/internals/hooks/useField/useField.types.js +0 -1
  685. package/legacy/internals/hooks/useField/useField.utils.js +0 -828
  686. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +0 -277
  687. package/legacy/internals/hooks/useField/useFieldState.js +0 -321
  688. package/legacy/internals/hooks/useIsLandscape.js +0 -39
  689. package/legacy/internals/hooks/useMobilePicker/index.js +0 -1
  690. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +0 -126
  691. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.types.js +0 -1
  692. package/legacy/internals/hooks/useOpenState.js +0 -38
  693. package/legacy/internals/hooks/usePicker/index.js +0 -1
  694. package/legacy/internals/hooks/usePicker/usePicker.js +0 -54
  695. package/legacy/internals/hooks/usePicker/usePicker.types.js +0 -1
  696. package/legacy/internals/hooks/usePicker/usePickerLayoutProps.js +0 -28
  697. package/legacy/internals/hooks/usePicker/usePickerValue.js +0 -365
  698. package/legacy/internals/hooks/usePicker/usePickerValue.types.js +0 -1
  699. package/legacy/internals/hooks/usePicker/usePickerViews.js +0 -172
  700. package/legacy/internals/hooks/useStaticPicker/index.js +0 -1
  701. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.js +0 -66
  702. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.types.js +0 -1
  703. package/legacy/internals/hooks/useUtils.js +0 -38
  704. package/legacy/internals/hooks/useValidation.js +0 -20
  705. package/legacy/internals/hooks/useValueWithTimezone.js +0 -81
  706. package/legacy/internals/hooks/useViews.js +0 -124
  707. package/legacy/internals/index.js +0 -35
  708. package/legacy/internals/models/common.js +0 -1
  709. package/legacy/internals/models/fields.js +0 -1
  710. package/legacy/internals/models/helpers.js +0 -1
  711. package/legacy/internals/models/index.js +0 -2
  712. package/legacy/internals/models/props/basePickerProps.js +0 -1
  713. package/legacy/internals/models/props/clock.js +0 -1
  714. package/legacy/internals/models/props/tabs.js +0 -1
  715. package/legacy/internals/models/props/toolbar.js +0 -1
  716. package/legacy/internals/models/validation.js +0 -1
  717. package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -24
  718. package/legacy/internals/utils/date-time-utils.js +0 -71
  719. package/legacy/internals/utils/date-utils.js +0 -129
  720. package/legacy/internals/utils/fields.js +0 -28
  721. package/legacy/internals/utils/getDefaultReferenceDate.js +0 -65
  722. package/legacy/internals/utils/time-utils.js +0 -63
  723. package/legacy/internals/utils/utils.js +0 -40
  724. package/legacy/internals/utils/validation/extractValidationProps.js +0 -16
  725. package/legacy/internals/utils/validation/validateDate.js +0 -38
  726. package/legacy/internals/utils/validation/validateDateTime.js +0 -20
  727. package/legacy/internals/utils/validation/validateTime.js +0 -42
  728. package/legacy/internals/utils/valueManagers.js +0 -67
  729. package/legacy/internals/utils/views.js +0 -29
  730. package/legacy/internals/utils/warning.js +0 -39
  731. package/legacy/locales/beBY.js +0 -99
  732. package/legacy/locales/caES.js +0 -100
  733. package/legacy/locales/csCZ.js +0 -100
  734. package/legacy/locales/daDK.js +0 -102
  735. package/legacy/locales/deDE.js +0 -101
  736. package/legacy/locales/elGR.js +0 -100
  737. package/legacy/locales/enUS.js +0 -96
  738. package/legacy/locales/esES.js +0 -99
  739. package/legacy/locales/eu.js +0 -99
  740. package/legacy/locales/faIR.js +0 -100
  741. package/legacy/locales/fiFI.js +0 -100
  742. package/legacy/locales/frFR.js +0 -98
  743. package/legacy/locales/heIL.js +0 -100
  744. package/legacy/locales/huHU.js +0 -99
  745. package/legacy/locales/index.js +0 -35
  746. package/legacy/locales/isIS.js +0 -100
  747. package/legacy/locales/itIT.js +0 -98
  748. package/legacy/locales/jaJP.js +0 -102
  749. package/legacy/locales/koKR.js +0 -98
  750. package/legacy/locales/kzKZ.js +0 -99
  751. package/legacy/locales/mk.js +0 -96
  752. package/legacy/locales/nbNO.js +0 -100
  753. package/legacy/locales/nlNL.js +0 -100
  754. package/legacy/locales/plPL.js +0 -85
  755. package/legacy/locales/ptBR.js +0 -100
  756. package/legacy/locales/roRO.js +0 -99
  757. package/legacy/locales/ruRU.js +0 -98
  758. package/legacy/locales/skSK.js +0 -100
  759. package/legacy/locales/svSE.js +0 -85
  760. package/legacy/locales/trTR.js +0 -100
  761. package/legacy/locales/ukUA.js +0 -100
  762. package/legacy/locales/urPK.js +0 -85
  763. package/legacy/locales/utils/getPickersLocalization.js +0 -12
  764. package/legacy/locales/utils/pickersLocaleTextApi.js +0 -1
  765. package/legacy/locales/viVN.js +0 -100
  766. package/legacy/locales/zhCN.js +0 -100
  767. package/legacy/locales/zhHK.js +0 -100
  768. package/legacy/models/adapters.js +0 -1
  769. package/legacy/models/common.js +0 -1
  770. package/legacy/models/fields.js +0 -1
  771. package/legacy/models/index.js +0 -7
  772. package/legacy/models/pickers.js +0 -1
  773. package/legacy/models/timezone.js +0 -1
  774. package/legacy/models/validation.js +0 -1
  775. package/legacy/models/views.js +0 -1
  776. package/legacy/themeAugmentation/index.js +0 -3
  777. package/legacy/timeViewRenderers/index.js +0 -1
  778. package/legacy/timeViewRenderers/timeViewRenderers.js +0 -186
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { getMonthsInYear } from '../../utils/date-utils';
3
2
  export const getDateSectionConfigFromFormatToken = (utils, formatToken) => {
4
3
  const config = utils.formatTokenMap[formatToken];
@@ -225,93 +224,6 @@ export const getSectionVisibleValue = (section, target, localizedDigits) => {
225
224
  }
226
225
  return value;
227
226
  };
228
- export const cleanString = dirtyString => dirtyString.replace(/[\u2066\u2067\u2068\u2069]/g, '');
229
- export const addPositionPropertiesToSections = (sections, localizedDigits, isRTL) => {
230
- let position = 0;
231
- let positionInInput = isRTL ? 1 : 0;
232
- const newSections = [];
233
- for (let i = 0; i < sections.length; i += 1) {
234
- const section = sections[i];
235
- const renderedValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
236
- const sectionStr = `${section.startSeparator}${renderedValue}${section.endSeparator}`;
237
- const sectionLength = cleanString(sectionStr).length;
238
- const sectionLengthInInput = sectionStr.length;
239
-
240
- // The ...InInput values consider the unicode characters but do include them in their indexes
241
- const cleanedValue = cleanString(renderedValue);
242
- const startInInput = positionInInput + (cleanedValue === '' ? 0 : renderedValue.indexOf(cleanedValue[0])) + section.startSeparator.length;
243
- const endInInput = startInInput + cleanedValue.length;
244
- newSections.push(_extends({}, section, {
245
- start: position,
246
- end: position + sectionLength,
247
- startInInput,
248
- endInInput
249
- }));
250
- position += sectionLength;
251
- // Move position to the end of string associated to the current section
252
- positionInInput += sectionLengthInInput;
253
- }
254
- return newSections;
255
- };
256
- const getSectionPlaceholder = (utils, timezone, localeText, sectionConfig, sectionFormat) => {
257
- switch (sectionConfig.type) {
258
- case 'year':
259
- {
260
- return localeText.fieldYearPlaceholder({
261
- digitAmount: utils.formatByString(utils.date(undefined, timezone), sectionFormat).length,
262
- format: sectionFormat
263
- });
264
- }
265
- case 'month':
266
- {
267
- return localeText.fieldMonthPlaceholder({
268
- contentType: sectionConfig.contentType,
269
- format: sectionFormat
270
- });
271
- }
272
- case 'day':
273
- {
274
- return localeText.fieldDayPlaceholder({
275
- format: sectionFormat
276
- });
277
- }
278
- case 'weekDay':
279
- {
280
- return localeText.fieldWeekDayPlaceholder({
281
- contentType: sectionConfig.contentType,
282
- format: sectionFormat
283
- });
284
- }
285
- case 'hours':
286
- {
287
- return localeText.fieldHoursPlaceholder({
288
- format: sectionFormat
289
- });
290
- }
291
- case 'minutes':
292
- {
293
- return localeText.fieldMinutesPlaceholder({
294
- format: sectionFormat
295
- });
296
- }
297
- case 'seconds':
298
- {
299
- return localeText.fieldSecondsPlaceholder({
300
- format: sectionFormat
301
- });
302
- }
303
- case 'meridiem':
304
- {
305
- return localeText.fieldMeridiemPlaceholder({
306
- format: sectionFormat
307
- });
308
- }
309
- default:
310
- {
311
- return sectionFormat;
312
- }
313
- }
314
- };
315
227
  export const changeSectionValueFormat = (utils, valueStr, currentFormat, newFormat) => {
316
228
  if (process.env.NODE_ENV !== 'production') {
317
229
  if (getDateSectionConfigFromFormatToken(utils, currentFormat).type === 'weekDay') {
@@ -367,142 +279,6 @@ export const doesSectionFormatHaveLeadingZeros = (utils, timezone, contentType,
367
279
  }
368
280
  }
369
281
  };
370
- const getEscapedPartsFromFormat = (utils, format) => {
371
- const escapedParts = [];
372
- const {
373
- start: startChar,
374
- end: endChar
375
- } = utils.escapedCharacters;
376
- const regExp = new RegExp(`(\\${startChar}[^\\${endChar}]*\\${endChar})+`, 'g');
377
- let match = null;
378
- // eslint-disable-next-line no-cond-assign
379
- while (match = regExp.exec(format)) {
380
- escapedParts.push({
381
- start: match.index,
382
- end: regExp.lastIndex - 1
383
- });
384
- }
385
- return escapedParts;
386
- };
387
- export const splitFormatIntoSections = (utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL) => {
388
- let startSeparator = '';
389
- const sections = [];
390
- const now = utils.date();
391
- const commitToken = token => {
392
- if (token === '') {
393
- return null;
394
- }
395
- const sectionConfig = getDateSectionConfigFromFormatToken(utils, token);
396
- const hasLeadingZerosInFormat = doesSectionFormatHaveLeadingZeros(utils, timezone, sectionConfig.contentType, sectionConfig.type, token);
397
- const hasLeadingZerosInInput = shouldRespectLeadingZeros ? hasLeadingZerosInFormat : sectionConfig.contentType === 'digit';
398
- const isValidDate = date != null && utils.isValid(date);
399
- let sectionValue = isValidDate ? utils.formatByString(date, token) : '';
400
- let maxLength = null;
401
- if (hasLeadingZerosInInput) {
402
- if (hasLeadingZerosInFormat) {
403
- maxLength = sectionValue === '' ? utils.formatByString(now, token).length : sectionValue.length;
404
- } else {
405
- if (sectionConfig.maxLength == null) {
406
- throw new Error(`MUI X: The token ${token} should have a 'maxDigitNumber' property on it's adapter`);
407
- }
408
- maxLength = sectionConfig.maxLength;
409
- if (isValidDate) {
410
- sectionValue = applyLocalizedDigits(cleanLeadingZeros(removeLocalizedDigits(sectionValue, localizedDigits), maxLength), localizedDigits);
411
- }
412
- }
413
- }
414
- sections.push(_extends({}, sectionConfig, {
415
- format: token,
416
- maxLength,
417
- value: sectionValue,
418
- placeholder: getSectionPlaceholder(utils, timezone, localeText, sectionConfig, token),
419
- hasLeadingZerosInFormat,
420
- hasLeadingZerosInInput,
421
- startSeparator: sections.length === 0 ? startSeparator : '',
422
- endSeparator: '',
423
- modified: false
424
- }));
425
- return null;
426
- };
427
-
428
- // Expand the provided format
429
- let formatExpansionOverflow = 10;
430
- let prevFormat = format;
431
- let nextFormat = utils.expandFormat(format);
432
- while (nextFormat !== prevFormat) {
433
- prevFormat = nextFormat;
434
- nextFormat = utils.expandFormat(prevFormat);
435
- formatExpansionOverflow -= 1;
436
- if (formatExpansionOverflow < 0) {
437
- 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.');
438
- }
439
- }
440
- const expandedFormat = nextFormat;
441
-
442
- // Get start/end indexes of escaped sections
443
- const escapedParts = getEscapedPartsFromFormat(utils, expandedFormat);
444
-
445
- // This RegExp test if the beginning of a string correspond to a supported token
446
- const isTokenStartRegExp = new RegExp(`^(${Object.keys(utils.formatTokenMap).sort((a, b) => b.length - a.length) // Sort to put longest word first
447
- .join('|')})`, 'g') // used to get access to lastIndex state
448
- ;
449
- let currentTokenValue = '';
450
- for (let i = 0; i < expandedFormat.length; i += 1) {
451
- const escapedPartOfCurrentChar = escapedParts.find(escapeIndex => escapeIndex.start <= i && escapeIndex.end >= i);
452
- const char = expandedFormat[i];
453
- const isEscapedChar = escapedPartOfCurrentChar != null;
454
- const potentialToken = `${currentTokenValue}${expandedFormat.slice(i)}`;
455
- const regExpMatch = isTokenStartRegExp.test(potentialToken);
456
- if (!isEscapedChar && char.match(/([A-Za-z]+)/) && regExpMatch) {
457
- currentTokenValue = potentialToken.slice(0, isTokenStartRegExp.lastIndex);
458
- i += isTokenStartRegExp.lastIndex - 1;
459
- } else {
460
- // If we are on the opening or closing character of an escaped part of the format,
461
- // Then we ignore this character.
462
- const isEscapeBoundary = isEscapedChar && escapedPartOfCurrentChar?.start === i || escapedPartOfCurrentChar?.end === i;
463
- if (!isEscapeBoundary) {
464
- commitToken(currentTokenValue);
465
- currentTokenValue = '';
466
- if (sections.length === 0) {
467
- startSeparator += char;
468
- } else {
469
- sections[sections.length - 1].endSeparator += char;
470
- }
471
- }
472
- }
473
- }
474
- commitToken(currentTokenValue);
475
- if (sections.length === 0 && startSeparator.length > 0) {
476
- sections.push({
477
- type: 'empty',
478
- contentType: 'letter',
479
- maxLength: null,
480
- format: '',
481
- value: '',
482
- placeholder: '',
483
- hasLeadingZerosInFormat: false,
484
- hasLeadingZerosInInput: false,
485
- startSeparator,
486
- endSeparator: '',
487
- modified: false
488
- });
489
- }
490
- return sections.map(section => {
491
- const cleanSeparator = separator => {
492
- let cleanedSeparator = separator;
493
- if (isRTL && cleanedSeparator !== null && cleanedSeparator.includes(' ')) {
494
- cleanedSeparator = `\u2069${cleanedSeparator}\u2066`;
495
- }
496
- if (formatDensity === 'spacious' && ['/', '.', '-'].includes(cleanedSeparator)) {
497
- cleanedSeparator = ` ${cleanedSeparator} `;
498
- }
499
- return cleanedSeparator;
500
- };
501
- section.startSeparator = cleanSeparator(section.startSeparator);
502
- section.endSeparator = cleanSeparator(section.endSeparator);
503
- return section;
504
- });
505
- };
506
282
 
507
283
  /**
508
284
  * Some date libraries like `dayjs` don't support parsing from date with escaped characters.
@@ -527,7 +303,10 @@ export const getDateFromDateSections = (utils, sections, localizedDigits) => {
527
303
  const dateWithoutSeparatorStr = sectionValues.join(' ');
528
304
  return utils.parse(dateWithoutSeparatorStr, formatWithoutSeparator);
529
305
  };
530
- export const createDateStrForInputFromSections = (sections, localizedDigits, isRTL) => {
306
+ export const createDateStrForV7HiddenInputFromSections = sections => sections.map(section => {
307
+ return `${section.startSeparator}${section.value || section.placeholder}${section.endSeparator}`;
308
+ }).join('');
309
+ export const createDateStrForV6InputFromSections = (sections, localizedDigits, isRTL) => {
531
310
  const formattedSections = sections.map(section => {
532
311
  const dateValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
533
312
  return `${section.startSeparator}${dateValue}${section.endSeparator}`;
@@ -627,7 +406,7 @@ export const getSectionsBoundaries = (utils, localizedDigits, timezone) => {
627
406
  }),
628
407
  meridiem: () => ({
629
408
  minimum: 0,
630
- maximum: 0
409
+ maximum: 1
631
410
  }),
632
411
  empty: () => ({
633
412
  minimum: 0,
@@ -727,9 +506,11 @@ export const mergeDateIntoReferenceDate = (utils, timezone, dateToTransferFrom,
727
506
  return mergedDate;
728
507
  }, referenceDate);
729
508
  export const isAndroid = () => navigator.userAgent.toLowerCase().indexOf('android') > -1;
730
- export const getSectionOrder = (sections, isRTL) => {
509
+
510
+ // TODO v8: Remove if we drop the v6 TextField approach.
511
+ export const getSectionOrder = (sections, shouldApplyRTL) => {
731
512
  const neighbors = {};
732
- if (!isRTL) {
513
+ if (!shouldApplyRTL) {
733
514
  sections.forEach((_, index) => {
734
515
  const leftIndex = index === 0 ? null : index - 1;
735
516
  const rightIndex = index === sections.length - 1 ? null : index + 1;
@@ -779,4 +560,73 @@ export const getSectionOrder = (sections, isRTL) => {
779
560
  startIndex: rtl2ltr[0],
780
561
  endIndex: rtl2ltr[sections.length - 1]
781
562
  };
563
+ };
564
+ export const parseSelectedSections = (selectedSections, sections) => {
565
+ if (selectedSections == null) {
566
+ return null;
567
+ }
568
+ if (selectedSections === 'all') {
569
+ return 'all';
570
+ }
571
+ if (typeof selectedSections === 'string') {
572
+ return sections.findIndex(section => section.type === selectedSections);
573
+ }
574
+ return selectedSections;
575
+ };
576
+ export const getSectionValueText = (section, utils) => {
577
+ if (!section.value) {
578
+ return undefined;
579
+ }
580
+ switch (section.type) {
581
+ case 'month':
582
+ {
583
+ if (section.contentType === 'digit') {
584
+ return utils.format(utils.setMonth(utils.date(), Number(section.value) - 1), 'month');
585
+ }
586
+ const parsedDate = utils.parse(section.value, section.format);
587
+ return parsedDate ? utils.format(parsedDate, 'month') : undefined;
588
+ }
589
+ case 'day':
590
+ return section.contentType === 'digit' ? utils.format(utils.setDate(utils.startOfYear(utils.date()), Number(section.value)), 'dayOfMonthFull') : section.value;
591
+ case 'weekDay':
592
+ // TODO: improve by providing the label of the week day
593
+ return undefined;
594
+ default:
595
+ return undefined;
596
+ }
597
+ };
598
+ export const getSectionValueNow = (section, utils) => {
599
+ if (!section.value) {
600
+ return undefined;
601
+ }
602
+ switch (section.type) {
603
+ case 'weekDay':
604
+ {
605
+ if (section.contentType === 'letter') {
606
+ // TODO: improve by resolving the week day number from a letter week day
607
+ return undefined;
608
+ }
609
+ return Number(section.value);
610
+ }
611
+ case 'meridiem':
612
+ {
613
+ const parsedDate = utils.parse(`01:00 ${section.value}`, `${utils.formats.hours12h}:${utils.formats.minutes} ${section.format}`);
614
+ if (parsedDate) {
615
+ return utils.getHours(parsedDate) >= 12 ? 1 : 0;
616
+ }
617
+ return undefined;
618
+ }
619
+ case 'day':
620
+ return section.contentType === 'digit-with-letter' ? parseInt(section.value, 10) : Number(section.value);
621
+ case 'month':
622
+ {
623
+ if (section.contentType === 'digit') {
624
+ return Number(section.value);
625
+ }
626
+ const parsedDate = utils.parse(section.value, section.format);
627
+ return parsedDate ? utils.getMonth(parsedDate) + 1 : undefined;
628
+ }
629
+ default:
630
+ return section.contentType !== 'letter' ? Number(section.value) : undefined;
631
+ }
782
632
  };
@@ -243,13 +243,13 @@ export const useFieldCharacterEditing = ({
243
243
  })) : applyLetterEditing(params);
244
244
  if (response == null) {
245
245
  setTempAndroidValueStr(null);
246
- } else {
247
- updateSectionValue({
248
- activeSection,
249
- newSectionValue: response.sectionValue,
250
- shouldGoToNextSection: response.shouldGoToNextSection
251
- });
246
+ return;
252
247
  }
248
+ updateSectionValue({
249
+ activeSection,
250
+ newSectionValue: response.sectionValue,
251
+ shouldGoToNextSection: response.shouldGoToNextSection
252
+ });
253
253
  });
254
254
  return {
255
255
  applyCharacterEditing,
@@ -3,7 +3,8 @@ import * as React from 'react';
3
3
  import useControlled from '@mui/utils/useControlled';
4
4
  import { useTheme } from '@mui/material/styles';
5
5
  import { useUtils, useLocaleText, useLocalizationContext } from '../useUtils';
6
- import { addPositionPropertiesToSections, splitFormatIntoSections, mergeDateIntoReferenceDate, getSectionsBoundaries, validateSections, getDateFromDateSections, getLocalizedDigits } from './useField.utils';
6
+ import { mergeDateIntoReferenceDate, getSectionsBoundaries, validateSections, getDateFromDateSections, parseSelectedSections, getLocalizedDigits } from './useField.utils';
7
+ import { buildSectionsFromFormat } from './buildSectionsFromFormat';
7
8
  import { useValueWithTimezone } from '../useValueWithTimezone';
8
9
  import { getSectionTypeGranularity } from '../../utils/getDefaultReferenceDate';
9
10
  export const useFieldState = params => {
@@ -28,7 +29,8 @@ export const useFieldState = params => {
28
29
  selectedSections: selectedSectionsProp,
29
30
  onSelectedSectionsChange,
30
31
  shouldRespectLeadingZeros = false,
31
- timezone: timezoneProp
32
+ timezone: timezoneProp,
33
+ enableAccessibleFieldDOMStructure = false
32
34
  }
33
35
  } = params;
34
36
  const {
@@ -44,8 +46,18 @@ export const useFieldState = params => {
44
46
  });
45
47
  const localizedDigits = React.useMemo(() => getLocalizedDigits(utils), [utils]);
46
48
  const sectionsValueBoundaries = React.useMemo(() => getSectionsBoundaries(utils, localizedDigits, timezone), [utils, localizedDigits, timezone]);
47
- const getSectionsFromValue = React.useCallback((value, fallbackSections = null) => fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, localizedDigits, isRTL, date => splitFormatIntoSections(utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL)), [fieldValueManager, format, localeText, localizedDigits, isRTL, shouldRespectLeadingZeros, utils, formatDensity, timezone]);
48
- const placeholder = React.useMemo(() => fieldValueManager.getValueStrFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL), [fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
49
+ const getSectionsFromValue = React.useCallback((value, fallbackSections = null) => fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, date => buildSectionsFromFormat({
50
+ utils,
51
+ timezone,
52
+ localeText,
53
+ localizedDigits,
54
+ format,
55
+ date,
56
+ formatDensity,
57
+ shouldRespectLeadingZeros,
58
+ enableAccessibleFieldDOMStructure,
59
+ isRTL
60
+ })), [fieldValueManager, format, localeText, localizedDigits, isRTL, shouldRespectLeadingZeros, utils, formatDensity, timezone, enableAccessibleFieldDOMStructure]);
49
61
  const [state, setState] = React.useState(() => {
50
62
  const sections = getSectionsFromValue(valueFromTheOutside);
51
63
  validateSections(sections, valueType);
@@ -72,45 +84,14 @@ export const useFieldState = params => {
72
84
  controlled: selectedSectionsProp,
73
85
  default: null,
74
86
  name: 'useField',
75
- state: 'selectedSectionIndexes'
87
+ state: 'selectedSections'
76
88
  });
77
89
  const setSelectedSections = newSelectedSections => {
78
90
  innerSetSelectedSections(newSelectedSections);
79
91
  onSelectedSectionsChange?.(newSelectedSections);
80
- setState(prevState => _extends({}, prevState, {
81
- selectedSectionQuery: null
82
- }));
83
92
  };
84
- const selectedSectionIndexes = React.useMemo(() => {
85
- if (selectedSections == null) {
86
- return null;
87
- }
88
- if (selectedSections === 'all') {
89
- return {
90
- startIndex: 0,
91
- endIndex: state.sections.length - 1,
92
- shouldSelectBoundarySelectors: true
93
- };
94
- }
95
- if (typeof selectedSections === 'number') {
96
- return {
97
- startIndex: selectedSections,
98
- endIndex: selectedSections,
99
- shouldSelectBoundarySelectors: state.sections[selectedSections].type === 'empty'
100
- };
101
- }
102
- if (typeof selectedSections === 'string') {
103
- const selectedSectionIndex = state.sections.findIndex(section => section.type === selectedSections);
104
- return {
105
- startIndex: selectedSectionIndex,
106
- endIndex: selectedSectionIndex,
107
- shouldSelectBoundarySelectors: state.sections[selectedSectionIndex].type === 'empty'
108
- };
109
- }
110
- return _extends({}, selectedSections, {
111
- shouldSelectBoundarySelectors: selectedSections.startIndex === selectedSections.endIndex && state.sections[selectedSections.startIndex].type === 'empty'
112
- });
113
- }, [selectedSections, state.sections]);
93
+ const parsedSelectedSections = React.useMemo(() => parseSelectedSections(selectedSections, state.sections), [selectedSections, state.sections]);
94
+ const activeSectionIndex = parsedSelectedSections === 'all' ? 0 : parsedSelectedSections;
114
95
  const publishValue = ({
115
96
  value,
116
97
  referenceValue,
@@ -143,7 +124,7 @@ export const useFieldState = params => {
143
124
  value: newSectionValue,
144
125
  modified: true
145
126
  });
146
- return addPositionPropertiesToSections(newSections, localizedDigits, isRTL);
127
+ return newSections;
147
128
  };
148
129
  const clearValue = () => {
149
130
  publishValue({
@@ -153,26 +134,19 @@ export const useFieldState = params => {
153
134
  });
154
135
  };
155
136
  const clearActiveSection = () => {
156
- if (selectedSectionIndexes == null) {
137
+ if (activeSectionIndex == null) {
157
138
  return;
158
139
  }
159
- const activeSection = state.sections[selectedSectionIndexes.startIndex];
140
+ const activeSection = state.sections[activeSectionIndex];
160
141
  const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
161
142
  const nonEmptySectionCountBefore = activeDateManager.getSections(state.sections).filter(section => section.value !== '').length;
162
143
  const hasNoOtherNonEmptySections = nonEmptySectionCountBefore === (activeSection.value === '' ? 0 : 1);
163
- const newSections = setSectionValue(selectedSectionIndexes.startIndex, '');
144
+ const newSections = setSectionValue(activeSectionIndex, '');
164
145
  const newActiveDate = hasNoOtherNonEmptySections ? null : utils.getInvalidDate();
165
146
  const newValues = activeDateManager.getNewValuesFromNewActiveDate(newActiveDate);
166
- if ((newActiveDate != null && !utils.isValid(newActiveDate)) !== (activeDateManager.date != null && !utils.isValid(activeDateManager.date))) {
167
- publishValue(_extends({}, newValues, {
168
- sections: newSections
169
- }));
170
- } else {
171
- setState(prevState => _extends({}, prevState, newValues, {
172
- sections: newSections,
173
- tempValueStrAndroid: null
174
- }));
175
- }
147
+ publishValue(_extends({}, newValues, {
148
+ sections: newSections
149
+ }));
176
150
  };
177
151
  const updateValueFromValueStr = valueStr => {
178
152
  const parseDateStr = (dateStr, referenceDate) => {
@@ -180,7 +154,18 @@ export const useFieldState = params => {
180
154
  if (date == null || !utils.isValid(date)) {
181
155
  return null;
182
156
  }
183
- const sections = splitFormatIntoSections(utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL);
157
+ const sections = buildSectionsFromFormat({
158
+ utils,
159
+ timezone,
160
+ localeText,
161
+ localizedDigits,
162
+ format,
163
+ date,
164
+ formatDensity,
165
+ shouldRespectLeadingZeros,
166
+ enableAccessibleFieldDOMStructure,
167
+ isRTL
168
+ });
184
169
  return mergeDateIntoReferenceDate(utils, timezone, date, sections, referenceDate, false);
185
170
  };
186
171
  const newValue = fieldValueManager.parseValueStr(valueStr, state.referenceValue, parseDateStr);
@@ -199,17 +184,15 @@ export const useFieldState = params => {
199
184
  /**
200
185
  * 1. Decide which section should be focused
201
186
  */
202
- if (shouldGoToNextSection && selectedSectionIndexes && selectedSectionIndexes.startIndex < state.sections.length - 1) {
203
- setSelectedSections(selectedSectionIndexes.startIndex + 1);
204
- } else if (selectedSectionIndexes && selectedSectionIndexes.startIndex !== selectedSectionIndexes.endIndex) {
205
- setSelectedSections(selectedSectionIndexes.startIndex);
187
+ if (shouldGoToNextSection && activeSectionIndex < state.sections.length - 1) {
188
+ setSelectedSections(activeSectionIndex + 1);
206
189
  }
207
190
 
208
191
  /**
209
192
  * 2. Try to build a valid date from the new section value
210
193
  */
211
194
  const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
212
- const newSections = setSectionValue(selectedSectionIndexes.startIndex, newSectionValue);
195
+ const newSections = setSectionValue(activeSectionIndex, newSectionValue);
213
196
  const newActiveDateSections = activeDateManager.getSections(newSections);
214
197
  const newActiveDate = getDateFromDateSections(utils, newActiveDateSections, localizedDigits);
215
198
  let values;
@@ -251,7 +234,7 @@ export const useFieldState = params => {
251
234
  setState(prevState => _extends({}, prevState, {
252
235
  sections
253
236
  }));
254
- }, [format, utils.locale]); // eslint-disable-line react-hooks/exhaustive-deps
237
+ }, [format, utils.locale, isRTL]); // eslint-disable-line react-hooks/exhaustive-deps
255
238
 
256
239
  React.useEffect(() => {
257
240
  let shouldUpdate;
@@ -271,16 +254,17 @@ export const useFieldState = params => {
271
254
 
272
255
  return {
273
256
  state,
274
- selectedSectionIndexes,
257
+ activeSectionIndex,
258
+ parsedSelectedSections,
275
259
  setSelectedSections,
276
260
  clearValue,
277
261
  clearActiveSection,
278
262
  updateSectionValue,
279
263
  updateValueFromValueStr,
280
264
  setTempAndroidValueStr,
265
+ getSectionsFromValue,
281
266
  sectionsValueBoundaries,
282
267
  localizedDigits,
283
- placeholder,
284
268
  timezone
285
269
  };
286
270
  };