@mui/x-data-grid 9.3.0 → 9.5.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 (110) hide show
  1. package/CHANGELOG.md +296 -0
  2. package/colDef/gridColumnTypesRegistry.d.mts +8 -0
  3. package/colDef/gridColumnTypesRegistry.d.ts +8 -0
  4. package/colDef/gridColumnTypesRegistry.js +44 -0
  5. package/colDef/gridColumnTypesRegistry.mjs +34 -0
  6. package/colDef/gridDefaultColumnTypes.d.mts +1 -1
  7. package/colDef/gridDefaultColumnTypes.d.ts +1 -1
  8. package/colDef/gridDefaultColumnTypes.js +11 -23
  9. package/colDef/gridDefaultColumnTypes.mjs +4 -22
  10. package/components/GridRow.js +9 -1
  11. package/components/GridRow.mjs +9 -1
  12. package/components/cell/GridActionsCell.js +1 -1
  13. package/components/cell/GridActionsCell.mjs +1 -1
  14. package/components/cell/GridActionsCellItem.js +1 -1
  15. package/components/cell/GridActionsCellItem.mjs +1 -1
  16. package/components/cell/GridLongTextCell.js +2 -0
  17. package/components/cell/GridLongTextCell.mjs +2 -0
  18. package/components/cell/GridSkeletonCell.d.mts +2 -1
  19. package/components/cell/GridSkeletonCell.d.ts +2 -1
  20. package/components/cell/GridSkeletonCell.js +8 -3
  21. package/components/cell/GridSkeletonCell.mjs +8 -3
  22. package/components/containers/GridRootStyles.js +29 -0
  23. package/components/containers/GridRootStyles.mjs +29 -0
  24. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +2 -4
  25. package/components/panel/filterPanel/GridFilterInputSingleSelect.mjs +2 -4
  26. package/components/panel/filterPanel/filterPanelUtils.d.mts +3 -2
  27. package/components/panel/filterPanel/filterPanelUtils.d.ts +3 -2
  28. package/components/panel/filterPanel/filterPanelUtils.js +4 -0
  29. package/components/panel/filterPanel/filterPanelUtils.mjs +3 -0
  30. package/constants/cssVariables.d.mts +3 -0
  31. package/constants/cssVariables.d.ts +3 -0
  32. package/constants/cssVariables.js +2 -1
  33. package/constants/cssVariables.mjs +2 -1
  34. package/constants/gridClasses.d.mts +48 -0
  35. package/constants/gridClasses.d.ts +48 -0
  36. package/constants/gridClasses.js +1 -1
  37. package/constants/gridClasses.mjs +1 -1
  38. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.mts +17 -1
  39. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +17 -1
  40. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -1
  41. package/hooks/core/strategyProcessing/useGridStrategyProcessing.mjs +2 -1
  42. package/hooks/core/useGridProps.js +5 -3
  43. package/hooks/core/useGridProps.mjs +5 -3
  44. package/hooks/core/useGridVirtualizer.d.mts +10 -10
  45. package/hooks/core/useGridVirtualizer.d.ts +10 -10
  46. package/hooks/features/columns/gridColumnsUtils.js +18 -10
  47. package/hooks/features/columns/gridColumnsUtils.mjs +19 -11
  48. package/hooks/features/columns/useGridColumns.js +11 -0
  49. package/hooks/features/columns/useGridColumns.mjs +11 -0
  50. package/hooks/features/dataSource/models.d.mts +1 -1
  51. package/hooks/features/dataSource/models.d.ts +1 -1
  52. package/hooks/features/dataSource/useGridDataSourceBase.d.mts +2 -2
  53. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +2 -2
  54. package/hooks/features/dataSource/useGridDataSourceBase.js +31 -19
  55. package/hooks/features/dataSource/useGridDataSourceBase.mjs +31 -19
  56. package/hooks/features/dataSource/utils.d.mts +1 -0
  57. package/hooks/features/dataSource/utils.d.ts +1 -0
  58. package/hooks/features/dataSource/utils.js +1 -0
  59. package/hooks/features/dataSource/utils.mjs +1 -0
  60. package/hooks/features/editing/useGridCellEditing.js +1 -1
  61. package/hooks/features/editing/useGridCellEditing.mjs +1 -1
  62. package/hooks/features/editing/useGridRowEditing.js +1 -1
  63. package/hooks/features/editing/useGridRowEditing.mjs +1 -1
  64. package/hooks/features/export/serializers/csvSerializer.js +3 -1
  65. package/hooks/features/export/serializers/csvSerializer.mjs +3 -1
  66. package/hooks/features/filter/gridFilterUtils.js +5 -3
  67. package/hooks/features/filter/gridFilterUtils.mjs +5 -3
  68. package/hooks/features/listView/useGridListView.js +1 -1
  69. package/hooks/features/listView/useGridListView.mjs +1 -1
  70. package/hooks/features/sorting/gridSortingUtils.js +3 -1
  71. package/hooks/features/sorting/gridSortingUtils.mjs +3 -1
  72. package/hooks/features/virtualization/gridVirtualizationSelectors.d.mts +1 -1
  73. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +1 -1
  74. package/hooks/utils/useGridSelector.js +26 -23
  75. package/hooks/utils/useGridSelector.mjs +25 -23
  76. package/index.js +1 -1
  77. package/index.mjs +1 -1
  78. package/internals/index.d.mts +9 -4
  79. package/internals/index.d.ts +9 -4
  80. package/internals/index.js +62 -2
  81. package/internals/index.mjs +8 -4
  82. package/internals/utils/propValidation.js +3 -0
  83. package/internals/utils/propValidation.mjs +3 -0
  84. package/material/augmentation.d.mts +4 -0
  85. package/material/augmentation.d.ts +4 -0
  86. package/material/index.js +38 -24
  87. package/material/index.mjs +38 -24
  88. package/material/variables.js +2 -1
  89. package/material/variables.mjs +2 -1
  90. package/models/colDef/gridColDef.d.mts +35 -3
  91. package/models/colDef/gridColDef.d.ts +35 -3
  92. package/models/colDef/gridColType.d.mts +1 -0
  93. package/models/colDef/gridColType.d.ts +1 -0
  94. package/models/colDef/gridColumnTypesRecord.d.mts +1 -1
  95. package/models/colDef/gridColumnTypesRecord.d.ts +1 -1
  96. package/models/colDef/index.d.mts +1 -1
  97. package/models/colDef/index.d.ts +1 -1
  98. package/models/gridBaseSlots.d.mts +46 -0
  99. package/models/gridBaseSlots.d.ts +46 -0
  100. package/models/gridDataSource.d.mts +6 -0
  101. package/models/gridDataSource.d.ts +6 -0
  102. package/models/gridRows.d.mts +0 -1
  103. package/models/gridRows.d.ts +0 -1
  104. package/models/gridSlotsComponent.d.mts +5 -0
  105. package/models/gridSlotsComponent.d.ts +5 -0
  106. package/models/gridSlotsComponentsProps.d.mts +3 -1
  107. package/models/gridSlotsComponentsProps.d.ts +3 -1
  108. package/models/gridStateCommunity.d.mts +1 -1
  109. package/models/gridStateCommunity.d.ts +1 -1
  110. package/package.json +4 -4
