@mui/x-data-grid 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 (119) hide show
  1. package/CHANGELOG.md +100 -1
  2. package/DataGrid/useDataGridComponent.d.ts +0 -1
  3. package/components/GridFooter.d.ts +1 -1
  4. package/components/GridLoadingOverlay.d.ts +1 -1
  5. package/components/GridNoResultsOverlay.d.ts +1 -1
  6. package/components/GridNoRowsOverlay.d.ts +1 -1
  7. package/components/GridRowCount.d.ts +1 -1
  8. package/components/GridSelectedRowCount.d.ts +1 -1
  9. package/components/cell/GridActionsCellItem.d.ts +3 -3
  10. package/components/columnHeaders/GridColumnHeaderItem.js +3 -3
  11. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
  12. package/components/columnHeaders/GridColumnHeaderSortIcon.js +11 -6
  13. package/components/containers/GridFooterContainer.d.ts +1 -1
  14. package/components/containers/GridOverlay.d.ts +1 -1
  15. package/components/containers/GridRootStyles.d.ts +0 -1
  16. package/components/containers/GridRootStyles.js +8 -0
  17. package/components/containers/GridToolbarContainer.d.ts +1 -1
  18. package/components/panel/GridPanel.d.ts +1 -1
  19. package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
  20. package/components/virtualization/GridMainContainer.d.ts +1 -1
  21. package/components/virtualization/GridVirtualScrollerContent.d.ts +1 -1
  22. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +1 -1
  23. package/constants/defaultGridSlotsComponents.js +2 -1
  24. package/constants/gridClasses.d.ts +5 -0
  25. package/constants/gridClasses.js +1 -1
  26. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +2 -1
  27. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +2 -2
  28. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +2 -2
  29. package/hooks/core/useGridInitialization.d.ts +1 -1
  30. package/hooks/core/useGridLocaleText.d.ts +1 -1
  31. package/hooks/core/useGridLoggerFactory.d.ts +1 -1
  32. package/hooks/features/clipboard/useGridClipboard.d.ts +1 -1
  33. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  34. package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
  35. package/hooks/features/density/useGridDensity.d.ts +1 -1
  36. package/hooks/features/dimensions/useGridDimensions.js +15 -15
  37. package/hooks/features/editing/useGridCellEditing.d.ts +1 -1
  38. package/hooks/features/editing/useGridEditing.d.ts +1 -1
  39. package/hooks/features/editing/useGridRowEditing.d.ts +1 -1
  40. package/hooks/features/export/serializers/csvSerializer.d.ts +0 -1
  41. package/hooks/features/export/useGridCsvExport.d.ts +1 -1
  42. package/hooks/features/export/useGridPrintExport.d.ts +1 -1
  43. package/hooks/features/export/useGridPrintExport.js +9 -8
  44. package/hooks/features/filter/gridFilterUtils.d.ts +1 -1
  45. package/hooks/features/filter/useGridFilter.d.ts +1 -1
  46. package/hooks/features/focus/useGridFocus.d.ts +1 -1
  47. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +1 -1
  48. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  49. package/hooks/features/pagination/gridPaginationUtils.d.ts +1 -1
  50. package/hooks/features/pagination/index.d.ts +1 -1
  51. package/hooks/features/pagination/useGridPaginationMeta.d.ts +1 -1
  52. package/hooks/features/pagination/useGridPaginationModel.d.ts +2 -2
  53. package/hooks/features/pagination/useGridRowCount.d.ts +1 -1
  54. package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +1 -1
  55. package/hooks/features/rowSelection/useGridRowSelection.d.ts +1 -1
  56. package/hooks/features/rows/gridRowsInterfaces.d.ts +10 -2
  57. package/hooks/features/rows/gridRowsSelector.d.ts +2 -1
  58. package/hooks/features/rows/gridRowsSelector.js +1 -0
  59. package/hooks/features/rows/gridRowsUtils.d.ts +8 -6
  60. package/hooks/features/rows/gridRowsUtils.js +30 -6
  61. package/hooks/features/rows/useGridRows.d.ts +2 -2
  62. package/hooks/features/rows/useGridRows.js +39 -21
  63. package/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
  64. package/hooks/features/scroll/useGridScroll.d.ts +1 -1
  65. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  66. package/hooks/utils/useGridApiEventHandler.d.ts +2 -2
  67. package/hooks/utils/useGridApiRef.d.ts +1 -1
  68. package/hooks/utils/useGridInitializeState.d.ts +1 -1
  69. package/hooks/utils/useGridRootProps.d.ts +1 -1
  70. package/hooks/utils/useGridSelector.d.ts +1 -1
  71. package/hooks/utils/useGridVisibleRows.d.ts +2 -2
  72. package/index.js +1 -1
  73. package/internals/index.d.ts +2 -0
  74. package/internals/index.js +1 -0
  75. package/internals/utils/propValidation.js +1 -1
  76. package/models/api/gridApiCommon.d.ts +2 -2
  77. package/models/api/gridInfiniteLoaderApi.d.ts +0 -1
  78. package/models/api/gridRowApi.d.ts +14 -0
  79. package/models/gridColumnGrouping.d.ts +0 -1
  80. package/models/gridDataSource.d.ts +87 -0
  81. package/models/gridDataSource.js +1 -0
  82. package/models/gridRows.d.ts +10 -0
  83. package/models/gridSlotsComponent.d.ts +5 -0
  84. package/models/gridSlotsComponentsProps.d.ts +5 -1
  85. package/models/props/DataGridProps.d.ts +2 -0
  86. package/modern/components/columnHeaders/GridColumnHeaderItem.js +3 -3
  87. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +11 -6
  88. package/modern/components/containers/GridRootStyles.js +8 -0
  89. package/modern/constants/defaultGridSlotsComponents.js +2 -1
  90. package/modern/constants/gridClasses.js +1 -1
  91. package/modern/hooks/features/dimensions/useGridDimensions.js +15 -15
  92. package/modern/hooks/features/export/useGridPrintExport.js +9 -8
  93. package/modern/hooks/features/rows/gridRowsSelector.js +1 -0
  94. package/modern/hooks/features/rows/gridRowsUtils.js +30 -6
  95. package/modern/hooks/features/rows/useGridRows.js +39 -21
  96. package/modern/index.js +1 -1
  97. package/modern/internals/index.js +1 -0
  98. package/modern/internals/utils/propValidation.js +1 -1
  99. package/modern/models/gridDataSource.js +1 -0
  100. package/node/components/columnHeaders/GridColumnHeaderItem.js +3 -3
  101. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +11 -6
  102. package/node/components/containers/GridRootStyles.js +8 -0
  103. package/node/constants/defaultGridSlotsComponents.js +1 -0
  104. package/node/constants/gridClasses.js +1 -1
  105. package/node/hooks/features/dimensions/useGridDimensions.js +15 -15
  106. package/node/hooks/features/export/useGridPrintExport.js +9 -8
  107. package/node/hooks/features/rows/gridRowsSelector.js +2 -1
  108. package/node/hooks/features/rows/gridRowsUtils.js +31 -6
  109. package/node/hooks/features/rows/useGridRows.js +37 -19
  110. package/node/index.js +1 -1
  111. package/node/internals/index.js +7 -0
  112. package/node/internals/utils/propValidation.js +1 -1
  113. package/node/models/gridDataSource.js +5 -0
  114. package/package.json +1 -1
  115. package/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -1
  116. package/utils/domUtils.d.ts +0 -1
  117. package/utils/getPublicApiRef.d.ts +1 -2
  118. package/utils/keyboardUtils.d.ts +1 -1
  119. package/utils/warning.d.ts +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
 
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { DataGridProcessedProps } from '../models/props/DataGridProps';
3
2
  import { GridApiCommunity, GridPrivateApiCommunity } from '../models/api/gridApiCommunity';
