@mui/x-charts-pro 9.2.0 → 9.3.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.
@@ -196,11 +196,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
196
196
  hiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
197
197
  dataIndex: _propTypes.default.number,
198
198
  seriesId: _propTypes.default.string.isRequired,
199
- type: _propTypes.default.oneOf(['bar'])
199
+ type: _propTypes.default.oneOf(['bar']).isRequired
200
200
  }), _propTypes.default.shape({
201
201
  dataIndex: _propTypes.default.number,
202
202
  seriesId: _propTypes.default.string.isRequired,
203
- type: _propTypes.default.oneOf(['bar']).isRequired
203
+ type: _propTypes.default.oneOf(['bar'])
204
204
  })]).isRequired),
205
205
  /**
206
206
  * If `true`, the legend is not rendered.
@@ -220,11 +220,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
220
220
  */
221
221
  highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
222
222
  dataIndex: _propTypes.default.number,
223
- seriesId: _propTypes.default.string.isRequired,
224
- type: _propTypes.default.oneOf(['bar']).isRequired
223
+ seriesId: _propTypes.default.string.isRequired
225
224
  }), _propTypes.default.shape({
226
225
  dataIndex: _propTypes.default.number,
227
- seriesId: _propTypes.default.string.isRequired
226
+ seriesId: _propTypes.default.string.isRequired,
227
+ type: _propTypes.default.oneOf(['bar']).isRequired
228
228
  })]),
229
229
  /**
230
230
  * This prop is used to help implement the accessibility logic.
@@ -255,11 +255,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
255
255
  initialHiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
256
256
  dataIndex: _propTypes.default.number,
257
257
  seriesId: _propTypes.default.string.isRequired,
258
- type: _propTypes.default.oneOf(['bar'])
258
+ type: _propTypes.default.oneOf(['bar']).isRequired
259
259
  }), _propTypes.default.shape({
260
260
  dataIndex: _propTypes.default.number,
261
261
  seriesId: _propTypes.default.string.isRequired,
262
- type: _propTypes.default.oneOf(['bar']).isRequired
262
+ type: _propTypes.default.oneOf(['bar'])
263
263
  })]).isRequired),
264
264
  /**
265
265
  * The list of zoom data related to each axis.
@@ -403,11 +403,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
403
403
  */
404
404
  tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
405
405
  dataIndex: _propTypes.default.number.isRequired,
406
- seriesId: _propTypes.default.string.isRequired,
407
- type: _propTypes.default.oneOf(['bar']).isRequired
406
+ seriesId: _propTypes.default.string.isRequired
408
407
  }), _propTypes.default.shape({
409
408
  dataIndex: _propTypes.default.number.isRequired,
410
- seriesId: _propTypes.default.string.isRequired
409
+ seriesId: _propTypes.default.string.isRequired,
410
+ type: _propTypes.default.oneOf(['bar']).isRequired
411
411
  })]),
412
412
  /**
413
413
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -430,11 +430,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
430
430
  */
431
431
  zAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
432
432
  colorMap: _propTypes.default.oneOfType([_propTypes.default.shape({
433
- colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
434
- type: _propTypes.default.oneOf(['ordinal']).isRequired,
435
- unknownColor: _propTypes.default.string,
436
- values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
437
- }), _propTypes.default.shape({
438
433
  color: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string.isRequired), _propTypes.default.func]).isRequired,
439
434
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
440
435
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
@@ -443,6 +438,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
443
438
  colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
444
439
  thresholds: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]).isRequired).isRequired,
445
440
  type: _propTypes.default.oneOf(['piecewise']).isRequired
441
+ }), _propTypes.default.shape({
442
+ colors: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
443
+ type: _propTypes.default.oneOf(['ordinal']).isRequired,
444
+ unknownColor: _propTypes.default.string,
445
+ values: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number, _propTypes.default.string]).isRequired)
446
446
  })]),
447
447
  data: _propTypes.default.array,
448
448
  dataKey: _propTypes.default.string,
