@mui/x-date-pickers 6.2.1 → 6.3.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 (612) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +109 -0
  2. package/AdapterDateFns/AdapterDateFns.js +598 -0
  3. package/AdapterDateFns/index.d.ts +1 -13
  4. package/AdapterDateFns/index.js +1 -149
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +109 -0
  6. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +610 -0
  7. package/AdapterDateFnsJalali/index.d.ts +1 -13
  8. package/AdapterDateFnsJalali/index.js +1 -149
  9. package/AdapterDayjs/AdapterDayjs.d.ts +53 -53
  10. package/AdapterDayjs/AdapterDayjs.js +146 -111
  11. package/AdapterLuxon/AdapterLuxon.d.ts +108 -0
  12. package/AdapterLuxon/AdapterLuxon.js +513 -0
  13. package/AdapterLuxon/index.d.ts +1 -14
  14. package/AdapterLuxon/index.js +1 -111
  15. package/AdapterMoment/AdapterMoment.d.ts +110 -0
  16. package/AdapterMoment/AdapterMoment.js +416 -0
  17. package/AdapterMoment/index.d.ts +1 -21
  18. package/AdapterMoment/index.js +1 -99
  19. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +67 -0
  20. package/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
  21. package/AdapterMomentHijri/index.d.ts +1 -18
  22. package/AdapterMomentHijri/index.js +1 -74
  23. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +74 -0
  24. package/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
  25. package/AdapterMomentJalaali/index.d.ts +1 -22
  26. package/AdapterMomentJalaali/index.js +1 -87
  27. package/CHANGELOG.md +70 -1
  28. package/DateCalendar/DateCalendar.types.d.ts +1 -1
  29. package/DateCalendar/DayCalendar.d.ts +1 -1
  30. package/DateCalendar/DayCalendar.js +1 -1
  31. package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
  32. package/DateCalendar/useCalendarState.js +1 -1
  33. package/DateCalendar/useIsDateDisabled.d.ts +2 -0
  34. package/DateCalendar/useIsDateDisabled.js +27 -0
  35. package/DateField/DateField.js +20 -3
  36. package/DateField/DateField.types.d.ts +2 -2
  37. package/DateField/useDateField.js +4 -2
  38. package/DatePicker/DatePickerToolbar.js +1 -1
  39. package/DateTimeField/DateTimeField.js +21 -3
  40. package/DateTimeField/DateTimeField.types.d.ts +3 -2
  41. package/DateTimeField/useDateTimeField.js +4 -2
  42. package/DateTimePicker/DateTimePicker.js +1 -0
  43. package/DateTimePicker/shared.d.ts +6 -5
  44. package/DesktopDatePicker/DesktopDatePicker.js +1 -1
  45. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  46. package/DesktopTimePicker/DesktopTimePicker.js +50 -8
  47. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +12 -4
  48. package/DigitalClock/DigitalClock.d.ts +7 -0
  49. package/DigitalClock/DigitalClock.js +397 -0
  50. package/DigitalClock/DigitalClock.types.d.ts +47 -0
  51. package/DigitalClock/digitalClockClasses.d.ts +11 -0
  52. package/DigitalClock/digitalClockClasses.js +6 -0
  53. package/DigitalClock/index.d.ts +4 -0
  54. package/DigitalClock/index.js +2 -0
  55. package/DigitalClock/package.json +6 -0
  56. package/MobileDatePicker/MobileDatePicker.js +1 -1
  57. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  58. package/MobileTimePicker/MobileTimePicker.js +2 -1
  59. package/MobileTimePicker/MobileTimePicker.types.d.ts +8 -7
  60. package/MonthCalendar/MonthCalendar.types.d.ts +1 -1
  61. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +7 -0
  62. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
  63. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +57 -0
  64. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +22 -0
  65. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  66. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +28 -0
  67. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +151 -0
  68. package/MultiSectionDigitalClock/index.d.ts +7 -0
  69. package/MultiSectionDigitalClock/index.js +3 -0
  70. package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.d.ts +7 -0
  71. package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  72. package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.d.ts +9 -0
  73. package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  74. package/MultiSectionDigitalClock/package.json +6 -0
  75. package/PickersDay/PickersDay.js +4 -1
  76. package/PickersLayout/PickersLayout.d.ts +2 -2
  77. package/PickersLayout/PickersLayout.js +2 -2
  78. package/PickersLayout/PickersLayout.types.d.ts +7 -8
  79. package/PickersLayout/usePickerLayout.d.ts +2 -2
  80. package/README.md +0 -9
  81. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  82. package/StaticTimePicker/StaticTimePicker.js +2 -1
  83. package/StaticTimePicker/StaticTimePicker.types.d.ts +1 -1
  84. package/TimeClock/TimeClock.js +35 -12
  85. package/TimeClock/TimeClock.types.d.ts +4 -67
  86. package/TimeField/TimeField.js +21 -3
  87. package/TimeField/TimeField.types.d.ts +3 -2
  88. package/TimeField/useTimeField.js +4 -2
  89. package/TimePicker/TimePicker.js +25 -2
  90. package/TimePicker/TimePicker.types.d.ts +4 -3
  91. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  92. package/TimePicker/TimePickerToolbar.js +2 -2
  93. package/TimePicker/shared.d.ts +9 -7
  94. package/YearCalendar/YearCalendar.types.d.ts +1 -1
  95. package/dateViewRenderers/dateViewRenderers.d.ts +2 -2
  96. package/index.d.ts +2 -0
  97. package/index.js +4 -1
  98. package/internals/components/PickersToolbar.d.ts +3 -3
  99. package/internals/constants/dimensions.d.ts +1 -0
  100. package/internals/constants/dimensions.js +2 -1
  101. package/internals/demo/DemoContainer.js +4 -1
  102. package/internals/hooks/date-helpers-hooks.d.ts +3 -2
  103. package/internals/hooks/date-helpers-hooks.js +3 -3
  104. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
  105. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  106. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -6
  107. package/internals/hooks/useField/useField.js +12 -11
  108. package/internals/hooks/useField/useField.types.d.ts +19 -4
  109. package/internals/hooks/useField/useField.utils.d.ts +8 -5
  110. package/internals/hooks/useField/useField.utils.js +60 -34
  111. package/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  112. package/internals/hooks/useField/useFieldState.js +4 -3
  113. package/internals/hooks/useIsLandscape.d.ts +2 -2
  114. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
  115. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -6
  116. package/internals/hooks/usePicker/usePicker.d.ts +4 -3
  117. package/internals/hooks/usePicker/usePicker.types.d.ts +6 -5
  118. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +5 -6
  119. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  120. package/internals/hooks/usePicker/usePickerValue.js +1 -1
  121. package/internals/hooks/usePicker/usePickerValue.types.d.ts +1 -1
  122. package/internals/hooks/usePicker/usePickerViews.d.ts +11 -11
  123. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
  124. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -5
  125. package/internals/hooks/{validation/useValidation.d.ts → useValidation.d.ts} +1 -1
  126. package/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  127. package/internals/hooks/useViews.d.ts +8 -6
  128. package/internals/hooks/useViews.js +29 -13
  129. package/internals/index.d.ts +7 -7
  130. package/internals/index.js +5 -5
  131. package/internals/models/common.d.ts +3 -0
  132. package/internals/models/index.d.ts +1 -0
  133. package/internals/models/index.js +2 -1
  134. package/internals/models/props/basePickerProps.d.ts +3 -3
  135. package/internals/models/props/clock.d.ts +88 -0
  136. package/internals/models/props/tabs.d.ts +2 -2
  137. package/internals/models/props/toolbar.d.ts +3 -3
  138. package/internals/{hooks/validation/models.d.ts → models/validation.d.ts} +2 -5
  139. package/internals/models/validation.js +1 -0
  140. package/internals/utils/time-utils.d.ts +7 -7
  141. package/internals/utils/time-utils.js +2 -1
  142. package/internals/{hooks/validation/useDateValidation.d.ts → utils/validation/validateDate.d.ts} +2 -3
  143. package/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  144. package/internals/{hooks/validation/useDateTimeValidation.d.ts → utils/validation/validateDateTime.d.ts} +3 -3
  145. package/{modern/internals/hooks/validation/useDateTimeValidation.js → internals/utils/validation/validateDateTime.js} +2 -2
  146. package/internals/{hooks/validation/useTimeValidation.d.ts → utils/validation/validateTime.d.ts} +2 -2
  147. package/{modern/internals/hooks/validation/useTimeValidation.js → internals/utils/validation/validateTime.js} +1 -1
  148. package/internals/utils/views.d.ts +3 -2
  149. package/legacy/AdapterDateFns/AdapterDateFns.js +606 -0
  150. package/legacy/AdapterDateFns/index.js +1 -165
  151. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +620 -0
  152. package/legacy/AdapterDateFnsJalali/index.js +1 -165
  153. package/legacy/AdapterDayjs/AdapterDayjs.js +146 -111
  154. package/legacy/AdapterLuxon/AdapterLuxon.js +524 -0
  155. package/legacy/AdapterLuxon/index.js +1 -127
  156. package/legacy/AdapterMoment/AdapterMoment.js +422 -0
  157. package/legacy/AdapterMoment/index.js +1 -115
  158. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +284 -0
  159. package/legacy/AdapterMomentHijri/index.js +1 -90
  160. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +291 -0
  161. package/legacy/AdapterMomentJalaali/index.js +1 -103
  162. package/legacy/DateCalendar/DayCalendar.js +1 -1
  163. package/legacy/DateCalendar/useCalendarState.js +1 -1
  164. package/legacy/DateCalendar/useIsDateDisabled.js +28 -0
  165. package/legacy/DateField/DateField.js +20 -3
  166. package/legacy/DateField/useDateField.js +4 -2
  167. package/legacy/DatePicker/DatePickerToolbar.js +1 -1
  168. package/legacy/DateTimeField/DateTimeField.js +21 -3
  169. package/legacy/DateTimeField/useDateTimeField.js +4 -2
  170. package/legacy/DateTimePicker/DateTimePicker.js +1 -0
  171. package/legacy/DesktopDatePicker/DesktopDatePicker.js +1 -1
  172. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  173. package/legacy/DesktopTimePicker/DesktopTimePicker.js +51 -8
  174. package/legacy/DigitalClock/DigitalClock.js +419 -0
  175. package/legacy/DigitalClock/DigitalClock.types.js +1 -0
  176. package/legacy/DigitalClock/digitalClockClasses.js +6 -0
  177. package/legacy/DigitalClock/index.js +2 -0
  178. package/legacy/MobileDatePicker/MobileDatePicker.js +1 -1
  179. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  180. package/legacy/MobileTimePicker/MobileTimePicker.js +2 -1
  181. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +508 -0
  182. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  183. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  184. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +157 -0
  185. package/legacy/MultiSectionDigitalClock/index.js +3 -0
  186. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  187. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  188. package/legacy/PickersDay/PickersDay.js +3 -1
  189. package/legacy/PickersLayout/PickersLayout.js +2 -2
  190. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  191. package/legacy/StaticTimePicker/StaticTimePicker.js +2 -1
  192. package/legacy/TimeClock/TimeClock.js +35 -12
  193. package/legacy/TimeField/TimeField.js +21 -3
  194. package/legacy/TimeField/useTimeField.js +4 -2
  195. package/legacy/TimePicker/TimePicker.js +25 -2
  196. package/legacy/TimePicker/TimePickerToolbar.js +2 -2
  197. package/legacy/index.js +4 -1
  198. package/legacy/internals/constants/dimensions.js +2 -1
  199. package/legacy/internals/demo/DemoContainer.js +4 -1
  200. package/legacy/internals/hooks/date-helpers-hooks.js +3 -3
  201. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  202. package/legacy/internals/hooks/useField/useField.js +11 -10
  203. package/legacy/internals/hooks/useField/useField.utils.js +58 -34
  204. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  205. package/legacy/internals/hooks/useField/useFieldState.js +6 -4
  206. package/legacy/internals/hooks/usePicker/usePickerValue.js +1 -1
  207. package/legacy/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  208. package/legacy/internals/hooks/useViews.js +30 -14
  209. package/legacy/internals/index.js +5 -5
  210. package/legacy/internals/models/index.js +2 -1
  211. package/legacy/internals/models/props/clock.js +1 -0
  212. package/legacy/internals/models/validation.js +1 -0
  213. package/legacy/internals/utils/time-utils.js +2 -1
  214. package/legacy/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -28
  215. package/legacy/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +2 -2
  216. package/legacy/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  217. package/legacy/locales/beBY.js +5 -3
  218. package/legacy/locales/caES.js +6 -1
  219. package/legacy/locales/csCZ.js +6 -4
  220. package/legacy/locales/daDK.js +6 -2
  221. package/legacy/locales/deDE.js +6 -2
  222. package/legacy/locales/enUS.js +4 -0
  223. package/legacy/locales/esES.js +6 -1
  224. package/legacy/locales/faIR.js +11 -1
  225. package/legacy/locales/fiFI.js +6 -1
  226. package/legacy/locales/frFR.js +6 -1
  227. package/legacy/locales/heIL.js +6 -1
  228. package/legacy/locales/huHU.js +6 -2
  229. package/legacy/locales/index.js +1 -0
  230. package/legacy/locales/isIS.js +11 -1
  231. package/legacy/locales/itIT.js +6 -1
  232. package/legacy/locales/jaJP.js +6 -2
  233. package/legacy/locales/koKR.js +6 -1
  234. package/legacy/locales/kzKZ.js +6 -2
  235. package/legacy/locales/nbNO.js +11 -1
  236. package/legacy/locales/nlNL.js +11 -1
  237. package/legacy/locales/plPL.js +11 -1
  238. package/legacy/locales/ptBR.js +11 -1
  239. package/legacy/locales/ruRU.js +6 -2
  240. package/legacy/locales/svSE.js +11 -1
  241. package/legacy/locales/trTR.js +22 -7
  242. package/legacy/locales/ukUA.js +11 -1
  243. package/legacy/locales/urPK.js +11 -1
  244. package/legacy/locales/zhCN.js +44 -23
  245. package/legacy/models/common.js +1 -0
  246. package/legacy/models/index.js +2 -1
  247. package/legacy/tests/describeAdapters/describeAdapters.js +1 -3
  248. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  249. package/legacy/tests/describeGregorianAdapter/testCalculations.js +29 -26
  250. package/legacy/tests/describeGregorianAdapter/testLocalization.js +2 -2
  251. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  252. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  253. package/legacy/tests/describeHijriAdapter/index.js +1 -0
  254. package/legacy/tests/describeHijriAdapter/testCalculations.js +94 -0
  255. package/legacy/tests/describeHijriAdapter/testLocalization.js +12 -0
  256. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  257. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  258. package/legacy/tests/describeJalaliAdapter/index.js +1 -0
  259. package/legacy/tests/describeJalaliAdapter/testCalculations.js +82 -0
  260. package/legacy/tests/describeJalaliAdapter/testLocalization.js +12 -0
  261. package/legacy/tests/describePicker/describePicker.js +159 -0
  262. package/legacy/tests/describePicker/describePicker.types.js +1 -0
  263. package/legacy/tests/describePicker/index.js +1 -0
  264. package/legacy/tests/describeValue/describeValue.js +1 -1
  265. package/legacy/tests/describeValue/testControlledUnControlled.js +8 -9
  266. package/legacy/tests/describeValue/testPickerActionBar.js +46 -13
  267. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  268. package/legacy/timeViewRenderers/index.js +1 -1
  269. package/legacy/timeViewRenderers/timeViewRenderers.js +132 -4
  270. package/locales/beBY.d.ts +4 -2
  271. package/locales/beBY.js +3 -3
  272. package/locales/caES.d.ts +4 -2
  273. package/locales/caES.js +4 -1
  274. package/locales/csCZ.d.ts +4 -2
  275. package/locales/csCZ.js +4 -4
  276. package/locales/daDK.d.ts +4 -2
  277. package/locales/daDK.js +4 -2
  278. package/locales/deDE.d.ts +4 -2
  279. package/locales/deDE.js +4 -2
  280. package/locales/enUS.d.ts +3 -2
  281. package/locales/enUS.js +2 -0
  282. package/locales/esES.d.ts +4 -2
  283. package/locales/esES.js +4 -1
  284. package/locales/faIR.d.ts +4 -2
  285. package/locales/faIR.js +9 -1
  286. package/locales/fiFI.d.ts +4 -2
  287. package/locales/fiFI.js +4 -1
  288. package/locales/frFR.d.ts +4 -2
  289. package/locales/frFR.js +4 -1
  290. package/locales/heIL.d.ts +4 -2
  291. package/locales/heIL.js +4 -1
  292. package/locales/huHU.d.ts +4 -2
  293. package/locales/huHU.js +4 -2
  294. package/locales/index.d.ts +1 -0
  295. package/locales/index.js +1 -0
  296. package/locales/isIS.d.ts +4 -2
  297. package/locales/isIS.js +9 -1
  298. package/locales/itIT.d.ts +4 -2
  299. package/locales/itIT.js +4 -1
  300. package/locales/jaJP.d.ts +4 -2
  301. package/locales/jaJP.js +4 -2
  302. package/locales/koKR.d.ts +4 -2
  303. package/locales/koKR.js +4 -1
  304. package/locales/kzKZ.d.ts +4 -2
  305. package/locales/kzKZ.js +4 -2
  306. package/locales/nbNO.d.ts +4 -2
  307. package/locales/nbNO.js +9 -1
  308. package/locales/nlNL.d.ts +8 -7
  309. package/locales/nlNL.js +9 -1
  310. package/locales/plPL.d.ts +4 -2
  311. package/locales/plPL.js +9 -1
  312. package/locales/ptBR.d.ts +4 -2
  313. package/locales/ptBR.js +9 -1
  314. package/locales/ruRU.d.ts +4 -2
  315. package/locales/ruRU.js +4 -2
  316. package/locales/svSE.d.ts +4 -2
  317. package/locales/svSE.js +9 -1
  318. package/locales/trTR.d.ts +4 -2
  319. package/locales/trTR.js +14 -7
  320. package/locales/ukUA.d.ts +4 -2
  321. package/locales/ukUA.js +9 -1
  322. package/locales/urPK.d.ts +4 -2
  323. package/locales/urPK.js +9 -1
  324. package/locales/utils/getPickersLocalization.d.ts +3 -2
  325. package/locales/utils/pickersLocaleTextApi.d.ts +5 -3
  326. package/locales/zhCN.d.ts +4 -2
  327. package/locales/zhCN.js +22 -23
  328. package/models/adapters.d.ts +7 -6
  329. package/models/common.d.ts +5 -0
  330. package/models/common.js +1 -0
  331. package/models/fields.d.ts +19 -2
  332. package/models/index.d.ts +1 -0
  333. package/models/index.js +2 -1
  334. package/modern/AdapterDateFns/AdapterDateFns.js +597 -0
  335. package/modern/AdapterDateFns/index.js +1 -149
  336. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +608 -0
  337. package/modern/AdapterDateFnsJalali/index.js +1 -148
  338. package/modern/AdapterDayjs/AdapterDayjs.js +146 -111
  339. package/modern/AdapterLuxon/AdapterLuxon.js +512 -0
  340. package/modern/AdapterLuxon/index.js +1 -111
  341. package/modern/AdapterMoment/AdapterMoment.js +416 -0
  342. package/modern/AdapterMoment/index.js +1 -99
  343. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
  344. package/modern/AdapterMomentHijri/index.js +1 -74
  345. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
  346. package/modern/AdapterMomentJalaali/index.js +1 -87
  347. package/modern/DateCalendar/DayCalendar.js +1 -1
  348. package/modern/DateCalendar/useCalendarState.js +1 -1
  349. package/modern/DateCalendar/useIsDateDisabled.js +27 -0
  350. package/modern/DateField/DateField.js +20 -3
  351. package/modern/DateField/useDateField.js +4 -2
  352. package/modern/DatePicker/DatePickerToolbar.js +1 -1
  353. package/modern/DateTimeField/DateTimeField.js +21 -3
  354. package/modern/DateTimeField/useDateTimeField.js +4 -2
  355. package/modern/DateTimePicker/DateTimePicker.js +1 -0
  356. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  357. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  358. package/modern/DesktopTimePicker/DesktopTimePicker.js +49 -7
  359. package/modern/DigitalClock/DigitalClock.js +396 -0
  360. package/modern/DigitalClock/DigitalClock.types.js +1 -0
  361. package/modern/DigitalClock/digitalClockClasses.js +6 -0
  362. package/modern/DigitalClock/index.js +2 -0
  363. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  364. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  365. package/modern/MobileTimePicker/MobileTimePicker.js +2 -1
  366. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
  367. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  368. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  369. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +149 -0
  370. package/modern/MultiSectionDigitalClock/index.js +3 -0
  371. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  372. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  373. package/modern/PickersDay/PickersDay.js +4 -1
  374. package/modern/PickersLayout/PickersLayout.js +2 -2
  375. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  376. package/modern/StaticTimePicker/StaticTimePicker.js +2 -1
  377. package/modern/TimeClock/TimeClock.js +35 -12
  378. package/modern/TimeField/TimeField.js +21 -3
  379. package/modern/TimeField/useTimeField.js +4 -2
  380. package/modern/TimePicker/TimePicker.js +25 -2
  381. package/modern/TimePicker/TimePickerToolbar.js +2 -2
  382. package/modern/index.js +4 -1
  383. package/modern/internals/constants/dimensions.js +2 -1
  384. package/modern/internals/demo/DemoContainer.js +4 -1
  385. package/modern/internals/hooks/date-helpers-hooks.js +3 -3
  386. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  387. package/modern/internals/hooks/useField/useField.js +12 -11
  388. package/modern/internals/hooks/useField/useField.utils.js +60 -34
  389. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  390. package/modern/internals/hooks/useField/useFieldState.js +4 -3
  391. package/modern/internals/hooks/usePicker/usePickerValue.js +1 -1
  392. package/modern/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  393. package/modern/internals/hooks/useViews.js +29 -13
  394. package/modern/internals/index.js +5 -5
  395. package/modern/internals/models/index.js +2 -1
  396. package/modern/internals/models/props/clock.js +1 -0
  397. package/modern/internals/models/validation.js +1 -0
  398. package/modern/internals/utils/time-utils.js +2 -1
  399. package/modern/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  400. package/{internals/hooks/validation/useDateTimeValidation.js → modern/internals/utils/validation/validateDateTime.js} +2 -2
  401. package/{internals/hooks/validation/useTimeValidation.js → modern/internals/utils/validation/validateTime.js} +1 -1
  402. package/modern/locales/beBY.js +3 -3
  403. package/modern/locales/caES.js +4 -1
  404. package/modern/locales/csCZ.js +4 -4
  405. package/modern/locales/daDK.js +4 -2
  406. package/modern/locales/deDE.js +4 -2
  407. package/modern/locales/enUS.js +2 -0
  408. package/modern/locales/esES.js +4 -1
  409. package/modern/locales/faIR.js +9 -1
  410. package/modern/locales/fiFI.js +4 -1
  411. package/modern/locales/frFR.js +4 -1
  412. package/modern/locales/heIL.js +4 -1
  413. package/modern/locales/huHU.js +4 -2
  414. package/modern/locales/index.js +1 -0
  415. package/modern/locales/isIS.js +9 -1
  416. package/modern/locales/itIT.js +4 -1
  417. package/modern/locales/jaJP.js +4 -2
  418. package/modern/locales/koKR.js +4 -1
  419. package/modern/locales/kzKZ.js +4 -2
  420. package/modern/locales/nbNO.js +9 -1
  421. package/modern/locales/nlNL.js +9 -1
  422. package/modern/locales/plPL.js +9 -1
  423. package/modern/locales/ptBR.js +9 -1
  424. package/modern/locales/ruRU.js +4 -2
  425. package/modern/locales/svSE.js +9 -1
  426. package/modern/locales/trTR.js +14 -7
  427. package/modern/locales/ukUA.js +9 -1
  428. package/modern/locales/urPK.js +9 -1
  429. package/modern/locales/zhCN.js +22 -23
  430. package/modern/models/common.js +1 -0
  431. package/modern/models/index.js +2 -1
  432. package/modern/tests/describeAdapters/describeAdapters.js +1 -3
  433. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  434. package/modern/tests/describeGregorianAdapter/testCalculations.js +29 -26
  435. package/modern/tests/describeGregorianAdapter/testLocalization.js +2 -2
  436. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  437. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  438. package/modern/tests/describeHijriAdapter/index.js +1 -0
  439. package/modern/tests/describeHijriAdapter/testCalculations.js +91 -0
  440. package/modern/tests/describeHijriAdapter/testLocalization.js +13 -0
  441. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  442. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  443. package/modern/tests/describeJalaliAdapter/index.js +1 -0
  444. package/modern/tests/describeJalaliAdapter/testCalculations.js +83 -0
  445. package/modern/tests/describeJalaliAdapter/testLocalization.js +13 -0
  446. package/modern/tests/describePicker/describePicker.js +162 -0
  447. package/modern/tests/describePicker/describePicker.types.js +1 -0
  448. package/modern/tests/describePicker/index.js +1 -0
  449. package/modern/tests/describeValue/describeValue.js +1 -1
  450. package/modern/tests/describeValue/testControlledUnControlled.js +8 -9
  451. package/modern/tests/describeValue/testPickerActionBar.js +46 -13
  452. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  453. package/modern/timeViewRenderers/index.js +1 -1
  454. package/modern/timeViewRenderers/timeViewRenderers.js +130 -2
  455. package/node/AdapterDateFns/AdapterDateFns.js +607 -0
  456. package/node/AdapterDateFns/index.js +6 -152
  457. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +618 -0
  458. package/node/AdapterDateFnsJalali/index.js +6 -151
  459. package/node/AdapterDayjs/AdapterDayjs.js +146 -111
  460. package/node/AdapterLuxon/AdapterLuxon.js +521 -0
  461. package/node/AdapterLuxon/index.js +6 -114
  462. package/node/AdapterMoment/AdapterMoment.js +425 -0
  463. package/node/AdapterMoment/index.js +6 -102
  464. package/node/AdapterMomentHijri/AdapterMomentHijri.js +278 -0
  465. package/node/AdapterMomentHijri/index.js +6 -77
  466. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +285 -0
  467. package/node/AdapterMomentJalaali/index.js +6 -90
  468. package/node/DateCalendar/DayCalendar.js +2 -2
  469. package/node/DateCalendar/useCalendarState.js +2 -2
  470. package/node/{internals/hooks/validation/useDateValidation.js → DateCalendar/useIsDateDisabled.js} +4 -37
  471. package/node/DateField/DateField.js +20 -3
  472. package/node/DateField/useDateField.js +5 -3
  473. package/node/DatePicker/DatePickerToolbar.js +1 -1
  474. package/node/DateTimeField/DateTimeField.js +21 -3
  475. package/node/DateTimeField/useDateTimeField.js +5 -3
  476. package/node/DateTimePicker/DateTimePicker.js +1 -0
  477. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
  478. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -2
  479. package/node/DesktopTimePicker/DesktopTimePicker.js +50 -8
  480. package/node/DigitalClock/DigitalClock.js +406 -0
  481. package/node/DigitalClock/digitalClockClasses.js +15 -0
  482. package/node/DigitalClock/index.js +25 -0
  483. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  484. package/node/MobileDateTimePicker/MobileDateTimePicker.js +3 -2
  485. package/node/MobileTimePicker/MobileTimePicker.js +3 -2
  486. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +489 -0
  487. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +5 -0
  488. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +73 -0
  489. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +159 -0
  490. package/node/MultiSectionDigitalClock/index.js +32 -0
  491. package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +15 -0
  492. package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +15 -0
  493. package/node/PickersDay/PickersDay.js +4 -1
  494. package/node/PickersLayout/PickersLayout.js +2 -2
  495. package/node/StaticDateTimePicker/StaticDateTimePicker.js +3 -2
  496. package/node/StaticTimePicker/StaticTimePicker.js +3 -2
  497. package/node/TimeClock/TimeClock.js +35 -12
  498. package/node/TimeField/TimeField.js +21 -3
  499. package/node/TimeField/useTimeField.js +5 -3
  500. package/node/TimePicker/TimePicker.js +25 -2
  501. package/node/TimePicker/TimePickerToolbar.js +2 -2
  502. package/node/index.js +25 -1
  503. package/node/internals/constants/dimensions.js +4 -2
  504. package/node/internals/demo/DemoContainer.js +4 -1
  505. package/node/internals/hooks/date-helpers-hooks.js +3 -3
  506. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  507. package/node/internals/hooks/useField/useField.js +12 -11
  508. package/node/internals/hooks/useField/useField.utils.js +63 -36
  509. package/node/internals/hooks/useField/useFieldCharacterEditing.js +17 -9
  510. package/node/internals/hooks/useField/useFieldState.js +4 -3
  511. package/node/internals/hooks/usePicker/usePickerValue.js +1 -1
  512. package/node/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  513. package/node/internals/hooks/useViews.js +29 -13
  514. package/node/internals/index.js +9 -9
  515. package/node/internals/models/index.js +11 -0
  516. package/node/internals/models/props/clock.js +5 -0
  517. package/node/internals/models/validation.js +5 -0
  518. package/node/internals/utils/time-utils.js +2 -1
  519. package/node/internals/utils/validation/validateDate.js +40 -0
  520. package/node/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +4 -4
  521. package/node/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  522. package/node/locales/beBY.js +3 -3
  523. package/node/locales/caES.js +4 -1
  524. package/node/locales/csCZ.js +4 -2
  525. package/node/locales/daDK.js +4 -1
  526. package/node/locales/deDE.js +4 -1
  527. package/node/locales/enUS.js +2 -0
  528. package/node/locales/esES.js +4 -1
  529. package/node/locales/faIR.js +9 -1
  530. package/node/locales/fiFI.js +4 -1
  531. package/node/locales/frFR.js +4 -1
  532. package/node/locales/heIL.js +4 -1
  533. package/node/locales/huHU.js +4 -1
  534. package/node/locales/index.js +11 -0
  535. package/node/locales/isIS.js +9 -1
  536. package/node/locales/itIT.js +4 -1
  537. package/node/locales/jaJP.js +4 -1
  538. package/node/locales/koKR.js +4 -1
  539. package/node/locales/kzKZ.js +4 -1
  540. package/node/locales/nbNO.js +9 -1
  541. package/node/locales/nlNL.js +9 -1
  542. package/node/locales/plPL.js +9 -1
  543. package/node/locales/ptBR.js +9 -1
  544. package/node/locales/ruRU.js +4 -1
  545. package/node/locales/svSE.js +9 -1
  546. package/node/locales/trTR.js +14 -7
  547. package/node/locales/ukUA.js +9 -1
  548. package/node/locales/urPK.js +9 -1
  549. package/node/locales/zhCN.js +22 -23
  550. package/node/models/common.js +5 -0
  551. package/node/models/index.js +11 -0
  552. package/node/tests/describeAdapters/describeAdapters.js +1 -3
  553. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  554. package/node/tests/describeGregorianAdapter/testCalculations.js +29 -26
  555. package/node/tests/describeGregorianAdapter/testLocalization.js +2 -2
  556. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +31 -0
  557. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +5 -0
  558. package/node/tests/describeHijriAdapter/index.js +12 -0
  559. package/node/tests/describeHijriAdapter/testCalculations.js +98 -0
  560. package/node/tests/describeHijriAdapter/testLocalization.js +20 -0
  561. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +33 -0
  562. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +5 -0
  563. package/node/tests/describeJalaliAdapter/index.js +12 -0
  564. package/node/tests/describeJalaliAdapter/testCalculations.js +90 -0
  565. package/node/tests/describeJalaliAdapter/testLocalization.js +20 -0
  566. package/node/tests/describePicker/describePicker.js +173 -0
  567. package/node/tests/describePicker/describePicker.types.js +5 -0
  568. package/node/tests/describePicker/index.js +12 -0
  569. package/node/tests/describeValue/describeValue.js +1 -1
  570. package/node/tests/describeValue/testControlledUnControlled.js +8 -9
  571. package/node/tests/describeValue/testPickerActionBar.js +46 -13
  572. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  573. package/node/timeViewRenderers/index.js +12 -0
  574. package/node/timeViewRenderers/timeViewRenderers.js +134 -4
  575. package/package.json +3 -10
  576. package/tests/describeAdapters/describeAdapters.js +1 -3
  577. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  578. package/tests/describeGregorianAdapter/testCalculations.js +29 -26
  579. package/tests/describeGregorianAdapter/testLocalization.js +2 -2
  580. package/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  581. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  582. package/tests/describeHijriAdapter/index.js +1 -0
  583. package/tests/describeHijriAdapter/testCalculations.js +91 -0
  584. package/tests/describeHijriAdapter/testLocalization.js +13 -0
  585. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  586. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  587. package/tests/describeJalaliAdapter/index.js +1 -0
  588. package/tests/describeJalaliAdapter/testCalculations.js +83 -0
  589. package/tests/describeJalaliAdapter/testLocalization.js +13 -0
  590. package/tests/describePicker/describePicker.js +162 -0
  591. package/tests/describePicker/describePicker.types.js +1 -0
  592. package/tests/describePicker/index.js +1 -0
  593. package/tests/describeValue/describeValue.js +1 -1
  594. package/tests/describeValue/testControlledUnControlled.js +8 -9
  595. package/tests/describeValue/testPickerActionBar.js +46 -13
  596. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  597. package/themeAugmentation/components.d.ts +12 -0
  598. package/themeAugmentation/overrides.d.ts +8 -0
  599. package/themeAugmentation/props.d.ts +8 -0
  600. package/timeViewRenderers/index.d.ts +1 -1
  601. package/timeViewRenderers/index.js +1 -1
  602. package/timeViewRenderers/timeViewRenderers.d.ts +11 -4
  603. package/timeViewRenderers/timeViewRenderers.js +130 -2
  604. /package/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
  605. /package/{legacy/internals/hooks/validation/models.js → MultiSectionDigitalClock/MultiSectionDigitalClock.types.js} +0 -0
  606. /package/{modern/internals/hooks/validation/models.js → internals/models/props/clock.js} +0 -0
  607. /package/internals/utils/{validation.d.ts → validation/extractValidationProps.d.ts} +0 -0
  608. /package/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  609. /package/legacy/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  610. /package/modern/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  611. /package/node/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
  612. /package/node/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
