@mui/x-data-grid 7.25.0 → 7.27.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 (132) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/DataGrid/DataGrid.js +6 -0
  3. package/DataGrid/useDataGridComponent.js +3 -3
  4. package/components/GridRow.js +8 -2
  5. package/components/GridScrollArea.d.ts +5 -2
  6. package/components/GridScrollArea.js +32 -25
  7. package/components/GridSkeletonLoadingOverlay.js +2 -1
  8. package/components/containers/GridRoot.js +11 -9
  9. package/components/containers/GridRootStyles.js +3 -3
  10. package/components/virtualization/GridMainContainer.d.ts +2 -2
  11. package/components/virtualization/GridMainContainer.js +1 -1
  12. package/components/virtualization/GridVirtualScroller.js +21 -14
  13. package/constants/dataGridPropsDefaultValues.js +1 -0
  14. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +1 -1
  15. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +6 -4
  16. package/hooks/core/useGridStateInitialization.js +3 -2
  17. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  18. package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -14
  19. package/hooks/features/columns/gridColumnsSelector.d.ts +0 -5
  20. package/hooks/features/columns/gridColumnsSelector.js +0 -12
  21. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +16 -0
  22. package/hooks/features/dimensions/gridDimensionsSelectors.js +26 -1
  23. package/hooks/features/dimensions/index.d.ts +1 -1
  24. package/hooks/features/dimensions/index.js +1 -2
  25. package/hooks/features/dimensions/useGridDimensions.js +97 -70
  26. package/hooks/features/editing/gridEditingSelectors.d.ts +5 -1
  27. package/hooks/features/editing/gridEditingSelectors.js +6 -1
  28. package/hooks/features/editing/useGridRowEditing.js +4 -4
  29. package/hooks/features/filter/gridFilterState.d.ts +5 -0
  30. package/hooks/features/filter/gridFilterState.js +5 -0
  31. package/hooks/features/filter/useGridFilter.js +6 -13
  32. package/hooks/features/pagination/useGridPagination.js +1 -1
  33. package/hooks/features/pagination/useGridPaginationModel.d.ts +1 -1
  34. package/hooks/features/pagination/useGridPaginationModel.js +44 -0
  35. package/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  36. package/hooks/features/rowSelection/utils.js +1 -1
  37. package/hooks/features/rows/gridRowsMetaState.d.ts +8 -0
  38. package/hooks/features/rows/gridRowsUtils.d.ts +0 -4
  39. package/hooks/features/rows/gridRowsUtils.js +0 -16
  40. package/hooks/features/rows/useGridRowsMeta.js +33 -17
  41. package/hooks/features/sorting/gridSortingSelector.js +10 -9
  42. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +6 -0
  43. package/hooks/features/virtualization/useGridVirtualScroller.js +43 -27
  44. package/hooks/utils/useGridNativeEventListener.d.ts +0 -1
  45. package/hooks/utils/useGridNativeEventListener.js +12 -22
  46. package/hooks/utils/useGridSelector.d.ts +8 -1
  47. package/hooks/utils/useGridSelector.js +42 -8
  48. package/hooks/utils/useIsSSR.d.ts +1 -0
  49. package/hooks/utils/useIsSSR.js +5 -0
  50. package/index.js +1 -1
  51. package/internals/index.d.ts +2 -1
  52. package/internals/index.js +2 -1
  53. package/locales/plPL.js +31 -35
  54. package/locales/ukUA.js +9 -10
  55. package/models/api/gridStateApi.d.ts +1 -0
  56. package/models/events/gridEventLookup.d.ts +6 -0
  57. package/models/props/DataGridProps.d.ts +6 -0
  58. package/modern/DataGrid/DataGrid.js +6 -0
  59. package/modern/DataGrid/useDataGridComponent.js +3 -3
  60. package/modern/components/GridRow.js +8 -2
  61. package/modern/components/GridScrollArea.js +32 -25
  62. package/modern/components/GridSkeletonLoadingOverlay.js +2 -1
  63. package/modern/components/containers/GridRoot.js +11 -9
  64. package/modern/components/containers/GridRootStyles.js +3 -3
  65. package/modern/components/virtualization/GridMainContainer.js +1 -1
  66. package/modern/components/virtualization/GridVirtualScroller.js +21 -14
  67. package/modern/constants/dataGridPropsDefaultValues.js +1 -0
  68. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +6 -4
  69. package/modern/hooks/core/useGridStateInitialization.js +3 -2
  70. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  71. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -14
  72. package/modern/hooks/features/columns/gridColumnsSelector.js +0 -12
  73. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +26 -1
  74. package/modern/hooks/features/dimensions/index.js +1 -2
  75. package/modern/hooks/features/dimensions/useGridDimensions.js +97 -70
  76. package/modern/hooks/features/editing/gridEditingSelectors.js +6 -1
  77. package/modern/hooks/features/editing/useGridRowEditing.js +4 -4
  78. package/modern/hooks/features/filter/gridFilterState.js +5 -0
  79. package/modern/hooks/features/filter/useGridFilter.js +6 -13
  80. package/modern/hooks/features/pagination/useGridPagination.js +1 -1
  81. package/modern/hooks/features/pagination/useGridPaginationModel.js +44 -0
  82. package/modern/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  83. package/modern/hooks/features/rowSelection/utils.js +1 -1
  84. package/modern/hooks/features/rows/gridRowsUtils.js +0 -16
  85. package/modern/hooks/features/rows/useGridRowsMeta.js +33 -17
  86. package/modern/hooks/features/sorting/gridSortingSelector.js +10 -9
  87. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +43 -27
  88. package/modern/hooks/utils/useGridNativeEventListener.js +12 -22
  89. package/modern/hooks/utils/useGridSelector.js +42 -8
  90. package/modern/hooks/utils/useIsSSR.js +5 -0
  91. package/modern/index.js +1 -1
  92. package/modern/internals/index.js +2 -1
  93. package/modern/locales/plPL.js +31 -35
  94. package/modern/locales/ukUA.js +9 -10
  95. package/node/DataGrid/DataGrid.js +6 -0
  96. package/node/DataGrid/useDataGridComponent.js +3 -3
  97. package/node/components/GridRow.js +7 -2
  98. package/node/components/GridScrollArea.js +31 -24
  99. package/node/components/GridSkeletonLoadingOverlay.js +2 -1
  100. package/node/components/containers/GridRoot.js +10 -8
  101. package/node/components/containers/GridRootStyles.js +3 -3
  102. package/node/components/virtualization/GridMainContainer.js +1 -1
  103. package/node/components/virtualization/GridVirtualScroller.js +21 -14
  104. package/node/constants/dataGridPropsDefaultValues.js +1 -0
  105. package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +6 -4
  106. package/node/hooks/core/useGridStateInitialization.js +3 -2
  107. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  108. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -14
  109. package/node/hooks/features/columns/gridColumnsSelector.js +1 -13
  110. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +38 -2
  111. package/node/hooks/features/dimensions/index.js +13 -11
  112. package/node/hooks/features/dimensions/useGridDimensions.js +94 -67
  113. package/node/hooks/features/editing/gridEditingSelectors.js +5 -1
  114. package/node/hooks/features/editing/useGridRowEditing.js +4 -4
  115. package/node/hooks/features/filter/gridFilterState.js +6 -1
  116. package/node/hooks/features/filter/useGridFilter.js +5 -12
  117. package/node/hooks/features/pagination/useGridPagination.js +1 -1
  118. package/node/hooks/features/pagination/useGridPaginationModel.js +44 -0
  119. package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  120. package/node/hooks/features/rowSelection/utils.js +1 -1
  121. package/node/hooks/features/rows/gridRowsUtils.js +0 -17
  122. package/node/hooks/features/rows/useGridRowsMeta.js +31 -15
  123. package/node/hooks/features/sorting/gridSortingSelector.js +10 -9
  124. package/node/hooks/features/virtualization/useGridVirtualScroller.js +42 -26
  125. package/node/hooks/utils/useGridNativeEventListener.js +12 -23
  126. package/node/hooks/utils/useGridSelector.js +42 -8
  127. package/node/hooks/utils/useIsSSR.js +12 -0
  128. package/node/index.js +1 -1
  129. package/node/internals/index.js +20 -7
  130. package/node/locales/plPL.js +31 -35
  131. package/node/locales/ukUA.js +9 -10
  132. package/package.json +3 -2
