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

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 (144) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/CalendarPicker/CalendarPicker.d.ts +10 -0
  3. package/CalendarPicker/CalendarPicker.js +12 -0
  4. package/CalendarPicker/PickersCalendar.d.ts +2 -0
  5. package/CalendarPicker/PickersCalendar.js +9 -3
  6. package/CalendarPicker/PickersCalendarHeader.d.ts +1 -0
  7. package/CalendarPicker/PickersCalendarHeader.js +5 -4
  8. package/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  9. package/DatePicker/DatePicker.js +2 -0
  10. package/DateRangePicker/DateRangePicker.js +2 -0
  11. package/DateRangePickerDay/DateRangePickerDay.js +1 -1
  12. package/DateTimePicker/DateTimePicker.js +2 -0
  13. package/DesktopDatePicker/DesktopDatePicker.js +2 -0
  14. package/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
  15. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
  16. package/LICENSE +21 -21
  17. package/LoadingButton/LoadingButton.js +1 -1
  18. package/Masonry/Masonry.js +15 -52
  19. package/MobileDatePicker/MobileDatePicker.js +2 -0
  20. package/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  21. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  22. package/MonthPicker/MonthPicker.d.ts +4 -0
  23. package/MonthPicker/MonthPicker.js +20 -4
  24. package/PickersDay/PickersDay.js +1 -1
  25. package/StaticDatePicker/StaticDatePicker.js +2 -0
  26. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  27. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  28. package/TabPanel/TabPanel.js +1 -1
  29. package/Timeline/Timeline.js +1 -1
  30. package/TimelineConnector/TimelineConnector.js +1 -1
  31. package/TimelineContent/TimelineContent.js +1 -1
  32. package/TimelineDot/TimelineDot.js +1 -1
  33. package/TimelineItem/TimelineItem.js +1 -1
  34. package/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  35. package/TimelineSeparator/TimelineSeparator.js +1 -1
  36. package/TreeItem/TreeItem.js +1 -1
  37. package/TreeView/TreeView.js +1 -1
  38. package/YearPicker/YearPicker.d.ts +2 -0
  39. package/YearPicker/YearPicker.js +17 -1
  40. package/index.js +1 -1
  41. package/internal/pickers/test-utils.js +4 -2
  42. package/legacy/CalendarPicker/CalendarPicker.js +12 -0
  43. package/legacy/CalendarPicker/PickersCalendar.js +10 -3
  44. package/legacy/CalendarPicker/PickersCalendarHeader.js +5 -4
  45. package/legacy/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  46. package/legacy/DatePicker/DatePicker.js +2 -0
  47. package/legacy/DateRangePicker/DateRangePicker.js +2 -0
  48. package/legacy/DateRangePickerDay/DateRangePickerDay.js +1 -1
  49. package/legacy/DateTimePicker/DateTimePicker.js +2 -0
  50. package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -0
  51. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
  52. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
  53. package/legacy/LoadingButton/LoadingButton.js +1 -1
  54. package/legacy/Masonry/Masonry.js +15 -52
  55. package/legacy/MobileDatePicker/MobileDatePicker.js +2 -0
  56. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  57. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  58. package/legacy/MonthPicker/MonthPicker.js +19 -3
  59. package/legacy/PickersDay/PickersDay.js +1 -1
  60. package/legacy/StaticDatePicker/StaticDatePicker.js +2 -0
  61. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  62. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  63. package/legacy/TabPanel/TabPanel.js +1 -1
  64. package/legacy/Timeline/Timeline.js +1 -1
  65. package/legacy/TimelineConnector/TimelineConnector.js +1 -1
  66. package/legacy/TimelineContent/TimelineContent.js +1 -1
  67. package/legacy/TimelineDot/TimelineDot.js +1 -1
  68. package/legacy/TimelineItem/TimelineItem.js +1 -1
  69. package/legacy/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  70. package/legacy/TimelineSeparator/TimelineSeparator.js +1 -1
  71. package/legacy/TreeItem/TreeItem.js +1 -1
  72. package/legacy/TreeView/TreeView.js +1 -1
  73. package/legacy/YearPicker/YearPicker.js +17 -1
  74. package/legacy/index.js +1 -1
  75. package/legacy/internal/pickers/test-utils.js +3 -2
  76. package/modern/CalendarPicker/CalendarPicker.js +12 -0
  77. package/modern/CalendarPicker/PickersCalendar.js +9 -3
  78. package/modern/CalendarPicker/PickersCalendarHeader.js +5 -4
  79. package/modern/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  80. package/modern/DatePicker/DatePicker.js +2 -0
  81. package/modern/DateRangePicker/DateRangePicker.js +2 -0
  82. package/modern/DateRangePickerDay/DateRangePickerDay.js +1 -1
  83. package/modern/DateTimePicker/DateTimePicker.js +2 -0
  84. package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -0
  85. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
  86. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
  87. package/modern/LoadingButton/LoadingButton.js +1 -1
  88. package/modern/Masonry/Masonry.js +15 -52
  89. package/modern/MobileDatePicker/MobileDatePicker.js +2 -0
  90. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  91. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  92. package/modern/MonthPicker/MonthPicker.js +20 -4
  93. package/modern/PickersDay/PickersDay.js +1 -1
  94. package/modern/StaticDatePicker/StaticDatePicker.js +2 -0
  95. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  96. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  97. package/modern/TabPanel/TabPanel.js +1 -1
  98. package/modern/Timeline/Timeline.js +1 -1
  99. package/modern/TimelineConnector/TimelineConnector.js +1 -1
  100. package/modern/TimelineContent/TimelineContent.js +1 -1
  101. package/modern/TimelineDot/TimelineDot.js +1 -1
  102. package/modern/TimelineItem/TimelineItem.js +1 -1
  103. package/modern/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  104. package/modern/TimelineSeparator/TimelineSeparator.js +1 -1
  105. package/modern/TreeItem/TreeItem.js +1 -1
  106. package/modern/TreeView/TreeView.js +1 -1
  107. package/modern/YearPicker/YearPicker.js +17 -1
  108. package/modern/index.js +1 -1
  109. package/modern/internal/pickers/test-utils.js +4 -2
  110. package/node/CalendarPicker/CalendarPicker.js +12 -0
  111. package/node/CalendarPicker/PickersCalendar.js +9 -3
  112. package/node/CalendarPicker/PickersCalendarHeader.js +5 -4
  113. package/node/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  114. package/node/DatePicker/DatePicker.js +2 -0
  115. package/node/DateRangePicker/DateRangePicker.js +2 -0
  116. package/node/DateRangePickerDay/DateRangePickerDay.js +1 -1
  117. package/node/DateTimePicker/DateTimePicker.js +2 -0
  118. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -0
  119. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
  120. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
  121. package/node/LoadingButton/LoadingButton.js +1 -1
  122. package/node/Masonry/Masonry.js +19 -53
  123. package/node/MobileDatePicker/MobileDatePicker.js +2 -0
  124. package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  125. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  126. package/node/MonthPicker/MonthPicker.js +20 -4
  127. package/node/PickersDay/PickersDay.js +1 -1
  128. package/node/StaticDatePicker/StaticDatePicker.js +2 -0
  129. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  130. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  131. package/node/TabPanel/TabPanel.js +1 -1
  132. package/node/Timeline/Timeline.js +1 -1
  133. package/node/TimelineConnector/TimelineConnector.js +1 -1
  134. package/node/TimelineContent/TimelineContent.js +1 -1
  135. package/node/TimelineDot/TimelineDot.js +1 -1
  136. package/node/TimelineItem/TimelineItem.js +1 -1
  137. package/node/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  138. package/node/TimelineSeparator/TimelineSeparator.js +1 -1
  139. package/node/TreeItem/TreeItem.js +1 -1
  140. package/node/TreeView/TreeView.js +1 -1
  141. package/node/YearPicker/YearPicker.js +17 -1
  142. package/node/index.js +1 -1
  143. package/node/internal/pickers/test-utils.js +3 -1
  144. package/package.json +6 -5
