@mui/x-data-grid-premium 7.27.3 → 7.28.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
@@ -3,6 +3,143 @@
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.28.1
7
+
8
+ _Mar 21, 2025_
9
+
10
+ We'd like to offer a big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🐞 Bugfixes
13
+
14
+ Special thanks go out to the community contributors who have helped make this release possible:
15
+ @jyash97, @nusr.
16
+
17
+ Following are all team members who have contributed to this release:
18
+ @arminmeh, @KenanYusuf.
19
+
20
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
21
+
22
+ ### Data Grid
23
+
24
+ #### `@mui/x-data-grid@7.28.1`
25
+
26
+ - [DataGrid] Fix error while editing rows with custom id (@arminmeh) (#17050)
27
+
28
+ #### `@mui/x-data-grid-pro@7.28.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@7.28.1`, plus:
31
+
32
+ - [DataGridPro] Fix header select checkbox state with `checkboxSelectionVisibleOnly` and `paginationMode="server"` (@arminmeh) (#17032)
33
+
34
+ #### `@mui/x-data-grid-premium@7.28.1` [![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@7.28.1`, plus:
37
+
38
+ - [DataGridPremium] Update column state correctly when grouping mode is updated with one grouping column (@arminmeh) (#17074)
39
+
40
+ ### Tree View
41
+
42
+ #### `@mui/x-tree-view@7.28.1`
43
+
44
+ Internal changes.
45
+
46
+ #### `@mui/x-tree-view-pro@7.28.1` [![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-tree-view@7.28.1`, plus:
49
+
50
+ - [TreeView] Allow moving an item after the last children of some other item (@jyash97) (#17065)
51
+
52
+ ### Docs
53
+
54
+ - [docs] Fix Data Grid advanced list view demo (#17066) @KenanYusuf
55
+ - [docs] Fix custom detail panel toggle state update (@nusr) (#17018)
56
+
57
+ ## 7.28.0
58
+
59
+ _Mar 17, 2025_
60
+
61
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
62
+
63
+ - 🎁 Add support for `@mui/material` version 7 in all X packages
64
+ - 🐞 Bugfixes
65
+ - 🌍 Improve Chinese (zh-CN), (zh-HK), (zh-TW), Czech (cs-CZ), Korean (ko-KR) and Slovak (sk-Sk) locales on the Data Grid
66
+ - 🌍 Improve Chinese (zh-CN), (zh-HK) and (zh-TW) locales on the Pickers
67
+
68
+ Special thanks go out to the community contributors who have helped make this release possible:
69
+ @Blake-McCullough, @hlavacz, @yelahj, @k-rajat19, @nusr.
70
+ Following are all team members who have contributed to this release:
71
+ @arminmeh, @flaviendelangle, @LukasTy, @michelengelen, @MBilalShafi.
72
+
73
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
74
+
75
+ ### Data Grid
76
+
77
+ #### `@mui/x-data-grid@7.28.0`
78
+
79
+ - [DataGrid] Add click propagation and prevents default on `toggleMenu` click (#16909) @michelengelen
80
+ - [DataGrid] Fix `processRowUpdate()` error if the row is removed before it is executed (#16904) @arminmeh
81
+ - [DataGrid] Fix bug with adding and removing columns in active edit state (#16916) @Blake-McCullough
82
+ - [DataGrid] Fix visual issue with pinned columns and row spanning (#16942) @MBilalShafi
83
+ - [DataGrid] Make column header menu button aria-labels unique (#16925) @owais635
84
+ - [DataGrid] Fix `printOptions` not respecting `hideFooter` root prop (#16915) @k-rajat19
85
+ - [l10n] Improve Chinese (zh-CN), (zh-HK) and (zh-TW) locales (#16917 and #16887) @nusr
86
+ - [l10n] Improve Czech (cs-CZ) and Slovak (sk-Sk) locales (#16996) @hlavacz
87
+ - [l10n] Improve Korean (ko-KR) locale (#16998) @yelahj
88
+
89
+ #### `@mui/x-data-grid-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
90
+
91
+ Same changes as in `@mui/x-data-grid@7.28.0`, plus:
92
+
93
+ - [DataGridPro] Fix header filters not displaying restored values (#16976) @MBilalShafi
94
+ - [DataGridPro] Fix infinite loading not reacting when scrolling to the end (#16939) @arminmeh
95
+
96
+ #### `@mui/x-data-grid-premium@7.28.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
97
+
98
+ Same changes as in `@mui/x-data-grid-pro@7.28.0`, plus:
99
+
100
+ - [DataGridPremium] Fix selection propagation issues with controlled state (#16995) @MBilalShafi
101
+
102
+ ### Date and Time Pickers
103
+
104
+ #### `@mui/x-date-pickers@7.28.0`
105
+
106
+ - [l10n] Improve Chinese (zh-CN), (zh-HK) and (zh-TW) locales (#16997) @nusr
107
+
108
+ #### `@mui/x-date-pickers-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
109
+
110
+ Same changes as in `@mui/x-date-pickers@7.28.0`, plus:
111
+
112
+ - [DateRangeCalendar] Do not update the previewed day when hovering a day and the value is empty (#16892) @flaviendelangle
113
+
114
+ ### Charts
115
+
116
+ #### `@mui/x-charts@7.28.0`
117
+
118
+ Internal changes.
119
+
120
+ #### `@mui/x-charts-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
121
+
122
+ Same changes as in `@mui/x-charts@7.28.0`.
123
+
124
+ ### Tree View
125
+
126
+ #### `@mui/x-tree-view@7.28.0`
127
+
128
+ Internal changes.
129
+
130
+ #### `@mui/x-tree-view-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
131
+
132
+ Same changes as in `@mui/x-tree-view@7.28.0`.
133
+
134
+ ### Docs
135
+
136
+ - [docs] Fix link to the lazy loading demo for the DataGrid (#16912) @nusr
137
+
138
+ ### Core
139
+
140
+ - [core] Allow `@mui/material` v7 in dependencies (#16951) @LukasTy
141
+ - [infra] Make tests on React 18 part of pipeline (#16958) @LukasTy
142
+
6
143
  ## 7.27.3
7
144
 
8
145
  _Mar 7, 2025_
package/README.md CHANGED
@@ -15,7 +15,7 @@ This component has the following peer dependencies that you will need to install
15
15
 
16
16
  ```json
17
17
  "peerDependencies": {
18
- "@mui/material": "^5.15.14 || ^6.0.0",
18
+ "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0",
19
19
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
20
20
  "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
21
21
  },
@@ -48,13 +48,10 @@ export const useGridRowGroupingPreProcessors = (apiRef, props) => {
48
48
  const groupingColDefs = getGroupingColDefs(columnsState);
49
49
  let newColumnFields = [];
50
50
  const newColumnsLookup = {};
51
- const prevGroupingfields = [];
52
51
 
53
52
  // We only keep the non-grouping columns
54
53
  columnsState.orderedFields.forEach(field => {
55
- if (isGroupingColumn(field)) {
56
- prevGroupingfields.push(field);
57
- } else {
54
+ if (!isGroupingColumn(field)) {
58
55
  newColumnFields.push(field);
59
56
  newColumnsLookup[field] = columnsState.lookup[field];
60
57
  }
@@ -69,11 +66,10 @@ export const useGridRowGroupingPreProcessors = (apiRef, props) => {
69
66
  }
70
67
  newColumnsLookup[groupingColDef.field] = groupingColDef;
71
68
  });
72
- if (prevGroupingfields.length !== groupingColDefs.length) {
73
- const startIndex = newColumnFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
74
- newColumnFields = [...newColumnFields.slice(0, startIndex), ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields.slice(startIndex)];
75
- columnsState.orderedFields = newColumnFields;
76
- }
69
+ const checkBoxFieldIndex = newColumnFields.findIndex(field => field === GRID_CHECKBOX_SELECTION_FIELD);
70
+ const checkBoxColumn = checkBoxFieldIndex !== -1 ? newColumnFields.splice(checkBoxFieldIndex, 1) : [];
71
+ newColumnFields = [...checkBoxColumn, ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
72
+ columnsState.orderedFields = newColumnFields;
77
73
  columnsState.lookup = newColumnsLookup;
78
74
  return columnsState;
79
75
  }, [getGroupingColDefs]);
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTc0MTMwMjAwMDAwMA==";
3
+ const releaseInfo = "MTc0MjUxNTIwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -55,13 +55,10 @@ const useGridRowGroupingPreProcessors = (apiRef, props) => {
55
55
  const groupingColDefs = getGroupingColDefs(columnsState);
56
56
  let newColumnFields = [];
57
57
  const newColumnsLookup = {};
58
- const prevGroupingfields = [];
59
58
 
60
59
  // We only keep the non-grouping columns
61
60
  columnsState.orderedFields.forEach(field => {
62
- if ((0, _gridRowGroupingUtils.isGroupingColumn)(field)) {
63
- prevGroupingfields.push(field);
64
- } else {
61
+ if (!(0, _gridRowGroupingUtils.isGroupingColumn)(field)) {
65
62
  newColumnFields.push(field);
66
63
  newColumnsLookup[field] = columnsState.lookup[field];
67
64
  }
@@ -76,11 +73,10 @@ const useGridRowGroupingPreProcessors = (apiRef, props) => {
76
73
  }
77
74
  newColumnsLookup[groupingColDef.field] = groupingColDef;
78
75
  });
79
- if (prevGroupingfields.length !== groupingColDefs.length) {
80
- const startIndex = newColumnFields[0] === _xDataGridPro.GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
81
- newColumnFields = [...newColumnFields.slice(0, startIndex), ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields.slice(startIndex)];
82
- columnsState.orderedFields = newColumnFields;
83
- }
76
+ const checkBoxFieldIndex = newColumnFields.findIndex(field => field === _xDataGridPro.GRID_CHECKBOX_SELECTION_FIELD);
77
+ const checkBoxColumn = checkBoxFieldIndex !== -1 ? newColumnFields.splice(checkBoxFieldIndex, 1) : [];
78
+ newColumnFields = [...checkBoxColumn, ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
79
+ columnsState.orderedFields = newColumnFields;
84
80
  columnsState.lookup = newColumnsLookup;
85
81
  return columnsState;
86
82
  }, [getGroupingColDefs]);
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.27.3
2
+ * @mui/x-data-grid-premium v7.28.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -48,13 +48,10 @@ export const useGridRowGroupingPreProcessors = (apiRef, props) => {
48
48
  const groupingColDefs = getGroupingColDefs(columnsState);
49
49
  let newColumnFields = [];
50
50
  const newColumnsLookup = {};
51
- const prevGroupingfields = [];
52
51
 
53
52
  // We only keep the non-grouping columns
54
53
  columnsState.orderedFields.forEach(field => {
55
- if (isGroupingColumn(field)) {
56
- prevGroupingfields.push(field);
57
- } else {
54
+ if (!isGroupingColumn(field)) {
58
55
  newColumnFields.push(field);
59
56
  newColumnsLookup[field] = columnsState.lookup[field];
60
57
  }
@@ -69,11 +66,10 @@ export const useGridRowGroupingPreProcessors = (apiRef, props) => {
69
66
  }
70
67
  newColumnsLookup[groupingColDef.field] = groupingColDef;
71
68
  });
72
- if (prevGroupingfields.length !== groupingColDefs.length) {
73
- const startIndex = newColumnFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
74
- newColumnFields = [...newColumnFields.slice(0, startIndex), ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields.slice(startIndex)];
75
- columnsState.orderedFields = newColumnFields;
76
- }
69
+ const checkBoxFieldIndex = newColumnFields.findIndex(field => field === GRID_CHECKBOX_SELECTION_FIELD);
70
+ const checkBoxColumn = checkBoxFieldIndex !== -1 ? newColumnFields.splice(checkBoxFieldIndex, 1) : [];
71
+ newColumnFields = [...checkBoxColumn, ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
72
+ columnsState.orderedFields = newColumnFields;
77
73
  columnsState.lookup = newColumnsLookup;
78
74
  return columnsState;
79
75
  }, [getGroupingColDefs]);
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.27.3
2
+ * @mui/x-data-grid-premium v7.28.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTc0MTMwMjAwMDAwMA==";
3
+ const releaseInfo = "MTc0MjUxNTIwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-premium",
3
- "version": "7.27.3",
3
+ "version": "7.28.1",
4
4
  "description": "The Premium plan edition of the Data Grid Components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -34,22 +34,22 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@babel/runtime": "^7.25.7",
37
- "@mui/utils": "^5.16.6 || ^6.0.0",
37
+ "@mui/utils": "^5.16.6 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
38
38
  "@types/format-util": "^1.0.4",
39
39
  "clsx": "^2.1.1",
40
40
  "exceljs": "^4.4.0",
41
41
  "prop-types": "^15.8.1",
42
42
  "reselect": "^5.1.1",
43
- "@mui/x-data-grid": "7.27.3",
44
- "@mui/x-data-grid-pro": "7.27.3",
45
- "@mui/x-internals": "7.26.0",
46
- "@mui/x-license": "7.26.0"
43
+ "@mui/x-data-grid": "7.28.1",
44
+ "@mui/x-data-grid-pro": "7.28.1",
45
+ "@mui/x-internals": "7.28.0",
46
+ "@mui/x-license": "7.28.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@emotion/react": "^11.9.0",
50
50
  "@emotion/styled": "^11.8.1",
51
- "@mui/material": "^5.15.14 || ^6.0.0",
52
- "@mui/system": "^5.15.14 || ^6.0.0",
51
+ "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
52
+ "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
53
53
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
54
54
  "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
55
55
  },
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTc0MTMwMjAwMDAwMA==";
9
+ const releaseInfo = "MTc0MjUxNTIwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat