@mui/x-date-pickers 7.22.2 → 8.0.0-alpha.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 (498) 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 +142 -155
  12. package/DateCalendar/DateCalendar.d.ts +1 -2
  13. package/DateCalendar/DateCalendar.js +20 -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 +12 -2
  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 +3 -3
  42. package/DateTimePicker/DateTimePickerToolbar.js +12 -2
  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 +10 -0
  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 +7 -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 +17 -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 +7 -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 +10 -0
  84. package/PickersLayout/PickersLayout.types.d.ts +14 -17
  85. package/PickersLayout/index.d.ts +1 -1
  86. package/PickersLayout/usePickerLayout.d.ts +1 -2
  87. package/PickersLayout/usePickerLayout.js +17 -18
  88. package/README.md +2 -2
  89. package/StaticDatePicker/StaticDatePicker.d.ts +1 -2
  90. package/StaticDatePicker/StaticDatePicker.js +14 -13
  91. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  92. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -2
  93. package/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  94. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  95. package/StaticTimePicker/StaticTimePicker.d.ts +1 -2
  96. package/StaticTimePicker/StaticTimePicker.js +8 -3
  97. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  98. package/TimeClock/Clock.d.ts +4 -5
  99. package/TimeClock/Clock.js +3 -3
  100. package/TimeClock/ClockNumbers.d.ts +5 -5
  101. package/TimeClock/TimeClock.d.ts +1 -2
  102. package/TimeClock/TimeClock.js +7 -6
  103. package/TimeClock/TimeClock.types.d.ts +4 -4
  104. package/TimeField/TimeField.d.ts +1 -2
  105. package/TimeField/TimeField.js +6 -6
  106. package/TimeField/TimeField.types.d.ts +9 -14
  107. package/TimeField/index.d.ts +1 -1
  108. package/TimeField/useTimeField.d.ts +1 -2
  109. package/TimePicker/TimePicker.d.ts +1 -2
  110. package/TimePicker/TimePicker.js +9 -4
  111. package/TimePicker/TimePicker.types.d.ts +10 -13
  112. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  113. package/TimePicker/TimePickerToolbar.js +12 -2
  114. package/TimePicker/shared.d.ts +10 -10
  115. package/YearCalendar/PickersYear.js +17 -13
  116. package/YearCalendar/YearCalendar.d.ts +1 -2
  117. package/YearCalendar/YearCalendar.js +17 -14
  118. package/YearCalendar/YearCalendar.types.d.ts +14 -15
  119. package/dateViewRenderers/dateViewRenderers.d.ts +3 -3
  120. package/hooks/index.d.ts +2 -2
  121. package/hooks/index.js +2 -2
  122. package/hooks/useClearableField.js +4 -3
  123. package/hooks/useParsedFormat.d.ts +2 -3
  124. package/hooks/useParsedFormat.js +2 -2
  125. package/hooks/usePickerContext.d.ts +4 -0
  126. package/hooks/usePickerContext.js +15 -0
  127. package/hooks/usePickerTranslations.d.ts +1 -0
  128. package/{modern/hooks/usePickersTranslations.js → hooks/usePickerTranslations.js} +1 -1
  129. package/index.js +1 -1
  130. package/internals/components/{PickersProvider.d.ts → PickerProvider.d.ts} +15 -8
  131. package/internals/components/PickerProvider.js +38 -0
  132. package/internals/hooks/date-helpers-hooks.d.ts +6 -6
  133. package/internals/hooks/defaultizedFieldProps.d.ts +7 -8
  134. package/internals/hooks/useClockReferenceDate.d.ts +5 -5
  135. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -2
  136. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  137. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +15 -15
  138. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +5 -5
  139. package/internals/hooks/useField/useField.d.ts +3 -3
  140. package/internals/hooks/useField/useField.js +1 -1
  141. package/internals/hooks/useField/useField.types.d.ts +38 -48
  142. package/internals/hooks/useField/useField.utils.d.ts +13 -13
  143. package/internals/hooks/useField/useField.utils.js +2 -1
  144. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +4 -4
  145. package/internals/hooks/useField/useFieldState.d.ts +4 -4
  146. package/internals/hooks/useField/useFieldState.js +3 -3
  147. package/internals/hooks/useField/useFieldV7TextField.js +2 -2
  148. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -2
  149. package/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  150. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +12 -12
  151. package/internals/hooks/usePicker/usePicker.d.ts +2 -2
  152. package/internals/hooks/usePicker/usePicker.js +12 -4
  153. package/internals/hooks/usePicker/usePicker.types.d.ts +7 -5
  154. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +2 -3
  155. package/internals/hooks/usePicker/usePickerOwnerState.d.ts +4 -3
  156. package/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  157. package/internals/hooks/usePicker/usePickerProvider.d.ts +10 -0
  158. package/internals/hooks/usePicker/usePickerProvider.js +21 -0
  159. package/internals/hooks/usePicker/usePickerValue.d.ts +2 -2
  160. package/internals/hooks/usePicker/usePickerValue.js +2 -7
  161. package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -34
  162. package/internals/hooks/usePicker/usePickerViews.d.ts +6 -11
  163. package/internals/hooks/usePickerPrivateContext.d.ts +4 -0
  164. package/internals/hooks/usePickerPrivateContext.js +9 -0
  165. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -2
  166. package/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  167. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  168. package/internals/hooks/useUtils.d.ts +7 -7
  169. package/internals/hooks/useValueWithTimezone.d.ts +5 -5
  170. package/internals/hooks/useViews.d.ts +3 -3
  171. package/internals/hooks/useViews.js +1 -1
  172. package/internals/index.d.ts +6 -4
  173. package/internals/index.js +2 -1
  174. package/internals/models/fields.d.ts +32 -7
  175. package/internals/models/formProps.d.ts +14 -0
  176. package/internals/models/helpers.d.ts +0 -4
  177. package/internals/models/index.d.ts +2 -0
  178. package/internals/models/index.js +3 -1
  179. package/internals/models/props/basePickerProps.d.ts +5 -6
  180. package/internals/models/props/{clock.d.ts → time.d.ts} +10 -17
  181. package/internals/models/props/toolbar.d.ts +2 -3
  182. package/internals/models/validation.d.ts +21 -25
  183. package/internals/models/value.d.ts +3 -0
  184. package/internals/models/value.js +1 -0
  185. package/internals/utils/date-time-utils.d.ts +7 -7
  186. package/internals/utils/date-utils.d.ts +16 -16
  187. package/internals/utils/getDefaultReferenceDate.d.ts +10 -10
  188. package/internals/utils/time-utils.d.ts +5 -5
  189. package/internals/utils/valueManagers.d.ts +3 -3
  190. package/locales/beBY.d.ts +3 -3
  191. package/locales/beBY.js +3 -3
  192. package/locales/bgBG.d.ts +3 -3
  193. package/locales/bgBG.js +3 -3
  194. package/locales/caES.d.ts +3 -3
  195. package/locales/caES.js +3 -3
  196. package/locales/csCZ.d.ts +3 -3
  197. package/locales/csCZ.js +3 -3
  198. package/locales/daDK.d.ts +3 -3
  199. package/locales/daDK.js +3 -3
  200. package/locales/deDE.d.ts +3 -3
  201. package/locales/deDE.js +3 -3
  202. package/locales/elGR.d.ts +3 -3
  203. package/locales/elGR.js +12 -13
  204. package/locales/enUS.d.ts +4 -4
  205. package/locales/enUS.js +3 -3
  206. package/locales/esES.d.ts +3 -3
  207. package/locales/esES.js +3 -3
  208. package/locales/eu.d.ts +3 -3
  209. package/locales/eu.js +3 -3
  210. package/locales/faIR.d.ts +3 -3
  211. package/locales/faIR.js +3 -3
  212. package/locales/fiFI.d.ts +3 -3
  213. package/locales/fiFI.js +3 -3
  214. package/locales/frFR.d.ts +3 -3
  215. package/locales/frFR.js +3 -3
  216. package/locales/heIL.d.ts +3 -3
  217. package/locales/heIL.js +3 -3
  218. package/locales/hrHR.d.ts +3 -3
  219. package/locales/hrHR.js +3 -3
  220. package/locales/huHU.d.ts +3 -3
  221. package/locales/huHU.js +3 -3
  222. package/locales/isIS.d.ts +3 -3
  223. package/locales/isIS.js +3 -3
  224. package/locales/itIT.d.ts +3 -3
  225. package/locales/itIT.js +3 -3
  226. package/locales/jaJP.d.ts +3 -3
  227. package/locales/jaJP.js +3 -3
  228. package/locales/koKR.d.ts +3 -3
  229. package/locales/koKR.js +3 -3
  230. package/locales/kzKZ.d.ts +3 -3
  231. package/locales/kzKZ.js +3 -3
  232. package/locales/mk.d.ts +3 -3
  233. package/locales/mk.js +3 -3
  234. package/locales/nbNO.d.ts +3 -3
  235. package/locales/nbNO.js +3 -3
  236. package/locales/nlNL.d.ts +3 -3
  237. package/locales/nlNL.js +3 -3
  238. package/locales/nnNO.d.ts +3 -3
  239. package/locales/nnNO.js +3 -3
  240. package/locales/plPL.d.ts +3 -3
  241. package/locales/plPL.js +3 -3
  242. package/locales/ptBR.d.ts +3 -3
  243. package/locales/ptBR.js +5 -3
  244. package/locales/ptPT.d.ts +3 -3
  245. package/locales/ptPT.js +3 -3
  246. package/locales/roRO.d.ts +3 -3
  247. package/locales/roRO.js +3 -3
  248. package/locales/ruRU.d.ts +3 -3
  249. package/locales/ruRU.js +3 -3
  250. package/locales/skSK.d.ts +3 -3
  251. package/locales/skSK.js +3 -3
  252. package/locales/svSE.d.ts +3 -3
  253. package/locales/svSE.js +3 -3
  254. package/locales/trTR.d.ts +3 -3
  255. package/locales/trTR.js +3 -3
  256. package/locales/ukUA.d.ts +3 -3
  257. package/locales/ukUA.js +3 -3
  258. package/locales/urPK.d.ts +3 -3
  259. package/locales/urPK.js +3 -3
  260. package/locales/utils/getPickersLocalization.d.ts +9 -9
  261. package/locales/utils/getPickersLocalization.js +1 -1
  262. package/locales/utils/pickersLocaleTextApi.d.ts +12 -36
  263. package/locales/viVN.d.ts +3 -3
  264. package/locales/viVN.js +3 -3
  265. package/locales/zhCN.d.ts +3 -3
  266. package/locales/zhCN.js +3 -3
  267. package/locales/zhHK.d.ts +3 -3
  268. package/locales/zhHK.js +3 -3
  269. package/models/adapters.d.ts +151 -202
  270. package/models/fields.d.ts +9 -41
  271. package/models/pickers.d.ts +10 -6
  272. package/modern/DateCalendar/DateCalendar.js +20 -22
  273. package/modern/DateCalendar/DayCalendar.js +13 -10
  274. package/modern/DateField/DateField.js +8 -10
  275. package/modern/DatePicker/DatePicker.js +15 -14
  276. package/modern/DatePicker/DatePickerToolbar.js +12 -2
  277. package/modern/DateTimeField/DateTimeField.js +9 -12
  278. package/modern/DateTimePicker/DateTimePicker.js +16 -16
  279. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  280. package/modern/DateTimePicker/DateTimePickerToolbar.js +12 -2
  281. package/modern/DesktopDatePicker/DesktopDatePicker.js +17 -16
  282. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  283. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  284. package/modern/DesktopTimePicker/DesktopTimePicker.js +11 -6
  285. package/modern/DigitalClock/DigitalClock.js +7 -6
  286. package/modern/MobileDatePicker/MobileDatePicker.js +17 -16
  287. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  288. package/modern/MobileTimePicker/MobileTimePicker.js +11 -6
  289. package/modern/MonthCalendar/MonthCalendar.js +17 -14
  290. package/modern/MonthCalendar/PickersMonth.js +17 -13
  291. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  292. package/modern/PickersActionBar/PickersActionBar.js +2 -2
  293. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  294. package/modern/PickersLayout/PickersLayout.js +10 -0
  295. package/modern/PickersLayout/usePickerLayout.js +17 -18
  296. package/modern/StaticDatePicker/StaticDatePicker.js +14 -13
  297. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  298. package/modern/StaticTimePicker/StaticTimePicker.js +8 -3
  299. package/modern/TimeClock/Clock.js +3 -3
  300. package/modern/TimeClock/TimeClock.js +7 -6
  301. package/modern/TimeField/TimeField.js +6 -6
  302. package/modern/TimePicker/TimePicker.js +9 -4
  303. package/modern/TimePicker/TimePickerToolbar.js +12 -2
  304. package/modern/YearCalendar/PickersYear.js +17 -13
  305. package/modern/YearCalendar/YearCalendar.js +17 -14
  306. package/modern/hooks/index.js +2 -2
  307. package/modern/hooks/useClearableField.js +4 -3
  308. package/modern/hooks/useParsedFormat.js +2 -2
  309. package/modern/hooks/usePickerContext.js +15 -0
  310. package/{hooks/usePickersTranslations.js → modern/hooks/usePickerTranslations.js} +1 -1
  311. package/modern/index.js +1 -1
  312. package/modern/internals/components/PickerProvider.js +38 -0
  313. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  314. package/modern/internals/hooks/useField/useField.js +1 -1
  315. package/modern/internals/hooks/useField/useField.utils.js +2 -1
  316. package/modern/internals/hooks/useField/useFieldState.js +3 -3
  317. package/modern/internals/hooks/useField/useFieldV7TextField.js +2 -2
  318. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  319. package/modern/internals/hooks/usePicker/usePicker.js +12 -4
  320. package/modern/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  321. package/modern/internals/hooks/usePicker/usePickerProvider.js +21 -0
  322. package/modern/internals/hooks/usePicker/usePickerValue.js +2 -7
  323. package/modern/internals/hooks/usePickerPrivateContext.js +9 -0
  324. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  325. package/modern/internals/hooks/useViews.js +1 -1
  326. package/modern/internals/index.js +2 -1
  327. package/modern/internals/models/formProps.js +1 -0
  328. package/modern/internals/models/index.js +3 -1
  329. package/modern/internals/models/props/time.js +1 -0
  330. package/modern/internals/models/value.js +1 -0
  331. package/modern/locales/beBY.js +3 -3
  332. package/modern/locales/bgBG.js +3 -3
  333. package/modern/locales/caES.js +3 -3
  334. package/modern/locales/csCZ.js +3 -3
  335. package/modern/locales/daDK.js +3 -3
  336. package/modern/locales/deDE.js +3 -3
  337. package/modern/locales/elGR.js +12 -13
  338. package/modern/locales/enUS.js +3 -3
  339. package/modern/locales/esES.js +3 -3
  340. package/modern/locales/eu.js +3 -3
  341. package/modern/locales/faIR.js +3 -3
  342. package/modern/locales/fiFI.js +3 -3
  343. package/modern/locales/frFR.js +3 -3
  344. package/modern/locales/heIL.js +3 -3
  345. package/modern/locales/hrHR.js +3 -3
  346. package/modern/locales/huHU.js +3 -3
  347. package/modern/locales/isIS.js +3 -3
  348. package/modern/locales/itIT.js +3 -3
  349. package/modern/locales/jaJP.js +3 -3
  350. package/modern/locales/koKR.js +3 -3
  351. package/modern/locales/kzKZ.js +3 -3
  352. package/modern/locales/mk.js +3 -3
  353. package/modern/locales/nbNO.js +3 -3
  354. package/modern/locales/nlNL.js +3 -3
  355. package/modern/locales/nnNO.js +3 -3
  356. package/modern/locales/plPL.js +3 -3
  357. package/modern/locales/ptBR.js +5 -3
  358. package/modern/locales/ptPT.js +3 -3
  359. package/modern/locales/roRO.js +3 -3
  360. package/modern/locales/ruRU.js +3 -3
  361. package/modern/locales/skSK.js +3 -3
  362. package/modern/locales/svSE.js +3 -3
  363. package/modern/locales/trTR.js +3 -3
  364. package/modern/locales/ukUA.js +3 -3
  365. package/modern/locales/urPK.js +3 -3
  366. package/modern/locales/utils/getPickersLocalization.js +1 -1
  367. package/modern/locales/viVN.js +3 -3
  368. package/modern/locales/zhCN.js +3 -3
  369. package/modern/locales/zhHK.js +3 -3
  370. package/modern/validation/useValidation.js +2 -3
  371. package/modern/validation/validateDate.js +5 -0
  372. package/modern/validation/validateDateTime.js +5 -0
  373. package/modern/validation/validateTime.js +5 -0
  374. package/node/DateCalendar/DateCalendar.js +20 -22
  375. package/node/DateCalendar/DayCalendar.js +13 -10
  376. package/node/DateField/DateField.js +8 -10
  377. package/node/DatePicker/DatePicker.js +15 -14
  378. package/node/DatePicker/DatePickerToolbar.js +12 -2
  379. package/node/DateTimeField/DateTimeField.js +9 -12
  380. package/node/DateTimePicker/DateTimePicker.js +16 -16
  381. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  382. package/node/DateTimePicker/DateTimePickerToolbar.js +12 -2
  383. package/node/DesktopDatePicker/DesktopDatePicker.js +17 -16
  384. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +18 -18
  385. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -0
  386. package/node/DesktopTimePicker/DesktopTimePicker.js +11 -6
  387. package/node/DigitalClock/DigitalClock.js +7 -6
  388. package/node/MobileDatePicker/MobileDatePicker.js +17 -16
  389. package/node/MobileDateTimePicker/MobileDateTimePicker.js +18 -18
  390. package/node/MobileTimePicker/MobileTimePicker.js +11 -6
  391. package/node/MonthCalendar/MonthCalendar.js +17 -14
  392. package/node/MonthCalendar/PickersMonth.js +17 -13
  393. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +7 -6
  394. package/node/PickersActionBar/PickersActionBar.js +2 -2
  395. package/node/PickersCalendarHeader/PickersCalendarHeader.js +2 -2
  396. package/node/PickersLayout/PickersLayout.js +10 -0
  397. package/node/PickersLayout/usePickerLayout.js +17 -18
  398. package/node/StaticDatePicker/StaticDatePicker.js +14 -13
  399. package/node/StaticDateTimePicker/StaticDateTimePicker.js +15 -15
  400. package/node/StaticTimePicker/StaticTimePicker.js +8 -3
  401. package/node/TimeClock/Clock.js +3 -3
  402. package/node/TimeClock/TimeClock.js +7 -6
  403. package/node/TimeField/TimeField.js +6 -6
  404. package/node/TimePicker/TimePicker.js +9 -4
  405. package/node/TimePicker/TimePickerToolbar.js +12 -2
  406. package/node/YearCalendar/PickersYear.js +17 -13
  407. package/node/YearCalendar/YearCalendar.js +17 -14
  408. package/node/hooks/index.js +6 -6
  409. package/node/hooks/useClearableField.js +4 -3
  410. package/node/hooks/useParsedFormat.js +2 -2
  411. package/node/hooks/usePickerContext.js +21 -0
  412. package/node/hooks/usePickerTranslations.js +10 -0
  413. package/node/index.js +1 -1
  414. package/node/internals/components/PickerProvider.js +46 -0
  415. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -17
  416. package/node/internals/hooks/useField/useField.js +1 -1
  417. package/node/internals/hooks/useField/useField.utils.js +2 -1
  418. package/node/internals/hooks/useField/useFieldState.js +3 -3
  419. package/node/internals/hooks/useField/useFieldV7TextField.js +2 -2
  420. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +23 -18
  421. package/node/internals/hooks/usePicker/usePicker.js +12 -4
  422. package/node/internals/hooks/usePicker/usePickerOwnerState.js +9 -6
  423. package/node/internals/hooks/usePicker/usePickerProvider.js +28 -0
  424. package/node/internals/hooks/usePicker/usePickerValue.js +1 -7
  425. package/node/internals/hooks/usePickerPrivateContext.js +15 -0
  426. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +5 -4
  427. package/node/internals/hooks/useViews.js +3 -3
  428. package/node/internals/index.js +14 -7
  429. package/node/internals/models/index.js +22 -0
  430. package/node/internals/models/props/time.js +5 -0
  431. package/node/internals/models/value.js +5 -0
  432. package/node/locales/beBY.js +3 -3
  433. package/node/locales/bgBG.js +3 -3
  434. package/node/locales/caES.js +3 -3
  435. package/node/locales/csCZ.js +3 -3
  436. package/node/locales/daDK.js +3 -3
  437. package/node/locales/deDE.js +3 -3
  438. package/node/locales/elGR.js +12 -13
  439. package/node/locales/enUS.js +3 -3
  440. package/node/locales/esES.js +3 -3
  441. package/node/locales/eu.js +3 -3
  442. package/node/locales/faIR.js +3 -3
  443. package/node/locales/fiFI.js +3 -3
  444. package/node/locales/frFR.js +3 -3
  445. package/node/locales/heIL.js +3 -3
  446. package/node/locales/hrHR.js +3 -3
  447. package/node/locales/huHU.js +3 -3
  448. package/node/locales/isIS.js +3 -3
  449. package/node/locales/itIT.js +3 -3
  450. package/node/locales/jaJP.js +3 -3
  451. package/node/locales/koKR.js +3 -3
  452. package/node/locales/kzKZ.js +3 -3
  453. package/node/locales/mk.js +3 -3
  454. package/node/locales/nbNO.js +3 -3
  455. package/node/locales/nlNL.js +3 -3
  456. package/node/locales/nnNO.js +3 -3
  457. package/node/locales/plPL.js +3 -3
  458. package/node/locales/ptBR.js +5 -3
  459. package/node/locales/ptPT.js +3 -3
  460. package/node/locales/roRO.js +3 -3
  461. package/node/locales/ruRU.js +3 -3
  462. package/node/locales/skSK.js +3 -3
  463. package/node/locales/svSE.js +3 -3
  464. package/node/locales/trTR.js +3 -3
  465. package/node/locales/ukUA.js +3 -3
  466. package/node/locales/urPK.js +3 -3
  467. package/node/locales/utils/getPickersLocalization.js +1 -1
  468. package/node/locales/viVN.js +3 -3
  469. package/node/locales/zhCN.js +3 -3
  470. package/node/locales/zhHK.js +3 -3
  471. package/node/validation/useValidation.js +2 -3
  472. package/node/validation/validateDate.js +4 -0
  473. package/node/validation/validateDateTime.js +4 -0
  474. package/node/validation/validateTime.js +4 -0
  475. package/package.json +3 -3
  476. package/themeAugmentation/props.d.ts +28 -28
  477. package/timeViewRenderers/timeViewRenderers.d.ts +6 -6
  478. package/validation/extractValidationProps.d.ts +4 -4
  479. package/validation/useValidation.d.ts +9 -10
  480. package/validation/useValidation.js +2 -3
  481. package/validation/validateDate.d.ts +7 -2
  482. package/validation/validateDate.js +5 -0
  483. package/validation/validateDateTime.d.ts +10 -4
  484. package/validation/validateDateTime.js +5 -0
  485. package/validation/validateTime.d.ts +7 -2
  486. package/validation/validateTime.js +5 -0
  487. package/hooks/usePickersContext.d.ts +0 -4
  488. package/hooks/usePickersContext.js +0 -15
  489. package/hooks/usePickersTranslations.d.ts +0 -2
  490. package/internals/components/PickersProvider.js +0 -26
  491. package/modern/hooks/usePickersContext.js +0 -15
  492. package/modern/internals/components/PickersProvider.js +0 -26
  493. package/node/hooks/usePickersContext.js +0 -21
  494. package/node/hooks/usePickersTranslations.js +0 -10
  495. package/node/internals/components/PickersProvider.js +0 -34
  496. /package/internals/models/{props/clock.js → formProps.js} +0 -0
  497. /package/{modern/internals/models/props/clock.js → internals/models/props/time.js} +0 -0
  498. /package/node/internals/models/{props/clock.js → formProps.js} +0 -0
