@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
@@ -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,12 +16,12 @@ var _useMobilePicker = require("../internals/hooks/useMobilePicker");
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 _DateField = require("../DateField");
20
- var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
21
21
  var _valueManagers = require("../internals/utils/valueManagers");
22
22
  var _dateViewRenderers = require("../dateViewRenderers");
23
23
  var _dateUtils = require("../internals/utils/date-utils");
24
+ var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
24
25
  /**
25
26
  * Demos:
26
27
  *
@@ -51,7 +52,7 @@ const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRe
51
52
  field: _DateField.DateField
52
53
  }, defaultizedProps.slots),
53
54
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
54
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
55
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
55
56
  ref
56
57
  }),
57
58
  toolbar: (0, _extends2.default)({
@@ -65,8 +66,13 @@ const MobileDatePicker = exports.MobileDatePicker = /*#__PURE__*/React.forwardRe
65
66
  props,
66
67
  valueManager: _valueManagers.singleItemValueManager,
67
68
  valueType: 'date',
68
- getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? translations.openDatePickerDialogue,
69
- validator: _validateDate.validateDate
69
+ getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
70
+ utils,
71
+ formatKey: 'fullDate',
72
+ contextTranslation: translations.openDatePickerDialogue,
73
+ propsTranslation: props.localeText?.openDatePickerDialogue
74
+ }),
75
+ validator: _validation.validateDate
70
76
  });
71
77
  return renderPicker();
72
78
  });
@@ -370,6 +376,12 @@ MobileDatePicker.propTypes = {
370
376
  * Available views.
371
377
  */
372
378
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
379
+ /**
380
+ * Years are displayed in ascending (chronological) order by default.
381
+ * If `desc`, years are displayed in descending order.
382
+ * @default 'asc'
383
+ */
384
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
373
385
  /**
374
386
  * Years rendered per row.
375
387
  * @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;
@@ -16,12 +17,12 @@ var _DateTimeField = require("../DateTimeField");
16
17
  var _shared = require("../DateTimePicker/shared");
17
18
  var _usePickersTranslations = require("../hooks/usePickersTranslations");
18
19
  var _useUtils = require("../internals/hooks/useUtils");
19
- var _validateDateTime = require("../internals/utils/validation/validateDateTime");
20
+ var _validation = require("../validation");
20
21
  var _useMobilePicker = require("../internals/hooks/useMobilePicker");
21
- var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
22
22
  var _dateViewRenderers = require("../dateViewRenderers");
23
23
  var _timeViewRenderers = require("../timeViewRenderers");
24
24
  var _dateTimeUtils = require("../internals/utils/date-time-utils");
25
+ var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
25
26
  /**
26
27
  * Demos:
27
28
  *
@@ -57,7 +58,7 @@ const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.f
57
58
  field: _DateTimeField.DateTimeField
58
59
  }, defaultizedProps.slots),
59
60
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
60
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
61
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
61
62
  ref
62
63
  }),
63
64
  toolbar: (0, _extends2.default)({
@@ -75,8 +76,13 @@ const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.f
75
76
  props,
76
77
  valueManager: _valueManagers.singleItemValueManager,
77
78
  valueType: 'date-time',
78
- getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? translations.openDatePickerDialogue,
79
- validator: _validateDateTime.validateDateTime
79
+ getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
80
+ utils,
81
+ formatKey: 'fullDate',
82
+ contextTranslation: translations.openDatePickerDialogue,
83
+ propsTranslation: props.localeText?.openDatePickerDialogue
84
+ }),
85
+ validator: _validation.validateDateTime
80
86
  });
81
87
  return renderPicker();
82
88
  });
@@ -429,6 +435,12 @@ MobileDateTimePicker.propTypes = {
429
435
  * Available views.
430
436
  */
431
437
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
438
+ /**
439
+ * Years are displayed in ascending (chronological) order by default.
440
+ * If `desc`, years are displayed in descending order.
441
+ * @default 'asc'
442
+ */
443
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
432
444
  /**
433
445
  * Years rendered per row.
434
446
  * @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;
@@ -16,11 +17,11 @@ 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 _useMobilePicker = require("../internals/hooks/useMobilePicker");
21
- var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
22
22
  var _timeViewRenderers = require("../timeViewRenderers");
23
23
  var _timeUtils = require("../internals/utils/time-utils");
24
+ var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
24
25
  /**
25
26
  * Demos:
26
27
  *
@@ -53,7 +54,7 @@ const MobileTimePicker = exports.MobileTimePicker = /*#__PURE__*/React.forwardRe
53
54
  field: _TimeField.TimeField
54
55
  }, defaultizedProps.slots),
