@mui/x-data-grid-premium 8.0.0-alpha.12 → 8.0.0-alpha.13

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 (90) hide show
  1. package/CHANGELOG.md +299 -0
  2. package/DataGridPremium/DataGridPremium.js +51 -39
  3. package/DataGridPremium/useDataGridPremiumProps.js +2 -2
  4. package/components/GridAggregationHeader.d.ts +1 -1
  5. package/components/GridAggregationHeader.js +7 -11
  6. package/components/GridColumnMenuAggregationItem.js +4 -4
  7. package/components/GridDataSourceGroupingCriteriaCell.js +5 -6
  8. package/components/GridFooterCell.js +5 -6
  9. package/components/GridGroupingColumnFooterCell.js +2 -1
  10. package/components/GridGroupingColumnLeafCell.js +3 -9
  11. package/components/GridGroupingCriteriaCell.js +3 -8
  12. package/components/promptControl/GridToolbarPromptControl.js +34 -32
  13. package/esm/DataGridPremium/DataGridPremium.js +51 -39
  14. package/esm/DataGridPremium/useDataGridPremiumProps.js +2 -2
  15. package/esm/components/GridAggregationHeader.d.ts +1 -1
  16. package/esm/components/GridAggregationHeader.js +7 -11
  17. package/esm/components/GridColumnMenuAggregationItem.js +4 -4
  18. package/esm/components/GridDataSourceGroupingCriteriaCell.js +6 -7
  19. package/esm/components/GridFooterCell.js +5 -6
  20. package/esm/components/GridGroupingColumnFooterCell.js +2 -1
  21. package/esm/components/GridGroupingColumnLeafCell.js +3 -8
  22. package/esm/components/GridGroupingCriteriaCell.js +3 -8
  23. package/esm/components/promptControl/GridToolbarPromptControl.js +34 -32
  24. package/esm/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
  25. package/esm/hooks/features/aggregation/useGridAggregation.js +6 -6
  26. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
  27. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
  28. package/esm/hooks/features/clipboard/useGridClipboardImport.js +3 -3
  29. package/esm/hooks/features/dataSource/models.d.ts +1 -1
  30. package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +3 -3
  31. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -2
  32. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +1 -1
  33. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  34. package/esm/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
  35. package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +4 -4
  36. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
  37. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  38. package/esm/index.d.ts +0 -6
  39. package/esm/index.js +1 -7
  40. package/esm/models/dataGridPremiumProps.d.ts +7 -8
  41. package/esm/utils/releaseInfo.js +1 -1
  42. package/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
  43. package/hooks/features/aggregation/useGridAggregation.js +6 -6
  44. package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
  45. package/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
  46. package/hooks/features/clipboard/useGridClipboardImport.js +2 -2
  47. package/hooks/features/dataSource/models.d.ts +1 -1
  48. package/hooks/features/dataSource/useGridDataSourcePremium.js +3 -3
  49. package/hooks/features/rowGrouping/gridRowGroupingUtils.js +1 -1
  50. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +1 -1
  51. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  52. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
  53. package/hooks/features/rowGrouping/useGridRowGrouping.js +4 -4
  54. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
  55. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  56. package/index.d.ts +0 -6
  57. package/index.js +2 -11
  58. package/models/dataGridPremiumProps.d.ts +7 -8
  59. package/modern/DataGridPremium/DataGridPremium.js +51 -39
  60. package/modern/DataGridPremium/useDataGridPremiumProps.js +2 -2
  61. package/modern/components/GridAggregationHeader.d.ts +1 -1
  62. package/modern/components/GridAggregationHeader.js +7 -11
  63. package/modern/components/GridColumnMenuAggregationItem.js +4 -4
  64. package/modern/components/GridDataSourceGroupingCriteriaCell.js +6 -7
  65. package/modern/components/GridFooterCell.js +5 -6
  66. package/modern/components/GridGroupingColumnFooterCell.js +2 -1
  67. package/modern/components/GridGroupingColumnLeafCell.js +3 -8
  68. package/modern/components/GridGroupingCriteriaCell.js +3 -8
  69. package/modern/components/promptControl/GridToolbarPromptControl.js +34 -32
  70. package/modern/hooks/features/aggregation/useGridAggregation.d.ts +1 -1
  71. package/modern/hooks/features/aggregation/useGridAggregation.js +6 -6
  72. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +1 -1
  73. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
  74. package/modern/hooks/features/clipboard/useGridClipboardImport.js +3 -3
  75. package/modern/hooks/features/dataSource/models.d.ts +1 -1
  76. package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +3 -3
  77. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -2
  78. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +1 -1
  79. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  80. package/modern/hooks/features/rowGrouping/useGridRowGrouping.d.ts +1 -1
  81. package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +4 -4
  82. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +1 -1
  83. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  84. package/modern/index.d.ts +0 -6
  85. package/modern/index.js +1 -7
  86. package/modern/models/dataGridPremiumProps.d.ts +7 -8
  87. package/modern/utils/releaseInfo.js +1 -1
  88. package/package.json +5 -5
  89. package/tsconfig.build.tsbuildinfo +1 -1
  90. package/utils/releaseInfo.js +1 -1
