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

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 (576) 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 +1903 -231
  21. package/DateCalendar/DateCalendar.js +4 -4
  22. package/DateCalendar/DateCalendar.types.d.ts +2 -1
  23. package/DateCalendar/DayCalendar.js +2 -0
  24. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  25. package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  26. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  27. package/DateCalendar/PickersSlideTransition.js +12 -5
  28. package/DateCalendar/useCalendarState.d.ts +6 -4
  29. package/DateField/DateField.js +29 -33
  30. package/DateField/DateField.types.d.ts +7 -15
  31. package/DateField/useDateField.d.ts +1 -1
  32. package/DateField/useDateField.js +14 -11
  33. package/DatePicker/DatePicker.js +1 -1
  34. package/DatePicker/DatePicker.types.d.ts +7 -3
  35. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  36. package/DatePicker/DatePickerToolbar.js +17 -33
  37. package/DatePicker/shared.d.ts +6 -5
  38. package/DateTimeField/DateTimeField.js +29 -33
  39. package/DateTimeField/DateTimeField.types.d.ts +7 -16
  40. package/DateTimeField/useDateTimeField.d.ts +1 -1
  41. package/DateTimeField/useDateTimeField.js +14 -11
  42. package/DateTimePicker/DateTimePicker.js +2 -2
  43. package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
  44. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
  45. package/DateTimePicker/DateTimePickerTabs.js +15 -20
  46. package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
  47. package/DateTimePicker/DateTimePickerToolbar.js +88 -80
  48. package/DateTimePicker/shared.d.ts +8 -8
  49. package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  50. package/DesktopDatePicker/DesktopDatePicker.js +11 -17
  51. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
  52. package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  53. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  54. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
  55. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  56. package/DesktopTimePicker/DesktopTimePicker.js +6 -22
  57. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  58. package/DigitalClock/DigitalClock.js +13 -11
  59. package/DigitalClock/DigitalClock.types.d.ts +8 -2
  60. package/MobileDatePicker/MobileDatePicker.js +4 -14
  61. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
  62. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  63. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  64. package/MobileTimePicker/MobileTimePicker.js +4 -14
  65. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  66. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  67. package/MonthCalendar/MonthCalendar.js +31 -11
  68. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  69. package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
  70. package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
  71. package/MonthCalendar/index.d.ts +0 -3
  72. package/MonthCalendar/index.js +1 -2
  73. package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
  74. package/MonthCalendar/monthCalendarClasses.js +1 -1
  75. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  76. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  79. package/PickersActionBar/PickersActionBar.d.ts +6 -7
  80. package/PickersActionBar/PickersActionBar.js +26 -17
  81. package/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  82. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +3 -4
  83. package/PickersLayout/PickersLayout.d.ts +7 -5
  84. package/PickersLayout/PickersLayout.js +23 -42
  85. package/PickersLayout/PickersLayout.types.d.ts +20 -22
  86. package/PickersLayout/usePickerLayout.d.ts +5 -4
  87. package/PickersLayout/usePickerLayout.js +26 -53
  88. package/PickersSectionList/PickersSectionList.js +21 -16
  89. package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
  90. package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
  91. package/PickersShortcuts/PickersShortcuts.js +21 -11
  92. package/PickersShortcuts/index.d.ts +1 -1
  93. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
  94. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  95. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
  96. package/PickersTextField/PickersInput/PickersInput.js +20 -14
  97. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
  98. package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  99. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
  100. package/PickersTextField/PickersInputBase/PickersInputBase.js +43 -37
  101. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  102. package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
  103. package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  104. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  105. package/PickersTextField/PickersTextField.js +75 -62
  106. package/PickersTextField/PickersTextField.types.d.ts +43 -4
  107. package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
  108. package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  109. package/README.md +8 -5
  110. package/StaticDatePicker/StaticDatePicker.js +2 -2
  111. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
  112. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  113. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  114. package/StaticTimePicker/StaticTimePicker.js +2 -2
  115. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  116. package/TimeClock/Clock.d.ts +4 -0
  117. package/TimeClock/Clock.js +27 -27
  118. package/TimeClock/ClockNumber.js +15 -11
  119. package/TimeClock/ClockPointer.d.ts +6 -1
  120. package/TimeClock/ClockPointer.js +16 -10
  121. package/TimeClock/TimeClock.js +30 -12
  122. package/TimeField/TimeField.js +28 -32
  123. package/TimeField/TimeField.types.d.ts +7 -16
  124. package/TimeField/useTimeField.d.ts +1 -1
  125. package/TimeField/useTimeField.js +14 -11
  126. package/TimePicker/TimePicker.js +2 -2
  127. package/TimePicker/TimePicker.types.d.ts +4 -5
  128. package/TimePicker/TimePickerToolbar.d.ts +1 -3
  129. package/TimePicker/TimePickerToolbar.js +36 -51
  130. package/TimePicker/shared.d.ts +6 -6
  131. package/YearCalendar/YearCalendar.js +46 -13
  132. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  133. package/YearCalendar/YearCalendarButton.d.ts +23 -0
  134. package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
  135. package/YearCalendar/index.d.ts +0 -3
  136. package/YearCalendar/index.js +1 -2
  137. package/YearCalendar/yearCalendarClasses.d.ts +7 -1
  138. package/YearCalendar/yearCalendarClasses.js +1 -1
  139. package/hooks/index.d.ts +2 -0
  140. package/hooks/index.js +3 -1
  141. package/hooks/useClearableField.d.ts +5 -3
  142. package/hooks/useClearableField.js +4 -2
  143. package/hooks/useIsValidValue.d.ts +7 -0
  144. package/hooks/useIsValidValue.js +11 -0
  145. package/hooks/useParsedFormat.d.ts +9 -7
  146. package/hooks/useParsedFormat.js +11 -13
  147. package/hooks/usePickerActionsContext.d.ts +7 -0
  148. package/hooks/usePickerActionsContext.js +15 -0
  149. package/hooks/usePickerContext.d.ts +5 -1
  150. package/hooks/usePickerContext.js +2 -2
  151. package/hooks/useSplitFieldProps.d.ts +12 -3
  152. package/hooks/useSplitFieldProps.js +8 -3
  153. package/index.d.ts +1 -0
  154. package/index.js +3 -2
  155. package/internals/components/PickerFieldUI.d.ts +133 -0
  156. package/internals/components/PickerFieldUI.js +317 -0
  157. package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
  158. package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
  159. package/internals/components/PickerPopper/index.d.ts +4 -0
  160. package/internals/components/PickerPopper/index.js +2 -0
  161. package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
  162. package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  163. package/internals/components/PickerProvider.d.ts +86 -32
  164. package/internals/components/PickerProvider.js +25 -7
  165. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  166. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
  167. package/internals/components/PickersModalDialog.d.ts +1 -3
  168. package/internals/components/PickersModalDialog.js +9 -3
  169. package/internals/components/PickersToolbar.d.ts +2 -3
  170. package/internals/components/PickersToolbar.js +15 -12
  171. package/internals/components/PickersToolbarButton.js +4 -6
  172. package/internals/components/PickersToolbarText.js +11 -13
  173. package/internals/hooks/date-helpers-hooks.js +4 -3
  174. package/internals/hooks/useClockReferenceDate.d.ts +2 -1
  175. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  176. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  177. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
  178. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  179. package/internals/hooks/useField/index.d.ts +2 -0
  180. package/internals/hooks/useField/index.js +2 -1
  181. package/internals/hooks/useField/useField.d.ts +3 -3
  182. package/internals/hooks/useField/useField.js +17 -4
  183. package/internals/hooks/useField/useField.types.d.ts +55 -48
  184. package/internals/hooks/useField/useField.utils.d.ts +4 -3
  185. package/internals/hooks/useField/useField.utils.js +2 -2
  186. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
  187. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  188. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  189. package/internals/hooks/useField/useFieldState.d.ts +9 -8
  190. package/internals/hooks/useField/useFieldState.js +2 -3
  191. package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
  192. package/internals/hooks/useField/useFieldV6TextField.js +5 -2
  193. package/internals/hooks/useField/useFieldV7TextField.js +6 -3
  194. package/internals/hooks/useFieldOwnerState.d.ts +6 -0
  195. package/internals/hooks/useFieldOwnerState.js +16 -0
  196. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  197. package/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  198. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
  199. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  200. package/internals/hooks/useNullablePickerContext.js +10 -0
  201. package/internals/hooks/useOpenState.d.ts +3 -2
  202. package/internals/hooks/useOpenState.js +11 -9
  203. package/internals/hooks/usePicker/index.d.ts +1 -1
  204. package/internals/hooks/usePicker/usePicker.d.ts +3 -4
  205. package/internals/hooks/usePicker/usePicker.js +4 -20
  206. package/internals/hooks/usePicker/usePicker.types.d.ts +10 -10
  207. package/internals/hooks/usePicker/usePickerProvider.d.ts +45 -10
  208. package/internals/hooks/usePicker/usePickerProvider.js +50 -16
  209. package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
  210. package/internals/hooks/usePicker/usePickerValue.js +84 -214
  211. package/internals/hooks/usePicker/usePickerValue.types.d.ts +130 -75
  212. package/internals/hooks/usePicker/usePickerViews.d.ts +59 -41
  213. package/internals/hooks/usePicker/usePickerViews.js +31 -20
  214. package/internals/hooks/useReduceAnimations.d.ts +2 -0
  215. package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  216. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
  217. package/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  218. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
  219. package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
  220. package/internals/hooks/useToolbarOwnerState.js +13 -0
  221. package/internals/hooks/useUtils.d.ts +4 -3
  222. package/internals/hooks/useUtils.js +1 -1
  223. package/internals/hooks/useValueWithTimezone.d.ts +5 -4
  224. package/internals/hooks/useViews.d.ts +5 -5
  225. package/internals/index.d.ts +27 -18
  226. package/internals/index.js +13 -8
  227. package/internals/models/common.d.ts +1 -1
  228. package/internals/models/fields.d.ts +8 -24
  229. package/internals/models/index.d.ts +1 -0
  230. package/internals/models/index.js +2 -1
  231. package/internals/models/manager.d.ts +15 -0
  232. package/internals/models/manager.js +1 -0
  233. package/internals/models/pickers.d.ts +1 -0
  234. package/internals/models/pickers.js +1 -0
  235. package/internals/models/props/basePickerProps.d.ts +3 -33
  236. package/internals/models/props/tabs.d.ts +0 -13
  237. package/internals/models/props/time.d.ts +2 -1
  238. package/internals/models/props/toolbar.d.ts +1 -19
  239. package/internals/models/value.d.ts +9 -0
  240. package/internals/utils/date-utils.d.ts +1 -1
  241. package/internals/utils/date-utils.js +1 -1
  242. package/internals/utils/utils.d.ts +3 -0
  243. package/internals/utils/utils.js +11 -1
  244. package/internals/utils/valueManagers.d.ts +4 -3
  245. package/internals/utils/valueManagers.js +4 -4
  246. package/locales/index.d.ts +1 -0
  247. package/locales/index.js +1 -0
  248. package/locales/nbNO.js +15 -19
  249. package/locales/nlNL.js +7 -7
  250. package/locales/roRO.js +15 -18
  251. package/locales/utils/getPickersLocalization.d.ts +0 -7
  252. package/locales/utils/getPickersLocalization.js +0 -13
  253. package/locales/zhTW.d.ts +80 -0
  254. package/locales/zhTW.js +73 -0
  255. package/managers/index.d.ts +6 -0
  256. package/managers/index.js +3 -0
  257. package/managers/package.json +6 -0
  258. package/managers/useDateManager.d.ts +27 -0
  259. package/managers/useDateManager.js +55 -0
  260. package/managers/useDateTimeManager.d.ts +28 -0
  261. package/managers/useDateTimeManager.js +60 -0
  262. package/managers/useTimeManager.d.ts +28 -0
  263. package/managers/useTimeManager.js +51 -0
  264. package/models/adapters.d.ts +5 -5
  265. package/models/fields.d.ts +33 -9
  266. package/models/index.d.ts +1 -0
  267. package/models/index.js +1 -0
  268. package/models/manager.d.ts +87 -0
  269. package/models/manager.js +1 -0
  270. package/models/pickers.d.ts +7 -0
  271. package/models/validation.d.ts +2 -1
  272. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  273. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  274. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  275. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  276. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  277. package/modern/AdapterDateFnsV2/index.js +1 -0
  278. package/modern/AdapterMoment/AdapterMoment.js +10 -0
  279. package/modern/DateCalendar/DateCalendar.js +4 -4
  280. package/modern/DateCalendar/DayCalendar.js +2 -0
  281. package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  282. package/modern/DateCalendar/PickersSlideTransition.js +12 -5
  283. package/modern/DateField/DateField.js +29 -33
  284. package/modern/DateField/useDateField.js +14 -11
  285. package/modern/DatePicker/DatePicker.js +1 -1
  286. package/modern/DatePicker/DatePickerToolbar.js +17 -33
  287. package/modern/DateTimeField/DateTimeField.js +29 -33
  288. package/modern/DateTimeField/useDateTimeField.js +14 -11
  289. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  290. package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
  291. package/modern/DateTimePicker/DateTimePickerToolbar.js +88 -80
  292. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  293. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
  294. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  295. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  296. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
  297. package/modern/DigitalClock/DigitalClock.js +13 -11
  298. package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
  299. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  300. package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
  301. package/modern/MonthCalendar/MonthCalendar.js +31 -11
  302. package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
  303. package/modern/MonthCalendar/index.js +1 -2
  304. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  305. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  306. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  307. package/modern/PickersActionBar/PickersActionBar.js +26 -17
  308. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  309. package/modern/PickersLayout/PickersLayout.js +23 -42
  310. package/modern/PickersLayout/usePickerLayout.js +26 -53
  311. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  312. package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
  313. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  314. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  315. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  316. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +43 -37
  317. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  318. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  319. package/modern/PickersTextField/PickersTextField.js +75 -62
  320. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  321. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  322. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  323. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  324. package/modern/TimeClock/Clock.js +27 -27
  325. package/modern/TimeClock/ClockNumber.js +15 -11
  326. package/modern/TimeClock/ClockPointer.js +16 -10
  327. package/modern/TimeClock/TimeClock.js +30 -12
  328. package/modern/TimeField/TimeField.js +28 -32
  329. package/modern/TimeField/useTimeField.js +14 -11
  330. package/modern/TimePicker/TimePicker.js +2 -2
  331. package/modern/TimePicker/TimePickerToolbar.js +36 -51
  332. package/modern/YearCalendar/YearCalendar.js +46 -13
  333. package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
  334. package/modern/YearCalendar/index.js +1 -2
  335. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  336. package/modern/hooks/index.js +3 -1
  337. package/modern/hooks/useClearableField.js +4 -2
  338. package/modern/hooks/useIsValidValue.js +11 -0
  339. package/modern/hooks/useParsedFormat.js +11 -13
  340. package/modern/hooks/usePickerActionsContext.js +15 -0
  341. package/modern/hooks/usePickerContext.js +2 -2
  342. package/modern/hooks/useSplitFieldProps.js +8 -3
  343. package/modern/index.js +3 -2
  344. package/modern/internals/components/PickerFieldUI.js +317 -0
  345. package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
  346. package/modern/internals/components/PickerPopper/index.js +2 -0
  347. package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  348. package/modern/internals/components/PickerProvider.js +25 -7
  349. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  350. package/modern/internals/components/PickersModalDialog.js +9 -3
  351. package/modern/internals/components/PickersToolbar.js +15 -12
  352. package/modern/internals/components/PickersToolbarButton.js +4 -6
  353. package/modern/internals/components/PickersToolbarText.js +11 -13
  354. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  355. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  356. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  357. package/modern/internals/hooks/useField/index.js +2 -1
  358. package/modern/internals/hooks/useField/useField.js +17 -4
  359. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  360. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  361. package/modern/internals/hooks/useField/useFieldState.js +2 -3
  362. package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
  363. package/modern/internals/hooks/useField/useFieldV7TextField.js +6 -3
  364. package/modern/internals/hooks/useFieldOwnerState.js +16 -0
  365. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  366. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  367. package/modern/internals/hooks/useOpenState.js +11 -9
  368. package/modern/internals/hooks/usePicker/usePicker.js +4 -20
  369. package/modern/internals/hooks/usePicker/usePickerProvider.js +50 -16
  370. package/modern/internals/hooks/usePicker/usePickerValue.js +84 -214
  371. package/modern/internals/hooks/usePicker/usePickerViews.js +31 -20
  372. package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  373. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  374. package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
  375. package/modern/internals/hooks/useUtils.js +1 -1
  376. package/modern/internals/index.js +13 -8
  377. package/modern/internals/models/index.js +2 -1
  378. package/modern/internals/models/manager.js +1 -0
  379. package/modern/internals/models/pickers.js +1 -0
  380. package/modern/internals/utils/date-utils.js +1 -1
  381. package/modern/internals/utils/utils.js +11 -1
  382. package/modern/internals/utils/valueManagers.js +4 -4
  383. package/modern/locales/index.js +1 -0
  384. package/modern/locales/nbNO.js +15 -19
  385. package/modern/locales/nlNL.js +7 -7
  386. package/modern/locales/roRO.js +15 -18
  387. package/modern/locales/utils/getPickersLocalization.js +0 -13
  388. package/modern/locales/zhTW.js +73 -0
  389. package/modern/managers/index.js +3 -0
  390. package/modern/managers/useDateManager.js +55 -0
  391. package/modern/managers/useDateTimeManager.js +60 -0
  392. package/modern/managers/useTimeManager.js +51 -0
  393. package/modern/models/index.js +1 -0
  394. package/modern/models/manager.js +1 -0
  395. package/modern/validation/useValidation.js +1 -1
  396. package/modern/validation/validateDate.js +8 -0
  397. package/modern/validation/validateDateTime.js +8 -0
  398. package/modern/validation/validateTime.js +8 -0
  399. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  400. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  401. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  402. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  403. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  404. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  405. package/node/AdapterMoment/AdapterMoment.js +10 -0
  406. package/node/DateCalendar/DateCalendar.js +4 -4
  407. package/node/DateCalendar/DayCalendar.js +1 -0
  408. package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  409. package/node/DateCalendar/PickersSlideTransition.js +12 -5
  410. package/node/DateField/DateField.js +29 -33
  411. package/node/DateField/useDateField.js +13 -10
  412. package/node/DatePicker/DatePicker.js +1 -1
  413. package/node/DatePicker/DatePickerToolbar.js +17 -33
  414. package/node/DateTimeField/DateTimeField.js +29 -33
  415. package/node/DateTimeField/useDateTimeField.js +13 -10
  416. package/node/DateTimePicker/DateTimePicker.js +2 -2
  417. package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
  418. package/node/DateTimePicker/DateTimePickerToolbar.js +89 -80
  419. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  420. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
  421. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  422. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -35
  423. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
  424. package/node/DigitalClock/DigitalClock.js +13 -11
  425. package/node/MobileDatePicker/MobileDatePicker.js +4 -14
  426. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  427. package/node/MobileTimePicker/MobileTimePicker.js +4 -14
  428. package/node/MonthCalendar/MonthCalendar.js +31 -11
  429. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  430. package/node/MonthCalendar/index.js +1 -8
  431. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  432. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  433. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
  434. package/node/PickersActionBar/PickersActionBar.js +28 -19
  435. package/node/PickersCalendarHeader/PickersCalendarHeader.js +10 -7
  436. package/node/PickersLayout/PickersLayout.js +23 -42
  437. package/node/PickersLayout/usePickerLayout.js +30 -57
  438. package/node/PickersSectionList/PickersSectionList.js +21 -16
  439. package/node/PickersShortcuts/PickersShortcuts.js +21 -11
  440. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  441. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  442. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  443. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +43 -37
  444. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  445. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  446. package/node/PickersTextField/PickersTextField.js +75 -62
  447. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  448. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  449. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  450. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  451. package/node/TimeClock/Clock.js +27 -27
  452. package/node/TimeClock/ClockNumber.js +15 -11
  453. package/node/TimeClock/ClockPointer.js +15 -10
  454. package/node/TimeClock/TimeClock.js +30 -12
  455. package/node/TimeField/TimeField.js +28 -32
  456. package/node/TimeField/useTimeField.js +13 -10
  457. package/node/TimePicker/TimePicker.js +2 -2
  458. package/node/TimePicker/TimePickerToolbar.js +36 -51
  459. package/node/YearCalendar/YearCalendar.js +45 -12
  460. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  461. package/node/YearCalendar/index.js +1 -8
  462. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  463. package/node/hooks/index.js +15 -1
  464. package/node/hooks/useClearableField.js +4 -2
  465. package/node/hooks/useIsValidValue.js +18 -0
  466. package/node/hooks/useParsedFormat.js +11 -13
  467. package/node/hooks/usePickerActionsContext.js +22 -0
  468. package/node/hooks/usePickerContext.js +5 -4
  469. package/node/hooks/useSplitFieldProps.js +7 -2
  470. package/node/index.js +13 -1
  471. package/node/internals/components/PickerFieldUI.js +329 -0
  472. package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
  473. package/node/internals/components/PickerPopper/index.js +25 -0
  474. package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
  475. package/node/internals/components/PickerProvider.js +27 -9
  476. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  477. package/node/internals/components/PickersModalDialog.js +9 -3
  478. package/node/internals/components/PickersToolbar.js +15 -12
  479. package/node/internals/components/PickersToolbarButton.js +4 -6
  480. package/node/internals/components/PickersToolbarText.js +10 -12
  481. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  482. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +37 -122
  483. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  484. package/node/internals/hooks/useField/index.js +8 -1
  485. package/node/internals/hooks/useField/useField.js +16 -3
  486. package/node/internals/hooks/useField/useField.utils.js +2 -2
  487. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
  488. package/node/internals/hooks/useField/useFieldState.js +2 -3
  489. package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
  490. package/node/internals/hooks/useField/useFieldV7TextField.js +6 -3
  491. package/node/internals/hooks/useFieldOwnerState.js +24 -0
  492. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  493. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  494. package/node/internals/hooks/useOpenState.js +12 -9
  495. package/node/internals/hooks/usePicker/usePicker.js +4 -20
  496. package/node/internals/hooks/usePicker/usePickerProvider.js +51 -17
  497. package/node/internals/hooks/usePicker/usePickerValue.js +84 -213
  498. package/node/internals/hooks/usePicker/usePickerViews.js +31 -21
  499. package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
  500. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  501. package/node/internals/hooks/useToolbarOwnerState.js +21 -0
  502. package/node/internals/hooks/useUtils.js +1 -1
  503. package/node/internals/index.js +87 -34
  504. package/node/internals/models/index.js +11 -0
  505. package/node/internals/models/manager.js +5 -0
  506. package/node/internals/models/pickers.js +5 -0
  507. package/node/internals/utils/date-utils.js +1 -1
  508. package/node/internals/utils/utils.js +14 -2
  509. package/node/internals/utils/valueManagers.js +4 -4
  510. package/node/locales/index.js +11 -0
  511. package/node/locales/nbNO.js +15 -19
  512. package/node/locales/nlNL.js +7 -7
  513. package/node/locales/roRO.js +15 -18
  514. package/node/locales/utils/getPickersLocalization.js +2 -16
  515. package/node/locales/zhTW.js +79 -0
  516. package/node/managers/index.js +26 -0
  517. package/node/managers/useDateManager.js +63 -0
  518. package/node/managers/useDateTimeManager.js +68 -0
  519. package/node/managers/useTimeManager.js +59 -0
  520. package/node/models/index.js +11 -0
  521. package/node/models/manager.js +5 -0
  522. package/node/validation/useValidation.js +1 -1
  523. package/node/validation/validateDate.js +8 -0
  524. package/node/validation/validateDateTime.js +8 -0
  525. package/node/validation/validateTime.js +8 -0
  526. package/package.json +5 -5
  527. package/themeAugmentation/components.d.ts +3 -11
  528. package/themeAugmentation/overrides.d.ts +5 -7
  529. package/themeAugmentation/props.d.ts +7 -9
  530. package/validation/extractValidationProps.d.ts +1 -1
  531. package/validation/useValidation.d.ts +7 -6
  532. package/validation/useValidation.js +1 -1
  533. package/validation/validateDate.d.ts +12 -3
  534. package/validation/validateDate.js +8 -0
  535. package/validation/validateDateTime.d.ts +12 -4
  536. package/validation/validateDateTime.js +8 -0
  537. package/validation/validateTime.d.ts +12 -3
  538. package/validation/validateTime.js +8 -0
  539. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  540. package/AdapterDateFnsJalaliV3/index.js +0 -1
  541. package/AdapterDateFnsV3/index.d.ts +0 -1
  542. package/AdapterDateFnsV3/index.js +0 -1
  543. package/MonthCalendar/PickersMonth.d.ts +0 -28
  544. package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
  545. package/MonthCalendar/pickersMonthClasses.js +0 -5
  546. package/YearCalendar/PickersYear.d.ts +0 -27
  547. package/YearCalendar/pickersYearClasses.d.ts +0 -13
  548. package/YearCalendar/pickersYearClasses.js +0 -5
  549. package/internals/components/pickersPopperClasses.d.ts +0 -9
  550. package/internals/components/pickersPopperClasses.js +0 -5
  551. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  552. package/internals/hooks/defaultizedFieldProps.js +0 -40
  553. package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
  554. package/internals/hooks/useIsLandscape.d.ts +0 -4
  555. package/internals/hooks/useIsLandscape.js +0 -35
  556. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -32
  557. package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  558. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  559. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  560. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  561. package/modern/AdapterDateFnsV3/index.js +0 -1
  562. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  563. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  564. package/modern/internals/components/pickersPopperClasses.js +0 -5
  565. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  566. package/modern/internals/hooks/useIsLandscape.js +0 -35
  567. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  568. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  569. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  570. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  571. package/node/YearCalendar/pickersYearClasses.js +0 -12
  572. package/node/internals/components/pickersPopperClasses.js +0 -12
  573. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  574. package/node/internals/hooks/useIsLandscape.js +0 -43
  575. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -38
  576. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -0,0 +1,317 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["enableAccessibleFieldDOMStructure"],