55
56
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
56
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
57
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
57
58
  ref
58
59
  }),
59
60
  toolbar: (0, _extends2.default)({
@@ -68,8 +69,13 @@ const MobileTimePicker = exports.MobileTimePicker = /*#__PURE__*/React.forwardRe
68
69
  props,
69
70
  valueManager: _valueManagers.singleItemValueManager,
70
71
  valueType: 'time',
71
- getOpenDialogAriaText: props.localeText?.openTimePickerDialogue ?? translations.openTimePickerDialogue,
72
- validator: _validateTime.validateTime
72
+ getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
73
+ utils,
74
+ formatKey: 'fullTime',
75
+ contextTranslation: translations.openTimePickerDialogue,
76
+ propsTranslation: props.localeText?.openTimePickerDialogue
77
+ }),
78
+ validator: _validation.validateTime
73
79
  });
74
80
  return renderPicker();
75
81
  });
@@ -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 _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;
@@ -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;
@@ -12,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
13
  var _shared = require("../DatePicker/shared");
13
14
  var _dateViewRenderers = require("../dateViewRenderers");
14
15
  var _useStaticPicker = require("../internals/hooks/useStaticPicker");
15
- var _validateDate = require("../internals/utils/validation/validateDate");
16
+ var _validation = require("../validation");
16
17
  var _valueManagers = require("../internals/utils/valueManagers");
17
18
  /**
18
19
  * Demos:
@@ -50,7 +51,7 @@ const StaticDatePicker = exports.StaticDatePicker = /*#__PURE__*/React.forwardRe
50
51
  props,
51
52
  valueManager: _valueManagers.singleItemValueManager,
52
53
  valueType: 'date',
53
- validator: _validateDate.validateDate,
54
+ validator: _validation.validateDate,
54
55
  ref
55
56
  });
56
57
  return renderPicker();
@@ -299,9 +300,15 @@ StaticDatePicker.propTypes = {
299
300
  * Available views.
300
301
  */
301
302
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired),
303
+ /**
304
+ * Years are displayed in ascending (chronological) order by default.
305
+ * If `desc`, years are displayed in descending order.
306
+ * @default 'asc'
307
+ */
308
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
302
309
  /**
303
310
  * Years rendered per row.
304
- * @default 3
311
+ * @default `4` when `displayStaticWrapperAs === 'desktop'`, `3` otherwise.
305
312
  */
306
313
  yearsPerRow: _propTypes.default.oneOf([3, 4])
307
314
  };
@@ -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;
@@ -14,7 +15,7 @@ var _timeViewRenderers = require("../timeViewRenderers");
14
15
  var _dateViewRenderers = require("../dateViewRenderers");
15
16
  var _valueManagers = require("../internals/utils/valueManagers");
16
17
  var _useStaticPicker = require("../internals/hooks/useStaticPicker");
17
- var _validateDateTime = require("../internals/utils/validation/validateDateTime");
18
+ var _validation = require("../validation");
18
19
  /**
19
20
  * Demos:
20
21
  *
@@ -60,7 +61,7 @@ const StaticDateTimePicker = exports.StaticDateTimePicker = /*#__PURE__*/React.f
60
61
  props,
61
62
  valueManager: _valueManagers.singleItemValueManager,
62
63
  valueType: 'date-time',
63
- validator: _validateDateTime.validateDateTime,
64
+ validator: _validation.validateDateTime,
64
65
  ref
65
66
  });
66
67
  return renderPicker();
@@ -358,9 +359,15 @@ StaticDateTimePicker.propTypes = {
358
359
  * Available views.
359
360
  */
360
361
  views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired),
