@mui/x-date-pickers 8.0.0-beta.1 → 8.0.0-beta.3

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 (477) hide show
  1. package/CHANGELOG.md +235 -0
  2. package/DateCalendar/DateCalendar.js +4 -8
  3. package/DateCalendar/DayCalendar.js +2 -2
  4. package/DateField/DateField.js +4 -4
  5. package/DatePicker/shared.js +3 -9
  6. package/DateTimeField/DateTimeField.js +4 -4
  7. package/DateTimePicker/shared.js +3 -13
  8. package/DesktopDatePicker/DesktopDatePicker.js +2 -1
  9. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  10. package/DesktopTimePicker/DesktopTimePicker.js +2 -1
  11. package/DigitalClock/DigitalClock.js +1 -0
  12. package/LocalizationProvider/LocalizationProvider.d.ts +1 -1
  13. package/LocalizationProvider/LocalizationProvider.js +2 -2
  14. package/MobileDatePicker/MobileDatePicker.js +2 -1
  15. package/MobileDateTimePicker/MobileDateTimePicker.js +9 -1
  16. package/MobileTimePicker/MobileTimePicker.js +2 -1
  17. package/MonthCalendar/MonthCalendar.js +4 -9
  18. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +1 -0
  19. package/PickersActionBar/PickersActionBar.d.ts +1 -1
  20. package/PickersActionBar/PickersActionBar.js +21 -3
  21. package/PickersSectionList/PickersSectionList.d.ts +1 -1
  22. package/PickersSectionList/PickersSectionList.types.d.ts +2 -6
  23. package/StaticDatePicker/StaticDatePicker.js +2 -1
  24. package/StaticDateTimePicker/StaticDateTimePicker.js +9 -1
  25. package/StaticTimePicker/StaticTimePicker.js +2 -1
  26. package/TimeField/TimeField.js +4 -4
  27. package/TimePicker/shared.js +3 -3
  28. package/YearCalendar/YearCalendar.js +4 -10
  29. package/esm/DateCalendar/DateCalendar.js +6 -10
  30. package/esm/DateCalendar/DayCalendar.js +2 -2
  31. package/esm/DateField/DateField.js +4 -4
  32. package/esm/DatePicker/shared.js +3 -9
  33. package/esm/DateTimeField/DateTimeField.js +4 -4
  34. package/esm/DateTimePicker/shared.js +4 -14
  35. package/esm/DesktopDatePicker/DesktopDatePicker.js +2 -1
  36. package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  37. package/esm/DesktopTimePicker/DesktopTimePicker.js +2 -1
  38. package/esm/DigitalClock/DigitalClock.js +1 -0
  39. package/esm/LocalizationProvider/LocalizationProvider.d.ts +1 -1
  40. package/esm/LocalizationProvider/LocalizationProvider.js +2 -2
  41. package/esm/MobileDatePicker/MobileDatePicker.js +2 -1
  42. package/esm/MobileDateTimePicker/MobileDateTimePicker.js +9 -1
  43. package/esm/MobileTimePicker/MobileTimePicker.js +2 -1
  44. package/esm/MonthCalendar/MonthCalendar.js +6 -11
  45. package/esm/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +1 -0
  46. package/esm/PickersActionBar/PickersActionBar.d.ts +1 -1
  47. package/esm/PickersActionBar/PickersActionBar.js +22 -4
  48. package/esm/PickersSectionList/PickersSectionList.d.ts +1 -1
  49. package/esm/PickersSectionList/PickersSectionList.types.d.ts +2 -6
  50. package/esm/StaticDatePicker/StaticDatePicker.js +2 -1
  51. package/esm/StaticDateTimePicker/StaticDateTimePicker.js +9 -1
  52. package/esm/StaticTimePicker/StaticTimePicker.js +2 -1
  53. package/esm/TimeField/TimeField.js +4 -4
  54. package/esm/TimePicker/shared.js +3 -3
  55. package/esm/YearCalendar/YearCalendar.js +5 -11
  56. package/esm/index.js +1 -1
  57. package/esm/internals/components/PickerProvider.d.ts +9 -0
  58. package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -0
  59. package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -3
  60. package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -0
  61. package/esm/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  62. package/esm/internals/hooks/useField/syncSelectionToDOM.d.ts +9 -0
  63. package/esm/internals/hooks/useField/syncSelectionToDOM.js +50 -0
  64. package/esm/internals/hooks/useField/useField.types.d.ts +8 -1
  65. package/esm/internals/hooks/useField/useField.utils.d.ts +1 -3
  66. package/esm/internals/hooks/useField/useField.utils.js +0 -57
  67. package/esm/internals/hooks/useField/useFieldHiddenInputProps.d.ts +20 -0
  68. package/esm/internals/hooks/useField/useFieldHiddenInputProps.js +31 -0
  69. package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +8 -10
  70. package/esm/internals/hooks/useField/useFieldRootHandleKeyDown.js +1 -0
  71. package/esm/internals/hooks/useField/useFieldRootProps.d.ts +32 -0
  72. package/esm/internals/hooks/useField/useFieldRootProps.js +150 -0
  73. package/esm/internals/hooks/useField/useFieldSectionContainerProps.d.ts +15 -0
  74. package/esm/internals/hooks/useField/useFieldSectionContainerProps.js +29 -0
  75. package/esm/internals/hooks/useField/useFieldSectionContentProps.d.ts +23 -0
  76. package/esm/internals/hooks/useField/useFieldSectionContentProps.js +226 -0
  77. package/esm/internals/hooks/useField/useFieldV7TextField.js +76 -307
  78. package/esm/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -0
  79. package/esm/internals/hooks/useMobilePicker/useMobilePicker.js +9 -3
  80. package/esm/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -0
  81. package/esm/internals/hooks/usePicker/usePicker.d.ts +2 -1
  82. package/esm/internals/hooks/usePicker/usePicker.js +14 -4
  83. package/esm/internals/hooks/usePicker/usePicker.types.d.ts +2 -0
  84. package/esm/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -0
  85. package/esm/internals/hooks/useStaticPicker/useStaticPicker.js +9 -3
  86. package/esm/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -0
  87. package/esm/internals/index.d.ts +7 -6
  88. package/esm/internals/index.js +6 -5
  89. package/esm/internals/utils/createNonRangePickerStepNavigation.d.ts +13 -0
  90. package/esm/internals/utils/createNonRangePickerStepNavigation.js +24 -0
  91. package/esm/internals/utils/createStepNavigation.d.ts +32 -0
  92. package/esm/internals/utils/createStepNavigation.js +34 -0
  93. package/esm/internals/utils/date-utils.d.ts +1 -0
  94. package/esm/internals/utils/date-utils.js +2 -2
  95. package/esm/internals/utils/time-utils.d.ts +2 -0
  96. package/esm/internals/utils/time-utils.js +4 -3
  97. package/esm/locales/beBY.d.ts +1 -0
  98. package/esm/locales/beBY.js +1 -0
  99. package/esm/locales/bgBG.d.ts +1 -0
  100. package/esm/locales/bgBG.js +1 -0
  101. package/esm/locales/bnBD.d.ts +1 -0
  102. package/esm/locales/bnBD.js +1 -0
  103. package/esm/locales/caES.d.ts +1 -0
  104. package/esm/locales/caES.js +1 -0
  105. package/esm/locales/csCZ.d.ts +1 -0
  106. package/esm/locales/csCZ.js +1 -0
  107. package/esm/locales/daDK.d.ts +1 -0
  108. package/esm/locales/daDK.js +1 -0
  109. package/esm/locales/deDE.d.ts +1 -0
  110. package/esm/locales/deDE.js +3 -3
  111. package/esm/locales/elGR.d.ts +1 -0
  112. package/esm/locales/elGR.js +1 -0
  113. package/esm/locales/enUS.d.ts +1 -0
  114. package/esm/locales/enUS.js +1 -0
  115. package/esm/locales/esES.d.ts +1 -0
  116. package/esm/locales/esES.js +1 -0
  117. package/esm/locales/eu.d.ts +1 -0
  118. package/esm/locales/eu.js +1 -0
  119. package/esm/locales/faIR.d.ts +1 -0
  120. package/esm/locales/faIR.js +1 -0
  121. package/esm/locales/fiFI.d.ts +1 -0
  122. package/esm/locales/fiFI.js +1 -0
  123. package/esm/locales/frFR.d.ts +1 -0
  124. package/esm/locales/frFR.js +1 -0
  125. package/esm/locales/heIL.d.ts +1 -0
  126. package/esm/locales/heIL.js +1 -0
  127. package/esm/locales/hrHR.d.ts +1 -0
  128. package/esm/locales/hrHR.js +1 -0
  129. package/esm/locales/huHU.d.ts +1 -0
  130. package/esm/locales/huHU.js +1 -0
  131. package/esm/locales/isIS.d.ts +1 -0
  132. package/esm/locales/isIS.js +1 -0
  133. package/esm/locales/itIT.d.ts +1 -0
  134. package/esm/locales/itIT.js +1 -0
  135. package/esm/locales/jaJP.d.ts +1 -0
  136. package/esm/locales/jaJP.js +1 -0
  137. package/esm/locales/koKR.d.ts +1 -0
  138. package/esm/locales/koKR.js +1 -0
  139. package/esm/locales/kzKZ.d.ts +1 -0
  140. package/esm/locales/kzKZ.js +1 -0
  141. package/esm/locales/mk.d.ts +1 -0
  142. package/esm/locales/mk.js +1 -0
  143. package/esm/locales/nbNO.d.ts +1 -0
  144. package/esm/locales/nbNO.js +1 -0
  145. package/esm/locales/nlNL.d.ts +1 -0
  146. package/esm/locales/nlNL.js +1 -0
  147. package/esm/locales/nnNO.d.ts +1 -0
  148. package/esm/locales/nnNO.js +1 -0
  149. package/esm/locales/plPL.d.ts +1 -0
  150. package/esm/locales/plPL.js +1 -0
  151. package/esm/locales/ptBR.d.ts +1 -0
  152. package/esm/locales/ptBR.js +1 -0
  153. package/esm/locales/ptPT.d.ts +1 -0
  154. package/esm/locales/ptPT.js +1 -0
  155. package/esm/locales/roRO.d.ts +1 -0
  156. package/esm/locales/roRO.js +1 -0
  157. package/esm/locales/ruRU.d.ts +1 -0
  158. package/esm/locales/ruRU.js +1 -0
  159. package/esm/locales/skSK.d.ts +1 -0
  160. package/esm/locales/skSK.js +1 -0
  161. package/esm/locales/svSE.d.ts +1 -0
  162. package/esm/locales/svSE.js +1 -0
  163. package/esm/locales/trTR.d.ts +1 -0
  164. package/esm/locales/trTR.js +1 -0
  165. package/esm/locales/ukUA.d.ts +1 -0
  166. package/esm/locales/ukUA.js +1 -0
  167. package/esm/locales/urPK.d.ts +1 -0
  168. package/esm/locales/urPK.js +1 -0
  169. package/esm/locales/utils/getPickersLocalization.d.ts +1 -0
  170. package/esm/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  171. package/esm/locales/viVN.d.ts +1 -0
  172. package/esm/locales/viVN.js +1 -0
  173. package/esm/locales/zhCN.d.ts +1 -0
  174. package/esm/locales/zhCN.js +1 -0
  175. package/esm/locales/zhHK.d.ts +1 -0
  176. package/esm/locales/zhHK.js +1 -0
  177. package/esm/locales/zhTW.d.ts +1 -0
  178. package/esm/locales/zhTW.js +1 -0
  179. package/esm/managers/useDateManager.d.ts +4 -13
  180. package/esm/managers/useDateManager.js +18 -28
  181. package/esm/managers/useDateTimeManager.d.ts +4 -13
  182. package/esm/managers/useDateTimeManager.js +23 -33
  183. package/esm/managers/useTimeManager.d.ts +4 -13
  184. package/esm/managers/useTimeManager.js +14 -24
  185. package/esm/models/manager.d.ts +3 -8
  186. package/esm/validation/validateDate.js +3 -4
  187. package/index.js +1 -1
  188. package/internals/components/PickerProvider.d.ts +9 -0
  189. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -0
  190. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -3
  191. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -0
  192. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  193. package/internals/hooks/useField/syncSelectionToDOM.d.ts +9 -0
  194. package/internals/hooks/useField/syncSelectionToDOM.js +56 -0
  195. package/internals/hooks/useField/useField.types.d.ts +8 -1
  196. package/internals/hooks/useField/useField.utils.d.ts +1 -3
  197. package/internals/hooks/useField/useField.utils.js +2 -61
  198. package/internals/hooks/useField/useFieldHiddenInputProps.d.ts +20 -0
  199. package/internals/hooks/useField/useFieldHiddenInputProps.js +39 -0
  200. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +8 -10
  201. package/internals/hooks/useField/useFieldRootHandleKeyDown.js +1 -0
  202. package/internals/hooks/useField/useFieldRootProps.d.ts +32 -0
  203. package/internals/hooks/useField/useFieldRootProps.js +156 -0
  204. package/internals/hooks/useField/useFieldSectionContainerProps.d.ts +15 -0
  205. package/internals/hooks/useField/useFieldSectionContainerProps.js +37 -0
  206. package/internals/hooks/useField/useFieldSectionContentProps.d.ts +23 -0
  207. package/internals/hooks/useField/useFieldSectionContentProps.js +234 -0
  208. package/internals/hooks/useField/useFieldV7TextField.js +75 -306
  209. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -0
  210. package/internals/hooks/useMobilePicker/useMobilePicker.js +9 -3
  211. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -0
  212. package/internals/hooks/usePicker/usePicker.d.ts +2 -1
  213. package/internals/hooks/usePicker/usePicker.js +14 -4
  214. package/internals/hooks/usePicker/usePicker.types.d.ts +2 -0
  215. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -0
  216. package/internals/hooks/useStaticPicker/useStaticPicker.js +9 -3
  217. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -0
  218. package/internals/index.d.ts +7 -6
  219. package/internals/index.js +37 -18
  220. package/internals/utils/createNonRangePickerStepNavigation.d.ts +13 -0
  221. package/internals/utils/createNonRangePickerStepNavigation.js +30 -0
  222. package/internals/utils/createStepNavigation.d.ts +32 -0
  223. package/internals/utils/createStepNavigation.js +41 -0
  224. package/internals/utils/date-utils.d.ts +1 -0
  225. package/internals/utils/date-utils.js +3 -3
  226. package/internals/utils/time-utils.d.ts +2 -0
  227. package/internals/utils/time-utils.js +5 -4
  228. package/locales/beBY.d.ts +1 -0
  229. package/locales/beBY.js +1 -0
  230. package/locales/bgBG.d.ts +1 -0
  231. package/locales/bgBG.js +1 -0
  232. package/locales/bnBD.d.ts +1 -0
  233. package/locales/bnBD.js +1 -0
  234. package/locales/caES.d.ts +1 -0
  235. package/locales/caES.js +1 -0
  236. package/locales/csCZ.d.ts +1 -0
  237. package/locales/csCZ.js +1 -0
  238. package/locales/daDK.d.ts +1 -0
  239. package/locales/daDK.js +1 -0
  240. package/locales/deDE.d.ts +1 -0
  241. package/locales/deDE.js +3 -3
  242. package/locales/elGR.d.ts +1 -0
  243. package/locales/elGR.js +1 -0
  244. package/locales/enUS.d.ts +1 -0
  245. package/locales/enUS.js +1 -0
  246. package/locales/esES.d.ts +1 -0
  247. package/locales/esES.js +1 -0
  248. package/locales/eu.d.ts +1 -0
  249. package/locales/eu.js +1 -0
  250. package/locales/faIR.d.ts +1 -0
  251. package/locales/faIR.js +1 -0
  252. package/locales/fiFI.d.ts +1 -0
  253. package/locales/fiFI.js +1 -0
  254. package/locales/frFR.d.ts +1 -0
  255. package/locales/frFR.js +1 -0
  256. package/locales/heIL.d.ts +1 -0
  257. package/locales/heIL.js +1 -0
  258. package/locales/hrHR.d.ts +1 -0
  259. package/locales/hrHR.js +1 -0
  260. package/locales/huHU.d.ts +1 -0
  261. package/locales/huHU.js +1 -0
  262. package/locales/isIS.d.ts +1 -0
  263. package/locales/isIS.js +1 -0
  264. package/locales/itIT.d.ts +1 -0
  265. package/locales/itIT.js +1 -0
  266. package/locales/jaJP.d.ts +1 -0
  267. package/locales/jaJP.js +1 -0
  268. package/locales/koKR.d.ts +1 -0
  269. package/locales/koKR.js +1 -0
  270. package/locales/kzKZ.d.ts +1 -0
  271. package/locales/kzKZ.js +1 -0
  272. package/locales/mk.d.ts +1 -0
  273. package/locales/mk.js +1 -0
  274. package/locales/nbNO.d.ts +1 -0
  275. package/locales/nbNO.js +1 -0
  276. package/locales/nlNL.d.ts +1 -0
  277. package/locales/nlNL.js +1 -0
  278. package/locales/nnNO.d.ts +1 -0
  279. package/locales/nnNO.js +1 -0
  280. package/locales/plPL.d.ts +1 -0
  281. package/locales/plPL.js +1 -0
  282. package/locales/ptBR.d.ts +1 -0
  283. package/locales/ptBR.js +1 -0
  284. package/locales/ptPT.d.ts +1 -0
  285. package/locales/ptPT.js +1 -0
  286. package/locales/roRO.d.ts +1 -0
  287. package/locales/roRO.js +1 -0
  288. package/locales/ruRU.d.ts +1 -0
  289. package/locales/ruRU.js +1 -0
  290. package/locales/skSK.d.ts +1 -0
  291. package/locales/skSK.js +1 -0
  292. package/locales/svSE.d.ts +1 -0
  293. package/locales/svSE.js +1 -0
  294. package/locales/trTR.d.ts +1 -0
  295. package/locales/trTR.js +1 -0
  296. package/locales/ukUA.d.ts +1 -0
  297. package/locales/ukUA.js +1 -0
  298. package/locales/urPK.d.ts +1 -0
  299. package/locales/urPK.js +1 -0
  300. package/locales/utils/getPickersLocalization.d.ts +1 -0
  301. package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  302. package/locales/viVN.d.ts +1 -0
  303. package/locales/viVN.js +1 -0
  304. package/locales/zhCN.d.ts +1 -0
  305. package/locales/zhCN.js +1 -0
  306. package/locales/zhHK.d.ts +1 -0
  307. package/locales/zhHK.js +1 -0
  308. package/locales/zhTW.d.ts +1 -0
  309. package/locales/zhTW.js +1 -0
  310. package/managers/useDateManager.d.ts +4 -13
  311. package/managers/useDateManager.js +18 -28
  312. package/managers/useDateTimeManager.d.ts +4 -13
  313. package/managers/useDateTimeManager.js +23 -33
  314. package/managers/useTimeManager.d.ts +4 -13
  315. package/managers/useTimeManager.js +15 -25
  316. package/models/manager.d.ts +3 -8
  317. package/modern/DateCalendar/DateCalendar.js +6 -10
  318. package/modern/DateCalendar/DayCalendar.js +2 -2
  319. package/modern/DateField/DateField.js +4 -4
  320. package/modern/DatePicker/shared.js +3 -9
  321. package/modern/DateTimeField/DateTimeField.js +4 -4
  322. package/modern/DateTimePicker/shared.js +4 -14
  323. package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -1
  324. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  325. package/modern/DesktopTimePicker/DesktopTimePicker.js +2 -1
  326. package/modern/DigitalClock/DigitalClock.js +1 -0
  327. package/modern/LocalizationProvider/LocalizationProvider.d.ts +1 -1
  328. package/modern/LocalizationProvider/LocalizationProvider.js +2 -2
  329. package/modern/MobileDatePicker/MobileDatePicker.js +2 -1
  330. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +9 -1
  331. package/modern/MobileTimePicker/MobileTimePicker.js +2 -1
  332. package/modern/MonthCalendar/MonthCalendar.js +6 -11
  333. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +1 -0
  334. package/modern/PickersActionBar/PickersActionBar.d.ts +1 -1
  335. package/modern/PickersActionBar/PickersActionBar.js +22 -4
  336. package/modern/PickersSectionList/PickersSectionList.d.ts +1 -1
  337. package/modern/PickersSectionList/PickersSectionList.types.d.ts +2 -6
  338. package/modern/StaticDatePicker/StaticDatePicker.js +2 -1
  339. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +9 -1
  340. package/modern/StaticTimePicker/StaticTimePicker.js +2 -1
  341. package/modern/TimeField/TimeField.js +4 -4
  342. package/modern/TimePicker/shared.js +3 -3
  343. package/modern/YearCalendar/YearCalendar.js +5 -11
  344. package/modern/index.js +1 -1
  345. package/modern/internals/components/PickerProvider.d.ts +9 -0
  346. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -0
  347. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -3
  348. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -0
  349. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  350. package/modern/internals/hooks/useField/syncSelectionToDOM.d.ts +9 -0
  351. package/modern/internals/hooks/useField/syncSelectionToDOM.js +50 -0
  352. package/modern/internals/hooks/useField/useField.types.d.ts +8 -1
  353. package/modern/internals/hooks/useField/useField.utils.d.ts +1 -3
  354. package/modern/internals/hooks/useField/useField.utils.js +0 -57
  355. package/modern/internals/hooks/useField/useFieldHiddenInputProps.d.ts +20 -0
  356. package/modern/internals/hooks/useField/useFieldHiddenInputProps.js +31 -0
  357. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +8 -10
  358. package/modern/internals/hooks/useField/useFieldRootHandleKeyDown.js +1 -0
  359. package/modern/internals/hooks/useField/useFieldRootProps.d.ts +32 -0
  360. package/modern/internals/hooks/useField/useFieldRootProps.js +150 -0
  361. package/modern/internals/hooks/useField/useFieldSectionContainerProps.d.ts +15 -0
  362. package/modern/internals/hooks/useField/useFieldSectionContainerProps.js +29 -0
  363. package/modern/internals/hooks/useField/useFieldSectionContentProps.d.ts +23 -0
  364. package/modern/internals/hooks/useField/useFieldSectionContentProps.js +226 -0
  365. package/modern/internals/hooks/useField/useFieldV7TextField.js +76 -307
  366. package/modern/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -0
  367. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +9 -3
  368. package/modern/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -0
  369. package/modern/internals/hooks/usePicker/usePicker.d.ts +2 -1
  370. package/modern/internals/hooks/usePicker/usePicker.js +14 -4
  371. package/modern/internals/hooks/usePicker/usePicker.types.d.ts +2 -0
  372. package/modern/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -0
  373. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +9 -3
  374. package/modern/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -0
  375. package/modern/internals/index.d.ts +7 -6
  376. package/modern/internals/index.js +6 -5
  377. package/modern/internals/utils/createNonRangePickerStepNavigation.d.ts +13 -0
  378. package/modern/internals/utils/createNonRangePickerStepNavigation.js +24 -0
  379. package/modern/internals/utils/createStepNavigation.d.ts +32 -0
  380. package/modern/internals/utils/createStepNavigation.js +34 -0
  381. package/modern/internals/utils/date-utils.d.ts +1 -0
  382. package/modern/internals/utils/date-utils.js +2 -2
  383. package/modern/internals/utils/time-utils.d.ts +2 -0
  384. package/modern/internals/utils/time-utils.js +4 -3
  385. package/modern/locales/beBY.d.ts +1 -0
  386. package/modern/locales/beBY.js +1 -0
  387. package/modern/locales/bgBG.d.ts +1 -0
  388. package/modern/locales/bgBG.js +1 -0
  389. package/modern/locales/bnBD.d.ts +1 -0
  390. package/modern/locales/bnBD.js +1 -0
  391. package/modern/locales/caES.d.ts +1 -0
  392. package/modern/locales/caES.js +1 -0
  393. package/modern/locales/csCZ.d.ts +1 -0
  394. package/modern/locales/csCZ.js +1 -0
  395. package/modern/locales/daDK.d.ts +1 -0
  396. package/modern/locales/daDK.js +1 -0
  397. package/modern/locales/deDE.d.ts +1 -0
  398. package/modern/locales/deDE.js +3 -3
  399. package/modern/locales/elGR.d.ts +1 -0
  400. package/modern/locales/elGR.js +1 -0
  401. package/modern/locales/enUS.d.ts +1 -0
  402. package/modern/locales/enUS.js +1 -0
  403. package/modern/locales/esES.d.ts +1 -0
  404. package/modern/locales/esES.js +1 -0
  405. package/modern/locales/eu.d.ts +1 -0
  406. package/modern/locales/eu.js +1 -0
  407. package/modern/locales/faIR.d.ts +1 -0
  408. package/modern/locales/faIR.js +1 -0
  409. package/modern/locales/fiFI.d.ts +1 -0
  410. package/modern/locales/fiFI.js +1 -0
  411. package/modern/locales/frFR.d.ts +1 -0
  412. package/modern/locales/frFR.js +1 -0
  413. package/modern/locales/heIL.d.ts +1 -0
  414. package/modern/locales/heIL.js +1 -0
  415. package/modern/locales/hrHR.d.ts +1 -0
  416. package/modern/locales/hrHR.js +1 -0
  417. package/modern/locales/huHU.d.ts +1 -0
  418. package/modern/locales/huHU.js +1 -0
  419. package/modern/locales/isIS.d.ts +1 -0
  420. package/modern/locales/isIS.js +1 -0
  421. package/modern/locales/itIT.d.ts +1 -0
  422. package/modern/locales/itIT.js +1 -0
  423. package/modern/locales/jaJP.d.ts +1 -0
  424. package/modern/locales/jaJP.js +1 -0
  425. package/modern/locales/koKR.d.ts +1 -0
  426. package/modern/locales/koKR.js +1 -0
  427. package/modern/locales/kzKZ.d.ts +1 -0
  428. package/modern/locales/kzKZ.js +1 -0
  429. package/modern/locales/mk.d.ts +1 -0
  430. package/modern/locales/mk.js +1 -0
  431. package/modern/locales/nbNO.d.ts +1 -0
  432. package/modern/locales/nbNO.js +1 -0
  433. package/modern/locales/nlNL.d.ts +1 -0
  434. package/modern/locales/nlNL.js +1 -0
  435. package/modern/locales/nnNO.d.ts +1 -0
  436. package/modern/locales/nnNO.js +1 -0
  437. package/modern/locales/plPL.d.ts +1 -0
  438. package/modern/locales/plPL.js +1 -0
  439. package/modern/locales/ptBR.d.ts +1 -0
  440. package/modern/locales/ptBR.js +1 -0
  441. package/modern/locales/ptPT.d.ts +1 -0
  442. package/modern/locales/ptPT.js +1 -0
  443. package/modern/locales/roRO.d.ts +1 -0
  444. package/modern/locales/roRO.js +1 -0
  445. package/modern/locales/ruRU.d.ts +1 -0
  446. package/modern/locales/ruRU.js +1 -0
  447. package/modern/locales/skSK.d.ts +1 -0
  448. package/modern/locales/skSK.js +1 -0
  449. package/modern/locales/svSE.d.ts +1 -0
  450. package/modern/locales/svSE.js +1 -0
  451. package/modern/locales/trTR.d.ts +1 -0
  452. package/modern/locales/trTR.js +1 -0
  453. package/modern/locales/ukUA.d.ts +1 -0
  454. package/modern/locales/ukUA.js +1 -0
  455. package/modern/locales/urPK.d.ts +1 -0
  456. package/modern/locales/urPK.js +1 -0
  457. package/modern/locales/utils/getPickersLocalization.d.ts +1 -0
  458. package/modern/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  459. package/modern/locales/viVN.d.ts +1 -0
  460. package/modern/locales/viVN.js +1 -0
  461. package/modern/locales/zhCN.d.ts +1 -0
  462. package/modern/locales/zhCN.js +1 -0
  463. package/modern/locales/zhHK.d.ts +1 -0
  464. package/modern/locales/zhHK.js +1 -0
  465. package/modern/locales/zhTW.d.ts +1 -0
  466. package/modern/locales/zhTW.js +1 -0
  467. package/modern/managers/useDateManager.d.ts +4 -13
  468. package/modern/managers/useDateManager.js +18 -28
  469. package/modern/managers/useDateTimeManager.d.ts +4 -13
  470. package/modern/managers/useDateTimeManager.js +23 -33
  471. package/modern/managers/useTimeManager.d.ts +4 -13
  472. package/modern/managers/useTimeManager.js +14 -24
  473. package/modern/models/manager.d.ts +3 -8
  474. package/modern/validation/validateDate.js +3 -4
  475. package/package.json +6 -6
  476. package/tsconfig.build.tsbuildinfo +1 -1
  477. package/validation/validateDate.js +3 -4
