@mui/lab 5.0.0-alpha.50 → 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 (234) hide show
  1. package/CHANGELOG.md +274 -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/CalendarPicker/PickersFadeTransitionGroup.js +2 -2
  9. package/CalendarPickerSkeleton/CalendarPickerSkeleton.d.ts +2 -1
  10. package/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  11. package/DatePicker/DatePicker.js +7 -0
  12. package/DateRangePicker/DateRangePicker.js +7 -0
  13. package/DateRangePickerDay/DateRangePickerDay.js +1 -1
  14. package/DateTimePicker/DateTimePicker.js +7 -0
  15. package/DesktopDatePicker/DesktopDatePicker.js +10 -1
  16. package/DesktopDateRangePicker/DesktopDateRangePicker.js +7 -0
  17. package/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -0
  18. package/DesktopTimePicker/DesktopTimePicker.js +5 -0
  19. package/LoadingButton/LoadingButton.js +37 -7
  20. package/Masonry/Masonry.d.ts +13 -1
  21. package/Masonry/Masonry.js +207 -57
  22. package/MobileDatePicker/MobileDatePicker.js +2 -0
  23. package/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  24. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  25. package/MonthPicker/MonthPicker.d.ts +4 -0
  26. package/MonthPicker/MonthPicker.js +20 -4
  27. package/PickersDay/PickersDay.js +1 -1
  28. package/StaticDatePicker/StaticDatePicker.js +2 -0
  29. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  30. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  31. package/TabPanel/TabPanel.js +1 -1
  32. package/TimePicker/TimePicker.js +5 -0
  33. package/Timeline/Timeline.js +1 -1
  34. package/TimelineConnector/TimelineConnector.js +1 -1
  35. package/TimelineContent/TimelineContent.js +1 -1
  36. package/TimelineDot/TimelineDot.js +1 -1
  37. package/TimelineItem/TimelineItem.js +1 -1
  38. package/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  39. package/TimelineSeparator/TimelineSeparator.js +1 -1
  40. package/TreeItem/TreeItem.js +1 -1
  41. package/TreeView/TreeView.js +1 -1
  42. package/YearPicker/YearPicker.d.ts +2 -0
  43. package/YearPicker/YearPicker.js +17 -1
  44. package/index.js +1 -1
  45. package/internal/pickers/Picker/Picker.d.ts +1 -1
  46. package/internal/pickers/Picker/PickerView.d.ts +1 -1
  47. package/internal/pickers/PickersArrowSwitcher.d.ts +2 -2
  48. package/internal/pickers/PickersArrowSwitcher.js +1 -3
  49. package/internal/pickers/PickersPopper.d.ts +9 -1
  50. package/internal/pickers/PickersPopper.js +31 -7
  51. package/internal/pickers/test-utils.js +4 -2
  52. package/internal/pickers/wrappers/DesktopWrapper.d.ts +2 -2
  53. package/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  54. package/legacy/CalendarPicker/CalendarPicker.js +12 -0
  55. package/legacy/CalendarPicker/PickersCalendar.js +10 -3
  56. package/legacy/CalendarPicker/PickersCalendarHeader.js +5 -4
  57. package/legacy/CalendarPicker/PickersFadeTransitionGroup.js +3 -5
  58. package/legacy/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  59. package/legacy/DatePicker/DatePicker.js +7 -0
  60. package/legacy/DateRangePicker/DateRangePicker.js +7 -0
  61. package/legacy/DateRangePickerDay/DateRangePickerDay.js +1 -1
  62. package/legacy/DateTimePicker/DateTimePicker.js +7 -0
  63. package/legacy/DesktopDatePicker/DesktopDatePicker.js +10 -1
  64. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +7 -0
  65. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -0
  66. package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -0
  67. package/legacy/LoadingButton/LoadingButton.js +36 -10
  68. package/legacy/Masonry/Masonry.js +216 -57
  69. package/legacy/MobileDatePicker/MobileDatePicker.js +2 -0
  70. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  71. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  72. package/legacy/MonthPicker/MonthPicker.js +19 -3
  73. package/legacy/PickersDay/PickersDay.js +1 -1
  74. package/legacy/StaticDatePicker/StaticDatePicker.js +2 -0
  75. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  76. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  77. package/legacy/TabPanel/TabPanel.js +1 -1
  78. package/legacy/TimePicker/TimePicker.js +5 -0
  79. package/legacy/Timeline/Timeline.js +1 -1
  80. package/legacy/TimelineConnector/TimelineConnector.js +1 -1
  81. package/legacy/TimelineContent/TimelineContent.js +1 -1
  82. package/legacy/TimelineDot/TimelineDot.js +1 -1
  83. package/legacy/TimelineItem/TimelineItem.js +1 -1
  84. package/legacy/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  85. package/legacy/TimelineSeparator/TimelineSeparator.js +1 -1
  86. package/legacy/TreeItem/TreeItem.js +1 -1
  87. package/legacy/TreeView/TreeView.js +1 -1
  88. package/legacy/YearPicker/YearPicker.js +17 -1
  89. package/legacy/index.js +1 -1
  90. package/legacy/internal/pickers/PickersArrowSwitcher.js +1 -3
  91. package/legacy/internal/pickers/PickersPopper.js +29 -7
  92. package/legacy/internal/pickers/test-utils.js +3 -2
  93. package/legacy/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  94. package/modern/CalendarPicker/CalendarPicker.js +12 -0
  95. package/modern/CalendarPicker/PickersCalendar.js +9 -3
  96. package/modern/CalendarPicker/PickersCalendarHeader.js +5 -4
  97. package/modern/CalendarPicker/PickersFadeTransitionGroup.js +2 -2
  98. package/modern/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
  99. package/modern/DatePicker/DatePicker.js +7 -0
  100. package/modern/DateRangePicker/DateRangePicker.js +7 -0
  101. package/modern/DateRangePickerDay/DateRangePickerDay.js +1 -1
  102. package/modern/DateTimePicker/DateTimePicker.js +7 -0
  103. package/modern/DesktopDatePicker/DesktopDatePicker.js +10 -1
  104. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +7 -0
  105. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -0
  106. package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -0
  107. package/modern/LoadingButton/LoadingButton.js +37 -7
  108. package/modern/Masonry/Masonry.js +207 -57
  109. package/modern/MobileDatePicker/MobileDatePicker.js +2 -0
  110. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  111. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  112. package/modern/MonthPicker/MonthPicker.js +20 -4
  113. package/modern/PickersDay/PickersDay.js +1 -1
  114. package/modern/StaticDatePicker/StaticDatePicker.js +2 -0
  115. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  116. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  117. package/modern/TabPanel/TabPanel.js +1 -1
  118. package/modern/TimePicker/TimePicker.js +5 -0
  119. package/modern/Timeline/Timeline.js +1 -1
  120. package/modern/TimelineConnector/TimelineConnector.js +1 -1
  121. package/modern/TimelineContent/TimelineContent.js +1 -1
  122. package/modern/TimelineDot/TimelineDot.js +1 -1
  123. package/modern/TimelineItem/TimelineItem.js +1 -1
  124. package/modern/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  125. package/modern/TimelineSeparator/TimelineSeparator.js +1 -1
  126. package/modern/TreeItem/TreeItem.js +1 -1
  127. package/modern/TreeView/TreeView.js +1 -1
  128. package/modern/YearPicker/YearPicker.js +17 -1
  129. package/modern/index.js +1 -1
  130. package/modern/internal/pickers/PickersArrowSwitcher.js +1 -3
  131. package/modern/internal/pickers/PickersPopper.js +31 -7
  132. package/modern/internal/pickers/test-utils.js +4 -2
  133. package/modern/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  134. package/node/CalendarPicker/CalendarPicker.js +13 -1
  135. package/node/CalendarPicker/PickersCalendar.js +9 -3
  136. package/node/CalendarPicker/PickersCalendarHeader.js +5 -4
  137. package/node/CalendarPicker/PickersFadeTransitionGroup.js +2 -2
  138. package/node/CalendarPicker/PickersSlideTransition.js +1 -1
  139. package/node/CalendarPicker/index.js +4 -4
  140. package/node/CalendarPicker/useCalendarState.js +1 -1
  141. package/node/CalendarPickerSkeleton/CalendarPickerSkeleton.js +2 -2
  142. package/node/CalendarPickerSkeleton/index.js +4 -4
  143. package/node/ClockPicker/ClockPicker.js +1 -1
  144. package/node/ClockPicker/index.js +4 -4
  145. package/node/ClockPicker/shared.js +1 -1
  146. package/node/DatePicker/DatePicker.js +7 -0
  147. package/node/DatePicker/shared.js +1 -1
  148. package/node/DateRangePicker/DateRangePicker.js +7 -0
  149. package/node/DateRangePickerDay/DateRangePickerDay.js +2 -2
  150. package/node/DateTimePicker/DateTimePicker.js +7 -0
  151. package/node/DesktopDatePicker/DesktopDatePicker.js +10 -1
  152. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +7 -0
  153. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -0
  154. package/node/DesktopTimePicker/DesktopTimePicker.js +5 -0
  155. package/node/LoadingButton/LoadingButton.js +37 -7
  156. package/node/LoadingButton/loadingButtonClasses.js +1 -1
  157. package/node/Masonry/Masonry.js +211 -61
  158. package/node/Masonry/masonryClasses.js +1 -1
  159. package/node/MobileDatePicker/MobileDatePicker.js +2 -0
  160. package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
  161. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
  162. package/node/MonthPicker/MonthPicker.js +22 -5
  163. package/node/PickersDay/PickersDay.js +3 -2
  164. package/node/PickersDay/index.js +4 -4
  165. package/node/StaticDatePicker/StaticDatePicker.js +2 -0
  166. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
  167. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
  168. package/node/TabContext/TabContext.js +1 -1
  169. package/node/TabPanel/TabPanel.js +1 -1
  170. package/node/TabPanel/tabPanelClasses.js +1 -1
  171. package/node/TimePicker/TimePicker.js +5 -0
  172. package/node/TimePicker/TimePickerToolbar.js +2 -1
  173. package/node/Timeline/Timeline.js +1 -1
  174. package/node/Timeline/timelineClasses.js +1 -1
  175. package/node/TimelineConnector/TimelineConnector.js +1 -1
  176. package/node/TimelineConnector/timelineConnectorClasses.js +1 -1
  177. package/node/TimelineContent/TimelineContent.js +1 -1
  178. package/node/TimelineContent/timelineContentClasses.js +1 -1
  179. package/node/TimelineDot/TimelineDot.js +1 -1
  180. package/node/TimelineDot/timelineDotClasses.js +1 -1
  181. package/node/TimelineItem/TimelineItem.js +1 -1
  182. package/node/TimelineItem/timelineItemClasses.js +1 -1
  183. package/node/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
  184. package/node/TimelineOppositeContent/timelineOppositeContentClasses.js +1 -1
  185. package/node/TimelineSeparator/TimelineSeparator.js +1 -1
  186. package/node/TimelineSeparator/timelineSeparatorClasses.js +1 -1
  187. package/node/TreeItem/TreeItem.js +1 -1
  188. package/node/TreeItem/index.js +4 -4
  189. package/node/TreeItem/treeItemClasses.js +1 -1
  190. package/node/TreeView/TreeView.js +1 -1
  191. package/node/TreeView/descendants.js +1 -1
  192. package/node/TreeView/treeViewClasses.js +1 -1
  193. package/node/YearPicker/PickersYear.js +2 -1
  194. package/node/YearPicker/YearPicker.js +17 -1
  195. package/node/YearPicker/yearPickerClasses.js +1 -1
  196. package/node/index.js +7 -7
  197. package/node/internal/pickers/PickersArrowSwitcher.js +1 -3
  198. package/node/internal/pickers/PickersPopper.js +31 -7
  199. package/node/internal/pickers/constants/dimensions.js +1 -1
  200. package/node/internal/pickers/date-utils.js +2 -1
  201. package/node/internal/pickers/hooks/date-helpers-hooks.js +1 -1
  202. package/node/internal/pickers/hooks/useIsLandscape.js +1 -1
  203. package/node/internal/pickers/hooks/useMaskedInput.js +1 -1
  204. package/node/internal/pickers/hooks/useOpenState.js +1 -1
  205. package/node/internal/pickers/hooks/useUtils.js +1 -1
  206. package/node/internal/pickers/hooks/useValidation.js +3 -3
  207. package/node/internal/pickers/test-utils.js +5 -3
  208. package/node/internal/pickers/text-field-helper.js +3 -2
  209. package/node/internal/pickers/time-utils.js +2 -1
  210. package/node/internal/pickers/utils.js +1 -1
  211. package/node/internal/pickers/wrappers/DesktopWrapper.js +2 -0
  212. package/node/internal/pickers/wrappers/WrapperVariantContext.js +1 -1
  213. package/node/useAutocomplete/index.js +4 -4
  214. package/package.json +8 -7
  215. package/Masonry/MasonryContext.js +0 -12
  216. package/MasonryItem/MasonryItem.d.ts +0 -49
  217. package/MasonryItem/MasonryItem.js +0 -196
  218. package/MasonryItem/index.d.ts +0 -5
  219. package/MasonryItem/index.js +0 -3
  220. package/MasonryItem/masonryItemClasses.d.ts +0 -8
  221. package/MasonryItem/masonryItemClasses.js +0 -6
  222. package/MasonryItem/package.json +0 -6
  223. package/legacy/Masonry/MasonryContext.js +0 -12
  224. package/legacy/MasonryItem/MasonryItem.js +0 -201
  225. package/legacy/MasonryItem/index.js +0 -3
  226. package/legacy/MasonryItem/masonryItemClasses.js +0 -6
  227. package/modern/Masonry/MasonryContext.js +0 -12
  228. package/modern/MasonryItem/MasonryItem.js +0 -196
  229. package/modern/MasonryItem/index.js +0 -3
  230. package/modern/MasonryItem/masonryItemClasses.js +0 -6
  231. package/node/Masonry/MasonryContext.js +0 -24
  232. package/node/MasonryItem/MasonryItem.js +0 -220
  233. package/node/MasonryItem/index.js +0 -42
  234. package/node/MasonryItem/masonryItemClasses.js +0 -17
