@mui/x-data-grid 5.6.0 → 5.6.1

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 (230) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/DataGrid/DataGrid.js +18 -3
  3. package/DataGrid/useDataGridComponent.js +19 -15
  4. package/DataGrid/useDataGridProps.js +3 -2
  5. package/colDef/gridNumericOperators.d.ts +1 -1
  6. package/colDef/gridNumericOperators.js +1 -1
  7. package/components/ErrorBoundary.d.ts +2 -2
  8. package/components/GridRow.js +29 -3
  9. package/components/base/GridErrorHandler.d.ts +8 -2
  10. package/components/base/GridErrorHandler.js +13 -2
  11. package/components/cell/GridBooleanCell.d.ts +2 -1
  12. package/components/cell/GridCell.js +4 -2
  13. package/components/cell/GridEditBooleanCell.d.ts +2 -1
  14. package/components/cell/GridEditDateCell.d.ts +2 -1
  15. package/components/cell/GridEditInputCell.d.ts +2 -1
  16. package/components/cell/GridEditSingleSelectCell.d.ts +2 -1
  17. package/components/cell/GridEditSingleSelectCell.js +2 -1
  18. package/components/columnHeaders/GridColumnHeaderItem.js +5 -3
  19. package/components/containers/GridRootStyles.js +1 -1
  20. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -1
  21. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
  22. package/components/panel/filterPanel/filterPanelUtils.d.ts +2 -2
  23. package/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  24. package/constants/gridClasses.d.ts +5 -1
  25. package/constants/gridClasses.js +1 -1
  26. package/context/GridContextProvider.d.ts +9 -6
  27. package/hooks/features/columnMenu/useGridColumnMenu.d.ts +2 -0
  28. package/hooks/features/columnMenu/useGridColumnMenu.js +6 -7
  29. package/hooks/features/columns/gridColumnsSelector.d.ts +8 -8
  30. package/hooks/features/columns/gridColumnsSelector.js +11 -10
  31. package/hooks/features/columns/gridColumnsUtils.js +7 -5
  32. package/hooks/features/density/useGridDensity.d.ts +2 -0
  33. package/hooks/features/density/useGridDensity.js +3 -4
  34. package/hooks/features/dimensions/useGridDimensions.js +2 -2
  35. package/hooks/features/editRows/useGridEditing.d.ts +2 -0
  36. package/hooks/features/editRows/useGridEditing.js +3 -4
  37. package/hooks/features/export/serializers/csvSerializer.js +4 -4
  38. package/hooks/features/filter/gridFilterSelector.d.ts +1 -0
  39. package/hooks/features/filter/gridFilterSelector.js +1 -0
  40. package/hooks/features/focus/useGridFocus.d.ts +2 -0
  41. package/hooks/features/focus/useGridFocus.js +10 -11
  42. package/hooks/features/keyboard/useGridKeyboardNavigation.js +2 -2
  43. package/hooks/features/pagination/useGridPage.d.ts +1 -2
  44. package/hooks/features/pagination/useGridPage.js +5 -17
  45. package/hooks/features/pagination/useGridPageSize.d.ts +1 -2
  46. package/hooks/features/pagination/useGridPageSize.js +5 -26
  47. package/hooks/features/pagination/useGridPagination.d.ts +2 -0
  48. package/hooks/features/pagination/useGridPagination.js +25 -2
  49. package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +3 -1
  50. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +10 -11
  51. package/hooks/features/rows/useGridParamsApi.js +3 -10
  52. package/hooks/features/rows/useGridRows.js +14 -6
  53. package/hooks/features/rows/useGridRowsMeta.d.ts +3 -1
  54. package/hooks/features/rows/useGridRowsMeta.js +42 -24
  55. package/hooks/features/selection/gridSelectionSelector.d.ts +1 -1
  56. package/hooks/features/selection/useGridSelection.d.ts +2 -0
  57. package/hooks/features/selection/useGridSelection.js +28 -16
  58. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +8 -3
  59. package/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
  60. package/hooks/utils/useGridApi.js +10 -1
  61. package/hooks/utils/useGridInitializeState.d.ts +2 -1
  62. package/hooks/utils/useGridSelector.js +4 -4
  63. package/hooks/utils/useGridState.js +10 -1
  64. package/hooks/utils/{useCurrentPageRows.d.ts → useGridVisibleRows.d.ts} +7 -6
  65. package/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
  66. package/index.js +1 -1
  67. package/internals/index.d.ts +9 -12
  68. package/internals/index.js +9 -12
  69. package/legacy/DataGrid/DataGrid.js +18 -3
  70. package/legacy/DataGrid/useDataGridComponent.js +19 -15
  71. package/legacy/DataGrid/useDataGridProps.js +8 -2
  72. package/legacy/colDef/gridNumericOperators.js +1 -1
  73. package/legacy/components/GridRow.js +30 -3
  74. package/legacy/components/base/GridErrorHandler.js +13 -2
  75. package/legacy/components/cell/GridCell.js +4 -2
  76. package/legacy/components/cell/GridEditSingleSelectCell.js +10 -9
  77. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +5 -3
  78. package/legacy/components/containers/GridRootStyles.js +1 -1
  79. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +29 -26
  80. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  81. package/legacy/constants/gridClasses.js +1 -1
  82. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +8 -9
  83. package/legacy/hooks/features/columns/gridColumnsSelector.js +13 -12
  84. package/legacy/hooks/features/columns/gridColumnsUtils.js +7 -5
  85. package/legacy/hooks/features/density/useGridDensity.js +5 -6
  86. package/legacy/hooks/features/dimensions/useGridDimensions.js +2 -2
  87. package/legacy/hooks/features/editRows/useGridEditing.js +5 -6
  88. package/legacy/hooks/features/export/serializers/csvSerializer.js +4 -4
  89. package/legacy/hooks/features/filter/gridFilterSelector.js +1 -0
  90. package/legacy/hooks/features/focus/useGridFocus.js +12 -13
  91. package/legacy/hooks/features/keyboard/useGridKeyboardNavigation.js +2 -2
  92. package/legacy/hooks/features/pagination/useGridPage.js +5 -17
  93. package/legacy/hooks/features/pagination/useGridPageSize.js +5 -26
  94. package/legacy/hooks/features/pagination/useGridPagination.js +25 -2
  95. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +10 -11
  96. package/legacy/hooks/features/rows/useGridParamsApi.js +3 -10
  97. package/legacy/hooks/features/rows/useGridRows.js +17 -6
  98. package/legacy/hooks/features/rows/useGridRowsMeta.js +44 -26
  99. package/legacy/hooks/features/selection/useGridSelection.js +29 -19
  100. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
  101. package/legacy/hooks/utils/useGridApi.js +7 -0
  102. package/legacy/hooks/utils/useGridSelector.js +4 -4
  103. package/legacy/hooks/utils/useGridState.js +7 -0
  104. package/legacy/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
  105. package/legacy/index.js +1 -1
  106. package/legacy/internals/index.js +9 -12
  107. package/legacy/models/colDef/gridDefaultColumnTypes.js +4 -4
  108. package/legacy/utils/createSelector.js +4 -4
  109. package/legacy/utils/getGridLocalization.js +2 -2
  110. package/lib/lodash/_baseGetAllKeys.d.ts +1 -1
  111. package/lib/lodash/_baseIsEqual.d.ts +1 -1
  112. package/lib/lodash/_baseIsEqualDeep.d.ts +1 -1
  113. package/lib/lodash/_baseKeys.d.ts +1 -1
  114. package/lib/lodash/_cacheHas.d.ts +1 -1
  115. package/lib/lodash/_equalArrays.d.ts +1 -1
  116. package/lib/lodash/_equalByTag.d.ts +1 -1
  117. package/lib/lodash/_equalObjects.d.ts +1 -1
  118. package/lib/lodash/_getAllKeys.d.ts +1 -1
  119. package/lib/lodash/_getMapData.d.ts +1 -1
  120. package/lib/lodash/_getNative.d.ts +1 -1
  121. package/lib/lodash/_getValue.d.ts +1 -1
  122. package/lib/lodash/_hashSet.d.ts +1 -1
  123. package/lib/lodash/_listCacheSet.d.ts +1 -1
  124. package/lib/lodash/_mapCacheSet.d.ts +1 -1
  125. package/lib/lodash/_mapToArray.d.ts +1 -1
  126. package/lib/lodash/_setCacheAdd.d.ts +1 -1
  127. package/lib/lodash/_setToArray.d.ts +1 -1
  128. package/lib/lodash/_stackSet.d.ts +1 -1
  129. package/lib/lodash/keys.d.ts +1 -1
  130. package/models/api/gridRowApi.d.ts +6 -0
  131. package/models/api/gridRowsMetaApi.d.ts +7 -0
  132. package/models/api/gridSortApi.d.ts +1 -0
  133. package/models/colDef/gridColDef.d.ts +1 -2
  134. package/models/colDef/gridDefaultColumnTypes.js +2 -2
  135. package/models/gridRows.d.ts +8 -2
  136. package/models/params/gridRowParams.d.ts +29 -1
  137. package/models/props/DataGridProps.d.ts +20 -4
  138. package/modern/DataGrid/DataGrid.js +18 -3
  139. package/modern/DataGrid/useDataGridComponent.js +19 -15
  140. package/modern/DataGrid/useDataGridProps.js +3 -2
  141. package/modern/colDef/gridNumericOperators.js +1 -1
  142. package/modern/components/GridRow.js +29 -3
  143. package/modern/components/base/GridErrorHandler.js +13 -2
  144. package/modern/components/cell/GridCell.js +2 -2
  145. package/modern/components/cell/GridEditSingleSelectCell.js +2 -1
  146. package/modern/components/columnHeaders/GridColumnHeaderItem.js +5 -3
  147. package/modern/components/containers/GridRootStyles.js +1 -1
  148. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
  149. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  150. package/modern/constants/gridClasses.js +1 -1
  151. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +6 -7
  152. package/modern/hooks/features/columns/gridColumnsSelector.js +11 -10
  153. package/modern/hooks/features/columns/gridColumnsUtils.js +7 -5
  154. package/modern/hooks/features/density/useGridDensity.js +3 -4
  155. package/modern/hooks/features/dimensions/useGridDimensions.js +2 -2
  156. package/modern/hooks/features/editRows/useGridEditing.js +3 -4
  157. package/modern/hooks/features/export/serializers/csvSerializer.js +4 -4
  158. package/modern/hooks/features/filter/gridFilterSelector.js +1 -0
  159. package/modern/hooks/features/focus/useGridFocus.js +10 -11
  160. package/modern/hooks/features/keyboard/useGridKeyboardNavigation.js +2 -2
  161. package/modern/hooks/features/pagination/useGridPage.js +1 -9
  162. package/modern/hooks/features/pagination/useGridPageSize.js +1 -20
  163. package/modern/hooks/features/pagination/useGridPagination.js +23 -2
  164. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +6 -7
  165. package/modern/hooks/features/rows/useGridParamsApi.js +3 -10
  166. package/modern/hooks/features/rows/useGridRows.js +14 -6
  167. package/modern/hooks/features/rows/useGridRowsMeta.js +36 -24
  168. package/modern/hooks/features/selection/useGridSelection.js +24 -16
  169. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
  170. package/modern/hooks/utils/useGridApi.js +10 -1
  171. package/modern/hooks/utils/useGridSelector.js +4 -4
  172. package/modern/hooks/utils/useGridState.js +10 -1
  173. package/modern/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
  174. package/modern/index.js +1 -1
  175. package/modern/internals/index.js +9 -12
  176. package/modern/models/colDef/gridDefaultColumnTypes.js +2 -2
  177. package/modern/utils/createSelector.js +4 -4
  178. package/modern/utils/getGridLocalization.js +1 -1
  179. package/node/DataGrid/DataGrid.js +18 -3
  180. package/node/DataGrid/useDataGridComponent.js +11 -9
  181. package/node/DataGrid/useDataGridProps.js +3 -2
  182. package/node/colDef/gridNumericOperators.js +1 -1
  183. package/node/components/GridRow.js +28 -3
  184. package/node/components/base/GridErrorHandler.js +11 -1
  185. package/node/components/cell/GridCell.js +4 -2
  186. package/node/components/cell/GridEditSingleSelectCell.js +2 -1
  187. package/node/components/columnHeaders/GridColumnHeaderItem.js +5 -3
  188. package/node/components/containers/GridRootStyles.js +1 -1
  189. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
  190. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  191. package/node/constants/gridClasses.js +1 -1
  192. package/node/hooks/features/columnMenu/useGridColumnMenu.js +10 -8
  193. package/node/hooks/features/columns/gridColumnsSelector.js +11 -9
  194. package/node/hooks/features/columns/gridColumnsUtils.js +7 -5
  195. package/node/hooks/features/density/useGridDensity.js +7 -6
  196. package/node/hooks/features/dimensions/useGridDimensions.js +2 -2
  197. package/node/hooks/features/editRows/useGridEditing.js +8 -5
  198. package/node/hooks/features/export/serializers/csvSerializer.js +5 -4
  199. package/node/hooks/features/filter/gridFilterSelector.js +1 -0
  200. package/node/hooks/features/focus/useGridFocus.js +15 -13
  201. package/node/hooks/features/keyboard/useGridKeyboardNavigation.js +2 -2
  202. package/node/hooks/features/pagination/useGridPage.js +7 -20
  203. package/node/hooks/features/pagination/useGridPageSize.js +6 -26
  204. package/node/hooks/features/pagination/useGridPagination.js +31 -1
  205. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +15 -13
  206. package/node/hooks/features/rows/useGridParamsApi.js +4 -10
  207. package/node/hooks/features/rows/useGridRows.js +15 -6
  208. package/node/hooks/features/rows/useGridRowsMeta.js +47 -26
  209. package/node/hooks/features/selection/useGridSelection.js +32 -18
  210. package/node/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
  211. package/node/hooks/utils/useGridApi.js +11 -1
  212. package/node/hooks/utils/useGridSelector.js +6 -4
  213. package/node/hooks/utils/useGridState.js +11 -1
  214. package/node/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +11 -10
  215. package/node/index.js +1 -1
  216. package/node/internals/index.js +45 -21
  217. package/node/models/colDef/gridDefaultColumnTypes.js +2 -2
  218. package/node/utils/createSelector.js +5 -4
  219. package/node/utils/getGridLocalization.js +2 -2
  220. package/package.json +2 -2
  221. package/utils/createSelector.js +4 -4
  222. package/utils/getGridLocalization.d.ts +2 -1
  223. package/utils/getGridLocalization.js +2 -2
  224. package/utils/keyboardUtils.d.ts +1 -1
  225. package/utils/warning.d.ts +1 -1
  226. package/hooks/utils/useGridStateInit.d.ts +0 -7
  227. package/hooks/utils/useGridStateInit.js +0 -9
  228. package/legacy/hooks/utils/useGridStateInit.js +0 -9
  229. package/modern/hooks/utils/useGridStateInit.js +0 -9
  230. package/node/hooks/utils/useGridStateInit.js +0 -23