@@ -6,7 +6,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.getDateTimeFieldInternalPropsDefaults = getDateTimeFieldInternalPropsDefaults;
9
+ exports.useApplyDefaultValuesToDateTimeValidationProps = useApplyDefaultValuesToDateTimeValidationProps;
10
10
  exports.useDateTimeManager = useDateTimeManager;
11
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var React = _interopRequireWildcard(require("react"));
@@ -25,15 +25,7 @@ function useDateTimeManager(parameters = {}) {
25
25
  internal_valueManager: _valueManagers.singleItemValueManager,
26
26
  internal_fieldValueManager: _valueManagers.singleItemFieldValueManager,
27
27
  internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
- internal_applyDefaultsToFieldInternalProps: ({
29
- internalProps,
30
- utils,
31
- defaultDates
32
- }) => (0, _extends2.default)({}, internalProps, getDateTimeFieldInternalPropsDefaults({
33
- internalProps,
34
- utils,
35
- defaultDates
36
- })),
28
+ internal_useApplyDefaultValuesToFieldInternalProps: useApplyDefaultValuesToDateTimeFieldInternalProps,
37
29
  internal_useOpenPickerButtonAriaLabel: useOpenPickerButtonAriaLabel
38
30
  }), [enableAccessibleFieldDOMStructure]);
