@mui/x-date-pickers 7.22.3 → 8.0.0-alpha.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 (514) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +1 -1
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +3 -3
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +1 -1
  4. package/AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts +1 -1
  5. package/AdapterDateFnsV3/AdapterDateFnsV3.d.ts +1 -1
  6. package/AdapterDayjs/AdapterDayjs.d.ts +2 -2
  7. package/AdapterLuxon/AdapterLuxon.d.ts +2 -2
  8. package/AdapterMoment/AdapterMoment.d.ts +2 -2
  9. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +2 -2
  10. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +2 -2
  11. package/CHANGELOG.md +348 -12
  12. package/DateCalendar/DateCalendar.d.ts +1 -2
  13. package/DateCalendar/DateCalendar.js +21 -22
  14. package/DateCalendar/DateCalendar.types.d.ts +21 -31
  15. package/DateCalendar/DayCalendar.d.ts +25 -24
  16. package/DateCalendar/DayCalendar.js +13 -10
  17. package/DateCalendar/index.d.ts +1 -0
  18. package/DateCalendar/useCalendarState.d.ts +16 -16
  19. package/DateCalendar/useIsDateDisabled.d.ts +2 -2
  20. package/DateField/DateField.d.ts +1 -2
  21. package/DateField/DateField.js +8 -10
  22. package/DateField/DateField.types.d.ts +8 -9
  23. package/DateField/index.d.ts +1 -1
  24. package/DateField/useDateField.d.ts +1 -2
  25. package/DatePicker/DatePicker.d.ts +1 -2
  26. package/DatePicker/DatePicker.js +15 -14
  27. package/DatePicker/DatePicker.types.d.ts +10 -11
  28. package/DatePicker/DatePickerToolbar.d.ts +2 -2
  29. package/DatePicker/DatePickerToolbar.js +2 -4
  30. package/DatePicker/shared.d.ts +11 -11
  31. package/DateTimeField/DateTimeField.d.ts +1 -2
  32. package/DateTimeField/DateTimeField.js +9 -12
  33. package/DateTimeField/DateTimeField.types.d.ts +9 -14
  34. package/DateTimeField/index.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.d.ts +1 -2
  36. package/DateTimePicker/DateTimePicker.d.ts +1 -2
  37. package/DateTimePicker/DateTimePicker.js +16 -16
  38. package/DateTimePicker/DateTimePicker.types.d.ts +10 -13
  39. package/DateTimePicker/DateTimePickerTabs.d.ts +1 -2
  40. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  41. package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -5
  42. package/DateTimePicker/DateTimePickerToolbar.js +8 -7
  43. package/DateTimePicker/shared.d.ts +12 -12
  44. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -2
  45. package/DesktopDatePicker/DesktopDatePicker.js +17 -16
  46. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -7
  47. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -2
  48. package/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  49. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
  50. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
  51. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  52. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -2
  53. package/DesktopTimePicker/DesktopTimePicker.js +11 -6
  54. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
  55. package/DigitalClock/DigitalClock.d.ts +1 -2
  56. package/DigitalClock/DigitalClock.js +8 -6
  57. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  58. package/LocalizationProvider/LocalizationProvider.d.ts +12 -12
  59. package/MobileDatePicker/MobileDatePicker.d.ts +1 -2
  60. package/MobileDatePicker/MobileDatePicker.js +17 -16
  61. package/MobileDatePicker/MobileDatePicker.types.d.ts +7 -7
  62. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +2 -2
  63. package/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  64. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +7 -7
  65. package/MobileTimePicker/MobileTimePicker.d.ts +2 -2
  66. package/MobileTimePicker/MobileTimePicker.js +11 -6
  67. package/MobileTimePicker/MobileTimePicker.types.d.ts +7 -7
  68. package/MonthCalendar/MonthCalendar.d.ts +3 -4
  69. package/MonthCalendar/MonthCalendar.js +18 -14
  70. package/MonthCalendar/MonthCalendar.types.d.ts +14 -15
  71. package/MonthCalendar/PickersMonth.js +17 -13
  72. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +1 -2
  73. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  74. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +3 -4
  75. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +9 -9
  76. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +2 -3
  77. package/PickersActionBar/PickersActionBar.js +2 -2
  78. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +1 -2
  79. package/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  80. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +9 -9
  81. package/PickersDay/PickersDay.d.ts +8 -8
  82. package/PickersLayout/PickersLayout.d.ts +2 -3
  83. package/PickersLayout/PickersLayout.js +0 -2
  84. package/PickersLayout/PickersLayout.types.d.ts +16 -19
  85. package/PickersLayout/index.d.ts +1 -1
  86. package/PickersLayout/usePickerLayout.d.ts +1 -2
  87. package/PickersLayout/usePickerLayout.js +18 -23
  88. package/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  89. package/PickersTextField/PickersTextField.js +2 -2
  90. package/README.md +4 -4
  91. package/StaticDatePicker/StaticDatePicker.d.ts +1 -2
  92. package/StaticDatePicker/StaticDatePicker.js +14 -13
  93. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  94. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -2
  95. package/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  96. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  97. package/StaticTimePicker/StaticTimePicker.d.ts +1 -2
  98. package/StaticTimePicker/StaticTimePicker.js +8 -3
  99. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  100. package/TimeClock/Clock.d.ts +4 -5
  101. package/TimeClock/Clock.js +4 -3
  102. package/TimeClock/ClockNumbers.d.ts +5 -5
  103. package/TimeClock/TimeClock.d.ts +1 -2
  104. package/TimeClock/TimeClock.js +8 -6
  105. package/TimeClock/TimeClock.types.d.ts +4 -4
  106. package/TimeField/TimeField.d.ts +1 -2
  107. package/TimeField/TimeField.js +6 -6
  108. package/TimeField/TimeField.types.d.ts +9 -14
  109. package/TimeField/index.d.ts +1 -1
  110. package/TimeField/useTimeField.d.ts +1 -2
  111. package/TimePicker/TimePicker.d.ts +1 -2
  112. package/TimePicker/TimePicker.js +9 -4
  113. package/TimePicker/TimePicker.types.d.ts +10 -13
  114. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  115. package/TimePicker/TimePickerToolbar.js +8 -7
  116. package/TimePicker/shared.d.ts +10 -10
  117. package/YearCalendar/PickersYear.js +17 -13
  118. package/YearCalendar/YearCalendar.d.ts +1 -2
  119. package/YearCalendar/YearCalendar.js +18 -14
  120. package/YearCalendar/YearCalendar.types.d.ts +14 -15
  121. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  122. package/hooks/index.d.ts +2 -2
  123. package/hooks/index.js +2 -2
  124. package/hooks/useClearableField.js +4 -3
  125. package/hooks/useParsedFormat.d.ts +2 -3
  126. package/hooks/useParsedFormat.js +2 -2
  127. package/hooks/usePickerContext.d.ts +4 -0
  128. package/hooks/usePickerContext.js +15 -0
  129. package/hooks/usePickerTranslations.d.ts +1 -0
  130. package/{modern/hooks/usePickersTranslations.js → hooks/usePickerTranslations.js} +1 -1
  131. package/hooks/useSplitFieldProps.d.ts +3 -3
  132. package/index.js +1 -1
  133. package/internals/components/PickerProvider.d.ts +67 -0
  134. package/internals/components/PickerProvider.js +40 -0
  135. package/internals/hooks/date-helpers-hooks.d.ts +6 -6
  136. package/internals/hooks/defaultizedFieldProps.d.ts +7 -8
  137. package/internals/hooks/useClockReferenceDate.d.ts +5 -5
  138. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -2
  139. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  140. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +15 -15
  141. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +5 -5
  142. package/internals/hooks/useField/useField.d.ts +3 -3
  143. package/internals/hooks/useField/useField.js +1 -1
  144. package/internals/hooks/useField/useField.types.d.ts +40 -50
  145. package/internals/hooks/useField/useField.utils.d.ts +15 -15
  146. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
  147. package/internals/hooks/useField/useFieldState.d.ts +4 -4
  148. package/internals/hooks/useField/useFieldState.js +4 -3
  149. package/internals/hooks/useField/useFieldV7TextField.js +4 -3
  150. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
  151. package/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  152. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
  153. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  154. package/internals/hooks/usePicker/usePicker.js +15 -10
  155. package/internals/hooks/usePicker/usePicker.types.d.ts +9 -7
  156. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +6 -8
  157. package/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  158. package/internals/hooks/usePicker/usePickerProvider.d.ts +26 -0
  159. package/internals/hooks/usePicker/usePickerProvider.js +77 -0
  160. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  161. package/internals/hooks/usePicker/usePickerValue.js +7 -10
  162. package/internals/hooks/usePicker/usePickerValue.types.d.ts +38 -39
  163. package/internals/hooks/usePicker/usePickerViews.d.ts +7 -11
  164. package/internals/hooks/usePicker/usePickerViews.js +1 -0
  165. package/internals/hooks/usePickerPrivateContext.d.ts +4 -0
  166. package/internals/hooks/usePickerPrivateContext.js +9 -0
  167. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -2
  168. package/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  169. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  170. package/internals/hooks/useUtils.d.ts +7 -7
  171. package/internals/hooks/useValueWithTimezone.d.ts +19 -15
  172. package/internals/hooks/useValueWithTimezone.js +13 -1
  173. package/internals/hooks/useViews.d.ts +3 -3
  174. package/internals/hooks/useViews.js +1 -1
  175. package/internals/index.d.ts +7 -5
  176. package/internals/index.js +2 -1
  177. package/internals/models/common.d.ts +2 -1
  178. package/internals/models/fields.d.ts +32 -7
  179. package/internals/models/formProps.d.ts +14 -0
  180. package/internals/models/helpers.d.ts +0 -4
  181. package/internals/models/index.d.ts +2 -0
  182. package/internals/models/index.js +3 -1
  183. package/internals/models/props/basePickerProps.d.ts +5 -6
  184. package/internals/models/props/{clock.d.ts → time.d.ts} +10 -17
  185. package/internals/models/props/toolbar.d.ts +0 -2
  186. package/internals/models/validation.d.ts +21 -25
  187. package/internals/models/value.d.ts +3 -0
  188. package/internals/models/value.js +1 -0
  189. package/internals/utils/date-time-utils.d.ts +7 -7
  190. package/internals/utils/date-utils.d.ts +17 -17
  191. package/internals/utils/getDefaultReferenceDate.d.ts +10 -10
  192. package/internals/utils/time-utils.d.ts +5 -5
  193. package/internals/utils/valueManagers.d.ts +3 -3
  194. package/locales/beBY.d.ts +3 -3
  195. package/locales/beBY.js +3 -3
  196. package/locales/bgBG.d.ts +3 -3
  197. package/locales/bgBG.js +3 -3
  198. package/locales/caES.d.ts +3 -3
  199. package/locales/caES.js +3 -3
  200. package/locales/csCZ.d.ts +3 -3
  201. package/locales/csCZ.js +3 -3
  202. package/locales/daDK.d.ts +3 -3
  203. package/locales/daDK.js +3 -3
  204. package/locales/deDE.d.ts +3 -3
  205. package/locales/deDE.js +3 -3
  206. package/locales/elGR.d.ts +3 -3
  207. package/locales/elGR.js +12 -13
  208. package/locales/enUS.d.ts +4 -4
  209. package/locales/enUS.js +3 -3
  210. package/locales/esES.d.ts +3 -3
  211. package/locales/esES.js +3 -3
  212. package/locales/eu.d.ts +3 -3
  213. package/locales/eu.js +3 -3
  214. package/locales/faIR.d.ts +3 -3
  215. package/locales/faIR.js +3 -3
  216. package/locales/fiFI.d.ts +3 -3
  217. package/locales/fiFI.js +3 -3
  218. package/locales/frFR.d.ts +3 -3
  219. package/locales/frFR.js +3 -3
  220. package/locales/heIL.d.ts +3 -3
  221. package/locales/heIL.js +3 -3
  222. package/locales/hrHR.d.ts +3 -3
  223. package/locales/hrHR.js +3 -3
  224. package/locales/huHU.d.ts +3 -3
  225. package/locales/huHU.js +3 -3
  226. package/locales/isIS.d.ts +3 -3
  227. package/locales/isIS.js +3 -3
  228. package/locales/itIT.d.ts +3 -3
  229. package/locales/itIT.js +3 -3
  230. package/locales/jaJP.d.ts +3 -3
  231. package/locales/jaJP.js +3 -3
  232. package/locales/koKR.d.ts +3 -3
  233. package/locales/koKR.js +3 -3
  234. package/locales/kzKZ.d.ts +3 -3
  235. package/locales/kzKZ.js +3 -3
  236. package/locales/mk.d.ts +3 -3
  237. package/locales/mk.js +3 -3
  238. package/locales/nbNO.d.ts +3 -3
  239. package/locales/nbNO.js +3 -3
  240. package/locales/nlNL.d.ts +3 -3
  241. package/locales/nlNL.js +3 -3
  242. package/locales/nnNO.d.ts +3 -3
  243. package/locales/nnNO.js +3 -3
  244. package/locales/plPL.d.ts +3 -3
  245. package/locales/plPL.js +3 -3
  246. package/locales/ptBR.d.ts +3 -3
  247. package/locales/ptBR.js +5 -3
  248. package/locales/ptPT.d.ts +3 -3
  249. package/locales/ptPT.js +3 -3
  250. package/locales/roRO.d.ts +3 -3
  251. package/locales/roRO.js +3 -3
  252. package/locales/ruRU.d.ts +3 -3
  253. package/locales/ruRU.js +3 -3
  254. package/locales/skSK.d.ts +3 -3
  255. package/locales/skSK.js +3 -3
  256. package/locales/svSE.d.ts +3 -3
  257. package/locales/svSE.js +3 -3
  258. package/locales/trTR.d.ts +3 -3
  259. package/locales/trTR.js +3 -3
  260. package/locales/ukUA.d.ts +3 -3
  261. package/locales/ukUA.js +3 -3
  262. package/locales/urPK.d.ts +3 -3
  263. package/locales/urPK.js +3 -3
  264. package/locales/utils/getPickersLocalization.d.ts +9 -9
  265. package/locales/utils/getPickersLocalization.js +1 -1
  266. package/locales/utils/pickersLocaleTextApi.d.ts +12 -36
  267. package/locales/viVN.d.ts +3 -3
  268. package/locales/viVN.js +3 -3
  269. package/locales/zhCN.d.ts +3 -3
  270. package/locales/zhCN.js +3 -3
  271. package/locales/zhHK.d.ts +3 -3
  272. package/locales/zhHK.js +3 -3
  273. package/models/adapters.d.ts +151 -202
  274. package/models/common.d.ts +1 -0
  275. package/models/fields.d.ts +9 -42
  276. package/models/pickers.d.ts +28 -6
  277. package/modern/DateCalendar/DateCalendar.js +21 -22
  278. package/modern/DateCalendar/DayCalendar.js +13 -10
  279. package/modern/DateField/DateField.js +8 -10
  280. package/modern/DatePicker/DatePicker.js +15 -14
  281. package/modern/DatePicker/DatePickerToolbar.js +2 -4
  282. package/modern/DateTimeField/DateTimeField.js +9 -12
  283. package/modern/DateTimePicker/DateTimePicker.js +16 -16
  284. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  285. package/modern/DateTimePicker/DateTimePickerToolbar.js +8 -7
  286. package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
  287. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  288. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  289. package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
  290. package/modern/DigitalClock/DigitalClock.js +8 -6
  291. package/modern/MobileDatePicker/MobileDatePicker.js +17 -16
  292. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  293. package/modern/MobileTimePicker/MobileTimePicker.js +11 -6
  294. package/modern/MonthCalendar/MonthCalendar.js +18 -14
  295. package/modern/MonthCalendar/PickersMonth.js +17 -13
  296. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  297. package/modern/PickersActionBar/PickersActionBar.js +2 -2
  298. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  299. package/modern/PickersLayout/PickersLayout.js +0 -2
  300. package/modern/PickersLayout/usePickerLayout.js +18 -23
  301. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  302. package/modern/PickersTextField/PickersTextField.js +2 -2
  303. package/modern/StaticDatePicker/StaticDatePicker.js +14 -13
  304. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  305. package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
  306. package/modern/TimeClock/Clock.js +4 -3
  307. package/modern/TimeClock/TimeClock.js +8 -6
  308. package/modern/TimeField/TimeField.js +6 -6
  309. package/modern/TimePicker/TimePicker.js +9 -4
  310. package/modern/TimePicker/TimePickerToolbar.js +8 -7
  311. package/modern/YearCalendar/PickersYear.js +17 -13
  312. package/modern/YearCalendar/YearCalendar.js +18 -14
  313. package/modern/hooks/index.js +2 -2
  314. package/modern/hooks/useClearableField.js +4 -3
  315. package/modern/hooks/useParsedFormat.js +2 -2
  316. package/modern/hooks/usePickerContext.js +15 -0
  317. package/{hooks/usePickersTranslations.js → modern/hooks/usePickerTranslations.js} +1 -1
  318. package/modern/index.js +1 -1
  319. package/modern/internals/components/PickerProvider.js +40 -0
  320. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  321. package/modern/internals/hooks/useField/useField.js +1 -1
  322. package/modern/internals/hooks/useField/useFieldState.js +4 -3
  323. package/modern/internals/hooks/useField/useFieldV7TextField.js +4 -3
  324. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  325. package/modern/internals/hooks/usePicker/usePicker.js +15 -10
  326. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  327. package/modern/internals/hooks/usePicker/usePickerProvider.js +77 -0
  328. package/modern/internals/hooks/usePicker/usePickerValue.js +7 -10
  329. package/modern/internals/hooks/usePicker/usePickerViews.js +1 -0
  330. package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
  331. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  332. package/modern/internals/hooks/useValueWithTimezone.js +13 -1
  333. package/modern/internals/hooks/useViews.js +1 -1
  334. package/modern/internals/index.js +2 -1
  335. package/modern/internals/models/formProps.js +1 -0
  336. package/modern/internals/models/index.js +3 -1
  337. package/modern/internals/models/props/time.js +1 -0
  338. package/modern/internals/models/value.js +1 -0
  339. package/modern/locales/beBY.js +3 -3
  340. package/modern/locales/bgBG.js +3 -3
  341. package/modern/locales/caES.js +3 -3
  342. package/modern/locales/csCZ.js +3 -3
  343. package/modern/locales/daDK.js +3 -3
  344. package/modern/locales/deDE.js +3 -3
  345. package/modern/locales/elGR.js +12 -13
  346. package/modern/locales/enUS.js +3 -3
  347. package/modern/locales/esES.js +3 -3
  348. package/modern/locales/eu.js +3 -3
  349. package/modern/locales/faIR.js +3 -3
  350. package/modern/locales/fiFI.js +3 -3
  351. package/modern/locales/frFR.js +3 -3
  352. package/modern/locales/heIL.js +3 -3
  353. package/modern/locales/hrHR.js +3 -3
  354. package/modern/locales/huHU.js +3 -3
  355. package/modern/locales/isIS.js +3 -3
  356. package/modern/locales/itIT.js +3 -3
  357. package/modern/locales/jaJP.js +3 -3
  358. package/modern/locales/koKR.js +3 -3
  359. package/modern/locales/kzKZ.js +3 -3
  360. package/modern/locales/mk.js +3 -3
  361. package/modern/locales/nbNO.js +3 -3
  362. package/modern/locales/nlNL.js +3 -3
  363. package/modern/locales/nnNO.js +3 -3
  364. package/modern/locales/plPL.js +3 -3
  365. package/modern/locales/ptBR.js +5 -3
  366. package/modern/locales/ptPT.js +3 -3
  367. package/modern/locales/roRO.js +3 -3
  368. package/modern/locales/ruRU.js +3 -3
  369. package/modern/locales/skSK.js +3 -3
  370. package/modern/locales/svSE.js +3 -3
  371. package/modern/locales/trTR.js +3 -3
  372. package/modern/locales/ukUA.js +3 -3
  373. package/modern/locales/urPK.js +3 -3
  374. package/modern/locales/utils/getPickersLocalization.js +1 -1
  375. package/modern/locales/viVN.js +3 -3
  376. package/modern/locales/zhCN.js +3 -3
  377. package/modern/locales/zhHK.js +3 -3
  378. package/modern/validation/useValidation.js +2 -3
  379. package/modern/validation/validateDate.js +5 -0
  380. package/modern/validation/validateDateTime.js +5 -0
  381. package/modern/validation/validateTime.js +5 -0
  382. package/node/DateCalendar/DateCalendar.js +21 -22
  383. package/node/DateCalendar/DayCalendar.js +13 -10
  384. package/node/DateField/DateField.js +8 -10
  385. package/node/DatePicker/DatePicker.js +15 -14
  386. package/node/DatePicker/DatePickerToolbar.js +2 -4
  387. package/node/DateTimeField/DateTimeField.js +9 -12
  388. package/node/DateTimePicker/DateTimePicker.js +16 -16
  389. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  390. package/node/DateTimePicker/DateTimePickerToolbar.js +8 -7
  391. package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
  392. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  393. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +0 -2
  394. package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
  395. package/node/DigitalClock/DigitalClock.js +8 -6
  396. package/node/MobileDatePicker/MobileDatePicker.js +17 -16
  397. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  398. package/node/MobileTimePicker/MobileTimePicker.js +11 -6
  399. package/node/MonthCalendar/MonthCalendar.js +18 -14
  400. package/node/MonthCalendar/PickersMonth.js +17 -13
  401. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +8 -6
  402. package/node/PickersActionBar/PickersActionBar.js +2 -2
  403. package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  404. package/node/PickersLayout/PickersLayout.js +0 -2
  405. package/node/PickersLayout/usePickerLayout.js +18 -23
  406. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +10 -9
  407. package/node/PickersTextField/PickersTextField.js +2 -2
  408. package/node/StaticDatePicker/StaticDatePicker.js +14 -13
  409. package/node/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  410. package/node/StaticTimePicker/StaticTimePicker.js +8 -3
  411. package/node/TimeClock/Clock.js +4 -3
  412. package/node/TimeClock/TimeClock.js +8 -6
  413. package/node/TimeField/TimeField.js +6 -6
  414. package/node/TimePicker/TimePicker.js +9 -4
  415. package/node/TimePicker/TimePickerToolbar.js +8 -7
  416. package/node/YearCalendar/PickersYear.js +17 -13
  417. package/node/YearCalendar/YearCalendar.js +18 -14
  418. package/node/hooks/index.js +6 -6
  419. package/node/hooks/useClearableField.js +4 -3
  420. package/node/hooks/useParsedFormat.js +2 -2
  421. package/node/hooks/usePickerContext.js +21 -0
  422. package/node/hooks/usePickerTranslations.js +10 -0
  423. package/node/index.js +1 -1
  424. package/node/internals/components/PickerProvider.js +48 -0
  425. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +22 -18
  426. package/node/internals/hooks/useField/useField.js +1 -1
  427. package/node/internals/hooks/useField/useFieldState.js +4 -3
  428. package/node/internals/hooks/useField/useFieldV7TextField.js +4 -3
  429. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +24 -19
  430. package/node/internals/hooks/usePicker/usePicker.js +15 -10
  431. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +2 -5
  432. package/node/internals/hooks/usePicker/usePickerProvider.js +87 -0
  433. package/node/internals/hooks/usePicker/usePickerValue.js +6 -10
  434. package/node/internals/hooks/usePicker/usePickerViews.js +1 -0
  435. package/node/internals/hooks/usePickerPrivateContext.js +15 -0
  436. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +6 -5
  437. package/node/internals/hooks/useValueWithTimezone.js +13 -1
  438. package/node/internals/hooks/useViews.js +3 -3
  439. package/node/internals/index.js +14 -7
  440. package/node/internals/models/index.js +22 -0
  441. package/node/internals/models/props/time.js +5 -0
  442. package/node/internals/models/value.js +5 -0
  443. package/node/locales/beBY.js +3 -3
  444. package/node/locales/bgBG.js +3 -3
  445. package/node/locales/caES.js +3 -3
  446. package/node/locales/csCZ.js +3 -3
  447. package/node/locales/daDK.js +3 -3
  448. package/node/locales/deDE.js +3 -3
  449. package/node/locales/elGR.js +12 -13
  450. package/node/locales/enUS.js +3 -3
  451. package/node/locales/esES.js +3 -3
  452. package/node/locales/eu.js +3 -3
  453. package/node/locales/faIR.js +3 -3
  454. package/node/locales/fiFI.js +3 -3
  455. package/node/locales/frFR.js +3 -3
  456. package/node/locales/heIL.js +3 -3
  457. package/node/locales/hrHR.js +3 -3
  458. package/node/locales/huHU.js +3 -3
  459. package/node/locales/isIS.js +3 -3
  460. package/node/locales/itIT.js +3 -3
  461. package/node/locales/jaJP.js +3 -3
  462. package/node/locales/koKR.js +3 -3
  463. package/node/locales/kzKZ.js +3 -3
  464. package/node/locales/mk.js +3 -3
  465. package/node/locales/nbNO.js +3 -3
  466. package/node/locales/nlNL.js +3 -3
  467. package/node/locales/nnNO.js +3 -3
  468. package/node/locales/plPL.js +3 -3
  469. package/node/locales/ptBR.js +5 -3
  470. package/node/locales/ptPT.js +3 -3
  471. package/node/locales/roRO.js +3 -3
  472. package/node/locales/ruRU.js +3 -3
  473. package/node/locales/skSK.js +3 -3
  474. package/node/locales/svSE.js +3 -3
  475. package/node/locales/trTR.js +3 -3
  476. package/node/locales/ukUA.js +3 -3
  477. package/node/locales/urPK.js +3 -3
  478. package/node/locales/utils/getPickersLocalization.js +1 -1
  479. package/node/locales/viVN.js +3 -3
  480. package/node/locales/zhCN.js +3 -3
  481. package/node/locales/zhHK.js +3 -3
  482. package/node/validation/useValidation.js +2 -3
  483. package/node/validation/validateDate.js +4 -0
  484. package/node/validation/validateDateTime.js +4 -0
  485. package/node/validation/validateTime.js +4 -0
  486. package/package.json +5 -5
  487. package/themeAugmentation/props.d.ts +28 -28
  488. package/timeViewRenderers/timeViewRenderers.d.ts +6 -6
  489. package/validation/extractValidationProps.d.ts +4 -4
  490. package/validation/useValidation.d.ts +9 -10
  491. package/validation/useValidation.js +2 -3
  492. package/validation/validateDate.d.ts +7 -2
  493. package/validation/validateDate.js +5 -0
  494. package/validation/validateDateTime.d.ts +10 -4
  495. package/validation/validateDateTime.js +5 -0
  496. package/validation/validateTime.d.ts +7 -2
  497. package/validation/validateTime.js +5 -0
  498. package/hooks/usePickersContext.d.ts +0 -4
  499. package/hooks/usePickersContext.js +0 -15
  500. package/hooks/usePickersTranslations.d.ts +0 -2
  501. package/internals/components/PickersProvider.d.ts +0 -34
  502. package/internals/components/PickersProvider.js +0 -26
  503. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +0 -9
  504. package/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
  505. package/modern/hooks/usePickersContext.js +0 -15
  506. package/modern/internals/components/PickersProvider.js +0 -26
  507. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +0 -13
  508. package/node/hooks/usePickersContext.js +0 -21
  509. package/node/hooks/usePickersTranslations.js +0 -10
  510. package/node/internals/components/PickersProvider.js +0 -34
  511. package/node/internals/hooks/usePicker/usePickerOwnerState.js +0 -20
  512. /package/internals/models/{props/clock.js → formProps.js} +0 -0
  513. /package/{modern/internals/models/props/clock.js → internals/models/props/time.js} +0 -0
  514. /package/node/internals/models/{props/clock.js → formProps.js} +0 -0
