@mui/x-data-grid 6.16.0 → 6.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/CHANGELOG.md +165 -1
  2. package/DataGrid/DataGrid.d.ts +7 -0
  3. package/DataGrid/DataGrid.js +8 -1
  4. package/colDef/gridDateColDef.js +0 -4
  5. package/components/GridRow.js +7 -3
  6. package/components/cell/GridCell.js +7 -3
  7. package/components/containers/GridRootStyles.js +13 -0
  8. package/components/panel/filterPanel/GridFilterForm.d.ts +7 -0
  9. package/components/panel/filterPanel/GridFilterForm.js +8 -0
  10. package/components/panel/filterPanel/GridFilterPanel.d.ts +7 -0
  11. package/components/panel/filterPanel/GridFilterPanel.js +8 -0
  12. package/components/toolbar/GridToolbarQuickFilter.d.ts +8 -0
  13. package/components/toolbar/GridToolbarQuickFilter.js +9 -0
  14. package/components/virtualization/GridVirtualScroller.js +3 -1
  15. package/constants/gridClasses.d.ts +8 -0
  16. package/constants/gridClasses.js +1 -1
  17. package/hooks/features/columnGrouping/gridColumnGroupsUtils.d.ts +4 -1
  18. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  19. package/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
  20. package/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -2
  21. package/hooks/features/columns/gridColumnsUtils.js +0 -1
  22. package/hooks/features/filter/gridFilterUtils.js +4 -4
  23. package/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
  24. package/index.js +1 -1
  25. package/legacy/DataGrid/DataGrid.js +8 -1
  26. package/legacy/colDef/gridDateColDef.js +0 -4
  27. package/legacy/components/GridRow.js +6 -2
  28. package/legacy/components/cell/GridCell.js +7 -3
  29. package/legacy/components/containers/GridRootStyles.js +15 -9
  30. package/legacy/components/panel/filterPanel/GridFilterForm.js +8 -0
  31. package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -0
  32. package/legacy/components/toolbar/GridToolbarQuickFilter.js +9 -0
  33. package/legacy/components/virtualization/GridVirtualScroller.js +3 -1
  34. package/legacy/constants/gridClasses.js +1 -1
  35. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  36. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
  37. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -1
  38. package/legacy/hooks/features/filter/gridFilterUtils.js +4 -4
  39. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
  40. package/legacy/index.js +1 -1
  41. package/legacy/locales/arSD.js +26 -28
  42. package/legacy/locales/roRO.js +1 -1
  43. package/locales/arSD.js +26 -28
  44. package/locales/roRO.js +1 -1
  45. package/models/events/gridEventLookup.d.ts +14 -0
  46. package/models/props/DataGridProps.d.ts +1 -1
  47. package/modern/DataGrid/DataGrid.js +8 -1
  48. package/modern/colDef/gridDateColDef.js +0 -4
  49. package/modern/components/GridRow.js +7 -3
  50. package/modern/components/cell/GridCell.js +6 -2
  51. package/modern/components/containers/GridRootStyles.js +13 -0
  52. package/modern/components/panel/filterPanel/GridFilterForm.js +8 -0
  53. package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -0
  54. package/modern/components/toolbar/GridToolbarQuickFilter.js +9 -0
  55. package/modern/components/virtualization/GridVirtualScroller.js +3 -1
  56. package/modern/constants/gridClasses.js +1 -1
  57. package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  58. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +10 -3
  59. package/modern/hooks/features/columns/gridColumnsUtils.js +0 -1
  60. package/modern/hooks/features/filter/gridFilterUtils.js +4 -4
  61. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
  62. package/modern/index.js +1 -1
  63. package/modern/locales/arSD.js +26 -28
  64. package/modern/locales/roRO.js +1 -1
  65. package/node/DataGrid/DataGrid.js +11 -7
  66. package/node/DataGrid/useDataGridProps.js +1 -2
  67. package/node/colDef/gridActionsColDef.js +3 -5
  68. package/node/colDef/gridBooleanColDef.js +2 -3
  69. package/node/colDef/gridCheckboxSelectionColDef.js +3 -5
  70. package/node/colDef/gridDateColDef.js +3 -9
  71. package/node/colDef/gridDefaultColumnTypes.js +1 -2
  72. package/node/colDef/gridNumericColDef.js +2 -3
  73. package/node/colDef/gridNumericOperators.js +1 -2
  74. package/node/colDef/gridSingleSelectColDef.js +2 -3
  75. package/node/colDef/gridStringColDef.js +2 -3
  76. package/node/colDef/gridStringOperators.js +1 -2
  77. package/node/colDef/utils.js +1 -2
  78. package/node/components/DataGridVirtualScroller.js +2 -3
  79. package/node/components/GridApiContext.js +1 -2
  80. package/node/components/GridColumnHeaders.js +1 -2
  81. package/node/components/GridFooter.js +1 -2
  82. package/node/components/GridLoadingOverlay.js +1 -2
  83. package/node/components/GridNoResultsOverlay.js +2 -3
  84. package/node/components/GridNoRowsOverlay.js +1 -2
  85. package/node/components/GridPagination.js +2 -3
  86. package/node/components/GridRow.js +8 -5
  87. package/node/components/GridRowCount.js +1 -2
  88. package/node/components/GridSelectedRowCount.js +1 -2
  89. package/node/components/cell/GridActionsCellItem.js +1 -2
  90. package/node/components/cell/GridBooleanCell.js +1 -2
  91. package/node/components/cell/GridCell.js +9 -8
  92. package/node/components/cell/GridEditInputCell.js +1 -2
  93. package/node/components/cell/GridEditSingleSelectCell.js +3 -2
  94. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +2 -3
  95. package/node/components/columnHeaders/GridBaseColumnHeaders.js +2 -3
  96. package/node/components/columnHeaders/GridColumnHeaderSeparator.js +2 -4
  97. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  98. package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -3
  99. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +2 -3
  100. package/node/components/columnHeaders/GridIconButtonContainer.js +2 -3
  101. package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -4
  102. package/node/components/columnSelection/GridHeaderCheckbox.js +1 -2
  103. package/node/components/containers/GridFooterContainer.js +1 -2
  104. package/node/components/containers/GridMainContainer.js +2 -3
  105. package/node/components/containers/GridOverlay.js +1 -2
  106. package/node/components/containers/GridRoot.js +1 -2
  107. package/node/components/containers/GridRootStyles.js +15 -3
  108. package/node/components/containers/GridToolbarContainer.js +1 -2
  109. package/node/components/menu/columnMenu/GridColumnMenu.js +4 -8
  110. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +1 -2
  111. package/node/components/panel/GridPanel.js +2 -4
  112. package/node/components/panel/GridPanelWrapper.js +1 -2
  113. package/node/components/panel/GridPreferencesPanel.js +2 -3
  114. package/node/components/panel/filterPanel/GridFilterForm.js +15 -7
  115. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -2
  116. package/node/components/panel/filterPanel/GridFilterPanel.js +10 -3
  117. package/node/components/toolbar/GridToolbar.js +1 -2
  118. package/node/components/toolbar/GridToolbarColumnsButton.js +2 -3
  119. package/node/components/toolbar/GridToolbarDensitySelector.js +2 -3
  120. package/node/components/toolbar/GridToolbarExport.js +1 -2
  121. package/node/components/toolbar/GridToolbarExportContainer.js +2 -3
  122. package/node/components/toolbar/GridToolbarFilterButton.js +1 -2
  123. package/node/components/toolbar/GridToolbarQuickFilter.js +10 -1
  124. package/node/components/virtualization/GridVirtualScroller.js +5 -4
  125. package/node/components/virtualization/GridVirtualScrollerContent.js +2 -3
  126. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -3
  127. package/node/constants/defaultGridSlotsComponents.js +2 -3
  128. package/node/constants/envConstants.js +1 -2
  129. package/node/constants/gridClasses.js +1 -2
  130. package/node/constants/gridDetailPanelToggleField.js +1 -2
  131. package/node/constants/localeTextConstants.js +2 -3
  132. package/node/context/GridRootPropsContext.js +1 -2
  133. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -4
  134. package/node/hooks/features/columnGrouping/gridColumnGroupsSelector.js +4 -8
  135. package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
  136. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +10 -3
  137. package/node/hooks/features/columns/gridColumnsSelector.js +11 -21
  138. package/node/hooks/features/columns/gridColumnsUtils.js +1 -3
  139. package/node/hooks/features/density/densitySelector.js +2 -4
  140. package/node/hooks/features/density/useGridDensity.js +2 -4
  141. package/node/hooks/features/filter/gridFilterSelector.js +14 -27
  142. package/node/hooks/features/filter/gridFilterUtils.js +4 -4
  143. package/node/hooks/features/focus/gridFocusStateSelector.js +8 -16
  144. package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +2 -4
  145. package/node/hooks/features/pagination/gridPaginationSelector.js +8 -15
  146. package/node/hooks/features/pagination/gridPaginationUtils.js +1 -2
  147. package/node/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +2 -3
  148. package/node/hooks/features/rowSelection/gridRowSelectionSelector.js +4 -7
  149. package/node/hooks/features/rows/gridRowsSelector.js +14 -27
  150. package/node/hooks/features/rows/gridRowsUtils.js +2 -4
  151. package/node/hooks/features/sorting/gridSortingSelector.js +5 -9
  152. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +2 -4
  153. package/node/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
  154. package/node/hooks/utils/useGridApiEventHandler.js +2 -4
  155. package/node/hooks/utils/useGridPrivateApiContext.js +1 -2
  156. package/node/hooks/utils/useGridSelector.js +1 -2
  157. package/node/index.js +1 -1
  158. package/node/joy/icons.js +30 -60
  159. package/node/joy/joySlots.js +1 -2
  160. package/node/locales/arSD.js +27 -30
  161. package/node/locales/beBY.js +1 -2
  162. package/node/locales/bgBG.js +1 -2
  163. package/node/locales/coreLocales.js +3 -5
  164. package/node/locales/csCZ.js +1 -2
  165. package/node/locales/daDK.js +1 -2
  166. package/node/locales/deDE.js +1 -2
  167. package/node/locales/elGR.js +1 -2
  168. package/node/locales/enUS.js +1 -2
  169. package/node/locales/esES.js +1 -2
  170. package/node/locales/faIR.js +1 -2
  171. package/node/locales/fiFI.js +1 -2
  172. package/node/locales/frFR.js +1 -2
  173. package/node/locales/heIL.js +1 -2
  174. package/node/locales/huHU.js +1 -2
  175. package/node/locales/itIT.js +1 -2
  176. package/node/locales/jaJP.js +1 -2
  177. package/node/locales/koKR.js +1 -2
  178. package/node/locales/nbNO.js +1 -2
  179. package/node/locales/nlNL.js +1 -2
  180. package/node/locales/plPL.js +1 -2
  181. package/node/locales/ptBR.js +1 -2
  182. package/node/locales/roRO.js +2 -3
  183. package/node/locales/ruRU.js +1 -2
  184. package/node/locales/skSK.js +1 -2
  185. package/node/locales/svSE.js +1 -2
  186. package/node/locales/trTR.js +1 -2
  187. package/node/locales/ukUA.js +1 -2
  188. package/node/locales/urPK.js +1 -2
  189. package/node/locales/viVN.js +1 -2
  190. package/node/locales/zhCN.js +1 -2
  191. package/node/locales/zhTW.js +1 -2
  192. package/node/material/icons/GridColumnUnsortedIcon.js +2 -3
  193. package/node/material/icons/index.js +29 -57
  194. package/node/material/index.js +1 -2
  195. package/node/models/gridEditRowModel.js +4 -7
  196. package/node/models/gridFilterItem.js +2 -3
  197. package/node/models/params/gridEditCellParams.js +3 -5
  198. package/node/models/params/gridRowParams.js +3 -5
  199. package/node/utils/keyboardUtils.js +3 -6
  200. package/package.json +3 -3
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GRID_DEFAULT_LOCALE_TEXT = void 0;
7
- const GRID_DEFAULT_LOCALE_TEXT = {
7
+ const GRID_DEFAULT_LOCALE_TEXT = exports.GRID_DEFAULT_LOCALE_TEXT = {
8
8
  // Root
9
9
  noRowsLabel: 'No rows',
10
10
  noResultsOverlayLabel: 'No results found.',
@@ -151,5 +151,4 @@ const GRID_DEFAULT_LOCALE_TEXT = {
151
151
  aggregationFunctionLabelMin: 'min',
152
152
  aggregationFunctionLabelMax: 'max',
153
153
  aggregationFunctionLabelSize: 'size'
154
- };
155
- exports.GRID_DEFAULT_LOCALE_TEXT = GRID_DEFAULT_LOCALE_TEXT;
154
+ };
@@ -7,8 +7,7 @@ exports.GridRootPropsContext = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  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); }
9
9
  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; }