39
31
  }
@@ -45,27 +37,25 @@ function useOpenPickerButtonAriaLabel(value) {
45
37
  return translations.openDatePickerDialogue(formattedValue);
46
38
  }, [value, translations, utils]);
47
39
  }
48
-
49
- /**
50
- * Private utility function to get the default internal props for the field with date time editing.
51
- * Is used by the `useDateTimeManager` and `useDateTimeRangeManager` hooks.
52
- */
53
- function getDateTimeFieldInternalPropsDefaults(parameters) {
54
- const {
55
- defaultDates,
56
- utils,
57
- internalProps
58
- } = parameters;
59
- const ampm = internalProps.ampm ?? utils.is12HourCycleInCurrentLocale();
60
- const defaultFormat = ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h;
61
- return {
62
- disablePast: internalProps.disablePast ?? false,
63
- disableFuture: internalProps.disableFuture ?? false,
64
- format: internalProps.format ?? defaultFormat,
65
- disableIgnoringDatePartForTimeValidation: Boolean(internalProps.minDateTime || internalProps.maxDateTime),
66
- minDate: (0, _dateUtils.applyDefaultDate)(utils, internalProps.minDateTime ?? internalProps.minDate, defaultDates.minDate),
67
- maxDate: (0, _dateUtils.applyDefaultDate)(utils, internalProps.maxDateTime ?? internalProps.maxDate, defaultDates.maxDate),
68
- minTime: internalProps.minDateTime ?? internalProps.minTime,
69
- maxTime: internalProps.maxDateTime ?? internalProps.maxTime
70
- };
40
+ function useApplyDefaultValuesToDateTimeFieldInternalProps(internalProps) {
41
+ const utils = (0, _useUtils.useUtils)();
42
+ const validationProps = useApplyDefaultValuesToDateTimeValidationProps(internalProps);
43
+ const ampm = React.useMemo(() => internalProps.ampm ?? utils.is12HourCycleInCurrentLocale(), [internalProps.ampm, utils]);
44
+ return React.useMemo(() => (0, _extends2.default)({}, internalProps, validationProps, {
45
+ format: internalProps.format ?? (ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h)
46
+ }), [internalProps, validationProps, ampm, utils]);
47
+ }
48
+ function useApplyDefaultValuesToDateTimeValidationProps(props) {
49
+ const utils = (0, _useUtils.useUtils)();
50
+ const defaultDates = (0, _useUtils.useDefaultDates)();
51
+ return React.useMemo(() => ({
52
+ disablePast: props.disablePast ?? false,
53
+ disableFuture: props.disableFuture ?? false,
54
+ // TODO: Explore if we can remove it from the public API
55
+ disableIgnoringDatePartForTimeValidation: !!props.minDateTime || !!props.maxDateTime || !!props.disableFuture || !!props.disablePast,
56
+ minDate: (0, _dateUtils.applyDefaultDate)(utils, props.minDateTime ?? props.minDate, defaultDates.minDate),
57
+ maxDate: (0, _dateUtils.applyDefaultDate)(utils, props.maxDateTime ?? props.maxDate, defaultDates.maxDate),
58
+ minTime: props.minDateTime ?? props.minTime,
59
+ maxTime: props.maxDateTime ?? props.maxTime
60
+ }), [props.minDateTime, props.maxDateTime, props.minTime, props.maxTime, props.minDate, props.maxDate, props.disableFuture, props.disablePast, utils, defaultDates]);
71
61
  }
@@ -1,24 +1,15 @@
1
1
  import type { MakeOptional } from '@mui/x-internals/types';
2
2
  import { PickerManager, TimeValidationError } from "../models/index.js";
3
3
  import { UseFieldInternalProps } from "../internals/hooks/useField/index.js";
4
- import { MuiPickersAdapterContextValue } from "../LocalizationProvider/LocalizationProvider.js";
5
4
  import { AmPmProps } from "../internals/models/props/time.js";
6
- import { ExportedValidateTimeProps, ValidateTimeProps, ValidateTimePropsToDefault } from "../validation/validateTime.js";
7
- import { PickerManagerFieldInternalPropsWithDefaults, PickerValue } from "../internals/models/index.js";
5
+ import { ExportedValidateTimeProps, ValidateTimeProps } from "../validation/validateTime.js";
6
+ import { PickerValue } from "../internals/models/index.js";
8
7
  export declare function useTimeManager<TEnableAccessibleFieldDOMStructure extends boolean = true>(parameters?: UseTimeManagerParameters<TEnableAccessibleFieldDOMStructure>): UseTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure>;
9
- /**
10
- * Private utility function to get the default internal props for the fields with time editing.
11
- * Is used by the `useTimeManager` and `useTimeRangeManager` hooks.
12
- */
13
- export declare function getTimeFieldInternalPropsDefaults(parameters: GetTimeFieldInternalPropsDefaultsParameters): GetTimeFieldInternalPropsDefaultsReturnValue;
8
+ type SharedTimeAndTimeRangeValidationProps = 'disablePast' | 'disableFuture';
9
+ export declare function useApplyDefaultValuesToTimeValidationProps(props: Pick<ExportedValidateTimeProps, SharedTimeAndTimeRangeValidationProps>): Pick<ValidateTimeProps, SharedTimeAndTimeRangeValidationProps>;
14
10
  export interface UseTimeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> extends AmPmProps {
15
11
  enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
16
12
  }
17
13
  export type UseTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerValue, TEnableAccessibleFieldDOMStructure, TimeValidationError, ValidateTimeProps, TimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>>;
18
14
  export interface TimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, TimeValidationError>, 'format'>, ExportedValidateTimeProps, AmPmProps {}
19
- type TimeManagerFieldPropsToDefault = 'format' | ValidateTimePropsToDefault;
20
- interface GetTimeFieldInternalPropsDefaultsParameters extends Pick<MuiPickersAdapterContextValue, 'utils'> {
21
- internalProps: Pick<TimeManagerFieldInternalProps<true>, TimeManagerFieldPropsToDefault | 'ampm'>;
22
- }
23
- interface GetTimeFieldInternalPropsDefaultsReturnValue extends Pick<PickerManagerFieldInternalPropsWithDefaults<UseTimeManagerReturnValue<true>>, TimeManagerFieldPropsToDefault> {}
24
15
  export {};
@@ -6,7 +6,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.getTimeFieldInternalPropsDefaults = getTimeFieldInternalPropsDefaults;
9
+ exports.useApplyDefaultValuesToTimeValidationProps = useApplyDefaultValuesToTimeValidationProps;
10
10
  exports.useTimeManager = useTimeManager;
11
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var React = _interopRequireWildcard(require("react"));
@@ -25,13 +25,7 @@ function useTimeManager(parameters = {}) {
25
25
  internal_valueManager: _valueManagers.singleItemValueManager,
26
26
  internal_fieldValueManager: _valueManagers.singleItemFieldValueManager,
27
27
  internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
- internal_applyDefaultsToFieldInternalProps: ({
29
- internalProps,
30
- utils
31
- }) => (0, _extends2.default)({}, internalProps, getTimeFieldInternalPropsDefaults({
32
- utils,
33
- internalProps
34
- })),
28
+ internal_useApplyDefaultValuesToFieldInternalProps: useApplyDefaultValuesToTimeFieldInternalProps,
35
29
  internal_useOpenPickerButtonAriaLabel: createUseOpenPickerButtonAriaLabel(ampm)
36
30
  }), [ampm, enableAccessibleFieldDOMStructure]);