4
3
  export declare const useDataGridComponent: (inputApiRef: React.MutableRefObject<GridApiCommunity> | undefined, props: DataGridProcessedProps) => import("react").MutableRefObject<GridPrivateApiCommunity>;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  declare const GridFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
- sx?: import("@mui/system").SxProps<import("@mui/system").Theme> | undefined;
3
+ sx?: import("@mui/system").SxProps<import("@mui/system").Theme>;
4
4
  } & React.RefAttributes<HTMLDivElement>>;
5
5
  export { GridFooter };
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  declare const GridLoadingOverlay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
- sx?: import("@mui/system").SxProps<import("@mui/system").Theme> | undefined;
3
+ sx?: import("@mui/system").SxProps<import("@mui/system").Theme>;
4
4
  } & React.RefAttributes<HTMLDivElement>>;
5
5
  export { GridLoadingOverlay };
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  export declare const GridNoResultsOverlay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
- sx?: import("@mui/system").SxProps<import("@mui/system").Theme> | undefined;
3
+ sx?: import("@mui/system").SxProps<import("@mui/system").Theme>;
4
4
  } & React.RefAttributes<HTMLDivElement>>;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  declare const GridNoRowsOverlay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
3
- sx?: import("@mui/system").SxProps<import("@mui/system").Theme> | undefined;
3
+ sx?: import("@mui/system").SxProps<import("@mui/system").Theme>;
4
4
  } & React.RefAttributes<HTMLDivElement>>;
