@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.
Files changed (190) hide show
  1. package/AdapterDayjs/AdapterDayjs.d.ts +8 -1
  2. package/AdapterDayjs/AdapterDayjs.js +66 -38
  3. package/CHANGELOG.md +154 -0
  4. package/DateCalendar/DateCalendar.d.ts +1 -1
  5. package/DateCalendar/DateCalendar.js +48 -38
  6. package/DateCalendar/DateCalendar.types.d.ts +9 -1
  7. package/DateCalendar/index.d.ts +1 -2
  8. package/DateCalendar/index.js +3 -2
  9. package/DateCalendar/useCalendarState.d.ts +1 -1
  10. package/DateField/DateField.d.ts +1 -1
  11. package/DateField/DateField.js +3 -2
  12. package/DatePicker/DatePicker.d.ts +1 -1
  13. package/DatePicker/DatePickerToolbar.d.ts +1 -1
  14. package/DateTimeField/DateTimeField.d.ts +1 -1
  15. package/DateTimeField/DateTimeField.js +3 -2
  16. package/DateTimePicker/DateTimePicker.d.ts +1 -1
  17. package/DateTimePicker/DateTimePickerToolbar.js +4 -3
  18. package/DayCalendarSkeleton/DayCalendarSkeleton.d.ts +1 -1
  19. package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
  20. package/DesktopDatePicker/DesktopDatePicker.js +2 -2
  21. package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
  22. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  23. package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
  24. package/DesktopTimePicker/DesktopTimePicker.js +2 -2
  25. package/DigitalClock/DigitalClock.d.ts +1 -1
  26. package/LocalizationProvider/LocalizationProvider.d.ts +1 -1
  27. package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
  28. package/MobileDatePicker/MobileDatePicker.js +2 -2
  29. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
  30. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  31. package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
  32. package/MobileTimePicker/MobileTimePicker.js +2 -2
  33. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  34. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +1 -1
  35. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
  36. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +1 -1
  37. package/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.d.ts +21 -9
  38. package/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +72 -28
  39. package/PickersCalendarHeader/index.d.ts +4 -0
  40. package/PickersCalendarHeader/index.js +2 -0
  41. package/PickersCalendarHeader/package.json +6 -0
  42. package/PickersDay/PickersDay.d.ts +1 -1
  43. package/PickersDay/PickersDay.js +1 -0
  44. package/PickersShortcuts/PickersShortcuts.js +1 -0
  45. package/StaticDatePicker/StaticDatePicker.d.ts +1 -1
  46. package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -1
  47. package/StaticTimePicker/StaticTimePicker.d.ts +1 -1
  48. package/TimeClock/ClockNumbers.d.ts +1 -1
  49. package/TimeClock/TimeClock.d.ts +1 -1
  50. package/TimeField/TimeField.d.ts +1 -1
  51. package/TimeField/TimeField.js +3 -2
  52. package/TimePicker/TimePicker.d.ts +1 -1
  53. package/TimePicker/TimePickerToolbar.js +3 -2
  54. package/YearCalendar/YearCalendar.d.ts +2 -2
  55. package/index.js +1 -1
  56. package/internals/components/PickersModalDialog.d.ts +2 -2
  57. package/internals/components/PickersPopper.d.ts +3 -3
  58. package/internals/components/PickersToolbar.d.ts +1 -1
  59. package/internals/hooks/date-helpers-hooks.d.ts +1 -2
  60. package/internals/hooks/useDefaultReduceAnimations.d.ts +2 -0
  61. package/internals/hooks/useDefaultReduceAnimations.js +9 -0
  62. package/internals/hooks/useField/useField.js +10 -5
  63. package/internals/hooks/useField/useField.utils.d.ts +1 -1
  64. package/internals/hooks/useField/useField.utils.js +6 -5
  65. package/internals/hooks/usePicker/usePickerValue.js +1 -1
  66. package/internals/index.d.ts +1 -3
  67. package/internals/index.js +1 -2
  68. package/internals/utils/date-utils.d.ts +1 -0
  69. package/internals/utils/date-utils.js +4 -0
  70. package/internals/utils/valueManagers.js +1 -1
  71. package/legacy/AdapterDayjs/AdapterDayjs.js +64 -38
  72. package/legacy/DateCalendar/DateCalendar.js +50 -40
  73. package/legacy/DateCalendar/index.js +3 -2
  74. package/legacy/DateField/DateField.js +3 -2
  75. package/legacy/DateTimeField/DateTimeField.js +3 -2
  76. package/legacy/DateTimePicker/DateTimePickerToolbar.js +4 -3
  77. package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
  78. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  79. package/legacy/DesktopTimePicker/DesktopTimePicker.js +2 -2
  80. package/legacy/MobileDatePicker/MobileDatePicker.js +2 -2
  81. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  82. package/legacy/MobileTimePicker/MobileTimePicker.js +2 -2
  83. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
  84. package/legacy/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +57 -13
  85. package/legacy/PickersCalendarHeader/index.js +2 -0
  86. package/legacy/PickersDay/PickersDay.js +1 -0
  87. package/legacy/PickersShortcuts/PickersShortcuts.js +1 -0
  88. package/legacy/TimeField/TimeField.js +3 -2
  89. package/legacy/TimePicker/TimePickerToolbar.js +3 -2
  90. package/legacy/index.js +1 -1
  91. package/legacy/internals/hooks/useDefaultReduceAnimations.js +9 -0
  92. package/legacy/internals/hooks/useField/useField.js +10 -5
  93. package/legacy/internals/hooks/useField/useField.utils.js +6 -5
  94. package/legacy/internals/hooks/usePicker/usePickerValue.js +1 -1
  95. package/legacy/internals/index.js +1 -2
  96. package/legacy/internals/utils/date-utils.js +4 -0
  97. package/legacy/internals/utils/valueManagers.js +1 -1
  98. package/legacy/locales/fiFI.js +8 -5
  99. package/legacy/locales/isIS.js +33 -16
  100. package/legacy/tests/describeGregorianAdapter/testCalculations.js +63 -16
  101. package/legacy/tests/describeValue/describeValue.js +2 -1
  102. package/legacy/tests/describeValue/testPickerActionBar.js +12 -28
  103. package/legacy/tests/describeValue/testShortcuts.js +119 -0
  104. package/locales/fiFI.js +4 -5
  105. package/locales/isIS.js +13 -16
  106. package/models/adapters.d.ts +1 -0
  107. package/modern/AdapterDayjs/AdapterDayjs.js +65 -38
  108. package/modern/DateCalendar/DateCalendar.js +46 -38
  109. package/modern/DateCalendar/index.js +3 -2
  110. package/modern/DateField/DateField.js +3 -2
  111. package/modern/DateTimeField/DateTimeField.js +3 -2
  112. package/modern/DateTimePicker/DateTimePickerToolbar.js +4 -3
  113. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  114. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -1
  115. package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -1
  116. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  117. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  118. package/modern/MobileTimePicker/MobileTimePicker.js +1 -1
  119. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
  120. package/modern/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +72 -28
  121. package/modern/PickersCalendarHeader/index.js +2 -0
  122. package/modern/PickersDay/PickersDay.js +1 -0
  123. package/modern/PickersShortcuts/PickersShortcuts.js +1 -0
  124. package/modern/TimeField/TimeField.js +3 -2
  125. package/modern/TimePicker/TimePickerToolbar.js +3 -2
  126. package/modern/index.js +1 -1
  127. package/modern/internals/hooks/useDefaultReduceAnimations.js +9 -0
  128. package/modern/internals/hooks/useField/useField.js +10 -5
  129. package/modern/internals/hooks/useField/useField.utils.js +6 -5
  130. package/modern/internals/hooks/usePicker/usePickerValue.js +1 -1
  131. package/modern/internals/index.js +1 -2
  132. package/modern/internals/utils/date-utils.js +4 -0
  133. package/modern/internals/utils/valueManagers.js +1 -1
  134. package/modern/locales/fiFI.js +4 -5
  135. package/modern/locales/isIS.js +13 -16
  136. package/modern/tests/describeGregorianAdapter/testCalculations.js +63 -16
  137. package/modern/tests/describeValue/describeValue.js +2 -1
  138. package/modern/tests/describeValue/testPickerActionBar.js +12 -28
  139. package/modern/tests/describeValue/testShortcuts.js +112 -0
  140. package/node/AdapterDayjs/AdapterDayjs.js +65 -38
  141. package/node/DateCalendar/DateCalendar.js +52 -44
  142. package/node/DateCalendar/index.js +21 -8
  143. package/node/DateField/DateField.js +3 -2
  144. package/node/DateTimeField/DateTimeField.js +3 -2
  145. package/node/DateTimePicker/DateTimePickerToolbar.js +4 -3
  146. package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
  147. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -1
  148. package/node/DesktopTimePicker/DesktopTimePicker.js +1 -1
  149. package/node/MobileDatePicker/MobileDatePicker.js +1 -1
  150. package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  151. package/node/MobileTimePicker/MobileTimePicker.js +1 -1
  152. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -2
  153. package/node/{DateCalendar → PickersCalendarHeader}/PickersCalendarHeader.js +73 -29
  154. package/node/PickersCalendarHeader/index.js +19 -0
  155. package/node/PickersDay/PickersDay.js +1 -0
  156. package/node/PickersShortcuts/PickersShortcuts.js +1 -0
  157. package/node/TimeField/TimeField.js +3 -2
  158. package/node/TimePicker/TimePickerToolbar.js +3 -2
  159. package/node/index.js +1 -1
  160. package/node/internals/hooks/useDefaultReduceAnimations.js +18 -0
  161. package/node/internals/hooks/useField/useField.js +10 -5
  162. package/node/internals/hooks/useField/useField.utils.js +6 -5
  163. package/node/internals/hooks/usePicker/usePickerValue.js +1 -1
  164. package/node/internals/index.js +7 -14
  165. package/node/internals/utils/date-utils.js +6 -1
  166. package/node/internals/utils/valueManagers.js +1 -1
  167. package/node/locales/fiFI.js +4 -5
  168. package/node/locales/isIS.js +13 -16
  169. package/node/tests/describeGregorianAdapter/testCalculations.js +61 -16
  170. package/node/tests/describeValue/describeValue.js +2 -1
  171. package/node/tests/describeValue/testPickerActionBar.js +12 -28
  172. package/node/tests/describeValue/testShortcuts.js +122 -0
  173. package/package.json +3 -3
  174. package/tests/describeGregorianAdapter/testCalculations.js +63 -16
  175. package/tests/describeValue/describeValue.js +2 -1
  176. package/tests/describeValue/testPickerActionBar.js +12 -28
  177. package/tests/describeValue/testShortcuts.js +112 -0
  178. package/themeAugmentation/components.d.ts +6 -14
  179. package/themeAugmentation/overrides.d.ts +0 -20
  180. package/themeAugmentation/props.d.ts +6 -2
  181. package/internals/utils/defaultReduceAnimations.d.ts +0 -1
  182. package/internals/utils/defaultReduceAnimations.js +0 -1
  183. package/legacy/internals/utils/defaultReduceAnimations.js +0 -1
  184. package/modern/internals/utils/defaultReduceAnimations.js +0 -1
  185. package/node/internals/utils/defaultReduceAnimations.js +0 -8
  186. /package/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.d.ts +0 -0
  187. /package/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.js +0 -0
  188. /package/legacy/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.js +0 -0
  189. /package/modern/{DateCalendar → PickersCalendarHeader}/pickersCalendarHeaderClasses.js +0 -0
  190. /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