@@ -45,12 +45,11 @@ const ukUAGrid = {
45
45
  toolbarExportPrint: 'Друк',
46
46
  toolbarExportExcel: 'Завантажити у форматі Excel',
47
47
  // Columns management text
48
- // columnsManagementSearchTitle: 'Search',
49
- // columnsManagementNoColumns: 'No columns',
50
- // columnsManagementShowHideAllText: 'Show/Hide All',
51
- // columnsManagementReset: 'Reset',
52
- // columnsManagementDeleteIconLabel: 'Clear',
53
-
48
+ columnsManagementSearchTitle: 'Пошук',
49
+ columnsManagementNoColumns: 'Немає стовпців',
50
+ columnsManagementShowHideAllText: 'Показати/Приховати всі',
51
+ columnsManagementReset: 'Скинути',
52
+ columnsManagementDeleteIconLabel: 'Очистити',
54
53
  // Filter panel text
55
54
  filterPanelAddFilter: 'Додати фільтр',
56
55
  filterPanelRemoveAll: 'Видалити всі',
@@ -64,9 +63,9 @@ const ukUAGrid = {
64
63
  filterPanelInputPlaceholder: 'Значення фільтра',
65
64
  // Filter operators text
66
65
  filterOperatorContains: 'містить',
67
- // filterOperatorDoesNotContain: 'does not contain',
66
+ filterOperatorDoesNotContain: 'не містить',
68
67
  filterOperatorEquals: 'дорівнює',
69
- // filterOperatorDoesNotEqual: 'does not equal',
68
+ filterOperatorDoesNotEqual: 'не дорівнює',
70
69
  filterOperatorStartsWith: 'починається з',
71
70
  filterOperatorEndsWith: 'закінчується на',
72
71
  filterOperatorIs: 'дорівнює',
@@ -86,9 +85,9 @@ const ukUAGrid = {
86
85
  'filterOperator<=': '<=',
87
86
  // Header filter operators text
88
87
  headerFilterOperatorContains: 'Містить',
89
- // headerFilterOperatorDoesNotContain: 'Does not contain',
88
+ headerFilterOperatorDoesNotContain: 'Не містить',
90
89
  headerFilterOperatorEquals: 'Дорівнює',
91
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
90
+ headerFilterOperatorDoesNotEqual: 'Не дорівнює',
92
91
  headerFilterOperatorStartsWith: 'Починається з',
93
92
  headerFilterOperatorEndsWith: 'Закінчується на',
94
93
  headerFilterOperatorIs: 'Дорівнює',
@@ -668,6 +668,12 @@ DataGridRaw.propTypes = {
668
668
  * @returns {Promise<R> | R} The final values to update the row.
669
669
  */
670
670
  processRowUpdate: _propTypes.default.func,
671
+ /**
672
+ * If `true`, the page is set to 0 after each sorting or filtering.
673
+ * This prop will be removed in the next major version and resetting the page will become the default behavior.
674
+ * @default false
675
+ */
676
+ resetPageOnSortFilter: _propTypes.default.bool,
671
677
  /**
672
678
  * The milliseconds throttle delay for resizing the grid.
673
679
  * @default 60
@@ -47,11 +47,10 @@ const useDataGridComponent = (inputApiRef, props) => {
47
47
  /**
48
48
  * Register all state initializers here.
49
49
  */
50
- (0, _useGridInitializeState.useGridInitializeState)(_useGridDimensions.dimensionsStateInitializer, apiRef, props);
51
50
  (0, _useGridInitializeState.useGridInitializeState)(_useGridRowSelection.rowSelectionStateInitializer, apiRef, props);
52
51
  (0, _useGridInitializeState.useGridInitializeState)(_useGridColumns.columnsStateInitializer, apiRef, props);
53
- (0, _useGridInitializeState.useGridInitializeState)(_useGridPagination.paginationStateInitializer, apiRef, props);
54
52
  (0, _useGridInitializeState.useGridInitializeState)(_useGridRows.rowsStateInitializer, apiRef, props);
53
+ (0, _useGridInitializeState.useGridInitializeState)(_useGridPagination.paginationStateInitializer, apiRef, props);
55
54
  (0, _useGridInitializeState.useGridInitializeState)(_useGridEditing.editingStateInitializer, apiRef, props);
56
55
  (0, _useGridInitializeState.useGridInitializeState)(_useGridFocus.focusStateInitializer, apiRef, props);
57
56
  (0, _useGridInitializeState.useGridInitializeState)(_useGridSorting.sortingStateInitializer, apiRef, props);
@@ -60,10 +59,11 @@ const useDataGridComponent = (inputApiRef, props) => {
60
59
  (0, _useGridInitializeState.useGridInitializeState)(_useGridRowSpanning.rowSpanningStateInitializer, apiRef, props);
61
60
  (0, _useGridInitializeState.useGridInitializeState)(_useGridDensity.densityStateInitializer, apiRef, props);
62
61
  (0, _useGridInitializeState.useGridInitializeState)(_useGridColumnResize.columnResizeStateInitializer, apiRef, props);
63
- (0, _useGridInitializeState.useGridInitializeState)(_useGridRowsMeta.rowsMetaStateInitializer, apiRef, props);
64
62
  (0, _useGridInitializeState.useGridInitializeState)(_useGridColumnMenu.columnMenuStateInitializer, apiRef, props);
65
63
  (0, _useGridInitializeState.useGridInitializeState)(_useGridColumnGrouping.columnGroupsStateInitializer, apiRef, props);
66
64
  (0, _useGridInitializeState.useGridInitializeState)(_virtualization.virtualizationStateInitializer, apiRef, props);
65
+ (0, _useGridInitializeState.useGridInitializeState)(_useGridDimensions.dimensionsStateInitializer, apiRef, props);
66
+ (0, _useGridInitializeState.useGridInitializeState)(_useGridRowsMeta.rowsMetaStateInitializer, apiRef, props);
67
67
  (0, _useGridInitializeState.useGridInitializeState)(_useGridListView.listViewStateInitializer, apiRef, props);
68
68
  (0, _useGridKeyboardNavigation.useGridKeyboardNavigation)(apiRef, props);
69
69
  (0, _useGridRowSelection.useGridRowSelection)(apiRef, props);
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -86,7 +87,10 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
86
87
  const isRowReorderingEnabled = (0, _useGridSelector.useGridSelectorV8)(apiRef, isRowReorderingEnabledSelector, rowReordering);
87
88
  const handleRef = (0, _utils.unstable_useForkRef)(ref, refProp);
88
89
  const rowNode = apiRef.current.getRowNode(rowId);
89
- const editing = (0, _useGridSelector.useGridSelectorV8)(apiRef, _gridEditingSelectors.gridRowIsEditingSelector, rowId);
90
+ const editing = (0, _useGridSelector.useGridSelectorV8)(apiRef, _gridEditingSelectors.gridRowIsEditingSelector, {
91
+ rowId,
92
+ editMode: rootProps.editMode
93
+ });
90
94
  const editable = rootProps.editMode === _gridEditRowModel.GridEditModes.Row;
91
95
  const hasFocusCell = focusedColumnIndex !== undefined;
92
96
  const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < firstColumnIndex;
@@ -304,7 +308,8 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
304
308
  role: "presentation",
305
309
  className: (0, _clsx.default)(_gridClasses.gridClasses.cell, _gridClasses.gridClasses.cellEmpty)
306
310
  }), rightCells, scrollbarWidth !== 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollbarFillerCell.GridScrollbarFillerCell, {
307
- pinnedRight: pinnedColumns.right.length > 0
311
+ pinnedRight: pinnedColumns.right.length > 0,
312
+ borderTop: !isFirstVisible
308
313
  })]
309
314
  }));