10
- const GridRootPropsContext = /*#__PURE__*/React.createContext(undefined);
11
- exports.GridRootPropsContext = GridRootPropsContext;
10
+ const GridRootPropsContext = exports.GridRootPropsContext = /*#__PURE__*/React.createContext(undefined);
12
11
  if (process.env.NODE_ENV !== 'production') {
13
12
  GridRootPropsContext.displayName = 'GridRootPropsContext';
14
13
  }
@@ -11,15 +11,13 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
12
12
  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); }
13
13
  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; }
14
- const GRID_DEFAULT_STRATEGY = 'none';
15
- exports.GRID_DEFAULT_STRATEGY = GRID_DEFAULT_STRATEGY;
16
- const GRID_STRATEGIES_PROCESSORS = {
14
+ const GRID_DEFAULT_STRATEGY = exports.GRID_DEFAULT_STRATEGY = 'none';
15
+ const GRID_STRATEGIES_PROCESSORS = exports.GRID_STRATEGIES_PROCESSORS = {
17
16
  rowTreeCreation: 'rowTree',
18
17
  filtering: 'rowTree',
19
18
  sorting: 'rowTree',
20
19
  visibleRowsLookupCreation: 'rowTree'
21
20
  };
22
- exports.GRID_STRATEGIES_PROCESSORS = GRID_STRATEGIES_PROCESSORS;
23
21
  /**
24
22
  * Implements a variant of the Strategy Pattern (see https://en.wikipedia.org/wiki/Strategy_pattern)
25
23
  *
@@ -11,11 +11,7 @@ var _createSelector = require("../../../utils/createSelector");
11
11
  */
12
12
  const gridColumnGroupingSelector = state => state.columnGrouping;
13
13
  exports.gridColumnGroupingSelector = gridColumnGroupingSelector;
14
- const gridColumnGroupsUnwrappedModelSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.unwrappedGroupingModel ?? {});
15
- exports.gridColumnGroupsUnwrappedModelSelector = gridColumnGroupsUnwrappedModelSelector;
16
- const gridColumnGroupsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.lookup ?? {});
17
- exports.gridColumnGroupsLookupSelector = gridColumnGroupsLookupSelector;
18
- const gridColumnGroupsHeaderStructureSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.headerStructure ?? []);
19
- exports.gridColumnGroupsHeaderStructureSelector = gridColumnGroupsHeaderStructureSelector;
20
- const gridColumnGroupsHeaderMaxDepthSelector = (0, _createSelector.createSelector)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.maxDepth ?? 0);
21
- exports.gridColumnGroupsHeaderMaxDepthSelector = gridColumnGroupsHeaderMaxDepthSelector;
14
+ const gridColumnGroupsUnwrappedModelSelector = exports.gridColumnGroupsUnwrappedModelSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.unwrappedGroupingModel ?? {});
15
+ const gridColumnGroupsLookupSelector = exports.gridColumnGroupsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.lookup ?? {});
16
+ const gridColumnGroupsHeaderStructureSelector = exports.gridColumnGroupsHeaderStructureSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.headerStructure ?? []);
17
+ const gridColumnGroupsHeaderMaxDepthSelector = exports.gridColumnGroupsHeaderMaxDepthSelector = (0, _createSelector.createSelector)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.maxDepth ?? 0);
@@ -41,11 +41,20 @@ const unwrapGroupingColumnModel = columnGroupingModel => {
41
41
  return unwrappedSubTree;
42
42
  };