@@ -41,13 +41,15 @@ var MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps, re
41
41
 
42
42
  var className = props.className,
43
43
  date = props.date,
44
+ disabled = props.disabled,
44
45
  disableFuture = props.disableFuture,
45
46
  disablePast = props.disablePast,
46
47
  maxDate = props.maxDate,
47
48
  minDate = props.minDate,
48
49
  onChange = props.onChange,
49
50
  onMonthChange = props.onMonthChange,
50
- other = _objectWithoutProperties(props, ["className", "date", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "onMonthChange"]);
51
+ readOnly = props.readOnly,
52
+ other = _objectWithoutProperties(props, ["className", "date", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "onMonthChange", "readOnly"]);
51
53
 
52
54
  var ownerState = props;
53
55
  var classes = useUtilityClasses(ownerState);
@@ -64,6 +66,10 @@ var MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps, re
64
66
  };
65
67
 
66
68
  var onMonthSelect = function onMonthSelect(month) {
69
+ if (readOnly) {
70
+ return;
71
+ }
72
+
67
73
  var newDate = utils.setMonth(date || now, month);
68
74
  onChange(newDate, 'finish');
69
75
 
@@ -84,7 +90,7 @@ var MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps, re
84
90
  value: monthNumber,
85
91
  selected: monthNumber === currentMonth,
86
92
  onSelect: onMonthSelect,
87
- disabled: shouldDisableMonth(month),
93
+ disabled: disabled || shouldDisableMonth(month),
88
94
  children: monthText
89
95
  }, monthText);