@@ -23,6 +23,8 @@ var _gridRowsSelector = require("./gridRowsSelector");
23
23
 
24
24
  var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
25
25
 
26
+ var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
27
+
26
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
29
 
28
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -70,12 +72,10 @@ const getRowsStateFromCache = (rowsCache, previousTree, apiRef, rowCountProp) =>
70
72
  const groupingResponse = apiRef.current.unstable_groupRows((0, _extends2.default)({}, value, {
71
73
  previousTree
72
74
  }));
73
- const dataTopLevelRowCount = Object.values(groupingResponse.tree).filter(node => node.parent == null).length;
74
- const totalRowCount = rowCount > groupingResponse.ids.length ? rowCount : groupingResponse.ids.length;
75
- const totalTopLevelRowCount = rowCount > dataTopLevelRowCount ? rowCount : dataTopLevelRowCount;
75
+ const dataTopLevelRowCount = groupingResponse.treeDepth === 1 ? groupingResponse.ids.length : Object.values(groupingResponse.tree).filter(node => node.parent == null).length;
76
76
  return (0, _extends2.default)({}, groupingResponse, {
77
- totalRowCount,
78
- totalTopLevelRowCount
77
+ totalRowCount: Math.max(rowCount, groupingResponse.ids.length),
78
+ totalTopLevelRowCount: Math.max(rowCount, dataTopLevelRowCount)
79
79
  });
