@mui/x-date-pickers 6.2.0 → 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 (637) 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 +118 -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 +2 -1
  45. package/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
  46. package/DesktopTimePicker/DesktopTimePicker.js +51 -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/LocalizationProvider/LocalizationProvider.d.ts +1 -1
  57. package/LocalizationProvider/LocalizationProvider.js +1 -1
  58. package/MobileDatePicker/MobileDatePicker.js +2 -1
  59. package/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
  60. package/MobileTimePicker/MobileTimePicker.js +3 -1
  61. package/MobileTimePicker/MobileTimePicker.types.d.ts +8 -7
  62. package/MonthCalendar/MonthCalendar.types.d.ts +1 -1
  63. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +7 -0
  64. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
  65. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +57 -0
  66. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +22 -0
  67. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  68. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +28 -0
  69. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +151 -0
  70. package/MultiSectionDigitalClock/index.d.ts +7 -0
  71. package/MultiSectionDigitalClock/index.js +3 -0
  72. package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.d.ts +7 -0
  73. package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  74. package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.d.ts +9 -0
  75. package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  76. package/MultiSectionDigitalClock/package.json +6 -0
  77. package/PickersDay/PickersDay.js +4 -1
  78. package/PickersLayout/PickersLayout.d.ts +2 -2
  79. package/PickersLayout/PickersLayout.js +2 -2
  80. package/PickersLayout/PickersLayout.types.d.ts +7 -8
  81. package/PickersLayout/usePickerLayout.d.ts +2 -2
  82. package/README.md +0 -9
  83. package/StaticDatePicker/StaticDatePicker.js +1 -0
  84. package/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
  85. package/StaticTimePicker/StaticTimePicker.js +5 -3
  86. package/StaticTimePicker/StaticTimePicker.types.d.ts +1 -1
  87. package/TimeClock/TimeClock.js +35 -12
  88. package/TimeClock/TimeClock.types.d.ts +4 -67
  89. package/TimeField/TimeField.js +21 -3
  90. package/TimeField/TimeField.types.d.ts +3 -2
  91. package/TimeField/useTimeField.js +4 -2
  92. package/TimePicker/TimePicker.js +25 -2
  93. package/TimePicker/TimePicker.types.d.ts +4 -3
  94. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  95. package/TimePicker/TimePickerToolbar.js +2 -2
  96. package/TimePicker/shared.d.ts +9 -7
  97. package/YearCalendar/YearCalendar.types.d.ts +1 -1
  98. package/dateViewRenderers/dateViewRenderers.d.ts +2 -2
  99. package/index.d.ts +2 -0
  100. package/index.js +4 -1
  101. package/internals/components/PickersToolbar.d.ts +3 -3
  102. package/internals/constants/dimensions.d.ts +1 -0
  103. package/internals/constants/dimensions.js +2 -1
  104. package/internals/demo/DemoContainer.js +4 -1
  105. package/internals/hooks/date-helpers-hooks.d.ts +3 -2
  106. package/internals/hooks/date-helpers-hooks.js +3 -3
  107. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
  108. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -15
  109. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -6
  110. package/internals/hooks/useField/useField.js +12 -11
  111. package/internals/hooks/useField/useField.types.d.ts +19 -5
  112. package/internals/hooks/useField/useField.utils.d.ts +9 -6
  113. package/internals/hooks/useField/useField.utils.js +60 -34
  114. package/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  115. package/internals/hooks/useField/useFieldState.js +5 -4
  116. package/internals/hooks/useIsLandscape.d.ts +2 -2
  117. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
  118. package/internals/hooks/useMobilePicker/useMobilePicker.js +10 -10
  119. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -6
  120. package/internals/hooks/usePicker/usePicker.d.ts +4 -3
  121. package/internals/hooks/usePicker/usePicker.js +2 -0
  122. package/internals/hooks/usePicker/usePicker.types.d.ts +6 -5
  123. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +5 -6
  124. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  125. package/internals/hooks/usePicker/usePickerValue.js +10 -12
  126. package/internals/hooks/usePicker/usePickerValue.types.d.ts +5 -3
  127. package/internals/hooks/usePicker/usePickerViews.d.ts +11 -11
  128. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
  129. package/internals/hooks/useStaticPicker/useStaticPicker.js +10 -10
  130. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -5
  131. package/internals/hooks/{validation/useValidation.d.ts → useValidation.d.ts} +1 -1
  132. package/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  133. package/internals/hooks/useViews.d.ts +8 -6
  134. package/internals/hooks/useViews.js +29 -13
  135. package/internals/index.d.ts +7 -7
  136. package/internals/index.js +5 -5
  137. package/internals/models/common.d.ts +3 -0
  138. package/internals/models/index.d.ts +1 -0
  139. package/internals/models/index.js +2 -1
  140. package/internals/models/props/basePickerProps.d.ts +3 -3
  141. package/internals/models/props/clock.d.ts +88 -0
  142. package/internals/models/props/tabs.d.ts +2 -2
  143. package/internals/models/props/toolbar.d.ts +3 -3
  144. package/internals/{hooks/validation/models.d.ts → models/validation.d.ts} +2 -5
  145. package/internals/models/validation.js +1 -0
  146. package/internals/utils/time-utils.d.ts +7 -7
  147. package/internals/utils/time-utils.js +2 -1
  148. package/internals/{hooks/validation/useDateValidation.d.ts → utils/validation/validateDate.d.ts} +2 -3
  149. package/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  150. package/internals/{hooks/validation/useDateTimeValidation.d.ts → utils/validation/validateDateTime.d.ts} +3 -3
  151. package/{modern/internals/hooks/validation/useDateTimeValidation.js → internals/utils/validation/validateDateTime.js} +2 -2
  152. package/internals/{hooks/validation/useTimeValidation.d.ts → utils/validation/validateTime.d.ts} +2 -2
  153. package/{modern/internals/hooks/validation/useTimeValidation.js → internals/utils/validation/validateTime.js} +1 -1
  154. package/internals/utils/valueManagers.js +1 -1
  155. package/internals/utils/views.d.ts +3 -2
  156. package/legacy/AdapterDateFns/AdapterDateFns.js +606 -0
  157. package/legacy/AdapterDateFns/index.js +1 -165
  158. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +620 -0
  159. package/legacy/AdapterDateFnsJalali/index.js +1 -165
  160. package/legacy/AdapterDayjs/AdapterDayjs.js +146 -111
  161. package/legacy/AdapterLuxon/AdapterLuxon.js +524 -0
  162. package/legacy/AdapterLuxon/index.js +1 -127
  163. package/legacy/AdapterMoment/AdapterMoment.js +422 -0
  164. package/legacy/AdapterMoment/index.js +1 -115
  165. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +284 -0
  166. package/legacy/AdapterMomentHijri/index.js +1 -90
  167. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +291 -0
  168. package/legacy/AdapterMomentJalaali/index.js +1 -103
  169. package/legacy/DateCalendar/DayCalendar.js +1 -1
  170. package/legacy/DateCalendar/useCalendarState.js +1 -1
  171. package/legacy/DateCalendar/useIsDateDisabled.js +28 -0
  172. package/legacy/DateField/DateField.js +20 -3
  173. package/legacy/DateField/useDateField.js +4 -2
  174. package/legacy/DatePicker/DatePickerToolbar.js +1 -1
  175. package/legacy/DateTimeField/DateTimeField.js +21 -3
  176. package/legacy/DateTimeField/useDateTimeField.js +4 -2
  177. package/legacy/DateTimePicker/DateTimePicker.js +1 -0
  178. package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -1
  179. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
  180. package/legacy/DesktopTimePicker/DesktopTimePicker.js +52 -8
  181. package/legacy/DigitalClock/DigitalClock.js +419 -0
  182. package/legacy/DigitalClock/DigitalClock.types.js +1 -0
  183. package/legacy/DigitalClock/digitalClockClasses.js +6 -0
  184. package/legacy/DigitalClock/index.js +2 -0
  185. package/legacy/LocalizationProvider/LocalizationProvider.js +1 -1
  186. package/legacy/MobileDatePicker/MobileDatePicker.js +2 -1
  187. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
  188. package/legacy/MobileTimePicker/MobileTimePicker.js +3 -1
  189. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +508 -0
  190. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  191. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  192. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +157 -0
  193. package/legacy/MultiSectionDigitalClock/index.js +3 -0
  194. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  195. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  196. package/legacy/PickersDay/PickersDay.js +3 -1
  197. package/legacy/PickersLayout/PickersLayout.js +2 -2
  198. package/legacy/StaticDatePicker/StaticDatePicker.js +1 -0
  199. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
  200. package/legacy/StaticTimePicker/StaticTimePicker.js +5 -3
  201. package/legacy/TimeClock/TimeClock.js +35 -12
  202. package/legacy/TimeField/TimeField.js +21 -3
  203. package/legacy/TimeField/useTimeField.js +4 -2
  204. package/legacy/TimePicker/TimePicker.js +25 -2
  205. package/legacy/TimePicker/TimePickerToolbar.js +2 -2
  206. package/legacy/index.js +4 -1
  207. package/legacy/internals/constants/dimensions.js +2 -1
  208. package/legacy/internals/demo/DemoContainer.js +4 -1
  209. package/legacy/internals/hooks/date-helpers-hooks.js +3 -3
  210. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -11
  211. package/legacy/internals/hooks/useField/useField.js +11 -10
  212. package/legacy/internals/hooks/useField/useField.utils.js +58 -34
  213. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  214. package/legacy/internals/hooks/useField/useFieldState.js +7 -5
  215. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +5 -6
  216. package/legacy/internals/hooks/usePicker/usePicker.js +2 -0
  217. package/legacy/internals/hooks/usePicker/usePickerValue.js +10 -14
  218. package/legacy/internals/hooks/useStaticPicker/useStaticPicker.js +7 -8
  219. package/legacy/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  220. package/legacy/internals/hooks/useViews.js +30 -14
  221. package/legacy/internals/index.js +5 -5
  222. package/legacy/internals/models/index.js +2 -1
  223. package/legacy/internals/models/props/clock.js +1 -0
  224. package/legacy/internals/models/validation.js +1 -0
  225. package/legacy/internals/utils/time-utils.js +2 -1
  226. package/legacy/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -28
  227. package/legacy/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +2 -2
  228. package/legacy/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  229. package/legacy/internals/utils/valueManagers.js +2 -2
  230. package/legacy/locales/beBY.js +5 -3
  231. package/legacy/locales/caES.js +6 -1
  232. package/legacy/locales/csCZ.js +6 -4
  233. package/legacy/locales/daDK.js +6 -2
  234. package/legacy/locales/deDE.js +6 -2
  235. package/legacy/locales/enUS.js +4 -0
  236. package/legacy/locales/esES.js +6 -1
  237. package/legacy/locales/faIR.js +11 -1
  238. package/legacy/locales/fiFI.js +6 -1
  239. package/legacy/locales/frFR.js +6 -1
  240. package/legacy/locales/heIL.js +6 -1
  241. package/legacy/locales/huHU.js +6 -2
  242. package/legacy/locales/index.js +1 -0
  243. package/legacy/locales/isIS.js +11 -1
  244. package/legacy/locales/itIT.js +6 -1
  245. package/legacy/locales/jaJP.js +6 -2
  246. package/legacy/locales/koKR.js +6 -1
  247. package/legacy/locales/kzKZ.js +6 -2
  248. package/legacy/locales/nbNO.js +11 -1
  249. package/legacy/locales/nlNL.js +11 -1
  250. package/legacy/locales/plPL.js +11 -1
  251. package/legacy/locales/ptBR.js +11 -1
  252. package/legacy/locales/ruRU.js +6 -2
  253. package/legacy/locales/svSE.js +11 -1
  254. package/legacy/locales/trTR.js +22 -7
  255. package/legacy/locales/ukUA.js +11 -1
  256. package/legacy/locales/urPK.js +11 -1
  257. package/legacy/locales/zhCN.js +44 -23
  258. package/legacy/models/common.js +1 -0
  259. package/legacy/models/index.js +2 -1
  260. package/legacy/tests/describeAdapters/describeAdapters.js +1 -3
  261. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  262. package/legacy/tests/describeGregorianAdapter/testCalculations.js +29 -26
  263. package/legacy/tests/describeGregorianAdapter/testLocalization.js +2 -2
  264. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  265. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  266. package/legacy/tests/describeHijriAdapter/index.js +1 -0
  267. package/legacy/tests/describeHijriAdapter/testCalculations.js +94 -0
  268. package/legacy/tests/describeHijriAdapter/testLocalization.js +12 -0
  269. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  270. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  271. package/legacy/tests/describeJalaliAdapter/index.js +1 -0
  272. package/legacy/tests/describeJalaliAdapter/testCalculations.js +82 -0
  273. package/legacy/tests/describeJalaliAdapter/testLocalization.js +12 -0
  274. package/legacy/tests/describePicker/describePicker.js +159 -0
  275. package/legacy/tests/describePicker/describePicker.types.js +1 -0
  276. package/legacy/tests/describePicker/index.js +1 -0
  277. package/legacy/tests/describeValue/describeValue.js +1 -1
  278. package/legacy/tests/describeValue/testControlledUnControlled.js +8 -9
  279. package/legacy/tests/describeValue/testPickerActionBar.js +46 -13
  280. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  281. package/legacy/timeViewRenderers/index.js +1 -1
  282. package/legacy/timeViewRenderers/timeViewRenderers.js +132 -4
  283. package/locales/beBY.d.ts +4 -2
  284. package/locales/beBY.js +3 -3
  285. package/locales/caES.d.ts +4 -2
  286. package/locales/caES.js +4 -1
  287. package/locales/csCZ.d.ts +4 -2
  288. package/locales/csCZ.js +4 -4
  289. package/locales/daDK.d.ts +4 -2
  290. package/locales/daDK.js +4 -2
  291. package/locales/deDE.d.ts +4 -2
  292. package/locales/deDE.js +4 -2
  293. package/locales/enUS.d.ts +3 -2
  294. package/locales/enUS.js +2 -0
  295. package/locales/esES.d.ts +4 -2
  296. package/locales/esES.js +4 -1
  297. package/locales/faIR.d.ts +4 -2
  298. package/locales/faIR.js +9 -1
  299. package/locales/fiFI.d.ts +4 -2
  300. package/locales/fiFI.js +4 -1
  301. package/locales/frFR.d.ts +4 -2
  302. package/locales/frFR.js +4 -1
  303. package/locales/heIL.d.ts +4 -2
  304. package/locales/heIL.js +4 -1
  305. package/locales/huHU.d.ts +4 -2
  306. package/locales/huHU.js +4 -2
  307. package/locales/index.d.ts +1 -0
  308. package/locales/index.js +1 -0
  309. package/locales/isIS.d.ts +4 -2
  310. package/locales/isIS.js +9 -1
  311. package/locales/itIT.d.ts +4 -2
  312. package/locales/itIT.js +4 -1
  313. package/locales/jaJP.d.ts +4 -2
  314. package/locales/jaJP.js +4 -2
  315. package/locales/koKR.d.ts +4 -2
  316. package/locales/koKR.js +4 -1
  317. package/locales/kzKZ.d.ts +4 -2
  318. package/locales/kzKZ.js +4 -2
  319. package/locales/nbNO.d.ts +4 -2
  320. package/locales/nbNO.js +9 -1
  321. package/locales/nlNL.d.ts +8 -7
  322. package/locales/nlNL.js +9 -1
  323. package/locales/plPL.d.ts +4 -2
  324. package/locales/plPL.js +9 -1
  325. package/locales/ptBR.d.ts +4 -2
  326. package/locales/ptBR.js +9 -1
  327. package/locales/ruRU.d.ts +4 -2
  328. package/locales/ruRU.js +4 -2
  329. package/locales/svSE.d.ts +4 -2
  330. package/locales/svSE.js +9 -1
  331. package/locales/trTR.d.ts +4 -2
  332. package/locales/trTR.js +14 -7
  333. package/locales/ukUA.d.ts +4 -2
  334. package/locales/ukUA.js +9 -1
  335. package/locales/urPK.d.ts +4 -2
  336. package/locales/urPK.js +9 -1
  337. package/locales/utils/getPickersLocalization.d.ts +3 -2
  338. package/locales/utils/pickersLocaleTextApi.d.ts +5 -3
  339. package/locales/zhCN.d.ts +4 -2
  340. package/locales/zhCN.js +22 -23
  341. package/models/adapters.d.ts +7 -6
  342. package/models/common.d.ts +5 -0
  343. package/models/common.js +1 -0
  344. package/models/fields.d.ts +20 -2
  345. package/models/index.d.ts +1 -0
  346. package/models/index.js +2 -1
  347. package/modern/AdapterDateFns/AdapterDateFns.js +597 -0
  348. package/modern/AdapterDateFns/index.js +1 -149
  349. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +608 -0
  350. package/modern/AdapterDateFnsJalali/index.js +1 -148
  351. package/modern/AdapterDayjs/AdapterDayjs.js +146 -111
  352. package/modern/AdapterLuxon/AdapterLuxon.js +512 -0
  353. package/modern/AdapterLuxon/index.js +1 -111
  354. package/modern/AdapterMoment/AdapterMoment.js +416 -0
  355. package/modern/AdapterMoment/index.js +1 -99
  356. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
  357. package/modern/AdapterMomentHijri/index.js +1 -74
  358. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
  359. package/modern/AdapterMomentJalaali/index.js +1 -87
  360. package/modern/DateCalendar/DayCalendar.js +1 -1
  361. package/modern/DateCalendar/useCalendarState.js +1 -1
  362. package/modern/DateCalendar/useIsDateDisabled.js +27 -0
  363. package/modern/DateField/DateField.js +20 -3
  364. package/modern/DateField/useDateField.js +4 -2
  365. package/modern/DatePicker/DatePickerToolbar.js +1 -1
  366. package/modern/DateTimeField/DateTimeField.js +21 -3
  367. package/modern/DateTimeField/useDateTimeField.js +4 -2
  368. package/modern/DateTimePicker/DateTimePicker.js +1 -0
  369. package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -1
  370. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -1
  371. package/modern/DesktopTimePicker/DesktopTimePicker.js +50 -7
  372. package/modern/DigitalClock/DigitalClock.js +396 -0
  373. package/modern/DigitalClock/DigitalClock.types.js +1 -0
  374. package/modern/DigitalClock/digitalClockClasses.js +6 -0
  375. package/modern/DigitalClock/index.js +2 -0
  376. package/modern/LocalizationProvider/LocalizationProvider.js +1 -1
  377. package/modern/MobileDatePicker/MobileDatePicker.js +2 -1
  378. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +3 -1
  379. package/modern/MobileTimePicker/MobileTimePicker.js +3 -1
  380. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
  381. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  382. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  383. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +149 -0
  384. package/modern/MultiSectionDigitalClock/index.js +3 -0
  385. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  386. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  387. package/modern/PickersDay/PickersDay.js +4 -1
  388. package/modern/PickersLayout/PickersLayout.js +2 -2
  389. package/modern/StaticDatePicker/StaticDatePicker.js +1 -0
  390. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
  391. package/modern/StaticTimePicker/StaticTimePicker.js +5 -3
  392. package/modern/TimeClock/TimeClock.js +35 -12
  393. package/modern/TimeField/TimeField.js +21 -3
  394. package/modern/TimeField/useTimeField.js +4 -2
  395. package/modern/TimePicker/TimePicker.js +25 -2
  396. package/modern/TimePicker/TimePickerToolbar.js +2 -2
  397. package/modern/index.js +4 -1
  398. package/modern/internals/constants/dimensions.js +2 -1
  399. package/modern/internals/demo/DemoContainer.js +4 -1
  400. package/modern/internals/hooks/date-helpers-hooks.js +3 -3
  401. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -15
  402. package/modern/internals/hooks/useField/useField.js +12 -11
  403. package/modern/internals/hooks/useField/useField.utils.js +60 -34
  404. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  405. package/modern/internals/hooks/useField/useFieldState.js +5 -4
  406. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +10 -10
  407. package/modern/internals/hooks/usePicker/usePicker.js +2 -0
  408. package/modern/internals/hooks/usePicker/usePickerValue.js +10 -12
  409. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +10 -10
  410. package/modern/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  411. package/modern/internals/hooks/useViews.js +29 -13
  412. package/modern/internals/index.js +5 -5
  413. package/modern/internals/models/index.js +2 -1
  414. package/modern/internals/models/props/clock.js +1 -0
  415. package/modern/internals/models/validation.js +1 -0
  416. package/modern/internals/utils/time-utils.js +2 -1
  417. package/modern/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  418. package/{internals/hooks/validation/useDateTimeValidation.js → modern/internals/utils/validation/validateDateTime.js} +2 -2
  419. package/{internals/hooks/validation/useTimeValidation.js → modern/internals/utils/validation/validateTime.js} +1 -1
  420. package/modern/internals/utils/valueManagers.js +1 -1
  421. package/modern/locales/beBY.js +3 -3
  422. package/modern/locales/caES.js +4 -1
  423. package/modern/locales/csCZ.js +4 -4
  424. package/modern/locales/daDK.js +4 -2
  425. package/modern/locales/deDE.js +4 -2
  426. package/modern/locales/enUS.js +2 -0
  427. package/modern/locales/esES.js +4 -1
  428. package/modern/locales/faIR.js +9 -1
  429. package/modern/locales/fiFI.js +4 -1
  430. package/modern/locales/frFR.js +4 -1
  431. package/modern/locales/heIL.js +4 -1
  432. package/modern/locales/huHU.js +4 -2
  433. package/modern/locales/index.js +1 -0
  434. package/modern/locales/isIS.js +9 -1
  435. package/modern/locales/itIT.js +4 -1
  436. package/modern/locales/jaJP.js +4 -2
  437. package/modern/locales/koKR.js +4 -1
  438. package/modern/locales/kzKZ.js +4 -2
  439. package/modern/locales/nbNO.js +9 -1
  440. package/modern/locales/nlNL.js +9 -1
  441. package/modern/locales/plPL.js +9 -1
  442. package/modern/locales/ptBR.js +9 -1
  443. package/modern/locales/ruRU.js +4 -2
  444. package/modern/locales/svSE.js +9 -1
  445. package/modern/locales/trTR.js +14 -7
  446. package/modern/locales/ukUA.js +9 -1
  447. package/modern/locales/urPK.js +9 -1
  448. package/modern/locales/zhCN.js +22 -23
  449. package/modern/models/common.js +1 -0
  450. package/modern/models/index.js +2 -1
  451. package/modern/tests/describeAdapters/describeAdapters.js +1 -3
  452. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  453. package/modern/tests/describeGregorianAdapter/testCalculations.js +29 -26
  454. package/modern/tests/describeGregorianAdapter/testLocalization.js +2 -2
  455. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  456. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  457. package/modern/tests/describeHijriAdapter/index.js +1 -0
  458. package/modern/tests/describeHijriAdapter/testCalculations.js +91 -0
  459. package/modern/tests/describeHijriAdapter/testLocalization.js +13 -0
  460. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  461. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  462. package/modern/tests/describeJalaliAdapter/index.js +1 -0
  463. package/modern/tests/describeJalaliAdapter/testCalculations.js +83 -0
  464. package/modern/tests/describeJalaliAdapter/testLocalization.js +13 -0
  465. package/modern/tests/describePicker/describePicker.js +162 -0
  466. package/modern/tests/describePicker/describePicker.types.js +1 -0
  467. package/modern/tests/describePicker/index.js +1 -0
  468. package/modern/tests/describeValue/describeValue.js +1 -1
  469. package/modern/tests/describeValue/testControlledUnControlled.js +8 -9
  470. package/modern/tests/describeValue/testPickerActionBar.js +46 -13
  471. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  472. package/modern/timeViewRenderers/index.js +1 -1
  473. package/modern/timeViewRenderers/timeViewRenderers.js +130 -2
  474. package/node/AdapterDateFns/AdapterDateFns.js +607 -0
  475. package/node/AdapterDateFns/index.js +6 -152
  476. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +618 -0
  477. package/node/AdapterDateFnsJalali/index.js +6 -151
  478. package/node/AdapterDayjs/AdapterDayjs.js +146 -111
  479. package/node/AdapterLuxon/AdapterLuxon.js +521 -0
  480. package/node/AdapterLuxon/index.js +6 -114
  481. package/node/AdapterMoment/AdapterMoment.js +425 -0
  482. package/node/AdapterMoment/index.js +6 -102
  483. package/node/AdapterMomentHijri/AdapterMomentHijri.js +278 -0
  484. package/node/AdapterMomentHijri/index.js +6 -77
  485. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +285 -0
  486. package/node/AdapterMomentJalaali/index.js +6 -90
  487. package/node/DateCalendar/DayCalendar.js +2 -2
  488. package/node/DateCalendar/useCalendarState.js +2 -2
  489. package/node/{internals/hooks/validation/useDateValidation.js → DateCalendar/useIsDateDisabled.js} +4 -37
  490. package/node/DateField/DateField.js +20 -3
  491. package/node/DateField/useDateField.js +5 -3
  492. package/node/DatePicker/DatePickerToolbar.js +1 -1
  493. package/node/DateTimeField/DateTimeField.js +21 -3
  494. package/node/DateTimeField/useDateTimeField.js +5 -3
  495. package/node/DateTimePicker/DateTimePicker.js +1 -0
  496. package/node/DesktopDatePicker/DesktopDatePicker.js +3 -2
  497. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -2
  498. package/node/DesktopTimePicker/DesktopTimePicker.js +51 -8
  499. package/node/DigitalClock/DigitalClock.js +406 -0
  500. package/node/DigitalClock/digitalClockClasses.js +15 -0
  501. package/node/DigitalClock/index.js +25 -0
  502. package/node/LocalizationProvider/LocalizationProvider.js +1 -1
  503. package/node/MobileDatePicker/MobileDatePicker.js +3 -2
  504. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -2
  505. package/node/MobileTimePicker/MobileTimePicker.js +4 -2
  506. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +489 -0
  507. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +5 -0
  508. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +73 -0
  509. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +159 -0
  510. package/node/MultiSectionDigitalClock/index.js +32 -0
  511. package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +15 -0
  512. package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +15 -0
  513. package/node/PickersDay/PickersDay.js +4 -1
  514. package/node/PickersLayout/PickersLayout.js +2 -2
  515. package/node/StaticDatePicker/StaticDatePicker.js +1 -0
  516. package/node/StaticDateTimePicker/StaticDateTimePicker.js +5 -3
  517. package/node/StaticTimePicker/StaticTimePicker.js +5 -3
  518. package/node/TimeClock/TimeClock.js +35 -12
  519. package/node/TimeField/TimeField.js +21 -3
  520. package/node/TimeField/useTimeField.js +5 -3
  521. package/node/TimePicker/TimePicker.js +25 -2
  522. package/node/TimePicker/TimePickerToolbar.js +2 -2
  523. package/node/index.js +25 -1
  524. package/node/internals/constants/dimensions.js +4 -2
  525. package/node/internals/demo/DemoContainer.js +4 -1
  526. package/node/internals/hooks/date-helpers-hooks.js +3 -3
  527. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -15
  528. package/node/internals/hooks/useField/useField.js +12 -11
  529. package/node/internals/hooks/useField/useField.utils.js +63 -36
  530. package/node/internals/hooks/useField/useFieldCharacterEditing.js +17 -9
  531. package/node/internals/hooks/useField/useFieldState.js +5 -4
  532. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +10 -10
  533. package/node/internals/hooks/usePicker/usePicker.js +2 -0
  534. package/node/internals/hooks/usePicker/usePickerValue.js +10 -12
  535. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +10 -10
  536. package/node/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  537. package/node/internals/hooks/useViews.js +29 -13
  538. package/node/internals/index.js +9 -9
  539. package/node/internals/models/index.js +11 -0
  540. package/node/internals/models/props/clock.js +5 -0
  541. package/node/internals/models/validation.js +5 -0
  542. package/node/internals/utils/time-utils.js +2 -1
  543. package/node/internals/utils/validation/validateDate.js +40 -0
  544. package/node/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +4 -4
  545. package/node/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  546. package/node/internals/utils/valueManagers.js +1 -1
  547. package/node/locales/beBY.js +3 -3
  548. package/node/locales/caES.js +4 -1
  549. package/node/locales/csCZ.js +4 -2
  550. package/node/locales/daDK.js +4 -1
  551. package/node/locales/deDE.js +4 -1
  552. package/node/locales/enUS.js +2 -0
  553. package/node/locales/esES.js +4 -1
  554. package/node/locales/faIR.js +9 -1
  555. package/node/locales/fiFI.js +4 -1
  556. package/node/locales/frFR.js +4 -1
  557. package/node/locales/heIL.js +4 -1
  558. package/node/locales/huHU.js +4 -1
  559. package/node/locales/index.js +11 -0
  560. package/node/locales/isIS.js +9 -1
  561. package/node/locales/itIT.js +4 -1
  562. package/node/locales/jaJP.js +4 -1
  563. package/node/locales/koKR.js +4 -1
  564. package/node/locales/kzKZ.js +4 -1
  565. package/node/locales/nbNO.js +9 -1
  566. package/node/locales/nlNL.js +9 -1
  567. package/node/locales/plPL.js +9 -1
  568. package/node/locales/ptBR.js +9 -1
  569. package/node/locales/ruRU.js +4 -1
  570. package/node/locales/svSE.js +9 -1
  571. package/node/locales/trTR.js +14 -7
  572. package/node/locales/ukUA.js +9 -1
  573. package/node/locales/urPK.js +9 -1
  574. package/node/locales/zhCN.js +22 -23
  575. package/node/models/common.js +5 -0
  576. package/node/models/index.js +11 -0
  577. package/node/tests/describeAdapters/describeAdapters.js +1 -3
  578. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  579. package/node/tests/describeGregorianAdapter/testCalculations.js +29 -26
  580. package/node/tests/describeGregorianAdapter/testLocalization.js +2 -2
  581. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +31 -0
  582. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +5 -0
  583. package/node/tests/describeHijriAdapter/index.js +12 -0
  584. package/node/tests/describeHijriAdapter/testCalculations.js +98 -0
  585. package/node/tests/describeHijriAdapter/testLocalization.js +20 -0
  586. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +33 -0
  587. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +5 -0
  588. package/node/tests/describeJalaliAdapter/index.js +12 -0
  589. package/node/tests/describeJalaliAdapter/testCalculations.js +90 -0
  590. package/node/tests/describeJalaliAdapter/testLocalization.js +20 -0
  591. package/node/tests/describePicker/describePicker.js +173 -0
  592. package/node/tests/describePicker/describePicker.types.js +5 -0
  593. package/node/tests/describePicker/index.js +12 -0
  594. package/node/tests/describeValue/describeValue.js +1 -1
  595. package/node/tests/describeValue/testControlledUnControlled.js +8 -9
  596. package/node/tests/describeValue/testPickerActionBar.js +46 -13
  597. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  598. package/node/timeViewRenderers/index.js +12 -0
  599. package/node/timeViewRenderers/timeViewRenderers.js +134 -4
  600. package/package.json +3 -10
  601. package/tests/describeAdapters/describeAdapters.js +1 -3
  602. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  603. package/tests/describeGregorianAdapter/testCalculations.js +29 -26
  604. package/tests/describeGregorianAdapter/testLocalization.js +2 -2
  605. package/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  606. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  607. package/tests/describeHijriAdapter/index.js +1 -0
  608. package/tests/describeHijriAdapter/testCalculations.js +91 -0
  609. package/tests/describeHijriAdapter/testLocalization.js +13 -0
  610. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  611. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  612. package/tests/describeJalaliAdapter/index.js +1 -0
  613. package/tests/describeJalaliAdapter/testCalculations.js +83 -0
  614. package/tests/describeJalaliAdapter/testLocalization.js +13 -0
  615. package/tests/describePicker/describePicker.js +162 -0
  616. package/tests/describePicker/describePicker.types.js +1 -0
  617. package/tests/describePicker/index.js +1 -0
  618. package/tests/describeValue/describeValue.js +1 -1
  619. package/tests/describeValue/testControlledUnControlled.js +8 -9
  620. package/tests/describeValue/testPickerActionBar.js +46 -13
  621. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  622. package/themeAugmentation/components.d.ts +12 -0
  623. package/themeAugmentation/overrides.d.ts +8 -0
  624. package/themeAugmentation/props.d.ts +8 -0
  625. package/timeViewRenderers/index.d.ts +1 -1
  626. package/timeViewRenderers/index.js +1 -1
  627. package/timeViewRenderers/timeViewRenderers.d.ts +11 -4
  628. package/timeViewRenderers/timeViewRenderers.js +130 -2
  629. /package/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
  630. /package/{legacy/internals/hooks/validation/models.js → MultiSectionDigitalClock/MultiSectionDigitalClock.types.js} +0 -0
  631. /package/{modern/internals/hooks/validation/models.js → internals/models/props/clock.js} +0 -0
  632. /package/internals/utils/{validation.d.ts → validation/extractValidationProps.d.ts} +0 -0
  633. /package/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  634. /package/legacy/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  635. /package/modern/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  636. /package/node/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
  637. /package/node/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["value", "defaultValue", "format", "formatDensity", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
3
+ const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
4
4
  import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
5
5
  import { useField } from '../internals/hooks/useField';
6
- import { validateDate } from '../internals/hooks/validation/useDateValidation';
6
+ import { validateDate } from '../internals/utils/validation/validateDate';
7
7
  import { applyDefaultDate } from '../internals/utils/date-utils';
8
8
  import { useUtils, useDefaultDates } from '../internals/hooks/useUtils';
9
9
  const useDefaultizedDateField = props => {
@@ -28,6 +28,7 @@ export const useDateField = ({
28
28
  defaultValue,
29
29
  format,
30
30
  formatDensity,
31
+ shouldRespectLeadingZeros,
31
32
  onChange,
32
33
  readOnly,
33
34
  onError,
@@ -51,6 +52,7 @@ export const useDateField = ({
51
52
  defaultValue,
52
53
  format,
53
54
  formatDensity,
55
+ shouldRespectLeadingZeros,
54
56
  onChange,
55
57
  readOnly,
56
58
  onError,
@@ -131,6 +131,6 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
131
131
  * Currently visible picker view.
132
132
  */
133
133
  view: PropTypes.oneOf(['day', 'month', 'year']).isRequired,
134
- views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
134
+ views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'month', 'year']).isRequired).isRequired
135
135
  } : void 0;
136
136
  export { DatePickerToolbar };
@@ -55,11 +55,13 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
55
55
  return /*#__PURE__*/_jsx(TextField, _extends({
56
56
  ref: ref
57
57
  }, fieldProps, {
58
+ InputProps: _extends({}, fieldProps.InputProps, {
59
+ readOnly
60
+ }),
58
61
  inputProps: _extends({}, fieldProps.inputProps, {
59
- ref: inputRef,
60
- onPaste,
61
62
  inputMode,
62
- readOnly
63
+ onPaste,
64
+ ref: inputRef
63
65
  })
64
66
  }));
65
67
  });