90
96
  })
@@ -113,6 +119,11 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes
113
119
  */
114
120
  date: PropTypes.any,
115
121
 
122
+ /**
123
+ * If `true` picker is disabled
124
+ */
125
+ disabled: PropTypes.bool,
126
+
116
127
  /**
117
128
  * If `true` future days are disabled.
118
129
  */
@@ -143,10 +154,15 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes
143
154
  */
144
155
  onMonthChange: PropTypes.func,
145
156
 
157
+ /**
158
+ * If `true` picker is readonly
159
+ */
160
+ readOnly: PropTypes.bool,
161
+
146
162
  /**
147
163
  * The system prop that allows defining system overrides as well as additional CSS styles.
148
164
  */
149
- sx: PropTypes.object
165
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
150
166
  } : void 0;
151
167
  /**
152
168
  *
@@ -377,7 +377,7 @@ process.env.NODE_ENV !== "production" ? PickersDay.propTypes
377
377
  /**
378
378
  * The system prop that allows defining system overrides as well as additional CSS styles.
379
379
  */
380
- sx: PropTypes.object,
380
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
381
381
 
382
382
  /**
383
383
  * If `true`, renders as today date.
@@ -125,6 +125,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes
125
125
 
126
126
  /**
127
127
  * If `true`, the picker and text field are disabled.
128
+ * @default false
128
129
  */
