@mui/x-data-grid-premium 7.7.1 → 7.8.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 (34) hide show
  1. package/CHANGELOG.md +100 -1
  2. package/DataGridPremium/DataGridPremium.js +22 -10
  3. package/DataGridPremium/useDataGridPremiumComponent.js +4 -1
  4. package/DataGridPremium/useDataGridPremiumProps.js +10 -3
  5. package/esm/DataGridPremium/DataGridPremium.js +22 -10
  6. package/esm/DataGridPremium/useDataGridPremiumComponent.js +5 -2
  7. package/esm/DataGridPremium/useDataGridPremiumProps.js +9 -3
  8. package/esm/utils/releaseInfo.js +1 -1
  9. package/hooks/features/aggregation/createAggregationLookup.d.ts +2 -2
  10. package/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
  11. package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
  12. package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +27 -27
  13. package/hooks/features/cellSelection/useGridCellSelection.d.ts +1 -1
  14. package/hooks/features/clipboard/useGridClipboardImport.d.ts +1 -1
  15. package/hooks/features/export/serializer/excelSerializer.d.ts +1 -2
  16. package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +2 -2
  17. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
  18. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
  19. package/hooks/utils/useGridApiContext.d.ts +0 -1
  20. package/hooks/utils/useGridApiRef.d.ts +0 -1
  21. package/hooks/utils/useGridPrivateApiContext.d.ts +0 -1
  22. package/hooks/utils/useKeepGroupedColumnsHidden.d.ts +1 -1
  23. package/index.js +1 -1
  24. package/material/index.d.ts +0 -1
  25. package/models/gridApiPremium.d.ts +3 -3
  26. package/models/gridGroupingValueGetter.d.ts +0 -1
  27. package/models/gridPastedValueParser.d.ts +0 -1
  28. package/modern/DataGridPremium/DataGridPremium.js +22 -10
  29. package/modern/DataGridPremium/useDataGridPremiumComponent.js +5 -2
  30. package/modern/DataGridPremium/useDataGridPremiumProps.js +9 -3
  31. package/modern/index.js +1 -1
  32. package/modern/utils/releaseInfo.js +1 -1
  33. package/package.json +4 -4
  34. package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,105 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.8.0