362
+ /**
363
+ * Years are displayed in ascending (chronological) order by default.
364
+ * If `desc`, years are displayed in descending order.
365
+ * @default 'asc'
366
+ */
367
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
361
368
  /**
362
369
  * Years rendered per row.
363
- * @default 3
370
+ * @default `4` when `displayStaticWrapperAs === 'desktop'`, `3` otherwise.
364
371
  */
365
372
  yearsPerRow: _propTypes.default.oneOf([3, 4])
366
373
  };
@@ -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;
@@ -13,7 +14,7 @@ var _shared = require("../TimePicker/shared");
13
14
  var _timeViewRenderers = require("../timeViewRenderers");
14
15
  var _valueManagers = require("../internals/utils/valueManagers");
15
16
  var _useStaticPicker = require("../internals/hooks/useStaticPicker");
16
- var _validateTime = require("../internals/utils/validation/validateTime");
17
+ var _validation = require("../validation");
17
18
  /**
18
19
  * Demos:
19
20
  *
@@ -52,7 +53,7 @@ const StaticTimePicker = exports.StaticTimePicker = /*#__PURE__*/React.forwardRe
52
53
  props,
53
54
  valueManager: _valueManagers.singleItemValueManager,
54
55
  valueType: 'time',
55
- validator: _validateTime.validateTime,
56
+ validator: _validation.validateTime,
56
57
  ref
57
58
  });
58
59
  return renderPicker();
@@ -316,7 +316,7 @@ function Clock(inProps) {
316
316
  })]
