@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
@@ -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,36 +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
- masonry = elements[0].target;
182
- parentWidth = elements[0].contentRect.width;
183
- masonryFirstChild = elements[1]?.target || masonry.firstChild;
184
- childWidth = masonryFirstChild?.contentRect?.width || masonryFirstChild?.clientWidth || 0;
185
- } else {
186
- masonryFirstChild = elements[0].target;
187
- childWidth = elements[0].contentRect.width;
188
- masonry = elements[1]?.target || masonryFirstChild.parentElement;
189
- parentWidth = masonry.contentRect?.width || masonry.clientWidth;
190
- }
175
+ const masonry = masonryRef.current;
176
+ const masonryFirstChild = masonryRef.current.firstChild;
177
+ const parentWidth = masonry.clientWidth;
178
+ const firstChildWidth = masonryFirstChild.clientWidth;
191
179
 
192
- if (parentWidth === 0 || childWidth === 0 || !masonry || !masonryFirstChild) {
180
+ if (parentWidth === 0 || firstChildWidth === 0) {
193
181
  return;
194
182
  }
195
183
 
196
184
  const firstChildComputedStyle = window.getComputedStyle(masonryFirstChild);
197
185
  const firstChildMarginLeft = parseToNumber(firstChildComputedStyle.marginLeft);
198
186
  const firstChildMarginRight = parseToNumber(firstChildComputedStyle.marginRight);
199
- const currentNumberOfColumns = Math.round(parentWidth / (childWidth + firstChildMarginLeft + firstChildMarginRight));
187
+ const currentNumberOfColumns = Math.round(parentWidth / (firstChildWidth + firstChildMarginLeft + firstChildMarginRight));
200
188
  const columnHeights = new Array(currentNumberOfColumns).fill(0);
201
189
  let skip = false;
202
190
  masonry.childNodes.forEach(child => {
@@ -249,16 +237,10 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
249
237
  return undefined;
250
238
  }
251
239
 
252
- const container = masonryRef.current;
253
-
254
- if (container && resizeObserver) {
255
- // only the masonry container and its first child are observed for resizing;
256
- // this might cause unforeseen problems in some use cases;
257
- resizeObserver.observe(container);
258
-
259
- if (container.firstChild) {
260
- resizeObserver.observe(container.firstChild);
261
- }
240
+ if (masonryRef.current) {
241
+ masonryRef.current.childNodes.forEach(childNode => {
242
+ resizeObserver.observe(childNode);
243
+ });
262
244
  }
263
245
 
264
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%',
@@ -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?.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/modern/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'
@@ -8,9 +8,7 @@ import { styled } from '@mui/material/styles';
8
8
  import { DIALOG_WIDTH } from './constants/dimensions';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
- const PickersModalDialogRoot = styled(Dialog, {
12
- skipSx: true
13
- })({
11
+ const PickersModalDialogRoot = styled(Dialog)({
14
12
  [`& .${dialogClasses.container}`]: {
15
13
  outline: 0
16
14
  },
@@ -19,16 +17,12 @@ const PickersModalDialogRoot = styled(Dialog, {
19
17
  minWidth: DIALOG_WIDTH
20
18
  }
21
19
  });
22
- const PickersModalDialogContent = styled(DialogContent, {
23
- skipSx: true
24
- })({
20
+ const PickersModalDialogContent = styled(DialogContent)({
25
21
  '&:first-of-type': {
26
22
  padding: 0
27
23
  }
28
24
  });
29
- const PickersModalDialogActions = styled(DialogActions, {
30
- skipSx: true
31
- })(({
25
+ const PickersModalDialogActions = styled(DialogActions)(({
32
26
  ownerState
33
27
  }) => _extends({}, (ownerState.clearable || ownerState.showTodayButton) && {
34
28
  // set justifyContent to default value to fix IE11 layout bug
@@ -9,16 +9,12 @@ import TrapFocus from '@mui/material/Unstable_TrapFocus';
9
9
  import { useForkRef, useEventCallback, ownerDocument } from '@mui/material/utils';
10
10
  import { styled } from '@mui/material/styles';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const PickersPopperRoot = styled(Popper, {
13
- skipSx: true
14
- })(({
12
+ const PickersPopperRoot = styled(Popper)(({
15
13
  theme
16
14
  }) => ({
17
15
  zIndex: theme.zIndex.modal
18
16
  }));
19
- const PickersPopperPaper = styled(Paper, {
20
- skipSx: true
21
- })(({
17
+ const PickersPopperPaper = styled(Paper)(({
22
18
  ownerState
23
19
  }) => _extends({
24
20
  transformOrigin: 'top center',
@@ -15,9 +15,7 @@ import ClockIcon from '../svg-icons/Clock';
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
17
17
  const classes = generateUtilityClasses('PrivatePickersToolbar', ['root', 'dateTitleContainer']);
18
- const PickersToolbarRoot = styled('div', {
19
- skipSx: true
20
- })(({
18
+ const PickersToolbarRoot = styled('div')(({
21
19
  theme,
22
20
  ownerState
23
21
  }) => _extends({
@@ -33,9 +31,7 @@ const PickersToolbarRoot = styled('div', {
33
31
  justifyContent: 'flex-start',
34
32
  flexWrap: 'wrap'
35
33
  }));
36
- const PickersToolbarGrid = styled(Grid, {
37
- skipSx: true
38
- })({
34
+ const PickersToolbarGrid = styled(Grid)({
39
35
  flex: 1
40
36
  });
41
37
 
@@ -6,9 +6,7 @@ import Button from '@mui/material/Button';
6
6
  import { styled } from '@mui/material/styles';
7
7
  import PickersToolbarText from './PickersToolbarText';
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
- const PickersToolbarButtonRoot = styled(Button, {
10
- skipSx: true
11
- })({
9
+ const PickersToolbarButtonRoot = styled(Button)({
12
10
  padding: 0,
13
11
  minWidth: 16,
14
12
  textTransform: 'none'
@@ -8,9 +8,7 @@ import { styled } from '@mui/material/styles';
8
8
  import { generateUtilityClasses } from '@mui/base';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const classes = generateUtilityClasses('PrivatePickersToolbarText', ['selected']);
11
- const PickersToolbarTextRoot = styled(Typography, {
12
- skipSx: true
13
- })(({
11
+ const PickersToolbarTextRoot = styled(Typography)(({
14
12
  theme
15
13
  }) => ({
16
14
  transition: theme.transitions.create('color'),
@@ -32,15 +32,17 @@ export const PureDateInput = /*#__PURE__*/React.forwardRef(function PureDateInpu
32
32
  inputRef,
33
33
  error: validationError,
34
34
  InputProps: PureDateInputProps,
35
- inputProps: {
35
+ inputProps: _extends({
36
36
  disabled,
37
37
  readOnly: true,
38
38
  'aria-readonly': true,
39
39
  'aria-label': getOpenDialogAriaText(rawValue, utils),
40
- value: inputValue,
41
- onClick: onOpen,
40
+ value: inputValue
41
+ }, !props.readOnly && {
42
+ onClick: onOpen
43
+ }, {
42
44
  onKeyDown: onSpaceOrEnter(onOpen)
43
- }
45
+ })
44
46
  }, TextFieldProps));
45
47
  });
46
48
  PureDateInput.propTypes = {
@@ -25,8 +25,7 @@ const useUtilityClasses = ownerState => {
25
25
  const PickerStaticWrapperRoot = styled('div', {
26
26
  name: 'MuiPickerStaticWrapper',
27
27
  slot: 'Root',
28
- overridesResolver: (props, styles) => styles.root,
29
- skipSx: true
28
+ overridesResolver: (props, styles) => styles.root
30
29
  })(({
31
30
  theme
32
31
  }) => ({