7
+
8
+ _Jun 28, 2024_
9
+
10
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🛰 Introduce server-side data source for improved server integration in the Data Grid.
13
+
14
+ Supports server-side pagination, sorting and filtering on plain and tree data, and automatic caching.
15
+
16
+ To enable, provide a `getRows` function to the `unstable_dataSource` prop on the Data Grid component.
17
+
18
+ ```tsx
19
+ const dataSource = {
20
+ getRows: async (params: GridServerGetRowsParams) => {
21
+ const data = await fetch(
22
+ `https://api.example.com/data?${new URLSearchParams({
23
+ page: params.page,
24
+ pageSize: params.pageSize,
25
+ sortModel: JSON.stringify(params.sortModel),
26
+ filterModel: JSON.stringify(params.filterModel),
27
+ }).toString()}`,
28
+ );
29
+ return {
30
+ rows: data.rows,
31
+ totalRows: data.totalRows,
32
+ };
33
+ },
34
+ }
35
+ <DataGridPro
36
+ unstable_dataSource={dataSource}
37
+ {...otherProps}
38
+ />
39
+ ```
40
+
41
+ See [server-side data documentation](https://mui.com/x/react-data-grid/server-side-data/) for more details.
42
+
43
+ - 📈 Support Date data on the BarChart component
44
+ - ↕️ Support custom column sort icons on the Data Grid
45
+ - 🖱️ Support modifying the expansion trigger on the Tree View components
46
+
47
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
48
+
49
+ ### Data Grid
50
+
51
+ #### `@mui/x-data-grid@7.8.0`
52
+
53
+ - [DataGrid] Add `columnHeaderSortIcon` slot (#13563) @arminmeh
54
+ - [DataGrid] Fix dimensions lag issue after autosize (#13587) @MBilalShafi
55
+ - [DataGrid] Fix print export failure when `hideFooter` option is set (#13034) @tarunrajput
56
+
57
+ #### `@mui/x-data-grid-pro@7.8.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
58
+
59
+ Same changes as in `@mui/x-data-grid@7.8.0`, plus:
60
+
61
+ - [DataGridPro] Fix multi-sorting indicator being cut off (#13625) @KenanYusuf
62
+ - [DataGridPro] Server-side tree data support (#12317) @MBilalShafi
63
+
64
+ #### `@mui/x-data-grid-premium@7.8.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
65
+
66
+ Same changes as in `@mui/x-data-grid-pro@7.8.0`.
67
+
68
+ ### Date and Time Pickers
69
+
70
+ #### `@mui/x-date-pickers@7.8.0`
71
+
72
+ - [fields] Fix section clearing behavior on Android (#13652) @LukasTy
73
+
74
+ #### `@mui/x-date-pickers-pro@7.8.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
75
+
76
+ Same changes as in `@mui/x-date-pickers@7.8.0`.
77
+
78
+ ### Charts
79
+
80
+ #### `@mui/x-charts@7.8.0`
81
+
82
+ - [charts] Fix line chart props not passing correct event handlers (#13609) @JCQuintas
83
+ - [charts] Support BarChart with `Date` data (#13471) @alexfauquette
84
+ - [charts] Support RTL for y-axis (#13614) @alexfauquette
85
+ - [charts] Use default values instead of non-null assertion to prevent error being thrown (#13637) @JCQuintas
86
+
87
+ ### Tree View
88
+
89
+ #### `@mui/x-tree-view@7.8.0`
90
+
91
+ - [TreeView] Add `expansionTrigger` prop (#13533) @noraleonte
92
+ - [TreeView] Support experimental features from plugin's dependencies (#13632) @flaviendelangle
93
+
94
+ ### Docs
95
+
96
+ - [docs] Add callout for `Luxon` `throwOnInvalid` support (#13621) @LukasTy
97
+ - [docs] Add "Overlays" section to the Data Grid documentation (#13624) @KenanYusuf
98
+
99
+ ### Core
100
+
101
+ - [core] Add eslint rule to restrict import from `../internals` root (#13633) @JCQuintas
102
+ - [docs-infra] Sync `\_app` folder with monorepo (#13582) @Janpot
103
+ - [license] Allow usage of charts and tree view pro package for old premium licenses (#13619) @flaviendelangle
104
+
6
105
  ## 7.7.1
7
106
 
8
107
  _Jun 21, 2024_
@@ -44,7 +143,7 @@ Same changes as in `@mui/x-data-grid-pro@7.7.1`.
44
143
  - [pickers] Always use the same timezone in the field, the view and the layout components (#13481) @flaviendelangle
45
144
  - [pickers] Fix `AdapterDateFnsV3` generated method types (#13464) @alexey-kozlenkov
46
145
  - [pickers] Fix controlled `view` behavior (#13552) @LukasTy
47
- - [TimePicker] Improves RTL verification for the time pickers default views (#13447) @arthurbalduini
146
+ - [TimePicker] Improves RTL verification for the time pickers default views (#13447) @arthurbalduini
48
147
 
49
148
  #### `@mui/x-date-pickers-pro@7.7.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
50
149
 
@@ -48,14 +48,6 @@ const DataGridPremiumRaw = /*#__PURE__*/React.forwardRef(function DataGridPremiu
48
48
  }))
49
49
  });
50
50
  });
51
- /**
52
- * Demos:
53
- * - [DataGridPremium](https://mui.com/x/react-data-grid/demo/)
54
- *
55
- * API:
56
- * - [DataGridPremium API](https://mui.com/x/api/data-grid/data-grid-premium/)
57
- */
58
- const DataGridPremium = exports.DataGridPremium = /*#__PURE__*/React.memo(DataGridPremiumRaw);
59
51
  process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
60
52
  // ----------------------------- Warning --------------------------------
61
53
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -1012,5 +1004,25 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1012
1004
  * If `true`, the rows will be gathered in a tree structure according to the `getTreeDataPath` prop.
1013
1005
  * @default false
1014
1006
  */
1015
- treeData: _propTypes.default.bool
1016
- } : void 0;
1007
+ treeData: _propTypes.default.bool,
1008
+ unstable_dataSource: _propTypes.default.shape({
1009
+ getChildrenCount: _propTypes.default.func,
1010
+ getGroupKey: _propTypes.default.func,
1011
+ getRows: _propTypes.default.func.isRequired,
1012
+ updateRow: _propTypes.default.func
1013
+ }),
1014
+ unstable_dataSourceCache: _propTypes.default.shape({
1015
+ clear: _propTypes.default.func.isRequired,
1016
+ get: _propTypes.default.func.isRequired,
1017
+ set: _propTypes.default.func.isRequired
1018
+ }),
1019
+ unstable_onDataSourceError: _propTypes.default.func
1020
+ } : void 0;
1021
+ /**
1022
+ * Demos:
1023
+ * - [DataGridPremium](https://mui.com/x/react-data-grid/demo/)
1024
+ *
1025
+ * API:
1026
+ * - [DataGridPremium API](https://mui.com/x/api/data-grid/data-grid-premium/)
1027
+ */
1028
+ const DataGridPremium = exports.DataGridPremium = /*#__PURE__*/React.memo(DataGridPremiumRaw);
@@ -24,6 +24,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
24
24
  (0, _internals.useGridRowReorderPreProcessors)(apiRef, props);
25
25
  (0, _useGridRowGroupingPreProcessors.useGridRowGroupingPreProcessors)(apiRef, props);
26
26
  (0, _internals.useGridTreeDataPreProcessors)(apiRef, props);
27
+ (0, _internals.useGridDataSourceTreeDataPreProcessors)(apiRef, props);
27
28
  (0, _internals.useGridLazyLoaderPreProcessors)(apiRef, props);
28
29
  (0, _internals.useGridRowPinningPreProcessors)(apiRef);
29
30
  (0, _useGridAggregationPreProcessors.useGridAggregationPreProcessors)(apiRef, props);
@@ -60,9 +61,10 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
60
61
  (0, _internals.useGridInitializeState)(_internals.columnMenuStateInitializer, apiRef, props);
61
62
  (0, _internals.useGridInitializeState)(_internals.columnGroupsStateInitializer, apiRef, props);
62
63
  (0, _internals.useGridInitializeState)(_internals.virtualizationStateInitializer, apiRef, props);
64
+ (0, _internals.useGridInitializeState)(_internals.dataSourceStateInitializer, apiRef, props);
63
65
  (0, _useGridRowGrouping.useGridRowGrouping)(apiRef, props);
64
66
  (0, _internals.useGridHeaderFiltering)(apiRef, props);
65
- (0, _internals.useGridTreeData)(apiRef);
67
+ (0, _internals.useGridTreeData)(apiRef, props);
66
68
  (0, _useGridAggregation.useGridAggregation)(apiRef, props);
67
69
  (0, _internals.useGridKeyboardNavigation)(apiRef, props);
68
70
  (0, _internals.useGridRowSelection)(apiRef, props);
@@ -98,6 +100,7 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
98
100
  (0, _internals.useGridDimensions)(apiRef, props);
99
101
  (0, _internals.useGridEvents)(apiRef, props);
100
102
  (0, _internals.useGridStatePersistence)(apiRef);
103
+ (0, _internals.useGridDataSource)(apiRef, props);
101
104
  (0, _internals.useGridVirtualization)(apiRef, props);
102
105
  return apiRef;
103
106
  };
@@ -14,6 +14,14 @@ var _aggregation = require("../hooks/features/aggregation");
14
14
  var _dataGridPremiumDefaultSlotsComponents = require("../constants/dataGridPremiumDefaultSlotsComponents");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ const getDataGridPremiumForcedProps = themedProps => (0, _extends2.default)({
18
+ signature: 'DataGridPremium'
19
+ }, themedProps.unstable_dataSource ? {
20
+ filterMode: 'server',
21
+ sortingMode: 'server',
22
+ paginationMode: 'server'
23
+ } : {});
24
+
17
25
  /**
18
26
  * The default values of `DataGridPremiumPropsWithDefaultValue` to inject in the props of DataGridPremium.
19
27
  */
@@ -48,8 +56,7 @@ const useDataGridPremiumProps = inProps => {
48
56
  }), [themedProps.slots]);
49
57
  return React.useMemo(() => (0, _extends2.default)({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps, {
50
58
  localeText,
51
- slots,
52
- signature: 'DataGridPremium'
53
- }), [themedProps, localeText, slots]);
59
+ slots
60
+ }, getDataGridPremiumForcedProps(themedProps)), [themedProps, localeText, slots]);
54
61
  };
55
62
  exports.useDataGridPremiumProps = useDataGridPremiumProps;
@@ -40,14 +40,6 @@ const DataGridPremiumRaw = /*#__PURE__*/React.forwardRef(function DataGridPremiu
40
40
  }))
41
41
  });
42
42
  });
43
- /**
44
- * Demos:
45
- * - [DataGridPremium](https://mui.com/x/react-data-grid/demo/)
46
- *
47
- * API:
48
- * - [DataGridPremium API](https://mui.com/x/api/data-grid/data-grid-premium/)
49
- */
50
- export const DataGridPremium = /*#__PURE__*/React.memo(DataGridPremiumRaw);
51
43
  process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
52
44
  // ----------------------------- Warning --------------------------------
53
45
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -1004,5 +996,25 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1004
996
  * If `true`, the rows will be gathered in a tree structure according to the `getTreeDataPath` prop.
1005
997
  * @default false
1006
998
  */
1007
- treeData: PropTypes.bool
1008
- } : void 0;
999
+ treeData: PropTypes.bool,
1000
+ unstable_dataSource: PropTypes.shape({
1001
+ getChildrenCount: PropTypes.func,
1002
+ getGroupKey: PropTypes.func,
1003
+ getRows: PropTypes.func.isRequired,
1004
+ updateRow: PropTypes.func
1005
+ }),
1006
+ unstable_dataSourceCache: PropTypes.shape({
1007
+ clear: PropTypes.func.isRequired,
1008
+ get: PropTypes.func.isRequired,
1009
+ set: PropTypes.func.isRequired
1010
+ }),
1011
+ unstable_onDataSourceError: PropTypes.func
1012
+ } : void 0;
1013
+ /**
1014
+ * Demos:
1015
+ * - [DataGridPremium](https://mui.com/x/react-data-grid/demo/)
1016
+ *
1017
+ * API:
1018
+ * - [DataGridPremium API](https://mui.com/x/api/data-grid/data-grid-premium/)
1019
+ */
1020
+ export const DataGridPremium = /*#__PURE__*/React.memo(DataGridPremiumRaw);
@@ -1,4 +1,4 @@
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, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization } 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, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, useGridDataSource, dataSourceStateInitializer } from '@mui/x-data-grid-pro/internals';
2
2
  // Premium-only features