310
315
  });
@@ -19,9 +19,9 @@ var _useGridApiEventHandler = require("../hooks/utils/useGridApiEventHandler");
19
19
  var _useGridSelector = require("../hooks/utils/useGridSelector");
20
20
  var _gridDimensionsSelectors = require("../hooks/features/dimensions/gridDimensionsSelectors");
21
21
  var _densitySelector = require("../hooks/features/density/densitySelector");
22
- var _gridColumnsSelector = require("../hooks/features/columns/gridColumnsSelector");
23
22
  var _useTimeout = require("../hooks/utils/useTimeout");
24
23
  var _gridColumnsUtils = require("../hooks/features/columns/gridColumnsUtils");
24
+ var _createSelector = require("../utils/createSelector");
25
25
  var _jsxRuntime = require("react/jsx-runtime");
26
26
  const CLIFF = 1;
27
27
  const SLOP = 1.5;
@@ -56,21 +56,38 @@ const GridScrollAreaRawRoot = (0, _system.styled)('div', {
56
56
  right: 0
57
57
  }
58
58
  }));
59
- function GridScrollAreaRaw(props) {
59
+ const offsetSelector = (0, _createSelector.createSelectorV8)(_gridDimensionsSelectors.gridDimensionsSelector, (dimensions, direction) => {
60
+ if (direction === 'left') {
61
+ return dimensions.leftPinnedWidth;
62
+ }
63
+ if (direction === 'right') {
64
+ return dimensions.rightPinnedWidth + (dimensions.hasScrollX ? dimensions.scrollbarSize : 0);
65
+ }
66
+ return 0;
67
+ });
68
+ function GridScrollAreaWrapper(props) {
69
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
70
+ const [dragging, setDragging] = React.useState(false);
71
+ (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnHeaderDragStart', () => setDragging(true));
72
+ (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnHeaderDragEnd', () => setDragging(false));
73
+ if (!dragging) {
74
+ return null;
75
+ }
76
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridScrollAreaContent, (0, _extends2.default)({}, props));
77
+ }
78
+ function GridScrollAreaContent(props) {
60
79
  const {
61
- scrollDirection
80
+ scrollDirection,
81
+ scrollPosition
62
82
  } = props;
63
83
  const rootRef = React.useRef(null);
64
84
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
65
85
  const timeout = (0, _useTimeout.useTimeout)();
66
86
  const densityFactor = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityFactorSelector);
67
- const columnsTotalWidth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnsTotalWidthSelector);
68
- const dimensions = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridDimensionsSelector);
69
- const scrollPosition = React.useRef({
70
- left: 0,
71
- top: 0
72
- });
87
+ const columnsTotalWidth = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridColumnsTotalWidthSelector);
88
+ const sideOffset = (0, _useGridSelector.useGridSelectorV8)(apiRef, offsetSelector, scrollDirection);
73
89
  const getCanScrollMore = () => {
90
+ const dimensions = (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef.current.state);
74
91
  if (scrollDirection === 'left') {
75
92
  // Only render if the user has not reached yet the start of the list
76
93
  return scrollPosition.current.left > 0;
@@ -82,7 +99,6 @@ function GridScrollAreaRaw(props) {
82
99
  }
83
100
  return false;
84
101
  };
85
- const [dragging, setDragging] = React.useState(false);
86
102
  const [canScrollMore, setCanScrollMore] = React.useState(getCanScrollMore);
87
103
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
88
104
  const ownerState = (0, _extends2.default)({}, rootProps, {
@@ -96,12 +112,11 @@ function GridScrollAreaRaw(props) {
96
112
  top: totalHeaderHeight - headerHeight
97
113
  };
98
114
  if (scrollDirection === 'left') {
99
- style.left = dimensions.leftPinnedWidth;
115
+ style.left = sideOffset;
100
116
  } else if (scrollDirection === 'right') {
101
- style.right = dimensions.rightPinnedWidth + (dimensions.hasScrollX ? dimensions.scrollbarSize : 0);
117
+ style.right = sideOffset;
102
118
  }
103
- const handleScrolling = newScrollPosition => {
104
- scrollPosition.current = newScrollPosition;
119
+ const handleScrolling = () => {
105
120
  setCanScrollMore(getCanScrollMore);
106
121
  };
107
122
  const handleDragOver = (0, _utils.unstable_useEventCallback)(event => {
@@ -126,16 +141,8 @@ function GridScrollAreaRaw(props) {
126
141
  });
127
142
  });
128
143
  });
129
- const handleColumnHeaderDragStart = (0, _utils.unstable_useEventCallback)(() => {
130
- setDragging(true);
131
- });
132
- const handleColumnHeaderDragEnd = (0, _utils.unstable_useEventCallback)(() => {
133
- setDragging(false);
134
- });
135
144
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'scrollPositionChange', handleScrolling);
136
- (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnHeaderDragStart', handleColumnHeaderDragStart);
137
- (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnHeaderDragEnd', handleColumnHeaderDragEnd);
138
- if (!dragging || !canScrollMore) {
145
+ if (!canScrollMore) {
139
146
  return null;
140
147
  }
141
148
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridScrollAreaRawRoot, {
@@ -146,4 +153,4 @@ function GridScrollAreaRaw(props) {
146
153
  style: style
147
154
  });
148
155
  }
149
- const GridScrollArea = exports.GridScrollArea = (0, _fastMemo.fastMemo)(GridScrollAreaRaw);
156
+ const GridScrollArea = exports.GridScrollArea = (0, _fastMemo.fastMemo)(GridScrollAreaWrapper);
@@ -18,6 +18,7 @@ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
18
18
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
19
19
  var _hooks = require("../hooks");
20
20
  var _constants = require("../internals/constants");
21
+ var _gridDimensionsSelectors = require("../hooks/features/dimensions/gridDimensionsSelectors");
21
22
  var _gridClasses = require("../constants/gridClasses");
22
23
  var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
23
24
  var _cellBorderUtils = require("../utils/cellBorderUtils");
@@ -62,7 +63,7 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = (0, _for
62
63
  const dimensions = (0, _hooks.useGridSelector)(apiRef, _hooks.gridDimensionsSelector);
63
64
  const viewportHeight = dimensions?.viewportInnerSize.height ?? 0;
64
65
  const skeletonRowsCount = Math.ceil(viewportHeight / dimensions.rowHeight);
65
- const totalWidth = (0, _hooks.useGridSelector)(apiRef, _hooks.gridColumnsTotalWidthSelector);
66
+ const totalWidth = (0, _hooks.useGridSelector)(apiRef, _gridDimensionsSelectors.gridColumnsTotalWidthSelector);
66
67
  const positions = (0, _hooks.useGridSelector)(apiRef, _hooks.gridColumnPositionsSelector);
67
68
  const inViewportCount = React.useMemo(() => positions.filter(value => value <= totalWidth).length, [totalWidth, positions]);
68
69
  const allVisibleColumns = (0, _hooks.useGridSelector)(apiRef, _hooks.gridVisibleColumnDefinitionsSelector);
@@ -20,6 +20,7 @@ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiCont
20
20
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
21
21
  var _gridClasses = require("../../constants/gridClasses");
22
22
  var _densitySelector = require("../../hooks/features/density/densitySelector");
23
+ var _useIsSSR = require("../../hooks/utils/useIsSSR");
23
24
  var _GridHeader = require("../GridHeader");
24
25
  var _base = require("../base");
25
26
  var _jsxRuntime = require("react/jsx-runtime");
@@ -45,16 +46,17 @@ const GridRoot = (0, _forwardRef.forwardRef)(function GridRoot(props, ref) {
45
46
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
46
47
  const density = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensitySelector);
47
48
  const rootElementRef = apiRef.current.rootElementRef;
48
- const handleRef = (0, _utils.unstable_useForkRef)(rootElementRef, ref);
49
+ const rootMountCallback = React.useCallback(node => {
50
+ if (node === null) {
51
+ return;
52
+ }
53
+ apiRef.current.publishEvent('rootMount', node);
54
+ }, [apiRef]);
55
+ const handleRef = (0, _utils.unstable_useForkRef)(rootElementRef, ref, rootMountCallback);
49
56
  const ownerState = rootProps;
50
57
  const classes = useUtilityClasses(ownerState, density);
51
-
52
- // Our implementation of <NoSsr />
53
- const [mountedState, setMountedState] = React.useState(false);
54
- (0, _utils.unstable_useEnhancedEffect)(() => {
55
- setMountedState(true);
56
- }, []);
57
- if (!mountedState) {
58
+ const isSSR = (0, _useIsSSR.useIsSSR)();
59
+ if (isSSR) {
58
60
  return null;
59
61
  }
60
62
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridRootStyles.GridRootStyles, (0, _extends2.default)({
@@ -10,7 +10,6 @@ var _styles = require("@mui/material/styles");
10
10
  var _gridClasses = require("../../constants/gridClasses");
11
11
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
12
12
  var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
13
- var _gridDimensionsSelectors = require("../../hooks/features/dimensions/gridDimensionsSelectors");
14
13
  function getBorderColor(theme) {
15
14
  if (theme.vars) {
16
15
  return theme.vars.palette.TableCell.border;
@@ -42,6 +41,7 @@ const separatorIconDragStyles = {
42
41
  // Emotion thinks it knows better than us which selector we should use.
43
42
  // https://github.com/emotion-js/emotion/issues/1105#issuecomment-1722524968
44
43
  const ignoreSsrWarning = '/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */';
44
+ const shouldShowBorderTopRightRadiusSelector = state => state.dimensions.hasScrollX && (!state.dimensions.hasScrollY || state.dimensions.scrollbarSize === 0);
45
45
  const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
46
46
  name: 'MuiDataGrid',
47
47
  slot: 'Root',
@@ -272,7 +272,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
272
272
  theme: t
273
273
  }) => {
274
274
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
275
- const dimensions = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridDimensionsSelector);
275
+ const shouldShowBorderTopRightRadius = (0, _useGridSelector.useGridSelector)(apiRef, shouldShowBorderTopRightRadiusSelector);
276
276
  const borderColor = getBorderColor(t);
277
277
  const radius = t.shape.borderRadius;
278
278
  const containerBackground = t.vars ? t.vars.palette.background.default : t.mixins.MuiDataGrid?.containerBackground ?? t.palette.background.default;
@@ -424,7 +424,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
424
424
  borderTopLeftRadius: 'calc(var(--unstable_DataGrid-radius) - 1px)'
425
425
  },
426
426
  [`&.${_gridClasses.gridClasses['root--noToolbar']} [aria-rowindex="1"] .${_gridClasses.gridClasses['columnHeader--last']}`]: {
427
- borderTopRightRadius: dimensions.hasScrollX && (!dimensions.hasScrollY || dimensions.scrollbarSize === 0) ? 'calc(var(--unstable_DataGrid-radius) - 1px)' : undefined
427
+ borderTopRightRadius: shouldShowBorderTopRightRadius ? 'calc(var(--unstable_DataGrid-radius) - 1px)' : undefined
428
428
  },
429
429
  [`& .${_gridClasses.gridClasses.columnHeaderCheckbox}, & .${_gridClasses.gridClasses.cellCheckbox}`]: {
430
430
  padding: 0,
@@ -26,7 +26,7 @@ const Element = (0, _system.styled)('div', {
26
26
  const {
27
27
  ownerState
28
28
  } = props;
29
- return [styles.main, ownerState.dimensions.rightPinnedWidth > 0 && styles['main--hasPinnedRight'], ownerState.loadingOverlayVariant === 'skeleton' && styles['main--hasSkeletonLoadingOverlay']];
29
+ return [styles.main, ownerState.hasPinnedRight && styles['main--hasPinnedRight'], ownerState.loadingOverlayVariant === 'skeleton' && styles['main--hasSkeletonLoadingOverlay']];
30
30
  }
31
31
  })({
32
32
  flexGrow: 1,
@@ -10,12 +10,12 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _system = require("@mui/system");
12
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
+ var _gridDimensionsSelectors = require("../../hooks/features/dimensions/gridDimensionsSelectors");
13
14
  var _GridScrollArea = require("../GridScrollArea");
14
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
15
16
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
16
17
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
17
18
  var _gridClasses = require("../../constants/gridClasses");
18
- var _dimensions = require("../../hooks/features/dimensions");
19
19
  var _useGridVirtualScroller = require("../../hooks/features/virtualization/useGridVirtualScroller");
20
20
  var _useGridOverlays = require("../../hooks/features/overlays/useGridOverlays");
21
21
  var _GridOverlays = require("../base/GridOverlays");
@@ -31,12 +31,13 @@ var _jsxRuntime = require("react/jsx-runtime");
31
31
  const useUtilityClasses = ownerState => {
32
32
  const {
33
33
  classes,
34
- dimensions,
34
+ hasScrollX,
35
+ hasPinnedRight,
35
36
  loadingOverlayVariant
36
37
  } = ownerState;
37
38
  const slots = {
38
- root: ['main', dimensions.rightPinnedWidth > 0 && 'main--hasPinnedRight', loadingOverlayVariant === 'skeleton' && 'main--hasSkeletonLoadingOverlay'],
39
- scroller: ['virtualScroller', dimensions.hasScrollX && 'virtualScroller--hasScrollX']
39
+ root: ['main', hasPinnedRight && 'main--hasPinnedRight', loadingOverlayVariant === 'skeleton' && 'main--hasSkeletonLoadingOverlay'],
40
+ scroller: ['virtualScroller', hasScrollX && 'virtualScroller--hasScrollX']
40
41
  };
41
42
  return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
42
43
  };
@@ -47,7 +48,7 @@ const Scroller = (0, _system.styled)('div', {
47
48
  const {
48
49
  ownerState
49
50
  } = props;
50
- return [styles.virtualScroller, ownerState.dimensions.hasScrollX && styles['virtualScroller--hasScrollX']];
51
+ return [styles.virtualScroller, ownerState.hasScrollX && styles['virtualScroller--hasScrollX']];
51
52
  }
52
53
  })({
53
54
  position: 'relative',
@@ -66,14 +67,19 @@ const Scroller = (0, _system.styled)('div', {
66
67
  // See https://github.com/mui/mui-x/issues/10547
67
68
  zIndex: 0
68
69
  });
70
+ const hasPinnedRightSelector = state => state.dimensions.rightPinnedWidth > 0;
69
71
  function GridVirtualScroller(props) {
70
72
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
71
73
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
72
- const dimensions = (0, _useGridSelector.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
74
+ const hasScrollY = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollYSelector);
75
+ const hasScrollX = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollXSelector);
76
+ const hasPinnedRight = (0, _useGridSelector.useGridSelector)(apiRef, hasPinnedRightSelector);
77
+ const hasBottomFiller = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasBottomFillerSelector);
73
78
  const overlaysProps = (0, _useGridOverlays.useGridOverlays)();
74
79
  const ownerState = {
75
80
  classes: rootProps.classes,
76
- dimensions,
81
+ hasScrollX,
82
+ hasPinnedRight,
77
83
  loadingOverlayVariant: overlaysProps.loadingOverlayVariant
78
84
  };
79
85
  const classes = useUtilityClasses(ownerState);
@@ -85,18 +91,19 @@ function GridVirtualScroller(props) {
85
91
  getRenderZoneProps,
86
92
  getScrollbarVerticalProps,
87
93
  getScrollbarHorizontalProps,
88
- getRows
94
+ getRows,
95
+ getScrollAreaProps
89
96
  } = virtualScroller;
90
97
  const rows = getRows();
91
98
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, (0, _extends2.default)({
92
99
  className: classes.root
93
100
  }, getContainerProps(), {
94
101
  ownerState: ownerState,
95
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
102
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, (0, _extends2.default)({
96
103
  scrollDirection: "left"
97
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
104
+ }, getScrollAreaProps())), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, (0, _extends2.default)({
98
105
  scrollDirection: "right"
99
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Scroller, (0, _extends2.default)({
106
+ }, getScrollAreaProps())), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Scroller, (0, _extends2.default)({
100
107
  className: classes.scroller
101
108
  }, getScrollerProps(), {
102
109
  ownerState: ownerState,
@@ -111,7 +118,7 @@ function GridVirtualScroller(props) {
111
118
  virtualScroller: virtualScroller
112
119
  })]
113
120
  }))
114
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {
121
+ })), hasBottomFiller && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {
115
122
  rowsLength: rows.length
116
123
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBottomContainer.GridBottomContainer, {
117
124
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
@@ -119,9 +126,9 @@ function GridVirtualScroller(props) {
119
126
  virtualScroller: virtualScroller
120
127
  })
121
128
  })]
122
- })), dimensions.hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
129
+ })), hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
123
130
  position: "horizontal"
124
- }, getScrollbarHorizontalProps())), dimensions.hasScrollY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
131
+ }, getScrollbarHorizontalProps())), hasScrollY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
125
132
  position: "vertical"
126
133
  }, getScrollbarVerticalProps())), props.children]
127
134
  }));
@@ -50,6 +50,7 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES =
50
50
  pageSizeOptions: [25, 50, 100],
51
51
  pagination: false,
52
52
  paginationMode: 'client',
53
+ resetPageOnSortFilter: false,
53
54
  resizeThrottleMs: 60,
54
55
  rowBufferPx: 150,
55
56
  rowHeight: 52,
@@ -7,20 +7,22 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useGridRegisterPipeProcessor = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _useFirstRender = require("../../utils/useFirstRender");
10
- const useGridRegisterPipeProcessor = (apiRef, group, callback) => {
10
+ const useGridRegisterPipeProcessor = (apiRef, group, callback, enabled = true) => {
11
11
  const cleanup = React.useRef(null);
12
12
  const id = React.useRef(`mui-${Math.round(Math.random() * 1e9)}`);
13
13
  const registerPreProcessor = React.useCallback(() => {
14
14
  cleanup.current = apiRef.current.registerPipeProcessor(group, id.current, callback);
15
15
  }, [apiRef, callback, group]);
16
16
  (0, _useFirstRender.useFirstRender)(() => {
17
- registerPreProcessor();
17
+ if (enabled) {
18
+ registerPreProcessor();
19
+ }
18
20
  });
19
21
  const isFirstRender = React.useRef(true);
20
22
  React.useEffect(() => {
21
23
  if (isFirstRender.current) {
22
24
  isFirstRender.current = false;
23
- } else {
25
+ } else if (enabled) {
24
26
  registerPreProcessor();
25
27
  }
26
28
  return () => {
@@ -29,6 +31,6 @@ const useGridRegisterPipeProcessor = (apiRef, group, callback) => {
29
31
  cleanup.current = null;
30
32
  }
31
33
  };
32
- }, [registerPreProcessor]);
34
+ }, [registerPreProcessor, enabled]);
33
35
  };
