@mui/x-tree-view 6.0.0-beta.0 → 7.0.0-alpha.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/CHANGELOG.md +976 -5
- package/index.js +1 -1
- package/legacy/index.js +1 -1
- package/modern/index.js +1 -1
- package/node/TreeItem/TreeItem.js +3 -4
- package/node/TreeItem/TreeItemContent.js +3 -4
- package/node/TreeItem/treeItemClasses.js +1 -2
- package/node/TreeView/TreeView.js +3 -4
- package/node/TreeView/treeViewClasses.js +1 -2
- package/node/index.js +1 -1
- package/node/internals/TreeViewProvider/DescendantProvider.js +2 -2
- package/node/internals/TreeViewProvider/TreeViewContext.js +4 -6
- package/node/internals/TreeViewProvider/TreeViewProvider.js +2 -2
- package/node/internals/TreeViewProvider/useTreeViewContext.js +2 -2
- package/node/internals/corePlugins/corePlugins.js +1 -2
- package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +2 -2
- package/node/internals/hooks/useInstanceEventHandler.js +3 -4
- package/node/internals/plugins/defaultPlugins.js +2 -3
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +2 -2
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -2
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +2 -2
- package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +2 -2
- package/node/internals/useTreeView/useTreeView.js +2 -2
- package/node/internals/useTreeView/useTreeViewModels.js +2 -2
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,977 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 7.0.0-alpha.1
|
|
7
|
+
|
|
8
|
+
_Nov 17, 2023_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 3 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🐞 Bugfixes
|
|
13
|
+
- 📚 Documentation improvements
|
|
14
|
+
|
|
15
|
+
### Date Pickers
|
|
16
|
+
|
|
17
|
+
#### `@mui/x-date-pickers@7.0.0-alpha.1` / `@mui/x-date-pickers-pro@7.0.0-alpha.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
18
|
+
|
|
19
|
+
#### Breaking changes
|
|
20
|
+
|
|
21
|
+
- The string argument of the `dayOfWeekFormatter` prop has been replaced in favor of the date object to allow more flexibility.
|
|
22
|
+
|
|
23
|
+
```diff
|
|
24
|
+
<DateCalendar
|
|
25
|
+
// If you were still using the day string, you can get it back with your date library.
|
|
26
|
+
- dayOfWeekFormatter={dayStr => `${dayStr}.`}
|
|
27
|
+
+ dayOfWeekFormatter={day => `${day.format('dd')}.`}
|
|
28
|
+
|
|
29
|
+
// If you were already using the day object, just remove the first argument.
|
|
30
|
+
- dayOfWeekFormatter={(_dayStr, day) => `${day.format('dd')}.`}
|
|
31
|
+
+ dayOfWeekFormatter={day => `${day.format('dd')}.`}
|
|
32
|
+
/>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
- The imports related to the `calendarHeader` slot have been moved from `@mui/x-date-pickers/DateCalendar` to `@mui/x-date-pickers/PIckersCalendarHeader`:
|
|
36
|
+
|
|
37
|
+
```diff
|
|
38
|
+
export {
|
|
39
|
+
pickersCalendarHeaderClasses,
|
|
40
|
+
PickersCalendarHeaderClassKey,
|
|
41
|
+
PickersCalendarHeaderClasses,
|
|
42
|
+
PickersCalendarHeader,
|
|
43
|
+
PickersCalendarHeaderProps,
|
|
44
|
+
PickersCalendarHeaderSlotsComponent,
|
|
45
|
+
PickersCalendarHeaderSlotsComponentsProps,
|
|
46
|
+
ExportedPickersCalendarHeaderProps,
|
|
47
|
+
- } from '@mui/x-date-pickers/DateCalendar';
|
|
48
|
+
+ } from '@mui/x-date-pickers/PickersCalendarHeader';
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
- The `monthAndYear` format has been removed.
|
|
53
|
+
It was used in the header of the calendar views, you can replace it with the new `format` prop of the `calendarHeader` slot:
|
|
54
|
+
|
|
55
|
+
```diff
|
|
56
|
+
<LocalizationProvider
|
|
57
|
+
adapter={AdapterDayJS}
|
|
58
|
+
- formats={{ monthAndYear: 'MM/YYYY' }}
|
|
59
|
+
/>
|
|
60
|
+
<DatePicker
|
|
61
|
+
+ slotProps={{ calendarHeader: { format: 'MM/YYYY' }}}
|
|
62
|
+
/>
|
|
63
|
+
<DateRangePicker
|
|
64
|
+
+ slotProps={{ calendarHeader: { format: 'MM/YYYY' }}}
|
|
65
|
+
/>
|
|
66
|
+
<LocalizationProvider />
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
- The `adapter.getDiff` method have been removed, you can directly use your date library:
|
|
70
|
+
|
|
71
|
+
```diff
|
|
72
|
+
// For Day.js
|
|
73
|
+
- const diff = adapter.getDiff(value, comparing, unit);
|
|
74
|
+
+ const diff = value.diff(comparing, unit);
|
|
75
|
+
|
|
76
|
+
// For Luxon
|
|
77
|
+
- const diff = adapter.getDiff(value, comparing, unit);
|
|
78
|
+
+ const getDiff = (value: DateTime, comparing: DateTime | string, unit?: AdapterUnits) => {
|
|
79
|
+
+ const parsedComparing = typeof comparing === 'string'
|
|
80
|
+
+ ? DateTime.fromJSDate(new Date(comparing))
|
|
81
|
+
+ : comparing;
|
|
82
|
+
+ if (unit) {
|
|
83
|
+
+ return Math.floor(value.diff(comparing).as(unit));
|
|
84
|
+
+ }
|
|
85
|
+
+ return value.diff(comparing).as('millisecond');
|
|
86
|
+
+ };
|
|
87
|
+
+
|
|
88
|
+
+ const diff = getDiff(value, comparing, unit);
|
|
89
|
+
|
|
90
|
+
// For DateFns
|
|
91
|
+
- const diff = adapter.getDiff(value, comparing, unit);
|
|
92
|
+
+ const getDiff = (value: Date, comparing: Date | string, unit?: AdapterUnits) => {
|
|
93
|
+
+ const parsedComparing = typeof comparing === 'string' ? new Date(comparing) : comparing;
|
|
94
|
+
+ switch (unit) {
|
|
95
|
+
+ case 'years':
|
|
96
|
+
+ return dateFns.differenceInYears(value, parsedComparing);
|
|
97
|
+
+ case 'quarters':
|
|
98
|
+
+ return dateFns.differenceInQuarters(value, parsedComparing);
|
|
99
|
+
+ case 'months':
|
|
100
|
+
+ return dateFns.differenceInMonths(value, parsedComparing);
|
|
101
|
+
+ case 'weeks':
|
|
102
|
+
+ return dateFns.differenceInWeeks(value, parsedComparing);
|
|
103
|
+
+ case 'days':
|
|
104
|
+
+ return dateFns.differenceInDays(value, parsedComparing);
|
|
105
|
+
+ case 'hours':
|
|
106
|
+
+ return dateFns.differenceInHours(value, parsedComparing);
|
|
107
|
+
+ case 'minutes':
|
|
108
|
+
+ return dateFns.differenceInMinutes(value, parsedComparing);
|
|
109
|
+
+ case 'seconds':
|
|
110
|
+
+ return dateFns.differenceInSeconds(value, parsedComparing);
|
|
111
|
+
+ default: {
|
|
112
|
+
+ return dateFns.differenceInMilliseconds(value, parsedComparing);
|
|
113
|
+
+ }
|
|
114
|
+
+ }
|
|
115
|
+
+ };
|
|
116
|
+
+
|
|
117
|
+
+ const diff = getDiff(value, comparing, unit);
|
|
118
|
+
|
|
119
|
+
// For Moment
|
|
120
|
+
- const diff = adapter.getDiff(value, comparing, unit);
|
|
121
|
+
+ const diff = value.diff(comparing, unit);
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
- The `adapter.getFormatHelperText` method have been removed, you can use the `adapter.expandFormat` instead:
|
|
125
|
+
|
|
126
|
+
```diff
|
|
127
|
+
- const expandedFormat = adapter.getFormatHelperText(format);
|
|
128
|
+
+ const expandedFormat = adapter.expandFormat(format);
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
And if you need the exact same output you can apply the following transformation:
|
|
132
|
+
|
|
133
|
+
```diff
|
|
134
|
+
// For Day.js
|
|
135
|
+
- const expandedFormat = adapter.getFormatHelperText(format);
|
|
136
|
+
+ const expandedFormat = adapter.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
|
|
137
|
+
|
|
138
|
+
// For Luxon
|
|
139
|
+
- const expandedFormat = adapter.getFormatHelperText(format);
|
|
140
|
+
+ const expandedFormat = adapter.expandFormat(format).replace(/(a)/g, '(a|p)m').toLocaleLowerCase();
|
|
141
|
+
|
|
142
|
+
// For DateFns
|
|
143
|
+
- const expandedFormat = adapter.getFormatHelperText(format);
|
|
144
|
+
+ const expandedFormat = adapter.expandFormat(format).replace(/(aaa|aa|a)/g, '(a|p)m').toLocaleLowerCase();
|
|
145
|
+
|
|
146
|
+
// For Moment
|
|
147
|
+
- const expandedFormat = adapter.getFormatHelperText(format);
|
|
148
|
+
+ const expandedFormat = adapter.expandFormat(format).replace(/a/gi, '(a|p)m').toLocaleLowerCase();
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
- The `adapter.getMeridiemText` method have been removed, you can use the `adapter.setHours`, `adapter.date` and `adapter.format` methods to recreate its behavior:
|
|
152
|
+
|
|
153
|
+
```diff
|
|
154
|
+
- const meridiem = adapter.getMeridiemText('am');
|
|
155
|
+
+ const getMeridiemText = (meridiem: 'am' | 'pm') => {
|
|
156
|
+
+ const date = adapter.setHours(adapter.date()!, meridiem === 'am' ? 2 : 14);
|
|
157
|
+
+ return utils.format(date, 'meridiem');
|
|
158
|
+
+ };
|
|
159
|
+
+
|
|
160
|
+
+ const meridiem = getMeridiemText('am');
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
- The `adapter.getMonthArray` method have been removed, you can use the `adapter.startOfYear` and `adapter.addMonths` methods to recreate its behavior:
|
|
164
|
+
|
|
165
|
+
```diff
|
|
166
|
+
- const monthArray = adapter.getMonthArray(value);
|
|
167
|
+
+ const getMonthArray = (year) => {
|
|
168
|
+
+ const firstMonth = utils.startOfYear(year);
|
|
169
|
+
+ const months = [firstMonth];
|
|
170
|
+
+
|
|
171
|
+
+ while (months.length < 12) {
|
|
172
|
+
+ const prevMonth = months[months.length - 1];
|
|
173
|
+
+ months.push(utils.addMonths(prevMonth, 1));
|
|
174
|
+
+ }
|
|
175
|
+
+
|
|
176
|
+
+ return months;
|
|
177
|
+
+ }
|
|
178
|
+
+
|
|
179
|
+
+ const monthArray = getMonthArray(value);
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
- The `adapter.getNextMonth` method have been removed, you can use the `adapter.addMonths` method instead:
|
|
183
|
+
|
|
184
|
+
```diff
|
|
185
|
+
- const nextMonth = adapter.getNextMonth(value);
|
|
186
|
+
+ const nextMonth = adapter.addMonths(value, 1);
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
- The `adapter.getPreviousMonth` method have been removed, you can use the `adapter.addMonths` method instead:
|
|
190
|
+
|
|
191
|
+
```diff
|
|
192
|
+
- const previousMonth = adapter.getPreviousMonth(value);
|
|
193
|
+
+ const previousMonth = adapter.addMonths(value, -1);
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
- The `adapter.getWeekdays` method have been removed, you can use the `adapter.startOfWeek` and `adapter.addDays` methods instead:
|
|
197
|
+
|
|
198
|
+
```diff
|
|
199
|
+
- const weekDays = adapter.getWeekdays(value);
|
|
200
|
+
+ const getWeekdays = (value) => {
|
|
201
|
+
+ const start = adapter.startOfWeek(value);
|
|
202
|
+
+ return [0, 1, 2, 3, 4, 5, 6].map((diff) => utils.addDays(start, diff));
|
|
203
|
+
+ };
|
|
204
|
+
+
|
|
205
|
+
+ const weekDays = getWeekdays(value);
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
- The `isNull` method have been removed, you can replace it with a very basic check:
|
|
209
|
+
|
|
210
|
+
```diff
|
|
211
|
+
- const isNull = adapter.isNull(value);
|
|
212
|
+
+ const isNull = value === null;
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
- The `adapter.mergeDateAndTime` method have been removed, you can use the `adapter.setHours`, `adapter.setMinutes`, and `adapter.setSeconds` methods to recreate its behavior:
|
|
216
|
+
|
|
217
|
+
```diff
|
|
218
|
+
- const result = adapter.mergeDateAndTime(valueWithDate, valueWithTime);
|
|
219
|
+
+ const mergeDateAndTime = <TDate>(
|
|
220
|
+
+ dateParam,
|
|
221
|
+
+ timeParam,
|
|
222
|
+
+ ) => {
|
|
223
|
+
+ let mergedDate = dateParam;
|
|
224
|
+
+ mergedDate = utils.setHours(mergedDate, utils.getHours(timeParam));
|
|
225
|
+
+ mergedDate = utils.setMinutes(mergedDate, utils.getMinutes(timeParam));
|
|
226
|
+
+ mergedDate = utils.setSeconds(mergedDate, utils.getSeconds(timeParam));
|
|
227
|
+
+
|
|
228
|
+
+ return mergedDate;
|
|
229
|
+
+ };
|
|
230
|
+
+
|
|
231
|
+
+ const result = mergeDateAndTime(valueWithDate, valueWithTime);
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
- The `adapter.parseISO` method have been removed, you can directly use your date library:
|
|
235
|
+
|
|
236
|
+
```diff
|
|
237
|
+
// For Day.js
|
|
238
|
+
- const value = adapter.parseISO(isoString);
|
|
239
|
+
+ const value = dayjs(isoString);
|
|
240
|
+
|
|
241
|
+
// For Luxon
|
|
242
|
+
- const value = adapter.parseISO(isoString);
|
|
243
|
+
+ const value = DateTime.fromISO(isoString);
|
|
244
|
+
|
|
245
|
+
// For DateFns
|
|
246
|
+
- const value = adapter.parseISO(isoString);
|
|
247
|
+
+ const value = dateFns.parseISO(isoString);
|
|
248
|
+
|
|
249
|
+
// For Moment
|
|
250
|
+
- const value = adapter.parseISO(isoString);
|
|
251
|
+
+ const value = moment(isoString, true);
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
- The `adapter.toISO` method have been removed, you can directly use your date library:
|
|
255
|
+
|
|
256
|
+
```diff
|
|
257
|
+
- const isoString = adapter.toISO(value);
|
|
258
|
+
+ const isoString = value.toISOString();
|
|
259
|
+
+ const isoString = value.toUTC().toISO({ format: 'extended' });
|
|
260
|
+
+ const isoString = dateFns.formatISO(value, { format: 'extended' });
|
|
261
|
+
+ const isoString = value.toISOString();
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
- The `adapter.isEqual` method used to accept any type of value for its two input and tried to parse them before checking if they were equal.
|
|
265
|
+
The method has been simplified and now only accepts an already-parsed date or `null` (ie: the same formats used by the `value` prop in the pickers)
|
|
266
|
+
|
|
267
|
+
```diff
|
|
268
|
+
const adapterDayjs = new AdapterDayjs();
|
|
269
|
+
const adapterLuxon = new AdapterLuxon();
|
|
270
|
+
const adapterDateFns = new AdapterDateFns();
|
|
271
|
+
const adapterMoment = new AdatperMoment();
|
|
272
|
+
|
|
273
|
+
// Supported formats
|
|
274
|
+
const isEqual = adapterDayjs.isEqual(null, null); // Same for the other adapters
|
|
275
|
+
const isEqual = adapterLuxon.isEqual(DateTime.now(), DateTime.fromISO('2022-04-17'));
|
|
276
|
+
const isEqual = adapterMoment.isEqual(moment(), moment('2022-04-17'));
|
|
277
|
+
const isEqual = adapterDateFns.isEqual(new Date(), new Date('2022-04-17'));
|
|
278
|
+
|
|
279
|
+
// Non-supported formats (JS Date)
|
|
280
|
+
- const isEqual = adapterDayjs.isEqual(new Date(), new Date('2022-04-17'));
|
|
281
|
+
+ const isEqual = adapterDayjs.isEqual(dayjs(), dayjs('2022-04-17'));
|
|
282
|
+
|
|
283
|
+
- const isEqual = adapterLuxon.isEqual(new Date(), new Date('2022-04-17'));
|
|
284
|
+
+ const isEqual = adapterLuxon.isEqual(DateTime.now(), DateTime.fromISO('2022-04-17'));
|
|
285
|
+
|
|
286
|
+
- const isEqual = adapterMoment.isEqual(new Date(), new Date('2022-04-17'));
|
|
287
|
+
+ const isEqual = adapterMoment.isEqual(moment(), moment('2022-04-17'));
|
|
288
|
+
|
|
289
|
+
// Non-supported formats (string)
|
|
290
|
+
- const isEqual = adapterDayjs.isEqual('2022-04-16', '2022-04-17');
|
|
291
|
+
+ const isEqual = adapterDayjs.isEqual(dayjs('2022-04-17'), dayjs('2022-04-17'));
|
|
292
|
+
|
|
293
|
+
- const isEqual = adapterLuxon.isEqual('2022-04-16', '2022-04-17');
|
|
294
|
+
+ const isEqual = adapterLuxon.isEqual(DateTime.fromISO('2022-04-17'), DateTime.fromISO('2022-04-17'));
|
|
295
|
+
|
|
296
|
+
- const isEqual = adapterMoment.isEqual('2022-04-16', '2022-04-17');
|
|
297
|
+
+ const isEqual = adapterMoment.isEqual(moment('2022-04-17'), moment('2022-04-17'));
|
|
298
|
+
|
|
299
|
+
- const isEqual = adapterDateFns.isEqual('2022-04-16', '2022-04-17');
|
|
300
|
+
+ const isEqual = adapterDateFns.isEqual(new Date('2022-04-17'), new Date('2022-04-17'));
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
- The `dateLibInstance` prop of `LocalizationProvider` does not work with `AdapterDayjs` anymore (#11023). This prop was used to set the pickers in UTC mode before the implementation of a proper timezone support in the components.
|
|
304
|
+
You can learn more about the new approach on the [dedicated doc page](https://mui.com/x/react-date-pickers/timezone/).
|
|
305
|
+
|
|
306
|
+
```diff
|
|
307
|
+
// When a `value` or a `defaultValue` is provided
|
|
308
|
+
<LocalizationProvider
|
|
309
|
+
adapter={AdapterDayjs}
|
|
310
|
+
- dateLibInstance={dayjs.utc}
|
|
311
|
+
>
|
|
312
|
+
<DatePicker value={dayjs.utc('2022-04-17')} />
|
|
313
|
+
</LocalizationProvider>
|
|
314
|
+
|
|
315
|
+
// When no `value` or `defaultValue` is provided
|
|
316
|
+
<LocalizationProvider
|
|
317
|
+
adapter={AdapterDayjs}
|
|
318
|
+
- dateLibInstance={dayjs.utc}
|
|
319
|
+
>
|
|
320
|
+
- <DatePicker />
|
|
321
|
+
+ <DatePicker timezone="UTC" />
|
|
322
|
+
</LocalizationProvider>
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
- The property `hasLeadingZeros` has been removed from the sections in favor of the more precise `hasLeadingZerosInFormat` and `hasLeadingZerosInInput` properties (#10994). To keep the same behavior, you can replace it by `hasLeadingZerosInFormat`:
|
|
326
|
+
|
|
327
|
+
```diff
|
|
328
|
+
const fieldRef = React.useRef<FieldRef<FieldSection>>(null);
|
|
329
|
+
|
|
330
|
+
React.useEffect(() => {
|
|
331
|
+
const firstSection = fieldRef.current!.getSections()[0]
|
|
332
|
+
- console.log(firstSection.hasLeadingZeros)
|
|
333
|
+
+ console.log(firstSection.hasLeadingZerosInFormat)
|
|
334
|
+
}, [])
|
|
335
|
+
|
|
336
|
+
return (
|
|
337
|
+
<DateField unstableFieldRef={fieldRef} />
|
|
338
|
+
);
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
- The `adapter.getYearRange` method used to accept two params and now accepts a tuple to be consistent with the `adapter.isWithinRange` method (#10978):
|
|
342
|
+
|
|
343
|
+
```diff
|
|
344
|
+
- adapter.getYearRange(start, end);
|
|
345
|
+
+ adapter.getYearRange([start, end])
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
- The `adapter.isValid` method used to accept any type of value and tried to parse them before checking their validity (#10971).
|
|
349
|
+
The method has been simplified and now only accepts an already-parsed date or `null`.
|
|
350
|
+
Which is the same type as the one accepted by the components `value` prop.
|
|
351
|
+
|
|
352
|
+
```diff
|
|
353
|
+
const adapterDayjs = new AdapterDayjs();
|
|
354
|
+
const adapterLuxon = new AdapterLuxon();
|
|
355
|
+
const adapterDateFns = new AdapterDateFns();
|
|
356
|
+
const adapterMoment = new AdatperMoment();
|
|
357
|
+
|
|
358
|
+
// Supported formats
|
|
359
|
+
const isValid = adapterDayjs.isValid(null); // Same for the other adapters
|
|
360
|
+
const isValid = adapterLuxon.isValid(DateTime.now());
|
|
361
|
+
const isValid = adapterMoment.isValid(moment());
|
|
362
|
+
const isValid = adapterDateFns.isValid(new Date());
|
|
363
|
+
|
|
364
|
+
// Non-supported formats (JS Date)
|
|
365
|
+
- const isValid = adapterDayjs.isValid(new Date('2022-04-17'));
|
|
366
|
+
+ const isValid = adapterDayjs.isValid(dayjs('2022-04-17'));
|
|
367
|
+
|
|
368
|
+
- const isValid = adapterLuxon.isValid(new Date('2022-04-17'));
|
|
369
|
+
+ const isValid = adapterLuxon.isValid(DateTime.fromISO('2022-04-17'));
|
|
370
|
+
|
|
371
|
+
- const isValid = adapterMoment.isValid(new Date('2022-04-17'));
|
|
372
|
+
+ const isValid = adapterMoment.isValid(moment('2022-04-17'));
|
|
373
|
+
|
|
374
|
+
// Non-supported formats (string)
|
|
375
|
+
- const isValid = adapterDayjs.isValid('2022-04-17');
|
|
376
|
+
+ const isValid = adapterDayjs.isValid(dayjs('2022-04-17'));
|
|
377
|
+
|
|
378
|
+
- const isValid = adapterLuxon.isValid('2022-04-17');
|
|
379
|
+
+ const isValid = adapterLuxon.isValid(DateTime.fromISO('2022-04-17'));
|
|
380
|
+
|
|
381
|
+
- const isValid = adapterMoment.isValid('2022-04-17');
|
|
382
|
+
+ const isValid = adapterMoment.isValid(moment('2022-04-17'));
|
|
383
|
+
|
|
384
|
+
- const isValid = adapterDateFns.isValid('2022-04-17');
|
|
385
|
+
+ const isValid = adapterDateFns.isValid(new Date('2022-04-17'));
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
#### Changes
|
|
389
|
+
|
|
390
|
+
- [pickers] Change the input format of `adapter.getYearRange` to be consistent with `adapter.isWithinRange` (#10978) @flaviendelangle
|
|
391
|
+
- [pickers] Clean remaining `components` / `componentsProps` typings (#11040) @flaviendelangle
|
|
392
|
+
- [pickers] Modify `adapter.isEqual` method to accept `TDate | null` instead of `any` (#10976) @flaviendelangle
|
|
393
|
+
- [pickers] Modify `adapter.isValid` method to accept `TDate | null` instead of `any` (#10971) @flaviendelangle
|
|
394
|
+
- [pickers] Remove the `hasLeadingZeros` property from `FieldSection` (#10994) @flaviendelangle
|
|
395
|
+
- [pickers] Remove the deprecated methods and formats from the adapters (#10776) @flaviendelangle
|
|
396
|
+
- [pickers] Remove the legacy UTC implementation for `dayjs` (#11023) @flaviendelangle
|
|
397
|
+
- [pickers] Remove unused code (#11048) @flaviendelangle
|
|
398
|
+
- [pickers] Move the exports of the `calendarHeader` slot to `@mui/x-date-pickers/PickersCalendarHeader` (#11020) @flaviendelangle
|
|
399
|
+
- [DateCalendar] Allow to override the format of the header with a prop (#10990) @flaviendelangle
|
|
400
|
+
- [DateCalendar] Remove the string argument of the `dayOfWeekFormatter` prop (#10992) @flaviendelangle
|
|
401
|
+
|
|
402
|
+
### Docs
|
|
403
|
+
|
|
404
|
+
- [docs] Fix incorrect component name in the "Custom slots and subcomponents" page (#11024) @flaviendelangle
|
|
405
|
+
- [docs] Fix typos in pickers migration guide (#11057) @flaviendelangle
|
|
406
|
+
|
|
407
|
+
### Core
|
|
408
|
+
|
|
409
|
+
- [core] Clean the component slots doc generation (#11021) @flaviendelangle
|
|
410
|
+
- [core] Fix script to release with `next` tag (#10996) @LukasTy
|
|
411
|
+
- [test] Wait for images to load (#11004) @cherniavskii
|
|
412
|
+
|
|
413
|
+
## 7.0.0-alpha.0
|
|
414
|
+
|
|
415
|
+
_Nov 10, 2023_
|
|
416
|
+
|
|
417
|
+
We're thrilled to announce the first alpha release of our next major version, v7.
|
|
418
|
+
This release introduces a few breaking changes, paving the way for the upcoming features like Pivoting and DateTimeRangePicker.
|
|
419
|
+
|
|
420
|
+
A special shoutout to thank the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
421
|
+
|
|
422
|
+
- 🚀 First v7 alpha release
|
|
423
|
+
- ✨ Fix aggregation label not showing when `renderHeader` is used (#10961) @cherniavskii
|
|
424
|
+
- 📘 Server side data source [early documentation](https://mui.com/x/react-data-grid/server-side-data/)
|
|
425
|
+
- 💫 New recipes added for the data grid
|
|
426
|
+
- 📈 `<ChartsReferenceLine />` component is now available
|
|
427
|
+
- 🌍 Add Basque (eu) locale, improve Czech (cs-CZ) and Spanish (es-ES) locales
|
|
428
|
+
- 🐞 Bugfixes
|
|
429
|
+
- 📚 Documentation improvements
|
|
430
|
+
|
|
431
|
+
### Data Grid
|
|
432
|
+
|
|
433
|
+
#### Breaking changes
|
|
434
|
+
|
|
435
|
+
- The deprecated `components` and `componentsProps` props have been removed. Use `slots` and `slotProps` instead. See [components section](/x/react-data-grid/components/) for more details.
|
|
436
|
+
- The print export will now only print the selected rows if there are any.
|
|
437
|
+
If there are no selected rows, it will print all rows. This makes the print export consistent with the other exports.
|
|
438
|
+
You can [customize the rows to export by using the `getRowsToExport` function](/x/react-data-grid/export/#customizing-the-rows-to-export).
|
|
439
|
+
- The `getApplyFilterFnV7` in `GridFilterOperator` was renamed to `getApplyFilterFn`.
|
|
440
|
+
If you use `getApplyFilterFnV7` directly - rename it to `getApplyFilterFn`.
|
|
441
|
+
- The signature of the function returned by `getApplyFilterFn` has changed for performance reasons:
|
|
442
|
+
|
|
443
|
+
```diff
|
|
444
|
+
const getApplyFilterFn: GetApplyFilterFn<any, unknown> = (filterItem) => {
|
|
445
|
+
if (!filterItem.value) {
|
|
446
|
+
return null;
|
|
447
|
+
}
|
|
448
|
+
const filterRegex = new RegExp(escapeRegExp(filterItem.value), 'i');
|
|
449
|
+
- return (cellParams) => {
|
|
450
|
+
- const { value } = cellParams;
|
|
451
|
+
+ return (value, row, colDef, apiRef) => {
|
|
452
|
+
return value != null ? filterRegex.test(String(value)) : false;
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
- The `getApplyQuickFilterFnV7` in `GridColDef` was renamed to `getApplyQuickFilterFn`.
|
|
458
|
+
If you use `getApplyQuickFilterFnV7` directly - rename it to `getApplyQuickFilterFn`.
|
|
459
|
+
- The signature of the function returned by `getApplyQuickFilterFn` has changed for performance reasons:
|
|
460
|
+
|
|
461
|
+
```diff
|
|
462
|
+
const getGridStringQuickFilterFn: GetApplyQuickFilterFn<any, unknown> = (value) => {
|
|
463
|
+
if (!value) {
|
|
464
|
+
return null;
|
|
465
|
+
}
|
|
466
|
+
const filterRegex = new RegExp(escapeRegExp(value), 'i');
|
|
467
|
+
- return (cellParams) => {
|
|
468
|
+
- const { formattedValue } = cellParams;
|
|
469
|
+
+ return (value, row, column, apiRef) => {
|
|
470
|
+
+ let formattedValue = apiRef.current.getRowFormattedValue(row, column);
|
|
471
|
+
return formattedValue != null ? filterRegex.test(formattedValue.toString()) : false;
|
|
472
|
+
};
|
|
473
|
+
};
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
#### `@mui/x-data-grid@7.0.0-alpha.0`
|
|
477
|
+
|
|
478
|
+
- [DataGrid] Fix for error thrown when removing skeleton rows, after sorting is applied (#10807) @benjaminbialy
|
|
479
|
+
- [DataGrid] Fix: `undefined` slot value (#10937) @romgrk
|
|
480
|
+
- [DataGrid] Print selected rows by default (#10846) @cherniavskii
|
|
481
|
+
- [DataGrid] Remove deprecated `components` and `componentsProps` (#10911) @MBilalShafi
|
|
482
|
+
- [DataGrid] Remove legacy filtering API (#10897) @cherniavskii
|
|
483
|
+
- [DataGrid] Fix keyboard navigation for actions cell with disabled buttons (#10882) @michelengelen
|
|
484
|
+
- [DataGrid] Added a recipe for using non-native select in filter panel (#10916) @michelengelen
|
|
485
|
+
- [DataGrid] Added a recipe to style cells without impacting the aggregation cells (#10913) @michelengelen
|
|
486
|
+
- [l10n] Improve Czech (cs-CZ) locale (#10949) @luborepka
|
|
487
|
+
|
|
488
|
+
#### `@mui/x-data-grid-pro@7.0.0-alpha.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
489
|
+
|
|
490
|
+
Same changes as in `@mui/x-data-grid@7.0.0-alpha.0`, plus:
|
|
491
|
+
|
|
492
|
+
- [DataGridPro] Autosize Columns - Fix headers being cut off (#10666) @gitstart
|
|
493
|
+
- [DataGridPro] Add data source interface and basic documentation (#10543) @MBilalShafi
|
|
494
|
+
|
|
495
|
+
#### `@mui/x-data-grid-premium@7.0.0-alpha.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
496
|
+
|
|
497
|
+
Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.0`, plus:
|
|
498
|
+
|
|
499
|
+
- [DataGridPremium] Render aggregation label when `renderHeader` is used (#10936) @cherniavskii
|
|
500
|
+
|
|
501
|
+
### Date Pickers
|
|
502
|
+
|
|
503
|
+
#### Breaking changes
|
|
504
|
+
|
|
505
|
+
- The deprecated `components` and `componentsProps` props have been removed. Use `slots` and `slotProps` instead.
|
|
506
|
+
|
|
507
|
+
#### `@mui/x-date-pickers@7.0.0-alpha.0`
|
|
508
|
+
|
|
509
|
+
- [pickers] Escape non tokens words (#10400) @alexfauquette
|
|
510
|
+
- [fields] Fix `MultiInputTimeRangeField` section selection (#10922) @noraleonte
|
|
511
|
+
- [pickers] Refine `referenceDate` behavior in views (#10863) @LukasTy
|
|
512
|
+
- [pickers] Remove `components` and `componentsProps` props (#10700) @alexfauquette
|
|
513
|
+
- [l10n] Add Basque (eu) locale and improve Spanish (es-ES) locale (#10819) @lajtomekadimon
|
|
514
|
+
- [pickers] Add short weekdays token (#10988) @alexfauquette
|
|
515
|
+
|
|
516
|
+
#### `@mui/x-date-pickers-pro@7.0.0-alpha.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
517
|
+
|
|
518
|
+
Same changes as in `@mui/x-date-pickers@7.0.0-alpha.0`.
|
|
519
|
+
|
|
520
|
+
### Charts / `@mui/x-charts@7.0.0-alpha.0`
|
|
521
|
+
|
|
522
|
+
#### Breaking changes
|
|
523
|
+
|
|
524
|
+
Types for `slots` and `slotProps` got renamed by removing the "Component" which is meaningless for charts.
|
|
525
|
+
Unless you imported those types, to create a wrapper, you should not be impacted by this breaking change.
|
|
526
|
+
|
|
527
|
+
Here is an example of the renaming for the `<ChartsTooltip />` component.
|
|
528
|
+
|
|
529
|
+
```diff
|
|
530
|
+
-ChartsTooltipSlotsComponent
|
|
531
|
+
+ChartsTooltipSlots
|
|
532
|
+
|
|
533
|
+
-ChartsTooltipSlotComponentProps
|
|
534
|
+
+ChartsTooltipSlotProps
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
- [charts] Add `<ChartsReferenceLine />` component (#10597) (#10946) @alexfauquette
|
|
538
|
+
- [charts] Improve properties JSDoc (#10931) (#10955) @alexfauquette
|
|
539
|
+
- [charts] Rename `slots` and `slotProps` types (#10875) @alexfauquette
|
|
540
|
+
|
|
541
|
+
### `@mui/x-codemod@7.0.0-alpha.0`
|
|
542
|
+
|
|
543
|
+
- [codemod] Add `v7.0.0/preset-safe` (#10973) @LukasTy
|
|
544
|
+
|
|
545
|
+
### Docs
|
|
546
|
+
|
|
547
|
+
- [docs] Add `@next` tag to the installation instructions (#10963) @MBilalShafi
|
|
548
|
+
- [docs] Document how to hide the legend (#10951) @alexfauquette
|
|
549
|
+
- [docs] Fix typo in the migration guide (#10972) @flaviendelangle
|
|
550
|
+
|
|
551
|
+
### Core
|
|
552
|
+
|
|
553
|
+
- [core] Adds migration docs for charts, pickers and tree view (#10926) @michelengelen
|
|
554
|
+
- [core] Bump monorepo (#10959) @LukasTy
|
|
555
|
+
- [core] Changed prettier branch value to next (#10917) @michelengelen
|
|
556
|
+
- [core] Fix GitHub title tag consistency @oliviertassinari
|
|
557
|
+
- [core] Fixed wrong package names in migration docs (#10953) @michelengelen
|
|
558
|
+
- [core] Merge `master` into `next` (#10929) @cherniavskii
|
|
559
|
+
- [core] Update release instructions as per v7 configuration (#10962) @MBilalShafi
|
|
560
|
+
- [license] Correctly throw errors (#10924) @oliviertassinari
|
|
561
|
+
|
|
562
|
+
## 6.18.1
|
|
563
|
+
|
|
564
|
+
_Nov 9, 2023_
|
|
565
|
+
|
|
566
|
+
We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
|
|
567
|
+
|
|
568
|
+
- ✨ Fix aggregation label not showing when `renderHeader` is used (#10961) @cherniavskii
|
|
569
|
+
- 📘 Server side data source [early documentation](https://mui.com/x/react-data-grid/server-side-data/) published
|
|
570
|
+
- 📈 `<ChartsReferenceLine />` component is now available
|
|
571
|
+
- 🐞 Bugfixes
|
|
572
|
+
- 📚 Documentation improvements
|
|
573
|
+
|
|
574
|
+
### Data Grid
|
|
575
|
+
|
|
576
|
+
#### `@mui/x-data-grid@6.18.1`
|
|
577
|
+
|
|
578
|
+
- [DataGrid] Fix cell value type in quick filtering v7 (#10884) @cherniavskii
|
|
579
|
+
- [DataGrid] Fix keyboard navigation for actions cell with disabled buttons (#10947) @michelengelen
|
|
580
|
+
- [DataGrid] Fix `undefined` slot values (#10934) @romgrk
|
|
581
|
+
|
|
582
|
+
#### `@mui/x-data-grid-pro@6.18.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
583
|
+
|
|
584
|
+
Same changes as in `@mui/x-data-grid@6.18.1`, plus:
|
|
585
|
+
|
|
586
|
+
- [DataGridPro] Add data source interface and basic documentation (#10543) @MBilalShafi
|
|
587
|
+
|
|
588
|
+
#### `@mui/x-data-grid-premium@6.18.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
589
|
+
|
|
590
|
+
Same changes as in `@mui/x-data-grid-pro@6.18.1`, plus:
|
|
591
|
+
|
|
592
|
+
- [DataGridPremium] Render aggregation label when `renderHeader` is used (#10961) @cherniavskii
|
|
593
|
+
|
|
594
|
+
### Date Pickers
|
|
595
|
+
|
|
596
|
+
#### `@mui/x-date-pickers@6.18.1`
|
|
597
|
+
|
|
598
|
+
- [fields] Fix multi input date time field section selection (#10915) @noraleonte
|
|
599
|
+
- [pickers] Always use up-to-date `defaultView` (#10889) @LukasTy
|
|
600
|
+
|
|
601
|
+
#### `@mui/x-date-pickers-pro@6.18.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
602
|
+
|
|
603
|
+
Same changes as in `@mui/x-date-pickers@6.18.1`.
|
|
604
|
+
|
|
605
|
+
### Charts / `@mui/x-charts@6.18.1`
|
|
606
|
+
|
|
607
|
+
- [charts] Add `<ChartsReferenceLine />` component (#10597) @wascou
|
|
608
|
+
- [charts] Improve properties JSDoc (#10931) @alexfauquette
|
|
609
|
+
|
|
610
|
+
### Docs
|
|
611
|
+
|
|
612
|
+
- [docs] Fix charts docs as stable (#10888) @alexfauquette
|
|
613
|
+
- [docs] Document how to hide the legend (#10954) @alexfauquette
|
|
614
|
+
|
|
615
|
+
### Core
|
|
616
|
+
|
|
617
|
+
- [core] Adds new alpha version to version select on the docs (#10944) @michelengelen
|
|
618
|
+
- [core] Fix GitHub title tag consistency @oliviertassinari
|
|
619
|
+
|
|
620
|
+
## 6.18.0
|
|
621
|
+
|
|
622
|
+
_Nov 3, 2023_
|
|
623
|
+
|
|
624
|
+
We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
|
|
625
|
+
|
|
626
|
+
- 🎁 The Charts package is now officially stable!
|
|
627
|
+
- 🥧 Pie charts are now animated.
|
|
628
|
+
- 📈 Line charts now support partial data, and can interpolate missing data.
|
|
629
|
+
|
|
630
|
+
<img width="380" alt="line charts with partial data" src="https://github.com/mui/mui-x/assets/45398769/385ecf77-19b2-4a03-8aef-5d547db1d9ad">
|
|
631
|
+
|
|
632
|
+
- ✨ Allow to ignore [diacritics](https://en.wikipedia.org/wiki/Diacritic) when filtering
|
|
633
|
+
- 📚 Documentation improvements
|
|
634
|
+
|
|
635
|
+
### Data Grid
|
|
636
|
+
|
|
637
|
+
#### `@mui/x-data-grid@6.18.0`
|
|
638
|
+
|
|
639
|
+
- [DataGrid] Allow to ignore [diacritics](https://en.wikipedia.org/wiki/Diacritic) when filtering (#10569) @cherniavskii
|
|
640
|
+
- [DataGrid] Fix a typo in `gridFilterApi` (#10786) @vu-dao-93
|
|
641
|
+
- [DataGrid] Fix `undefined` row id (#10670) @romgrk
|
|
642
|
+
- [DataGrid] Make column autosizing work with dynamic row height (#10693) @cherniavskii
|
|
643
|
+
- [l10n] Allow to customize sorting label per column (#10839) @JerryWu1234
|
|
644
|
+
|
|
645
|
+
#### `@mui/x-data-grid-pro@6.18.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
646
|
+
|
|
647
|
+
Same changes as in `@mui/x-data-grid@6.18.0`.
|
|
648
|
+
|
|
649
|
+
#### `@mui/x-data-grid-premium@6.18.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
650
|
+
|
|
651
|
+
Same changes as in `@mui/x-data-grid-pro@6.18.0`.
|
|
652
|
+
|
|
653
|
+
### Date Pickers
|
|
654
|
+
|
|
655
|
+
#### `@mui/x-date-pickers@6.18.0`
|
|
656
|
+
|
|
657
|
+
- [pickers] Add reference links to calendar components (#10644) @michelengelen
|
|
658
|
+
|
|
659
|
+
#### `@mui/x-date-pickers-pro@6.18.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
660
|
+
|
|
661
|
+
Same changes as in `@mui/x-date-pickers@6.18.0`.
|
|
662
|
+
|
|
663
|
+
### Charts / `@mui/x-charts@6.18.0`
|
|
664
|
+
|
|
665
|
+
- [charts] Add animation on pie chart (#10782) @alexfauquette
|
|
666
|
+
- [charts] Add reference links to shared/misc chart components (#10660) @michelengelen
|
|
667
|
+
- [charts] Allows to connect nulls (#10803) @alexfauquette
|
|
668
|
+
- [charts] Fix axis highlight in dark mode (#10820) @LukasTy
|
|
669
|
+
|
|
670
|
+
### Docs
|
|
671
|
+
|
|
672
|
+
- [docs] Add a data grid recipe for autosizing columns after fetching row-data (#10822) @michelengelen
|
|
673
|
+
- [docs] Add a data grid recipe showing how to remove cell outline on `focus` (#10843) @michelengelen
|
|
674
|
+
- [docs] Add demo about how to use charts margin (#10886) @alexfauquette
|
|
675
|
+
- [docs] Improve custom field input demos readability (#10559) @LukasTy
|
|
676
|
+
|
|
677
|
+
### Core
|
|
678
|
+
|
|
679
|
+
- [core] Generate `slot` API descriptions based on `slots` or `components` (#10879) @LukasTy
|
|
680
|
+
|
|
681
|
+
## 6.17.0
|
|
682
|
+
|
|
683
|
+
_Oct 27, 2023_
|
|
684
|
+
|
|
685
|
+
We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
|
|
686
|
+
|
|
687
|
+
- 🎁 The Tree View package is now officially stable!
|
|
688
|
+
|
|
689
|
+

|
|
690
|
+
|
|
691
|
+
- ✨ Improve the handling of non-numeric values by Data Grid aggregation
|
|
692
|
+
- 🚀 Support lines with different domains on the line charts
|
|
693
|
+
- 🐞 Bugfixes
|
|
694
|
+
- 📚 Documentation improvements
|
|
695
|
+
|
|
696
|
+
### Data Grid
|
|
697
|
+
|
|
698
|
+
#### `@mui/x-data-grid@6.17.0`
|
|
699
|
+
|
|
700
|
+
- [DataGrid] Allow custom debounce time for row positions calculation (#10708) @cherniavskii
|
|
701
|
+
- [DataGrid] Persist stable row index for focused row (#10674) @cherniavskii
|
|
702
|
+
|
|
703
|
+
#### `@mui/x-data-grid-pro@6.17.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
704
|
+
|
|
705
|
+
Same changes as in `@mui/x-data-grid@6.17.0`, plus:
|
|
706
|
+
|
|
707
|
+
- [DataGridPro] Fix `undefined` values passed to `valueFormatter` for tree leaf nodes (#10748) @cherniavskii
|
|
708
|
+
|
|
709
|
+
#### `@mui/x-data-grid-premium@6.17.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
710
|
+
|
|
711
|
+
Same changes as in `@mui/x-data-grid-pro@6.17.0`, plus:
|
|
712
|
+
|
|
713
|
+
- [DataGridPremium] Fix `avg` aggregation to ignore non-numeric values (#10787) @cherniavskii
|
|
714
|
+
- [DataGridPremium] Fix `size` aggregation to ignore `undefined` values (#10745) @cherniavskii
|
|
715
|
+
- [DataGridPremium] Fix `sum` aggregation to ignore non-numeric values (#10730) @cherniavskii
|
|
716
|
+
- [DataGridPremium] Fix cell selection throwing index error on second page and beyond (#10784) @MBilalShafi
|
|
717
|
+
|
|
718
|
+
### Date Pickers
|
|
719
|
+
|
|
720
|
+
#### `@mui/x-date-pickers@6.17.0`
|
|
721
|
+
|
|
722
|
+
- [fields] POC: Use `contentEditable` on `FakeTextField` (#10779) @flaviendelangle
|
|
723
|
+
- [pickers] Fix weekday label localization (#10809) @LukasTy
|
|
724
|
+
|
|
725
|
+
#### `@mui/x-date-pickers-pro@6.17.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
726
|
+
|
|
727
|
+
Same changes as in `@mui/x-date-pickers@6.17.0`.
|
|
728
|
+
|
|
729
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.17`
|
|
730
|
+
|
|
731
|
+
- [charts] Fix text position in Safari (#10815) @lhilgert9
|
|
732
|
+
- [charts] Support lines with different domains (#10801) @alexfauquette
|
|
733
|
+
|
|
734
|
+
### Tree View / `@mui/x-tree-view@6.17.0`
|
|
735
|
+
|
|
736
|
+
No change
|
|
737
|
+
|
|
738
|
+
### Docs
|
|
739
|
+
|
|
740
|
+
- [docs] Correct editing related props' description (#10798) @MBilalShafi
|
|
741
|
+
- [docs] Fix RTL data grid demo (#10728) @oliviertassinari
|
|
742
|
+
- [docs] Fix unclosed warning (#10796) @flaviendelangle
|
|
743
|
+
- [docs] Improve performance of `Save and restore the state from external storage` recipe (#10811) @michelengelen
|
|
744
|
+
|
|
745
|
+
- [test] Add missing type on `cleanText` utility function (#10780) @flaviendelangle
|
|
746
|
+
|
|
747
|
+
## 6.16.3
|
|
748
|
+
|
|
749
|
+
_Oct 20, 2023_
|
|
750
|
+
|
|
751
|
+
We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
|
|
752
|
+
|
|
753
|
+
- 🎁 Add a Data Grid recipe for saving & restoring state
|
|
754
|
+
- 💫 Support animations on the bar chart
|
|
755
|
+
- 🐞 Bugfixes
|
|
756
|
+
- 📚 Documentation improvements
|
|
757
|
+
|
|
758
|
+
### Data Grid
|
|
759
|
+
|
|
760
|
+
#### `@mui/x-data-grid@6.16.3`
|
|
761
|
+
|
|
762
|
+
- [DataGrid] Allow passing readonly arrays to `columns` and `sortingOrder` props (#10686) @pcorpet
|
|
763
|
+
|
|
764
|
+
#### `@mui/x-data-grid-pro@6.16.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
765
|
+
|
|
766
|
+
Same changes as in `@mui/x-data-grid@6.16.3`.
|
|
767
|
+
|
|
768
|
+
#### `@mui/x-data-grid-premium@6.16.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
769
|
+
|
|
770
|
+
Same changes as in `@mui/x-data-grid-pro@6.16.3`.
|
|
771
|
+
|
|
772
|
+
### Date Pickers
|
|
773
|
+
|
|
774
|
+
#### `@mui/x-date-pickers@6.16.3`
|
|
775
|
+
|
|
776
|
+
- [fields] Correctly respect leading zeroes on seconds section (#10713) @flaviendelangle
|
|
777
|
+
- [fields] Use `onChange` instead of `onKeyPress` for Backspace editing (#10494) @flaviendelangle
|
|
778
|
+
- [pickers] Add reference links to DatePicker components (#10626) @michelengelen
|
|
779
|
+
- [pickers] Add reference links to clock components (#10645) @michelengelen
|
|
780
|
+
- [pickers] Add reference links to misc picker components (#10647) @michelengelen
|
|
781
|
+
- [pickers] Add reference links to toolbar components (#10646) @michelengelen
|
|
782
|
+
- [pickers] POC: Change the props received by the `FakeTextField` component (#10687) @flaviendelangle
|
|
783
|
+
|
|
784
|
+
#### `@mui/x-date-pickers-pro@6.16.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
785
|
+
|
|
786
|
+
Same changes as in `@mui/x-date-pickers@6.16.3`, plus:
|
|
787
|
+
|
|
788
|
+
- [DateRangePicker] Fix touch based range dragging (#10664) @michelengelen
|
|
789
|
+
|
|
790
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.16`
|
|
791
|
+
|
|
792
|
+
- [charts] Add reference links to area + bar chart components (#10652) @michelengelen
|
|
793
|
+
- [charts] Add reference links to line chart + sparkline components (#10650) @michelengelen
|
|
794
|
+
- [charts] Add reference links to pie + scatter chart components (#10653) @michelengelen
|
|
795
|
+
- [charts] Render only when `width` and `height` are resolved (#10714) @alexfauquette
|
|
796
|
+
- [charts] Support animation on `BarChart` (#9926) @alexfauquette
|
|
797
|
+
- [charts] Use new text component to avoid tick label overflow on x-axis (#10648) @alexfauquette
|
|
798
|
+
|
|
799
|
+
### Docs
|
|
800
|
+
|
|
801
|
+
- [docs] Add a recipe for saving and restoring `state` externally (#10722) @michelengelen
|
|
802
|
+
- [docs] Add example about how to add an axis (#10709) @alexfauquette
|
|
803
|
+
- [docs] Customization Playground - fix DesktopDatePicker sx props and styled examples (#10665) @noraleonte
|
|
804
|
+
- [docs] Improve meta description @oliviertassinari
|
|
805
|
+
- [docs] Make overview demo work in codesandbox (#10661) @alexfauquette
|
|
806
|
+
|
|
807
|
+
### Core
|
|
808
|
+
|
|
809
|
+
- [core] Update React renovate group with `@types` (#10723) @LukasTy
|
|
810
|
+
- [core] Update `styled-components` (#10733) @LukasTy
|
|
811
|
+
|
|
812
|
+
## 6.16.2
|
|
813
|
+
|
|
814
|
+
_Oct 12, 2023_
|
|
815
|
+
|
|
816
|
+
We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
817
|
+
|
|
818
|
+
- 📊 Chart's legend text management has been reworked and contains breaking changes (#10138) @alexfauquette
|
|
819
|
+
- 📝 Add [Bulk editing](https://mui.com/x/react-data-grid/recipes-editing/#bulk-editing) demo (#10333) @cherniavskii
|
|
820
|
+
- 🚀 Column grouping now works smoothly with column pinning (#10518) @MBilalShafi
|
|
821
|
+
- 🌍 Improve Arabic (ar-SD) and Spanish (es-ES) locales
|
|
822
|
+
- 🐞 Bugfixes
|
|
823
|
+
- 📚 Documentation improvements
|
|
824
|
+
|
|
825
|
+
### Data Grid
|
|
826
|
+
|
|
827
|
+
#### `@mui/x-data-grid@6.16.2`
|
|
828
|
+
|
|
829
|
+
- [DataGrid] Fix `LazyLoading` demo crash (#10621) @MBilalShafi
|
|
830
|
+
- [DataGrid] Fix cells overlapping the scrollbar in iOS Safari (#10633) @cherniavskii
|
|
831
|
+
- [DataGrid] Fix `getRowId is not defined` error (#10613) @romgrk
|
|
832
|
+
- [DataGrid] Get quick filter to work OOTB with `date` and `dateTime` fields (#10636) @MBilalShafi
|
|
833
|
+
- [DataGrid] Make cursor for selectable cells to be `default` unless editable (#9997) @gitstart
|
|
834
|
+
- [DataGrid] Remove unnecessary syntax in JSDoc (#10567) @Lev-Shapiro
|
|
835
|
+
- [DataGrid] Update row hover behavior to match native hover (#10623) @cherniavskii
|
|
836
|
+
- [l10n] Improve Arabic (ar-SD) locale (#10625) @alabenyahia
|
|
837
|
+
|
|
838
|
+
#### `@mui/x-data-grid-pro@6.16.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
839
|
+
|
|
840
|
+
Same changes as in `@mui/x-data-grid@6.16.2`, plus:
|
|
841
|
+
|
|
842
|
+
- [DataGridPro] Improve column grouping and column pinning friendship (#10518) @MBilalShafi
|
|
843
|
+
|
|
844
|
+
#### `@mui/x-data-grid-premium@6.16.2` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
845
|
+
|
|
846
|
+
Same changes as in `@mui/x-data-grid-pro@6.16.2`.
|
|
847
|
+
|
|
848
|
+
### Date Pickers
|
|
849
|
+
|
|
850
|
+
#### `@mui/x-date-pickers@6.16.2`
|
|
851
|
+
|
|
852
|
+
- [DateTimePicker] Add support for `DigitalClock` view renderer (#10624) @LukasTy
|
|
853
|
+
- [fields] Bootstrap the multi-HTML input component (#10638) @flaviendelangle
|
|
854
|
+
- [pickers] Fix timezone `UTC` false positive (#10586) @alexfauquette
|
|
855
|
+
- [l10n] Improve Spanish (es-ES) locale (#10588) @eduardodallmann
|
|
856
|
+
|
|
857
|
+
#### `@mui/x-date-pickers-pro@6.16.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
858
|
+
|
|
859
|
+
Same changes as in `@mui/x-date-pickers@6.16.2`.
|
|
860
|
+
|
|
861
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.15`
|
|
862
|
+
|
|
863
|
+
#### Breaking changes
|
|
864
|
+
|
|
865
|
+
The charts have a new text display mechanism.
|
|
866
|
+
It adds line break support and avoids overlapping text in the legend.
|
|
867
|
+
This comes with some breaking changes.
|
|
868
|
+
|
|
869
|
+
- The DOM structure is modified. An intermediary `<tspan />` element has been added. This can impact how your style is applied.
|
|
870
|
+
|
|
871
|
+
```diff
|
|
872
|
+
- <text>The label</text>
|
|
873
|
+
+ <text><tspan>The label</tspan></text>
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
- The top margin has been reduced from 100 to 50 to benefit from the denser legend.
|
|
877
|
+
|
|
878
|
+
- To accurately compute the text size and then place it, styling should be provided as a JS object. For example, to set the legend font size, you should do:
|
|
879
|
+
```jsx
|
|
880
|
+
<PieChart
|
|
881
|
+
{/** ... */}
|
|
882
|
+
slotProps={{
|
|
883
|
+
legend: {
|
|
884
|
+
labelStyle: {
|
|
885
|
+
fontSize: 16,
|
|
886
|
+
},
|
|
887
|
+
},
|
|
888
|
+
}}
|
|
889
|
+
/>
|
|
890
|
+
```
|
|
891
|
+
Support for other text elements (axis labels and tick labels) will be implemented in follow-up PR.
|
|
892
|
+
|
|
893
|
+
#### Changes
|
|
894
|
+
|
|
895
|
+
- [charts] Fix typo between internal/external variable (#10640) @alexfauquette
|
|
896
|
+
- [charts] Improve the management of the text (#10138) @alexfauquette
|
|
897
|
+
|
|
898
|
+
### Docs
|
|
899
|
+
|
|
900
|
+
- [docs] Add bulk editing demo (#10333) @cherniavskii
|
|
901
|
+
- [docs] Add reference links to DateRangePicker components (#10629) @michelengelen
|
|
902
|
+
- [docs] Add reference links to DateTimePicker components (#10628) @michelengelen
|
|
903
|
+
- [docs] Add reference links to picker field components (#10631) @michelengelen
|
|
904
|
+
- [docs] Added reference links to TimePicker components (#10627) @michelengelen
|
|
905
|
+
- [docs] Avoid Pickers playground error due to empty views (#10654) @LukasTy
|
|
906
|
+
- [docs] Fix DataGrid[Pro/Premium] reference links (#10620) @michelengelen
|
|
907
|
+
|
|
908
|
+
### Core
|
|
909
|
+
|
|
910
|
+
- [core] Bump monorepo (#10619) @alexfauquette
|
|
911
|
+
- [core] Update `no-response` workflow (#10491) @MBilalShafi
|
|
912
|
+
- [core] Update the issue templates to reflect the new support workflow (#10651) @MBilalShafi
|
|
913
|
+
- [test] Fix `testEval` not invoking test assertions (#10587) @cherniavskii
|
|
914
|
+
- [test] Fix dev mode warning (#10610) @oliviertassinari
|
|
915
|
+
- [test] Set UUID chance seed in visual tests (#10609) @oliviertassinari
|
|
916
|
+
|
|
917
|
+
## 6.16.1
|
|
918
|
+
|
|
919
|
+
_Oct 6, 2023_
|
|
920
|
+
|
|
921
|
+
We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
922
|
+
|
|
923
|
+
- 🥧 Support interaction with pie chart
|
|
924
|
+
- 🐞 Bugfixes
|
|
925
|
+
- 📚 Documentation improvements
|
|
926
|
+
|
|
927
|
+
### Data Grid
|
|
928
|
+
|
|
929
|
+
#### `@mui/x-data-grid@6.16.1`
|
|
930
|
+
|
|
931
|
+
- [DataGrid] Add a new demo with sparklines (#9228) @flaviendelangle
|
|
932
|
+
- [DataGrid] Fix autosize missing a few pixels (#10471) @romgrk
|
|
933
|
+
- [DataGrid] Make `disableColumnSelector` demo idempotent (#10548) @MBilalShafi
|
|
934
|
+
|
|
935
|
+
#### `@mui/x-data-grid-pro@6.16.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
936
|
+
|
|
937
|
+
Same changes as in `@mui/x-data-grid@6.16.1`.
|
|
938
|
+
|
|
939
|
+
#### `@mui/x-data-grid-premium@6.16.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
940
|
+
|
|
941
|
+
Same changes as in `@mui/x-data-grid-pro@6.16.1`.
|
|
942
|
+
|
|
943
|
+
### Date Pickers
|
|
944
|
+
|
|
945
|
+
#### `@mui/x-date-pickers@6.16.1`
|
|
946
|
+
|
|
947
|
+
- [pickers] Avoid calendar layout shifting when changing views (#10541) @LukasTy
|
|
948
|
+
- [pickers] Fix clearable behavior when disabled (#10542) @noraleonte
|
|
949
|
+
- [pickers] Improve customization playground examples (#10544) @noraleonte
|
|
950
|
+
|
|
951
|
+
#### `@mui/x-date-pickers-pro@6.16.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
952
|
+
|
|
953
|
+
Same changes as in `@mui/x-date-pickers@6.16.1`, plus:
|
|
954
|
+
|
|
955
|
+
- [DateRangePicker] Fix `InputProps` propagation in multi input (#10564) @alexfauquette
|
|
956
|
+
|
|
957
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.14`
|
|
958
|
+
|
|
959
|
+
- [charts] Display cursor pointer for pie chart only if `onClick` is provided (#10551) @giladappsforce
|
|
960
|
+
- [charts] Add `onClick` prop to PieChart (#10506) @giladappsforce
|
|
961
|
+
- [charts] Support `slots`/`slotProps` for the tooltip (#10515) @alexfauquette
|
|
962
|
+
|
|
963
|
+
### Docs
|
|
964
|
+
|
|
965
|
+
- [docs] Add `DateRangePicker` example with a `Button` trigger (#10485) @LukasTy
|
|
966
|
+
- [docs] Add section about disabling columns panel (#10328) @MBilalShafi
|
|
967
|
+
- [docs] Add section about overriding slots to base concepts (#10421) @noraleonte
|
|
968
|
+
- [docs] Add "What's new" page listing all release announcements (#9727) @joserodolfofreitas
|
|
969
|
+
- [docs] Update RTL Support section of the grid localization docs (#10561) @MBilalShafi
|
|
970
|
+
|
|
971
|
+
### Core
|
|
972
|
+
|
|
973
|
+
- [core] Fix casing consistency with legal and marketing content @oliviertassinari
|
|
974
|
+
- [core] Revert the link in the priority support ticket description (#10517) @michelengelen
|
|
975
|
+
- [changelog] Polish image @oliviertassinari
|
|
976
|
+
|
|
6
977
|
## 6.16.0
|
|
7
978
|
|
|
8
979
|
_Sep 29, 2023_
|
|
@@ -13,7 +984,7 @@ We'd like to offer a big thanks to the 9 contributors who made this release poss
|
|
|
13
984
|
|
|
14
985
|
The pickers and fields now have an out-of-the box implementation for clearing the field value. You can see the documentation for this behavior on the [Date Picker documentation](https://mui.com/x/react-date-pickers/date-picker/#clearing-the-value).
|
|
15
986
|
|
|
16
|
-
<img width="
|
|
987
|
+
<img width="337" height="139" alt="Clearable behavior" src="https://github.com/mui/mui-x/assets/3165635/a5407cb6-0b8a-443c-b4b9-1f81ceb4d087">
|
|
17
988
|
|
|
18
989
|
- 💫 Add Date Picker customization playground (#9581) @noraleonte
|
|
19
990
|
|
|
@@ -793,7 +1764,7 @@ Same changes as in `@mui/x-date-pickers@6.10.1`.
|
|
|
793
1764
|
### Core
|
|
794
1765
|
|
|
795
1766
|
- [core] Add `validate` command (#9714) @romgrk
|
|
796
|
-
- [
|
|
1767
|
+
- [changelog] Update generator to new format @oliviertassinari
|
|
797
1768
|
|
|
798
1769
|
## 6.10.0
|
|
799
1770
|
|
|
@@ -851,7 +1822,7 @@ Same changes as in `@mui/x-date-pickers@6.10.0`.
|
|
|
851
1822
|
|
|
852
1823
|
- [core] Disambiguate eslint plugin name @oliviertassinari
|
|
853
1824
|
- [core] Update priority support issue template and prompt (#9574) @DanailH
|
|
854
|
-
- [
|
|
1825
|
+
- [changelog] Clarify each plan (#9446) @oliviertassinari
|
|
855
1826
|
- [license] Fix error terminology (#9614) @oliviertassinari
|
|
856
1827
|
|
|
857
1828
|
## 6.9.2
|
|
@@ -1000,8 +1971,8 @@ Same changes as in `@mui/x-date-pickers@6.9.1`.
|
|
|
1000
1971
|
- [core] Fix priority support prompt action (#9472) @DanailH
|
|
1001
1972
|
- [core] Update `uses` for priority support action (#9480) @DanailH
|
|
1002
1973
|
- [core] Bumb update monorepo (#9476) @alexfauquette
|
|
1003
|
-
- [
|
|
1004
|
-
- [
|
|
1974
|
+
- [changelog] Fix media quality (#9439) @oliviertassinari
|
|
1975
|
+
- [changelog] Remove height img attribute @oliviertassinari
|
|
1005
1976
|
- [test] Skip flaky row pinning tests in JSDOM (#9511) @cherniavskii
|
|
1006
1977
|
|
|
1007
1978
|
## 6.9.0
|