@mui/x-data-grid 7.29.6 → 7.29.8

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,80 @@
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
+ ## v7.29.8
7
+
8
+ _Jul 4, 2025_
9
+
10
+ We'd like to extend a big thank you to the 3 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🐞 Bugfixes
13
+
14
+ Special thanks go out to the community members for their valuable contributions:
15
+ @sai6855
16
+
17
+ The following are all team members who have contributed to this release:
18
+ @bernardobelchior, @michelengelen
19
+
20
+ ### Data Grid
21
+
22
+ #### `@mui/x-data-grid@7.29.8`
23
+
24
+ - [DataGrid] Fix `apiRef` not being passed on `onCellClick` params (#17528) @sai6855
25
+
26
+ #### `@mui/x-data-grid-pro@7.29.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
27
+
28
+ Same changes as in `@mui/x-data-grid@7.29.8`.
29
+
30
+ #### `@mui/x-data-grid-premium@7.29.8` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")
31
+
32
+ Same changes as in `@mui/x-data-grid-pro@7.29.8`.
33
+
34
+ ### Miscellaneous
35
+
36
+ - [infra] Add `test_package` to fix CI (#18553) @bernardobelchior
37
+ - [infra] Aligned preparation script with master version (#18672) @michelengelen
38
+ - [infra] Updates release script to fetch latest major version from upstream (#18649) @michelengelen
39
+
40
+ ## v7.29.7
41
+
42
+ <!-- generated comparing v7.29.6..v7.x -->
43
+
44
+ _Jun 26, 2025_
45
+
46
+ We'd like to extend a big thank you to the 4 contributors who made this release possible.
47
+
48
+ Special thanks go out to the community members for their valuable contributions:
49
+ @alisasanib
50
+
51
+ Following are all team members who have contributed to this release:
52
+ @mapache-salvaje, @arminmeh, @michelengelen
53
+
54
+ ### Data Grid
55
+
56
+ #### `@mui/x-data-grid@7.29.7`
57
+
58
+ Internal changes.
59
+
60
+ #### `@mui/x-data-grid-pro@7.29.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
61
+
62
+ Same changes as in `@mui/x-data-grid@7.29.7`, plus:
63
+
64
+ - [DataGridPro] Fix pinned columns order in column management (#18053) @alisasanib
65
+
66
+ #### `@mui/x-data-grid-premium@7.29.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
67
+
68
+ Same changes as in `@mui/x-data-grid-pro@7.29.7`.
69
+
70
+ ### Docs
71
+
72
+ - [docs] Revise the Row Grouping doc (#17494) @mapache-salvaje
73
+ - [docs] Document `GridRenderContext` (#18501) @arminmeh
74
+ - [docs] Prevent stale rows from appearing on sort and filter change in the lazy loading demo (#18463) @arminmeh
75
+
76
+ ### Miscellaneous
77
+
78
+ - [infra] Add automated release PR creation script (#18450) @michelengelen
79
+
6
80
  ## 7.29.6
7
81
 
8
82
  _Jun 6, 2025_
@@ -41,6 +41,15 @@ export declare const gridVisibleColumnFieldsSelector: import("../../..").OutputS
41
41
  * @category Visible Columns
42
42
  */
43
43
  export declare const gridPinnedColumnsSelector: (state: GridStateCommunity) => GridPinnedColumnFields;
44
+ /**
45
+ * Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
46
+ * @category Pinned Columns
47
+ * @ignore - Do not document
48
+ */
49
+ export declare const gridExistingPinnedColumnSelector: import("../../..").OutputSelector<GridStateCommunity, {
50
+ left: string[];
51
+ right: string[];
52
+ }>;
44
53
  /**
45
54
  * Get the visible pinned columns.
46
55
  * @category Visible Columns
@@ -51,19 +51,26 @@ export const gridVisibleColumnFieldsSelector = createSelectorMemoized(gridVisibl
51
51
  */
52
52
  export const gridPinnedColumnsSelector = state => state.pinnedColumns;
53
53
 
54
+ /**
55
+ * Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
56
+ * @category Pinned Columns
57
+ * @ignore - Do not document
58
+ */
59
+ export const gridExistingPinnedColumnSelector = createSelectorMemoized(gridPinnedColumnsSelector, gridColumnFieldsSelector, gridIsRtlSelector, (model, orderedFields, isRtl) => filterMissingColumns(model, orderedFields, isRtl));
60
+
54
61
  /**
55
62
  * Get the visible pinned columns.
56
63
  * @category Visible Columns
57
64
  */
58
65
  export const gridVisiblePinnedColumnDefinitionsSelector = createSelectorMemoized(gridColumnsStateSelector, gridPinnedColumnsSelector, gridVisibleColumnFieldsSelector, gridIsRtlSelector, (columnsState, model, visibleColumnFields, isRtl) => {
59
- const visiblePinnedFields = filterVisibleColumns(model, visibleColumnFields, isRtl);
66
+ const visiblePinnedFields = filterMissingColumns(model, visibleColumnFields, isRtl);
60
67
  const visiblePinnedColumns = {
61
68
  left: visiblePinnedFields.left.map(field => columnsState.lookup[field]),
62
69
  right: visiblePinnedFields.right.map(field => columnsState.lookup[field])
63
70
  };
64
71
  return visiblePinnedColumns;
65
72
  });
66
- function filterVisibleColumns(pinnedColumns, columns, invert) {
73
+ function filterMissingColumns(pinnedColumns, columns, invert) {
67
74
  if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
68
75
  return EMPTY_PINNED_COLUMN_FIELDS;
69
76
  }
@@ -1,2 +1,2 @@
1
- export * from './gridColumnsSelector';
1
+ export { gridColumnsStateSelector, gridColumnFieldsSelector, gridColumnLookupSelector, gridColumnVisibilityModelSelector, gridColumnDefinitionsSelector, gridVisibleColumnDefinitionsSelector, gridVisibleColumnFieldsSelector, gridPinnedColumnsSelector, gridVisiblePinnedColumnDefinitionsSelector, gridColumnPositionsSelector, gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector, gridHasColSpanSelector, } from './gridColumnsSelector';
2
2
  export * from './gridColumnsInterfaces';
@@ -1,2 +1,2 @@
1
- export * from "./gridColumnsSelector.js";
1
+ export { gridColumnsStateSelector, gridColumnFieldsSelector, gridColumnLookupSelector, gridColumnVisibilityModelSelector, gridColumnDefinitionsSelector, gridVisibleColumnDefinitionsSelector, gridVisibleColumnFieldsSelector, gridPinnedColumnsSelector, gridVisiblePinnedColumnDefinitionsSelector, gridColumnPositionsSelector, gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector, gridHasColSpanSelector } from "./gridColumnsSelector.js";
2
2
  export * from "./gridColumnsInterfaces.js";
@@ -51,7 +51,7 @@ export function useGridParamsApi(apiRef, props) {
51
51
  value,
52
52
  formattedValue: value,
53
53
  isEditable: false,
54
- api: null
54
+ api: apiRef.current
55
55
  };
56
56
  if (colDef && colDef.valueFormatter) {
57
57
  params.formattedValue = colDef.valueFormatter(value, row, colDef, apiRef);
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.29.6
2
+ * @mui/x-data-grid v7.29.8
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -2,6 +2,10 @@ export interface GridColumnsRenderContext {
2
2
  firstColumnIndex: number;
3
3
  lastColumnIndex: number;
4
4
  }
5
+ /**
6
+ * Provides the current render context range for rows and columns.
7
+ * End index is exclusive - [firstRowIndex, lastRowIndex) and [firstColumnIndex, lastColumnIndex)
8
+ */
5
9
  export interface GridRenderContext extends GridColumnsRenderContext {
6
10
  firstRowIndex: number;
7
11
  lastRowIndex: number;
@@ -51,19 +51,26 @@ export const gridVisibleColumnFieldsSelector = createSelectorMemoized(gridVisibl
51
51
  */
52
52
  export const gridPinnedColumnsSelector = state => state.pinnedColumns;
53
53
 
54
+ /**
55
+ * Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
56
+ * @category Pinned Columns
57
+ * @ignore - Do not document
58
+ */
59
+ export const gridExistingPinnedColumnSelector = createSelectorMemoized(gridPinnedColumnsSelector, gridColumnFieldsSelector, gridIsRtlSelector, (model, orderedFields, isRtl) => filterMissingColumns(model, orderedFields, isRtl));
60
+
54
61
  /**
55
62
  * Get the visible pinned columns.
56
63
  * @category Visible Columns
57
64
  */
58
65
  export const gridVisiblePinnedColumnDefinitionsSelector = createSelectorMemoized(gridColumnsStateSelector, gridPinnedColumnsSelector, gridVisibleColumnFieldsSelector, gridIsRtlSelector, (columnsState, model, visibleColumnFields, isRtl) => {
59
- const visiblePinnedFields = filterVisibleColumns(model, visibleColumnFields, isRtl);
66
+ const visiblePinnedFields = filterMissingColumns(model, visibleColumnFields, isRtl);
60
67
  const visiblePinnedColumns = {
61
68
  left: visiblePinnedFields.left.map(field => columnsState.lookup[field]),
62
69
  right: visiblePinnedFields.right.map(field => columnsState.lookup[field])
63
70
  };
64
71
  return visiblePinnedColumns;
65
72
  });
66
- function filterVisibleColumns(pinnedColumns, columns, invert) {
73
+ function filterMissingColumns(pinnedColumns, columns, invert) {
67
74
  if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
68
75
  return EMPTY_PINNED_COLUMN_FIELDS;
69
76
  }
@@ -1,2 +1,2 @@
1
- export * from "./gridColumnsSelector.js";
1
+ export { gridColumnsStateSelector, gridColumnFieldsSelector, gridColumnLookupSelector, gridColumnVisibilityModelSelector, gridColumnDefinitionsSelector, gridVisibleColumnDefinitionsSelector, gridVisibleColumnFieldsSelector, gridPinnedColumnsSelector, gridVisiblePinnedColumnDefinitionsSelector, gridColumnPositionsSelector, gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector, gridHasColSpanSelector } from "./gridColumnsSelector.js";
2
2
  export * from "./gridColumnsInterfaces.js";
@@ -51,7 +51,7 @@ export function useGridParamsApi(apiRef, props) {
51
51
  value,
52
52
  formattedValue: value,
53
53
  isEditable: false,
54
- api: null
54
+ api: apiRef.current
55
55
  };
56
56
  if (colDef && colDef.valueFormatter) {
57
57
  params.formattedValue = colDef.valueFormatter(value, row, colDef, apiRef);
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.29.6
2
+ * @mui/x-data-grid v7.29.8
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
6
+ exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridExistingPinnedColumnSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
9
9
  var _gridCoreSelector = require("../../core/gridCoreSelector");
@@ -57,20 +57,27 @@ const gridVisibleColumnFieldsSelector = exports.gridVisibleColumnFieldsSelector
57
57
  */
58
58
  const gridPinnedColumnsSelector = state => state.pinnedColumns;
59
59
 
60
+ /**
61
+ * Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
62
+ * @category Pinned Columns
63
+ * @ignore - Do not document
64
+ */
65
+ exports.gridPinnedColumnsSelector = gridPinnedColumnsSelector;
66
+ const gridExistingPinnedColumnSelector = exports.gridExistingPinnedColumnSelector = (0, _createSelector.createSelectorMemoized)(gridPinnedColumnsSelector, gridColumnFieldsSelector, _gridCoreSelector.gridIsRtlSelector, (model, orderedFields, isRtl) => filterMissingColumns(model, orderedFields, isRtl));
67
+
60
68
  /**
61
69
  * Get the visible pinned columns.
62
70
  * @category Visible Columns
63
71
  */
64
- exports.gridPinnedColumnsSelector = gridPinnedColumnsSelector;
65
72
  const gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisiblePinnedColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnsStateSelector, gridPinnedColumnsSelector, gridVisibleColumnFieldsSelector, _gridCoreSelector.gridIsRtlSelector, (columnsState, model, visibleColumnFields, isRtl) => {
66
- const visiblePinnedFields = filterVisibleColumns(model, visibleColumnFields, isRtl);
73
+ const visiblePinnedFields = filterMissingColumns(model, visibleColumnFields, isRtl);
67
74
  const visiblePinnedColumns = {
68
75
  left: visiblePinnedFields.left.map(field => columnsState.lookup[field]),
69
76
  right: visiblePinnedFields.right.map(field => columnsState.lookup[field])
70
77
  };
71
78
  return visiblePinnedColumns;
72
79
  });
73
- function filterVisibleColumns(pinnedColumns, columns, invert) {
80
+ function filterMissingColumns(pinnedColumns, columns, invert) {
74
81
  if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
75
82
  return _gridColumnsInterfaces.EMPTY_PINNED_COLUMN_FIELDS;
76
83
  }
@@ -3,20 +3,104 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _gridColumnsSelector = require("./gridColumnsSelector");
7
- Object.keys(_gridColumnsSelector).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _gridColumnsSelector[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _gridColumnsSelector[key];
14
- }
15
- });
6
+ var _exportNames = {
7
+ gridColumnsStateSelector: true,
8
+ gridColumnFieldsSelector: true,
9
+ gridColumnLookupSelector: true,
10
+ gridColumnVisibilityModelSelector: true,
11
+ gridColumnDefinitionsSelector: true,
12
+ gridVisibleColumnDefinitionsSelector: true,
13
+ gridVisibleColumnFieldsSelector: true,
14
+ gridPinnedColumnsSelector: true,
15
+ gridVisiblePinnedColumnDefinitionsSelector: true,
16
+ gridColumnPositionsSelector: true,
17
+ gridFilterableColumnDefinitionsSelector: true,
18
+ gridFilterableColumnLookupSelector: true,
19
+ gridHasColSpanSelector: true
20
+ };
21
+ Object.defineProperty(exports, "gridColumnDefinitionsSelector", {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _gridColumnsSelector.gridColumnDefinitionsSelector;
25
+ }
26
+ });
27
+ Object.defineProperty(exports, "gridColumnFieldsSelector", {
28
+ enumerable: true,
29
+ get: function () {
30
+ return _gridColumnsSelector.gridColumnFieldsSelector;
31
+ }
32
+ });
33
+ Object.defineProperty(exports, "gridColumnLookupSelector", {
34
+ enumerable: true,
35
+ get: function () {
36
+ return _gridColumnsSelector.gridColumnLookupSelector;
37
+ }
38
+ });
39
+ Object.defineProperty(exports, "gridColumnPositionsSelector", {
40
+ enumerable: true,
41
+ get: function () {
42
+ return _gridColumnsSelector.gridColumnPositionsSelector;
43
+ }
16
44
  });
45
+ Object.defineProperty(exports, "gridColumnVisibilityModelSelector", {
46
+ enumerable: true,
47
+ get: function () {
48
+ return _gridColumnsSelector.gridColumnVisibilityModelSelector;
49
+ }
50
+ });
51
+ Object.defineProperty(exports, "gridColumnsStateSelector", {
52
+ enumerable: true,
53
+ get: function () {
54
+ return _gridColumnsSelector.gridColumnsStateSelector;
55
+ }
56
+ });
57
+ Object.defineProperty(exports, "gridFilterableColumnDefinitionsSelector", {
58
+ enumerable: true,
59
+ get: function () {
60
+ return _gridColumnsSelector.gridFilterableColumnDefinitionsSelector;
61
+ }
62
+ });
63
+ Object.defineProperty(exports, "gridFilterableColumnLookupSelector", {
64
+ enumerable: true,
65
+ get: function () {
66
+ return _gridColumnsSelector.gridFilterableColumnLookupSelector;
67
+ }
68
+ });
69
+ Object.defineProperty(exports, "gridHasColSpanSelector", {
70
+ enumerable: true,
71
+ get: function () {
72
+ return _gridColumnsSelector.gridHasColSpanSelector;
73
+ }
74
+ });
75
+ Object.defineProperty(exports, "gridPinnedColumnsSelector", {
76
+ enumerable: true,
77
+ get: function () {
78
+ return _gridColumnsSelector.gridPinnedColumnsSelector;
79
+ }
80
+ });
81
+ Object.defineProperty(exports, "gridVisibleColumnDefinitionsSelector", {
82
+ enumerable: true,
83
+ get: function () {
84
+ return _gridColumnsSelector.gridVisibleColumnDefinitionsSelector;
85
+ }
86
+ });
87
+ Object.defineProperty(exports, "gridVisibleColumnFieldsSelector", {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _gridColumnsSelector.gridVisibleColumnFieldsSelector;
91
+ }
92
+ });
93
+ Object.defineProperty(exports, "gridVisiblePinnedColumnDefinitionsSelector", {
94
+ enumerable: true,
95
+ get: function () {
96
+ return _gridColumnsSelector.gridVisiblePinnedColumnDefinitionsSelector;
97
+ }
98
+ });
99
+ var _gridColumnsSelector = require("./gridColumnsSelector");
17
100
  var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
18
101
  Object.keys(_gridColumnsInterfaces).forEach(function (key) {
19
102
  if (key === "default" || key === "__esModule") return;
103
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
104
  if (key in exports && exports[key] === _gridColumnsInterfaces[key]) return;
21
105
  Object.defineProperty(exports, key, {
22
106
  enumerable: true,
@@ -60,7 +60,7 @@ function useGridParamsApi(apiRef, props) {
60
60
  value,
61
61
  formattedValue: value,
62
62
  isEditable: false,
63
- api: null
63
+ api: apiRef.current
64
64
  };
65
65
  if (colDef && colDef.valueFormatter) {
66
66
  params.formattedValue = colDef.valueFormatter(value, row, colDef, apiRef);
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.29.6
2
+ * @mui/x-data-grid v7.29.8
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": "7.29.6",
3
+ "version": "7.29.8",
4
4
  "description": "The Community plan edition of the Data Grid components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",