80
80
  };
81
81
 
@@ -117,11 +117,19 @@ const useGridRows = (apiRef, props) => {
117
117
  const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useGridRows');
118
118
  const rowsCache = React.useRef(apiRef.current.state.rowsCache); // To avoid listing rowsCache as useEffect dep
119
119
 
120
+ const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props);
120
121
  const getRow = React.useCallback(id => {
121
122
  var _gridRowsLookupSelect;
122
123
 
123
124
  return (_gridRowsLookupSelect = (0, _gridRowsSelector.gridRowsLookupSelector)(apiRef)[id]) != null ? _gridRowsLookupSelect : null;
124
125
  }, [apiRef]);
126
+ const lookup = React.useMemo(() => currentPage.rows.reduce((acc, {
127
+ id
128
+ }, index) => {
129
+ acc[id] = index;
130
+ return acc;
131
+ }, {}), [currentPage.rows]);
132
+ const getRowIndexRelativeToVisibleRows = React.useCallback(id => lookup[id], [lookup]);
125
133
  const throttledRowsChange = React.useCallback((newState, throttle) => {
126
134
  const run = () => {
127
135
  rowsCache.current.timeout = null;
@@ -305,7 +313,8 @@ const useGridRows = (apiRef, props) => {
305
313
  setRows,
306
314
  updateRows,
307
315
  setRowChildrenExpansion,
308
- getRowNode
316
+ getRowNode,
317
+ getRowIndexRelativeToVisibleRows
309
318
  };
310
319
  (0, _useGridApiMethod.useGridApiMethod)(apiRef, rowApi, 'GridRowApi');
311
320
  };
@@ -5,13 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.useGridRowsMeta = void 0;
8
+ exports.useGridRowsMeta = exports.rowsMetaStateInitializer = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
 
14
- var _useCurrentPageRows = require("../../utils/useCurrentPageRows");
14
+ var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
15
15
 
16
16
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
17
17
 
@@ -25,8 +25,6 @@ var _gridPaginationSelector = require("../pagination/gridPaginationSelector");
25
25
 
26
26
  var _gridSortingSelector = require("../sorting/gridSortingSelector");
27
27
 
28
- var _useGridStateInit = require("../../utils/useGridStateInit");
29
-
30
28
  var _gridEvents = require("../../../models/events/gridEvents");
31
29
 
32
30
  var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
@@ -35,39 +33,37 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
35
33
 
36
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
35
 
36
+ const rowsMetaStateInitializer = state => (0, _extends2.default)({}, state, {
37
+ rowsMeta: {
38
+ currentPageTotalHeight: 0,
39
+ positions: []
40
+ }
41
+ });
38
42
  /**
39
43
  * @requires useGridPageSize (method)
40
44
  * @requires useGridPage (method)
41
45
  */
46
+
47
+
48
+ exports.rowsMetaStateInitializer = rowsMetaStateInitializer;
49
+
42
50
  const useGridRowsMeta = (apiRef, props) => {
43
51
  const {
44
52
  getRowHeight,
45
- pagination,
46
- paginationMode
53
+ getRowSpacing
47
54
  } = props;
48
55
  const rowsHeightLookup = React.useRef({});
49
56
  const rowHeight = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityRowHeightSelector);
50
57
  const filterState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterStateSelector);
51
58
  const paginationState = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationSelector);