5
5
  export { GridNoRowsOverlay };
@@ -8,6 +8,6 @@ export type GridRowCountProps = React.HTMLAttributes<HTMLDivElement> & RowCountP
8
8
  sx?: SxProps<Theme>;
9
9
  };
10
10
  declare const GridRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & RowCountProps & {
11
- sx?: SxProps<Theme> | undefined;
11
+ sx?: SxProps<Theme>;
12
12
  } & React.RefAttributes<HTMLDivElement>>;
13
13
  export { GridRowCount };
@@ -4,6 +4,6 @@ interface SelectedRowCountProps {
4
4
  selectedRowCount: number;
5
5
  }
6
6
  declare const GridSelectedRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & SelectedRowCountProps & {
7
- sx?: SxProps<Theme> | undefined;
7
+ sx?: SxProps<Theme>;
8
8
  } & React.RefAttributes<HTMLDivElement>>;
9
9
  export { GridSelectedRowCount };
@@ -20,7 +20,7 @@ export type GridActionsCellItemProps = GridActionsCellItemCommonProps & (({
20
20
  closeMenu?: () => void;
21
21
  } & Omit<MenuItemProps, 'component'>));
22
22
  declare const GridActionsCellItem: React.ForwardRefExoticComponent<(Omit<GridActionsCellItemCommonProps & {
23
- showInMenu?: false | undefined;
23
+ showInMenu?: false;
24
24
  icon: React.ReactElement;
25
25
  } & Omit<IconButtonProps, "component">, "ref"> | Omit<GridActionsCellItemCommonProps & {
26
26
  showInMenu: true;
@@ -28,7 +28,7 @@ declare const GridActionsCellItem: React.ForwardRefExoticComponent<(Omit<GridAct
28
28
  * If false, the menu will not close when this item is clicked.
29
29
  * @default true
30
30
  */
31
- closeMenuOnClick?: boolean | undefined;
32
- closeMenu?: (() => void) | undefined;
31
+ closeMenuOnClick?: boolean;
32
+ closeMenu?: () => void;
33
33
  } & Omit<MenuItemProps, "component">, "ref">) & React.RefAttributes<HTMLElement>>;
34
34
  export { GridActionsCellItem };
@@ -5,7 +5,6 @@ import clsx from 'clsx';
5
5
  import { unstable_composeClasses as composeClasses, unstable_useId as useId } from '@mui/utils';
6
6
  import { fastMemo } from '../../utils/fastMemo';
7
7
  import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiContext';
8
- import { GridColumnHeaderSortIcon } from './GridColumnHeaderSortIcon';
9
8
  import { ColumnHeaderMenuIcon } from './ColumnHeaderMenuIcon';
10
9
  import { GridColumnHeaderMenu } from '../menu/columnMenu/GridColumnHeaderMenu';
11
10
  import { gridClasses, getDataGridUtilityClass } from '../../constants/gridClasses';
@@ -142,12 +141,13 @@ function GridColumnHeaderItem(props) {
142
141
  children: [!rootProps.disableColumnFilter && /*#__PURE__*/_jsx(rootProps.slots.columnHeaderFilterIconButton, _extends({
143
142
  field: colDef.field,
144
143
  counter: filterItemsCounter
145
- }, rootProps.slotProps?.columnHeaderFilterIconButton)), showSortIcon && /*#__PURE__*/_jsx(GridColumnHeaderSortIcon, {
144
+ }, rootProps.slotProps?.columnHeaderFilterIconButton)), showSortIcon && /*#__PURE__*/_jsx(rootProps.slots.columnHeaderSortIcon, _extends({
145
+ field: colDef.field,
146
146
  direction: sortDirection,
147
147
  index: sortIndex,
148
148
  sortingOrder: sortingOrder,
149
149
  disabled: !colDef.sortable
150
- })]
150
+ }, rootProps.slotProps?.columnHeaderSortIcon))]
151
151
  });