@@ -16,7 +16,7 @@ const useGridRowGroupingPreProcessors = (apiRef, props) => {
16
16
  if (props.disableRowGrouping) {
17
17
  return [];
18
18
  }
19
- const strategy = props.unstable_dataSource ? _gridRowGroupingUtils.RowGroupingStrategy.DataSource : _gridRowGroupingUtils.RowGroupingStrategy.Default;
19
+ const strategy = props.dataSource ? _gridRowGroupingUtils.RowGroupingStrategy.DataSource : _gridRowGroupingUtils.RowGroupingStrategy.Default;
20
20
  const groupingColDefProp = props.groupingColDef;
21
21
 
22
22
  // We can't use `gridGroupingRowsSanitizedModelSelector` here because the new columns are not in the state yet
@@ -50,7 +50,7 @@ const useGridRowGroupingPreProcessors = (apiRef, props) => {
50
50
  return [];
51
51
  }
52
52
  }
53
- }, [apiRef, props.groupingColDef, props.rowGroupingColumnMode, props.disableRowGrouping, props.unstable_dataSource]);
53
+ }, [apiRef, props.groupingColDef, props.rowGroupingColumnMode, props.disableRowGrouping, props.dataSource]);
54
54
  const updateGroupingColumn = React.useCallback(columnsState => {
55
55
  const groupingColDefs = getGroupingColDefs(columnsState);
56
56
  let newColumnFields = [];
@@ -155,15 +155,15 @@ const useGridRowGroupingPreProcessors = (apiRef, props) => {
155
155
  (0, _internals.useGridRegisterStrategyProcessor)(apiRef, _gridRowGroupingUtils.RowGroupingStrategy.Default, 'sorting', sortRows);
156
156
  (0, _internals.useGridRegisterStrategyProcessor)(apiRef, _gridRowGroupingUtils.RowGroupingStrategy.Default, 'visibleRowsLookupCreation', _internals.getVisibleRowsLookup);
157
157
  (0, _xDataGridPro.useFirstRender)(() => {
158
- (0, _gridRowGroupingUtils.setStrategyAvailability)(apiRef, props.disableRowGrouping, props.unstable_dataSource);
158
+ (0, _gridRowGroupingUtils.setStrategyAvailability)(apiRef, props.disableRowGrouping, props.dataSource);
159
159
  });
160
160
  const isFirstRender = React.useRef(true);
161
161
  React.useEffect(() => {
162
162
  if (!isFirstRender.current) {
163
- (0, _gridRowGroupingUtils.setStrategyAvailability)(apiRef, props.disableRowGrouping, props.unstable_dataSource);
163
+ (0, _gridRowGroupingUtils.setStrategyAvailability)(apiRef, props.disableRowGrouping, props.dataSource);
164
164
  } else {
165
165
  isFirstRender.current = false;
166
166
  }
167
- }, [apiRef, props.disableRowGrouping, props.unstable_dataSource]);
167
+ }, [apiRef, props.disableRowGrouping, props.dataSource]);
168
168
  };
169
169
  exports.useGridRowGroupingPreProcessors = useGridRowGroupingPreProcessors;
package/index.d.ts CHANGED
@@ -1,10 +1,4 @@
1
1
  import "./typeOverloads/index.js";
2
- import { LicenseInfo as LicenseInfoExport } from '@mui/x-license';
3
- /**
4
- * @deprecated Use `@mui/x-license` package instead:
5
- * @example import { LicenseInfo } from '@mui/x-license';
6
- */
7
- export declare class LicenseInfo extends LicenseInfoExport {}
8
2
  export * from '@mui/x-data-grid/components';
9
3
  export * from '@mui/x-data-grid-pro/components';
10
4
  export * from '@mui/x-data-grid/constants';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-premium v8.0.0-alpha.12
2
+ * @mui/x-data-grid-premium v8.0.0-alpha.13
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "__esModule", {
11
11
  value: true
12
12
  });
13
13
  var _exportNames = {
14
- LicenseInfo: true,
15
14
  GridColumnHeaders: true,
16
15
  useGridApiContext: true,
17
16
  useGridApiRef: true,
@@ -44,7 +43,6 @@ Object.defineProperty(exports, "GridColumnMenu", {
44
43
  return _reexports2.GridColumnMenu;
45
44
  }
46
45
  });