@@ -464,6 +464,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
464
464
  */
465
465
  zoomInteractionConfig: _propTypes.default.shape({
466
466
  pan: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['drag', 'pressAndDrag', 'wheel']), _propTypes.default.shape({
467
+ allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
468
+ pointerMode: _propTypes.default.any,
469
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
470
+ type: _propTypes.default.oneOf(['wheel']).isRequired
471
+ }), _propTypes.default.shape({
467
472
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
468
473
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
469
474
  type: _propTypes.default.oneOf(['drag']).isRequired
@@ -471,24 +476,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
471
476
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
472
477
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
473
478
  type: _propTypes.default.oneOf(['pressAndDrag']).isRequired
474
- }), _propTypes.default.shape({
475
- allowedDirection: _propTypes.default.oneOf(['x', 'xy', 'y']),
476
- pointerMode: _propTypes.default.any,
477
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
478
- type: _propTypes.default.oneOf(['wheel']).isRequired
479
479
  })]).isRequired),
480
480
  zoom: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), _propTypes.default.shape({
481
- pointerMode: _propTypes.default.any,
482
- requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
483
- type: _propTypes.default.oneOf(['wheel']).isRequired
484
- }), _propTypes.default.shape({
485
- pointerMode: _propTypes.default.any,
486
- requiredKeys: _propTypes.default.array,
487
- type: _propTypes.default.oneOf(['pinch']).isRequired
488
- }), _propTypes.default.shape({
489
481
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
490
482
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
491
- type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
483
+ type: _propTypes.default.oneOf(['brush']).isRequired
492
484
  }), _propTypes.default.shape({
493
485
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
494
486
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
@@ -496,7 +488,15 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
496
488
  }), _propTypes.default.shape({
497
489
  pointerMode: _propTypes.default.oneOf(['mouse', 'touch']),
498
490
  requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
499
- type: _propTypes.default.oneOf(['brush']).isRequired
491
+ type: _propTypes.default.oneOf(['tapAndDrag']).isRequired
492
+ }), _propTypes.default.shape({
493
+ pointerMode: _propTypes.default.any,
494
+ requiredKeys: _propTypes.default.array,
495
+ type: _propTypes.default.oneOf(['pinch']).isRequired
496
+ }), _propTypes.default.shape({
497
+ pointerMode: _propTypes.default.any,
498
+ requiredKeys: _propTypes.default.arrayOf(_propTypes.default.string),
499
+ type: _propTypes.default.oneOf(['wheel']).isRequired
500
500
  })]).isRequired)
501
501
  })
502
502
  } : void 0;
@@ -189,11 +189,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
189
189
  hiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
190
190
  dataIndex: PropTypes.number,
191
191
  seriesId: PropTypes.string.isRequired,
192
- type: PropTypes.oneOf(['bar'])
192
+ type: PropTypes.oneOf(['bar']).isRequired
193
193
  }), PropTypes.shape({
194
194
  dataIndex: PropTypes.number,
195
195
  seriesId: PropTypes.string.isRequired,
196
- type: PropTypes.oneOf(['bar']).isRequired
196
+ type: PropTypes.oneOf(['bar'])
197
197
  })]).isRequired),
198
198
  /**
199
199
  * If `true`, the legend is not rendered.
@@ -213,11 +213,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
213
213
  */
214
214
  highlightedItem: PropTypes.oneOfType([PropTypes.shape({
215
215
  dataIndex: PropTypes.number,
216
- seriesId: PropTypes.string.isRequired,
217
- type: PropTypes.oneOf(['bar']).isRequired
216
+ seriesId: PropTypes.string.isRequired
218
217
  }), PropTypes.shape({
219
218
  dataIndex: PropTypes.number,
220
- seriesId: PropTypes.string.isRequired
219
+ seriesId: PropTypes.string.isRequired,
220
+ type: PropTypes.oneOf(['bar']).isRequired
221
221
  })]),