152
152
  React.useLayoutEffect(() => {
153
153
  const columnMenuState = apiRef.current.state.columnMenu;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { GridSortDirection } from '../../models/gridSortModel';
3
3
  export interface GridColumnHeaderSortIconProps {
4
+ field: string;
4
5
  direction: GridSortDirection;
5
6
  index: number | undefined;
6
7
  sortingOrder: readonly GridSortDirection[];
@@ -1,4 +1,6 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
1
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
+ const _excluded = ["direction", "index", "sortingOrder", "disabled"];
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
4
6
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
@@ -35,11 +37,12 @@ function getIcon(icons, direction, className, sortingOrder) {
35
37
  }
36
38
  function GridColumnHeaderSortIconRaw(props) {
37
39
  const {
38
- direction,
39
- index,
40
- sortingOrder,
41
- disabled
42
- } = props;
40
+ direction,
41
+ index,
42
+ sortingOrder,
43
+ disabled
44
+ } = props,
45
+ other = _objectWithoutPropertiesLoose(props, _excluded);
43
46
  const apiRef = useGridApiContext();
44
47
  const rootProps = useGridRootProps();
45
48
  const ownerState = _extends({}, props, {
@@ -56,13 +59,14 @@ function GridColumnHeaderSortIconRaw(props) {
56
59
  title: apiRef.current.getLocaleText('columnHeaderSortIconLabel'),
57
60
  size: "small",
58
61
  disabled: disabled
59
- }, rootProps.slotProps?.baseIconButton, {
62
+ }, rootProps.slotProps?.baseIconButton, other, {
60
63
  children: iconElement
61
64
  }));
62
65
  return /*#__PURE__*/_jsxs(GridIconButtonContainer, {
63
66
  children: [index != null && /*#__PURE__*/_jsx(Badge, {
64
67
  badgeContent: index,
65
68
  color: "default",
69
+ overlap: "circular",
66
70
  children: iconButton
67
71
  }), index == null && iconButton]
68
72
  });
@@ -75,6 +79,7 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaderSortIconRaw.propTypes =
75
79
  // ----------------------------------------------------------------------
76
80
  direction: PropTypes.oneOf(['asc', 'desc']),
77
81
  disabled: PropTypes.bool,
82
+ field: PropTypes.string.isRequired,
78
83
  index: PropTypes.number,
79
84
  sortingOrder: PropTypes.arrayOf(PropTypes.oneOf(['asc', 'desc'])).isRequired
80
85
  } : void 0;
@@ -4,6 +4,6 @@ export type GridFooterContainerProps = React.HTMLAttributes<HTMLDivElement> & {
4
4
  sx?: SxProps<Theme>;
5
5
  };
6
6
  declare const GridFooterContainer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
7
- sx?: SxProps<Theme> | undefined;
7
+ sx?: SxProps<Theme>;
8
8
  } & React.RefAttributes<HTMLDivElement>>;
9
9
  export { GridFooterContainer };
@@ -4,6 +4,6 @@ export type GridOverlayProps = React.HTMLAttributes<HTMLDivElement> & {
4
4
  sx?: SxProps<Theme>;
5
5
  };
6
6
  declare const GridOverlay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
7
- sx?: SxProps<Theme> | undefined;
7
+ sx?: SxProps<Theme>;
8
8
  } & React.RefAttributes<HTMLDivElement>>;
9
9
  export { GridOverlay };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Theme } from '@mui/material/styles';
3
2
  import { DataGridProcessedProps } from '../../models/props/DataGridProps';
4
3
  export type OwnerState = DataGridProcessedProps;