34
36
  exports.useGridRegisterPipeProcessor = useGridRegisterPipeProcessor;
@@ -12,7 +12,6 @@ var _utils = require("../utils");
12
12
  var _utils2 = require("../../utils/utils");
13
13
  const useGridStateInitialization = apiRef => {
14
14
  const controlStateMapRef = React.useRef({});
15
- const [, rawForceUpdate] = React.useState();
16
15
  const registerControlState = React.useCallback(controlStateItem => {
17
16
  controlStateMapRef.current[controlStateItem.stateId] = controlStateItem;
18
17
  }, []);
@@ -87,7 +86,9 @@ const useGridStateInitialization = apiRef => {
87
86
  });
88
87
  }, reason);
89
88
  }, [apiRef]);
90
- const forceUpdate = React.useCallback(() => rawForceUpdate(() => apiRef.current.state), [apiRef]);
89
+ const forceUpdate = React.useCallback(() => {
90
+ // @deprecated - do nothing
91
+ }, []);
91
92
  const publicStateApi = {
92
93
  setState,
93
94
  forceUpdate
@@ -98,7 +98,7 @@ const useGridClipboard = (apiRef, props) => {
98
98
  apiRef.current.publishEvent('clipboardCopy', textToCopy);
99
99
  }
100
100
  }, [apiRef, ignoreValueFormatter, clipboardCopyCellDelimiter]);
