@mui/x-date-pickers 8.8.0 → 8.9.0
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 +28 -31
- package/AdapterDayjs/AdapterDayjs.js +25 -31
- package/CHANGELOG.md +101 -24
- package/DateCalendar/DateCalendar.js +2 -2
- package/DatePicker/DatePicker.js +1 -1
- package/DateTimePicker/DateTimePicker.js +3 -3
- package/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -3
- package/DesktopTimePicker/DesktopTimePicker.js +3 -3
- package/DigitalClock/DigitalClock.js +2 -2
- package/MobileDatePicker/MobileDatePicker.js +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +3 -3
- package/MobileTimePicker/MobileTimePicker.js +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -3
- package/PickersLayout/PickersLayout.js +1 -1
- package/StaticDatePicker/StaticDatePicker.js +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +3 -3
- package/StaticTimePicker/StaticTimePicker.js +1 -1
- package/TimeClock/TimeClock.js +2 -2
- package/TimePicker/TimePicker.js +3 -3
- package/esm/AdapterDayjs/AdapterDayjs.d.ts +28 -31
- package/esm/AdapterDayjs/AdapterDayjs.js +37 -43
- package/esm/DateCalendar/DateCalendar.js +2 -2
- package/esm/DatePicker/DatePicker.js +1 -1
- package/esm/DateTimePicker/DateTimePicker.js +3 -3
- package/esm/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -3
- package/esm/DesktopTimePicker/DesktopTimePicker.js +3 -3
- package/esm/DigitalClock/DigitalClock.js +2 -2
- package/esm/MobileDatePicker/MobileDatePicker.js +1 -1
- package/esm/MobileDateTimePicker/MobileDateTimePicker.js +3 -3
- package/esm/MobileTimePicker/MobileTimePicker.js +1 -1
- package/esm/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -3
- package/esm/PickersLayout/PickersLayout.js +1 -1
- package/esm/StaticDatePicker/StaticDatePicker.js +1 -1
- package/esm/StaticDateTimePicker/StaticDateTimePicker.js +3 -3
- package/esm/StaticTimePicker/StaticTimePicker.js +1 -1
- package/esm/TimeClock/TimeClock.js +2 -2
- package/esm/TimePicker/TimePicker.js +3 -3
- package/esm/index.js +1 -1
- package/esm/internals/hooks/useViews.d.ts +2 -2
- package/esm/internals/models/props/time.d.ts +3 -3
- package/index.js +1 -1
- package/internals/hooks/useViews.d.ts +2 -2
- package/internals/models/props/time.d.ts +3 -3
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import dayjs, { Dayjs } from 'dayjs';
|
|
2
2
|
import { FieldFormatTokenMap, MuiPickersAdapter, AdapterFormats, AdapterOptions, PickersTimezone, DateBuilderReturnType } from "../models/index.js";
|
|
3
|
-
type Constructor = (...args: Parameters<typeof defaultDayjs>) => Dayjs;
|
|
4
3
|
declare module '@mui/x-date-pickers/models' {
|
|
5
4
|
interface PickerValidDateLookup {
|
|
6
5
|
dayjs: Dayjs;
|
|
@@ -35,7 +34,6 @@ export declare class AdapterDayjs implements MuiPickersAdapter<string> {
|
|
|
35
34
|
isMUIAdapter: boolean;
|
|
36
35
|
isTimezoneCompatible: boolean;
|
|
37
36
|
lib: string;
|
|
38
|
-
dayjs: Constructor;
|
|
39
37
|
locale?: string;
|
|
40
38
|
formats: AdapterFormats;
|
|
41
39
|
escapedCharacters: {
|
|
@@ -67,11 +65,11 @@ export declare class AdapterDayjs implements MuiPickersAdapter<string> {
|
|
|
67
65
|
*/
|
|
68
66
|
private adjustOffset;
|
|
69
67
|
date: <T extends string | null | undefined>(value?: T, timezone?: PickersTimezone) => DateBuilderReturnType<T>;
|
|
70
|
-
getInvalidDate: () =>
|
|
68
|
+
getInvalidDate: () => dayjs.Dayjs;
|
|
71
69
|
getTimezone: (value: Dayjs) => string;
|
|
72
70
|
setTimezone: (value: Dayjs, timezone: PickersTimezone) => Dayjs;
|
|
73
71
|
toJsDate: (value: Dayjs) => Date;
|
|
74
|
-
parse: (value: string, format: string) =>
|
|
72
|
+
parse: (value: string, format: string) => dayjs.Dayjs | null;
|
|
75
73
|
getCurrentLocaleCode: () => string;
|
|
76
74
|
is12HourCycleInCurrentLocale: () => boolean;
|
|
77
75
|
expandFormat: (format: string) => string;
|
|
@@ -91,21 +89,21 @@ export declare class AdapterDayjs implements MuiPickersAdapter<string> {
|
|
|
91
89
|
isBeforeYear: (value: Dayjs, comparing: Dayjs) => boolean;
|
|
92
90
|
isBeforeDay: (value: Dayjs, comparing: Dayjs) => boolean;
|
|
93
91
|
isWithinRange: (value: Dayjs, [start, end]: [Dayjs, Dayjs]) => boolean;
|
|
94
|
-
startOfYear: (value: Dayjs) =>
|
|
95
|
-
startOfMonth: (value: Dayjs) =>
|
|
96
|
-
startOfWeek: (value: Dayjs) =>
|
|
97
|
-
startOfDay: (value: Dayjs) =>
|
|
98
|
-
endOfYear: (value: Dayjs) =>
|
|
99
|
-
endOfMonth: (value: Dayjs) =>
|
|
100
|
-
endOfWeek: (value: Dayjs) =>
|
|
101
|
-
endOfDay: (value: Dayjs) =>
|
|
102
|
-
addYears: (value: Dayjs, amount: number) =>
|
|
103
|
-
addMonths: (value: Dayjs, amount: number) =>
|
|
104
|
-
addWeeks: (value: Dayjs, amount: number) =>
|
|
105
|
-
addDays: (value: Dayjs, amount: number) =>
|
|
106
|
-
addHours: (value: Dayjs, amount: number) =>
|
|
107
|
-
addMinutes: (value: Dayjs, amount: number) =>
|
|
108
|
-
addSeconds: (value: Dayjs, amount: number) =>
|
|
92
|
+
startOfYear: (value: Dayjs) => dayjs.Dayjs;
|
|
93
|
+
startOfMonth: (value: Dayjs) => dayjs.Dayjs;
|
|
94
|
+
startOfWeek: (value: Dayjs) => dayjs.Dayjs;
|
|
95
|
+
startOfDay: (value: Dayjs) => dayjs.Dayjs;
|
|
96
|
+
endOfYear: (value: Dayjs) => dayjs.Dayjs;
|
|
97
|
+
endOfMonth: (value: Dayjs) => dayjs.Dayjs;
|
|
98
|
+
endOfWeek: (value: Dayjs) => dayjs.Dayjs;
|
|
99
|
+
endOfDay: (value: Dayjs) => dayjs.Dayjs;
|
|
100
|
+
addYears: (value: Dayjs, amount: number) => dayjs.Dayjs;
|
|
101
|
+
addMonths: (value: Dayjs, amount: number) => dayjs.Dayjs;
|
|
102
|
+
addWeeks: (value: Dayjs, amount: number) => dayjs.Dayjs;
|
|
103
|
+
addDays: (value: Dayjs, amount: number) => dayjs.Dayjs;
|
|
104
|
+
addHours: (value: Dayjs, amount: number) => dayjs.Dayjs;
|
|
105
|
+
addMinutes: (value: Dayjs, amount: number) => dayjs.Dayjs;
|
|
106
|
+
addSeconds: (value: Dayjs, amount: number) => dayjs.Dayjs;
|
|
109
107
|
getYear: (value: Dayjs) => number;
|
|
110
108
|
getMonth: (value: Dayjs) => number;
|
|
111
109
|
getDate: (value: Dayjs) => number;
|
|
@@ -113,17 +111,16 @@ export declare class AdapterDayjs implements MuiPickersAdapter<string> {
|
|
|
113
111
|
getMinutes: (value: Dayjs) => number;
|
|
114
112
|
getSeconds: (value: Dayjs) => number;
|
|
115
113
|
getMilliseconds: (value: Dayjs) => number;
|
|
116
|
-
setYear: (value: Dayjs, year: number) =>
|
|
117
|
-
setMonth: (value: Dayjs, month: number) =>
|
|
118
|
-
setDate: (value: Dayjs, date: number) =>
|
|
119
|
-
setHours: (value: Dayjs, hours: number) =>
|
|
120
|
-
setMinutes: (value: Dayjs, minutes: number) =>
|
|
121
|
-
setSeconds: (value: Dayjs, seconds: number) =>
|
|
122
|
-
setMilliseconds: (value: Dayjs, milliseconds: number) =>
|
|
114
|
+
setYear: (value: Dayjs, year: number) => dayjs.Dayjs;
|
|
115
|
+
setMonth: (value: Dayjs, month: number) => dayjs.Dayjs;
|
|
116
|
+
setDate: (value: Dayjs, date: number) => dayjs.Dayjs;
|
|
117
|
+
setHours: (value: Dayjs, hours: number) => dayjs.Dayjs;
|
|
118
|
+
setMinutes: (value: Dayjs, minutes: number) => dayjs.Dayjs;
|
|
119
|
+
setSeconds: (value: Dayjs, seconds: number) => dayjs.Dayjs;
|
|
120
|
+
setMilliseconds: (value: Dayjs, milliseconds: number) => dayjs.Dayjs;
|
|
123
121
|
getDaysInMonth: (value: Dayjs) => number;
|
|
124
|
-
getWeekArray: (value: Dayjs) =>
|
|
122
|
+
getWeekArray: (value: Dayjs) => dayjs.Dayjs[][];
|
|
125
123
|
getWeekNumber: (value: Dayjs) => number;
|
|
126
124
|
getDayOfWeek(value: Dayjs): number;
|
|
127
|
-
getYearRange: ([start, end]: [Dayjs, Dayjs]) =>
|
|
128
|
-
}
|
|
129
|
-
export {};
|
|
125
|
+
getYearRange: ([start, end]: [Dayjs, Dayjs]) => dayjs.Dayjs[];
|
|
126
|
+
}
|
|
@@ -135,7 +135,6 @@ const defaultFormats = {
|
|
|
135
135
|
};
|
|
136
136
|
const MISSING_UTC_PLUGIN = ['Missing UTC plugin', 'To be able to use UTC or timezones, you have to enable the `utc` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc'].join('\n');
|
|
137
137
|
const MISSING_TIMEZONE_PLUGIN = ['Missing timezone plugin', 'To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone'].join('\n');
|
|
138
|
-
const withLocale = (dayjs, locale) => !locale ? dayjs : (...args) => dayjs(...args).locale(locale);
|
|
139
138
|
/**
|
|
140
139
|
* Based on `@date-io/dayjs`
|
|
141
140
|
*
|
|
@@ -169,7 +168,6 @@ class AdapterDayjs {
|
|
|
169
168
|
this.isMUIAdapter = true;
|
|
170
169
|
this.isTimezoneCompatible = true;
|
|
171
170
|
this.lib = 'dayjs';
|
|
172
|
-
this.dayjs = void 0;
|
|
173
171
|
this.locale = void 0;
|
|
174
172
|
this.formats = void 0;
|
|
175
173
|
this.escapedCharacters = {
|
|
@@ -210,24 +208,26 @@ class AdapterDayjs {
|
|
|
210
208
|
}
|
|
211
209
|
};
|
|
212
210
|
this.createSystemDate = value => {
|
|
211
|
+
let date;
|
|
213
212
|
if (this.hasUTCPlugin() && this.hasTimezonePlugin()) {
|
|
214
213
|
const timezone = _dayjs.default.tz.guess();
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
/* v8 ignore next 3 */
|
|
218
|
-
|
|
219
|
-
|
|
214
|
+
if (timezone === 'UTC') {
|
|
215
|
+
date = (0, _dayjs.default)(value);
|
|
216
|
+
} /* v8 ignore next 3 */else {
|
|
217
|
+
// We can't change the system timezone in the tests
|
|
218
|
+
date = _dayjs.default.tz(value, timezone);
|
|
220
219
|
}
|
|
221
|
-
|
|
220
|
+
} else {
|
|
221
|
+
date = (0, _dayjs.default)(value);
|
|
222
222
|
}
|
|
223
|
-
return
|
|
223
|
+
return this.setLocaleToValue(date);
|
|
224
224
|
};
|
|
225
225
|
this.createUTCDate = value => {
|
|
226
226
|
/* v8 ignore next 3 */
|
|
227
227
|
if (!this.hasUTCPlugin()) {
|
|
228
228
|
throw new Error(MISSING_UTC_PLUGIN);
|
|
229
229
|
}
|
|
230
|
-
return _dayjs.default.utc(value);
|
|
230
|
+
return this.setLocaleToValue(_dayjs.default.utc(value));
|
|
231
231
|
};
|
|
232
232
|
this.createTZDate = (value, timezone) => {
|
|
233
233
|
/* v8 ignore next 3 */
|
|
@@ -240,7 +240,7 @@ class AdapterDayjs {
|
|
|
240
240
|
throw new Error(MISSING_TIMEZONE_PLUGIN);
|
|
241
241
|
}
|
|
242
242
|
const keepLocalTime = value !== undefined && !value.endsWith('Z');
|
|
243
|
-
return (0, _dayjs.default)(value).tz(this.cleanTimezone(timezone), keepLocalTime);
|
|
243
|
+
return this.setLocaleToValue((0, _dayjs.default)(value).tz(this.cleanTimezone(timezone), keepLocalTime));
|
|
244
244
|
};
|
|
245
245
|
this.getLocaleFormats = () => {
|
|
246
246
|
const locales = _dayjs.default.Ls;
|
|
@@ -287,18 +287,13 @@ class AdapterDayjs {
|
|
|
287
287
|
if (value === null) {
|
|
288
288
|
return null;
|
|
289
289
|
}
|
|
290
|
-
let parsedValue;
|
|
291
290
|
if (timezone === 'UTC') {
|
|
292
|
-
|
|
293
|
-
} else if (timezone === 'system' || timezone === 'default' && !this.hasTimezonePlugin()) {
|
|
294
|
-
parsedValue = this.createSystemDate(value);
|
|
295
|
-
} else {
|
|
296
|
-
parsedValue = this.createTZDate(value, timezone);
|
|
291
|
+
return this.createUTCDate(value);
|
|
297
292
|
}
|
|
298
|
-
if (
|
|
299
|
-
return
|
|
293
|
+
if (timezone === 'system' || timezone === 'default' && !this.hasTimezonePlugin()) {
|
|
294
|
+
return this.createSystemDate(value);
|
|
300
295
|
}
|
|
301
|
-
return
|
|
296
|
+
return this.createTZDate(value, timezone);
|
|
302
297
|
};
|
|
303
298
|
this.getInvalidDate = () => (0, _dayjs.default)(new Date('Invalid date'));
|
|
304
299
|
this.getTimezone = value => {
|
|
@@ -340,7 +335,7 @@ class AdapterDayjs {
|
|
|
340
335
|
/* v8 ignore next */
|
|
341
336
|
throw new Error(MISSING_TIMEZONE_PLUGIN);
|
|
342
337
|
}
|
|
343
|
-
return _dayjs.default.tz(value, this.cleanTimezone(timezone));
|
|
338
|
+
return this.setLocaleToValue(_dayjs.default.tz(value, this.cleanTimezone(timezone)));
|
|
344
339
|
};
|
|
345
340
|
this.toJsDate = value => {
|
|
346
341
|
return value.toDate();
|
|
@@ -349,7 +344,7 @@ class AdapterDayjs {
|
|
|
349
344
|
if (value === '') {
|
|
350
345
|
return null;
|
|
351
346
|
}
|
|
352
|
-
return
|
|
347
|
+
return (0, _dayjs.default)(value, format, this.locale, true);
|
|
353
348
|
};
|
|
354
349
|
this.getCurrentLocaleCode = () => {
|
|
355
350
|
return this.locale || 'en';
|
|
@@ -378,7 +373,7 @@ class AdapterDayjs {
|
|
|
378
373
|
return this.formatByString(value, this.formats[formatKey]);
|
|
379
374
|
};
|
|
380
375
|
this.formatByString = (value, formatString) => {
|
|
381
|
-
return this.
|
|
376
|
+
return this.setLocaleToValue(value).format(formatString);
|
|
382
377
|
};
|
|
383
378
|
this.formatNumber = numberToFormat => {
|
|
384
379
|
return numberToFormat;
|
|
@@ -462,25 +457,25 @@ class AdapterDayjs {
|
|
|
462
457
|
return this.adjustOffset(value.endOf('day'));
|
|
463
458
|
};
|
|
464
459
|
this.addYears = (value, amount) => {
|
|
465
|
-
return this.adjustOffset(
|
|
460
|
+
return this.adjustOffset(value.add(amount, 'year'));
|
|
466
461
|
};
|
|
467
462
|
this.addMonths = (value, amount) => {
|
|
468
|
-
return this.adjustOffset(
|
|
463
|
+
return this.adjustOffset(value.add(amount, 'month'));
|
|
469
464
|
};
|
|
470
465
|
this.addWeeks = (value, amount) => {
|
|
471
|
-
return this.adjustOffset(
|
|
466
|
+
return this.adjustOffset(value.add(amount, 'week'));
|
|
472
467
|
};
|
|
473
468
|
this.addDays = (value, amount) => {
|
|
474
|
-
return this.adjustOffset(
|
|
469
|
+
return this.adjustOffset(value.add(amount, 'day'));
|
|
475
470
|
};
|
|
476
471
|
this.addHours = (value, amount) => {
|
|
477
|
-
return this.adjustOffset(
|
|
472
|
+
return this.adjustOffset(value.add(amount, 'hour'));
|
|
478
473
|
};
|
|
479
474
|
this.addMinutes = (value, amount) => {
|
|
480
|
-
return this.adjustOffset(
|
|
475
|
+
return this.adjustOffset(value.add(amount, 'minute'));
|
|
481
476
|
};
|
|
482
477
|
this.addSeconds = (value, amount) => {
|
|
483
|
-
return this.adjustOffset(
|
|
478
|
+
return this.adjustOffset(value.add(amount, 'second'));
|
|
484
479
|
};
|
|
485
480
|
this.getYear = value => {
|
|
486
481
|
return value.year();
|
|
@@ -556,7 +551,6 @@ class AdapterDayjs {
|
|
|
556
551
|
}
|
|
557
552
|
return years;
|
|
558
553
|
};
|
|
559
|
-
this.dayjs = withLocale(_dayjs.default, _locale);
|
|
560
554
|
this.locale = _locale;
|
|
561
555
|
this.formats = (0, _extends2.default)({}, defaultFormats, formats);
|
|
562
556
|
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,101 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.9.0
|
|
9
|
+
|
|
10
|
+
_Jul 17, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- ✨ Improve the drag and drop interaction for Data Grid [row reordering](https://mui.com/x/react-data-grid/row-ordering/) feature. It uses a drop indicator to point to the position the row would be moving to.
|
|
15
|
+
|
|
16
|
+
https://github.com/user-attachments/assets/37284c4f-e8d4-4fc6-a6af-a780592905ef
|
|
17
|
+
|
|
18
|
+
- 🚀 Improve Data Grid Pivoting and Aggregation performance
|
|
19
|
+
|
|
20
|
+
- 📊 Add `minBarSize` to set a minimum height for bars
|
|
21
|
+
|
|
22
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
23
|
+
@lauri865
|
|
24
|
+
|
|
25
|
+
The following are all team members who have contributed to this release:
|
|
26
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @noraleonte, @MBilalShafi
|
|
27
|
+
|
|
28
|
+
### Data Grid
|
|
29
|
+
|
|
30
|
+
#### `@mui/x-data-grid@8.9.0`
|
|
31
|
+
|
|
32
|
+
Internal changes.
|
|
33
|
+
|
|
34
|
+
#### `@mui/x-data-grid-pro@8.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
35
|
+
|
|
36
|
+
Same changes as in `@mui/x-data-grid@8.9.0`, plus:
|
|
37
|
+
|
|
38
|
+
- [DataGridPro] Row reorder using drop indicator (#18627) @MBilalShafi
|
|
39
|
+
|
|
40
|
+
#### `@mui/x-data-grid-premium@8.9.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
41
|
+
|
|
42
|
+
Same changes as in `@mui/x-data-grid-pro@8.9.0`, plus:
|
|
43
|
+
|
|
44
|
+
- [DataGridPremium] Allow group column overrides with pivoting (#18765) @arminmeh
|
|
45
|
+
- [DataGridPremium] Support sort-dependent aggregation and improve performance (#18348) @lauri865
|
|
46
|
+
|
|
47
|
+
### Date and Time Pickers
|
|
48
|
+
|
|
49
|
+
#### `@mui/x-date-pickers@8.9.0`
|
|
50
|
+
|
|
51
|
+
- [pickers] Avoid useless date creation in `AdapterDayjs` (#18429) @flaviendelangle
|
|
52
|
+
- [pickers] Fix `timeSteps` JSDoc (#18807) @LukasTy
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-date-pickers-pro@8.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
55
|
+
|
|
56
|
+
Same changes as in `@mui/x-date-pickers@8.9.0`.
|
|
57
|
+
|
|
58
|
+
### Charts
|
|
59
|
+
|
|
60
|
+
#### `@mui/x-charts@8.9.0`
|
|
61
|
+
|
|
62
|
+
- [charts] Add `minBarSize` to prevent bars from having 0 height (#18798) @JCQuintas
|
|
63
|
+
- [charts] Add click listener to radar charts (#18773) @alexfauquette
|
|
64
|
+
- [charts] Improve scatter chart pointer move performance (#18775) @bernardobelchior
|
|
65
|
+
- [charts] Simplify radar internal hooks (#18760) @alexfauquette
|
|
66
|
+
- [charts] `minBarSize` now ignores `0` and `null` values (#18816) @JCQuintas
|
|
67
|
+
- [charts] Fix y-axis tick label overlap when using log scale (#18744) @bernardobelchior
|
|
68
|
+
- [charts] Expose <ChartType>Series type for all chart types (#18805) @bernardobelchior
|
|
69
|
+
|
|
70
|
+
#### `@mui/x-charts-pro@8.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
71
|
+
|
|
72
|
+
Same changes as in `@mui/x-charts@8.9.0` plus:
|
|
73
|
+
|
|
74
|
+
[charts-pro] Fix issue where charts gestures weren't properly working when inside the shadow-dom (#18837) @JCQuintas
|
|
75
|
+
|
|
76
|
+
### Tree View
|
|
77
|
+
|
|
78
|
+
#### `@mui/x-tree-view@8.9.0`
|
|
79
|
+
|
|
80
|
+
Internal changes.
|
|
81
|
+
|
|
82
|
+
#### `@mui/x-tree-view-pro@8.9.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
83
|
+
|
|
84
|
+
Same changes as in `@mui/x-tree-view@8.9.0`.
|
|
85
|
+
|
|
86
|
+
### Codemod
|
|
87
|
+
|
|
88
|
+
#### `@mui/x-codemod@8.9.0`
|
|
89
|
+
|
|
90
|
+
Internal changes.
|
|
91
|
+
|
|
92
|
+
### Docs
|
|
93
|
+
|
|
94
|
+
- [data grid][docs] Revise the Pro filter docs (#17929) @mapache-salvaje
|
|
95
|
+
- [charts][docs] Move mark outside clip-path (#18806) @alexfauquette
|
|
96
|
+
|
|
97
|
+
### Miscellaneous
|
|
98
|
+
|
|
99
|
+
- [code-infra] Fix ESLint `import` restriction rule for test files (#18669) @LukasTy
|
|
100
|
+
- [code-infra] Remove charts benchmarks dependency on `@testing-library/jest-dom` (#18800) @bernardobelchior
|
|
101
|
+
- [code-infra] Remove duplicate dependency from `eslint-plugin-mui-x` (#18797) @bernardobelchior
|
|
102
|
+
|
|
8
103
|
## 8.8.0
|
|
9
104
|
|
|
10
105
|
_Jul 11, 2025_
|
|
@@ -216,6 +311,7 @@ We'd like to extend a big thank you to the 12 contributors who made this release
|
|
|
216
311
|
- 📅 Add `usePickerAdapter` hook to access the date adapter.
|
|
217
312
|
|
|
218
313
|
You can use the adapter in your custom components if you need them to work with multiple date libraries — [Learn more](https://mui.com/x/react-date-pickers/custom-components/#access-date-adapter).
|
|
314
|
+
|
|
219
315
|
- 🌎 Improve Danish (da-DK) locale
|
|
220
316
|
- 🌎 Improve German (de-DE) locale
|
|
221
317
|
|
|
@@ -234,13 +330,13 @@ The following are all team members who have contributed to this release:
|
|
|
234
330
|
- [l10n] Improve Danish (da-DK) locale (#18428) @ShahrazH
|
|
235
331
|
- [l10n] Improve German (de-DE) locale (#18388) @omalyutin
|
|
236
332
|
|
|
237
|
-
#### `@mui/x-data-grid-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link
|
|
333
|
+
#### `@mui/x-data-grid-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
238
334
|
|
|
239
335
|
Same changes as in `@mui/x-data-grid@8.6.0`, plus:
|
|
240
336
|
|
|
241
337
|
- [DataGridPro] Fix lazy loading params calculated from rendering context (#18460) @arminmeh
|
|
242
338
|
|
|
243
|
-
#### `@mui/x-data-grid-premium@8.6.0` [](https://mui.com/r/x-premium-svg-link
|
|
339
|
+
#### `@mui/x-data-grid-premium@8.6.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
244
340
|
|
|
245
341
|
Same changes as in `@mui/x-data-grid-pro@8.6.0`.
|
|
246
342
|
|
|
@@ -252,7 +348,7 @@ Same changes as in `@mui/x-data-grid-pro@8.6.0`.
|
|
|
252
348
|
- [pickers] Fix to use latest `value` when updating `lastCommittedValue` in internal state (#18518) @LukasTy
|
|
253
349
|
- [pickers] Use `usePickerAdapter` hook internally instead of `useUtils` (#18465) @LukasTy
|
|
254
350
|
|
|
255
|
-
#### `@mui/x-date-pickers-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link
|
|
351
|
+
#### `@mui/x-date-pickers-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
256
352
|
|
|
257
353
|
Same changes as in `@mui/x-date-pickers@8.6.0`.
|
|
258
354
|
|
|
@@ -269,7 +365,7 @@ Same changes as in `@mui/x-date-pickers@8.6.0`.
|
|
|
269
365
|
- [charts] Improve touch behavior for polar axis (#18531) @JCQuintas
|
|
270
366
|
- [charts] Add `isElementInside` helper (#18530) @JCQuintas
|
|
271
367
|
|
|
272
|
-
#### `@mui/x-charts-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link
|
|
368
|
+
#### `@mui/x-charts-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
273
369
|
|
|
274
370
|
Same changes as in `@mui/x-charts@8.6.0`, plus:
|
|
275
371
|
|
|
@@ -283,7 +379,7 @@ Same changes as in `@mui/x-charts@8.6.0`, plus:
|
|
|
283
379
|
|
|
284
380
|
Internal changes.
|
|
285
381
|
|
|
286
|
-
#### `@mui/x-tree-view-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link
|
|
382
|
+
#### `@mui/x-tree-view-pro@8.6.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
287
383
|
|
|
288
384
|
Same changes as in `@mui/x-tree-view@8.6.0`, plus:
|
|
289
385
|
|
|
@@ -1498,7 +1594,6 @@ Same changes as in `@mui/x-date-pickers@8.0.0-beta.3`.
|
|
|
1498
1594
|
|
|
1499
1595
|
- Removed `react-spring` as a dependency of `@mui/x-charts`.
|
|
1500
1596
|
A consequence of this change is that the props of some slots have been changed because the `SpringValue` wrapper has been removed. The affected slots and props are:
|
|
1501
|
-
|
|
1502
1597
|
- the type of the `x`, `y`, `width` and `height` props of the `bar` slot are now `number`;
|
|
1503
1598
|
- the type of `startAngle`, `endAngle`, `innerRadius`, `outerRadius`, `arcLabelRadius`, `cornerRadius` and `paddingAngle` props of `pieArc` and `pieArcLabel` slot are now `number`.
|
|
1504
1599
|
|
|
@@ -2066,7 +2161,6 @@ Following are all team members who have contributed to this release:
|
|
|
2066
2161
|
- The `slots.baseFormControl` component was removed.
|
|
2067
2162
|
|
|
2068
2163
|
- The "Reset" button in the column visibility panel now resets to the initial column visibility model. Previously it was reset to the model that was active at the time the panel was opened. The reset behavior follows these rules:
|
|
2069
|
-
|
|
2070
2164
|
1. If an initial `columnVisibilityModel` is provided, it resets to that model.
|
|
2071
2165
|
2. If a controlled `columnVisibilityModel` is provided, it resets to the first model value.
|
|
2072
2166
|
3. When the columns are updated (via the `columns` prop or `updateColumns()` API method), the reset reference point updates to the current `columnVisibilityModel`.
|
|
@@ -2089,7 +2183,6 @@ Following are all team members who have contributed to this release:
|
|
|
2089
2183
|
The `exclude` selection type allows to select all rows except the ones in the `ids` set.
|
|
2090
2184
|
|
|
2091
2185
|
This change impacts the following props:
|
|
2092
|
-
|
|
2093
2186
|
- `rowSelectionModel`
|
|
2094
2187
|
- `onRowSelectionModelChange`
|
|
2095
2188
|
- `initialState.rowSelectionModel`
|
|
@@ -2413,7 +2506,6 @@ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.12`, plus:
|
|
|
2413
2506
|
- The `aria-label` on the `<Clock />` component and Time Picker opening button has been fixed to rely on the set `ampm` property instead of defaulting to the user's locale.
|
|
2414
2507
|
|
|
2415
2508
|
- The following unused formats have been removed from the adapters and can no longer be overridden via the `dateFormats` prop on the `<LocalizationProvider />` component:
|
|
2416
|
-
|
|
2417
2509
|
- `fullTime` - please use `fullTime12h` and `fullTime24h` instead:
|
|
2418
2510
|
```diff
|
|
2419
2511
|
<LocalizationProvider
|
|
@@ -2628,7 +2720,6 @@ Following are all team members who have contributed to this release:
|
|
|
2628
2720
|
|
|
2629
2721
|
- `viewportInnerSize.width` now includes pinned columns' widths (fixes recursive loops in updating dimensions <-> columns)
|
|
2630
2722
|
- The Data Grid now has a default background color, and its customization has moved from `theme.mixins.MuiDataGrid` to `theme.palette.DataGrid` with the following properties:
|
|
2631
|
-
|
|
2632
2723
|
- `bg`: Sets the background color of the entire grid (new property)
|
|
2633
2724
|
- `headerBg`: Sets the background color of the header (previously named `containerBackground`)
|
|
2634
2725
|
- `pinnedBg`: Sets the background color of pinned rows and columns (previously named `pinnedBackground`)
|
|
@@ -2657,7 +2748,6 @@ Following are all team members who have contributed to this release:
|
|
|
2657
2748
|
Only the initial value and the type are updated. Logic that initializes the API and its availability remained the same, which means that if you could access API in a particular line of your code before, you are able to access it as well after this change.
|
|
2658
2749
|
|
|
2659
2750
|
Depending on the context in which the API is being used, you can decide what is the best way to deal with `null` value. Some options are:
|
|
2660
|
-
|
|
2661
2751
|
- Use optional chaining
|
|
2662
2752
|
- Use non-null assertion operator if you are sure your code is always executed when the `apiRef` is not `null`
|
|
2663
2753
|
- Return early if `apiRef` is `null`
|
|
@@ -3181,7 +3271,6 @@ Following are all team members who have contributed to this release:
|
|
|
3181
3271
|
#### Breaking changes
|
|
3182
3272
|
|
|
3183
3273
|
- Passing additional props (like `data-*`, `aria-*`) directly on the Data Grid component is no longer supported. To pass the props, use `slotProps`:
|
|
3184
|
-
|
|
3185
3274
|
- For `.root` element, use `slotProps.root`.
|
|
3186
3275
|
- For `.main` element (the one with `role="grid"`), use `slotProps.main`.
|
|
3187
3276
|
|
|
@@ -3698,14 +3787,12 @@ Same changes as in `@mui/x-date-pickers@v8.0.0-alpha.1`, plus:
|
|
|
3698
3787
|
#### Breaking change
|
|
3699
3788
|
|
|
3700
3789
|
- The DX of the Tooltip customization has been refactored
|
|
3701
|
-
|
|
3702
3790
|
- The `tooltip` prop has been removed in favor of `slotProps.tooltip` for consistency.
|
|
3703
3791
|
- The `popper`, `axisContent`, and `itemContent` slots have been removed in favor of the `tooltip` slot which overrides the entire tooltip.
|
|
3704
3792
|
- To override the tooltip content, use the `useItemTooltip` or `useAxisTooltip` hook to get the data, and wrap your component in `ChartsTooltipContainer` to follow the pointer position.
|
|
3705
3793
|
- To override the tooltip placement, use the `ChartsItemTooltipContent` or `ChartsItemTooltipContent` to get default data and place them in your custom tooltip.
|
|
3706
3794
|
|
|
3707
3795
|
- The library now uses the SVG `filter` attribute instead of `d3-color` for color manipulation.
|
|
3708
|
-
|
|
3709
3796
|
- This modification impacts the `LinePlot`, `AreaPlot`, and `BarPlot` components.
|
|
3710
3797
|
If you've customized the `fill` of those elements, you might need to override it by using the CSS `filter`.
|
|
3711
3798
|
- The `theme.styleOverride` is removed for `MuiLineElement`, `MuiAreaElement`, and `MuiBarElement` to improve performance.
|
|
@@ -3815,14 +3902,12 @@ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.0`, plus:
|
|
|
3815
3902
|
#### Breaking changes
|
|
3816
3903
|
|
|
3817
3904
|
- The default DOM structure of the field has changed [Learn more](https://mui.com/x/migration/migration-pickers-v7/#new-dom-structure-for-the-field).
|
|
3818
|
-
|
|
3819
3905
|
- Before version `v8.x`, the fields' DOM structure consisted of an `<input />`, which held the whole value for the component, but unfortunately presents a few limitations in terms of accessibility when managing multiple section values.
|
|
3820
3906
|
- Starting with version `v8.x`, all the field and picker components come with a new DOM structure that allows the field component to set aria attributes on individual sections, providing a far better experience with screen readers.
|
|
3821
3907
|
|
|
3822
3908
|
- Some translation keys no longer require `utils` and the date object as parameters, but only the formatted value as a string. The keys affected by this changes are: `clockLabelText`, `openDatePickerDialogue` and `openTimePickerDialogue` — [Learn more](https://mui.com/x/migration/migration-pickers-v7/#stop-passing-utils-and-the-date-object-to-some-translation-keys).
|
|
3823
3909
|
|
|
3824
3910
|
- The following types are no longer exported by `@mui/x-date-pickers` and `@mui/x-date-pickers-pro` — [Learn more](https://mui.com/x/migration/migration-pickers-v7/#removed-types).
|
|
3825
|
-
|
|
3826
3911
|
- `UseDateFieldComponentProps`
|
|
3827
3912
|
- `UseTimeFieldComponentProps`
|
|
3828
3913
|
- `UseDateTimeFieldComponentProps`
|
|
@@ -3870,7 +3955,6 @@ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.0`.
|
|
|
3870
3955
|
- The `slots.legend` does not receive the `drawingArea` prop. You can still access your custom legend with the `useDrawingArea()` hook if your custom legend needs it.
|
|
3871
3956
|
|
|
3872
3957
|
- Removed or renamed multiple props from Series — [Learn more](https://mui.com/x/migration/migration-charts-v7/#series-properties-renaming).
|
|
3873
|
-
|
|
3874
3958
|
- The `highlighted` and `faded` properties of highlightScope have been deprecated in favor of `highlight` and `fade`.
|
|
3875
3959
|
The deprecated ones are now removed.
|
|
3876
3960
|
- The `xAxisKey`, `yAxisKey`, and `zAxisKey` properties have been deprecated in favor of `xAxisId`, `yAxisId`, and `zAxisId`.
|
|
@@ -6134,7 +6218,6 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
|
|
|
6134
6218
|
<img width="287" src="https://github.com/user-attachments/assets/78bd83c5-7ce4-4ed7-acf9-be70b2dbce54" alt="Item reordering using drag and drop" />
|
|
6135
6219
|
|
|
6136
6220
|
- 📦 Support CommonJS bundle out of the box on `@mui/x-charts` by adding vendored D3 dependencies.
|
|
6137
|
-
|
|
6138
6221
|
- This modifies how the package imports D3.js. It will impact you if you use `d3` packages installed by `@mui/x-charts` and don't have them in your `package.json`. You shouldn't be affected otherwise.
|
|
6139
6222
|
- For more context, the initial issue is caused by D3 only exporting ESM.
|
|
6140
6223
|
|
|
@@ -7669,7 +7752,6 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
|
|
|
7669
7752
|
#### Breaking changes
|
|
7670
7753
|
|
|
7671
7754
|
- The `density` is a [controlled prop](https://mui.com/x/react-data-grid/accessibility/#set-the-density-programmatically) now, if you were previously passing the `density` prop to the Data Grid, you will need to do one of the following:
|
|
7672
|
-
|
|
7673
7755
|
1. Move it to the `initialState.density` to initialize it.
|
|
7674
7756
|
|
|
7675
7757
|
```diff
|
|
@@ -8175,7 +8257,6 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.4`.
|
|
|
8175
8257
|
```
|
|
8176
8258
|
|
|
8177
8259
|
- The following internal types were exported by mistake and have been removed from the public API:
|
|
8178
|
-
|
|
8179
8260
|
- `UseDateFieldDefaultizedProps`
|
|
8180
8261
|
- `UseTimeFieldDefaultizedProps`
|
|
8181
8262
|
- `UseDateTimeFieldDefaultizedProps`
|
|
@@ -8416,7 +8497,6 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
|
|
|
8416
8497
|
- 🎁 The Line Chart component now has animation by default (#11620) @alexfauquette
|
|
8417
8498
|
- 🚀 All charts have click handlers (#11411) @alexfauquette
|
|
8418
8499
|
Test their respective documentation demonstrations to know more about the data format:
|
|
8419
|
-
|
|
8420
8500
|
- [Scatter Chart](https://v7.mui.com/x/react-charts/scatter/#click-event)
|
|
8421
8501
|
- [Line Chart](https://v7.mui.com/x/react-charts/lines/#click-event)
|
|
8422
8502
|
- [Bar Chart](https://v7.mui.com/x/react-charts/bars/#click-event)
|
|
@@ -8696,7 +8776,6 @@ We'd like to offer a big thanks to the 11 contributors who made this release pos
|
|
|
8696
8776
|
```
|
|
8697
8777
|
|
|
8698
8778
|
The most notable changes that might affect your application or tests are:
|
|
8699
|
-
|
|
8700
8779
|
- The `role="grid"` attribute along with related ARIA attributes are now applied to the inner `div` element instead of the root `div` element:
|
|
8701
8780
|
|
|
8702
8781
|
```diff
|
|
@@ -9247,7 +9326,6 @@ We'd like to offer a big thanks to the 6 contributors who made this release poss
|
|
|
9247
9326
|
|
|
9248
9327
|
- The filter panel no longer uses the native version of the [`Select`](https://mui.com/material-ui/react-select/) component for all components.
|
|
9249
9328
|
- The `getOptionValue` and `getOptionLabel` props were removed from the following components:
|
|
9250
|
-
|
|
9251
9329
|
- `GridEditSingleSelectCell`
|
|
9252
9330
|
- `GridFilterInputSingleSelect`
|
|
9253
9331
|
- `GridFilterInputMultipleSingleSelect`
|
|
@@ -9661,7 +9739,6 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.3`, plus:
|
|
|
9661
9739
|
- Add new parameters to the `shortcuts` slot `onChange` callback
|
|
9662
9740
|
|
|
9663
9741
|
The `onChange` callback fired when selecting a shortcut now requires two new parameters (previously they were optional):
|
|
9664
|
-
|
|
9665
9742
|
- The [`changeImportance`](/x/react-date-pickers/shortcuts/#behavior-when-selecting-a-shortcut) of the shortcut.
|
|
9666
9743
|
- The `item` containing the entire shortcut object.
|
|
9667
9744
|
|
|
@@ -466,7 +466,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
466
466
|
onChange: _propTypes.default.func,
|
|
467
467
|
/**
|
|
468
468
|
* Callback fired on focused view change.
|
|
469
|
-
* @template TView
|
|
469
|
+
* @template TView Type of the view. It will vary based on the Picker type and the `views` it uses.
|
|
470
470
|
* @param {TView} view The new view to focus or not.
|
|
471
471
|
* @param {boolean} hasFocus `true` if the view should be focused.
|
|
472
472
|
*/
|
|
@@ -478,7 +478,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
478
478
|
onMonthChange: _propTypes.default.func,
|
|
479
479
|
/**
|
|
480
480
|
* Callback fired on view change.
|
|
481
|
-
* @template TView
|
|
481
|
+
* @template TView Type of the view. It will vary based on the Picker type and the `views` it uses.
|
|
482
482
|
* @param {TView} view The new view.
|
|
483
483
|
*/
|
|
484
484
|
onViewChange: _propTypes.default.func,
|
package/DatePicker/DatePicker.js
CHANGED
|
@@ -226,7 +226,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
226
226
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
227
227
|
/**
|
|
228
228
|
* Callback fired on view change.
|
|
229
|
-
* @template TView
|
|
229
|
+
* @template TView Type of the view. It will vary based on the Picker type and the `views` it uses.
|
|
230
230
|
* @param {TView} view The new view.
|
|
231
231
|
*/
|
|
232
232
|
onViewChange: _propTypes.default.func,
|
|
@@ -264,7 +264,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
264
264
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
265
265
|
/**
|
|
266
266
|
* Callback fired on view change.
|
|
267
|
-
* @template TView
|
|
267
|
+
* @template TView Type of the view. It will vary based on the Picker type and the `views` it uses.
|
|
268
268
|
* @param {TView} view The new view.
|
|
269
269
|
*/
|
|
270
270
|
onViewChange: _propTypes.default.func,
|
|
@@ -385,8 +385,8 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
385
385
|
thresholdToRenderTimeInASingleColumn: _propTypes.default.number,
|
|
386
386
|
/**
|
|
387
387
|
* The time steps between two time unit options.
|
|
388
|
-
* For example, if `
|
|
389
|
-
* When single column time renderer is used, only `
|
|
388
|
+
* For example, if `timeSteps.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
389
|
+
* When single column time renderer is used, only `timeSteps.minutes` will be used.
|
|
390
390
|
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
391
391
|
*/
|
|
392
392
|
timeSteps: _propTypes.default.shape({
|
|
@@ -237,7 +237,7 @@ DesktopDatePicker.propTypes = {
|
|
|
237
237
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
238
238
|
/**
|
|
239
239
|
* Callback fired on view change.
|
|
240
|
-
* @template TView
|
|
240
|
+
* @template TView Type of the view. It will vary based on the Picker type and the `views` it uses.
|
|
241
241
|
* @param {TView} view The new view.
|
|
242
242
|
*/
|
|
243
243
|
onViewChange: _propTypes.default.func,
|
|
@@ -357,7 +357,7 @@ DesktopDateTimePicker.propTypes = {
|
|
|
357
357
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
358
358
|
/**
|
|
359
359
|
* Callback fired on view change.
|
|
360
|
-
* @template TView
|
|
360
|
+
* @template TView Type of the view. It will vary based on the Picker type and the `views` it uses.
|
|
361
361
|
* @param {TView} view The new view.
|
|
362
362
|
*/
|
|
363
363
|
onViewChange: _propTypes.default.func,
|
|
@@ -478,8 +478,8 @@ DesktopDateTimePicker.propTypes = {
|
|
|
478
478
|
thresholdToRenderTimeInASingleColumn: _propTypes.default.number,
|
|
479
479
|
/**
|
|
480
480
|
* The time steps between two time unit options.
|
|
481
|
-
* For example, if `
|
|
482
|
-
* When single column time renderer is used, only `
|
|
481
|
+
* For example, if `timeSteps.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
482
|
+
* When single column time renderer is used, only `timeSteps.minutes` will be used.
|
|
483
483
|
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
484
484
|
*/
|
|
485
485
|
timeSteps: _propTypes.default.shape({
|
|
@@ -236,7 +236,7 @@ DesktopTimePicker.propTypes = {
|
|
|
236
236
|
onSelectedSectionsChange: _propTypes.default.func,
|
|
237
237
|
/**
|
|
238
238
|
* Callback fired on view change.
|
|
239
|
-
* @template TView
|
|
239
|
+
* @template TView Type of the view. It will vary based on the Picker type and the `views` it uses.
|
|
240
240
|
* @param {TView} view The new view.
|
|
241
241
|
*/
|
|
242
242
|
onViewChange: _propTypes.default.func,
|
|
@@ -314,8 +314,8 @@ DesktopTimePicker.propTypes = {
|
|
|
314
314
|
thresholdToRenderTimeInASingleColumn: _propTypes.default.number,
|
|
315
315
|
/**
|
|
316
316
|
* The time steps between two time unit options.
|
|
317
|
-
* For example, if `
|
|
318
|
-
* When single column time renderer is used, only `
|
|
317
|
+
* For example, if `timeSteps.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
318
|
+
* When single column time renderer is used, only `timeSteps.minutes` will be used.
|
|
319
319
|
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
320
320
|
*/
|
|
321
321
|
timeSteps: _propTypes.default.shape({
|