@@ -141,6 +141,8 @@ export const GridRootStyles = styled('div', {
141
141
  [`& .${c.treeDataGroupingCell}`]: styles.treeDataGroupingCell
142
142
  }, {
143
143
  [`& .${c.treeDataGroupingCellToggle}`]: styles.treeDataGroupingCellToggle
144
+ }, {
145
+ [`& .${c.treeDataGroupingCellLoadingContainer}`]: styles.treeDataGroupingCellLoadingContainer
144
146
  }, {
145
147
  [`& .${c.detailPanelToggleCell}`]: styles.detailPanelToggleCell
146
148
  }, {
@@ -608,6 +610,12 @@ export const GridRootStyles = styled('div', {
608
610
  alignSelf: 'stretch',
609
611
  marginRight: t.spacing(2)
610
612
  },
613
+ [`& .${c.treeDataGroupingCellLoadingContainer}`]: {
614
+ display: 'flex',
615
+ alignItems: 'center',
616
+ justifyContent: 'center',
617
+ height: '100%'
618
+ },
611
619
  [`& .${c.groupingCriteriaCell}`]: {
612
620
  display: 'flex',
613
621
  alignItems: 'center',
@@ -4,6 +4,6 @@ export type GridToolbarContainerProps = React.HTMLAttributes<HTMLDivElement> & {
4
4
  sx?: SxProps<Theme>;
5
5
  };
6
6
  declare const GridToolbarContainer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
7
- sx?: SxProps<Theme> | undefined;
7
+ sx?: SxProps<Theme>;
8
8
  } & React.RefAttributes<HTMLDivElement>>;
9
9
  export { GridToolbarContainer };
@@ -16,7 +16,7 @@ export interface GridPanelProps extends Partial<React.ComponentProps<typeof Grid
16
16
  open: boolean;
17
17
  }
18
18
  export declare const gridPanelClasses: Record<keyof GridPanelClasses, string>;
19
- declare const GridPanelRoot: import("@emotion/styled").StyledComponent<Pick<import("@mui/material/Popper").PopperProps & React.RefAttributes<HTMLDivElement>, "hidden" | "color" | "content" | "style" | "open" | "translate" | "container" | "transition" | "slot" | "title" | "ref" | "suppressHydrationWarning" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "component" | "sx" | "components" | "slotProps" | "slots" | "placement" | "disablePortal" | "keepMounted" | "modifiers" | "anchorEl" | "popperOptions" | "popperRef" | "componentsProps"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
19
+ declare const GridPanelRoot: import("@emotion/styled").StyledComponent<Pick<import("@mui/material/Popper").PopperProps & React.RefAttributes<HTMLDivElement>, "hidden" | "color" | "content" | "style" | "open" | "translate" | "container" | "transition" | "slot" | "title" | "ref" | "suppressHydrationWarning" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "component" | "sx" | "components" | "slotProps" | "slots" | "placement" | "disablePortal" | "keepMounted" | "modifiers" | "anchorEl" | "popperOptions" | "popperRef" | "componentsProps"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
20
20
  ownerState: OwnerState;
21
21
  }, {}, {}>;
22
22
  declare const GridPanel: React.ForwardRefExoticComponent<Omit<GridPanelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -12,6 +12,6 @@ interface GridToolbarExportContainerProps {
12
12
  };
13
13
  }
14
14
  declare const GridToolbarExportContainer: React.ForwardRefExoticComponent<GridToolbarExportContainerProps & {
15
- children?: React.ReactNode;
15
+ children?: React.ReactNode | undefined;
16
16
  } & React.RefAttributes<HTMLButtonElement>>;
17
17
  export { GridToolbarExportContainer };
@@ -2,5 +2,5 @@ import * as React from 'react';
2
2
  export declare const GridMainContainer: React.ForwardRefExoticComponent<{
3
3
  className: string;
4
4
  } & {
5
- children?: React.ReactNode;
5
+ children?: React.ReactNode | undefined;
6
6
  } & React.RefAttributes<HTMLDivElement>>;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps, Theme } from '@mui/system';
3
3
  declare const GridVirtualScrollerContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
4
- sx?: SxProps<Theme> | undefined;
4
+ sx?: SxProps<Theme>;
5
5
  } & React.RefAttributes<HTMLDivElement>>;
6
6
  export { GridVirtualScrollerContent };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps, Theme } from '@mui/system';
3
3
  declare const GridVirtualScrollerRenderZone: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
4
- sx?: SxProps<Theme> | undefined;
4
+ sx?: SxProps<Theme>;
5
5
  } & React.RefAttributes<HTMLDivElement>>;
6
6
  export { GridVirtualScrollerRenderZone };
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { GridSkeletonCell, GridColumnsPanel, GridFilterPanel, GridFooter, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridRow, GridColumnHeaderFilterIconButton, GridRowCount, GridColumnsManagement } from '../components';
2
+ import { GridSkeletonCell, GridColumnsPanel, GridFilterPanel, GridFooter, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridRow, GridColumnHeaderFilterIconButton, GridRowCount, GridColumnsManagement, GridColumnHeaderSortIcon } from '../components';
3
3
  import { GridCell } from '../components/cell/GridCell';
4
4
  import { GridColumnHeaders } from '../components/GridColumnHeaders';
