@mui/x-date-pickers 6.2.1 → 6.3.1

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 (616) 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 -3
  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 +24 -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 +25 -3
  40. package/DateTimeField/DateTimeField.types.d.ts +4 -11
  41. package/DateTimeField/useDateTimeField.js +4 -2
  42. package/DateTimePicker/DateTimePicker.js +1 -0
  43. package/DateTimePicker/shared.d.ts +6 -12
  44. package/DesktopDatePicker/DesktopDatePicker.js +1 -1
  45. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  46. package/DesktopTimePicker/DesktopTimePicker.js +52 -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 +5 -67
  86. package/TimeField/TimeField.js +25 -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 +61 -35
  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 +12 -12
  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} +13 -3
  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/utils/{validation.d.ts → validation/extractValidationProps.d.ts} +1 -1
  143. package/internals/utils/{validation.js → validation/extractValidationProps.js} +1 -1
  144. package/internals/{hooks/validation/useDateValidation.d.ts → utils/validation/validateDate.d.ts} +2 -3
  145. package/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  146. package/internals/{hooks/validation/useDateTimeValidation.d.ts → utils/validation/validateDateTime.d.ts} +3 -3
  147. package/{modern/internals/hooks/validation/useDateTimeValidation.js → internals/utils/validation/validateDateTime.js} +2 -2
  148. package/internals/{hooks/validation/useTimeValidation.d.ts → utils/validation/validateTime.d.ts} +2 -2
  149. package/{modern/internals/hooks/validation/useTimeValidation.js → internals/utils/validation/validateTime.js} +1 -1
  150. package/internals/utils/views.d.ts +3 -2
  151. package/legacy/AdapterDateFns/AdapterDateFns.js +606 -0
  152. package/legacy/AdapterDateFns/index.js +1 -165
  153. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +620 -0
  154. package/legacy/AdapterDateFnsJalali/index.js +1 -165
  155. package/legacy/AdapterDayjs/AdapterDayjs.js +146 -111
  156. package/legacy/AdapterLuxon/AdapterLuxon.js +524 -0
  157. package/legacy/AdapterLuxon/index.js +1 -127
  158. package/legacy/AdapterMoment/AdapterMoment.js +422 -0
  159. package/legacy/AdapterMoment/index.js +1 -115
  160. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +284 -0
  161. package/legacy/AdapterMomentHijri/index.js +1 -90
  162. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +291 -0
  163. package/legacy/AdapterMomentJalaali/index.js +1 -103
  164. package/legacy/DateCalendar/DayCalendar.js +1 -1
  165. package/legacy/DateCalendar/useCalendarState.js +1 -1
  166. package/legacy/DateCalendar/useIsDateDisabled.js +28 -0
  167. package/legacy/DateField/DateField.js +24 -3
  168. package/legacy/DateField/useDateField.js +4 -2
  169. package/legacy/DatePicker/DatePickerToolbar.js +1 -1
  170. package/legacy/DateTimeField/DateTimeField.js +25 -3
  171. package/legacy/DateTimeField/useDateTimeField.js +4 -2
  172. package/legacy/DateTimePicker/DateTimePicker.js +1 -0
  173. package/legacy/DesktopDatePicker/DesktopDatePicker.js +1 -1
  174. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  175. package/legacy/DesktopTimePicker/DesktopTimePicker.js +53 -8
  176. package/legacy/DigitalClock/DigitalClock.js +419 -0
  177. package/legacy/DigitalClock/DigitalClock.types.js +1 -0
  178. package/legacy/DigitalClock/digitalClockClasses.js +6 -0
  179. package/legacy/DigitalClock/index.js +2 -0
  180. package/legacy/MobileDatePicker/MobileDatePicker.js +1 -1
  181. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  182. package/legacy/MobileTimePicker/MobileTimePicker.js +2 -1
  183. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +508 -0
  184. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  185. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  186. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +157 -0
  187. package/legacy/MultiSectionDigitalClock/index.js +3 -0
  188. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  189. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  190. package/legacy/PickersDay/PickersDay.js +3 -1
  191. package/legacy/PickersLayout/PickersLayout.js +2 -2
  192. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  193. package/legacy/StaticTimePicker/StaticTimePicker.js +2 -1
  194. package/legacy/TimeClock/TimeClock.js +35 -12
  195. package/legacy/TimeField/TimeField.js +25 -3
  196. package/legacy/TimeField/useTimeField.js +4 -2
  197. package/legacy/TimePicker/TimePicker.js +25 -2
  198. package/legacy/TimePicker/TimePickerToolbar.js +2 -2
  199. package/legacy/index.js +4 -1
  200. package/legacy/internals/constants/dimensions.js +2 -1
  201. package/legacy/internals/demo/DemoContainer.js +4 -1
  202. package/legacy/internals/hooks/date-helpers-hooks.js +3 -3
  203. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  204. package/legacy/internals/hooks/useField/useField.js +11 -10
  205. package/legacy/internals/hooks/useField/useField.utils.js +59 -35
  206. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  207. package/legacy/internals/hooks/useField/useFieldState.js +6 -4
  208. package/legacy/internals/hooks/usePicker/usePickerValue.js +1 -1
  209. package/legacy/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  210. package/legacy/internals/hooks/useViews.js +30 -14
  211. package/legacy/internals/index.js +5 -5
  212. package/legacy/internals/models/index.js +2 -1
  213. package/legacy/internals/models/props/clock.js +1 -0
  214. package/legacy/internals/models/validation.js +1 -0
  215. package/legacy/internals/utils/time-utils.js +2 -1
  216. package/legacy/internals/utils/{validation.js → validation/extractValidationProps.js} +1 -1
  217. package/legacy/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -28
  218. package/legacy/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +2 -2
  219. package/legacy/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  220. package/legacy/locales/beBY.js +5 -3
  221. package/legacy/locales/caES.js +6 -1
  222. package/legacy/locales/csCZ.js +6 -4
  223. package/legacy/locales/daDK.js +6 -2
  224. package/legacy/locales/deDE.js +6 -2
  225. package/legacy/locales/enUS.js +4 -0
  226. package/legacy/locales/esES.js +6 -1
  227. package/legacy/locales/faIR.js +11 -1
  228. package/legacy/locales/fiFI.js +6 -1
  229. package/legacy/locales/frFR.js +6 -1
  230. package/legacy/locales/heIL.js +6 -1
  231. package/legacy/locales/huHU.js +6 -2
  232. package/legacy/locales/index.js +1 -0
  233. package/legacy/locales/isIS.js +11 -1
  234. package/legacy/locales/itIT.js +6 -1
  235. package/legacy/locales/jaJP.js +6 -2
  236. package/legacy/locales/koKR.js +6 -1
  237. package/legacy/locales/kzKZ.js +6 -2
  238. package/legacy/locales/nbNO.js +11 -1
  239. package/legacy/locales/nlNL.js +11 -1
  240. package/legacy/locales/plPL.js +11 -1
  241. package/legacy/locales/ptBR.js +11 -1
  242. package/legacy/locales/ruRU.js +6 -2
  243. package/legacy/locales/svSE.js +11 -1
  244. package/legacy/locales/trTR.js +22 -7
  245. package/legacy/locales/ukUA.js +11 -1
  246. package/legacy/locales/urPK.js +11 -1
  247. package/legacy/locales/zhCN.js +44 -23
  248. package/legacy/models/common.js +1 -0
  249. package/legacy/models/index.js +2 -1
  250. package/legacy/tests/describeAdapters/describeAdapters.js +1 -3
  251. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  252. package/legacy/tests/describeGregorianAdapter/testCalculations.js +29 -26
  253. package/legacy/tests/describeGregorianAdapter/testLocalization.js +2 -2
  254. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  255. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  256. package/legacy/tests/describeHijriAdapter/index.js +1 -0
  257. package/legacy/tests/describeHijriAdapter/testCalculations.js +94 -0
  258. package/legacy/tests/describeHijriAdapter/testLocalization.js +12 -0
  259. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  260. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  261. package/legacy/tests/describeJalaliAdapter/index.js +1 -0
  262. package/legacy/tests/describeJalaliAdapter/testCalculations.js +82 -0
  263. package/legacy/tests/describeJalaliAdapter/testLocalization.js +12 -0
  264. package/legacy/tests/describePicker/describePicker.js +159 -0
  265. package/legacy/tests/describePicker/describePicker.types.js +1 -0
  266. package/legacy/tests/describePicker/index.js +1 -0
  267. package/legacy/tests/describeValidation/testTextFieldValidation.js +26 -0
  268. package/legacy/tests/describeValue/describeValue.js +1 -1
  269. package/legacy/tests/describeValue/testControlledUnControlled.js +8 -9
  270. package/legacy/tests/describeValue/testPickerActionBar.js +46 -13
  271. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  272. package/legacy/timeViewRenderers/index.js +1 -1
  273. package/legacy/timeViewRenderers/timeViewRenderers.js +132 -4
  274. package/locales/beBY.d.ts +4 -2
  275. package/locales/beBY.js +3 -3
  276. package/locales/caES.d.ts +4 -2
  277. package/locales/caES.js +4 -1
  278. package/locales/csCZ.d.ts +4 -2
  279. package/locales/csCZ.js +4 -4
  280. package/locales/daDK.d.ts +4 -2
  281. package/locales/daDK.js +4 -2
  282. package/locales/deDE.d.ts +4 -2
  283. package/locales/deDE.js +4 -2
  284. package/locales/enUS.d.ts +3 -2
  285. package/locales/enUS.js +2 -0
  286. package/locales/esES.d.ts +4 -2
  287. package/locales/esES.js +4 -1
  288. package/locales/faIR.d.ts +4 -2
  289. package/locales/faIR.js +9 -1
  290. package/locales/fiFI.d.ts +4 -2
  291. package/locales/fiFI.js +4 -1
  292. package/locales/frFR.d.ts +4 -2
  293. package/locales/frFR.js +4 -1
  294. package/locales/heIL.d.ts +4 -2
  295. package/locales/heIL.js +4 -1
  296. package/locales/huHU.d.ts +4 -2
  297. package/locales/huHU.js +4 -2
  298. package/locales/index.d.ts +1 -0
  299. package/locales/index.js +1 -0
  300. package/locales/isIS.d.ts +4 -2
  301. package/locales/isIS.js +9 -1
  302. package/locales/itIT.d.ts +4 -2
  303. package/locales/itIT.js +4 -1
  304. package/locales/jaJP.d.ts +4 -2
  305. package/locales/jaJP.js +4 -2
  306. package/locales/koKR.d.ts +4 -2
  307. package/locales/koKR.js +4 -1
  308. package/locales/kzKZ.d.ts +4 -2
  309. package/locales/kzKZ.js +4 -2
  310. package/locales/nbNO.d.ts +4 -2
  311. package/locales/nbNO.js +9 -1
  312. package/locales/nlNL.d.ts +8 -7
  313. package/locales/nlNL.js +9 -1
  314. package/locales/plPL.d.ts +4 -2
  315. package/locales/plPL.js +9 -1
  316. package/locales/ptBR.d.ts +4 -2
  317. package/locales/ptBR.js +9 -1
  318. package/locales/ruRU.d.ts +4 -2
  319. package/locales/ruRU.js +4 -2
  320. package/locales/svSE.d.ts +4 -2
  321. package/locales/svSE.js +9 -1
  322. package/locales/trTR.d.ts +4 -2
  323. package/locales/trTR.js +14 -7
  324. package/locales/ukUA.d.ts +4 -2
  325. package/locales/ukUA.js +9 -1
  326. package/locales/urPK.d.ts +4 -2
  327. package/locales/urPK.js +9 -1
  328. package/locales/utils/getPickersLocalization.d.ts +3 -2
  329. package/locales/utils/pickersLocaleTextApi.d.ts +5 -3
  330. package/locales/zhCN.d.ts +4 -2
  331. package/locales/zhCN.js +22 -23
  332. package/models/adapters.d.ts +7 -6
  333. package/models/common.d.ts +5 -0
  334. package/models/common.js +1 -0
  335. package/models/fields.d.ts +19 -2
  336. package/models/index.d.ts +1 -0
  337. package/models/index.js +2 -1
  338. package/modern/AdapterDateFns/AdapterDateFns.js +597 -0
  339. package/modern/AdapterDateFns/index.js +1 -149
  340. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +608 -0
  341. package/modern/AdapterDateFnsJalali/index.js +1 -148
  342. package/modern/AdapterDayjs/AdapterDayjs.js +146 -111
  343. package/modern/AdapterLuxon/AdapterLuxon.js +512 -0
  344. package/modern/AdapterLuxon/index.js +1 -111
  345. package/modern/AdapterMoment/AdapterMoment.js +416 -0
  346. package/modern/AdapterMoment/index.js +1 -99
  347. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
  348. package/modern/AdapterMomentHijri/index.js +1 -74
  349. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
  350. package/modern/AdapterMomentJalaali/index.js +1 -87
  351. package/modern/DateCalendar/DayCalendar.js +1 -1
  352. package/modern/DateCalendar/useCalendarState.js +1 -1
  353. package/modern/DateCalendar/useIsDateDisabled.js +27 -0
  354. package/modern/DateField/DateField.js +24 -3
  355. package/modern/DateField/useDateField.js +4 -2
  356. package/modern/DatePicker/DatePickerToolbar.js +1 -1
  357. package/modern/DateTimeField/DateTimeField.js +25 -3
  358. package/modern/DateTimeField/useDateTimeField.js +4 -2
  359. package/modern/DateTimePicker/DateTimePicker.js +1 -0
  360. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  361. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  362. package/modern/DesktopTimePicker/DesktopTimePicker.js +51 -7
  363. package/modern/DigitalClock/DigitalClock.js +396 -0
  364. package/modern/DigitalClock/DigitalClock.types.js +1 -0
  365. package/modern/DigitalClock/digitalClockClasses.js +6 -0
  366. package/modern/DigitalClock/index.js +2 -0
  367. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  368. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  369. package/modern/MobileTimePicker/MobileTimePicker.js +2 -1
  370. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
  371. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  372. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  373. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +149 -0
  374. package/modern/MultiSectionDigitalClock/index.js +3 -0
  375. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  376. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  377. package/modern/PickersDay/PickersDay.js +4 -1
  378. package/modern/PickersLayout/PickersLayout.js +2 -2
  379. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  380. package/modern/StaticTimePicker/StaticTimePicker.js +2 -1
  381. package/modern/TimeClock/TimeClock.js +35 -12
  382. package/modern/TimeField/TimeField.js +25 -3
  383. package/modern/TimeField/useTimeField.js +4 -2
  384. package/modern/TimePicker/TimePicker.js +25 -2
  385. package/modern/TimePicker/TimePickerToolbar.js +2 -2
  386. package/modern/index.js +4 -1
  387. package/modern/internals/constants/dimensions.js +2 -1
  388. package/modern/internals/demo/DemoContainer.js +4 -1
  389. package/modern/internals/hooks/date-helpers-hooks.js +3 -3
  390. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  391. package/modern/internals/hooks/useField/useField.js +12 -11
  392. package/modern/internals/hooks/useField/useField.utils.js +61 -35
  393. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  394. package/modern/internals/hooks/useField/useFieldState.js +4 -3
  395. package/modern/internals/hooks/usePicker/usePickerValue.js +1 -1
  396. package/modern/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  397. package/modern/internals/hooks/useViews.js +29 -13
  398. package/modern/internals/index.js +5 -5
  399. package/modern/internals/models/index.js +2 -1
  400. package/modern/internals/models/props/clock.js +1 -0
  401. package/modern/internals/models/validation.js +1 -0
  402. package/modern/internals/utils/time-utils.js +2 -1
  403. package/modern/internals/utils/{validation.js → validation/extractValidationProps.js} +1 -1
  404. package/modern/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  405. package/{internals/hooks/validation/useDateTimeValidation.js → modern/internals/utils/validation/validateDateTime.js} +2 -2
  406. package/{internals/hooks/validation/useTimeValidation.js → modern/internals/utils/validation/validateTime.js} +1 -1
  407. package/modern/locales/beBY.js +3 -3
  408. package/modern/locales/caES.js +4 -1
  409. package/modern/locales/csCZ.js +4 -4
  410. package/modern/locales/daDK.js +4 -2
  411. package/modern/locales/deDE.js +4 -2
  412. package/modern/locales/enUS.js +2 -0
  413. package/modern/locales/esES.js +4 -1
  414. package/modern/locales/faIR.js +9 -1
  415. package/modern/locales/fiFI.js +4 -1
  416. package/modern/locales/frFR.js +4 -1
  417. package/modern/locales/heIL.js +4 -1
  418. package/modern/locales/huHU.js +4 -2
  419. package/modern/locales/index.js +1 -0
  420. package/modern/locales/isIS.js +9 -1
  421. package/modern/locales/itIT.js +4 -1
  422. package/modern/locales/jaJP.js +4 -2
  423. package/modern/locales/koKR.js +4 -1
  424. package/modern/locales/kzKZ.js +4 -2
  425. package/modern/locales/nbNO.js +9 -1
  426. package/modern/locales/nlNL.js +9 -1
  427. package/modern/locales/plPL.js +9 -1
  428. package/modern/locales/ptBR.js +9 -1
  429. package/modern/locales/ruRU.js +4 -2
  430. package/modern/locales/svSE.js +9 -1
  431. package/modern/locales/trTR.js +14 -7
  432. package/modern/locales/ukUA.js +9 -1
  433. package/modern/locales/urPK.js +9 -1
  434. package/modern/locales/zhCN.js +22 -23
  435. package/modern/models/common.js +1 -0
  436. package/modern/models/index.js +2 -1
  437. package/modern/tests/describeAdapters/describeAdapters.js +1 -3
  438. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  439. package/modern/tests/describeGregorianAdapter/testCalculations.js +29 -26
  440. package/modern/tests/describeGregorianAdapter/testLocalization.js +2 -2
  441. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  442. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  443. package/modern/tests/describeHijriAdapter/index.js +1 -0
  444. package/modern/tests/describeHijriAdapter/testCalculations.js +91 -0
  445. package/modern/tests/describeHijriAdapter/testLocalization.js +13 -0
  446. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  447. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  448. package/modern/tests/describeJalaliAdapter/index.js +1 -0
  449. package/modern/tests/describeJalaliAdapter/testCalculations.js +83 -0
  450. package/modern/tests/describeJalaliAdapter/testLocalization.js +13 -0
  451. package/modern/tests/describePicker/describePicker.js +162 -0
  452. package/modern/tests/describePicker/describePicker.types.js +1 -0
  453. package/modern/tests/describePicker/index.js +1 -0
  454. package/modern/tests/describeValidation/testTextFieldValidation.js +27 -0
  455. package/modern/tests/describeValue/describeValue.js +1 -1
  456. package/modern/tests/describeValue/testControlledUnControlled.js +8 -9
  457. package/modern/tests/describeValue/testPickerActionBar.js +46 -13
  458. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  459. package/modern/timeViewRenderers/index.js +1 -1
  460. package/modern/timeViewRenderers/timeViewRenderers.js +130 -2
  461. package/node/AdapterDateFns/AdapterDateFns.js +607 -0
  462. package/node/AdapterDateFns/index.js +6 -152
  463. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +618 -0
  464. package/node/AdapterDateFnsJalali/index.js +6 -151
  465. package/node/AdapterDayjs/AdapterDayjs.js +146 -111
  466. package/node/AdapterLuxon/AdapterLuxon.js +521 -0
  467. package/node/AdapterLuxon/index.js +6 -114
  468. package/node/AdapterMoment/AdapterMoment.js +425 -0
  469. package/node/AdapterMoment/index.js +6 -102
  470. package/node/AdapterMomentHijri/AdapterMomentHijri.js +278 -0
  471. package/node/AdapterMomentHijri/index.js +6 -77
  472. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +285 -0
  473. package/node/AdapterMomentJalaali/index.js +6 -90
  474. package/node/DateCalendar/DayCalendar.js +2 -2
  475. package/node/DateCalendar/useCalendarState.js +2 -2
  476. package/node/{internals/hooks/validation/useDateValidation.js → DateCalendar/useIsDateDisabled.js} +4 -37
  477. package/node/DateField/DateField.js +24 -3
  478. package/node/DateField/useDateField.js +5 -3
  479. package/node/DatePicker/DatePickerToolbar.js +1 -1
  480. package/node/DateTimeField/DateTimeField.js +25 -3
  481. package/node/DateTimeField/useDateTimeField.js +5 -3
  482. package/node/DateTimePicker/DateTimePicker.js +1 -0
  483. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
  484. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -2
  485. package/node/DesktopTimePicker/DesktopTimePicker.js +52 -8
  486. package/node/DigitalClock/DigitalClock.js +406 -0
  487. package/node/DigitalClock/digitalClockClasses.js +15 -0
  488. package/node/DigitalClock/index.js +25 -0
  489. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  490. package/node/MobileDateTimePicker/MobileDateTimePicker.js +3 -2
  491. package/node/MobileTimePicker/MobileTimePicker.js +3 -2
  492. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +489 -0
  493. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +5 -0
  494. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +73 -0
  495. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +159 -0
  496. package/node/MultiSectionDigitalClock/index.js +32 -0
  497. package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +15 -0
  498. package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +15 -0
  499. package/node/PickersDay/PickersDay.js +4 -1
  500. package/node/PickersLayout/PickersLayout.js +2 -2
  501. package/node/StaticDateTimePicker/StaticDateTimePicker.js +3 -2
  502. package/node/StaticTimePicker/StaticTimePicker.js +3 -2
  503. package/node/TimeClock/TimeClock.js +35 -12
  504. package/node/TimeField/TimeField.js +25 -3
  505. package/node/TimeField/useTimeField.js +5 -3
  506. package/node/TimePicker/TimePicker.js +25 -2
  507. package/node/TimePicker/TimePickerToolbar.js +2 -2
  508. package/node/index.js +25 -1
  509. package/node/internals/constants/dimensions.js +4 -2
  510. package/node/internals/demo/DemoContainer.js +4 -1
  511. package/node/internals/hooks/date-helpers-hooks.js +3 -3
  512. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  513. package/node/internals/hooks/useField/useField.js +12 -11
  514. package/node/internals/hooks/useField/useField.utils.js +64 -37
  515. package/node/internals/hooks/useField/useFieldCharacterEditing.js +17 -9
  516. package/node/internals/hooks/useField/useFieldState.js +4 -3
  517. package/node/internals/hooks/usePicker/usePickerValue.js +1 -1
  518. package/node/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  519. package/node/internals/hooks/useViews.js +29 -13
  520. package/node/internals/index.js +9 -9
  521. package/node/internals/models/index.js +11 -0
  522. package/node/internals/models/props/clock.js +5 -0
  523. package/node/internals/models/validation.js +5 -0
  524. package/node/internals/utils/time-utils.js +2 -1
  525. package/node/internals/utils/{validation.js → validation/extractValidationProps.js} +1 -1
  526. package/node/internals/utils/validation/validateDate.js +40 -0
  527. package/node/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +4 -4
  528. package/node/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  529. package/node/locales/beBY.js +3 -3
  530. package/node/locales/caES.js +4 -1
  531. package/node/locales/csCZ.js +4 -2
  532. package/node/locales/daDK.js +4 -1
  533. package/node/locales/deDE.js +4 -1
  534. package/node/locales/enUS.js +2 -0
  535. package/node/locales/esES.js +4 -1
  536. package/node/locales/faIR.js +9 -1
  537. package/node/locales/fiFI.js +4 -1
  538. package/node/locales/frFR.js +4 -1
  539. package/node/locales/heIL.js +4 -1
  540. package/node/locales/huHU.js +4 -1
  541. package/node/locales/index.js +11 -0
  542. package/node/locales/isIS.js +9 -1
  543. package/node/locales/itIT.js +4 -1
  544. package/node/locales/jaJP.js +4 -1
  545. package/node/locales/koKR.js +4 -1
  546. package/node/locales/kzKZ.js +4 -1
  547. package/node/locales/nbNO.js +9 -1
  548. package/node/locales/nlNL.js +9 -1
  549. package/node/locales/plPL.js +9 -1
  550. package/node/locales/ptBR.js +9 -1
  551. package/node/locales/ruRU.js +4 -1
  552. package/node/locales/svSE.js +9 -1
  553. package/node/locales/trTR.js +14 -7
  554. package/node/locales/ukUA.js +9 -1
  555. package/node/locales/urPK.js +9 -1
  556. package/node/locales/zhCN.js +22 -23
  557. package/node/models/common.js +5 -0
  558. package/node/models/index.js +11 -0
  559. package/node/tests/describeAdapters/describeAdapters.js +1 -3
  560. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  561. package/node/tests/describeGregorianAdapter/testCalculations.js +29 -26
  562. package/node/tests/describeGregorianAdapter/testLocalization.js +2 -2
  563. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +31 -0
  564. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +5 -0
  565. package/node/tests/describeHijriAdapter/index.js +12 -0
  566. package/node/tests/describeHijriAdapter/testCalculations.js +98 -0
  567. package/node/tests/describeHijriAdapter/testLocalization.js +20 -0
  568. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +33 -0
  569. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +5 -0
  570. package/node/tests/describeJalaliAdapter/index.js +12 -0
  571. package/node/tests/describeJalaliAdapter/testCalculations.js +90 -0
  572. package/node/tests/describeJalaliAdapter/testLocalization.js +20 -0
  573. package/node/tests/describePicker/describePicker.js +173 -0
  574. package/node/tests/describePicker/describePicker.types.js +5 -0
  575. package/node/tests/describePicker/index.js +12 -0
  576. package/node/tests/describeValidation/testTextFieldValidation.js +27 -0
  577. package/node/tests/describeValue/describeValue.js +1 -1
  578. package/node/tests/describeValue/testControlledUnControlled.js +8 -9
  579. package/node/tests/describeValue/testPickerActionBar.js +46 -13
  580. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  581. package/node/timeViewRenderers/index.js +12 -0
  582. package/node/timeViewRenderers/timeViewRenderers.js +134 -4
  583. package/package.json +3 -10
  584. package/tests/describeAdapters/describeAdapters.js +1 -3
  585. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  586. package/tests/describeGregorianAdapter/testCalculations.js +29 -26
  587. package/tests/describeGregorianAdapter/testLocalization.js +2 -2
  588. package/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  589. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  590. package/tests/describeHijriAdapter/index.js +1 -0
  591. package/tests/describeHijriAdapter/testCalculations.js +91 -0
  592. package/tests/describeHijriAdapter/testLocalization.js +13 -0
  593. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  594. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  595. package/tests/describeJalaliAdapter/index.js +1 -0
  596. package/tests/describeJalaliAdapter/testCalculations.js +83 -0
  597. package/tests/describeJalaliAdapter/testLocalization.js +13 -0
  598. package/tests/describePicker/describePicker.js +162 -0
  599. package/tests/describePicker/describePicker.types.js +1 -0
  600. package/tests/describePicker/index.js +1 -0
  601. package/tests/describeValidation/testTextFieldValidation.js +27 -0
  602. package/tests/describeValue/describeValue.js +1 -1
  603. package/tests/describeValue/testControlledUnControlled.js +8 -9
  604. package/tests/describeValue/testPickerActionBar.js +46 -13
  605. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  606. package/themeAugmentation/components.d.ts +12 -0
  607. package/themeAugmentation/overrides.d.ts +8 -0
  608. package/themeAugmentation/props.d.ts +8 -0
  609. package/timeViewRenderers/index.d.ts +1 -1
  610. package/timeViewRenderers/index.js +1 -1
  611. package/timeViewRenderers/timeViewRenderers.d.ts +11 -4
  612. package/timeViewRenderers/timeViewRenderers.js +130 -2
  613. /package/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
  614. /package/{legacy/internals/hooks/validation/models.js → MultiSectionDigitalClock/MultiSectionDigitalClock.types.js} +0 -0
  615. /package/{modern/internals/hooks/validation/models.js → internals/models/props/clock.js} +0 -0
  616. /package/node/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