37
31
  }
@@ -46,21 +40,17 @@ function createUseOpenPickerButtonAriaLabel(ampm) {
46
40
  }, [value, translations, utils]);
47
41
  };
48
42
  }
49
-
50
- /**
51
- * Private utility function to get the default internal props for the fields with time editing.
52
- * Is used by the `useTimeManager` and `useTimeRangeManager` hooks.
53
- */
54
- function getTimeFieldInternalPropsDefaults(parameters) {
55
- const {
56
- utils,
57
- internalProps
58
- } = parameters;
59
- const ampm = internalProps.ampm ?? utils.is12HourCycleInCurrentLocale();
60
- const defaultFormat = ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h;
61
- return {
62
- disablePast: internalProps.disablePast ?? false,
63
- disableFuture: internalProps.disableFuture ?? false,
64
- format: internalProps.format ?? defaultFormat
65
- };
43
+ function useApplyDefaultValuesToTimeFieldInternalProps(internalProps) {
44
+ const utils = (0, _useUtils.useUtils)();
45
+ const validationProps = useApplyDefaultValuesToTimeValidationProps(internalProps);
46
+ const ampm = React.useMemo(() => internalProps.ampm ?? utils.is12HourCycleInCurrentLocale(), [internalProps.ampm, utils]);
47
+ return React.useMemo(() => (0, _extends2.default)({}, internalProps, validationProps, {
48
+ format: internalProps.format ?? (ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h)
49
+ }), [internalProps, validationProps, ampm, utils]);
50
+ }
51
+ function useApplyDefaultValuesToTimeValidationProps(props) {
52
+ return React.useMemo(() => ({
53
+ disablePast: props.disablePast ?? false,
54
+ disableFuture: props.disableFuture ?? false
55
+ }), [props.disablePast, props.disableFuture]);
66
56
  }
@@ -1,5 +1,4 @@
1
1
  import type { FieldValueManager, UseFieldInternalProps } from '../internals/hooks/useField';
2
- import type { UseLocalizationContextReturnValue } from '../internals/hooks/useUtils';
3
2
  import type { PickerValidValue, PickerValueManager } from '../internals/models';
4
3
  import type { Validator } from '../validation';
5
4
  import type { PickerValueType } from './common';
@@ -66,18 +65,14 @@ export interface PickerManager<TValue extends PickerValidValue, TEnableAccessibl
66
65
  * - a default format to display the value in the field
67
66
  * - some default validation props that are needed to validate the value (e.g: minDate, maxDate)
68
67
  * This property is not part of the public API and should not be used directly.
69
- * @param {ApplyDefaultsToFieldInternalPropsParameters<TFieldInternalProps>} parameters The parameters to apply the defaults.
68
+ * @param {TFieldInternalProps<TFieldInternalProps>} internalProps The field internal props to apply the defaults to.
70
69
  * @returns {TFieldInternalPropsWithDefaults} The field internal props with the defaults applied.
71
70
  */
72
- internal_applyDefaultsToFieldInternalProps: (parameters: ApplyDefaultsToFieldInternalPropsParameters<TFieldInternalProps>) => UseFieldInternalProps<TValue, TEnableAccessibleFieldDOMStructure, TError> & TValidationProps;
71
+ internal_useApplyDefaultValuesToFieldInternalProps: (internalProps: TFieldInternalProps) => UseFieldInternalProps<TValue, TEnableAccessibleFieldDOMStructure, TError> & TValidationProps;
73
72
  /**
74
73
  * Returns a hook that creates the aria-label to apply on the button that opens the Picker.
75
74
  * @param {TValue} value The value of the Picker.
76
75
  * @returns {string} The aria-label to apply on the button that opens the Picker.
77
76
  */
78
77
  internal_useOpenPickerButtonAriaLabel: (value: TValue) => string;
79
- }
80
- interface ApplyDefaultsToFieldInternalPropsParameters<TFieldInternalProps extends {}> extends UseLocalizationContextReturnValue {
81
- internalProps: TFieldInternalProps;
82
- }
83
- export {};
78
+ }
@@ -10,14 +10,14 @@ import useSlotProps from '@mui/utils/useSlotProps';
10
10
  import { styled, useThemeProps } from '@mui/material/styles';