5
5
  import { GridColumnMenu } from '../components/menu/columnMenu/GridColumnMenu';
@@ -14,6 +14,7 @@ export const DATA_GRID_DEFAULT_SLOTS_COMPONENTS = _extends({}, materialSlots, {
14
14
  cell: GridCell,
15
15
  skeletonCell: GridSkeletonCell,
16
16
  columnHeaderFilterIconButton: GridColumnHeaderFilterIconButton,
17
+ columnHeaderSortIcon: GridColumnHeaderSortIcon,
17
18
  columnMenu: GridColumnMenu,
18
19
  columnHeaders: GridColumnHeaders,
19
20
  detailPanels: GridDetailPanels,
@@ -573,6 +573,11 @@ export interface GridClasses {
573
573
  * Styles applied to the toggle of the grouping cell of the tree data.
574
574
  */
575
575
  treeDataGroupingCellToggle: string;
576
+ /**
577
+ * Styles applied to the loading container of the grouping cell of the tree data.
578
+ * @ignore - do not document.
579
+ */
580
+ treeDataGroupingCellLoadingContainer: string;
576
581
  /**
577
582
  * Styles applied to the root element of the grouping criteria cell
578
583
  */
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClasses as generateUtilityClasses, unstable_gen
2
2
  export function getDataGridUtilityClass(slot) {
3
3
  return generateUtilityClass('MuiDataGrid', slot);
4
4
  }
5
- export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderTop', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
5
+ export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderTop', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
@@ -1,3 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiCommon } from '../../../models/api/gridApiCommon';
3
- export declare const useGridRegisterPipeApplier: <PrivateApi extends GridPrivateApiCommon, G extends keyof import("./gridPipeProcessingApi").GridPipeProcessingLookup>(apiRef: React.MutableRefObject<PrivateApi>, group: G, callback: () => void) => void;
3
+ import { GridPipeProcessorGroup } from './gridPipeProcessingApi';
4
+ export declare const useGridRegisterPipeApplier: <PrivateApi extends GridPrivateApiCommon, G extends GridPipeProcessorGroup>(apiRef: React.MutableRefObject<PrivateApi>, group: G, callback: () => void) => void;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiCommon } from '../../../models/api/gridApiCommon';
3
- import { GridPipeProcessor } from './gridPipeProcessingApi';
4
- export declare const useGridRegisterPipeProcessor: <PrivateApi extends GridPrivateApiCommon, G extends keyof import("./gridPipeProcessingApi").GridPipeProcessingLookup>(apiRef: React.MutableRefObject<PrivateApi>, group: G, callback: GridPipeProcessor<G>) => void;
3
+ import { GridPipeProcessorGroup, GridPipeProcessor } from './gridPipeProcessingApi';
4
+ export declare const useGridRegisterPipeProcessor: <PrivateApi extends GridPrivateApiCommon, G extends GridPipeProcessorGroup>(apiRef: React.MutableRefObject<PrivateApi>, group: G, callback: GridPipeProcessor<G>) => void;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiCommon } from '../../../models/api/gridApiCommon';
3
- import { GridStrategyProcessor } from './gridStrategyProcessingApi';
4
- export declare const useGridRegisterStrategyProcessor: <Api extends GridPrivateApiCommon, G extends keyof import("./gridStrategyProcessingApi").GridStrategyProcessingLookup>(apiRef: React.MutableRefObject<Api>, strategyName: string, group: G, processor: GridStrategyProcessor<G>) => void;
3
+ import { GridStrategyProcessorName, GridStrategyProcessor } from './gridStrategyProcessingApi';
4
+ export declare const useGridRegisterStrategyProcessor: <Api extends GridPrivateApiCommon, G extends GridStrategyProcessorName>(apiRef: React.MutableRefObject<Api>, strategyName: string, group: G, processor: GridStrategyProcessor<G>) => void;
@@ -4,4 +4,4 @@ import { DataGridProcessedProps } from '../../models/props/DataGridProps';
4
4
  /**
5
5
  * Initialize the technical pieces of the DataGrid (logger, state, ...) that any DataGrid implementation needs
6
6
  */
7
- export declare const useGridInitialization: <PrivateApi extends GridPrivateApiCommon, Api extends GridApiCommon<any, any>>(inputApiRef: React.MutableRefObject<Api> | undefined, props: DataGridProcessedProps) => React.MutableRefObject<PrivateApi>;
7
+ export declare const useGridInitialization: <PrivateApi extends GridPrivateApiCommon, Api extends GridApiCommon>(inputApiRef: React.MutableRefObject<Api> | undefined, props: DataGridProcessedProps) => React.MutableRefObject<PrivateApi>;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiCommon } from '../../models/api/gridApiCommon';
3
3
  import { DataGridProcessedProps } from '../../models/props/DataGridProps';
