@mui/x-date-pickers 8.0.0-alpha.1 → 8.0.0-alpha.11

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 (580) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +2 -4
  2. package/AdapterDateFns/AdapterDateFns.js +49 -47
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  6. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
  7. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  8. package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
  9. package/AdapterDateFnsJalaliV2/index.js +1 -0
  10. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  11. package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
  12. package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  13. package/AdapterDateFnsV2/index.d.ts +1 -0
  14. package/AdapterDateFnsV2/index.js +1 -0
  15. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  16. package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
  17. package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
  18. package/AdapterMoment/AdapterMoment.d.ts +1 -1
  19. package/AdapterMoment/AdapterMoment.js +10 -0
  20. package/CHANGELOG.md +2007 -230
  21. package/DateCalendar/DateCalendar.js +41 -22
  22. package/DateCalendar/DateCalendar.types.d.ts +2 -1
  23. package/DateCalendar/DayCalendar.d.ts +1 -2
  24. package/DateCalendar/DayCalendar.js +12 -36
  25. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  26. package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  27. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  28. package/DateCalendar/PickersSlideTransition.js +12 -5
  29. package/DateCalendar/useCalendarState.d.ts +13 -27
  30. package/DateCalendar/useCalendarState.js +65 -55
  31. package/DateField/DateField.js +29 -33
  32. package/DateField/DateField.types.d.ts +7 -15
  33. package/DateField/useDateField.d.ts +1 -1
  34. package/DateField/useDateField.js +14 -11
  35. package/DatePicker/DatePicker.js +1 -1
  36. package/DatePicker/DatePicker.types.d.ts +7 -3
  37. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  38. package/DatePicker/DatePickerToolbar.js +17 -33
  39. package/DatePicker/shared.d.ts +6 -5
  40. package/DateTimeField/DateTimeField.js +29 -33
  41. package/DateTimeField/DateTimeField.types.d.ts +7 -16
  42. package/DateTimeField/useDateTimeField.d.ts +1 -1
  43. package/DateTimeField/useDateTimeField.js +14 -11
  44. package/DateTimePicker/DateTimePicker.js +2 -2
  45. package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
  46. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
  47. package/DateTimePicker/DateTimePickerTabs.js +15 -20
  48. package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
  49. package/DateTimePicker/DateTimePickerToolbar.js +88 -80
  50. package/DateTimePicker/shared.d.ts +8 -8
  51. package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  52. package/DesktopDatePicker/DesktopDatePicker.js +11 -17
  53. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
  54. package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  55. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  56. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
  57. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  58. package/DesktopTimePicker/DesktopTimePicker.js +6 -22
  59. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  60. package/DigitalClock/DigitalClock.js +13 -11
  61. package/DigitalClock/DigitalClock.types.d.ts +8 -2
  62. package/MobileDatePicker/MobileDatePicker.js +4 -14
  63. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
  64. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  65. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  66. package/MobileTimePicker/MobileTimePicker.js +4 -14
  67. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  68. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  69. package/MonthCalendar/MonthCalendar.js +31 -11
  70. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  71. package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
  72. package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
  73. package/MonthCalendar/index.d.ts +0 -3
  74. package/MonthCalendar/index.js +1 -2
  75. package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
  76. package/MonthCalendar/monthCalendarClasses.js +1 -1
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
  79. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
  80. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  81. package/PickersActionBar/PickersActionBar.d.ts +6 -7
  82. package/PickersActionBar/PickersActionBar.js +26 -17
  83. package/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  84. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +4 -6
  85. package/PickersLayout/PickersLayout.d.ts +7 -5
  86. package/PickersLayout/PickersLayout.js +23 -42
  87. package/PickersLayout/PickersLayout.types.d.ts +20 -22
  88. package/PickersLayout/usePickerLayout.d.ts +5 -4
  89. package/PickersLayout/usePickerLayout.js +26 -53
  90. package/PickersSectionList/PickersSectionList.js +21 -16
  91. package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
  92. package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
  93. package/PickersShortcuts/PickersShortcuts.js +21 -11
  94. package/PickersShortcuts/index.d.ts +1 -1
  95. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
  96. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  97. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
  98. package/PickersTextField/PickersInput/PickersInput.js +20 -14
  99. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
  100. package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  101. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
  102. package/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  103. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  104. package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
  105. package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  106. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  107. package/PickersTextField/PickersTextField.js +75 -62
  108. package/PickersTextField/PickersTextField.types.d.ts +43 -4
  109. package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
  110. package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  111. package/README.md +8 -5
  112. package/StaticDatePicker/StaticDatePicker.js +2 -2
  113. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
  114. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  115. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  116. package/StaticTimePicker/StaticTimePicker.js +2 -2
  117. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  118. package/TimeClock/Clock.d.ts +4 -0
  119. package/TimeClock/Clock.js +27 -27
  120. package/TimeClock/ClockNumber.js +15 -11
  121. package/TimeClock/ClockPointer.d.ts +6 -1
  122. package/TimeClock/ClockPointer.js +16 -10
  123. package/TimeClock/TimeClock.js +30 -12
  124. package/TimeField/TimeField.js +28 -32
  125. package/TimeField/TimeField.types.d.ts +7 -16
  126. package/TimeField/useTimeField.d.ts +1 -1
  127. package/TimeField/useTimeField.js +14 -11
  128. package/TimePicker/TimePicker.js +2 -2
  129. package/TimePicker/TimePicker.types.d.ts +4 -5
  130. package/TimePicker/TimePickerToolbar.d.ts +1 -3
  131. package/TimePicker/TimePickerToolbar.js +36 -51
  132. package/TimePicker/shared.d.ts +6 -6
  133. package/YearCalendar/YearCalendar.js +46 -13
  134. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  135. package/YearCalendar/YearCalendarButton.d.ts +23 -0
  136. package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
  137. package/YearCalendar/index.d.ts +0 -3
  138. package/YearCalendar/index.js +1 -2
  139. package/YearCalendar/yearCalendarClasses.d.ts +7 -1
  140. package/YearCalendar/yearCalendarClasses.js +1 -1
  141. package/hooks/index.d.ts +2 -0
  142. package/hooks/index.js +3 -1
  143. package/hooks/useClearableField.d.ts +5 -3
  144. package/hooks/useClearableField.js +4 -2
  145. package/hooks/useIsValidValue.d.ts +7 -0
  146. package/hooks/useIsValidValue.js +11 -0
  147. package/hooks/useParsedFormat.d.ts +9 -7
  148. package/hooks/useParsedFormat.js +11 -13
  149. package/hooks/usePickerActionsContext.d.ts +7 -0
  150. package/hooks/usePickerActionsContext.js +15 -0
  151. package/hooks/usePickerContext.d.ts +5 -1
  152. package/hooks/usePickerContext.js +2 -2
  153. package/hooks/useSplitFieldProps.d.ts +12 -3
  154. package/hooks/useSplitFieldProps.js +8 -3
  155. package/index.d.ts +1 -0
  156. package/index.js +3 -2
  157. package/internals/components/PickerFieldUI.d.ts +133 -0
  158. package/internals/components/PickerFieldUI.js +317 -0
  159. package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
  160. package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
  161. package/internals/components/PickerPopper/index.d.ts +4 -0
  162. package/internals/components/PickerPopper/index.js +2 -0
  163. package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
  164. package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  165. package/internals/components/PickerProvider.d.ts +86 -32
  166. package/internals/components/PickerProvider.js +25 -7
  167. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  168. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
  169. package/internals/components/PickersModalDialog.d.ts +1 -3
  170. package/internals/components/PickersModalDialog.js +9 -3
  171. package/internals/components/PickersToolbar.d.ts +2 -3
  172. package/internals/components/PickersToolbar.js +15 -12
  173. package/internals/components/PickersToolbarButton.js +4 -6
  174. package/internals/components/PickersToolbarText.js +11 -13
  175. package/internals/hooks/date-helpers-hooks.js +4 -3
  176. package/internals/hooks/useClockReferenceDate.d.ts +2 -1
  177. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  178. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  179. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
  180. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  181. package/internals/hooks/useField/index.d.ts +2 -0
  182. package/internals/hooks/useField/index.js +2 -1
  183. package/internals/hooks/useField/useField.d.ts +3 -3
  184. package/internals/hooks/useField/useField.js +17 -4
  185. package/internals/hooks/useField/useField.types.d.ts +55 -48
  186. package/internals/hooks/useField/useField.utils.d.ts +4 -3
  187. package/internals/hooks/useField/useField.utils.js +2 -2
  188. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
  189. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  190. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  191. package/internals/hooks/useField/useFieldState.d.ts +9 -8
  192. package/internals/hooks/useField/useFieldState.js +2 -3
  193. package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
  194. package/internals/hooks/useField/useFieldV6TextField.js +5 -2
  195. package/internals/hooks/useField/useFieldV7TextField.js +6 -3
  196. package/internals/hooks/useFieldOwnerState.d.ts +6 -0
  197. package/internals/hooks/useFieldOwnerState.js +16 -0
  198. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  199. package/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  200. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
  201. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  202. package/internals/hooks/useNullablePickerContext.js +10 -0
  203. package/internals/hooks/useOpenState.d.ts +3 -2
  204. package/internals/hooks/useOpenState.js +11 -9
  205. package/internals/hooks/usePicker/index.d.ts +1 -1
  206. package/internals/hooks/usePicker/usePicker.d.ts +3 -4
  207. package/internals/hooks/usePicker/usePicker.js +4 -20
  208. package/internals/hooks/usePicker/usePicker.types.d.ts +10 -10
  209. package/internals/hooks/usePicker/usePickerProvider.d.ts +45 -10
  210. package/internals/hooks/usePicker/usePickerProvider.js +50 -16
  211. package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
  212. package/internals/hooks/usePicker/usePickerValue.js +84 -214
  213. package/internals/hooks/usePicker/usePickerValue.types.d.ts +130 -75
  214. package/internals/hooks/usePicker/usePickerViews.d.ts +59 -41
  215. package/internals/hooks/usePicker/usePickerViews.js +31 -20
  216. package/internals/hooks/useReduceAnimations.d.ts +2 -0
  217. package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  218. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
  219. package/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  220. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
  221. package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
  222. package/internals/hooks/useToolbarOwnerState.js +13 -0
  223. package/internals/hooks/useUtils.d.ts +4 -3
  224. package/internals/hooks/useUtils.js +1 -1
  225. package/internals/hooks/useValueWithTimezone.d.ts +5 -4
  226. package/internals/hooks/useViews.d.ts +5 -5
  227. package/internals/index.d.ts +27 -18
  228. package/internals/index.js +13 -8
  229. package/internals/models/common.d.ts +1 -1
  230. package/internals/models/fields.d.ts +8 -24
  231. package/internals/models/index.d.ts +1 -0
  232. package/internals/models/index.js +2 -1
  233. package/internals/models/manager.d.ts +15 -0
  234. package/internals/models/manager.js +1 -0
  235. package/internals/models/pickers.d.ts +1 -0
  236. package/internals/models/pickers.js +1 -0
  237. package/internals/models/props/basePickerProps.d.ts +3 -33
  238. package/internals/models/props/tabs.d.ts +0 -13
  239. package/internals/models/props/time.d.ts +2 -1
  240. package/internals/models/props/toolbar.d.ts +1 -19
  241. package/internals/models/value.d.ts +9 -0
  242. package/internals/utils/date-utils.d.ts +1 -1
  243. package/internals/utils/date-utils.js +1 -1
  244. package/internals/utils/utils.d.ts +3 -0
  245. package/internals/utils/utils.js +11 -1
  246. package/internals/utils/valueManagers.d.ts +4 -3
  247. package/internals/utils/valueManagers.js +4 -4
  248. package/locales/index.d.ts +1 -0
  249. package/locales/index.js +1 -0
  250. package/locales/nbNO.js +15 -19
  251. package/locales/nlNL.js +7 -7
  252. package/locales/roRO.js +15 -18
  253. package/locales/utils/getPickersLocalization.d.ts +0 -7
  254. package/locales/utils/getPickersLocalization.js +0 -13
  255. package/locales/zhTW.d.ts +80 -0
  256. package/locales/zhTW.js +73 -0
  257. package/managers/index.d.ts +6 -0
  258. package/managers/index.js +3 -0
  259. package/managers/package.json +6 -0
  260. package/managers/useDateManager.d.ts +27 -0
  261. package/managers/useDateManager.js +55 -0
  262. package/managers/useDateTimeManager.d.ts +28 -0
  263. package/managers/useDateTimeManager.js +60 -0
  264. package/managers/useTimeManager.d.ts +28 -0
  265. package/managers/useTimeManager.js +51 -0
  266. package/models/adapters.d.ts +5 -5
  267. package/models/fields.d.ts +33 -9
  268. package/models/index.d.ts +1 -0
  269. package/models/index.js +1 -0
  270. package/models/manager.d.ts +87 -0
  271. package/models/manager.js +1 -0
  272. package/models/pickers.d.ts +7 -0
  273. package/models/validation.d.ts +2 -1
  274. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  275. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  276. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  277. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  278. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  279. package/modern/AdapterDateFnsV2/index.js +1 -0
  280. package/modern/AdapterMoment/AdapterMoment.js +10 -0
  281. package/modern/DateCalendar/DateCalendar.js +41 -22
  282. package/modern/DateCalendar/DayCalendar.js +12 -36
  283. package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  284. package/modern/DateCalendar/PickersSlideTransition.js +12 -5
  285. package/modern/DateCalendar/useCalendarState.js +65 -55
  286. package/modern/DateField/DateField.js +29 -33
  287. package/modern/DateField/useDateField.js +14 -11
  288. package/modern/DatePicker/DatePicker.js +1 -1
  289. package/modern/DatePicker/DatePickerToolbar.js +17 -33
  290. package/modern/DateTimeField/DateTimeField.js +29 -33
  291. package/modern/DateTimeField/useDateTimeField.js +14 -11
  292. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  293. package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
  294. package/modern/DateTimePicker/DateTimePickerToolbar.js +88 -80
  295. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  296. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
  297. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  298. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  299. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
  300. package/modern/DigitalClock/DigitalClock.js +13 -11
  301. package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
  302. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  303. package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
  304. package/modern/MonthCalendar/MonthCalendar.js +31 -11
  305. package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
  306. package/modern/MonthCalendar/index.js +1 -2
  307. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  308. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  309. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  310. package/modern/PickersActionBar/PickersActionBar.js +26 -17
  311. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  312. package/modern/PickersLayout/PickersLayout.js +23 -42
  313. package/modern/PickersLayout/usePickerLayout.js +26 -53
  314. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  315. package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
  316. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  317. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  318. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  319. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  320. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  321. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  322. package/modern/PickersTextField/PickersTextField.js +75 -62
  323. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  324. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  325. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  326. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  327. package/modern/TimeClock/Clock.js +27 -27
  328. package/modern/TimeClock/ClockNumber.js +15 -11
  329. package/modern/TimeClock/ClockPointer.js +16 -10
  330. package/modern/TimeClock/TimeClock.js +30 -12
  331. package/modern/TimeField/TimeField.js +28 -32
  332. package/modern/TimeField/useTimeField.js +14 -11
  333. package/modern/TimePicker/TimePicker.js +2 -2
  334. package/modern/TimePicker/TimePickerToolbar.js +36 -51
  335. package/modern/YearCalendar/YearCalendar.js +46 -13
  336. package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
  337. package/modern/YearCalendar/index.js +1 -2
  338. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  339. package/modern/hooks/index.js +3 -1
  340. package/modern/hooks/useClearableField.js +4 -2
  341. package/modern/hooks/useIsValidValue.js +11 -0
  342. package/modern/hooks/useParsedFormat.js +11 -13
  343. package/modern/hooks/usePickerActionsContext.js +15 -0
  344. package/modern/hooks/usePickerContext.js +2 -2
  345. package/modern/hooks/useSplitFieldProps.js +8 -3
  346. package/modern/index.js +3 -2
  347. package/modern/internals/components/PickerFieldUI.js +317 -0
  348. package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
  349. package/modern/internals/components/PickerPopper/index.js +2 -0
  350. package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  351. package/modern/internals/components/PickerProvider.js +25 -7
  352. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  353. package/modern/internals/components/PickersModalDialog.js +9 -3
  354. package/modern/internals/components/PickersToolbar.js +15 -12
  355. package/modern/internals/components/PickersToolbarButton.js +4 -6
  356. package/modern/internals/components/PickersToolbarText.js +11 -13
  357. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  358. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  359. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  360. package/modern/internals/hooks/useField/index.js +2 -1
  361. package/modern/internals/hooks/useField/useField.js +17 -4
  362. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  363. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  364. package/modern/internals/hooks/useField/useFieldState.js +2 -3
  365. package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
  366. package/modern/internals/hooks/useField/useFieldV7TextField.js +6 -3
  367. package/modern/internals/hooks/useFieldOwnerState.js +16 -0
  368. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  369. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  370. package/modern/internals/hooks/useOpenState.js +11 -9
  371. package/modern/internals/hooks/usePicker/usePicker.js +4 -20
  372. package/modern/internals/hooks/usePicker/usePickerProvider.js +50 -16
  373. package/modern/internals/hooks/usePicker/usePickerValue.js +84 -214
  374. package/modern/internals/hooks/usePicker/usePickerViews.js +31 -20
  375. package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  376. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  377. package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
  378. package/modern/internals/hooks/useUtils.js +1 -1
  379. package/modern/internals/index.js +13 -8
  380. package/modern/internals/models/index.js +2 -1
  381. package/modern/internals/models/manager.js +1 -0
  382. package/modern/internals/models/pickers.js +1 -0
  383. package/modern/internals/utils/date-utils.js +1 -1
  384. package/modern/internals/utils/utils.js +11 -1
  385. package/modern/internals/utils/valueManagers.js +4 -4
  386. package/modern/locales/index.js +1 -0
  387. package/modern/locales/nbNO.js +15 -19
  388. package/modern/locales/nlNL.js +7 -7
  389. package/modern/locales/roRO.js +15 -18
  390. package/modern/locales/utils/getPickersLocalization.js +0 -13
  391. package/modern/locales/zhTW.js +73 -0
  392. package/modern/managers/index.js +3 -0
  393. package/modern/managers/useDateManager.js +55 -0
  394. package/modern/managers/useDateTimeManager.js +60 -0
  395. package/modern/managers/useTimeManager.js +51 -0
  396. package/modern/models/index.js +1 -0
  397. package/modern/models/manager.js +1 -0
  398. package/modern/validation/useValidation.js +1 -1
  399. package/modern/validation/validateDate.js +8 -0
  400. package/modern/validation/validateDateTime.js +8 -0
  401. package/modern/validation/validateTime.js +8 -0
  402. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  403. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  404. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  405. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  406. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  407. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  408. package/node/AdapterMoment/AdapterMoment.js +10 -0
  409. package/node/DateCalendar/DateCalendar.js +41 -22
  410. package/node/DateCalendar/DayCalendar.js +12 -37
  411. package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  412. package/node/DateCalendar/PickersSlideTransition.js +12 -5
  413. package/node/DateCalendar/useCalendarState.js +66 -57
  414. package/node/DateField/DateField.js +29 -33
  415. package/node/DateField/useDateField.js +13 -10
  416. package/node/DatePicker/DatePicker.js +1 -1
  417. package/node/DatePicker/DatePickerToolbar.js +17 -33
  418. package/node/DateTimeField/DateTimeField.js +29 -33
  419. package/node/DateTimeField/useDateTimeField.js +13 -10
  420. package/node/DateTimePicker/DateTimePicker.js +2 -2
  421. package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
  422. package/node/DateTimePicker/DateTimePickerToolbar.js +89 -80
  423. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  424. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
  425. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  426. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -35
  427. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
  428. package/node/DigitalClock/DigitalClock.js +13 -11
  429. package/node/MobileDatePicker/MobileDatePicker.js +4 -14
  430. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  431. package/node/MobileTimePicker/MobileTimePicker.js +4 -14
  432. package/node/MonthCalendar/MonthCalendar.js +31 -11
  433. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  434. package/node/MonthCalendar/index.js +1 -8
  435. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  436. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  437. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
  438. package/node/PickersActionBar/PickersActionBar.js +28 -19
  439. package/node/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  440. package/node/PickersLayout/PickersLayout.js +23 -42
  441. package/node/PickersLayout/usePickerLayout.js +30 -57
  442. package/node/PickersSectionList/PickersSectionList.js +21 -16
  443. package/node/PickersShortcuts/PickersShortcuts.js +21 -11
  444. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  445. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  446. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  447. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  448. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  449. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  450. package/node/PickersTextField/PickersTextField.js +75 -62
  451. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  452. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  453. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  454. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  455. package/node/TimeClock/Clock.js +27 -27
  456. package/node/TimeClock/ClockNumber.js +15 -11
  457. package/node/TimeClock/ClockPointer.js +15 -10
  458. package/node/TimeClock/TimeClock.js +30 -12
  459. package/node/TimeField/TimeField.js +28 -32
  460. package/node/TimeField/useTimeField.js +13 -10
  461. package/node/TimePicker/TimePicker.js +2 -2
  462. package/node/TimePicker/TimePickerToolbar.js +36 -51
  463. package/node/YearCalendar/YearCalendar.js +45 -12
  464. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  465. package/node/YearCalendar/index.js +1 -8
  466. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  467. package/node/hooks/index.js +15 -1
  468. package/node/hooks/useClearableField.js +4 -2
  469. package/node/hooks/useIsValidValue.js +18 -0
  470. package/node/hooks/useParsedFormat.js +11 -13
  471. package/node/hooks/usePickerActionsContext.js +22 -0
  472. package/node/hooks/usePickerContext.js +5 -4
  473. package/node/hooks/useSplitFieldProps.js +7 -2
  474. package/node/index.js +13 -1
  475. package/node/internals/components/PickerFieldUI.js +329 -0
  476. package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
  477. package/node/internals/components/PickerPopper/index.js +25 -0
  478. package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
  479. package/node/internals/components/PickerProvider.js +27 -9
  480. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  481. package/node/internals/components/PickersModalDialog.js +9 -3
  482. package/node/internals/components/PickersToolbar.js +15 -12
  483. package/node/internals/components/PickersToolbarButton.js +4 -6
  484. package/node/internals/components/PickersToolbarText.js +10 -12
  485. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  486. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +37 -122
  487. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  488. package/node/internals/hooks/useField/index.js +8 -1
  489. package/node/internals/hooks/useField/useField.js +16 -3
  490. package/node/internals/hooks/useField/useField.utils.js +2 -2
  491. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
  492. package/node/internals/hooks/useField/useFieldState.js +2 -3
  493. package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
  494. package/node/internals/hooks/useField/useFieldV7TextField.js +6 -3
  495. package/node/internals/hooks/useFieldOwnerState.js +24 -0
  496. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  497. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  498. package/node/internals/hooks/useOpenState.js +12 -9
  499. package/node/internals/hooks/usePicker/usePicker.js +4 -20
  500. package/node/internals/hooks/usePicker/usePickerProvider.js +51 -17
  501. package/node/internals/hooks/usePicker/usePickerValue.js +84 -213
  502. package/node/internals/hooks/usePicker/usePickerViews.js +31 -21
  503. package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
  504. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  505. package/node/internals/hooks/useToolbarOwnerState.js +21 -0
  506. package/node/internals/hooks/useUtils.js +1 -1
  507. package/node/internals/index.js +87 -34
  508. package/node/internals/models/index.js +11 -0
  509. package/node/internals/models/manager.js +5 -0
  510. package/node/internals/models/pickers.js +5 -0
  511. package/node/internals/utils/date-utils.js +1 -1
  512. package/node/internals/utils/utils.js +14 -2
  513. package/node/internals/utils/valueManagers.js +4 -4
  514. package/node/locales/index.js +11 -0
  515. package/node/locales/nbNO.js +15 -19
  516. package/node/locales/nlNL.js +7 -7
  517. package/node/locales/roRO.js +15 -18
  518. package/node/locales/utils/getPickersLocalization.js +2 -16
  519. package/node/locales/zhTW.js +79 -0
  520. package/node/managers/index.js +26 -0
  521. package/node/managers/useDateManager.js +63 -0
  522. package/node/managers/useDateTimeManager.js +68 -0
  523. package/node/managers/useTimeManager.js +59 -0
  524. package/node/models/index.js +11 -0
  525. package/node/models/manager.js +5 -0
  526. package/node/validation/useValidation.js +1 -1
  527. package/node/validation/validateDate.js +8 -0
  528. package/node/validation/validateDateTime.js +8 -0
  529. package/node/validation/validateTime.js +8 -0
  530. package/package.json +5 -5
  531. package/themeAugmentation/components.d.ts +3 -11
  532. package/themeAugmentation/overrides.d.ts +5 -7
  533. package/themeAugmentation/props.d.ts +7 -9
  534. package/validation/extractValidationProps.d.ts +1 -1
  535. package/validation/useValidation.d.ts +7 -6
  536. package/validation/useValidation.js +1 -1
  537. package/validation/validateDate.d.ts +12 -3
  538. package/validation/validateDate.js +8 -0
  539. package/validation/validateDateTime.d.ts +12 -4
  540. package/validation/validateDateTime.js +8 -0
  541. package/validation/validateTime.d.ts +12 -3
  542. package/validation/validateTime.js +8 -0
  543. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  544. package/AdapterDateFnsJalaliV3/index.js +0 -1
  545. package/AdapterDateFnsV3/index.d.ts +0 -1
  546. package/AdapterDateFnsV3/index.js +0 -1
  547. package/MonthCalendar/PickersMonth.d.ts +0 -28
  548. package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
  549. package/MonthCalendar/pickersMonthClasses.js +0 -5
  550. package/YearCalendar/PickersYear.d.ts +0 -27
  551. package/YearCalendar/pickersYearClasses.d.ts +0 -13
  552. package/YearCalendar/pickersYearClasses.js +0 -5
  553. package/internals/components/pickersPopperClasses.d.ts +0 -9
  554. package/internals/components/pickersPopperClasses.js +0 -5
  555. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  556. package/internals/hooks/defaultizedFieldProps.js +0 -40
  557. package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
  558. package/internals/hooks/useIsLandscape.d.ts +0 -4
  559. package/internals/hooks/useIsLandscape.js +0 -35
  560. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -32
  561. package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  562. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  563. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  564. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  565. package/modern/AdapterDateFnsV3/index.js +0 -1
  566. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  567. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  568. package/modern/internals/components/pickersPopperClasses.js +0 -5
  569. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  570. package/modern/internals/hooks/useIsLandscape.js +0 -35
  571. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  572. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  573. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  574. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  575. package/node/YearCalendar/pickersYearClasses.js +0 -12
  576. package/node/internals/components/pickersPopperClasses.js +0 -12
  577. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  578. package/node/internals/hooks/useIsLandscape.js +0 -43
  579. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -38
  580. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -1,23 +1,27 @@