3
3
  import { useGridAggregation, aggregationStateInitializer } from '../hooks/features/aggregation/useGridAggregation';
4
4
  import { useGridAggregationPreProcessors } from '../hooks/features/aggregation/useGridAggregationPreProcessors';
@@ -17,6 +17,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
17
17
  useGridRowReorderPreProcessors(apiRef, props);
18
18
  useGridRowGroupingPreProcessors(apiRef, props);
19
19
  useGridTreeDataPreProcessors(apiRef, props);
20
+ useGridDataSourceTreeDataPreProcessors(apiRef, props);
20
21
  useGridLazyLoaderPreProcessors(apiRef, props);
21
22
  useGridRowPinningPreProcessors(apiRef);
22
23
  useGridAggregationPreProcessors(apiRef, props);
@@ -53,9 +54,10 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
53
54
  useGridInitializeState(columnMenuStateInitializer, apiRef, props);
54
55
  useGridInitializeState(columnGroupsStateInitializer, apiRef, props);
55
56
  useGridInitializeState(virtualizationStateInitializer, apiRef, props);
57
+ useGridInitializeState(dataSourceStateInitializer, apiRef, props);
56
58
  useGridRowGrouping(apiRef, props);
57
59
  useGridHeaderFiltering(apiRef, props);
58
- useGridTreeData(apiRef);
60
+ useGridTreeData(apiRef, props);
59
61
  useGridAggregation(apiRef, props);