4
- export declare const useGridLocaleText: (apiRef: React.MutableRefObject<GridPrivateApiCommon>, props: Pick<DataGridProcessedProps, 'localeText'>) => void;
4
+ export declare const useGridLocaleText: (apiRef: React.MutableRefObject<GridPrivateApiCommon>, props: Pick<DataGridProcessedProps, "localeText">) => void;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiCommon } from '../../models/api/gridApiCommon';
3
3
  import { DataGridProcessedProps } from '../../models/props/DataGridProps';
4
- export declare const useGridLoggerFactory: (apiRef: React.MutableRefObject<GridPrivateApiCommon>, props: Pick<DataGridProcessedProps, 'logger' | 'logLevel'>) => void;
4
+ export declare const useGridLoggerFactory: (apiRef: React.MutableRefObject<GridPrivateApiCommon>, props: Pick<DataGridProcessedProps, "logger" | "logLevel">) => void;
@@ -5,4 +5,4 @@ import type { DataGridProcessedProps } from '../../../models/props/DataGridProps
5
5
  * @requires useGridCsvExport (method)
6
6
  * @requires useGridSelection (method)
7
7
  */
8
- export declare const useGridClipboard: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, 'ignoreValueFormatterDuringExport' | 'onClipboardCopy' | 'clipboardCopyCellDelimiter'>) => void;
8
+ export declare const useGridClipboard: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "ignoreValueFormatterDuringExport" | "onClipboardCopy" | "clipboardCopyCellDelimiter">) => void;
@@ -7,4 +7,4 @@ export declare const columnGroupsStateInitializer: GridStateInitializer<Pick<Dat
7
7
  * @requires useGridColumns (method, event)
8
8
  * @requires useGridParamsApi (method)
9
9
  */
10
- export declare const useGridColumnGrouping: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, 'columnGroupingModel'>) => void;
10
+ export declare const useGridColumnGrouping: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "columnGroupingModel">) => void;
@@ -7,4 +7,4 @@ export declare const columnResizeStateInitializer: GridStateInitializer;
7
7
  * @requires useGridColumns (method, event)
8
8
  * TODO: improve experience for last column
9
9
  */
10
- export declare const useGridColumnResize: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, 'autosizeOptions' | 'autosizeOnMount' | 'disableAutosize' | 'onColumnResize' | 'onColumnWidthChange'>) => void;
10
+ export declare const useGridColumnResize: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "autosizeOptions" | "autosizeOnMount" | "disableAutosize" | "onColumnResize" | "onColumnWidthChange">) => void;
@@ -3,4 +3,4 @@ import { GridPrivateApiCommunity } from '../../../models/api/gridApiCommunity';
3
3
  import { DataGridProcessedProps } from '../../../models/props/DataGridProps';
4
4
  import { GridStateInitializer } from '../../utils/useGridInitializeState';
5
5
  export declare const densityStateInitializer: GridStateInitializer<Pick<DataGridProcessedProps, 'initialState' | 'density'>>;
6
- export declare const useGridDensity: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, 'density' | 'onDensityChange' | 'initialState'>) => void;
6
+ export declare const useGridDensity: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "density" | "onDensityChange" | "initialState">) => void;
@@ -49,6 +49,7 @@ export function useGridDimensions(apiRef, props) {
49
49
  const logger = useGridLogger(apiRef, 'useResizeContainer');
50
50
  const errorShown = React.useRef(false);
51
51
  const rootDimensionsRef = React.useRef(EMPTY_SIZE);
52
+ const dimensionsState = useGridSelector(apiRef, gridDimensionsSelector);
52
53
  const rowsMeta = useGridSelector(apiRef, gridRowsMetaSelector);
53
54
  const pinnedColumns = useGridSelector(apiRef, gridVisiblePinnedColumnDefinitionsSelector);
54
55
  const densityFactor = useGridSelector(apiRef, gridDensityFactorSelector);
@@ -208,26 +209,25 @@ export function useGridDimensions(apiRef, props) {
208
209
  }
209
210
  }, [apiRef, savedSize, updateDimensions]);
210
211
  const root = apiRef.current.rootElementRef.current;
