@mui/x-date-pickers 7.16.0 → 7.18.0

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 (390) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +1 -1
  2. package/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
  3. package/AdapterDayjs/AdapterDayjs.js +1 -1
  4. package/CHANGELOG.md +184 -4
  5. package/DateCalendar/DateCalendar.js +11 -1
  6. package/DateCalendar/useCalendarState.js +2 -0
  7. package/DateCalendar/useIsDateDisabled.d.ts +4 -3
  8. package/DateCalendar/useIsDateDisabled.js +5 -3
  9. package/DateField/DateField.js +2 -0
  10. package/DateField/DateField.types.d.ts +7 -2
  11. package/DateField/index.d.ts +1 -1
  12. package/DateField/useDateField.d.ts +1 -1
  13. package/DateField/useDateField.js +5 -3
  14. package/DatePicker/DatePicker.js +8 -0
  15. package/DatePicker/DatePicker.types.d.ts +5 -5
  16. package/DatePicker/DatePickerToolbar.js +2 -0
  17. package/DateTimeField/DateTimeField.js +2 -0
  18. package/DateTimeField/DateTimeField.types.d.ts +7 -2
  19. package/DateTimeField/index.d.ts +1 -1
  20. package/DateTimeField/useDateTimeField.d.ts +1 -1
  21. package/DateTimeField/useDateTimeField.js +5 -3
  22. package/DateTimePicker/DateTimePicker.js +8 -0
  23. package/DateTimePicker/DateTimePicker.types.d.ts +7 -6
  24. package/DateTimePicker/DateTimePickerTabs.js +2 -0
  25. package/DateTimePicker/DateTimePickerToolbar.js +2 -0
  26. package/DayCalendarSkeleton/DayCalendarSkeleton.js +2 -0
  27. package/DesktopDatePicker/DesktopDatePicker.js +16 -3
  28. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -6
  29. package/DesktopDateTimePicker/DesktopDateTimePicker.js +16 -3
  30. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +11 -10
  31. package/DesktopTimePicker/DesktopTimePicker.js +10 -3
  32. package/DigitalClock/DigitalClock.js +2 -0
  33. package/LocalizationProvider/LocalizationProvider.js +2 -0
  34. package/MobileDatePicker/MobileDatePicker.js +16 -3
  35. package/MobileDatePicker/MobileDatePicker.types.d.ts +5 -0
  36. package/MobileDateTimePicker/MobileDateTimePicker.js +16 -3
  37. package/MobileTimePicker/MobileTimePicker.js +10 -3
  38. package/MonthCalendar/MonthCalendar.js +2 -0
  39. package/MonthCalendar/MonthCalendar.types.d.ts +1 -1
  40. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
  41. package/PickersActionBar/PickersActionBar.js +2 -0
  42. package/PickersCalendarHeader/PickersCalendarHeader.js +2 -0
  43. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +1 -1
  44. package/PickersDay/PickersDay.js +2 -0
  45. package/PickersLayout/PickersLayout.js +2 -0
  46. package/PickersLayout/usePickerLayout.js +2 -0
  47. package/PickersSectionList/PickersSectionList.js +2 -0
  48. package/PickersShortcuts/PickersShortcuts.js +2 -0
  49. package/PickersTextField/PickersTextField.js +2 -0
  50. package/StaticDatePicker/StaticDatePicker.js +10 -2
  51. package/StaticDatePicker/StaticDatePicker.types.d.ts +5 -0
  52. package/StaticDateTimePicker/StaticDateTimePicker.js +10 -2
  53. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +5 -0
  54. package/StaticTimePicker/StaticTimePicker.js +3 -1
  55. package/TimeClock/Clock.js +1 -1
  56. package/TimeClock/TimeClock.js +2 -0
  57. package/TimeField/TimeField.js +2 -0
  58. package/TimeField/TimeField.types.d.ts +7 -2
  59. package/TimeField/index.d.ts +1 -1
  60. package/TimeField/useTimeField.d.ts +1 -1
  61. package/TimeField/useTimeField.js +5 -3
  62. package/TimePicker/TimePicker.js +2 -0
  63. package/TimePicker/TimePickerToolbar.js +2 -0
  64. package/YearCalendar/YearCalendar.js +21 -6
  65. package/YearCalendar/YearCalendar.types.d.ts +7 -1
  66. package/dateViewRenderers/dateViewRenderers.d.ts +1 -1
  67. package/dateViewRenderers/dateViewRenderers.js +2 -0
  68. package/hooks/index.d.ts +1 -0
  69. package/hooks/index.js +2 -1
  70. package/hooks/useClearableField.js +2 -0
  71. package/hooks/usePickersTranslations.js +2 -0
  72. package/hooks/useSplitFieldProps.d.ts +19 -0
  73. package/hooks/useSplitFieldProps.js +43 -0
  74. package/index.d.ts +1 -0
  75. package/index.js +3 -2
  76. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  77. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  78. package/internals/hooks/useField/useField.js +11 -6
  79. package/internals/hooks/useField/useField.types.d.ts +4 -22
  80. package/internals/hooks/useField/useFieldState.js +2 -4
  81. package/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  82. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
  83. package/internals/hooks/usePicker/usePicker.d.ts +1 -2
  84. package/internals/hooks/usePicker/usePicker.js +1 -1
  85. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -2
  86. package/internals/hooks/usePicker/usePickerValue.js +12 -16
  87. package/internals/hooks/usePicker/usePickerValue.types.d.ts +4 -15
  88. package/internals/index.d.ts +0 -8
  89. package/internals/index.js +0 -7
  90. package/locales/beBY.d.ts +3 -3
  91. package/locales/beBY.js +4 -4
  92. package/locales/caES.d.ts +3 -3
  93. package/locales/caES.js +3 -3
  94. package/locales/csCZ.d.ts +3 -3
  95. package/locales/csCZ.js +4 -4
  96. package/locales/daDK.d.ts +3 -3
  97. package/locales/daDK.js +3 -3
  98. package/locales/deDE.d.ts +3 -3
  99. package/locales/deDE.js +3 -3
  100. package/locales/elGR.d.ts +3 -3
  101. package/locales/elGR.js +4 -4
  102. package/locales/enUS.d.ts +3 -3
  103. package/locales/enUS.js +4 -4
  104. package/locales/esES.d.ts +3 -3
  105. package/locales/esES.js +3 -3
  106. package/locales/eu.d.ts +3 -3
  107. package/locales/eu.js +3 -3
  108. package/locales/faIR.d.ts +3 -3
  109. package/locales/faIR.js +3 -3
  110. package/locales/fiFI.d.ts +3 -3
  111. package/locales/fiFI.js +3 -3
  112. package/locales/frFR.d.ts +3 -3
  113. package/locales/frFR.js +3 -3
  114. package/locales/heIL.d.ts +3 -3
  115. package/locales/heIL.js +3 -3
  116. package/locales/huHU.d.ts +3 -3
  117. package/locales/huHU.js +3 -3
  118. package/locales/isIS.d.ts +3 -3
  119. package/locales/isIS.js +4 -4
  120. package/locales/itIT.d.ts +3 -3
  121. package/locales/itIT.js +3 -3
  122. package/locales/jaJP.d.ts +3 -3
  123. package/locales/jaJP.js +3 -3
  124. package/locales/koKR.d.ts +3 -3
  125. package/locales/koKR.js +3 -3
  126. package/locales/kzKZ.d.ts +3 -3
  127. package/locales/kzKZ.js +4 -4
  128. package/locales/mk.d.ts +3 -3
  129. package/locales/mk.js +3 -3
  130. package/locales/nbNO.d.ts +3 -3
  131. package/locales/nbNO.js +4 -4
  132. package/locales/nlNL.d.ts +3 -3
  133. package/locales/nlNL.js +3 -3
  134. package/locales/nnNO.d.ts +3 -3
  135. package/locales/nnNO.js +3 -3
  136. package/locales/plPL.d.ts +3 -3
  137. package/locales/plPL.js +4 -4
  138. package/locales/ptBR.d.ts +3 -3
  139. package/locales/ptBR.js +4 -4
  140. package/locales/roRO.d.ts +3 -3
  141. package/locales/roRO.js +3 -3
  142. package/locales/ruRU.d.ts +3 -3
  143. package/locales/ruRU.js +3 -3
  144. package/locales/skSK.d.ts +3 -3
  145. package/locales/skSK.js +4 -4
  146. package/locales/svSE.d.ts +3 -3
  147. package/locales/svSE.js +3 -3
  148. package/locales/trTR.d.ts +3 -3
  149. package/locales/trTR.js +4 -4
  150. package/locales/ukUA.d.ts +3 -3
  151. package/locales/ukUA.js +3 -3
  152. package/locales/urPK.d.ts +3 -3
  153. package/locales/urPK.js +4 -4
  154. package/locales/utils/getPickersLocalization.d.ts +10 -3
  155. package/locales/utils/getPickersLocalization.js +13 -0
  156. package/locales/utils/pickersLocaleTextApi.d.ts +27 -3
  157. package/locales/viVN.d.ts +3 -3
  158. package/locales/viVN.js +3 -3
  159. package/locales/zhCN.d.ts +3 -3
  160. package/locales/zhCN.js +3 -3
  161. package/locales/zhHK.d.ts +3 -3
  162. package/locales/zhHK.js +3 -3
  163. package/models/validation.d.ts +13 -0
  164. package/modern/AdapterDateFns/AdapterDateFns.js +1 -1
  165. package/modern/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
  166. package/modern/AdapterDayjs/AdapterDayjs.js +1 -1
  167. package/modern/DateCalendar/DateCalendar.js +11 -1
  168. package/modern/DateCalendar/useCalendarState.js +2 -0
  169. package/modern/DateCalendar/useIsDateDisabled.js +5 -3
  170. package/modern/DateField/DateField.js +2 -0
  171. package/modern/DateField/useDateField.js +5 -3
  172. package/modern/DatePicker/DatePicker.js +8 -0
  173. package/modern/DatePicker/DatePickerToolbar.js +2 -0
  174. package/modern/DateTimeField/DateTimeField.js +2 -0
  175. package/modern/DateTimeField/useDateTimeField.js +5 -3
  176. package/modern/DateTimePicker/DateTimePicker.js +8 -0
  177. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -0
  178. package/modern/DateTimePicker/DateTimePickerToolbar.js +2 -0
  179. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +2 -0
  180. package/modern/DesktopDatePicker/DesktopDatePicker.js +16 -3
  181. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +16 -3
  182. package/modern/DesktopTimePicker/DesktopTimePicker.js +10 -3
  183. package/modern/DigitalClock/DigitalClock.js +2 -0
  184. package/modern/LocalizationProvider/LocalizationProvider.js +2 -0
  185. package/modern/MobileDatePicker/MobileDatePicker.js +16 -3
  186. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +16 -3
  187. package/modern/MobileTimePicker/MobileTimePicker.js +10 -3
  188. package/modern/MonthCalendar/MonthCalendar.js +2 -0
  189. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +2 -0
  190. package/modern/PickersActionBar/PickersActionBar.js +2 -0
  191. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -0
  192. package/modern/PickersDay/PickersDay.js +2 -0
  193. package/modern/PickersLayout/PickersLayout.js +2 -0
  194. package/modern/PickersLayout/usePickerLayout.js +2 -0
  195. package/modern/PickersSectionList/PickersSectionList.js +2 -0
  196. package/modern/PickersShortcuts/PickersShortcuts.js +2 -0
  197. package/modern/PickersTextField/PickersTextField.js +2 -0
  198. package/modern/StaticDatePicker/StaticDatePicker.js +10 -2
  199. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +10 -2
  200. package/modern/StaticTimePicker/StaticTimePicker.js +3 -1
  201. package/modern/TimeClock/Clock.js +1 -1
  202. package/modern/TimeClock/TimeClock.js +2 -0
  203. package/modern/TimeField/TimeField.js +2 -0
  204. package/modern/TimeField/useTimeField.js +5 -3
  205. package/modern/TimePicker/TimePicker.js +2 -0
  206. package/modern/TimePicker/TimePickerToolbar.js +2 -0
  207. package/modern/YearCalendar/YearCalendar.js +21 -6
  208. package/modern/dateViewRenderers/dateViewRenderers.js +2 -0
  209. package/modern/hooks/index.js +2 -1
  210. package/modern/hooks/useClearableField.js +2 -0
  211. package/modern/hooks/usePickersTranslations.js +2 -0
  212. package/modern/hooks/useSplitFieldProps.js +43 -0
  213. package/modern/index.js +3 -2
  214. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  215. package/modern/internals/hooks/useField/useField.js +11 -6
  216. package/modern/internals/hooks/useField/useFieldState.js +2 -4
  217. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  218. package/modern/internals/hooks/usePicker/usePicker.js +1 -1
  219. package/modern/internals/hooks/usePicker/usePickerValue.js +12 -16
  220. package/modern/internals/index.js +0 -7
  221. package/modern/locales/beBY.js +4 -4
  222. package/modern/locales/caES.js +3 -3
  223. package/modern/locales/csCZ.js +4 -4
  224. package/modern/locales/daDK.js +3 -3
  225. package/modern/locales/deDE.js +3 -3
  226. package/modern/locales/elGR.js +4 -4
  227. package/modern/locales/enUS.js +4 -4
  228. package/modern/locales/esES.js +3 -3
  229. package/modern/locales/eu.js +3 -3
  230. package/modern/locales/faIR.js +3 -3
  231. package/modern/locales/fiFI.js +3 -3
  232. package/modern/locales/frFR.js +3 -3
  233. package/modern/locales/heIL.js +3 -3
  234. package/modern/locales/huHU.js +3 -3
  235. package/modern/locales/isIS.js +4 -4
  236. package/modern/locales/itIT.js +3 -3
  237. package/modern/locales/jaJP.js +3 -3
  238. package/modern/locales/koKR.js +3 -3
  239. package/modern/locales/kzKZ.js +4 -4
  240. package/modern/locales/mk.js +3 -3
  241. package/modern/locales/nbNO.js +4 -4
  242. package/modern/locales/nlNL.js +3 -3
  243. package/modern/locales/nnNO.js +3 -3
  244. package/modern/locales/plPL.js +4 -4
  245. package/modern/locales/ptBR.js +4 -4
  246. package/modern/locales/roRO.js +3 -3
  247. package/modern/locales/ruRU.js +3 -3
  248. package/modern/locales/skSK.js +4 -4
  249. package/modern/locales/svSE.js +3 -3
  250. package/modern/locales/trTR.js +4 -4
  251. package/modern/locales/ukUA.js +3 -3
  252. package/modern/locales/urPK.js +4 -4
  253. package/modern/locales/utils/getPickersLocalization.js +13 -0
  254. package/modern/locales/viVN.js +3 -3
  255. package/modern/locales/zhCN.js +3 -3
  256. package/modern/locales/zhHK.js +3 -3
  257. package/modern/validation/index.js +5 -0
  258. package/modern/validation/useValidation.js +54 -0
  259. package/{internals/utils → modern}/validation/validateDate.js +6 -4
  260. package/modern/{internals/utils/validation → validation}/validateDateTime.js +8 -3
  261. package/{internals/utils → modern}/validation/validateTime.js +6 -4
  262. package/node/AdapterDateFns/AdapterDateFns.js +1 -1
  263. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
  264. package/node/AdapterDayjs/AdapterDayjs.js +1 -1
  265. package/node/DateCalendar/DateCalendar.js +10 -1
  266. package/node/DateCalendar/useCalendarState.js +1 -0
  267. package/node/DateCalendar/useIsDateDisabled.js +5 -4
  268. package/node/DateField/DateField.js +1 -0
  269. package/node/DateField/useDateField.js +5 -4
  270. package/node/DatePicker/DatePicker.js +7 -0
  271. package/node/DatePicker/DatePickerToolbar.js +1 -0
  272. package/node/DateTimeField/DateTimeField.js +1 -0
  273. package/node/DateTimeField/useDateTimeField.js +5 -4
  274. package/node/DateTimePicker/DateTimePicker.js +7 -0
  275. package/node/DateTimePicker/DateTimePickerTabs.js +1 -0
  276. package/node/DateTimePicker/DateTimePickerToolbar.js +1 -0
  277. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +1 -0
  278. package/node/DesktopDatePicker/DesktopDatePicker.js +17 -5
  279. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -5
  280. package/node/DesktopTimePicker/DesktopTimePicker.js +11 -5
  281. package/node/DigitalClock/DigitalClock.js +1 -0
  282. package/node/LocalizationProvider/LocalizationProvider.js +1 -0
  283. package/node/MobileDatePicker/MobileDatePicker.js +17 -5
  284. package/node/MobileDateTimePicker/MobileDateTimePicker.js +17 -5
  285. package/node/MobileTimePicker/MobileTimePicker.js +11 -5
  286. package/node/MonthCalendar/MonthCalendar.js +1 -0
  287. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -0
  288. package/node/PickersActionBar/PickersActionBar.js +1 -0
  289. package/node/PickersCalendarHeader/PickersCalendarHeader.js +1 -0
  290. package/node/PickersDay/PickersDay.js +1 -0
  291. package/node/PickersLayout/PickersLayout.js +1 -0
  292. package/node/PickersLayout/usePickerLayout.js +1 -0
  293. package/node/PickersSectionList/PickersSectionList.js +1 -0
  294. package/node/PickersShortcuts/PickersShortcuts.js +1 -0
  295. package/node/PickersTextField/PickersTextField.js +1 -0
  296. package/node/StaticDatePicker/StaticDatePicker.js +10 -3
  297. package/node/StaticDateTimePicker/StaticDateTimePicker.js +10 -3
  298. package/node/StaticTimePicker/StaticTimePicker.js +3 -2
  299. package/node/TimeClock/Clock.js +1 -1
  300. package/node/TimeClock/TimeClock.js +1 -0
  301. package/node/TimeField/TimeField.js +1 -0
  302. package/node/TimeField/useTimeField.js +5 -4
  303. package/node/TimePicker/TimePicker.js +1 -0
  304. package/node/TimePicker/TimePickerToolbar.js +1 -0
  305. package/node/YearCalendar/YearCalendar.js +20 -6
  306. package/node/dateViewRenderers/dateViewRenderers.js +2 -0
  307. package/node/hooks/index.js +8 -1
  308. package/node/hooks/useClearableField.js +1 -0
  309. package/node/hooks/usePickersTranslations.js +1 -0
  310. package/node/hooks/useSplitFieldProps.js +51 -0
  311. package/node/index.js +13 -1
  312. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  313. package/node/internals/hooks/useField/useField.js +11 -6
  314. package/node/internals/hooks/useField/useFieldState.js +2 -4
  315. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  316. package/node/internals/hooks/usePicker/usePicker.js +1 -1
  317. package/node/internals/hooks/usePicker/usePickerValue.js +12 -16
  318. package/node/internals/index.js +0 -49
  319. package/node/locales/beBY.js +4 -4
  320. package/node/locales/caES.js +3 -3
  321. package/node/locales/csCZ.js +4 -4
  322. package/node/locales/daDK.js +3 -3
  323. package/node/locales/deDE.js +3 -3
  324. package/node/locales/elGR.js +4 -4
  325. package/node/locales/enUS.js +4 -4
  326. package/node/locales/esES.js +3 -3
  327. package/node/locales/eu.js +3 -3
  328. package/node/locales/faIR.js +3 -3
  329. package/node/locales/fiFI.js +3 -3
  330. package/node/locales/frFR.js +3 -3
  331. package/node/locales/heIL.js +3 -3
  332. package/node/locales/huHU.js +3 -3
  333. package/node/locales/isIS.js +4 -4
  334. package/node/locales/itIT.js +3 -3
  335. package/node/locales/jaJP.js +3 -3
  336. package/node/locales/koKR.js +3 -3
  337. package/node/locales/kzKZ.js +4 -4
  338. package/node/locales/mk.js +3 -3
  339. package/node/locales/nbNO.js +4 -4
  340. package/node/locales/nlNL.js +3 -3
  341. package/node/locales/nnNO.js +3 -3
  342. package/node/locales/plPL.js +4 -4
  343. package/node/locales/ptBR.js +4 -4
  344. package/node/locales/roRO.js +3 -3
  345. package/node/locales/ruRU.js +3 -3
  346. package/node/locales/skSK.js +4 -4
  347. package/node/locales/svSE.js +3 -3
  348. package/node/locales/trTR.js +4 -4
  349. package/node/locales/ukUA.js +3 -3
  350. package/node/locales/urPK.js +4 -4
  351. package/node/locales/utils/getPickersLocalization.js +16 -2
  352. package/node/locales/viVN.js +3 -3
  353. package/node/locales/zhCN.js +3 -3
  354. package/node/locales/zhHK.js +3 -3
  355. package/node/validation/index.js +40 -0
  356. package/node/validation/useValidation.js +61 -0
  357. package/node/{internals/utils/validation → validation}/validateDate.js +6 -4
  358. package/node/{internals/utils/validation → validation}/validateDateTime.js +8 -3
  359. package/node/{internals/utils/validation → validation}/validateTime.js +6 -4
  360. package/package.json +4 -4
  361. package/{internals/utils/validation → validation}/extractValidationProps.d.ts +1 -1
  362. package/validation/index.d.ts +9 -0
  363. package/validation/index.js +5 -0
  364. package/validation/package.json +6 -0
  365. package/validation/useValidation.d.ts +68 -0
  366. package/validation/useValidation.js +54 -0
  367. package/validation/validateDate.d.ts +6 -0
  368. package/{modern/internals/utils/validation → validation}/validateDate.js +6 -4
  369. package/validation/validateDateTime.d.ts +7 -0
  370. package/{internals/utils/validation → validation}/validateDateTime.js +8 -3
  371. package/validation/validateTime.d.ts +6 -0
  372. package/{modern/internals/utils/validation → validation}/validateTime.js +6 -4
  373. package/internals/hooks/useValidation.d.ts +0 -24
  374. package/internals/hooks/useValidation.js +0 -22
  375. package/internals/utils/fields.d.ts +0 -5
  376. package/internals/utils/fields.js +0 -28
  377. package/internals/utils/validation/validateDate.d.ts +0 -7
  378. package/internals/utils/validation/validateDateTime.d.ts +0 -7
  379. package/internals/utils/validation/validateTime.d.ts +0 -7
  380. package/internals/utils/warning.d.ts +0 -2
  381. package/internals/utils/warning.js +0 -21
  382. package/modern/internals/hooks/useValidation.js +0 -22
  383. package/modern/internals/utils/fields.js +0 -28
  384. package/modern/internals/utils/warning.js +0 -21
  385. package/node/internals/hooks/useValidation.js +0 -29
  386. package/node/internals/utils/fields.js +0 -36
  387. package/node/internals/utils/warning.js +0 -28
  388. /package/{internals/utils → modern}/validation/extractValidationProps.js +0 -0
  389. /package/node/{internals/utils/validation → validation}/extractValidationProps.js +0 -0
  390. /package/{modern/internals/utils/validation → validation}/extractValidationProps.js +0 -0
