@mui/x-date-pickers 6.10.2 → 6.11.1
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/AdapterDayjs/AdapterDayjs.d.ts +8 -1
- package/AdapterDayjs/AdapterDayjs.js +66 -38
- package/CHANGELOG.md +154 -0
- package/DateCalendar/DateCalendar.d.ts +1 -1
- package/DateCalendar/DateCalendar.js +48 -38
- package/DateCalendar/DateCalendar.types.d.ts +9 -1
- package/DateCalendar/index.d.ts +1 -2
- package/DateCalendar/index.js +3 -2
- package/DateCalendar/useCalendarState.d.ts +1 -1
- package/DateField/DateField.d.ts +1 -1
- package/DateField/DateField.js +3 -2
- package/DatePicker/DatePicker.d.ts +1 -1
- package/DatePicker/DatePickerToolbar.d.ts +1 -1
- package/DateTimeField/DateTimeField.d.ts +1 -1
- package/DateTimeField/DateTimeField.js +3 -2
- package/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/DateTimePicker/DateTimePickerToolbar.js +4 -3
- package/DayCalendarSkeleton/DayCalendarSkeleton.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +2 -2
- package/DigitalClock/DigitalClock.d.ts +1 -1
- package/LocalizationProvider/LocalizationProvider.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +2 -2
- package/MonthCalendar/MonthCalendar.d.ts +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +1 -1
- package/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.d.ts +21 -9
- package/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +72 -28
- package/PickersCalendarHeader/index.d.ts +4 -0
- package/PickersCalendarHeader/index.js +2 -0
- package/PickersCalendarHeader/package.json +6 -0
- package/PickersDay/PickersDay.d.ts +1 -1
- package/PickersDay/PickersDay.js +1 -0
- package/PickersShortcuts/PickersShortcuts.js +1 -0
- package/StaticDatePicker/StaticDatePicker.d.ts +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -1
- package/StaticTimePicker/StaticTimePicker.d.ts +1 -1
- package/TimeClock/ClockNumbers.d.ts +1 -1
- package/TimeClock/TimeClock.d.ts +1 -1
- package/TimeField/TimeField.d.ts +1 -1
- package/TimeField/TimeField.js +3 -2
- package/TimePicker/TimePicker.d.ts +1 -1
- package/TimePicker/TimePickerToolbar.js +3 -2
- package/YearCalendar/YearCalendar.d.ts +2 -2
- package/index.js +1 -1
- package/internals/components/PickersModalDialog.d.ts +2 -2
- package/internals/components/PickersPopper.d.ts +3 -3
- package/internals/components/PickersToolbar.d.ts +1 -1
- package/internals/hooks/date-helpers-hooks.d.ts +1 -2
- package/internals/hooks/useDefaultReduceAnimations.d.ts +2 -0
- package/internals/hooks/useDefaultReduceAnimations.js +9 -0
- package/internals/hooks/useField/useField.js +10 -5
- package/internals/hooks/useField/useField.utils.d.ts +1 -1
- package/internals/hooks/useField/useField.utils.js +6 -5
- package/internals/hooks/usePicker/usePickerValue.js +1 -1
- package/internals/index.d.ts +1 -3
- package/internals/index.js +1 -2
- package/internals/utils/date-utils.d.ts +1 -0
- package/internals/utils/date-utils.js +4 -0
- package/internals/utils/valueManagers.js +1 -1
- package/legacy/AdapterDayjs/AdapterDayjs.js +64 -38
- package/legacy/DateCalendar/DateCalendar.js +50 -40
- package/legacy/DateCalendar/index.js +3 -2
- package/legacy/DateField/DateField.js +3 -2
- package/legacy/DateTimeField/DateTimeField.js +3 -2
- package/legacy/DateTimePicker/DateTimePickerToolbar.js +4 -3
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +2 -2
- package/legacy/MobileDatePicker/MobileDatePicker.js +2 -2
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/legacy/MobileTimePicker/MobileTimePicker.js +2 -2
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
- package/legacy/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +57 -13
- package/legacy/PickersCalendarHeader/index.js +2 -0
- package/legacy/PickersDay/PickersDay.js +1 -0
- package/legacy/PickersShortcuts/PickersShortcuts.js +1 -0
- package/legacy/TimeField/TimeField.js +3 -2
- package/legacy/TimePicker/TimePickerToolbar.js +3 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/hooks/useDefaultReduceAnimations.js +9 -0
- package/legacy/internals/hooks/useField/useField.js +10 -5
- package/legacy/internals/hooks/useField/useField.utils.js +6 -5
- package/legacy/internals/hooks/usePicker/usePickerValue.js +1 -1
- package/legacy/internals/index.js +1 -2
- package/legacy/internals/utils/date-utils.js +4 -0
- package/legacy/internals/utils/valueManagers.js +1 -1
- package/legacy/locales/fiFI.js +8 -5
- package/legacy/locales/isIS.js +33 -16
- package/legacy/tests/describeGregorianAdapter/testCalculations.js +63 -16
- package/legacy/tests/describeValue/describeValue.js +2 -1
- package/legacy/tests/describeValue/testPickerActionBar.js +12 -28
- package/legacy/tests/describeValue/testShortcuts.js +119 -0
- package/locales/fiFI.js +4 -5
- package/locales/isIS.js +13 -16
- package/models/adapters.d.ts +1 -0
- package/modern/AdapterDayjs/AdapterDayjs.js +65 -38
- package/modern/DateCalendar/DateCalendar.js +46 -38
- package/modern/DateCalendar/index.js +3 -2
- package/modern/DateField/DateField.js +3 -2
- package/modern/DateTimeField/DateTimeField.js +3 -2
- package/modern/DateTimePicker/DateTimePickerToolbar.js +4 -3
- package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -1
- package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +1 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
- package/modern/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +72 -28
- package/modern/PickersCalendarHeader/index.js +2 -0
- package/modern/PickersDay/PickersDay.js +1 -0
- package/modern/PickersShortcuts/PickersShortcuts.js +1 -0
- package/modern/TimeField/TimeField.js +3 -2
- package/modern/TimePicker/TimePickerToolbar.js +3 -2
- package/modern/index.js +1 -1
- package/modern/internals/hooks/useDefaultReduceAnimations.js +9 -0
- package/modern/internals/hooks/useField/useField.js +10 -5
- package/modern/internals/hooks/useField/useField.utils.js +6 -5
- package/modern/internals/hooks/usePicker/usePickerValue.js +1 -1
- package/modern/internals/index.js +1 -2
- package/modern/internals/utils/date-utils.js +4 -0
- package/modern/internals/utils/valueManagers.js +1 -1
- package/modern/locales/fiFI.js +4 -5
- package/modern/locales/isIS.js +13 -16
- package/modern/tests/describeGregorianAdapter/testCalculations.js +63 -16
- package/modern/tests/describeValue/describeValue.js +2 -1
- package/modern/tests/describeValue/testPickerActionBar.js +12 -28
- package/modern/tests/describeValue/testShortcuts.js +112 -0
- package/node/AdapterDayjs/AdapterDayjs.js +65 -38
- package/node/DateCalendar/DateCalendar.js +52 -44
- package/node/DateCalendar/index.js +21 -8
- package/node/DateField/DateField.js +3 -2
- package/node/DateTimeField/DateTimeField.js +3 -2
- package/node/DateTimePicker/DateTimePickerToolbar.js +4 -3
- package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -1
- package/node/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/node/MobileDatePicker/MobileDatePicker.js +1 -1
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
- package/node/MobileTimePicker/MobileTimePicker.js +1 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
- package/node/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +73 -29
- package/node/PickersCalendarHeader/index.js +19 -0
- package/node/PickersDay/PickersDay.js +1 -0
- package/node/PickersShortcuts/PickersShortcuts.js +1 -0
- package/node/TimeField/TimeField.js +3 -2
- package/node/TimePicker/TimePickerToolbar.js +3 -2
- package/node/index.js +1 -1
- package/node/internals/hooks/useDefaultReduceAnimations.js +18 -0
- package/node/internals/hooks/useField/useField.js +10 -5
- package/node/internals/hooks/useField/useField.utils.js +6 -5
- package/node/internals/hooks/usePicker/usePickerValue.js +1 -1
- package/node/internals/index.js +7 -14
- package/node/internals/utils/date-utils.js +6 -1
- package/node/internals/utils/valueManagers.js +1 -1
- package/node/locales/fiFI.js +4 -5
- package/node/locales/isIS.js +13 -16
- package/node/tests/describeGregorianAdapter/testCalculations.js +61 -16
- package/node/tests/describeValue/describeValue.js +2 -1
- package/node/tests/describeValue/testPickerActionBar.js +12 -28
- package/node/tests/describeValue/testShortcuts.js +122 -0
- package/package.json +3 -3
- package/tests/describeGregorianAdapter/testCalculations.js +63 -16
- package/tests/describeValue/describeValue.js +2 -1
- package/tests/describeValue/testPickerActionBar.js +12 -28
- package/tests/describeValue/testShortcuts.js +112 -0
- package/themeAugmentation/components.d.ts +6 -14
- package/themeAugmentation/overrides.d.ts +0 -20
- package/themeAugmentation/props.d.ts +6 -2
- package/internals/utils/defaultReduceAnimations.d.ts +0 -1
- package/internals/utils/defaultReduceAnimations.js +0 -1
- package/legacy/internals/utils/defaultReduceAnimations.js +0 -1
- package/modern/internals/utils/defaultReduceAnimations.js +0 -1
- package/node/internals/utils/defaultReduceAnimations.js +0 -8
- /package/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.d.ts +0 -0
- /package/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.js +0 -0
- /package/legacy/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.js +0 -0
- /package/modern/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.js +0 -0
- /package/node/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.js +0 -0
|
@@ -11,6 +11,7 @@ var _chai = require("chai");
|
|
|
11
11
|
var _sinon = require("sinon");
|
|
12
12
|
var _utils = require("@mui/monorepo/test/utils");
|
|
13
13
|
var _pickersUtils = require("test/utils/pickers-utils");
|
|
14
|
+
var _assertions = require("test/utils/pickers/assertions");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
const _excluded = ["componentFamily", "render", "renderWithProps", "values", "emptyValue", "setNewValue"];
|
|
16
17
|
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); }
|
|
@@ -50,21 +51,9 @@ const testPickerActionBar = (ElementToTest, options) => {
|
|
|
50
51
|
// Clear the date
|
|
51
52
|
_utils.userEvent.mousePress(_utils.screen.getByText(/clear/i));
|
|
52
53
|
(0, _chai.expect)(onChange.callCount).to.equal(1);
|
|
53
|
-
|
|
54
|
-
onChange.lastCall.args[0].forEach((value, index) => {
|
|
55
|
-
(0, _chai.expect)(value).to.deep.equal(emptyValue[index]);
|
|
56
|
-
});
|
|
57
|
-
} else {
|
|
58
|
-
(0, _chai.expect)(onChange.lastCall.args[0]).to.deep.equal(emptyValue);
|
|
59
|
-
}
|
|
54
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onChange, emptyValue);
|
|
60
55
|
(0, _chai.expect)(onAccept.callCount).to.equal(1);
|
|
61
|
-
|
|
62
|
-
onAccept.lastCall.args[0].forEach((value, index) => {
|
|
63
|
-
(0, _chai.expect)(value).to.deep.equal(emptyValue[index]);
|
|
64
|
-
});
|
|
65
|
-
} else {
|
|
66
|
-
(0, _chai.expect)(onAccept.lastCall.args[0]).to.deep.equal(emptyValue);
|
|
67
|
-
}
|
|
56
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onAccept, emptyValue);
|
|
68
57
|
(0, _chai.expect)(onClose.callCount).to.equal(1);
|
|
69
58
|
});
|
|
70
59
|
it('should not call onChange or onAccept if the value is already empty value', () => {
|
|
@@ -256,23 +245,18 @@ const testPickerActionBar = (ElementToTest, options) => {
|
|
|
256
245
|
}
|
|
257
246
|
}));
|
|
258
247
|
_utils.userEvent.mousePress(_utils.screen.getByText(/today/i));
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
});
|
|
248
|
+
let startOfToday;
|
|
249
|
+
if (pickerParams.type === 'date') {
|
|
250
|
+
startOfToday = _pickersUtils.adapterToUse.startOfDay(_pickersUtils.adapterToUse.date());
|
|
251
|
+
} else if (pickerParams.type === 'date-range') {
|
|
252
|
+
startOfToday = [_pickersUtils.adapterToUse.date(), _pickersUtils.adapterToUse.date()];
|
|
265
253
|
} else {
|
|
266
|
-
|
|
254
|
+
startOfToday = _pickersUtils.adapterToUse.date();
|
|
267
255
|
}
|
|
256
|
+
(0, _chai.expect)(onChange.callCount).to.equal(1);
|
|
257
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onChange, startOfToday);
|
|
268
258
|
(0, _chai.expect)(onAccept.callCount).to.equal(1);
|
|
269
|
-
|
|
270
|
-
onAccept.lastCall.args[0].forEach(value => {
|
|
271
|
-
(0, _chai.expect)(value).toEqualDateTime(startOfToday);
|
|
272
|
-
});
|
|
273
|
-
} else {
|
|
274
|
-
(0, _chai.expect)(onAccept.lastCall.args[0]).toEqualDateTime(startOfToday);
|
|
275
|
-
}
|
|
259
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onAccept, startOfToday);
|
|
276
260
|
(0, _chai.expect)(onClose.callCount).to.equal(1);
|
|
277
261
|
});
|
|
278
262
|
});
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.testShortcuts = void 0;
|
|
8
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _chai = require("chai");
|
|
11
|
+
var _sinon = require("sinon");
|
|
12
|
+
var _assertions = require("test/utils/pickers/assertions");
|
|
13
|
+
var _utils = require("@mui/monorepo/test/utils");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
const _excluded = ["componentFamily", "render", "renderWithProps", "values", "emptyValue", "setNewValue"];
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
const testShortcuts = (ElementToTest, options) => {
|
|
19
|
+
const {
|
|
20
|
+
componentFamily,
|
|
21
|
+
render,
|
|
22
|
+
values
|
|
23
|
+
} = options,
|
|
24
|
+
pickerParams = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);
|
|
25
|
+
if (componentFamily !== 'picker') {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
describe('Picker shortcuts', () => {
|
|
29
|
+
it('should call onClose, onChange and onAccept when picking a shortcut without explicit changeImportance', () => {
|
|
30
|
+
const onChange = (0, _sinon.spy)();
|
|
31
|
+
const onAccept = (0, _sinon.spy)();
|
|
32
|
+
const onClose = (0, _sinon.spy)();
|
|
33
|
+
render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
|
|
34
|
+
onChange: onChange,
|
|
35
|
+
onAccept: onAccept,
|
|
36
|
+
onClose: onClose,
|
|
37
|
+
defaultValue: values[0],
|
|
38
|
+
open: true,
|
|
39
|
+
closeOnSelect: true,
|
|
40
|
+
slotProps: {
|
|
41
|
+
shortcuts: {
|
|
42
|
+
items: [{
|
|
43
|
+
label: 'Test shortcut',
|
|
44
|
+
getValue: () => values[1]
|
|
45
|
+
}]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
const shortcut = _utils.screen.getByRole('button', {
|
|
50
|
+
name: 'Test shortcut'
|
|
51
|
+
});
|
|
52
|
+
_utils.userEvent.mousePress(shortcut);
|
|
53
|
+
(0, _chai.expect)(onChange.callCount).to.equal(1);
|
|
54
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onChange, values[1]);
|
|
55
|
+
(0, _chai.expect)(onAccept.callCount).to.equal(1);
|
|
56
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onAccept, values[1]);
|
|
57
|
+
(0, _chai.expect)(onClose.callCount).to.equal(1);
|
|
58
|
+
});
|
|
59
|
+
it('should call onClose and onChange when picking a shortcut with changeImportance="accept"', () => {
|
|
60
|
+
const onChange = (0, _sinon.spy)();
|
|
61
|
+
const onAccept = (0, _sinon.spy)();
|
|
62
|
+
const onClose = (0, _sinon.spy)();
|
|
63
|
+
render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
|
|
64
|
+
onChange: onChange,
|
|
65
|
+
onAccept: onAccept,
|
|
66
|
+
onClose: onClose,
|
|
67
|
+
defaultValue: values[0],
|
|
68
|
+
open: true,
|
|
69
|
+
closeOnSelect: true,
|
|
70
|
+
slotProps: {
|
|
71
|
+
shortcuts: {
|
|
72
|
+
items: [{
|
|
73
|
+
label: 'Test shortcut',
|
|
74
|
+
getValue: () => values[1]
|
|
75
|
+
}],
|
|
76
|
+
changeImportance: 'accept'
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
const shortcut = _utils.screen.getByRole('button', {
|
|
81
|
+
name: 'Test shortcut'
|
|
82
|
+
});
|
|
83
|
+
_utils.userEvent.mousePress(shortcut);
|
|
84
|
+
(0, _chai.expect)(onChange.callCount).to.equal(1);
|
|
85
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onChange, values[1]);
|
|
86
|
+
(0, _chai.expect)(onAccept.callCount).to.equal(1);
|
|
87
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onAccept, values[1]);
|
|
88
|
+
(0, _chai.expect)(onClose.callCount).to.equal(1);
|
|
89
|
+
});
|
|
90
|
+
it('should call onClose and onChange when picking a shortcut with changeImportance="set"', () => {
|
|
91
|
+
const onChange = (0, _sinon.spy)();
|
|
92
|
+
const onAccept = (0, _sinon.spy)();
|
|
93
|
+
const onClose = (0, _sinon.spy)();
|
|
94
|
+
render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
|
|
95
|
+
onChange: onChange,
|
|
96
|
+
onAccept: onAccept,
|
|
97
|
+
onClose: onClose,
|
|
98
|
+
defaultValue: values[0],
|
|
99
|
+
open: true,
|
|
100
|
+
closeOnSelect: true,
|
|
101
|
+
slotProps: {
|
|
102
|
+
shortcuts: {
|
|
103
|
+
items: [{
|
|
104
|
+
label: 'Test shortcut',
|
|
105
|
+
getValue: () => values[1]
|
|
106
|
+
}],
|
|
107
|
+
changeImportance: 'set'
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
111
|
+
const shortcut = _utils.screen.getByRole('button', {
|
|
112
|
+
name: 'Test shortcut'
|
|
113
|
+
});
|
|
114
|
+
_utils.userEvent.mousePress(shortcut);
|
|
115
|
+
(0, _chai.expect)(onChange.callCount).to.equal(1);
|
|
116
|
+
(0, _assertions.expectPickerChangeHandlerValue)(pickerParams.type, onChange, values[1]);
|
|
117
|
+
(0, _chai.expect)(onAccept.callCount).to.equal(0);
|
|
118
|
+
(0, _chai.expect)(onClose.callCount).to.equal(0);
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
exports.testShortcuts = testShortcuts;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-date-pickers",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.11.1",
|
|
4
4
|
"description": "The community edition of the date picker components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@babel/runtime": "^7.22.6",
|
|
37
|
-
"@mui/utils": "^5.
|
|
37
|
+
"@mui/utils": "^5.14.3",
|
|
38
38
|
"@types/react-transition-group": "^4.4.6",
|
|
39
|
-
"clsx": "^
|
|
39
|
+
"clsx": "^2.0.0",
|
|
40
40
|
"prop-types": "^15.8.1",
|
|
41
41
|
"react-transition-group": "^4.4.5"
|
|
42
42
|
},
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { getDateOffset } from 'test/utils/pickers-utils';
|
|
3
3
|
import { TEST_DATE_ISO_STRING, TEST_DATE_LOCALE_STRING } from './describeGregorianAdapter.utils';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* To check if the date has the right offset even after changing it's date parts,
|
|
7
|
+
* we convert it to a different timezone that always has the same offset,
|
|
8
|
+
* then we check that both dates have the same hour value.
|
|
9
|
+
*/
|
|
10
|
+
// We change to
|
|
11
|
+
const expectSameTimeInMonacoTZ = (adapter, value) => {
|
|
12
|
+
const valueInMonacoTz = adapter.setTimezone(value, 'Europe/Monaco');
|
|
13
|
+
expect(adapter.getHours(value)).to.equal(adapter.getHours(valueInMonacoTz));
|
|
14
|
+
};
|
|
4
15
|
export const testCalculations = ({
|
|
5
16
|
adapter,
|
|
6
17
|
adapterTZ,
|
|
@@ -9,6 +20,7 @@ export const testCalculations = ({
|
|
|
9
20
|
getLocaleFromDate
|
|
10
21
|
}) => {
|
|
11
22
|
const testDateIso = adapter.date(TEST_DATE_ISO_STRING);
|
|
23
|
+
const testDateLastNonDSTDay = adapterTZ.isTimezoneCompatible ? adapterTZ.dateWithTimezone('2022-03-27', 'Europe/Paris') : adapterTZ.date('2022-03-27');
|
|
12
24
|
const testDateLocale = adapter.date(TEST_DATE_LOCALE_STRING);
|
|
13
25
|
describe('Method: date', () => {
|
|
14
26
|
it('should parse strings', () => {
|
|
@@ -484,10 +496,19 @@ export const testCalculations = ({
|
|
|
484
496
|
expect(adapter.endOfYear(testDateIso)).toEqualDateTime(expected);
|
|
485
497
|
expect(adapter.endOfYear(testDateLocale)).toEqualDateTime(expected);
|
|
486
498
|
});
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
499
|
+
describe('Method: endOfMonth', () => {
|
|
500
|
+
it('should handle basic usecases', () => {
|
|
501
|
+
const expected = '2018-10-31T23:59:59.999Z';
|
|
502
|
+
expect(adapter.endOfMonth(testDateIso)).toEqualDateTime(expected);
|
|
503
|
+
expect(adapter.endOfMonth(testDateLocale)).toEqualDateTime(expected);
|
|
504
|
+
});
|
|
505
|
+
it('should update the offset when entering DST', function test() {
|
|
506
|
+
if (!adapterTZ.isTimezoneCompatible) {
|
|
507
|
+
this.skip();
|
|
508
|
+
}
|
|
509
|
+
expectSameTimeInMonacoTZ(adapterTZ, testDateLastNonDSTDay);
|
|
510
|
+
expectSameTimeInMonacoTZ(adapterTZ, adapterTZ.endOfMonth(testDateLastNonDSTDay));
|
|
511
|
+
});
|
|
491
512
|
});
|
|
492
513
|
it('Method: endOfWeek', () => {
|
|
493
514
|
const expected = adapter.lib === 'luxon' ? '2018-11-04T23:59:59.999Z' : '2018-11-03T23:59:59.999Z';
|
|
@@ -503,18 +524,45 @@ export const testCalculations = ({
|
|
|
503
524
|
expect(adapter.addYears(testDateIso, 2)).toEqualDateTime('2020-10-30T11:44:00.000Z');
|
|
504
525
|
expect(adapter.addYears(testDateIso, -2)).toEqualDateTime('2016-10-30T11:44:00.000Z');
|
|
505
526
|
});
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
527
|
+
describe('Method: addMonths', () => {
|
|
528
|
+
it('should handle basic usecases', () => {
|
|
529
|
+
expect(adapter.addMonths(testDateIso, 2)).toEqualDateTime('2018-12-30T11:44:00.000Z');
|
|
530
|
+
expect(adapter.addMonths(testDateIso, -2)).toEqualDateTime('2018-08-30T11:44:00.000Z');
|
|
531
|
+
expect(adapter.addMonths(testDateIso, 3)).toEqualDateTime('2019-01-30T11:44:00.000Z');
|
|
532
|
+
});
|
|
533
|
+
it('should update the offset when entering DST', function test() {
|
|
534
|
+
if (!adapterTZ.isTimezoneCompatible) {
|
|
535
|
+
this.skip();
|
|
536
|
+
}
|
|
537
|
+
expectSameTimeInMonacoTZ(adapterTZ, testDateLastNonDSTDay);
|
|
538
|
+
expectSameTimeInMonacoTZ(adapterTZ, adapterTZ.addMonths(testDateLastNonDSTDay, 1));
|
|
539
|
+
});
|
|
510
540
|
});
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
541
|
+
describe('Method: addWeeks', () => {
|
|
542
|
+
it('should handle basic usecases', () => {
|
|
543
|
+
expect(adapter.addWeeks(testDateIso, 2)).toEqualDateTime('2018-11-13T11:44:00.000Z');
|
|
544
|
+
expect(adapter.addWeeks(testDateIso, -2)).toEqualDateTime('2018-10-16T11:44:00.000Z');
|
|
545
|
+
});
|
|
546
|
+
it('should update the offset when entering DST', function test() {
|
|
547
|
+
if (!adapterTZ.isTimezoneCompatible) {
|
|
548
|
+
this.skip();
|
|
549
|
+
}
|
|
550
|
+
expectSameTimeInMonacoTZ(adapterTZ, testDateLastNonDSTDay);
|
|
551
|
+
expectSameTimeInMonacoTZ(adapterTZ, adapterTZ.addWeeks(testDateLastNonDSTDay, 1));
|
|
552
|
+
});
|
|
514
553
|
});
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
554
|
+
describe('Method: addWeeks', () => {
|
|
555
|
+
it('should handle basic usecases', () => {
|
|
556
|
+
expect(adapter.addDays(testDateIso, 2)).toEqualDateTime('2018-11-01T11:44:00.000Z');
|
|
557
|
+
expect(adapter.addDays(testDateIso, -2)).toEqualDateTime('2018-10-28T11:44:00.000Z');
|
|
558
|
+
});
|
|
559
|
+
it('should update the offset when entering DST', function test() {
|
|
560
|
+
if (!adapterTZ.isTimezoneCompatible) {
|
|
561
|
+
this.skip();
|
|
562
|
+
}
|
|
563
|
+
expectSameTimeInMonacoTZ(adapterTZ, testDateLastNonDSTDay);
|
|
564
|
+
expectSameTimeInMonacoTZ(adapterTZ, adapterTZ.addDays(testDateLastNonDSTDay, 1));
|
|
565
|
+
});
|
|
518
566
|
});
|
|
519
567
|
it('Method: addHours', () => {
|
|
520
568
|
expect(adapter.addHours(testDateIso, 2)).toEqualDateTime('2018-10-30T13:44:00.000Z');
|
|
@@ -624,14 +672,13 @@ export const testCalculations = ({
|
|
|
624
672
|
const referenceDate = adapterTZ.dateWithTimezone('2022-03-17', 'Europe/Paris');
|
|
625
673
|
const weekArray = adapterTZ.getWeekArray(referenceDate);
|
|
626
674
|
let expectedDate = adapter.startOfWeek(adapter.startOfMonth(referenceDate));
|
|
627
|
-
const lastNonDSTDay = adapterTZ.dateWithTimezone('2022-03-27', 'Europe/Paris');
|
|
628
675
|
expect(weekArray).to.have.length(5);
|
|
629
676
|
weekArray.forEach(week => {
|
|
630
677
|
expect(week).to.have.length(7);
|
|
631
678
|
week.forEach(day => {
|
|
632
679
|
expect(adapterTZ.startOfDay(day)).toEqualDateTime(adapterTZ.startOfDay(expectedDate));
|
|
633
680
|
expectedDate = adapterTZ.addDays(expectedDate, 1);
|
|
634
|
-
expect(getDateOffset(adapterTZ, day)).to.equal(adapterTZ.isAfter(day,
|
|
681
|
+
expect(getDateOffset(adapterTZ, day)).to.equal(adapterTZ.isAfter(day, testDateLastNonDSTDay) ? 120 : 60);
|
|
635
682
|
});
|
|
636
683
|
});
|
|
637
684
|
});
|
|
@@ -7,8 +7,9 @@ import { buildFieldInteractions } from 'test/utils/pickers-utils';
|
|
|
7
7
|
import { testControlledUnControlled } from './testControlledUnControlled';
|
|
8
8
|
import { testPickerOpenCloseLifeCycle } from './testPickerOpenCloseLifeCycle';
|
|
9
9
|
import { testPickerActionBar } from './testPickerActionBar';
|
|
10
|
+
import { testShortcuts } from './testShortcuts';
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
const TEST_SUITES = [testControlledUnControlled, testPickerOpenCloseLifeCycle, testPickerActionBar];
|
|
12
|
+
const TEST_SUITES = [testControlledUnControlled, testPickerOpenCloseLifeCycle, testPickerActionBar, testShortcuts];
|
|
12
13
|
function innerDescribeValue(ElementToTest, getOptions) {
|
|
13
14
|
const options = getOptions();
|
|
14
15
|
const {
|
|
@@ -5,6 +5,7 @@ import { expect } from 'chai';
|
|
|
5
5
|
import { spy } from 'sinon';
|
|
6
6
|
import { screen, userEvent } from '@mui/monorepo/test/utils';
|
|
7
7
|
import { adapterToUse, getExpectedOnChangeCount } from 'test/utils/pickers-utils';
|
|
8
|
+
import { expectPickerChangeHandlerValue } from 'test/utils/pickers/assertions';
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
export const testPickerActionBar = (ElementToTest, options) => {
|
|
10
11
|
const {
|
|
@@ -41,21 +42,9 @@ export const testPickerActionBar = (ElementToTest, options) => {
|
|
|
41
42
|
// Clear the date
|
|
42
43
|
userEvent.mousePress(screen.getByText(/clear/i));
|
|
43
44
|
expect(onChange.callCount).to.equal(1);
|
|
44
|
-
|
|
45
|
-
onChange.lastCall.args[0].forEach((value, index) => {
|
|
46
|
-
expect(value).to.deep.equal(emptyValue[index]);
|
|
47
|
-
});
|
|
48
|
-
} else {
|
|
49
|
-
expect(onChange.lastCall.args[0]).to.deep.equal(emptyValue);
|
|
50
|
-
}
|
|
45
|
+
expectPickerChangeHandlerValue(pickerParams.type, onChange, emptyValue);
|
|
51
46
|
expect(onAccept.callCount).to.equal(1);
|
|
52
|
-
|
|
53
|
-
onAccept.lastCall.args[0].forEach((value, index) => {
|
|
54
|
-
expect(value).to.deep.equal(emptyValue[index]);
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
expect(onAccept.lastCall.args[0]).to.deep.equal(emptyValue);
|
|
58
|
-
}
|
|
47
|
+
expectPickerChangeHandlerValue(pickerParams.type, onAccept, emptyValue);
|
|
59
48
|
expect(onClose.callCount).to.equal(1);
|
|
60
49
|
});
|
|
61
50
|
it('should not call onChange or onAccept if the value is already empty value', () => {
|
|
@@ -247,23 +236,18 @@ export const testPickerActionBar = (ElementToTest, options) => {
|
|
|
247
236
|
}
|
|
248
237
|
}));
|
|
249
238
|
userEvent.mousePress(screen.getByText(/today/i));
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
});
|
|
239
|
+
let startOfToday;
|
|
240
|
+
if (pickerParams.type === 'date') {
|
|
241
|
+
startOfToday = adapterToUse.startOfDay(adapterToUse.date());
|
|
242
|
+
} else if (pickerParams.type === 'date-range') {
|
|
243
|
+
startOfToday = [adapterToUse.date(), adapterToUse.date()];
|
|
256
244
|
} else {
|
|
257
|
-
|
|
245
|
+
startOfToday = adapterToUse.date();
|
|
258
246
|
}
|
|
247
|
+
expect(onChange.callCount).to.equal(1);
|
|
248
|
+
expectPickerChangeHandlerValue(pickerParams.type, onChange, startOfToday);
|
|
259
249
|
expect(onAccept.callCount).to.equal(1);
|
|
260
|
-
|
|
261
|
-
onAccept.lastCall.args[0].forEach(value => {
|
|
262
|
-
expect(value).toEqualDateTime(startOfToday);
|
|
263
|
-
});
|
|
264
|
-
} else {
|
|
265
|
-
expect(onAccept.lastCall.args[0]).toEqualDateTime(startOfToday);
|
|
266
|
-
}
|
|
250
|
+
expectPickerChangeHandlerValue(pickerParams.type, onAccept, startOfToday);
|
|
267
251
|
expect(onClose.callCount).to.equal(1);
|
|
268
252
|
});
|
|
269
253
|
});
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
const _excluded = ["componentFamily", "render", "renderWithProps", "values", "emptyValue", "setNewValue"];
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { expect } from 'chai';
|
|
5
|
+
import { spy } from 'sinon';
|
|
6
|
+
import { expectPickerChangeHandlerValue } from 'test/utils/pickers/assertions';
|
|
7
|
+
import { userEvent, screen } from '@mui/monorepo/test/utils';
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
export const testShortcuts = (ElementToTest, options) => {
|
|
10
|
+
const {
|
|
11
|
+
componentFamily,
|
|
12
|
+
render,
|
|
13
|
+
values
|
|
14
|
+
} = options,
|
|
15
|
+
pickerParams = _objectWithoutPropertiesLoose(options, _excluded);
|
|
16
|
+
if (componentFamily !== 'picker') {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
describe('Picker shortcuts', () => {
|
|
20
|
+
it('should call onClose, onChange and onAccept when picking a shortcut without explicit changeImportance', () => {
|
|
21
|
+
const onChange = spy();
|
|
22
|
+
const onAccept = spy();
|
|
23
|
+
const onClose = spy();
|
|
24
|
+
render( /*#__PURE__*/_jsx(ElementToTest, {
|
|
25
|
+
onChange: onChange,
|
|
26
|
+
onAccept: onAccept,
|
|
27
|
+
onClose: onClose,
|
|
28
|
+
defaultValue: values[0],
|
|
29
|
+
open: true,
|
|
30
|
+
closeOnSelect: true,
|
|
31
|
+
slotProps: {
|
|
32
|
+
shortcuts: {
|
|
33
|
+
items: [{
|
|
34
|
+
label: 'Test shortcut',
|
|
35
|
+
getValue: () => values[1]
|
|
36
|
+
}]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
const shortcut = screen.getByRole('button', {
|
|
41
|
+
name: 'Test shortcut'
|
|
42
|
+
});
|
|
43
|
+
userEvent.mousePress(shortcut);
|
|
44
|
+
expect(onChange.callCount).to.equal(1);
|
|
45
|
+
expectPickerChangeHandlerValue(pickerParams.type, onChange, values[1]);
|
|
46
|
+
expect(onAccept.callCount).to.equal(1);
|
|
47
|
+
expectPickerChangeHandlerValue(pickerParams.type, onAccept, values[1]);
|
|
48
|
+
expect(onClose.callCount).to.equal(1);
|
|
49
|
+
});
|
|
50
|
+
it('should call onClose and onChange when picking a shortcut with changeImportance="accept"', () => {
|
|
51
|
+
const onChange = spy();
|
|
52
|
+
const onAccept = spy();
|
|
53
|
+
const onClose = spy();
|
|
54
|
+
render( /*#__PURE__*/_jsx(ElementToTest, {
|
|
55
|
+
onChange: onChange,
|
|
56
|
+
onAccept: onAccept,
|
|
57
|
+
onClose: onClose,
|
|
58
|
+
defaultValue: values[0],
|
|
59
|
+
open: true,
|
|
60
|
+
closeOnSelect: true,
|
|
61
|
+
slotProps: {
|
|
62
|
+
shortcuts: {
|
|
63
|
+
items: [{
|
|
64
|
+
label: 'Test shortcut',
|
|
65
|
+
getValue: () => values[1]
|
|
66
|
+
}],
|
|
67
|
+
changeImportance: 'accept'
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}));
|
|
71
|
+
const shortcut = screen.getByRole('button', {
|
|
72
|
+
name: 'Test shortcut'
|
|
73
|
+
});
|
|
74
|
+
userEvent.mousePress(shortcut);
|
|
75
|
+
expect(onChange.callCount).to.equal(1);
|
|
76
|
+
expectPickerChangeHandlerValue(pickerParams.type, onChange, values[1]);
|
|
77
|
+
expect(onAccept.callCount).to.equal(1);
|
|
78
|
+
expectPickerChangeHandlerValue(pickerParams.type, onAccept, values[1]);
|
|
79
|
+
expect(onClose.callCount).to.equal(1);
|
|
80
|
+
});
|
|
81
|
+
it('should call onClose and onChange when picking a shortcut with changeImportance="set"', () => {
|
|
82
|
+
const onChange = spy();
|
|
83
|
+
const onAccept = spy();
|
|
84
|
+
const onClose = spy();
|
|
85
|
+
render( /*#__PURE__*/_jsx(ElementToTest, {
|
|
86
|
+
onChange: onChange,
|
|
87
|
+
onAccept: onAccept,
|
|
88
|
+
onClose: onClose,
|
|
89
|
+
defaultValue: values[0],
|
|
90
|
+
open: true,
|
|
91
|
+
closeOnSelect: true,
|
|
92
|
+
slotProps: {
|
|
93
|
+
shortcuts: {
|
|
94
|
+
items: [{
|
|
95
|
+
label: 'Test shortcut',
|
|
96
|
+
getValue: () => values[1]
|
|
97
|
+
}],
|
|
98
|
+
changeImportance: 'set'
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}));
|
|
102
|
+
const shortcut = screen.getByRole('button', {
|
|
103
|
+
name: 'Test shortcut'
|
|
104
|
+
});
|
|
105
|
+
userEvent.mousePress(shortcut);
|
|
106
|
+
expect(onChange.callCount).to.equal(1);
|
|
107
|
+
expectPickerChangeHandlerValue(pickerParams.type, onChange, values[1]);
|
|
108
|
+
expect(onAccept.callCount).to.equal(0);
|
|
109
|
+
expect(onClose.callCount).to.equal(0);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
};
|
|
@@ -19,12 +19,14 @@ export interface PickerComponents<Theme = unknown> {
|
|
|
19
19
|
};
|
|
20
20
|
MuiDateField?: {
|
|
21
21
|
defaultProps?: ComponentsProps['MuiDateField'];
|
|
22
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiDateField'];
|
|
23
22
|
};
|
|
24
23
|
MuiDatePickerToolbar?: {
|
|
25
24
|
defaultProps?: ComponentsProps['MuiDatePickerToolbar'];
|
|
26
25
|
styleOverrides?: ComponentsOverrides<Theme>['MuiDatePickerToolbar'];
|
|
27
26
|
};
|
|
27
|
+
MuiDateTimeField?: {
|
|
28
|
+
defaultProps?: ComponentsProps['MuiDateTimeField'];
|
|
29
|
+
};
|
|
28
30
|
MuiDateTimePickerTabs?: {
|
|
29
31
|
defaultProps?: ComponentsProps['MuiDateTimePickerTabs'];
|
|
30
32
|
styleOverrides?: ComponentsOverrides<Theme>['MuiDateTimePickerTabs'];
|
|
@@ -47,7 +49,6 @@ export interface PickerComponents<Theme = unknown> {
|
|
|
47
49
|
};
|
|
48
50
|
MuiLocalizationProvider?: {
|
|
49
51
|
defaultProps?: ComponentsProps['MuiLocalizationProvider'];
|
|
50
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiLocalizationProvider'];
|
|
51
52
|
};
|
|
52
53
|
MuiMonthCalendar?: {
|
|
53
54
|
defaultProps?: ComponentsProps['MuiMonthCalendar'];
|
|
@@ -113,6 +114,9 @@ export interface PickerComponents<Theme = unknown> {
|
|
|
113
114
|
defaultProps?: ComponentsProps['MuiTimeClock'];
|
|
114
115
|
styleOverrides?: ComponentsOverrides<Theme>['MuiTimeClock'];
|
|
115
116
|
};
|
|
117
|
+
MuiTimeField?: {
|
|
118
|
+
defaultProps?: ComponentsProps['MuiTimeField'];
|
|
119
|
+
};
|
|
116
120
|
MuiTimePickerToolbar?: {
|
|
117
121
|
defaultProps?: ComponentsProps['MuiTimePickerToolbar'];
|
|
118
122
|
styleOverrides?: ComponentsOverrides<Theme>['MuiTimePickerToolbar'];
|
|
@@ -125,55 +129,43 @@ export interface PickerComponents<Theme = unknown> {
|
|
|
125
129
|
// Date Pickers
|
|
126
130
|
MuiDatePicker?: {
|
|
127
131
|
defaultProps?: ComponentsProps['MuiDatePicker'];
|
|
128
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiDatePicker'];
|
|
129
132
|
};
|
|
130
133
|
MuiDesktopDatePicker?: {
|
|
131
134
|
defaultProps?: ComponentsProps['MuiDesktopDatePicker'];
|
|
132
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiDesktopDatePicker'];
|
|
133
135
|
};
|
|
134
136
|
MuiMobileDatePicker?: {
|
|
135
137
|
defaultProps?: ComponentsProps['MuiMobileDatePicker'];
|
|
136
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiMobileDatePicker'];
|
|
137
138
|
};
|
|
138
139
|
MuiStaticDatePicker?: {
|
|
139
140
|
defaultProps?: ComponentsProps['MuiStaticDatePicker'];
|
|
140
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiStaticDatePicker'];
|
|
141
141
|
};
|
|
142
142
|
|
|
143
143
|
// Time Pickers
|
|
144
144
|
MuiTimePicker?: {
|
|
145
145
|
defaultProps?: ComponentsProps['MuiTimePicker'];
|
|
146
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiTimePicker'];
|
|
147
146
|
};
|
|
148
147
|
MuiDesktopTimePicker?: {
|
|
149
148
|
defaultProps?: ComponentsProps['MuiDesktopTimePicker'];
|
|
150
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiDesktopTimePicker'];
|
|
151
149
|
};
|
|
152
150
|
MuiMobileTimePicker?: {
|
|
153
151
|
defaultProps?: ComponentsProps['MuiMobileTimePicker'];
|
|
154
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiMobileTimePicker'];
|
|
155
152
|
};
|
|
156
153
|
MuiStaticTimePicker?: {
|
|
157
154
|
defaultProps?: ComponentsProps['MuiStaticTimePicker'];
|
|
158
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiStaticTimePicker'];
|
|
159
155
|
};
|
|
160
156
|
|
|
161
157
|
// Date Time Pickers
|
|
162
158
|
MuiDateTimePicker?: {
|
|
163
159
|
defaultProps?: ComponentsProps['MuiDateTimePicker'];
|
|
164
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiDateTimePicker'];
|
|
165
160
|
};
|
|
166
161
|
MuiDesktopDateTimePicker?: {
|
|
167
162
|
defaultProps?: ComponentsProps['MuiDesktopDateTimePicker'];
|
|
168
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiDesktopDateTimePicker'];
|
|
169
163
|
};
|
|
170
164
|
MuiMobileDateTimePicker?: {
|
|
171
165
|
defaultProps?: ComponentsProps['MuiMobileDateTimePicker'];
|
|
172
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiMobileDateTimePicker'];
|
|
173
166
|
};
|
|
174
167
|
MuiStaticDateTimePicker?: {
|
|
175
168
|
defaultProps?: ComponentsProps['MuiStaticDateTimePicker'];
|
|
176
|
-
styleOverrides?: ComponentsOverrides<Theme>['MuiStaticDateTimePicker'];
|
|
177
169
|
};
|
|
178
170
|
}
|
|
179
171
|
|
|
@@ -38,14 +38,12 @@ export interface PickersComponentNameToClassKey {
|
|
|
38
38
|
MuiClockNumber: ClockNumberClassKey;
|
|
39
39
|
MuiClockPointer: ClockPointerClassKey;
|
|
40
40
|
MuiDateCalendar: DateCalendarClassKey;
|
|
41
|
-
MuiDateField: never;
|
|
42
41
|
MuiDatePickerToolbar: DatePickerToolbarClassKey;
|
|
43
42
|
MuiDateTimePickerTabs: DateTimePickerTabsClassKey;
|
|
44
43
|
MuiDateTimePickerToolbar: DateTimePickerToolbarClassKey;
|
|
45
44
|
MuiDayCalendar: DayCalendarClassKey;
|
|
46
45
|
MuiDayCalendarSkeleton: DayCalendarSkeletonClassKey;
|
|
47
46
|
MuiDigitalClock: DigitalClockClassKey;
|
|
48
|
-
MuiLocalizationProvider: never;
|
|
49
47
|
MuiMonthCalendar: MonthCalendarClassKey;
|
|
50
48
|
MuiMultiSectionDigitalClock: MultiSectionDigitalClockClassKey;
|
|
51
49
|
MuiMultiSectionDigitalClockSection: MultiSectionDigitalClockSectionClassKey;
|
|
@@ -64,24 +62,6 @@ export interface PickersComponentNameToClassKey {
|
|
|
64
62
|
MuiTimeClock: TimeClockClassKey;
|
|
65
63
|
MuiTimePickerToolbar: TimePickerToolbarClassKey;
|
|
66
64
|
MuiYearCalendar: YearCalendarClassKey;
|
|
67
|
-
|
|
68
|
-
// Date Pickers
|
|
69
|
-
MuiDatePicker: never;
|
|
70
|
-
MuiDesktopDatePicker: never;
|
|
71
|
-
MuiMobileDatePicker: never;
|
|
72
|
-
MuiStaticDatePicker: never;
|
|
73
|
-
|
|
74
|
-
// Time Pickers
|
|
75
|
-
MuiTimePicker: never;
|
|
76
|
-
MuiDesktopTimePicker: never;
|
|
77
|
-
MuiMobileTimePicker: never;
|
|
78
|
-
MuiStaticTimePicker: never;
|
|
79
|
-
|
|
80
|
-
// Date Time Pickers
|
|
81
|
-
MuiDateTimePicker: never;
|
|
82
|
-
MuiDesktopDateTimePicker: never;
|
|
83
|
-
MuiMobileDateTimePicker: never;
|
|
84
|
-
MuiStaticDateTimePicker: never;
|
|
85
65
|
}
|
|
86
66
|
|
|
87
67
|
declare module '@mui/material/styles' {
|