@mui/x-data-grid 8.8.0 → 8.9.2

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 (196) hide show
  1. package/CHANGELOG.md +225 -24
  2. package/DataGrid/DataGrid.js +5 -0
  3. package/DataGrid/index.d.ts +0 -1
  4. package/DataGrid/useDataGridComponent.js +10 -0
  5. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  6. package/components/GridDetailPanels.d.ts +2 -2
  7. package/components/GridPinnedRows.d.ts +2 -2
  8. package/components/GridRow.js +5 -0
  9. package/components/GridScrollArea.js +1 -1
  10. package/components/cell/GridCell.js +7 -5
  11. package/components/cell/GridEditSingleSelectCell.js +1 -1
  12. package/components/columnsManagement/GridColumnsManagement.d.ts +6 -0
  13. package/components/columnsManagement/GridColumnsManagement.js +17 -5
  14. package/components/containers/GridRootStyles.d.ts +1 -1
  15. package/components/containers/GridRootStyles.js +39 -0
  16. package/components/toolbarV8/Toolbar.d.ts +1 -1
  17. package/components/virtualization/GridVirtualScroller.js +5 -5
  18. package/constants/dataGridPropsDefaultValues.js +1 -0
  19. package/constants/gridClasses.d.ts +12 -0
  20. package/constants/gridClasses.js +3 -1
  21. package/esm/DataGrid/DataGrid.js +5 -0
  22. package/esm/DataGrid/index.d.ts +0 -1
  23. package/esm/DataGrid/useDataGridComponent.js +10 -0
  24. package/esm/colDef/gridCheckboxSelectionColDef.js +1 -0
  25. package/esm/components/GridDetailPanels.d.ts +2 -2
  26. package/esm/components/GridPinnedRows.d.ts +2 -2
  27. package/esm/components/GridRow.js +5 -0
  28. package/esm/components/GridScrollArea.js +1 -1
  29. package/esm/components/cell/GridCell.js +7 -5
  30. package/esm/components/cell/GridEditSingleSelectCell.js +1 -1
  31. package/esm/components/columnsManagement/GridColumnsManagement.d.ts +6 -0
  32. package/esm/components/columnsManagement/GridColumnsManagement.js +17 -5
  33. package/esm/components/containers/GridRootStyles.d.ts +1 -1
  34. package/esm/components/containers/GridRootStyles.js +39 -0
  35. package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
  36. package/esm/components/virtualization/GridVirtualScroller.js +5 -5
  37. package/esm/constants/dataGridPropsDefaultValues.js +1 -0
  38. package/esm/constants/gridClasses.d.ts +12 -0
  39. package/esm/constants/gridClasses.js +3 -1
  40. package/esm/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +5 -0
  41. package/esm/hooks/core/pipeProcessing/useGridPipeProcessing.js +20 -5
  42. package/esm/hooks/core/useGridProps.d.ts +2 -2
  43. package/esm/hooks/core/useGridProps.js +3 -1
  44. package/esm/hooks/core/useGridVirtualizer.d.ts +9 -0
  45. package/esm/hooks/core/useGridVirtualizer.js +223 -0
  46. package/esm/hooks/features/columnGrouping/gridColumnGroupsInterfaces.d.ts +4 -1
  47. package/esm/hooks/features/columnGrouping/gridColumnGroupsUtils.js +35 -32
  48. package/esm/hooks/features/columnGrouping/useGridColumnGrouping.js +18 -13
  49. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  50. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -2
  51. package/esm/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -3
  52. package/esm/hooks/features/columns/gridColumnsSelector.js +6 -2
  53. package/esm/hooks/features/columns/gridColumnsUtils.js +6 -4
  54. package/esm/hooks/features/columns/useGridColumnSpanning.js +5 -90
  55. package/esm/hooks/features/columns/useGridColumns.js +8 -10
  56. package/esm/hooks/features/dimensions/useGridDimensions.js +18 -188
  57. package/esm/hooks/features/export/utils.js +1 -1
  58. package/esm/hooks/features/filter/useGridFilter.js +3 -3
  59. package/esm/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  60. package/esm/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +6 -10
  61. package/esm/hooks/features/keyboardNavigation/utils.d.ts +3 -3
  62. package/esm/hooks/features/keyboardNavigation/utils.js +5 -5
  63. package/esm/hooks/features/listView/gridListViewSelectors.d.ts +8 -1
  64. package/esm/hooks/features/listView/gridListViewSelectors.js +7 -0
  65. package/esm/hooks/features/pivoting/gridPivotingInterfaces.d.ts +0 -1
  66. package/esm/hooks/features/pivoting/gridPivotingSelectors.d.ts +1 -4
  67. package/esm/hooks/features/pivoting/gridPivotingSelectors.js +1 -2
  68. package/esm/hooks/features/rowSelection/useGridRowSelection.js +5 -4
  69. package/esm/hooks/features/rows/gridRowsMetaInterfaces.d.ts +2 -8
  70. package/esm/hooks/features/rows/gridRowsMetaState.d.ts +2 -18
  71. package/esm/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  72. package/esm/hooks/features/rows/gridRowsUtils.js +5 -2
  73. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +3 -1
  74. package/esm/hooks/features/rows/useGridRowSpanning.d.ts +2 -12
  75. package/esm/hooks/features/rows/useGridRowSpanning.js +54 -85
  76. package/esm/hooks/features/rows/useGridRows.js +4 -3
  77. package/esm/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
  78. package/esm/hooks/features/rows/useGridRowsMeta.js +17 -187
  79. package/esm/hooks/features/scroll/useGridScroll.d.ts +1 -1
  80. package/esm/hooks/features/scroll/useGridScroll.js +2 -3
  81. package/esm/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +1 -1
  82. package/esm/hooks/features/virtualization/index.d.ts +1 -0
  83. package/esm/hooks/features/virtualization/index.js +1 -0
  84. package/esm/hooks/features/virtualization/useGridVirtualization.d.ts +5 -16
  85. package/esm/hooks/features/virtualization/useGridVirtualization.js +41 -22
  86. package/esm/hooks/utils/index.d.ts +2 -1
  87. package/esm/hooks/utils/index.js +2 -1
  88. package/esm/hooks/utils/useFirstRender.d.ts +1 -1
  89. package/esm/hooks/utils/useFirstRender.js +1 -8
  90. package/esm/hooks/utils/useGridInitializeState.d.ts +1 -1
  91. package/esm/hooks/utils/useGridInitializeState.js +6 -1
  92. package/esm/hooks/utils/useRunOncePerLoop.d.ts +1 -0
  93. package/esm/hooks/utils/useRunOncePerLoop.js +26 -0
  94. package/esm/index.js +1 -1
  95. package/esm/internals/index.d.ts +1 -1
  96. package/esm/internals/index.js +1 -1
  97. package/esm/internals/utils/getPinnedCellOffset.js +5 -0
  98. package/esm/locales/frFR.js +18 -21
  99. package/esm/locales/heIL.js +12 -12
  100. package/esm/locales/plPL.js +22 -24
  101. package/esm/models/api/gridApiCommon.d.ts +4 -1
  102. package/esm/models/api/gridColumnSpanning.d.ts +5 -11
  103. package/esm/models/api/gridRowApi.d.ts +5 -0
  104. package/esm/models/events/gridEventLookup.d.ts +2 -1
  105. package/esm/models/gridApiCaches.d.ts +8 -2
  106. package/esm/models/gridStateCommunity.d.ts +2 -2
  107. package/esm/models/props/DataGridProps.d.ts +5 -0
  108. package/esm/utils/roundToDecimalPlaces.d.ts +1 -1
  109. package/esm/utils/roundToDecimalPlaces.js +1 -3
  110. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +5 -0
  111. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +20 -5
  112. package/hooks/core/useGridProps.d.ts +2 -2
  113. package/hooks/core/useGridProps.js +3 -1
  114. package/hooks/core/useGridVirtualizer.d.ts +9 -0
  115. package/hooks/core/useGridVirtualizer.js +231 -0
  116. package/hooks/features/columnGrouping/gridColumnGroupsInterfaces.d.ts +4 -1
  117. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +35 -32
  118. package/hooks/features/columnGrouping/useGridColumnGrouping.js +18 -13
  119. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  120. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -3
  121. package/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -3
  122. package/hooks/features/columns/gridColumnsSelector.js +6 -2
  123. package/hooks/features/columns/gridColumnsUtils.js +6 -4
  124. package/hooks/features/columns/useGridColumnSpanning.js +5 -91
  125. package/hooks/features/columns/useGridColumns.js +8 -10
  126. package/hooks/features/dimensions/useGridDimensions.js +18 -188
  127. package/hooks/features/export/utils.js +1 -1
  128. package/hooks/features/filter/useGridFilter.js +3 -3
  129. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  130. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +6 -10
  131. package/hooks/features/keyboardNavigation/utils.d.ts +3 -3
  132. package/hooks/features/keyboardNavigation/utils.js +5 -5
  133. package/hooks/features/listView/gridListViewSelectors.d.ts +8 -1
  134. package/hooks/features/listView/gridListViewSelectors.js +8 -1
  135. package/hooks/features/pivoting/gridPivotingInterfaces.d.ts +0 -1
  136. package/hooks/features/pivoting/gridPivotingSelectors.d.ts +1 -4
  137. package/hooks/features/pivoting/gridPivotingSelectors.js +2 -3
  138. package/hooks/features/rowSelection/useGridRowSelection.js +5 -4
  139. package/hooks/features/rows/gridRowsMetaInterfaces.d.ts +2 -8
  140. package/hooks/features/rows/gridRowsMetaState.d.ts +2 -18
  141. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  142. package/hooks/features/rows/gridRowsUtils.js +5 -2
  143. package/hooks/features/rows/useGridRowAriaAttributes.js +3 -1
  144. package/hooks/features/rows/useGridRowSpanning.d.ts +2 -12
  145. package/hooks/features/rows/useGridRowSpanning.js +54 -85
  146. package/hooks/features/rows/useGridRows.js +4 -3
  147. package/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
  148. package/hooks/features/rows/useGridRowsMeta.js +15 -186
  149. package/hooks/features/scroll/useGridScroll.d.ts +1 -1
  150. package/hooks/features/scroll/useGridScroll.js +2 -3
  151. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +1 -1
  152. package/hooks/features/virtualization/index.d.ts +1 -0
  153. package/hooks/features/virtualization/index.js +12 -0
  154. package/hooks/features/virtualization/useGridVirtualization.d.ts +5 -16
  155. package/hooks/features/virtualization/useGridVirtualization.js +42 -24
  156. package/hooks/utils/index.d.ts +2 -1
  157. package/hooks/utils/index.js +16 -4
  158. package/hooks/utils/useFirstRender.d.ts +1 -1
  159. package/hooks/utils/useFirstRender.js +11 -11
  160. package/hooks/utils/useGridInitializeState.d.ts +1 -1
  161. package/hooks/utils/useGridInitializeState.js +6 -1
  162. package/hooks/utils/useRunOncePerLoop.d.ts +1 -0
  163. package/hooks/utils/useRunOncePerLoop.js +33 -0
  164. package/index.js +1 -1
  165. package/internals/index.d.ts +1 -1
  166. package/internals/index.js +4 -11
  167. package/internals/utils/getPinnedCellOffset.js +5 -0
  168. package/locales/frFR.js +18 -21
  169. package/locales/heIL.js +12 -12
  170. package/locales/plPL.js +22 -24
  171. package/models/api/gridApiCommon.d.ts +4 -1
  172. package/models/api/gridColumnSpanning.d.ts +5 -11
  173. package/models/api/gridRowApi.d.ts +5 -0
  174. package/models/events/gridEventLookup.d.ts +2 -1
  175. package/models/gridApiCaches.d.ts +8 -2
  176. package/models/gridStateCommunity.d.ts +2 -2
  177. package/models/props/DataGridProps.d.ts +5 -0
  178. package/package.json +5 -5
  179. package/utils/roundToDecimalPlaces.d.ts +1 -1
  180. package/utils/roundToDecimalPlaces.js +7 -4
  181. package/esm/hooks/features/rows/gridRowSpanningSelectors.d.ts +0 -10
  182. package/esm/hooks/features/rows/gridRowSpanningSelectors.js +0 -5
  183. package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -56
  184. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +0 -846
  185. package/esm/hooks/utils/useRunOnce.d.ts +0 -5
  186. package/esm/hooks/utils/useRunOnce.js +0 -18
  187. package/esm/utils/platform.d.ts +0 -1
  188. package/esm/utils/platform.js +0 -2
  189. package/hooks/features/rows/gridRowSpanningSelectors.d.ts +0 -10
  190. package/hooks/features/rows/gridRowSpanningSelectors.js +0 -11
  191. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -56
  192. package/hooks/features/virtualization/useGridVirtualScroller.js +0 -857
  193. package/hooks/utils/useRunOnce.d.ts +0 -5
  194. package/hooks/utils/useRunOnce.js +0 -27
  195. package/utils/platform.d.ts +0 -1
  196. package/utils/platform.js +0 -8
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.useGridColumnSpanning = void 0;
8
- var React = _interopRequireWildcard(require("react"));
9
7
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
10
8
  var _useGridEvent = require("../../utils/useGridEvent");