@@ -0,0 +1,54 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import useEventCallback from '@mui/utils/useEventCallback';
5
+ import { useLocalizationContext } from "../internals/hooks/useUtils.js";
6
+ /**
7
+ * Utility hook to check if a given value is valid based on the provided validation props.
8
+ * @template TDate
9
+ * @template TValue The value type. It will be either the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
10
+ * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
11
+ * @param {UseValidationOptions<TValue, TDate, TError, TValidationProps>} options The options to configure the hook.
12
+ * @param {TValue} options.value The value to validate.
13
+ * @param {PickersTimezone} options.timezone The timezone to use for the validation.
14
+ * @param {Validator<TValue, TDate, TError, TValidationProps>} options.validator The validator function to use.
15
+ * @param {TValidationProps} options.props The validation props, they differ depending on the component.
16
+ * @param {(error: TError, value: TValue) => void} options.onError Callback fired when the error associated with the current value changes.
17
+ */
18
+ export function useValidation(options) {
19
+ const {
20
+ props,
21
+ validator,
22
+ value,
23
+ timezone,
24
+ onError
25
+ } = options;
26
+ const adapter = useLocalizationContext();
27
+ const previousValidationErrorRef = React.useRef(validator.valueManager.defaultErrorState);
28
+ const validationError = validator({
29
+ adapter,
30
+ value,
31
+ timezone,
32
+ props
33
+ });
34
+ const hasValidationError = validator.valueManager.hasError(validationError);
35
+ React.useEffect(() => {
36
+ if (onError && !validator.valueManager.isSameError(validationError, previousValidationErrorRef.current)) {
37
+ onError(validationError, value);
38
+ }
39
+ previousValidationErrorRef.current = validationError;
40
+ }, [validator, onError, validationError, value]);
41
+ const getValidationErrorForNewValue = useEventCallback(newValue => {
42
+ return validator({
43
+ adapter,
44
+ value: newValue,
45
+ timezone,
46
+ props
47
+ });
48
+ });
49
+ return {
50
+ validationError,
51
+ hasValidationError,
52
+ getValidationErrorForNewValue
53
+ };
54
+ }
@@ -1,7 +1,9 @@
1
- import { applyDefaultDate } from "../date-utils.js";
1
+ import { applyDefaultDate } from "../internals/utils/date-utils.js";
2
+ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
2
3
  export const validateDate = ({
3
4
  props,
4
5
  value,
6
+ timezone,
5
7
  adapter
6
8
  }) => {
7
9
  if (value === null) {
@@ -12,8 +14,7 @@ export const validateDate = ({
12
14
  shouldDisableMonth,
13
15
  shouldDisableYear,
14
16
  disablePast,
15
- disableFuture,
16
- timezone
17
+ disableFuture
17
18
  } = props;
18
19
  const now = adapter.utils.date(undefined, timezone);
19
20
  const minDate = applyDefaultDate(adapter.utils, props.minDate, adapter.defaultDates.minDate);
@@ -38,4 +39,5 @@ export const validateDate = ({
38
39
  default:
39
40
  return null;
40
41
  }
41
- };
42
+ };
43
+ validateDate.valueManager = singleItemValueManager;
@@ -1,13 +1,16 @@
1
1
  import { validateDate } from "./validateDate.js";
2
2
  import { validateTime } from "./validateTime.js";
3
+ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
3
4
  export const validateDateTime = ({
4
- props,
5
+ adapter,
5
6
  value,
6
- adapter
7
+ timezone,
8
+ props
7
9
  }) => {
8
10
  const dateValidationResult = validateDate({
9
11
  adapter,
10
12
  value,
13
+ timezone,
11
14
  props
12
15
  });
13
16
  if (dateValidationResult !== null) {
@@ -16,6 +19,8 @@ export const validateDateTime = ({
16
19
  return validateTime({
17
20
  adapter,
18
21
  value,
22
+ timezone,
19
23
  props
20
24
  });
21
- };
25
+ };
26
+ validateDateTime.valueManager = singleItemValueManager;
@@ -1,7 +1,9 @@
1
- import { createIsAfterIgnoreDatePart } from "../time-utils.js";
1
+ import { createIsAfterIgnoreDatePart } from "../internals/utils/time-utils.js";
2
+ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
2
3
  export const validateTime = ({
3
4
  adapter,
4
5
  value,
6
+ timezone,
5
7
  props
6
8
  }) => {
7
9
  if (value === null) {
@@ -14,8 +16,7 @@ export const validateTime = ({
14
16
  shouldDisableTime,
15
17
  disableIgnoringDatePartForTimeValidation = false,
16
18
  disablePast,
17
- disableFuture,
18
- timezone
19
+ disableFuture
19
20
  } = props;
20
21
  const now = adapter.utils.date(undefined, timezone);
21
22
  const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, adapter.utils);
@@ -41,4 +42,5 @@ export const validateTime = ({
41
42
  default:
42
43
  return null;
43
44
  }
44
- };
45
+ };
46
+ validateTime.valueManager = singleItemValueManager;
@@ -87,7 +87,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
87
87
  /* istanbul ignore next */
88
88
  if (process.env.NODE_ENV !== 'production') {
89
89
  if (typeof _addDays.default !== 'function') {
90
- throw new Error(['MUI: The `date-fns` package v3.x is not compatible with this adapter.', 'Please, install v2.x of the package or use the `AdapterDateFnsV3` instead.'].join('\n'));
90
+ throw new Error(['MUI: This adapter is only compatible with `date-fns` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFnsV3` instead.'].join('\n'));
91
91
  }
92
92
  }
93
93
  super({
@@ -90,7 +90,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
90
90
  /* istanbul ignore next */
91
91
  if (process.env.NODE_ENV !== 'production') {
92
92
  if (typeof _addDays.addDays !== 'function') {
93
- throw new Error([`MUI: The \`date-fns\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
93
+ throw new Error([`MUI: The \`date-fns\` package v2.x is not compatible with this adapter.`, 'Please, install v3.x or v4.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
94
94
  }
95
95
  if (!_format.longFormatters) {
96
96
  throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
@@ -12,7 +12,7 @@ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customPars
12
12
  var _localizedFormat = _interopRequireDefault(require("dayjs/plugin/localizedFormat"));
13
13
  var _isBetween = _interopRequireDefault(require("dayjs/plugin/isBetween"));
14
14
  var _advancedFormat = _interopRequireDefault(require("dayjs/plugin/advancedFormat"));
15
- var _warning = require("../internals/utils/warning");
15
+ var _warning = require("@mui/x-internals/warning");
16
16
  /* eslint-disable class-methods-use-this */
17
17
 
18
18
  _dayjs.default.extend(_localizedFormat.default);
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -30,7 +31,7 @@ var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
30
31
  var _valueManagers = require("../internals/utils/valueManagers");
31
32
  var _dimensions = require("../internals/constants/dimensions");
32
33
  var _jsxRuntime = require("react/jsx-runtime");
33
- const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsPerRow", "monthsPerRow", "timezone"];
34
+ const _excluded = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"];
34
35
  const useUtilityClasses = ownerState => {
35
36
  const {
36
37
  classes
@@ -126,6 +127,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
126
127
  loading,
127
128
  renderLoading,
128
129
  displayWeekNumber,
130
+ yearsOrder,
129
131
  yearsPerRow,
130
132
  monthsPerRow,
131
133
  timezone: timezoneProp
@@ -317,6 +319,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
317
319
  shouldDisableYear: shouldDisableYear,
318
320
  hasFocus: hasFocus,
319
321
  onFocusedViewChange: isViewFocused => setFocusedView('year', isViewFocused),
322
+ yearsOrder: yearsOrder,
320
323
  yearsPerRow: yearsPerRow,
321
324
  referenceDate: referenceDate
322
325
  })), view === 'month' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MonthCalendar.MonthCalendar, (0, _extends2.default)({}, baseDateValidationProps, commonViewProps, {
@@ -566,6 +569,12 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
566
569
  * Available views.
567
570
  */
568
571
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
572
+ /**
573
+ * Years are displayed in ascending (chronological) order by default.
574
+ * If `desc`, years are displayed in descending order.
575
+ * @default 'asc'
576
+ */
577
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
569
578
  /**
570
579
  * Years rendered per row.
571
580
  * @default 3
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
@@ -6,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
6
7
  });
7
8
  exports.useIsDateDisabled = void 0;
8
9
  var React = _interopRequireWildcard(require("react"));
9
- var _validateDate = require("../internals/utils/validation/validateDate");
10
+ var _validation = require("../validation");
10
11
  var _useUtils = require("../internals/hooks/useUtils");
11
12
  const useIsDateDisabled = ({
12
13
  shouldDisableDate,
@@ -19,9 +20,10 @@ const useIsDateDisabled = ({
19
20
  timezone
20
21
  }) => {
21
22
  const adapter = (0, _useUtils.useLocalizationContext)();
22
- return React.useCallback(day => (0, _validateDate.validateDate)({
23
+ return React.useCallback(day => (0, _validation.validateDate)({
23
24
  adapter,
24
25
  value: day,
26
+ timezone,
25
27
  props: {
26
28
  shouldDisableDate,
27
29
  shouldDisableMonth,
@@ -29,8 +31,7 @@ const useIsDateDisabled = ({
29
31
  minDate,
30
32
  maxDate,
31
33
  disableFuture,
32
- disablePast,
33
- timezone
34
+ disablePast
34
35
  }
35
36
  }) !== null, [adapter, shouldDisableDate, shouldDisableMonth, shouldDisableYear, minDate, maxDate, disableFuture, disablePast, timezone]);
36
37
  };
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -6,21 +7,21 @@ Object.defineProperty(exports, "__esModule", {
6
7
  exports.useDateField = void 0;
7
8
  var _valueManagers = require("../internals/utils/valueManagers");
8
9
  var _useField = require("../internals/hooks/useField");
9
- var _validateDate = require("../internals/utils/validation/validateDate");
10
- var _fields = require("../internals/utils/fields");
10
+ var _validation = require("../validation");
11
+ var _hooks = require("../hooks");
11
12
  var _defaultizedFieldProps = require("../internals/hooks/defaultizedFieldProps");
12
13
  const useDateField = inProps => {
13
14
  const props = (0, _defaultizedFieldProps.useDefaultizedDateField)(inProps);
14
15
  const {
15
16
  forwardedProps,
16
17
  internalProps
17
- } = (0, _fields.splitFieldInternalAndForwardedProps)(props, 'date');
18
+ } = (0, _hooks.useSplitFieldProps)(props, 'date');
18
19
  return (0, _useField.useField)({
19
20
  forwardedProps,
20
21
  internalProps,
21
22
  valueManager: _valueManagers.singleItemValueManager,
22
23
  fieldValueManager: _valueManagers.singleItemFieldValueManager,
23
- validator: _validateDate.validateDate,
24
+ validator: _validation.validateDate,
24
25
  valueType: 'date'
25
26
  });
26
27
  };
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -357,6 +358,12 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
357
358
  * Available views.
358
359
  */
359
360
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
361
+ /**
362
+ * Years are displayed in ascending (chronological) order by default.
363
+ * If `desc`, years are displayed in descending order.
364
+ * @default 'asc'
365
+ */
366
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
360
367
  /**
361
368
  * Years rendered per row.
362
369
  * @default 4 on desktop, 3 on mobile
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -6,21 +7,21 @@ Object.defineProperty(exports, "__esModule", {
6
7
  exports.useDateTimeField = void 0;
7
8
  var _valueManagers = require("../internals/utils/valueManagers");
8
9
  var _useField = require("../internals/hooks/useField");
9
- var _validateDateTime = require("../internals/utils/validation/validateDateTime");
10
- var _fields = require("../internals/utils/fields");
10
+ var _validation = require("../validation");
11
+ var _hooks = require("../hooks");
11
12
  var _defaultizedFieldProps = require("../internals/hooks/defaultizedFieldProps");
12
13
  const useDateTimeField = inProps => {
13
14
  const props = (0, _defaultizedFieldProps.useDefaultizedDateTimeField)(inProps);
14
15
  const {
15
16
  forwardedProps,
16
17
  internalProps
17
- } = (0, _fields.splitFieldInternalAndForwardedProps)(props, 'date-time');
18
+ } = (0, _hooks.useSplitFieldProps)(props, 'date-time');
18
19
  return (0, _useField.useField)({
19
20
  forwardedProps,
20
21
  internalProps,
21
22
  valueManager: _valueManagers.singleItemValueManager,
22
23
  fieldValueManager: _valueManagers.singleItemFieldValueManager,
23
- validator: _validateDateTime.validateDateTime,
24
+ validator: _validation.validateDateTime,
24
25
  valueType: 'date-time'
25
26
  });
26
27
  };
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -428,6 +429,12 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
428
429
  * Available views.
429
430
  */
430
431
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
432
+ /**
433
+ * Years are displayed in ascending (chronological) order by default.
434
+ * If `desc`, years are displayed in descending order.
435
+ * @default 'asc'
436
+ */
437
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
431
438
  /**
432
439
  * Years rendered per row.
433
440
  * @default 4 on desktop, 3 on mobile
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
@@ -15,13 +16,13 @@ var _valueManagers = require("../internals/utils/valueManagers");
15
16
  var _shared = require("../DatePicker/shared");
16
17
  var _usePickersTranslations = require("../hooks/usePickersTranslations");
17
18
  var _useUtils = require("../internals/hooks/useUtils");
18
- var _validateDate = require("../internals/utils/validation/validateDate");
19
+ var _validation = require("../validation");
19
20
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
20
21
  var _icons = require("../icons");
21
22
  var _DateField = require("../DateField");
22
- var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
23
23
  var _dateViewRenderers = require("../dateViewRenderers");
24
24
  var _dateUtils = require("../internals/utils/date-utils");
25
+ var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
25
26
  /**
26
27
  * Demos:
27
28
  *
@@ -54,7 +55,7 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
54
55
  field: _DateField.DateField
55
56
  }, defaultizedProps.slots),
56
57
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
57
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
58
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
58
59
  ref
59
60
  }),
60
61
  toolbar: (0, _extends2.default)({
@@ -68,8 +69,13 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
68
69
  props,
69
70
  valueManager: _valueManagers.singleItemValueManager,
70
71
  valueType: 'date',
71
- getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? translations.openDatePickerDialogue,
72
- validator: _validateDate.validateDate
72
+ getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
73
+ utils,
74
+ formatKey: 'fullDate',
75
+ contextTranslation: translations.openDatePickerDialogue,
76
+ propsTranslation: props.localeText?.openDatePickerDialogue
77
+ }),
78
+ validator: _validation.validateDate
73
79
  });
74
80
  return renderPicker();
75
81
  });
@@ -373,6 +379,12 @@ DesktopDatePicker.propTypes = {
373
379
  * Available views.
374
380
  */
375
381
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
382
+ /**
383
+ * Years are displayed in ascending (chronological) order by default.
384
+ * If `desc`, years are displayed in descending order.
385
+ * @default 'asc'
386
+ */
387
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
376
388
  /**
377
389
  * Years rendered per row.
378
390
  * @default 4
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -19,10 +20,9 @@ var _shared = require("../DateTimePicker/shared");
19
20
  var _dateViewRenderers = require("../dateViewRenderers/dateViewRenderers");
20
21
  var _usePickersTranslations = require("../hooks/usePickersTranslations");
21
22
  var _useUtils = require("../internals/hooks/useUtils");
22
- var _validateDateTime = require("../internals/utils/validation/validateDateTime");
23
+ var _validation = require("../validation");
23
24
  var _icons = require("../icons");
24
25
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
25
- var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
26
26
  var _dateTimeUtils = require("../internals/utils/date-time-utils");
27
27
  var _timeViewRenderers = require("../timeViewRenderers");
28
28
  var _MultiSectionDigitalClock = require("../MultiSectionDigitalClock");
@@ -31,6 +31,7 @@ var _DesktopDateTimePickerLayout = require("./DesktopDateTimePickerLayout");
31
31
  var _dimensions = require("../internals/constants/dimensions");
32
32
  var _timeUtils = require("../internals/utils/time-utils");
33
33
  var _dateUtils = require("../internals/utils/date-utils");
34
+ var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
34
35
  var _jsxRuntime = require("react/jsx-runtime");
35
36
  const _excluded = ["openTo", "focusedView", "timeViewsCount"];
36
37
  const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
@@ -132,7 +133,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
132
133
  openPickerIcon: _icons.CalendarIcon
133
134
  }, defaultizedProps.slots),
134
135
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
135
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
136
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
136
137
  ref
137
138
  }),
138
139
  toolbar: (0, _extends2.default)({
@@ -154,8 +155,13 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
154
155
  props,
155
156
  valueManager: _valueManagers.singleItemValueManager,
156
157
  valueType: 'date-time',
157
- getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? translations.openDatePickerDialogue,
158
- validator: _validateDateTime.validateDateTime,
158
+ getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
159
+ utils,
160
+ formatKey: 'fullDate',
161
+ contextTranslation: translations.openDatePickerDialogue,
162
+ propsTranslation: props.localeText?.openDatePickerDialogue
163
+ }),
164
+ validator: _validation.validateDateTime,
159
165
  rendererInterceptor
160
166
  });
161
167
  return renderPicker();
@@ -531,6 +537,12 @@ DesktopDateTimePicker.propTypes = {
531
537
  * Available views.
532
538
  */
533
539
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
540
+ /**
541
+ * Years are displayed in ascending (chronological) order by default.
542
+ * If `desc`, years are displayed in descending order.
543
+ * @default 'asc'
544
+ */
545
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
534
546
  /**
535
547
  * Years rendered per row.
536
548
  * @default 4
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
@@ -16,13 +17,13 @@ var _TimeField = require("../TimeField");
16
17
  var _shared = require("../TimePicker/shared");
17
18
  var _usePickersTranslations = require("../hooks/usePickersTranslations");
18
19
  var _useUtils = require("../internals/hooks/useUtils");
19
- var _validateTime = require("../internals/utils/validation/validateTime");
20
+ var _validation = require("../validation");
20
21
  var _icons = require("../icons");
21
22
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
22
- var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
23
23
  var _timeViewRenderers = require("../timeViewRenderers");
24
24
  var _timeUtils = require("../internals/utils/time-utils");
25
25
  var _dateTimeUtils = require("../internals/utils/date-time-utils");
26
+ var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
26
27
  /**
27
28
  * Demos:
28
29
  *
@@ -71,7 +72,7 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
71
72
  openPickerIcon: _icons.ClockIcon
72
73
  }, defaultizedProps.slots),
73
74
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
74
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
75
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
75
76
  ref
76
77
  }),
77
78
  toolbar: (0, _extends2.default)({
@@ -89,8 +90,13 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
89
90
  props,
90
91
  valueManager: _valueManagers.singleItemValueManager,
91
92
  valueType: 'time',
92
- getOpenDialogAriaText: props.localeText?.openTimePickerDialogue ?? translations.openTimePickerDialogue,
93
- validator: _validateTime.validateTime
93
+ getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
94
+ utils,
95
+ formatKey: 'fullTime',
96
+ contextTranslation: translations.openTimePickerDialogue,
97
+ propsTranslation: props.localeText?.openTimePickerDialogue
98
+ }),
99
+ validator: _validation.validateTime
94
100
  });
95
101
  return renderPicker();
96
102
  });
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;