- if (pickerParams.type === 'date-range') {
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
- if (pickerParams.type === 'date-range') {
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
- const startOfToday = pickerParams.type === 'date' ? _pickersUtils.adapterToUse.startOfDay(_pickersUtils.adapterToUse.date()) : _pickersUtils.adapterToUse.date();
260
- (0, _chai.expect)(onChange.callCount).to.equal(1);
261
- if (pickerParams.type === 'date-range') {
262
- onChange.lastCall.args[0].forEach(value => {
263
- (0, _chai.expect)(value).toEqualDateTime(startOfToday);
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
- (0, _chai.expect)(onChange.lastCall.args[0]).toEqualDateTime(startOfToday);
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
- if (pickerParams.type === 'date-range') {
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.10.2",
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.13.7",
37
+ "@mui/utils": "^5.14.3",
38
38
  "@types/react-transition-group": "^4.4.6",
39
- "clsx": "^1.2.1",
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
- it('Method: endOfMonth', () => {
488
- const expected = '2018-10-31T23:59:59.999Z';
489
- expect(adapter.endOfMonth(testDateIso)).toEqualDateTime(expected);
490
- expect(adapter.endOfMonth(testDateLocale)).toEqualDateTime(expected);
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
- it('Method: addMonths', () => {
507
- expect(adapter.addMonths(testDateIso, 2)).toEqualDateTime('2018-12-30T11:44:00.000Z');
508
- expect(adapter.addMonths(testDateIso, -2)).toEqualDateTime('2018-08-30T11:44:00.000Z');
509
- expect(adapter.addMonths(testDateIso, 3)).toEqualDateTime('2019-01-30T11:44:00.000Z');
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
- it('Method: addWeeks', () => {
512
- expect(adapter.addWeeks(testDateIso, 2)).toEqualDateTime('2018-11-13T11:44:00.000Z');
513
- expect(adapter.addWeeks(testDateIso, -2)).toEqualDateTime('2018-10-16T11:44:00.000Z');
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
- it('Method: addDays', () => {
516
- expect(adapter.addDays(testDateIso, 2)).toEqualDateTime('2018-11-01T11:44:00.000Z');
517
- expect(adapter.addDays(testDateIso, -2)).toEqualDateTime('2018-10-28T11:44:00.000Z');
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, lastNonDSTDay) ? 120 : 60);
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
- if (pickerParams.type === 'date-range') {
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
- if (pickerParams.type === 'date-range') {
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
- const startOfToday = pickerParams.type === 'date' ? adapterToUse.startOfDay(adapterToUse.date()) : adapterToUse.date();
251
- expect(onChange.callCount).to.equal(1);
252
- if (pickerParams.type === 'date-range') {
253
- onChange.lastCall.args[0].forEach(value => {
254
- expect(value).toEqualDateTime(startOfToday);
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
- expect(onChange.lastCall.args[0]).toEqualDateTime(startOfToday);
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
- if (pickerParams.type === 'date-range') {
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' {