@@ -171,7 +171,7 @@ process.env.NODE_ENV !== "production" ? CalendarPickerSkeleton.propTypes
171
171
  /**
172
172
  * The system prop that allows defining system overrides as well as additional CSS styles.
173
173
  */
174
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
174
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
175
175
  } : void 0;
176
176
  var _default = CalendarPickerSkeleton;
177
177
  exports.default = _default;
@@ -175,6 +175,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
175
175
 
176
176
  /**
177
177
  * If `true`, the picker and text field are disabled.
178
+ * @default false
178
179
  */
179
180
  disabled: _propTypes.default.bool,
180
181
 
@@ -366,6 +367,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
366
367
 
367
368
  /**
368
369
  * Make picker read only.
370
+ * @default false
369
371
  */
370
372
  readOnly: _propTypes.default.bool,
371
373
 
@@ -229,6 +229,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
229
229
 
230
230
  /**
231
231
  * If `true`, the picker and text field are disabled.
232
+ * @default false
232
233
  */
233
234
  disabled: _propTypes.default.bool,
234
235
 
@@ -419,6 +420,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
419
420
 
420
421
  /**
421
422
  * Make picker read only.
423
+ * @default false
422
424
  */
423
425
  readOnly: _propTypes.default.bool,
424
426
 
@@ -253,7 +253,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDay.propTypes
253
253
  /**
254
254
  * The system prop that allows defining system overrides as well as additional CSS styles.
255
255
  */