129
130
  disabled: PropTypes.bool,
130
131
 
@@ -306,6 +307,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes
306
307
 
307
308
  /**
308
309
  * Make picker read only.
310
+ * @default false
309
311
  */
310
312
  readOnly: PropTypes.bool,
311
313
 
@@ -177,6 +177,7 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.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.bool,
182
183
 
@@ -355,6 +356,7 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.propTypes
355
356
 
356
357
  /**
357
358
  * Make picker read only.
359
+ * @default false
358
360
  */
359
361
  readOnly: PropTypes.bool,
360
362
 
@@ -142,6 +142,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes
142
142
 
143
143
  /**
144
144
  * If `true`, the picker and text field are disabled.
145
+ * @default false
145
146
  */
146
147
  disabled: PropTypes.bool,
147
148
 
@@ -375,6 +376,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes
375
376
 
376
377
  /**
377
378
  * Make picker read only.
379
+ * @default false
378
380
  */
379
381
  readOnly: PropTypes.bool,
380
382
 
@@ -89,7 +89,7 @@ process.env.NODE_ENV !== "production" ? TabPanel.propTypes
89
89
  /**
90
90
  * The system prop that allows defining system overrides as well as additional CSS styles.
91
91
  */
92
- sx: PropTypes.object,
92
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
93
93
 
94
94
  /**
95
95
  * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when
@@ -299,6 +299,11 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes
299
299
  */
300
300
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
301
301
 
302
+ /**
303
+ * Paper props passed down to [Paper](https://mui.com/api/paper/) component.
304
+ */
305
+ PaperProps: PropTypes.object,
306
+
302
307
  /**
303
308
  * Popper props passed down to [Popper](https://mui.com/api/popper/) component.
304
309
  */
@@ -103,7 +103,7 @@ process.env.NODE_ENV !== "production" ? Timeline.propTypes
103
103
  /**
104
104
  * The system prop that allows defining system overrides as well as additional CSS styles.
105
105
  */
106
- sx: PropTypes.object
106
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
107
107
  } : void 0;
108
108
  /**
109
109
  *
@@ -73,6 +73,6 @@ process.env.NODE_ENV !== "production" ? TimelineConnector.propTypes
73
73
  /**
74
74
  * The system prop that allows defining system overrides as well as additional CSS styles.
75
75
  */
