@mui/x-data-grid 9.1.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,108 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.2.0
4
+
5
+ _May 13, 2026_
6
+
7
+ We'd like to extend a big thank you to the 9 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - ⚡️ Add a WebGL renderer to the [Bar chart](https://mui.com/x/react-charts/bars/#webgl-renderer)
10
+ - 📊 Add a radial charts with the [radial line](https://mui.com/x/react-charts/radial-lines/), [radial bar](https://mui.com/x/react-charts/radial-bars/), and the [radial grid and axes](https://mui.com/x/react-charts/radial-axes/)
11
+ - 🐞 Bugfixes
12
+ - 📚 Documentation improvements
13
+
14
+ Special thanks go out to these community members for their valuable contributions:
15
+ @Anexus5919, @mustafajw07
16
+
17
+ The following team members contributed to this release:
18
+ @aemartos, @alexfauquette, @bernardobelchior, @JCQuintas, @oliviertassinari, @sai6855, @siriwatknp
19
+
20
+ ### Data Grid
21
+
22
+ #### `@mui/x-data-grid@9.2.0`
23
+
24
+ - [data grid] Add support for pinned columns in `GridVirtualScroller` (#22347) @sai6855
25
+ - [data grid] Remove unused CSS (#22390) @oliviertassinari
26
+
27
+ #### `@mui/x-data-grid-pro@9.2.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
28
+
29
+ Same changes as in `@mui/x-data-grid@9.2.0`.
30
+
31
+ #### `@mui/x-data-grid-premium@9.2.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
32
+
33
+ Same changes as in `@mui/x-data-grid-pro@9.2.0`.
34
+
35
+ ### Date and Time Pickers
36
+
37
+ #### `@mui/x-date-pickers@9.2.0`
38
+
39
+ - [pickers] Trim test helpers' default load graph (#22421) @JCQuintas
40
+
41
+ #### `@mui/x-date-pickers-pro@9.2.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
42
+
43
+ Same changes as in `@mui/x-date-pickers@9.2.0`.
44
+
45
+ ### Charts
46
+
47
+ #### `@mui/x-charts@9.2.0`
48
+
49
+ Internal changes.
50
+
51
+ #### `@mui/x-charts-pro@9.2.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
52
+
53
+ Same changes as in `@mui/x-charts@9.2.0`.
54
+
55
+ #### `@mui/x-charts-premium@9.2.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
56
+
57
+ Same changes as in `@mui/x-charts-pro@9.2.0`, plus:
58
+
59
+ - [charts-premium] Add `Highlight` support to `RadialBarChart` (#22322) @alexfauquette
60
+ - [charts-premium] Add `WebGL` renderer to `BarChartPremium` (#22354) @JCQuintas
61
+ - [charts-premium] Add mark shape support to the radial line (#22242) @alexfauquette
62
+ - [charts-premium] `RadialBarChart` support axis interaction with layout horizontal (#22319) @alexfauquette
63
+
64
+ ### Tree View
65
+
66
+ #### `@mui/x-tree-view@9.1.0`
67
+
68
+ Internal changes.
69
+
70
+ #### `@mui/x-tree-view-pro@9.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
71
+
72
+ Same changes as in `@mui/x-tree-view@9.1.0`.
73
+
74
+ ### Scheduler
75
+
76
+ #### `@mui/x-scheduler@9.0.0-alpha.6`
77
+
78
+ - [scheduler] Complete ARIA grid semantics on `EventTimeline` and `EventCalendar` (#22266) @Anexus5919
79
+ - [scheduler] Improve UX for recurrence tab (#22287) @mustafajw07
80
+
81
+ #### `@mui/x-scheduler-premium@9.0.0-alpha.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
82
+
83
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.6`.
84
+
85
+ ### Codemod
86
+
87
+ #### `@mui/x-codemod@9.1.0`
88
+
89
+ Internal changes.
90
+
91
+ ### Docs
92
+
93
+ - [docs] Document the `RadialBarChart` (#22320) @alexfauquette
94
+ - [docs] Add histogram demo to bar-demo page (#22373) @siriwatknp
95
+ - [docs] Add radial bar to the nav bar (#22429) @alexfauquette
96
+ - [docs] Split radial grid and radial line pages (#22238) @alexfauquette
97
+
98
+ ### Miscellaneous
99
+
100
+ - [test] Disable animations in chart benchmarks (#22433) @bernardobelchior
101
+ - [test] Move `x-internal-gestures` vitest isolate flag to test block (#22427) @JCQuintas
102
+ - [test] Reduce flakiness in `MobileTimeRangePicker` multi-input `describeValue` tests (#22422) @JCQuintas
103
+ - [x-license] Exclude compat test pins from Renovate major bumps (#22414) @aemartos
104
+ - [x-license] Add cross-major license format compatibility tests (#22335) @aemartos
105
+
3
106
  ## 9.1.0
4
107
 
5
108
  _May 8, 2026_
@@ -55,7 +55,9 @@ const Scroller = (0, _styles.styled)('div', {
55
55
  } = props;
56
56
  return [styles.virtualScroller, ownerState.hasScrollX && styles['virtualScroller--hasScrollX']];
57
57
  }
58
- })({
58
+ })(({
59
+ ownerState
60
+ }) => ({
59
61
  position: 'relative',
60
62
  height: '100%',
61
63
  flexGrow: 1,
@@ -70,8 +72,10 @@ const Scroller = (0, _styles.styled)('div', {
70
72
  overflow: 'hidden'
71
73
  },
72
74
  // See https://github.com/mui/mui-x/issues/10547
73
- zIndex: 0
74
- });
75
+ zIndex: 0,
76
+ // Prevent overscroll bounce from revealing content behind pinned column shadows on macOS.
77
+ overscrollBehaviorX: ownerState.hasPinnedColumns ? 'none' : undefined
78
+ }));
75
79
  const Viewport = (0, _styles.styled)('div', {
76
80
  slot: 'internal',
77
81
  shouldForwardProp: undefined
@@ -82,30 +86,30 @@ const Viewport = (0, _styles.styled)('div', {
82
86
  position: 'sticky',
83
87
  top: 0,
84
88
  left: 0,
85
- overflow: 'hidden',
86
- scrollbarWidth: 'none' /* Firefox */,
87
- '&::-webkit-scrollbar': {
88
- display: 'none' /* Safari and Chrome */
89
- }
89
+ overflow: 'hidden'
90
90
  }
91
91
  });
92
92
  const hasPinnedRightSelector = apiRef => apiRef.current.state.dimensions.rightPinnedWidth > 0;
93
+ const hasPinnedLeftSelector = apiRef => apiRef.current.state.dimensions.leftPinnedWidth > 0;
93
94
  function GridVirtualScroller(props) {
94
95
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
95
96
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
96
97
  const hasScrollY = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollYSelector);
97
98
  const hasScrollX = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollXSelector);
98
99
  const hasPinnedRight = (0, _useGridSelector.useGridSelector)(apiRef, hasPinnedRightSelector);
100
+ const hasPinnedLeft = (0, _useGridSelector.useGridSelector)(apiRef, hasPinnedLeftSelector);
99
101
  const hasBottomFiller = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasBottomFillerSelector);
100
102
  const {
101
103
  overlayType,
102
104
  loadingOverlayVariant
103
105
  } = (0, _useGridOverlays.useGridOverlays)(apiRef, rootProps);
104
106
  const Overlay = rootProps.slots?.[overlayType];
107
+ const hasPinnedColumns = hasPinnedRight || hasPinnedLeft;
105
108
  const ownerState = {
106
109
  classes: rootProps.classes,
107
110
  hasScrollX,
108
111
  hasPinnedRight,
112
+ hasPinnedColumns,
109
113
  overlayType,
110
114
  loadingOverlayVariant
111
115
  };
@@ -47,7 +47,9 @@ const Scroller = styled('div', {
47
47
  } = props;
48
48
  return [styles.virtualScroller, ownerState.hasScrollX && styles['virtualScroller--hasScrollX']];
49
49
  }
50
- })({
50
+ })(({
51
+ ownerState
52
+ }) => ({
51
53
  position: 'relative',
52
54
  height: '100%',
53
55
  flexGrow: 1,
@@ -62,8 +64,10 @@ const Scroller = styled('div', {
62
64
  overflow: 'hidden'
63
65
  },
64
66
  // See https://github.com/mui/mui-x/issues/10547
65
- zIndex: 0
66
- });
67
+ zIndex: 0,
68
+ // Prevent overscroll bounce from revealing content behind pinned column shadows on macOS.
69
+ overscrollBehaviorX: ownerState.hasPinnedColumns ? 'none' : undefined
70
+ }));
67
71
  const Viewport = styled('div', {
68
72
  slot: 'internal',
69
73
  shouldForwardProp: undefined
@@ -74,30 +78,30 @@ const Viewport = styled('div', {
74
78
  position: 'sticky',
75
79
  top: 0,
76
80
  left: 0,
77
- overflow: 'hidden',
78
- scrollbarWidth: 'none' /* Firefox */,
79
- '&::-webkit-scrollbar': {
80
- display: 'none' /* Safari and Chrome */
81
- }
81
+ overflow: 'hidden'
82
82
  }
83
83
  });
84
84
  const hasPinnedRightSelector = apiRef => apiRef.current.state.dimensions.rightPinnedWidth > 0;
85
+ const hasPinnedLeftSelector = apiRef => apiRef.current.state.dimensions.leftPinnedWidth > 0;
85
86
  function GridVirtualScroller(props) {
86
87
  const apiRef = useGridPrivateApiContext();
87
88
  const rootProps = useGridRootProps();
88
89
  const hasScrollY = useGridSelector(apiRef, gridHasScrollYSelector);
89
90
  const hasScrollX = useGridSelector(apiRef, gridHasScrollXSelector);
90
91
  const hasPinnedRight = useGridSelector(apiRef, hasPinnedRightSelector);
92
+ const hasPinnedLeft = useGridSelector(apiRef, hasPinnedLeftSelector);
91
93
  const hasBottomFiller = useGridSelector(apiRef, gridHasBottomFillerSelector);
92
94
  const {
93
95
  overlayType,
94
96
  loadingOverlayVariant
95
97
  } = useGridOverlays(apiRef, rootProps);
96
98
  const Overlay = rootProps.slots?.[overlayType];
99
+ const hasPinnedColumns = hasPinnedRight || hasPinnedLeft;
97
100
  const ownerState = {
98
101
  classes: rootProps.classes,
99
102
  hasScrollX,
100
103
  hasPinnedRight,
104
+ hasPinnedColumns,
101
105
  overlayType,
102
106
  loadingOverlayVariant
103
107
  };
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v9.1.0
2
+ * @mui/x-data-grid v9.2.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v9.1.0
2
+ * @mui/x-data-grid v9.2.0
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-data-grid",
3
- "version": "9.1.0",
3
+ "version": "9.2.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "license": "MIT",
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@babel/runtime": "^7.29.2",
41
- "@mui/utils": "9.0.0",
41
+ "@mui/utils": "9.0.1",
42
42
  "clsx": "^2.1.1",
43
43
  "prop-types": "^15.8.1",
44
44
  "use-sync-external-store": "^1.6.0",