@mui/x-data-grid 7.23.2 → 7.23.4

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 (202) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/DataGrid/DataGrid.js +7 -4
  3. package/README.md +1 -1
  4. package/components/GridColumnHeaders.d.ts +1 -1
  5. package/components/GridColumnHeaders.js +4 -4
  6. package/components/GridFooter.d.ts +2 -1
  7. package/components/GridFooter.js +4 -4
  8. package/components/GridLoadingOverlay.d.ts +1 -1
  9. package/components/GridLoadingOverlay.js +3 -2
  10. package/components/GridNoResultsOverlay.d.ts +2 -1
  11. package/components/GridNoResultsOverlay.js +4 -4
  12. package/components/GridNoRowsOverlay.d.ts +2 -1
  13. package/components/GridNoRowsOverlay.js +4 -4
  14. package/components/GridPagination.d.ts +1 -1
  15. package/components/GridPagination.js +5 -3
  16. package/components/GridRow.d.ts +1 -1
  17. package/components/GridRow.js +15 -3
  18. package/components/GridRowCount.d.ts +1 -1
  19. package/components/GridRowCount.js +3 -2
  20. package/components/GridSelectedRowCount.d.ts +4 -1
  21. package/components/GridSelectedRowCount.js +3 -2
  22. package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
  23. package/components/GridSkeletonLoadingOverlay.js +4 -3
  24. package/components/cell/GridActionsCell.js +8 -1
  25. package/components/cell/GridActionsCellItem.d.ts +1 -1
  26. package/components/cell/GridActionsCellItem.js +3 -2
  27. package/components/cell/GridCell.d.ts +1 -1
  28. package/components/cell/GridCell.js +3 -2
  29. package/components/cell/GridEditInputCell.d.ts +1 -1
  30. package/components/cell/GridEditInputCell.js +72 -3
  31. package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
  32. package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  33. package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  34. package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
  35. package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  36. package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
  37. package/components/columnHeaders/GridIconButtonContainer.js +5 -3
  38. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
  39. package/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
  40. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  41. package/components/columnSelection/GridHeaderCheckbox.js +6 -4
  42. package/components/containers/GridFooterContainer.d.ts +1 -1
  43. package/components/containers/GridFooterContainer.js +5 -3
  44. package/components/containers/GridOverlay.d.ts +1 -1
  45. package/components/containers/GridOverlay.js +5 -3
  46. package/components/containers/GridRoot.d.ts +1 -1
  47. package/components/containers/GridRoot.js +5 -3
  48. package/components/containers/GridToolbarContainer.d.ts +1 -1
  49. package/components/containers/GridToolbarContainer.js +3 -2
  50. package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
  51. package/components/menu/columnMenu/GridColumnMenu.js +5 -5
  52. package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
  53. package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  54. package/components/panel/GridPanel.d.ts +1 -1
  55. package/components/panel/GridPanel.js +3 -2
  56. package/components/panel/GridPanelWrapper.d.ts +1 -1
  57. package/components/panel/GridPanelWrapper.js +5 -3
  58. package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
  59. package/components/panel/filterPanel/GridFilterForm.js +3 -2
  60. package/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  61. package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
  62. package/components/panel/filterPanel/GridFilterPanel.js +4 -4
  63. package/components/toolbar/GridToolbar.d.ts +1 -1
  64. package/components/toolbar/GridToolbar.js +4 -4
  65. package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
  66. package/components/toolbar/GridToolbarColumnsButton.js +3 -2
  67. package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
  68. package/components/toolbar/GridToolbarDensitySelector.js +3 -2
  69. package/components/toolbar/GridToolbarExport.d.ts +1 -1
  70. package/components/toolbar/GridToolbarExport.js +2 -1
  71. package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
  72. package/components/toolbar/GridToolbarExportContainer.js +3 -2
  73. package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
  74. package/components/toolbar/GridToolbarFilterButton.js +3 -2
  75. package/components/virtualization/GridMainContainer.d.ts +3 -1
  76. package/components/virtualization/GridMainContainer.js +4 -3
  77. package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
  78. package/components/virtualization/GridVirtualScrollbar.js +2 -1
  79. package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
  80. package/components/virtualization/GridVirtualScrollerContent.js +5 -5
  81. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
  82. package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  83. package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  84. package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
  85. package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  86. package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
  87. package/hooks/features/columnResize/useGridColumnResize.js +9 -4
  88. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
  89. package/hooks/features/columns/gridColumnsUtils.js +2 -1
  90. package/hooks/features/rows/useGridRowSpanning.js +13 -5
  91. package/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
  92. package/index.js +1 -1
  93. package/internals/utils/useProps.js +3 -0
  94. package/locales/koKR.js +36 -39
  95. package/locales/nlNL.js +5 -6
  96. package/models/gridSlotsComponentsProps.d.ts +10 -0
  97. package/models/props/DataGridProps.d.ts +1 -0
  98. package/modern/DataGrid/DataGrid.js +7 -4
  99. package/modern/components/GridColumnHeaders.js +4 -4
  100. package/modern/components/GridFooter.js +4 -4
  101. package/modern/components/GridLoadingOverlay.js +3 -2
  102. package/modern/components/GridNoResultsOverlay.js +4 -4
  103. package/modern/components/GridNoRowsOverlay.js +4 -4
  104. package/modern/components/GridPagination.js +5 -3
  105. package/modern/components/GridRow.js +15 -3
  106. package/modern/components/GridRowCount.js +3 -2
  107. package/modern/components/GridSelectedRowCount.js +3 -2
  108. package/modern/components/GridSkeletonLoadingOverlay.js +4 -3
  109. package/modern/components/cell/GridActionsCell.js +8 -1
  110. package/modern/components/cell/GridActionsCellItem.js +3 -2
  111. package/modern/components/cell/GridCell.js +3 -2
  112. package/modern/components/cell/GridEditInputCell.js +72 -3
  113. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  114. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  115. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  116. package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
  117. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
  118. package/modern/components/columnSelection/GridHeaderCheckbox.js +6 -4
  119. package/modern/components/containers/GridFooterContainer.js +5 -3
  120. package/modern/components/containers/GridOverlay.js +5 -3
  121. package/modern/components/containers/GridRoot.js +5 -3
  122. package/modern/components/containers/GridToolbarContainer.js +3 -2
  123. package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
  124. package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  125. package/modern/components/panel/GridPanel.js +3 -2
  126. package/modern/components/panel/GridPanelWrapper.js +5 -3
  127. package/modern/components/panel/filterPanel/GridFilterForm.js +3 -2
  128. package/modern/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  129. package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
  130. package/modern/components/toolbar/GridToolbar.js +4 -4
  131. package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
  132. package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -2
  133. package/modern/components/toolbar/GridToolbarExport.js +2 -1
  134. package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
  135. package/modern/components/toolbar/GridToolbarFilterButton.js +3 -2
  136. package/modern/components/virtualization/GridMainContainer.js +4 -3
  137. package/modern/components/virtualization/GridVirtualScrollbar.js +2 -1
  138. package/modern/components/virtualization/GridVirtualScrollerContent.js +5 -5
  139. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  140. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  141. package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  142. package/modern/hooks/features/columnResize/useGridColumnResize.js +9 -4
  143. package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
  144. package/modern/hooks/features/rows/useGridRowSpanning.js +13 -5
  145. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
  146. package/modern/index.js +1 -1
  147. package/modern/internals/utils/useProps.js +3 -0
  148. package/modern/locales/koKR.js +36 -39
  149. package/modern/locales/nlNL.js +5 -6
  150. package/node/DataGrid/DataGrid.js +7 -4
  151. package/node/components/GridColumnHeaders.js +4 -4
  152. package/node/components/GridFooter.js +4 -4
  153. package/node/components/GridLoadingOverlay.js +3 -2
  154. package/node/components/GridNoResultsOverlay.js +4 -4
  155. package/node/components/GridNoRowsOverlay.js +4 -4
  156. package/node/components/GridPagination.js +5 -3
  157. package/node/components/GridRow.js +15 -3
  158. package/node/components/GridRowCount.js +3 -2
  159. package/node/components/GridSelectedRowCount.js +3 -2
  160. package/node/components/GridSkeletonLoadingOverlay.js +4 -3
  161. package/node/components/cell/GridActionsCell.js +8 -1
  162. package/node/components/cell/GridActionsCellItem.js +3 -2
  163. package/node/components/cell/GridCell.js +3 -2
  164. package/node/components/cell/GridEditInputCell.js +72 -3
  165. package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  166. package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  167. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  168. package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
  169. package/node/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
  170. package/node/components/columnSelection/GridHeaderCheckbox.js +6 -4
  171. package/node/components/containers/GridFooterContainer.js +5 -3
  172. package/node/components/containers/GridOverlay.js +5 -3
  173. package/node/components/containers/GridRoot.js +5 -3
  174. package/node/components/containers/GridToolbarContainer.js +3 -2
  175. package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
  176. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  177. package/node/components/panel/GridPanel.js +3 -2
  178. package/node/components/panel/GridPanelWrapper.js +5 -3
  179. package/node/components/panel/filterPanel/GridFilterForm.js +3 -2
  180. package/node/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  181. package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
  182. package/node/components/toolbar/GridToolbar.js +4 -4
  183. package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
  184. package/node/components/toolbar/GridToolbarDensitySelector.js +3 -2
  185. package/node/components/toolbar/GridToolbarExport.js +2 -1
  186. package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
  187. package/node/components/toolbar/GridToolbarFilterButton.js +3 -2
  188. package/node/components/virtualization/GridMainContainer.js +4 -3
  189. package/node/components/virtualization/GridVirtualScrollbar.js +2 -1
  190. package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
  191. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  192. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  193. package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  194. package/node/hooks/features/columnResize/useGridColumnResize.js +9 -4
  195. package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
  196. package/node/hooks/features/rows/useGridRowSpanning.js +13 -5
  197. package/node/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
  198. package/node/index.js +1 -1
  199. package/node/internals/utils/useProps.js +3 -0
  200. package/node/locales/koKR.js +36 -39
  201. package/node/locales/nlNL.js +5 -6
  202. package/package.json +1 -1
@@ -319,6 +319,7 @@ export function getTotalHeaderHeight(apiRef, props) {
319
319
  const maxDepth = gridColumnGroupsHeaderMaxDepthSelector(apiRef);
320
320
  const isHeaderFilteringEnabled = gridHeaderFilteringEnabledSelector(apiRef);
321
321
  const columnHeadersHeight = Math.floor(props.columnHeaderHeight * densityFactor);
322
+ const columnGroupHeadersHeight = Math.floor((props.columnGroupHeaderHeight ?? props.columnHeaderHeight) * densityFactor);
322
323
  const filterHeadersHeight = isHeaderFilteringEnabled ? Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor) : 0;
323
- return columnHeadersHeight * (1 + (maxDepth ?? 0)) + filterHeadersHeight;
324
+ return columnHeadersHeight + columnGroupHeadersHeight * maxDepth + filterHeadersHeight;
324
325
  }
@@ -6,6 +6,7 @@ import { gridVisibleColumnDefinitionsSelector } from "../columns/gridColumnsSele
6
6
  import { useGridVisibleRows } from "../../utils/useGridVisibleRows.js";
7
7
  import { gridRenderContextSelector } from "../virtualization/gridVirtualizationSelectors.js";
8
8
  import { useGridSelector } from "../../utils/useGridSelector.js";
9
+ import { gridRowTreeSelector } from "./gridRowsSelector.js";
9
10
  import { getUnprocessedRange, isRowRangeUpdated, isRowContextInitialized, getCellValue } from "./gridRowSpanningUtils.js";
10
11
  import { GRID_CHECKBOX_SELECTION_FIELD } from "../../../colDef/gridCheckboxSelectionColDef.js";
11
12
  const EMPTY_STATE = {
@@ -35,7 +36,7 @@ const computeRowSpanningState = (apiRef, colDefs, visibleRows, range, rangeToPro
35
36
  if (skippedFields.has(colDef.field)) {
36
37
  return;
37
38
  }
38
- for (let index = rangeToProcess.firstRowIndex; index <= rangeToProcess.lastRowIndex; index += 1) {
39
+ for (let index = rangeToProcess.firstRowIndex; index < rangeToProcess.lastRowIndex; index += 1) {
39
40
  const row = visibleRows[index];
40
41
  if (hiddenCells[row.id]?.[colDef.field]) {
41
42
  continue;
@@ -142,7 +143,7 @@ export const rowSpanningStateInitializer = (state, props, apiRef) => {
142
143
  }
143
144
  const rangeToProcess = {
144
145
  firstRowIndex: 0,
145
- lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS - 1, Math.max(rowIds.length - 1, 0))
146
+ lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS, Math.max(rowIds.length, 0))
146
147
  };
147
148
  const rows = rowIds.map(id => ({
148
149
  id,
@@ -173,10 +174,11 @@ export const useGridRowSpanning = (apiRef, props) => {
173
174
  } = useGridVisibleRows(apiRef, props);
174
175
  const renderContext = useGridSelector(apiRef, gridRenderContextSelector);
175
176
  const colDefs = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
177
+ const tree = useGridSelector(apiRef, gridRowTreeSelector);
176
178
  const processedRange = useLazyRef(() => {
177
179
  return Object.keys(apiRef.current.state.rowSpanning.spannedCells).length > 0 ? {
178
180
  firstRowIndex: 0,
179
- lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS - 1, Math.max(apiRef.current.state.rows.dataRowIds.length - 1, 0))
181
+ lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS, Math.max(apiRef.current.state.rows.dataRowIds.length, 0))
180
182
  } : EMPTY_RANGE;
181
183
  });
182
184
  const lastRange = React.useRef(EMPTY_RANGE);
@@ -204,7 +206,7 @@ export const useGridRowSpanning = (apiRef, props) => {
204
206
  }
205
207
  const rangeToProcess = getUnprocessedRange({
206
208
  firstRowIndex: renderContext.firstRowIndex,
207
- lastRowIndex: Math.min(renderContext.lastRowIndex - 1, range.lastRowIndex)
209
+ lastRowIndex: Math.min(renderContext.lastRowIndex, range.lastRowIndex + 1)
208
210
  }, processedRange.current);
209
211
  if (rangeToProcess === null) {
210
212
  return;
@@ -237,11 +239,17 @@ export const useGridRowSpanning = (apiRef, props) => {
237
239
  const prevRenderContext = React.useRef(renderContext);
238
240
  const isFirstRender = React.useRef(true);
239
241
  const shouldResetState = React.useRef(false);
242
+ const previousTree = React.useRef(tree);
240
243
  React.useEffect(() => {
241
244
  const firstRender = isFirstRender.current;
242
245
  if (isFirstRender.current) {
243
246
  isFirstRender.current = false;
244
247
  }
248
+ if (tree !== previousTree.current) {
249
+ previousTree.current = tree;
250
+ updateRowSpanningState(true);
251
+ return;
252
+ }
245
253
  if (range && lastRange.current && isRowRangeUpdated(range, lastRange.current)) {
246
254
  lastRange.current = range;
247
255
  shouldResetState.current = true;
@@ -255,5 +263,5 @@ export const useGridRowSpanning = (apiRef, props) => {
255
263
  return;
256
264
  }
257
265
  updateRowSpanningState();
258
- }, [updateRowSpanningState, renderContext, range, lastRange]);
266
+ }, [updateRowSpanningState, renderContext, range, lastRange, tree]);
259
267
  };
@@ -92,10 +92,7 @@ export const useGridVirtualScroller = () => {
92
92
  return undefined;
93
93
  }
94
94
  const initialRect = node.getBoundingClientRect();
95
- let lastSize = {
96
- width: initialRect.width,
97
- height: initialRect.height
98
- };
95
+ let lastSize = roundDimensions(initialRect);
99
96
  apiRef.current.publishEvent('resize', lastSize);
100
97
  if (typeof ResizeObserver === 'undefined') {
101
98
  return undefined;
@@ -105,10 +102,7 @@ export const useGridVirtualScroller = () => {
105
102
  if (!entry) {
106
103
  return;
107
104
  }
108
- const newSize = {
109
- width: entry.contentRect.width,
110
- height: entry.contentRect.height
111
- };
105
+ const newSize = roundDimensions(entry.contentRect);
112
106
  if (newSize.width === lastSize.width && newSize.height === lastSize.height) {
113
107
  return;
114
108
  }
@@ -784,4 +778,13 @@ function bufferForDirection(isRtl, direction, rowBufferPx, columnBufferPx, verti
784
778
  // eslint unable to figure out enum exhaustiveness
785
779
  throw new Error('unreachable');
786
780
  }
781
+ }
782
+
783
+ // Round to avoid issues with subpixel rendering
784
+ // https://github.com/mui/mui-x/issues/15721
785
+ function roundDimensions(dimensions) {
786
+ return {
787
+ width: Math.round(dimensions.width * 10) / 10,
788
+ height: Math.round(dimensions.height * 10) / 10
789
+ };
787
790
  }
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.23.2
2
+ * @mui/x-data-grid v7.23.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -2,6 +2,9 @@ import * as React from 'react';
2
2
 
3
3
  /** Gathers props for the root element into a single `.forwardedProps` field */
4
4
  function groupForwardedProps(props) {
5
+ if (props.slotProps?.root) {
6
+ return props;
7
+ }
5
8
  const keys = Object.keys(props);
6
9
  if (!keys.some(key => key.startsWith('aria-') || key.startsWith('data-'))) {
7
10
  return props;
@@ -30,15 +30,14 @@ const koKRGrid = {
30
30
  toolbarExportPrint: '프린트',
31
31
  toolbarExportExcel: 'Excel로 내보내기',
32
32
  // Columns management text
33
- // columnsManagementSearchTitle: 'Search',
34
- // columnsManagementNoColumns: 'No columns',
35
- // columnsManagementShowHideAllText: 'Show/Hide All',
36
- // columnsManagementReset: 'Reset',
37
- // columnsManagementDeleteIconLabel: 'Clear',
38
-
33
+ columnsManagementSearchTitle: '검색',
34
+ columnsManagementNoColumns: '열이 없습니다.',
35
+ columnsManagementShowHideAllText: '모두 보기/숨기기',
36
+ columnsManagementReset: '초기화',
37
+ columnsManagementDeleteIconLabel: '제거',
39
38
  // Filter panel text
40
39
  filterPanelAddFilter: '필터 추가',
41
- // filterPanelRemoveAll: 'Remove all',
40
+ filterPanelRemoveAll: '모두 삭제',
42
41
  filterPanelDeleteIconLabel: '삭제',
43
42
  filterPanelLogicOperator: '논리 연산자',
44
43
  filterPanelOperator: '연산자',
@@ -49,9 +48,9 @@ const koKRGrid = {
49
48
  filterPanelInputPlaceholder: '값 입력',
50
49
  // Filter operators text
51
50
  filterOperatorContains: '포함하는',
52
- // filterOperatorDoesNotContain: 'does not contain',
51
+ filterOperatorDoesNotContain: '포함하지 않는',
53
52
  filterOperatorEquals: '값이 같은',
54
- // filterOperatorDoesNotEqual: 'does not equal',
53
+ filterOperatorDoesNotEqual: '값이 다른',
55
54
  filterOperatorStartsWith: '시작하는',
56
55
  filterOperatorEndsWith: '끝나는',
57
56
  filterOperatorIs: '~인',
@@ -63,36 +62,34 @@ const koKRGrid = {
63
62
  filterOperatorIsEmpty: '값이 없는',
64
63
  filterOperatorIsNotEmpty: '값이 있는',
65
64
  filterOperatorIsAnyOf: '값 중 하나인',
66
- // 'filterOperator=': '=',
67
- // 'filterOperator!=': '!=',
68
- // 'filterOperator>': '>',
69
- // 'filterOperator>=': '>=',
70
- // 'filterOperator<': '<',
71
- // 'filterOperator<=': '<=',
72
-
65
+ 'filterOperator=': '=',
66
+ 'filterOperator!=': '!=',
67
+ 'filterOperator>': '>',
68
+ 'filterOperator>=': '>=',
69
+ 'filterOperator<': '<',
70
+ 'filterOperator<=': '<=',
73
71
  // Header filter operators text
74
- // headerFilterOperatorContains: 'Contains',
75
- // headerFilterOperatorDoesNotContain: 'Does not contain',
76
- // headerFilterOperatorEquals: 'Equals',
77
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
78
- // headerFilterOperatorStartsWith: 'Starts with',
79
- // headerFilterOperatorEndsWith: 'Ends with',
80
- // headerFilterOperatorIs: 'Is',
81
- // headerFilterOperatorNot: 'Is not',
82
- // headerFilterOperatorAfter: 'Is after',
83
- // headerFilterOperatorOnOrAfter: 'Is on or after',
84
- // headerFilterOperatorBefore: 'Is before',
85
- // headerFilterOperatorOnOrBefore: 'Is on or before',
86
- // headerFilterOperatorIsEmpty: 'Is empty',
87
- // headerFilterOperatorIsNotEmpty: 'Is not empty',
88
- // headerFilterOperatorIsAnyOf: 'Is any of',
89
- // 'headerFilterOperator=': 'Equals',
90
- // 'headerFilterOperator!=': 'Not equals',
91
- // 'headerFilterOperator>': 'Greater than',
92
- // 'headerFilterOperator>=': 'Greater than or equal to',
93
- // 'headerFilterOperator<': 'Less than',
94
- // 'headerFilterOperator<=': 'Less than or equal to',
95
-
72
+ headerFilterOperatorContains: '포함하는',
73
+ headerFilterOperatorDoesNotContain: '포함하지 않는',
74
+ headerFilterOperatorEquals: '값이 같은',
75
+ headerFilterOperatorDoesNotEqual: '값이 다른',
76
+ headerFilterOperatorStartsWith: '시작하는',
77
+ headerFilterOperatorEndsWith: '끝나는',
78
+ headerFilterOperatorIs: '~인',
79
+ headerFilterOperatorNot: '~아닌',
80
+ headerFilterOperatorAfter: ' 이후',
81
+ headerFilterOperatorOnOrAfter: '이후',
82
+ headerFilterOperatorBefore: ' 이전',
83
+ headerFilterOperatorOnOrBefore: '이전',
84
+ headerFilterOperatorIsEmpty: '값이 없는',
85
+ headerFilterOperatorIsNotEmpty: '값이 있는',
86
+ headerFilterOperatorIsAnyOf: ' 하나인',
87
+ 'headerFilterOperator=': '값이 같은',
88
+ 'headerFilterOperator!=': '값이 다른',
89
+ 'headerFilterOperator>': ' ',
90
+ 'headerFilterOperator>=': '같거나 ',
91
+ 'headerFilterOperator<': ' 작은',
92
+ 'headerFilterOperator<=': '같거나 작은',
96
93
  // Filter values text
97
94
  filterValueAny: '아무값',
98
95
  filterValueTrue: '참',
@@ -100,7 +97,7 @@ const koKRGrid = {
100
97
  // Column menu text
101
98
  columnMenuLabel: '메뉴',
102
99
  columnMenuShowColumns: '열 표시',
103
- // columnMenuManageColumns: 'Manage columns',
100
+ columnMenuManageColumns: ' 관리',
104
101
  columnMenuFilter: '필터',
105
102
  columnMenuHideColumn: '열 숨기기',
106
103
  columnMenuUnsort: '정렬 해제',
@@ -34,8 +34,7 @@ const nlNLGrid = {
34
34
  columnsManagementNoColumns: 'Geen kolommen',
35
35
  columnsManagementShowHideAllText: 'Toon/Verberg Alle',
36
36
  columnsManagementReset: 'Reset',
37
- // columnsManagementDeleteIconLabel: 'Clear',
38
-
37
+ columnsManagementDeleteIconLabel: 'Verwijderen',
39
38
  // Filter panel text
40
39
  filterPanelAddFilter: 'Filter toevoegen',
41
40
  filterPanelRemoveAll: 'Alles verwijderen',
@@ -49,9 +48,9 @@ const nlNLGrid = {
49
48
  filterPanelInputPlaceholder: 'Filter waarde',
50
49
  // Filter operators text
51
50
  filterOperatorContains: 'bevat',
52
- // filterOperatorDoesNotContain: 'does not contain',
51
+ filterOperatorDoesNotContain: 'bevat niet',
53
52
  filterOperatorEquals: 'gelijk aan',
54
- // filterOperatorDoesNotEqual: 'does not equal',
53
+ filterOperatorDoesNotEqual: 'niet gelijk aan',
55
54
  filterOperatorStartsWith: 'begint met',
56
55
  filterOperatorEndsWith: 'eindigt met',
57
56
  filterOperatorIs: 'is',
@@ -71,9 +70,9 @@ const nlNLGrid = {
71
70
  'filterOperator<=': '<=',
72
71
  // Header filter operators text
73
72
  headerFilterOperatorContains: 'Bevat',
74
- // headerFilterOperatorDoesNotContain: 'Does not contain',
73
+ headerFilterOperatorDoesNotContain: 'Bevat niet',
75
74
  headerFilterOperatorEquals: 'Gelijk aan',
76
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
75
+ headerFilterOperatorDoesNotEqual: 'Niet gelijk aan',
77
76
  headerFilterOperatorStartsWith: 'Begint met',
78
77
  headerFilterOperatorEndsWith: 'Eindigt met',
79
78
  headerFilterOperatorIs: 'Is',
@@ -10,6 +10,7 @@ exports.DataGrid = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
13
14
  var _components = require("../components");
14
15
  var _useGridAriaAttributes = require("../hooks/utils/useGridAriaAttributes");
15
16
  var _useGridRowAriaAttributes = require("../hooks/features/rows/useGridRowAriaAttributes");
@@ -30,7 +31,7 @@ if (process.env.NODE_ENV !== 'production') {
30
31
  // Only validate in MIT version
31
32
  props => props.columns && props.columns.some(column => column.resizable) && [`MUI X: \`column.resizable = true\` is not a valid prop.`, 'Column resizing is not available in the MIT version.', '', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n') || undefined];
32
33
  }
33
- const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref) {
34
+ const DataGridRaw = (0, _forwardRef.forwardRef)(function DataGrid(inProps, ref) {
34
35
  const props = (0, _useDataGridProps.useDataGridProps)(inProps);
35
36
  const privateApiRef = (0, _useDataGridComponent.useDataGridComponent)(props.apiRef, props);
36
37
  if (process.env.NODE_ENV !== 'production') {
@@ -43,9 +44,9 @@ const DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref
43
44
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.GridRoot, (0, _extends2.default)({
44
45
  className: props.className,
45
46
  style: props.style,
46
- sx: props.sx,
47
- ref: ref
48
- }, props.forwardedProps, {
47
+ sx: props.sx
48
+ }, props.forwardedProps, props.slotProps?.root, {
49
+ ref: ref,
49
50
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridBody, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridFooterPlaceholder, {})]
50
51
  }))
51
52
  });
@@ -102,6 +103,7 @@ DataGridRaw.propTypes = {
102
103
  */
103
104
  autosizeOptions: _propTypes.default.shape({
104
105
  columns: _propTypes.default.arrayOf(_propTypes.default.string),
106
+ disableColumnVirtualization: _propTypes.default.bool,
105
107
  expand: _propTypes.default.bool,
106
108
  includeHeaders: _propTypes.default.bool,
107
109
  includeOutliers: _propTypes.default.bool,
@@ -338,6 +340,7 @@ DataGridRaw.propTypes = {
338
340
  * If `deselect`, it will deselect all the rows under it.
339
341
  * Works only if `checkboxSelection` is enabled.
340
342
  * @default "deselect"
343
+ * @deprecated `select` will be the default behavior from v8 onwards
341
344
  */
342
345
  indeterminateCheckboxAction: _propTypes.default.oneOf(['deselect', 'select']),
343
346
  /**
@@ -11,11 +11,12 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _fastMemo = require("@mui/x-internals/fastMemo");
14
+ var _forwardRef = require("@mui/x-internals/forwardRef");
14
15
  var _useGridColumnHeaders = require("../hooks/features/columnHeaders/useGridColumnHeaders");
15
16
  var _GridBaseColumnHeaders = require("./columnHeaders/GridBaseColumnHeaders");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  const _excluded = ["className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
18
- const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
19
+ const GridColumnHeaders = (0, _forwardRef.forwardRef)(function GridColumnHeaders(props, ref) {
19
20
  const {
20
21
  visibleColumns,
21
22
  sortColumnLookup,
@@ -49,9 +50,8 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeade
49
50
  columnGroupsHeaderStructure,
50
51
  hasOtherElementInTabSequence
51
52
  });
52
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridBaseColumnHeaders.GridBaseColumnHeaders, (0, _extends2.default)({
53
- ref: ref
54
- }, other, getInnerProps(), {
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridBaseColumnHeaders.GridBaseColumnHeaders, (0, _extends2.default)({}, other, getInnerProps(), {
54
+ ref: ref,
55
55
  children: [getColumnGroupHeadersRows(), getColumnHeadersRow()]
56
56
  }));
57
57
  });
@@ -9,6 +9,7 @@ exports.GridFooter = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _forwardRef = require("@mui/x-internals/forwardRef");
12
13
  var _useGridSelector = require("../hooks/utils/useGridSelector");
13
14
  var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
14
15
  var _gridRowSelectionSelector = require("../hooks/features/rowSelection/gridRowSelectionSelector");
@@ -18,7 +19,7 @@ var _GridSelectedRowCount = require("./GridSelectedRowCount");
18
19
  var _GridFooterContainer = require("./containers/GridFooterContainer");
19
20
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
- const GridFooter = exports.GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref) {
22
+ const GridFooter = exports.GridFooter = (0, _forwardRef.forwardRef)(function GridFooter(props, ref) {
22
23
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
23
24
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
24
25
  const totalTopLevelRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridTopLevelRowCountSelector);
@@ -32,9 +33,8 @@ const GridFooter = exports.GridFooter = /*#__PURE__*/React.forwardRef(function G
32
33
  visibleRowCount: visibleTopLevelRowCount
33
34
  })) : null;
34
35
  const paginationElement = rootProps.pagination && !rootProps.hideFooterPagination && rootProps.slots.pagination && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pagination, (0, _extends2.default)({}, rootProps.slotProps?.pagination));
35
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridFooterContainer.GridFooterContainer, (0, _extends2.default)({
36
- ref: ref
37
- }, props, {
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridFooterContainer.GridFooterContainer, (0, _extends2.default)({}, props, {
37
+ ref: ref,
38
38
  children: [selectedRowCountElement, rowCountElement, paginationElement]
39
39
  }));
40
40
  });
@@ -12,6 +12,7 @@ var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _LinearProgress = _interopRequireDefault(require("@mui/material/LinearProgress"));
14
14
  var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
15
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
16
  var _GridOverlay = require("./containers/GridOverlay");
16
17
  var _GridSkeletonLoadingOverlay = require("./GridSkeletonLoadingOverlay");
17
18
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
@@ -36,7 +37,7 @@ const LOADING_VARIANTS = {
36
37
  }
37
38
  }
38
39
  };
39
- const GridLoadingOverlay = exports.GridLoadingOverlay = /*#__PURE__*/React.forwardRef(function GridLoadingOverlay(props, ref) {
40
+ const GridLoadingOverlay = exports.GridLoadingOverlay = (0, _forwardRef.forwardRef)(function GridLoadingOverlay(props, ref) {
40
41
  const {
41
42
  variant = 'circular-progress',
42
43
  noRowsVariant = 'circular-progress',
@@ -47,9 +48,9 @@ const GridLoadingOverlay = exports.GridLoadingOverlay = /*#__PURE__*/React.forwa
47
48
  const rowsCount = (0, _hooks.useGridSelector)(apiRef, _hooks.gridRowCountSelector);
48
49
  const activeVariant = LOADING_VARIANTS[rowsCount === 0 ? noRowsVariant : variant];
49
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlay.GridOverlay, (0, _extends2.default)({
50
- ref: ref,
51
51
  style: (0, _extends2.default)({}, activeVariant.style, style)
52
52
  }, other, {
53
+ ref: ref,
53
54
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(activeVariant.component, {})
54
55
  }));
55
56
  });
@@ -8,15 +8,15 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.GridNoResultsOverlay = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
+ var _forwardRef = require("@mui/x-internals/forwardRef");
11
12
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
12
13
  var _GridOverlay = require("./containers/GridOverlay");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
- const GridNoResultsOverlay = exports.GridNoResultsOverlay = /*#__PURE__*/React.forwardRef(function GridNoResultsOverlay(props, ref) {
15
+ const GridNoResultsOverlay = exports.GridNoResultsOverlay = (0, _forwardRef.forwardRef)(function GridNoResultsOverlay(props, ref) {
15
16
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
16
17
  const noResultsOverlayLabel = apiRef.current.getLocaleText('noResultsOverlayLabel');
17
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlay.GridOverlay, (0, _extends2.default)({
18
- ref: ref
19
- }, props, {
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlay.GridOverlay, (0, _extends2.default)({}, props, {
19
+ ref: ref,
20
20
  children: noResultsOverlayLabel
21
21
  }));
22
22
  });
@@ -9,15 +9,15 @@ exports.GridNoRowsOverlay = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _forwardRef = require("@mui/x-internals/forwardRef");
12
13
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
13
14
  var _GridOverlay = require("./containers/GridOverlay");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
- const GridNoRowsOverlay = exports.GridNoRowsOverlay = /*#__PURE__*/React.forwardRef(function GridNoRowsOverlay(props, ref) {
16
+ const GridNoRowsOverlay = exports.GridNoRowsOverlay = (0, _forwardRef.forwardRef)(function GridNoRowsOverlay(props, ref) {
16
17
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
17
18
  const noRowsLabel = apiRef.current.getLocaleText('noRowsLabel');
18
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlay.GridOverlay, (0, _extends2.default)({
19
- ref: ref
20
- }, props, {
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlay.GridOverlay, (0, _extends2.default)({}, props, {
20
+ ref: ref,
21
21
  children: noRowsLabel
22
22
  }));
23
23
  });
@@ -11,6 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _styles = require("@mui/material/styles");
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _TablePagination = _interopRequireWildcard(require("@mui/material/TablePagination"));
14
+ var _forwardRef = require("@mui/x-internals/forwardRef");
14
15
  var _useGridSelector = require("../hooks/utils/useGridSelector");
15
16
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
17
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
@@ -63,7 +64,7 @@ const defaultLabelDisplayedRows = ({
63
64
 
64
65
  // A mutable version of a readonly array.
65
66
 
66
- const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(props, ref) {
67
+ const GridPagination = exports.GridPagination = (0, _forwardRef.forwardRef)(function GridPagination(props, ref) {
67
68
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
68
69
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
69
70
  const paginationModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationModelSelector);
@@ -127,7 +128,6 @@ const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(fu
127
128
  const locales = apiRef.current.getLocaleText('MuiTablePagination');
128
129
  const wrappedLabelDisplayedRows = wrapLabelDisplayedRows(locales.labelDisplayedRows || defaultLabelDisplayedRows, estimatedRowCount);
129
130
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPaginationRoot, (0, _extends2.default)({
130
- ref: ref,
131
131
  component: "div",
132
132
  count: rowCount,
133
133
  page: computedPage
@@ -141,7 +141,9 @@ const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(fu
141
141
  onRowsPerPageChange: handlePageSizeChange
142
142
  }, computedProps, locales, {
143
143
  labelDisplayedRows: wrappedLabelDisplayedRows
144
- }, props));
144
+ }, props, {
145
+ ref: ref
146
+ }));
145
147
  });
146
148
  process.env.NODE_ENV !== "production" ? GridPagination.propTypes = {
147
149
  // ----------------------------- Warning --------------------------------
@@ -13,6 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _utils = require("@mui/utils");
15
15
  var _fastMemo = require("@mui/x-internals/fastMemo");
16
+ var _forwardRef = require("@mui/x-internals/forwardRef");
16
17
  var _gridEditRowModel = require("../models/gridEditRowModel");
17
18
  var _gridClasses = require("../constants/gridClasses");
18
19
  var _composeGridClasses = require("../utils/composeGridClasses");
@@ -32,6 +33,7 @@ var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
32
33
  var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
33
34
  var _useGridConfiguration = require("../hooks/utils/useGridConfiguration");
34
35
  var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
36
+ var _hooks = require("../hooks");
35
37
  var _jsxRuntime = require("react/jsx-runtime");
36
38
  const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
37
39
  function EmptyCell({
@@ -55,7 +57,7 @@ process.env.NODE_ENV !== "production" ? EmptyCell.propTypes = {
55
57
  // ----------------------------------------------------------------------
56
58
  width: _propTypes.default.number.isRequired
57
59
  } : void 0;
58
- const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
60
+ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
59
61
  const {
60
62
  selected,
61
63
  rowId,
@@ -97,6 +99,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
97
99
  const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
98
100
  const editing = apiRef.current.getRowMode(rowId) === _gridEditRowModel.GridRowModes.Edit;
99
101
  const editable = rootProps.editMode === _gridEditRowModel.GridEditModes.Row;
102
+ const hasColumnVirtualization = (0, _useGridSelector.useGridSelector)(apiRef, _hooks.gridVirtualizationColumnEnabledSelector);
100
103
  const hasFocusCell = focusedColumnIndex !== undefined;
101
104
  const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < renderContext.firstColumnIndex;
102
105
  const hasVirtualFocusCellRight = hasFocusCell && focusedColumnIndex < visibleColumns.length - pinnedColumns.right.length && focusedColumnIndex >= renderContext.lastColumnIndex;
@@ -278,7 +281,16 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
278
281
  if (hasVirtualFocusCellLeft) {
279
282
  cells.push(getCell(visibleColumns[focusedColumnIndex], focusedColumnIndex - pinnedColumns.left.length, focusedColumnIndex, middleColumnsLength, _GridCell.PinnedPosition.VIRTUAL));
280
283
  }
281
- for (let i = renderContext.firstColumnIndex; i < renderContext.lastColumnIndex; i += 1) {
284
+ let firstColumnIndex;
285
+ let lastColumnIndex;
286
+ if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
287
+ firstColumnIndex = 0;
288
+ lastColumnIndex = visibleColumns.length;
289
+ } else {
290
+ firstColumnIndex = renderContext.firstColumnIndex;
291
+ lastColumnIndex = renderContext.lastColumnIndex;
292
+ }
293
+ for (let i = firstColumnIndex; i < lastColumnIndex; i += 1) {
282
294
  const column = visibleColumns[i];
283
295
  const indexInSection = i - pinnedColumns.left.length;
284
296
  if (!column) {
@@ -300,13 +312,13 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
300
312
  const expandedWidth = dimensions.viewportOuterSize.width - dimensions.columnsTotalWidth - scrollbarWidth;
301
313
  const emptyCellWidth = Math.max(0, expandedWidth);
302
314
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
303
- ref: handleRef,
304
315
  "data-id": rowId,
305
316
  "data-rowindex": index,
306
317
  role: "row",
307
318
  className: (0, _clsx.default)(...rowClassNames, classes.root, className),
308
319
  style: style
309
320
  }, ariaAttributes, eventHandlers, other, {
321
+ ref: handleRef,
310
322
  children: [leftCells, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
311
323
  role: "presentation",
312
324
  className: _gridClasses.gridClasses.cellOffsetLeft,
@@ -13,6 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _system = require("@mui/system");
16
+ var _forwardRef = require("@mui/x-internals/forwardRef");
16
17
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
17
18
  var _gridClasses = require("../constants/gridClasses");
18
19
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
@@ -38,7 +39,7 @@ const GridRowCountRoot = (0, _system.styled)('div', {
38
39
  display: 'flex',
39
40
  margin: theme.spacing(0, 2)
40
41
  }));
41
- const GridRowCount = exports.GridRowCount = /*#__PURE__*/React.forwardRef(function GridRowCount(props, ref) {
42
+ const GridRowCount = exports.GridRowCount = (0, _forwardRef.forwardRef)(function GridRowCount(props, ref) {
42
43
  const {
43
44
  className,
44
45
  rowCount,
@@ -53,10 +54,10 @@ const GridRowCount = exports.GridRowCount = /*#__PURE__*/React.forwardRef(functi
53
54
  }
54
55
  const text = visibleRowCount < rowCount ? apiRef.current.getLocaleText('footerTotalVisibleRows')(visibleRowCount, rowCount) : rowCount.toLocaleString();
55
56
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridRowCountRoot, (0, _extends2.default)({
56
- ref: ref,
57
57
  className: (0, _clsx.default)(classes.root, className),
58
58
  ownerState: ownerState
59
59
  }, other, {
60
+ ref: ref,
60
61
  children: [apiRef.current.getLocaleText('footerTotalRows'), " ", text]
61
62
  }));
62
63
  });
@@ -13,6 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _system = require("@mui/system");
16
+ var _forwardRef = require("@mui/x-internals/forwardRef");
16
17
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
17
18
  var _gridClasses = require("../constants/gridClasses");
18
19
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
@@ -46,7 +47,7 @@ const GridSelectedRowCountRoot = (0, _system.styled)('div', {
46
47
  height: 'auto'
47
48
  }
48
49
  }));
49
- const GridSelectedRowCount = exports.GridSelectedRowCount = /*#__PURE__*/React.forwardRef(function GridSelectedRowCount(props, ref) {
50
+ const GridSelectedRowCount = exports.GridSelectedRowCount = (0, _forwardRef.forwardRef)(function GridSelectedRowCount(props, ref) {
50
51
  const {
51
52
  className,
52
53
  selectedRowCount
@@ -57,10 +58,10 @@ const GridSelectedRowCount = exports.GridSelectedRowCount = /*#__PURE__*/React.f
57
58
  const classes = useUtilityClasses(ownerState);
58
59
  const rowSelectedText = apiRef.current.getLocaleText('footerRowSelected')(selectedRowCount);
59
60
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridSelectedRowCountRoot, (0, _extends2.default)({
60
- ref: ref,
61
61
  className: (0, _clsx.default)(classes.root, className),
62
62
  ownerState: ownerState
63
63
  }, other, {
64
+ ref: ref,
64
65
  children: rowSelectedText
65
66
  }));
66
67
  });