60
62
  useGridKeyboardNavigation(apiRef, props);
61
63
  useGridRowSelection(apiRef, props);
@@ -91,6 +93,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
91
93
  useGridDimensions(apiRef, props);
92
94
  useGridEvents(apiRef, props);
93
95
  useGridStatePersistence(apiRef);
96
+ useGridDataSource(apiRef, props);
94
97
  useGridVirtualization(apiRef, props);
95
98
  return apiRef;
96
99
  };
@@ -5,6 +5,13 @@ import { DATA_GRID_PRO_PROPS_DEFAULT_VALUES, GRID_DEFAULT_LOCALE_TEXT } from '@m
5
5
  import { computeSlots, useProps } from '@mui/x-data-grid-pro/internals';
6
6
  import { GRID_AGGREGATION_FUNCTIONS } from '../hooks/features/aggregation';
7
7
  import { DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS } from '../constants/dataGridPremiumDefaultSlotsComponents';
8
+ const getDataGridPremiumForcedProps = themedProps => _extends({
9
+ signature: 'DataGridPremium'
10
+ }, themedProps.unstable_dataSource ? {
11
+ filterMode: 'server',
12
+ sortingMode: 'server',
13
+ paginationMode: 'server'
14
+ } : {});
8
15
 
9
16
  /**
10
17
  * The default values of `DataGridPremiumPropsWithDefaultValue` to inject in the props of DataGridPremium.
@@ -40,7 +47,6 @@ export const useDataGridPremiumProps = inProps => {
40
47
  }), [themedProps.slots]);
41
48
  return React.useMemo(() => _extends({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps, {
42
49
  localeText,
43
- slots,
44
- signature: 'DataGridPremium'
45
- }), [themedProps, localeText, slots]);
50
+ slots
51
+ }, getDataGridPremiumForcedProps(themedProps)), [themedProps, localeText, slots]);
46
52
  };
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcxODkyMDgwMDAwMA==";
3
+ const releaseInfo = "MTcxOTUyOTIwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -5,6 +5,6 @@ import { GridAggregationFunction, GridAggregationLookup } from './gridAggregatio
5
5
  export declare const createAggregationLookup: ({ apiRef, aggregationFunctions, aggregationRowsScope, getAggregationPosition, }: {
6
6
  apiRef: React.MutableRefObject<GridApiPremium>;
7
7
  aggregationFunctions: Record<string, GridAggregationFunction>;
8
- aggregationRowsScope: DataGridPremiumProcessedProps['aggregationRowsScope'];
9
- getAggregationPosition: DataGridPremiumProcessedProps['getAggregationPosition'];
8
+ aggregationRowsScope: DataGridPremiumProcessedProps["aggregationRowsScope"];
9
+ getAggregationPosition: DataGridPremiumProcessedProps["getAggregationPosition"];
10
10
  }) => GridAggregationLookup;
@@ -3,4 +3,4 @@ import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
3
3
  import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
4
  import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
5
5
  export declare const aggregationStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'aggregationModel' | 'initialState'>, GridPrivateApiPremium>;
6
- export declare const useGridAggregation: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'onAggregationModelChange' | 'initialState' | 'aggregationModel' | 'getAggregationPosition' | 'aggregationFunctions' | 'aggregationRowsScope' | 'disableAggregation' | 'rowGroupingColumnMode'>) => void;
6
+ export declare const useGridAggregation: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "onAggregationModelChange" | "initialState" | "aggregationModel" | "getAggregationPosition" | "aggregationFunctions" | "aggregationRowsScope" | "disableAggregation" | "rowGroupingColumnMode">) => void;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
3
3
  import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
- export declare const useGridAggregationPreProcessors: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'aggregationFunctions' | 'disableAggregation' | 'getAggregationPosition' | 'slotProps' | 'slots'>) => void;
4
+ export declare const useGridAggregationPreProcessors: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "aggregationFunctions" | "disableAggregation" | "getAggregationPosition" | "slotProps" | "slots">) => void;
@@ -27,46 +27,46 @@ export declare const unwrapColumnFromAggregation: ({ column, }: {
27
27
  column: GridColDef | GridColDefWithAggregationWrappers;
28
28
  }) => GridBaseColDef<any, any, any> | {
29
29
  field: string;
30
- headerName?: string | undefined;
31
- description?: string | undefined;
32
- width?: number | undefined;
33
- flex?: number | undefined;
34
- minWidth?: number | undefined;
35
- maxWidth?: number | undefined;
36
- hideable?: boolean | undefined;
37
- sortable?: boolean | undefined;
38
- sortingOrder?: import("@mui/x-data-grid-pro").GridSortDirection[] | undefined;
39
- resizable?: boolean | undefined;
40
- editable?: boolean | undefined;
41
- groupable?: boolean | undefined;
42
- pinnable?: boolean | undefined;
30
+ headerName?: string;
31
+ description?: string;
32
+ width?: number;
33
+ flex?: number;
34
+ minWidth?: number;
35
+ maxWidth?: number;
36
+ hideable?: boolean;
37
+ sortable?: boolean;
38
+ sortingOrder?: import("@mui/x-data-grid-pro").GridSortDirection[];
39
+ resizable?: boolean;
40
+ editable?: boolean;
41
+ groupable?: boolean;
42
+ pinnable?: boolean;
43
43
  sortComparator?: import("@mui/x-data-grid-pro").GridComparatorFn<any> | undefined;
44
44
  getSortComparator?: ((sortDirection: import("@mui/x-data-grid-pro").GridSortDirection) => import("@mui/x-data-grid-pro").GridComparatorFn<any> | undefined) | undefined;
45
- type?: import("@mui/x-data-grid-pro").GridColType | undefined;
46
- align?: import("@mui/x-data-grid-pro").GridAlignment | undefined;
45
+ type?: import("@mui/x-data-grid-pro").GridColType;
46
+ align?: import("@mui/x-data-grid-pro").GridAlignment;
47
47
  valueGetter?: import("@mui/x-data-grid-pro").GridValueGetter<import("@mui/x-data-grid-pro").GridValidRowModel, any, any, never> | undefined;
48
48
  valueSetter?: import("@mui/x-data-grid-pro").GridValueSetter<import("@mui/x-data-grid-pro").GridValidRowModel, any, any> | undefined;
49
49
  valueFormatter?: import("@mui/x-data-grid-pro").GridValueFormatter<import("@mui/x-data-grid-pro").GridValidRowModel, any, any, never> | undefined;
50
50
  valueParser?: import("@mui/x-data-grid-pro").GridValueParser<import("@mui/x-data-grid-pro").GridValidRowModel, any, any> | undefined;
51
51
  cellClassName?: import("@mui/x-data-grid-pro").GridCellClassNamePropType<import("@mui/x-data-grid-pro").GridValidRowModel, any> | undefined;
52
- display?: "text" | "flex" | undefined;
52
+ display?: "text" | "flex";
53
53
  renderCell?: ((params: import("@mui/x-data-grid-pro").GridRenderCellParams<import("@mui/x-data-grid-pro").GridValidRowModel, any, any, import("@mui/x-data-grid-pro").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
54
54
  renderEditCell?: ((params: import("@mui/x-data-grid-pro").GridRenderEditCellParams<import("@mui/x-data-grid-pro").GridValidRowModel, any, any, import("@mui/x-data-grid-pro").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
55
- preProcessEditCellProps?: ((params: import("@mui/x-data-grid-pro").GridPreProcessEditCellProps<any, any>) => import("@mui/x-data-grid-pro").GridEditCellProps<any> | Promise<import("@mui/x-data-grid-pro").GridEditCellProps<any>>) | undefined;
56
- headerClassName?: import("@mui/x-data-grid-pro").GridColumnHeaderClassNamePropType | undefined;
55
+ preProcessEditCellProps?: ((params: import("@mui/x-data-grid-pro").GridPreProcessEditCellProps) => import("@mui/x-data-grid-pro").GridEditCellProps | Promise<import("@mui/x-data-grid-pro").GridEditCellProps>) | undefined;
56
+ headerClassName?: import("@mui/x-data-grid-pro").GridColumnHeaderClassNamePropType;
57
57
  renderHeader?: ((params: import("@mui/x-data-grid-pro").GridColumnHeaderParams<import("@mui/x-data-grid-pro").GridValidRowModel, any, any>) => React.ReactNode) | undefined;
58
- headerAlign?: import("@mui/x-data-grid-pro").GridAlignment | undefined;
59
- hideSortIcons?: boolean | undefined;
60
- disableColumnMenu?: boolean | undefined;
61
- filterable?: boolean | undefined;
58
+ headerAlign?: import("@mui/x-data-grid-pro").GridAlignment;
59
+ hideSortIcons?: boolean;
60
+ disableColumnMenu?: boolean;
61
+ filterable?: boolean;
62
62
  filterOperators?: GridFilterOperator<import("@mui/x-data-grid-pro").GridValidRowModel, any, any>[] | undefined;
63
63
  getApplyQuickFilterFn?: import("@mui/x-data-grid-pro").GetApplyQuickFilterFn<import("@mui/x-data-grid-pro").GridValidRowModel, any> | undefined;
64
- disableReorder?: boolean | undefined;
65
- disableExport?: boolean | undefined;
64
+ disableReorder?: boolean;
65
+ disableExport?: boolean;
66
66
  colSpan?: number | import("@mui/x-data-grid-pro").GridColSpanFn<import("@mui/x-data-grid-pro").GridValidRowModel, any, any> | undefined;
67
- renderHeaderFilter?: ((params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode) | undefined;
68
- aggregable?: boolean | undefined;
69
- availableAggregationFunctions?: string[] | undefined;
67
+ renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
68
+ aggregable?: boolean;
69
+ availableAggregationFunctions?: string[];
70
70
  groupingValueGetter?: import("../../..").GridGroupingValueGetter<import("@mui/x-data-grid-pro").GridValidRowModel> | undefined;
71
71
  pastedValueParser?: import("../../..").GridPastedValueParser<import("@mui/x-data-grid-pro").GridValidRowModel, any, any> | undefined;
72
72
  };
@@ -3,4 +3,4 @@ import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
3
3
  import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
4
  import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
5
5
  export declare const cellSelectionStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'cellSelectionModel' | 'initialState'>>;
6
- export declare const useGridCellSelection: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'cellSelection' | 'cellSelectionModel' | 'onCellSelectionModelChange' | 'pagination' | 'paginationMode' | 'ignoreValueFormatterDuringExport' | 'clipboardCopyCellDelimiter' | 'columnHeaderHeight'>) => void;
6
+ export declare const useGridCellSelection: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "cellSelection" | "cellSelectionModel" | "onCellSelectionModelChange" | "pagination" | "paginationMode" | "ignoreValueFormatterDuringExport" | "clipboardCopyCellDelimiter" | "columnHeaderHeight">) => void;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
3
3
  import type { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
- export declare const useGridClipboardImport: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'pagination' | 'paginationMode' | 'processRowUpdate' | 'onProcessRowUpdateError' | 'getRowId' | 'onClipboardPasteStart' | 'onClipboardPasteEnd' | 'splitClipboardPastedText' | 'disableClipboardPaste' | 'onBeforeClipboardPasteStart'>) => void;
4
+ export declare const useGridClipboardImport: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "pagination" | "paginationMode" | "processRowUpdate" | "onProcessRowUpdateError" | "getRowId" | "onClipboardPasteStart" | "onClipboardPasteEnd" | "splitClipboardPastedText" | "disableClipboardPaste" | "onBeforeClipboardPasteStart">) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type * as Excel from 'exceljs';
3
2
  import { GridRowId, GridColDef } from '@mui/x-data-grid-pro';
4
3
  import { GridStateColDef, GridColumnGroupLookup } from '@mui/x-data-grid/internals';
@@ -23,7 +22,7 @@ export declare const serializeRowUnsafe: (id: GridRowId, columns: GridStateColDe
23
22
  [field: string]: {
24
23
  address: string;
25
24
  };
26
- }, options: Pick<BuildExcelOptions, 'escapeFormulas'>) => SerializedRow;
25
+ }, options: Pick<BuildExcelOptions, "escapeFormulas">) => SerializedRow;
27
26
  export declare const serializeColumn: (column: GridColDef, columnsStyles: ColumnsStylesInterface) => {
28
27
  key: string;
29
28
  headerText: string;
@@ -22,8 +22,8 @@ interface FilterRowTreeFromTreeDataParams {
22
22
  * - One of its children is passing the filter
23
23
  * - It is passing the filter
24
24
  */