222
222
  /**
223
223
  * This prop is used to help implement the accessibility logic.
@@ -248,11 +248,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
248
248
  initialHiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
249
249
  dataIndex: PropTypes.number,
250
250
  seriesId: PropTypes.string.isRequired,
251
- type: PropTypes.oneOf(['bar'])
251
+ type: PropTypes.oneOf(['bar']).isRequired
252
252
  }), PropTypes.shape({
253
253
  dataIndex: PropTypes.number,
254
254
  seriesId: PropTypes.string.isRequired,
255
- type: PropTypes.oneOf(['bar']).isRequired
255
+ type: PropTypes.oneOf(['bar'])
256
256
  })]).isRequired),
257
257
  /**
258
258
  * The list of zoom data related to each axis.
@@ -396,11 +396,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
396
396
  */
397
397
  tooltipItem: PropTypes.oneOfType([PropTypes.shape({
398
398
  dataIndex: PropTypes.number.isRequired,
399
- seriesId: PropTypes.string.isRequired,
400
- type: PropTypes.oneOf(['bar']).isRequired
399
+ seriesId: PropTypes.string.isRequired
401
400
  }), PropTypes.shape({
402
401
  dataIndex: PropTypes.number.isRequired,
403
- seriesId: PropTypes.string.isRequired
402
+ seriesId: PropTypes.string.isRequired,
403
+ type: PropTypes.oneOf(['bar']).isRequired
404
404
  })]),
405
405
  /**
406
406
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -423,11 +423,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
423
423
  */
424
424
  zAxis: PropTypes.arrayOf(PropTypes.shape({
425
425
  colorMap: PropTypes.oneOfType([PropTypes.shape({
426
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
427
- type: PropTypes.oneOf(['ordinal']).isRequired,
428
- unknownColor: PropTypes.string,
429
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
430
- }), PropTypes.shape({
431
426
  color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
432
427
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
433
428
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -436,6 +431,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
436
431
  colors: PropTypes.arrayOf(PropTypes.string).isRequired,
437
432
  thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
438
433
  type: PropTypes.oneOf(['piecewise']).isRequired
434
+ }), PropTypes.shape({
435
+ colors: PropTypes.arrayOf(PropTypes.string).isRequired,
436
+ type: PropTypes.oneOf(['ordinal']).isRequired,
437
+ unknownColor: PropTypes.string,
438
+ values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
439
439
  })]),
440
440
  data: PropTypes.array,
441
441
  dataKey: PropTypes.string,
@@ -457,6 +457,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
457
457
  */
458
458
  zoomInteractionConfig: PropTypes.shape({
459
459
  pan: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['drag', 'pressAndDrag', 'wheel']), PropTypes.shape({
460
+ allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
461
+ pointerMode: PropTypes.any,
462
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
463
+ type: PropTypes.oneOf(['wheel']).isRequired
464
+ }), PropTypes.shape({
460
465
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
461
466
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
462
467
  type: PropTypes.oneOf(['drag']).isRequired
@@ -464,24 +469,11 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
464
469
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
465
470
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
466
471
  type: PropTypes.oneOf(['pressAndDrag']).isRequired
467
- }), PropTypes.shape({
468
- allowedDirection: PropTypes.oneOf(['x', 'xy', 'y']),
469
- pointerMode: PropTypes.any,
470
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
471
- type: PropTypes.oneOf(['wheel']).isRequired
472
472
  })]).isRequired),
473
473
  zoom: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(['brush', 'doubleTapReset', 'pinch', 'tapAndDrag', 'wheel']), PropTypes.shape({
474
- pointerMode: PropTypes.any,
475
- requiredKeys: PropTypes.arrayOf(PropTypes.string),
476
- type: PropTypes.oneOf(['wheel']).isRequired
477
- }), PropTypes.shape({
478
- pointerMode: PropTypes.any,
479
- requiredKeys: PropTypes.array,
480
- type: PropTypes.oneOf(['pinch']).isRequired
481
- }), PropTypes.shape({
482
474
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
483
475
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
484
- type: PropTypes.oneOf(['tapAndDrag']).isRequired
476
+ type: PropTypes.oneOf(['brush']).isRequired
485
477
  }), PropTypes.shape({
486
478
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
487
479
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
@@ -489,7 +481,15 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
489
481
  }), PropTypes.shape({
490
482
  pointerMode: PropTypes.oneOf(['mouse', 'touch']),
491
483
  requiredKeys: PropTypes.arrayOf(PropTypes.string),
492
- type: PropTypes.oneOf(['brush']).isRequired
484
+ type: PropTypes.oneOf(['tapAndDrag']).isRequired
485
+ }), PropTypes.shape({
486
+ pointerMode: PropTypes.any,
487
+ requiredKeys: PropTypes.array,
488
+ type: PropTypes.oneOf(['pinch']).isRequired
489
+ }), PropTypes.shape({
490
+ pointerMode: PropTypes.any,
491
+ requiredKeys: PropTypes.arrayOf(PropTypes.string),
492
+ type: PropTypes.oneOf(['wheel']).isRequired
493
493
  })]).isRequired)