43
43
  exports.unwrapGroupingColumnModel = unwrapGroupingColumnModel;
44
- const getColumnGroupsHeaderStructure = (orderedColumns, unwrappedGroupingModel) => {
44
+ const getColumnGroupsHeaderStructure = (orderedColumns, unwrappedGroupingModel, pinnedFields) => {
45
45
  const getParents = field => unwrappedGroupingModel[field] ?? [];
46
46
  const groupingHeaderStructure = [];
47
47
  const maxDepth = Math.max(...orderedColumns.map(field => getParents(field).length));
48
48
  const haveSameParents = (field1, field2, depth) => (0, _utils.isDeepEqual)(getParents(field1).slice(0, depth + 1), getParents(field2).slice(0, depth + 1));
49
+ const haveDifferentContainers = (field1, field2) => {
50
+ if (pinnedFields?.left && pinnedFields.left.includes(field1) && !pinnedFields.left.includes(field2)) {
51
+ return true;
52
+ }
53
+ if (pinnedFields?.right && !pinnedFields.right.includes(field1) && pinnedFields.right.includes(field2)) {
54
+ return true;
55
+ }
56
+ return false;
57
+ };
49
58
  for (let depth = 0; depth < maxDepth; depth += 1) {
50
59
  const depthStructure = orderedColumns.reduce((structure, newField) => {
51
60
  const groupId = getParents(newField)[depth] ?? null;
@@ -58,7 +67,9 @@ const getColumnGroupsHeaderStructure = (orderedColumns, unwrappedGroupingModel)
58
67
  const lastGroup = structure[structure.length - 1];
59
68
  const prevField = lastGroup.columnFields[lastGroup.columnFields.length - 1];
60
69
  const prevGroupId = lastGroup.groupId;
61
- if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth)) {
70
+ if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth) ||
71
+ // Fix for https://github.com/mui/mui-x/issues/7041
72
+ haveDifferentContainers(prevField, newField)) {
62
73
  // It's a new group
63
74
  return [...structure, {
64
75
  columnFields: [newField],
@@ -55,7 +55,9 @@ const columnGroupsStateInitializer = (state, props, apiRef) => {
55
55
  const visibleColumnFields = (0, _columns.gridVisibleColumnFieldsSelector)(apiRef);
56
56
  const groupLookup = createGroupLookup(props.columnGroupingModel ?? []);
57
57
  const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(props.columnGroupingModel ?? []);
58
- const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel);
58
+ const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel,
59
+ // @ts-expect-error Move this part to `Pro` package
60
+ apiRef.current.state.pinnedColumns ?? {});
59
61
  const maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max(...visibleColumnFields.map(field => unwrappedGroupingModel[field]?.length ?? 0));
60
62
  return (0, _extends2.default)({}, state, {
61
63
  columnGrouping: {
@@ -93,7 +95,10 @@ const useGridColumnGrouping = (apiRef, props) => {
93
95
  const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(props.columnGroupingModel ?? []);
94
96
  apiRef.current.setState(state => {
95
97
  const orderedFields = state.columns?.orderedFields ?? [];
96
- const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(orderedFields, unwrappedGroupingModel);
98
+
99
+ // @ts-expect-error Move this logic to `Pro` package
100
+ const pinnedColumns = state.pinnedColumns ?? {};
101
+ const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(orderedFields, unwrappedGroupingModel, pinnedColumns);
97
102
  return (0, _extends2.default)({}, state, {
98
103
  columnGrouping: (0, _extends2.default)({}, state.columnGrouping, {
99
104
  headerStructure: columnGroupsHeaderStructure
@@ -105,11 +110,13 @@ const useGridColumnGrouping = (apiRef, props) => {
105
110
  if (!props.experimentalFeatures?.columnGrouping) {
106
111
  return;
107
112
  }
113
+ // @ts-expect-error Move this logic to `Pro` package
114
+ const pinnedColumns = apiRef.current.getPinnedColumns?.() ?? {};
108
115
  const columnFields = (0, _columns.gridColumnFieldsSelector)(apiRef);
109
116
  const visibleColumnFields = (0, _columns.gridVisibleColumnFieldsSelector)(apiRef);
110
117
  const groupLookup = createGroupLookup(columnGroupingModel ?? []);
111
118
  const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(columnGroupingModel ?? []);
112
- const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel);
119
+ const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel, pinnedColumns);
113
120
  const maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max(...visibleColumnFields.map(field => unwrappedGroupingModel[field]?.length ?? 0));
114
121
  apiRef.current.setState(state => {
115
122
  return (0, _extends2.default)({}, state, {
@@ -16,50 +16,44 @@ const gridColumnsStateSelector = state => state.columns;
16
16
  * @category Columns
17
17
  */
18
18
  exports.gridColumnsStateSelector = gridColumnsStateSelector;
19
- const gridColumnFieldsSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.orderedFields);
19
+ const gridColumnFieldsSelector = exports.gridColumnFieldsSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.orderedFields);
20
20
 
21
21
  /**
22
22
  * Get the columns as a lookup (an object containing the field for keys and the definition for values).
23
23
  * @category Columns
24
24
  */
25
- exports.gridColumnFieldsSelector = gridColumnFieldsSelector;
26
- const gridColumnLookupSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.lookup);
25
+ const gridColumnLookupSelector = exports.gridColumnLookupSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.lookup);
27
26
 
28
27
  /**
29
28
  * Get an array of column definitions in the order rendered on screen..
30
29
  * @category Columns
31
30
  */
32
- exports.gridColumnLookupSelector = gridColumnLookupSelector;
33
- const gridColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnFieldsSelector, gridColumnLookupSelector, (allFields, lookup) => allFields.map(field => lookup[field]));
31
+ const gridColumnDefinitionsSelector = exports.gridColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnFieldsSelector, gridColumnLookupSelector, (allFields, lookup) => allFields.map(field => lookup[field]));
34
32
 
35
33
  /**
36
34
  * Get the column visibility model, containing the visibility status of each column.
37
35
  * If a column is not registered in the model, it is visible.
38
36
  * @category Visible Columns
39
37
  */
40
- exports.gridColumnDefinitionsSelector = gridColumnDefinitionsSelector;
41
- const gridColumnVisibilityModelSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.columnVisibilityModel);
38
+ const gridColumnVisibilityModelSelector = exports.gridColumnVisibilityModelSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.columnVisibilityModel);
42
39
 
43
40
  /**
44
41
  * Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
45
42
  * @category Visible Columns
46
43
  */
47
- exports.gridColumnVisibilityModelSelector = gridColumnVisibilityModelSelector;
48
- const gridVisibleColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector, (columns, columnVisibilityModel) => columns.filter(column => columnVisibilityModel[column.field] !== false));
44
+ const gridVisibleColumnDefinitionsSelector = exports.gridVisibleColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector, (columns, columnVisibilityModel) => columns.filter(column => columnVisibilityModel[column.field] !== false));
49
45
 
50
46
  /**
51
47
  * Get the field of each visible column.
52
48
  * @category Visible Columns
53
49
  */
54
- exports.gridVisibleColumnDefinitionsSelector = gridVisibleColumnDefinitionsSelector;
55
- const gridVisibleColumnFieldsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => visibleColumns.map(column => column.field));
50
+ const gridVisibleColumnFieldsSelector = exports.gridVisibleColumnFieldsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => visibleColumns.map(column => column.field));
56
51
 
57
52
  /**
58
53
  * Get the left position in pixel of each visible columns relative to the left of the first column.
59
54
  * @category Visible Columns
60
55
  */
61
- exports.gridVisibleColumnFieldsSelector = gridVisibleColumnFieldsSelector;
62
- const gridColumnPositionsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => {
56
+ const gridColumnPositionsSelector = exports.gridColumnPositionsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => {
63
57
  const positions = [];
64
58
  let currentPosition = 0;
65
59
  for (let i = 0; i < visibleColumns.length; i += 1) {
@@ -73,8 +67,7 @@ const gridColumnPositionsSelector = (0, _createSelector.createSelectorMemoized)(
73
67
  * Get the summed width of all the visible columns.
74
68
  * @category Visible Columns
75
69
  */
76
- exports.gridColumnPositionsSelector = gridColumnPositionsSelector;
77
- const gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, (visibleColumns, positions) => {
70
+ const gridColumnsTotalWidthSelector = exports.gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, (visibleColumns, positions) => {
78
71
  const colCount = visibleColumns.length;
79
72
  if (colCount === 0) {
80
73
  return 0;
@@ -86,18 +79,15 @@ const gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVi
86
79
  * Get the filterable columns as an array.
87
80
  * @category Columns
88
81
  */
89
- exports.gridColumnsTotalWidthSelector = gridColumnsTotalWidthSelector;
90
- const gridFilterableColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.filter(col => col.filterable));
82
+ const gridFilterableColumnDefinitionsSelector = exports.gridFilterableColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.filter(col => col.filterable));
91
83
 
92
84
  /**
93
85
  * Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
94
86
  * @category Columns
95
87
  */
96
- exports.gridFilterableColumnDefinitionsSelector = gridFilterableColumnDefinitionsSelector;
97
- const gridFilterableColumnLookupSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.reduce((acc, col) => {
88
+ const gridFilterableColumnLookupSelector = exports.gridFilterableColumnLookupSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.reduce((acc, col) => {
98
89
  if (col.filterable) {
99
90
  acc[col.field] = col;
100
91
  }
101
92
  return acc;
102
- }, {}));
103
- exports.gridFilterableColumnLookupSelector = gridFilterableColumnLookupSelector;
93
+ }, {}));
@@ -17,8 +17,7 @@ var _gridColumnsSelector = require("./gridColumnsSelector");
17
17
  var _utils = require("../../../utils/utils");
18
18
  var _densitySelector = require("../density/densitySelector");
19
19
  var _gridColumnGroupsSelector = require("../columnGrouping/gridColumnGroupsSelector");
20
- const COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
21
- exports.COLUMNS_DIMENSION_PROPERTIES = COLUMNS_DIMENSION_PROPERTIES;
20
+ const COLUMNS_DIMENSION_PROPERTIES = exports.COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
22
21
  /**
23
22
  * Computes width for flex columns.
24
23
  * Based on CSS Flexbox specification:
@@ -64,7 +63,6 @@ function computeFlexColumnsWidth({
64
63
  for (let i = 0; i < flexColumns.length; i += 1) {
65
64
  const column = flexColumns[i];
66
65
  if (flexColumnsLookup.all[column.field] && flexColumnsLookup.all[column.field].frozen === true) {
67
- // eslint-disable-next-line no-continue
68
66
  continue;
69
67
  }
70
68
 
@@ -7,7 +7,5 @@ exports.gridDensityValueSelector = exports.gridDensitySelector = exports.gridDen
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  const gridDensitySelector = state => state.density;
9
9
  exports.gridDensitySelector = gridDensitySelector;
10
- const gridDensityValueSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.value);
11
- exports.gridDensityValueSelector = gridDensityValueSelector;
12
- const gridDensityFactorSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.factor);
13
- exports.gridDensityFactorSelector = gridDensityFactorSelector;
10
+ const gridDensityValueSelector = exports.gridDensityValueSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.value);
11
+ const gridDensityFactorSelector = exports.gridDensityFactorSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.factor);
@@ -13,10 +13,8 @@ var _densitySelector = require("./densitySelector");
13
13
  var _utils = require("../../../utils/utils");
14
14
  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); }
15
15
  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; }
16
- const COMPACT_DENSITY_FACTOR = 0.7;
17
- exports.COMPACT_DENSITY_FACTOR = COMPACT_DENSITY_FACTOR;
18
- const COMFORTABLE_DENSITY_FACTOR = 1.3;
19
- exports.COMFORTABLE_DENSITY_FACTOR = COMFORTABLE_DENSITY_FACTOR;
16
+ const COMPACT_DENSITY_FACTOR = exports.COMPACT_DENSITY_FACTOR = 0.7;
17
+ const COMFORTABLE_DENSITY_FACTOR = exports.COMFORTABLE_DENSITY_FACTOR = 1.3;
20
18
  const DENSITY_FACTORS = {
21
19
  compact: COMPACT_DENSITY_FACTOR,
22
20
  comfortable: COMFORTABLE_DENSITY_FACTOR,
@@ -17,20 +17,18 @@ const gridFilterStateSelector = state => state.filter;
17
17
  * Get the current filter model.
18
18
  * @category Filtering
19
19
  */
20
- const gridFilterModelSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filterModel);
20
+ const gridFilterModelSelector = exports.gridFilterModelSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filterModel);
21
21
 
22
22
  /**
23
23
  * Get the current quick filter values.
24
24
  * @category Filtering
25
25
  */
26
- exports.gridFilterModelSelector = gridFilterModelSelector;
27
- const gridQuickFilterValuesSelector = (0, _createSelector.createSelector)(gridFilterModelSelector, filterModel => filterModel.quickFilterValues);
26
+ const gridQuickFilterValuesSelector = exports.gridQuickFilterValuesSelector = (0, _createSelector.createSelector)(gridFilterModelSelector, filterModel => filterModel.quickFilterValues);
28
27
 
29
28
  /**
30
29
  * @category Visible rows
31
30
  * @ignore - do not document.
32
31
  */
33
- exports.gridQuickFilterValuesSelector = gridQuickFilterValuesSelector;
34
32
  const gridVisibleRowsLookupSelector = state => state.visibleRowsLookup;
35
33
 
36
34
  /**
@@ -38,53 +36,47 @@ const gridVisibleRowsLookupSelector = state => state.visibleRowsLookup;
38
36
  * @ignore - do not document.
39
37
  */
40
38
  exports.gridVisibleRowsLookupSelector = gridVisibleRowsLookupSelector;
41
- const gridFilteredRowsLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredRowsLookup);
39
+ const gridFilteredRowsLookupSelector = exports.gridFilteredRowsLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredRowsLookup);
42
40
 
43
41
  /**
44
42
  * @category Filtering
45
43
  * @ignore - do not document.
46
44
  */
47
- exports.gridFilteredRowsLookupSelector = gridFilteredRowsLookupSelector;
48
- const gridFilteredDescendantCountLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredDescendantCountLookup);
45
+ const gridFilteredDescendantCountLookupSelector = exports.gridFilteredDescendantCountLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredDescendantCountLookup);
49
46
 
50
47
  /**
51
48
  * Get the id and the model of the rows accessible after the filtering process.
52
49
  * Does not contain the collapsed children.
53
50
  * @category Filtering
54
51
  */
55
- exports.gridFilteredDescendantCountLookupSelector = gridFilteredDescendantCountLookupSelector;
56
- const gridExpandedSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (visibleRowsLookup, sortedRows) => sortedRows.filter(row => visibleRowsLookup[row.id] !== false));
52
+ const gridExpandedSortedRowEntriesSelector = exports.gridExpandedSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (visibleRowsLookup, sortedRows) => sortedRows.filter(row => visibleRowsLookup[row.id] !== false));
57
53
 
