@mui/lab 5.0.0-alpha.63 → 5.0.0-alpha.67

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 (170) hide show
  1. package/CHANGELOG.md +284 -33
  2. package/CalendarPicker/PickersCalendar.js +6 -18
  3. package/CalendarPicker/PickersCalendarHeader.js +5 -15
  4. package/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  5. package/CalendarPicker/PickersSlideTransition.js +1 -3
  6. package/ClockPicker/Clock.js +6 -18
  7. package/ClockPicker/ClockNumber.js +1 -3
  8. package/ClockPicker/ClockPicker.js +4 -1
  9. package/ClockPicker/ClockPointer.js +2 -6
  10. package/DatePicker/DatePicker.js +5 -1
  11. package/DatePicker/DatePickerToolbar.js +2 -6
  12. package/DateRangePicker/DateRangePicker.js +5 -1
  13. package/DateRangePicker/DateRangePickerInput.js +1 -3
  14. package/DateRangePicker/DateRangePickerToolbar.js +2 -6
  15. package/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  16. package/DateTimePicker/DateTimePicker.js +5 -1
  17. package/DateTimePicker/DateTimePickerTabs.js +2 -4
  18. package/DateTimePicker/DateTimePickerToolbar.js +4 -12
  19. package/DesktopDatePicker/DesktopDatePicker.js +5 -1
  20. package/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -1
  21. package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  22. package/Masonry/Masonry.js +12 -34
  23. package/MobileDatePicker/MobileDatePicker.js +5 -1
  24. package/MobileDateRangePicker/MobileDateRangePicker.js +5 -1
  25. package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  26. package/MonthPicker/PickersMonth.js +1 -3
  27. package/README.md +4 -4
  28. package/StaticDatePicker/StaticDatePicker.js +5 -1
  29. package/StaticDateRangePicker/StaticDateRangePicker.js +5 -1
  30. package/StaticDateTimePicker/StaticDateTimePicker.js +5 -1
  31. package/TimePicker/TimePickerToolbar.js +4 -12
  32. package/TreeView/TreeView.js +4 -0
  33. package/YearPicker/PickersYear.js +2 -6
  34. package/index.js +1 -1
  35. package/internal/pickers/Picker/Picker.js +1 -3
  36. package/internal/pickers/PickersArrowSwitcher.js +2 -6
  37. package/internal/pickers/PickersModalDialog.js +3 -9
  38. package/internal/pickers/PickersPopper.js +2 -6
  39. package/internal/pickers/PickersToolbar.js +2 -6
  40. package/internal/pickers/PickersToolbarButton.js +1 -3
  41. package/internal/pickers/PickersToolbarText.d.ts +1 -1
  42. package/internal/pickers/PickersToolbarText.js +1 -3
  43. package/internal/pickers/PureDateInput.js +6 -4
  44. package/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  45. package/legacy/CalendarPicker/PickersCalendar.js +6 -18
  46. package/legacy/CalendarPicker/PickersCalendarHeader.js +5 -15
  47. package/legacy/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  48. package/legacy/CalendarPicker/PickersSlideTransition.js +1 -3
  49. package/legacy/ClockPicker/Clock.js +6 -18
  50. package/legacy/ClockPicker/ClockNumber.js +1 -3
  51. package/legacy/ClockPicker/ClockPicker.js +4 -1
  52. package/legacy/ClockPicker/ClockPointer.js +2 -6
  53. package/legacy/DatePicker/DatePicker.js +5 -1
  54. package/legacy/DatePicker/DatePickerToolbar.js +2 -6
  55. package/legacy/DateRangePicker/DateRangePicker.js +5 -1
  56. package/legacy/DateRangePicker/DateRangePickerInput.js +1 -3
  57. package/legacy/DateRangePicker/DateRangePickerToolbar.js +2 -6
  58. package/legacy/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  59. package/legacy/DateTimePicker/DateTimePicker.js +5 -1
  60. package/legacy/DateTimePicker/DateTimePickerTabs.js +2 -4
  61. package/legacy/DateTimePicker/DateTimePickerToolbar.js +4 -12
  62. package/legacy/DesktopDatePicker/DesktopDatePicker.js +5 -1
  63. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -1
  64. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  65. package/legacy/Masonry/Masonry.js +12 -34
  66. package/legacy/MobileDatePicker/MobileDatePicker.js +5 -1
  67. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +5 -1
  68. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  69. package/legacy/MonthPicker/PickersMonth.js +1 -3
  70. package/legacy/StaticDatePicker/StaticDatePicker.js +5 -1
  71. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +5 -1
  72. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +5 -1
  73. package/legacy/TimePicker/TimePickerToolbar.js +4 -12
  74. package/legacy/TreeView/TreeView.js +4 -0
  75. package/legacy/YearPicker/PickersYear.js +2 -6
  76. package/legacy/index.js +1 -1
  77. package/legacy/internal/pickers/Picker/Picker.js +1 -3
  78. package/legacy/internal/pickers/PickersArrowSwitcher.js +2 -6
  79. package/legacy/internal/pickers/PickersModalDialog.js +3 -9
  80. package/legacy/internal/pickers/PickersPopper.js +2 -6
  81. package/legacy/internal/pickers/PickersToolbar.js +2 -6
  82. package/legacy/internal/pickers/PickersToolbarButton.js +1 -3
  83. package/legacy/internal/pickers/PickersToolbarText.js +1 -3
  84. package/legacy/internal/pickers/PureDateInput.js +6 -4
  85. package/legacy/internal/pickers/test-utils.js +2 -1
  86. package/legacy/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  87. package/modern/CalendarPicker/PickersCalendar.js +6 -18
  88. package/modern/CalendarPicker/PickersCalendarHeader.js +5 -15
  89. package/modern/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  90. package/modern/CalendarPicker/PickersSlideTransition.js +1 -3
  91. package/modern/ClockPicker/Clock.js +6 -18
  92. package/modern/ClockPicker/ClockNumber.js +1 -3
  93. package/modern/ClockPicker/ClockPicker.js +4 -1
  94. package/modern/ClockPicker/ClockPointer.js +2 -6
  95. package/modern/DatePicker/DatePicker.js +5 -1
  96. package/modern/DatePicker/DatePickerToolbar.js +2 -6
  97. package/modern/DateRangePicker/DateRangePicker.js +5 -1
  98. package/modern/DateRangePicker/DateRangePickerInput.js +1 -3
  99. package/modern/DateRangePicker/DateRangePickerToolbar.js +2 -6
  100. package/modern/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  101. package/modern/DateTimePicker/DateTimePicker.js +5 -1
  102. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -4
  103. package/modern/DateTimePicker/DateTimePickerToolbar.js +4 -12
  104. package/modern/DesktopDatePicker/DesktopDatePicker.js +5 -1
  105. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -1
  106. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  107. package/modern/Masonry/Masonry.js +12 -30
  108. package/modern/MobileDatePicker/MobileDatePicker.js +5 -1
  109. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +5 -1
  110. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  111. package/modern/MonthPicker/PickersMonth.js +1 -3
  112. package/modern/StaticDatePicker/StaticDatePicker.js +5 -1
  113. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +5 -1
  114. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +5 -1
  115. package/modern/TimePicker/TimePickerToolbar.js +4 -12
  116. package/modern/TreeView/TreeView.js +4 -0
  117. package/modern/YearPicker/PickersYear.js +2 -6
  118. package/modern/index.js +1 -1
  119. package/modern/internal/pickers/Picker/Picker.js +1 -3
  120. package/modern/internal/pickers/PickersArrowSwitcher.js +2 -6
  121. package/modern/internal/pickers/PickersModalDialog.js +3 -9
  122. package/modern/internal/pickers/PickersPopper.js +2 -6
  123. package/modern/internal/pickers/PickersToolbar.js +2 -6
  124. package/modern/internal/pickers/PickersToolbarButton.js +1 -3
  125. package/modern/internal/pickers/PickersToolbarText.js +1 -3
  126. package/modern/internal/pickers/PureDateInput.js +6 -4
  127. package/modern/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  128. package/node/CalendarPicker/PickersCalendar.js +6 -18
  129. package/node/CalendarPicker/PickersCalendarHeader.js +5 -15
  130. package/node/CalendarPicker/PickersFadeTransitionGroup.js +1 -3
  131. package/node/CalendarPicker/PickersSlideTransition.js +1 -3
  132. package/node/ClockPicker/Clock.js +6 -18
  133. package/node/ClockPicker/ClockNumber.js +1 -3
  134. package/node/ClockPicker/ClockPicker.js +4 -1
  135. package/node/ClockPicker/ClockPointer.js +2 -6
  136. package/node/DatePicker/DatePicker.js +5 -1
  137. package/node/DatePicker/DatePickerToolbar.js +2 -6
  138. package/node/DateRangePicker/DateRangePicker.js +5 -1
  139. package/node/DateRangePicker/DateRangePickerInput.js +1 -3
  140. package/node/DateRangePicker/DateRangePickerToolbar.js +2 -6
  141. package/node/DateRangePicker/DateRangePickerViewDesktop.js +4 -12
  142. package/node/DateTimePicker/DateTimePicker.js +5 -1
  143. package/node/DateTimePicker/DateTimePickerTabs.js +2 -4
  144. package/node/DateTimePicker/DateTimePickerToolbar.js +4 -12
  145. package/node/DesktopDatePicker/DesktopDatePicker.js +5 -1
  146. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +5 -1
  147. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  148. package/node/Masonry/Masonry.js +12 -34
  149. package/node/MobileDatePicker/MobileDatePicker.js +5 -1
  150. package/node/MobileDateRangePicker/MobileDateRangePicker.js +5 -1
  151. package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  152. package/node/MonthPicker/PickersMonth.js +1 -3
  153. package/node/StaticDatePicker/StaticDatePicker.js +5 -1
  154. package/node/StaticDateRangePicker/StaticDateRangePicker.js +5 -1
  155. package/node/StaticDateTimePicker/StaticDateTimePicker.js +5 -1
  156. package/node/TimePicker/TimePickerToolbar.js +4 -12
  157. package/node/TreeView/TreeView.js +4 -0
  158. package/node/YearPicker/PickersYear.js +2 -6
  159. package/node/index.js +1 -1
  160. package/node/internal/pickers/Picker/Picker.js +1 -3
  161. package/node/internal/pickers/PickersArrowSwitcher.js +2 -6
  162. package/node/internal/pickers/PickersModalDialog.js +3 -9
  163. package/node/internal/pickers/PickersPopper.js +2 -6
  164. package/node/internal/pickers/PickersToolbar.js +2 -6
  165. package/node/internal/pickers/PickersToolbarButton.js +1 -3
  166. package/node/internal/pickers/PickersToolbarText.js +1 -3
  167. package/node/internal/pickers/PureDateInput.js +6 -4
  168. package/node/internal/pickers/wrappers/PickerStaticWrapper.js +1 -2
  169. package/package.json +7 -7
  170. package/themeAugmentation/components.d.ts +99 -23
@@ -13,9 +13,7 @@ import { WrapperVariantContext } from '../internal/pickers/wrappers/WrapperVaria
13
13
  import { getHours, getMinutes } from './shared';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
- const ClockRoot = styled('div', {
17
- skipSx: true
18
- })(({
16
+ const ClockRoot = styled('div')(({
19
17
  theme
20
18
  }) => ({
21
19
  display: 'flex',
@@ -23,9 +21,7 @@ const ClockRoot = styled('div', {
23
21
  alignItems: 'center',
24
22
  margin: theme.spacing(2)
25
23
  }));
26
- const ClockClock = styled('div', {
27
- skipSx: true
28
- })({
24
+ const ClockClock = styled('div')({
29
25
  backgroundColor: 'rgba(0,0,0,.07)',
30
26
  borderRadius: '50%',
31
27
  height: 220,
@@ -34,9 +30,7 @@ const ClockClock = styled('div', {
34
30
  position: 'relative',
35
31
  pointerEvents: 'none'
36
32
  });
37
- const ClockSquareMask = styled('div', {
38
- skipSx: true
39
- })({
33
+ const ClockSquareMask = styled('div')({
40
34
  width: '100%',
41
35
  height: '100%',
42
36
  position: 'absolute',
@@ -53,9 +47,7 @@ const ClockSquareMask = styled('div', {
53
47
  cursor: 'move'
54
48
  }
55
49
  });
56
- const ClockPin = styled('div', {
57
- skipSx: true
58
- })(({
50
+ const ClockPin = styled('div')(({
59
51
  theme
60
52
  }) => ({
61
53
  width: 6,
@@ -67,9 +59,7 @@ const ClockPin = styled('div', {
67
59
  left: '50%',
68
60
  transform: 'translate(-50%, -50%)'
69
61
  }));
70
- const ClockAmButton = styled(IconButton, {
71
- skipSx: true
72
- })(({
62
+ const ClockAmButton = styled(IconButton)(({
73
63
  theme,
74
64
  ownerState
75
65
  }) => _extends({
@@ -84,9 +74,7 @@ const ClockAmButton = styled(IconButton, {
84
74
  backgroundColor: theme.palette.primary.light
85
75
  }
86
76
  }));
87
- const ClockPmButton = styled(IconButton, {
88
- skipSx: true
89
- })(({
77
+ const ClockPmButton = styled(IconButton)(({
90
78
  theme,
91
79
  ownerState
92
80
  }) => _extends({
@@ -8,9 +8,7 @@ import { generateUtilityClasses } from '@mui/base';
8
8
  import { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  export const classes = generateUtilityClasses('PrivateClockNumber', ['selected', 'disabled']);
11
- const ClockNumberRoot = styled('span', {
12
- skipSx: true
13
- })(({
11
+ const ClockNumberRoot = styled('span')(({
14
12
  theme,
15
13
  ownerState
16
14
  }) => _extends({
@@ -266,7 +266,10 @@ process.env.NODE_ENV !== "production" ? ClockPicker.propTypes
266
266
  /**
267
267
  * The props used for each slot inside.
268
268
  */
269
- componentsProps: PropTypes.object,
269
+ componentsProps: PropTypes.shape({
270
+ leftArrowButton: PropTypes.object,
271
+ rightArrowButton: PropTypes.object
272
+ }),
270
273
 
271
274
  /**
272
275
  * Selected date @DateIOType.
@@ -5,9 +5,7 @@ import * as React from 'react';
5
5
  import { styled } from '@mui/material/styles';
6
6
  import { CLOCK_WIDTH, CLOCK_HOUR_WIDTH } from './shared';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
- const ClockPointerRoot = styled('div', {
9
- skipSx: true
10
- })(({
8
+ const ClockPointerRoot = styled('div')(({
11
9
  theme,
12
10
  ownerState
13
11
  }) => _extends({
@@ -20,9 +18,7 @@ const ClockPointerRoot = styled('div', {
20
18
  }, ownerState.toAnimateTransform && {
21
19
  transition: theme.transitions.create(['transform', 'height'])
22
20
  }));
23
- const ClockPointerThumb = styled('div', {
24
- skipSx: true
25
- })(({
21
+ const ClockPointerThumb = styled('div')(({
26
22
  theme,
27
23
  ownerState
28
24
  }) => _extends({
@@ -128,7 +128,11 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
128
128
  * The props used for each slot inside.
129
129
  * @default {}
130
130
  */
131
- componentsProps: PropTypes.object,
131
+ componentsProps: PropTypes.shape({
132
+ leftArrowButton: PropTypes.object,
133
+ rightArrowButton: PropTypes.object,
134
+ switchViewButton: PropTypes.object
135
+ }),
132
136
 
133
137
  /**
134
138
  * Default calendar month displayed when `value={null}`.
@@ -10,17 +10,13 @@ import { useUtils } from '../internal/pickers/hooks/useUtils';
10
10
  import { isYearAndMonthViews, isYearOnlyView } from './shared';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const classes = generateUtilityClasses('PrivateDatePickerToolbar', ['penIcon']);
13
- const DatePickerToolbarRoot = styled(PickersToolbar, {
14
- skipSx: true
15
- })({
13
+ const DatePickerToolbarRoot = styled(PickersToolbar)({
16
14
  [`& .${classes.penIcon}`]: {
17
15
  position: 'relative',
18
16
  top: 4
19
17
  }
20
18
  });
21
- const DatePickerToolbarTitle = styled(Typography, {
22
- skipSx: true
23
- })(({
19
+ const DatePickerToolbarTitle = styled(Typography)(({
24
20
  ownerState
25
21
  }) => _extends({}, ownerState.isLandscape && {
26
22
  margin: 'auto 16px auto auto'
@@ -176,7 +176,11 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
176
176
  * The props used for each slot inside.
177
177
  * @default {}
178
178
  */
179
- componentsProps: PropTypes.object,
179
+ componentsProps: PropTypes.shape({
180
+ leftArrowButton: PropTypes.object,
181
+ rightArrowButton: PropTypes.object,
182
+ switchViewButton: PropTypes.object
183
+ }),
180
184
 
181
185
  /**
182
186
  * Default calendar month displayed when `value={null}`.
@@ -8,9 +8,7 @@ import { useMaskedInput } from '../internal/pickers/hooks/useMaskedInput';
8
8
  import { WrapperVariantContext } from '../internal/pickers/wrappers/WrapperVariantContext';
9
9
  import { executeInTheNextEventLoopTick } from '../internal/pickers/utils';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
- const DateRangePickerInputRoot = styled('div', {
12
- skipSx: true
13
- })(({
11
+ const DateRangePickerInputRoot = styled('div')(({
14
12
  theme
15
13
  }) => ({
16
14
  display: 'flex',
@@ -10,17 +10,13 @@ import PickersToolbarButton from '../internal/pickers/PickersToolbarButton';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
12
  const classes = generateUtilityClasses('PrivateDateRangePickerToolbar', ['penIcon']);
13
- const DateRangePickerToolbarRoot = styled(PickersToolbar, {
14
- skipSx: true
15
- })({
13
+ const DateRangePickerToolbarRoot = styled(PickersToolbar)({
16
14
  [`& .${classes.penIcon}`]: {
17
15
  position: 'relative',
18
16
  top: 4
19
17
  }
20
18
  });
21
- const DateRangePickerToolbarContainer = styled('div', {
22
- skipSx: true
23
- })({
19
+ const DateRangePickerToolbarContainer = styled('div')({
24
20
  display: 'flex'
25
21
  });
26
22
  /**
@@ -14,30 +14,22 @@ import { doNothing } from '../internal/pickers/utils';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { createElement as _createElement } from "react";
16
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
17
- const DateRangePickerViewDesktopRoot = styled('div', {
18
- skipSx: true
19
- })({
17
+ const DateRangePickerViewDesktopRoot = styled('div')({
20
18
  display: 'flex',
21
19
  flexDirection: 'row'
22
20
  });
23
- const DateRangePickerViewDesktopContainer = styled('div', {
24
- skipSx: true
25
- })(({
21
+ const DateRangePickerViewDesktopContainer = styled('div')(({
26
22
  theme
27
23
  }) => ({
28
24
  '&:not(:last-of-type)': {
29
25
  borderRight: `2px solid ${theme.palette.divider}`
30
26
  }
31
27
  }));
32
- const DateRangePickerViewDesktopCalendar = styled(PickersCalendar, {
33
- skipSx: true
34
- })({
28
+ const DateRangePickerViewDesktopCalendar = styled(PickersCalendar)({
35
29
  minWidth: 312,
36
30
  minHeight: 288
37
31
  });
38
- const DateRangePickerViewDesktopArrowSwitcher = styled(PickersArrowSwitcher, {
39
- skipSx: true
40
- })({
32
+ const DateRangePickerViewDesktopArrowSwitcher = styled(PickersArrowSwitcher)({
41
33
  padding: '16px 16px 8px 16px',
42
34
  display: 'flex',
43
35
  alignItems: 'center',
@@ -140,7 +140,11 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
140
140
  * The props used for each slot inside.
141
141
  * @default {}
142
142
  */
143
- componentsProps: PropTypes.object,
143
+ componentsProps: PropTypes.shape({
144
+ leftArrowButton: PropTypes.object,
145
+ rightArrowButton: PropTypes.object,
146
+ switchViewButton: PropTypes.object
147
+ }),
144
148
 
145
149
  /**
146
150
  * Date tab icon.
@@ -14,7 +14,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
14
14
 
15
15
  const viewToTab = openView => {
16
16
  // TODO: what happens if `openView` is `month`?
17
- if (openView === 'day' || openView === 'year') {
17
+ if (['day', 'month', 'year'].includes(openView)) {
18
18
  return 'date';
19
19
  }
20
20
 
@@ -29,9 +29,7 @@ const tabToView = tab => {
29
29
  return 'hours';
30
30
  };
31
31
 
32
- const DateTimePickerTabsRoot = styled(Tabs, {
33
- skipSx: true
34
- })(({
32
+ const DateTimePickerTabsRoot = styled(Tabs)(({
35
33
  ownerState,
36
34
  theme
37
35
  }) => _extends({
@@ -16,9 +16,7 @@ import { WrapperVariantContext } from '../internal/pickers/wrappers/WrapperVaria
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
18
  const classes = generateUtilityClasses('PrivateDateTimePickerToolbar', ['penIcon']);
19
- const DateTimePickerToolbarRoot = styled(PickersToolbar, {
20
- skipSx: true
21
- })({
19
+ const DateTimePickerToolbarRoot = styled(PickersToolbar)({
22
20
  paddingLeft: 16,
23
21
  paddingRight: 16,
24
22
  justifyContent: 'space-around',
@@ -28,21 +26,15 @@ const DateTimePickerToolbarRoot = styled(PickersToolbar, {
28
26
  right: 8
29
27
  }
30
28
  });
31
- const DateTimePickerToolbarDateContainer = styled('div', {
32
- skipSx: true
33
- })({
29
+ const DateTimePickerToolbarDateContainer = styled('div')({
34
30
  display: 'flex',
35
31
  flexDirection: 'column',
36
32
  alignItems: 'flex-start'
37
33
  });
38
- const DateTimePickerToolbarTimeContainer = styled('div', {
39
- skipSx: true
40
- })({
34
+ const DateTimePickerToolbarTimeContainer = styled('div')({
41
35
  display: 'flex'
42
36
  });
43
- const DateTimePickerToolbarSeparator = styled(PickersToolbarText, {
44
- skipSx: true
45
- })({
37
+ const DateTimePickerToolbarSeparator = styled(PickersToolbarText)({
46
38
  margin: '0 4px 0 2px',
47
39
  cursor: 'default'
48
40
  });
@@ -119,7 +119,11 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes
119
119
  * The props used for each slot inside.
120
120
  * @default {}
121
121
  */
122
- componentsProps: PropTypes.object,
122
+ componentsProps: PropTypes.shape({
123
+ leftArrowButton: PropTypes.object,
124
+ rightArrowButton: PropTypes.object,
125
+ switchViewButton: PropTypes.object
126
+ }),
123
127
 
124
128
  /**
125
129
  * Default calendar month displayed when `value={null}`.
@@ -160,7 +160,11 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes
160
160
  * The props used for each slot inside.
161
161
  * @default {}
162
162
  */
163
- componentsProps: PropTypes.object,
163
+ componentsProps: PropTypes.shape({
164
+ leftArrowButton: PropTypes.object,
165
+ rightArrowButton: PropTypes.object,
166
+ switchViewButton: PropTypes.object
167
+ }),
164
168
 
165
169
  /**
166
170
  * Default calendar month displayed when `value={null}`.
@@ -129,7 +129,11 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes
129
129
  * The props used for each slot inside.
130
130
  * @default {}
131
131
  */
132
- componentsProps: PropTypes.object,
132
+ componentsProps: PropTypes.shape({
133
+ leftArrowButton: PropTypes.object,
134
+ rightArrowButton: PropTypes.object,
135
+ switchViewButton: PropTypes.object
136
+ }),
133
137
 
134
138
  /**
135
139
  * Date tab icon.
@@ -167,40 +167,24 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
167
167
 
168
168
  const classes = useUtilityClasses(ownerState);
169
169
 
170
- const handleResize = elements => {
171
- if (!elements) {
170
+ const handleResize = masonryChildren => {
171
+ if (!masonryRef.current || !masonryChildren || masonryChildren.length === 0) {
172
172
  return;
173
173
  }
174
174
 
175
- let masonry;
176
- let masonryFirstChild;
177
- let parentWidth;
178
- let childWidth;
179
-
180
- if (elements[0].target.className.includes(classes.root)) {
181
- var _elements$, _masonryFirstChild, _masonryFirstChild$co, _masonryFirstChild2;
182
-
183
- masonry = elements[0].target;
184
- parentWidth = elements[0].contentRect.width;
185
- masonryFirstChild = ((_elements$ = elements[1]) == null ? void 0 : _elements$.target) || masonry.firstChild;
186
- childWidth = ((_masonryFirstChild = masonryFirstChild) == null ? void 0 : (_masonryFirstChild$co = _masonryFirstChild.contentRect) == null ? void 0 : _masonryFirstChild$co.width) || ((_masonryFirstChild2 = masonryFirstChild) == null ? void 0 : _masonryFirstChild2.clientWidth) || 0;
187
- } else {
188
- var _elements$2, _masonry$contentRect;
189
-
190
- masonryFirstChild = elements[0].target;
191
- childWidth = elements[0].contentRect.width;
192
- masonry = ((_elements$2 = elements[1]) == null ? void 0 : _elements$2.target) || masonryFirstChild.parentElement;
193
- parentWidth = ((_masonry$contentRect = masonry.contentRect) == null ? void 0 : _masonry$contentRect.width) || masonry.clientWidth;
194
- }
175
+ const masonry = masonryRef.current;
176
+ const masonryFirstChild = masonryRef.current.firstChild;
177
+ const parentWidth = masonry.clientWidth;
178
+ const firstChildWidth = masonryFirstChild.clientWidth;
195
179
 
196
- if (parentWidth === 0 || childWidth === 0 || !masonry || !masonryFirstChild) {
180
+ if (parentWidth === 0 || firstChildWidth === 0) {
197
181
  return;
198
182
  }
199
183
 
200
184
  const firstChildComputedStyle = window.getComputedStyle(masonryFirstChild);
201
185
  const firstChildMarginLeft = parseToNumber(firstChildComputedStyle.marginLeft);
202
186
  const firstChildMarginRight = parseToNumber(firstChildComputedStyle.marginRight);
203
- const currentNumberOfColumns = Math.round(parentWidth / (childWidth + firstChildMarginLeft + firstChildMarginRight));
187
+ const currentNumberOfColumns = Math.round(parentWidth / (firstChildWidth + firstChildMarginLeft + firstChildMarginRight));
204
188
  const columnHeights = new Array(currentNumberOfColumns).fill(0);
205
189
  let skip = false;
206
190
  masonry.childNodes.forEach(child => {
@@ -253,16 +237,10 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
253
237
  return undefined;
254
238
  }
255
239
 
256
- const container = masonryRef.current;
257
-
258
- if (container && resizeObserver) {
259
- // only the masonry container and its first child are observed for resizing;
260
- // this might cause unforeseen problems in some use cases;
261
- resizeObserver.observe(container);
262
-
263
- if (container.firstChild) {
264
- resizeObserver.observe(container.firstChild);
265
- }
240
+ if (masonryRef.current) {
241
+ masonryRef.current.childNodes.forEach(childNode => {
242
+ resizeObserver.observe(childNode);
243
+ });
266
244
  }
267
245
 
268
246
  return () => resizeObserver ? resizeObserver.disconnect() : {};
@@ -132,7 +132,11 @@ process.env.NODE_ENV !== "production" ? MobileDatePicker.propTypes
132
132
  * The props used for each slot inside.
133
133
  * @default {}
134
134
  */
135
- componentsProps: PropTypes.object,
135
+ componentsProps: PropTypes.shape({
136
+ leftArrowButton: PropTypes.object,
137
+ rightArrowButton: PropTypes.object,
138
+ switchViewButton: PropTypes.object
139
+ }),
136
140
 
137
141
  /**
138
142
  * Default calendar month displayed when `value={null}`.
@@ -174,7 +174,11 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes
174
174
  * The props used for each slot inside.
175
175
  * @default {}
176
176
  */
177
- componentsProps: PropTypes.object,
177
+ componentsProps: PropTypes.shape({
178
+ leftArrowButton: PropTypes.object,
179
+ rightArrowButton: PropTypes.object,
180
+ switchViewButton: PropTypes.object
181
+ }),
178
182
 
179
183
  /**
180
184
  * Default calendar month displayed when `value={null}`.
@@ -144,7 +144,11 @@ process.env.NODE_ENV !== "production" ? MobileDateTimePicker.propTypes
144
144
  * The props used for each slot inside.
145
145
  * @default {}
146
146
  */
147
- componentsProps: PropTypes.object,
147
+ componentsProps: PropTypes.shape({
148
+ leftArrowButton: PropTypes.object,
149
+ rightArrowButton: PropTypes.object,
150
+ switchViewButton: PropTypes.object
151
+ }),
148
152
 
149
153
  /**
150
154
  * Date tab icon.
@@ -9,9 +9,7 @@ import { generateUtilityClasses } from '@mui/base';
9
9
  import { onSpaceOrEnter } from '../internal/pickers/utils';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  const classes = generateUtilityClasses('PrivatePickersMonth', ['root', 'selected']);
12
- const PickersMonthRoot = styled(Typography, {
13
- skipSx: true
14
- })(({
12
+ const PickersMonthRoot = styled(Typography)(({
15
13
  theme
16
14
  }) => _extends({
17
15
  flex: '1 0 33.33%',
package/README.md CHANGED
@@ -16,17 +16,17 @@ npm install @mui/lab
16
16
  yarn add @mui/lab
17
17
  ```
18
18
 
19
- The lab has a peer dependency on the Material Design components.
20
- If you are not already using MUI in your project, you can install it with:
19
+ The lab has peer dependencies on the Material Design components and on the emotion library.
20
+ If you are not already using them in your project, you can install with:
21
21
 
22
22
  <!-- #default-branch-switch -->
23
23
 
24
24
  ```sh
25
25
  // with npm
26
- npm install @mui/material
26
+ npm install @mui/material @emotion/react @emotion/styled
27
27
 
28
28
  // with yarn
29
- yarn add @mui/material
29
+ yarn add @mui/material @emotion/react @emotion/styled
30
30
  ```
31
31
 
32
32
  ## Documentation
@@ -106,7 +106,11 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes
106
106
  * The props used for each slot inside.
107
107
  * @default {}
108
108
  */
109
- componentsProps: PropTypes.object,
109
+ componentsProps: PropTypes.shape({
110
+ leftArrowButton: PropTypes.object,
111
+ rightArrowButton: PropTypes.object,
112
+ switchViewButton: PropTypes.object
113
+ }),
110
114
 
111
115
  /**
112
116
  * Default calendar month displayed when `value={null}`.
@@ -149,7 +149,11 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.propTypes
149
149
  * The props used for each slot inside.
150
150
  * @default {}
151
151
  */
152
- componentsProps: PropTypes.object,
152
+ componentsProps: PropTypes.shape({
153
+ leftArrowButton: PropTypes.object,
154
+ rightArrowButton: PropTypes.object,
155
+ switchViewButton: PropTypes.object
156
+ }),
153
157
 
154
158
  /**
155
159
  * Default calendar month displayed when `value={null}`.
@@ -118,7 +118,11 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes
118
118
  * The props used for each slot inside.
119
119
  * @default {}
120
120
  */
121
- componentsProps: PropTypes.object,
121
+ componentsProps: PropTypes.shape({
122
+ leftArrowButton: PropTypes.object,
123
+ rightArrowButton: PropTypes.object,
124
+ switchViewButton: PropTypes.object
125
+ }),
122
126
 
123
127
  /**
124
128
  * Date tab icon.
@@ -34,23 +34,17 @@ const useUtilityClasses = ownerState => {
34
34
  return composeClasses(slots, getTimePickerToolbarUtilityClass, classes);
35
35
  };
36
36
 
37
- const TimePickerToolbarRoot = styled(PickersToolbar, {
38
- skipSx: true
39
- })({
37
+ const TimePickerToolbarRoot = styled(PickersToolbar)({
40
38
  [`& .${timePickerToolbarClasses.penIconLandscape}`]: {
41
39
  marginTop: 'auto'
42
40
  }
43
41
  });
44
- const TimePickerToolbarSeparator = styled(PickersToolbarText, {
45
- skipSx: true
46
- })({
42
+ const TimePickerToolbarSeparator = styled(PickersToolbarText)({
47
43
  outline: 0,
48
44
  margin: '0 4px 0 2px',
49
45
  cursor: 'default'
50
46
  });
51
- const TimePickerToolbarHourMinuteLabel = styled('div', {
52
- skipSx: true
53
- })(({
47
+ const TimePickerToolbarHourMinuteLabel = styled('div')(({
54
48
  theme,
55
49
  ownerState
56
50
  }) => _extends({
@@ -62,9 +56,7 @@ const TimePickerToolbarHourMinuteLabel = styled('div', {
62
56
  }, theme.direction === 'rtl' && {
63
57
  flexDirection: 'row-reverse'
64
58
  }));
65
- const TimePickerToolbarAmPmSelection = styled('div', {
66
- skipSx: true
67
- })(({
59
+ const TimePickerToolbarAmPmSelection = styled('div')(({
68
60
  ownerState
69
61
  }) => _extends({
70
62
  display: 'flex',
@@ -688,6 +688,10 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
688
688
  if (isExpandable(focusedNodeId)) {
689
689
  toggleExpansion(event);
690
690
  flag = true;
691
+ } else if (multiSelect) {
692
+ flag = selectNode(event, focusedNodeId, true);
693
+ } else {
694
+ flag = selectNode(event, focusedNodeId);
691
695
  }
692
696
  }
693
697
 
@@ -25,9 +25,7 @@ const useUtilityClasses = ownerState => {
25
25
  return composeClasses(slots, getPickersYearUtilityClass, classes);
26
26
  };
27
27
 
28
- const PickersYearRoot = styled('div', {
29
- skipSx: true
30
- })(({
28
+ const PickersYearRoot = styled('div')(({
31
29
  ownerState
32
30
  }) => _extends({
33
31
  flexBasis: '33.3%',
@@ -37,9 +35,7 @@ const PickersYearRoot = styled('div', {
37
35
  }, (ownerState == null ? void 0 : ownerState.wrapperVariant) === 'desktop' && {
38
36
  flexBasis: '25%'
39
37
  }));
40
- const PickersYearButton = styled('button', {
41
- skipSx: true
42
- })(({
38
+ const PickersYearButton = styled('button')(({
43
39
  theme
44
40
  }) => _extends({
45
41
  color: 'unset',
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.0-alpha.63
1
+ /** @license MUI v5.0.0-alpha.67
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.
@@ -15,9 +15,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
15
15
  export const MobileKeyboardInputView = styled('div')({
16
16
  padding: '16px 24px'
17
17
  });
18
- const PickerRoot = styled('div', {
19
- skipSx: true
20
- })(({
18
+ const PickerRoot = styled('div')(({
21
19
  ownerState
22
20
  }) => _extends({
23
21
  display: 'flex',
@@ -12,16 +12,12 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
12
12
  const PickersArrowSwitcherRoot = styled('div')({
13
13
  display: 'flex'
14
14
  });
15
- const PickersArrowSwitcherSpacer = styled('div', {
16
- skipSx: true
17
- })(({
15
+ const PickersArrowSwitcherSpacer = styled('div')(({
18
16
  theme
19
17
  }) => ({
20
18
  width: theme.spacing(3)
21
19
  }));
22
- const PickersArrowSwitcherButton = styled(IconButton, {
23
- skipSx: true
24
- })(({
20
+ const PickersArrowSwitcherButton = styled(IconButton)(({
25
21
  ownerState
26
22
  }) => _extends({}, ownerState.hidden && {
27
23
  visibility: 'hidden'