@@ -1,96 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.AdapterMomentJalaali = void 0;
8
- var _jalaali = _interopRequireDefault(require("@date-io/jalaali"));
9
- /* eslint-disable class-methods-use-this */
10
-
11
- // From https://momentjs.com/docs/#/displaying/format/
12
- const formatTokenMap = {
13
- // Year
14
- jYY: 'year',
15
- jYYYY: 'year',
16
- // Month
17
- jM: 'month',
18
- jMM: 'month',
19
- jMMM: {
20
- sectionType: 'month',
21
- contentType: 'letter'
22
- },
23
- jMMMM: {
24
- sectionType: 'month',
25
- contentType: 'letter'
26
- },
27
- // Day of the month
28
- jD: 'day',
29
- jDD: 'day',
30
- // Meridiem
31
- A: 'meridiem',
32
- a: 'meridiem',
33
- // Hours
34
- H: 'hours',
35
- HH: 'hours',
36
- h: 'hours',
37
- hh: 'hours',
38
- k: 'hours',
39
- kk: 'hours',
40
- // Minutes
41
- m: 'minutes',
42
- mm: 'minutes',
43
- // Seconds
44
- s: 'seconds',
45
- ss: 'seconds'
46
- };
47
- class AdapterMomentJalaali extends _jalaali.default {
48
- constructor(...args) {
49
- super(...args);
50
- this.isMUIAdapter = true;
51
- this.formatTokenMap = formatTokenMap;
52
- this.escapedCharacters = {
53
- start: '[',
54
- end: ']'
55
- };
56
- /**
57
- * The current getFormatHelperText method uses an outdated format parsing logic.
58
- * We should use this one in the future to support all localized formats.
59
- */
60
- this.expandFormat = format => {
61
- // @see https://github.com/moment/moment/blob/develop/src/lib/format/format.js#L6
62
- const localFormattingTokens = /(\[[^[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})|./g;
63
- return format.match(localFormattingTokens).map(token => {
64
- const firstCharacter = token[0];
65
- if (firstCharacter === 'L' || firstCharacter === ';') {
66
- return this.moment.localeData(this.getCurrentLocaleCode()).longDateFormat(token);
67
- }
68
- return token;
69
- }).join('').replace('dd', 'jDD'); // Fix for https://github.com/dmtrKovalenko/date-io/pull/632;
70
- };
71
- // Redefined here just to show how it can be written using expandFormat
72
- this.getFormatHelperText = format => {
73
- return this.expandFormat(format).replace(/a/gi, '(a|p)m').replace('jY', 'Y').replace('jM', 'M').replace('jD', 'D').toLocaleLowerCase();
74
- };
75
- this.getWeekNumber = date => {
76
- return date.jWeek();
77
- };
78
- this.addYears = (date, count) => {
79
- return count < 0 ? date.clone().subtract(Math.abs(count), 'jYear') : date.clone().add(count, 'jYear');
80
- };
81
- this.addMonths = (date, count) => {
82
- return count < 0 ? date.clone().subtract(Math.abs(count), 'jMonth') : date.clone().add(count, 'jMonth');
83
- };
84
- this.setMonth = (date, month) => {
85
- return date.clone().jMonth(month);
86
- };
87
- this.isValid = value => {
88
- // We can't to `this.moment(value)` because moment-jalaali looses the invalidity information when creating a new moment object from an existing one
89
- if (!this.moment.isMoment(value)) {
90
- return false;
91
- }
92
- return value.isValid(value);
93
- };
6
+ Object.defineProperty(exports, "AdapterMomentJalaali", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AdapterMomentJalaali.AdapterMomentJalaali;
94
10
  }
95
- }
96
- exports.AdapterMomentJalaali = AdapterMomentJalaali;
11
+ });
12
+ var _AdapterMomentJalaali = require("./AdapterMomentJalaali");
@@ -18,7 +18,7 @@ var _PickersDay = require("../PickersDay/PickersDay");
18
18
  var _useUtils = require("../internals/hooks/useUtils");
19
19
  var _dimensions = require("../internals/constants/dimensions");
20
20
  var _PickersSlideTransition = require("./PickersSlideTransition");
21
- var _useDateValidation = require("../internals/hooks/validation/useDateValidation");
21
+ var _useIsDateDisabled = require("./useIsDateDisabled");
22
22
  var _dateUtils = require("../internals/utils/date-utils");
23
23
  var _dayCalendarClasses = require("./dayCalendarClasses");
24
24
  var _jsxRuntime = require("react/jsx-runtime");
@@ -254,7 +254,7 @@ function DayCalendar(inProps) {
254
254
  fixedWeekNumber,
255
255
  autoFocus
256
256
  } = props;
257
- const isDateDisabled = (0, _useDateValidation.useIsDateDisabled)({
257
+ const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
258
258
  shouldDisableDate,
259
259
  shouldDisableMonth,
260
260
  shouldDisableYear,
@@ -8,7 +8,7 @@ exports.useCalendarState = exports.createCalendarStateReducer = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
11
- var _useDateValidation = require("../internals/hooks/validation/useDateValidation");
11
+ var _useIsDateDisabled = require("./useIsDateDisabled");
12
12
  var _useUtils = require("../internals/hooks/useUtils");
13
13
  var _dateUtils = require("../internals/utils/date-utils");
14
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -82,7 +82,7 @@ const useCalendarState = ({
82
82
  direction: utils.isAfterDay(newDateRequested, calendarState.currentMonth) ? 'left' : 'right'
83
83
  });
84
84
  }, [calendarState.currentMonth, handleChangeMonth, utils]);
85
- const isDateDisabled = (0, _useDateValidation.useIsDateDisabled)({
85
+ const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
86
86
  shouldDisableDate,
87
87
  minDate,
88
88
  maxDate,
@@ -3,45 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.validateDate = exports.useIsDateDisabled = void 0;
6
+ exports.useIsDateDisabled = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
- var _useUtils = require("../useUtils");
9
- var _dateUtils = require("../../utils/date-utils");
8
+ var _validateDate = require("../internals/utils/validation/validateDate");
9
+ var _useUtils = require("../internals/hooks/useUtils");
10
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
- const validateDate = ({
13
- props,
14
- value,
15
- adapter
16
- }) => {
17
- if (value === null) {
18
- return null;
19
- }
20
- const now = adapter.utils.date();
21
- const minDate = (0, _dateUtils.applyDefaultDate)(adapter.utils, props.minDate, adapter.defaultDates.minDate);
22
- const maxDate = (0, _dateUtils.applyDefaultDate)(adapter.utils, props.maxDate, adapter.defaultDates.maxDate);
23
- switch (true) {
24
- case !adapter.utils.isValid(value):
25
- return 'invalidDate';
26
- case Boolean(props.shouldDisableDate && props.shouldDisableDate(value)):
27
- return 'shouldDisableDate';
28
- case Boolean(props.shouldDisableMonth && props.shouldDisableMonth(value)):
29
- return 'shouldDisableMonth';
30
- case Boolean(props.shouldDisableYear && props.shouldDisableYear(value)):
31
- return 'shouldDisableYear';
32
- case Boolean(props.disableFuture && adapter.utils.isAfterDay(value, now)):
33
- return 'disableFuture';
34
- case Boolean(props.disablePast && adapter.utils.isBeforeDay(value, now)):
35
- return 'disablePast';
36
- case Boolean(minDate && adapter.utils.isBeforeDay(value, minDate)):
37
- return 'minDate';
38
- case Boolean(maxDate && adapter.utils.isAfterDay(value, maxDate)):
39
- return 'maxDate';
40
- default:
41
- return null;
42
- }
43
- };
44
- exports.validateDate = validateDate;
45
12
  const useIsDateDisabled = ({
46
13
  shouldDisableDate,
47
14
  shouldDisableMonth,
@@ -52,7 +19,7 @@ const useIsDateDisabled = ({
52
19
  disablePast
53
20
  }) => {
54
21
  const adapter = (0, _useUtils.useLocalizationContext)();
55
- return React.useCallback(day => validateDate({
22
+ return React.useCallback(day => (0, _validateDate.validateDate)({
56
23
  adapter,
57
24
  value: day,
58
25
  props: {
@@ -63,11 +63,13 @@ const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, ref)
63
63
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
64
64
  ref: ref
65
65
  }, fieldProps, {
66
+ InputProps: (0, _extends2.default)({}, fieldProps.InputProps, {
67
+ readOnly
68
+ }),
66
69
  inputProps: (0, _extends2.default)({}, fieldProps.inputProps, {
67
- ref: inputRef,
68
- onPaste,
69
70
  inputMode,
70
- readOnly
71
+ onPaste,
72
+ ref: inputRef
71
73
  })
72
74
  }));
73
75
  });
@@ -271,6 +273,21 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
271
273
  * @returns {boolean} If `true`, the year will be disabled.
272
274
  */
273
275
  shouldDisableYear: _propTypes.default.func,
276
+ /**
277
+ * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
278
+ * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
279
+ *
280
+ * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
281
+ *
282
+ * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
283
+ * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
284
+ *
285
+ * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
286
+ * This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
287
+ *
288
+ * @default `false`
289
+ */
290
+ shouldRespectLeadingZeros: _propTypes.default.bool,
274
291
  /**
275
292
  * The size of the component.
276
293
  */
@@ -9,10 +9,10 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _valueManagers = require("../internals/utils/valueManagers");
11
11
  var _useField = require("../internals/hooks/useField");
12
- var _useDateValidation = require("../internals/hooks/validation/useDateValidation");
12
+ var _validateDate = require("../internals/utils/validation/validateDate");
13
13
  var _dateUtils = require("../internals/utils/date-utils");
14
14
  var _useUtils = require("../internals/hooks/useUtils");
15
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
15
+ const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
16
16
  const useDefaultizedDateField = props => {
17
17
  const utils = (0, _useUtils.useUtils)();
18
18
  const defaultDates = (0, _useUtils.useDefaultDates)();
@@ -34,6 +34,7 @@ const useDateField = ({
34
34
  defaultValue,
35
35
  format,
36
36
  formatDensity,
37
+ shouldRespectLeadingZeros,
37
38
  onChange,
38
39
  readOnly,
39
40
  onError,
@@ -57,6 +58,7 @@ const useDateField = ({
57
58
  defaultValue,
58
59
  format,
59
60
  formatDensity,
61
+ shouldRespectLeadingZeros,
60
62
  onChange,
61
63
  readOnly,
62
64
  onError,
@@ -73,7 +75,7 @@ const useDateField = ({
73
75
  },
74
76
  valueManager: _valueManagers.singleItemValueManager,
75
77
  fieldValueManager: _valueManagers.singleItemFieldValueManager,
76
- validator: _useDateValidation.validateDate,
78
+ validator: _validateDate.validateDate,
77
79
  valueType: 'date'
78
80
  });
79
81
  };
@@ -141,5 +141,5 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
141
141
  * Currently visible picker view.
142
142
  */
143
143
  view: _propTypes.default.oneOf(['day', 'month', 'year']).isRequired,
144
- views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
144
+ views: _propTypes.default.arrayOf(_propTypes.default.oneOf(['day', 'month', 'year']).isRequired).isRequired
145
145
  } : void 0;
@@ -63,11 +63,13 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
63
63
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
64
64
  ref: ref
65
65
  }, fieldProps, {
66
+ InputProps: (0, _extends2.default)({}, fieldProps.InputProps, {
67
+ readOnly
68
+ }),
66
69
  inputProps: (0, _extends2.default)({}, fieldProps.inputProps, {
67
- ref: inputRef,
68
- onPaste,
69
70
  inputMode,
70
- readOnly
71
+ onPaste,
72
+ ref: inputRef
71
73
  })
72
74
  }));
73
75
  });
@@ -307,6 +309,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
307
309
  shouldDisableMonth: _propTypes.default.func,
308
310
  /**
309
311
  * Disable specific time.
312
+ * @template TDate
310
313
  * @param {TDate} value The value to check.
311
314
  * @param {TimeView} view The clock type of the timeValue.
312
315
  * @returns {boolean} If `true` the time will be disabled.
@@ -319,6 +322,21 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
319
322
  * @returns {boolean} If `true`, the year will be disabled.
320
323
  */
321
324
  shouldDisableYear: _propTypes.default.func,
325
+ /**
326
+ * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
327
+ * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
328
+ *
329
+ * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
330
+ *
331
+ * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
332
+ * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
333
+ *
334
+ * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
335
+ * This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
336
+ *
337
+ * @default `false`
338
+ */
339
+ shouldRespectLeadingZeros: _propTypes.default.bool,
322
340
  /**
323
341
  * The size of the component.
324
342
  */
@@ -9,10 +9,10 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _valueManagers = require("../internals/utils/valueManagers");
11
11
  var _useField = require("../internals/hooks/useField");
12
- var _useDateTimeValidation = require("../internals/hooks/validation/useDateTimeValidation");
12
+ var _validateDateTime = require("../internals/utils/validation/validateDateTime");
13
13
  var _dateUtils = require("../internals/utils/date-utils");
14
14
  var _useUtils = require("../internals/hooks/useUtils");
15
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "disableIgnoringDatePartForTimeValidation", "shouldDisableClock", "shouldDisableTime", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
15
+ const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "disableIgnoringDatePartForTimeValidation", "shouldDisableClock", "shouldDisableTime", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
16
16
  const useDefaultizedDateTimeField = props => {
17
17
  const utils = (0, _useUtils.useUtils)();
18
18
  const defaultDates = (0, _useUtils.useDefaultDates)();
@@ -39,6 +39,7 @@ const useDateTimeField = ({
39
39
  defaultValue,
40
40
  format,
41
41
  formatDensity,
42
+ shouldRespectLeadingZeros,
42
43
  onChange,
43
44
  readOnly,
44
45
  onError,
@@ -69,6 +70,7 @@ const useDateTimeField = ({
69
70
  defaultValue,
70
71
  format,
71
72
  formatDensity,
73
+ shouldRespectLeadingZeros,
72
74
  onChange,
73
75
  readOnly,
74
76
  onError,
@@ -92,7 +94,7 @@ const useDateTimeField = ({
92
94
  },
93
95
  valueManager: _valueManagers.singleItemValueManager,
94
96
  fieldValueManager: _valueManagers.singleItemFieldValueManager,
95
- validator: _useDateTimeValidation.validateDateTime,
97
+ validator: _validateDateTime.validateDateTime,
96
98
  valueType: 'date-time'
97
99
  });
98
100
  };
@@ -336,6 +336,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
336
336
  shouldDisableMonth: _propTypes.default.func,
337
337
  /**
338
338
  * Disable specific time.
339
+ * @template TDate
339
340
  * @param {TDate} value The value to check.
340
341
  * @param {TimeView} view The clock type of the timeValue.
341
342
  * @returns {boolean} If `true` the time will be disabled.
@@ -15,7 +15,7 @@ var _internals = require("../internals");
15
15
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
16
16
  var _icons = require("../internals/components/icons");
17
17
  var _DateField = require("../DateField");
18
- var _validation = require("../internals/utils/validation");
18
+ var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
19
19
  var _dateViewRenderers = require("../dateViewRenderers");
20
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -41,7 +41,7 @@ const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePick
41
41
  field: _DateField.DateField
42
42
  }, defaultizedProps.slots),
43
43
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
44
- field: ownerState => (0, _extends2.default)({}, (0, _utils.resolveComponentProps)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
44
+ field: ownerState => (0, _extends2.default)({}, (0, _utils.resolveComponentProps)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
45
45
  ref
46
46
  }),
47
47
  toolbar: (0, _extends2.default)({
@@ -16,7 +16,7 @@ var _dateViewRenderers = require("../dateViewRenderers");
16
16
  var _internals = require("../internals");
17
17
  var _icons = require("../internals/components/icons");
18
18
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
19
- var _validation = require("../internals/utils/validation");
19
+ var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
20
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
22
  const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
@@ -44,7 +44,7 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
44
44
  openPickerIcon: _icons.Calendar
45
45
  }, defaultizedProps.slots),
46
46
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
47
- field: ownerState => (0, _extends2.default)({}, (0, _utils.resolveComponentProps)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
47
+ field: ownerState => (0, _extends2.default)({}, (0, _utils.resolveComponentProps)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
48
48
  ref,
49
49
  ampm: defaultizedProps.ampm
50
50
  }),
@@ -357,6 +357,7 @@ DesktopDateTimePicker.propTypes = {
357
357
  shouldDisableMonth: _propTypes.default.func,
358
358
  /**
359
359
  * Disable specific time.
360
+ * @template TDate
360
361
  * @param {TDate} value The value to check.
361
362
  * @param {TimeView} view The clock type of the timeValue.
362
363
  * @returns {boolean} If `true` the time will be disabled.
@@ -15,7 +15,8 @@ var _shared = require("../TimePicker/shared");
15
15
  var _internals = require("../internals");
16
16
  var _icons = require("../internals/components/icons");
17
17
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
18
- var _validation = require("../internals/utils/validation");
18
+ var _extractValidationProps = require("../internals/utils/validation/extractValidationProps");
19
+ var _timeViewRenderers = require("../timeViewRenderers");
19
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
22
  const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
@@ -23,30 +24,48 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
23
24
 
24
25
  // Props with the default values common to all time pickers
25
26
  const defaultizedProps = (0, _shared.useTimePickerDefaultizedProps)(inProps, 'MuiDesktopTimePicker');
27
+ const thresholdToRenderTimeInASingleColumn = defaultizedProps.thresholdToRenderTimeInASingleColumn ?? 24;
28
+ const timeSteps = (0, _extends2.default)({
29
+ hours: 1,
30
+ minutes: 5,
31
+ seconds: 5
32
+ }, defaultizedProps.timeSteps);
33
+ const shouldRenderTimeInASingleColumn = 24 * 60 / (timeSteps.hours * timeSteps.minutes) <= thresholdToRenderTimeInASingleColumn;
34
+ const renderTimeView = shouldRenderTimeInASingleColumn ? _timeViewRenderers.renderDigitalClockTimeView : _timeViewRenderers.renderMultiSectionDigitalClockTimeView;
26
35
  const viewRenderers = (0, _extends2.default)({
27
- hours: null,
28
- minutes: null,
29
- seconds: null
36
+ hours: renderTimeView,
37
+ minutes: renderTimeView,
38
+ seconds: renderTimeView,
39
+ meridiem: renderTimeView
30
40
  }, defaultizedProps.viewRenderers);
31
41
  const ampmInClock = defaultizedProps.ampmInClock ?? true;
42
+ const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
43
+ const views = defaultizedProps.ampm ? [...defaultizedProps.views, 'meridiem'] : defaultizedProps.views;
32
44
 
33
45
  // Props with the default values specific to the desktop variant
34
46
  const props = (0, _extends2.default)({}, defaultizedProps, {
35
47
  ampmInClock,
48
+ timeSteps,
36
49
  viewRenderers,
50
+ // Setting only `hours` time view in case of single column time picker
51
+ // Allows for easy view lifecycle management
52
+ views: shouldRenderTimeInASingleColumn ? ['hours'] : views,
37
53
  slots: (0, _extends2.default)({
38
54
  field: _TimeField.TimeField,
39
55
  openPickerIcon: _icons.Clock
40
56
  }, defaultizedProps.slots),
41
57
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
42
- field: ownerState => (0, _extends2.default)({}, (0, _utils.resolveComponentProps)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
58
+ field: ownerState => (0, _extends2.default)({}, (0, _utils.resolveComponentProps)(defaultizedProps.slotProps?.field, ownerState), (0, _extractValidationProps.extractValidationProps)(defaultizedProps), {
43
59
  ref,
44
60
  ampm: defaultizedProps.ampm
45
61
  }),
46
62
  toolbar: (0, _extends2.default)({
47
63
  hidden: true,
48
64
  ampmInClock
49
- }, defaultizedProps.slotProps?.toolbar)
65
+ }, defaultizedProps.slotProps?.toolbar),
66
+ actionBar: (0, _extends2.default)({
67
+ actions: actionBarActions
68
+ }, defaultizedProps.slotProps?.actionBar)
50
69
  })
51
70
  });
52
71
  const {
@@ -230,7 +249,7 @@ DesktopTimePicker.propTypes = {
230
249
  * Used when the component view is not controlled.
231
250
  * Must be a valid option from `views` list.
232
251
  */
233
- openTo: _propTypes.default.oneOf(['hours', 'minutes', 'seconds']),
252
+ openTo: _propTypes.default.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
234
253
  /**
235
254
  * Force rendering in particular orientation.
236
255
  */
@@ -259,11 +278,17 @@ DesktopTimePicker.propTypes = {
259
278
  shouldDisableClock: _propTypes.default.func,
260
279
  /**
261
280
  * Disable specific time.
281
+ * @template TDate
262
282
  * @param {TDate} value The value to check.
263
283
  * @param {TimeView} view The clock type of the timeValue.
264
284
  * @returns {boolean} If `true` the time will be disabled.
265
285
  */
266
286
  shouldDisableTime: _propTypes.default.func,
287
+ /**
288
+ * If `true`, disabled digital clock items will not be rendered.
289
+ * @default false
290
+ */
291
+ skipDisabled: _propTypes.default.bool,
267
292
  /**
268
293
  * The props used for each component slot.
269
294
  * @default {}
@@ -278,6 +303,22 @@ DesktopTimePicker.propTypes = {
278
303
  * The system prop that allows defining system overrides as well as additional CSS styles.
279
304
  */
280
305
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
306
+ /**
307
+ * Amount of time options below or at which the single column time renderer is used.
308
+ * @default 24
309
+ */
310
+ thresholdToRenderTimeInASingleColumn: _propTypes.default.number,
311
+ /**
312
+ * The time steps between two time unit options.
313
+ * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
314
+ * When single column time renderer is used, only `timeStep.minutes` will be used.
315
+ * @default{ hours: 1, minutes: 5, seconds: 5 }
316
+ */
317
+ timeSteps: _propTypes.default.shape({
318
+ hours: _propTypes.default.number,
319
+ minutes: _propTypes.default.number,
320
+ seconds: _propTypes.default.number
321
+ }),
281
322
  /**
282
323
  * The selected value.
283
324
  * Used when the component is controlled.
@@ -288,7 +329,7 @@ DesktopTimePicker.propTypes = {
288
329
  * Used when the component view is controlled.
289
330
  * Must be a valid option from `views` list.
290
331
  */
291
- view: _propTypes.default.oneOf(['hours', 'minutes', 'seconds']),
332
+ view: _propTypes.default.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
292
333
  /**
293
334
  * Define custom view renderers for each section.
294
335
  * If `null`, the section will only have field editing.
@@ -296,6 +337,7 @@ DesktopTimePicker.propTypes = {
296
337
  */
297
338
  viewRenderers: _propTypes.default.shape({
298
339
  hours: _propTypes.default.func,
340
+ meridiem: _propTypes.default.func,
299
341
  minutes: _propTypes.default.func,
300
342
  seconds: _propTypes.default.func
301
343
  }),