101
- (0, _utils.useGridNativeEventListener)(apiRef, apiRef.current.rootElementRef, 'keydown', handleCopy);
101
+ (0, _utils.useGridNativeEventListener)(apiRef, () => apiRef.current.rootElementRef.current, 'keydown', handleCopy);
102
102
  (0, _utils.useGridApiOptionHandler)(apiRef, 'clipboardCopy', props.onClipboardCopy);
103
103
  };
104
104
  exports.useGridClipboard = useGridClipboard;
@@ -15,7 +15,7 @@ var _useGridRootProps = require("../../utils/useGridRootProps");
15
15
  var _useGridPrivateApiContext = require("../../utils/useGridPrivateApiContext");
16
16
  var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
17
17
  var _GridColumnHeaderItem = require("../../../components/columnHeaders/GridColumnHeaderItem");
18
- var _dimensions = require("../dimensions");
18
+ var _gridDimensionsSelectors = require("../dimensions/gridDimensionsSelectors");
19
19
  var _virtualization = require("../virtualization");
20
20
  var _useGridVirtualScroller = require("../virtualization/useGridVirtualScroller");
21
21
  var _GridColumnGroupHeader = require("../../../components/columnHeaders/GridColumnGroupHeader");
@@ -54,19 +54,17 @@ const useGridColumnHeaders = props => {
54
54
  const [resizeCol, setResizeCol] = React.useState('');
55
55
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
56
56
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
57
- const dimensions = (0, _utils.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
58
57
  const columnGroupsModel = (0, _utils.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsUnwrappedModelSelector);
59
58
  const columnPositions = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnPositionsSelector);
60
59
  const renderContext = (0, _utils.useGridSelector)(apiRef, _virtualization.gridRenderContextColumnsSelector);
61
60
  const pinnedColumns = (0, _utils.useGridSelector)(apiRef, _columns.gridVisiblePinnedColumnDefinitionsSelector);
62
61
  const columnsLookup = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnLookupSelector);
