@mui/lab 5.0.0-alpha.49 → 5.0.0-alpha.53

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 (336) hide show
  1. package/AdapterDateFns/index.d.ts +1 -1
  2. package/AdapterDayjs/index.d.ts +1 -1
  3. package/AdapterLuxon/index.d.ts +1 -1
  4. package/AdapterMoment/index.d.ts +1 -1
  5. package/CHANGELOG.md +251 -0
  6. package/CalendarPicker/CalendarPicker.d.ts +96 -96
  7. package/CalendarPicker/PickersCalendar.d.ts +45 -45
  8. package/CalendarPicker/PickersCalendarHeader.d.ts +42 -42
  9. package/CalendarPicker/PickersFadeTransitionGroup.d.ts +12 -12
  10. package/CalendarPicker/PickersFadeTransitionGroup.js +2 -2
  11. package/CalendarPicker/PickersSlideTransition.d.ts +16 -16
  12. package/CalendarPicker/index.d.ts +5 -5
  13. package/CalendarPicker/shared.d.ts +1 -1
  14. package/CalendarPicker/useCalendarState.d.ts +32 -32
  15. package/CalendarPickerSkeleton/CalendarPickerSkeleton.d.ts +41 -40
  16. package/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  17. package/CalendarPickerSkeleton/index.d.ts +3 -3
  18. package/ClockPicker/Clock.d.ts +28 -28
  19. package/ClockPicker/ClockNumber.d.ts +19 -19
  20. package/ClockPicker/ClockNumbers.d.ts +24 -24
  21. package/ClockPicker/ClockPicker.d.ts +121 -121
  22. package/ClockPicker/ClockPickerStandalone.d.ts +28 -28
  23. package/ClockPicker/ClockPointer.d.ts +23 -23
  24. package/ClockPicker/index.d.ts +5 -5
  25. package/ClockPicker/shared.d.ts +5 -5
  26. package/DatePicker/DatePicker.d.ts +27 -27
  27. package/DatePicker/DatePicker.js +5 -0
  28. package/DatePicker/DatePickerToolbar.d.ts +23 -23
  29. package/DatePicker/index.d.ts +2 -2
  30. package/DatePicker/shared.d.ts +45 -41
  31. package/DateRangePicker/DateRangePicker.d.ts +65 -65
  32. package/DateRangePicker/DateRangePicker.js +5 -0
  33. package/DateRangePicker/DateRangePickerInput.d.ts +35 -35
  34. package/DateRangePicker/DateRangePickerToolbar.d.ts +15 -15
  35. package/DateRangePicker/DateRangePickerView.d.ts +44 -44
  36. package/DateRangePicker/DateRangePickerViewDesktop.d.ts +29 -29
  37. package/DateRangePicker/DateRangePickerViewMobile.d.ts +17 -17
  38. package/DateRangePicker/RangeTypes.d.ts +8 -8
  39. package/DateRangePicker/date-range-manager.d.ts +14 -14
  40. package/DateRangePicker/index.d.ts +3 -3
  41. package/DateRangePickerDay/DateRangePickerDay.d.ts +79 -79
  42. package/DateRangePickerDay/DateRangePickerDay.js +1 -1
  43. package/DateRangePickerDay/index.d.ts +2 -2
  44. package/DateTimePicker/DateTimePicker.d.ts +27 -27
  45. package/DateTimePicker/DateTimePicker.js +5 -0
  46. package/DateTimePicker/DateTimePickerTabs.d.ts +13 -13
  47. package/DateTimePicker/DateTimePickerToolbar.d.ts +7 -7
  48. package/DateTimePicker/index.d.ts +2 -2
  49. package/DateTimePicker/shared.d.ts +67 -63
  50. package/DesktopDatePicker/DesktopDatePicker.d.ts +20 -20
  51. package/DesktopDatePicker/DesktopDatePicker.js +8 -1
  52. package/DesktopDatePicker/index.d.ts +2 -2
  53. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +64 -64
  54. package/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  55. package/DesktopDateRangePicker/index.d.ts +2 -2
  56. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +20 -20
  57. package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -0
  58. package/DesktopDateTimePicker/index.d.ts +2 -2
  59. package/DesktopTimePicker/DesktopTimePicker.d.ts +20 -20
  60. package/DesktopTimePicker/DesktopTimePicker.js +10 -0
  61. package/DesktopTimePicker/index.d.ts +2 -2
  62. package/LICENSE +21 -21
  63. package/LoadingButton/LoadingButton.js +37 -7
  64. package/LoadingButton/loadingButtonClasses.d.ts +22 -22
  65. package/LocalizationProvider/LocalizationProvider.d.ts +35 -35
  66. package/LocalizationProvider/index.d.ts +2 -2
  67. package/Masonry/Masonry.d.ts +13 -1
  68. package/Masonry/Masonry.js +246 -59
  69. package/Masonry/masonryClasses.d.ts +8 -8
  70. package/MobileDatePicker/MobileDatePicker.d.ts +20 -20
  71. package/MobileDatePicker/index.d.ts +2 -2
  72. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +64 -64
  73. package/MobileDateRangePicker/index.d.ts +2 -2
  74. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +20 -20
  75. package/MobileDateTimePicker/index.d.ts +2 -2
  76. package/MobileTimePicker/MobileTimePicker.d.ts +20 -20
  77. package/MobileTimePicker/MobileTimePicker.js +5 -0
  78. package/MobileTimePicker/index.d.ts +2 -2
  79. package/MonthPicker/MonthPicker.d.ts +49 -49
  80. package/MonthPicker/MonthPicker.js +1 -1
  81. package/MonthPicker/PickersMonth.d.ts +15 -15
  82. package/MonthPicker/index.d.ts +3 -3
  83. package/PickersDay/PickersDay.d.ts +93 -93
  84. package/PickersDay/PickersDay.js +1 -1
  85. package/PickersDay/index.d.ts +4 -4
  86. package/StaticDatePicker/StaticDatePicker.d.ts +25 -25
  87. package/StaticDatePicker/index.d.ts +2 -2
  88. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +67 -67
  89. package/StaticDateRangePicker/index.d.ts +2 -2
  90. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +25 -25
  91. package/StaticDateTimePicker/index.d.ts +2 -2
  92. package/StaticTimePicker/StaticTimePicker.d.ts +25 -25
  93. package/StaticTimePicker/StaticTimePicker.js +5 -0
  94. package/StaticTimePicker/index.d.ts +2 -2
  95. package/TabPanel/TabPanel.js +1 -1
  96. package/TabPanel/tabPanelClasses.d.ts +8 -8
  97. package/TimePicker/TimePicker.d.ts +27 -27
  98. package/TimePicker/TimePicker.js +10 -0
  99. package/TimePicker/TimePickerToolbar.d.ts +23 -23
  100. package/TimePicker/index.d.ts +2 -2
  101. package/TimePicker/shared.d.ts +36 -32
  102. package/Timeline/Timeline.d.ts +59 -59
  103. package/Timeline/Timeline.js +1 -1
  104. package/Timeline/TimelineContext.d.ts +6 -6
  105. package/Timeline/index.d.ts +5 -5
  106. package/Timeline/timelineClasses.d.ts +3 -3
  107. package/TimelineConnector/TimelineConnector.js +1 -1
  108. package/TimelineConnector/timelineConnectorClasses.d.ts +8 -8
  109. package/TimelineContent/TimelineContent.js +1 -1
  110. package/TimelineContent/timelineContentClasses.d.ts +14 -14
  111. package/TimelineDot/TimelineDot.js +1 -1
  112. package/TimelineDot/timelineDotClasses.d.ts +24 -24
  113. package/TimelineItem/TimelineItem.js +1 -1
  114. package/TimelineItem/timelineItemClasses.d.ts +16 -16
  115. package/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  116. package/TimelineOppositeContent/timelineOppositeContentClasses.d.ts +14 -14
  117. package/TimelineSeparator/TimelineSeparator.js +1 -1
  118. package/TimelineSeparator/timelineSeparatorClasses.d.ts +8 -8
  119. package/TreeItem/TreeItem.js +1 -1
  120. package/TreeItem/treeItemClasses.d.ts +24 -24
  121. package/TreeView/TreeView.js +1 -1
  122. package/TreeView/treeViewClasses.d.ts +8 -8
  123. package/YearPicker/PickersYear.d.ts +28 -28
  124. package/YearPicker/YearPicker.d.ts +42 -42
  125. package/YearPicker/index.d.ts +5 -5
  126. package/YearPicker/yearPickerClasses.d.ts +3 -3
  127. package/index.js +1 -1
  128. package/internal/pickers/KeyboardDateInput.d.ts +4 -4
  129. package/internal/pickers/Picker/Picker.d.ts +33 -33
  130. package/internal/pickers/Picker/Picker.js +12 -6
  131. package/internal/pickers/Picker/PickerView.d.ts +3 -7
  132. package/internal/pickers/PickersArrowSwitcher.d.ts +41 -41
  133. package/internal/pickers/PickersArrowSwitcher.js +1 -3
  134. package/internal/pickers/PickersModalDialog.d.ts +47 -47
  135. package/internal/pickers/PickersPopper.d.ts +33 -25
  136. package/internal/pickers/PickersPopper.js +31 -7
  137. package/internal/pickers/PickersToolbar.d.ts +14 -14
  138. package/internal/pickers/PickersToolbarButton.d.ts +13 -13
  139. package/internal/pickers/PickersToolbarText.d.ts +8 -8
  140. package/internal/pickers/PureDateInput.d.ts +80 -80
  141. package/internal/pickers/constants/dimensions.d.ts +4 -4
  142. package/internal/pickers/constants/prop-types.d.ts +1 -1
  143. package/internal/pickers/date-time-utils.d.ts +8 -8
  144. package/internal/pickers/date-utils.d.ts +52 -52
  145. package/internal/pickers/hooks/date-helpers-hooks.d.ts +16 -16
  146. package/internal/pickers/hooks/useIsLandscape.d.ts +4 -4
  147. package/internal/pickers/hooks/useMaskedInput.d.ts +7 -7
  148. package/internal/pickers/hooks/useOpenState.d.ts +10 -10
  149. package/internal/pickers/hooks/usePickerState.d.ts +38 -38
  150. package/internal/pickers/hooks/useUtils.d.ts +7 -7
  151. package/internal/pickers/hooks/useValidation.d.ts +23 -23
  152. package/internal/pickers/hooks/useViews.d.ts +19 -19
  153. package/internal/pickers/test-utils.js +18 -26
  154. package/internal/pickers/text-field-helper.d.ts +11 -11
  155. package/internal/pickers/time-utils.d.ts +33 -33
  156. package/internal/pickers/typings/BasePicker.d.ts +95 -95
  157. package/internal/pickers/typings/Views.d.ts +1 -1
  158. package/internal/pickers/typings/helpers.d.ts +9 -9
  159. package/internal/pickers/utils.d.ts +7 -7
  160. package/internal/pickers/wrappers/DesktopTooltipWrapper.d.ts +4 -4
  161. package/internal/pickers/wrappers/DesktopWrapper.d.ts +16 -16
  162. package/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  163. package/internal/pickers/wrappers/MobileWrapper.d.ts +14 -14
  164. package/internal/pickers/wrappers/ResponsiveWrapper.d.ts +23 -23
  165. package/internal/pickers/wrappers/StaticWrapper.d.ts +10 -10
  166. package/internal/pickers/wrappers/WrapperProps.d.ts +13 -13
  167. package/internal/pickers/wrappers/WrapperVariantContext.d.ts +11 -11
  168. package/internal/svg-icons/ArrowDropDown.d.ts +7 -7
  169. package/internal/svg-icons/ArrowLeft.d.ts +7 -7
  170. package/internal/svg-icons/ArrowRight.d.ts +7 -7
  171. package/internal/svg-icons/Calendar.d.ts +7 -7
  172. package/internal/svg-icons/Clock.d.ts +7 -7
  173. package/internal/svg-icons/DateRange.d.ts +7 -7
  174. package/internal/svg-icons/Pen.d.ts +7 -7
  175. package/internal/svg-icons/Time.d.ts +7 -7
  176. package/legacy/CalendarPicker/PickersFadeTransitionGroup.js +3 -5
  177. package/legacy/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  178. package/legacy/DatePicker/DatePicker.js +5 -0
  179. package/legacy/DateRangePicker/DateRangePicker.js +5 -0
  180. package/legacy/DateRangePickerDay/DateRangePickerDay.js +1 -1
  181. package/legacy/DateTimePicker/DateTimePicker.js +5 -0
  182. package/legacy/DesktopDatePicker/DesktopDatePicker.js +8 -1
  183. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  184. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -0
  185. package/legacy/DesktopTimePicker/DesktopTimePicker.js +10 -0
  186. package/legacy/LoadingButton/LoadingButton.js +36 -10
  187. package/legacy/Masonry/Masonry.js +255 -59
  188. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -0
  189. package/legacy/MonthPicker/MonthPicker.js +1 -1
  190. package/legacy/PickersDay/PickersDay.js +1 -1
  191. package/legacy/StaticTimePicker/StaticTimePicker.js +5 -0
  192. package/legacy/TabPanel/TabPanel.js +1 -1
  193. package/legacy/TimePicker/TimePicker.js +10 -0
  194. package/legacy/Timeline/Timeline.js +1 -1
  195. package/legacy/TimelineConnector/TimelineConnector.js +1 -1
  196. package/legacy/TimelineContent/TimelineContent.js +1 -1
  197. package/legacy/TimelineDot/TimelineDot.js +1 -1
  198. package/legacy/TimelineItem/TimelineItem.js +1 -1
  199. package/legacy/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  200. package/legacy/TimelineSeparator/TimelineSeparator.js +1 -1
  201. package/legacy/TreeItem/TreeItem.js +1 -1
  202. package/legacy/TreeView/TreeView.js +1 -1
  203. package/legacy/index.js +1 -1
  204. package/legacy/internal/pickers/Picker/Picker.js +12 -8
  205. package/legacy/internal/pickers/PickersArrowSwitcher.js +1 -3
  206. package/legacy/internal/pickers/PickersPopper.js +29 -7
  207. package/legacy/internal/pickers/test-utils.js +22 -33
  208. package/legacy/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  209. package/modern/CalendarPicker/PickersFadeTransitionGroup.js +2 -2
  210. package/modern/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  211. package/modern/DatePicker/DatePicker.js +5 -0
  212. package/modern/DateRangePicker/DateRangePicker.js +5 -0
  213. package/modern/DateRangePickerDay/DateRangePickerDay.js +1 -1
  214. package/modern/DateTimePicker/DateTimePicker.js +5 -0
  215. package/modern/DesktopDatePicker/DesktopDatePicker.js +8 -1
  216. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  217. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -0
  218. package/modern/DesktopTimePicker/DesktopTimePicker.js +10 -0
  219. package/modern/LoadingButton/LoadingButton.js +37 -7
  220. package/modern/Masonry/Masonry.js +246 -59
  221. package/modern/MobileTimePicker/MobileTimePicker.js +5 -0
  222. package/modern/MonthPicker/MonthPicker.js +1 -1
  223. package/modern/PickersDay/PickersDay.js +1 -1
  224. package/modern/StaticTimePicker/StaticTimePicker.js +5 -0
  225. package/modern/TabPanel/TabPanel.js +1 -1
  226. package/modern/TimePicker/TimePicker.js +10 -0
  227. package/modern/Timeline/Timeline.js +1 -1
  228. package/modern/TimelineConnector/TimelineConnector.js +1 -1
  229. package/modern/TimelineContent/TimelineContent.js +1 -1
  230. package/modern/TimelineDot/TimelineDot.js +1 -1
  231. package/modern/TimelineItem/TimelineItem.js +1 -1
  232. package/modern/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  233. package/modern/TimelineSeparator/TimelineSeparator.js +1 -1
  234. package/modern/TreeItem/TreeItem.js +1 -1
  235. package/modern/TreeView/TreeView.js +1 -1
  236. package/modern/index.js +1 -1
  237. package/modern/internal/pickers/Picker/Picker.js +12 -6
  238. package/modern/internal/pickers/PickersArrowSwitcher.js +1 -3
  239. package/modern/internal/pickers/PickersPopper.js +31 -7
  240. package/modern/internal/pickers/test-utils.js +18 -26
  241. package/modern/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  242. package/node/CalendarPicker/CalendarPicker.js +1 -1
  243. package/node/CalendarPicker/PickersFadeTransitionGroup.js +2 -2
  244. package/node/CalendarPicker/PickersSlideTransition.js +1 -1
  245. package/node/CalendarPicker/index.js +4 -4
  246. package/node/CalendarPicker/useCalendarState.js +1 -1
  247. package/node/CalendarPickerSkeleton/CalendarPickerSkeleton.js +2 -2
  248. package/node/CalendarPickerSkeleton/index.js +4 -4
  249. package/node/ClockPicker/ClockPicker.js +1 -1
  250. package/node/ClockPicker/index.js +4 -4
  251. package/node/ClockPicker/shared.js +1 -1
  252. package/node/DatePicker/DatePicker.js +5 -0
  253. package/node/DatePicker/shared.js +1 -1
  254. package/node/DateRangePicker/DateRangePicker.js +5 -0
  255. package/node/DateRangePickerDay/DateRangePickerDay.js +2 -2
  256. package/node/DateTimePicker/DateTimePicker.js +5 -0
  257. package/node/DesktopDatePicker/DesktopDatePicker.js +8 -1
  258. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -0
  259. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -0
  260. package/node/DesktopTimePicker/DesktopTimePicker.js +10 -0
  261. package/node/LoadingButton/LoadingButton.js +37 -7
  262. package/node/LoadingButton/loadingButtonClasses.js +1 -1
  263. package/node/Masonry/Masonry.js +247 -63
  264. package/node/Masonry/masonryClasses.js +1 -1
  265. package/node/MobileTimePicker/MobileTimePicker.js +5 -0
  266. package/node/MonthPicker/MonthPicker.js +3 -2
  267. package/node/PickersDay/PickersDay.js +3 -2
  268. package/node/PickersDay/index.js +4 -4
  269. package/node/StaticTimePicker/StaticTimePicker.js +5 -0
  270. package/node/TabContext/TabContext.js +1 -1
  271. package/node/TabPanel/TabPanel.js +1 -1
  272. package/node/TabPanel/tabPanelClasses.js +1 -1
  273. package/node/TimePicker/TimePicker.js +10 -0
  274. package/node/TimePicker/TimePickerToolbar.js +2 -1
  275. package/node/Timeline/Timeline.js +1 -1
  276. package/node/Timeline/timelineClasses.js +1 -1
  277. package/node/TimelineConnector/TimelineConnector.js +1 -1
  278. package/node/TimelineConnector/timelineConnectorClasses.js +1 -1
  279. package/node/TimelineContent/TimelineContent.js +1 -1
  280. package/node/TimelineContent/timelineContentClasses.js +1 -1
  281. package/node/TimelineDot/TimelineDot.js +1 -1
  282. package/node/TimelineDot/timelineDotClasses.js +1 -1
  283. package/node/TimelineItem/TimelineItem.js +1 -1
  284. package/node/TimelineItem/timelineItemClasses.js +1 -1
  285. package/node/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  286. package/node/TimelineOppositeContent/timelineOppositeContentClasses.js +1 -1
  287. package/node/TimelineSeparator/TimelineSeparator.js +1 -1
  288. package/node/TimelineSeparator/timelineSeparatorClasses.js +1 -1
  289. package/node/TreeItem/TreeItem.js +1 -1
  290. package/node/TreeItem/index.js +4 -4
  291. package/node/TreeItem/treeItemClasses.js +1 -1
  292. package/node/TreeView/TreeView.js +1 -1
  293. package/node/TreeView/descendants.js +1 -1
  294. package/node/TreeView/treeViewClasses.js +1 -1
  295. package/node/YearPicker/PickersYear.js +2 -1
  296. package/node/YearPicker/yearPickerClasses.js +1 -1
  297. package/node/index.js +7 -7
  298. package/node/internal/pickers/Picker/Picker.js +12 -6
  299. package/node/internal/pickers/PickersArrowSwitcher.js +1 -3
  300. package/node/internal/pickers/PickersPopper.js +31 -7
  301. package/node/internal/pickers/constants/dimensions.js +1 -1
  302. package/node/internal/pickers/date-utils.js +2 -1
  303. package/node/internal/pickers/hooks/date-helpers-hooks.js +1 -1
  304. package/node/internal/pickers/hooks/useIsLandscape.js +1 -1
  305. package/node/internal/pickers/hooks/useMaskedInput.js +1 -1
  306. package/node/internal/pickers/hooks/useOpenState.js +1 -1
  307. package/node/internal/pickers/hooks/useUtils.js +1 -1
  308. package/node/internal/pickers/hooks/useValidation.js +3 -3
  309. package/node/internal/pickers/test-utils.js +20 -39
  310. package/node/internal/pickers/text-field-helper.js +3 -2
  311. package/node/internal/pickers/time-utils.js +2 -1
  312. package/node/internal/pickers/utils.js +1 -1
  313. package/node/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  314. package/node/internal/pickers/wrappers/WrapperVariantContext.js +1 -1
  315. package/node/useAutocomplete/index.js +4 -4
  316. package/package.json +9 -9
  317. package/Masonry/MasonryContext.js +0 -12
  318. package/MasonryItem/MasonryItem.d.ts +0 -49
  319. package/MasonryItem/MasonryItem.js +0 -196
  320. package/MasonryItem/index.d.ts +0 -5
  321. package/MasonryItem/index.js +0 -3
  322. package/MasonryItem/masonryItemClasses.d.ts +0 -8
  323. package/MasonryItem/masonryItemClasses.js +0 -6
  324. package/MasonryItem/package.json +0 -6
  325. package/legacy/Masonry/MasonryContext.js +0 -12
  326. package/legacy/MasonryItem/MasonryItem.js +0 -201
  327. package/legacy/MasonryItem/index.js +0 -3
  328. package/legacy/MasonryItem/masonryItemClasses.js +0 -6
  329. package/modern/Masonry/MasonryContext.js +0 -12
  330. package/modern/MasonryItem/MasonryItem.js +0 -196
  331. package/modern/MasonryItem/index.js +0 -3
  332. package/modern/MasonryItem/masonryItemClasses.js +0 -6
  333. package/node/Masonry/MasonryContext.js +0 -24
  334. package/node/MasonryItem/MasonryItem.js +0 -220
  335. package/node/MasonryItem/index.js +0 -42
  336. package/node/MasonryItem/masonryItemClasses.js +0 -17