@@ -1,20 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
+ import { MakeOptional } from '@mui/x-internals/types';
3
4
  import TextField from '@mui/material/TextField';
4
5
  import { UseFieldInternalProps } from '../internals/hooks/useField';
5
- import { MakeOptional } from '../internals/models/helpers';
6
- import { BaseTimeValidationProps, TimeValidationProps } from '../internals/models/validation';
7
6
  import { FieldSection, PickerValidDate, TimeValidationError, BuiltInFieldTextFieldProps } from '../models';
8
7
  import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '../hooks/useClearableField';
9
- export interface UseTimeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<TDate | null, TDate, FieldSection, TEnableAccessibleFieldDOMStructure, TimeValidationError>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps, ExportedUseClearableFieldProps {
10
- /**
11
- * 12h/24h view for hour selection clock.
12
- * @default utils.is12HourCycleInCurrentLocale()
13
- */
14
- ampm?: boolean;
8
+ import { ExportedValidateTimeProps } from '../validation/validateTime';
9
+ import { AmPmProps } from '../internals/models/props/time';
10
+ export interface UseTimeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerValidDate | null, FieldSection, TEnableAccessibleFieldDOMStructure, TimeValidationError>, 'format'>, ExportedValidateTimeProps, ExportedUseClearableFieldProps, AmPmProps {
15
11
  }
16
- export type UseTimeFieldComponentProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
17
- export type TimeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = UseTimeFieldComponentProps<TDate, TEnableAccessibleFieldDOMStructure, BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>> & {
12
+ export type TimeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> = UseTimeFieldProps<TEnableAccessibleFieldDOMStructure> & Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseTimeFieldProps<TEnableAccessibleFieldDOMStructure>> & {
18
13
  /**
19
14
  * Overridable component slots.
20
15
  * @default {}
@@ -24,9 +19,9 @@ export type TimeFieldProps<TDate extends PickerValidDate, TEnableAccessibleField
24
19
  * The props used for each component slot.
25
20
  * @default {}
26
21
  */
27
- slotProps?: TimeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
22
+ slotProps?: TimeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
28
23
  };
29
- export type TimeFieldOwnerState<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> = TimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
24
+ export type TimeFieldOwnerState<TEnableAccessibleFieldDOMStructure extends boolean> = TimeFieldProps<TEnableAccessibleFieldDOMStructure>;
30
25
  export interface TimeFieldSlots extends UseClearableFieldSlots {
31
26
  /**
32
27
  * Form control with an input to render the value.
@@ -34,6 +29,6 @@ export interface TimeFieldSlots extends UseClearableFieldSlots {
34
29
  */
35
30
  textField?: React.ElementType;
36
31
  }
37
- export interface TimeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
38
- textField?: SlotComponentProps<typeof TextField, {}, TimeFieldOwnerState<TDate, TEnableAccessibleFieldDOMStructure>>;
32
+ export interface TimeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
33
+ textField?: SlotComponentProps<typeof TextField, {}, TimeFieldOwnerState<TEnableAccessibleFieldDOMStructure>>;
39
34
  }
@@ -1,3 +1,3 @@
1
1
  export { TimeField } from './TimeField';
2
2
  export { useTimeField as unstable_useTimeField } from './useTimeField';
3
- export type { UseTimeFieldProps, UseTimeFieldComponentProps, TimeFieldProps, } from './TimeField.types';
3
+ export type { UseTimeFieldProps, TimeFieldProps } from './TimeField.types';
@@ -1,3 +1,2 @@
1
1
  import { UseTimeFieldProps } from './TimeField.types';
2
- import { PickerValidDate } from '../models';
3
- export declare const useTimeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("../internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("../internals/hooks/defaultizedFieldProps").UseDefaultizedTimeFieldBaseProps> & Required<Pick<UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("../internals/hooks/defaultizedFieldProps").UseDefaultizedTimeFieldBaseProps>>, "disabled" | "format" | "onChange" | "onError" | "defaultValue" | "value" | "readOnly" | "ampm" | "timezone" | "referenceDate" | "formatDensity" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "unstableFieldRef" | "enableAccessibleFieldDOMStructure" | keyof import("../internals").BaseTimeValidationProps | keyof import("../internals").TimeValidationProps<any> | "dateSeparator">>;
2
+ export declare const useTimeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseTimeFieldProps<TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("../internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseTimeFieldProps<TEnableAccessibleFieldDOMStructure>, keyof import("../internals/hooks/defaultizedFieldProps").UseDefaultizedTimeFieldBaseProps> & Required<Pick<UseTimeFieldProps<TEnableAccessibleFieldDOMStructure>, keyof import("../internals/hooks/defaultizedFieldProps").UseDefaultizedTimeFieldBaseProps>>, "disabled" | "format" | "onChange" | "onError" | "defaultValue" | "value" | "readOnly" | "formatDensity" | "enableAccessibleFieldDOMStructure" | "selectedSections" | "onSelectedSectionsChange" | "timezone" | "unstableFieldRef" | "referenceDate" | "shouldRespectLeadingZeros" | "ampm" | keyof import("../internals").BaseTimeValidationProps | keyof import("../internals").TimeValidationProps | "dateSeparator">>;
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { TimePickerProps } from './TimePicker.types';
3
- import { PickerValidDate } from '../models';
4
- type TimePickerComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: TimePickerProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
3
+ type TimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: TimePickerProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
4
  propTypes?: any;
6
5
  };
7
6
  /**
@@ -85,7 +85,8 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
85
85
  */
86
86
  desktopModeMediaQuery: PropTypes.string,
87
87
  /**
88
- * If `true`, the picker and text field are disabled.
88
+ * If `true`, the component is disabled.
89
+ * When disabled, the value cannot be changed and no interaction is possible.
89
90
  * @default false
90
91
  */
91
92
  disabled: PropTypes.bool,
@@ -110,7 +111,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
110
111
  */
111
112
  disablePast: PropTypes.bool,
112
113
  /**
113
- * @default false
114
+ * @default true
114
115
  */
115
116
  enableAccessibleFieldDOMStructure: PropTypes.any,
116
117
  /**
@@ -218,6 +219,11 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
218
219
  * Force rendering in particular orientation.
219
220
  */
220
221
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
222
+ /**
223
+ * If `true`, the component is read-only.
224
+ * When read-only, the value cannot be changed but the user can interact with the interface.
225
+ * @default false
226
+ */
221
227
  readOnly: PropTypes.bool,
222
228
  /**
223
229
  * If `true`, disable heavy animations.
@@ -241,8 +247,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
241
247
  selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
242
248
  /**
243
249
  * Disable specific time.
244
- * @template TDate
245
- * @param {TDate} value The value to check.
250
+ * @param {PickerValidDate} value The value to check.
246
251
  * @param {TimeView} view The clock type of the timeValue.
247
252
  * @returns {boolean} If `true` the time will be disabled.
248
253
  */
@@ -1,15 +1,13 @@
1
1
  import { DesktopTimePickerProps, DesktopTimePickerSlots, DesktopTimePickerSlotProps } from '../DesktopTimePicker';
2
- import { TimeViewWithMeridiem } from '../internals/models';
3
- import { DefaultizedProps } from '../internals/models/helpers';
4
- import { BaseTimeValidationProps } from '../internals/models/validation';
2
+ import { BaseSingleInputFieldProps, TimeViewWithMeridiem } from '../internals/models';
5
3
  import { MobileTimePickerProps, MobileTimePickerSlots, MobileTimePickerSlotProps } from '../MobileTimePicker';
6
- import { BaseSingleInputFieldProps, FieldSection, PickerValidDate, TimeValidationError } from '../models';
7
- import { UseTimeFieldProps } from '../TimeField';
8
- export interface TimePickerSlots<TDate extends PickerValidDate> extends DesktopTimePickerSlots<TDate>, MobileTimePickerSlots<TDate, TimeViewWithMeridiem> {
4
+ import { FieldSection, PickerValidDate, TimeValidationError } from '../models';
5
+ import { ValidateTimeProps } from '../validation/validateTime';
6
+ export interface TimePickerSlots extends DesktopTimePickerSlots, MobileTimePickerSlots<TimeViewWithMeridiem> {
9
7
  }
10
- export interface TimePickerSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends DesktopTimePickerSlotProps<TDate, TEnableAccessibleFieldDOMStructure>, MobileTimePickerSlotProps<TDate, TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure> {
8
+ export interface TimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends DesktopTimePickerSlotProps<TEnableAccessibleFieldDOMStructure>, MobileTimePickerSlotProps<TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure> {
11
9
  }
12
- export interface TimePickerProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends DesktopTimePickerProps<TDate, TEnableAccessibleFieldDOMStructure>, Omit<MobileTimePickerProps<TDate, TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure>, 'views'> {
10
+ export interface TimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends DesktopTimePickerProps<TEnableAccessibleFieldDOMStructure>, Omit<MobileTimePickerProps<TimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure>, 'views'> {
13
11
  /**
14
12
  * CSS media query when `Mobile` mode will be changed to `Desktop`.
15
13
  * @default '@media (pointer: fine)'
@@ -20,15 +18,14 @@ export interface TimePickerProps<TDate extends PickerValidDate, TEnableAccessibl
20
18
  * Overridable component slots.
21
19
  * @default {}
22
20
  */
23
- slots?: TimePickerSlots<TDate>;
21
+ slots?: TimePickerSlots;
24
22
  /**
25
23
  * The props used for each component slot.
26
24
  * @default {}
27
25
  */
28
- slotProps?: TimePickerSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
26
+ slotProps?: TimePickerSlotProps<TEnableAccessibleFieldDOMStructure>;
29
27
  }
30
28
  /**
31
- * Props the field can receive when used inside a time picker.
32
- * (`TimePicker`, `DesktopTimePicker` or `MobileTimePicker` component).
29
+ * Props the field can receive when used inside a time picker (<TimePicker />, <DesktopTimePicker /> or <MobileTimePicker /> component).
33
30
  */
34
- export type TimePickerFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = DefaultizedProps<UseTimeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, 'format' | 'timezone' | 'ampm' | keyof BaseTimeValidationProps> & BaseSingleInputFieldProps<TDate | null, TDate, FieldSection, false, TimeValidationError>;
31
+ export type TimePickerFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> = ValidateTimeProps & BaseSingleInputFieldProps<PickerValidDate | null, FieldSection, TEnableAccessibleFieldDOMStructure, TimeValidationError>;
@@ -3,7 +3,7 @@ import { BaseToolbarProps, ExportedBaseToolbarProps } from '../internals/models/
3
3
  import { TimePickerToolbarClasses } from './timePickerToolbarClasses';
4
4
  import { TimeViewWithMeridiem } from '../internals/models';
5
5
  import { PickerValidDate } from '../models';
6
- export interface TimePickerToolbarProps<TDate extends PickerValidDate> extends BaseToolbarProps<TDate | null, TimeViewWithMeridiem>, ExportedTimePickerToolbarProps {
6
+ export interface TimePickerToolbarProps extends BaseToolbarProps<PickerValidDate | null, TimeViewWithMeridiem>, ExportedTimePickerToolbarProps {
7
7
  ampm?: boolean;
8
8
  ampmInClock?: boolean;
9
9
  }
@@ -23,7 +23,7 @@ export interface ExportedTimePickerToolbarProps extends ExportedBaseToolbarProps
23
23
  *
24
24
  * - [TimePickerToolbar API](https://mui.com/x/api/date-pickers/time-picker-toolbar/)
25
25
  */
26
- declare function TimePickerToolbar<TDate extends PickerValidDate>(inProps: TimePickerToolbarProps<TDate>): React.JSX.Element;
26
+ declare function TimePickerToolbar(inProps: TimePickerToolbarProps): React.JSX.Element;
27
27
  declare namespace TimePickerToolbar {
28
28
  var propTypes: any;
29
29
  }
@@ -13,7 +13,7 @@ import { PickersToolbarText } from "../internals/components/PickersToolbarText.j
13
13
  import { PickersToolbarButton } from "../internals/components/PickersToolbarButton.js";
14
14
  import { PickersToolbar } from "../internals/components/PickersToolbar.js";
15
15
  import { arrayIncludes } from "../internals/utils/utils.js";
16
- import { usePickersTranslations } from "../hooks/usePickersTranslations.js";
16
+ import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
17
17
  import { useUtils } from "../internals/hooks/useUtils.js";
18
18
  import { useMeridiemMode } from "../internals/hooks/date-helpers-hooks.js";
19
19
  import { getTimePickerToolbarUtilityClass, timePickerToolbarClasses } from "./timePickerToolbarClasses.js";
@@ -134,7 +134,7 @@ function TimePickerToolbar(inProps) {
134
134
  } = props,
135
135
  other = _objectWithoutPropertiesLoose(props, _excluded);
136
136
  const utils = useUtils();
137
- const translations = usePickersTranslations();
137
+ const translations = usePickerTranslations();
138
138
  const isRtl = useRtl();
139
139
  const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
140
140
  const {
@@ -216,6 +216,11 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
216
216
  */
217
217
  classes: PropTypes.object,
218
218
  className: PropTypes.string,
219
+ /**
220
+ * If `true`, the component is disabled.
221
+ * When disabled, the value cannot be changed and no interaction is possible.
222
+ * @default false
223
+ */
219
224
  disabled: PropTypes.bool,
220
225
  /**
221
226
  * If `true`, show the toolbar even in desktop mode.
@@ -230,6 +235,11 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
230
235
  * @param {TView} view The view to open
231
236
  */
232
237
  onViewChange: PropTypes.func.isRequired,
238
+ /**
239
+ * If `true`, the component is read-only.
240
+ * When read-only, the value cannot be changed but the user can interact with the interface.
241
+ * @default false
242
+ */
233
243
  readOnly: PropTypes.bool,
234
244
  /**
235
245
  * The system prop that allows defining system overrides as well as additional CSS styles.
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { DefaultizedProps } from '../internals/models/helpers';
2
+ import { DefaultizedProps } from '@mui/x-internals/types';
3
3
  import { TimeClockSlots, TimeClockSlotProps } from '../TimeClock/TimeClock.types';
4
4
  import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
5
5
  import { BaseTimeValidationProps } from '../internals/models/validation';
@@ -8,20 +8,20 @@ import { TimePickerToolbarProps, ExportedTimePickerToolbarProps } from './TimePi
8
8
  import { PickerValidDate, TimeValidationError } from '../models';
9
9
  import { PickerViewRendererLookup } from '../internals/hooks/usePicker/usePickerViews';
10
10
  import { TimeViewRendererProps } from '../timeViewRenderers';
11
- import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock';
11
+ import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/time';
12
12
  import { TimeViewWithMeridiem } from '../internals/models';
13
- export interface BaseTimePickerSlots<TDate extends PickerValidDate> extends TimeClockSlots {
13
+ export interface BaseTimePickerSlots extends TimeClockSlots {
14
14
  /**
15
15
  * Custom component for the toolbar rendered above the views.
16
16
  * @default TimePickerToolbar
17
17
  */
18
- toolbar?: React.JSXElementConstructor<TimePickerToolbarProps<TDate>>;
18
+ toolbar?: React.JSXElementConstructor<TimePickerToolbarProps>;
19
19
  }
20
20
  export interface BaseTimePickerSlotProps extends TimeClockSlotProps {
21
21
  toolbar?: ExportedTimePickerToolbarProps;
22
22
  }
23
- export type TimePickerViewRenderers<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem, TAdditionalProps extends {} = {}> = PickerViewRendererLookup<TDate | null, TView, TimeViewRendererProps<TView, BaseClockProps<TDate, TView>>, TAdditionalProps>;
24
- export interface BaseTimePickerProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem> extends BasePickerInputProps<TDate | null, TDate, TView, TimeValidationError>, ExportedBaseClockProps<TDate> {
23
+ export type TimePickerViewRenderers<TView extends TimeViewWithMeridiem, TAdditionalProps extends {} = {}> = PickerViewRendererLookup<PickerValidDate | null, TView, TimeViewRendererProps<TView, BaseClockProps<TView>>, TAdditionalProps>;
24
+ export interface BaseTimePickerProps<TView extends TimeViewWithMeridiem> extends BasePickerInputProps<PickerValidDate | null, TView, TimeValidationError>, ExportedBaseClockProps {
25
25
  /**
26
26
  * Display ampm controls under the clock (instead of in the toolbar).
27
27
  * @default true on desktop, false on mobile
@@ -31,7 +31,7 @@ export interface BaseTimePickerProps<TDate extends PickerValidDate, TView extend
31
31
  * Overridable component slots.
32
32
  * @default {}
33
33
  */
34
- slots?: BaseTimePickerSlots<TDate>;
34
+ slots?: BaseTimePickerSlots;
35
35
  /**
36
36
  * The props used for each component slot.
37
37
  * @default {}
@@ -42,8 +42,8 @@ export interface BaseTimePickerProps<TDate extends PickerValidDate, TView extend
42
42
  * If `null`, the section will only have field editing.
43
43
  * If `undefined`, internally defined view will be used.
44
44
  */
45
- viewRenderers?: Partial<TimePickerViewRenderers<TDate, TView>>;
45
+ viewRenderers?: Partial<TimePickerViewRenderers<TView>>;
46
46
  }
47
- type UseTimePickerDefaultizedProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TDate, TView>> = LocalizedComponent<TDate, DefaultizedProps<Props, 'views' | 'openTo' | 'ampm' | keyof BaseTimeValidationProps>>;
48
- export declare function useTimePickerDefaultizedProps<TDate extends PickerValidDate, TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TDate, TView>>(props: Props, name: string): UseTimePickerDefaultizedProps<TDate, TView, Props>;
47
+ type UseTimePickerDefaultizedProps<TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TView>> = LocalizedComponent<DefaultizedProps<Props, 'views' | 'openTo' | 'ampm' | keyof BaseTimeValidationProps>>;
48
+ export declare function useTimePickerDefaultizedProps<TView extends TimeViewWithMeridiem, Props extends BaseTimePickerProps<TView>>(props: Props, name: string): UseTimePickerDefaultizedProps<TView, Props>;
49
49
  export {};
@@ -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", "yearsPerRow", "slots", "slotProps"];
3
+ const _excluded = ["autoFocus", "className", "classes", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "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 { getPickersYearUtilityClass, pickersYearClasses } from "./pickersYearClasses.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
- yearButton: ['yearButton', disabled && 'disabled', selected && 'selected']
16
+ yearButton: ['yearButton', ownerState.isYearDisabled && 'disabled', ownerState.isYearSelected && 'selected']
21
17
  };
22
18
  return composeClasses(slots, getPickersYearUtilityClass, classes);
23
19
  };
@@ -93,9 +89,10 @@ export const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps)
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,
@@ -111,7 +108,14 @@ export const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps)
111
108
  } = props,
112
109
  other = _objectWithoutPropertiesLoose(props, _excluded);
113
110
  const ref = React.useRef(null);
114
- const classes = useUtilityClasses(props);
111
+ const {
112
+ ownerState: pickerOwnerState
113
+ } = usePickerPrivateContext();
114
+ const ownerState = _extends({}, pickerOwnerState, {
115
+ isYearDisabled: disabled,
116
+ isYearSelected: selected
117
+ });
118
+ const classes = useUtilityClasses(classesProp, ownerState);
115
119
 
116
120
  // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button
117
121
  useEnhancedEffect(() => {
@@ -138,12 +142,12 @@ export const PickersYear = /*#__PURE__*/React.memo(function PickersYear(inProps)
138
142
  onFocus: event => onFocus(event, value),
139
143
  onBlur: event => onBlur(event, value)
140
144
  },
141
- ownerState: props,
145
+ ownerState,
142
146
  className: classes.yearButton
143
147
  });
144
148
  return /*#__PURE__*/_jsx(PickersYearRoot, _extends({
145
149
  className: clsx(classes.root, className),
146
- ownerState: props
150
+ ownerState: ownerState
147
151
  }, other, {
148
152
  children: /*#__PURE__*/_jsx(YearButton, _extends({}, yearButtonProps))
149
153
  }));
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { YearCalendarProps } from './YearCalendar.types';
3
- import { PickerValidDate } from '../models';
4
- type YearCalendarComponent = (<TDate extends PickerValidDate>(props: YearCalendarProps<TDate>) => React.JSX.Element) & {
3
+ type YearCalendarComponent = ((props: YearCalendarProps) => React.JSX.Element) & {
5
4
  propTypes?: any;
6
5
  };
7
6
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["autoFocus", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
5
+ const _excluded = ["autoFocus", "className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
@@ -17,11 +17,9 @@ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
17
17
  import { SECTION_TYPE_GRANULARITY } from "../internals/utils/getDefaultReferenceDate.js";
18
18
  import { useControlledValueWithTimezone } from "../internals/hooks/useValueWithTimezone.js";
19
19
  import { DIALOG_WIDTH, MAX_CALENDAR_HEIGHT } from "../internals/constants/dimensions.js";
20
+ import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
20
21
  import { jsx as _jsx } from "react/jsx-runtime";
21
- const useUtilityClasses = ownerState => {
22
- const {
23
- classes
24
- } = ownerState;
22
+ const useUtilityClasses = classes => {
25
23
  const slots = {
26
24
  root: ['root']
27
25
  };
@@ -74,6 +72,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
74
72
  const {
75
73
  autoFocus,
76
74
  className,
75
+ classes: classesProp,
77
76
  value: valueProp,
78
77
  defaultValue,
79
78
  referenceDate: referenceDateProp,
@@ -105,12 +104,15 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
105
104
  timezone: timezoneProp,
106
105
  value: valueProp,
107
106
  defaultValue,
108
- onChange: onChange,
107
+ onChange,
109
108
  valueManager: singleItemValueManager
110
109
  });
111
110
  const now = useNow(timezone);
112
111
  const isRtl = useRtl();
113
112
  const utils = useUtils();
113
+ const {
114
+ ownerState
115
+ } = usePickerPrivateContext();
114
116
  const referenceDate = React.useMemo(() => singleItemValueManager.getInitialReferenceValue({
115
117
  value,
116
118
  utils,
@@ -120,8 +122,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
120
122
  granularity: SECTION_TYPE_GRANULARITY.year
121
123
  }), [] // eslint-disable-line react-hooks/exhaustive-deps
122
124
  );
123
- const ownerState = props;
124
- const classes = useUtilityClasses(ownerState);
125
+ const classes = useUtilityClasses(classesProp);
125
126
  const todayYear = React.useMemo(() => utils.getYear(now), [utils, now]);
126
127
  const selectedYear = React.useMemo(() => {
127
128
  if (value != null) {
@@ -284,7 +285,9 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
284
285
  */
285
286
  defaultValue: PropTypes.object,
286
287
  /**
287
- * If `true` picker is disabled
288
+ * If `true`, the component is disabled.
289
+ * When disabled, the value cannot be changed and no interaction is possible.
290
+ * @default false
288
291
  */
289
292
  disabled: PropTypes.bool,
290
293
  /**
@@ -316,14 +319,15 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
316
319
  minDate: PropTypes.object,
317
320
  /**
318
321
  * Callback fired when the value changes.
319
- * @template TDate
320
- * @param {TDate} value The new value.
322
+ * @param {PickerValidDate} value The new value.
321
323
  */
322
324
  onChange: PropTypes.func,
323
325
  onFocusedViewChange: PropTypes.func,
324
326
  onYearFocus: PropTypes.func,
325
327
  /**
326
- * If `true` picker is readonly
328
+ * If `true`, the component is read-only.
329
+ * When read-only, the value cannot be changed but the user can interact with the interface.
330
+ * @default false
327
331
  */
328
332
  readOnly: PropTypes.bool,
329
333
  /**
@@ -333,8 +337,7 @@ process.env.NODE_ENV !== "production" ? YearCalendar.propTypes = {
333
337
  referenceDate: PropTypes.object,
334
338
  /**
335
339
  * Disable specific year.
336
- * @template TDate
337
- * @param {TDate} year The year to test.
340
+ * @param {PickerValidDate} year The year to test.
338
341
  * @returns {boolean} If `true`, the year will be disabled.
339
342
  */
340
343
  shouldDisableYear: PropTypes.func,
@@ -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 { YearCalendarClasses } from './yearCalendarClasses';
5
6
  import { BaseDateValidationProps, YearValidationProps } from '../internals/models/validation';
6
- import { PickerValidDate, TimezoneProps } from '../models';
7
- import type { PickersYearProps } from './PickersYear';
8
- import { SlotComponentPropsFromProps } from '../internals/models/helpers';
7
+ import { PickerOwnerState, PickerValidDate, TimezoneProps } from '../models';
8
+ import { FormProps } from '../internals/models/formProps';
9
+ export interface PickerYearOwnerState extends PickerOwnerState {
10
+ isYearSelected: boolean;
11
+ isYearDisabled: boolean;
12
+ }
9
13
  export interface YearCalendarSlots {
10
14
  /**
11
15
  * Button displayed to render a single year in the `year` view.
@@ -16,7 +20,7 @@ export interface YearCalendarSlots {
16
20
  export interface YearCalendarSlotProps {
17
21
  yearButton?: SlotComponentPropsFromProps<React.HTMLAttributes<HTMLButtonElement> & {
18
22
  sx: SxProps;
19
- }, {}, PickersYearProps>;
23
+ }, {}, PickerYearOwnerState>;
20
24
  }
21
25
  export interface ExportedYearCalendarProps {
22
26
  /**
@@ -31,7 +35,7 @@ export interface ExportedYearCalendarProps {
31
35
  */
32
36
  yearsPerRow?: 3 | 4;
33
37
  }
34
- export interface YearCalendarProps<TDate extends PickerValidDate> extends ExportedYearCalendarProps, YearValidationProps<TDate>, BaseDateValidationProps<TDate>, TimezoneProps {
38
+ export interface YearCalendarProps extends ExportedYearCalendarProps, YearValidationProps, BaseDateValidationProps, TimezoneProps, FormProps {
35
39
  autoFocus?: boolean;
36
40
  className?: string;
37
41
  /**
@@ -52,31 +56,26 @@ export interface YearCalendarProps<TDate extends PickerValidDate> extends Export
52
56
  * The system prop that allows defining system overrides as well as additional CSS styles.
53
57
  */
54
58
  sx?: SxProps<Theme>;
55
- /** If `true` picker is disabled */
56
- disabled?: boolean;
57
59
  /**
58
60
  * The selected value.
59
61
  * Used when the component is controlled.
60
62
  */
61
- value?: TDate | null;
63
+ value?: PickerValidDate | null;
62
64
  /**
63
65
  * The default selected value.
64
66
  * Used when the component is not controlled.
65
67
  */
66
- defaultValue?: TDate | null;
68
+ defaultValue?: PickerValidDate | null;
67
69
  /**
68
70
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
69
71
  * @default The closest valid year using the validation props, except callbacks such as `shouldDisableYear`.
70
72
  */
71
- referenceDate?: TDate;
73
+ referenceDate?: PickerValidDate;
72
74
  /**
73
75
  * Callback fired when the value changes.
74
- * @template TDate
75
- * @param {TDate} value The new value.
76
+ * @param {PickerValidDate} value The new value.
76
77
  */
77
- onChange?: (value: TDate) => void;
78
- /** If `true` picker is readonly */
79
- readOnly?: boolean;
78
+ onChange?: (value: PickerValidDate) => void;
80
79
  /**
81
80
  * If `true`, today's date is rendering without highlighting with circle.
82
81
  * @default false
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { DateCalendarProps } from '../DateCalendar';
3
- import { DateView, PickerValidDate } from '../models';
3
+ import { DateView } from '../models';
4
4
  import { DateOrTimeViewWithMeridiem } from '../internals/models';
5
- export interface DateViewRendererProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends Omit<DateCalendarProps<TDate>, 'views' | 'openTo' | 'view' | 'onViewChange' | 'focusedView'> {
5
+ export interface DateViewRendererProps<TView extends DateOrTimeViewWithMeridiem> extends Omit<DateCalendarProps, 'views' | 'openTo' | 'view' | 'onViewChange' | 'focusedView'> {
6
6
  view: TView;
7
7
  onViewChange?: (view: TView) => void;
8
8
  views: readonly TView[];
9
9
  focusedView: TView | null;
10
10
  }
11
- export declare const renderDateViewCalendar: <TDate extends PickerValidDate>({ view, onViewChange, views, focusedView, onFocusedViewChange, value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, shouldDisableMonth, shouldDisableYear, reduceAnimations, onMonthChange, monthsPerRow, onYearChange, yearsOrder, yearsPerRow, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, sx, autoFocus, fixedWeekNumber, displayWeekNumber, timezone, }: DateViewRendererProps<TDate, DateView>) => React.JSX.Element;
11
+ export declare const renderDateViewCalendar: ({ view, onViewChange, views, focusedView, onFocusedViewChange, value, defaultValue, referenceDate, onChange, className, classes, disableFuture, disablePast, minDate, maxDate, shouldDisableDate, shouldDisableMonth, shouldDisableYear, reduceAnimations, onMonthChange, monthsPerRow, onYearChange, yearsOrder, yearsPerRow, slots, slotProps, loading, renderLoading, disableHighlightToday, readOnly, disabled, showDaysOutsideCurrentMonth, dayOfWeekFormatter, sx, autoFocus, fixedWeekNumber, displayWeekNumber, timezone, }: DateViewRendererProps<DateView>) => React.JSX.Element;
package/hooks/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { useClearableField } from './useClearableField';
2
2
  export type { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps, UseClearableFieldResponse, } from './useClearableField';
3
- export { usePickersTranslations } from './usePickersTranslations';
3
+ export { usePickerTranslations } from './usePickerTranslations';
4
4
  export { useSplitFieldProps } from './useSplitFieldProps';
5
5
  export { useParsedFormat } from './useParsedFormat';
6
- export { usePickersContext } from './usePickersContext';
6
+ export { usePickerContext } from './usePickerContext';
package/hooks/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { useClearableField } from "./useClearableField.js";
2
- export { usePickersTranslations } from "./usePickersTranslations.js";
2
+ export { usePickerTranslations } from "./usePickerTranslations.js";
3
3
  export { useSplitFieldProps } from "./useSplitFieldProps.js";
4
4
  export { useParsedFormat } from "./useParsedFormat.js";
5
- export { usePickersContext } from "./usePickersContext.js";
5
+ export { usePickerContext } from "./usePickerContext.js";
@@ -9,10 +9,10 @@ import useSlotProps from '@mui/utils/useSlotProps';
9
9
  import MuiIconButton from '@mui/material/IconButton';
10
10
  import InputAdornment from '@mui/material/InputAdornment';
11
11
  import { ClearIcon } from "../icons/index.js";
12
- import { usePickersTranslations } from "./usePickersTranslations.js";
12
+ import { usePickerTranslations } from "./usePickerTranslations.js";
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  export const useClearableField = props => {
15
- const translations = usePickersTranslations();
15
+ const translations = usePickerTranslations();
16
16
  const {
17
17
  clearable,
18
18
  onClear,
@@ -30,7 +30,8 @@ export const useClearableField = props => {
30
30
  ownerState: {},
31
31
  className: 'clearButton',
32
32
  additionalProps: {
33
- title: translations.fieldClearLabel
33
+ title: translations.fieldClearLabel,
34
+ tabIndex: -1
34
35
  }
35
36
  }),
36
37
  iconButtonProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
@@ -1,6 +1,5 @@
1
- import { PickerValidDate } from '../models';
2
1
  import type { UseFieldInternalProps } from '../internals/hooks/useField';
3
- interface UseParsedFormatParameters extends Pick<UseFieldInternalProps<any, any, any, any, any>, 'format' | 'formatDensity' | 'shouldRespectLeadingZeros'> {
2
+ interface UseParsedFormatParameters extends Pick<UseFieldInternalProps<any, any, any, any>, 'format' | 'formatDensity' | 'shouldRespectLeadingZeros'> {
4
3
  }
5
4
  /**
6
5
  * Returns the parsed format to be rendered in the field when there is no value or in other parts of the Picker.
@@ -11,5 +10,5 @@ interface UseParsedFormatParameters extends Pick<UseFieldInternalProps<any, any,
11
10
  * @param {boolean} params.shouldRespectLeadingZeros If `true`, the format will respect the leading zeroes, if `false`, the format will always add leading zeroes.
12
11
  * @returns
13
12
  */
14
- export declare const useParsedFormat: <TDate extends PickerValidDate>(parameters: UseParsedFormatParameters) => string;
13
+ export declare const useParsedFormat: (parameters: UseParsedFormatParameters) => string;
15
14
  export {};
@@ -5,7 +5,7 @@ import { useRtl } from '@mui/system/RtlProvider';
5
5
  import { useUtils } from "../internals/hooks/useUtils.js";
6
6
  import { buildSectionsFromFormat } from "../internals/hooks/useField/buildSectionsFromFormat.js";
7
7
  import { getLocalizedDigits } from "../internals/hooks/useField/useField.utils.js";
8
- import { usePickersTranslations } from "./usePickersTranslations.js";
8
+ import { usePickerTranslations } from "./usePickerTranslations.js";
9
9
  /**
10
10
  * Returns the parsed format to be rendered in the field when there is no value or in other parts of the Picker.
11
11
  * This format is localized (e.g: `AAAA` for the year with the French locale) and cannot be parsed by your date library.
@@ -23,7 +23,7 @@ export const useParsedFormat = parameters => {
23
23
  } = parameters;
24
24
  const utils = useUtils();
25
25
  const isRtl = useRtl();
26
- const translations = usePickersTranslations();
26
+ const translations = usePickerTranslations();
27
27
  const localizedDigits = React.useMemo(() => getLocalizedDigits(utils), [utils]);
28
28
  return React.useMemo(() => {
29
29
  const sections = buildSectionsFromFormat({
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns the context passed by the picker that wraps the current component.
3
+ */
4
+ export declare const usePickerContext: () => import("../internals/components/PickerProvider").PickerContextValue;