63
62
  const offsetLeft = (0, _useGridVirtualScroller.computeOffsetLeft)(columnPositions, renderContext, pinnedColumns.left.length);
64
- const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
65
- React.useEffect(() => {
66
- if (apiRef.current.columnHeadersContainerRef.current) {
67
- apiRef.current.columnHeadersContainerRef.current.scrollLeft = 0;
68
- }
69
- }, [apiRef]);
63
+ const columnsTotalWidth = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridColumnsTotalWidthSelector);
64
+ const gridHasFiller = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasFillerSelector);
65
+ const headerHeight = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHeaderHeightSelector);
66
+ const groupHeaderHeight = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridGroupHeaderHeightSelector);
67
+ const scrollbarWidth = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridVerticalScrollbarWidthSelector);
70
68
  const handleColumnResizeStart = React.useCallback(params => setResizeCol(params.field), []);
71
69
  const handleColumnResizeStop = React.useCallback(() => setResizeCol(''), []);
72
70
  const handleColumnReorderStart = React.useCallback(params => setDragCol(params.field), []);
@@ -138,8 +136,7 @@ const useGridColumnHeaders = props => {
138
136
  const hasFocus = columnHeaderFocus !== null && columnHeaderFocus.field === colDef.field;
139
137
  const open = columnMenuState.open && columnMenuState.field === colDef.field;
140
138
  const pinnedPosition = params?.position;
141
- const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
142
- const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, colDef.computedWidth, columnIndex, columnPositions, dimensions.columnsTotalWidth, scrollbarWidth);
139
+ const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, colDef.computedWidth, columnIndex, columnPositions, columnsTotalWidth, scrollbarWidth);
143
140
  const siblingWithBorderingSeparator = pinnedPosition === _constants.PinnedColumnPosition.RIGHT ? renderedColumns[i - 1] : renderedColumns[i + 1];