58
54
  /**
59
55
  * Get the id of the rows accessible after the filtering process.
60
56
  * Does not contain the collapsed children.
61
57
  * @category Filtering
62
58
  */
63
- exports.gridExpandedSortedRowEntriesSelector = gridExpandedSortedRowEntriesSelector;
64
- const gridExpandedSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, visibleSortedRowEntries => visibleSortedRowEntries.map(row => row.id));
59
+ const gridExpandedSortedRowIdsSelector = exports.gridExpandedSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, visibleSortedRowEntries => visibleSortedRowEntries.map(row => row.id));
65
60
 
66
61
  /**
67
62
  * Get the id and the model of the rows accessible after the filtering process.
68
63
  * Contains the collapsed children.
69
64
  * @category Filtering
70
65
  */
71
- exports.gridExpandedSortedRowIdsSelector = gridExpandedSortedRowIdsSelector;
72
- const gridFilteredSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (filteredRowsLookup, sortedRows) => sortedRows.filter(row => filteredRowsLookup[row.id] !== false));
66
+ const gridFilteredSortedRowEntriesSelector = exports.gridFilteredSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (filteredRowsLookup, sortedRows) => sortedRows.filter(row => filteredRowsLookup[row.id] !== false));
73
67
 
74
68
  /**
75
69
  * Get the id of the rows accessible after the filtering process.
76
70
  * Contains the collapsed children.
77
71
  * @category Filtering
78
72
  */