256
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
256
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
257
257
  } : void 0;
258
258
  /**
259
259
  *
@@ -192,6 +192,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
192
192
 
193
193
  /**
194
194
  * If `true`, the picker and text field are disabled.
195
+ * @default false
195
196
  */
196
197
  disabled: _propTypes.default.bool,
197
198
 
@@ -435,6 +436,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
435
436
 
436
437
  /**
437
438
  * Make picker read only.
439
+ * @default false
438
440
  */
439
441
  readOnly: _propTypes.default.bool,
440
442
 
@@ -158,6 +158,7 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes
158
158
 
159
159
  /**
160
160
  * If `true`, the picker and text field are disabled.
161
+ * @default false
161
162
  */
162
163
  disabled: _propTypes.default.bool,
163
164
 
@@ -343,6 +344,7 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes
343
344
 
344
345
  /**
345
346
  * Make picker read only.
347
+ * @default false
346
348
  */
347
349
  readOnly: _propTypes.default.bool,
348
350
 
@@ -201,6 +201,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes
201
201
 
202
202
  /**
203
203
  * If `true`, the picker and text field are disabled.
204
+ * @default false
204
205
  */
205
206
  disabled: _propTypes.default.bool,
206
207
 
@@ -385,6 +386,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes
385
386
 
386
387
  /**
387
388
  * Make picker read only.
389
+ * @default false
388
390
  */
389
391
  readOnly: _propTypes.default.bool,
390
392
 
@@ -173,6 +173,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes
173
173
 
174
174
  /**
175
175
  * If `true`, the picker and text field are disabled.
176
+ * @default false
176
177
  */
177
178
  disabled: _propTypes.default.bool,
178
179
 
@@ -410,6 +411,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes
410
411
 
411
412
  /**
412
413
  * Make picker read only.
414
+ * @default false
413
415
  */
414
416
  readOnly: _propTypes.default.bool,
415
417
 
@@ -232,7 +232,7 @@ process.env.NODE_ENV !== "production" ? LoadingButton.propTypes
232
232
  /**
233
233
  * The system prop that allows defining system overrides as well as additional CSS styles.
234
234
  */
235
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
235
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
236
236
  } : void 0;
237
237
  var _default = LoadingButton;
238
238
  exports.default = _default;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getStyle = exports.default = void 0;
8
+ exports.parseToNumber = exports.getStyle = exports.default = void 0;
9
9
 
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
 
@@ -35,6 +35,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
35
35
 
36
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
37
 