76
- sx: PropTypes.object
76
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
77
77
  } : void 0;
78
78
  export default TimelineConnector;
@@ -87,6 +87,6 @@ process.env.NODE_ENV !== "production" ? TimelineContent.propTypes
87
87
  /**
88
88
  * The system prop that allows defining system overrides as well as additional CSS styles.
89
89
  */
90
- sx: PropTypes.object
90
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
91
91
  } : void 0;
92
92
  export default TimelineContent;
@@ -112,7 +112,7 @@ process.env.NODE_ENV !== "production" ? TimelineDot.propTypes
112
112
  /**
113
113
  * The system prop that allows defining system overrides as well as additional CSS styles.
114
114
  */
115
- sx: PropTypes.object,
115
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
116
116
 
117
117
  /**
118
118
  * The dot can appear filled or outlined.
@@ -125,6 +125,6 @@ process.env.NODE_ENV !== "production" ? TimelineItem.propTypes
125
125
  /**
126
126
  * The system prop that allows defining system overrides as well as additional CSS styles.
127
127
  */
128
- sx: PropTypes.object
128
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
129
129
  } : void 0;
130
130
  export default TimelineItem;
@@ -88,7 +88,7 @@ process.env.NODE_ENV !== "production" ? TimelineOppositeContent.propTypes
88
88
  /**
89
89
  * The system prop that allows defining system overrides as well as additional CSS styles.
90
90
  */
91
- sx: PropTypes.object
91
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
92
92
  } : void 0;
93
93
  TimelineOppositeContent.muiName = 'TimelineOppositeContent';
94
94
  export default TimelineOppositeContent;
@@ -71,6 +71,6 @@ process.env.NODE_ENV !== "production" ? TimelineSeparator.propTypes
71
71
  /**
72
72
  * The system prop that allows defining system overrides as well as additional CSS styles.
73
73
  */
74
- sx: PropTypes.object
74
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
75
75
  } : void 0;
76
76
  export default TimelineSeparator;
@@ -407,7 +407,7 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes
407
407
  /**
408
408
  * The system prop that allows defining system overrides as well as additional CSS styles.
409
409
  */
410
- sx: PropTypes.object,
410
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
411
411
 
412
412
  /**
413
413
  * The component used for the transition.
@@ -1036,6 +1036,6 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes
1036
1036
  /**
1037
1037
  * The system prop that allows defining system overrides as well as additional CSS styles.
1038
1038
  */
1039
- sx: PropTypes.object
1039
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
1040
1040
  } : void 0;
1041
1041
  export default TreeView;
@@ -40,6 +40,7 @@ var YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, ref)
40
40
  var autoFocus = props.autoFocus,
41
41
  className = props.className,
42
42
  date = props.date,
43
+ disabled = props.disabled,
43
44
  disableFuture = props.disableFuture,
44
45
  disablePast = props.disablePast,
45
46
  isDateDisabled = props.isDateDisabled,
@@ -48,6 +49,7 @@ var YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, ref)
48
49
  onChange = props.onChange,
49
50
  onFocusedDayChange = props.onFocusedDayChange,
50
51
  onYearChange = props.onYearChange,
52
+ readOnly = props.readOnly,
51
53
  shouldDisableYear = props.shouldDisableYear;
52
54
  var ownerState = props;
53
55
  var classes = useUtilityClasses(ownerState);
@@ -66,6 +68,10 @@ var YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, ref)
66
68
  var handleYearSelection = function handleYearSelection(event, year) {
67
69
  var isFinish = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'finish';
68
70
 
71
+ if (readOnly) {
72
+ return;
73
+ }
74
+
69
75
  var submitDate = function submitDate(newDate) {
70
76
  onChange(newDate, isFinish);
71
77
 
@@ -144,7 +150,7 @@ var YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, ref)
144
150
  onKeyDown: handleKeyDown,
145
151
  autoFocus: autoFocus && yearNumber === focusedYear,
146
152
  ref: selected ? selectedYearRef : undefined,
147
- disabled: disablePast && utils.isBeforeYear(year, now) || disableFuture && utils.isAfterYear(year, now) || shouldDisableYear && shouldDisableYear(year),
153
+ disabled: disabled || disablePast && utils.isBeforeYear(year, now) || disableFuture && utils.isAfterYear(year, now) || shouldDisableYear && shouldDisableYear(year),
148
154
  children: utils.format(year, 'year')
149
155
  }, utils.format(year, 'year'));
150
156
  })
@@ -178,6 +184,11 @@ process.env.NODE_ENV !== "production" ? YearPicker.propTypes
178
184
  */
179
185
  date: PropTypes.any,
180
186
 
187
+ /**
188
+ * @ignore
189
+ */
190
+ disabled: PropTypes.bool,
191
+
181
192
  /**
182
193
  * @ignore
183
194
  */
@@ -218,6 +229,11 @@ process.env.NODE_ENV !== "production" ? YearPicker.propTypes
218
229
  */