@@ -18,7 +18,7 @@ var _utils = require("../../utils/utils");
18
18
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
19
  var _gridClasses = require("../../constants/gridClasses");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
- const _excluded = ["field", "type", "align", "width", "height", "empty", "style", "className"];
21
+ const _excluded = ["field", "type", "align", "width", "height", "empty", "style", "className", "skeletonProps"];
22
22
  const CIRCULAR_CONTENT_SIZE = '1.3em';
23
23
  const CONTENT_HEIGHT = '1.2em';
24
24
  const DEFAULT_CONTENT_WIDTH_RANGE = [40, 80];
@@ -50,7 +50,8 @@ function GridSkeletonCell(props) {
50
50
  height,
51
51
  empty = false,
52
52
  style,
53
- className
53
+ className,
54
+ skeletonProps: skeletonPropsOverride
54
55
  } = props,
55
56
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
56
57
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
@@ -62,7 +63,7 @@ function GridSkeletonCell(props) {
62
63
  const classes = useUtilityClasses(ownerState);
63
64
 
64
65
  // Memo prevents the non-circular skeleton widths changing to random widths on every render
65
- const skeletonProps = React.useMemo(() => {
66
+ const baseSkeletonProps = React.useMemo(() => {
66
67
  const isCircularContent = type === 'boolean' || type === 'actions';
67
68
  if (isCircularContent) {
68
69
  return {
@@ -81,6 +82,10 @@ function GridSkeletonCell(props) {
81
82
  height: CONTENT_HEIGHT
82
83
  };
83
84
  }, [type]);
85
+
86
+ // Merge caller overrides outside the memo so an inline `skeletonProps` object
87
+ // doesn't bust the memo and re-roll the random width on every render
88
+ const skeletonProps = skeletonPropsOverride && Object.keys(skeletonPropsOverride).length > 0 ? (0, _extends2.default)({}, baseSkeletonProps, skeletonPropsOverride) : baseSkeletonProps;
84
89
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _extends2.default)({
85
90
  "data-field": field,
86
91
  className: (0, _clsx.default)(classes.root, className),
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["field", "type", "align", "width", "height", "empty", "style", "className"];
3
+ const _excluded = ["field", "type", "align", "width", "height", "empty", "style", "className", "skeletonProps"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
@@ -42,7 +42,8 @@ function GridSkeletonCell(props) {
42
42
  height,
43
43
  empty = false,
44
44
  style,
45
- className
45
+ className,
46
+ skeletonProps: skeletonPropsOverride
46
47
  } = props,
47
48
  other = _objectWithoutPropertiesLoose(props, _excluded);
48
49
  const rootProps = useGridRootProps();
@@ -54,7 +55,7 @@ function GridSkeletonCell(props) {
54
55
  const classes = useUtilityClasses(ownerState);
55
56
 
56
57
  // Memo prevents the non-circular skeleton widths changing to random widths on every render
57
- const skeletonProps = React.useMemo(() => {
58
+ const baseSkeletonProps = React.useMemo(() => {
58
59
  const isCircularContent = type === 'boolean' || type === 'actions';
59
60
  if (isCircularContent) {
60
61
  return {
@@ -73,6 +74,10 @@ function GridSkeletonCell(props) {
73
74
  height: CONTENT_HEIGHT
74
75
  };
75
76
  }, [type]);
77
+
78
+ // Merge caller overrides outside the memo so an inline `skeletonProps` object
79
+ // doesn't bust the memo and re-roll the random width on every render
80
+ const skeletonProps = skeletonPropsOverride && Object.keys(skeletonPropsOverride).length > 0 ? _extends({}, baseSkeletonProps, skeletonPropsOverride) : baseSkeletonProps;
76
81
  return /*#__PURE__*/_jsx("div", _extends({
77
82
  "data-field": field,
78
83
  className: clsx(classes.root, className),
@@ -175,6 +175,16 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
175
175
  [`& .${_gridClasses.gridClasses['columnHeader--filter']}`]: {
176
176
  flex: 'none !important',
177
177
  width: 'unset !important'
178
+ },
179
+ [`& .${_gridClasses.gridClasses.multiSelectCell}`]: {
180
+ width: 'max-content',
181
+ overflow: 'visible'
182
+ },
183
+ [`& .${_gridClasses.gridClasses['multiSelectCellChip--hidden']}`]: {
184
+ display: 'inline-flex'
185
+ },
186
+ [`& .${_gridClasses.gridClasses.multiSelectCellOverflow}`]: {
187
+ display: 'none'
178
188
  }
179
189
  },
180
190
  [`&.${_gridClasses.gridClasses.withSidePanel}`]: {
@@ -523,6 +533,25 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
523
533
  whiteSpace: 'initial',
524
534
  lineHeight: 'inherit'
525
535
  },
536
+ [`& .${_gridClasses.gridClasses['row--dynamicHeight']}`]: {
537
+ [`& .${_gridClasses.gridClasses.multiSelectCell}, .${_gridClasses.gridClasses.editMultiSelectCell}`]: {
538
+ flexWrap: 'wrap'
539
+ }
540
+ },
541
+ [`& .${_gridClasses.gridClasses.cell}[aria-rowspan]:not([aria-rowspan="1"])`]: {
542
+ [`& .${_gridClasses.gridClasses.multiSelectCell}`]: {
543
+ alignItems: 'flex-start',
544
+ alignContent: 'flex-start',
545
+ flexWrap: 'wrap',
546
+ paddingTop: 8
547
+ },
548
+ [`& .${_gridClasses.gridClasses['multiSelectCellChip--hidden']}`]: {
549
+ display: 'inline-flex'
550
+ },
551
+ [`& .${_gridClasses.gridClasses.multiSelectCellOverflow}`]: {
552
+ display: 'none'
553
+ }
554
+ },
526
555
  [`& .${_gridClasses.gridClasses.cellEmpty}`]: {
527
556
  flex: 1,
528
557
  padding: 0,
@@ -169,6 +169,16 @@ export const GridRootStyles = styled('div', {
169
169
  [`& .${c['columnHeader--filter']}`]: {
170
170
  flex: 'none !important',
171
171
  width: 'unset !important'
172
+ },
173
+ [`& .${c.multiSelectCell}`]: {
174
+ width: 'max-content',
175
+ overflow: 'visible'
176
+ },
177
+ [`& .${c['multiSelectCellChip--hidden']}`]: {
178
+ display: 'inline-flex'
179
+ },
180
+ [`& .${c.multiSelectCellOverflow}`]: {
181
+ display: 'none'
172
182
  }
173
183
  },
174
184
  [`&.${c.withSidePanel}`]: {
@@ -517,6 +527,25 @@ export const GridRootStyles = styled('div', {
517
527
  whiteSpace: 'initial',
518
528
  lineHeight: 'inherit'
519
529
  },
530
+ [`& .${c['row--dynamicHeight']}`]: {
531
+ [`& .${c.multiSelectCell}, .${c.editMultiSelectCell}`]: {
532
+ flexWrap: 'wrap'
533
+ }
534
+ },
535
+ [`& .${c.cell}[aria-rowspan]:not([aria-rowspan="1"])`]: {
536
+ [`& .${c.multiSelectCell}`]: {
537
+ alignItems: 'flex-start',
538
+ alignContent: 'flex-start',
539
+ flexWrap: 'wrap',
540
+ paddingTop: 8
541
+ },
542
+ [`& .${c['multiSelectCellChip--hidden']}`]: {
543
+ display: 'inline-flex'
544
+ },
545
+ [`& .${c.multiSelectCellOverflow}`]: {
546
+ display: 'none'
547
+ }
548
+ },
520
549
  [`& .${c.cellEmpty}`]: {
521
550
  flex: 1,
522
551
  padding: 0,
@@ -64,10 +64,8 @@ function GridFilterInputSingleSelect(props) {
64
64
  return (0, _filterPanelUtils.getValueOptions)(resolvedColumn);
65
65
  }, [resolvedColumn]);
66
66
  const onFilterChange = React.useCallback(event => {
67
- let value = event.target.value;
68
-
69
- // NativeSelect casts the value to a string.
70
- value = (0, _filterPanelUtils.getValueFromValueOptions)(value, currentValueOptions, getOptionValue);
67
+ // NativeSelect casts the value to a string, convert it back to the original type.
68
+ const value = (0, _filterPanelUtils.getValueFromValueOptions)(event.target.value, currentValueOptions, getOptionValue);
71
69
  applyValue((0, _extends2.default)({}, item, {
72
70
  value
73
71
  }));
@@ -56,10 +56,8 @@ function GridFilterInputSingleSelect(props) {
56
56
  return getValueOptions(resolvedColumn);
57
57
  }, [resolvedColumn]);
58
58
  const onFilterChange = React.useCallback(event => {
59
- let value = event.target.value;
60
-
61
- // NativeSelect casts the value to a string.
62
- value = getValueFromValueOptions(value, currentValueOptions, getOptionValue);
59
+ // NativeSelect casts the value to a string, convert it back to the original type.
60
+ const value = getValueFromValueOptions(event.target.value, currentValueOptions, getOptionValue);
63
61
  applyValue(_extends({}, item, {
64
62
  value
65
63
  }));
@@ -1,5 +1,6 @@
1
- import type { GridColDef, GridSingleSelectColDef } from "../../../models/colDef/gridColDef.mjs";
1
+ import type { GridColDef, GridSingleSelectColDef, GridMultiSelectColDef } from "../../../models/colDef/gridColDef.mjs";
2
2
  import type { GridValueOptionsParams } from "../../../models/params/gridValueOptionsParams.mjs";
3
3
  export declare function isSingleSelectColDef(colDef: GridColDef | null): colDef is GridSingleSelectColDef;
4
- export declare function getValueOptions(column: GridSingleSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
4
+ export declare function isMultiSelectColDef(colDef: GridColDef | null): colDef is GridMultiSelectColDef;
5
+ export declare function getValueOptions(column: GridSingleSelectColDef | GridMultiSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
5
6
  export declare function getValueFromValueOptions(value: string, valueOptions: any[] | undefined, getOptionValue: NonNullable<GridSingleSelectColDef['getOptionValue']>): any;
@@ -1,5 +1,6 @@
1
- import type { GridColDef, GridSingleSelectColDef } from "../../../models/colDef/gridColDef.js";
1
+ import type { GridColDef, GridSingleSelectColDef, GridMultiSelectColDef } from "../../../models/colDef/gridColDef.js";
2
2
  import type { GridValueOptionsParams } from "../../../models/params/gridValueOptionsParams.js";
3
3
  export declare function isSingleSelectColDef(colDef: GridColDef | null): colDef is GridSingleSelectColDef;
4
- export declare function getValueOptions(column: GridSingleSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
4
+ export declare function isMultiSelectColDef(colDef: GridColDef | null): colDef is GridMultiSelectColDef;
5
+ export declare function getValueOptions(column: GridSingleSelectColDef | GridMultiSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
5
6
  export declare function getValueFromValueOptions(value: string, valueOptions: any[] | undefined, getOptionValue: NonNullable<GridSingleSelectColDef['getOptionValue']>): any;
@@ -6,11 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getValueFromValueOptions = getValueFromValueOptions;
8
8
  exports.getValueOptions = getValueOptions;
9
+ exports.isMultiSelectColDef = isMultiSelectColDef;
9
10
  exports.isSingleSelectColDef = isSingleSelectColDef;
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
  function isSingleSelectColDef(colDef) {
12
13
  return colDef?.type === 'singleSelect';
13
14
  }
15
+ function isMultiSelectColDef(colDef) {
16
+ return colDef?.type === 'multiSelect';
17
+ }
14
18
  function getValueOptions(column, additionalParams) {
15
19
  if (!column) {
16
20
  return undefined;
@@ -2,6 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  export function isSingleSelectColDef(colDef) {
3
3
  return colDef?.type === 'singleSelect';
4
4
  }
5
+ export function isMultiSelectColDef(colDef) {
6
+ return colDef?.type === 'multiSelect';
7
+ }
5
8
  export function getValueOptions(column, additionalParams) {
6
9
  if (!column) {
7
10
  return undefined;
@@ -75,6 +75,7 @@ declare const keys: {
75
75
  readonly zIndex: {
76
76
  readonly panel: "--DataGrid-t-z-index-panel";
77
77
  readonly menu: "--DataGrid-t-z-index-menu";
78
+ readonly modal: "--DataGrid-t-z-index-modal";
78
79
  };
79
80
  };
80
81
  export type GridCSSVariablesInterface = { [E in CreateObjectEntries<typeof keys> as E['value']]: string | number };
@@ -168,6 +169,7 @@ export declare const vars: {
168
169
  zIndex: {
169
170
  readonly panel: "--DataGrid-t-z-index-panel";
170
171
  readonly menu: "--DataGrid-t-z-index-menu";
172
+ readonly modal: "--DataGrid-t-z-index-modal";
171
173
  };
172
174
  breakpoints: {
173
175
  values: {
@@ -258,6 +260,7 @@ export declare const vars: {
258
260
  readonly zIndex: {
259
261
  readonly panel: "--DataGrid-t-z-index-panel";
260
262
  readonly menu: "--DataGrid-t-z-index-menu";
263
+ readonly modal: "--DataGrid-t-z-index-modal";
261
264
  };
262
265
  };
263
266
  };
@@ -75,6 +75,7 @@ declare const keys: {
75
75
  readonly zIndex: {
76
76
  readonly panel: "--DataGrid-t-z-index-panel";
77
77
  readonly menu: "--DataGrid-t-z-index-menu";
78
+ readonly modal: "--DataGrid-t-z-index-modal";
78
79
  };
79
80
  };
80
81
  export type GridCSSVariablesInterface = { [E in CreateObjectEntries<typeof keys> as E['value']]: string | number };
@@ -168,6 +169,7 @@ export declare const vars: {
168
169
  zIndex: {
169
170
  readonly panel: "--DataGrid-t-z-index-panel";
170
171
  readonly menu: "--DataGrid-t-z-index-menu";
172
+ readonly modal: "--DataGrid-t-z-index-modal";
171
173
  };
172
174
  breakpoints: {
173
175
  values: {
@@ -258,6 +260,7 @@ export declare const vars: {
258
260
  readonly zIndex: {
259
261
  readonly panel: "--DataGrid-t-z-index-panel";
260
262
  readonly menu: "--DataGrid-t-z-index-menu";
263
+ readonly modal: "--DataGrid-t-z-index-modal";
261
264
  };
262
265
  };
263
266
  };
@@ -105,7 +105,8 @@ const keys = {
105
105
  },
106
106
  zIndex: {
107
107
  panel: '--DataGrid-t-z-index-panel',
108
- menu: '--DataGrid-t-z-index-menu'
108
+ menu: '--DataGrid-t-z-index-menu',
109
+ modal: '--DataGrid-t-z-index-modal'
109
110
  }
110
111
  };
111
112
  const values = wrap(keys);
@@ -98,7 +98,8 @@ const keys = {
98
98
  },
99
99
  zIndex: {
100
100
  panel: '--DataGrid-t-z-index-panel',
101
- menu: '--DataGrid-t-z-index-menu'
101
+ menu: '--DataGrid-t-z-index-menu',
102
+ modal: '--DataGrid-t-z-index-modal'
102
103
  }
103
104
  };
104
105
  const values = wrap(keys);
@@ -514,6 +514,54 @@ export interface GridClasses {
514
514
  * Styles applied to the edit long text cell textarea.
515
515
  */
516
516
  editLongTextCellTextarea: string;
517
+ /**
518
+ * Styles applied to the multi-select cell root element.
519
+ */
520
+ multiSelectCell: string;
521
+ /**
522
+ * Styles applied to each chip in the multi-select cell.
523
+ */
524
+ multiSelectCellChip: string;
525
+ /**
526
+ * @ignore - do not document.
527
+ */
528
+ 'multiSelectCellChip--hidden': string;
529
+ /**
530
+ * Styles applied to the overflow "+N" chip in the multi-select cell.
531
+ */
532
+ multiSelectCellOverflow: string;
533
+ /**
534
+ * Styles applied to the multi-select cell expand popup.
535
+ */
536
+ multiSelectCellPopup: string;
537
+ /**
538
+ * Styles applied to the multi-select cell popper content.
539
+ */
540
+ multiSelectCellPopperContent: string;
541
+ /**
542
+ * Styles applied to the edit multi-select cell root element.
543
+ */
544
+ editMultiSelectCell: string;
545
+ /**
546
+ * Styles applied to each chip in the edit multi-select cell.
547
+ */
548
+ editMultiSelectCellChip: string;
549
+ /**
550
+ * @ignore - do not document.
551
+ */
552
+ 'editMultiSelectCellChip--hidden': string;
553
+ /**
554
+ * Styles applied to the overflow "+N" chip in the edit multi-select cell.
555
+ */
556
+ editMultiSelectCellOverflow: string;
557
+ /**
558
+ * Styles applied to the edit multi-select cell popup.
559
+ */
560
+ editMultiSelectCellPopup: string;
561
+ /**
562
+ * Styles applied to the edit multi-select cell popper content.
563
+ */
564
+ editMultiSelectCellPopperContent: string;
517
565
  /**
518
566
  * Styles applied to the filter icon element.
519
567
  */
@@ -514,6 +514,54 @@ export interface GridClasses {
514
514
  * Styles applied to the edit long text cell textarea.
515
515
  */
516
516
  editLongTextCellTextarea: string;
517
+ /**
518
+ * Styles applied to the multi-select cell root element.
519
+ */
520
+ multiSelectCell: string;
521
+ /**
522
+ * Styles applied to each chip in the multi-select cell.
523
+ */
524
+ multiSelectCellChip: string;
525
+ /**
526
+ * @ignore - do not document.
527
+ */
528
+ 'multiSelectCellChip--hidden': string;
529
+ /**
530
+ * Styles applied to the overflow "+N" chip in the multi-select cell.
531
+ */
532
+ multiSelectCellOverflow: string;
533
+ /**
534
+ * Styles applied to the multi-select cell expand popup.
535
+ */
536
+ multiSelectCellPopup: string;
537
+ /**
538
+ * Styles applied to the multi-select cell popper content.
539
+ */
540
+ multiSelectCellPopperContent: string;
541
+ /**
542
+ * Styles applied to the edit multi-select cell root element.
543
+ */
544
+ editMultiSelectCell: string;
545
+ /**
546
+ * Styles applied to each chip in the edit multi-select cell.
547
+ */
548
+ editMultiSelectCellChip: string;
549
+ /**
550
+ * @ignore - do not document.
551
+ */
552
+ 'editMultiSelectCellChip--hidden': string;
553
+ /**
554
+ * Styles applied to the overflow "+N" chip in the edit multi-select cell.
555
+ */
556
+ editMultiSelectCellOverflow: string;
557
+ /**
558
+ * Styles applied to the edit multi-select cell popup.
559
+ */
560
+ editMultiSelectCellPopup: string;
561
+ /**
562
+ * Styles applied to the edit multi-select cell popper content.
563
+ */
564
+ editMultiSelectCellPopperContent: string;
517
565
  /**
518
566
  * Styles applied to the filter icon element.
519
567
  */
@@ -30,4 +30,4 @@ const gridClassesOverrides = exports.gridClassesOverrides = {
30
30
  // TODO v9: Rename to `cell--dragging`
31
31
  'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
32
32
  };
33
- const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'contentFiller', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filler--horizontal', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'virtualizer--layoutControlled', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
33
+ const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'contentFiller', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'multiSelectCell', 'multiSelectCellChip', 'multiSelectCellChip--hidden', 'multiSelectCellOverflow', 'multiSelectCellPopup', 'multiSelectCellPopperContent', 'editMultiSelectCell', 'editMultiSelectCellChip', 'editMultiSelectCellChip--hidden', 'editMultiSelectCellOverflow', 'editMultiSelectCellPopup', 'editMultiSelectCellPopperContent', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filler--horizontal', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'virtualizer--layoutControlled', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
@@ -22,4 +22,4 @@ export const gridClassesOverrides = {
22
22
  // TODO v9: Rename to `cell--dragging`
23
23
  'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
24
24
  };
25
- export const gridClasses = generateUtilityClasses('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'contentFiller', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filler--horizontal', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'virtualizer--layoutControlled', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
25
+ export const gridClasses = generateUtilityClasses('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'contentFiller', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'multiSelectCell', 'multiSelectCellChip', 'multiSelectCellChip--hidden', 'multiSelectCellOverflow', 'multiSelectCellPopup', 'multiSelectCellPopperContent', 'editMultiSelectCell', 'editMultiSelectCellChip', 'editMultiSelectCellChip--hidden', 'editMultiSelectCellOverflow', 'editMultiSelectCellPopup', 'editMultiSelectCellPopperContent', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filler--horizontal', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'virtualizer--layoutControlled', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
@@ -2,6 +2,7 @@ import type { GridRowTreeCreationParams, GridRowTreeCreationValue, GridRowsState
2
2
  import type { GridFilteringMethodParams, GridFilteringMethodValue, GridFilterState, GridVisibleRowsLookupState } from "../../features/filter/gridFilterState.mjs";
3
3
  import type { GridSortingMethodParams, GridSortingMethodValue } from "../../features/sorting/gridSortingState.mjs";
4
4
  import type { GridGetRowsParams, GridGetRowsResponse, GridGetRowsOptions } from "../../../models/gridDataSource.mjs";
5
+ import type { GridRowId } from "../../../models/gridRows.mjs";
5
6
  export type GridStrategyProcessorName = keyof GridStrategyProcessingLookup;
6
7
  export declare enum GridStrategyGroup {
7
8
  DataSource = "dataSource",
@@ -9,7 +10,7 @@ export declare enum GridStrategyGroup {
9
10
  }
10
11
  export type GridStrategyGroupValue = `${GridStrategyGroup}`;
11
12
  export interface GridStrategyProcessingLookup {
12
- dataSourceRowsUpdate: {
13
+ dataSourceRootRowsUpdate: {
13
14
  group: GridStrategyGroup.DataSource;
14
15
  params: {
15
16
  response: GridGetRowsResponse;
@@ -22,6 +23,21 @@ export interface GridStrategyProcessingLookup {
22
23
  };
23
24
  value: void;
24
25
  };
26
+ dataSourceNestedRowsUpdate: {
27
+ group: GridStrategyGroup.DataSource;
28
+ params: {
29
+ parentId: GridRowId;
30
+ path: string[];
31
+ response: GridGetRowsResponse;
32
+ fetchParams: GridGetRowsParams;
33
+ } | {
34
+ parentId: GridRowId;
35
+ path: string[];
36
+ error: Error;
37
+ fetchParams: GridGetRowsParams;
38
+ };
39
+ value: void;
40
+ };
25
41
  rowTreeCreation: {
26
42
  group: GridStrategyGroup.RowTree;
27
43
  params: GridRowTreeCreationParams;
@@ -2,6 +2,7 @@ import type { GridRowTreeCreationParams, GridRowTreeCreationValue, GridRowsState
2
2
  import type { GridFilteringMethodParams, GridFilteringMethodValue, GridFilterState, GridVisibleRowsLookupState } from "../../features/filter/gridFilterState.js";
3
3
  import type { GridSortingMethodParams, GridSortingMethodValue } from "../../features/sorting/gridSortingState.js";
4
4
  import type { GridGetRowsParams, GridGetRowsResponse, GridGetRowsOptions } from "../../../models/gridDataSource.js";
5
+ import type { GridRowId } from "../../../models/gridRows.js";
5
6
  export type GridStrategyProcessorName = keyof GridStrategyProcessingLookup;
6
7
  export declare enum GridStrategyGroup {
7
8
  DataSource = "dataSource",
@@ -9,7 +10,7 @@ export declare enum GridStrategyGroup {
9
10
  }
10
11
  export type GridStrategyGroupValue = `${GridStrategyGroup}`;
11
12
  export interface GridStrategyProcessingLookup {
12
- dataSourceRowsUpdate: {
13
+ dataSourceRootRowsUpdate: {
13
14
  group: GridStrategyGroup.DataSource;
14
15
  params: {
15
16
  response: GridGetRowsResponse;
@@ -22,6 +23,21 @@ export interface GridStrategyProcessingLookup {
22
23
  };
23
24
  value: void;
24
25
  };
26
+ dataSourceNestedRowsUpdate: {
27
+ group: GridStrategyGroup.DataSource;
28
+ params: {
29
+ parentId: GridRowId;
30
+ path: string[];
31
+ response: GridGetRowsResponse;
32
+ fetchParams: GridGetRowsParams;
33
+ } | {
34
+ parentId: GridRowId;
35
+ path: string[];
36
+ error: Error;
37
+ fetchParams: GridGetRowsParams;
38
+ };
39
+ value: void;
40
+ };
25
41
  rowTreeCreation: {
26
42
  group: GridStrategyGroup.RowTree;
27
43
  params: GridRowTreeCreationParams;
@@ -15,7 +15,8 @@ var _gridStrategyProcessingApi = require("./gridStrategyProcessingApi");
15
15
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
16
16
  const GRID_DEFAULT_STRATEGY = exports.GRID_DEFAULT_STRATEGY = 'none';
17
17
  const GRID_STRATEGIES_PROCESSORS = {
18
- dataSourceRowsUpdate: _gridStrategyProcessingApi.GridStrategyGroup.DataSource,
18
+ dataSourceRootRowsUpdate: _gridStrategyProcessingApi.GridStrategyGroup.DataSource,
19
+ dataSourceNestedRowsUpdate: _gridStrategyProcessingApi.GridStrategyGroup.DataSource,
19
20
  rowTreeCreation: _gridStrategyProcessingApi.GridStrategyGroup.RowTree,
20
21
  filtering: _gridStrategyProcessingApi.GridStrategyGroup.RowTree,
21
22
  sorting: _gridStrategyProcessingApi.GridStrategyGroup.RowTree,
@@ -8,7 +8,8 @@ import { GridStrategyGroup } from "./gridStrategyProcessingApi.mjs";
8
8
  import { useGridApiMethod } from "../../utils/useGridApiMethod.mjs";
9
9
  export const GRID_DEFAULT_STRATEGY = 'none';
10
10
  const GRID_STRATEGIES_PROCESSORS = {
11
- dataSourceRowsUpdate: GridStrategyGroup.DataSource,
11
+ dataSourceRootRowsUpdate: GridStrategyGroup.DataSource,
12
+ dataSourceNestedRowsUpdate: GridStrategyGroup.DataSource,
12
13
  rowTreeCreation: GridStrategyGroup.RowTree,
13
14
  filtering: GridStrategyGroup.RowTree,
14
15
  sorting: GridStrategyGroup.RowTree,
@@ -16,7 +16,8 @@ const propsStateInitializer = (state, props) => {
16
16
  getRowId: props.getRowId,
17
17
  isCellEditable: props.isCellEditable,
18
18
  isRowSelectable: props.isRowSelectable,
19
- dataSource: props.dataSource
19
+ dataSource: props.dataSource,
20
+ signature: props.signature
20
21
  }
21
22
  });
22
23
  };
@@ -34,9 +35,10 @@ const useGridProps = (apiRef, props) => {
34
35
  getRowId: props.getRowId,
35
36
  isCellEditable: props.isCellEditable,
36
37
  isRowSelectable: props.isRowSelectable,
37
- dataSource: props.dataSource
38
+ dataSource: props.dataSource,
39
+ signature: props.signature
38
40
  }
39
41
  }));
40
- }, [apiRef, props.listView, props.getRowId, props.isCellEditable, props.isRowSelectable, props.dataSource]);
42
+ }, [apiRef, props.listView, props.getRowId, props.isCellEditable, props.isRowSelectable, props.dataSource, props.signature]);
41
43
  };
42
44
  exports.useGridProps = useGridProps;
@@ -9,7 +9,8 @@ export const propsStateInitializer = (state, props) => {
9
9
  getRowId: props.getRowId,
10
10
  isCellEditable: props.isCellEditable,
11
11
  isRowSelectable: props.isRowSelectable,
12
- dataSource: props.dataSource
12
+ dataSource: props.dataSource,
13
+ signature: props.signature
13
14
  }
14
15
  });
15
16
  };
@@ -26,8 +27,9 @@ export const useGridProps = (apiRef, props) => {
26
27
  getRowId: props.getRowId,
27
28
  isCellEditable: props.isCellEditable,
28
29
  isRowSelectable: props.isRowSelectable,
29
- dataSource: props.dataSource
30
+ dataSource: props.dataSource,
31
+ signature: props.signature
30
32
  }
31
33
  }));
32
- }, [apiRef, props.listView, props.getRowId, props.isCellEditable, props.isRowSelectable, props.dataSource]);
34
+ }, [apiRef, props.listView, props.getRowId, props.isCellEditable, props.isRowSelectable, props.dataSource, props.signature]);
33
35
  };