38
+ const parseToNumber = val => {
39
+ return Number(val.replace('px', ''));
40
+ };
41
+
42
+ exports.parseToNumber = parseToNumber;
43
+
38
44
  const useUtilityClasses = ownerState => {
39
45
  const {
40
46
  classes
@@ -43,44 +49,6 @@ const useUtilityClasses = ownerState => {
43
49
  root: ['root']
44
50
  };
45
51
  return (0, _core.unstable_composeClasses)(slots, _masonryClasses.getMasonryUtilityClass, classes);
46
- }; // compute base for responsive values; e.g.,
47
- // [1,2,3] => {xs: true, sm: true, md: true}
48
- // {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}
49
-
50
-
51
- const computeBreakpointsBase = (breakpoints, prop) => {
52
- const base = {};
53
-
54
- if (Array.isArray(prop)) {
55
- Object.keys(breakpoints.values).forEach((breakpoint, i, arr) => {
56
- if (i < arr.length) {
57
- base[breakpoint] = true;
58
- }
59
- });
60
- } else {
61
- Object.keys(breakpoints.values).forEach(breakpoint => {
62
- if (prop[breakpoint] != null) {
63
- base[breakpoint] = true;
64
- }
65
- });
66
- }
67
-
68
- return base;
69
- }; // if prop is an array, convert to object; e.g.,
70
- // (base: {xs: true, sm: true, md: true}, prop: [1,2,3]) => {xs: 1, sm: 2, md: 3}
71
-
72
-
73
- const validatePropValues = (base, prop) => {
74
- const values = {};
75
-
76
- if (Array.isArray(prop)) {
77
- Object.keys(base).forEach((breakpoint, i) => {
78
- values[breakpoint] = prop[i];
79
- });
80
- return values;
81
- }
82
-
83
- return prop;
84
52
  };
85
53
 
86
54
  const getStyle = ({
@@ -118,10 +86,9 @@ const getStyle = ({
118
86
  return (0, _extends2.default)({}, styles, stylesSSR);
119
87
  }
120
88
 
121
- const spacingBreakpointsBase = computeBreakpointsBase(theme.breakpoints, ownerState.spacing);
122
89
  const spacingValues = (0, _system.unstable_resolveBreakpointValues)({
123
- values: validatePropValues(spacingBreakpointsBase, ownerState.spacing),
124
- base: spacingBreakpointsBase
90
+ values: ownerState.spacing,
91
+ breakpoints: theme.breakpoints.values
125
92
  });
126
93
  const transformer = (0, _system.createUnarySpacing)(theme);
127
94
 
@@ -141,10 +108,9 @@ const getStyle = ({
141
108
  styles = (0, _utils.deepmerge)(styles, (0, _system.handleBreakpoints)({
142
109
  theme
143
110
  }, spacingValues, spacingStyleFromPropValue));
144
- const columnBreakpointsBase = computeBreakpointsBase(theme.breakpoints, ownerState.columns);
145
111
  const columnValues = (0, _system.unstable_resolveBreakpointValues)({
146
- values: validatePropValues(columnBreakpointsBase, ownerState.columns),
147
- base: columnBreakpointsBase
112
+ values: ownerState.columns,
113
+ breakpoints: theme.breakpoints.values
148
114
  });
149
115
 
150
116
  const columnStyleFromPropValue = propValue => {
@@ -229,8 +195,8 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
229
195
  const parentWidth = masonryRef.current.clientWidth;
230
196
  const childWidth = masonryRef.current.firstChild.clientWidth;
231
197
  const firstChildComputedStyle = window.getComputedStyle(masonryRef.current.firstChild);
232
- const firstChildMarginLeft = Number(firstChildComputedStyle.marginLeft.replace('px', ''));
233
- const firstChildMarginRight = Number(firstChildComputedStyle.marginRight.replace('px', ''));
198
+ const firstChildMarginLeft = parseToNumber(firstChildComputedStyle.marginLeft);
199
+ const firstChildMarginRight = parseToNumber(firstChildComputedStyle.marginRight);
234
200
 
235
201
  if (parentWidth === 0 || childWidth === 0) {
236
202
  return;
@@ -245,10 +211,10 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
245
211
  }
246
212
 
247
213
  const childComputedStyle = window.getComputedStyle(child);
248
- const childMarginTop = Number(childComputedStyle.marginTop.replace('px', ''));
249
- const childMarginBottom = Number(childComputedStyle.marginBottom.replace('px', '')); // if any one of children isn't rendered yet, masonry's height shouldn't be computed yet
214
+ const childMarginTop = parseToNumber(childComputedStyle.marginTop);
215
+ const childMarginBottom = parseToNumber(childComputedStyle.marginBottom); // if any one of children isn't rendered yet, masonry's height shouldn't be computed yet
250
216
 
251
- const childHeight = child.clientHeight ? Math.ceil(child.clientHeight) + childMarginTop + childMarginBottom : 0;
217
+ const childHeight = parseToNumber(childComputedStyle.height) ? Math.ceil(parseToNumber(childComputedStyle.height)) + childMarginTop + childMarginBottom : 0;
252
218
 
253
219
  if (childHeight === 0) {
254
220
  skip = true;
@@ -283,7 +249,7 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
283
249
 
284
250
 
285
251
  if (typeof ResizeObserver === 'undefined') {
286
- return null;
252
+ return undefined;
287
253
  }
288
254
 
289
255
  const resizeObserver = new ResizeObserver(handleResize);
@@ -302,7 +268,7 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
302
268
  return () => {
303
269
  resizeObserver.disconnect();
304
270
  };
305
- }, [columns, spacing]);
271
+ }, [columns, spacing, children]);
306
272
  const handleRef = (0, _utils.unstable_useForkRef)(ref, masonryRef);
307
273
  const lineBreakStyle = {
308
274
  flexBasis: '100%',
@@ -388,7 +354,7 @@ process.env.NODE_ENV !== "production" ? Masonry.propTypes
388
354
  /**
389
355
  * Allows defining system overrides as well as additional CSS styles.
390
356
  */
391
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
357
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
392
358
  } : void 0;
393
359
  var _default = Masonry;
394
360
  exports.default = _default;
@@ -177,6 +177,7 @@ process.env.NODE_ENV !== "production" ? MobileDatePicker.propTypes
177
177
 
178
178
  /**
179
179
  * If `true`, the picker and text field are disabled.
180
+ * @default false
180
181
  */
181
182
  disabled: _propTypes.default.bool,
182
183
 
@@ -358,6 +359,7 @@ process.env.NODE_ENV !== "production" ? MobileDatePicker.propTypes
358
359
 
359
360
  /**
360
361
  * Make picker read only.
362
+ * @default false
361
363
  */
362
364
  readOnly: _propTypes.default.bool,
363
365
 
@@ -220,6 +220,7 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes
220
220
 
221
221
  /**
222
222
  * If `true`, the picker and text field are disabled.
223
+ * @default false
223
224
  */
224
225
  disabled: _propTypes.default.bool,
225
226
 
@@ -400,6 +401,7 @@ process.env.NODE_ENV !== "production" ? MobileDateRangePicker.propTypes
400
401
 
401
402
  /**
402
403
  * Make picker read only.
404
+ * @default false
403
405
  */
404
406
  readOnly: _propTypes.default.bool,
405
407
 
@@ -194,6 +194,7 @@ process.env.NODE_ENV !== "production" ? MobileDateTimePicker.propTypes
194
194
 
195
195
  /**
196
196
  * If `true`, the picker and text field are disabled.
197
+ * @default false
197
198
  */
198
199
  disabled: _propTypes.default.bool,
199
200
 
@@ -427,6 +428,7 @@ process.env.NODE_ENV !== "production" ? MobileDateTimePicker.propTypes
427
428
 
428
429
  /**
429
430
  * Make picker read only.
431
+ * @default false
430
432
  */
431
433
  readOnly: _propTypes.default.bool,
432
434
 
@@ -29,7 +29,7 @@ var _useUtils = require("../internal/pickers/hooks/useUtils");
29
29
 
30
30
  var _jsxRuntime = require("react/jsx-runtime");
31
31
 
32
- const _excluded = ["className", "date", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "onMonthChange"];
32
+ const _excluded = ["className", "date", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "onMonthChange", "readOnly"];
33
33
 
34
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
35
 
@@ -70,12 +70,14 @@ const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps,
70
70
  const {
71
71
  className,
72
72
  date,
73
+ disabled,
73
74
  disableFuture,
74
75
  disablePast,
75
76
  maxDate,
76
77
  minDate,
77
78
  onChange,
78
- onMonthChange
79
+ onMonthChange,
80
+ readOnly
79
81
  } = props,
80
82
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
81
83
  const ownerState = props;
@@ -93,6 +95,10 @@ const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps,
93
95
  };
94
96
 
95
97
  const onMonthSelect = month => {
98
+ if (readOnly) {
99
+ return;
100
+ }
101
+
96
102
  const newDate = utils.setMonth(date || now, month);
97
103
  onChange(newDate, 'finish');
98
104
 
@@ -113,7 +119,7 @@ const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps,
113
119
  value: monthNumber,
114
120
  selected: monthNumber === currentMonth,
115
121
  onSelect: onMonthSelect,
116
- disabled: shouldDisableMonth(month),
122
+ disabled: disabled || shouldDisableMonth(month),
117
123
  children: monthText
118
124
  }, monthText);
119
125
  })
