@mui/x-data-grid-pro 8.15.0 → 8.17.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +207 -0
  2. package/DataGridPro/DataGridPro.js +2 -1
  3. package/DataGridPro/useDataGridProComponent.js +1 -1
  4. package/components/GridColumnMenuPinningItem.d.ts +1 -2
  5. package/components/GridDataSourceTreeDataGroupingCell.d.ts +1 -2
  6. package/components/GridDetailPanel.d.ts +1 -1
  7. package/components/GridDetailPanelToggleCell.d.ts +1 -2
  8. package/components/GridPinnedRows.d.ts +1 -2
  9. package/components/GridProColumnMenu.d.ts +1 -2
  10. package/components/GridProColumnMenu.js +0 -2
  11. package/components/GridRowReorderCell.d.ts +2 -3
  12. package/components/GridTreeDataGroupingCell.d.ts +1 -2
  13. package/components/headerFiltering/GridHeaderFilterClearButton.d.ts +1 -2
  14. package/components/headerFiltering/GridHeaderFilterClearButton.js +0 -2
  15. package/components/headerFiltering/GridHeaderFilterMenu.d.ts +1 -2
  16. package/components/headerFiltering/GridHeaderFilterMenuContainer.d.ts +1 -1
  17. package/esm/DataGridPro/DataGridPro.js +3 -2
  18. package/esm/DataGridPro/useDataGridProComponent.js +1 -1
  19. package/esm/components/GridColumnMenuPinningItem.d.ts +1 -2
  20. package/esm/components/GridDataSourceTreeDataGroupingCell.d.ts +1 -2
  21. package/esm/components/GridDetailPanel.d.ts +1 -1
  22. package/esm/components/GridDetailPanelToggleCell.d.ts +1 -2
  23. package/esm/components/GridPinnedRows.d.ts +1 -2
  24. package/esm/components/GridProColumnMenu.d.ts +1 -2
  25. package/esm/components/GridProColumnMenu.js +0 -1
  26. package/esm/components/GridRowReorderCell.d.ts +2 -3
  27. package/esm/components/GridTreeDataGroupingCell.d.ts +1 -2
  28. package/esm/components/headerFiltering/GridHeaderFilterClearButton.d.ts +1 -2
  29. package/esm/components/headerFiltering/GridHeaderFilterClearButton.js +0 -1
  30. package/esm/components/headerFiltering/GridHeaderFilterMenu.d.ts +1 -2
  31. package/esm/components/headerFiltering/GridHeaderFilterMenuContainer.d.ts +1 -1
  32. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +3 -3
  33. package/esm/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +0 -1
  34. package/esm/index.js +1 -1
  35. package/esm/internals/index.d.ts +1 -0
  36. package/esm/internals/index.js +1 -0
  37. package/esm/material/icons.d.ts +0 -1
  38. package/esm/material/icons.js +0 -1
  39. package/esm/utils/tree/utils.d.ts +2 -1
  40. package/esm/utils/tree/utils.js +8 -1
  41. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +3 -3
  42. package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +0 -2
  43. package/index.js +1 -1
  44. package/internals/index.d.ts +1 -0
  45. package/internals/index.js +16 -8
  46. package/material/icons.d.ts +0 -1
  47. package/material/icons.js +0 -2
  48. package/package.json +4 -4
  49. package/utils/tree/utils.d.ts +2 -1
  50. package/utils/tree/utils.js +8 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,213 @@
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.17.0
9
+
10
+ _Nov 5, 2025_
11
+
12
+ We'd like to extend a big thank you to the 13 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - Add `colorGetter` prop to cartesian charts series
15
+
16
+ <img width="400" alt="Image" src="https://github.com/user-attachments/assets/d8b1263f-794e-4939-b17e-87350fdd1746" />
17
+
18
+ - 🌎 Add Catalan (ca-ES) locale on the Data Grid
19
+ - 🌎 Add Norwegian Bokmål (nb-NO) locale on the Charts
20
+ - 🐞 Bugfixes
21
+ - 📚 Documentation improvements
22
+
23
+ Special thanks go out to these community members for their valuable contributions:
24
+ @frncesc, @Methuselah96, @samuelwalk, @htollefsen
25
+
26
+ The following team members contributed to this release:
27
+ @alexfauquette, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @mnajdova, @rita-codes, @arminmeh, @brijeshb42
28
+
29
+ ### Data Grid
30
+
31
+ #### `@mui/x-data-grid@8.17.0`
32
+
33
+ - [DataGrid] Stop event propagation on data grid action buttons (GridActionsCellItem) (#19513) @Copilot
34
+ - [DataGrid] Update cell editable state if `editable` prop is updated in the column definition (#20147) @arminmeh
35
+ - [DataGrid] Wait for external model updates before resetting pagination after sort/filter (#20162) @arminmeh
36
+ - [l10n] Add Catalan (ca-ES) locale (#20154) @frncesc
37
+ - [l10n] Improve Arabic (ar-SD) locale (#20185) @samuelwalk
38
+
39
+ #### `@mui/x-data-grid-pro@8.17.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
40
+
41
+ Same changes as in `@mui/x-data-grid@8.17.0`.
42
+
43
+ #### `@mui/x-data-grid-premium@8.17.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.17.0`.
46
+
47
+ ### Date and Time Pickers
48
+
49
+ #### `@mui/x-date-pickers@8.17.0`
50
+
51
+ Internal changes.
52
+
53
+ #### `@mui/x-date-pickers-pro@8.17.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.17.0`.
56
+
57
+ ### Charts
58
+
59
+ #### `@mui/x-charts@8.17.0`
60
+
61
+ - [charts] Add `barLabel` to bar series. Deprecate `barLabel` in `BarPlot`. (#20184) @bernardobelchior
62
+ - [charts] Add series color callback (#20084) @bernardobelchior
63
+ - [charts] Expose `ChartsSurface` classes (#20180) @bernardobelchior
64
+ - [charts] Fix chart cut off when inside `overflow: scroll` container (#20182) @bernardobelchior
65
+ - [charts] Fix tick label overflow on multiple axes and series demo (#20152) @bernardobelchior
66
+ - [charts] Organize series config (#20155) @bernardobelchior
67
+ - [charts] Use selectors from `@mui/x-internals` (#20052) @alexfauquette
68
+ - [charts] Use store from `@mui/x-internals` (#20121) @alexfauquette
69
+ - [charts] Add `useDataset` hook (#20205) @JCQuintas
70
+ - [l10n] Add Norwegian Bokmål (nb-NO) locale (#20197) @htollefsen
71
+
72
+ #### `@mui/x-charts-pro@8.17.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
73
+
74
+ Same changes as in `@mui/x-charts@8.17.0`, plus:
75
+
76
+ - [charts-pro] Fix zoom pan issue when controlled (#20163) @JCQuintas
77
+
78
+ #### `@mui/x-charts-premium@8.17.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
79
+
80
+ Same changes as in `@mui/x-charts-pro@8.17.0`.
81
+
82
+ ### Tree View
83
+
84
+ #### `@mui/x-tree-view@8.17.0`
85
+
86
+ - [tree view] Accept read only arrays in `expandedItems` prop (#20181) @Methuselah96
87
+ - [tree view] Use `aria-checked` instead of `aria-selected` on items (#19851) @flaviendelangle
88
+
89
+ #### `@mui/x-tree-view-pro@8.17.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-tree-view@8.17.0`.
92
+
93
+ ### Codemod
94
+
95
+ #### `@mui/x-codemod@8.17.0`
96
+
97
+ Internal changes.
98
+
99
+ ### Docs
100
+
101
+ - [docs] Fix focus issues in the action column demo (#20178) @arminmeh
102
+ - [docs] Remove hidden Tree View headless page (#20119) @flaviendelangle
103
+ - [docs] Fix some external redirects (#20211) @Janpot
104
+
105
+ ### Core
106
+
107
+ - [code-infra] Fix cci job timeout due to buffered test output (#20193) @Janpot
108
+ - [code-infra] Fix publish workflow (#20140) @bernardobelchior
109
+ - [code-infra] Increase JSDOM test parallelism (#20179) @Janpot
110
+ - [code-infra] Remove React import requirement for jsx (#20144) @brijeshb42
111
+ - [code-infra] Replace `getInitialProps` with `getStaticProps` (#20192) @Janpot
112
+ - [code-infra] git-ignore next-env.d.ts (#20177) @Janpot
113
+ - [code-infra] Stabilize screenshot testing (#19868) @Janpot
114
+
115
+ ## 8.16.0
116
+
117
+ _Oct 29, 2025_
118
+
119
+ We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
120
+
121
+ - 🖌️ Add `brush` zoom interaction to charts
122
+ - 🔁 [Server-side update](https://mui.com/x/react-data-grid/server-side-data/#updating-server-side-data) in a grid with tree data/row grouping and aggregation will trigger re-fetch for all parent levels of that row to update aggregated values. See the [demo](https://mui.com/x/react-data-grid/server-side-data/aggregation/#usage-with-tree-data).
123
+
124
+ Special thanks go out to the community members for their valuable contributions:
125
+ @felix-wg, @frncesc, @sai6855
126
+
127
+ The following are all team members who have contributed to this release:
128
+ @alexfauquette, @arminmeh, @bernardobelchior, @brijeshb42, @flaviendelangle, @JCQuintas, @MBilalShafi, @mbrookes, @michelengelen, @noraleonte, @rita-codes
129
+
130
+ ### Data Grid
131
+
132
+ #### `@mui/x-data-grid@8.16.0`
133
+
134
+ - [DataGrid] Ignore `Ctrl+A` key combination for the row selection in the community version (#20110) @felix-wg
135
+ - [DataGrid][l10n] Improve Spanish (es-ES) locale (#20134) @frncesc
136
+
137
+ #### `@mui/x-data-grid-pro@8.16.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
138
+
139
+ Same changes as in `@mui/x-data-grid@8.16.0`, plus:
140
+
141
+ - [DataGridPro] Add explicit return type to `getVisibleRowsLookup()` to fix the build with `tsc` (#20116) @arminmeh
142
+ - [DataGridPro] Retain the expansion state with expansion configuration props (#20126) @MBilalShafi
143
+
144
+ #### `@mui/x-data-grid-premium@8.16.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
145
+
146
+ Same changes as in `@mui/x-data-grid-pro@8.16.0`, plus:
147
+
148
+ - [DataGridPremium] Export and restore chart integration state (#20079) @arminmeh
149
+ - [DataGridPremium] Fix grouping column `valueFormatter()` crash (#20070) @sai6855
150
+ - [DataGridPremium] Refetch aggregation data after row update with server-side aggregation (#20039) @arminmeh
151
+
152
+ ### Date and Time Pickers
153
+
154
+ #### `@mui/x-date-pickers@8.16.0`
155
+
156
+ - [pickers] Prevent blur event propagation on individual sections (#19825) @michelengelen
157
+
158
+ #### `@mui/x-date-pickers-pro@8.16.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
159
+
160
+ Same changes as in `@mui/x-date-pickers@8.16.0`.
161
+
162
+ ### Charts
163
+
164
+ #### `@mui/x-charts@8.16.0`
165
+
166
+ - [charts] Allow tooltip to anchor items (#19954) @alexfauquette
167
+ - [charts] Fix behavior of grouped axis (#20118) @JCQuintas
168
+ - [charts] Move scale symlog inside scales (#20137) @JCQuintas
169
+ - [charts] Fix AreaChartConnectNulls demo height not correctly resizing (#20078) @sai6855
170
+ - [charts] Fix charts resizing overflow (#20080) @alexfauquette
171
+ - [charts] Fix tooltip not showing on first render (#20115) @bernardobelchior
172
+ - [charts] Handle `undefined` id and color in series (#20087) @bernardobelchior
173
+ - [charts] Remove `useMemo` from isZoomOn*Enabled and isPanOn*Enabled hooks (#20132) @Copilot
174
+ - [charts] Use static data for perf (#20072) @JCQuintas
175
+ - [charts] Move scale symlog inside scales (#20137) @JCQuintas
176
+
177
+ #### `@mui/x-charts-pro@8.16.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
178
+
179
+ Same changes as in `@mui/x-charts@8.16.0`, plus:
180
+
181
+ - [charts-pro] Add `brush` zoom interaction (#19899) @JCQuintas
182
+ - [charts-pro] Add sankey performance check (#20069) @JCQuintas
183
+
184
+ #### `@mui/x-charts-premium@8.16.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
185
+
186
+ Same changes as in `@mui/x-charts-pro@8.16.0`.
187
+
188
+ ### Tree View
189
+
190
+ #### `@mui/x-tree-view@8.16.0`
191
+
192
+ Internal changes.
193
+
194
+ #### `@mui/x-tree-view-pro@8.16.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
195
+
196
+ Same changes as in `@mui/x-tree-view@8.16.0`.
197
+
198
+ ### Codemod
199
+
200
+ #### `@mui/x-codemod@8.16.0`
201
+
202
+ Internal changes.
203
+
204
+ ### Core
205
+
206
+ - [code-infra] Setup eslint compat plugin (#20105) @brijeshb42
207
+ - [code-infra] Improve store types (#20129) @JCQuintas
208
+ - [docs] Update the callout in `rows` prop documentation (#20127) @MBilalShafi
209
+ - [docs-infra] Refine changelog contributor acknowledgment messages (#20123) @mbrookes
210
+
211
+ ### Miscellaneous
212
+
213
+ - [x-telemetry] Skip telemetry tests on browser mode (#20122) @bernardobelchior
214
+
8
215
  ## 8.15.0
9
216
 
10
217
  _Oct 23, 2025_
@@ -28,11 +28,12 @@ const configuration = {
28
28
  useGridRowAriaAttributes: _useGridRowAriaAttributes.useGridRowAriaAttributesPro,
29
29
  useGridRowsOverridableMethods: _internals.useGridRowsOverridableMethods,
30
30
  useGridParamsOverridableMethods: _internals.useGridParamsOverridableMethods,
31
+ useIsCellEditable: _internals.useIsCellEditable,
31
32
  useCellAggregationResult: () => null,
32
33
  useFilterValueGetter: apiRef => apiRef.current.getRowValue
33
34
  }
34
35
  };
35
- const releaseInfo = "MTc2MTE3NzYwMDAwMA==";
36
+ const releaseInfo = "MTc2MjMwMDgwMDAwMA==";
36
37
  const watermark = /*#__PURE__*/(0, _jsxRuntime.jsx)(_xLicense.Watermark, {
37
38
  packageName: "x-data-grid-pro",
38
39
  releaseInfo: releaseInfo
@@ -93,7 +93,7 @@ const useDataGridProComponent = (apiRef, props, configuration) => {
93
93
  (0, _useGridDetailPanel.useGridDetailPanel)(apiRef, props);
94
94
  (0, _internals.useGridColumnSpanning)(apiRef);
95
95
  (0, _internals.useGridColumnGrouping)(apiRef, props);
96
- (0, _internals.useGridEditing)(apiRef, props);
96
+ (0, _internals.useGridEditing)(apiRef, props, configuration);
97
97
  (0, _internals.useGridFocus)(apiRef, props);
98
98
  (0, _internals.useGridPreferencesPanel)(apiRef, props);
99
99
  (0, _internals.useGridFilter)(apiRef, props, configuration);
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridColumnMenuItemProps } from '@mui/x-data-grid';
3
- declare function GridColumnMenuPinningItem(props: GridColumnMenuItemProps): React.JSX.Element | null;
2
+ declare function GridColumnMenuPinningItem(props: GridColumnMenuItemProps): import("react/jsx-runtime").JSX.Element | null;
4
3
  declare namespace GridColumnMenuPinningItem {
5
4
  var propTypes: any;
6
5
  }
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams, GridDataSourceGroupNode } from '@mui/x-data-grid';
3
2
  interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, any, GridDataSourceGroupNode> {
4
3
  hideDescendantCount?: boolean;
@@ -8,5 +7,5 @@ interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, a
8
7
  */
9
8
  offsetMultiplier?: number;
10
9
  }
11
- export declare function GridDataSourceTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): React.JSX.Element;
10
+ export declare function GridDataSourceTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -10,5 +10,5 @@ interface GridDetailPanelProps extends Pick<React.HTMLAttributes<HTMLDivElement>
10
10
  */
11
11
  height: number | 'auto';
12
12
  }
13
- declare function GridDetailPanel(props: GridDetailPanelProps): React.JSX.Element | null;
13
+ declare function GridDetailPanel(props: GridDetailPanelProps): import("react/jsx-runtime").JSX.Element | null;
14
14
  export { GridDetailPanel };
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams } from '@mui/x-data-grid';
3
- declare function GridDetailPanelToggleCell(props: GridRenderCellParams): React.JSX.Element;
2
+ declare function GridDetailPanelToggleCell(props: GridRenderCellParams): import("react/jsx-runtime").JSX.Element;
4
3
  declare namespace GridDetailPanelToggleCell {
5
4
  var propTypes: any;
6
5
  }
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridPinnedRowsProps } from '@mui/x-data-grid/internals';
3
2
  export declare function GridPinnedRows({
4
3
  position,
5
4
  virtualScroller
6
- }: GridPinnedRowsProps): React.JSX.Element | null;
5
+ }: GridPinnedRowsProps): import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridColumnMenuProps } from '@mui/x-data-grid';
3
2
  import { GridColumnMenuPinningItem } from "./GridColumnMenuPinningItem.js";
4
3
  export declare const GRID_COLUMN_MENU_SLOTS_PRO: {
@@ -21,4 +20,4 @@ export declare const GRID_COLUMN_MENU_SLOT_PROPS_PRO: {
21
20
  displayOrder: number;
22
21
  };
23
22
  };
24
- export declare const GridProColumnMenu: React.ForwardRefExoticComponent<GridColumnMenuProps> | React.ForwardRefExoticComponent<GridColumnMenuProps & React.RefAttributes<HTMLUListElement>>;
23
+ export declare const GridProColumnMenu: import("react").ForwardRefExoticComponent<GridColumnMenuProps> | import("react").ForwardRefExoticComponent<GridColumnMenuProps & import("react").RefAttributes<HTMLUListElement>>;
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.GridProColumnMenu = exports.GRID_COLUMN_MENU_SLOT_PROPS_PRO = exports.GRID_COLUMN_MENU_SLOTS_PRO = void 0;
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var React = _interopRequireWildcard(require("react"));
11
9
  var _xDataGrid = require("@mui/x-data-grid");
12
10
  var _forwardRef = require("@mui/x-internals/forwardRef");
13
11
  var _GridColumnMenuPinningItem = require("./GridColumnMenuPinningItem");
@@ -1,8 +1,7 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams } from '@mui/x-data-grid';
3
- declare function GridRowReorderCell(params: GridRenderCellParams): React.JSX.Element | null;
2
+ declare function GridRowReorderCell(params: GridRenderCellParams): import("react/jsx-runtime").JSX.Element | null;
4
3
  declare namespace GridRowReorderCell {
5
4
  var propTypes: any;
6
5
  }
7
6
  export { GridRowReorderCell };
8
- export declare const renderRowReorderCell: (params: GridRenderCellParams) => React.JSX.Element | null;
7
+ export declare const renderRowReorderCell: (params: GridRenderCellParams) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams, GridGroupNode } from '@mui/x-data-grid';
3
2
  interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, any, GridGroupNode> {
4
3
  hideDescendantCount?: boolean;
@@ -8,7 +7,7 @@ interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, a
8
7
  */
9
8
  offsetMultiplier?: number;
10
9
  }
11
- declare function GridTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): React.JSX.Element;
10
+ declare function GridTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): import("react/jsx-runtime").JSX.Element;
12
11
  declare namespace GridTreeDataGroupingCell {
13
12
  var propTypes: any;
14
13
  }
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridSlotProps } from '@mui/x-data-grid';
3
2
  type BaseIconButtonProps = GridSlotProps['baseIconButton'];
4
3
  interface GridHeaderFilterClearIconProps extends BaseIconButtonProps {}
5
- declare function GridHeaderFilterClearButton(props: GridHeaderFilterClearIconProps): React.JSX.Element;
4
+ declare function GridHeaderFilterClearButton(props: GridHeaderFilterClearIconProps): import("react/jsx-runtime").JSX.Element;
6
5
  export { GridHeaderFilterClearButton };
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.GridHeaderFilterClearButton = GridHeaderFilterClearButton;
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var React = _interopRequireWildcard(require("react"));
11
9
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
12
10
  var _jsxRuntime = require("react/jsx-runtime");
13
11
  function GridHeaderFilterClearButton(props) {
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridFilterOperator, GridFilterItem, GridColDef } from '@mui/x-data-grid';
3
2
  interface GridHeaderFilterMenuProps {
4
3
  field: GridColDef['field'];
@@ -23,7 +22,7 @@ declare function GridHeaderFilterMenu({
23
22
  labelledBy,
24
23
  showClearItem,
25
24
  clearFilterItem
26
- }: GridHeaderFilterMenuProps): React.JSX.Element | null;
25
+ }: GridHeaderFilterMenuProps): import("react/jsx-runtime").JSX.Element | null;
27
26
  declare namespace GridHeaderFilterMenu {
28
27
  var propTypes: any;
29
28
  }
@@ -10,7 +10,7 @@ declare function GridHeaderFilterMenuContainer(props: {
10
10
  disabled?: boolean;
11
11
  showClearItem?: boolean;
12
12
  clearFilterItem?: () => void;
13
- }): React.JSX.Element | null;
13
+ }): import("react/jsx-runtime").JSX.Element | null;
14
14
  declare namespace GridHeaderFilterMenuContainer {
15
15
  var propTypes: any;
16
16
  }
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { useLicenseVerifier, Watermark } from '@mui/x-license';
7
7
  import { GridRoot, GridContextProvider } from '@mui/x-data-grid';
8
- import { validateProps, useGridApiInitialization, useGridRowsOverridableMethods, useGridParamsOverridableMethods } from '@mui/x-data-grid/internals';
8
+ import { validateProps, useGridApiInitialization, useGridRowsOverridableMethods, useGridParamsOverridableMethods, useIsCellEditable } from '@mui/x-data-grid/internals';
9
9
  import { useMaterialCSSVariables } from '@mui/x-data-grid/material';
10
10
  import { forwardRef } from '@mui/x-internals/forwardRef';
11
11
  import { useDataGridProComponent } from "./useDataGridProComponent.js";
@@ -21,11 +21,12 @@ const configuration = {
21
21
  useGridRowAriaAttributes: useGridRowAriaAttributesPro,
22
22
  useGridRowsOverridableMethods,
23
23
  useGridParamsOverridableMethods,
24
+ useIsCellEditable,
24
25
  useCellAggregationResult: () => null,
25
26
  useFilterValueGetter: apiRef => apiRef.current.getRowValue
26
27
  }
27
28
  };
28
- const releaseInfo = "MTc2MTE3NzYwMDAwMA==";
29
+ const releaseInfo = "MTc2MjMwMDgwMDAwMA==";
29
30
  const watermark = /*#__PURE__*/_jsx(Watermark, {
30
31
  packageName: "x-data-grid-pro",
31
32
  releaseInfo: releaseInfo
@@ -86,7 +86,7 @@ export const useDataGridProComponent = (apiRef, props, configuration) => {
86
86
  useGridDetailPanel(apiRef, props);
87
87
  useGridColumnSpanning(apiRef);
88
88
  useGridColumnGrouping(apiRef, props);
89
- useGridEditing(apiRef, props);
89
+ useGridEditing(apiRef, props, configuration);
90
90
  useGridFocus(apiRef, props);
91
91
  useGridPreferencesPanel(apiRef, props);
92
92
  useGridFilter(apiRef, props, configuration);
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridColumnMenuItemProps } from '@mui/x-data-grid';
3
- declare function GridColumnMenuPinningItem(props: GridColumnMenuItemProps): React.JSX.Element | null;
2
+ declare function GridColumnMenuPinningItem(props: GridColumnMenuItemProps): import("react/jsx-runtime").JSX.Element | null;
4
3
  declare namespace GridColumnMenuPinningItem {
5
4
  var propTypes: any;
6
5
  }
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams, GridDataSourceGroupNode } from '@mui/x-data-grid';
3
2
  interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, any, GridDataSourceGroupNode> {
4
3
  hideDescendantCount?: boolean;
@@ -8,5 +7,5 @@ interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, a
8
7
  */
9
8
  offsetMultiplier?: number;
10
9
  }
11
- export declare function GridDataSourceTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): React.JSX.Element;
10
+ export declare function GridDataSourceTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -10,5 +10,5 @@ interface GridDetailPanelProps extends Pick<React.HTMLAttributes<HTMLDivElement>
10
10
  */
11
11
  height: number | 'auto';
12
12
  }
13
- declare function GridDetailPanel(props: GridDetailPanelProps): React.JSX.Element | null;
13
+ declare function GridDetailPanel(props: GridDetailPanelProps): import("react/jsx-runtime").JSX.Element | null;
14
14
  export { GridDetailPanel };
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams } from '@mui/x-data-grid';
3
- declare function GridDetailPanelToggleCell(props: GridRenderCellParams): React.JSX.Element;
2
+ declare function GridDetailPanelToggleCell(props: GridRenderCellParams): import("react/jsx-runtime").JSX.Element;
4
3
  declare namespace GridDetailPanelToggleCell {
5
4
  var propTypes: any;
6
5
  }
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridPinnedRowsProps } from '@mui/x-data-grid/internals';
3
2
  export declare function GridPinnedRows({
4
3
  position,
5
4
  virtualScroller
6
- }: GridPinnedRowsProps): React.JSX.Element | null;
5
+ }: GridPinnedRowsProps): import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridColumnMenuProps } from '@mui/x-data-grid';
3
2
  import { GridColumnMenuPinningItem } from "./GridColumnMenuPinningItem.js";
4
3
  export declare const GRID_COLUMN_MENU_SLOTS_PRO: {
@@ -21,4 +20,4 @@ export declare const GRID_COLUMN_MENU_SLOT_PROPS_PRO: {
21
20
  displayOrder: number;
22
21
  };
23
22
  };
24
- export declare const GridProColumnMenu: React.ForwardRefExoticComponent<GridColumnMenuProps> | React.ForwardRefExoticComponent<GridColumnMenuProps & React.RefAttributes<HTMLUListElement>>;
23
+ export declare const GridProColumnMenu: import("react").ForwardRefExoticComponent<GridColumnMenuProps> | import("react").ForwardRefExoticComponent<GridColumnMenuProps & import("react").RefAttributes<HTMLUListElement>>;
@@ -1,5 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
2
  import { GridGenericColumnMenu, GRID_COLUMN_MENU_SLOTS, GRID_COLUMN_MENU_SLOT_PROPS } from '@mui/x-data-grid';
4
3
  import { forwardRef } from '@mui/x-internals/forwardRef';
5
4
  import { GridColumnMenuPinningItem } from "./GridColumnMenuPinningItem.js";
@@ -1,8 +1,7 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams } from '@mui/x-data-grid';
3
- declare function GridRowReorderCell(params: GridRenderCellParams): React.JSX.Element | null;
2
+ declare function GridRowReorderCell(params: GridRenderCellParams): import("react/jsx-runtime").JSX.Element | null;
4
3
  declare namespace GridRowReorderCell {
5
4
  var propTypes: any;
6
5
  }
7
6
  export { GridRowReorderCell };
8
- export declare const renderRowReorderCell: (params: GridRenderCellParams) => React.JSX.Element | null;
7
+ export declare const renderRowReorderCell: (params: GridRenderCellParams) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams, GridGroupNode } from '@mui/x-data-grid';
3
2
  interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, any, GridGroupNode> {
4
3
  hideDescendantCount?: boolean;
@@ -8,7 +7,7 @@ interface GridTreeDataGroupingCellProps extends GridRenderCellParams<any, any, a
8
7
  */
9
8
  offsetMultiplier?: number;
10
9
  }
11
- declare function GridTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): React.JSX.Element;
10
+ declare function GridTreeDataGroupingCell(props: GridTreeDataGroupingCellProps): import("react/jsx-runtime").JSX.Element;
12
11
  declare namespace GridTreeDataGroupingCell {
13
12
  var propTypes: any;
14
13
  }
@@ -1,6 +1,5 @@
1
- import * as React from 'react';
2
1
  import { GridSlotProps } from '@mui/x-data-grid';
3
2
  type BaseIconButtonProps = GridSlotProps['baseIconButton'];
4
3
  interface GridHeaderFilterClearIconProps extends BaseIconButtonProps {}
5
- declare function GridHeaderFilterClearButton(props: GridHeaderFilterClearIconProps): React.JSX.Element;
4
+ declare function GridHeaderFilterClearButton(props: GridHeaderFilterClearIconProps): import("react/jsx-runtime").JSX.Element;
6
5
  export { GridHeaderFilterClearButton };
@@ -1,5 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
2
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
4
3
  import { jsx as _jsx } from "react/jsx-runtime";
5
4
  function GridHeaderFilterClearButton(props) {
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridFilterOperator, GridFilterItem, GridColDef } from '@mui/x-data-grid';
3
2
  interface GridHeaderFilterMenuProps {
4
3
  field: GridColDef['field'];
@@ -23,7 +22,7 @@ declare function GridHeaderFilterMenu({
23
22
  labelledBy,
24
23
  showClearItem,
25
24
  clearFilterItem
26
- }: GridHeaderFilterMenuProps): React.JSX.Element | null;
25
+ }: GridHeaderFilterMenuProps): import("react/jsx-runtime").JSX.Element | null;
27
26
  declare namespace GridHeaderFilterMenu {
28
27
  var propTypes: any;
29
28
  }
@@ -10,7 +10,7 @@ declare function GridHeaderFilterMenuContainer(props: {
10
10
  disabled?: boolean;
11
11
  showClearItem?: boolean;
12
12
  clearFilterItem?: () => void;
13
- }): React.JSX.Element | null;
13
+ }): import("react/jsx-runtime").JSX.Element | null;
14
14
  declare namespace GridHeaderFilterMenuContainer {
15
15
  var propTypes: any;
16
16
  }
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { UseGridColumnHeadersProps, GetHeadersParams } from '@mui/x-data-grid/internals';
3
3
  export declare const useGridColumnHeadersPro: (props: UseGridColumnHeadersProps) => {
4
- getColumnFiltersRow: () => React.JSX.Element | null;
5
- getFillers: (params: GetHeadersParams | undefined, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean) => React.JSX.Element;
6
- getColumnHeadersRow: () => React.JSX.Element;
4
+ getColumnFiltersRow: () => import("react/jsx-runtime").JSX.Element | null;
5
+ getFillers: (params: GetHeadersParams | undefined, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean) => import("react/jsx-runtime").JSX.Element;
6
+ getColumnHeadersRow: () => import("react/jsx-runtime").JSX.Element;
7
7
  getColumnGroupHeadersRows: () => React.JSX.Element[] | null;
8
8
  isDragging: boolean;
9
9
  getInnerProps: () => {
@@ -1,5 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
2
  import { GRID_STRING_COL_DEF, gridRowIdSelector } from '@mui/x-data-grid';
4
3
  import { GRID_DETAIL_PANEL_TOGGLE_FIELD } from '@mui/x-data-grid/internals';
5
4
  import { GridDetailPanelToggleCell } from "../../../components/GridDetailPanelToggleCell.js";
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v8.15.0
2
+ * @mui/x-data-grid-pro v8.17.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
@@ -25,6 +25,7 @@ export { useGridInfiniteLoadingIntersection } from "../hooks/features/serverSide
25
25
  export { dataSourceStateInitializer } from "../hooks/features/dataSource/useGridDataSourcePro.js";
26
26
  export { useGridDataSourceBasePro } from "../hooks/features/dataSource/useGridDataSourceBasePro.js";
27
27
  export { gridDataSourceErrorSelector, gridDataSourceLoadingIdSelector } from "../hooks/features/dataSource/gridDataSourceSelector.js";
28
+ export { getGroupKeys } from "../hooks/features/dataSource/utils.js";
28
29
  export type { GridExperimentalProFeatures, DataGridProPropsWithoutDefaultValue, DataGridProPropsWithDefaultValue } from "../models/dataGridProProps.js";
29
30
  export type { GridProSlotProps } from "../models/gridProSlotProps.js";
30
31
  export { createRowTree } from "../utils/tree/createRowTree.js";
@@ -28,6 +28,7 @@ export { useGridInfiniteLoadingIntersection } from "../hooks/features/serverSide
28
28
  export { dataSourceStateInitializer } from "../hooks/features/dataSource/useGridDataSourcePro.js";
29
29
  export { useGridDataSourceBasePro } from "../hooks/features/dataSource/useGridDataSourceBasePro.js";
30
30
  export { gridDataSourceErrorSelector, gridDataSourceLoadingIdSelector } from "../hooks/features/dataSource/gridDataSourceSelector.js";
31
+ export { getGroupKeys } from "../hooks/features/dataSource/utils.js";
31
32
  export { createRowTree } from "../utils/tree/createRowTree.js";
32
33
  export { updateRowTree } from "../utils/tree/updateRowTree.js";
33
34
  export { sortRowTree } from "../utils/tree/sortRowTree.js";
@@ -1,3 +1,2 @@
1
- import * as React from 'react';
2
1
  export declare const GridPushPinRightIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
3
2
  export declare const GridPushPinLeftIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { createSvgIcon } from '@mui/x-data-grid/internals';
3
2
  import { jsx as _jsx } from "react/jsx-runtime";
4
3
  export const GridPushPinRightIcon = createSvgIcon(/*#__PURE__*/_jsx("g", {
@@ -2,6 +2,7 @@ import { GridFilterState, GridGroupNode, GridRowId, GridRowTreeConfig, GridRowsS
2
2
  import { GridTreeDepths } from '@mui/x-data-grid/internals';
3
3
  import { RowTreeBuilderGroupingCriterion } from "./models.js";
4
4
  import { DataGridProProps } from "../../models/dataGridProProps.js";
5
+ import type { GridStatePro } from "../../models/gridStatePro.js";
5
6
  export declare const getGroupRowIdFromPath: (path: RowTreeBuilderGroupingCriterion[]) => string;
6
7
  export declare const getNodePathInTree: ({
7
8
  id,
@@ -50,4 +51,4 @@ export declare const getVisibleRowsLookup: ({
50
51
  }: {
51
52
  tree: GridRowsState["tree"];
52
53
  filteredRowsLookup: GridFilterState["filteredRowsLookup"];
53
- }) => import("@mui/x-data-grid/hooks/features/filter/gridFilterState").GridVisibleRowsLookupState;
54
+ }) => GridStatePro["visibleRowsLookup"];
@@ -24,13 +24,20 @@ export const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth,
24
24
  if (maxDepth !== undefined && node.depth >= maxDepth) {
25
25
  return false;
26
26
  }
27
+
28
+ // If group existed in previous tree, preserve its expansion state
29
+ if (prevChildrenExpanded !== undefined) {
30
+ return prevChildrenExpanded;
31
+ }
32
+
33
+ // For new groups, apply default expansion configuration
27
34
  let childrenExpanded;
28
35
  if (node.id === GRID_ROOT_GROUP_ID) {
29
36
  childrenExpanded = true;
30
37
  } else if (isGroupExpandedByDefault) {
31
38
  childrenExpanded = isGroupExpandedByDefault(node);
32
39
  } else {
33
- childrenExpanded = defaultGroupingExpansionDepth === -1 || defaultGroupingExpansionDepth > node.depth || (prevChildrenExpanded ?? false);
40
+ childrenExpanded = defaultGroupingExpansionDepth === -1 || defaultGroupingExpansionDepth > node.depth;
34
41
  }
35
42
  return childrenExpanded;
36
43
  };
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { UseGridColumnHeadersProps, GetHeadersParams } from '@mui/x-data-grid/internals';
3
3
  export declare const useGridColumnHeadersPro: (props: UseGridColumnHeadersProps) => {
4
- getColumnFiltersRow: () => React.JSX.Element | null;
5
- getFillers: (params: GetHeadersParams | undefined, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean) => React.JSX.Element;
6
- getColumnHeadersRow: () => React.JSX.Element;
4
+ getColumnFiltersRow: () => import("react/jsx-runtime").JSX.Element | null;
5
+ getFillers: (params: GetHeadersParams | undefined, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean) => import("react/jsx-runtime").JSX.Element;
6
+ getColumnHeadersRow: () => import("react/jsx-runtime").JSX.Element;
7
7
  getColumnGroupHeadersRows: () => React.JSX.Element[] | null;
8
8
  isDragging: boolean;
9
9
  getInnerProps: () => {
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
@@ -13,7 +12,6 @@ Object.defineProperty(exports, "GRID_DETAIL_PANEL_TOGGLE_FIELD", {
13
12
  }
14
13
  });
15
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
16
- var React = _interopRequireWildcard(require("react"));
17
15
  var _xDataGrid = require("@mui/x-data-grid");
18
16
  var _internals = require("@mui/x-data-grid/internals");
19
17
  var _GridDetailPanelToggleCell = require("../../../components/GridDetailPanelToggleCell");
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v8.15.0
2
+ * @mui/x-data-grid-pro v8.17.0
3
3
  *
4
4
  * @license SEE LICENSE IN LICENSE
5
5
  * This source code is licensed under the SEE LICENSE IN LICENSE license found in the
@@ -25,6 +25,7 @@ export { useGridInfiniteLoadingIntersection } from "../hooks/features/serverSide
25
25
  export { dataSourceStateInitializer } from "../hooks/features/dataSource/useGridDataSourcePro.js";
26
26
  export { useGridDataSourceBasePro } from "../hooks/features/dataSource/useGridDataSourceBasePro.js";
27
27
  export { gridDataSourceErrorSelector, gridDataSourceLoadingIdSelector } from "../hooks/features/dataSource/gridDataSourceSelector.js";
28
+ export { getGroupKeys } from "../hooks/features/dataSource/utils.js";
28
29
  export type { GridExperimentalProFeatures, DataGridProPropsWithoutDefaultValue, DataGridProPropsWithDefaultValue } from "../models/dataGridProProps.js";
29
30
  export type { GridProSlotProps } from "../models/gridProSlotProps.js";
30
31
  export { createRowTree } from "../utils/tree/createRowTree.js";
@@ -37,6 +37,7 @@ var _exportNames = {
37
37
  useGridDataSourceBasePro: true,
38
38
  gridDataSourceErrorSelector: true,
39
39
  gridDataSourceLoadingIdSelector: true,
40
+ getGroupKeys: true,
40
41
  createRowTree: true,
41
42
  updateRowTree: true,
42
43
  sortRowTree: true,
@@ -96,16 +97,22 @@ Object.defineProperty(exports, "detailPanelStateInitializer", {
96
97
  return _useGridDetailPanel.detailPanelStateInitializer;
97
98
  }
98
99
  });
100
+ Object.defineProperty(exports, "getGroupKeys", {
101
+ enumerable: true,
102
+ get: function () {
103
+ return _utils.getGroupKeys;
104
+ }
105
+ });
99
106
  Object.defineProperty(exports, "getParentPath", {
100
107
  enumerable: true,
101
108
  get: function () {
102
- return _utils2.getParentPath;
109
+ return _utils3.getParentPath;
103
110
  }
104
111
  });
105
112
  Object.defineProperty(exports, "getVisibleRowsLookup", {
106
113
  enumerable: true,
107
114
  get: function () {
108
- return _utils.getVisibleRowsLookup;
115
+ return _utils2.getVisibleRowsLookup;
109
116
  }
110
117
  });
111
118
  Object.defineProperty(exports, "gridDataSourceErrorSelector", {
@@ -123,13 +130,13 @@ Object.defineProperty(exports, "gridDataSourceLoadingIdSelector", {
123
130
  Object.defineProperty(exports, "insertNodeInTree", {
124
131
  enumerable: true,
125
132
  get: function () {
126
- return _utils.insertNodeInTree;
133
+ return _utils2.insertNodeInTree;
127
134
  }
128
135
  });
129
136
  Object.defineProperty(exports, "removeNodeFromTree", {
130
137
  enumerable: true,
131
138
  get: function () {
132
- return _utils.removeNodeFromTree;
139
+ return _utils2.removeNodeFromTree;
133
140
  }
134
141
  });
135
142
  Object.defineProperty(exports, "rowPinningStateInitializer", {
@@ -147,13 +154,13 @@ Object.defineProperty(exports, "rowReorderStateInitializer", {
147
154
  Object.defineProperty(exports, "skipFiltering", {
148
155
  enumerable: true,
149
156
  get: function () {
150
- return _utils2.skipFiltering;
157
+ return _utils3.skipFiltering;
151
158
  }
152
159
  });
153
160
  Object.defineProperty(exports, "skipSorting", {
154
161
  enumerable: true,
155
162
  get: function () {
156
- return _utils2.skipSorting;
163
+ return _utils3.skipSorting;
157
164
  }
158
165
  });
159
166
  Object.defineProperty(exports, "sortRowTree", {
@@ -331,11 +338,12 @@ var _useGridInfiniteLoadingIntersection = require("../hooks/features/serverSideL
331
338
  var _useGridDataSourcePro = require("../hooks/features/dataSource/useGridDataSourcePro");
332
339
  var _useGridDataSourceBasePro = require("../hooks/features/dataSource/useGridDataSourceBasePro");
333
340
  var _gridDataSourceSelector = require("../hooks/features/dataSource/gridDataSourceSelector");
341
+ var _utils = require("../hooks/features/dataSource/utils");
334
342
  var _createRowTree = require("../utils/tree/createRowTree");
335
343
  var _updateRowTree = require("../utils/tree/updateRowTree");
336
344
  var _sortRowTree = require("../utils/tree/sortRowTree");
337
- var _utils = require("../utils/tree/utils");
338
- var _utils2 = require("../hooks/features/serverSideTreeData/utils");
345
+ var _utils2 = require("../utils/tree/utils");
346
+ var _utils3 = require("../hooks/features/serverSideTreeData/utils");
339
347
  var _propValidation = require("./propValidation");
340
348
  Object.keys(_propValidation).forEach(function (key) {
341
349
  if (key === "default" || key === "__esModule") return;
@@ -1,3 +1,2 @@
1
- import * as React from 'react';
2
1
  export declare const GridPushPinRightIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
3
2
  export declare const GridPushPinLeftIcon: (props: import("@mui/x-data-grid").GridBaseIconProps) => React.ReactNode;
package/material/icons.js CHANGED
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.GridPushPinRightIcon = exports.GridPushPinLeftIcon = void 0;
8
- var React = _interopRequireWildcard(require("react"));
9
7
  var _internals = require("@mui/x-data-grid/internals");
10
8
  var _jsxRuntime = require("react/jsx-runtime");
11
9
  const GridPushPinRightIcon = exports.GridPushPinRightIcon = (0, _internals.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-pro",
3
- "version": "8.15.0",
3
+ "version": "8.17.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Pro plan edition of the MUI X Data Grid components.",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -37,9 +37,9 @@
37
37
  "@mui/utils": "^7.3.3",
38
38
  "clsx": "^2.1.1",
39
39
  "prop-types": "^15.8.1",
40
- "@mui/x-data-grid": "8.15.0",
41
- "@mui/x-internals": "8.14.0",
42
- "@mui/x-license": "8.15.0"
40
+ "@mui/x-data-grid": "8.17.0",
41
+ "@mui/x-internals": "8.17.0",
42
+ "@mui/x-license": "8.17.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@emotion/react": "^11.9.0",
@@ -2,6 +2,7 @@ import { GridFilterState, GridGroupNode, GridRowId, GridRowTreeConfig, GridRowsS
2
2
  import { GridTreeDepths } from '@mui/x-data-grid/internals';
3
3
  import { RowTreeBuilderGroupingCriterion } from "./models.js";
4
4
  import { DataGridProProps } from "../../models/dataGridProProps.js";
5
+ import type { GridStatePro } from "../../models/gridStatePro.js";
5
6
  export declare const getGroupRowIdFromPath: (path: RowTreeBuilderGroupingCriterion[]) => string;
6
7
  export declare const getNodePathInTree: ({
7
8
  id,
@@ -50,4 +51,4 @@ export declare const getVisibleRowsLookup: ({
50
51
  }: {
51
52
  tree: GridRowsState["tree"];
52
53
  filteredRowsLookup: GridFilterState["filteredRowsLookup"];
53
- }) => import("@mui/x-data-grid/hooks/features/filter/gridFilterState").GridVisibleRowsLookupState;
54
+ }) => GridStatePro["visibleRowsLookup"];
@@ -33,13 +33,20 @@ const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth, maxDep
33
33
  if (maxDepth !== undefined && node.depth >= maxDepth) {
34
34
  return false;
35
35
  }
36
+
37
+ // If group existed in previous tree, preserve its expansion state
38
+ if (prevChildrenExpanded !== undefined) {
39
+ return prevChildrenExpanded;
40
+ }
41
+
42
+ // For new groups, apply default expansion configuration
36
43
  let childrenExpanded;
37
44
  if (node.id === _xDataGrid.GRID_ROOT_GROUP_ID) {
38
45
  childrenExpanded = true;
39
46
  } else if (isGroupExpandedByDefault) {
40
47
  childrenExpanded = isGroupExpandedByDefault(node);
41
48
  } else {
42
- childrenExpanded = defaultGroupingExpansionDepth === -1 || defaultGroupingExpansionDepth > node.depth || (prevChildrenExpanded ?? false);
49
+ childrenExpanded = defaultGroupingExpansionDepth === -1 || defaultGroupingExpansionDepth > node.depth;
43
50
  }
44
51
  return childrenExpanded;
45
52
  };