317
317
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ClockWrapper, {
318
318
  "aria-activedescendant": selectedId,
319
- "aria-label": translations.clockLabelText(type, value, utils),
319
+ "aria-label": translations.clockLabelText(type, value, utils, value == null ? null : utils.format(value, 'fullTime')),
320
320
  ref: listboxRef,
321
321
  role: "listbox",
322
322
  onKeyDown: handleKeyDown,
@@ -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.useTimeField = void 0;
7
8
  var _valueManagers = require("../internals/utils/valueManagers");
8
9
  var _useField = require("../internals/hooks/useField");
9
- var _validateTime = require("../internals/utils/validation/validateTime");
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 useTimeField = inProps => {
13
14
  const props = (0, _defaultizedFieldProps.useDefaultizedTimeField)(inProps);
14
15
  const {
15
16
  forwardedProps,
16
17
  internalProps
17
- } = (0, _fields.splitFieldInternalAndForwardedProps)(props, 'time');
18
+ } = (0, _hooks.useSplitFieldProps)(props, '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: _validateTime.validateTime,
24
+ validator: _validation.validateTime,
24
25
  valueType: '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;
@@ -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;
@@ -23,7 +24,7 @@ var _getDefaultReferenceDate = require("../internals/utils/getDefaultReferenceDa
23
24
  var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
24
25
  var _dimensions = require("../internals/constants/dimensions");
25
26
  var _jsxRuntime = require("react/jsx-runtime");
26
- const _excluded = ["autoFocus", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
27
+ const _excluded = ["autoFocus", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
27
28
  const useUtilityClasses = ownerState => {
28
29
  const {
29
30
  classes
@@ -94,6 +95,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
94
95
  onYearFocus,
95
96
  hasFocus,
96
97
  onFocusedViewChange,
98
+ yearsOrder = 'asc',
97
99
  yearsPerRow,
98
100
  timezone: timezoneProp,
99
101
  gridLabelId,
@@ -183,22 +185,24 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
183
185
  React.useEffect(() => {
184
186
  setFocusedYear(prevFocusedYear => selectedYear !== null && prevFocusedYear !== selectedYear ? selectedYear : prevFocusedYear);
185
187
  }, [selectedYear]);
188
+ const verticalDirection = yearsOrder !== 'desc' ? yearsPerRow * 1 : yearsPerRow * -1;
189
+ const horizontalDirection = isRtl || yearsOrder === 'desc' ? -1 : 1;
186
190
  const handleKeyDown = (0, _utils.unstable_useEventCallback)((event, year) => {
187
191
  switch (event.key) {
188
192
  case 'ArrowUp':
189
- focusYear(year - yearsPerRow);
193
+ focusYear(year - verticalDirection);
190
194
  event.preventDefault();
191
195
  break;
192
196
  case 'ArrowDown':
193
- focusYear(year + yearsPerRow);
197
+ focusYear(year + verticalDirection);
194
198
  event.preventDefault();
195
199
  break;
196
200
  case 'ArrowLeft':
197
- focusYear(year + (isRtl ? 1 : -1));
201
+ focusYear(year - horizontalDirection);
198
202
  event.preventDefault();
199
203
  break;
200
204
  case 'ArrowRight':
201
- focusYear(year + (isRtl ? -1 : 1));
205
+ focusYear(year + horizontalDirection);
202
206
  event.preventDefault();
203
207
  break;
204
208
  default:
@@ -236,6 +240,10 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
236
240
  }
237
241
  scrollerRef.current.scrollTop = elementBottom - clientHeight / 2 - offsetHeight / 2;
238
242
  }, [autoFocus]);
243
+ const yearRange = utils.getYearRange([minDate, maxDate]);
244
+ if (yearsOrder === 'desc') {
245
+ yearRange.reverse();
246
+ }
239
247
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(YearCalendarRoot, (0, _extends2.default)({
240
248
  ref: handleRef,
241
249
  className: (0, _clsx.default)(classes.root, className),
@@ -243,7 +251,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
243
251
  role: "radiogroup",
244
252
  "aria-labelledby": gridLabelId
245
253
  }, other, {
246
- children: utils.getYearRange([minDate, maxDate]).map(year => {
254
+ children: yearRange.map(year => {
247
255
  const yearNumber = utils.getYear(year);
248
256
  const isSelected = yearNumber === selectedYear;
249
257
  const isDisabled = disabled || isYearDisabled(year);
@@ -364,6 +372,12 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
364
372
  * Used when the component is controlled.
365
373
  */
366
374
  value: _propTypes.default.object,
375
+ /**
376
+ * Years are displayed in ascending (chronological) order by default.
377
+ * If `desc`, years are displayed in descending order.
378
+ * @default 'asc'
379
+ */
380
+ yearsOrder: _propTypes.default.oneOf(['asc', 'desc']),
367
381
  /**
368
382
  * Years rendered per row.
369
383
  * @default 3
@@ -32,6 +32,7 @@ const renderDateViewCalendar = ({
32
32
  onMonthChange,
33
33
  monthsPerRow,
34
34
  onYearChange,
35
+ yearsOrder,
35
36
  yearsPerRow,
36
37
  slots,
37
38
  slotProps,
@@ -70,6 +71,7 @@ const renderDateViewCalendar = ({
70
71
  onMonthChange: onMonthChange,
71
72
  monthsPerRow: monthsPerRow,
72
73
  onYearChange: onYearChange,
74
+ yearsOrder: yearsOrder,
73
75
  yearsPerRow: yearsPerRow,
74
76
  slots: slots,
75
77
  slotProps: slotProps,
@@ -15,5 +15,12 @@ Object.defineProperty(exports, "usePickersTranslations", {
15
15
  return _usePickersTranslations.usePickersTranslations;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "useSplitFieldProps", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _useSplitFieldProps.useSplitFieldProps;
22
+ }
23
+ });
18
24
  var _useClearableField = require("./useClearableField");
19
- var _usePickersTranslations = require("./usePickersTranslations");
25
+ var _usePickersTranslations = require("./usePickersTranslations");
26
+ var _useSplitFieldProps = require("./useSplitFieldProps");
@@ -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
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useSplitFieldProps = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _extractValidationProps = require("../validation/extractValidationProps");
13
+ const SHARED_FIELD_INTERNAL_PROP_NAMES = ['value', 'defaultValue', 'referenceDate', 'format', 'formatDensity', 'onChange', 'timezone', 'onError', 'shouldRespectLeadingZeros', 'selectedSections', 'onSelectedSectionsChange', 'unstableFieldRef', 'enableAccessibleFieldDOMStructure', 'disabled', 'readOnly', 'dateSeparator'];
14
+ /**
15
+ * Split the props received by the field component into:
16
+ * - `internalProps` which are used by the various hooks called by the field component.
17
+ * - `forwardedProps` which are passed to the underlying component.
18
+ * Note that some forwarded props might be used by the hooks as well.
19
+ * For instance, hooks like `useDateField` need props like `autoFocus` to know how to behave.
20
+ * @template TProps, TValueType
21
+ * @param {TProps} props The props received by the field component.
22
+ * @param {TValueType} valueType The type of the field value ('date', 'time', or 'date-time').
23
+ */
24
+ const useSplitFieldProps = (props, valueType) => {
25
+ return React.useMemo(() => {
26
+ const forwardedProps = (0, _extends2.default)({}, props);
27
+ const internalProps = {};
28
+ const extractProp = propName => {
29
+ if (forwardedProps.hasOwnProperty(propName)) {
30
+ // @ts-ignore
31
+ internalProps[propName] = forwardedProps[propName];
32
+ delete forwardedProps[propName];
33
+ }
34
+ };
35
+ SHARED_FIELD_INTERNAL_PROP_NAMES.forEach(extractProp);
36
+ if (valueType === 'date') {
37
+ _extractValidationProps.DATE_VALIDATION_PROP_NAMES.forEach(extractProp);
38
+ } else if (valueType === 'time') {
39
+ _extractValidationProps.TIME_VALIDATION_PROP_NAMES.forEach(extractProp);
40
+ } else if (valueType === 'date-time') {
41
+ _extractValidationProps.DATE_VALIDATION_PROP_NAMES.forEach(extractProp);
42
+ _extractValidationProps.TIME_VALIDATION_PROP_NAMES.forEach(extractProp);
43
+ _extractValidationProps.DATE_TIME_VALIDATION_PROP_NAMES.forEach(extractProp);
44
+ }
45
+ return {
46
+ forwardedProps,
47
+ internalProps
48
+ };
49
+ }, [props, valueType]);
50
+ };
51
+ exports.useSplitFieldProps = useSplitFieldProps;
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.16.0
2
+ * @mui/x-date-pickers v7.18.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -451,4 +451,16 @@ Object.keys(_hooks).forEach(function (key) {
451
451
  return _hooks[key];
452
452
  }
453
453
  });
454
+ });
455
+ var _validation = require("./validation");
456
+ Object.keys(_validation).forEach(function (key) {
457
+ if (key === "default" || key === "__esModule") return;
458
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
459
+ if (key in exports && exports[key] === _validation[key]) return;
460
+ Object.defineProperty(exports, key, {
461
+ enumerable: true,
462
+ get: function () {
463
+ return _validation[key];
464
+ }
465
+ });
454
466
  });
@@ -15,7 +15,6 @@ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
15
15
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
16
16
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
17
17
  var _PickersPopper = require("../../components/PickersPopper");
18
- var _useUtils = require("../useUtils");
19
18
  var _usePicker = require("../usePicker");
20
19
  var _LocalizationProvider = require("../../../LocalizationProvider");
21
20
  var _PickersLayout = require("../../../PickersLayout");
@@ -55,7 +54,6 @@ const useDesktopPicker = _ref => {
55
54
  localeText,
56
55
  reduceAnimations
57
56
  } = props;
58
- const utils = (0, _useUtils.useUtils)();
59
57
  const containerRef = React.useRef(null);
60
58
  const fieldRef = React.useRef(null);
61
59
  const labelId = (0, _useId.default)();
@@ -97,7 +95,7 @@ const useDesktopPicker = _ref => {
97
95
  additionalProps: {
98
96
  disabled: disabled || readOnly,
99
97
  onClick: open ? actions.onClose : actions.onOpen,
100
- 'aria-label': getOpenDialogAriaText(pickerFieldProps.value, utils),
98
+ 'aria-label': getOpenDialogAriaText(pickerFieldProps.value),
101
99
  edge: inputAdornmentProps.position
102
100
  },
103
101
  ownerState: props