@@ -142,6 +148,11 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes
142
148
  */
143
149
  date: _propTypes.default.any,
144
150
 
151
+ /**
152
+ * If `true` picker is disabled
153
+ */
154
+ disabled: _propTypes.default.bool,
155
+
145
156
  /**
146
157
  * If `true` future days are disabled.
147
158
  */
@@ -172,10 +183,15 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes
172
183
  */
173
184
  onMonthChange: _propTypes.default.func,
174
185
 
186
+ /**
187
+ * If `true` picker is readonly
188
+ */
189
+ readOnly: _propTypes.default.bool,
190
+
175
191
  /**
176
192
  * The system prop that allows defining system overrides as well as additional CSS styles.
177
193
  */
178
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
194
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
179
195
  } : void 0;
180
196
  /**
181
197
  *
@@ -405,7 +405,7 @@ process.env.NODE_ENV !== "production" ? PickersDay.propTypes
405
405
  /**
406
406
  * The system prop that allows defining system overrides as well as additional CSS styles.
407
407
  */
408
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
408
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object]),
409
409
 
410
410
  /**
411
411
  * If `true`, renders as today date.
@@ -145,6 +145,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes
145
145
 
146
146
  /**
147
147
  * If `true`, the picker and text field are disabled.
148
+ * @default false
148
149
  */