52
59
  const sortingState = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortingStateSelector);
53
- (0, _useGridStateInit.useGridStateInit)(apiRef, state => (0, _extends2.default)({}, state, {
54
- rowsMeta: {
55
- currentPageTotalHeight: 0,
56
- positions: []
57
- }
58
- }));
60
+ const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props);
59
61
  const hydrateRowsMeta = React.useCallback(() => {
60
- const {
61
- rows
62
- } = (0, _useCurrentPageRows.getCurrentPageRows)(apiRef, {
63
- pagination,
64
- paginationMode
65
- });
66
62
  apiRef.current.setState(state => {
67
63
  const positions = [];
68
64
  const densityFactor = (0, _densitySelector.gridDensityFactorSelector)(state, apiRef.current.instanceId);
69
65
  const currentRowHeight = (0, _densitySelector.gridDensityRowHeightSelector)(state, apiRef.current.instanceId);
70
- const currentPageTotalHeight = rows.reduce((acc, row) => {
66
+ const currentPageTotalHeight = currentPage.rows.reduce((acc, row) => {
71
67
  positions.push(acc);
72
68
  let baseRowHeight;
73
69
  const isResized = rowsHeightLookup.current[row.id] && rowsHeightLookup.current[row.id].isResized || false;
@@ -86,15 +82,30 @@ const useGridRowsMeta = (apiRef, props) => {
86
82
  densityFactor
87
83
  }))) != null ? _getRowHeight : currentRowHeight;
88
84
  }
89
- }
85
+ } // We use an object to make simple to check if a height is already added or not
86
+
90
87
 
91
- const heights = apiRef.current.unstable_applyPreProcessors('rowHeight', {
88
+ const initialHeights = {
92
89
  base: baseRowHeight
93
- }, // We use an object to make simple to check if a size was already added or not
94
- row);
95
- const finalRowHeight = Object.values(heights).reduce((acc2, value) => acc2 + value, 0);
90
+ };
91
+
92
+ if (getRowSpacing) {
93
+ var _spacing$top, _spacing$bottom;
94
+
95
+ const index = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
96
+ const spacing = getRowSpacing((0, _extends2.default)({}, row, {
97
+ isFirstVisible: index === 0,
98
+ isLastVisible: index === currentPage.rows.length - 1
99
+ }));
100
+ initialHeights.spacingTop = (_spacing$top = spacing.top) != null ? _spacing$top : 0;
101
+ initialHeights.spacingBottom = (_spacing$bottom = spacing.bottom) != null ? _spacing$bottom : 0;
102
+ }
103
+
104
+ const sizes = apiRef.current.unstable_applyPreProcessors('rowHeight', initialHeights, row);
105
+ const finalRowHeight = Object.values(sizes).reduce((acc2, value) => acc2 + value, 0);
96
106
  rowsHeightLookup.current[row.id] = {
97
107
  value: baseRowHeight,
108
+ sizes,
98
109
  isResized
99
110
  };
100
111
  return acc + finalRowHeight;
@@ -107,7 +118,7 @@ const useGridRowsMeta = (apiRef, props) => {
107
118
  });
108
119
  });