494
494
  })
495
495
  } : void 0;
package/CHANGELOG.md CHANGED
@@ -1,5 +1,123 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.3.0
4
+
5
+ _May 21, 2026_
6
+
7
+ We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - 📆 Refactor Calendar Range drag editing to use Pointer Events instead of drag and touch events combination (#22279)
10
+ - ✨ Apply lazy loading to `EventTimelinePremium` (#22308)
11
+ - 🐞 Bugfixes
12
+ - 📚 Documentation improvements
13
+ - 🌎 Added Norwegian bokmål (nb-NO) locale to the Scheduler
14
+ - 🌎 Improved Swedish (sv-SE) locale on the Data Grid
15
+
16
+ Special thanks go out to these community members for their valuable contributions:
17
+ @Anexus5919, @jvskriubakken, @oscar-b, @rin, @viktormelin
18
+
19
+ The following team members contributed to this release:
20
+ @aemartos, @alexfauquette, @arminmeh, @Janpot, @JCQuintas, @LukasTy, @mj12albert, @oliviertassinari, @rita-codes, @romgrk, @sai6855
21
+
22
+ ### Data Grid
23
+
24
+ #### `@mui/x-data-grid@9.3.0`
25
+
26
+ - [DataGrid] Fix scrollbar disappearing after multiple resizes (#22512) @LukasTy
27
+ - [DataGrid] Revert "Add support for pinned columns in `GridVirtualScroller`" (#22467) @oliviertassinari
28
+ - [l10n] Improve Swedish (svSE) locale (#21851) @viktormelin
29
+
30
+ #### `@mui/x-data-grid-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
31
+
32
+ Same changes as in `@mui/x-data-grid@9.3.0`.
33
+
34
+ #### `@mui/x-data-grid-premium@9.3.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
35
+
36
+ Same changes as in `@mui/x-data-grid-pro@9.3.0`.
37
+
38
+ ### Date and Time Pickers
39
+
40
+ #### `@mui/x-date-pickers@9.3.0`
41
+
42
+ - [pickers] Fix disabled state styling for `PickersTextField` standard and filled variants (#22189) @LukasTy
43
+ - [pickers] Fix previous month disabled state calculation (#22524) @mj12albert
44
+ - [pickers] Merge `slotProps.sectionContent` in `PickersInputBase` (#22324) @rin
45
+
46
+ #### `@mui/x-date-pickers-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
47
+
48
+ Same changes as in `@mui/x-date-pickers@9.3.0`, plus:
49
+
50
+ - [DateRangeCalendar] Use Pointer Events for drag editing (#22279) @LukasTy
51
+
52
+ ### Charts
53
+
54
+ #### `@mui/x-charts@9.3.0`
55
+
56
+ - [charts] Add `data-series` to elements of radar chart (#22523) @alexfauquette
57
+ - [charts] Add environment check for warning messages in axis and radar hooks (#22506) @sai6855
58
+ - [charts] Chart `seriesConfig` deduplication for lines and bars (#22257) @sai6855
59
+ - [charts] Fix highlighted item crash (#22539) @oscar-b
60
+ - [charts] Fix the line and mark class (#22526) @alexfauquette
61
+ - [charts] Fix use of deprecated API in docs (#22469) @oliviertassinari
62
+ - [charts] Improve performance of `evaluateCurveY` function (#22407) @sai6855
63
+
64
+ #### `@mui/x-charts-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
65
+
66
+ Same changes as in `@mui/x-charts@9.3.0`.
67
+
68
+ #### `@mui/x-charts-premium@9.3.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
69
+
70
+ Same changes as in `@mui/x-charts-pro@9.3.0`, plus:
71
+
72
+ - [charts-premium] Add `closePath` option to the radial line series (#22517) @alexfauquette
73
+
74
+ ### Tree View
75
+
76
+ #### `@mui/x-tree-view-pro@9.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
77
+
78
+ Internal changes.
79
+
80
+ ### Scheduler
81
+
82
+ #### `@mui/x-scheduler@9.0.0-alpha.7`
83
+
84
+ - [I10n] Add Norwegian bokmål (nb-NO) locale (#22415) @jvskriubakken
85
+
86
+ #### `@mui/x-scheduler-premium@9.0.0-alpha.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
87
+
88
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.7`, plus:
89
+
90
+ - [scheduler] Apply lazy loading to `EventTimelinePremium` (#22308) @rita-codes
91
+ - [scheduler] Deduplicate staged ranges within the debounce window (#22476) @Anexus5919
92
+ - [scheduler] Pass full event objects to `dataSource.updateEvents` (#22462) @rita-codes
93
+
94
+ ### Docs
95
+
96
+ - [docs] Automatically update supported versions (#21850) @arminmeh
97
+ - [docs] Fix `New` label on bar charts docs (#22473) @oliviertassinari
98
+ - [docs] Improve premium page header for charts (#22474) @oliviertassinari
99
+ - [docs] Sync `README` with licensing/licensing.md in scheduler (#22468) @oliviertassinari
100
+
101
+ ### Core
102
+
103
+ - [code-infra] Cover docs overview composites with Argos (#22283) @LukasTy
104
+ - [code-infra] Enable `mui/no-presentation-role` lint rule (#22360) @Janpot
105
+ - [code-infra] Make generated `propTypes` union order deterministic (#22521) @JCQuintas
106
+ - [code-infra] Make screenshots stable across different ordering of the tests (#22449) @Janpot
107
+ - [code-infra] Optimize visual regression testing (#22447) @Janpot
108
+ - [code-infra] Replace markdownlint with remark from code-infra (#22255) @Janpot
109
+
110
+ ### Miscellaneous
111
+
112
+ - [virtualizer] Improve `controlled` mode performance (#22123) @romgrk
113
+ - [data-grid-generator] Include `tree-data` params in `useDemoData` cache key (#22456) @Janpot
114
+ - [test] Fix flaky browser tests and optimize (#22431) @Janpot
115
+ - [test] Speed up `test_types` job (#22442) @Janpot
116
+ - [test] Trim ffmpeg install in `test_regressions` (#22459) @Janpot
117
+ - [test] Add WebGL performance benchmarks for charts (#22471) @JCQuintas
118
+ - [test] Expand chart performance benchmarks for charts (#22472) @JCQuintas
119
+ - [x-license] use workspace dep for v9 in cross-major compat tests (#22504) @aemartos
120
+
3
121
  ## 9.2.0
4
122
 
5
123
  _May 13, 2026_
@@ -18,8 +18,8 @@ var _useChartsDataProviderProProps = require("./useChartsDataProviderProProps");
18
18
  var _ChartsWatermark = require("../internals/ChartsWatermark");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  const packageInfo = {
21
- releaseDate: "MTc3ODYzMDQwMDAwMA==",
22
- version: "9.2.0",
21
+ releaseDate: "MTc3OTMyMTYwMDAwMA==",
22
+ version: "9.3.0",
23
23
  name: 'x-charts-pro'
24
24
  };
25
25
  const defaultSeriesConfigPro = exports.defaultSeriesConfigPro = _internals.defaultSeriesConfig;
@@ -11,8 +11,8 @@ import { useChartsDataProviderProProps } from "./useChartsDataProviderProProps.m
11
11
  import { ChartsWatermark } from "../internals/ChartsWatermark.mjs";
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  const packageInfo = {
14
- releaseDate: "MTc3ODYzMDQwMDAwMA==",
15
- version: "9.2.0",
14
+ releaseDate: "MTc3OTMyMTYwMDAwMA==",
15
+ version: "9.3.0",
16
16
  name: 'x-charts-pro'
17
17
  };
18
18
  export const defaultSeriesConfigPro = defaultSeriesConfig;
@@ -106,7 +106,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
106
106
  disableTicks: _propTypes.default.bool,
107
107
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
108
108
  position: _propTypes.default.oneOf(['bottom', 'left', 'none', 'right', 'top']),
109
- scaleType: _propTypes.default.oneOf(['log']),
109
+ scaleType: _propTypes.default.oneOf(['linear']),
110
110
  size: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
111
111
  tickLabelStyle: _propTypes.default.object,
112
112
  tickSize: _propTypes.default.number
@@ -116,7 +116,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
116
116
  disableTicks: _propTypes.default.bool,
117
117
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
118
118
  position: _propTypes.default.oneOf(['bottom', 'left', 'none', 'right', 'top']),
119
- scaleType: _propTypes.default.oneOf(['symlog']),
119
+ scaleType: _propTypes.default.oneOf(['log']),
120
120
  size: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
121
121
  tickLabelStyle: _propTypes.default.object,
122
122
  tickSize: _propTypes.default.number
@@ -146,7 +146,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
146
146
  disableTicks: _propTypes.default.bool,
147
147
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
148
148
  position: _propTypes.default.oneOf(['bottom', 'left', 'none', 'right', 'top']),
149
- scaleType: _propTypes.default.oneOf(['time']),
149
+ scaleType: _propTypes.default.oneOf(['symlog']),
150
150
  size: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
151
151
  tickLabelStyle: _propTypes.default.object,
152
152
  tickSize: _propTypes.default.number
@@ -156,7 +156,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
156
156
  disableTicks: _propTypes.default.bool,
157
157
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
158
158
  position: _propTypes.default.oneOf(['bottom', 'left', 'none', 'right', 'top']),
159
- scaleType: _propTypes.default.oneOf(['utc']),
159
+ scaleType: _propTypes.default.oneOf(['time']),
160
160
  size: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
161
161
  tickLabelStyle: _propTypes.default.object,
162
162
  tickSize: _propTypes.default.number
@@ -166,7 +166,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
166
166
  disableTicks: _propTypes.default.bool,
167
167
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
168
168
  position: _propTypes.default.oneOf(['bottom', 'left', 'none', 'right', 'top']),
169
- scaleType: _propTypes.default.oneOf(['linear']),
169
+ scaleType: _propTypes.default.oneOf(['utc']),
170
170
  size: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
171
171
  tickLabelStyle: _propTypes.default.object,
172
172
  tickSize: _propTypes.default.number
@@ -228,11 +228,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
228
228
  hiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
229
229
  dataIndex: _propTypes.default.number,
230
230
  seriesId: _propTypes.default.string.isRequired,
231
- type: _propTypes.default.oneOf(['funnel'])
231
+ type: _propTypes.default.oneOf(['funnel']).isRequired
232
232
  }), _propTypes.default.shape({
233
233
  dataIndex: _propTypes.default.number,
234
234
  seriesId: _propTypes.default.string.isRequired,
235
- type: _propTypes.default.oneOf(['funnel']).isRequired
235
+ type: _propTypes.default.oneOf(['funnel'])
236
236
  })]).isRequired),
237
237
  /**
238
238
  * If `true`, the legend is not rendered.
@@ -245,11 +245,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
245
245
  */
246
246
  highlightedItem: _propTypes.default.oneOfType([_propTypes.default.shape({
247
247
  dataIndex: _propTypes.default.number,
248
- seriesId: _propTypes.default.string.isRequired,
249
- type: _propTypes.default.oneOf(['funnel']).isRequired
248
+ seriesId: _propTypes.default.string.isRequired
250
249
  }), _propTypes.default.shape({
251
250
  dataIndex: _propTypes.default.number,
252
- seriesId: _propTypes.default.string.isRequired
251
+ seriesId: _propTypes.default.string.isRequired,
252
+ type: _propTypes.default.oneOf(['funnel']).isRequired
253
253
  })]),
254
254
  /**
255
255
  * This prop is used to help implement the accessibility logic.
@@ -280,11 +280,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
280
280
  initialHiddenItems: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({
281
281
  dataIndex: _propTypes.default.number,
282
282
  seriesId: _propTypes.default.string.isRequired,
283
- type: _propTypes.default.oneOf(['funnel'])
283
+ type: _propTypes.default.oneOf(['funnel']).isRequired
284
284
  }), _propTypes.default.shape({
285
285
  dataIndex: _propTypes.default.number,
286
286
  seriesId: _propTypes.default.string.isRequired,
287
- type: _propTypes.default.oneOf(['funnel']).isRequired
287
+ type: _propTypes.default.oneOf(['funnel'])
288
288
  })]).isRequired),
289
289
  /**
290
290
  * If `true`, a loading overlay is displayed.
@@ -370,11 +370,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
370
370
  */
371
371
  tooltipItem: _propTypes.default.oneOfType([_propTypes.default.shape({
372
372
  dataIndex: _propTypes.default.number.isRequired,
373
- seriesId: _propTypes.default.string.isRequired,
374
- type: _propTypes.default.oneOf(['funnel']).isRequired
373
+ seriesId: _propTypes.default.string.isRequired
375
374
  }), _propTypes.default.shape({
376
375
  dataIndex: _propTypes.default.number.isRequired,
377
- seriesId: _propTypes.default.string.isRequired
376
+ seriesId: _propTypes.default.string.isRequired,
377
+ type: _propTypes.default.oneOf(['funnel']).isRequired
378
378
  })]),
379
379
  /**
380
380
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -99,7 +99,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
99
99
  disableTicks: PropTypes.bool,
100
100
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
101
101
  position: PropTypes.oneOf(['bottom', 'left', 'none', 'right', 'top']),
102
- scaleType: PropTypes.oneOf(['log']),
102
+ scaleType: PropTypes.oneOf(['linear']),
103
103
  size: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
104
104
  tickLabelStyle: PropTypes.object,
105
105
  tickSize: PropTypes.number
@@ -109,7 +109,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
109
109
  disableTicks: PropTypes.bool,
110
110
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
111
111
  position: PropTypes.oneOf(['bottom', 'left', 'none', 'right', 'top']),
112
- scaleType: PropTypes.oneOf(['symlog']),
112
+ scaleType: PropTypes.oneOf(['log']),
113
113
  size: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
114
114
  tickLabelStyle: PropTypes.object,
115
115
  tickSize: PropTypes.number
@@ -139,7 +139,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
139
139
  disableTicks: PropTypes.bool,
140
140
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
141
141
  position: PropTypes.oneOf(['bottom', 'left', 'none', 'right', 'top']),
142
- scaleType: PropTypes.oneOf(['time']),
142
+ scaleType: PropTypes.oneOf(['symlog']),
143
143
  size: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
144
144
  tickLabelStyle: PropTypes.object,
145
145
  tickSize: PropTypes.number
@@ -149,7 +149,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
149
149
  disableTicks: PropTypes.bool,
150
150
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
151
151
  position: PropTypes.oneOf(['bottom', 'left', 'none', 'right', 'top']),
152
- scaleType: PropTypes.oneOf(['utc']),
152
+ scaleType: PropTypes.oneOf(['time']),
153
153
  size: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
154
154
  tickLabelStyle: PropTypes.object,
155
155
  tickSize: PropTypes.number
@@ -159,7 +159,7 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
159
159
  disableTicks: PropTypes.bool,
160
160
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
161
161
  position: PropTypes.oneOf(['bottom', 'left', 'none', 'right', 'top']),
162
- scaleType: PropTypes.oneOf(['linear']),
162
+ scaleType: PropTypes.oneOf(['utc']),
163
163
  size: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
164
164
  tickLabelStyle: PropTypes.object,
165
165
  tickSize: PropTypes.number
@@ -221,11 +221,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
221
221
  hiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
222
222
  dataIndex: PropTypes.number,
223
223
  seriesId: PropTypes.string.isRequired,
224
- type: PropTypes.oneOf(['funnel'])
224
+ type: PropTypes.oneOf(['funnel']).isRequired
225
225
  }), PropTypes.shape({
226
226
  dataIndex: PropTypes.number,
227
227
  seriesId: PropTypes.string.isRequired,
228
- type: PropTypes.oneOf(['funnel']).isRequired
228
+ type: PropTypes.oneOf(['funnel'])
229
229
  })]).isRequired),
230
230
  /**
231
231
  * If `true`, the legend is not rendered.
@@ -238,11 +238,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
238
238
  */
239
239
  highlightedItem: PropTypes.oneOfType([PropTypes.shape({
240
240
  dataIndex: PropTypes.number,
241
- seriesId: PropTypes.string.isRequired,
242
- type: PropTypes.oneOf(['funnel']).isRequired
241
+ seriesId: PropTypes.string.isRequired
243
242
  }), PropTypes.shape({
244
243
  dataIndex: PropTypes.number,
245
- seriesId: PropTypes.string.isRequired
244
+ seriesId: PropTypes.string.isRequired,
245
+ type: PropTypes.oneOf(['funnel']).isRequired
246
246
  })]),
247
247
  /**
248
248
  * This prop is used to help implement the accessibility logic.
@@ -273,11 +273,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
273
273
  initialHiddenItems: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
274
274
  dataIndex: PropTypes.number,
275
275
  seriesId: PropTypes.string.isRequired,
276
- type: PropTypes.oneOf(['funnel'])
276
+ type: PropTypes.oneOf(['funnel']).isRequired
277
277
  }), PropTypes.shape({
278
278
  dataIndex: PropTypes.number,
279
279
  seriesId: PropTypes.string.isRequired,
280
- type: PropTypes.oneOf(['funnel']).isRequired
280
+ type: PropTypes.oneOf(['funnel'])
281
281
  })]).isRequired),
282
282
  /**
283
283
  * If `true`, a loading overlay is displayed.
@@ -363,11 +363,11 @@ process.env.NODE_ENV !== "production" ? FunnelChart.propTypes = {
363
363
  */
364
364
  tooltipItem: PropTypes.oneOfType([PropTypes.shape({
365
365
  dataIndex: PropTypes.number.isRequired,
366
- seriesId: PropTypes.string.isRequired,
367
- type: PropTypes.oneOf(['funnel']).isRequired
366
+ seriesId: PropTypes.string.isRequired
368
367
  }), PropTypes.shape({
369
368
  dataIndex: PropTypes.number.isRequired,
370
- seriesId: PropTypes.string.isRequired
369
+ seriesId: PropTypes.string.isRequired,
370
+ type: PropTypes.oneOf(['funnel']).isRequired
371
371
  })]),
372
372
  /**
373
373
  * The width of the chart in px. If not defined, it takes the width of the parent element.