@@ -1,15 +1,17 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
1
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
2
4
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- import * as React from 'react';
4
- import PropTypes from 'prop-types';
5
- import clsx from 'clsx';
6
- import { createUnarySpacing, getValue, handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';
7
- import { deepmerge, unstable_useForkRef as useForkRef } from '@mui/utils';
8
5
  import { unstable_composeClasses as composeClasses } from '@mui/core';
9
6
  import { styled, useThemeProps } from '@mui/material/styles';
7
+ import { createUnarySpacing, getValue, handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';
8
+ import { deepmerge, unstable_useForkRef as useForkRef } from '@mui/utils';
9
+ import clsx from 'clsx';
10
+ import PropTypes from 'prop-types';
11
+ import * as React from 'react';
10
12
  import { getMasonryUtilityClass } from './masonryClasses';
11
- import MasonryContext from './MasonryContext';
12
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
15
 
14
16
  var useUtilityClasses = function useUtilityClasses(ownerState) {
15
17
  var classes = ownerState.classes;
@@ -17,55 +19,145 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
17
19
  root: ['root']
18
20
  };
19
21
  return composeClasses(slots, getMasonryUtilityClass, classes);
22
+ }; // compute base for responsive values; e.g.,
23
+ // [1,2,3] => {xs: true, sm: true, md: true}
24
+ // {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}
25
+
26
+
27
+ var computeBreakpointsBase = function computeBreakpointsBase(breakpoints, prop) {
28
+ var base = {};
29
+
30
+ if (Array.isArray(prop)) {
31
+ Object.keys(breakpoints.values).forEach(function (breakpoint, i, arr) {
32
+ if (i < arr.length) {
33
+ base[breakpoint] = true;
34
+ }
35
+ });
36
+ } else {
37
+ Object.keys(breakpoints.values).forEach(function (breakpoint) {
38
+ if (prop[breakpoint] != null) {
39
+ base[breakpoint] = true;
40
+ }
41
+ });
42
+ }
43
+
44
+ return base;
45
+ }; // if prop is an array, convert to object; e.g.,
46
+ // (base: {xs: true, sm: true, md: true}, prop: [1,2,3]) => {xs: 1, sm: 2, md: 3}
47
+
48
+
49
+ var validatePropValues = function validatePropValues(base, prop) {
50
+ var values = {};
51
+
52
+ if (Array.isArray(prop)) {
53
+ Object.keys(base).forEach(function (breakpoint, i) {
54
+ values[breakpoint] = prop[i];
55
+ });
56
+ return values;
57
+ }
58
+
59
+ return prop;
20
60
  };
21
61
 
22
- export var style = function style(_ref) {
62
+ export var getStyle = function getStyle(_ref) {
23
63
  var ownerState = _ref.ownerState,
24
64
  theme = _ref.theme;
25
65
  var styles = {
26
- display: 'grid',
27
- gridAutoRows: 0,
28
- padding: 0,
29
- overflow: 'auto',
30
66
  width: '100%',
31
- rowGap: 2,
32
- boxSizing: 'border-box'
67
+ display: 'flex',
68
+ flexFlow: 'column wrap',
69
+ alignContent: 'space-between',
70
+ boxSizing: 'border-box',
71
+ '& > *': {
72
+ boxSizing: 'border-box'
73
+ }
33
74
  };
34
- var base = {};
35
- Object.keys(theme.breakpoints.values).forEach(function (breakpoint) {
36
- if (ownerState.spacing[breakpoint] != null) {
37
- base[breakpoint] = true;
75
+ var stylesSSR = {};
76
+
77
+ if (ownerState.isSSR) {
78
+ var orderStyleSSR = {};
79
+ var defaultSpacing = Number(theme.spacing(ownerState.defaultSpacing).replace('px', ''));
80
+
81
+ for (var i = 1; i <= ownerState.defaultColumns; i += 1) {
82
+ orderStyleSSR["&:nth-of-type(".concat(ownerState.defaultColumns, "n+").concat(i % ownerState.defaultColumns, ")")] = {
83
+ order: i
84
+ };
38
85
  }
39
- });
86
+
87
+ stylesSSR.height = ownerState.defaultHeight;
88
+ stylesSSR.margin = -(defaultSpacing / 2);
89
+ stylesSSR['& > *'] = _extends({}, styles['& > *'], orderStyleSSR, {
90
+ margin: defaultSpacing / 2,
91
+ width: "calc(".concat((100 / ownerState.defaultColumns).toFixed(2), "% - ").concat(defaultSpacing, "px)")
92
+ });
93
+ return _extends({}, styles, stylesSSR);
94
+ }
95
+
96
+ var spacingBreakpointsBase = computeBreakpointsBase(theme.breakpoints, ownerState.spacing);
40
97
  var spacingValues = resolveBreakpointValues({
41
- values: ownerState.spacing,
42
- base: base
98
+ values: validatePropValues(spacingBreakpointsBase, ownerState.spacing),
99
+ base: spacingBreakpointsBase
43
100
  });
44
101
  var transformer = createUnarySpacing(theme);
45
102
 
46
103
  var spacingStyleFromPropValue = function spacingStyleFromPropValue(propValue) {
47
- return {
48
- columnGap: getValue(transformer, propValue)
49
- };
104
+ var themeSpacingValue = Number(propValue);
105
+ var spacing = Number(getValue(transformer, themeSpacingValue).replace('px', ''));
106
+ return _extends({
107
+ margin: -(spacing / 2),
108
+ '& > *': {
109
+ margin: spacing / 2
110
+ }
111
+ }, ownerState.maxColumnHeight && {
112
+ height: Math.ceil(ownerState.maxColumnHeight + spacing)
113
+ });
50
114
  };
51
115
 
52
- styles = _extends({}, styles, handleBreakpoints({
116
+ styles = deepmerge(styles, handleBreakpoints({
53
117
  theme: theme
54
118
  }, spacingValues, spacingStyleFromPropValue));
119
+ var columnBreakpointsBase = computeBreakpointsBase(theme.breakpoints, ownerState.columns);
55
120
  var columnValues = resolveBreakpointValues({
56
- values: ownerState.columns,
57
- base: base
121
+ values: validatePropValues(columnBreakpointsBase, ownerState.columns),
122
+ base: columnBreakpointsBase
58
123
  });
59
124
 
60
125
  var columnStyleFromPropValue = function columnStyleFromPropValue(propValue) {
126
+ var columnValue = Number(propValue);
127
+ var width = "".concat((100 / columnValue).toFixed(2), "%");
128
+ var spacing = _typeof(spacingValues) !== 'object' ? getValue(transformer, Number(spacingValues)) : '0px';
61
129
  return {
62
- gridTemplateColumns: "repeat(".concat(propValue, ", 1fr)")
130
+ '& > *': {
131
+ width: "calc(".concat(width, " - ").concat(spacing, ")")
132
+ }
63
133
  };
64
134
  };
65
135
 
66
136
  styles = deepmerge(styles, handleBreakpoints({
67
137
  theme: theme
68
- }, columnValues, columnStyleFromPropValue));
138
+ }, columnValues, columnStyleFromPropValue)); // configure width for responsive spacing values
139
+
140
+ if (_typeof(spacingValues) === 'object') {
141
+ styles = deepmerge(styles, handleBreakpoints({
142
+ theme: theme
143
+ }, spacingValues, function (propValue, breakpoint) {
144
+ if (breakpoint) {
145
+ var themeSpacingValue = Number(propValue);
146
+ var lastBreakpoint = Object.keys(columnValues).pop();
147
+ var spacing = getValue(transformer, themeSpacingValue);
148
+ var column = _typeof(columnValues) === 'object' ? columnValues[breakpoint] || columnValues[lastBreakpoint] : columnValues;
149
+ var width = "".concat((100 / column).toFixed(2), "%");
150
+ return {
151
+ '& > *': {
152
+ width: "calc(".concat(width, " - ").concat(spacing, ")")
153
+ }
154
+ };
155
+ }
156
+
157
+ return null;
158
+ }));
159
+ }
160
+
69
161
  return styles;
70
162
  };
71
163
  var MasonryRoot = styled('div', {
@@ -74,13 +166,12 @@ var MasonryRoot = styled('div', {
74
166
  overridesResolver: function overridesResolver(props, styles) {
75
167
  return [styles.root];
76
168
  }
77
- })(style);
169
+ })(getStyle);
78
170
  var Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
79
171
  var props = useThemeProps({
80
172
  props: inProps,
81
173
  name: 'MuiMasonry'
82
174
  });
83
- var masonryRef = React.useRef();
84
175
 
85
176
  var children = props.children,
86
177
  className = props.className,
@@ -90,48 +181,138 @@ var Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
90
181
  columns = _props$columns === void 0 ? 4 : _props$columns,
91
182
  _props$spacing = props.spacing,
92
183
  spacing = _props$spacing === void 0 ? 1 : _props$spacing,
93
- other = _objectWithoutProperties(props, ["children", "className", "component", "columns", "spacing"]);
184
+ defaultColumns = props.defaultColumns,
185
+ defaultHeight = props.defaultHeight,
186
+ defaultSpacing = props.defaultSpacing,
187
+ other = _objectWithoutProperties(props, ["children", "className", "component", "columns", "spacing", "defaultColumns", "defaultHeight", "defaultSpacing"]);
188
+
189
+ var masonryRef = React.useRef();
190
+
191
+ var _React$useState = React.useState(),
192
+ maxColumnHeight = _React$useState[0],
193
+ setMaxColumnHeight = _React$useState[1];
194
+
195
+ var isSSR = !maxColumnHeight && defaultHeight && defaultColumns !== undefined && defaultSpacing !== undefined;
196
+
197
+ var _React$useState2 = React.useState(isSSR ? defaultColumns - 1 : 0),
198
+ numberOfLineBreaks = _React$useState2[0],
199
+ setNumberOfLineBreaks = _React$useState2[1];
94
200
 
95
201
  var ownerState = _extends({}, props, {
96
202
  spacing: spacing,
97
- columns: columns
203
+ columns: columns,
204
+ maxColumnHeight: maxColumnHeight,
205
+ defaultColumns: defaultColumns,
206
+ defaultHeight: defaultHeight,
207
+ defaultSpacing: defaultSpacing,
208
+ isSSR: isSSR
98
209
  });
99
210
 
100
211
  var classes = useUtilityClasses(ownerState);
101
- var contextValue = React.useMemo(function () {
102
- return {
103
- spacing: spacing
104
- };
105
- }, [spacing]);
106
- var didWarn = false;
107
212
  React.useEffect(function () {
108
- // scroller always appears when masonry's height goes beyond 2,000px on Chrome
109
- var handleScroll = function handleScroll() {
110
- if (masonryRef.current.clientHeight === 1998 && !didWarn) {
111
- console.warn(['MUI: The Masonry can have the maximum height of 2,000px on Chrome browser.', 'Items that go beyond this height fail to be rendered on Chrome browser.', 'You can find more in this open issue: https://github.com/mui-org/material-ui/issues/27934'].join('\n')); // eslint-disable-next-line react-hooks/exhaustive-deps
213
+ var handleResize = function handleResize() {
214
+ var parentWidth = masonryRef.current.clientWidth;
215
+ var childWidth = masonryRef.current.firstChild.clientWidth;
216
+ var firstChildComputedStyle = window.getComputedStyle(masonryRef.current.firstChild);
217
+ var firstChildMarginLeft = Number(firstChildComputedStyle.marginLeft.replace('px', ''));
218
+ var firstChildMarginRight = Number(firstChildComputedStyle.marginRight.replace('px', ''));
112
219
 
113
- didWarn = true;
220
+ if (parentWidth === 0 || childWidth === 0) {
221
+ return;
114
222
  }
115
- };
116
223
 
224
+ var currentNumberOfColumns = Math.round(parentWidth / (childWidth + firstChildMarginLeft + firstChildMarginRight));
225
+ var columnHeights = new Array(currentNumberOfColumns).fill(0);
226
+ var skip = false;
227
+ masonryRef.current.childNodes.forEach(function (child) {
228
+ if (child.nodeType !== Node.ELEMENT_NODE || child.dataset.class === 'line-break' || skip) {
229
+ return;
230
+ }
231
+
232
+ var childComputedStyle = window.getComputedStyle(child);
233
+ var childMarginTop = Number(childComputedStyle.marginTop.replace('px', ''));
234
+ var childMarginBottom = Number(childComputedStyle.marginBottom.replace('px', '')); // if any one of children isn't rendered yet, masonry's height shouldn't be computed yet
235
+
236
+ var childHeight = child.clientHeight ? Math.ceil(child.clientHeight) + childMarginTop + childMarginBottom : 0;
237
+
238
+ if (childHeight === 0) {
239
+ skip = true;
240
+ return;
241
+ } // if there is a nested image that isn't rendered yet, masonry's height shouldn't be computed yet
242
+
243
+
244
+ for (var i = 0; i < child.childNodes.length; i += 1) {
245
+ var nestedChild = child.childNodes[i];
246
+
247
+ if (nestedChild.tagName === 'IMG' && nestedChild.clientHeight === 0) {
248
+ skip = true;
249
+ break;
250
+ }
251
+ }
252
+
253
+ if (!skip) {
254
+ // find the current shortest column (where the current item will be placed)
255
+ var currentMinColumnIndex = columnHeights.indexOf(Math.min.apply(Math, _toConsumableArray(columnHeights)));
256
+ columnHeights[currentMinColumnIndex] += childHeight;
257
+ var order = currentMinColumnIndex + 1;
258
+ child.style.order = order;
259
+ }
260
+ });
261
+
262
+ if (!skip) {
263
+ setMaxColumnHeight(Math.max.apply(Math, _toConsumableArray(columnHeights)));
264
+ var numOfLineBreaks = currentNumberOfColumns > 0 ? currentNumberOfColumns - 1 : 0;
265
+ setNumberOfLineBreaks(numOfLineBreaks);
266
+ }
267
+ }; // IE and old browsers are not supported
268
+
269
+
270
+ if (typeof ResizeObserver === 'undefined') {
271
+ return null;
272
+ }
273
+
274
+ var resizeObserver = new ResizeObserver(handleResize);
117
275
  var container = masonryRef.current;
118
- container.addEventListener('scroll', handleScroll);
276
+
277
+ if (container) {
278
+ // only the masonry container and its first child are observed for resizing;
279
+ // this might cause unforeseen problems in some use cases;
280
+ resizeObserver.observe(container);
281
+
282
+ if (container.firstChild) {
283
+ resizeObserver.observe(container.firstChild);
284
+ }
285
+ }
286
+
119
287
  return function () {
120
- container.removeEventListener('scroll', handleScroll);
288
+ resizeObserver.disconnect();
121
289
  };
122
- }, []);
290
+ }, [columns, spacing]);
123
291
  var handleRef = useForkRef(ref, masonryRef);
124
- return /*#__PURE__*/_jsx(MasonryContext.Provider, {
125
- value: contextValue,
126
- children: /*#__PURE__*/_jsx(MasonryRoot, _extends({
127
- as: component,
128
- className: clsx(classes.root, className),
129
- ref: handleRef,
130
- ownerState: ownerState
131
- }, other, {
132
- children: children
133
- }))
292
+ var lineBreakStyle = {
293
+ flexBasis: '100%',
294
+ width: 0,
295
+ margin: 0,
296
+ padding: 0
297
+ }; // columns are likely to have different heights and hence can start to merge;
298
+ // a line break at the end of each column prevents columns from merging
299
+
300
+ var lineBreaks = new Array(numberOfLineBreaks).fill('').map(function (_, index) {
301
+ return /*#__PURE__*/_jsx("span", {
302
+ "data-class": "line-break",
303
+ style: _extends({}, lineBreakStyle, {
304
+ order: index + 1
305
+ })
306
+ }, index);
134
307
  });
308
+ return /*#__PURE__*/_jsxs(MasonryRoot, _extends({
309
+ as: component,
310
+ className: clsx(classes.root, className),
311
+ ref: handleRef,
312
+ ownerState: ownerState
313
+ }, other, {
314
+ children: [children, lineBreaks]
315
+ }));
135
316
  });
136
317
  process.env.NODE_ENV !== "production" ? Masonry.propTypes
137
318
  /* remove-proptypes */
@@ -142,7 +323,7 @@ process.env.NODE_ENV !== "production" ? Masonry.propTypes
142
323
  // ----------------------------------------------------------------------
143
324
 
144
325
  /**
145
- * The content of the component. It's recommended to be `<MasonryItem />`s.
326
+ * The content of the component.
146
327
  */
147
328
  children: PropTypes
148
329
  /* @typescript-to-proptypes-ignore */
@@ -170,6 +351,21 @@ process.env.NODE_ENV !== "production" ? Masonry.propTypes
170
351
  */
171
352
  component: PropTypes.elementType,
172
353
 
354
+ /**
355
+ * The default number of columns of the component. This is provided for server-side rendering.
356
+ */
357
+ defaultColumns: PropTypes.number,
358
+
359
+ /**
360
+ * The default height of the component in px. This is provided for server-side rendering.
361
+ */
362
+ defaultHeight: PropTypes.number,
363
+
364
+ /**
365
+ * The default spacing of the component. Like `spacing`, it is a factor of the theme's spacing. This is provided for server-side rendering.
366
+ */
367
+ defaultSpacing: PropTypes.number,
368
+
173
369
  /**
174
370
  * Defines the space between children. It is a factor of the theme's spacing.
175
371
  * @default 1
@@ -179,6 +375,6 @@ process.env.NODE_ENV !== "production" ? Masonry.propTypes
179
375
  /**
180
376
  * Allows defining system overrides as well as additional CSS styles.
181
377
  */
182
- sx: PropTypes.object
378
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
183
379
  } : void 0;
184
380
  export default Masonry;
@@ -276,6 +276,11 @@ process.env.NODE_ENV !== "production" ? MobileTimePicker.propTypes
276
276
  */
277
277
  onOpen: PropTypes.func,
278
278
 
279
+ /**
280
+ * Callback fired on view change.
281
+ */
282
+ onViewChange: PropTypes.func,
283
+
279
284
  /**
280
285
  * Control the popup or dialog open state.
281
286
  */
@@ -146,7 +146,7 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes
146
146
  /**
147
147
  * The system prop that allows defining system overrides as well as additional CSS styles.
148
148
  */
149
- sx: PropTypes.object
149
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
150
150
  } : void 0;
