@mui/x-date-pickers 9.0.0-alpha.0 → 9.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 CHANGED
@@ -1,5 +1,123 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.0.0-alpha.1
4
+
5
+ _Feb 26, 2026_
6
+
7
+ We'd like to extend a big thank you to the 18 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - ⚡️ Improved dynamic data support and cache invalidation in lazy loading for Data Grid Pro
10
+ - ⌨️ Keyboard support for selecting day, month, and year in Date Pickers
11
+ - 📊 Axis tooltip sorting and control improvements in Charts
12
+ - 🐞 Bugfixes and internal improvements
13
+
14
+ Special thanks go out to these community members for their valuable contributions:
15
+ @EllGree, @lion1963
16
+
17
+ The following team members contributed to this release:
18
+ @alexfauquette, @arminmeh, @brijeshb42, @cherniavskii, @dav-is, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes, @sai6855, @siriwatknp, @ZeeshanTamboli
19
+
20
+ ### Data Grid
21
+
22
+ #### `@mui/x-data-grid@9.0.0-alpha.1`
23
+
24
+ - [DataGrid] Forward rest props in `GridFilterInputMultipleValue` (#21407) @siriwatknp
25
+ - [DataGrid] Preserve key input during row edit when using `rowModesModel` (#20759) @michelengelen
26
+ - [DataGrid] Remove double rtl inversion logic for columns pinning (#21371) @siriwatknp
27
+
28
+ #### `@mui/x-data-grid-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
29
+
30
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.1`, plus:
31
+
32
+ - [DataGridPro] Fix number input visibility in header filters (#21328) @michelengelen
33
+ - [DataGridPro] Improve dynamic data support and cache invalidation in lazy loading (#21282) @MBilalShafi
34
+
35
+ #### `@mui/x-data-grid-premium@9.0.0-alpha.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
36
+
37
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.1`.
38
+
39
+ ### Date and Time Pickers
40
+
41
+ #### `@mui/x-date-pickers@9.0.0-alpha.1`
42
+
43
+ - [DatePicker] Add keyboard support for selecting day, month, and year (#20859) @michelengelen
44
+
45
+ #### `@mui/x-date-pickers-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
46
+
47
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.1`, plus:
48
+
49
+ - [DateRangePicker] Fix timezone update issue leading to `invalidRange` error (#20863) @michelengelen
50
+
51
+ ### Charts
52
+
53
+ #### `@mui/x-charts@9.0.0-alpha.1`
54
+
55
+ - [charts] Add `sort` props to the axis tooltip (#21293) @alexfauquette
56
+ - [charts] Controll axis tooltip (#21351) @alexfauquette
57
+ - [charts] De duplicate keyboard focus handler function (#21267) @sai6855
58
+ - [charts] Make `type` optional in identifiers (#21311) @alexfauquette
59
+ - [charts] Move ref to the root component (#21396) @alexfauquette
60
+ - [charts] Refactor loading and no data overlays to use a shared OverlayText component (#21414) @sai6855
61
+ - [charts] Require series ids to be unique (#21330) @alexfauquette
62
+ - [charts] Set `showMark` as `false` by default (#21373) @alexfauquette
63
+ - [charts] Use `createGetNextIndexFocusedItem()` util in Funnel and RangeBar charts (#21390) @sai6855
64
+ - [charts] Remove unnecessary string concatenation (#21418) @sai6855
65
+
66
+ #### `@mui/x-charts-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
67
+
68
+ Same changes as in `@mui/x-charts@9.0.0-alpha.1`.
69
+
70
+ #### `@mui/x-charts-premium@9.0.0-alpha.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
71
+
72
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.1`.
73
+
74
+ ### Tree View
75
+
76
+ #### `@mui/x-tree-view@9.0.0-alpha.1`
77
+
78
+ - [tree view] Focus item sibling on unmount instead of the 1st item (#21254) @flaviendelangle
79
+
80
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
81
+
82
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.1`.
83
+
84
+ ### Codemod
85
+
86
+ #### `@mui/x-codemod@9.0.0-alpha.1`
87
+
88
+ Internal changes.
89
+
90
+ ### Docs
91
+
92
+ - [docs] Fix external 301s (#21377) @Janpot
93
+ - [docs] Show premium in the overview (#21343) @alexfauquette
94
+ - [docs][charts] Revise the useLegend hook doc (#21352) @mapache-salvaje
95
+ - [docs][charts] Revise the axis hooks doc (#21317) @mapache-salvaje
96
+ - [docs][charts] Revise the scale hooks doc (#21316) @mapache-salvaje
97
+ - [docs][charts] Revise the series hooks doc (#21353) @mapache-salvaje
98
+ - [docs][charts] Revise the useDataset doc (#21336) @mapache-salvaje
99
+ - [docs][charts] Revise the useDrawingArea doc (#21333) @mapache-salvaje
100
+
101
+ ### Core
102
+
103
+ - [core] Update docs deploy script to the `docs-next` branch (#21341) @siriwatknp
104
+ - [code-infra] Cleanup unused babel plugins (#21453) @brijeshb42
105
+ - [code-infra] Do not append `x` to the last version for the compare API (#21408) @arminmeh
106
+ - [code-infra] Upgrade react-docgen to v8 X (#21155) @JCQuintas
107
+ - [code-infra] Modernize codemod (#21096) @JCQuintas
108
+ - [docs-infra] Fix current version detection logic (#21417) @cherniavskii
109
+ - [docs-infra] Reapply Cookie Banner (#21281) @dav-is
110
+ - [internal] Headless filtering plugin (#21302) @arminmeh
111
+ - [internal] Headless pagination plugin (#21183) @arminmeh
112
+ - [internal] Headless virtualization followups (#21327) @cherniavskii
113
+ - [internal] Keep cached data for disabled pipe processors (#21348) @arminmeh
114
+ - [internal] Remove autoprefixer package (#21440) @ZeeshanTamboli
115
+
116
+ ### Miscellaneous
117
+
118
+ - [l10n] Fix Czech (csCZ) locale: sort/filter labels are swapped (#21400) @EllGree
119
+ - [l10n] Improve Ukrainian (uk-UA) locale (#21366) @lion1963
120
+
3
121
  ## 9.0.0-alpha.0
4
122
 
5
123
  _Feb 16, 2026_
@@ -344,6 +344,11 @@ function DayCalendar(inProps) {
344
344
  focusDay(adapter.addMonths(day, -1));
345
345
  event.preventDefault();
346
346
  break;
347
+ case 'Enter':
348
+ case ' ':
349
+ handleDaySelect(day);
350
+ event.preventDefault();
351
+ break;
347
352
  default:
348
353
  break;
349
354
  }
@@ -179,7 +179,7 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
179
179
  }
180
180
  return shouldDisableMonth(monthToValidate);
181
181
  }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth, adapter]);
182
- const handleMonthSelection = (0, _useEventCallback.default)((event, month) => {
182
+ const handleMonthSelection = (0, _useEventCallback.default)((_event, month) => {
183
183
  if (readOnly) {
184
184
  return;
185
185
  }
@@ -223,6 +223,11 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
223
223
  focusMonth((monthsInYear + month + (isRtl ? -1 : 1)) % monthsInYear);
224
224
  event.preventDefault();
225
225
  break;
226
+ case 'Enter':
227
+ case ' ':
228
+ handleMonthSelection(event, month);
229
+ event.preventDefault();
230
+ break;
226
231
  default:
227
232
  break;
228
233
  }
@@ -194,7 +194,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
194
194
  const yearToValidate = adapter.startOfYear(dateToValidate);
195
195
  return shouldDisableYear(yearToValidate);
196
196
  }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, adapter]);
197
- const handleYearSelection = (0, _useEventCallback.default)((event, year) => {
197
+ const handleYearSelection = (0, _useEventCallback.default)((_event, year) => {
198
198
  if (readOnly) {
199
199
  return;
200
200
  }
@@ -231,6 +231,11 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
231
231
  focusYear(year + horizontalDirection);
232
232
  event.preventDefault();
233
233
  break;
234
+ case 'Enter':
235
+ case ' ':
236
+ handleYearSelection(event, year);
237
+ event.preventDefault();
238
+ break;
234
239
  default:
235
240
  break;
236
241
  }
@@ -337,6 +337,11 @@ export function DayCalendar(inProps) {
337
337
  focusDay(adapter.addMonths(day, -1));
338
338
  event.preventDefault();
339
339
  break;
340
+ case 'Enter':
341
+ case ' ':
342
+ handleDaySelect(day);
343
+ event.preventDefault();
344
+ break;
340
345
  default:
341
346
  break;
342
347
  }
@@ -171,7 +171,7 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
171
171
  }
172
172
  return shouldDisableMonth(monthToValidate);
173
173
  }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth, adapter]);
174
- const handleMonthSelection = useEventCallback((event, month) => {
174
+ const handleMonthSelection = useEventCallback((_event, month) => {
175
175
  if (readOnly) {
176
176
  return;
177
177
  }
@@ -215,6 +215,11 @@ export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalenda
215
215
  focusMonth((monthsInYear + month + (isRtl ? -1 : 1)) % monthsInYear);
216
216
  event.preventDefault();
217
217
  break;
218
+ case 'Enter':
219
+ case ' ':
220
+ handleMonthSelection(event, month);
221
+ event.preventDefault();
222
+ break;
218
223
  default:
219
224
  break;
220
225
  }
@@ -187,7 +187,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
187
187
  const yearToValidate = adapter.startOfYear(dateToValidate);
188
188
  return shouldDisableYear(yearToValidate);
189
189
  }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, adapter]);
190
- const handleYearSelection = useEventCallback((event, year) => {
190
+ const handleYearSelection = useEventCallback((_event, year) => {
191
191
  if (readOnly) {
192
192
  return;
193
193
  }
@@ -224,6 +224,11 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
224
224
  focusYear(year + horizontalDirection);
225
225
  event.preventDefault();
226
226
  break;
227
+ case 'Enter':
228
+ case ' ':
229
+ handleYearSelection(event, year);
230
+ event.preventDefault();
231
+ break;
227
232
  default:
228
233
  break;
229
234
  }
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v9.0.0-alpha.0
2
+ * @mui/x-date-pickers v9.0.0-alpha.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v9.0.0-alpha.0
2
+ * @mui/x-date-pickers v9.0.0-alpha.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "9.0.0-alpha.0",
3
+ "version": "9.0.0-alpha.1",
4
4
  "author": "MUI Team",
5
5
  "description": "The community edition of the MUI X Date and Time Picker components.",
6
6
  "license": "MIT",
@@ -89,11 +89,13 @@
89
89
  "node": ">=14.0.0"
90
90
  },
91
91
  "type": "commonjs",
92
- "main": "./index.js",
93
- "types": "./index.d.ts",
94
92
  "exports": {
95
93
  "./package.json": "./package.json",
96
94
  ".": {
95
+ "import": {
96
+ "types": "./esm/index.d.ts",
97
+ "default": "./esm/index.js"
98
+ },
97
99
  "require": {
98
100
  "types": "./index.d.ts",
99
101
  "default": "./index.js"
@@ -104,6 +106,10 @@
104
106
  }
105
107
  },
106
108
  "./*": {
109
+ "import": {
110
+ "types": "./esm/*/index.d.ts",
111
+ "default": "./esm/*/index.js"
112
+ },
107
113
  "require": {
108
114
  "types": "./*/index.d.ts",
109
115
  "default": "./*/index.js"
@@ -114,5 +120,7 @@
114
120
  }
115
121
  },
116
122
  "./esm": null
117
- }
123
+ },
124
+ "main": "./index.js",
125
+ "types": "./index.d.ts"
118
126
  }