@@ -0,0 +1,6 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export function getMultiSectionDigitalClockUtilityClass(slot) {
4
+ return generateUtilityClass('MuiMultiSectionDigitalClock', slot);
5
+ }
6
+ export const multiSectionDigitalClockClasses = generateUtilityClasses('MuiMultiSectionDigitalClock', ['root']);
@@ -0,0 +1,6 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export function getMultiSectionDigitalClockSectionUtilityClass(slot) {
4
+ return generateUtilityClass('MuiMultiSectionDigitalClock', slot);
5
+ }
6
+ export const multiSectionDigitalClockSectionClasses = generateUtilityClasses('MuiMultiSectionDigitalClock', ['root', 'item']);
@@ -63,8 +63,11 @@ const styleArg = ({
63
63
  backgroundColor: (theme.vars || theme).palette.primary.dark
64
64
  }
65
65
  },
66
- [`&.${pickersDayClasses.disabled}`]: {
66
+ [`&.${pickersDayClasses.disabled}:not(.${pickersDayClasses.selected})`]: {
67
67
  color: (theme.vars || theme).palette.text.disabled
68
+ },
69
+ [`&.${pickersDayClasses.disabled}&.${pickersDayClasses.selected}`]: {
70
+ opacity: 0.6
68
71
  }
69
72
  }, !ownerState.disableMargin && {
70
73
  margin: `0 ${DAY_MARGIN}px`
@@ -155,8 +155,8 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
155
155
  slots: PropTypes.object,
156
156
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
157
157
  value: PropTypes.any,
158
- view: PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
159
- views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,
158
+ view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
159
+ views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,
160
160
  wrapperVariant: PropTypes.oneOf(['desktop', 'mobile'])
161
161
  } : void 0;