151
151
  /**
152
152
  *
@@ -377,7 +377,7 @@ process.env.NODE_ENV !== "production" ? PickersDay.propTypes
377
377
  /**
378
378
  * The system prop that allows defining system overrides as well as additional CSS styles.
379
379
  */
380
- sx: PropTypes.object,
380
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
381
381
 
382
382
  /**
383
383
  * If `true`, renders as today date.
@@ -244,6 +244,11 @@ process.env.NODE_ENV !== "production" ? StaticTimePicker.propTypes
244
244
  */
245
245
  onOpen: PropTypes.func,
246
246
 
247
+ /**
248
+ * Callback fired on view change.
249
+ */
250
+ onViewChange: PropTypes.func,
251
+
247
252
  /**
248
253
  * Control the popup or dialog open state.
249
254
  */
@@ -89,7 +89,7 @@ process.env.NODE_ENV !== "production" ? TabPanel.propTypes
89
89
  /**
90
90
  * The system prop that allows defining system overrides as well as additional CSS styles.
91
91
  */
92
- sx: PropTypes.object,
92
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
93
93
 
94
94
  /**
95
95
  * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when
@@ -274,6 +274,11 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes
274
274
  */
275
275
  onOpen: PropTypes.func,
276
276
 
277
+ /**
278
+ * Callback fired on view change.
279
+ */
280
+ onViewChange: PropTypes.func,
281
+
277
282
  /**
278
283
  * Control the popup or dialog open state.
279
284
  */