@@ -1,11 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { Theme } from '@mui/material/styles';
4
+ import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
4
5
  import { MonthCalendarClasses } from './monthCalendarClasses';
5
6
  import { BaseDateValidationProps, MonthValidationProps } from '../internals/models/validation';
6
- import { PickerValidDate, TimezoneProps } from '../models';
7
- import type { PickersMonthProps } from './PickersMonth';
8
- import { SlotComponentPropsFromProps } from '../internals/models/helpers';
7
+ import { PickerOwnerState, PickerValidDate, TimezoneProps } from '../models';
8
+ import { FormProps } from '../internals/models/formProps';
9
+ export interface PickerMonthOwnerState extends PickerOwnerState {
10
+ isMonthSelected: boolean;
11
+ isMonthDisabled: boolean;
12
+ }
9
13
  export interface MonthCalendarSlots {
10
14
  /**
11
15
  * Button displayed to render a single month in the `month` view.
@@ -16,7 +20,7 @@ export interface MonthCalendarSlots {
16
20
  export interface MonthCalendarSlotProps {
17
21
  monthButton?: SlotComponentPropsFromProps<React.HTMLAttributes<HTMLButtonElement> & {
18
22
  sx: SxProps;
19
- }, {}, PickersMonthProps>;
23
+ }, {}, PickerMonthOwnerState>;
20
24
  }
21
25
  export interface ExportedMonthCalendarProps {
22
26
  /**
@@ -25,7 +29,7 @@ export interface ExportedMonthCalendarProps {
25
29
  */
26
30
  monthsPerRow?: 3 | 4;
27
31
  }