219
230
  onYearChange: PropTypes.func,
220
231
 
232
+ /**
233
+ * @ignore
234
+ */
235
+ readOnly: PropTypes.bool,
236
+
221
237
  /**
222
238
  * Disable specific years dynamically.
223
239
  * Works like `shouldDisableDate` but for year selection view @DateIOType.
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.0.0-alpha.50
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.
@@ -8,9 +8,7 @@ import ArrowLeftIcon from '../svg-icons/ArrowLeft';
8
8
  import ArrowRightIcon from '../svg-icons/ArrowRight';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
- var PickersArrowSwitcherRoot = styled('div', {
12
- skipSx: true
13
- })({
11
+ var PickersArrowSwitcherRoot = styled('div')({
14
12
  display: 'flex'
15
13
  });
16
14
  var PickersArrowSwitcherSpacer = styled('div', {
@@ -1,3 +1,4 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
1
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
3
  import _extends from "@babel/runtime/helpers/esm/extends";
3
4
  import * as React from 'react';
@@ -83,7 +84,8 @@ function useClickAwayListener(active, onClickAway) {
83
84
  // 2. The child might render null.
84
85
  // 3. Behave like a blur listener.
85
86
 
86
- if (!nodeRef.current || 'clientX' in event && clickedRootScrollbar(event, doc)) {
87
+ if (!nodeRef.current || // is a TouchEvent?
88
+ 'clientX' in event && clickedRootScrollbar(event, doc)) {
87
89
  return;
88
90
  } // Do not act if user performed touchmove
89
91
 
@@ -159,7 +161,9 @@ var PickersPopper = function PickersPopper(props) {
159
161
  role = props.role,
160
162
  _props$TransitionComp = props.TransitionComponent,
161
163
  TransitionComponent = _props$TransitionComp === void 0 ? Grow : _props$TransitionComp,
162
- TrapFocusProps = props.TrapFocusProps;
164
+ TrapFocusProps = props.TrapFocusProps,
165
+ _props$PaperProps = props.PaperProps,
166
+ PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps;
163
167
  React.useEffect(function () {
164
168
  function handleKeyDown(nativeEvent) {
165
169
  // IE11, Edge (prior to using Bink?) use 'Esc'
@@ -196,6 +200,11 @@ var PickersPopper = function PickersPopper(props) {
196
200
  var handleRef = useForkRef(paperRef, containerRef);
197
201
  var handlePaperRef = useForkRef(handleRef, clickAwayRef);
198
202
  var ownerState = props;
203
+
204
+ var onPaperClickProp = PaperProps.onClick,
205
+ onPaperTouchStartProp = PaperProps.onTouchStart,
206
+ otherPaperProps = _objectWithoutProperties(PaperProps, ["onClick", "onTouchStart"]);
207
+
199
208
  return /*#__PURE__*/_jsx(PickersPopperRoot, _extends({
200
209
  transition: true,
201
210
  role: role,
@@ -215,17 +224,30 @@ var PickersPopper = function PickersPopper(props) {
215
224
  }
216
225
  }, TrapFocusProps, {
217
226
  children: /*#__PURE__*/_jsx(TransitionComponent, _extends({}, TransitionProps, {
218
- children: /*#__PURE__*/_jsx(PickersPopperPaper, {
227
+ children: /*#__PURE__*/_jsx(PickersPopperPaper, _extends({
219
228
  tabIndex: -1,
220
229
  elevation: 8,
221
230
  ref: handlePaperRef,
222
- onClick: onPaperClick,
223
- onTouchStart: onPaperTouchStart,
231
+ onClick: function onClick(event) {
232
+ onPaperClick(event);
233
+
234
+ if (onPaperClickProp) {
235
+ onPaperClickProp(event);
236
+ }
237
+ },
238
+ onTouchStart: function onTouchStart(event) {
239
+ onPaperTouchStart(event);
240
+
241
+ if (onPaperTouchStartProp) {
242
+ onPaperTouchStartProp(event);
243
+ }
244
+ },
224
245
  ownerState: _extends({}, ownerState, {
225
246
  placement: placement
226
- }),
247
+ })
248
+ }, otherPaperProps, {
227
249
  children: _children
228
- })
250
+ }))
229
251
  }))
230
252
  }));
231
253
  }
@@ -11,7 +11,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
11
11
 
12
12
  import * as React from 'react';
13
13
  import { parseISO } from 'date-fns';
14
- import { createClientRender, fireEvent, screen } from 'test/utils';
14
+ import { createRenderer, fireEvent, screen } from 'test/utils';
15
15
  import AdapterDateFns from '@mui/lab/AdapterDateFns';
16
16
  import LocalizationProvider from '@mui/lab/LocalizationProvider'; // TODO make possible to pass here any utils using cli
17
17
 