11
11
  import { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_useEventCallback as useEventCallback } from '@mui/utils';
12
12
  import { useCalendarState } from "./useCalendarState.js";
13
- import { useDefaultDates, useUtils } from "../internals/hooks/useUtils.js";
13
+ import { useUtils } from "../internals/hooks/useUtils.js";
14
14
  import { PickersFadeTransitionGroup } from "./PickersFadeTransitionGroup.js";
15
15
  import { DayCalendar } from "./DayCalendar.js";
16
16
  import { MonthCalendar } from "../MonthCalendar/index.js";
17
17
  import { YearCalendar } from "../YearCalendar/index.js";
18
18
  import { useViews } from "../internals/hooks/useViews.js";
19
19
  import { PickersCalendarHeader } from "../PickersCalendarHeader/index.js";
20
- import { findClosestEnabledDate, applyDefaultDate, mergeDateAndTime } from "../internals/utils/date-utils.js";
20
+ import { findClosestEnabledDate, mergeDateAndTime } from "../internals/utils/date-utils.js";
21
21
  import { PickerViewRoot } from "../internals/components/PickerViewRoot/index.js";
22
22
  import { useReduceAnimations } from "../internals/hooks/useReduceAnimations.js";
23
23
  import { getDateCalendarUtilityClass } from "./dateCalendarClasses.js";
