@mui/x-data-grid-premium 8.0.0-alpha.6 → 8.0.0-alpha.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.
Files changed (79) hide show
  1. package/CHANGELOG.md +242 -1
  2. package/DataGridPremium/DataGridPremium.js +7 -8
  3. package/DataGridPremium/useDataGridPremiumComponent.d.ts +1 -1
  4. package/DataGridPremium/useDataGridPremiumComponent.js +3 -2
  5. package/DataGridPremium/useDataGridPremiumProps.js +3 -1
  6. package/components/GridColumnMenuAggregationItem.js +53 -20
  7. package/esm/DataGridPremium/DataGridPremium.js +9 -10
  8. package/esm/DataGridPremium/useDataGridPremiumComponent.js +4 -3
  9. package/esm/DataGridPremium/useDataGridPremiumProps.js +3 -1
  10. package/esm/components/GridColumnMenuAggregationItem.js +51 -18
  11. package/esm/hooks/features/aggregation/createAggregationLookup.js +52 -55
  12. package/esm/hooks/features/aggregation/gridAggregationUtils.js +17 -13
  13. package/esm/hooks/features/aggregation/index.js +0 -1
  14. package/esm/hooks/features/aggregation/useGridAggregation.js +22 -10
  15. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -14
  16. package/esm/hooks/features/cellSelection/useGridCellSelection.js +3 -3
  17. package/esm/hooks/features/clipboard/useGridClipboardImport.js +1 -1
  18. package/esm/hooks/features/dataSource/cache.js +3 -0
  19. package/esm/hooks/features/dataSource/models.js +1 -0
  20. package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +53 -0
  21. package/esm/utils/releaseInfo.js +1 -1
  22. package/hooks/features/aggregation/createAggregationLookup.d.ts +6 -5
  23. package/hooks/features/aggregation/createAggregationLookup.js +52 -55
  24. package/hooks/features/aggregation/gridAggregationInterfaces.d.ts +18 -5
  25. package/hooks/features/aggregation/gridAggregationUtils.d.ts +11 -12
  26. package/hooks/features/aggregation/gridAggregationUtils.js +17 -13
  27. package/hooks/features/aggregation/index.d.ts +1 -1
  28. package/hooks/features/aggregation/index.js +0 -12
  29. package/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
  30. package/hooks/features/aggregation/useGridAggregation.js +22 -10
  31. package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
  32. package/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -14
  33. package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +1 -1
  34. package/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +3 -3
  35. package/hooks/features/cellSelection/useGridCellSelection.d.ts +1 -1
  36. package/hooks/features/cellSelection/useGridCellSelection.js +3 -3
  37. package/hooks/features/clipboard/useGridClipboardImport.d.ts +1 -1
  38. package/hooks/features/clipboard/useGridClipboardImport.js +1 -1
  39. package/hooks/features/dataSource/cache.d.ts +2 -0
  40. package/hooks/features/dataSource/cache.js +9 -0
  41. package/hooks/features/dataSource/models.d.ts +47 -0
  42. package/hooks/features/dataSource/models.js +5 -0
  43. package/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
  44. package/hooks/features/dataSource/useGridDataSourcePremium.js +62 -0
  45. package/hooks/features/export/serializer/excelSerializer.d.ts +2 -2
  46. package/hooks/features/export/useGridExcelExport.d.ts +1 -1
  47. package/hooks/features/rowGrouping/createGroupingColDef.d.ts +1 -1
  48. package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +3 -3
  49. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +1 -1
  50. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
  51. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
  52. package/hooks/utils/useGridApiContext.d.ts +1 -1
  53. package/hooks/utils/useGridApiRef.d.ts +1 -1
  54. package/hooks/utils/useGridPrivateApiContext.d.ts +1 -1
  55. package/hooks/utils/useKeepGroupedColumnsHidden.d.ts +1 -1
  56. package/index.d.ts +2 -0
  57. package/index.js +1 -1
  58. package/models/dataGridPremiumProps.d.ts +7 -5
  59. package/models/gridApiPremium.d.ts +5 -3
  60. package/models/gridGroupingValueGetter.d.ts +1 -1
  61. package/models/gridPastedValueParser.d.ts +1 -1
  62. package/modern/DataGridPremium/DataGridPremium.js +9 -10
  63. package/modern/DataGridPremium/useDataGridPremiumComponent.js +4 -3
  64. package/modern/DataGridPremium/useDataGridPremiumProps.js +3 -1
  65. package/modern/components/GridColumnMenuAggregationItem.js +51 -18
  66. package/modern/hooks/features/aggregation/createAggregationLookup.js +52 -55
  67. package/modern/hooks/features/aggregation/gridAggregationUtils.js +17 -13
  68. package/modern/hooks/features/aggregation/index.js +0 -1
  69. package/modern/hooks/features/aggregation/useGridAggregation.js +22 -10
  70. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -14
  71. package/modern/hooks/features/cellSelection/useGridCellSelection.js +3 -3
  72. package/modern/hooks/features/clipboard/useGridClipboardImport.js +1 -1
  73. package/modern/hooks/features/dataSource/cache.js +3 -0
  74. package/modern/hooks/features/dataSource/models.js +1 -0
  75. package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +53 -0
  76. package/modern/index.js +1 -1
  77. package/modern/utils/releaseInfo.js +1 -1
  78. package/package.json +5 -5
  79. package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,247 @@
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.0.0-alpha.8
9
+
10
+ _Jan 16, 2025_
11
+
12
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🍬 Improved design for Data Grid [Header filters](https://next.mui.com/x/react-data-grid/filtering/header-filters/)
15
+
16
+ <img width="100%" alt="Data Grid Header filters" src="https://github.com/user-attachments/assets/74a50cd9-7a55-41fc-a2b8-f8a0d5b9120e" />
17
+
18
+ - 🔄 Data Grid [Scroll restoration](https://next.mui.com/x/react-data-grid/scrolling/#scroll-restoration)
19
+ - 📊 Charts support server-side rendering under [some conditions](https://next.mui.com/x/react-charts/getting-started/#server-side-rendering)
20
+ - 🐞 Bugfixes
21
+
22
+ Special thanks go out to the community contributors who have helped make this release possible:
23
+ @lauri865.
24
+ Following are all team members who have contributed to this release:
25
+ @arminmeh, @romgrk, @samuelsycamore, @alexfauquette, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen.
26
+
27
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
28
+
29
+ ### Data Grid
30
+
31
+ #### Breaking changes
32
+
33
+ - The clear button in header filter cells has been moved to the header filter menu. Use `slotProps={{ headerFilterCell: { showClearIcon: true } }}` to restore the clear button in the cell.
34
+
35
+ #### `@mui/x-data-grid@8.0.0-alpha.8`
36
+
37
+ - [DataGrid] Improve scrollbar deadzone with overlay scrollbars (#15961) @lauri865
38
+ - [DataGrid] Header filter design improvements (#15991) @KenanYusuf
39
+ - [DataGrid] Scroll restoration (#15623) @lauri865
40
+ - [DataGrid] Fix row, cell and header memoizations (#15666) @lauri865
41
+
42
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
43
+
44
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.8`, plus:
45
+
46
+ - [DataGridPro] Add test for column pinning with disabled column virtualization (#16176) @cherniavskii
47
+ - [DataGridPro] Fix width of right-pinned column group during resize (#16199) @cherniavskii
48
+
49
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.8` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
50
+
51
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.8`.
52
+
53
+ ### Date and Time Pickers
54
+
55
+ #### Breaking changes
56
+
57
+ - The field is now editable if rendered inside a mobile Picker — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#field-editing-on-mobile-pickers)
58
+ - The `useMultiInputDateRangeField`, `useMultiInputTimeRangeField`, and `useMultiInputDateTimeRangeField` hooks have been removed in favor of the new `useMultiInputRangeField` hook — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#usemultiinputdaterangefield)
59
+ - The component passed to the `field` slot no longer receives the `value`, `onChange`, `timezone`, `format`, `disabled`, `formatDensity`, `enableAccessibleFieldDOMStructure`, `selectedSections` and `onSelectedSectionsChange` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-field)
60
+
61
+ #### `@mui/x-date-pickers@8.0.0-alpha.8`
62
+
63
+ - [pickers] Let the field components handle their opening UI, and allow field editing on mobile pickers (#15671) @flaviendelangle
64
+ - [pickers] Remove code duplication for the multi input range fields (#15505) @flaviendelangle
65
+ - [pickers] Rename `onRangePositionChange` into `setRangePosition` in `usePickerRangePositionContext` (#16189) @flaviendelangle
66
+ - [pickers] Use context to pass props from the picker to the field (#16042) @flaviendelangle
67
+
68
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
69
+
70
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.8`.
71
+
72
+ ### Charts
73
+
74
+ #### Breaking changes
75
+
76
+ - Charts tooltip markers now have different styles for each chart type. The tooltip and legend marks are now the same.
77
+ - Duplicate axis id's across `x` and `y` axis now log a warning in dev mode. Axis ids should be unique to prevent internal issues.
78
+
79
+ #### `@mui/x-charts@8.0.0-alpha.8`
80
+
81
+ - [charts] Fix flaky charts tests (#16180) @JCQuintas
82
+ - [charts] Handle case where gradient stop `offset` could be `Infinite` (#16131) @JCQuintas
83
+ - [charts] Make `useChartGradientId` public (#16106) @JCQuintas
84
+ - [charts] Move z-axis to plugin (#16130) @alexfauquette
85
+ - [charts] Plot data at first render if `skipAnimation` is set to `true` (#16166) @alexfauquette
86
+ - [charts] Replace tooltip mark with style (#16117) @JCQuintas
87
+ - [charts] Support `rtl` for gradient legend (#16115) @JCQuintas
88
+ - [charts] Use plugin system for series and axes (#15865) @alexfauquette
89
+
90
+ #### `@mui/x-charts-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
91
+
92
+ Same changes as in `@mui/x-charts@8.0.0-alpha.8`.
93
+
94
+ ### Tree View
95
+
96
+ #### `@mui/x-tree-view@8.0.0-alpha.8`
97
+
98
+ No changes since `@mui/x-tree-view-pro@v8.0.0-alpha.7`.
99
+
100
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
101
+
102
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.8`.
103
+
104
+ ### Docs
105
+
106
+ - [docs] Add example for custom legend (#16169) @alexfauquette
107
+ - [docs] Add full custom field creation example (#15194) @flaviendelangle
108
+ - [docs] Copyedit the Data Grid cell selection page (#16099) @samuelsycamore
109
+ - [docs] Fix demo rendering issue on Codesandbox (#16118) @arminmeh
110
+ - [docs] Remove broken links (#16167) @alexfauquette
111
+ - [docs] Split the Data Grid editing page (#14931) @MBilalShafi
112
+ - [docs] Fix wrong props warnings (#16119) @JCQuintas
113
+
114
+ ### Core
115
+
116
+ - [core] Type all references as `RefObject` (#16124) @arminmeh
117
+ - [code-infra] Refactor `react` and `react-dom` definitions to simplify dep resolving (#16160) @LukasTy
118
+ - [code-infra] Stop renovate from updating `date-fns-v2` (#16158) @LukasTy
119
+ - [infra] Improve cherry-pick action target list (#16184) @michelengelen
120
+ - [test] Fix flaky column pinning unit test (#16202) @cherniavskii
121
+ - [test] Fix flaky screenshot (#16182) @cherniavskii
122
+
123
+ ## 8.0.0-alpha.7
124
+
125
+ _Jan 9, 2025_
126
+
127
+ We'd like to offer a big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
128
+
129
+ - 📊 Charts legend is now an HTML element which can be styled more easily
130
+ - 💫 Support [aggregation with server-side data](/x/react-data-grid/server-side-data/aggregation/)
131
+ - 🏎️ Improve Data Grid aggregation performance
132
+ - 🌍 Add Chinese (Taiwan) (zh-TW) locale on the Date and Time Pickers
133
+ - 🌍 Improve Norwegian (nb-NO) locale on the Date and Time Pickers
134
+ - 🐞 Bugfixes
135
+
136
+ Special thanks go out to the community contributors who have helped make this release possible:
137
+ @derek-0000, @josteinjhauge, @k-rajat19, @nusr, @tomashauser.
138
+ Following are all team members who have contributed to this release:
139
+ @cherniavskii, @flaviendelangle, @JCQuintas, @LukasTy, @MBilalShafi, @arminmeh, @romgrk, @oliviertassinari.
140
+
141
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
142
+
143
+ ### Data Grid
144
+
145
+ #### `@mui/x-data-grid@8.0.0-alpha.7`
146
+
147
+ - [DataGrid] Improve React 19 support (#15769) @LukasTy
148
+ - [DataGrid] Add `name` attribute to the checkbox selection column (#15178) @derek-0000
149
+ - [DataGrid] Fix number filter field formatting values while typing (#16062) @arminmeh
150
+ - [DataGrid] Fix select all checkbox state reset with server side data (#16034) @MBilalShafi
151
+ - [DataGrid] Refactor: create base button props (#15930) @romgrk
152
+ - [DataGrid] Refactor: create tooltip props (#16086) @romgrk
153
+ - [DataGrid] Fix TS error (#16046) @cherniavskii
154
+
155
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
156
+
157
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.7`.
158
+
159
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
160
+
161
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.7`, plus:
162
+
163
+ - [DataGridPremium] Improve aggregation performance for multiple columns (#16097) @cherniavskii
164
+ - [DataGridPremium] Make Aggregation keyboard accessible in the column menu (#15934) @k-rajat19
165
+ - [DataGridPremium] Server-side aggregation with data source (#15741) @MBilalShafi
166
+
167
+ ### Date and Time Pickers
168
+
169
+ #### Breaking changes
170
+
171
+ - The `date-fns` and `date-fns-jalali` date library adapters have been renamed to better align with the current stable major versions — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#✅-rename-date-fns-adapter-imports)
172
+ - Update default `closeOnSelect` and Action Bar `actions` values - [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#update-default-closeonselect-and-action-bar-actions-values)
173
+ - The component passed to the `layout` slot no longer receives the `value`, `onChange` and `onSelectShortcut` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-layout).
174
+ - The component passed to the `toolbar` slot no longer receives the `value`, `onChange` and `isLandscape` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-toolbar).
175
+ - The component passed to the `shortcuts` slot no longer receives the `onChange`, `isValid` and `isLandscape` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-shortcuts).
176
+ - The `PickerShortcutChangeImportance` type has been renamed `PickerChangeImportance` — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#renamed-variables-and-types).
177
+ - The component passed to the `layout` slot no longer receives the `rangePosition` and `onRangePositionChange` on range pickers — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-layout).
178
+ - The component passed to the `toolbar` slot no longer receives the `rangePosition` and `onRangePositionChange` on range pickers — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-toolbar).
179
+ - The component passed to the `tabs` slot no longer receives the `rangePosition` and `onRangePositionChange` on range pickers — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-tabs).
180
+
181
+ #### `@mui/x-date-pickers@8.0.0-alpha.7`
182
+
183
+ - [fields] Handle focusing container with `inputRef.current.focus` on `accessibleFieldDOMStructure` (#15985) @LukasTy
184
+ - [pickers] Always use `setValue` internally to update the picker value (#16056) @flaviendelangle
185
+ - [pickers] Create a new context to pass the range position props to the layout components and to the views (#15846) @flaviendelangle
186
+ - [pickers] Introduce a new concept of `manager` (#15339) @flaviendelangle
187
+ - [pickers] Improve React 19 support (#15769) @LukasTy
188
+ - [pickers] Memoize `<PickersActionBar />` (#16071) @LukasTy
189
+ - [pickers] Remove `NonEmptyDateRange` type (#16035) @flaviendelangle
190
+ - [pickers] Rename `AdapterDateFns` into `AdapterDateFnsV2` and `AdapterDateFnsV3` into `AdapterDateFns` (#16082) @LukasTy
191
+ - [pickers] Rename `ctx.onViewChange` to `ctx.setView` and add it to the actions context (#16044) @flaviendelangle
192
+ - [pickers] Support `date-fns-jalali` v4 (#16011) @LukasTy
193
+ - [pickers] Update `closeOnSelect` and `actionBar.actions` default values (#15944) @LukasTy
194
+ - [pickers] Use `usePickerContext()` and `usePickerActionsContext()` instead of passing props to the `shortcuts` and `toolbar` slots (#15948) @flaviendelangle
195
+ - [l10n] Add Chinese (Taiwan) (zh-TW) locale (#16033) @nusr
196
+ - [l10n] Improve Norwegian (nb-NO) locale (#16089) @josteinjhauge
197
+
198
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
199
+
200
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.7`.
201
+
202
+ ### Charts
203
+
204
+ #### Breaking changes
205
+
206
+ - Removed `DefaultChartsLegend` component, since it is now easier to create custom legends — [Learn more](https://next.mui.com/x/react-charts/components/#html-components).
207
+ - The default legend is now an HTML element and can be styled more easily.
208
+ - The `width` and `height` properties of the charts now only apply to the `svg` element, and not their wrappers, this might cause some layout shifts.
209
+ - `slotProps.legend.direction` now accepts `'horizontal' | 'vertical'` instead of `'row' | 'column'` — [Learn more](https://next.mui.com/x/migration/migration-charts-v7/#legend-direction-value-change-✅).
210
+ - The `getSeriesToDisplay` function was removed in favor of the `useLegend` hook. — [Learn more](https://next.mui.com/x/migration/migration-charts-v7/#the-getseriestodisplay-function-was-removed).
211
+
212
+ #### `@mui/x-charts@8.0.0-alpha.7`
213
+
214
+ - [charts] New HTML legend & styles (#15733) @JCQuintas
215
+ - [charts] Improve React 19 support (#15769) @LukasTy
216
+ - [charts] Fix 301 redirection in the API documentation @oliviertassinari
217
+
218
+ #### `@mui/x-charts-pro@8.0.0-alpha.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
219
+
220
+ Same changes as in `@mui/x-charts@8.0.0-alpha.7`.
221
+
222
+ ### Tree View
223
+
224
+ #### `@mui/x-tree-view@8.0.0-alpha.7`
225
+
226
+ - [TreeView] Improve React 19 support (#15769) @LukasTy
227
+
228
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
229
+
230
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.7`.
231
+
232
+ ### Docs
233
+
234
+ - [docs] Fix `EditingWithDatePickers` demo (#15967) @k-rajat19
235
+ - [docs] Fix inconsistent multi input range field separators (#16043) @flaviendelangle
236
+ - [docs] Fix non-existing "adapter" property of `LocalizationProvider` (#16084) @tomashauser
237
+ - [docs] Refactor Data Grid with Date Pickers example (#15992) @LukasTy
238
+ - [docs] Unify the wording of the pickers slots breaking changes (#16036) @flaviendelangle
239
+
240
+ ### Core
241
+
242
+ - [core] Clarify the release strategy (#16014) @MBilalShafi
243
+ - [core] Small fixes on docs @oliviertassinari
244
+ - [core] Sync with other repos @oliviertassinari
245
+ - [core] Update the `release:version` docs (#16038) @cherniavskii
246
+ - [code-infra] Add `testSkipIf` and `describeSkipIf` (#16049) @JCQuintas
247
+ - [test] Stabilize flaky Data Grid tests (#16053) @LukasTy
248
+
8
249
  ## 8.0.0-alpha.6
9
250
 
10
251
  _Dec 26, 2024_
@@ -104,7 +345,7 @@ Following are all team members who have contributed to this release:
104
345
 
105
346
  #### Breaking changes
106
347
 
107
- - Passing additional props (like `data-*`, `aria-*`) directly on the Data Grid component is no longer supported. To pass the props, use `slotProps`.
348
+ - Passing additional props (like `data-*`, `aria-*`) directly on the Data Grid component is no longer supported. To pass the props, use `slotProps`:
108
349
 
109
350
  - For `.root` element, use `slotProps.root`.
110
351
  - For `.main` element (the one with `role="grid"`), use `slotProps.main`.
@@ -42,18 +42,16 @@ const DataGridPremiumRaw = (0, _forwardRef.forwardRef)(function DataGridPremium(
42
42
  privateApiRef: privateApiRef,
43
43
  configuration: configuration,
44
44
  props: props,
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_xDataGridPro.GridRoot, (0, _extends2.default)({
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.GridRoot, (0, _extends2.default)({
46
46
  className: props.className,
47
47
  style: props.style,
48
48
  sx: props.sx
49
49
  }, props.slotProps?.root, {
50
50
  ref: ref,
51
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.GridBody, {
52
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xLicense.Watermark, {
53
- packageName: "x-data-grid-premium",
54
- releaseInfo: releaseInfo
55
- })
56
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.GridFooterPlaceholder, {})]
51
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xLicense.Watermark, {
52
+ packageName: "x-data-grid-premium",
53
+ releaseInfo: releaseInfo
54
+ })
57
55
  }))
58
56
  });
59
57
  });
@@ -64,7 +62,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
64
62
  // ----------------------------------------------------------------------
65
63
  /**
66
64
  * Aggregation functions available on the grid.
67
- * @default GRID_AGGREGATION_FUNCTIONS
65
+ * @default GRID_AGGREGATION_FUNCTIONS when `unstable_dataSource` is not provided, `{}` when `unstable_dataSource` is provided
68
66
  */
69
67
  aggregationFunctions: _propTypes.default.object,
70
68
  /**
@@ -1044,6 +1042,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1044
1042
  */
1045
1043
  treeData: _propTypes.default.bool,
1046
1044
  unstable_dataSource: _propTypes.default.shape({
1045
+ getAggregatedValue: _propTypes.default.func,
1047
1046
  getChildrenCount: _propTypes.default.func,
1048
1047
  getGroupKey: _propTypes.default.func,
1049
1048
  getRows: _propTypes.default.func.isRequired,
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridApiPremium, GridPrivateApiPremium } from '../models/gridApiPremium';
3
3
  import { DataGridPremiumProcessedProps } from '../models/dataGridPremiumProps';
4
- export declare const useDataGridPremiumComponent: (inputApiRef: React.MutableRefObject<GridApiPremium> | undefined, props: DataGridPremiumProcessedProps) => React.MutableRefObject<GridPrivateApiPremium>;
4
+ export declare const useDataGridPremiumComponent: (inputApiRef: React.RefObject<GridApiPremium> | undefined, props: DataGridPremiumProcessedProps) => React.RefObject<GridPrivateApiPremium>;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useDataGridPremiumComponent = void 0;
7
7
  var _internals = require("@mui/x-data-grid-pro/internals");
8
+ var _useGridDataSourcePremium = require("../hooks/features/dataSource/useGridDataSourcePremium");
8
9
  var _useGridAggregation = require("../hooks/features/aggregation/useGridAggregation");
9
10
  var _useGridAggregationPreProcessors = require("../hooks/features/aggregation/useGridAggregationPreProcessors");
10
11
  var _useGridRowGrouping = require("../hooks/features/rowGrouping/useGridRowGrouping");
@@ -49,6 +50,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
49
50
  (0, _internals.useGridInitializeState)(_internals.columnPinningStateInitializer, apiRef, props);
50
51
  (0, _internals.useGridInitializeState)(_internals.columnsStateInitializer, apiRef, props);
51
52
  (0, _internals.useGridInitializeState)(_internals.rowPinningStateInitializer, apiRef, props);
53
+ (0, _internals.useGridInitializeState)(_internals.paginationStateInitializer, apiRef, props);
52
54
  (0, _internals.useGridInitializeState)(_internals.rowsStateInitializer, apiRef, props);
53
55
  (0, _internals.useGridInitializeState)(_internals.editingStateInitializer, apiRef, props);
54
56
  (0, _internals.useGridInitializeState)(_internals.focusStateInitializer, apiRef, props);
@@ -59,7 +61,6 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
59
61
  (0, _internals.useGridInitializeState)(_internals.densityStateInitializer, apiRef, props);
60
62
  (0, _internals.useGridInitializeState)(_internals.columnReorderStateInitializer, apiRef, props);
61
63
  (0, _internals.useGridInitializeState)(_internals.columnResizeStateInitializer, apiRef, props);
62
- (0, _internals.useGridInitializeState)(_internals.paginationStateInitializer, apiRef, props);
63
64
  (0, _internals.useGridInitializeState)(_internals.rowsMetaStateInitializer, apiRef, props);
64
65
  (0, _internals.useGridInitializeState)(_internals.columnMenuStateInitializer, apiRef, props);
65
66
  (0, _internals.useGridInitializeState)(_internals.columnGroupsStateInitializer, apiRef, props);
@@ -69,6 +70,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
69
70
  (0, _useGridRowGrouping.useGridRowGrouping)(apiRef, props);
70
71
  (0, _internals.useGridHeaderFiltering)(apiRef, props);
71
72
  (0, _internals.useGridTreeData)(apiRef, props);
73
+ (0, _useGridDataSourcePremium.useGridDataSourcePremium)(apiRef, props);
72
74
  (0, _useGridAggregation.useGridAggregation)(apiRef, props);
73
75
  (0, _internals.useGridKeyboardNavigation)(apiRef, props);
74
76
  (0, _internals.useGridRowSelection)(apiRef, props);
@@ -106,7 +108,6 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
106
108
  (0, _internals.useGridDimensions)(apiRef, props);
107
109
  (0, _internals.useGridEvents)(apiRef, props);
108
110
  (0, _internals.useGridStatePersistence)(apiRef);
109
- (0, _internals.useGridDataSource)(apiRef, props);
110
111
  (0, _internals.useGridVirtualization)(apiRef, props);
111
112
  (0, _internals.useGridListView)(apiRef, props);
112
113
  return apiRef;
@@ -53,7 +53,9 @@ const useDataGridPremiumProps = inProps => {
53
53
  defaultSlots,
54
54
  slots: themedProps.slots
55
55
  }), [themedProps.slots]);
56
- return React.useMemo(() => (0, _extends2.default)({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps, {
56
+ return React.useMemo(() => (0, _extends2.default)({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps.unstable_dataSource ? {
57
+ aggregationFunctions: {}
58
+ } : {}, themedProps, {
57
59
  localeText,
58
60
  slots
59
61
  }, getDataGridPremiumForcedProps(themedProps)), [themedProps, localeText, slots]);
@@ -1,15 +1,16 @@
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;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.GridColumnMenuAggregationItem = GridColumnMenuAggregationItem;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
10
  var _toPropertyKey2 = _interopRequireDefault(require("@babel/runtime/helpers/toPropertyKey"));
12
- var React = _interopRequireWildcard(require("react"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var React = _react;
13
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
15
  var _xDataGridPro = require("@mui/x-data-grid-pro");
15
16
  var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
@@ -20,18 +21,27 @@ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
20
21
  var _gridAggregationUtils = require("../hooks/features/aggregation/gridAggregationUtils");
21
22
  var _gridAggregationSelectors = require("../hooks/features/aggregation/gridAggregationSelectors");
22
23
  var _jsxRuntime = require("react/jsx-runtime");
24
+ const _excluded = ["native"];
23
25
  function GridColumnMenuAggregationItem(props) {
24
26
  const {
25
27
  colDef
26
28
  } = props;
27
29
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
30
+ const inputRef = React.useRef(null);
28
31
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
29
32
  const id = (0, _utils.unstable_useId)();
30
33
  const aggregationModel = (0, _xDataGridPro.useGridSelector)(apiRef, _gridAggregationSelectors.gridAggregationModelSelector);
31
34
  const availableAggregationFunctions = React.useMemo(() => (0, _gridAggregationUtils.getAvailableAggregationFunctions)({
32
35
  aggregationFunctions: rootProps.aggregationFunctions,
33
- colDef
34
- }), [colDef, rootProps.aggregationFunctions]);
36
+ colDef,
37
+ isDataSource: !!rootProps.unstable_dataSource
38
+ }), [colDef, rootProps.aggregationFunctions, rootProps.unstable_dataSource]);
39
+ const _ref = rootProps.slotProps?.baseSelect || {},
40
+ {
41
+ native: isBaseSelectNative = false
42
+ } = _ref,
43
+ baseSelectProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
44
+ const baseSelectOptionProps = rootProps.slotProps?.baseSelectOption || {};
35
45
  const selectedAggregationRule = React.useMemo(() => {
36
46
  if (!colDef || !aggregationModel[colDef.field]) {
37
47
  return '';
@@ -40,12 +50,13 @@ function GridColumnMenuAggregationItem(props) {
40
50
  if ((0, _gridAggregationUtils.canColumnHaveAggregationFunction)({
41
51
  colDef,
42
52
  aggregationFunctionName,
43
- aggregationFunction: rootProps.aggregationFunctions[aggregationFunctionName]
53
+ aggregationFunction: rootProps.aggregationFunctions[aggregationFunctionName],
54
+ isDataSource: !!rootProps.unstable_dataSource
44
55
  })) {
45
56
  return aggregationFunctionName;
46
57
  }
47
58
  return '';
48
- }, [rootProps.aggregationFunctions, aggregationModel, colDef]);
59
+ }, [rootProps.aggregationFunctions, rootProps.unstable_dataSource, aggregationModel, colDef]);
49
60
  const handleAggregationItemChange = event => {
50
61
  const newAggregationItem = event.target?.value || undefined;
51
62
  const currentModel = (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef);
@@ -58,11 +69,22 @@ function GridColumnMenuAggregationItem(props) {
58
69
  apiRef.current.hideColumnMenu();
59
70
  };
60
71
  const label = apiRef.current.getLocaleText('aggregationMenuItemHeader');
72
+ const handleMenuItemKeyDown = React.useCallback(event => {
73
+ if (event.key === 'Enter' || event.key === ' ') {
74
+ inputRef.current.focus();
75
+ }
76
+ }, []);
77
+ const handleSelectKeyDown = React.useCallback(event => {
78
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp' || event.key === ' ') {
79
+ event.stopPropagation();
80
+ }
81
+ }, []);
61
82
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, {
62
83
  inert: true,
63
84
  iconStart: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnMenuAggregationIcon, {
64
85
  fontSize: "small"
65
86
  }),
87
+ onKeyDown: handleMenuItemKeyDown,
66
88
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl.default, {
67
89
  size: "small",
68
90
  fullWidth: true,
@@ -71,30 +93,41 @@ function GridColumnMenuAggregationItem(props) {
71
93
  },
72
94
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, {
73
95
  id: `${id}-label`,
96
+ htmlFor: `${id}-input`,
74
97
  children: label
75
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseSelect, {
98
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseSelect, (0, _extends2.default)({
76
99
  labelId: `${id}-label`,
100
+ inputRef: inputRef,
77
101
  id: `${id}-input`,
78
102
  value: selectedAggregationRule,
79
103
  label: label,
80
104
  color: "primary",
81
105
  onChange: handleAggregationItemChange,
106
+ MenuProps: {
107
+ PaperProps: {
108
+ onKeyDown: handleSelectKeyDown
109
+ }
110
+ },
82
111
  onBlur: event => event.stopPropagation(),
83
- fullWidth: true,
84
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, {
112
+ native: isBaseSelectNative,
113
+ fullWidth: true
114
+ }, baseSelectProps, {
115
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
116
+ native: isBaseSelectNative,
85
117
  value: "",
86
118
  children: "..."
87
- }), availableAggregationFunctions.map(aggFunc => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, {
119
+ })), availableAggregationFunctions.map(aggFunc => /*#__PURE__*/(0, _react.createElement)(rootProps.slots.baseSelectOption, (0, _extends2.default)({}, baseSelectOptionProps, {
120
+ key: aggFunc,
88
121
  value: aggFunc,
89
- children: (0, _gridAggregationUtils.getAggregationFunctionLabel)({
90
- apiRef,
91
- aggregationRule: {
92
- aggregationFunctionName: aggFunc,
93
- aggregationFunction: rootProps.aggregationFunctions[aggFunc]
94
- }
95
- })
96
- }, aggFunc))]
97
- })]
122
+ native: isBaseSelectNative
123
+ }), (0, _gridAggregationUtils.getAggregationFunctionLabel)({
124
+ apiRef,
125
+ aggregationRule: {
126
+ aggregationFunctionName: aggFunc,
127
+ aggregationFunction: rootProps.aggregationFunctions[aggFunc]
128
+ }
129
+ })))]
130
+ }))]
98
131
  })
99
132
  });
100
133
  }
@@ -4,7 +4,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { useLicenseVerifier, Watermark } from '@mui/x-license';
7
- import { GridBody, GridFooterPlaceholder, GridHeader, GridRoot, GridContextProvider } from '@mui/x-data-grid-pro';
7
+ import { GridRoot, GridContextProvider } from '@mui/x-data-grid-pro';
8
8
  import { propValidatorsDataGrid, propValidatorsDataGridPro, validateProps } from '@mui/x-data-grid-pro/internals';
9
9
  import { forwardRef } from '@mui/x-internals/forwardRef';
10
10
  import { useDataGridPremiumComponent } from "./useDataGridPremiumComponent.js";
@@ -12,7 +12,7 @@ import { useDataGridPremiumProps } from "./useDataGridPremiumProps.js";
12
12
  import { getReleaseInfo } from "../utils/releaseInfo.js";
13
13
  import { useGridAriaAttributes } from "../hooks/utils/useGridAriaAttributes.js";
14
14
  import { useGridRowAriaAttributes } from "../hooks/features/rows/useGridRowAriaAttributes.js";
15
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
16
  const configuration = {
17
17
  hooks: {
18
18
  useGridAriaAttributes,
@@ -35,18 +35,16 @@ const DataGridPremiumRaw = forwardRef(function DataGridPremium(inProps, ref) {
35
35
  privateApiRef: privateApiRef,
36
36
  configuration: configuration,
37
37
  props: props,
38
- children: /*#__PURE__*/_jsxs(GridRoot, _extends({
38
+ children: /*#__PURE__*/_jsx(GridRoot, _extends({
39
39
  className: props.className,
40
40
  style: props.style,
41
41
  sx: props.sx
42
42
  }, props.slotProps?.root, {
43
43
  ref: ref,
44
- children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {
45
- children: /*#__PURE__*/_jsx(Watermark, {
46
- packageName: "x-data-grid-premium",
47
- releaseInfo: releaseInfo
48
- })
49
- }), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
44
+ children: /*#__PURE__*/_jsx(Watermark, {
45
+ packageName: "x-data-grid-premium",
46
+ releaseInfo: releaseInfo
47
+ })
50
48
  }))
51
49
  });
52
50
  });
@@ -57,7 +55,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
57
55
  // ----------------------------------------------------------------------
58
56
  /**
59
57
  * Aggregation functions available on the grid.
60
- * @default GRID_AGGREGATION_FUNCTIONS
58
+ * @default GRID_AGGREGATION_FUNCTIONS when `unstable_dataSource` is not provided, `{}` when `unstable_dataSource` is provided
61
59
  */
62
60
  aggregationFunctions: PropTypes.object,
63
61
  /**
@@ -1037,6 +1035,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1037
1035
  */
1038
1036
  treeData: PropTypes.bool,
1039
1037
  unstable_dataSource: PropTypes.shape({
1038
+ getAggregatedValue: PropTypes.func,
1040
1039
  getChildrenCount: PropTypes.func,
1041
1040
  getGroupKey: PropTypes.func,
1042
1041
  getRows: PropTypes.func.isRequired,
@@ -1,4 +1,5 @@
1
- import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, useGridDataSourceLazyLoader, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, useGridDataSource, dataSourceStateInitializer, useGridRowSpanning, rowSpanningStateInitializer, useGridListView, listViewStateInitializer } from '@mui/x-data-grid-pro/internals';
1
+ import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, useGridDataSourceLazyLoader, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, dataSourceStateInitializer, useGridRowSpanning, rowSpanningStateInitializer, useGridListView, listViewStateInitializer } from '@mui/x-data-grid-pro/internals';
2
+ import { useGridDataSourcePremium as useGridDataSource } from "../hooks/features/dataSource/useGridDataSourcePremium.js";
2
3
  // Premium-only features
3
4
  import { useGridAggregation, aggregationStateInitializer } from "../hooks/features/aggregation/useGridAggregation.js";
4
5
  import { useGridAggregationPreProcessors } from "../hooks/features/aggregation/useGridAggregationPreProcessors.js";
@@ -42,6 +43,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
42
43
  useGridInitializeState(columnPinningStateInitializer, apiRef, props);
43
44
  useGridInitializeState(columnsStateInitializer, apiRef, props);
44
45
  useGridInitializeState(rowPinningStateInitializer, apiRef, props);
46
+ useGridInitializeState(paginationStateInitializer, apiRef, props);
45
47
  useGridInitializeState(rowsStateInitializer, apiRef, props);
46
48
  useGridInitializeState(editingStateInitializer, apiRef, props);
47
49
  useGridInitializeState(focusStateInitializer, apiRef, props);
@@ -52,7 +54,6 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
52
54
  useGridInitializeState(densityStateInitializer, apiRef, props);
53
55
  useGridInitializeState(columnReorderStateInitializer, apiRef, props);
54
56
  useGridInitializeState(columnResizeStateInitializer, apiRef, props);
55
- useGridInitializeState(paginationStateInitializer, apiRef, props);
56
57
  useGridInitializeState(rowsMetaStateInitializer, apiRef, props);
57
58
  useGridInitializeState(columnMenuStateInitializer, apiRef, props);
58
59
  useGridInitializeState(columnGroupsStateInitializer, apiRef, props);
@@ -62,6 +63,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
62
63
  useGridRowGrouping(apiRef, props);
63
64
  useGridHeaderFiltering(apiRef, props);
64
65
  useGridTreeData(apiRef, props);
66
+ useGridDataSource(apiRef, props);
65
67
  useGridAggregation(apiRef, props);
66
68
  useGridKeyboardNavigation(apiRef, props);
67
69
  useGridRowSelection(apiRef, props);
@@ -99,7 +101,6 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
99
101
  useGridDimensions(apiRef, props);
100
102
  useGridEvents(apiRef, props);
101
103
  useGridStatePersistence(apiRef);
102
- useGridDataSource(apiRef, props);
103
104
  useGridVirtualization(apiRef, props);
104
105
  useGridListView(apiRef, props);
105
106
  return apiRef;
@@ -45,7 +45,9 @@ export const useDataGridPremiumProps = inProps => {
45
45
  defaultSlots,
46
46
  slots: themedProps.slots
47
47
  }), [themedProps.slots]);
48
- return React.useMemo(() => _extends({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps, {
48
+ return React.useMemo(() => _extends({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps.unstable_dataSource ? {
49
+ aggregationFunctions: {}
50
+ } : {}, themedProps, {
49
51
  localeText,
50
52
  slots
51
53
  }, getDataGridPremiumForcedProps(themedProps)), [themedProps, localeText, slots]);