79
- exports.gridFilteredSortedRowEntriesSelector = gridFilteredSortedRowEntriesSelector;
80
- const gridFilteredSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredSortedRowEntriesSelector, filteredSortedRowEntries => filteredSortedRowEntries.map(row => row.id));
73
+ const gridFilteredSortedRowIdsSelector = exports.gridFilteredSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredSortedRowEntriesSelector, filteredSortedRowEntries => filteredSortedRowEntries.map(row => row.id));
81
74
 
82
75
  /**
83
76
  * Get the id and the model of the top level rows accessible after the filtering process.
84
77
  * @category Filtering
85
78
  */
86
- exports.gridFilteredSortedRowIdsSelector = gridFilteredSortedRowIdsSelector;
87
- const gridFilteredSortedTopLevelRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, (visibleSortedRows, rowTree, rowTreeDepth) => {
79
+ const gridFilteredSortedTopLevelRowEntriesSelector = exports.gridFilteredSortedTopLevelRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, (visibleSortedRows, rowTree, rowTreeDepth) => {
88
80
  if (rowTreeDepth < 2) {
89
81
  return visibleSortedRows;
90
82
  }
@@ -95,22 +87,19 @@ const gridFilteredSortedTopLevelRowEntriesSelector = (0, _createSelector.createS
95
87
  * Get the amount of rows accessible after the filtering process.
96
88
  * @category Filtering
97
89
  */
98
- exports.gridFilteredSortedTopLevelRowEntriesSelector = gridFilteredSortedTopLevelRowEntriesSelector;
99
- const gridExpandedRowCountSelector = (0, _createSelector.createSelector)(gridExpandedSortedRowEntriesSelector, visibleSortedRows => visibleSortedRows.length);
90
+ const gridExpandedRowCountSelector = exports.gridExpandedRowCountSelector = (0, _createSelector.createSelector)(gridExpandedSortedRowEntriesSelector, visibleSortedRows => visibleSortedRows.length);
100
91
 
101
92
  /**
102
93
  * Get the amount of top level rows accessible after the filtering process.
103
94
  * @category Filtering
104
95
  */
105
- exports.gridExpandedRowCountSelector = gridExpandedRowCountSelector;
106
- const gridFilteredTopLevelRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedTopLevelRowEntriesSelector, visibleSortedTopLevelRows => visibleSortedTopLevelRows.length);
96
+ const gridFilteredTopLevelRowCountSelector = exports.gridFilteredTopLevelRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedTopLevelRowEntriesSelector, visibleSortedTopLevelRows => visibleSortedTopLevelRows.length);
107
97
 
108
98
  /**
109
99
  * @category Filtering
110
100
  * @ignore - do not document.
111
101
  */
112
- exports.gridFilteredTopLevelRowCountSelector = gridFilteredTopLevelRowCountSelector;
113
- const gridFilterActiveItemsSelector = (0, _createSelector.createSelectorMemoized)(gridFilterModelSelector, _gridColumnsSelector.gridColumnLookupSelector, (filterModel, columnLookup) => filterModel.items?.filter(item => {
102
+ const gridFilterActiveItemsSelector = exports.gridFilterActiveItemsSelector = (0, _createSelector.createSelectorMemoized)(gridFilterModelSelector, _gridColumnsSelector.gridColumnLookupSelector, (filterModel, columnLookup) => filterModel.items?.filter(item => {
114
103
  if (!item.field) {
115
104
  return false;
116
105
  }
@@ -124,12 +113,11 @@ const gridFilterActiveItemsSelector = (0, _createSelector.createSelectorMemoized
124
113
  }
125
114
  return !filterOperator.InputComponent || item.value != null && item.value?.toString() !== '';
126
115
  }));
127
- exports.gridFilterActiveItemsSelector = gridFilterActiveItemsSelector;
128
116
  /**
129
117
  * @category Filtering
130
118
  * @ignore - do not document.
131
119
  */
132
- const gridFilterActiveItemsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridFilterActiveItemsSelector, activeFilters => {
120
+ const gridFilterActiveItemsLookupSelector = exports.gridFilterActiveItemsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridFilterActiveItemsSelector, activeFilters => {
133
121
  const result = activeFilters.reduce((res, filterItem) => {
134
122
  if (!res[filterItem.field]) {
135
123
  res[filterItem.field] = [filterItem];
@@ -139,5 +127,4 @@ const gridFilterActiveItemsLookupSelector = (0, _createSelector.createSelectorMe
139
127
  return res;
140
128
  }, {});
141
129
  return result;
142
- });
143
- exports.gridFilterActiveItemsLookupSelector = gridFilterActiveItemsLookupSelector;
130
+ });
@@ -169,7 +169,7 @@ const buildAggregatedFilterItemsApplier = (getRowId, filterModel, apiRef, disabl
169
169
 
170
170
  // We generate a new function with `eval()` to avoid expensive patterns for JS engines
171
171
  // such as a dynamic object assignment, e.g. `{ [dynamicKey]: value }`.
172
- const filterItemTemplate = `(function filterItem$$(appliers, row, shouldApplyFilter) {
172
+ const filterItemTemplate = `(function filterItem$$(getRowId, appliers, row, shouldApplyFilter) {
173
173
  ${appliers.map((applier, i) => `const shouldApply${i} = !shouldApplyFilter || shouldApplyFilter(${JSON.stringify(applier.item.field)});`).join('\n')}
174
174
 
175
175
  const result$$ = {
@@ -183,7 +183,7 @@ const buildAggregatedFilterItemsApplier = (getRowId, filterModel, apiRef, disabl
183
183
  })`;
184
184
  const filterItemCore = evalCode(filterItemTemplate.replaceAll('$$', String(filterItemsApplierId)));
185
185
  const filterItem = (row, shouldApplyItem) => {
186
- return filterItemCore(appliers, row, shouldApplyItem);
186
+ return filterItemCore(getRowId, appliers, row, shouldApplyItem);
187
187
  };
188
188
  filterItemsApplierId += 1;
189
189
  return filterItem;
@@ -233,7 +233,7 @@ const buildAggregatedQuickFilterApplier = (getRowId, filterModel, apiRef) => {
233
233
  const result = {};
234
234
  const usedCellParams = {};
235
235
 
236
- /* eslint-disable no-restricted-syntax, no-labels, no-continue */
236
+ /* eslint-disable no-restricted-syntax, no-labels */
237
237
  outer: for (let v = 0; v < quickFilterValues.length; v += 1) {
238
238
  const filterValue = quickFilterValues[v];
239
239
  for (let i = 0; i < appliersPerField.length; i += 1) {
@@ -270,7 +270,7 @@ const buildAggregatedQuickFilterApplier = (getRowId, filterModel, apiRef) => {
270
270
  }
271
271
  result[filterValue] = false;
272
272
  }
273
- /* eslint-enable no-restricted-syntax, no-labels, no-continue */
273
+ /* eslint-enable no-restricted-syntax, no-labels */
274
274
 
275
275
  return result;
276
276
  };
@@ -7,29 +7,21 @@ exports.unstable_gridTabIndexColumnHeaderFilterSelector = exports.unstable_gridT
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  const gridFocusStateSelector = state => state.focus;
9
9
  exports.gridFocusStateSelector = gridFocusStateSelector;
10
- const gridFocusCellSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.cell);
11
- exports.gridFocusCellSelector = gridFocusCellSelector;
12
- const gridFocusColumnHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeader);
10
+ const gridFocusCellSelector = exports.gridFocusCellSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.cell);
11
+ const gridFocusColumnHeaderSelector = exports.gridFocusColumnHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeader);
13
12
 
14
13
  // eslint-disable-next-line @typescript-eslint/naming-convention
15
- exports.gridFocusColumnHeaderSelector = gridFocusColumnHeaderSelector;
16
- const unstable_gridFocusColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeaderFilter);
14
+ const unstable_gridFocusColumnHeaderFilterSelector = exports.unstable_gridFocusColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeaderFilter);
17
15
 
18
16
  // eslint-disable-next-line @typescript-eslint/naming-convention
19
- exports.unstable_gridFocusColumnHeaderFilterSelector = unstable_gridFocusColumnHeaderFilterSelector;
20
- const unstable_gridFocusColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnGroupHeader);
21
- exports.unstable_gridFocusColumnGroupHeaderSelector = unstable_gridFocusColumnGroupHeaderSelector;
17
+ const unstable_gridFocusColumnGroupHeaderSelector = exports.unstable_gridFocusColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnGroupHeader);
22
18
  const gridTabIndexStateSelector = state => state.tabIndex;
23
19
  exports.gridTabIndexStateSelector = gridTabIndexStateSelector;
24
- const gridTabIndexCellSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.cell);
25
- exports.gridTabIndexCellSelector = gridTabIndexCellSelector;
26
- const gridTabIndexColumnHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeader);
20
+ const gridTabIndexCellSelector = exports.gridTabIndexCellSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.cell);
21
+ const gridTabIndexColumnHeaderSelector = exports.gridTabIndexColumnHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeader);
27
22
 
28
23
  // eslint-disable-next-line @typescript-eslint/naming-convention
29
- exports.gridTabIndexColumnHeaderSelector = gridTabIndexColumnHeaderSelector;
30
- const unstable_gridTabIndexColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeaderFilter);
24
+ const unstable_gridTabIndexColumnHeaderFilterSelector = exports.unstable_gridTabIndexColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeaderFilter);
31
25
 
32
26
  // eslint-disable-next-line @typescript-eslint/naming-convention
33
- exports.unstable_gridTabIndexColumnHeaderFilterSelector = unstable_gridTabIndexColumnHeaderFilterSelector;
34
- const unstable_gridTabIndexColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnGroupHeader);
35
- exports.unstable_gridTabIndexColumnGroupHeaderSelector = unstable_gridTabIndexColumnGroupHeaderSelector;
27
+ const unstable_gridTabIndexColumnGroupHeaderSelector = exports.unstable_gridTabIndexColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnGroupHeader);
@@ -9,7 +9,5 @@ var _createSelector = require("../../../utils/createSelector");
9
9
 
10
10
  const unstable_gridHeaderFilteringStateSelector = state => state.headerFiltering;
11
11
  exports.unstable_gridHeaderFilteringStateSelector = unstable_gridHeaderFilteringStateSelector;
12
- const unstable_gridHeaderFilteringEditFieldSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.editing);
13
- exports.unstable_gridHeaderFilteringEditFieldSelector = unstable_gridHeaderFilteringEditFieldSelector;
14
- const unstable_gridHeaderFilteringMenuSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.menuOpen);
15
- exports.unstable_gridHeaderFilteringMenuSelector = unstable_gridHeaderFilteringMenuSelector;
12
+ const unstable_gridHeaderFilteringEditFieldSelector = exports.unstable_gridHeaderFilteringEditFieldSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.editing);
13
+ const unstable_gridHeaderFilteringMenuSelector = exports.unstable_gridHeaderFilteringMenuSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.menuOpen);
@@ -19,35 +19,31 @@ const gridPaginationSelector = state => state.pagination;
19
19
  * @category Pagination
20
20
  */
21
21
  exports.gridPaginationSelector = gridPaginationSelector;
22
- const gridPaginationModelSelector = (0, _createSelector.createSelector)(gridPaginationSelector, pagination => pagination.paginationModel);
22
+ const gridPaginationModelSelector = exports.gridPaginationModelSelector = (0, _createSelector.createSelector)(gridPaginationSelector, pagination => pagination.paginationModel);
23
23
 
24
24
  /**
25
25
  * Get the index of the page to render if the pagination is enabled
26
26
  * @category Pagination
27
27
  */
28
- exports.gridPaginationModelSelector = gridPaginationModelSelector;
29
- const gridPageSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.page);
28
+ const gridPageSelector = exports.gridPageSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.page);
30
29
 
31
30
  /**
32
31
  * Get the maximum amount of rows to display on a single page if the pagination is enabled
33
32
  * @category Pagination
34
33
  */
35
- exports.gridPageSelector = gridPageSelector;
36
- const gridPageSizeSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.pageSize);
34
+ const gridPageSizeSelector = exports.gridPageSizeSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.pageSize);
37
35
 
38
36
  /**
39
37
  * Get the amount of pages needed to display all the rows if the pagination is enabled
40
38
  * @category Pagination
41
39
  */
42
- exports.gridPageSizeSelector = gridPageSizeSelector;
43
- const gridPageCountSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, _gridFilterSelector.gridFilteredTopLevelRowCountSelector, (paginationModel, visibleTopLevelRowCount) => (0, _gridPaginationUtils.getPageCount)(visibleTopLevelRowCount, paginationModel.pageSize));
40
+ const gridPageCountSelector = exports.gridPageCountSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, _gridFilterSelector.gridFilteredTopLevelRowCountSelector, (paginationModel, visibleTopLevelRowCount) => (0, _gridPaginationUtils.getPageCount)(visibleTopLevelRowCount, paginationModel.pageSize));
44
41
 
45
42
  /**
46
43
  * Get the index of the first and the last row to include in the current page if the pagination is enabled.
47
44
  * @category Pagination
48
45
  */
49
- exports.gridPageCountSelector = gridPageCountSelector;
50
- const gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoized)(gridPaginationModelSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, _gridFilterSelector.gridExpandedSortedRowEntriesSelector, _gridFilterSelector.gridFilteredSortedTopLevelRowEntriesSelector, (paginationModel, rowTree, rowTreeDepth, visibleSortedRowEntries, visibleSortedTopLevelRowEntries) => {
46
+ const gridPaginationRowRangeSelector = exports.gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoized)(gridPaginationModelSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, _gridFilterSelector.gridExpandedSortedRowEntriesSelector, _gridFilterSelector.gridFilteredSortedTopLevelRowEntriesSelector, (paginationModel, rowTree, rowTreeDepth, visibleSortedRowEntries, visibleSortedTopLevelRowEntries) => {
51
47
  const visibleTopLevelRowCount = visibleSortedTopLevelRowEntries.length;
52
48
  const topLevelFirstRowIndex = Math.min(paginationModel.pageSize * paginationModel.page, visibleTopLevelRowCount - 1);
53
49
  const topLevelLastRowIndex = Math.min(topLevelFirstRowIndex + paginationModel.pageSize - 1, visibleTopLevelRowCount - 1);
@@ -93,8 +89,7 @@ const gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoize
93
89
  * Get the id and the model of each row to include in the current page if the pagination is enabled.
94
90
  * @category Pagination
95
91
  */
96
- exports.gridPaginationRowRangeSelector = gridPaginationRowRangeSelector;
97
- const gridPaginatedVisibleSortedGridRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowEntriesSelector, gridPaginationRowRangeSelector, (visibleSortedRowEntries, paginationRange) => {
92
+ const gridPaginatedVisibleSortedGridRowEntriesSelector = exports.gridPaginatedVisibleSortedGridRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowEntriesSelector, gridPaginationRowRangeSelector, (visibleSortedRowEntries, paginationRange) => {
98
93
  if (!paginationRange) {
99
94
  return [];
100
95
  }
@@ -105,11 +100,9 @@ const gridPaginatedVisibleSortedGridRowEntriesSelector = (0, _createSelector.cre
105
100
  * Get the id of each row to include in the current page if the pagination is enabled.
106
101
  * @category Pagination
107
102
  */
108
- exports.gridPaginatedVisibleSortedGridRowEntriesSelector = gridPaginatedVisibleSortedGridRowEntriesSelector;
109
- const gridPaginatedVisibleSortedGridRowIdsSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowIdsSelector, gridPaginationRowRangeSelector, (visibleSortedRowIds, paginationRange) => {
103
+ const gridPaginatedVisibleSortedGridRowIdsSelector = exports.gridPaginatedVisibleSortedGridRowIdsSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowIdsSelector, gridPaginationRowRangeSelector, (visibleSortedRowIds, paginationRange) => {
110
104
  if (!paginationRange) {
111
105
  return [];
112
106
  }
113
107
  return visibleSortedRowIds.slice(paginationRange.firstRowIndex, paginationRange.lastRowIndex + 1);
114
- });
115
- exports.gridPaginatedVisibleSortedGridRowIdsSelector = gridPaginatedVisibleSortedGridRowIdsSelector;
108
+ });
@@ -16,8 +16,7 @@ const getPageCount = (rowCount, pageSize) => {
16
16
  return 0;
17
17
  };
18
18
  exports.getPageCount = getPageCount;
19
- const noRowCountInServerMode = (0, _warning.buildWarning)(["MUI: the 'rowCount' prop is undefined while using paginationMode='server'", 'For more detail, see http://mui.com/components/data-grid/pagination/#basic-implementation'], 'error');
20
- exports.noRowCountInServerMode = noRowCountInServerMode;
19
+ const noRowCountInServerMode = exports.noRowCountInServerMode = (0, _warning.buildWarning)(["MUI: the 'rowCount' prop is undefined while using paginationMode='server'", 'For more detail, see http://mui.com/components/data-grid/pagination/#basic-implementation'], 'error');
21
20
  const getDefaultGridPaginationModel = autoPageSize => ({
22
21
  page: 0,
23
22
  pageSize: autoPageSize ? 0 : 100
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.GridPreferencePanelsValue = void 0;
7
- var GridPreferencePanelsValue = /*#__PURE__*/function (GridPreferencePanelsValue) {
7
+ var GridPreferencePanelsValue = exports.GridPreferencePanelsValue = /*#__PURE__*/function (GridPreferencePanelsValue) {
8
8
  GridPreferencePanelsValue["filters"] = "filters";
9
9
  GridPreferencePanelsValue["columns"] = "columns";
10
10
  return GridPreferencePanelsValue;
11
- }(GridPreferencePanelsValue || {});
12
- exports.GridPreferencePanelsValue = GridPreferencePanelsValue;
11
+ }(GridPreferencePanelsValue || {});
@@ -8,12 +8,9 @@ var _createSelector = require("../../../utils/createSelector");
8
8
  var _gridRowsSelector = require("../rows/gridRowsSelector");
9
9
  const gridRowSelectionStateSelector = state => state.rowSelection;
10
10
  exports.gridRowSelectionStateSelector = gridRowSelectionStateSelector;
11
- const selectedGridRowsCountSelector = (0, _createSelector.createSelector)(gridRowSelectionStateSelector, selection => selection.length);
12
- exports.selectedGridRowsCountSelector = selectedGridRowsCountSelector;
13
- const selectedGridRowsSelector = (0, _createSelector.createSelectorMemoized)(gridRowSelectionStateSelector, _gridRowsSelector.gridRowsLookupSelector, (selectedRows, rowsLookup) => new Map(selectedRows.map(id => [id, rowsLookup[id]])));
14
- exports.selectedGridRowsSelector = selectedGridRowsSelector;
15
- const selectedIdsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridRowSelectionStateSelector, selection => selection.reduce((lookup, rowId) => {
11
+ const selectedGridRowsCountSelector = exports.selectedGridRowsCountSelector = (0, _createSelector.createSelector)(gridRowSelectionStateSelector, selection => selection.length);
12
+ const selectedGridRowsSelector = exports.selectedGridRowsSelector = (0, _createSelector.createSelectorMemoized)(gridRowSelectionStateSelector, _gridRowsSelector.gridRowsLookupSelector, (selectedRows, rowsLookup) => new Map(selectedRows.map(id => [id, rowsLookup[id]])));
13
+ const selectedIdsLookupSelector = exports.selectedIdsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridRowSelectionStateSelector, selection => selection.reduce((lookup, rowId) => {
16
14
  lookup[rowId] = rowId;
17
15
  return lookup;
18
- }, {}));
19
- exports.selectedIdsLookupSelector = selectedIdsLookupSelector;
16
+ }, {}));