25
- export declare const filterRowTreeFromGroupingColumns: (params: FilterRowTreeFromTreeDataParams) => Omit<GridFilterState, 'filterModel'>;
26
- export declare const getColDefOverrides: (groupingColDefProp: DataGridPremiumProcessedProps['groupingColDef'], fields: string[]) => import("@mui/x-data-grid-pro").GridGroupingColDefOverride<any> | null | undefined;
25
+ export declare const filterRowTreeFromGroupingColumns: (params: FilterRowTreeFromTreeDataParams) => Omit<GridFilterState, "filterModel">;
26
+ export declare const getColDefOverrides: (groupingColDefProp: DataGridPremiumProcessedProps["groupingColDef"], fields: string[]) => import("@mui/x-data-grid-pro").GridGroupingColDefOverride<any> | null | undefined;
27
27
  export declare const mergeStateWithRowGroupingModel: (rowGroupingModel: GridRowGroupingModel) => (state: GridStatePremium) => GridStatePremium;
28
28
  export declare const setStrategyAvailability: (privateApiRef: React.MutableRefObject<GridPrivateApiPremium>, disableRowGrouping: boolean) => void;
29
29
  export declare const getCellGroupingCriteria: ({ row, colDef, groupingRule, apiRef, }: {
@@ -8,4 +8,4 @@ export declare const rowGroupingStateInitializer: GridStateInitializer<Pick<Data
8
8
  * @requires useGridRows (state, method) - can be after, async only
9
9
  * @requires useGridParamsApi (method) - can be after, async only
10
10
  */
11
- export declare const useGridRowGrouping: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'initialState' | 'rowGroupingModel' | 'onRowGroupingModelChange' | 'defaultGroupingExpansionDepth' | 'isGroupExpandedByDefault' | 'groupingColDef' | 'rowGroupingColumnMode' | 'disableRowGrouping' | 'slotProps' | 'slots'>) => void;
11
+ export declare const useGridRowGrouping: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "initialState" | "rowGroupingModel" | "onRowGroupingModelChange" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "groupingColDef" | "rowGroupingColumnMode" | "disableRowGrouping" | "slotProps" | "slots">) => void;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
3
3
  import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