109
120
  apiRef.current.forceUpdate();
110
- }, [apiRef, pagination, paginationMode, getRowHeight]);
121
+ }, [apiRef, currentPage.rows, getRowSpacing, getRowHeight]);
111
122
 
112
123
  const getTargetRowHeight = rowId => {
113
124
  var _rowsHeightLookup$cur;
@@ -115,10 +126,19 @@ const useGridRowsMeta = (apiRef, props) => {
115
126
  return ((_rowsHeightLookup$cur = rowsHeightLookup.current[rowId]) == null ? void 0 : _rowsHeightLookup$cur.value) || rowHeight;
116
127
  };
117
128
 
129
+ const getRowInternalSizes = rowId => {
130
+ var _rowsHeightLookup$cur2;
131
+
132
+ return (_rowsHeightLookup$cur2 = rowsHeightLookup.current[rowId]) == null ? void 0 : _rowsHeightLookup$cur2.sizes;
133
+ };
134
+
118
135
  const setRowHeight = React.useCallback((id, height) => {
119
136
  rowsHeightLookup.current[id] = {
120
137
  value: height,
121
- isResized: true
138
+ isResized: true,
139
+ sizes: (0, _extends2.default)({}, rowsHeightLookup.current[id].sizes, {
140
+ base: height
141
+ })
122
142
  };
123
143
  hydrateRowsMeta();
124
144
  }, [hydrateRowsMeta]); // The effect is used to build the rows meta data - currentPageTotalHeight and positions.
@@ -137,6 +157,7 @@ const useGridRowsMeta = (apiRef, props) => {
137
157
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _gridEvents.GridEvents.preProcessorRegister, handlePreProcessorRegister);
138
158
  const rowsMetaApi = {
139
159
  unstable_getRowHeight: getTargetRowHeight,
160
+ unstable_getRowInternalSizes: getRowInternalSizes,
140
161
  unstable_setRowHeight: setRowHeight
141
162
  };
142
163
  (0, _useGridApiMethod.useGridApiMethod)(apiRef, rowsMetaApi, 'GridRowsMetaApi');
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.useGridSelection = void 0;
8
+ exports.useGridSelection = exports.selectionStateInitializer = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -31,38 +31,52 @@ var _gridFilterSelector = require("../filter/gridFilterSelector");
31
31
 
32
32
  var _colDef = require("../../../colDef");
33
33
 
34
- var _useGridStateInit = require("../../utils/useGridStateInit");
35
-
36
34
  var _gridEditRowModel = require("../../../models/gridEditRowModel");
37
35
 
38
36
  var _keyboardUtils = require("../../../utils/keyboardUtils");
39
37
 
40
- var _useCurrentPageRows = require("../../utils/useCurrentPageRows");
38
+ var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
41
39
 
42
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
41
 
44
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
43
 
44
+ const getSelectionModelPropValue = (selectionModelProp, prevSelectionModel) => {
45
+ if (selectionModelProp == null) {
46
+ return selectionModelProp;
47
+ }
48
+
49
+ if (Array.isArray(selectionModelProp)) {
50
+ return selectionModelProp;
51
+ }
52
+
53
+ if (prevSelectionModel && prevSelectionModel[0] === selectionModelProp) {
54
+ return prevSelectionModel;
55
+ }
56
+
57
+ return [selectionModelProp];
58
+ };
59
+
60
+ const selectionStateInitializer = (state, props) => {
61
+ var _getSelectionModelPro;
62
+
63
+ return (0, _extends2.default)({}, state, {
64
+ selection: (_getSelectionModelPro = getSelectionModelPropValue(props.selectionModel)) != null ? _getSelectionModelPro : []
65
+ });
66
+ };
46
67
  /**
47
68
  * @requires useGridRows (state, method)
48
69
  * @requires useGridParamsApi (method)
49
70
  */
71
+
72
+
73
+ exports.selectionStateInitializer = selectionStateInitializer;
74
+
50
75
  const useGridSelection = (apiRef, props) => {
51
76
  const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useGridSelection');
52
77
  const propSelectionModel = React.useMemo(() => {
53
- if (props.selectionModel == null) {
54
- return props.selectionModel;
55
- }
56
-
57
- if (Array.isArray(props.selectionModel)) {
58
- return props.selectionModel;
59
- }
60
-
61
- return [props.selectionModel];
62
- }, [props.selectionModel]);
63
- (0, _useGridStateInit.useGridStateInit)(apiRef, state => (0, _extends2.default)({}, state, {
64
- selection: propSelectionModel != null ? propSelectionModel : []
65
- }));
78
+ return getSelectionModelPropValue(props.selectionModel, (0, _gridSelectionSelector.gridSelectionStateSelector)(apiRef.current.state));
79
+ }, [apiRef, props.selectionModel]);
66
80
  const lastRowToggled = React.useRef(null);