@@ -84,7 +84,8 @@ export function createPickerRender() {
84
84
  var locale = _ref2.locale,
85
85
  renderOptions = _objectWithoutProperties(_ref2, ["locale"]);
86
86
 
87
- var clientRender = createClientRender(renderOptions);
87
+ var _createRenderer = createRenderer(renderOptions),
88
+ clientRender = _createRenderer.render;
88
89
 
89
90
  function Wrapper(_ref3) {
90
91
  var children = _ref3.children;
@@ -13,6 +13,7 @@ function DesktopWrapper(props) {
13
13
  onDismiss = props.onDismiss,
14
14
  open = props.open,
15
15
  PopperProps = props.PopperProps,
16
+ PaperProps = props.PaperProps,
16
17
  TransitionComponent = props.TransitionComponent;
17
18
  var ownInputRef = React.useRef(null);
18
19
  var inputRef = useForkRef(DateInputProps.inputRef, ownInputRef);
@@ -26,6 +27,7 @@ function DesktopWrapper(props) {
26
27
  anchorEl: ownInputRef.current,
27
28
  TransitionComponent: TransitionComponent,
28
29
  PopperProps: PopperProps,
30
+ PaperProps: PaperProps,
29
31
  onClose: onDismiss,
30
32
  children: children
31
33
  })]
@@ -230,6 +230,12 @@ process.env.NODE_ENV !== "production" ? CalendarPicker.propTypes
230
230
  */
231
231
  defaultCalendarMonth: PropTypes.any,
232
232
 
233
+ /**
234
+ * If `true`, the picker and text field are disabled.
235
+ * @default false
236
+ */
237
+ disabled: PropTypes.bool,
238
+
233
239
  /**
234
240
  * @default false
235
241
  */
@@ -278,6 +284,12 @@ process.env.NODE_ENV !== "production" ? CalendarPicker.propTypes
278
284
  */
279
285
  openTo: PropTypes.oneOf(['day', 'month', 'year']),
280
286
 
287
+ /**
288
+ * Make picker read only.
289
+ * @default false
290
+ */
291
+ readOnly: PropTypes.bool,
292
+
281
293
  /**
282
294
  * Disable heavy animations.
283
295
  * @default typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
@@ -70,6 +70,7 @@ function PickersCalendar(props) {
70
70
  className,
71
71
  currentMonth,
72
72
  date,
73
+ disabled,
73
74
  disableHighlightToday,
74
75
  focusedDay,
75
76
  isDateDisabled,
@@ -77,6 +78,7 @@ function PickersCalendar(props) {
77
78
  loading,
78
79
  onChange,
79
80
  onMonthSwitchingAnimationEnd,
81
+ readOnly,
80
82
  reduceAnimations,
81
83
  renderDay,
82
84
  renderLoading = () => _span || (_span = /*#__PURE__*/_jsx("span", {
@@ -89,10 +91,14 @@ function PickersCalendar(props) {
89
91
  const now = useNow();
90
92
  const utils = useUtils();
91
93
  const handleDaySelect = React.useCallback((day, isFinish = 'finish') => {
92
- // TODO possibly buggy line figure out and add tests
94
+ if (readOnly) {
95
+ return;
96
+ } // TODO possibly buggy line figure out and add tests
97
+
98
+
93
99
  const finalDate = Array.isArray(date) ? day : utils.mergeDateAndTime(day, date || now);
94
100
  onChange(finalDate, isFinish);
95
- }, [date, now, onChange, utils]);
101
+ }, [date, now, onChange, readOnly, utils]);
96
102
  const currentMonthNumber = utils.getMonth(currentMonth);
97
103
  const selectedDates = (Array.isArray(date) ? date : [date]).filter(Boolean).map(selectedDateItem => selectedDateItem && utils.startOfDay(selectedDateItem)); // need a new ref whenever the `key` of the transition changes: https://reactcommunity.org/react-transition-group/transition#Transition-prop-nodeRef.
98
104
 
@@ -126,7 +132,7 @@ function PickersCalendar(props) {
126
132
  key: day?.toString(),
127
133
  day,
128
134
  isAnimating: isMonthSwitchingAnimating,
129
- disabled: isDateDisabled(day),
135
+ disabled: disabled || isDateDisabled(day),
130
136
  allowSameDateSelection,
131
137
  autoFocus: autoFocus && focusedDay !== null && utils.isSameDay(day, focusedDay),
132
138
  today: utils.isSameDay(day, now),
@@ -74,6 +74,7 @@ function PickersCalendarHeader(props) {
74
74
  components = {},
75
75
  componentsProps = {},
76
76
  currentMonth: month,
77
+ disabled,
77
78
  disableFuture,
78
79
  disablePast,
79
80
  getViewSwitchingButtonText = getSwitchingViewAriaText,
@@ -95,16 +96,16 @@ function PickersCalendarHeader(props) {
95
96
  const selectPreviousMonth = () => onMonthChange(utils.getPreviousMonth(month), 'right');
96
97
 
97
98
  const isNextMonthDisabled = useNextMonthDisabled(month, {
98
- disableFuture,
99
+ disableFuture: disableFuture || disabled,
99
100
  maxDate
100
101
  });
101
102
  const isPreviousMonthDisabled = usePreviousMonthDisabled(month, {
102
- disablePast,
103
+ disablePast: disablePast || disabled,
103
104
  minDate
104
105
  });
105
106
 
106
107
  const handleToggleView = () => {
107
- if (views.length === 1 || !onViewChange) {
108
+ if (views.length === 1 || !onViewChange || disabled) {
108
109
  return;
109
110
  }
110
111
 
@@ -145,7 +146,7 @@ function PickersCalendarHeader(props) {
145
146
  ownerState: ownerState,
146
147
  children: utils.format(month, 'year')
147
148
  })
148
- }), views.length > 1 && /*#__PURE__*/_jsx(PickersCalendarHeaderSwitchViewButton, _extends({
149
+ }), views.length > 1 && !disabled && /*#__PURE__*/_jsx(PickersCalendarHeaderSwitchViewButton, _extends({
149
150
  size: "small",
150
151
  as: components.SwitchViewButton,
151
152
  "aria-label": getViewSwitchingButtonText(currentView)
@@ -9,10 +9,10 @@ const classes = generateUtilityClasses('PrivatePickersFadeTransitionGroup', ['ro
9
9
  const animationDuration = 500;
10
10
  const PickersFadeTransitionGroupRoot = styled(TransitionGroup, {
11
11
  skipSx: true
12
- })(() => ({
12
+ })({
13
13
  display: 'block',
14
14
  position: 'relative'
15
- }));
15
+ });
16
16
  /**
17
17
  * @ignore - do not document.
18
18
  */
@@ -144,6 +144,6 @@ process.env.NODE_ENV !== "production" ? CalendarPickerSkeleton.propTypes
144
144
  /**
145
145
  * The system prop that allows defining system overrides as well as additional CSS styles.
146
146
  */
147
- sx: PropTypes.object
147
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
148
148
  } : void 0;
149
149
  export default CalendarPickerSkeleton;
@@ -155,6 +155,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
155
155
 
156
156
  /**
157
157
  * If `true`, the picker and text field are disabled.
158
+ * @default false
158
159
  */
159
160
  disabled: PropTypes.bool,
160
161
 
@@ -334,6 +335,11 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
334
335
  */
335
336
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
336
337
 
338
+ /**
339
+ * Paper props passed down to [Paper](https://mui.com/api/paper/) component.
340
+ */
341
+ PaperProps: PropTypes.object,
342
+
337
343
  /**
338
344
  * Popper props passed down to [Popper](https://mui.com/api/popper/) component.
339
345
  */
@@ -341,6 +347,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
341
347
 
342
348
  /**
343
349
  * Make picker read only.
350
+ * @default false
344
351
  */
345
352
  readOnly: PropTypes.bool,
346
353
 
@@ -209,6 +209,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
209
209
 
210
210
  /**
211
211
  * If `true`, the picker and text field are disabled.
212
+ * @default false
212
213
  */
213
214
  disabled: PropTypes.bool,
214
215
 
@@ -387,6 +388,11 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
387
388
  */
388
389
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
389
390
 
391
+ /**
392
+ * Paper props passed down to [Paper](https://mui.com/api/paper/) component.
393
+ */
394
+ PaperProps: PropTypes.object,
395
+
390
396
  /**
391
397
  * Popper props passed down to [Popper](https://mui.com/api/popper/) component.
392
398
  */
@@ -394,6 +400,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
394
400
 
395
401
  /**
396
402
  * Make picker read only.
403
+ * @default false
397
404
  */
398
405
  readOnly: PropTypes.bool,
399
406
 
@@ -228,7 +228,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDay.propTypes
228
228
  /**
229
229
  * The system prop that allows defining system overrides as well as additional CSS styles.
230
230
  */
231
- sx: PropTypes.object
231
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
232
232
  } : void 0;
233
233
  /**
234
234
  *
@@ -172,6 +172,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
172
172
 
173
173
  /**
174
174
  * If `true`, the picker and text field are disabled.
175
+ * @default false
175
176
  */
176
177
  disabled: PropTypes.bool,
177
178
 
@@ -403,6 +404,11 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
403
404
  */
404
405
  orientation: PropTypes.oneOf(['landscape', 'portrait']),
405
406
 
407
+ /**
408
+ * Paper props passed down to [Paper](https://mui.com/api/paper/) component.
409
+ */
410
+ PaperProps: PropTypes.object,
411
+
406
412
  /**
407
413
  * Popper props passed down to [Popper](https://mui.com/api/popper/) component.
408
414
  */
@@ -410,6 +416,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
410
416
 
411
417
  /**
412
418
  * Make picker read only.
419
+ * @default false
413
420
  */
414
421
  readOnly: PropTypes.bool,
415
422