149
150
  disabled: _propTypes.default.bool,
150
151
 
@@ -326,6 +327,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes
326
327
 
327
328
  /**
328
329
  * Make picker read only.
330
+ * @default false
329
331
  */
330
332
  readOnly: _propTypes.default.bool,
331
333
 
@@ -189,6 +189,7 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.propTypes
189
189
 
190
190
  /**
191
191
  * If `true`, the picker and text field are disabled.
192
+ * @default false
192
193
  */
193
194
  disabled: _propTypes.default.bool,
194
195
 
@@ -367,6 +368,7 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.propTypes
367
368
 
368
369
  /**
369
370
  * Make picker read only.
371
+ * @default false
370
372
  */
371
373
  readOnly: _propTypes.default.bool,
372
374
 
@@ -162,6 +162,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes
162
162
 
163
163
  /**
164
164
  * If `true`, the picker and text field are disabled.
165
+ * @default false
165
166
  */
166
167
  disabled: _propTypes.default.bool,
167
168
 
@@ -395,6 +396,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes
395
396
 
396
397
  /**
397
398
  * Make picker read only.
399
+ * @default false
398
400
  */
399
401
  readOnly: _propTypes.default.bool,
400
402
 
@@ -111,7 +111,7 @@ process.env.NODE_ENV !== "production" ? TabPanel.propTypes
111
111
  /**
112
112
  * The system prop that allows defining system overrides as well as additional CSS styles.
113
113
  */
114
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
114
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object]),
115
115
 
116
116
  /**
117
117
  * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when
@@ -130,7 +130,7 @@ process.env.NODE_ENV !== "production" ? Timeline.propTypes
130
130
  /**
131
131
  * The system prop that allows defining system overrides as well as additional CSS styles.
132
132
  */
133
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
133
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
134
134
  } : void 0;
135
135
  /**
136
136
  *
@@ -97,7 +97,7 @@ process.env.NODE_ENV !== "production" ? TimelineConnector.propTypes
97
97
  /**
98
98
  * The system prop that allows defining system overrides as well as additional CSS styles.
99
99
  */
100
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
100
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
101
101
  } : void 0;
102
102
  var _default = TimelineConnector;
103
103
  exports.default = _default;
@@ -115,7 +115,7 @@ process.env.NODE_ENV !== "production" ? TimelineContent.propTypes
115
115
  /**
116
116
  * The system prop that allows defining system overrides as well as additional CSS styles.
117
117
  */
118
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
118
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
119
119
  } : void 0;
120
120
  var _default = TimelineContent;
121
121
  exports.default = _default;
@@ -136,7 +136,7 @@ process.env.NODE_ENV !== "production" ? TimelineDot.propTypes
136
136
  /**
137
137
  * The system prop that allows defining system overrides as well as additional CSS styles.
138
138
  */
139
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
139
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object]),
140
140
 
141
141
  /**
142
142
  * The dot can appear filled or outlined.
@@ -152,7 +152,7 @@ process.env.NODE_ENV !== "production" ? TimelineItem.propTypes
152
152
  /**
153
153
  * The system prop that allows defining system overrides as well as additional CSS styles.
154
154
  */
155
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
155
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
156
156
  } : void 0;
157
157
  var _default = TimelineItem;