28
- export interface MonthCalendarProps<TDate extends PickerValidDate> extends ExportedMonthCalendarProps, MonthValidationProps<TDate>, BaseDateValidationProps<TDate>, TimezoneProps {
32
+ export interface MonthCalendarProps extends ExportedMonthCalendarProps, MonthValidationProps, BaseDateValidationProps, TimezoneProps, FormProps {
29
33
  autoFocus?: boolean;
30
34
  className?: string;
31
35
  /**
@@ -46,31 +50,26 @@ export interface MonthCalendarProps<TDate extends PickerValidDate> extends Expor
46
50
  * The system prop that allows defining system overrides as well as additional CSS styles.
47
51
  */
48
52
  sx?: SxProps<Theme>;
49
- /** If `true` picker is disabled */
50
- disabled?: boolean;
51
53
  /**
52
54
  * The selected value.
53
55
  * Used when the component is controlled.
54
56
  */
55
- value?: TDate | null;
57
+ value?: PickerValidDate | null;
56
58
  /**
57
59
  * The default selected value.
58
60
  * Used when the component is not controlled.
59
61
  */
60
- defaultValue?: TDate | null;
62
+ defaultValue?: PickerValidDate | null;
61
63
  /**
62
64
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
63
65
  * @default The closest valid month using the validation props, except callbacks such as `shouldDisableMonth`.
64
66
  */
65
- referenceDate?: TDate;
67
+ referenceDate?: PickerValidDate;
66
68
  /**
67
69
  * Callback fired when the value changes.
68
- * @template TDate
69
- * @param {TDate} value The new value.
70
+ * @param {PickerValidDate} value The new value.
70
71
  */
71
- onChange?: (value: TDate) => void;
72
- /** If `true` picker is readonly */
73
- readOnly?: boolean;
72
+ onChange?: (value: PickerValidDate) => void;
74
73
  /**
75
74
  * If `true`, today's date is rendering without highlighting with circle.
76
75
  * @default false
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["autoFocus", "className", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "aria-label", "monthsPerRow", "slots", "slotProps"];
3
+ const _excluded = ["autoFocus", "className", "classes", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "aria-label", "monthsPerRow", "slots", "slotProps"];
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { styled, alpha, useThemeProps } from '@mui/material/styles';
@@ -8,16 +8,12 @@ import useSlotProps from '@mui/utils/useSlotProps';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
9
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
10
10
  import { getPickersMonthUtilityClass, pickersMonthClasses } from "./pickersMonthClasses.js";
11
+ import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const useUtilityClasses = ownerState => {
13
- const {
14
- disabled,
15
- selected,
16
- classes
17
- } = ownerState;
13
+ const useUtilityClasses = (classes, ownerState) => {
18
14
  const slots = {
19
15
  root: ['root'],
20
- monthButton: ['monthButton', disabled && 'disabled', selected && 'selected']
16
+ monthButton: ['monthButton', ownerState.isMonthDisabled && 'disabled', ownerState.isMonthSelected && 'selected']
21
17
  };
22
18
  return composeClasses(slots, getPickersMonthUtilityClass, classes);
23
19
  };
@@ -93,9 +89,10 @@ export const PickersMonth = /*#__PURE__*/React.memo(function PickersMonth(inProp
93
89
  const {
94
90
  autoFocus,
95
91
  className,
92
+ classes: classesProp,
96
93
  children,
97
- disabled,
98
- selected,
94
+ disabled = false,
95
+ selected = false,
99
96
  value,
100
97
  tabIndex,
101
98
  onClick,
@@ -112,7 +109,14 @@ export const PickersMonth = /*#__PURE__*/React.memo(function PickersMonth(inProp
112
109
  } = props,
113
110
  other = _objectWithoutPropertiesLoose(props, _excluded);
114
111
  const ref = React.useRef(null);
115
- const classes = useUtilityClasses(props);
112
+ const {
113
+ ownerState: pickerOwnerState
114
+ } = usePickerPrivateContext();
115
+ const ownerState = _extends({}, pickerOwnerState, {
116
+ isMonthDisabled: disabled,
117
+ isMonthSelected: selected
118
+ });
119
+ const classes = useUtilityClasses(classesProp, ownerState);
116
120
 
117
121
  // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button
118
122
  useEnhancedEffect(() => {
@@ -140,12 +144,12 @@ export const PickersMonth = /*#__PURE__*/React.memo(function PickersMonth(inProp
140
144
  onFocus: event => onFocus(event, value),
141
145
  onBlur: event => onBlur(event, value)
142
146
  },
143
- ownerState: props,
147
+ ownerState,
144
148
  className: classes.monthButton
145
149
  });
146
150
  return /*#__PURE__*/_jsx(PickersMonthRoot, _extends({
147
151
  className: clsx(classes.root, className),
148
- ownerState: props
152
+ ownerState: ownerState
149
153
  }, other, {
150
154
  children: /*#__PURE__*/_jsx(MonthButton, _extends({}, monthButtonProps))
151
155
  }));
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { MultiSectionDigitalClockProps } from './MultiSectionDigitalClock.types';
3
- import { PickerValidDate } from '../models';
4
- type MultiSectionDigitalClockComponent = (<TDate extends PickerValidDate>(props: MultiSectionDigitalClockProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ type MultiSectionDigitalClockComponent = ((props: MultiSectionDigitalClockProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
4
  propTypes?: any;
6
5
  };
7
6
  /**
@@ -10,7 +10,7 @@ import { useRtl } from '@mui/system/RtlProvider';
10
10
  import { styled, useThemeProps } from '@mui/material/styles';
11
11
  import useEventCallback from '@mui/utils/useEventCallback';
12
12
  import composeClasses from '@mui/utils/composeClasses';
13
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
13
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
14
14
  import { useUtils, useNow } from "../internals/hooks/useUtils.js";
15
15
  import { convertValueToMeridiem, createIsAfterIgnoreDatePart } from "../internals/utils/time-utils.js";
16
16
  import { useViews } from "../internals/hooks/useViews.js";
@@ -101,10 +101,11 @@ export const MultiSectionDigitalClock = /*#__PURE__*/React.forwardRef(function M
101
101
  timezone: timezoneProp,
102
102
  value: valueProp,
103
103
  defaultValue,
104
+ referenceDate: referenceDateProp,
104
105
  onChange,
105
106
  valueManager: singleItemValueManager
106
107
  });
107
- const translations = usePickersTranslations();
108
+ const translations = usePickerTranslations();
108
109
  const now = useNow(timezone);
109
110
  const timeSteps = React.useMemo(() => _extends({
110
111
  hours: 1,
@@ -368,7 +369,8 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
368
369
  */
369
370
  defaultValue: PropTypes.object,
370
371
  /**
371
- * If `true`, the picker views and text field are disabled.
372
+ * If `true`, the component is disabled.
373
+ * When disabled, the value cannot be changed and no interaction is possible.
372
374
  * @default false
373
375
  */
374
376
  disabled: PropTypes.bool,
@@ -435,7 +437,8 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
435
437
  */
436
438
  openTo: PropTypes.oneOf(['hours', 'meridiem', 'minutes', 'seconds']),
437
439
  /**
438
- * If `true`, the picker views and text field are read-only.
440
+ * If `true`, the component is read-only.
441
+ * When read-only, the value cannot be changed but the user can interact with the interface.
439
442
  * @default false
440
443
  */
441
444
  readOnly: PropTypes.bool,
@@ -446,8 +449,7 @@ process.env.NODE_ENV !== "production" ? MultiSectionDigitalClock.propTypes = {
446
449
  referenceDate: PropTypes.object,
447
450
  /**
448
451
  * Disable specific time.
449
- * @template TDate
450
- * @param {TDate} value The value to check.
452
+ * @param {PickerValidDate} value The value to check.
451
453
  * @param {TimeView} view The clock type of the timeValue.
452
454
  * @returns {boolean} If `true` the time will be disabled.
453
455
  */
@@ -2,10 +2,9 @@ import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
3
  import MenuItem from '@mui/material/MenuItem';
4
4
  import { MultiSectionDigitalClockClasses } from './multiSectionDigitalClockClasses';
5
- import { BaseClockProps, ExportedBaseClockProps, MultiSectionDigitalClockOnlyProps } from '../internals/models/props/clock';
5
+ import { BaseClockProps, ExportedBaseClockProps, MultiSectionDigitalClockOnlyProps } from '../internals/models/props/time';
6
6
  import { MultiSectionDigitalClockSectionProps } from './MultiSectionDigitalClockSection';
7
7
  import { TimeViewWithMeridiem } from '../internals/models';
8
- import { PickerValidDate } from '../models';
9
8
  export interface MultiSectionDigitalClockOption<TValue> {
10
9
  isDisabled?: (value: TValue) => boolean;
11
10
  isSelected: (value: TValue) => boolean;
@@ -14,7 +13,7 @@ export interface MultiSectionDigitalClockOption<TValue> {
14
13
  value: TValue;
15
14
  ariaLabel: string;
16
15
  }
17
- export interface ExportedMultiSectionDigitalClockProps<TDate extends PickerValidDate> extends ExportedBaseClockProps<TDate>, MultiSectionDigitalClockOnlyProps {
16
+ export interface ExportedMultiSectionDigitalClockProps extends ExportedBaseClockProps, MultiSectionDigitalClockOnlyProps {
18
17
  }
19
18
  export interface MultiSectionDigitalClockViewProps<TValue> extends Pick<MultiSectionDigitalClockSectionProps<TValue>, 'onChange' | 'items'> {
20
19
  }
@@ -28,7 +27,7 @@ export interface MultiSectionDigitalClockSlots {
28
27
  export interface MultiSectionDigitalClockSlotProps {
29
28
  digitalClockSectionItem?: SlotComponentProps<typeof MenuItem, {}, Record<string, any>>;
30
29
  }
31
- export interface MultiSectionDigitalClockProps<TDate extends PickerValidDate> extends ExportedMultiSectionDigitalClockProps<TDate>, BaseClockProps<TDate, TimeViewWithMeridiem> {
30
+ export interface MultiSectionDigitalClockProps extends ExportedMultiSectionDigitalClockProps, BaseClockProps<TimeViewWithMeridiem> {
32
31
  /**
33
32
  * Available views.
34
33
  * @default ['hours', 'minutes']
@@ -1,24 +1,24 @@
1
1
  import { MuiPickersAdapter, PickerValidDate } from '../models';
2
2
  import { MultiSectionDigitalClockOption } from './MultiSectionDigitalClock.types';
3
- interface IGetHoursSectionOptions<TDate extends PickerValidDate> {
4
- now: TDate;
5
- value: TDate | null;
6
- utils: MuiPickersAdapter<TDate>;
3
+ interface GetHoursSectionOptionsParameters {
4
+ now: PickerValidDate;
5
+ value: PickerValidDate | null;
6
+ utils: MuiPickersAdapter;
7
7
  ampm: boolean;
8
8
  isDisabled: (value: number) => boolean;
9
9
  timeStep: number;
10
10
  resolveAriaLabel: (value: string) => string;
11
- valueOrReferenceDate: TDate;
11
+ valueOrReferenceDate: PickerValidDate;
12
12
  }
13
- export declare const getHourSectionOptions: <TDate extends PickerValidDate>({ now, value, utils, ampm, isDisabled, resolveAriaLabel, timeStep, valueOrReferenceDate, }: IGetHoursSectionOptions<TDate>) => MultiSectionDigitalClockOption<number>[];
14
- interface IGetTimeSectionOptions<TDate extends PickerValidDate> {
13
+ export declare const getHourSectionOptions: ({ now, value, utils, ampm, isDisabled, resolveAriaLabel, timeStep, valueOrReferenceDate, }: GetHoursSectionOptionsParameters) => MultiSectionDigitalClockOption<number>[];
14
+ interface GetTimeSectionOptionsParameters {
15
15
  value: number | null;
16
- utils: MuiPickersAdapter<TDate>;
16
+ utils: MuiPickersAdapter;
17
17
  isDisabled: (value: number) => boolean;
18
18
  timeStep: number;
19
19
  resolveLabel: (value: number) => string;
20
20
  hasValue?: boolean;
21
21
  resolveAriaLabel: (value: string) => string;
22
22
  }
23
- export declare const getTimeSectionOptions: <TDate extends PickerValidDate>({ value, utils, isDisabled, timeStep, resolveLabel, resolveAriaLabel, hasValue, }: IGetTimeSectionOptions<TDate>) => MultiSectionDigitalClockOption<number>[];
23
+ export declare const getTimeSectionOptions: ({ value, utils, isDisabled, timeStep, resolveLabel, resolveAriaLabel, hasValue, }: GetTimeSectionOptionsParameters) => MultiSectionDigitalClockOption<number>[];
24
24
  export {};
@@ -1,16 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { MultiSectionDigitalClockSectionClasses } from './multiSectionDigitalClockSectionClasses';
3
3
  import type { MultiSectionDigitalClockOption, MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from './MultiSectionDigitalClock.types';
4
+ import { FormProps } from '../internals/models/formProps';
4
5
  export interface ExportedMultiSectionDigitalClockSectionProps {
5
6
  className?: string;
6
7
  classes?: Partial<MultiSectionDigitalClockSectionClasses>;
7
8
  slots?: MultiSectionDigitalClockSlots;
8
9
  slotProps?: MultiSectionDigitalClockSlotProps;
9
10
  }
10
- export interface MultiSectionDigitalClockSectionProps<TValue> extends ExportedMultiSectionDigitalClockSectionProps {
11
+ export interface MultiSectionDigitalClockSectionProps<TValue> extends FormProps, ExportedMultiSectionDigitalClockSectionProps {
11
12
  autoFocus?: boolean;
12
- disabled?: boolean;
13
- readOnly?: boolean;
14
13
  items: MultiSectionDigitalClockOption<TValue>[];
15
14
  onChange: (value: TValue) => void;
16
15
  active?: boolean;
@@ -7,7 +7,7 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import Button from '@mui/material/Button';
9
9
  import DialogActions from '@mui/material/DialogActions';
10
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
10
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  /**
13
13
  * Demos:
@@ -28,7 +28,7 @@ function PickersActionBar(props) {
28
28
  actions
29
29
  } = props,
30
30
  other = _objectWithoutPropertiesLoose(props, _excluded);
31
- const translations = usePickersTranslations();
31
+ const translations = usePickerTranslations();
32
32
  if (actions == null || actions.length === 0) {
33
33
  return null;
34
34
  }
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { PickersCalendarHeaderProps } from './PickersCalendarHeader.types';
3
- import { PickerValidDate } from '../models';
4
- type PickersCalendarHeaderComponent = (<TDate extends PickerValidDate>(props: PickersCalendarHeaderProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ type PickersCalendarHeaderComponent = ((props: PickersCalendarHeaderProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
4
  propTypes?: any;
6
5
  };
7
6
  /**
@@ -12,7 +12,7 @@ import { styled, useThemeProps } from '@mui/material/styles';
12
12
  import useSlotProps from '@mui/utils/useSlotProps';
13
13
  import composeClasses from '@mui/utils/composeClasses';
14
14
  import IconButton from '@mui/material/IconButton';
15
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
15
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
16
16
  import { useUtils } from "../internals/hooks/useUtils.js";
17
17
  import { PickersFadeTransitionGroup } from "../DateCalendar/PickersFadeTransitionGroup.js";
18
18
  import { ArrowDropDownIcon } from "../icons/index.js";
@@ -110,7 +110,7 @@ const PickersCalendarHeaderSwitchViewIcon = styled(ArrowDropDownIcon, {
110
110
  * - [PickersCalendarHeader API](https://mui.com/x/api/date-pickers/pickers-calendar-header/)
111
111
  */
112
112
  const PickersCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersCalendarHeader(inProps, ref) {
113
- const translations = usePickersTranslations();
113
+ const translations = usePickerTranslations();
114
114
  const utils = useUtils();
115
115
  const props = useThemeProps({
116
116
  props: inProps,
@@ -22,12 +22,12 @@ export interface PickersCalendarHeaderSlots extends PickersArrowSwitcherSlots {
22
22
  }
23
23
  export interface PickersCalendarHeaderSlotPropsOverrides {
24
24
  }
25
- export type PickersCalendarHeaderOwnerState<TDate extends PickerValidDate> = PickersCalendarHeaderProps<TDate>;
26
- export interface PickersCalendarHeaderSlotProps<TDate extends PickerValidDate> extends PickersArrowSwitcherSlotProps {
27
- switchViewButton?: SlotComponentProps<typeof IconButton, PickersCalendarHeaderSlotPropsOverrides, PickersCalendarHeaderOwnerState<TDate>>;
28
- switchViewIcon?: SlotComponentProps<typeof SvgIcon, PickersCalendarHeaderSlotPropsOverrides, PickersCalendarHeaderOwnerState<TDate>>;
25
+ export type PickersCalendarHeaderOwnerState = PickersCalendarHeaderProps;
26
+ export interface PickersCalendarHeaderSlotProps extends PickersArrowSwitcherSlotProps {
27
+ switchViewButton?: SlotComponentProps<typeof IconButton, PickersCalendarHeaderSlotPropsOverrides, PickersCalendarHeaderOwnerState>;
28
+ switchViewIcon?: SlotComponentProps<typeof SvgIcon, PickersCalendarHeaderSlotPropsOverrides, PickersCalendarHeaderOwnerState>;
29
29
  }
30
- export interface PickersCalendarHeaderProps<TDate extends PickerValidDate> extends ExportedPickersArrowSwitcherProps, MonthValidationOptions<TDate> {
30
+ export interface PickersCalendarHeaderProps extends ExportedPickersArrowSwitcherProps, MonthValidationOptions {
31
31
  /**
32
32
  * Overridable component slots.
33
33
  * @default {}
@@ -37,11 +37,11 @@ export interface PickersCalendarHeaderProps<TDate extends PickerValidDate> exten
37
37
  * The props used for each component slot.
38
38
  * @default {}
39
39
  */
40
- slotProps?: PickersCalendarHeaderSlotProps<TDate>;
41
- currentMonth: TDate;
40
+ slotProps?: PickersCalendarHeaderSlotProps;
41
+ currentMonth: PickerValidDate;
42
42
  disabled?: boolean;
43
43
  views: readonly DateView[];
44
- onMonthChange: (date: TDate, slideDirection: SlideDirection) => void;
44
+ onMonthChange: (date: PickerValidDate, slideDirection: SlideDirection) => void;
45
45
  view: DateView;
46
46
  reduceAnimations: boolean;
47
47
  onViewChange?: (view: DateView) => void;
@@ -60,4 +60,4 @@ export interface PickersCalendarHeaderProps<TDate extends PickerValidDate> exten
60
60
  */
61
61
  sx?: SxProps<Theme>;
62
62
  }
63
- export type ExportedPickersCalendarHeaderProps<TDate extends PickerValidDate> = Pick<PickersCalendarHeaderProps<TDate>, 'classes' | 'slots' | 'slotProps'>;
63
+ export type ExportedPickersCalendarHeaderProps = Pick<PickersCalendarHeaderProps, 'classes' | 'slots' | 'slotProps'>;
@@ -21,7 +21,7 @@ export interface ExportedPickersDayProps {
21
21
  */
22
22
  showDaysOutsideCurrentMonth?: boolean;
23
23
  }
24
- export interface PickersDayProps<TDate extends PickerValidDate> extends ExportedPickersDayProps, Omit<ExtendMui<ButtonBaseProps>, 'onKeyDown' | 'onFocus' | 'onBlur' | 'onMouseEnter' | 'LinkComponent'> {
24
+ export interface PickersDayProps extends ExportedPickersDayProps, Omit<ExtendMui<ButtonBaseProps>, 'onKeyDown' | 'onFocus' | 'onBlur' | 'onMouseEnter' | 'LinkComponent'> {
25
25
  /**
26
26
  * Override or extend the styles applied to the component.
27
27
  */
@@ -29,7 +29,7 @@ export interface PickersDayProps<TDate extends PickerValidDate> extends Exported
29
29
  /**
30
30
  * The date to show.
31
31
  */
32
- day: TDate;
32
+ day: PickerValidDate;
33
33
  /**
34
34
  * If `true`, renders as disabled.
35
35
  * @default false
@@ -41,11 +41,11 @@ export interface PickersDayProps<TDate extends PickerValidDate> extends Exported
41
41
  */
42
42
  disableMargin?: boolean;
43
43
  isAnimating?: boolean;
44
- onFocus?: (event: React.FocusEvent<HTMLButtonElement>, day: TDate) => void;
45
- onBlur?: (event: React.FocusEvent<HTMLButtonElement>, day: TDate) => void;
46
- onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>, day: TDate) => void;
47
- onMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, day: TDate) => void;
48
- onDaySelect: (day: TDate) => void;
44
+ onFocus?: (event: React.FocusEvent<HTMLButtonElement>, day: PickerValidDate) => void;
45
+ onBlur?: (event: React.FocusEvent<HTMLButtonElement>, day: PickerValidDate) => void;
46
+ onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>, day: PickerValidDate) => void;
47
+ onMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, day: PickerValidDate) => void;
48
+ onDaySelect: (day: PickerValidDate) => void;
49
49
  /**
50
50
  * If `true`, day is outside of month and will be hidden.
51
51
  */
@@ -71,7 +71,7 @@ export interface PickersDayProps<TDate extends PickerValidDate> extends Exported
71
71
  */
72
72
  today?: boolean;
73
73
  }
74
- type PickersDayComponent = (<TDate extends PickerValidDate>(props: PickersDayProps<TDate> & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element) & {
74
+ type PickersDayComponent = ((props: PickersDayProps & React.RefAttributes<HTMLButtonElement>) => React.JSX.Element) & {
75
75
  propTypes?: any;
76
76
  };
77
77
  /**
@@ -1,12 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { PickersLayoutProps } from './PickersLayout.types';
3
3
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
4
- import { PickerValidDate } from '../models';
5
4
  export declare const PickersLayoutRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
6
- ownerState: PickersLayoutProps<any, any, any>;
5
+ ownerState: PickersLayoutProps<any, any>;
7
6
  }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
8
7
  export declare const PickersLayoutContentWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
9
- type PickersLayoutComponent = (<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem>(props: PickersLayoutProps<TValue, TDate, TView> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
8
+ type PickersLayoutComponent = (<TValue, TView extends DateOrTimeViewWithMeridiem>(props: PickersLayoutProps<TValue, TView> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
10
9
  propTypes?: any;
11
10
  };
12
11
  /**
@@ -145,7 +145,6 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
145
145
  */
146
146
  classes: PropTypes.object,
147
147
  className: PropTypes.string,
148
- disabled: PropTypes.bool,
149
148
  isLandscape: PropTypes.bool.isRequired,
150
149
  /**
151
150
  * `true` if the application is in right-to-left direction.
@@ -166,7 +165,6 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
166
165
  * Force rendering in particular orientation.
167
166
  */
168
167
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
169
- readOnly: PropTypes.bool,
170
168
  /**
171
169
  * The props used for each component slot.
172
170
  * @default {}
@@ -6,11 +6,11 @@ import { BaseToolbarProps, ExportedBaseToolbarProps } from '../internals/models/
6
6
  import { BaseTabsProps, ExportedBaseTabsProps } from '../internals/models/props/tabs';
7
7
  import { UsePickerLayoutPropsResponseLayoutProps } from '../internals/hooks/usePicker/usePickerLayoutProps';
8
8
  import { PickersLayoutClasses } from './pickersLayoutClasses';
9
- import { DateOrTimeViewWithMeridiem, WrapperVariant } from '../internals/models/common';
9
+ import { DateOrTimeViewWithMeridiem, PickerVariant } from '../internals/models/common';
10
10
  import { PickersShortcutsProps } from '../PickersShortcuts';
11
11
  import { ExportedPickersShortcutProps, PickersShortcuts } from '../PickersShortcuts/PickersShortcuts';
12
- import { PickerValidDate } from '../models';
13
- export interface ExportedPickersLayoutSlots<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> {
12
+ import { PickerOwnerState } from '../models';
13
+ export interface ExportedPickersLayoutSlots<TValue, TView extends DateOrTimeViewWithMeridiem> {
14
14
  /**
15
15
  * Custom component for the action bar, it is placed below the picker views.
16
16
  * @default PickersActionBar
@@ -25,29 +25,27 @@ export interface ExportedPickersLayoutSlots<TValue, TDate extends PickerValidDat
25
25
  * Custom component for wrapping the layout.
26
26
  * It wraps the toolbar, views, action bar, and shortcuts.
27
27
  */
28
- layout?: React.JSXElementConstructor<PickersLayoutProps<TValue, TDate, TView> & React.RefAttributes<HTMLDivElement>>;
28
+ layout?: React.JSXElementConstructor<PickersLayoutProps<TValue, TView> & React.RefAttributes<HTMLDivElement>>;
29
29
  }
30
- interface PickersLayoutActionBarOwnerState<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends PickersLayoutProps<TValue, TDate, TView> {
31
- wrapperVariant: WrapperVariant;
30
+ export interface PickerLayoutOwnerState extends PickerOwnerState {
31
+ wrapperVariant: PickerVariant;
32
+ isLandscape: boolean;
32
33
  }
33
- interface PickersShortcutsOwnerState<TValue> extends PickersShortcutsProps<TValue> {
34
- wrapperVariant: WrapperVariant;
35
- }
36
- export interface ExportedPickersLayoutSlotProps<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> {
34
+ export interface ExportedPickersLayoutSlotProps<TValue, TView extends DateOrTimeViewWithMeridiem> {
37
35
  /**
38
36
  * Props passed down to the action bar component.
39
37
  */
40
- actionBar?: SlotComponentProps<typeof PickersActionBar, {}, PickersLayoutActionBarOwnerState<TValue, TDate, TView>>;
38
+ actionBar?: SlotComponentProps<typeof PickersActionBar, {}, PickerLayoutOwnerState>;
41
39
  /**
42
40
  * Props passed down to the shortcuts component.
43
41
  */
44
- shortcuts?: SlotComponentProps<typeof PickersShortcuts, {}, PickersShortcutsOwnerState<TValue>>;
42
+ shortcuts?: SlotComponentProps<typeof PickersShortcuts, {}, PickerLayoutOwnerState>;
45
43
  /**
46
44
  * Props passed down to the layoutRoot component.
47
45
  */
48
- layout?: Partial<PickersLayoutProps<TValue, TDate, TView>>;
46
+ layout?: Partial<PickersLayoutProps<TValue, TView>>;
49
47
  }
50
- export interface PickersLayoutSlots<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<TValue, TDate, TView> {
48
+ export interface PickersLayoutSlots<TValue, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<TValue, TView> {
51
49
  /**
52
50
  * Tabs enabling toggling between views.
53
51
  */
@@ -58,7 +56,7 @@ export interface PickersLayoutSlots<TValue, TDate extends PickerValidDate, TView
58
56
  */
59
57
  toolbar?: React.JSXElementConstructor<BaseToolbarProps<TValue, TView>>;
60
58
  }
61
- export interface PickersLayoutSlotProps<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotProps<TValue, TDate, TView> {
59
+ export interface PickersLayoutSlotProps<TValue, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotProps<TValue, TView> {
62
60
  /**
63
61
  * Props passed down to the tabs component.
64
62
  */
@@ -68,7 +66,7 @@ export interface PickersLayoutSlotProps<TValue, TDate extends PickerValidDate, T
68
66
  */
69
67
  toolbar?: ExportedBaseToolbarProps;
70
68
  }
71
- export interface PickersLayoutProps<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends Omit<UsePickerLayoutPropsResponseLayoutProps<TValue, TView>, 'value'> {
69
+ export interface PickersLayoutProps<TValue, TView extends DateOrTimeViewWithMeridiem> extends Omit<UsePickerLayoutPropsResponseLayoutProps<TValue, TView>, 'value'> {
72
70
  value?: TValue;
73
71
  className?: string;
74
72
  children?: React.ReactNode;
@@ -84,12 +82,12 @@ export interface PickersLayoutProps<TValue, TDate extends PickerValidDate, TView
84
82
  * Overridable component slots.
85
83
  * @default {}
86
84
  */
87
- slots?: PickersLayoutSlots<TValue, TDate, TView>;
85
+ slots?: PickersLayoutSlots<TValue, TView>;
88
86
  /**
89
87
  * The props used for each component slot.
90
88
  * @default {}
91
89
  */
92
- slotProps?: PickersLayoutSlotProps<TValue, TDate, TView>;
90
+ slotProps?: PickersLayoutSlotProps<TValue, TView>;
93
91
  /**
94
92
  * `true` if the application is in right-to-left direction.
95
93
  */
@@ -102,4 +100,3 @@ export interface SubComponents<TValue> {
102
100
  actionBar: React.ReactElement<PickersActionBarProps>;
103
101
  shortcuts: React.ReactElement<ExportedPickersShortcutProps<TValue>> | null;
104
102
  }
105
- export {};
@@ -1,5 +1,5 @@
1
1
  export { PickersLayout, PickersLayoutRoot, PickersLayoutContentWrapper } from './PickersLayout';
2
- export type { PickersLayoutProps, PickersLayoutSlots, PickersLayoutSlotProps, ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, } from './PickersLayout.types';
2
+ export type { PickersLayoutProps, PickersLayoutSlots, PickersLayoutSlotProps, ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickerLayoutOwnerState, } from './PickersLayout.types';
3
3
  export { default as usePickerLayout } from './usePickerLayout';
4
4
  export { pickersLayoutClasses } from './pickersLayoutClasses';
5
5
  export type { PickersLayoutClassKey } from './pickersLayoutClasses';
@@ -1,7 +1,6 @@
1
1
  import { PickersLayoutProps, SubComponents } from './PickersLayout.types';
2
2
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
3
- import { PickerValidDate } from '../models';
4
3
  interface UsePickerLayoutResponse<TValue> extends SubComponents<TValue> {
5
4
  }
6
- declare const usePickerLayout: <TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem>(props: PickersLayoutProps<TValue, TDate, TView>) => UsePickerLayoutResponse<TValue>;
5
+ declare const usePickerLayout: <TValue, TView extends DateOrTimeViewWithMeridiem>(props: PickersLayoutProps<TValue, TView>) => UsePickerLayoutResponse<TValue>;
7
6
  export default usePickerLayout;