@mui/x-data-grid-pro 8.0.0 → 8.1.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
@@ -5,6 +5,112 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.1.0
9
+
10
+ _Apr 24, 2025_
11
+
12
+ We'd like to offer a big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 📊 Add API to print a chart or export it as PDF: `apiRef.exportAsPrint`.
15
+ - 📚 Documentation improvements
16
+ - 🐞 Bugfixes
17
+
18
+ Special thanks go out to the community members for their valuable contributions:
19
+ @lhilgert9, @ArturAghakaryan, @sai6855.
20
+ Following are all team members who have contributed to this release:
21
+ @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @JCQuintas, @joserodolfofreitas, @KenanYusuf, @LukasTy, @mapache-salvaje, @oliviertassinari, @romgrk.
22
+
23
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
24
+
25
+ ### Data Grid
26
+
27
+ #### `@mui/x-data-grid@8.1.0`
28
+
29
+ - [DataGrid] Allow row deselection with multiple rows selected (#17473) @arminmeh
30
+ - [DataGrid] Fix column title truncation on touch devices (#17375) @KenanYusuf
31
+ - [DataGrid] Remove internal usage of `material` prop (#17513) @KenanYusuf
32
+ - [DataGrid] Fix apiRef not being passed on onCellClick params (#17335) @sai6855
33
+ - [DataGrid] Add Armenian (hy-AM) locale (#17527) @ArturAghakaryan
34
+
35
+ #### `@mui/x-data-grid-pro@8.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
36
+
37
+ Same changes as in `@mui/x-data-grid@8.1.0`, plus:
38
+
39
+ - [DataGridPro] Fix locales.ts export (#17433) @lhilgert9
40
+ - [DataGridPro] Avoid proptypes warnings with header filters in React 17 (#17482) @cherniavskii
41
+ - [DataGridPro] Fix expandable rows detail content height updates (#17394) @arminmeh
42
+
43
+ #### `@mui/x-data-grid-premium@8.1.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
44
+
45
+ Same changes as in `@mui/x-data-grid-pro@8.1.0`.
46
+
47
+ ### Date and Time Pickers
48
+
49
+ #### `@mui/x-date-pickers@8.1.0`
50
+
51
+ - [pickers] Improve `PickersInputBase` owner state typing (#17478) @LukasTy
52
+
53
+ #### `@mui/x-date-pickers-pro@8.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
54
+
55
+ Same changes as in `@mui/x-date-pickers@8.1.0`.
56
+
57
+ ### Charts
58
+
59
+ - Add API to print a chart or export it as PDF: `apiRef.exportAsPrint`.
60
+
61
+ #### `@mui/x-charts@8.1.0`
62
+
63
+ - [charts] Add a localization provider (#17325) @alexfauquette
64
+ - [charts] Add codemod for replacing legend's hidden slot prop (#17392) @bernardobelchior
65
+ - [charts] Fix chart visual tests flakiness (#17469) @bernardobelchior
66
+ - [charts] Fix tooltip position (#17440) @alexfauquette
67
+ - [charts] Improve axis tooltip performances (#17398) @alexfauquette
68
+ - [charts] Move radar from under development to preview (#17418) @alexfauquette
69
+ - [charts] Advance time in charts regression tests (#17420) @bernardobelchior
70
+ - [charts] Fix charts visuals flakiness (#17472) @bernardobelchior
71
+ - [charts] Move `rafThrottle` on event handlers instead of setter (#17489) @bernardobelchior
72
+
73
+ #### `@mui/x-charts-pro@8.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
74
+
75
+ Same changes as in `@mui/x-charts@8.1.0`, plus:
76
+
77
+ - [charts-pro] Add export as PDF/print functionality (#17285) @bernardobelchior
78
+ - [charts-pro] Fix axis zoom being disabled when not specified in `initialZoom` (#17500) @bernardobelchior
79
+
80
+ ### Tree View
81
+
82
+ #### `@mui/x-tree-view@8.1.0`
83
+
84
+ Internal changes.
85
+
86
+ #### `@mui/x-tree-view-pro@8.1.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
87
+
88
+ Same changes as in `@mui/x-tree-view@8.1.0`.
89
+
90
+ ### Docs
91
+
92
+ - [docs] Fix AI Assistant Panel Trigger demo (#17426) @KenanYusuf
93
+ - [docs] Fix DataGrid's master-detail demo for one expanded detail panel at a time (#17471) @arminmeh
94
+ - [docs] Improve StackOverflow links (#17483) @oliviertassinari
95
+ - [docs] Refine charts demos (#17417) @alexfauquette
96
+ - [docs] Remove ad on paid docs pages (#17373) @oliviertassinari
97
+ - [docs] Serve migration guides in raw markdown format (#17210) @cherniavskii
98
+ - [docs] Fix heading structure (#17495) @oliviertassinari
99
+ - [docs] Revise the Row Grouping doc (#16217) @mapache-salvaje
100
+ - [docs] Fix ellipsis in the demo (#17476) @oliviertassinari
101
+ - [docs] Add docs information for Legend HTML (#17502) @alexfauquette
102
+ - [docs] Refine charts demos (#17417) @alexfauquette
103
+ - [tree view][docs] Copyedit the Tree View Overview page (#17498) @mapache-salvaje
104
+
105
+ ### Core
106
+
107
+ - [core] Bump `@types/node` (#17444) @LukasTy
108
+ - [core] Remove `react-is` dependency (#17470) @LukasTy
109
+ - [core] Remove redundant `overridesResolver` in `styled` components (#17466) @romgrk
110
+ - [core] Update support table (#17425) @joserodolfofreitas
111
+ - [code-infra] Ditch `@babel/node` (#17446) @LukasTy
112
+ - [code-infra] Further remove `clock=fake` from pickers (#17253) @JCQuintas
113
+
8
114
  ## 8.0.0
9
115
 
10
116
  _Apr 17, 2025_
@@ -29,7 +29,7 @@ const configuration = {
29
29
  useCellAggregationResult: () => null
30
30
  }
31
31
  };
32
- const releaseInfo = "MTc0NDg0MDgwMDAwMA==";
32
+ const releaseInfo = "MTc0NTQ0NTYwMDAwMA==";
33
33
  const watermark = /*#__PURE__*/(0, _jsxRuntime.jsx)(_xLicense.Watermark, {
34
34
  packageName: "x-data-grid-pro",
35
35
  releaseInfo: releaseInfo
@@ -15,8 +15,7 @@ var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  const DetailPanel = (0, _styles.styled)('div', {
17
17
  name: 'MuiDataGrid',
18
- slot: 'DetailPanel',
19
- overridesResolver: (props, styles) => styles.detailPanel
18
+ slot: 'DetailPanel'
20
19
  })({
21
20
  width: 'calc(var(--DataGrid-rowWidth) - var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
22
21
  backgroundColor: _internals.vars.colors.background.base,
@@ -86,14 +86,14 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterMenu.propTypes = {
86
86
  applyFilterChanges: _propTypes.default.func.isRequired,
87
87
  clearFilterItem: _propTypes.default.func.isRequired,
88
88
  field: _propTypes.default.string.isRequired,
89
- id: _propTypes.default.string.isRequired,
89
+ id: _propTypes.default /* @typescript-to-proptypes-ignore */.string,
90
90
  item: _propTypes.default.shape({
91
91
  field: _propTypes.default.string.isRequired,
92
92
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
93
93
  operator: _propTypes.default.string.isRequired,
94
94
  value: _propTypes.default.any
95
95
  }).isRequired,
96
- labelledBy: _propTypes.default.string.isRequired,
96
+ labelledBy: _propTypes.default /* @typescript-to-proptypes-ignore */.string,
97
97
  open: _propTypes.default.bool.isRequired,
98
98
  operators: _propTypes.default.arrayOf(_propTypes.default.shape({
99
99
  getApplyFilterFn: _propTypes.default.func.isRequired,
@@ -22,7 +22,7 @@ const configuration = {
22
22
  useCellAggregationResult: () => null
23
23
  }
24
24
  };
25
- const releaseInfo = "MTc0NDg0MDgwMDAwMA==";
25
+ const releaseInfo = "MTc0NTQ0NTYwMDAwMA==";
26
26
  const watermark = /*#__PURE__*/_jsx(Watermark, {
27
27
  packageName: "x-data-grid-pro",
28
28
  releaseInfo: releaseInfo
@@ -9,8 +9,7 @@ import { useGridPrivateApiContext } from "../hooks/utils/useGridPrivateApiContex
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const DetailPanel = styled('div', {
11
11
  name: 'MuiDataGrid',
12
- slot: 'DetailPanel',
13
- overridesResolver: (props, styles) => styles.detailPanel
12
+ slot: 'DetailPanel'
14
13
  })({
15
14
  width: 'calc(var(--DataGrid-rowWidth) - var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
16
15
  backgroundColor: vars.colors.background.base,
@@ -78,14 +78,14 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterMenu.propTypes = {
78
78
  applyFilterChanges: PropTypes.func.isRequired,
79
79
  clearFilterItem: PropTypes.func.isRequired,
80
80
  field: PropTypes.string.isRequired,
81
- id: PropTypes.string.isRequired,
81
+ id: PropTypes /* @typescript-to-proptypes-ignore */.string,
82
82
  item: PropTypes.shape({
83
83
  field: PropTypes.string.isRequired,
84
84
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
85
85
  operator: PropTypes.string.isRequired,
86
86
  value: PropTypes.any
87
87
  }).isRequired,
88
- labelledBy: PropTypes.string.isRequired,
88
+ labelledBy: PropTypes /* @typescript-to-proptypes-ignore */.string,
89
89
  open: PropTypes.bool.isRequired,
90
90
  operators: PropTypes.arrayOf(PropTypes.shape({
91
91
  getApplyFilterFn: PropTypes.func.isRequired,
@@ -44,7 +44,6 @@ function cacheContentAndHeight(apiRef, getDetailPanelContent, getDetailPanelHeig
44
44
  };
45
45
  }
46
46
  export const useGridDetailPanel = (apiRef, props) => {
47
- const expandedRowIds = useGridSelector(apiRef, gridDetailPanelExpandedRowIdsSelector);
48
47
  const contentCache = useGridSelector(apiRef, gridDetailPanelExpandedRowsContentCacheSelector);
49
48
  const handleCellClick = React.useCallback((params, event) => {
50
49
  if (params.field !== GRID_DETAIL_PANEL_TOGGLE_FIELD || props.getDetailPanelContent == null) {
@@ -104,6 +103,7 @@ export const useGridDetailPanel = (apiRef, props) => {
104
103
  })
105
104
  });
106
105
  });
106
+ apiRef.current.requestPipeProcessorsApplication('rowHeight');
107
107
  }, [apiRef]);
108
108
  const storeDetailPanelHeight = React.useCallback((id, height) => {
109
109
  const heightCache = gridDetailPanelRawHeightCacheSelector(apiRef);
@@ -167,7 +167,8 @@ export const useGridDetailPanel = (apiRef, props) => {
167
167
  previousGetDetailPanelHeightProp.current = props.getDetailPanelHeight;
168
168
  }, [apiRef, props.getDetailPanelContent, props.getDetailPanelHeight]);
169
169
  const addDetailHeight = React.useCallback((initialValue, row) => {
170
- if (!expandedRowIds || expandedRowIds.size === 0 || !expandedRowIds.has(row.id)) {
170
+ const expandedRowIds = gridDetailPanelExpandedRowIdsSelector(apiRef);
171
+ if (!expandedRowIds || !expandedRowIds.has(row.id)) {
171
172
  initialValue.detail = 0;
172
173
  return initialValue;
173
174
  }
@@ -175,7 +176,7 @@ export const useGridDetailPanel = (apiRef, props) => {
175
176
  const heightCache = gridDetailPanelRawHeightCacheSelector(apiRef);
176
177
  initialValue.detail = heightCache[row.id].height ?? 0; // Fallback to zero because the cache might not be ready yet (for example page was changed)
177
178
  return initialValue;
178
- }, [apiRef, expandedRowIds, updateCachesIfNeeded]);
179
+ }, [apiRef, updateCachesIfNeeded]);
179
180
  const enabled = props.getDetailPanelContent !== undefined;
180
181
  useGridRegisterPipeProcessor(apiRef, 'rowHeight', addDetailHeight, enabled);
181
182
  const isFirstRender = React.useRef(true);
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v8.0.0
2
+ * @mui/x-data-grid-pro v8.1.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -53,7 +53,6 @@ function cacheContentAndHeight(apiRef, getDetailPanelContent, getDetailPanelHeig
53
53
  };
54
54
  }
55
55
  const useGridDetailPanel = (apiRef, props) => {
56
- const expandedRowIds = (0, _xDataGrid.useGridSelector)(apiRef, _gridDetailPanelSelector.gridDetailPanelExpandedRowIdsSelector);
57
56
  const contentCache = (0, _xDataGrid.useGridSelector)(apiRef, _gridDetailPanelSelector.gridDetailPanelExpandedRowsContentCacheSelector);
58
57
  const handleCellClick = React.useCallback((params, event) => {
59
58
  if (params.field !== _gridDetailPanelToggleColDef.GRID_DETAIL_PANEL_TOGGLE_FIELD || props.getDetailPanelContent == null) {
@@ -113,6 +112,7 @@ const useGridDetailPanel = (apiRef, props) => {
113
112
  })
114
113
  });
115
114
  });
115
+ apiRef.current.requestPipeProcessorsApplication('rowHeight');
116
116
  }, [apiRef]);
117
117
  const storeDetailPanelHeight = React.useCallback((id, height) => {
118
118
  const heightCache = (0, _gridDetailPanelSelector.gridDetailPanelRawHeightCacheSelector)(apiRef);
@@ -176,7 +176,8 @@ const useGridDetailPanel = (apiRef, props) => {
176
176
  previousGetDetailPanelHeightProp.current = props.getDetailPanelHeight;
177
177
  }, [apiRef, props.getDetailPanelContent, props.getDetailPanelHeight]);
178
178
  const addDetailHeight = React.useCallback((initialValue, row) => {
179
- if (!expandedRowIds || expandedRowIds.size === 0 || !expandedRowIds.has(row.id)) {
179
+ const expandedRowIds = (0, _gridDetailPanelSelector.gridDetailPanelExpandedRowIdsSelector)(apiRef);
180
+ if (!expandedRowIds || !expandedRowIds.has(row.id)) {
180
181
  initialValue.detail = 0;
181
182
  return initialValue;
182
183
  }
@@ -184,7 +185,7 @@ const useGridDetailPanel = (apiRef, props) => {
184
185
  const heightCache = (0, _gridDetailPanelSelector.gridDetailPanelRawHeightCacheSelector)(apiRef);
185
186
  initialValue.detail = heightCache[row.id].height ?? 0; // Fallback to zero because the cache might not be ready yet (for example page was changed)
186
187
  return initialValue;
187
- }, [apiRef, expandedRowIds, updateCachesIfNeeded]);
188
+ }, [apiRef, updateCachesIfNeeded]);
188
189
  const enabled = props.getDetailPanelContent !== undefined;
189
190
  (0, _internals.useGridRegisterPipeProcessor)(apiRef, 'rowHeight', addDetailHeight, enabled);
190
191
  const isFirstRender = React.useRef(true);
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v8.0.0
2
+ * @mui/x-data-grid-pro v8.1.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-pro",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "The Pro plan edition of the Data Grid components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -43,7 +43,7 @@
43
43
  "reselect": "^5.1.1",
44
44
  "@mui/x-internals": "8.0.0",
45
45
  "@mui/x-license": "8.0.0",
46
- "@mui/x-data-grid": "8.0.0"
46
+ "@mui/x-data-grid": "8.1.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@emotion/react": "^11.9.0",
File without changes
File without changes
File without changes
File without changes