@@ -294,6 +299,11 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes
294
299
  */
295
300
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
296
301
 
302
+ /**
303
+ * Paper props passed down to [Paper](https://mui.com/api/paper/) component.
304
+ */
305
+ PaperProps: PropTypes.object,
306
+
297
307
  /**
298
308
  * Popper props passed down to [Popper](https://mui.com/api/popper/) component.
299
309
  */
@@ -103,7 +103,7 @@ process.env.NODE_ENV !== "production" ? Timeline.propTypes
103
103
  /**
104
104
  * The system prop that allows defining system overrides as well as additional CSS styles.
105
105
  */
106
- sx: PropTypes.object
106
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
107
107
  } : void 0;
108
108
  /**
109
109
  *
@@ -73,6 +73,6 @@ process.env.NODE_ENV !== "production" ? TimelineConnector.propTypes
73
73
  /**
74
74
  * The system prop that allows defining system overrides as well as additional CSS styles.
75
75
  */
76
- sx: PropTypes.object
76
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
77
77
  } : void 0;
78
78
  export default TimelineConnector;
@@ -87,6 +87,6 @@ process.env.NODE_ENV !== "production" ? TimelineContent.propTypes
87
87
  /**
88
88
  * The system prop that allows defining system overrides as well as additional CSS styles.
89
89
  */