1
1
  'use client';
2
2
 
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
+ const _excluded = ["ownerState"];
4
6
  import * as React from 'react';
5
7
  import useSlotProps from '@mui/utils/useSlotProps';
6
8
  import composeClasses from '@mui/utils/composeClasses';
9
+ import { useRtl } from '@mui/system/RtlProvider';
7
10
  import { PickersActionBar } from "../PickersActionBar/index.js";
8
11
  import { getPickersLayoutUtilityClass } from "./pickersLayoutClasses.js";
9
12
  import { PickersShortcuts } from "../PickersShortcuts/index.js";
10
13
  import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
14
+ import { usePickerContext } from "../hooks/index.js";
11
15
  import { jsx as _jsx } from "react/jsx-runtime";
12
16
  function toolbarHasView(toolbarProps) {
13
17
  return toolbarProps.view !== null;
14
18
  }
15
19
  const useUtilityClasses = (classes, ownerState) => {
16
20
  const {
17
- isLandscape
21
+ pickerOrientation
18
22
  } = ownerState;
19
23
  const slots = {
20
- root: ['root', isLandscape && 'landscape'],
24
+ root: ['root', pickerOrientation === 'landscape' && 'landscape'],
21
25
  contentWrapper: ['contentWrapper'],
22
26
  toolbar: ['toolbar'],
23
27
  actionBar: ['actionBar'],
@@ -29,52 +33,35 @@ const useUtilityClasses = (classes, ownerState) => {
29
33
  };
30
34
  const usePickerLayout = props => {
31
35
  const {
32
- ownerState: pickersOwnerState
36
+ ownerState: pickerOwnerState
33
37
  } = usePickerPrivateContext();
34
38
  const {
35
- wrapperVariant,
36
- onAccept,
37
- onClear,
38
- onCancel,
39
- onSetToday,
40
- view,
41
- views,
42
- onViewChange,
43
- value,
44
- onChange,
45
- onSelectShortcut,
46
- isValid,
47
- isLandscape,
39
+ view
40
+ } = usePickerContext();
41
+ const isRtl = useRtl();
42
+ const {
48
43
  children,
49
44
  slots,
50
45
  slotProps,
51
46
  classes: classesProp
52
- // TODO: Remove this "as" hack. It get introduced to mark `value` prop in PickersLayoutProps as not required.
53
- // The true type should be
54
- // - For pickers value: PickerValidDate | null
55
- // - For range pickers value: [PickerValidDate | null, PickerValidDate | null]
56
47
  } = props;
57
- const ownerState = _extends({}, pickersOwnerState, {
58
- wrapperVariant,
59
- isLandscape
60
- });
48
+ const ownerState = React.useMemo(() => _extends({}, pickerOwnerState, {
49
+ layoutDirection: isRtl ? 'rtl' : 'ltr'
50
+ }), [pickerOwnerState, isRtl]);
61
51
  const classes = useUtilityClasses(classesProp, ownerState);
62
52
 
63
53
  // Action bar
64
54
  const ActionBar = slots?.actionBar ?? PickersActionBar;
65
- const actionBarProps = useSlotProps({
66
- elementType: ActionBar,
67
- externalSlotProps: slotProps?.actionBar,
68
- additionalProps: {
69
- onAccept,
70
- onClear,
71
- onCancel,
72
- onSetToday,
73
- actions: wrapperVariant === 'desktop' ? [] : ['cancel', 'accept']
74
- },
75
- className: classes.actionBar,
76
- ownerState
77
- });
55
+ const _useSlotProps = useSlotProps({
56
+ elementType: ActionBar,
57
+ externalSlotProps: slotProps?.actionBar,
58
+ additionalProps: {
59
+ actions: ['cancel', 'accept']
60
+ },
61
+ className: classes.actionBar,
62
+ ownerState
63
+ }),
64
+ actionBarProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded);
78
65
  const actionBar = /*#__PURE__*/_jsx(ActionBar, _extends({}, actionBarProps));
79
66
 
80
67
  // Toolbar
@@ -82,14 +69,6 @@ const usePickerLayout = props => {
82
69
  const toolbarProps = useSlotProps({
83
70
  elementType: Toolbar,
84
71
  externalSlotProps: slotProps?.toolbar,
85
- additionalProps: {
86
- isLandscape,
87
- onChange,
88
- value,
89
- view,
90
- onViewChange,
91
- views
92
- },
93
72
  className: classes.toolbar,
94
73
  ownerState
95
74
  });
@@ -101,8 +80,6 @@ const usePickerLayout = props => {
101
80
  // Tabs
102
81
  const Tabs = slots?.tabs;
103
82
  const tabs = view && Tabs ? /*#__PURE__*/_jsx(Tabs, _extends({
104
- view: view,
105
- onViewChange: onViewChange,
106
83
  className: classes.tabs
107
84
  }, slotProps?.tabs)) : null;
108
85
 
@@ -111,11 +88,6 @@ const usePickerLayout = props => {
111
88
  const shortcutsProps = useSlotProps({
112
89
  elementType: Shortcuts,
113
90
  externalSlotProps: slotProps?.shortcuts,
114
- additionalProps: {
115
- isValid,
116
- isLandscape,
117
- onChange: onSelectShortcut
118
- },
119
91
  className: classes.shortcuts,
120
92
  ownerState
121
93
  });
@@ -125,7 +97,8 @@ const usePickerLayout = props => {
125
97
  content,
126
98
  tabs,
127
99
  actionBar,
128
- shortcuts
100
+ shortcuts,
101
+ ownerState
129
102
  };
130
103
  };
131
104
  export default usePickerLayout;
@@ -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 = ["slots", "slotProps", "elements", "sectionListRef"];
5
+ const _excluded = ["slots", "slotProps", "elements", "sectionListRef", "classes"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import useSlotProps from '@mui/utils/useSlotProps';
@@ -10,6 +10,7 @@ import composeClasses from '@mui/utils/composeClasses';
10
10
  import useForkRef from '@mui/utils/useForkRef';
11
11
  import { styled, useThemeProps } from '@mui/material/styles';
12
12
  import { getPickersSectionListUtilityClass, pickersSectionListClasses } from "./pickersSectionListClasses.js";
13
+ import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  export const PickersSectionListRoot = styled('div', {
15
16
  name: 'MuiPickersSectionList',
@@ -38,10 +39,7 @@ export const PickersSectionListSectionContent = styled('span', {
38
39
  })({
39
40
  outline: 'none'
40
41
  });
41
- const useUtilityClasses = ownerState => {
42
- const {
43
- classes
44
- } = ownerState;
42
+ const useUtilityClasses = classes => {
45
43
  const slots = {
46
44
  root: ['root'],
47
45
  section: ['section'],
@@ -56,13 +54,16 @@ function PickersSection(props) {
56
54
  element,
57
55
  classes
58
56
  } = props;
57
+ const {
58
+ ownerState
59
+ } = usePickerPrivateContext();
59
60
  const Section = slots?.section ?? PickersSectionListSection;
60
61
  const sectionProps = useSlotProps({
61
62
  elementType: Section,
62
63
  externalSlotProps: slotProps?.section,
63
64
  externalForwardedProps: element.container,
64
65
  className: classes.section,
65
- ownerState: {}
66
+ ownerState
66
67
  });
67
68
  const SectionContent = slots?.sectionContent ?? PickersSectionListSectionContent;
68
69
  const sectionContentProps = useSlotProps({
@@ -73,24 +74,24 @@ function PickersSection(props) {
73
74
  suppressContentEditableWarning: true
74
75
  },
75
76
  className: classes.sectionContent,
76
- ownerState: {}
77
+ ownerState
77
78
  });
78
79
  const SectionSeparator = slots?.sectionSeparator ?? PickersSectionListSectionSeparator;
79
80
  const sectionSeparatorBeforeProps = useSlotProps({
80
81
  elementType: SectionSeparator,
81
82
  externalSlotProps: slotProps?.sectionSeparator,
82
83
  externalForwardedProps: element.before,
83
- ownerState: {
84
- position: 'before'
85
- }
84
+ ownerState: _extends({}, ownerState, {
85
+ separatorPosition: 'before'
86
+ })
86
87
  });
87
88
  const sectionSeparatorAfterProps = useSlotProps({
88
89
  elementType: SectionSeparator,
89
90
  externalSlotProps: slotProps?.sectionSeparator,
90
91
  externalForwardedProps: element.after,
91
- ownerState: {
92
- position: 'after'
93
- }
92
+ ownerState: _extends({}, ownerState, {
93
+ separatorPosition: 'after'
94
+ })
94
95
  });
95
96
  return /*#__PURE__*/_jsxs(Section, _extends({}, sectionProps, {
96
97
  children: [/*#__PURE__*/_jsx(SectionSeparator, _extends({}, sectionSeparatorBeforeProps)), /*#__PURE__*/_jsx(SectionContent, _extends({}, sectionContentProps)), /*#__PURE__*/_jsx(SectionSeparator, _extends({}, sectionSeparatorAfterProps))]
@@ -135,10 +136,14 @@ const PickersSectionList = /*#__PURE__*/React.forwardRef(function PickersSection
135
136
  slots,
136
137
  slotProps,
137
138
  elements,
138
- sectionListRef
139
+ sectionListRef,
140
+ classes: classesProp
139
141
  } = props,
140
142
  other = _objectWithoutPropertiesLoose(props, _excluded);
141
- const classes = useUtilityClasses(props);
143
+ const classes = useUtilityClasses(classesProp);
144
+ const {
145
+ ownerState
146
+ } = usePickerPrivateContext();
142
147
  const rootRef = React.useRef(null);
143
148
  const handleRootRef = useForkRef(ref, rootRef);
144
149
  const getRoot = methodName => {
@@ -186,7 +191,7 @@ const PickersSectionList = /*#__PURE__*/React.forwardRef(function PickersSection
186
191
  suppressContentEditableWarning: true
187
192
  },
188
193
  className: classes.root,
189
- ownerState: {}
194
+ ownerState
190
195
  });
191
196
  return /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {
192
197
  children: rootProps.contentEditable ? elements.map(({
@@ -1,19 +1,26 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
3
  import { PickersSectionListClasses } from './pickersSectionListClasses';
4
+ import { PickerOwnerState } from '../models';
4
5
  export interface PickersSectionListSlots {
5
6
  root: React.ElementType;
6
7
  section: React.ElementType;
7
8
  sectionSeparator: React.ElementType;
8
9
  sectionContent: React.ElementType;
9
10
  }
11
+ export interface PickerSectionSeparatorOwnerState extends PickerOwnerState {
12
+ /**
13
+ * The position of the separator.
14
+ * `before` if the separator is rendered before the section content.
15
+ * `after` if the separator is rendered after the section content.
16
+ */
17
+ separatorPosition: 'before' | 'after';
18
+ }
10
19
  export interface PickersSectionListSlotProps {
11
- root?: SlotComponentProps<'div', {}, {}>;
12
- section?: SlotComponentProps<'span', {}, {}>;
13
- sectionSeparator?: SlotComponentProps<'span', {}, {
14
- position: 'before' | 'after';
15
- }>;
16
- sectionContent?: SlotComponentProps<'span', {}, {}>;
20
+ root?: SlotComponentProps<'div', {}, PickerOwnerState>;
21
+ section?: SlotComponentProps<'span', {}, PickerOwnerState>;
22
+ sectionSeparator?: SlotComponentProps<'span', {}, PickerSectionSeparatorOwnerState>;
23
+ sectionContent?: SlotComponentProps<'span', {}, PickerOwnerState>;
17
24
  }
18
25
  export interface PickersSectionElement {
19
26
  container: React.HTMLAttributes<HTMLSpanElement>;
@@ -1,9 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { ListProps } from '@mui/material/List';
3
- interface PickersShortcutsItemGetValueParams<TValue> {
3
+ import { PickerValidValue } from '../internals/models';
4
+ import { PickerChangeImportance } from '../models/pickers';
5
+ interface PickersShortcutsItemGetValueParams<TValue extends PickerValidValue> {
4
6
  isValid: (value: TValue) => boolean;
5
7
  }
6
- export interface PickersShortcutsItem<TValue> {
8
+ export interface PickersShortcutsItem<TValue extends PickerValidValue> {
7
9
  label: string;
8
10
  getValue: (params: PickersShortcutsItemGetValueParams<TValue>) => TValue;
9
11
  /**
@@ -12,9 +14,8 @@ export interface PickersShortcutsItem<TValue> {
12
14
  */
13
15
  id?: string;
14
16
  }
15
- export type PickersShortcutsItemContext = Omit<PickersShortcutsItem<unknown>, 'getValue'>;
16
- export type PickerShortcutChangeImportance = 'set' | 'accept';
17
- export interface ExportedPickersShortcutProps<TValue> extends Omit<ListProps, 'onChange'> {
17
+ export type PickersShortcutsItemContext = Omit<PickersShortcutsItem<PickerValidValue>, 'getValue'>;
18
+ export interface ExportedPickersShortcutProps<TValue extends PickerValidValue> extends Omit<ListProps, 'onChange'> {
18
19
  /**
19
20
  * Ordered array of shortcuts to display.
20
21
  * If empty, does not display the shortcuts.
@@ -27,12 +28,9 @@ export interface ExportedPickersShortcutProps<TValue> extends Omit<ListProps, 'o
27
28
  * - "set": fires `onChange` but do not fire `onAccept` and does not close the picker.
28
29
  * @default "accept"
29
30
  */
30
- changeImportance?: PickerShortcutChangeImportance;
31
+ changeImportance?: PickerChangeImportance;
31
32
  }
32
- export interface PickersShortcutsProps<TValue> extends ExportedPickersShortcutProps<TValue> {
33
- isLandscape: boolean;
34
- onChange: (newValue: TValue, changeImportance: PickerShortcutChangeImportance, shortcut: PickersShortcutsItemContext) => void;
35
- isValid: (value: TValue) => boolean;
33
+ export interface PickersShortcutsProps<TValue extends PickerValidValue> extends ExportedPickersShortcutProps<TValue> {
36
34
  }
37
35
  /**
38
36
  * Demos:
@@ -43,7 +41,7 @@ export interface PickersShortcutsProps<TValue> extends ExportedPickersShortcutPr
43
41
  *
44
42
  * - [PickersShortcuts API](https://mui.com/x/api/date-pickers/pickers-shortcuts/)
45
43
  */
46
- declare function PickersShortcuts<TValue>(props: PickersShortcutsProps<TValue>): React.JSX.Element | null;
44
+ declare function PickersShortcuts<TValue extends PickerValidValue>(props: PickersShortcutsProps<TValue>): React.JSX.Element | null;
47
45
  declare namespace PickersShortcuts {
48
46
  var propTypes: any;
49
47
  }
@@ -2,15 +2,23 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["items", "changeImportance", "isLandscape", "onChange", "isValid"],
5
+ const _excluded = ["items", "changeImportance"],
6
6
  _excluded2 = ["getValue"];
7
7
  import * as React from 'react';
8
+ import { styled } from '@mui/material/styles';
8
9
  import PropTypes from 'prop-types';
9
10
  import List from '@mui/material/List';
10
11
  import ListItem from '@mui/material/ListItem';
11
12
  import Chip from '@mui/material/Chip';
12
13
  import { VIEW_HEIGHT } from "../internals/constants/dimensions.js";
14
+ import { useIsValidValue, usePickerActionsContext } from "../hooks/index.js";
13
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
+ const PickersShortcutsRoot = styled(List, {
17
+ name: 'MuiPickersLayout',
18
+ slot: 'Shortcuts',
19
+ overridesResolver: (_, styles) => styles.shortcuts
20
+ })({});
21
+
14
22
  /**
15
23
  * Demos:
16
24
  *
@@ -23,11 +31,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
23
31
  function PickersShortcuts(props) {
24
32
  const {
25
33
  items,
26
- changeImportance = 'accept',
27
- onChange,
28
- isValid
34
+ changeImportance = 'accept'
29
35
  } = props,
30
36
  other = _objectWithoutPropertiesLoose(props, _excluded);
37
+ const {
38
+ setValue
39
+ } = usePickerActionsContext();
40
+ const isValidValue = useIsValidValue();
31
41
  if (items == null || items.length === 0) {
32
42
  return null;
33
43
  }
@@ -37,17 +47,20 @@ function PickersShortcuts(props) {
37
47
  } = _ref,
38
48
  item = _objectWithoutPropertiesLoose(_ref, _excluded2);
39
49
  const newValue = getValue({
40
- isValid
50
+ isValid: isValidValue
41
51
  });
42
52
  return _extends({}, item, {
43
53
  label: item.label,
44
54
  onClick: () => {
45
- onChange(newValue, changeImportance, item);
55
+ setValue(newValue, {
56
+ changeImportance,
57
+ shortcut: item
58
+ });
46
59
  },
47
- disabled: !isValid(newValue)
60
+ disabled: !isValidValue(newValue)
48
61
  });
49
62
  });
50
- return /*#__PURE__*/_jsx(List, _extends({
63
+ return /*#__PURE__*/_jsx(PickersShortcutsRoot, _extends({
51
64
  dense: true,
52
65
  sx: [{
53
66
  maxHeight: VIEW_HEIGHT,
@@ -88,8 +101,6 @@ process.env.NODE_ENV !== "production" ? PickersShortcuts.propTypes = {
88
101
  * @default false
89
102
  */
90
103
  disablePadding: PropTypes.bool,
91
- isLandscape: PropTypes.bool.isRequired,
92
- isValid: PropTypes.func.isRequired,
93
104
  /**
94
105
  * Ordered array of shortcuts to display.
95
106
  * If empty, does not display the shortcuts.
@@ -100,7 +111,6 @@ process.env.NODE_ENV !== "production" ? PickersShortcuts.propTypes = {
100
111
  id: PropTypes.string,
101
112
  label: PropTypes.string.isRequired
102
113
  })),
103
- onChange: PropTypes.func.isRequired,
104
114
  style: PropTypes.object,
105
115
  /**
106
116
  * The content of the subheader, normally `ListSubheader`.
@@ -1,2 +1,2 @@
1
1
  export { PickersShortcuts } from './PickersShortcuts';
2
- export type { PickersShortcutsProps, PickersShortcutsItem, PickersShortcutsItemContext, PickerShortcutChangeImportance, } from './PickersShortcuts';
2
+ export type { PickersShortcutsProps, PickersShortcutsItem, PickersShortcutsItemContext, } from './PickersShortcuts';
@@ -1,9 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { PickersInputBaseProps } from '../PickersInputBase';
3
+ import { PickerTextFieldOwnerState } from '../PickersTextField.types';
3
4
  export interface PickersFilledInputProps extends PickersInputBaseProps {
4
5
  disableUnderline?: boolean;
5
6
  hiddenLabel?: boolean;
6
7
  }
8
+ export interface PickerFilledInputOwnerState extends PickerTextFieldOwnerState {
9
+ /**
10
+ * `true` if the input has an underline, `false` otherwise.
11
+ */
12
+ inputHasUnderline: boolean;
13
+ }
7
14
  /**
8
15
  * @ignore - internal component.
9
16
  */
@@ -1,9 +1,8 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState"];
3
+ const _excluded = ["label", "autoFocus", "disableUnderline", "hiddenLabel", "classes"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
- import { useFormControl } from '@mui/material/FormControl';
7
6
  import { styled, useThemeProps } from '@mui/material/styles';
8
7
  import { shouldForwardProp } from '@mui/system';
9
8
  import { refType } from '@mui/utils';
@@ -11,6 +10,7 @@ import composeClasses from '@mui/utils/composeClasses';
11
10
  import { pickersFilledInputClasses, getPickersFilledInputUtilityClass } from "./pickersFilledInputClasses.js";
12
11
  import { PickersInputBase } from "../PickersInputBase/index.js";
13
12
  import { PickersInputBaseRoot, PickersInputBaseSectionsContainer } from "../PickersInputBase/PickersInputBase.js";
13
+ import { usePickerTextFieldOwnerState } from "../usePickerTextFieldOwnerState.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
16
16
  name: 'MuiPickersFilledInput',
@@ -50,7 +50,7 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
50
50
  // @ts-ignore
51
51
  .filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
52
52
  props: {
53
- color,
53
+ inputColor: color,
54
54
  disableUnderline: false
55
55
  },
56
56
  style: {
@@ -109,16 +109,16 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
109
109
  }
110
110
  }
111
111
  }, {
112
- props: ({
113
- startAdornment
114
- }) => !!startAdornment,
112
+ props: {
113
+ hasStartAdornment: true
114
+ },
115
115
  style: {
116
116
  paddingLeft: 12
117
117
  }
118
118
  }, {
119
- props: ({
120
- endAdornment
121
- }) => !!endAdornment,
119
+ props: {
120
+ hasEndAdornment: true
121
+ },
122
122
  style: {
123
123
  paddingRight: 12
124
124
  }
@@ -128,7 +128,8 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
128
128
  const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer, {
129
129
  name: 'MuiPickersFilledInput',
130
130
  slot: 'sectionsContainer',
131
- overridesResolver: (props, styles) => styles.sectionsContainer
131
+ overridesResolver: (props, styles) => styles.sectionsContainer,
132
+ shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'hiddenLabel'
132
133
  })({
133
134
  paddingTop: 25,
134
135
  paddingRight: 12,
@@ -136,23 +137,23 @@ const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer,
136
137
  paddingLeft: 12,
137
138
  variants: [{
138
139
  props: {
139
- size: 'small'
140
+ inputSize: 'small'
140
141
  },
141
142
  style: {
142
143
  paddingTop: 21,
143
144
  paddingBottom: 4
144
145
  }
145
146
  }, {
146
- props: ({
147
- startAdornment
148
- }) => !!startAdornment,
147
+ props: {
148
+ hasStartAdornment: true
149
+ },
149
150
  style: {
150
151
  paddingLeft: 0
151
152
  }
152
153
  }, {
153
- props: ({
154
- endAdornment
155
- }) => !!endAdornment,
154
+ props: {
155
+ hasEndAdornment: true
156
+ },
156
157
  style: {
157
158
  paddingRight: 0
158
159
  }
@@ -167,7 +168,7 @@ const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer,
167
168
  }, {
168
169
  props: {
169
170
  hiddenLabel: true,
170
- size: 'small'
171
+ inputSize: 'small'
171
172
  },
172
173
  style: {
173
174
  paddingTop: 8,
@@ -175,18 +176,18 @@ const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer,
175
176
  }
176
177
  }]
177
178
  });
178
- const useUtilityClasses = ownerState => {
179
+ const useUtilityClasses = (classes, ownerState) => {
179
180
  const {
180
- classes,
181
- disableUnderline
181
+ inputHasUnderline
182
182
  } = ownerState;
183
183
  const slots = {
184
- root: ['root', !disableUnderline && 'underline'],
184
+ root: ['root', inputHasUnderline && 'underline'],
185
185
  input: ['input']
186
186
  };
187
187
  const composedClasses = composeClasses(slots, getPickersFilledInputUtilityClass, classes);
188
188
  return _extends({}, classes, composedClasses);
189
189
  };
190
+
190
191
  /**
191
192
  * @ignore - internal component.
192
193
  */
@@ -198,14 +199,15 @@ const PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledI
198
199
  const {
199
200
  label,
200
201
  disableUnderline = false,
201
- ownerState: ownerStateProp
202
+ hiddenLabel = false,
203
+ classes: classesProp
202
204
  } = props,
203
205
  other = _objectWithoutPropertiesLoose(props, _excluded);
204
- const muiFormControl = useFormControl();
205
- const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {
206
- color: muiFormControl?.color || 'primary'
206
+ const pickerTextFieldOwnerState = usePickerTextFieldOwnerState();
207
+ const ownerState = _extends({}, pickerTextFieldOwnerState, {
208
+ inputHasUnderline: !disableUnderline
207
209
  });
208
- const classes = useUtilityClasses(ownerState);
210
+ const classes = useUtilityClasses(classesProp, ownerState);
209
211
  return /*#__PURE__*/_jsx(PickersInputBase, _extends({
210
212
  slots: {
211
213
  root: PickersFilledInputRoot,
@@ -214,12 +216,16 @@ const PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledI
214
216
  slotProps: {
215
217
  root: {
216
218
  disableUnderline
219
+ },
220
+ input: {
221
+ hiddenLabel
217
222
  }
218
223
  }
219
224
  }, other, {
220
225
  label: label,
221
226
  classes: classes,
222
- ref: ref
227
+ ref: ref,
228
+ ownerState: ownerState
223
229
  }));
224
230
  });
225
231
  process.env.NODE_ENV !== "production" ? PickersFilledInput.propTypes = {
@@ -1,7 +1,7 @@
1
1
  import { PickersInputBaseClasses } from '../PickersInputBase';
2
2
  export interface PickersFilledInputClasses extends PickersInputBaseClasses {
3
3
  /** Styles applied to the root element unless `disableUnderline={true}`. */
4
- underline?: string;
4
+ underline: string;
5
5
  }
6
6
  export type PickersFilledInputClassKey = keyof PickersFilledInputClasses;
7
7
  export declare function getPickersFilledInputUtilityClass(slot: string): string;