@@ -298,6 +300,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
298
300
  shouldDisableMonth: PropTypes.func,
299
301
  /**
300
302
  * Disable specific time.
303
+ * @template TDate
301
304
  * @param {TDate} value The value to check.
302
305
  * @param {TimeView} view The clock type of the timeValue.
303
306
  * @returns {boolean} If `true` the time will be disabled.
@@ -310,6 +313,21 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
310
313
  * @returns {boolean} If `true`, the year will be disabled.
311
314
  */
312
315
  shouldDisableYear: PropTypes.func,
316
+ /**
317
+ * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
318
+ * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
319
+ *
320
+ * 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`.
321
+ *
322
+ * 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.
323
+ * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
324
+ *
325
+ * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
326
+ * 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.
327
+ *
328
+ * @default `false`
329
+ */
330
+ shouldRespectLeadingZeros: PropTypes.bool,
313
331
  /**
314
332
  * The size of the component.
315
333
  */
@@ -4,8 +4,9 @@ import TextField from '@mui/material/TextField';
4
4
  import { DateTimeValidationError, FieldSection } from '../models';
5
5
  import { UseFieldInternalProps } from '../internals/hooks/useField';
6
6
  import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
7
- import { BaseDateValidationProps, BaseTimeValidationProps, DayValidationProps, MonthValidationProps, TimeValidationProps, YearValidationProps } from '../internals/hooks/validation/models';
8
- import { FieldsTextFieldProps, UncapitalizeObjectKeys } from '../internals';
7
+ import { BaseDateValidationProps, BaseTimeValidationProps, DayValidationProps, MonthValidationProps, TimeValidationProps, YearValidationProps } from '../internals/models/validation';
8
+ import { FieldsTextFieldProps } from '../internals/models/fields';
9
+ import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration';
9
10
  export interface UseDateTimeFieldParams<TDate, TChildProps extends {}> {
10
11
  props: UseDateTimeFieldComponentProps<TDate, TChildProps>;
11
12
  inputRef?: React.Ref<HTMLInputElement>;
@@ -1,9 +1,9 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- 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"];
3
+ 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"];
4
4
  import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
5
5
  import { useField } from '../internals/hooks/useField';
6
- import { validateDateTime } from '../internals/hooks/validation/useDateTimeValidation';
6
+ import { validateDateTime } from '../internals/utils/validation/validateDateTime';
7
7
  import { applyDefaultDate } from '../internals/utils/date-utils';
8
8
  import { useUtils, useDefaultDates } from '../internals/hooks/useUtils';
9
9
  const useDefaultizedDateTimeField = props => {
@@ -33,6 +33,7 @@ export const useDateTimeField = ({
33
33
  defaultValue,
34
34
  format,
35
35
  formatDensity,
36
+ shouldRespectLeadingZeros,
36
37
  onChange,
37
38
  readOnly,
38
39
  onError,
@@ -63,6 +64,7 @@ export const useDateTimeField = ({
63
64
  defaultValue,
64
65
  format,
65
66
  formatDensity,
67
+ shouldRespectLeadingZeros,
66
68
  onChange,
67
69
  readOnly,
68
70
  onError,
@@ -326,6 +326,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
326
326
  shouldDisableMonth: PropTypes.func,
327
327
  /**
328
328
  * Disable specific time.
329
+ * @template TDate
329
330
  * @param {TDate} value The value to check.
330
331
  * @param {TimeView} view The clock type of the timeValue.
331
332
  * @returns {boolean} If `true` the time will be disabled.
@@ -1,17 +1,18 @@
1
1
  import * as React from 'react';
2
2
  import { DefaultizedProps } from '../internals/models/helpers';
3
- import { DateOrTimeView, DateTimeValidationError } from '../models';
3
+ import { DateOrTimeView, DateTimeValidationError, TimeView } from '../models';
4
4
  import { DateCalendarSlotsComponent, DateCalendarSlotsComponentsProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
5
- import { TimeClockSlotsComponent, TimeClockSlotsComponentsProps, ExportedTimeClockProps } from '../TimeClock/TimeClock.types';
5
+ import { TimeClockSlotsComponent, TimeClockSlotsComponentsProps } from '../TimeClock/TimeClock.types';
6
6
  import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
7
7
  import { DateTimePickerTabsProps, ExportedDateTimePickerTabsProps } from './DateTimePickerTabs';
8
- import { BaseDateValidationProps, BaseTimeValidationProps } from '../internals/hooks/validation/models';
8
+ import { BaseDateValidationProps, BaseTimeValidationProps } from '../internals/models/validation';
9
9
  import { LocalizedComponent } from '../locales/utils/pickersLocaleTextApi';
10
10
  import { DateTimePickerToolbarProps, ExportedDateTimePickerToolbarProps } from './DateTimePickerToolbar';
11
11
  import { PickerViewRendererLookup } from '../internals/hooks/usePicker/usePickerViews';
12
12
  import { DateViewRendererProps } from '../dateViewRenderers';
13
13
  import { TimeViewRendererProps } from '../timeViewRenderers';
14
14
  import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration';
15
+ import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock';
15
16
  export interface BaseDateTimePickerSlotsComponent<TDate> extends DateCalendarSlotsComponent<TDate>, TimeClockSlotsComponent {
16
17
  /**
17
18
  * Tabs enabling toggling between date and time pickers.
@@ -34,7 +35,7 @@ export interface BaseDateTimePickerSlotsComponentsProps<TDate> extends DateCalen
34
35
  */
35
36
  toolbar?: ExportedDateTimePickerToolbarProps;
36
37
  }
37
- export interface BaseDateTimePickerProps<TDate> extends BasePickerInputProps<TDate | null, TDate, DateOrTimeView, DateTimeValidationError>, Omit<ExportedDateCalendarProps<TDate>, 'onViewChange'>, ExportedTimeClockProps<TDate> {
38
+ export interface BaseDateTimePickerProps<TDate> extends BasePickerInputProps<TDate | null, TDate, DateOrTimeView, DateTimeValidationError>, Omit<ExportedDateCalendarProps<TDate>, 'onViewChange'>, ExportedBaseClockProps<TDate> {
38
39
  /**
39
40
  * Display ampm controls under the clock (instead of in the toolbar).
40
41
  * @default true on desktop, false on mobile
@@ -75,7 +76,7 @@ export interface BaseDateTimePickerProps<TDate> extends BasePickerInputProps<TDa
75
76
  * If `null`, the section will only have field editing.
76
77
  * If `undefined`, internally defined view will be the used.
77
78
  */
78
- viewRenderers?: Partial<PickerViewRendererLookup<TDate | null, DateOrTimeView, DateViewRendererProps<TDate, DateOrTimeView> & TimeViewRendererProps<TDate, DateOrTimeView>, {}>>;
79
+ viewRenderers?: Partial<PickerViewRendererLookup<TDate | null, DateOrTimeView, DateViewRendererProps<TDate, DateOrTimeView> & TimeViewRendererProps<TimeView, BaseClockProps<TDate, TimeView>>, {}>>;
79
80
  }
80
81
  type UseDateTimePickerDefaultizedProps<TDate, Props extends BaseDateTimePickerProps<TDate>> = LocalizedComponent<TDate, DefaultizedProps<Props, 'views' | 'openTo' | 'orientation' | 'ampm' | keyof BaseDateValidationProps<TDate> | keyof BaseTimeValidationProps>>;
81
82
  export declare function useDateTimePickerDefaultizedProps<TDate, Props extends BaseDateTimePickerProps<TDate>>(props: Props, name: string): Omit<UseDateTimePickerDefaultizedProps<TDate, Props>, 'components' | 'componentsProps'>;
@@ -8,7 +8,7 @@ import { useLocaleText, useUtils, validateDate } from '../internals';
8
8
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
9
9
  import { Calendar } from '../internals/components/icons';
10
10
  import { DateField } from '../DateField';
11
- import { extractValidationProps } from '../internals/utils/validation';
11
+ import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
12
12
  import { renderDateViewCalendar } from '../dateViewRenderers';
13
13
  const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
14
14
  var _defaultizedProps$yea, _defaultizedProps$slo2;
@@ -49,6 +49,7 @@ const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePick
49
49
  } = useDesktopPicker({
50
50
  props,
51
51
  valueManager: singleItemValueManager,
52
+ valueType: 'date',
52
53
  getOpenDialogAriaText: localeText.openDatePickerDialogue,
53
54
  validator: validateDate
54
55
  });
@@ -9,7 +9,7 @@ import { renderDateViewCalendar } from '../dateViewRenderers';
9
9
  import { useLocaleText, validateDateTime } from '../internals';
10
10
  import { Calendar } from '../internals/components/icons';
11
11
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
12
- import { extractValidationProps } from '../internals/utils/validation';
12
+ import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
13
13
  const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
14
14
  var _defaultizedProps$amp, _defaultizedProps$yea, _defaultizedProps$slo2, _defaultizedProps$slo3;
15
15
  const localeText = useLocaleText();
@@ -57,6 +57,7 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
57
57
  } = useDesktopPicker({
58
58
  props,
59
59
  valueManager: singleItemValueManager,
60
+ valueType: 'date-time',
60
61
  getOpenDialogAriaText: localeText.openDatePickerDialogue,
61
62
  validator: validateDateTime
62
63
  });
@@ -350,6 +351,7 @@ DesktopDateTimePicker.propTypes = {
350
351
  shouldDisableMonth: PropTypes.func,
351
352
  /**
352
353
  * Disable specific time.
354
+ * @template TDate
353
355
  * @param {TDate} value The value to check.
354
356
  * @param {TimeView} view The clock type of the timeValue.
355
357
  * @returns {boolean} If `true` the time will be disabled.
@@ -8,24 +8,40 @@ import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
8
8
  import { useLocaleText, validateTime } from '../internals';
9
9
  import { Clock } from '../internals/components/icons';
10
10
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
11
- import { extractValidationProps } from '../internals/utils/validation';
11
+ import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
12
+ import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '../timeViewRenderers';
12
13
  const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
13
- var _defaultizedProps$amp, _defaultizedProps$slo2;
14
+ var _defaultizedProps$thr, _defaultizedProps$amp, _defaultizedProps$slo2, _defaultizedProps$slo3;
14
15
  const localeText = useLocaleText();
15
16
 
16
17
  // Props with the default values common to all time pickers
17
18
  const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiDesktopTimePicker');
19
+ const thresholdToRenderTimeInASingleColumn = (_defaultizedProps$thr = defaultizedProps.thresholdToRenderTimeInASingleColumn) != null ? _defaultizedProps$thr : 24;
20
+ const timeSteps = _extends({
21
+ hours: 1,
22
+ minutes: 5,
23
+ seconds: 5
24
+ }, defaultizedProps.timeSteps);
25
+ const shouldRenderTimeInASingleColumn = 24 * 60 / (timeSteps.hours * timeSteps.minutes) <= thresholdToRenderTimeInASingleColumn;
26
+ const renderTimeView = shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;
18
27
  const viewRenderers = _extends({
19
- hours: null,
20
- minutes: null,
21
- seconds: null
28
+ hours: renderTimeView,
29
+ minutes: renderTimeView,
30
+ seconds: renderTimeView,
31
+ meridiem: renderTimeView
22
32
  }, defaultizedProps.viewRenderers);
23
33
  const ampmInClock = (_defaultizedProps$amp = defaultizedProps.ampmInClock) != null ? _defaultizedProps$amp : true;
34
+ const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
35
+ const views = defaultizedProps.ampm ? [...defaultizedProps.views, 'meridiem'] : defaultizedProps.views;
24
36
 
25
37
  // Props with the default values specific to the desktop variant
26
38
  const props = _extends({}, defaultizedProps, {
27
39
  ampmInClock,
40
+ timeSteps,
28
41
  viewRenderers,
42
+ // Setting only `hours` time view in case of single column time picker
43
+ // Allows for easy view lifecycle management
44
+ views: shouldRenderTimeInASingleColumn ? ['hours'] : views,
29
45
  slots: _extends({
30
46
  field: TimeField,
31
47
  openPickerIcon: Clock
@@ -41,7 +57,10 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
41
57
  toolbar: _extends({
42
58
  hidden: true,
43
59
  ampmInClock
44
- }, (_defaultizedProps$slo2 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo2.toolbar)
60
+ }, (_defaultizedProps$slo2 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo2.toolbar),
61
+ actionBar: _extends({
62
+ actions: actionBarActions
63
+ }, (_defaultizedProps$slo3 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo3.actionBar)
45
64
  })
46
65
  });
47
66
  const {
@@ -49,6 +68,7 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
49
68
  } = useDesktopPicker({
50
69
  props,
51
70
  valueManager: singleItemValueManager,
71
+ valueType: 'time',
52
72
  getOpenDialogAriaText: localeText.openTimePickerDialogue,
53
73
  validator: validateTime
54
74
  });
@@ -223,7 +243,7 @@ DesktopTimePicker.propTypes = {
223
243
  * Used when the component view is not controlled.
224
244
  * Must be a valid option from `views` list.
225
245
  */
226
- openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
246
+ openTo: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
227
247
  /**
228
248
  * Force rendering in particular orientation.
229
249
  */
@@ -252,11 +272,17 @@ DesktopTimePicker.propTypes = {
252
272
  shouldDisableClock: PropTypes.func,
253
273
  /**
254
274
  * Disable specific time.
275
+ * @template TDate
255
276
  * @param {TDate} value The value to check.
256
277
  * @param {TimeView} view The clock type of the timeValue.
257
278
  * @returns {boolean} If `true` the time will be disabled.
258
279
  */
259
280
  shouldDisableTime: PropTypes.func,
281
+ /**
282
+ * If `true`, disabled digital clock items will not be rendered.
283
+ * @default false
284
+ */
285
+ skipDisabled: PropTypes.bool,
260
286
  /**
261
287
  * The props used for each component slot.
262
288
  * @default {}
@@ -271,6 +297,22 @@ DesktopTimePicker.propTypes = {
271
297
  * The system prop that allows defining system overrides as well as additional CSS styles.
272
298
  */
273
299
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
300
+ /**
301
+ * Amount of time options below or at which the single column time renderer is used.
302
+ * @default 24
303
+ */
304
+ thresholdToRenderTimeInASingleColumn: PropTypes.number,
305
+ /**
306
+ * The time steps between two time unit options.
307
+ * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
308
+ * When single column time renderer is used, only `timeStep.minutes` will be used.
309
+ * @default{ hours: 1, minutes: 5, seconds: 5 }
310
+ */
311
+ timeSteps: PropTypes.shape({
312
+ hours: PropTypes.number,
313
+ minutes: PropTypes.number,
314
+ seconds: PropTypes.number
315
+ }),
274
316
  /**
275
317
  * The selected value.
276
318
  * Used when the component is controlled.
@@ -281,7 +323,7 @@ DesktopTimePicker.propTypes = {
281
323
  * Used when the component view is controlled.
282
324
  * Must be a valid option from `views` list.
283
325
  */
284
- view: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
326
+ view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
285
327
  /**
286
328
  * Define custom view renderers for each section.
287
329
  * If `null`, the section will only have field editing.
@@ -289,6 +331,7 @@ DesktopTimePicker.propTypes = {
289
331
  */
290
332
  viewRenderers: PropTypes.shape({
291
333
  hours: PropTypes.func,
334
+ meridiem: PropTypes.func,
292
335
  minutes: PropTypes.func,
293
336
  seconds: PropTypes.func
294
337
  }),
@@ -1,13 +1,21 @@
1
1
  import { UseDesktopPickerSlotsComponent, ExportedUseDesktopPickerSlotsComponentsProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
2
2
  import { BaseTimePickerProps, BaseTimePickerSlotsComponent, BaseTimePickerSlotsComponentsProps } from '../TimePicker/shared';
3
3
  import { MakeOptional } from '../internals/models/helpers';
4
- import { TimeView } from '../models';
4
+ import { TimeViewWithMeridiem } from '../internals/models';
5
5
  import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration';
6
- export interface DesktopTimePickerSlotsComponent<TDate> extends BaseTimePickerSlotsComponent<TDate>, MakeOptional<UseDesktopPickerSlotsComponent<TDate, TimeView>, 'Field' | 'OpenPickerIcon'> {
6
+ import { DesktopOnlyTimePickerProps } from '../internals/models/props/clock';
7
+ import { DigitalClockSlotsComponent, DigitalClockSlotsComponentsProps } from '../DigitalClock';
8
+ import { MultiSectionDigitalClockSlotsComponent, MultiSectionDigitalClockSlotsComponentsProps } from '../MultiSectionDigitalClock';
9
+ import { TimeView } from '../models';
10
+ export interface DesktopTimePickerSlotsComponent<TDate> extends BaseTimePickerSlotsComponent<TDate>, MakeOptional<UseDesktopPickerSlotsComponent<TDate, TimeViewWithMeridiem>, 'Field' | 'OpenPickerIcon'>, DigitalClockSlotsComponent, MultiSectionDigitalClockSlotsComponent {
7
11
  }
8
- export interface DesktopTimePickerSlotsComponentsProps<TDate> extends BaseTimePickerSlotsComponentsProps, ExportedUseDesktopPickerSlotsComponentsProps<TDate, TimeView> {
12
+ export interface DesktopTimePickerSlotsComponentsProps<TDate> extends BaseTimePickerSlotsComponentsProps, ExportedUseDesktopPickerSlotsComponentsProps<TDate, TimeViewWithMeridiem>, DigitalClockSlotsComponentsProps, MultiSectionDigitalClockSlotsComponentsProps {
9
13
  }
10
- export interface DesktopTimePickerProps<TDate> extends BaseTimePickerProps<TDate>, DesktopOnlyPickerProps<TDate> {
14
+ export interface DesktopTimePickerProps<TDate> extends BaseTimePickerProps<TDate, TimeViewWithMeridiem>, DesktopOnlyPickerProps<TDate>, DesktopOnlyTimePickerProps<TDate> {
15
+ /**
16
+ * Available views.
17
+ */
18
+ views?: readonly TimeView[];
11
19
  /**
12
20
  * Overridable components.
13
21
  * @default {}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { DigitalClockProps } from './DigitalClock.types';
3
+ type DigitalClockComponent = (<TDate>(props: DigitalClockProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
4
+ propTypes?: any;
5
+ };
6
+ export declare const DigitalClock: DigitalClockComponent;
7
+ export {};