158
158
  exports.default = _default;
@@ -116,7 +116,7 @@ process.env.NODE_ENV !== "production" ? TimelineOppositeContent.propTypes
116
116
  /**
117
117
  * The system prop that allows defining system overrides as well as additional CSS styles.
118
118
  */
119
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
119
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
120
120
  } : void 0;
121
121
  TimelineOppositeContent.muiName = 'TimelineOppositeContent';
122
122
  var _default = TimelineOppositeContent;
@@ -94,7 +94,7 @@ process.env.NODE_ENV !== "production" ? TimelineSeparator.propTypes
94
94
  /**
95
95
  * The system prop that allows defining system overrides as well as additional CSS styles.
96
96
  */
97
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
97
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
98
98
  } : void 0;
99
99
  var _default = TimelineSeparator;
100
100
  exports.default = _default;
@@ -428,7 +428,7 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes
428
428
  /**
429
429
  * The system prop that allows defining system overrides as well as additional CSS styles.
430
430
  */
431
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
431
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object]),
432
432
 
433
433
  /**
434
434
  * The component used for the transition.
@@ -992,7 +992,7 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes
992
992
  /**
993
993
  * The system prop that allows defining system overrides as well as additional CSS styles.
994
994
  */
995
- sx: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
995
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])), _propTypes.default.func, _propTypes.default.object])
996
996
  } : void 0;
997
997
  var _default = TreeView;
998
998
  exports.default = _default;
@@ -64,6 +64,7 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
64
64
  autoFocus,
65
65
  className,
66
66
  date,
67
+ disabled,
67
68
  disableFuture,
68
69
  disablePast,
69
70
  isDateDisabled,
@@ -72,6 +73,7 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
72
73
  onChange,
73
74
  onFocusedDayChange,
74
75
  onYearChange,
76
+ readOnly,
75
77
  shouldDisableYear
76
78
  } = props;
77
79
  const ownerState = props;
@@ -86,6 +88,10 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
86
88
  const [focusedYear, setFocusedYear] = React.useState(currentYear);
87
89
 
88
90
  const handleYearSelection = (event, year, isFinish = 'finish') => {
91
+ if (readOnly) {
92
+ return;
93
+ }
94
+
89
95
  const submitDate = newDate => {
90
96
  onChange(newDate, isFinish);
91
97
 
@@ -164,7 +170,7 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
164
170
  onKeyDown: handleKeyDown,
165
171
  autoFocus: autoFocus && yearNumber === focusedYear,
166
172
  ref: selected ? selectedYearRef : undefined,
167
- disabled: disablePast && utils.isBeforeYear(year, now) || disableFuture && utils.isAfterYear(year, now) || shouldDisableYear && shouldDisableYear(year),
173
+ disabled: disabled || disablePast && utils.isBeforeYear(year, now) || disableFuture && utils.isAfterYear(year, now) || shouldDisableYear && shouldDisableYear(year),
168
174
  children: utils.format(year, 'year')
169
175
  }, utils.format(year, 'year'));
170
176
  })
@@ -198,6 +204,11 @@ process.env.NODE_ENV !== "production" ? YearPicker.propTypes
198
204
  */
199
205
  date: _propTypes.default.any,
200
206
 
207
+ /**
208
+ * @ignore
209
+ */
210
+ disabled: _propTypes.default.bool,
211
+
201
212
  /**
202
213
  * @ignore
203
214
  */
@@ -238,6 +249,11 @@ process.env.NODE_ENV !== "production" ? YearPicker.propTypes
238
249
  */
239
250
  onYearChange: _propTypes.default.func,
240
251
 
252
+ /**
253
+ * @ignore
254
+ */
255
+ readOnly: _propTypes.default.bool,
256
+
241
257
  /**
242
258
  * Disable specific years dynamically.
243
259
  * Works like `shouldDisableDate` but for year selection view @DateIOType.
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.0-alpha.53
1
+ /** @license MUI v5.0.0-alpha.54
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.
@@ -90,7 +90,9 @@ function createPickerRender(_ref = {}) {
90
90
  locale
91
91
  } = _ref,
92
92
  renderOptions = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
93
- const clientRender = (0, _utils.createClientRender)(renderOptions);
93
+ const {
94
+ render: clientRender
95
+ } = (0, _utils.createRenderer)(renderOptions);
94
96
 
95
97
  function Wrapper({
96
98
  children