162
162
  export { PickersLayout };
@@ -6,7 +6,7 @@ import { renderTimeViewClock } from '../timeViewRenderers';
6
6
  import { renderDateViewCalendar } from '../dateViewRenderers';
7
7
  import { singleItemValueManager } from '../internals/utils/valueManagers';
8
8
  import { useStaticPicker } from '../internals/hooks/useStaticPicker';
9
- import { validateDateTime } from '../internals/hooks/validation/useDateTimeValidation';
9
+ import { validateDateTime } from '../internals/utils/validation/validateDateTime';
10
10
  const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function StaticDateTimePicker(inProps, ref) {
11
11
  const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiStaticDateTimePicker');
12
12
  const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';
@@ -282,6 +282,7 @@ StaticDateTimePicker.propTypes = {
282
282
  shouldDisableMonth: PropTypes.func,
283
283
  /**
284
284
  * Disable specific time.
285
+ * @template TDate
285
286
  * @param {TDate} value The value to check.
286
287
  * @param {TimeView} view The clock type of the timeValue.
287
288
  * @returns {boolean} If `true` the time will be disabled.
@@ -5,7 +5,7 @@ import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
5
5
  import { renderTimeViewClock } from '../timeViewRenderers';
6
6
  import { singleItemValueManager } from '../internals/utils/valueManagers';
7
7
  import { useStaticPicker } from '../internals/hooks/useStaticPicker';
8
- import { validateTime } from '../internals/hooks/validation/useTimeValidation';
8
+ import { validateTime } from '../internals/utils/validation/validateTime';
9
9
  const StaticTimePicker = /*#__PURE__*/React.forwardRef(function StaticTimePicker(inProps, ref) {
10
10
  const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiStaticTimePicker');
11
11
  const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';
@@ -184,6 +184,7 @@ StaticTimePicker.propTypes = {
184
184
  shouldDisableClock: PropTypes.func,
185
185
  /**
186
186
  * Disable specific time.
187
+ * @template TDate
187
188
  * @param {TDate} value The value to check.
188
189
  * @param {TimeView} view The clock type of the timeValue.
189
190
  * @returns {boolean} If `true` the time will be disabled.
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["ampm", "ampmInClock", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "showViewSwitcher", "onChange", "defaultValue", "view", "views", "openTo", "onViewChange", "className", "disabled", "readOnly"];
3
+ const _excluded = ["ampm", "ampmInClock", "autoFocus", "components", "componentsProps", "slots", "slotProps", "value", "disableIgnoringDatePartForTimeValidation", "maxTime", "minTime", "disableFuture", "disablePast", "minutesStep", "shouldDisableClock", "shouldDisableTime", "showViewSwitcher", "onChange", "defaultValue", "view", "views", "openTo", "onViewChange", "focusedView", "onFocusedViewChange", "className", "disabled", "readOnly"];
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import PropTypes from 'prop-types';
@@ -85,6 +85,8 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
85
85
  views = ['hours', 'minutes'],
86
86
  openTo,
87
87
  onViewChange,
88
+ focusedView,
89
+ onFocusedViewChange,
88
90
  className,
89
91
  disabled,
90
92
  readOnly
@@ -113,7 +115,9 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
113
115
  views,
114
116
  openTo,
115
117
  onViewChange,
116
- onChange: handleValueChange
118
+ onChange: handleValueChange,
119
+ focusedView,
120
+ onFocusedViewChange
117
121
  });
118
122
  const selectedTimeOrMidnight = React.useMemo(() => value || utils.setSeconds(utils.setMinutes(utils.setHours(now, 0), 0), 0), [value, now, utils]);
119
123
  const {
@@ -271,7 +275,7 @@ export const TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProp
271
275
  ownerState: ownerState
272
276
  }, other, {
273
277
  children: [/*#__PURE__*/_jsx(Clock, _extends({
274
- autoFocus: autoFocus,
278
+ autoFocus: autoFocus ?? !!focusedView,
275
279
  ampmInClock: ampmInClock && views.includes('hours'),
276
280
  value: value,
277
281
  type: view,
@@ -313,7 +317,10 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
313
317
  */
314
318
  ampmInClock: PropTypes.bool,
315
319
  /**
316
- * Set to `true` if focus should be moved to clock picker.
320
+ * If `true`, the main element is focused during the first mount.
321
+ * This main element is:
322
+ * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
323
+ * - the `input` element if there is a field rendered.
317
324
  */
318
325
  autoFocus: PropTypes.bool,
319
326
  /**
@@ -339,7 +346,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
339
346
  */
340
347
  defaultValue: PropTypes.any,
341
348
  /**
342
- * If `true`, the picker and text field are disabled.
349
+ * If `true`, the picker views and text field are disabled.
343
350
  * @default false
344
351
  */
345
352
  disabled: PropTypes.bool,
@@ -358,6 +365,10 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
358
365
  * @default false
359
366
  */
360
367
  disablePast: PropTypes.bool,
368
+ /**
369
+ * Controlled focused view.
370
+ */
371
+ focusedView: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
361
372
  /**
362
373
  * Maximal selectable time.
363
374
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
@@ -378,20 +389,30 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
378
389
  * @template TDate
379
390
  * @param {TDate | null} value The new value.
380
391
  * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
392
+ * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
381
393
  */
382
394
  onChange: PropTypes.func,
395
+ /**
396
+ * Callback fired on focused view change.
397
+ * @template TView
398
+ * @param {TView} view The new view to focus or not.
399
+ * @param {boolean} hasFocus `true` if the view should be focused.
400
+ */
401
+ onFocusedViewChange: PropTypes.func,
383
402
  /**
384
403
  * Callback fired on view change.
385
- * @param {TimeView} view The new view.
404
+ * @template TView
405
+ * @param {TView} view The new view.
386
406
  */
387
407
  onViewChange: PropTypes.func,
388
408
  /**
389
- * Initially open view.
390
- * @default 'hours'
409
+ * The default visible view.
410
+ * Used when the component view is not controlled.
411
+ * Must be a valid option from `views` list.
391
412
  */
392
413
  openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
393
414
  /**
394
- * Make picker read only.
415
+ * If `true`, the picker views and text field are read-only.
395
416
  * @default false
396
417
  */
397
418
  readOnly: PropTypes.bool,
@@ -405,6 +426,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
405
426
  shouldDisableClock: PropTypes.func,
406
427
  /**
407
428
  * Disable specific time.
429
+ * @template TDate
408
430
  * @param {TDate} value The value to check.
409
431
  * @param {TimeView} view The clock type of the timeValue.
410
432
  * @returns {boolean} If `true` the time will be disabled.
@@ -431,12 +453,13 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
431
453
  */
432
454
  value: PropTypes.any,
433
455
  /**
434
- * Controlled open view.
456
+ * The visible view.
457
+ * Used when the component view is controlled.
458
+ * Must be a valid option from `views` list.
435
459
  */
436
460
  view: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
437
461
  /**
438
- * Views for calendar picker.
439
- * @default ['hours', 'minutes']
462
+ * Available views.
440
463
  */
441
464
  views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired)
442
465
  } : void 0;
@@ -54,11 +54,13 @@ const TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref)
54
54
  return /*#__PURE__*/_jsx(TextField, _extends({
55
55
  ref: ref
56
56
  }, fieldProps, {
57
+ InputProps: _extends({}, fieldProps.InputProps, {
58
+ readOnly
59
+ }),
57
60
  inputProps: _extends({}, fieldProps.inputProps, {
58
- ref: inputRef,
59
- onPaste,
60
61
  inputMode,
61
- readOnly
62
+ onPaste,
63
+ ref: inputRef
62
64
  })
63
65
  }));
64
66
  });
@@ -219,6 +221,10 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
219
221
  * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
220
222
  */
221
223
  onChange: PropTypes.func,
224
+ /**
225
+ * @ignore
226
+ */
227
+ onClick: PropTypes.func,
222
228
  /**
223
229
  * Callback fired when the error associated to the current value changes.
224
230
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -267,11 +273,27 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
267
273
  shouldDisableClock: PropTypes.func,
268
274
  /**
269
275
  * Disable specific time.
276
+ * @template TDate
270
277
  * @param {TDate} value The value to check.
271
278
  * @param {TimeView} view The clock type of the timeValue.
272
279
  * @returns {boolean} If `true` the time will be disabled.
273
280
  */
274
281
  shouldDisableTime: PropTypes.func,
282
+ /**
283
+ * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
284
+ * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
285
+ *
286
+ * 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`.
287
+ *
288
+ * 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.
289
+ * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
290
+ *
291
+ * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
292
+ * 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.
293
+ *
294
+ * @default `false`
295
+ */
296
+ shouldRespectLeadingZeros: PropTypes.bool,
275
297
  /**
276
298
  * The size of the component.
277
299
  */
@@ -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", "disableFuture", "disablePast", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
3
+ const _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "disableFuture", "disablePast", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
4
4
  import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
5
5
  import { useField } from '../internals/hooks/useField';
6
- import { validateTime } from '../internals/hooks/validation/useTimeValidation';
6
+ import { validateTime } from '../internals/utils/validation/validateTime';
7
7
  import { useUtils } from '../internals/hooks/useUtils';
8
8
  const useDefaultizedTimeField = props => {
9
9
  const utils = useUtils();
@@ -25,6 +25,7 @@ export const useTimeField = ({
25
25
  defaultValue,
26
26
  format,
27
27
  formatDensity,
28
+ shouldRespectLeadingZeros,
28
29
  onChange,
29
30
  readOnly,
30
31
  onError,
@@ -50,6 +51,7 @@ export const useTimeField = ({
50
51
  defaultValue,
51
52
  format,
52
53
  formatDensity,
54
+ shouldRespectLeadingZeros,
53
55
  onChange,
54
56
  readOnly,
55
57
  onError,
@@ -207,7 +207,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
207
207
  * Used when the component view is not controlled.
208
208
  * Must be a valid option from `views` list.
209
209
  */
210
- openTo: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
210
+ openTo: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
211
211
  /**
212
212
  * Force rendering in particular orientation.
213
213
  */
@@ -236,11 +236,17 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
236
236
  shouldDisableClock: PropTypes.func,
237
237
  /**
238
238
  * Disable specific time.
239
+ * @template TDate
239
240
  * @param {TDate} value The value to check.
240
241
  * @param {TimeView} view The clock type of the timeValue.
241
242
  * @returns {boolean} If `true` the time will be disabled.
242
243
  */
243
244
  shouldDisableTime: PropTypes.func,
245
+ /**
246
+ * If `true`, disabled digital clock items will not be rendered.
247
+ * @default false
248
+ */
249
+ skipDisabled: PropTypes.bool,
244
250
  /**
245
251
  * The props used for each component slot.
246
252
  * @default {}
@@ -255,6 +261,22 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
255
261
  * The system prop that allows defining system overrides as well as additional CSS styles.
256
262
  */
257
263
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
264
+ /**
265
+ * Amount of time options below or at which the single column time renderer is used.
266
+ * @default 24
267
+ */
268
+ thresholdToRenderTimeInASingleColumn: PropTypes.number,
269
+ /**
270
+ * The time steps between two time unit options.
271
+ * For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
272
+ * When single column time renderer is used, only `timeStep.minutes` will be used.
273
+ * @default{ hours: 1, minutes: 5, seconds: 5 }
274
+ */
275
+ timeSteps: PropTypes.shape({
276
+ hours: PropTypes.number,
277
+ minutes: PropTypes.number,
278
+ seconds: PropTypes.number
279
+ }),
258
280
  /**
259
281
  * The selected value.
260
282
  * Used when the component is controlled.
@@ -265,7 +287,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
265
287
  * Used when the component view is controlled.
266
288
  * Must be a valid option from `views` list.
267
289
  */
268
- view: PropTypes.oneOf(['hours', 'minutes', 'seconds']),
290
+ view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
269
291
  /**
270
292
  * Define custom view renderers for each section.
271
293
  * If `null`, the section will only have field editing.
@@ -273,6 +295,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
273
295
  */
274
296
  viewRenderers: PropTypes.shape({
275
297
  hours: PropTypes.func,
298
+ meridiem: PropTypes.func,
276
299
  minutes: PropTypes.func,
277
300
  seconds: PropTypes.func
278
301
  }),
@@ -240,7 +240,7 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
240
240
  /**
241
241
  * Currently visible picker view.
242
242
  */
243
- view: PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired,
244
- views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
243
+ view: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired,
244
+ views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']).isRequired).isRequired
245
245
  } : void 0;
246
246
  export { TimePickerToolbar };
package/modern/index.js CHANGED
@@ -1,11 +1,14 @@
1
1
  /**
2
- * @mui/x-date-pickers v6.2.1
2
+ * @mui/x-date-pickers v6.3.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
+ // Clocks
8
9
  export * from './TimeClock';
10
+ export * from './DigitalClock';
11
+ export * from './MultiSectionDigitalClock';
9
12
  export * from './LocalizationProvider';
10
13
  export * from './PickersDay';
11
14
  export * from './locales';
@@ -1,4 +1,5 @@
1
1
  export const DAY_SIZE = 36;
2
2
  export const DAY_MARGIN = 2;
3
3
  export const DIALOG_WIDTH = 320;
4
- export const VIEW_HEIGHT = 358;
4
+ export const VIEW_HEIGHT = 358;
5
+ export const DIGITAL_CLOCK_VIEW_HEIGHT = 232;
@@ -9,6 +9,9 @@ const getChildTypeFromChildName = childName => {
9
9
  if (childName.match(/^([A-Za-z]+)Range(Calendar|Clock)$/)) {
10
10
  return 'multi-panel-UI-view';
11
11
  }
12
+ if (childName.match(/^([A-Za-z]*)(DigitalClock)$/)) {
13
+ return 'Tall-UI-view';
14
+ }
12
15
  if (childName.match(/^Static([A-Za-z]+)/) || childName.match(/^([A-Za-z]+)(Calendar|Clock)$/)) {
13
16
  return 'UI-view';
14
17
  }
@@ -73,7 +76,7 @@ export function DemoContainer(props) {
73
76
  });
74
77
  const getSpacing = direction => {
75
78
  if (direction === 'row') {
76
- return childrenTypes.has('UI-view') ? 3 : 2;
79
+ return childrenTypes.has('UI-view') || childrenTypes.has('Tall-UI-view') ? 3 : 2;
77
80
  }
78
81
  return childrenTypes.has('UI-view') ? 4 : 3;
79
82
  };
@@ -23,13 +23,13 @@ export function usePreviousMonthDisabled(month, {
23
23
  return !utils.isBefore(firstEnabledMonth, month);
24
24
  }, [disablePast, minDate, month, utils]);
25
25
  }
26
- export function useMeridiemMode(date, ampm, onChange) {
26
+ export function useMeridiemMode(date, ampm, onChange, selectionState) {
27
27
  const utils = useUtils();
28
28
  const meridiemMode = getMeridiem(date, utils);
29
29
  const handleMeridiemChange = React.useCallback(mode => {
30
30
  const timeWithMeridiem = date == null ? null : convertToMeridiem(date, mode, Boolean(ampm), utils);
31
- onChange(timeWithMeridiem, 'partial');
32
- }, [ampm, date, onChange, utils]);
31
+ onChange(timeWithMeridiem, selectionState ?? 'partial');
32
+ }, [ampm, date, onChange, selectionState, utils]);
33
33
  return {
34
34
  meridiemMode,
35
35
  handleMeridiemChange
@@ -100,7 +100,8 @@ export const useDesktopPicker = _ref => {
100
100
  format,
101
101
  formatDensity,
102
102
  label,
103
- autoFocus: autoFocus && !props.open
103
+ autoFocus: autoFocus && !props.open,
104
+ focused: open ? true : undefined
104
105
  }),
105
106
  ownerState: props
106
107
  });
@@ -6,7 +6,7 @@ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
6
6
  import useEventCallback from '@mui/utils/useEventCallback';
7
7
  import useForkRef from '@mui/utils/useForkRef';
8
8
  import { useTheme } from '@mui/material/styles';
9
- import { useValidation } from '../validation/useValidation';
9
+ import { useValidation } from '../useValidation';
10
10
  import { useUtils } from '../useUtils';
11
11
  import { adjustSectionValue, isAndroid, cleanString, getSectionOrder } from './useField.utils';
12
12
  import { useFieldState } from './useFieldState';
@@ -26,15 +26,6 @@ export const useField = params => {
26
26
  sectionsValueBoundaries,
27
27
  placeholder
28
28
  } = useFieldState(params);
29
- const {
30
- applyCharacterEditing,
31
- resetCharacterQuery
32
- } = useFieldCharacterEditing({
33
- sections: state.sections,
34
- updateSectionValue,
35
- sectionsValueBoundaries,
36
- setTempAndroidValueStr
37
- });
38
29
  const {
39
30
  inputRef: inputRefProp,
40
31
  internalProps,
@@ -56,6 +47,15 @@ export const useField = params => {
56
47
  validator
57
48
  } = params,
58
49
  otherForwardedProps = _objectWithoutPropertiesLoose(params.forwardedProps, _excluded);
50
+ const {
51
+ applyCharacterEditing,
52
+ resetCharacterQuery
53
+ } = useFieldCharacterEditing({
54
+ sections: state.sections,
55
+ updateSectionValue,
56
+ sectionsValueBoundaries,
57
+ setTempAndroidValueStr
58
+ });
59
59
  const inputRef = React.useRef(null);
60
60
  const handleRef = useForkRef(inputRefProp, inputRef);
61
61
  const focusTimeoutRef = React.useRef(undefined);
@@ -120,7 +120,8 @@ export const useField = params => {
120
120
  const activeSection = state.sections[selectedSectionIndexes.startIndex];
121
121
  const lettersOnly = /^[a-zA-Z]+$/.test(pastedValue);
122
122
  const digitsOnly = /^[0-9]+$/.test(pastedValue);
123
- const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly;
123
+ const digitsAndLetterOnly = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(pastedValue);
124
+ const isValidPastedValue = activeSection.contentType === 'letter' && lettersOnly || activeSection.contentType === 'digit' && digitsOnly || activeSection.contentType === 'digit-with-letter' && digitsAndLetterOnly;
124
125
  if (isValidPastedValue) {
125
126
  // Early return to let the paste update section, value
126
127
  return;