@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.
- package/CHANGELOG.md +107 -0
- package/CalendarPicker/CalendarPicker.d.ts +10 -0
- package/CalendarPicker/CalendarPicker.js +12 -0
- package/CalendarPicker/PickersCalendar.d.ts +2 -0
- package/CalendarPicker/PickersCalendar.js +9 -3
- package/CalendarPicker/PickersCalendarHeader.d.ts +1 -0
- package/CalendarPicker/PickersCalendarHeader.js +5 -4
- package/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
- package/DatePicker/DatePicker.js +2 -0
- package/DateRangePicker/DateRangePicker.js +2 -0
- package/DateRangePickerDay/DateRangePickerDay.js +1 -1
- package/DateTimePicker/DateTimePicker.js +2 -0
- package/DesktopDatePicker/DesktopDatePicker.js +2 -0
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
- package/LICENSE +21 -21
- package/LoadingButton/LoadingButton.js +1 -1
- package/Masonry/Masonry.js +15 -52
- package/MobileDatePicker/MobileDatePicker.js +2 -0
- package/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
- package/MonthPicker/MonthPicker.d.ts +4 -0
- package/MonthPicker/MonthPicker.js +20 -4
- package/PickersDay/PickersDay.js +1 -1
- package/StaticDatePicker/StaticDatePicker.js +2 -0
- package/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
- package/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
- package/TabPanel/TabPanel.js +1 -1
- package/Timeline/Timeline.js +1 -1
- package/TimelineConnector/TimelineConnector.js +1 -1
- package/TimelineContent/TimelineContent.js +1 -1
- package/TimelineDot/TimelineDot.js +1 -1
- package/TimelineItem/TimelineItem.js +1 -1
- package/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
- package/TimelineSeparator/TimelineSeparator.js +1 -1
- package/TreeItem/TreeItem.js +1 -1
- package/TreeView/TreeView.js +1 -1
- package/YearPicker/YearPicker.d.ts +2 -0
- package/YearPicker/YearPicker.js +17 -1
- package/index.js +1 -1
- package/internal/pickers/test-utils.js +4 -2
- package/legacy/CalendarPicker/CalendarPicker.js +12 -0
- package/legacy/CalendarPicker/PickersCalendar.js +10 -3
- package/legacy/CalendarPicker/PickersCalendarHeader.js +5 -4
- package/legacy/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
- package/legacy/DatePicker/DatePicker.js +2 -0
- package/legacy/DateRangePicker/DateRangePicker.js +2 -0
- package/legacy/DateRangePickerDay/DateRangePickerDay.js +1 -1
- package/legacy/DateTimePicker/DateTimePicker.js +2 -0
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -0
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
- package/legacy/LoadingButton/LoadingButton.js +1 -1
- package/legacy/Masonry/Masonry.js +15 -52
- package/legacy/MobileDatePicker/MobileDatePicker.js +2 -0
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
- package/legacy/MonthPicker/MonthPicker.js +19 -3
- package/legacy/PickersDay/PickersDay.js +1 -1
- package/legacy/StaticDatePicker/StaticDatePicker.js +2 -0
- package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
- package/legacy/TabPanel/TabPanel.js +1 -1
- package/legacy/Timeline/Timeline.js +1 -1
- package/legacy/TimelineConnector/TimelineConnector.js +1 -1
- package/legacy/TimelineContent/TimelineContent.js +1 -1
- package/legacy/TimelineDot/TimelineDot.js +1 -1
- package/legacy/TimelineItem/TimelineItem.js +1 -1
- package/legacy/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
- package/legacy/TimelineSeparator/TimelineSeparator.js +1 -1
- package/legacy/TreeItem/TreeItem.js +1 -1
- package/legacy/TreeView/TreeView.js +1 -1
- package/legacy/YearPicker/YearPicker.js +17 -1
- package/legacy/index.js +1 -1
- package/legacy/internal/pickers/test-utils.js +3 -2
- package/modern/CalendarPicker/CalendarPicker.js +12 -0
- package/modern/CalendarPicker/PickersCalendar.js +9 -3
- package/modern/CalendarPicker/PickersCalendarHeader.js +5 -4
- package/modern/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
- package/modern/DatePicker/DatePicker.js +2 -0
- package/modern/DateRangePicker/DateRangePicker.js +2 -0
- package/modern/DateRangePickerDay/DateRangePickerDay.js +1 -1
- package/modern/DateTimePicker/DateTimePicker.js +2 -0
- package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -0
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
- package/modern/LoadingButton/LoadingButton.js +1 -1
- package/modern/Masonry/Masonry.js +15 -52
- package/modern/MobileDatePicker/MobileDatePicker.js +2 -0
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
- package/modern/MonthPicker/MonthPicker.js +20 -4
- package/modern/PickersDay/PickersDay.js +1 -1
- package/modern/StaticDatePicker/StaticDatePicker.js +2 -0
- package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
- package/modern/TabPanel/TabPanel.js +1 -1
- package/modern/Timeline/Timeline.js +1 -1
- package/modern/TimelineConnector/TimelineConnector.js +1 -1
- package/modern/TimelineContent/TimelineContent.js +1 -1
- package/modern/TimelineDot/TimelineDot.js +1 -1
- package/modern/TimelineItem/TimelineItem.js +1 -1
- package/modern/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
- package/modern/TimelineSeparator/TimelineSeparator.js +1 -1
- package/modern/TreeItem/TreeItem.js +1 -1
- package/modern/TreeView/TreeView.js +1 -1
- package/modern/YearPicker/YearPicker.js +17 -1
- package/modern/index.js +1 -1
- package/modern/internal/pickers/test-utils.js +4 -2
- package/node/CalendarPicker/CalendarPicker.js +12 -0
- package/node/CalendarPicker/PickersCalendar.js +9 -3
- package/node/CalendarPicker/PickersCalendarHeader.js +5 -4
- package/node/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -1
- package/node/DatePicker/DatePicker.js +2 -0
- package/node/DateRangePicker/DateRangePicker.js +2 -0
- package/node/DateRangePickerDay/DateRangePickerDay.js +1 -1
- package/node/DateTimePicker/DateTimePicker.js +2 -0
- package/node/DesktopDatePicker/DesktopDatePicker.js +2 -0
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +2 -0
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -0
- package/node/LoadingButton/LoadingButton.js +1 -1
- package/node/Masonry/Masonry.js +19 -53
- package/node/MobileDatePicker/MobileDatePicker.js +2 -0
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -0
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -0
- package/node/MonthPicker/MonthPicker.js +20 -4
- package/node/PickersDay/PickersDay.js +1 -1
- package/node/StaticDatePicker/StaticDatePicker.js +2 -0
- package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -0
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -0
- package/node/TabPanel/TabPanel.js +1 -1
- package/node/Timeline/Timeline.js +1 -1
- package/node/TimelineConnector/TimelineConnector.js +1 -1
- package/node/TimelineContent/TimelineContent.js +1 -1
- package/node/TimelineDot/TimelineDot.js +1 -1
- package/node/TimelineItem/TimelineItem.js +1 -1
- package/node/TimelineOppositeContent/TimelineOppositeContent.js +1 -1
- package/node/TimelineSeparator/TimelineSeparator.js +1 -1
- package/node/TreeItem/TreeItem.js +1 -1
- package/node/TreeView/TreeView.js +1 -1
- package/node/YearPicker/YearPicker.js +17 -1
- package/node/index.js +1 -1
- package/node/internal/pickers/test-utils.js +3 -1
- package/package.json +6 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["className", "date", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "onMonthChange"];
|
|
3
|
+
const _excluded = ["className", "date", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "onMonthChange", "readOnly"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
@@ -43,12 +43,14 @@ const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps,
|
|
|
43
43
|
const {
|
|
44
44
|
className,
|
|
45
45
|
date,
|
|
46
|
+
disabled,
|
|
46
47
|
disableFuture,
|
|
47
48
|
disablePast,
|
|
48
49
|
maxDate,
|
|
49
50
|
minDate,
|
|
50
51
|
onChange,
|
|
51
|
-
onMonthChange
|
|
52
|
+
onMonthChange,
|
|
53
|
+
readOnly
|
|
52
54
|
} = props,
|
|
53
55
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
54
56
|
|
|
@@ -67,6 +69,10 @@ const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps,
|
|
|
67
69
|
};
|
|
68
70
|
|
|
69
71
|
const onMonthSelect = month => {
|
|
72
|
+
if (readOnly) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
70
76
|
const newDate = utils.setMonth(date || now, month);
|
|
71
77
|
onChange(newDate, 'finish');
|
|
72
78
|
|
|
@@ -87,7 +93,7 @@ const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps,
|
|
|
87
93
|
value: monthNumber,
|
|
88
94
|
selected: monthNumber === currentMonth,
|
|
89
95
|
onSelect: onMonthSelect,
|
|
90
|
-
disabled: shouldDisableMonth(month),
|
|
96
|
+
disabled: disabled || shouldDisableMonth(month),
|
|
91
97
|
children: monthText
|
|
92
98
|
}, monthText);
|
|
93
99
|
})
|
|
@@ -116,6 +122,11 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes
|
|
|
116
122
|
*/
|
|
117
123
|
date: PropTypes.any,
|
|
118
124
|
|
|
125
|
+
/**
|
|
126
|
+
* If `true` picker is disabled
|
|
127
|
+
*/
|
|
128
|
+
disabled: PropTypes.bool,
|
|
129
|
+
|
|
119
130
|
/**
|
|
120
131
|
* If `true` future days are disabled.
|
|
121
132
|
*/
|
|
@@ -146,10 +157,15 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes
|
|
|
146
157
|
*/
|
|
147
158
|
onMonthChange: PropTypes.func,
|
|
148
159
|
|
|
160
|
+
/**
|
|
161
|
+
* If `true` picker is readonly
|
|
162
|
+
*/
|
|
163
|
+
readOnly: PropTypes.bool,
|
|
164
|
+
|
|
149
165
|
/**
|
|
150
166
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
151
167
|
*/
|
|
152
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
168
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
153
169
|
} : void 0;
|
|
154
170
|
/**
|
|
155
171
|
*
|
package/PickersDay/PickersDay.js
CHANGED
|
@@ -374,7 +374,7 @@ process.env.NODE_ENV !== "production" ? PickersDay.propTypes
|
|
|
374
374
|
/**
|
|
375
375
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
376
376
|
*/
|
|
377
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
377
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
|
|
378
378
|
|
|
379
379
|
/**
|
|
380
380
|
* If `true`, renders as today date.
|
|
@@ -121,6 +121,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes
|
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
123
|
* If `true`, the picker and text field are disabled.
|
|
124
|
+
* @default false
|
|
124
125
|
*/
|
|
125
126
|
disabled: PropTypes.bool,
|
|
126
127
|
|
|
@@ -302,6 +303,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes
|
|
|
302
303
|
|
|
303
304
|
/**
|
|
304
305
|
* Make picker read only.
|
|
306
|
+
* @default false
|
|
305
307
|
*/
|
|
306
308
|
readOnly: PropTypes.bool,
|
|
307
309
|
|
|
@@ -170,6 +170,7 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.propTypes
|
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
172
|
* If `true`, the picker and text field are disabled.
|
|
173
|
+
* @default false
|
|
173
174
|
*/
|
|
174
175
|
disabled: PropTypes.bool,
|
|
175
176
|
|
|
@@ -348,6 +349,7 @@ process.env.NODE_ENV !== "production" ? StaticDateRangePicker.propTypes
|
|
|
348
349
|
|
|
349
350
|
/**
|
|
350
351
|
* Make picker read only.
|
|
352
|
+
* @default false
|
|
351
353
|
*/
|
|
352
354
|
readOnly: PropTypes.bool,
|
|
353
355
|
|
|
@@ -138,6 +138,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes
|
|
|
138
138
|
|
|
139
139
|
/**
|
|
140
140
|
* If `true`, the picker and text field are disabled.
|
|
141
|
+
* @default false
|
|
141
142
|
*/
|
|
142
143
|
disabled: PropTypes.bool,
|
|
143
144
|
|
|
@@ -371,6 +372,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes
|
|
|
371
372
|
|
|
372
373
|
/**
|
|
373
374
|
* Make picker read only.
|
|
375
|
+
* @default false
|
|
374
376
|
*/
|
|
375
377
|
readOnly: PropTypes.bool,
|
|
376
378
|
|
package/TabPanel/TabPanel.js
CHANGED
|
@@ -91,7 +91,7 @@ process.env.NODE_ENV !== "production" ? TabPanel.propTypes
|
|
|
91
91
|
/**
|
|
92
92
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
93
93
|
*/
|
|
94
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
94
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* The `value` of the corresponding `Tab`. Must use the index of the `Tab` when
|
package/Timeline/Timeline.js
CHANGED
|
@@ -109,7 +109,7 @@ process.env.NODE_ENV !== "production" ? Timeline.propTypes
|
|
|
109
109
|
/**
|
|
110
110
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
111
111
|
*/
|
|
112
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
112
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
113
113
|
} : void 0;
|
|
114
114
|
/**
|
|
115
115
|
*
|
|
@@ -77,6 +77,6 @@ process.env.NODE_ENV !== "production" ? TimelineConnector.propTypes
|
|
|
77
77
|
/**
|
|
78
78
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
79
79
|
*/
|
|
80
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
80
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
81
81
|
} : void 0;
|
|
82
82
|
export default TimelineConnector;
|
|
@@ -94,6 +94,6 @@ process.env.NODE_ENV !== "production" ? TimelineContent.propTypes
|
|
|
94
94
|
/**
|
|
95
95
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
96
96
|
*/
|
|
97
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
97
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
98
98
|
} : void 0;
|
|
99
99
|
export default TimelineContent;
|
|
@@ -116,7 +116,7 @@ process.env.NODE_ENV !== "production" ? TimelineDot.propTypes
|
|
|
116
116
|
/**
|
|
117
117
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
118
118
|
*/
|
|
119
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
119
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
122
|
* The dot can appear filled or outlined.
|
|
@@ -130,6 +130,6 @@ process.env.NODE_ENV !== "production" ? TimelineItem.propTypes
|
|
|
130
130
|
/**
|
|
131
131
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
132
132
|
*/
|
|
133
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
133
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
134
134
|
} : void 0;
|
|
135
135
|
export default TimelineItem;
|
|
@@ -95,7 +95,7 @@ process.env.NODE_ENV !== "production" ? TimelineOppositeContent.propTypes
|
|
|
95
95
|
/**
|
|
96
96
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
97
97
|
*/
|
|
98
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
98
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
99
99
|
} : void 0;
|
|
100
100
|
TimelineOppositeContent.muiName = 'TimelineOppositeContent';
|
|
101
101
|
export default TimelineOppositeContent;
|
|
@@ -74,6 +74,6 @@ process.env.NODE_ENV !== "production" ? TimelineSeparator.propTypes
|
|
|
74
74
|
/**
|
|
75
75
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
76
76
|
*/
|
|
77
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
77
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
78
78
|
} : void 0;
|
|
79
79
|
export default TimelineSeparator;
|
package/TreeItem/TreeItem.js
CHANGED
|
@@ -405,7 +405,7 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes
|
|
|
405
405
|
/**
|
|
406
406
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
407
407
|
*/
|
|
408
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
408
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object]),
|
|
409
409
|
|
|
410
410
|
/**
|
|
411
411
|
* The component used for the transition.
|
package/TreeView/TreeView.js
CHANGED
|
@@ -973,6 +973,6 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes
|
|
|
973
973
|
/**
|
|
974
974
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
975
975
|
*/
|
|
976
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
976
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
977
977
|
} : void 0;
|
|
978
978
|
export default TreeView;
|
|
@@ -20,6 +20,7 @@ export interface YearPickerProps<TDate> extends ExportedYearPickerProps<TDate> {
|
|
|
20
20
|
root?: string;
|
|
21
21
|
};
|
|
22
22
|
date: TDate | null;
|
|
23
|
+
disabled?: boolean;
|
|
23
24
|
disableFuture?: boolean | null;
|
|
24
25
|
disablePast?: boolean | null;
|
|
25
26
|
isDateDisabled: (day: TDate) => boolean;
|
|
@@ -27,6 +28,7 @@ export interface YearPickerProps<TDate> extends ExportedYearPickerProps<TDate> {
|
|
|
27
28
|
maxDate: TDate;
|
|
28
29
|
onChange: PickerOnChangeFn<TDate>;
|
|
29
30
|
onFocusedDayChange?: (day: TDate) => void;
|
|
31
|
+
readOnly?: boolean;
|
|
30
32
|
}
|
|
31
33
|
declare const _default: <TDate>(props: YearPickerProps<TDate>) => JSX.Element;
|
|
32
34
|
/**
|
package/YearPicker/YearPicker.js
CHANGED
|
@@ -41,6 +41,7 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
|
|
|
41
41
|
autoFocus,
|
|
42
42
|
className,
|
|
43
43
|
date,
|
|
44
|
+
disabled,
|
|
44
45
|
disableFuture,
|
|
45
46
|
disablePast,
|
|
46
47
|
isDateDisabled,
|
|
@@ -49,6 +50,7 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
|
|
|
49
50
|
onChange,
|
|
50
51
|
onFocusedDayChange,
|
|
51
52
|
onYearChange,
|
|
53
|
+
readOnly,
|
|
52
54
|
shouldDisableYear
|
|
53
55
|
} = props;
|
|
54
56
|
const ownerState = props;
|
|
@@ -63,6 +65,10 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
|
|
|
63
65
|
const [focusedYear, setFocusedYear] = React.useState(currentYear);
|
|
64
66
|
|
|
65
67
|
const handleYearSelection = (event, year, isFinish = 'finish') => {
|
|
68
|
+
if (readOnly) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
66
72
|
const submitDate = newDate => {
|
|
67
73
|
onChange(newDate, isFinish);
|
|
68
74
|
|
|
@@ -141,7 +147,7 @@ const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, re
|
|
|
141
147
|
onKeyDown: handleKeyDown,
|
|
142
148
|
autoFocus: autoFocus && yearNumber === focusedYear,
|
|
143
149
|
ref: selected ? selectedYearRef : undefined,
|
|
144
|
-
disabled: disablePast && utils.isBeforeYear(year, now) || disableFuture && utils.isAfterYear(year, now) || shouldDisableYear && shouldDisableYear(year),
|
|
150
|
+
disabled: disabled || disablePast && utils.isBeforeYear(year, now) || disableFuture && utils.isAfterYear(year, now) || shouldDisableYear && shouldDisableYear(year),
|
|
145
151
|
children: utils.format(year, 'year')
|
|
146
152
|
}, utils.format(year, 'year'));
|
|
147
153
|
})
|
|
@@ -175,6 +181,11 @@ process.env.NODE_ENV !== "production" ? YearPicker.propTypes
|
|
|
175
181
|
*/
|
|
176
182
|
date: PropTypes.any,
|
|
177
183
|
|
|
184
|
+
/**
|
|
185
|
+
* @ignore
|
|
186
|
+
*/
|
|
187
|
+
disabled: PropTypes.bool,
|
|
188
|
+
|
|
178
189
|
/**
|
|
179
190
|
* @ignore
|
|
180
191
|
*/
|
|
@@ -215,6 +226,11 @@ process.env.NODE_ENV !== "production" ? YearPicker.propTypes
|
|
|
215
226
|
*/
|
|
216
227
|
onYearChange: PropTypes.func,
|
|
217
228
|
|
|
229
|
+
/**
|
|
230
|
+
* @ignore
|
|
231
|
+
*/
|
|
232
|
+
readOnly: PropTypes.bool,
|
|
233
|
+
|
|
218
234
|
/**
|
|
219
235
|
* Disable specific years dynamically.
|
|
220
236
|
* Works like `shouldDisableDate` but for year selection view @DateIOType.
|
package/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
const _excluded = ["locale"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { parseISO } from 'date-fns';
|
|
6
|
-
import {
|
|
6
|
+
import { createRenderer, fireEvent, screen } from 'test/utils';
|
|
7
7
|
import AdapterDateFns from '@mui/lab/AdapterDateFns';
|
|
8
8
|
import LocalizationProvider from '@mui/lab/LocalizationProvider'; // TODO make possible to pass here any utils using cli
|
|
9
9
|
|
|
@@ -60,7 +60,9 @@ export function createPickerRender(_ref = {}) {
|
|
|
60
60
|
} = _ref,
|
|
61
61
|
renderOptions = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
62
62
|
|
|
63
|
-
const
|
|
63
|
+
const {
|
|
64
|
+
render: clientRender
|
|
65
|
+
} = createRenderer(renderOptions);
|
|
64
66
|
|
|
65
67
|
function Wrapper({
|
|
66
68
|
children
|
|
@@ -241,6 +241,12 @@ process.env.NODE_ENV !== "production" ? CalendarPicker.propTypes
|
|
|
241
241
|
*/
|
|
242
242
|
defaultCalendarMonth: PropTypes.any,
|
|
243
243
|
|
|
244
|
+
/**
|
|
245
|
+
* If `true`, the picker and text field are disabled.
|
|
246
|
+
* @default false
|
|
247
|
+
*/
|
|
248
|
+
disabled: PropTypes.bool,
|
|
249
|
+
|
|
244
250
|
/**
|
|
245
251
|
* @default false
|
|
246
252
|
*/
|
|
@@ -289,6 +295,12 @@ process.env.NODE_ENV !== "production" ? CalendarPicker.propTypes
|
|
|
289
295
|
*/
|
|
290
296
|
openTo: PropTypes.oneOf(['day', 'month', 'year']),
|
|
291
297
|
|
|
298
|
+
/**
|
|
299
|
+
* Make picker read only.
|
|
300
|
+
* @default false
|
|
301
|
+
*/
|
|
302
|
+
readOnly: PropTypes.bool,
|
|
303
|
+
|
|
292
304
|
/**
|
|
293
305
|
* Disable heavy animations.
|
|
294
306
|
* @default typeof navigator !== 'undefined' && /(android)/i.test(navigator.userAgent)
|
|
@@ -70,6 +70,7 @@ function PickersCalendar(props) {
|
|
|
70
70
|
className = props.className,
|
|
71
71
|
currentMonth = props.currentMonth,
|
|
72
72
|
date = props.date,
|
|
73
|
+
disabled = props.disabled,
|
|
73
74
|
disableHighlightToday = props.disableHighlightToday,
|
|
74
75
|
focusedDay = props.focusedDay,
|
|
75
76
|
isDateDisabled = props.isDateDisabled,
|
|
@@ -77,6 +78,7 @@ function PickersCalendar(props) {
|
|
|
77
78
|
loading = props.loading,
|
|
78
79
|
onChange = props.onChange,
|
|
79
80
|
onMonthSwitchingAnimationEnd = props.onMonthSwitchingAnimationEnd,
|
|
81
|
+
readOnly = props.readOnly,
|
|
80
82
|
reduceAnimations = props.reduceAnimations,
|
|
81
83
|
renderDay = props.renderDay,
|
|
82
84
|
_props$renderLoading = props.renderLoading,
|
|
@@ -92,10 +94,15 @@ function PickersCalendar(props) {
|
|
|
92
94
|
var utils = useUtils();
|
|
93
95
|
var handleDaySelect = React.useCallback(function (day) {
|
|
94
96
|
var isFinish = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'finish';
|
|
95
|
-
|
|
97
|
+
|
|
98
|
+
if (readOnly) {
|
|
99
|
+
return;
|
|
100
|
+
} // TODO possibly buggy line figure out and add tests
|
|
101
|
+
|
|
102
|
+
|
|
96
103
|
var finalDate = Array.isArray(date) ? day : utils.mergeDateAndTime(day, date || now);
|
|
97
104
|
onChange(finalDate, isFinish);
|
|
98
|
-
}, [date, now, onChange, utils]);
|
|
105
|
+
}, [date, now, onChange, readOnly, utils]);
|
|
99
106
|
var currentMonthNumber = utils.getMonth(currentMonth);
|
|
100
107
|
var selectedDates = (Array.isArray(date) ? date : [date]).filter(Boolean).map(function (selectedDateItem) {
|
|
101
108
|
return selectedDateItem && utils.startOfDay(selectedDateItem);
|
|
@@ -136,7 +143,7 @@ function PickersCalendar(props) {
|
|
|
136
143
|
key: day == null ? void 0 : day.toString(),
|
|
137
144
|
day: day,
|
|
138
145
|
isAnimating: isMonthSwitchingAnimating,
|
|
139
|
-
disabled: isDateDisabled(day),
|
|
146
|
+
disabled: disabled || isDateDisabled(day),
|
|
140
147
|
allowSameDateSelection: allowSameDateSelection,
|
|
141
148
|
autoFocus: autoFocus && focusedDay !== null && utils.isSameDay(day, focusedDay),
|
|
142
149
|
today: utils.isSameDay(day, now),
|
|
@@ -77,6 +77,7 @@ function PickersCalendarHeader(props) {
|
|
|
77
77
|
_props$componentsProp = props.componentsProps,
|
|
78
78
|
componentsProps = _props$componentsProp === void 0 ? {} : _props$componentsProp,
|
|
79
79
|
month = props.currentMonth,
|
|
80
|
+
disabled = props.disabled,
|
|
80
81
|
disableFuture = props.disableFuture,
|
|
81
82
|
disablePast = props.disablePast,
|
|
82
83
|
_props$getViewSwitchi = props.getViewSwitchingButtonText,
|
|
@@ -104,16 +105,16 @@ function PickersCalendarHeader(props) {
|
|
|
104
105
|
};
|
|
105
106
|
|
|
106
107
|
var isNextMonthDisabled = useNextMonthDisabled(month, {
|
|
107
|
-
disableFuture: disableFuture,
|
|
108
|
+
disableFuture: disableFuture || disabled,
|
|
108
109
|
maxDate: maxDate
|
|
109
110
|
});
|
|
110
111
|
var isPreviousMonthDisabled = usePreviousMonthDisabled(month, {
|
|
111
|
-
disablePast: disablePast,
|
|
112
|
+
disablePast: disablePast || disabled,
|
|
112
113
|
minDate: minDate
|
|
113
114
|
});
|
|
114
115
|
|
|
115
116
|
var handleToggleView = function handleToggleView() {
|
|
116
|
-
if (views.length === 1 || !onViewChange) {
|
|
117
|
+
if (views.length === 1 || !onViewChange || disabled) {
|
|
117
118
|
return;
|
|
118
119
|
}
|
|
119
120
|
|
|
@@ -156,7 +157,7 @@ function PickersCalendarHeader(props) {
|
|
|
156
157
|
ownerState: ownerState,
|
|
157
158
|
children: utils.format(month, 'year')
|
|
158
159
|
})
|
|
159
|
-
}), views.length > 1 && /*#__PURE__*/_jsx(PickersCalendarHeaderSwitchViewButton, _extends({
|
|
160
|
+
}), views.length > 1 && !disabled && /*#__PURE__*/_jsx(PickersCalendarHeaderSwitchViewButton, _extends({
|
|
160
161
|
size: "small",
|
|
161
162
|
as: components.SwitchViewButton,
|
|
162
163
|
"aria-label": getViewSwitchingButtonText(currentView)
|
|
@@ -150,6 +150,6 @@ process.env.NODE_ENV !== "production" ? CalendarPickerSkeleton.propTypes
|
|
|
150
150
|
/**
|
|
151
151
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
152
152
|
*/
|
|
153
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
153
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
154
154
|
} : void 0;
|
|
155
155
|
export default CalendarPickerSkeleton;
|
|
@@ -153,6 +153,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
|
|
|
153
153
|
|
|
154
154
|
/**
|
|
155
155
|
* If `true`, the picker and text field are disabled.
|
|
156
|
+
* @default false
|
|
156
157
|
*/
|
|
157
158
|
disabled: PropTypes.bool,
|
|
158
159
|
|
|
@@ -344,6 +345,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes
|
|
|
344
345
|
|
|
345
346
|
/**
|
|
346
347
|
* Make picker read only.
|
|
348
|
+
* @default false
|
|
347
349
|
*/
|
|
348
350
|
readOnly: PropTypes.bool,
|
|
349
351
|
|
|
@@ -215,6 +215,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
|
|
|
215
215
|
|
|
216
216
|
/**
|
|
217
217
|
* If `true`, the picker and text field are disabled.
|
|
218
|
+
* @default false
|
|
218
219
|
*/
|
|
219
220
|
disabled: PropTypes.bool,
|
|
220
221
|
|
|
@@ -405,6 +406,7 @@ process.env.NODE_ENV !== "production" ? DateRangePicker.propTypes
|
|
|
405
406
|
|
|
406
407
|
/**
|
|
407
408
|
* Make picker read only.
|
|
409
|
+
* @default false
|
|
408
410
|
*/
|
|
409
411
|
readOnly: PropTypes.bool,
|
|
410
412
|
|
|
@@ -233,7 +233,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerDay.propTypes
|
|
|
233
233
|
/**
|
|
234
234
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
235
235
|
*/
|
|
236
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
236
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
237
237
|
} : void 0;
|
|
238
238
|
/**
|
|
239
239
|
*
|
|
@@ -170,6 +170,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
|
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
172
|
* If `true`, the picker and text field are disabled.
|
|
173
|
+
* @default false
|
|
173
174
|
*/
|
|
174
175
|
disabled: PropTypes.bool,
|
|
175
176
|
|
|
@@ -413,6 +414,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes
|
|
|
413
414
|
|
|
414
415
|
/**
|
|
415
416
|
* Make picker read only.
|
|
417
|
+
* @default false
|
|
416
418
|
*/
|
|
417
419
|
readOnly: PropTypes.bool,
|
|
418
420
|
|
|
@@ -136,6 +136,7 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes
|
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
138
|
* If `true`, the picker and text field are disabled.
|
|
139
|
+
* @default false
|
|
139
140
|
*/
|
|
140
141
|
disabled: PropTypes.bool,
|
|
141
142
|
|
|
@@ -321,6 +322,7 @@ process.env.NODE_ENV !== "production" ? DesktopDatePicker.propTypes
|
|
|
321
322
|
|
|
322
323
|
/**
|
|
323
324
|
* Make picker read only.
|
|
325
|
+
* @default false
|
|
324
326
|
*/
|
|
325
327
|
readOnly: PropTypes.bool,
|
|
326
328
|
|
|
@@ -187,6 +187,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes
|
|
|
187
187
|
|
|
188
188
|
/**
|
|
189
189
|
* If `true`, the picker and text field are disabled.
|
|
190
|
+
* @default false
|
|
190
191
|
*/
|
|
191
192
|
disabled: PropTypes.bool,
|
|
192
193
|
|
|
@@ -371,6 +372,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateRangePicker.propTypes
|
|
|
371
372
|
|
|
372
373
|
/**
|
|
373
374
|
* Make picker read only.
|
|
375
|
+
* @default false
|
|
374
376
|
*/
|
|
375
377
|
readOnly: PropTypes.bool,
|
|
376
378
|
|
|
@@ -151,6 +151,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes
|
|
|
151
151
|
|
|
152
152
|
/**
|
|
153
153
|
* If `true`, the picker and text field are disabled.
|
|
154
|
+
* @default false
|
|
154
155
|
*/
|
|
155
156
|
disabled: PropTypes.bool,
|
|
156
157
|
|
|
@@ -388,6 +389,7 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePicker.propTypes
|
|
|
388
389
|
|
|
389
390
|
/**
|
|
390
391
|
* Make picker read only.
|
|
392
|
+
* @default false
|
|
391
393
|
*/
|
|
392
394
|
readOnly: PropTypes.bool,
|
|
393
395
|
|
|
@@ -206,6 +206,6 @@ process.env.NODE_ENV !== "production" ? LoadingButton.propTypes
|
|
|
206
206
|
/**
|
|
207
207
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
208
208
|
*/
|
|
209
|
-
sx: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
209
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object])), PropTypes.func, PropTypes.object])
|
|
210
210
|
} : void 0;
|
|
211
211
|
export default LoadingButton;
|