4
- export declare const useGridRowGroupingPreProcessors: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, 'disableRowGrouping' | 'groupingColDef' | 'rowGroupingColumnMode' | 'defaultGroupingExpansionDepth' | 'isGroupExpandedByDefault'>) => void;
4
+ export declare const useGridRowGroupingPreProcessors: (apiRef: React.MutableRefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "disableRowGrouping" | "groupingColDef" | "rowGroupingColumnMode" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault">) => void;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { GridApiPremium } from '../../models/gridApiPremium';
3
2
  export declare const useGridApiContext: () => import("react").MutableRefObject<GridApiPremium>;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { GridApiPremium } from '../../models/gridApiPremium';
3
2
  export declare const useGridApiRef: () => import("react").MutableRefObject<GridApiPremium>;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { GridPrivateApiPremium } from '../../models/gridApiPremium';
3
2
  export declare const useGridPrivateApiContext: () => import("react").MutableRefObject<GridPrivateApiPremium>;
@@ -9,4 +9,4 @@ import { DataGridPremiumProps } from '../../models/dataGridPremiumProps';
9
9
  */
10
10
  export declare const useKeepGroupedColumnsHidden: (props: {
11
11
  apiRef: React.MutableRefObject<GridApi>;
12
- } & Pick<DataGridPremiumProps, 'initialState' | 'rowGroupingModel'>) => GridInitialStatePremium;
12
+ } & Pick<DataGridPremiumProps, "initialState" | "rowGroupingModel">) => GridInitialStatePremium;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.7.1
2
+ * @mui/x-data-grid-premium v7.8.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const materialSlots: {
3
2
  columnMenuUngroupIcon: import("react").JSXElementConstructor<any>;
4
3
  columnMenuGroupIcon: import("react").JSXElementConstructor<any>;
@@ -1,5 +1,5 @@
1
1
  import { GridPrivateOnlyApiCommon } from '@mui/x-data-grid/internals';
2
- import { GridApiCommon, GridColumnPinningApi, GridDetailPanelApi, GridDetailPanelPrivateApi, GridRowPinningApi, GridRowMultiSelectionApi, GridColumnReorderApi, GridRowProApi } from '@mui/x-data-grid-pro';
2
+ import { GridApiCommon, GridColumnPinningApi, GridDetailPanelApi, GridDetailPanelPrivateApi, GridRowPinningApi, GridRowMultiSelectionApi, GridColumnReorderApi, GridRowProApi, GridDataSourceApi, GridDataSourcePrivateApi } from '@mui/x-data-grid-pro';
3
3
  import { GridInitialStatePremium, GridStatePremium } from './gridStatePremium';
4
4
  import type { GridRowGroupingApi, GridExcelExportApi, GridAggregationApi } from '../hooks';
5
5
  import { GridCellSelectionApi } from '../hooks/features/cellSelection/gridCellSelectionInterfaces';
@@ -8,7 +8,7 @@ import type { DataGridPremiumProcessedProps } from './dataGridPremiumProps';
8
8
  * The api of `DataGridPremium`.
9
9
  * TODO: Do not redefine manually the pro features
10
10
  */
11
- export interface GridApiPremium extends GridApiCommon<GridStatePremium, GridInitialStatePremium>, GridRowProApi, GridColumnPinningApi, GridDetailPanelApi, GridRowGroupingApi, GridExcelExportApi, GridAggregationApi, GridRowPinningApi, GridCellSelectionApi, GridRowMultiSelectionApi, GridColumnReorderApi {
11
+ export interface GridApiPremium extends GridApiCommon<GridStatePremium, GridInitialStatePremium>, GridRowProApi, GridColumnPinningApi, GridDetailPanelApi, GridRowGroupingApi, GridExcelExportApi, GridAggregationApi, GridRowPinningApi, GridDataSourceApi, GridCellSelectionApi, GridRowMultiSelectionApi, GridColumnReorderApi {
12
12
  }
13
- export interface GridPrivateApiPremium extends GridApiPremium, GridPrivateOnlyApiCommon<GridApiPremium, GridPrivateApiPremium, DataGridPremiumProcessedProps>, GridDetailPanelPrivateApi {
13
+ export interface GridPrivateApiPremium extends GridApiPremium, GridPrivateOnlyApiCommon<GridApiPremium, GridPrivateApiPremium, DataGridPremiumProcessedProps>, GridDataSourcePrivateApi, GridDetailPanelPrivateApi {
14
14
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GridValidRowModel, GridColDef, GridKeyValue } from '@mui/x-data-grid-pro';
3
2
  import { GridApiPremium } from './gridApiPremium';
4
3
  export type GridGroupingValueGetter<R extends GridValidRowModel = GridValidRowModel, TValue = never> = (value: TValue, row: R, column: GridColDef<R>, apiRef: React.MutableRefObject<GridApiPremium>) => GridKeyValue | null | undefined;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GridColDef, GridValidRowModel } from '@mui/x-data-grid';
3
2
  import { GridApiPremium } from './gridApiPremium';
4
3
  export type GridPastedValueParser<R extends GridValidRowModel = GridValidRowModel, V = any, F = V> = (value: string, row: R, column: GridColDef<R, V, F>, apiRef: React.MutableRefObject<GridApiPremium>) => V | undefined;
@@ -40,14 +40,6 @@ const DataGridPremiumRaw = /*#__PURE__*/React.forwardRef(function DataGridPremiu
40
40
  }))