4
+ _excluded2 = ["InputProps", "readOnly", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel"],
5
+ _excluded3 = ["onPaste", "onKeyDown", "inputMode", "readOnly", "InputProps", "inputProps", "inputRef", "onClear", "clearable", "clearButtonPosition", "openPickerButtonPosition", "openPickerAriaLabel"],
6
+ _excluded4 = ["ownerState"],
7
+ _excluded5 = ["ownerState"],
8
+ _excluded6 = ["ownerState"],
9
+ _excluded7 = ["ownerState"],
10
+ _excluded8 = ["InputProps", "inputProps"];
11
+ import * as React from 'react';
12
+ import useEventCallback from '@mui/utils/useEventCallback';
13
+ import useForkRef from '@mui/utils/useForkRef';
14
+ import resolveComponentProps from '@mui/utils/resolveComponentProps';
15
+ import MuiTextField from '@mui/material/TextField';
16
+ import MuiIconButton from '@mui/material/IconButton';
17
+ import MuiInputAdornment from '@mui/material/InputAdornment';
18
+ import useSlotProps from '@mui/utils/useSlotProps';
19
+ import { useFieldOwnerState } from "../hooks/useFieldOwnerState.js";
20
+ import { usePickerTranslations } from "../../hooks/index.js";
21
+ import { ClearIcon as MuiClearIcon } from "../../icons/index.js";
22
+ import { useNullablePickerContext } from "../hooks/useNullablePickerContext.js";
23
+ import { PickersTextField } from "../../PickersTextField/index.js";
24
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
+ export const cleanFieldResponse = _ref => {
26
+ let {
27
+ enableAccessibleFieldDOMStructure
28
+ } = _ref,
29
+ fieldResponse = _objectWithoutPropertiesLoose(_ref, _excluded);
30
+ if (enableAccessibleFieldDOMStructure) {
31
+ const {
32
+ InputProps,
33
+ readOnly,
34
+ onClear,
35
+ clearable,
36
+ clearButtonPosition,
37
+ openPickerButtonPosition,
38
+ openPickerAriaLabel
39
+ } = fieldResponse,
40
+ other = _objectWithoutPropertiesLoose(fieldResponse, _excluded2);
41
+ return {
42
+ clearable,
43
+ onClear,
44
+ clearButtonPosition,
45
+ openPickerButtonPosition,
46
+ openPickerAriaLabel,
47
+ textFieldProps: _extends({}, other, {
48
+ InputProps: _extends({}, InputProps ?? {}, {
49
+ readOnly
50
+ })
51
+ })
52
+ };
53
+ }
54
+ const {
55
+ onPaste,
56
+ onKeyDown,
57
+ inputMode,
58
+ readOnly,
59
+ InputProps,
60
+ inputProps,
61
+ inputRef,
62
+ onClear,
63
+ clearable,
64
+ clearButtonPosition,
65
+ openPickerButtonPosition,
66
+ openPickerAriaLabel
67
+ } = fieldResponse,
68
+ other = _objectWithoutPropertiesLoose(fieldResponse, _excluded3);
69
+ return {
70
+ clearable,
71
+ onClear,
72
+ clearButtonPosition,
73
+ openPickerButtonPosition,
74
+ openPickerAriaLabel,
75
+ textFieldProps: _extends({}, other, {
76
+ InputProps: _extends({}, InputProps ?? {}, {
77
+ readOnly
78
+ }),
79
+ inputProps: _extends({}, inputProps ?? {}, {
80
+ inputMode,
81
+ onPaste,
82
+ onKeyDown,
83
+ ref: inputRef
84
+ })
85
+ })
86
+ };
87
+ };
88
+ const PickerFieldUIContext = /*#__PURE__*/React.createContext({
89
+ slots: {},
90
+ slotProps: {},
91
+ inputRef: undefined
92
+ });
93
+
94
+ /**
95
+ * Adds the button to open the picker and the button to clear the value of the field.
96
+ * @ignore - internal component.
97
+ */
98
+ export function PickerFieldUI(props) {
99
+ const {
100
+ slots,
101
+ slotProps,
102
+ fieldResponse,
103
+ defaultOpenPickerIcon
104
+ } = props;
105
+ const translations = usePickerTranslations();
106
+ const pickerContext = useNullablePickerContext();
107
+ const pickerFieldUIContext = React.useContext(PickerFieldUIContext);
108
+ const {
109
+ textFieldProps,
110
+ onClear,
111
+ clearable,
112
+ openPickerAriaLabel,
113
+ clearButtonPosition: clearButtonPositionProp = 'end',
114
+ openPickerButtonPosition: openPickerButtonPositionProp = 'end'
115
+ } = cleanFieldResponse(fieldResponse);
116
+ const ownerState = useFieldOwnerState(textFieldProps);
117
+ const handleClickOpeningButton = useEventCallback(event => {
118
+ event.preventDefault();
119
+ pickerContext?.setOpen(prev => !prev);
120
+ });
121
+ const triggerStatus = pickerContext ? pickerContext.triggerStatus : 'hidden';
122
+ const clearButtonPosition = clearable ? clearButtonPositionProp : null;
123
+ const openPickerButtonPosition = triggerStatus !== 'hidden' ? openPickerButtonPositionProp : null;
124
+ const TextField = slots?.textField ?? pickerFieldUIContext.slots.textField ?? (fieldResponse.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
125
+ const InputAdornment = slots?.inputAdornment ?? pickerFieldUIContext.slots.inputAdornment ?? MuiInputAdornment;
126
+ const _useSlotProps = useSlotProps({
127
+ elementType: InputAdornment,
128
+ externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.inputAdornment, slotProps?.inputAdornment),
129
+ additionalProps: {
130
+ position: 'start'
131
+ },
132
+ ownerState: _extends({}, ownerState, {
133
+ position: 'start'
134
+ })
135
+ }),
136
+ startInputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded4);
137
+ const _useSlotProps2 = useSlotProps({
138
+ elementType: InputAdornment,
139
+ externalSlotProps: slotProps?.inputAdornment,
140
+ additionalProps: {
141
+ position: 'end'
142
+ },
143
+ ownerState: _extends({}, ownerState, {
144
+ position: 'end'
145
+ })
146
+ }),
147
+ endInputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded5);
148
+ const OpenPickerButton = pickerFieldUIContext.slots.openPickerButton ?? MuiIconButton;
149
+ // We don't want to forward the `ownerState` to the `<IconButton />` component, see mui/material-ui#34056
150
+ const _useSlotProps3 = useSlotProps({
151
+ elementType: OpenPickerButton,
152
+ externalSlotProps: pickerFieldUIContext.slotProps.openPickerButton,
153
+ additionalProps: {
154
+ disabled: triggerStatus === 'disabled',
155
+ onClick: handleClickOpeningButton,
156
+ 'aria-label': openPickerAriaLabel,
157
+ edge: clearButtonPosition === 'start' && openPickerButtonPosition === 'start' ? undefined : openPickerButtonPosition
158
+ },
159
+ ownerState
160
+ }),
161
+ openPickerButtonProps = _objectWithoutPropertiesLoose(_useSlotProps3, _excluded6);
162
+ const OpenPickerIcon = pickerFieldUIContext.slots.openPickerIcon ?? defaultOpenPickerIcon;
163
+ const openPickerIconProps = useSlotProps({
164
+ elementType: OpenPickerIcon,
165
+ externalSlotProps: pickerFieldUIContext.slotProps.openPickerIcon,
166
+ ownerState
167
+ });
168
+ const ClearButton = slots?.clearButton ?? pickerFieldUIContext.slots.clearButton ?? MuiIconButton;
169
+ // We don't want to forward the `ownerState` to the `<IconButton />` component, see mui/material-ui#34056
170
+ const _useSlotProps4 = useSlotProps({
171
+ elementType: ClearButton,
172
+ externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.clearButton, slotProps?.clearButton),
173
+ className: 'clearButton',
174
+ additionalProps: {
175
+ title: translations.fieldClearLabel,
176
+ tabIndex: -1,
177
+ onClick: onClear,
178
+ disabled: fieldResponse.disabled || fieldResponse.readOnly,
179
+ edge: clearButtonPosition === 'end' && openPickerButtonPosition === 'end' ? undefined : clearButtonPosition
180
+ },
181
+ ownerState
182
+ }),
183
+ clearButtonProps = _objectWithoutPropertiesLoose(_useSlotProps4, _excluded7);
184
+ const ClearIcon = slots?.clearIcon ?? pickerFieldUIContext.slots.clearIcon ?? MuiClearIcon;
185
+ const clearIconProps = useSlotProps({
186
+ elementType: ClearIcon,
187
+ externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.clearIcon, slotProps?.clearIcon),
188
+ additionalProps: {
189
+ fontSize: 'small'
190
+ },
191
+ ownerState
192
+ });
193
+ textFieldProps.ref = useForkRef(textFieldProps.ref, pickerContext?.rootRef);
194
+ if (!textFieldProps.InputProps) {
195
+ textFieldProps.InputProps = {};
196
+ }
197
+ if (pickerContext) {
198
+ textFieldProps.InputProps.ref = pickerContext.triggerRef;
199
+ }
200
+ if (!textFieldProps.InputProps?.startAdornment && (clearButtonPosition === 'start' || openPickerButtonPosition === 'start')) {
201
+ textFieldProps.InputProps.startAdornment = /*#__PURE__*/_jsxs(InputAdornment, _extends({}, startInputAdornmentProps, {
202
+ children: [openPickerButtonPosition === 'start' && /*#__PURE__*/_jsx(OpenPickerButton, _extends({}, openPickerButtonProps, {
203
+ children: /*#__PURE__*/_jsx(OpenPickerIcon, _extends({}, openPickerIconProps))
204
+ })), clearButtonPosition === 'start' && /*#__PURE__*/_jsx(ClearButton, _extends({}, clearButtonProps, {
205
+ children: /*#__PURE__*/_jsx(ClearIcon, _extends({}, clearIconProps))
206
+ }))]
207
+ }));
208
+ }
209
+ if (!textFieldProps.InputProps?.endAdornment && (clearButtonPosition === 'end' || openPickerButtonPosition === 'end')) {
210
+ textFieldProps.InputProps.endAdornment = /*#__PURE__*/_jsxs(InputAdornment, _extends({}, endInputAdornmentProps, {
211
+ children: [clearButtonPosition === 'end' && /*#__PURE__*/_jsx(ClearButton, _extends({}, clearButtonProps, {
212
+ children: /*#__PURE__*/_jsx(ClearIcon, _extends({}, clearIconProps))
213
+ })), openPickerButtonPosition === 'end' && /*#__PURE__*/_jsx(OpenPickerButton, _extends({}, openPickerButtonProps, {
214
+ children: /*#__PURE__*/_jsx(OpenPickerIcon, _extends({}, openPickerIconProps))
215
+ }))]
216
+ }));
217
+ }
218
+ if (clearButtonPosition != null) {
219
+ textFieldProps.sx = [{
220
+ '& .clearButton': {
221
+ opacity: 1
222
+ },
223
+ '@media (pointer: fine)': {
224
+ '& .clearButton': {
225
+ opacity: 0
226
+ },
227
+ '&:hover, &:focus-within': {
228
+ '.clearButton': {
229
+ opacity: 1
230
+ }
231
+ }
232
+ }
233
+ }, ...(Array.isArray(textFieldProps.sx) ? textFieldProps.sx : [textFieldProps.sx])];
234
+ }
235
+ return /*#__PURE__*/_jsx(TextField, _extends({}, textFieldProps));
236
+ }
237
+ function mergeSlotProps(slotPropsA, slotPropsB) {
238
+ if (!slotPropsA) {
239
+ return slotPropsB;
240
+ }
241
+ if (!slotPropsB) {
242
+ return slotPropsA;
243
+ }
244
+ return ownerState => {
245
+ return _extends({}, resolveComponentProps(slotPropsB, ownerState), resolveComponentProps(slotPropsA, ownerState));
246
+ };
247
+ }
248
+
249
+ /**
250
+ * The `textField` slot props cannot be handled inside `PickerFieldUI` because it would be a breaking change to not pass the enriched props to `useField`.
251
+ * Once the non-accessible DOM structure will be removed, we will be able to remove the `textField` slot and clean this logic.
252
+ */
253
+ export function useFieldTextFieldProps(parameters) {
254
+ const {
255
+ ref,
256
+ externalForwardedProps,
257
+ slotProps
258
+ } = parameters;
259
+ const pickerFieldUIContext = React.useContext(PickerFieldUIContext);
260
+ const pickerContext = useNullablePickerContext();
261
+ const ownerState = useFieldOwnerState(externalForwardedProps);
262
+ const {
263
+ InputProps,
264
+ inputProps
265
+ } = externalForwardedProps,
266
+ otherExternalForwardedProps = _objectWithoutPropertiesLoose(externalForwardedProps, _excluded8);
267
+ const textFieldProps = useSlotProps({
268
+ elementType: PickersTextField,
269
+ externalSlotProps: mergeSlotProps(pickerFieldUIContext.slotProps.textField, slotProps?.textField),
270
+ externalForwardedProps: otherExternalForwardedProps,
271
+ additionalProps: {
272
+ ref,
273
+ sx: pickerContext?.rootSx,
274
+ label: pickerContext?.label,
275
+ name: pickerContext?.name,
276
+ className: pickerContext?.rootClassName,
277
+ inputRef: pickerFieldUIContext.inputRef
278
+ },
279
+ ownerState
280
+ });
281
+
282
+ // TODO: Remove when mui/material-ui#35088 will be merged
283
+ textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
284
+ textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
285
+ return textFieldProps;
286
+ }
287
+ export function PickerFieldUIContextProvider(props) {
288
+ const {
289
+ slots = {},
290
+ slotProps = {},
291
+ inputRef,
292
+ children
293
+ } = props;
294
+ const contextValue = React.useMemo(() => ({
295
+ inputRef,
296
+ slots: {
297
+ openPickerButton: slots.openPickerButton,
298
+ openPickerIcon: slots.openPickerIcon,
299
+ textField: slots.textField,
300
+ inputAdornment: slots.inputAdornment,
301
+ clearIcon: slots.clearIcon,
302
+ clearButton: slots.clearButton
303
+ },
304
+ slotProps: {
305
+ openPickerButton: slotProps.openPickerButton,
306
+ openPickerIcon: slotProps.openPickerIcon,
307
+ textField: slotProps.textField,
308
+ inputAdornment: slotProps.inputAdornment,
309
+ clearIcon: slotProps.clearIcon,
310
+ clearButton: slotProps.clearButton
311
+ }
312
+ }), [inputRef, slots.openPickerButton, slots.openPickerIcon, slots.textField, slots.inputAdornment, slots.clearIcon, slots.clearButton, slotProps.openPickerButton, slotProps.openPickerIcon, slotProps.textField, slotProps.inputAdornment, slotProps.clearIcon, slotProps.clearButton]);
313
+ return /*#__PURE__*/_jsx(PickerFieldUIContext.Provider, {
314
+ value: contextValue,
315
+ children: children
316
+ });
317
+ }
@@ -1,18 +1,18 @@
1
1
  import * as React from 'react';