47
- exports.LicenseInfo = void 0;
48
46
  Object.defineProperty(exports, "useGridApiContext", {
49
47
  enumerable: true,
50
48
  get: function () {
@@ -64,7 +62,6 @@ Object.defineProperty(exports, "useGridRootProps", {
64
62
  }
65
63
  });
66
64
  require("./typeOverloads");
67
- var _xLicense = require("@mui/x-license");
68
65
  var _components = require("@mui/x-data-grid/components");
69
66
  Object.keys(_components).forEach(function (key) {
70
67
  if (key === "default" || key === "__esModule") return;
@@ -247,10 +244,4 @@ Object.keys(_components3).forEach(function (key) {
247
244
  });
248
245
  var _xDataGridPro = require("@mui/x-data-grid-pro");
249
246
  var _reexports = require("./typeOverloads/reexports");
250
- var _reexports2 = require("./components/reexports");
251
- /**
252
- * @deprecated Use `@mui/x-license` package instead:
253
- * @example import { LicenseInfo } from '@mui/x-license';
254
- */
255
- class LicenseInfo extends _xLicense.LicenseInfo {}
256
- exports.LicenseInfo = LicenseInfo;
247
+ var _reexports2 = require("./components/reexports");
@@ -1,5 +1,5 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
- import { GridCallbackDetails, GridValidRowModel, GridGroupNode, GridEventListener } from '@mui/x-data-grid-pro';
2
+ import { GridCallbackDetails, GridValidRowModel, GridGroupNode, GridEventListener, GridGetRowsError, GridUpdateRowError } from '@mui/x-data-grid-pro';
3
3
  import { GridExperimentalProFeatures, DataGridProPropsWithDefaultValue, DataGridProPropsWithoutDefaultValue, DataGridPropsWithComplexDefaultValueAfterProcessing, DataGridPropsWithComplexDefaultValueBeforeProcessing, DataGridPremiumSharedPropsWithDefaultValue } from '@mui/x-data-grid-pro/internals';
4
4
  import type { GridRowGroupingModel } from '../hooks/features/rowGrouping';
5
5
  import type { GridAggregationModel, GridAggregationFunction, GridAggregationFunctionDataSource, GridAggregationPosition } from '../hooks/features/aggregation';
@@ -51,7 +51,7 @@ export interface DataGridPremiumPropsWithDefaultValue<R extends GridValidRowMode
51
51
  rowGroupingColumnMode: 'single' | 'multiple';
52
52
  /**
53
53
  * Aggregation functions available on the grid.
54
- * @default GRID_AGGREGATION_FUNCTIONS when `unstable_dataSource` is not provided, `{}` when `unstable_dataSource` is provided
54
+ * @default GRID_AGGREGATION_FUNCTIONS when `dataSource` is not provided, `{}` when `dataSource` is provided
55
55
  */
56
56
  aggregationFunctions: Record<string, GridAggregationFunction> | Record<string, GridAggregationFunctionDataSource>;
57
57
  /**
@@ -81,7 +81,7 @@ export interface DataGridPremiumPropsWithDefaultValue<R extends GridValidRowMode
81
81
  */
82
82
  splitClipboardPastedText: (text: string) => string[][] | null;
83
83
  }
84
- export interface DataGridPremiumPropsWithoutDefaultValue<R extends GridValidRowModel = any> extends Omit<DataGridProPropsWithoutDefaultValue<R>, 'initialState' | 'apiRef' | 'unstable_dataSource' | 'unstable_onDataSourceError'> {
84
+ export interface DataGridPremiumPropsWithoutDefaultValue<R extends GridValidRowModel = any> extends Omit<DataGridProPropsWithoutDefaultValue<R>, 'initialState' | 'apiRef' | 'dataSource' | 'onDataSourceError'> {
85
85
  /**
86
86
  * The ref object that allows grid manipulation. Can be instantiated with `useGridApiRef()`.
87
87
  */
@@ -153,11 +153,10 @@ export interface DataGridPremiumPropsWithoutDefaultValue<R extends GridValidRowM
153
153
  /**
154
154
  * Data source object.
155
155
  */
156
- unstable_dataSource?: GridDataSource;
156
+ dataSource?: GridDataSource;
157
157
  /**
158
- * Callback fired when the data source request fails.
159
- * @param {Error} error The error object.
160
- * @param {GridGetRowsParams} params With all properties from [[GridGetRowsParams]].
158
+ * Callback fired when a data source request fails.
159
+ * @param {GridGetRowsError | GridUpdateRowError} error The data source error object.
161
160
  */
162
- unstable_onDataSourceError?: (error: Error, params: GridGetRowsParams) => void;
161
+ onDataSourceError?: (error: GridGetRowsError<GridGetRowsParams> | GridUpdateRowError) => void;
163
162
  }
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import { useLicenseVerifier, Watermark } from '@mui/x-license';
7
7
  import { GridRoot, GridContextProvider } from '@mui/x-data-grid-pro';
8
8
  import { propValidatorsDataGrid, propValidatorsDataGridPro, validateProps } from '@mui/x-data-grid-pro/internals';
9
+ import { useMaterialCSSVariables } from '@mui/x-data-grid/material';
9
10
  import { forwardRef } from '@mui/x-internals/forwardRef';
10
11
  import { useDataGridPremiumComponent } from "./useDataGridPremiumComponent.js";
11
12
  import { useDataGridPremiumProps } from "./useDataGridPremiumProps.js";
@@ -15,6 +16,7 @@ import { useGridRowAriaAttributes } from "../hooks/features/rows/useGridRowAriaA
15
16
  import { jsx as _jsx } from "react/jsx-runtime";
16
17
  const configuration = {
17
18
  hooks: {
19
+ useCSSVariables: useMaterialCSSVariables,
18
20
  useGridAriaAttributes,
19
21
  useGridRowAriaAttributes
20
22
  }
@@ -56,7 +58,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
56
58
  // ----------------------------------------------------------------------
57
59
  /**
58
60
  * Aggregation functions available on the grid.
59
- * @default GRID_AGGREGATION_FUNCTIONS when `unstable_dataSource` is not provided, `{}` when `unstable_dataSource` is provided
61
+ * @default GRID_AGGREGATION_FUNCTIONS when `dataSource` is not provided, `{}` when `dataSource` is provided
60
62
  */
61
63
  aggregationFunctions: PropTypes.object,
62
64
  /**
@@ -173,6 +175,24 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
173
175
  * If defined, the Data Grid will ignore the `hide` property in [[GridColDef]].
174
176
  */
175
177
  columnVisibilityModel: PropTypes.object,
178
+ /**
179
+ * Data source object.
180
+ */
181
+ dataSource: PropTypes.shape({
182
+ getAggregatedValue: PropTypes.func,
183
+ getChildrenCount: PropTypes.func,
184
+ getGroupKey: PropTypes.func,
185
+ getRows: PropTypes.func.isRequired,
186
+ updateRow: PropTypes.func
187
+ }),
188
+ /**
189
+ * Data source cache object.
190
+ */
191
+ dataSourceCache: PropTypes.shape({
192
+ clear: PropTypes.func.isRequired,
193
+ get: PropTypes.func.isRequired,
194
+ set: PropTypes.func.isRequired
195
+ }),
176
196
  /**
177
197
  * If above 0, the row children will be expanded up to this depth.
178
198
  * If equal to -1, all the row children will be expanded.
@@ -487,6 +507,18 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
487
507
  * @default false
488
508
  */
489
509
  keepNonExistentRowsSelected: PropTypes.bool,
510
+ /**
511
+ * Used together with `dataSource` to enable lazy loading.
512
+ * If enabled, the grid stops adding `paginationModel` to the data requests (`getRows`)
513
+ * and starts sending `start` and `end` values depending on the loading mode and the scroll position.
514
+ * @default false
515
+ */
516
+ lazyLoading: PropTypes.bool,
517
+ /**
518
+ * If positive, the Data Grid will throttle data source requests on rendered rows interval change.
519
+ * @default 500
520
+ */
521
+ lazyLoadingRequestThrottleMs: PropTypes.number,
490
522
  /**
491
523
  * If `true`, a loading overlay is displayed.
492
524
  * @default false
@@ -663,6 +695,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
663
695
  * @param {GridCallbackDetails} details Additional details for this callback.
664
696
  */
665
697
  onColumnWidthChange: PropTypes.func,
698
+ /**
699
+ * Callback fired when a data source request fails.
700
+ * @param {GridGetRowsError | GridUpdateRowError} error The data source error object.
701
+ */
702
+ onDataSourceError: PropTypes.func,
666
703
  /**
667
704
  * Callback fired when the density changes.
668
705
  * @param {GridDensity} density New density value.
@@ -684,6 +721,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
684
721
  * @param {GridFetchRowsParams} params With all properties from [[GridFetchRowsParams]].
685
722
  * @param {MuiEvent<{}>} event The event object.
686
723
  * @param {GridCallbackDetails} details Additional details for this callback.
724
+ * @deprecated Use the {@link https://next.mui.com/x/react-data-grid/server-side-data/lazy-loading/#viewport-loading Server-side data-Viewport loading} instead.
687
725
  */
688
726
  onFetchRows: PropTypes.func,
689
727
  /**
@@ -811,6 +849,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
811
849
  * @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
812
850
  * @param {MuiEvent<{}>} event The event object.
813
851
  * @param {GridCallbackDetails} details Additional details for this callback.
852
+ * @deprecated Use the {@link https://next.mui.com/x/react-data-grid/server-side-data/lazy-loading/#infinite-loading Server-side data-Infinite loading} instead.
814
853
  */
815
854
  onRowsScrollEnd: PropTypes.func,
816
855
  /**
@@ -934,7 +973,10 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
934
973
  /**
935
974
  * Sets the row selection model of the Data Grid.
936
975
  */
937
- rowSelectionModel: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired), PropTypes.number, PropTypes.string]),
976
+ rowSelectionModel: PropTypes /* @typescript-to-proptypes-ignore */.shape({
977
+ ids: PropTypes.instanceOf(Set).isRequired,
978
+ type: PropTypes.oneOf(['exclude', 'include']).isRequired
979
+ }),
938
980
  /**
939
981
  * When `rowSelectionPropagation.descendants` is set to `true`.
940
982
  * - Selecting a parent selects all its filtered descendants automatically.
@@ -956,6 +998,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
956
998
  * Set it to 'client' if you would like enable infnite loading.
957
999
  * Set it to 'server' if you would like to enable lazy loading.
958
1000
  * @default "client"
1001
+ * @deprecated Use the {@link https://next.mui.com/x/react-data-grid/server-side-data/lazy-loading/#viewport-loading Server-side data-Viewport loading} instead.
959
1002
  */
960
1003
  rowsLoadingMode: PropTypes.oneOf(['client', 'server']),
961
1004
  /**
@@ -974,7 +1017,7 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
974
1017
  scrollbarSize: PropTypes.number,
975
1018
  /**
976
1019
  * Set the area in `px` at the bottom of the grid viewport where onRowsScrollEnd is called.
977
- * If combined with `unstable_lazyLoading`, it defines the area where the next data request is triggered.
1020
+ * If combined with `lazyLoading`, it defines the area where the next data request is triggered.
978
1021
  * @default 80
979
1022
  */
980
1023
  scrollEndThreshold: PropTypes.number,
@@ -988,6 +1031,11 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
988
1031
  * @default false
989
1032
  */
990
1033
  showColumnVerticalBorder: PropTypes.bool,
1034
+ /**
1035
+ * If `true`, the toolbar is displayed.
1036
+ * @default false
1037
+ */
1038
+ showToolbar: PropTypes.bool,
991
1039
  /**
992
1040
  * Overridable components props dynamically passed to the component at rendering.
993
1041
  */
@@ -1037,36 +1085,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1037
1085
  * @default false
1038
1086
  */
1039
1087
  treeData: PropTypes.bool,
1040
- /**
1041
- * Data source object.
1042
- */
1043
- unstable_dataSource: PropTypes.shape({
1044
- getAggregatedValue: PropTypes.func,
1045
- getChildrenCount: PropTypes.func,
1046
- getGroupKey: PropTypes.func,
1047
- getRows: PropTypes.func.isRequired,
1048
- updateRow: PropTypes.func
1049
- }),
1050
- /**
1051
- * Data source cache object.
1052
- */
1053
- unstable_dataSourceCache: PropTypes.shape({
1054
- clear: PropTypes.func.isRequired,
1055
- get: PropTypes.func.isRequired,
1056
- set: PropTypes.func.isRequired
1057
- }),
1058
- /**
1059
- * Used together with `unstable_dataSource` to enable lazy loading.
1060
- * If enabled, the grid stops adding `paginationModel` to the data requests (`getRows`)
1061
- * and starts sending `start` and `end` values depending on the loading mode and the scroll position.
1062
- * @default false
1063
- */
1064
- unstable_lazyLoading: PropTypes.bool,
1065
- /**
1066
- * If positive, the Data Grid will throttle data source requests on rendered rows interval change.
1067
- * @default 500
1068
- */
1069
- unstable_lazyLoadingRequestThrottleMs: PropTypes.number,
1070
1088
  /**
1071
1089
  * Definition of the column rendered when the `unstable_listView` prop is enabled.
1072
1090
  */
@@ -1082,12 +1100,6 @@ process.env.NODE_ENV !== "production" ? DataGridPremiumRaw.propTypes = {
1082
1100
  * Use in combination with `unstable_listColumn`.
1083
1101
  */
1084
1102
  unstable_listView: PropTypes.bool,
1085
- /**
1086
- * Callback fired when the data source request fails.
1087
- * @param {Error} error The error object.
1088
- * @param {GridGetRowsParams} params With all properties from [[GridGetRowsParams]].
1089
- */
1090
- unstable_onDataSourceError: PropTypes.func,
1091
1103
  /**
1092
1104
  * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
1093
1105
  * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
@@ -7,7 +7,7 @@ import { GRID_AGGREGATION_FUNCTIONS } from "../hooks/features/aggregation/index.
7
7
  import { DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS } from "../constants/dataGridPremiumDefaultSlotsComponents.js";
8
8
  const getDataGridPremiumForcedProps = themedProps => _extends({
9
9
  signature: GridSignature.DataGridPremium
10
- }, themedProps.unstable_dataSource ? {
10
+ }, themedProps.dataSource ? {
11
11
  filterMode: 'server',
12
12
  sortingMode: 'server',
13
13
  paginationMode: 'server'
@@ -45,7 +45,7 @@ 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.unstable_dataSource ? {
48
+ return React.useMemo(() => _extends({}, DATA_GRID_PREMIUM_PROPS_DEFAULT_VALUES, themedProps.dataSource ? {
49
49
  aggregationFunctions: {}
50
50
  } : {}, themedProps, {
51
51
  localeText,
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { GridColumnHeaderParams } from '@mui/x-data-grid';
3
- import type { GridBaseColDef } from '@mui/x-data-grid/internals';
3
+ import { type GridBaseColDef } from '@mui/x-data-grid/internals';
4
4
  declare function GridAggregationHeader(props: GridColumnHeaderParams & {
5
5
  renderHeader: GridBaseColDef['renderHeader'];
6
6
  }): React.JSX.Element | null;
@@ -5,6 +5,7 @@ import * as React from 'react';
5
5
  import composeClasses from '@mui/utils/composeClasses';
6
6
  import { styled } from '@mui/material/styles';
7
7
  import { getDataGridUtilityClass, gridClasses, GridColumnHeaderTitle } from '@mui/x-data-grid';
8
+ import { vars } from '@mui/x-data-grid/internals';
8
9
  import { getAggregationFunctionLabel } from "../hooks/features/aggregation/gridAggregationUtils.js";
9
10
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
10
11
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
@@ -30,17 +31,12 @@ const GridAggregationHeaderRoot = styled('div', {
30
31
  });
31
32
  const GridAggregationFunctionLabel = styled('div', {
32
33
  name: 'MuiDataGrid',
33
- slot: 'AggregationColumnHeaderLabel',
34
- overridesResolver: (_, styles) => styles.aggregationColumnHeaderLabel
35
- })(({
36
- theme
37
- }) => {
38
- return {
39
- fontSize: theme.typography.caption.fontSize,
40
- lineHeight: 'normal',
41
- color: theme.palette.text.secondary,
42
- marginTop: -1
43
- };
34
+ slot: 'AggregationColumnHeaderLabel'
35
+ })({
36
+ fontSize: vars.typography.small.fontSize,
37
+ lineHeight: 'normal',
38
+ color: vars.colors.foreground.muted,
39
+ marginTop: -1
44
40
  });
45
41
  const useUtilityClasses = ownerState => {
46
42
  const {
@@ -24,8 +24,8 @@ function GridColumnMenuAggregationItem(props) {
24
24
  const availableAggregationFunctions = React.useMemo(() => getAvailableAggregationFunctions({
25
25
  aggregationFunctions: rootProps.aggregationFunctions,
26
26
  colDef,
27
- isDataSource: !!rootProps.unstable_dataSource
28
- }), [colDef, rootProps.aggregationFunctions, rootProps.unstable_dataSource]);
27
+ isDataSource: !!rootProps.dataSource
28
+ }), [colDef, rootProps.aggregationFunctions, rootProps.dataSource]);
29
29
  const _ref = rootProps.slotProps?.baseSelect || {},
30
30
  {
31
31
  native: isBaseSelectNative = false
@@ -41,12 +41,12 @@ function GridColumnMenuAggregationItem(props) {
41
41
  colDef,
42
42
  aggregationFunctionName,
43
43
  aggregationFunction: rootProps.aggregationFunctions[aggregationFunctionName],
44
- isDataSource: !!rootProps.unstable_dataSource
44
+ isDataSource: !!rootProps.dataSource
45
45
  })) {
46
46
  return aggregationFunctionName;
47
47
  }
48
48
  return '';
49
- }, [rootProps.aggregationFunctions, rootProps.unstable_dataSource, aggregationModel, colDef]);
49
+ }, [rootProps.aggregationFunctions, rootProps.dataSource, aggregationModel, colDef]);
50
50
  const handleAggregationItemChange = event => {
51
51
  const newAggregationItem = event.target?.value || undefined;
52
52
  const currentModel = gridAggregationModelSelector(apiRef);
@@ -1,8 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
4
- import Box from '@mui/material/Box';
5
- import { useGridPrivateApiContext, gridDataSourceErrorSelector, gridDataSourceLoadingIdSelector, gridRowSelector } from '@mui/x-data-grid-pro/internals';
4
+ import { useGridPrivateApiContext, gridDataSourceErrorSelector, gridDataSourceLoadingIdSelector, gridRowSelector, vars } from '@mui/x-data-grid-pro/internals';
6
5
  import { useGridSelector, getDataGridUtilityClass } from '@mui/x-data-grid-pro';
7
6
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
8
7
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
@@ -33,7 +32,7 @@ function GridGroupingCriteriaCellIcon(props) {
33
32
  const handleClick = event => {
34
33
  if (!rowNode.childrenExpanded) {
35
34
  // always fetch/get from cache the children when the node is expanded
36
- apiRef.current.unstable_dataSource.fetchRows(id);
35
+ apiRef.current.dataSource.fetchRows(id);
37
36
  } else {
38
37
  apiRef.current.setRowChildrenExpansion(id, !rowNode.childrenExpanded);
39
38
  }
@@ -83,7 +82,7 @@ export function GridDataSourceGroupingCriteriaCell(props) {
83
82
  const classes = useUtilityClasses(rootProps);
84
83
  let descendantCount = 0;
85
84
  if (row) {
86
- descendantCount = Math.max(rootProps.unstable_dataSource?.getChildrenCount?.(row) ?? 0, 0);
85
+ descendantCount = Math.max(rootProps.dataSource?.getChildrenCount?.(row) ?? 0, 0);
87
86
  }
88
87
  let cellContent;
89
88
  const colDef = apiRef.current.getColumn(rowNode.groupingField);
@@ -98,10 +97,10 @@ export function GridDataSourceGroupingCriteriaCell(props) {
98
97
  children: rowNode.groupingKey
99
98
  });
100
99
  }
101
- return /*#__PURE__*/_jsxs(Box, {
100
+ return /*#__PURE__*/_jsxs("div", {
102
101
  className: classes.root,
103
- sx: {
104
- ml: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(rowNode.depth)})`
102
+ style: {
103
+ marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : `calc(var(--DataGrid-cellOffsetMultiplier) * ${vars.spacing(rowNode.depth)})`
105
104
  },
106
105
  children: [/*#__PURE__*/_jsx("div", {
107
106
  className: classes.toggle,
@@ -3,6 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  const _excluded = ["formattedValue", "colDef", "cellMode", "row", "api", "id", "value", "rowNode", "field", "focusElementRef", "hasFocus", "tabIndex", "isEditable"];
4
4
  import * as React from 'react';
5
5
  import { getDataGridUtilityClass } from '@mui/x-data-grid';
6
+ import { vars } from '@mui/x-data-grid/internals';
6
7
  import { styled } from '@mui/material/styles';
7
8
  import composeClasses from '@mui/utils/composeClasses';
8
9
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
@@ -11,12 +12,10 @@ const GridFooterCellRoot = styled('div', {
11
12
  name: 'MuiDataGrid',
12
13
  slot: 'FooterCell',
13
14
  overridesResolver: (_, styles) => styles.footerCell
14
- })(({
15
- theme
16
- }) => ({
17
- fontWeight: theme.typography.fontWeightMedium,
18
- color: (theme.vars || theme).palette.primary.dark
19
- }));
15
+ })({
16
+ fontWeight: vars.typography.fontWeight.medium,
17
+ color: vars.colors.foreground.accent
18
+ });
20
19
  const useUtilityClasses = ownerState => {
21
20
  const {
22
21
  classes
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
+ import { vars } from '@mui/x-data-grid/internals';
3
4
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
4
5
  import { GridFooterCell } from "./GridFooterCell.js";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -13,7 +14,7 @@ function GridGroupingColumnFooterCell(props) {
13
14
  } else if (rootProps.rowGroupingColumnMode === 'multiple') {
14
15
  sx.ml = 2;
15
16
  } else {
16
- sx.ml = theme => `calc(var(--DataGrid-cellOffsetMultiplier) * ${theme.spacing(props.rowNode.depth)})`;
17
+ sx.ml = `calc(var(--DataGrid-cellOffsetMultiplier) * ${vars.spacing(props.rowNode.depth)})`;
17
18
  }
18
19
  return /*#__PURE__*/_jsx(GridFooterCell, _extends({
19
20
  sx: sx
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import Box from '@mui/material/Box';
2
+ import { vars } from '@mui/x-data-grid/internals';
3
3
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  function GridGroupingColumnLeafCell(props) {
@@ -7,14 +7,9 @@ function GridGroupingColumnLeafCell(props) {
7
7
  rowNode
8
8
  } = props;
9
9
  const rootProps = useGridRootProps();
10
- return /*#__PURE__*/_jsx(Box, {
11
- sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
12
- ml: 1
13
- } : theme => ({
14
- ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
15
- })],
10
+ return /*#__PURE__*/_jsx("div", {
16
11
  style: {
17
- '--depth': rowNode.depth
12
+ marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? vars.spacing(1) : `calc(var(--DataGrid-cellOffsetMultiplier) * ${vars.spacing(rowNode.depth)})`
18
13
  },
19
14
  children: props.formattedValue ?? props.value
20
15
  });
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import composeClasses from '@mui/utils/composeClasses';
4
- import Box from '@mui/material/Box';
4
+ import { vars } from '@mui/x-data-grid/internals';
5
5
  import { useGridSelector, gridFilteredDescendantCountLookupSelector, getDataGridUtilityClass } from '@mui/x-data-grid-pro';
6
6
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
7
7
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
@@ -59,15 +59,10 @@ export function GridGroupingCriteriaCell(props) {
59
59
  children: rowNode.groupingKey
60
60
  });
61
61
  }
62
- return /*#__PURE__*/_jsxs(Box, {
62
+ return /*#__PURE__*/_jsxs("div", {
63
63
  className: classes.root,
64
- sx: [rootProps.rowGroupingColumnMode === 'multiple' ? {
65
- ml: 0
66
- } : theme => ({
67
- ml: `calc(var(--DataGrid-cellOffsetMultiplier) * var(--depth) * ${theme.spacing(1)})`
68
- })],
69
64
  style: {
70
- '--depth': rowNode.depth
65
+ marginLeft: rootProps.rowGroupingColumnMode === 'multiple' ? 0 : `calc(var(--DataGrid-cellOffsetMultiplier) * ${rowNode.depth} * ${vars.spacing(1)})`
71
66
  },
72
67
  children: [/*#__PURE__*/_jsx("div", {
73
68
  className: classes.toggle,
@@ -119,10 +119,18 @@ function GridToolbarPromptControl(props) {
119
119
  sort: s.direction
120
120
  })));
121
121
  const rows = getVisibleRows(apiRef, rootProps);
122
- const selectedRowIds = result.select === -1 ? [] : rows.rows.slice(0, result.select).map(r => {
123
- return apiRef.current.getRowId(r);
124
- });
125
- apiRef.current.setRowSelectionModel(selectedRowIds);
122
+ const rowSelectionModel = {
123
+ type: 'include',
124
+ ids: new Set()
125
+ };
126
+ if (result.select !== -1) {
127
+ for (let i = 0; i < result.select; i += 1) {
128
+ const row = rows.rows[i];
129
+ const id = apiRef.current.getRowId(row);
130
+ rowSelectionModel.ids.add(id);
131
+ }
132
+ }
133
+ apiRef.current.setRowSelectionModel(rowSelectionModel);
126
134
  const columns = apiRef.current.getAllColumns();
127
135
  const targetIndex = Number(columns.find(c => c.field === GRID_CHECKBOX_SELECTION_FIELD) !== undefined) + Number(result.grouping.length);
128
136
  interestColumns.push(...Object.keys(result.aggregation));
@@ -172,35 +180,29 @@ function GridToolbarPromptControl(props) {
172
180
  helperText: error,
173
181
  slotProps: {
174
182
  input: {
175
- startAdornment: supportsSpeechRecognition && /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
176
- position: "start",
177
- children: /*#__PURE__*/_jsx(RecordButton, {
178
- className: classes.recordButton,
179
- lang: lang,
180
- recording: isRecording,
181
- setRecording: setRecording,
182
- disabled: isLoading,
183
- onUpdate: setQuery,
184
- onDone: handleDone,
185
- onError: setError
186
- })
183
+ startAdornment: supportsSpeechRecognition && /*#__PURE__*/_jsx(RecordButton, {
184
+ className: classes.recordButton,
185
+ lang: lang,
186
+ recording: isRecording,
187
+ setRecording: setRecording,
188
+ disabled: isLoading,
189
+ onUpdate: setQuery,
190
+ onDone: handleDone,
191
+ onError: setError
187
192
  }),
188
- endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
189
- position: "end",
190
- children: /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
191
- title: apiRef.current.getLocaleText('toolbarPromptControlSendActionLabel'),
192
- children: /*#__PURE__*/_jsx("div", {
193
- children: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, {
194
- className: classes.sendButton,
195
- disabled: isLoading || isRecording || query === '',
196
- color: "primary",
197
- onClick: processPrompt,
198
- size: "small",
199
- "aria-label": apiRef.current.getLocaleText('toolbarPromptControlSendActionAriaLabel'),
200
- edge: "end",
201
- children: /*#__PURE__*/_jsx(rootProps.slots.toolbarPromptSendIcon, {
202
- fontSize: "small"
203
- })
193
+ endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
194
+ title: apiRef.current.getLocaleText('toolbarPromptControlSendActionLabel'),
195
+ children: /*#__PURE__*/_jsx("div", {
196
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, {
197
+ className: classes.sendButton,
198
+ disabled: isLoading || isRecording || query === '',
199
+ color: "primary",
200
+ onClick: processPrompt,
201
+ size: "small",
202
+ "aria-label": apiRef.current.getLocaleText('toolbarPromptControlSendActionAriaLabel'),
203
+ edge: "end",
204
+ children: /*#__PURE__*/_jsx(rootProps.slots.toolbarPromptSendIcon, {
205
+ fontSize: "small"
204
206
  })
205
207
  })
206
208
  })
@@ -3,4 +3,4 @@ import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
3
3
  import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
4
4
  import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
5
5
  export declare const aggregationStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'aggregationModel' | 'initialState'>, GridPrivateApiPremium>;
6
- export declare const useGridAggregation: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "onAggregationModelChange" | "initialState" | "aggregationModel" | "getAggregationPosition" | "aggregationFunctions" | "aggregationRowsScope" | "disableAggregation" | "rowGroupingColumnMode" | "unstable_dataSource">) => void;
6
+ export declare const useGridAggregation: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "onAggregationModelChange" | "initialState" | "aggregationModel" | "getAggregationPosition" | "aggregationFunctions" | "aggregationRowsScope" | "disableAggregation" | "rowGroupingColumnMode" | "dataSource">) => void;