90
- sx: PropTypes.object
90
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
91
91
  } : void 0;
92
92
  export default TimelineContent;
@@ -112,7 +112,7 @@ process.env.NODE_ENV !== "production" ? TimelineDot.propTypes
112
112
  /**
113
113
  * The system prop that allows defining system overrides as well as additional CSS styles.
114
114
  */
115
- sx: PropTypes.object,
115
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
116
116
 
117
117
  /**
118
118
  * The dot can appear filled or outlined.
@@ -125,6 +125,6 @@ process.env.NODE_ENV !== "production" ? TimelineItem.propTypes
125
125
  /**
126
126
  * The system prop that allows defining system overrides as well as additional CSS styles.
127
127
  */
128
- sx: PropTypes.object
128
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
129
129
  } : void 0;
130
130
  export default TimelineItem;
@@ -88,7 +88,7 @@ process.env.NODE_ENV !== "production" ? TimelineOppositeContent.propTypes
88
88
  /**
89
89
  * The system prop that allows defining system overrides as well as additional CSS styles.
90
90
  */
91
- sx: PropTypes.object
91
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
92
92
  } : void 0;
93
93
  TimelineOppositeContent.muiName = 'TimelineOppositeContent';
94
94
  export default TimelineOppositeContent;
@@ -71,6 +71,6 @@ process.env.NODE_ENV !== "production" ? TimelineSeparator.propTypes
71
71
  /**
72
72
  * The system prop that allows defining system overrides as well as additional CSS styles.
73
73
  */