2
- import MuiPaper, { PaperProps as MuiPaperProps } from '@mui/material/Paper';
3
- import MuiPopper, { PopperProps as MuiPopperProps, PopperPlacementType } from '@mui/material/Popper';
2
+ import { PaperProps as MuiPaperProps, PaperProps } from '@mui/material/Paper';
3
+ import { PopperProps as MuiPopperProps, PopperPlacementType, PopperProps } from '@mui/material/Popper';
4
4
  import { TrapFocusProps as MuiTrapFocusProps } from '@mui/material/Unstable_TrapFocus';
5
- import { SlotComponentProps } from '@mui/utils';
6
5
  import { TransitionProps as MuiTransitionProps } from '@mui/material/transitions';
7
- import { PickersPopperClasses } from './pickersPopperClasses';
8
- import { UsePickerValueActions } from '../hooks/usePicker/usePickerValue.types';
9
- interface PickersPopperOwnerState extends PickerPopperProps {
10
- placement: PopperPlacementType;
6
+ import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
7
+ import { PickerPopperClasses } from './pickerPopperClasses';
8
+ import { PickerOwnerState } from '../../../models';
9
+ interface PickerPopperOwnerState extends PickerOwnerState {
10
+ popperPlacement: PopperPlacementType;
11
11
  }
12
- export interface PickersPopperSlots {
12
+ export interface PickerPopperSlots {
13
13
  /**
14
14
  * Custom component for the paper rendered inside the desktop picker's Popper.
15
- * @default PickersPopperPaper
15
+ * @default PickerPopperPaper
16
16
  */
17
17
  desktopPaper?: React.JSXElementConstructor<MuiPaperProps>;
18
18
  /**
@@ -31,11 +31,11 @@ export interface PickersPopperSlots {
31
31
  */
32
32
  popper?: React.ElementType<MuiPopperProps>;
33
33
  }
34
- export interface PickersPopperSlotProps {
34
+ export interface PickerPopperSlotProps {
35
35
  /**
36
36
  * Props passed down to the desktop [Paper](https://mui.com/material-ui/api/paper/) component.
37
37
  */
38
- desktopPaper?: SlotComponentProps<typeof MuiPaper, {}, PickersPopperOwnerState>;
38
+ desktopPaper?: SlotComponentPropsFromProps<PaperProps, {}, PickerPopperOwnerState>;
39
39
  /**
40
40
  * Props passed down to the desktop [Transition](https://mui.com/material-ui/transitions/) component.
41
41
  */
@@ -47,24 +47,25 @@ export interface PickersPopperSlotProps {
47
47
  /**
48
48
  * Props passed down to [Popper](https://mui.com/material-ui/api/popper/) component.
49
49
  */
50
- popper?: SlotComponentProps<typeof MuiPopper, {}, PickerPopperProps>;
50
+ popper?: SlotComponentPropsFromProps<PopperProps, {}, PickerPopperOwnerState>;
51
51
  }
52
- export interface PickerPopperProps extends UsePickerValueActions {
53
- role: 'tooltip' | 'dialog';
54
- anchorEl: MuiPopperProps['anchorEl'];
55
- open: MuiPopperProps['open'];
52
+ export interface ExportedPickerPopperProps {
53
+ /**
54
+ * Override or extend the styles applied to the component.
55
+ */
56
+ classes?: Partial<PickerPopperClasses>;
57
+ /**
58
+ * @default "bottom-start"
59
+ */
56
60
  placement?: MuiPopperProps['placement'];
61
+ }
62
+ export interface PickerPopperProps extends ExportedPickerPopperProps {
63
+ role: 'tooltip' | 'dialog';
57
64
  containerRef?: React.Ref<HTMLDivElement>;
58
65
  children?: React.ReactNode;
59
66
  onBlur?: () => void;
60
- slots?: PickersPopperSlots;
61
- slotProps?: PickersPopperSlotProps;
62
- /**
63
- * Override or extend the styles applied to the component.
64
- */
65
- classes?: Partial<PickersPopperClasses>;
66
- shouldRestoreFocus?: () => boolean;
67
- reduceAnimations?: boolean;
67
+ slots?: PickerPopperSlots;
68
+ slotProps?: PickerPopperSlotProps;
68
69
  }
69
- export declare function PickersPopper(inProps: PickerPopperProps): React.JSX.Element;
70
+ export declare function PickerPopper(inProps: PickerPopperProps): React.JSX.Element;
70
71
  export {};
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["PaperComponent", "popperPlacement", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"];
3
+ const _excluded = ["PaperComponent", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"];
4
4
  import * as React from 'react';
5
5
  import useSlotProps from '@mui/utils/useSlotProps';
6
6
  import Grow from '@mui/material/Grow';
@@ -10,22 +10,20 @@ import MuiPopper from '@mui/material/Popper';
10
10
  import BaseFocusTrap from '@mui/material/Unstable_TrapFocus';
11
11
  import { unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_ownerDocument as ownerDocument, unstable_composeClasses as composeClasses } from '@mui/utils';
12
12
  import { styled, useThemeProps } from '@mui/material/styles';
13
- import { getPickersPopperUtilityClass } from "./pickersPopperClasses.js";
14
- import { getActiveElement } from "../utils/utils.js";
15
- import { useDefaultReduceAnimations } from "../hooks/useDefaultReduceAnimations.js";
13
+ import { getPickerPopperUtilityClass } from "./pickerPopperClasses.js";
14
+ import { getActiveElement } from "../../utils/utils.js";
15
+ import { usePickerPrivateContext } from "../../hooks/usePickerPrivateContext.js";
16
+ import { usePickerContext } from "../../../hooks/index.js";
16
17
  import { jsx as _jsx } from "react/jsx-runtime";
17
- const useUtilityClasses = ownerState => {
18
- const {
19
- classes
20
- } = ownerState;
18
+ const useUtilityClasses = classes => {
21
19
  const slots = {
22
20
  root: ['root'],
23
21
  paper: ['paper']
24
22
  };
25
- return composeClasses(slots, getPickersPopperUtilityClass, classes);
23
+ return composeClasses(slots, getPickerPopperUtilityClass, classes);
26
24
  };
27
- const PickersPopperRoot = styled(MuiPopper, {
28
- name: 'MuiPickersPopper',
25
+ const PickerPopperRoot = styled(MuiPopper, {
26
+ name: 'MuiPickerPopper',
29
27
  slot: 'Root',
30
28
  overridesResolver: (_, styles) => styles.root
31
29
  })(({
@@ -33,8 +31,8 @@ const PickersPopperRoot = styled(MuiPopper, {
33
31
  }) => ({
34
32
  zIndex: theme.zIndex.modal
35
33
  }));
36
- const PickersPopperPaper = styled(MuiPaper, {
37
- name: 'MuiPickersPopper',
34
+ const PickerPopperPaper = styled(MuiPaper, {
35
+ name: 'MuiPickerPopper',
38
36
  slot: 'Paper',
39
37
  overridesResolver: (_, styles) => styles.paper
40
38
  })({
@@ -42,8 +40,8 @@ const PickersPopperPaper = styled(MuiPaper, {
42
40
  transformOrigin: 'top center',
43
41
  variants: [{
44
42
  props: ({
45
- placement
46
- }) => ['top', 'top-start', 'top-end'].includes(placement),
43
+ popperPlacement
44
+ }) => ['top', 'top-start', 'top-end'].includes(popperPlacement),
47
45
  style: {
48
46
  transformOrigin: 'bottom center'
49
47
  }
@@ -164,11 +162,10 @@ function useClickAwayListener(active, onClickAway) {
164
162
  }, [active, handleClickAway]);
165
163
  return [nodeRef, handleSynthetic, handleSynthetic];
166
164
  }
167
- const PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) => {
165
+ const PickerPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) => {
168
166
  const {
169
167
  PaperComponent,
170
- popperPlacement,
171
- ownerState: inOwnerState,
168
+ ownerState,
172
169
  children,
173
170
  paperSlotProps,
174
171
  paperClasses,
@@ -178,9 +175,6 @@ const PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) =>
178
175
  // https://mui.com/material-ui/transitions/#child-requirement
179
176
  } = props,
180
177
  other = _objectWithoutPropertiesLoose(props, _excluded);
181
- const ownerState = _extends({}, inOwnerState, {
182
- placement: popperPlacement
183
- });
184
178
  const paperProps = useSlotProps({
185
179
  elementType: PaperComponent,
186
180
  externalSlotProps: paperSlotProps,
@@ -205,39 +199,44 @@ const PickersPopperPaperWrapper = /*#__PURE__*/React.forwardRef((props, ref) =>
205
199
  children: children
206
200
  }));
207
201
  });
208
- export function PickersPopper(inProps) {
202
+ export function PickerPopper(inProps) {
209
203
  const props = useThemeProps({
210
204
  props: inProps,
211
- name: 'MuiPickersPopper'
205
+ name: 'MuiPickerPopper'
212
206
  });
213
207
  const {
214
- anchorEl,
215
208
  children,
216
209
  containerRef = null,
217
- shouldRestoreFocus,
218
210
  onBlur,
219
- onDismiss,
220
- open,
221
211
  role,
222
- placement,
212
+ placement = 'bottom-start',
223
213
  slots,
224
214
  slotProps,
225
- reduceAnimations: inReduceAnimations
215
+ classes: classesProp
226
216
  } = props;
217
+ const {
218
+ open,
219
+ triggerRef,
220
+ reduceAnimations
221
+ } = usePickerContext();
222
+ const {
223
+ dismissViews,
224
+ doesTheCurrentViewHasAnUI
225
+ } = usePickerPrivateContext();
227
226
  React.useEffect(() => {
228
227
  function handleKeyDown(nativeEvent) {
229
228
  if (open && nativeEvent.key === 'Escape') {
230
- onDismiss();
229
+ dismissViews();
231
230
  }
232
231
  }
233
232
  document.addEventListener('keydown', handleKeyDown);
234
233
  return () => {
235
234
  document.removeEventListener('keydown', handleKeyDown);
236
235
  };
237
- }, [onDismiss, open]);
236
+ }, [dismissViews, open]);
238
237
  const lastFocusedElementRef = React.useRef(null);
239
238
  React.useEffect(() => {
240
- if (role === 'tooltip' || shouldRestoreFocus && !shouldRestoreFocus()) {
239
+ if (role === 'tooltip' || !doesTheCurrentViewHasAnUI()) {
241
240
  return;
242
241
  }
243
242
  if (open) {
@@ -251,26 +250,29 @@ export function PickersPopper(inProps) {
251
250
  }
252
251
  });
253
252
  }
254
- }, [open, role, shouldRestoreFocus]);
255
- const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ?? onDismiss);
253
+ }, [open, role, doesTheCurrentViewHasAnUI]);
254
+ const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ?? dismissViews);
256
255
  const paperRef = React.useRef(null);
257
256
  const handleRef = useForkRef(paperRef, containerRef);
258
257
  const handlePaperRef = useForkRef(handleRef, clickAwayRef);
259
- const ownerState = props;
260
- const classes = useUtilityClasses(ownerState);
261
- const defaultReduceAnimations = useDefaultReduceAnimations();
262
- const reduceAnimations = inReduceAnimations ?? defaultReduceAnimations;
258
+ const classes = useUtilityClasses(classesProp);
259
+ const {
260
+ ownerState: pickerOwnerState
261
+ } = usePickerPrivateContext();
262
+ const ownerState = _extends({}, pickerOwnerState, {
263
+ popperPlacement: placement
264
+ });
263
265
  const handleKeyDown = event => {
264
266
  if (event.key === 'Escape') {
265
267
  // stop the propagation to avoid closing parent modal
266
268
  event.stopPropagation();
267
- onDismiss();
269
+ dismissViews();
268
270
  }
269
271
  };
270
272
  const Transition = slots?.desktopTransition ?? reduceAnimations ? Fade : Grow;
271
273
  const FocusTrap = slots?.desktopTrapFocus ?? BaseFocusTrap;
272
- const Paper = slots?.desktopPaper ?? PickersPopperPaper;
273
- const Popper = slots?.popper ?? PickersPopperRoot;
274
+ const Paper = slots?.desktopPaper ?? PickerPopperPaper;
275
+ const Popper = slots?.popper ?? PickerPopperRoot;
274
276
  const popperProps = useSlotProps({
275
277
  elementType: Popper,
276
278
  externalSlotProps: slotProps?.popper,
@@ -278,17 +280,16 @@ export function PickersPopper(inProps) {
278
280
  transition: true,
279
281
  role,
280
282
  open,
281
- anchorEl,
282
283
  placement,
284
+ anchorEl: triggerRef.current,
283
285
  onKeyDown: handleKeyDown
284
286
  },
285
287
  className: classes.root,
286
- ownerState: props
288
+ ownerState
287
289
  });
288
290
  return /*#__PURE__*/_jsx(Popper, _extends({}, popperProps, {
289
291
  children: ({
290
- TransitionProps,
291
- placement: popperPlacement
292
+ TransitionProps
292
293
  }) => /*#__PURE__*/_jsx(FocusTrap, _extends({
293
294
  open: open,
294
295
  disableAutoFocus: true
@@ -301,10 +302,9 @@ export function PickersPopper(inProps) {
301
302
  isEnabled: () => true
302
303
  }, slotProps?.desktopTrapFocus, {
303
304
  children: /*#__PURE__*/_jsx(Transition, _extends({}, TransitionProps, slotProps?.desktopTransition, {
304
- children: /*#__PURE__*/_jsx(PickersPopperPaperWrapper, {
305
+ children: /*#__PURE__*/_jsx(PickerPopperPaperWrapper, {
305
306
  PaperComponent: Paper,
306
307
  ownerState: ownerState,
307
- popperPlacement: popperPlacement,
308
308
  ref: handlePaperRef,
309
309
  onPaperClick: onPaperClick,
310
310
  onPaperTouchStart: onPaperTouchStart,
@@ -0,0 +1,4 @@
1
+ export { PickerPopper } from './PickerPopper';
2
+ export type { ExportedPickerPopperProps } from './PickerPopper';
3
+ export { pickerPopperClasses, getPickerPopperUtilityClass } from './pickerPopperClasses';
4
+ export type { PickerPopperClassKey, PickerPopperClasses } from './pickerPopperClasses';
@@ -0,0 +1,2 @@
1
+ export { PickerPopper } from "./PickerPopper.js";
2
+ export { pickerPopperClasses, getPickerPopperUtilityClass } from "./pickerPopperClasses.js";
@@ -0,0 +1,9 @@
1
+ export interface PickerPopperClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the paper element. */
5
+ paper: string;
6
+ }
7
+ export type PickerPopperClassKey = keyof PickerPopperClasses;
8
+ export declare function getPickerPopperUtilityClass(slot: string): string;
9
+ export declare const pickerPopperClasses: Record<"root" | "paper", string>;
@@ -0,0 +1,6 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export function getPickerPopperUtilityClass(slot) {
4
+ return generateUtilityClass('MuiPickerPopper', slot);
5
+ }
6
+ export const pickerPopperClasses = generateUtilityClasses('MuiPickerPopper', ['root', 'paper']);