211
- const dimensions = apiRef.current.state.dimensions;
212
212
  useEnhancedEffect(() => {
213
213
  if (!root) {
214
214
  return;
215
215
  }
216
216
  const set = (k, v) => root.style.setProperty(k, v);
217
- set('--DataGrid-width', `${dimensions.viewportOuterSize.width}px`);
218
- set('--DataGrid-hasScrollX', `${Number(dimensions.hasScrollX)}`);
219
- set('--DataGrid-hasScrollY', `${Number(dimensions.hasScrollY)}`);
220
- set('--DataGrid-scrollbarSize', `${dimensions.scrollbarSize}px`);
221
- set('--DataGrid-rowWidth', `${dimensions.rowWidth}px`);
222
- set('--DataGrid-columnsTotalWidth', `${dimensions.columnsTotalWidth}px`);
223
- set('--DataGrid-leftPinnedWidth', `${dimensions.leftPinnedWidth}px`);
224
- set('--DataGrid-rightPinnedWidth', `${dimensions.rightPinnedWidth}px`);
225
- set('--DataGrid-headerHeight', `${dimensions.headerHeight}px`);
226
- set('--DataGrid-headersTotalHeight', `${dimensions.headersTotalHeight}px`);
227
- set('--DataGrid-topContainerHeight', `${dimensions.topContainerHeight}px`);
228
- set('--DataGrid-bottomContainerHeight', `${dimensions.bottomContainerHeight}px`);
229
- set('--height', `${dimensions.rowHeight}px`);
230
- }, [root, dimensions]);
217
+ set('--DataGrid-width', `${dimensionsState.viewportOuterSize.width}px`);
218
+ set('--DataGrid-hasScrollX', `${Number(dimensionsState.hasScrollX)}`);
219
+ set('--DataGrid-hasScrollY', `${Number(dimensionsState.hasScrollY)}`);
220
+ set('--DataGrid-scrollbarSize', `${dimensionsState.scrollbarSize}px`);
221
+ set('--DataGrid-rowWidth', `${dimensionsState.rowWidth}px`);
222
+ set('--DataGrid-columnsTotalWidth', `${dimensionsState.columnsTotalWidth}px`);
223
+ set('--DataGrid-leftPinnedWidth', `${dimensionsState.leftPinnedWidth}px`);
224
+ set('--DataGrid-rightPinnedWidth', `${dimensionsState.rightPinnedWidth}px`);
225
+ set('--DataGrid-headerHeight', `${dimensionsState.headerHeight}px`);
226
+ set('--DataGrid-headersTotalHeight', `${dimensionsState.headersTotalHeight}px`);
227
+ set('--DataGrid-topContainerHeight', `${dimensionsState.topContainerHeight}px`);
228
+ set('--DataGrid-bottomContainerHeight', `${dimensionsState.bottomContainerHeight}px`);
229
+ set('--height', `${dimensionsState.rowHeight}px`);
230
+ }, [root, dimensionsState]);
231
231
  const isFirstSizing = React.useRef(true);
232
232
  const handleResize = React.useCallback(size => {
233
233
  rootDimensionsRef.current = size;
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { GridPrivateApiCommunity } from '../../../models/api/gridApiCommunity';
3
3
  import { DataGridProcessedProps } from '../../../models/props/DataGridProps';
4
- export declare const useGridCellEditing: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, 'editMode' | 'processRowUpdate' | 'onCellEditStart' | 'onCellEditStop' | 'cellModesModel' | 'onCellModesModelChange' | 'onProcessRowUpdateError' | 'signature'>) => void;
4
+ export declare const useGridCellEditing: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "editMode" | "processRowUpdate" | "onCellEditStart" | "onCellEditStop" | "cellModesModel" | "onCellModesModelChange" | "onProcessRowUpdateError" | "signature">) => void;
@@ -3,4 +3,4 @@ import { GridPrivateApiCommunity } from '../../../models/api/gridApiCommunity';
3
3
  import { DataGridProcessedProps } from '../../../models/props/DataGridProps';
4
4
  import { GridStateInitializer } from '../../utils/useGridInitializeState';
5
5
  export declare const editingStateInitializer: GridStateInitializer;
6
- export declare const useGridEditing: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, 'isCellEditable' | 'editMode' | 'processRowUpdate'>) => void;
6
+ export declare const useGridEditing: (apiRef: React.MutableRefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "isCellEditable" | "editMode" | "processRowUpdate">) => void;