67
81
  apiRef.current.unstable_updateControlState({
68
82
  stateId: 'selection',
@@ -349,7 +363,7 @@ const useGridSelection = (apiRef, props) => {
349
363
  if (!canHaveMultipleSelection && currentSelection.length > 1) {
350
364
  const {
351
365
  rows: currentPageRows
352
- } = (0, _useCurrentPageRows.getCurrentPageRows)(apiRef, {
366
+ } = (0, _useGridVisibleRows.getVisibleRows)(apiRef, {
353
367
  pagination,
354
368
  paginationMode
355
369
  });
@@ -30,7 +30,7 @@ var _gridFocusStateSelector = require("../focus/gridFocusStateSelector");
30
30
 
31
31
  var _gridEditRowsSelector = require("../editRows/gridEditRowsSelector");
32
32
 
33
- var _useCurrentPageRows = require("../../utils/useCurrentPageRows");
33
+ var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
34
34
 
35
35
  var _events = require("../../../models/events");
36
36
 
@@ -87,7 +87,7 @@ const useGridVirtualScroller = props => {
87
87
  const rowsMeta = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsMetaSelector.gridRowsMetaSelector);
88
88
  const editRowsState = (0, _useGridSelector.useGridSelector)(apiRef, _gridEditRowsSelector.gridEditRowsStateSelector);
89
89
  const selectedRowsLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridSelectionSelector.selectedIdsLookupSelector);
90
- const currentPage = (0, _useCurrentPageRows.useCurrentPageRows)(apiRef, rootProps);
90
+ const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, rootProps);
91
91
  const renderZoneRef = React.useRef(null);
92
92
  const rootRef = React.useRef(null);
93
93
  const handleRef = (0, _utils.useForkRef)(ref, rootRef);
@@ -160,7 +160,7 @@ const useGridVirtualScroller = props => {
160
160
  firstIndex: nextRenderContext.firstRowIndex,
161
161
  lastIndex: nextRenderContext.lastRowIndex,
162
162
  minFirstIndex: 0,
163
- maxLastIndex: (_currentPage$range = currentPage.range) == null ? void 0 : _currentPage$range.lastRowIndex,
163
+ maxLastIndex: ((_currentPage$range = currentPage.range) == null ? void 0 : _currentPage$range.lastRowIndex) || 0,
164
164
  buffer: rootProps.rowBuffer
165
165
  });
166
166
  const [firstColumnToRender] = getRenderableIndexes({
@@ -305,7 +305,7 @@ const useGridVirtualScroller = props => {
305
305
  firstColumnToRender: firstColumnToRender,
306
306
  lastColumnToRender: lastColumnToRender,
307
307
  selected: isSelected,
308
- index: currentPage.range.firstRowIndex + nextRenderContext.firstRowIndex + i,
308
+ index: currentPage.range.firstRowIndex + firstRowToRender + i,
309
309
  containerWidth: availableSpace,
310
310
  isLastVisible: lastVisibleRowIndex
311
311
  }, typeof getRowProps === 'function' ? getRowProps(id, model) : {}, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.row), id));
@@ -5,9 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useGridApi = void 0;
7
7
 
8
+ var _warning = require("../../utils/warning");
9
+
10
+ const deprecationWarning = (0, _warning.buildWarning)(['MUI: The hook useGridApi is deprecated and will be removed in the next major version.', 'Access the ref content with apiRef.current instead']);
8
11
  /**
9
12
  * @deprecated Use `apiRef.current` instead.
10
13
  */
11
- const useGridApi = apiRef => apiRef.current;
14
+
15
+ const useGridApi = apiRef => {
16
+ if (process.env.NODE_ENV !== 'production') {
17
+ deprecationWarning();
18
+ }
19
+
20
+ return apiRef.current;
21
+ };
12
22
 
13
23
  exports.useGridApi = useGridApi;
@@ -4,17 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useGridSelector = void 0;
7
- let warnedOnceStateNotInitialized = false;
7
+
8
+ var _warning = require("../../utils/warning");
8
9
 
9
10
  function isOutputSelector(selector) {
10
11
  return selector.cache;
11
12
  }
12
13
 
14
+ const stateNotInitializedWarning = (0, _warning.buildWarning)(['MUI: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
15
+
13
16
  const useGridSelector = (apiRef, selector) => {
14
17
  if (process.env.NODE_ENV !== 'production') {
15
- if (!warnedOnceStateNotInitialized && !apiRef.current.state) {
16
- warnedOnceStateNotInitialized = true;
17
- console.warn(['MUI: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.'].join('\n'));
18
+ if (!apiRef.current.state) {
19
+ stateNotInitializedWarning();
18
20
  }
19
21
  }
20
22
 
@@ -5,9 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useGridState = void 0;
7
7
 
8
+ var _warning = require("../../utils/warning");
9
+
10
+ const deprecationWarning = (0, _warning.buildWarning)(['MUI: The hook useGridState is deprecated and will be removed in the next major version.', 'The two lines below are equivalent', '', 'const [state, setState, forceUpdate] = useGridState(apiRef);', 'const { state, setState, forceUpdate } = apiRef.current']);
8
11
  /**
9
12
  * @deprecated Use `apiRef.current.state`, `apiRef.current.setState` and `apiRef.current.forceUpdate` instead.
10
13
  */
11
- const useGridState = apiRef => [apiRef.current.state, apiRef.current.setState, apiRef.current.forceUpdate];
14
+
15
+ const useGridState = apiRef => {
16
+ if (process.env.NODE_ENV !== 'production') {
17
+ deprecationWarning();
18
+ }
19
+
20
+ return [apiRef.current.state, apiRef.current.setState, apiRef.current.forceUpdate];
21
+ };
12
22
 
13
23
  exports.useGridState = useGridState;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useCurrentPageRows = exports.getCurrentPageRows = void 0;
6
+ exports.useGridVisibleRows = exports.getVisibleRows = void 0;
7
7
 
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
 
@@ -15,7 +15,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
15
15
 
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
 
18
- const getCurrentPageRows = (apiRef, props) => {
18
+ const getVisibleRows = (apiRef, props) => {
19
19
  let rows;
20
20
  let range;
21
21
 
@@ -41,21 +41,22 @@ const getCurrentPageRows = (apiRef, props) => {
41
41
  };
42
42
  };
43
43
  /**
44
- * Compute the list of the rows in the current page
45
- * - If the pagination is disabled or in server mode, it equals all the visible rows
46
- * - If the row tree has several layers, it contains up to `state.pageSize` top level rows and all their descendants
47
- * - If the row tree is flat, it only contains up to `state.pageSize` rows
44
+ * Computes the list of rows that are reachable by scroll.
45
+ * Depending on whether pagination is enabled, it will return the rows in the current page.
46
+ * - If the pagination is disabled or in server mode, it equals all the visible rows.
47
+ * - If the row tree has several layers, it contains up to `state.pageSize` top level rows and all their descendants.
48
+ * - If the row tree is flat, it only contains up to `state.pageSize` rows.
48
49
  */
49
50
 
50
51
 
51
- exports.getCurrentPageRows = getCurrentPageRows;
52
+ exports.getVisibleRows = getVisibleRows;
52
53
 
53
- const useCurrentPageRows = (apiRef, props) => {
54
- const response = getCurrentPageRows(apiRef, props);
54
+ const useGridVisibleRows = (apiRef, props) => {
55
+ const response = getVisibleRows(apiRef, props);
55
56
  return React.useMemo(() => ({
56
57
  rows: response.rows,
57
58
  range: response.range
58
59
  }), [response.rows, response.range]);
59
60
  };
60
61
 
61
- exports.useCurrentPageRows = useCurrentPageRows;
62
+ exports.useGridVisibleRows = useGridVisibleRows;
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.6.0
1
+ /** @license MUI v5.6.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "clamp", {
39
39
  return _utils.clamp;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "columnMenuStateInitializer", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _useGridColumnMenu.columnMenuStateInitializer;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "columnsStateInitializer", {
43
49
  enumerable: true,
44
50
  get: function () {
@@ -51,6 +57,18 @@ Object.defineProperty(exports, "createSelector", {
51
57
  return _createSelector.createSelector;
52
58
  }
53
59
  });
60
+ Object.defineProperty(exports, "densityStateInitializer", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _useGridDensity.densityStateInitializer;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "editingStateInitializer", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _useGridEditing.editingStateInitializer;
70
+ }
71
+ });
54
72
  Object.defineProperty(exports, "filterStateInitializer", {
55
73
  enumerable: true,
56
74
  get: function () {
@@ -63,6 +81,12 @@ Object.defineProperty(exports, "findParentElementFromClassName", {
63
81
  return _domUtils.findParentElementFromClassName;
64
82
  }
65
83
  });
84
+ Object.defineProperty(exports, "focusStateInitializer", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _useGridFocus.focusStateInitializer;
88
+ }
89
+ });
66
90
  Object.defineProperty(exports, "isDeepEqual", {
67
91
  enumerable: true,
68
92
  get: function () {
@@ -75,16 +99,22 @@ Object.defineProperty(exports, "isNavigationKey", {
75
99
  return _keyboardUtils.isNavigationKey;
76
100
  }
77
101
  });
78
- Object.defineProperty(exports, "pageSizeStateInitializer", {
102
+ Object.defineProperty(exports, "paginationStateInitializer", {
79
103
  enumerable: true,
80
104
  get: function () {
81
- return _useGridPageSize.pageSizeStateInitializer;
105
+ return _useGridPagination.paginationStateInitializer;
82
106
  }
83
107
  });
84
- Object.defineProperty(exports, "pageStateInitializer", {
108
+ Object.defineProperty(exports, "preferencePanelStateInitializer", {
85
109
  enumerable: true,
86
110
  get: function () {
87
- return _useGridPage.pageStateInitializer;
111
+ return _useGridPreferencesPanel.preferencePanelStateInitializer;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "rowsMetaStateInitializer", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _useGridRowsMeta.rowsMetaStateInitializer;
88
118
  }
89
119
  });
90
120
  Object.defineProperty(exports, "rowsStateInitializer", {
@@ -93,16 +123,16 @@ Object.defineProperty(exports, "rowsStateInitializer", {
93
123
  return _useGridRows.rowsStateInitializer;
94
124
  }
95
125
  });
96
- Object.defineProperty(exports, "sortingStateInitializer", {
126
+ Object.defineProperty(exports, "selectionStateInitializer", {
97
127
  enumerable: true,
98
128
  get: function () {
99
- return _useGridSorting.sortingStateInitializer;
129
+ return _useGridSelection.selectionStateInitializer;
100
130
  }
101
131
  });
102
- Object.defineProperty(exports, "useCurrentPageRows", {
132
+ Object.defineProperty(exports, "sortingStateInitializer", {
103
133
  enumerable: true,
104
134
  get: function () {
105
- return _useCurrentPageRows.useCurrentPageRows;
135
+ return _useGridSorting.sortingStateInitializer;
106
136
  }
107
137
  });
108
138
  Object.defineProperty(exports, "useGridClipboard", {
@@ -273,12 +303,6 @@ Object.defineProperty(exports, "useGridSorting", {
273
303
  return _useGridSorting.useGridSorting;
274
304
  }
275
305
  });
276
- Object.defineProperty(exports, "useGridStateInit", {
277
- enumerable: true,
278
- get: function () {
279
- return _useGridStateInit.useGridStateInit;
280
- }
281
- });
282
306
  Object.defineProperty(exports, "useGridStatePersistence", {
283
307
  enumerable: true,
284
308
  get: function () {
@@ -291,6 +315,12 @@ Object.defineProperty(exports, "useGridVirtualScroller", {
291
315
  return _useGridVirtualScroller.useGridVirtualScroller;
292
316
  }
293
317
  });
318
+ Object.defineProperty(exports, "useGridVisibleRows", {
319
+ enumerable: true,
320
+ get: function () {
321
+ return _useGridVisibleRows.useGridVisibleRows;
322
+ }
323
+ });
294
324
 
295
325
  var _GridVirtualScroller = require("../components/virtualization/GridVirtualScroller");
296
326
 
@@ -332,10 +362,6 @@ var _useGridKeyboardNavigation = require("../hooks/features/keyboard/useGridKeyb
332
362
 
333
363
  var _useGridPagination = require("../hooks/features/pagination/useGridPagination");
334
364
 
335
- var _useGridPage = require("../hooks/features/pagination/useGridPage");
336
-
337
- var _useGridPageSize = require("../hooks/features/pagination/useGridPageSize");
338
-
339
365
  var _useGridPreferencesPanel = require("../hooks/features/preferencesPanel/useGridPreferencesPanel");
340
366
 
341
367
  var _useGridEditing = require("../hooks/features/editRows/useGridEditing");
@@ -364,12 +390,10 @@ var _useGridStatePersistence = require("../hooks/features/statePersistence/useGr
364
390
 
365
391
  var _useGridVirtualScroller = require("../hooks/features/virtualization/useGridVirtualScroller");
366
392
 
367
- var _useCurrentPageRows = require("../hooks/utils/useCurrentPageRows");
393
+ var _useGridVisibleRows = require("../hooks/utils/useGridVisibleRows");
368
394
 
369
395
  var _useGridInitializeState = require("../hooks/utils/useGridInitializeState");
370
396
 
371
- var _useGridStateInit = require("../hooks/utils/useGridStateInit");
372
-
373
397
  var _createSelector = require("../utils/createSelector");
374
398
 
375
399
  var _domUtils = require("../utils/domUtils");
@@ -28,9 +28,9 @@ const getGridDefaultColumnTypes = () => {
28
28
  dateTime: _gridDateColDef.GRID_DATETIME_COL_DEF,
29
29
  boolean: _gridBooleanColDef.GRID_BOOLEAN_COL_DEF,
30
30
  singleSelect: _gridSingleSelectColDef.GRID_SINGLE_SELECT_COL_DEF,
31
- [_gridActionsColDef.GRID_ACTIONS_COLUMN_TYPE]: _gridActionsColDef.GRID_ACTIONS_COL_DEF
31
+ [_gridActionsColDef.GRID_ACTIONS_COLUMN_TYPE]: _gridActionsColDef.GRID_ACTIONS_COL_DEF,
32
+ [DEFAULT_GRID_COL_TYPE_KEY]: _gridStringColDef.GRID_STRING_COL_DEF
32
33
  };
33
- nativeColumnTypes[DEFAULT_GRID_COL_TYPE_KEY] = _gridStringColDef.GRID_STRING_COL_DEF;
34
34
  return nativeColumnTypes;
35
35
  };
36
36
 
@@ -7,8 +7,10 @@ exports.createSelector = void 0;
7
7
 
8
8
  var _reselect = require("reselect");
9
9
 
10
+ var _warning = require("./warning");
11
+
10
12
  const cache = {};
11
- let warnedOnce = false;
13
+ const missingInstanceIdWarning = (0, _warning.buildWarning)(['MUI: A selector was called without passing the instance ID, which may impact the performance of the grid.', 'To fix, call it with `apiRef`, e.g. `mySelector(apiRef)`, or pass the instance ID explicitly, e.g `mySelector(state, apiRef.current.instanceId)`.']);
12
14
 
13
15
  const createSelector = (...args) => {
14
16
  const selector = (...selectorArgs) => {
@@ -18,9 +20,8 @@ const createSelector = (...args) => {
18
20
  const state = isApiRef ? stateOrApiRef.current.state : stateOrApiRef;
19
21
 
20
22
  if (process.env.NODE_ENV !== 'production') {
21
- if (!warnedOnce && cacheKey === 'default') {
22
- console.warn(['MUI: A selector was called without passing the instance ID, which may impact the performance of the grid.', 'To fix, call it with `apiRef`, e.g. `mySelector(apiRef)`, or pass the instance ID explicitly, e.g `mySelector(state, apiRef.current.instanceId)`.'].join('\n'));
23
- warnedOnce = true;
23
+ if (cacheKey === 'default') {
24
+ missingInstanceIdWarning();
24
25
  }
25
26
  }
26
27
 
@@ -10,14 +10,14 @@ exports.getGridLocalization = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
12
  const getGridLocalization = (gridTranslations, coreTranslations) => {
13
- var _coreTranslations$com;
13
+ var _coreTranslations$com, _coreTranslations$com2;
14
14
 
15
15
  return {
16
16
  components: {
17
17
  MuiDataGrid: {
18
18
  defaultProps: {
19
19
  localeText: (0, _extends2.default)({}, gridTranslations, {
20
- MuiTablePagination: (coreTranslations == null ? void 0 : (_coreTranslations$com = coreTranslations.components) == null ? void 0 : _coreTranslations$com.MuiTablePagination.defaultProps) || {}
20
+ MuiTablePagination: (coreTranslations == null ? void 0 : (_coreTranslations$com = coreTranslations.components) == null ? void 0 : (_coreTranslations$com2 = _coreTranslations$com.MuiTablePagination) == null ? void 0 : _coreTranslations$com2.defaultProps) || {}
21
21
  })
22
22
  }
23
23
  }