41
41
  });
42
42
  });
43
- /**
44
- * Demos:
45
- * - [DataGridPremium](https://mui.com/x/react-data-grid/demo/)
46
- *
47
- * API:
48
- * - [DataGridPremium API](https://mui.com/x/api/data-grid/data-grid-premium/)
49
- */
50
- export const DataGridPremium = /*#__PURE__*/React.memo(DataGridPremiumRaw);
51
43
  process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
52
44
  // ----------------------------- Warning --------------------------------
53
45
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -1004,5 +996,25 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1004
996
  * If `true`, the rows will be gathered in a tree structure according to the `getTreeDataPath` prop.
1005
997
  * @default false
1006
998
  */
1007
- treeData: PropTypes.bool
1008
- } : void 0;
999
+ treeData: PropTypes.bool,
1000
+ unstable_dataSource: PropTypes.shape({
1001
+ getChildrenCount: PropTypes.func,
1002
+ getGroupKey: PropTypes.func,
1003
+ getRows: PropTypes.func.isRequired,
1004
+ updateRow: PropTypes.func
1005
+ }),
1006
+ unstable_dataSourceCache: PropTypes.shape({
1007
+ clear: PropTypes.func.isRequired,
1008
+ get: PropTypes.func.isRequired,
1009
+ set: PropTypes.func.isRequired
1010
+ }),
1011
+ unstable_onDataSourceError: PropTypes.func
1012
+ } : void 0;
1013
+ /**
1014
+ * Demos:
1015
+ * - [DataGridPremium](https://mui.com/x/react-data-grid/demo/)
1016
+ *
1017
+ * API:
1018
+ * - [DataGridPremium API](https://mui.com/x/api/data-grid/data-grid-premium/)
1019
+ */
1020
+ export const DataGridPremium = /*#__PURE__*/React.memo(DataGridPremiumRaw);
@@ -1,4 +1,4 @@
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, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization } 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, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, useGridDataSource, dataSourceStateInitializer } from '@mui/x-data-grid-pro/internals';
2
2
  // Premium-only features