144
141
  const isSiblingFocused = siblingWithBorderingSeparator ? columnHeaderFocus !== null && columnHeaderFocus.field === siblingWithBorderingSeparator.field : false;
145
142
  const isLastUnpinned = columnIndex + 1 === columnPositions.length - pinnedColumns.right.length;
@@ -150,7 +147,7 @@ const useGridColumnHeaders = props => {
150
147
  columns.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderItem.GridColumnHeaderItem, (0, _extends2.default)({}, sortColumnLookup[colDef.field], {
151
148
  columnMenuOpen: open,
152
149
  filterItemsCounter: filterColumnLookup[colDef.field] && filterColumnLookup[colDef.field].length,
153
- headerHeight: dimensions.headerHeight,
150
+ headerHeight: headerHeight,
154
151
  isDragging: colDef.field === dragCol,
155
152
  colDef: colDef,
156
153
  colIndex: columnIndex,
@@ -242,8 +239,7 @@ const useGridColumnHeaders = props => {
242
239
  tabIndex
243
240
  };
244
241
  const pinnedPosition = params.position;
245
- const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
246
- const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, headerInfo.width, columnIndex, columnPositions, dimensions.columnsTotalWidth, scrollbarWidth);
242
+ const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, headerInfo.width, columnIndex, columnPositions, columnsTotalWidth, scrollbarWidth);
247
243
  columnIndex += columnFields.length;
248
244
  let indexInSection = index;
249
245
  if (pinnedPosition === _constants.PinnedColumnPosition.LEFT) {
@@ -258,7 +254,7 @@ const useGridColumnHeaders = props => {
258
254
  depth: depth,
259
255
  isLastColumn: index === visibleColumnGroupHeader.length - 1,
260
256
  maxDepth: headerGroupingMaxDepth,
261
- height: dimensions.groupHeaderHeight,
257
+ height: groupHeaderHeight,
262
258
  hasFocus: hasFocus,
263
259
  tabIndex: tabIndex,
264
260
  pinnedPosition: pinnedPosition,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridColumnsTotalWidthSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
6
+ exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
9
9
  var _gridCoreSelector = require("../../core/gridCoreSelector");
@@ -114,18 +114,6 @@ const gridColumnPositionsSelector = exports.gridColumnPositionsSelector = (0, _c
114
114
  return positions;
115
115
  });
116
116
 
117
- /**
118
- * Get the summed width of all the visible columns.
119
- * @category Visible Columns
120
- */
121
- const gridColumnsTotalWidthSelector = exports.gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, (visibleColumns, positions) => {
122
- const colCount = visibleColumns.length;
123
- if (colCount === 0) {
124
- return 0;
125
- }
126
- return positions[colCount - 1] + visibleColumns[colCount - 1].computedWidth;
127
- });
128
-
129
117
  /**
130
118
  * Get the filterable columns as an array.
131
119
  * @category Columns