@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,8 +1,12 @@
1
1
  import * as React from 'react';
2
- import { FieldSectionType, FieldSection, FieldSelectedSections, MuiPickersAdapter, TimezoneProps, FieldSectionContentType, FieldValueType, PickersTimezone } from '../../../models';
2
+ import { FieldSectionType, FieldSection, FieldSelectedSections, MuiPickersAdapter, TimezoneProps, FieldSectionContentType, FieldValueType, PickersTimezone, PickerValidDate, FieldRef } from '../../../models';
3
3
  import type { PickerValueManager } from '../usePicker';
4
4
  import { InferError, Validator } from '../useValidation';
5
- export interface UseFieldParams<TValue, TDate, TSection extends FieldSection, TForwardedProps extends UseFieldForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, any>> {
5
+ import type { UseFieldStateResponse } from './useFieldState';
6
+ import type { UseFieldCharacterEditingResponse } from './useFieldCharacterEditing';
7
+ import { PickersSectionElement, PickersSectionListRef } from '../../../PickersSectionList';
8
+ import { ExportedUseClearableFieldProps } from '../../../hooks/useClearableField';
9
+ export interface UseFieldParams<TValue, TDate extends PickerValidDate, TSection extends FieldSection, TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseFieldCommonForwardedProps & UseFieldForwardedProps<TEnableAccessibleFieldDOMStructure>, TInternalProps extends UseFieldInternalProps<any, any, any, TEnableAccessibleFieldDOMStructure, any>> {
6
10
  forwardedProps: TForwardedProps;
7
11
  internalProps: TInternalProps;
8
12
  valueManager: PickerValueManager<TValue, TDate, InferError<TInternalProps>>;
@@ -10,7 +14,7 @@ export interface UseFieldParams<TValue, TDate, TSection extends FieldSection, TF
10
14
  validator: Validator<TValue, TDate, InferError<TInternalProps>, UseFieldValidationProps<TValue, TInternalProps>>;
11
15
  valueType: FieldValueType;
12
16
  }
13
- export interface UseFieldInternalProps<TValue, TDate, TSection extends FieldSection, TError> extends TimezoneProps {
17
+ export interface UseFieldInternalProps<TValue, TDate extends PickerValidDate, TSection extends FieldSection, TEnableAccessibleFieldDOMStructure extends boolean, TError> extends TimezoneProps {
14
18
  /**
15
19
  * The selected value.
16
20
  * Used when the component is controlled.
@@ -75,11 +79,11 @@ export interface UseFieldInternalProps<TValue, TDate, TSection extends FieldSect
75
79
  readOnly?: boolean;
76
80
  /**
77
81
  * The currently selected sections.
78
- * This prop accept four formats:
82
+ * This prop accepts four formats:
79
83
  * 1. If a number is provided, the section at this index will be selected.
80
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
81
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
82
- * 4. If `null` is provided, no section will be selected
84
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
85
+ * 3. If `"all"` is provided, all the sections will be selected.
86
+ * 4. If `null` is provided, no section will be selected.
83
87
  * If not provided, the selected sections will be handled internally.
84
88
  */
85
89
  selectedSections?: FieldSelectedSections;
@@ -93,73 +97,78 @@ export interface UseFieldInternalProps<TValue, TDate, TSection extends FieldSect
93
97
  */
94
98
  unstableFieldRef?: React.Ref<FieldRef<TSection>>;
95
99
  /**
96
- * Callback fired when the clear button is clicked.
100
+ * @default false
97
101
  */
98
- onClear?: React.MouseEventHandler;
102
+ enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
99
103
  /**
100
- * If `true`, a clear button will be shown in the field allowing value clearing.
104
+ * If `true`, the `input` element is focused during the first mount.
101
105
  * @default false
102
106
  */
103
- clearable?: boolean;
107
+ autoFocus?: boolean;
104
108
  /**
105
109
  * If `true`, the component is disabled.
106
110
  * @default false
107
111
  */
108
112
  disabled?: boolean;
109
113
  }
110
- export interface FieldRef<TSection extends FieldSection> {
111
- /**
112
- * Returns the sections of the current value.
113
- * @returns {TSection[]} The sections of the current value.
114
- */
115
- getSections: () => TSection[];
116
- /**
117
- * Returns the index of the active section (the first focused section).
118
- * If no section is active, returns `null`.
119
- * @returns {number | null} The index of the active section.
120
- */
121
- getActiveSectionIndex: () => number | null;
122
- /**
123
- * Updates the selected sections.
124
- * @param {FieldSelectedSections} selectedSections The sections to select.
125
- */
126
- setSelectedSections: (selectedSections: FieldSelectedSections) => void;
114
+ export interface UseFieldCommonAdditionalProps extends Required<Pick<UseFieldInternalProps<any, any, any, any, any>, 'disabled' | 'readOnly'>> {
127
115
  }
128
- export interface UseFieldForwardedProps {
129
- inputRef?: React.Ref<HTMLInputElement>;
116
+ export interface UseFieldCommonForwardedProps extends ExportedUseClearableFieldProps {
130
117
  onKeyDown?: React.KeyboardEventHandler;
131
- onMouseUp?: React.MouseEventHandler;
132
- onPaste?: React.ClipboardEventHandler<HTMLInputElement>;
118
+ error?: boolean;
119
+ }
120
+ export type UseFieldForwardedProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseFieldCommonForwardedProps & (TEnableAccessibleFieldDOMStructure extends false ? UseFieldV6ForwardedProps : UseFieldV7ForwardedProps);
121
+ export interface UseFieldV6ForwardedProps {
122
+ inputRef?: React.Ref<HTMLInputElement>;
123
+ onBlur?: () => void;
133
124
  onClick?: React.MouseEventHandler;
134
125
  onFocus?: () => void;
126
+ onPaste?: React.ClipboardEventHandler<HTMLDivElement>;
127
+ }
128
+ interface UseFieldV6AdditionalProps extends Required<Pick<React.InputHTMLAttributes<HTMLInputElement>, 'inputMode' | 'placeholder' | 'value' | 'onChange' | 'autoComplete'>> {
129
+ enableAccessibleFieldDOMStructure: false;
130
+ }
131
+ export interface UseFieldV7ForwardedProps {
132
+ focused?: boolean;
133
+ autoFocus?: boolean;
134
+ sectionListRef?: React.Ref<PickersSectionListRef>;
135
135
  onBlur?: () => void;
136
- error?: boolean;
137
- onClear?: React.MouseEventHandler;
138
- clearable?: boolean;
139
- disabled?: boolean;
136
+ onClick?: React.MouseEventHandler;
137
+ onFocus?: () => void;
138
+ onInput?: React.FormEventHandler<HTMLDivElement>;
139
+ onPaste?: React.ClipboardEventHandler<HTMLDivElement>;
140
140
  }
141
- export type UseFieldResponse<TForwardedProps extends UseFieldForwardedProps> = Omit<TForwardedProps, keyof UseFieldForwardedProps> & Required<UseFieldForwardedProps> & Pick<React.InputHTMLAttributes<HTMLInputElement>, 'autoCorrect' | 'inputMode' | 'placeholder'> & {
142
- inputRef: React.Ref<HTMLInputElement>;
141
+ interface UseFieldV7AdditionalProps {
142
+ enableAccessibleFieldDOMStructure: true;
143
+ elements: PickersSectionElement[];
144
+ tabIndex: number | undefined;
145
+ contentEditable: boolean;
143
146
  value: string;
144
147
  onChange: React.ChangeEventHandler<HTMLInputElement>;
145
- error: boolean;
146
- readOnly: boolean;
147
- autoComplete: 'off';
148
- };
149
- export type FieldSectionWithoutPosition<TSection extends FieldSection = FieldSection> = Omit<TSection, 'start' | 'end' | 'startInInput' | 'endInInput'>;
150
- export type FieldSectionValueBoundaries<TDate, SectionType extends FieldSectionType> = {
148
+ areAllSectionsEmpty: boolean;
149
+ }
150
+ export type UseFieldResponse<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends UseFieldCommonForwardedProps & {
151
+ [key: string]: any;
152
+ }> = Omit<TForwardedProps, keyof UseFieldCommonForwardedProps> & Required<UseFieldCommonForwardedProps> & UseFieldCommonAdditionalProps & (TEnableAccessibleFieldDOMStructure extends false ? UseFieldV6AdditionalProps & Required<UseFieldV6ForwardedProps> : UseFieldV7AdditionalProps & Required<UseFieldV7ForwardedProps>);
153
+ export type FieldSectionValueBoundaries<TDate extends PickerValidDate, SectionType extends FieldSectionType> = {
151
154
  minimum: number;
152
155
  maximum: number;
153
156
  } & (SectionType extends 'day' ? {
154
157
  longestMonth: TDate;
155
158
  } : {});
156
- export type FieldSectionsValueBoundaries<TDate> = {
159
+ export type FieldSectionsValueBoundaries<TDate extends PickerValidDate> = {
157
160
  [SectionType in FieldSectionType]: (params: {
158
161
  currentDate: TDate | null;
159
162
  format: string;
160
163
  contentType: FieldSectionContentType;
161
164
  }) => FieldSectionValueBoundaries<TDate, SectionType>;
162
165
  };
166
+ export type FieldSectionsBoundaries = {
167
+ [SectionType in FieldSectionType]: {
168
+ minimum: number;
169
+ maximum: number;
170
+ };
171
+ };
163
172
  export type FieldChangeHandler<TValue, TError> = (value: TValue, context: FieldChangeHandlerContext<TError>) => void;
164
173
  export interface FieldChangeHandlerContext<TError> {
165
174
  validationError: TError;
@@ -168,7 +177,7 @@ export interface FieldChangeHandlerContext<TError> {
168
177
  * Object used to access and update the active date (i.e: the date containing the active section).
169
178
  * Mainly useful in the range fields where we need to update the date containing the active section without impacting the other one.
170
179
  */
171
- interface FieldActiveDateManager<TValue, TDate, TSection extends FieldSection> {
180
+ interface FieldActiveDateManager<TValue, TDate extends PickerValidDate, TSection extends FieldSection> {
172
181
  /**
173
182
  * Active date from `state.value`.
174
183
  */
@@ -192,15 +201,8 @@ interface FieldActiveDateManager<TValue, TDate, TSection extends FieldSection> {
192
201
  */
193
202
  getNewValuesFromNewActiveDate: (newActiveDate: TDate | null) => Pick<UseFieldState<TValue, any>, 'value' | 'referenceValue'>;
194
203
  }
195
- export type FieldSelectedSectionsIndexes = {
196
- startIndex: number;
197
- endIndex: number;
198
- /**
199
- * If `true`, the selectors at the very beginning and very end of the input will be selected.
200
- */
201
- shouldSelectBoundarySelectors: boolean;
202
- };
203
- export interface FieldValueManager<TValue, TDate, TSection extends FieldSection> {
204
+ export type FieldParsedSelectedSections = number | 'all' | null;
205
+ export interface FieldValueManager<TValue, TDate extends PickerValidDate, TSection extends FieldSection> {
204
206
  /**
205
207
  * Creates the section list from the current value.
206
208
  * The `prevSections` are used on the range fields to avoid losing the sections of a partially filled date when editing the other date.
@@ -208,12 +210,10 @@ export interface FieldValueManager<TValue, TDate, TSection extends FieldSection>
208
210
  * @param {MuiPickersAdapter<TDate>} utils The utils to manipulate the date.
209
211
  * @param {TValue} value The current value to generate sections from.
210
212
  * @param {TSection[] | null} fallbackSections The sections to use as a fallback if a date is null or invalid.
211
- * @param {string} localizedDigits The conversion table from localized to 0-9 digits.
212
- * @param {boolean} isRTL `true` if the direction is "right to left".
213
- * @param {(date: TDate) => FieldSectionWithoutPosition[]} getSectionsFromDate Returns the sections of the given date.
213
+ * @param {(date: TDate) => FieldSection[]} getSectionsFromDate Returns the sections of the given date.
214
214
  * @returns {TSection[]} The new section list.
215
215
  */
216
- getSectionsFromValue: (utils: MuiPickersAdapter<TDate>, value: TValue, fallbackSections: TSection[] | null, localizedDigits: string[], isRTL: boolean, getSectionsFromDate: (date: TDate) => FieldSectionWithoutPosition[]) => TSection[];
216
+ getSectionsFromValue: (utils: MuiPickersAdapter<TDate>, value: TValue, fallbackSections: TSection[] | null, getSectionsFromDate: (date: TDate) => FieldSection[]) => TSection[];
217
217
  /**
218
218
  * Creates the string value to render in the input based on the current section list.
219
219
  * @template TSection
@@ -222,7 +222,14 @@ export interface FieldValueManager<TValue, TDate, TSection extends FieldSection>
222
222
  * @param {boolean} isRTL `true` if the current orientation is "right to left"
223
223
  * @returns {string} The string value to render in the input.
224
224
  */
225
- getValueStrFromSections: (sections: TSection[], localizedDigits: string[], isRTL: boolean) => string;
225
+ getV6InputValueFromSections: (sections: TSection[], localizedDigits: string[], isRTL: boolean) => string;
226
+ /**
227
+ * Creates the string value to render in the input based on the current section list.
228
+ * @template TSection
229
+ * @param {TSection[]} sections The current section list.
230
+ * @returns {string} The string value to render in the input.
231
+ */
232
+ getV7HiddenInputValueFromSections: (sections: TSection[]) => string;
226
233
  /**
227
234
  * Returns the manager of the active date.
228
235
  * @template TValue, TDate, TSection
@@ -316,4 +323,33 @@ export type SectionOrdering = {
316
323
  */
317
324
  endIndex: number;
318
325
  };
326
+ export interface UseFieldTextFieldInteractions {
327
+ /**
328
+ * Select the correct sections in the DOM according to the sections currently selected in state.
329
+ */
330
+ syncSelectionToDOM: () => void;
331
+ /**
332
+ * Returns the index of the active section (the first focused section).
333
+ * If no section is active, returns `null`.
334
+ * @returns {number | null} The index of the active section.
335
+ */
336
+ getActiveSectionIndexFromDOM: () => number | null;
337
+ /**
338
+ * Focuses the field.
339
+ * @param {number | FieldSectionType} newSelectedSection The section to select once focused.
340
+ */
341
+ focusField: (newSelectedSection?: number | FieldSectionType) => void;
342
+ setSelectedSections: (newSelectedSections: FieldSelectedSections) => void;
343
+ isFieldFocused: () => boolean;
344
+ }
345
+ export type UseFieldTextField<TEnableAccessibleFieldDOMStructure extends boolean> = <TValue, TDate extends PickerValidDate, TSection extends FieldSection, TForwardedProps extends TEnableAccessibleFieldDOMStructure extends false ? UseFieldV6ForwardedProps : UseFieldV7ForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, TEnableAccessibleFieldDOMStructure, any> & {
346
+ minutesStep?: number;
347
+ }>(params: UseFieldTextFieldParams<TValue, TDate, TSection, TEnableAccessibleFieldDOMStructure, TForwardedProps, TInternalProps>) => {
348
+ interactions: UseFieldTextFieldInteractions;
349
+ returnedValue: TEnableAccessibleFieldDOMStructure extends false ? UseFieldV6AdditionalProps & Required<UseFieldV6ForwardedProps> : UseFieldV7AdditionalProps & Required<UseFieldV7ForwardedProps>;
350
+ };
351
+ interface UseFieldTextFieldParams<TValue, TDate extends PickerValidDate, TSection extends FieldSection, TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends TEnableAccessibleFieldDOMStructure extends false ? UseFieldV6ForwardedProps : UseFieldV7ForwardedProps, TInternalProps extends UseFieldInternalProps<any, any, any, TEnableAccessibleFieldDOMStructure, any>> extends UseFieldParams<TValue, TDate, TSection, TEnableAccessibleFieldDOMStructure, TForwardedProps, TInternalProps>, UseFieldStateResponse<TValue, TDate, TSection>, UseFieldCharacterEditingResponse {
352
+ areAllSectionsEmpty: boolean;
353
+ sectionOrder: SectionOrdering;
354
+ }
319
355
  export {};
@@ -1,13 +1,12 @@
1
- import { AvailableAdjustKeyCode, FieldSectionsValueBoundaries, SectionOrdering, FieldSectionWithoutPosition, FieldSectionValueBoundaries } from './useField.types';
2
- import { FieldSectionType, FieldValueType, FieldSection, MuiPickersAdapter, FieldSectionContentType, PickersTimezone } from '../../../models';
3
- import { PickersLocaleText } from '../../../locales/utils/pickersLocaleTextApi';
4
- export declare const getDateSectionConfigFromFormatToken: <TDate>(utils: MuiPickersAdapter<TDate, any>, formatToken: string) => Pick<FieldSection, 'type' | 'contentType'> & {
1
+ import { AvailableAdjustKeyCode, FieldSectionsValueBoundaries, SectionOrdering, FieldSectionValueBoundaries, FieldParsedSelectedSections } from './useField.types';
2
+ import { FieldSectionType, FieldValueType, FieldSection, MuiPickersAdapter, FieldSectionContentType, PickersTimezone, PickerValidDate, FieldSelectedSections } from '../../../models';
3
+ export declare const getDateSectionConfigFromFormatToken: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, formatToken: string) => Pick<FieldSection, 'type' | 'contentType'> & {
5
4
  maxLength: number | undefined;
6
5
  };
7
- export declare const getDaysInWeekStr: <TDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, format: string) => string[];
8
- export declare const getLetterEditingOptions: <TDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, sectionType: FieldSectionType, format: string) => string[];
6
+ export declare const getDaysInWeekStr: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, format: string) => string[];
7
+ export declare const getLetterEditingOptions: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, sectionType: FieldSectionType, format: string) => string[];
9
8
  export declare const FORMAT_SECONDS_NO_LEADING_ZEROS = "s";
10
- export declare const getLocalizedDigits: <TDate>(utils: MuiPickersAdapter<TDate, any>) => string[];
9
+ export declare const getLocalizedDigits: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>) => string[];
11
10
  export declare const removeLocalizedDigits: (valueStr: string, localizedDigits: string[]) => string;
12
11
  export declare const applyLocalizedDigits: (valueStr: string, localizedDigits: string[]) => string;
13
12
  export declare const isStringNumber: (valueStr: string, localizedDigits: string[]) => boolean;
@@ -17,24 +16,25 @@ export declare const isStringNumber: (valueStr: string, localizedDigits: string[
17
16
  * Warning: Should only be called with non-localized digits. Call `removeLocalizedDigits` with your value if needed.
18
17
  */
19
18
  export declare const cleanLeadingZeros: (valueStr: string, size: number) => string;
20
- export declare const cleanDigitSectionValue: <TDate>(utils: MuiPickersAdapter<TDate, any>, value: number, sectionBoundaries: FieldSectionValueBoundaries<TDate, any>, localizedDigits: string[], section: Pick<FieldSection, 'format' | 'type' | 'contentType' | 'hasLeadingZerosInFormat' | 'hasLeadingZerosInInput' | 'maxLength'>) => string;
21
- export declare const adjustSectionValue: <TDate, TSection extends FieldSection>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, section: TSection, keyCode: AvailableAdjustKeyCode, sectionsValueBoundaries: FieldSectionsValueBoundaries<TDate>, localizedDigits: string[], activeDate: TDate | null, stepsAttributes?: {
19
+ export declare const cleanDigitSectionValue: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, value: number, sectionBoundaries: FieldSectionValueBoundaries<TDate, any>, localizedDigits: string[], section: Pick<FieldSection, 'format' | 'type' | 'contentType' | 'hasLeadingZerosInFormat' | 'hasLeadingZerosInInput' | 'maxLength'>) => string;
20
+ export declare const adjustSectionValue: <TDate extends PickerValidDate, TSection extends FieldSection>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, section: TSection, keyCode: AvailableAdjustKeyCode, sectionsValueBoundaries: FieldSectionsValueBoundaries<TDate>, localizedDigits: string[], activeDate: TDate | null, stepsAttributes?: {
22
21
  minutesStep?: number;
23
22
  }) => string;
24
- export declare const getSectionVisibleValue: (section: FieldSectionWithoutPosition, target: 'input-rtl' | 'input-ltr' | 'non-input', localizedDigits: string[]) => string;
25
- export declare const cleanString: (dirtyString: string) => string;
26
- export declare const addPositionPropertiesToSections: <TSection extends FieldSection>(sections: FieldSectionWithoutPosition<TSection>[], localizedDigits: string[], isRTL: boolean) => TSection[];
27
- export declare const changeSectionValueFormat: <TDate>(utils: MuiPickersAdapter<TDate, any>, valueStr: string, currentFormat: string, newFormat: string) => string;
28
- export declare const doesSectionFormatHaveLeadingZeros: <TDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, contentType: FieldSectionContentType, sectionType: FieldSectionType, format: string) => boolean;
29
- export declare const splitFormatIntoSections: <TDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, localeText: PickersLocaleText<TDate>, localizedDigits: string[], format: string, date: TDate | null, formatDensity: 'dense' | 'spacious', shouldRespectLeadingZeros: boolean, isRTL: boolean) => FieldSectionWithoutPosition[];
23
+ export declare const getSectionVisibleValue: (section: FieldSection, target: 'input-rtl' | 'input-ltr' | 'non-input', localizedDigits: string[]) => string;
24
+ export declare const changeSectionValueFormat: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, valueStr: string, currentFormat: string, newFormat: string) => string;
25
+ export declare const doesSectionFormatHaveLeadingZeros: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, contentType: FieldSectionContentType, sectionType: FieldSectionType, format: string) => boolean;
30
26
  /**
31
27
  * Some date libraries like `dayjs` don't support parsing from date with escaped characters.
32
28
  * To make sure that the parsing works, we are building a format and a date without any separator.
33
29
  */
34
- export declare const getDateFromDateSections: <TDate>(utils: MuiPickersAdapter<TDate, any>, sections: FieldSection[], localizedDigits: string[]) => NonNullable<TDate>;
35
- export declare const createDateStrForInputFromSections: (sections: FieldSection[], localizedDigits: string[], isRTL: boolean) => string;
36
- export declare const getSectionsBoundaries: <TDate>(utils: MuiPickersAdapter<TDate, any>, localizedDigits: string[], timezone: PickersTimezone) => FieldSectionsValueBoundaries<TDate>;
30
+ export declare const getDateFromDateSections: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, sections: FieldSection[], localizedDigits: string[]) => TDate;
31
+ export declare const createDateStrForV7HiddenInputFromSections: (sections: FieldSection[]) => string;
32
+ export declare const createDateStrForV6InputFromSections: (sections: FieldSection[], localizedDigits: string[], isRTL: boolean) => string;
33
+ export declare const getSectionsBoundaries: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, localizedDigits: string[], timezone: PickersTimezone) => FieldSectionsValueBoundaries<TDate>;
37
34
  export declare const validateSections: <TSection extends FieldSection>(sections: TSection[], valueType: FieldValueType) => void;
38
- export declare const mergeDateIntoReferenceDate: <TDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, dateToTransferFrom: TDate, sections: FieldSectionWithoutPosition[], referenceDate: TDate, shouldLimitToEditedSections: boolean) => TDate;
35
+ export declare const mergeDateIntoReferenceDate: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, timezone: PickersTimezone, dateToTransferFrom: TDate, sections: FieldSection[], referenceDate: TDate, shouldLimitToEditedSections: boolean) => TDate;
39
36
  export declare const isAndroid: () => boolean;
40
- export declare const getSectionOrder: (sections: FieldSectionWithoutPosition[], isRTL: boolean) => SectionOrdering;
37
+ export declare const getSectionOrder: (sections: FieldSection[], shouldApplyRTL: boolean) => SectionOrdering;
38
+ export declare const parseSelectedSections: (selectedSections: FieldSelectedSections, sections: FieldSection[]) => FieldParsedSelectedSections;
39
+ export declare const getSectionValueText: <TDate extends PickerValidDate>(section: FieldSection, utils: MuiPickersAdapter<TDate, any>) => string | undefined;
40
+ export declare const getSectionValueNow: <TDate extends PickerValidDate>(section: FieldSection, utils: MuiPickersAdapter<TDate, any>) => number | undefined;
@@ -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 == null ? void 0 : escapedPartOfCurrentChar.start) === i || (escapedPartOfCurrentChar == null ? void 0 : 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;
@@ -782,4 +563,73 @@ export const getSectionOrder = (sections, isRTL) => {
782
563
  startIndex: rtl2ltr[0],
783
564
  endIndex: rtl2ltr[sections.length - 1]
784
565
  };
566
+ };
567
+ export const parseSelectedSections = (selectedSections, sections) => {
568
+ if (selectedSections == null) {
569
+ return null;
570
+ }
571
+ if (selectedSections === 'all') {
572
+ return 'all';
573
+ }
574
+ if (typeof selectedSections === 'string') {
575
+ return sections.findIndex(section => section.type === selectedSections);
576
+ }
577
+ return selectedSections;
578
+ };
579
+ export const getSectionValueText = (section, utils) => {
580
+ if (!section.value) {
581
+ return undefined;
582
+ }
583
+ switch (section.type) {
584
+ case 'month':
585
+ {
586
+ if (section.contentType === 'digit') {
587
+ return utils.format(utils.setMonth(utils.date(), Number(section.value) - 1), 'month');
588
+ }
589
+ const parsedDate = utils.parse(section.value, section.format);
590
+ return parsedDate ? utils.format(parsedDate, 'month') : undefined;
591
+ }
592
+ case 'day':
593
+ return section.contentType === 'digit' ? utils.format(utils.setDate(utils.startOfYear(utils.date()), Number(section.value)), 'dayOfMonthFull') : section.value;
594
+ case 'weekDay':
595
+ // TODO: improve by providing the label of the week day
596
+ return undefined;
597
+ default:
598
+ return undefined;
599
+ }
600
+ };
601
+ export const getSectionValueNow = (section, utils) => {
602
+ if (!section.value) {
603
+ return undefined;
604
+ }
605
+ switch (section.type) {
606
+ case 'weekDay':
607
+ {
608
+ if (section.contentType === 'letter') {
609
+ // TODO: improve by resolving the week day number from a letter week day
610
+ return undefined;
611
+ }
612
+ return Number(section.value);
613
+ }
614
+ case 'meridiem':
615
+ {
616
+ const parsedDate = utils.parse(`01:00 ${section.value}`, `${utils.formats.hours12h}:${utils.formats.minutes} ${section.format}`);
617
+ if (parsedDate) {
618
+ return utils.getHours(parsedDate) >= 12 ? 1 : 0;
619
+ }
620
+ return undefined;
621
+ }
622
+ case 'day':
623
+ return section.contentType === 'digit-with-letter' ? parseInt(section.value, 10) : Number(section.value);
624
+ case 'month':
625
+ {
626
+ if (section.contentType === 'digit') {
627
+ return Number(section.value);
628
+ }
629
+ const parsedDate = utils.parse(section.value, section.format);
630
+ return parsedDate ? utils.getMonth(parsedDate) + 1 : undefined;
631
+ }
632
+ default:
633
+ return section.contentType !== 'letter' ? Number(section.value) : undefined;
634
+ }
785
635
  };