3
3
  import { useGridAggregation, aggregationStateInitializer } from '../hooks/features/aggregation/useGridAggregation';
4
4
  import { useGridAggregationPreProcessors } from '../hooks/features/aggregation/useGridAggregationPreProcessors';
@@ -17,6 +17,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
17
17
  useGridRowReorderPreProcessors(apiRef, props);
18
18
  useGridRowGroupingPreProcessors(apiRef, props);
19
19
  useGridTreeDataPreProcessors(apiRef, props);
20
+ useGridDataSourceTreeDataPreProcessors(apiRef, props);
20
21
  useGridLazyLoaderPreProcessors(apiRef, props);
21
22
  useGridRowPinningPreProcessors(apiRef);
22
23
  useGridAggregationPreProcessors(apiRef, props);
@@ -53,9 +54,10 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
53
54
  useGridInitializeState(columnMenuStateInitializer, apiRef, props);
54
55
  useGridInitializeState(columnGroupsStateInitializer, apiRef, props);
55
56
  useGridInitializeState(virtualizationStateInitializer, apiRef, props);
57
+ useGridInitializeState(dataSourceStateInitializer, apiRef, props);
56
58
  useGridRowGrouping(apiRef, props);
57
59
  useGridHeaderFiltering(apiRef, props);
58
- useGridTreeData(apiRef);
60
+ useGridTreeData(apiRef, props);
59
61
  useGridAggregation(apiRef, props);
60
62
  useGridKeyboardNavigation(apiRef, props);
61
63
  useGridRowSelection(apiRef, props);
@@ -91,6 +93,7 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
91
93
  useGridDimensions(apiRef, props);
92
94
  useGridEvents(apiRef, props);
93
95
  useGridStatePersistence(apiRef);
96
+ useGridDataSource(apiRef, props);
94
97
  useGridVirtualization(apiRef, props);
95
98
  return apiRef;
96
99
  };
@@ -5,6 +5,13 @@ import { DATA_GRID_PRO_PROPS_DEFAULT_VALUES, GRID_DEFAULT_LOCALE_TEXT } from '@m
5
5
  import { computeSlots, useProps } from '@mui/x-data-grid-pro/internals';
6
6
  import { GRID_AGGREGATION_FUNCTIONS } from '../hooks/features/aggregation';
7
7
  import { DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS } from '../constants/dataGridPremiumDefaultSlotsComponents';
8
+ const getDataGridPremiumForcedProps = themedProps => _extends({
9
+ signature: 'DataGridPremium'
10
+ }, themedProps.unstable_dataSource ? {
11
+ filterMode: 'server',
12
+ sortingMode: 'server',
13
+ paginationMode: 'server'
14
+ } : {});
8
15
 
9
16
  /**
10
17
  * The default values of `DataGridPremiumPropsWithDefaultValue` to inject in the props of DataGridPremium.
@@ -40,7 +47,6 @@ export const useDataGridPremiumProps = inProps => {
40
47
  }), [themedProps.slots]);
41
48
  return React.useMemo(() => _extends({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps, {
42
49
  localeText,
43
- slots,
44
- signature: 'DataGridPremium'
45
- }), [themedProps, localeText, slots]);
50
+ slots
51
+ }, getDataGridPremiumForcedProps(themedProps)), [themedProps, localeText, slots]);
46
52
  };
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v7.7.1
2
+ * @mui/x-data-grid-premium v7.8.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTcxODkyMDgwMDAwMA==";
3
+ const releaseInfo = "MTcxOTUyOTIwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-premium",
3
- "version": "7.7.1",
3
+ "version": "7.8.0",
4
4
  "description": "The Premium plan edition of the Data Grid Components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -41,9 +41,9 @@
41
41
  "exceljs": "^4.4.0",
42
42
  "prop-types": "^15.8.1",
43
43
  "reselect": "^4.1.8",
44
- "@mui/x-data-grid": "7.7.1",
45
- "@mui/x-data-grid-pro": "7.7.1",
46
- "@mui/x-license": "7.7.1"
44
+ "@mui/x-data-grid": "7.8.0",
45
+ "@mui/x-data-grid-pro": "7.8.0",
46
+ "@mui/x-license": "7.8.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@mui/material": "^5.15.14",
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTcxODkyMDgwMDAwMA==";
9
+ const releaseInfo = "MTcxOTUyOTIwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat