@mui/x-date-pickers 6.2.1 → 6.3.0

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