@@ -25,6 +25,7 @@ import { useControlledValue } from "../internals/hooks/useControlledValue.js";
25
25
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
26
26
  import { VIEW_HEIGHT } from "../internals/constants/dimensions.js";
27
27
  import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
28
+ import { useApplyDefaultValuesToDateValidationProps } from "../managers/useDateManager.js";
28
29
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
29
30
  const useUtilityClasses = classes => {
30
31
  const slots = {
@@ -34,25 +35,20 @@ const useUtilityClasses = classes => {
34
35
  return composeClasses(slots, getDateCalendarUtilityClass, classes);
35
36
  };
36
37
  function useDateCalendarDefaultizedProps(props, name) {
37
- const utils = useUtils();
38
- const defaultDates = useDefaultDates();
39
38
  const themeProps = useThemeProps({
40
39
  props,
41
40
  name
42
41
  });
43
42
  const reduceAnimations = useReduceAnimations(themeProps.reduceAnimations);
44
- return _extends({}, themeProps, {
43
+ const validationProps = useApplyDefaultValuesToDateValidationProps(themeProps);
44
+ return _extends({}, themeProps, validationProps, {
45
45
  loading: themeProps.loading ?? false,
46
- disablePast: themeProps.disablePast ?? false,
47
- disableFuture: themeProps.disableFuture ?? false,
48
46
  openTo: themeProps.openTo ?? 'day',
49
47
  views: themeProps.views ?? ['year', 'day'],
50
48
  reduceAnimations,
51
49
  renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/_jsx("span", {
52
50
  children: "..."
53
- })),
54
- minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
55
- maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)
51
+ }))
56
52
  });
57
53
  }