74
- sx: PropTypes.object
74
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
75
75
  } : void 0;
76
76
  export default TimelineSeparator;
@@ -407,7 +407,7 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes
407
407
  /**
408
408
  * The system prop that allows defining system overrides as well as additional CSS styles.
409
409
  */
410
- sx: PropTypes.object,
410
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
411
411
 
412
412
  /**
413
413
  * The component used for the transition.
@@ -1036,6 +1036,6 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes
1036
1036
  /**
1037
1037
  * The system prop that allows defining system overrides as well as additional CSS styles.
1038
1038
  */
1039
- sx: PropTypes.object
1039
+ sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
1040
1040
  } : void 0;
1041
1041
  export default TreeView;
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.0-alpha.49
1
+ /** @license MUI v5.0.0-alpha.53
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -44,8 +44,8 @@ function Picker(props) {
44
44
  DateInputProps = props.DateInputProps,
45
45
  isMobileKeyboardViewOpen = props.isMobileKeyboardViewOpen,
46
46
  onDateChange = props.onDateChange,
47
- _props$openTo = props.openTo,
48
- openTo = _props$openTo === void 0 ? 'day' : _props$openTo,
47
+ onViewChange = props.onViewChange,
48
+ openTo = props.openTo,
49
49
  orientation = props.orientation,
50
50
  showToolbar = props.showToolbar,
51
51
  toggleMobileKeyboardView = props.toggleMobileKeyboardView,
@@ -56,9 +56,8 @@ function Picker(props) {
56
56
  toolbarFormat = props.toolbarFormat,
57
57
  toolbarPlaceholder = props.toolbarPlaceholder,
58
58
  toolbarTitle = props.toolbarTitle,
59
- _props$views = props.views,
60
- views = _props$views === void 0 ? ['year', 'month', 'day', 'hours', 'minutes', 'seconds'] : _props$views,
61
- other = _objectWithoutProperties(props, ["autoFocus", "className", "date", "DateInputProps", "isMobileKeyboardViewOpen", "onDateChange", "openTo", "orientation", "showToolbar", "toggleMobileKeyboardView", "ToolbarComponent", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "views"]);
59
+ views = props.views,
60
+ other = _objectWithoutProperties(props, ["autoFocus", "className", "date", "DateInputProps", "isMobileKeyboardViewOpen", "onDateChange", "onViewChange", "openTo", "orientation", "showToolbar", "toggleMobileKeyboardView", "ToolbarComponent", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "views"]);
62
61
 
63
62
  var isLandscape = useIsLandscape(views, orientation);
64
63
  var wrapperVariant = React.useContext(WrapperVariantContext);
@@ -66,11 +65,15 @@ function Picker(props) {
66
65
  var handleDateChange = React.useCallback(function (newDate, selectionState) {
67
66
  onDateChange(newDate, wrapperVariant, selectionState);
68
67
  }, [onDateChange, wrapperVariant]);
69
- var handleViewChange = React.useCallback(function () {
68
+ var handleViewChange = React.useCallback(function (newView) {
70
69
  if (isMobileKeyboardViewOpen) {
71
70
  toggleMobileKeyboardView();
72
71
  }
73
- }, [isMobileKeyboardViewOpen, toggleMobileKeyboardView]);
72
+
73
+ if (onViewChange) {
74
+ onViewChange(newView);
75
+ }
76
+ }, [isMobileKeyboardViewOpen, onViewChange, toggleMobileKeyboardView]);
74
77
 
75
78
  var _useViews = useViews({
76
79
  view: undefined,
@@ -114,7 +117,8 @@ function Picker(props) {
114
117
  date: date,
115
118
  onViewChange: setOpenView,
116
119
  onChange: handleChangeAndOpenNext,
117
- view: openView,
120
+ view: openView // Unclear why the predicate `isDatePickerView` does not imply the casted type
121
+ ,
118
122
  views: views.filter(isDatePickerView)
119
123
  }, other)), isTimePickerView(openView) && /*#__PURE__*/_jsx(ClockPicker, _extends({}, other, {
120
124
  autoFocus: autoFocus,
@@ -8,9 +8,7 @@ import ArrowLeftIcon from '../svg-icons/ArrowLeft';
8
8
  import ArrowRightIcon from '../svg-icons/ArrowRight';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
- var PickersArrowSwitcherRoot = styled('div', {
12
- skipSx: true
13
- })({
11
+ var PickersArrowSwitcherRoot = styled('div')({
14
12
  display: 'flex'
15
13
  });
16
14
  var PickersArrowSwitcherSpacer = styled('div', {