11
9
  /**
@@ -13,36 +11,10 @@ var _useGridEvent = require("../../utils/useGridEvent");
13
11
  * @requires useGridParamsApi (method)
14
12
  */
15
13
  const useGridColumnSpanning = apiRef => {
16
- const lookup = React.useRef({});
17
- const getCellColSpanInfo = (rowId, columnIndex) => {
18
- return lookup.current[rowId]?.[columnIndex];
19
- };
20
- const resetColSpan = () => {
21
- lookup.current = {};
22
- };
23
-
24
- // Calculate `colSpan` for each cell in the row
25
- const calculateColSpan = React.useCallback(({
26
- rowId,
27
- minFirstColumn,
28
- maxLastColumn,
29
- columns
30
- }) => {
31
- for (let i = minFirstColumn; i < maxLastColumn; i += 1) {
32
- const cellProps = calculateCellColSpan({
33
- apiRef,
34
- lookup: lookup.current,
35
- columnIndex: i,
36
- rowId,
37
- minFirstColumnIndex: minFirstColumn,
38
- maxLastColumnIndex: maxLastColumn,
39
- columns
40
- });
41
- if (cellProps.colSpan > 1) {
42
- i += cellProps.colSpan - 1;
43
- }
44
- }
45
- }, [apiRef]);
14
+ const virtualizer = apiRef.current.virtualizer;
15
+ const resetColSpan = virtualizer.api.resetColSpan;
16
+ const getCellColSpanInfo = virtualizer.api.getCellColSpanInfo;
17
+ const calculateColSpan = virtualizer.api.calculateColSpan;
46
18
  const columnSpanningPublicApi = {
47
19
  unstable_getCellColSpanInfo: getCellColSpanInfo
48
20
  };
@@ -54,62 +26,4 @@ const useGridColumnSpanning = apiRef => {
54
26
  (0, _useGridApiMethod.useGridApiMethod)(apiRef, columnSpanningPrivateApi, 'private');
55
27
  (0, _useGridEvent.useGridEvent)(apiRef, 'columnOrderChange', resetColSpan);
56
28
  };
57
- exports.useGridColumnSpanning = useGridColumnSpanning;
58
- function calculateCellColSpan(params) {
59
- const {
60
- apiRef,
61
- lookup,
62
- columnIndex,
63
- rowId,
64
- minFirstColumnIndex,
65
- maxLastColumnIndex,
66
- columns
67
- } = params;
68
- const columnsLength = columns.length;
69
- const column = columns[columnIndex];
70
- const row = apiRef.current.getRow(rowId);
71
- const value = apiRef.current.getRowValue(row, column);
72
- const colSpan = typeof column.colSpan === 'function' ? column.colSpan(value, row, column, apiRef) : column.colSpan;
73
- if (!colSpan || colSpan === 1) {
74
- setCellColSpanInfo(lookup, rowId, columnIndex, {
75
- spannedByColSpan: false,
76
- cellProps: {
77
- colSpan: 1,
78
- width: column.computedWidth
79
- }
80
- });
81
- return {
82
- colSpan: 1
83
- };
84
- }
85
- let width = column.computedWidth;
86
- for (let j = 1; j < colSpan; j += 1) {
87
- const nextColumnIndex = columnIndex + j;
88
- // Cells should be spanned only within their column section (left-pinned, right-pinned and unpinned).
89
- if (nextColumnIndex >= minFirstColumnIndex && nextColumnIndex < maxLastColumnIndex) {
90
- const nextColumn = columns[nextColumnIndex];
91
- width += nextColumn.computedWidth;
92
- setCellColSpanInfo(lookup, rowId, columnIndex + j, {
93
- spannedByColSpan: true,
94
- rightVisibleCellIndex: Math.min(columnIndex + colSpan, columnsLength - 1),
95
- leftVisibleCellIndex: columnIndex
96
- });
97
- }
98
- setCellColSpanInfo(lookup, rowId, columnIndex, {
99
- spannedByColSpan: false,
100
- cellProps: {
101
- colSpan,
102
- width
103
- }
104
- });
105
- }
106
- return {
107
- colSpan
108
- };
109
- }
110
- function setCellColSpanInfo(lookup, rowId, columnIndex, cellColSpanInfo) {
111
- if (!lookup[rowId]) {
112
- lookup[rowId] = {};
113
- }
114
- lookup[rowId][columnIndex] = cellColSpanInfo;
115
- }
29
+ exports.useGridColumnSpanning = useGridColumnSpanning;
@@ -22,6 +22,9 @@ var _preferencesPanel = require("../preferencesPanel");
22
22
  var _pivoting = require("../pivoting");
23
23
  var _jsxRuntime = require("react/jsx-runtime");
24
24
  const columnsStateInitializer = (state, props, apiRef) => {
25
+ apiRef.current.caches.columns = {
26
+ lastColumnsProp: props.columns
27
+ };
25
28
  const columnsState = (0, _gridColumnsUtils.createColumnsState)({
26
29
  apiRef,
27
30
  columnsToUpsert: props.columns,
@@ -45,7 +48,6 @@ const columnsStateInitializer = (state, props, apiRef) => {
45
48
  exports.columnsStateInitializer = columnsStateInitializer;
46
49
  function useGridColumns(apiRef, props) {
47
50
  const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useGridColumns');
48
- const previousColumnsProp = React.useRef(props.columns);
49
51
  apiRef.current.registerControlState({
50
52
  stateId: 'visibleColumns',
51
53
  propModel: props.columnVisibilityModel,
@@ -308,27 +310,23 @@ function useGridColumns(apiRef, props) {
308
310
  */
309
311
  // The effect do not track any value defined synchronously during the 1st render by hooks called after `useGridColumns`
310
312
  // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one
311
- const isFirstRender = React.useRef(true);
312
313
  React.useEffect(() => {
313
- if (isFirstRender.current) {
314
- isFirstRender.current = false;
314
+ if (apiRef.current.caches.columns.lastColumnsProp === props.columns) {
315
315
  return;
316
316
  }
317
+ apiRef.current.caches.columns.lastColumnsProp = props.columns;
317
318
  logger.info(`GridColumns have changed, new length ${props.columns.length}`);
318
- if (previousColumnsProp.current === props.columns) {
319
- return;
320
- }
321
319
  const columnsState = (0, _gridColumnsUtils.createColumnsState)({
322
320
  apiRef,
323
321
  initialState: undefined,
324
322
  // If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`
325
323
  columnsToUpsert: props.columns,
326
324
  keepOnlyColumnsToUpsert: true,
327
- updateInitialVisibilityModel: true
325
+ updateInitialVisibilityModel: true,
326
+ columnVisibilityModel: props.columnVisibilityModel
328
327
  });
329
- previousColumnsProp.current = props.columns;
330
328
  setGridColumnsState(columnsState);
331
- }, [logger, apiRef, setGridColumnsState, props.columns]);
329
+ }, [logger, apiRef, setGridColumnsState, props.columns, props.columnVisibilityModel]);
332
330
  React.useEffect(() => {
333
331
  if (props.columnVisibilityModel !== undefined) {
334
332
  apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);
@@ -10,11 +10,8 @@ exports.dimensionsStateInitializer = void 0;
10
10
  exports.useGridDimensions = useGridDimensions;
11
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
- var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
14
- var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
15
- var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
16
- var _throttle = require("@mui/x-internals/throttle");
17
- var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
13
+ var _store = require("@mui/x-internals/store");
14
+ var _xVirtualizer = require("@mui/x-virtualizer");
18
15
  var _useGridEvent = require("../../utils/useGridEvent");
19
16
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
20
17
  var _createSelector = require("../../../utils/createSelector");
@@ -22,10 +19,6 @@ var _useGridLogger = require("../../utils/useGridLogger");
22
19
  var _columns = require("../columns");
23
20
  var _gridDimensionsSelectors = require("./gridDimensionsSelectors");
24
21
  var _density = require("../density");
25
- var _virtualization = require("../virtualization");
26
- var _utils = require("../../utils");
27
- var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
28
- var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
29
22
  var _gridRowsUtils = require("../rows/gridRowsUtils");
30
23
  var _gridColumnsUtils = require("../columns/gridColumnsUtils");
31
24
  var _dataGridPropsDefaultValues = require("../../../constants/dataGridPropsDefaultValues");
@@ -75,148 +68,10 @@ const columnsTotalWidthSelector = (0, _createSelector.createSelector)(_columns.g
75
68
  function useGridDimensions(apiRef, props) {
76
69
  const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useResizeContainer');
77
70
  const errorShown = React.useRef(false);
78
- const rootDimensionsRef = React.useRef(EMPTY_SIZE);
79
- const pinnedColumns = (0, _utils.useGridSelector)(apiRef, _columns.gridVisiblePinnedColumnDefinitionsSelector);
80
- const densityFactor = (0, _utils.useGridSelector)(apiRef, _density.gridDensityFactorSelector);
81
- const columnsTotalWidth = (0, _utils.useGridSelector)(apiRef, columnsTotalWidthSelector);
82
- const isFirstSizing = React.useRef(true);
83
- const {
84
- rowHeight,
85
- headerHeight,
86
- groupHeaderHeight,
87
- headerFilterHeight,
88
- headersTotalHeight,
89
- leftPinnedWidth,
90
- rightPinnedWidth
91
- } = getStaticDimensions(props, apiRef, densityFactor, pinnedColumns);
71
+ const virtualizer = apiRef.current.virtualizer;
72
+ const updateDimensions = virtualizer.api.updateDimensions;
73
+ const getViewportPageSize = virtualizer.api.getViewportPageSize;
92
74
  const getRootDimensions = React.useCallback(() => (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef), [apiRef]);
93
- const setDimensions = React.useCallback(dimensions => {
94
- apiRef.current.setState(state => (0, _extends2.default)({}, state, {
95
- dimensions
96
- }));
97
- if (apiRef.current.rootElementRef.current) {
98
- setCSSVariables(apiRef.current.rootElementRef.current, (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef));
99
- }
100
- }, [apiRef]);
101
- const getViewportPageSize = React.useCallback(() => {
102
- const dimensions = (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef);
103
- if (!dimensions.isReady) {
104
- return 0;
105
- }
106
- const currentPage = (0, _useGridVisibleRows.getVisibleRows)(apiRef);
107
-
108
- // TODO: Use a combination of scrollTop, dimensions.viewportInnerSize.height and rowsMeta.possitions
109
- // to find out the maximum number of rows that can fit in the visible part of the grid
110
- if (props.getRowHeight) {
111
- const renderContext = (0, _virtualization.gridRenderContextSelector)(apiRef);
112
- const viewportPageSize = renderContext.lastRowIndex - renderContext.firstRowIndex;
113
- return Math.min(viewportPageSize - 1, currentPage.rows.length);
114
- }
115
- const maximumPageSizeWithoutScrollBar = Math.floor(dimensions.viewportInnerSize.height / rowHeight);
116
- return Math.min(maximumPageSizeWithoutScrollBar, currentPage.rows.length);
117
- }, [apiRef, props.getRowHeight, rowHeight]);
118
- const updateDimensions = React.useCallback(() => {
119
- if (isFirstSizing.current) {
120
- return;
121
- }
122
- // All the floating point dimensions should be rounded to .1 decimal places to avoid subpixel rendering issues
123
- // https://github.com/mui/mui-x/issues/9550#issuecomment-1619020477
124
- // https://github.com/mui/mui-x/issues/15721
125
- const scrollbarSize = measureScrollbarSize(apiRef.current.mainElementRef.current, props.scrollbarSize);
126
- const rowsMeta = (0, _gridRowsMetaSelector.gridRowsMetaSelector)(apiRef);
127
- const topContainerHeight = headersTotalHeight + rowsMeta.pinnedTopRowsTotalHeight;
128
- const bottomContainerHeight = rowsMeta.pinnedBottomRowsTotalHeight;
129
- const contentSize = {
130
- width: columnsTotalWidth,
131
- height: (0, _roundToDecimalPlaces.roundToDecimalPlaces)(rowsMeta.currentPageTotalHeight, 1)
132
- };
133
- let viewportOuterSize;
134
- let viewportInnerSize;
135
- let hasScrollX = false;
136
- let hasScrollY = false;
137
- if (props.autoHeight) {
138
- hasScrollY = false;
139
- hasScrollX = Math.round(columnsTotalWidth) > Math.round(rootDimensionsRef.current.width);
140
- viewportOuterSize = {
141
- width: rootDimensionsRef.current.width,
142
- height: topContainerHeight + bottomContainerHeight + contentSize.height
143
- };
144
- viewportInnerSize = {
145
- width: Math.max(0, viewportOuterSize.width - (hasScrollY ? scrollbarSize : 0)),
146
- height: Math.max(0, viewportOuterSize.height - (hasScrollX ? scrollbarSize : 0))
147
- };
148
- } else {
149
- viewportOuterSize = {
150
- width: rootDimensionsRef.current.width,
151
- height: rootDimensionsRef.current.height
152
- };
153
- viewportInnerSize = {
154
- width: Math.max(0, viewportOuterSize.width),
155
- height: Math.max(0, viewportOuterSize.height - topContainerHeight - bottomContainerHeight)
156
- };
157
- const content = contentSize;
158
- const container = viewportInnerSize;
159
- const hasScrollXIfNoYScrollBar = content.width > container.width;
160
- const hasScrollYIfNoXScrollBar = content.height > container.height;
161
- if (hasScrollXIfNoYScrollBar || hasScrollYIfNoXScrollBar) {
162
- hasScrollY = hasScrollYIfNoXScrollBar;
163
- hasScrollX = content.width + (hasScrollY ? scrollbarSize : 0) > container.width;
164
-
165
- // We recalculate the scroll y to consider the size of the x scrollbar.
166
- if (hasScrollX) {
167
- hasScrollY = content.height + scrollbarSize > container.height;
168
- }
169
- }
170
- if (hasScrollY) {
171
- viewportInnerSize.width -= scrollbarSize;
172
- }
173
- if (hasScrollX) {
174
- viewportInnerSize.height -= scrollbarSize;
175
- }
176
- }
177
- const rowWidth = Math.max(viewportOuterSize.width, columnsTotalWidth + (hasScrollY ? scrollbarSize : 0));
178
- const minimumSize = {
179
- width: columnsTotalWidth,
180
- height: topContainerHeight + contentSize.height + bottomContainerHeight
181
- };
182
- const newDimensions = {
183
- isReady: true,
184
- root: rootDimensionsRef.current,
185
- viewportOuterSize,
186
- viewportInnerSize,
187
- contentSize,
188
- minimumSize,
189
- hasScrollX,
190
- hasScrollY,
191
- scrollbarSize,
192
- headerHeight,
193
- groupHeaderHeight,
194
- headerFilterHeight,
195
- rowWidth,
196
- rowHeight,
197
- columnsTotalWidth,
198
- leftPinnedWidth,
199
- rightPinnedWidth,
200
- headersTotalHeight,
201
- topContainerHeight,
202
- bottomContainerHeight
203
- };
204
- const prevDimensions = apiRef.current.state.dimensions;
205
- if ((0, _isDeepEqual.isDeepEqual)(prevDimensions, newDimensions)) {
206
- return;
207
- }
208
- setDimensions(newDimensions);
209
- if (!areElementSizesEqual(newDimensions.viewportInnerSize, prevDimensions.viewportInnerSize)) {
210
- apiRef.current.publishEvent('viewportInnerSizeChange', newDimensions.viewportInnerSize);
211
- }
212
- apiRef.current.updateRenderContext?.();
213
- }, [apiRef, setDimensions, props.scrollbarSize, props.autoHeight, rowHeight, headerHeight, groupHeaderHeight, headerFilterHeight, columnsTotalWidth, headersTotalHeight, leftPinnedWidth, rightPinnedWidth]);
214
- const updateDimensionCallback = (0, _useEventCallback.default)(updateDimensions);
215
- const debouncedUpdateDimensions = React.useMemo(() => props.resizeThrottleMs > 0 ? (0, _throttle.throttle)(() => {
216
- updateDimensionCallback();
217
- apiRef.current.publishEvent('debouncedResize', rootDimensionsRef.current);
218
- }, props.resizeThrottleMs) : undefined, [apiRef, props.resizeThrottleMs, updateDimensionCallback]);
219
- React.useEffect(() => debouncedUpdateDimensions?.clear, [debouncedUpdateDimensions]);
220
75
  const apiPublic = {
221
76
  getRootDimensions
222
77
  };
@@ -224,14 +79,12 @@ function useGridDimensions(apiRef, props) {
224
79
  updateDimensions,
225
80
  getViewportPageSize
226
81
  };
227
- (0, _useEnhancedEffect.default)(updateDimensions, [updateDimensions]);
228
82
  (0, _useGridApiMethod.useGridApiMethod)(apiRef, apiPublic, 'public');
229
83
  (0, _useGridApiMethod.useGridApiMethod)(apiRef, apiPrivate, 'private');
230
- const handleRootMount = React.useCallback(root => {
84
+ const handleRootMount = root => {
231
85
  setCSSVariables(root, (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef));
232
- }, [apiRef]);
233
- const handleResize = React.useCallback(size => {
234
- rootDimensionsRef.current = size;
86
+ };
87
+ const handleResize = size => {
235
88
  if (size.height === 0 && !errorShown.current && !props.autoHeight && !_isJSDOM.isJSDOM) {
236
89
  logger.error(['The parent DOM element of the Data Grid has an empty height.', 'Please make sure that this element has an intrinsic height.', 'The grid displays with a height of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
237
90
  errorShown.current = true;
@@ -240,17 +93,19 @@ function useGridDimensions(apiRef, props) {
240
93
  logger.error(['The parent DOM element of the Data Grid has an empty width.', 'Please make sure that this element has an intrinsic width.', 'The grid displays with a width of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
241
94
  errorShown.current = true;
242
95
  }
243
- if (isFirstSizing.current || !debouncedUpdateDimensions) {
244
- // We want to initialize the grid dimensions as soon as possible to avoid flickering
245
- isFirstSizing.current = false;
246
- updateDimensions();
247
- return;
248
- }
249
- debouncedUpdateDimensions();
250
- }, [updateDimensions, props.autoHeight, debouncedUpdateDimensions, logger]);
96
+ };
251
97
  (0, _useGridEvent.useGridEventPriority)(apiRef, 'rootMount', handleRootMount);
252
98
  (0, _useGridEvent.useGridEventPriority)(apiRef, 'resize', handleResize);
253
99
  (0, _useGridEvent.useGridEventPriority)(apiRef, 'debouncedResize', props.onResize);
100
+ (0, _store.useStoreEffect)(virtualizer.store, _xVirtualizer.Dimensions.selectors.dimensions, (previous, next) => {
101
+ if (apiRef.current.rootElementRef.current) {
102
+ setCSSVariables(apiRef.current.rootElementRef.current, next);
103
+ }
104
+ if (!areElementSizesEqual(next.viewportInnerSize, previous.viewportInnerSize)) {
105
+ apiRef.current.publishEvent('viewportInnerSizeChange', next.viewportInnerSize);
106
+ }
107
+ apiRef.current.publishEvent('debouncedResize', next.root);
108
+ });
254
109
  }
255
110
  function setCSSVariables(root, dimensions) {
256
111
  const set = (k, v) => root.style.setProperty(k, v);
@@ -280,31 +135,6 @@ function getStaticDimensions(props, apiRef, density, pinnedColumnns) {
280
135
  rightPinnedWidth: pinnedColumnns.right.reduce((w, col) => w + col.computedWidth, 0)
281
136
  };
282
137
  }
283
- const scrollbarSizeCache = new WeakMap();
284
- function measureScrollbarSize(element, scrollbarSize) {
285
- if (scrollbarSize !== undefined) {
286
- return scrollbarSize;
287
- }
288
- if (element === null) {
289
- return 0;
290
- }
291
- const cachedSize = scrollbarSizeCache.get(element);
292
- if (cachedSize !== undefined) {
293
- return cachedSize;
294
- }
295
- const doc = (0, _ownerDocument.default)(element);
296
- const scrollDiv = doc.createElement('div');
297
- scrollDiv.style.width = '99px';
298
- scrollDiv.style.height = '99px';
299
- scrollDiv.style.position = 'absolute';
300
- scrollDiv.style.overflow = 'scroll';
301
- scrollDiv.className = 'scrollDiv';
302
- element.appendChild(scrollDiv);
303
- const size = scrollDiv.offsetWidth - scrollDiv.clientWidth;
304
- element.removeChild(scrollDiv);
305
- scrollbarSizeCache.set(element, size);
306
- return size;
307
- }
308
138
  function areElementSizesEqual(a, b) {
309
139
  return a.width === b.width && a.height === b.height;
310
140
  }
@@ -23,7 +23,7 @@ const getColumnsToExport = ({
23
23
  }, []);
24
24
  }
25
25
  const validColumns = options.allColumns ? columns : (0, _columns.gridVisibleColumnDefinitionsSelector)(apiRef);
26
- return validColumns.filter(column => !column.disableExport);
26
+ return validColumns.filter(column => column.disableExport !== true);
27
27
  };
28
28
  exports.getColumnsToExport = getColumnsToExport;
29
29
  const defaultGetRowsToExport = ({
@@ -351,9 +351,9 @@ const useGridFilter = (apiRef, props) => {
351
351
  (0, _useGridEvent.useGridEvent)(apiRef, 'rowExpansionChange', updateVisibleRowsLookupState);
352
352
  (0, _useGridEvent.useGridEvent)(apiRef, 'columnVisibilityModelChange', () => {
353
353
  const filterModel = (0, _gridFilterSelector.gridFilterModelSelector)(apiRef);
354
- if (filterModel.quickFilterValues && (0, _gridFilterUtils.shouldQuickFilterExcludeHiddenColumns)(filterModel)) {
354
+ if (filterModel.quickFilterValues?.length && (0, _gridFilterUtils.shouldQuickFilterExcludeHiddenColumns)(filterModel)) {
355
355
  // re-apply filters because the quick filter results may have changed
356
- apiRef.current.unstable_applyFilters();
356
+ updateFilteredRows();
357
357
  }
358
358
  });
359
359
 
@@ -361,7 +361,7 @@ const useGridFilter = (apiRef, props) => {
361
361
  * 1ST RENDER
362
362
  */
363
363
  (0, _useFirstRender.useFirstRender)(() => {
364
- apiRef.current.unstable_applyFilters();
364
+ updateFilteredRows();
365
365
  });
366
366
 
367
367
  /**
@@ -10,4 +10,4 @@ import { DataGridProcessedProps } from "../../../models/props/DataGridProps.js";
10
10
  * @requires useGridScroll (method) - can be after
11
11
  * @requires useGridColumnSpanning (method) - can be after
12
12
  */
13
- export declare const useGridKeyboardNavigation: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "pagination" | "paginationMode" | "getRowId" | "signature" | "headerFilters" | "listView">) => void;
13
+ export declare const useGridKeyboardNavigation: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "pagination" | "paginationMode" | "getRowId" | "signature" | "headerFilters">) => void;
@@ -23,7 +23,6 @@ var _gridHeaderFilteringSelectors = require("../headerFiltering/gridHeaderFilter
23
23
  var _pipeProcessing = require("../../core/pipeProcessing");
24
24
  var _domUtils = require("../../../utils/domUtils");
25
25
  var _utils = require("./utils");
26
- var _gridListViewSelectors = require("../listView/gridListViewSelectors");
27
26
  var _createSelector = require("../../../utils/createSelector");
28
27
  var _pagination = require("../pagination");
29
28
  var _gridRowsSelector = require("../rows/gridRowsSelector");
@@ -43,7 +42,6 @@ const gridVisibleRowsWithPinnedRowsSelector = (0, _createSelector.createSelector
43
42
  const useGridKeyboardNavigation = (apiRef, props) => {
44
43
  const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useGridKeyboardNavigation');
45
44
  const isRtl = (0, _RtlProvider.useRtl)();
46
- const listView = props.listView;
47
45
  const getCurrentPageRows = React.useCallback(() => {
48
46
  return gridVisibleRowsWithPinnedRowsSelector(apiRef);
49
47
  }, [apiRef]);
@@ -66,8 +64,8 @@ const useGridKeyboardNavigation = (apiRef, props) => {
66
64
  colIndex = nextCellColSpanInfo.rightVisibleCellIndex;
67
65
  }
68
66
  }
69
- const field = listView ? (0, _gridListViewSelectors.gridListColumnSelector)(apiRef).field : (0, _gridColumnsSelector.gridVisibleColumnFieldsSelector)(apiRef)[colIndex];
70
- const nonRowSpannedRowId = (0, _utils.findNonRowSpannedCell)(apiRef, rowId, field, rowSpanScanDirection);
67
+ const field = (0, _gridColumnsSelector.gridVisibleColumnFieldsSelector)(apiRef)[colIndex];
68
+ const nonRowSpannedRowId = (0, _utils.findNonRowSpannedCell)(apiRef, rowId, colIndex, rowSpanScanDirection);
71
69
  // `scrollToIndexes` requires a rowIndex relative to all visible rows.
72
70
  // Those rows do not include pinned rows, but pinned rows do not need scroll anyway.
73
71
  const rowIndexRelativeToAllRows = visibleSortedRows.findIndex(row => row.id === nonRowSpannedRowId);
@@ -77,7 +75,7 @@ const useGridKeyboardNavigation = (apiRef, props) => {
77
75
  rowIndex: rowIndexRelativeToAllRows
78
76
  });
79
77
  apiRef.current.setCellFocus(nonRowSpannedRowId, field);
80
- }, [apiRef, logger, listView]);
78
+ }, [apiRef, logger]);
81
79
  const goToHeader = React.useCallback((colIndex, event) => {
82
80
  logger.debug(`Navigating to header col ${colIndex}`);
83
81
  apiRef.current.scrollToIndexes({
@@ -402,14 +400,12 @@ const useGridKeyboardNavigation = (apiRef, props) => {
402
400
  return;
403
401
  }
404
402
  const viewportPageSize = apiRef.current.getViewportPageSize();
405
- const getColumnIndexFn = listView ? () => 0 : apiRef.current.getColumnIndex;
406
- const colIndexBefore = params.field ? getColumnIndexFn(params.field) : 0;
403
+ const colIndexBefore = params.field ? apiRef.current.getColumnIndex(params.field) : 0;
407
404
  const rowIndexBefore = currentPageRows.findIndex(row => row.id === params.id);
408
405
  const firstRowIndexInPage = 0;
409
406
  const lastRowIndexInPage = currentPageRows.length - 1;
410
407
  const firstColIndex = 0;
411
- const visibleColumns = listView ? [(0, _gridListViewSelectors.gridListColumnSelector)(apiRef)] : (0, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector)(apiRef);
412
- const lastColIndex = visibleColumns.length - 1;
408
+ const lastColIndex = (0, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector)(apiRef).length - 1;
413
409
  let shouldPreventDefault = true;
414
410
  switch (event.key) {
415
411
  case 'ArrowDown':
@@ -526,7 +522,7 @@ const useGridKeyboardNavigation = (apiRef, props) => {
526
522
  if (shouldPreventDefault) {
527
523
  event.preventDefault();
528
524
  }
529
- }, [apiRef, getCurrentPageRows, isRtl, goToCell, getRowIdFromIndex, headerFilteringEnabled, goToHeaderFilter, goToHeader, listView]);
525
+ }, [apiRef, getCurrentPageRows, isRtl, goToCell, getRowIdFromIndex, headerFilteringEnabled, goToHeaderFilter, goToHeader]);
530
526
  const checkIfCanStartEditing = React.useCallback((initialValue, {
531
527
  event
532
528
  }) => {
@@ -1,6 +1,6 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
- import { GridColDef, GridRowId } from "../../../models/index.js";
3
- import { GridApiCommunity } from "../../../models/api/gridApiCommunity.js";
2
+ import { GridRowId } from "../../../models/index.js";
3
+ import { GridPrivateApiCommunity } from "../../../models/api/gridApiCommunity.js";
4
4
  export declare const getLeftColumnIndex: ({
5
5
  currentColIndex,
6
6
  firstColIndex,
@@ -23,4 +23,4 @@ export declare const getRightColumnIndex: ({
23
23
  lastColIndex: number;
24
24
  isRtl: boolean;
25
25
  }) => number | null;
26
- export declare function findNonRowSpannedCell(apiRef: RefObject<GridApiCommunity>, rowId: GridRowId, field: GridColDef['field'], rowSpanScanDirection: 'up' | 'down'): GridRowId;
26
+ export declare function findNonRowSpannedCell(apiRef: RefObject<GridPrivateApiCommunity>, rowId: GridRowId, colIndex: number, rowSpanScanDirection: 'up' | 'down'): GridRowId;
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.findNonRowSpannedCell = findNonRowSpannedCell;
7
7
  exports.getRightColumnIndex = exports.getLeftColumnIndex = void 0;
8
+ var _xVirtualizer = require("@mui/x-virtualizer");
8
9
  var _gridFilterSelector = require("../filter/gridFilterSelector");
9
- var _gridRowSpanningSelectors = require("../rows/gridRowSpanningSelectors");
10
10
  const getLeftColumnIndex = ({
11
11
  currentColIndex,
12
12
  firstColIndex,
@@ -43,9 +43,9 @@ const getRightColumnIndex = ({
43
43
  return null;
44
44
  };
45
45
  exports.getRightColumnIndex = getRightColumnIndex;
46
- function findNonRowSpannedCell(apiRef, rowId, field, rowSpanScanDirection) {
47
- const rowSpanHiddenCells = (0, _gridRowSpanningSelectors.gridRowSpanningHiddenCellsSelector)(apiRef);
48
- if (!rowSpanHiddenCells[rowId]?.[field]) {
46
+ function findNonRowSpannedCell(apiRef, rowId, colIndex, rowSpanScanDirection) {
47
+ const rowSpanHiddenCells = _xVirtualizer.Rowspan.selectors.hiddenCells(apiRef.current.virtualizer.store.state);
48
+ if (!rowSpanHiddenCells[rowId]?.[colIndex]) {
49
49
  return rowId;
50
50
  }
51
51
  const filteredSortedRowIds = (0, _gridFilterSelector.gridFilteredSortedRowIdsSelector)(apiRef);
@@ -53,7 +53,7 @@ function findNonRowSpannedCell(apiRef, rowId, field, rowSpanScanDirection) {
53
53
  let nextRowIndex = filteredSortedRowIds.indexOf(rowId) + (rowSpanScanDirection === 'down' ? 1 : -1);
54
54
  while (nextRowIndex >= 0 && nextRowIndex < filteredSortedRowIds.length) {
55
55
  const nextRowId = filteredSortedRowIds[nextRowIndex];
56
- if (!rowSpanHiddenCells[nextRowId]?.[field]) {
56
+ if (!rowSpanHiddenCells[nextRowId]?.[colIndex]) {
57
57
  return nextRowId;
58
58
  }
59
59
  nextRowIndex += rowSpanScanDirection === 'down' ? 1 : -1;
@@ -1,7 +1,14 @@
1
1
  import { GridStateCommunity } from "../../../models/gridStateCommunity.js";
2
+ import type { GridStateColDef } from "../../../models/colDef/gridColDef.js";
3
+ /**
4
+ * Get the list view state
5
+ * @category List View
6
+ * @ignore - Do not document
7
+ */
8
+ export declare const gridListViewSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, boolean>;
2
9
  /**
3
10
  * Get the list column definition
4
11
  * @category List View
5
12
  * @ignore - Do not document
6
13
  */
7
- export declare const gridListColumnSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, import("./useGridListView.js").GridListViewState>;
14
+ export declare const gridListColumnSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, GridStateColDef>;
@@ -3,8 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridListColumnSelector = void 0;
6
+ exports.gridListViewSelector = exports.gridListColumnSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
+ /**
9
+ * Get the list view state
10
+ * @category List View
11
+ * @ignore - Do not document
12
+ */
13
+ const gridListViewSelector = exports.gridListViewSelector = (0, _createSelector.createRootSelector)(state => state.props.listView ?? false);
14
+
8
15
  /**
9
16
  * Get the list column definition
10
17
  * @category List View
@@ -2,7 +2,6 @@ import type { GridRowModelUpdate } from '@mui/x-data-grid';
2
2
  import type { GridColDef } from "../../../models/colDef/index.js";
3
3
  export interface GridPivotingStatePartial {
4
4
  active: boolean;
5
- panelOpen: boolean;
6
5
  initialColumns: Map<string, GridColDef> | undefined;
7
6
  }
8
7
  export interface GridPivotingPrivateApiCommunity {
@@ -5,7 +5,4 @@ export declare const gridPivotActiveSelector: (args_0: import("react").RefObject
5
5
  } | null>) => boolean;
6
6
  export declare const gridPivotInitialColumnsSelector: (args_0: import("react").RefObject<{
7
7
  state: GridStateCommunity;
8
- } | null>) => Map<string, GridColDef>;
9
- export declare const gridPivotPanelOpenSelector: (args_0: import("react").RefObject<{
10
- state: GridStateCommunity;
11
- } | null>) => boolean;
8
+ } | null>) => Map<string, GridColDef>;
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridPivotPanelOpenSelector = exports.gridPivotInitialColumnsSelector = exports.gridPivotActiveSelector = void 0;
6
+ exports.gridPivotInitialColumnsSelector = exports.gridPivotActiveSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  const gridPivotingStateSelector = (0, _createSelector.createRootSelector)(
9
9
  // @ts-ignore
10
10
  state => state.pivoting);
11
11
  const gridPivotActiveSelector = exports.gridPivotActiveSelector = (0, _createSelector.createSelector)(gridPivotingStateSelector, pivoting => pivoting?.active);
12
12
  const emptyColumns = new Map();
13
- const gridPivotInitialColumnsSelector = exports.gridPivotInitialColumnsSelector = (0, _createSelector.createSelector)(gridPivotingStateSelector, pivoting => pivoting?.initialColumns || emptyColumns);
14
- const gridPivotPanelOpenSelector = exports.gridPivotPanelOpenSelector = (0, _createSelector.createSelector)(gridPivotingStateSelector, pivoting => pivoting?.panelOpen);
13
+ const gridPivotInitialColumnsSelector = exports.gridPivotInitialColumnsSelector = (0, _createSelector.createSelector)(gridPivotingStateSelector, pivoting => pivoting?.initialColumns || emptyColumns);