58
54
  const DateCalendarRoot = styled(PickerViewRoot, {
@@ -81,7 +81,7 @@ const PickersCalendarWeekNumberLabel = styled(Typography, {
81
81
  display: 'flex',
82
82
  justifyContent: 'center',
83
83
  alignItems: 'center',
84
- color: theme.palette.text.disabled
84
+ color: (theme.vars || theme).palette.text.disabled
85
85
  }));
86
86
  const PickersCalendarWeekNumber = styled(Typography, {
87
87
  name: 'MuiDayCalendar',
@@ -94,7 +94,7 @@ const PickersCalendarWeekNumber = styled(Typography, {
94
94
  height: DAY_SIZE,
95
95
  padding: 0,
96
96
  margin: `0 ${DAY_MARGIN}px`,
97
- color: theme.palette.text.disabled,
97
+ color: (theme.vars || theme).palette.text.disabled,
98
98
  fontSize: '0.75rem',
99
99
  alignItems: 'center',
100
100
  justifyContent: 'center',
@@ -113,7 +113,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
113
113
  formatDensity: PropTypes.oneOf(['dense', 'spacious']),
114
114
  /**
115
115
  * Props applied to the [`FormHelperText`](https://mui.com/material-ui/api/form-helper-text/) element.
116
- * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
116
+ * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
117
117
  */
118
118
  FormHelperTextProps: PropTypes.object,
119
119
  /**
@@ -140,12 +140,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
140
140
  /**
141
141
  * Props applied to the [`InputLabel`](https://mui.com/material-ui/api/input-label/) element.
142
142
  * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
143
- * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
143
+ * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
144
144
  */
145
145
  InputLabelProps: PropTypes.object,
146
146
  /**
147
147
  * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
148
- * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
148
+ * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
149
149
  */
150
150
  inputProps: PropTypes.object,
151
151
  /**
@@ -153,7 +153,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
153
153
  * It will be a [`FilledInput`](https://mui.com/material-ui/api/filled-input/),
154
154
  * [`OutlinedInput`](https://mui.com/material-ui/api/outlined-input/) or [`Input`](https://mui.com/material-ui/api/input/)
155
155
  * component depending on the `variant` prop value.
156
- * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
156
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
157
157
  */
158
158
  InputProps: PropTypes.object,
159
159
  /**
@@ -1,17 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { useThemeProps } from '@mui/material/styles';
4
- import { useDefaultDates, useUtils } from "../internals/hooks/useUtils.js";
5
4
  import { applyDefaultViewProps } from "../internals/utils/views.js";
6
- import { applyDefaultDate } from "../internals/utils/date-utils.js";
7
5
  import { DatePickerToolbar } from "./DatePickerToolbar.js";
6
+ import { useApplyDefaultValuesToDateValidationProps } from "../managers/useDateManager.js";
8
7
  export function useDatePickerDefaultizedProps(props, name) {
9
- const utils = useUtils();
10
- const defaultDates = useDefaultDates();
11
8
  const themeProps = useThemeProps({
12
9
  props,
13
10
  name
14
11
  });
12
+ const validationProps = useApplyDefaultValuesToDateValidationProps(themeProps);
15
13
  const localeText = React.useMemo(() => {
16
14
  if (themeProps.localeText?.toolbarTitle == null) {
17
15
  return themeProps.localeText;
@@ -20,7 +18,7 @@ export function useDatePickerDefaultizedProps(props, name) {
20
18
  datePickerToolbarTitle: themeProps.localeText.toolbarTitle
21
19
  });
22
20
  }, [themeProps.localeText]);
23
- return _extends({}, themeProps, {
21
+ return _extends({}, themeProps, validationProps, {
24
22
  localeText
25
23
  }, applyDefaultViewProps({
26
24
  views: themeProps.views,
@@ -28,10 +26,6 @@ export function useDatePickerDefaultizedProps(props, name) {
28
26
  defaultViews: ['year', 'day'],
29
27
  defaultOpenTo: 'day'
30
28
  }), {
31
- disableFuture: themeProps.disableFuture ?? false,
32
- disablePast: themeProps.disablePast ?? false,
33
- minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
34
- maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate),
35
29
  slots: _extends({
36
30
  toolbar: DatePickerToolbar
37
31
  }, themeProps.slots)
@@ -123,7 +123,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
123
123
  formatDensity: PropTypes.oneOf(['dense', 'spacious']),
124
124
  /**
125
125
  * Props applied to the [`FormHelperText`](https://mui.com/material-ui/api/form-helper-text/) element.
126
- * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
126
+ * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
127
127
  */
128
128
  FormHelperTextProps: PropTypes.object,
129
129
  /**
@@ -150,12 +150,12 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
150
150
  /**
151
151
  * Props applied to the [`InputLabel`](https://mui.com/material-ui/api/input-label/) element.
152
152
  * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
153
- * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
153
+ * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
154
154
  */
155
155
  InputLabelProps: PropTypes.object,
156
156
  /**
157
157
  * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
158
- * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
158
+ * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
159
159
  */
160
160
  inputProps: PropTypes.object,
161
161
  /**
@@ -163,7 +163,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
163
163
  * It will be a [`FilledInput`](https://mui.com/material-ui/api/filled-input/),
164
164
  * [`OutlinedInput`](https://mui.com/material-ui/api/outlined-input/) or [`Input`](https://mui.com/material-ui/api/input/)
165
165
  * component depending on the `variant` prop value.
166
- * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
166
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
167
167
  */
168
168
  InputProps: PropTypes.object,
169
169
  /**
@@ -1,19 +1,19 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { useThemeProps } from '@mui/material/styles';
4
- import { useDefaultDates, useUtils } from "../internals/hooks/useUtils.js";
5
- import { applyDefaultDate } from "../internals/utils/date-utils.js";
4
+ import { useUtils } from "../internals/hooks/useUtils.js";
6
5
  import { DateTimePickerTabs } from "./DateTimePickerTabs.js";
7
6
  import { DateTimePickerToolbar } from "./DateTimePickerToolbar.js";
8
7
  import { applyDefaultViewProps } from "../internals/utils/views.js";
9
8
  import { resolveTimeViewsResponse } from "../internals/utils/date-time-utils.js";
9
+ import { useApplyDefaultValuesToDateTimeValidationProps } from "../managers/useDateTimeManager.js";
10
10
  export function useDateTimePickerDefaultizedProps(props, name) {
11
11
  const utils = useUtils();
12
- const defaultDates = useDefaultDates();
13
12
  const themeProps = useThemeProps({
14
13
  props,
15
14
  name
16
15
  });
16
+ const validationProps = useApplyDefaultValuesToDateTimeValidationProps(themeProps);
17
17
  const ampm = themeProps.ampm ?? utils.is12HourCycleInCurrentLocale();
18
18
  const localeText = React.useMemo(() => {
19
19
  if (themeProps.localeText?.toolbarTitle == null) {
@@ -43,7 +43,7 @@ export function useDateTimePickerDefaultizedProps(props, name) {
43
43
  timeSteps: themeProps.timeSteps,
44
44
  views: defaultViews
45
45
  });
46
- return _extends({}, themeProps, {
46
+ return _extends({}, themeProps, validationProps, {
47
47
  timeSteps,
48
48
  openTo,
49
49
  shouldRenderTimeInASingleColumn,
@@ -52,16 +52,6 @@ export function useDateTimePickerDefaultizedProps(props, name) {
52
52
  ampm,
53
53
  localeText,
54
54
  orientation: themeProps.orientation ?? 'portrait',
55
- // TODO: Remove from public API
56
- disableIgnoringDatePartForTimeValidation: themeProps.disableIgnoringDatePartForTimeValidation ?? Boolean(themeProps.minDateTime || themeProps.maxDateTime ||
57
- // allow time clock to correctly check time validity: https://github.com/mui/mui-x/issues/8520
58
- themeProps.disablePast || themeProps.disableFuture),
59
- disableFuture: themeProps.disableFuture ?? false,
60
- disablePast: themeProps.disablePast ?? false,
61
- minDate: applyDefaultDate(utils, themeProps.minDateTime ?? themeProps.minDate, defaultDates.minDate),
62
- maxDate: applyDefaultDate(utils, themeProps.maxDateTime ?? themeProps.maxDate, defaultDates.maxDate),
63
- minTime: themeProps.minDateTime ?? themeProps.minTime,
64
- maxTime: themeProps.maxDateTime ?? themeProps.maxTime,
65
55
  slots: _extends({
66
56
  toolbar: DateTimePickerToolbar,
67
57
  tabs: DateTimePickerTabs
@@ -62,7 +62,8 @@ const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePick
62
62
  props,
63
63
  valueManager: singleItemValueManager,
64
64
  valueType: 'date',
65
- validator: validateDate
65
+ validator: validateDate,
66
+ steps: null
66
67
  });
67
68
  return renderPicker();
68
69
  });
@@ -136,7 +136,8 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
136
136
  valueManager: singleItemValueManager,
137
137
  valueType: 'date-time',
138
138
  validator: validateDateTime,
139
- rendererInterceptor
139
+ rendererInterceptor,
140
+ steps: null
140
141
  });
141
142
  return renderPicker();
142
143
  });
@@ -73,7 +73,8 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
73
73
  props,
74
74
  valueManager: singleItemValueManager,
75
75
  valueType: 'time',
76
- validator: validateTime
76
+ validator: validateTime,
77
+ steps: null
77
78
  });
78
79
  return renderPicker();
79
80
  });
@@ -41,6 +41,7 @@ const DigitalClockRoot = styled(PickerViewRoot, {
41
41
  })({
42
42
  overflowY: 'auto',
43
43
  width: '100%',
44
+ scrollbarWidth: 'thin',
44
45
  '@media (prefers-reduced-motion: no-preference)': {
45
46
  scrollBehavior: 'auto'
46
47
  },
@@ -15,7 +15,7 @@ export interface LocalizationProviderProps<TLocale> {
15
15
  children?: React.ReactNode;
16
16
  /**
17
17
  * Date library adapter class function.
18
- * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
18
+ * @see See the localization provider {@link https://next.mui.com/x/react-date-pickers/quickstart/#integrate-provider-and-adapter date adapter setup section} for more details.
19
19
  */
20
20
  dateAdapter?: new (...args: any) => MuiPickersAdapter<TLocale>;
21
21
  /** Formats that are used for any child pickers */
@@ -63,7 +63,7 @@ export const LocalizationProvider = function LocalizationProvider(inProps) {
63
63
  instance: dateLibInstance
64
64
  });
65
65
  if (!adapter.isMUIAdapter) {
66
- throw new Error(['MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`', "For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`", 'More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation'].join(`\n`));
66
+ throw new Error(['MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`', "For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`", 'More information on the installation documentation: https://mui.com/x/react-date-pickers/quickstart/#installation'].join(`\n`));
67
67
  }
68
68
  return adapter;
69
69
  }, [DateAdapter, adapterLocale, dateFormats, dateLibInstance, parentUtils]);
@@ -100,7 +100,7 @@ process.env.NODE_ENV !== "production" ? LocalizationProvider.propTypes = {
100
100
  children: PropTypes.node,
101
101
  /**
102
102
  * Date library adapter class function.
103
- * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#setup-your-date-library-adapter date adapter setup section} for more details.
103
+ * @see See the localization provider {@link https://next.mui.com/x/react-date-pickers/quickstart/#integrate-provider-and-adapter date adapter setup section} for more details.
104
104
  */
105
105
  dateAdapter: PropTypes.func,
106
106
  /**
@@ -55,7 +55,8 @@ const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker
55
55
  props,
56
56
  valueManager: singleItemValueManager,
57
57
  valueType: 'date',
58
- validator: validateDate
58
+ validator: validateDate,
59
+ steps: null
59
60
  });
60
61
  return renderPicker();
61
62
  });
@@ -18,6 +18,13 @@ import { DIALOG_WIDTH, VIEW_HEIGHT } from "../internals/constants/dimensions.js"
18
18
  import { multiSectionDigitalClockClasses, multiSectionDigitalClockSectionClasses } from "../MultiSectionDigitalClock/index.js";
19
19
  import { mergeSx } from "../internals/utils/utils.js";
20
20
  import { digitalClockClasses } from "../DigitalClock/index.js";
21
+ import { EXPORTED_TIME_VIEWS } from "../internals/utils/time-utils.js";
22
+ import { DATE_VIEWS } from "../internals/utils/date-utils.js";
23
+ const STEPS = [{
24
+ views: DATE_VIEWS
25
+ }, {
26
+ views: EXPORTED_TIME_VIEWS
27
+ }];
21
28
  /**
22
29
  * Demos:
23
30
  *
@@ -98,7 +105,8 @@ const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTi
98
105
  props,
99
106
  valueManager: singleItemValueManager,
100
107
  valueType: 'date-time',
101
- validator: validateDateTime
108
+ validator: validateDateTime,
109
+ steps: STEPS
102
110
  });
103
111
  return renderPicker();
104
112
  });
@@ -58,7 +58,8 @@ const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker
58
58
  props,
59
59
  valueManager: singleItemValueManager,
60
60
  valueType: 'time',
61
- validator: validateTime
61
+ validator: validateTime,
62
+ steps: null
62
63
  });
63
64
  return renderPicker();
64
65
  });
@@ -11,14 +11,15 @@ import { shouldForwardProp } from '@mui/system/createStyled';
11
11
  import { styled, useThemeProps } from '@mui/material/styles';
12
12
  import { unstable_useControlled as useControlled, unstable_composeClasses as composeClasses, unstable_useEventCallback as useEventCallback } from '@mui/utils';
13
13
  import { MonthCalendarButton } from "./MonthCalendarButton.js";
14
- import { useUtils, useNow, useDefaultDates } from "../internals/hooks/useUtils.js";
14
+ import { useUtils, useNow } from "../internals/hooks/useUtils.js";
15
15
  import { getMonthCalendarUtilityClass } from "./monthCalendarClasses.js";
16
- import { applyDefaultDate, getMonthsInYear } from "../internals/utils/date-utils.js";
16
+ import { getMonthsInYear } from "../internals/utils/date-utils.js";
17
17
  import { singleItemValueManager } from "../internals/utils/valueManagers.js";
18
18
  import { SECTION_TYPE_GRANULARITY } from "../internals/utils/getDefaultReferenceDate.js";
19
19
  import { useControlledValue } from "../internals/hooks/useControlledValue.js";
20
20
  import { DIALOG_WIDTH } from "../internals/constants/dimensions.js";
21
21
  import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
22
+ import { useApplyDefaultValuesToDateValidationProps } from "../managers/useDateManager.js";
22
23
  import { jsx as _jsx } from "react/jsx-runtime";
23
24
  const useUtilityClasses = classes => {
24
25
  const slots = {
@@ -27,19 +28,13 @@ const useUtilityClasses = classes => {
27
28
  return composeClasses(slots, getMonthCalendarUtilityClass, classes);
28
29
  };
29
30
  export function useMonthCalendarDefaultizedProps(props, name) {
30
- const utils = useUtils();
31
- const defaultDates = useDefaultDates();
32
31
  const themeProps = useThemeProps({
33
32
  props,
34
33
  name
35
34
  });
36
- return _extends({
37
- disableFuture: false,
38
- disablePast: false
39
- }, themeProps, {
40
- monthsPerRow: themeProps.monthsPerRow ?? 3,
41
- minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
42
- maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)
35
+ const validationProps = useApplyDefaultValuesToDateValidationProps(themeProps);
36
+ return _extends({}, themeProps, validationProps, {
37
+ monthsPerRow: themeProps.monthsPerRow ?? 3
43
38
  });
44
39
  }
45
40
  const MonthCalendarRoot = styled('div', {
@@ -33,6 +33,7 @@ const MultiSectionDigitalClockSectionRoot = styled(MenuList, {
33
33
  width: 56,
34
34
  padding: 0,
35
35
  overflow: 'hidden',
36
+ scrollbarWidth: 'thin',
36
37
  '@media (prefers-reduced-motion: no-preference)': {
37
38
  scrollBehavior: 'auto'
38
39
  },
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { DialogActionsProps } from '@mui/material/DialogActions';
3
- export type PickersActionBarAction = 'clear' | 'cancel' | 'accept' | 'today';
3
+ export type PickersActionBarAction = 'clear' | 'cancel' | 'accept' | 'today' | 'next' | 'nextOrAccept';
4
4
  export interface PickersActionBarProps extends DialogActionsProps {
5
5
  /**
6
6
  * Ordered array of actions to display.