@mui/x-data-grid 5.15.1 → 5.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/DataGrid/DataGrid.js +4 -2
  3. package/DataGrid/useDataGridComponent.js +5 -0
  4. package/README.md +2 -1
  5. package/components/DataGridColumnHeaders.js +4 -3
  6. package/components/ErrorBoundary.d.ts +1 -0
  7. package/components/GridAutoSizer.js +7 -0
  8. package/components/GridRow.js +5 -3
  9. package/components/base/GridBody.js +8 -5
  10. package/components/base/GridOverlays.js +4 -7
  11. package/components/cell/GridActionsCellItem.d.ts +2 -2
  12. package/components/cell/GridEditDateCell.js +1 -1
  13. package/components/cell/GridEditSingleSelectCell.js +9 -1
  14. package/components/columnHeaders/GridColumnGroupHeader.d.ts +14 -0
  15. package/components/columnHeaders/GridColumnGroupHeader.js +122 -0
  16. package/components/columnHeaders/GridColumnHeaderItem.js +55 -71
  17. package/components/columnHeaders/GridColumnHeadersInner.js +2 -1
  18. package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +32 -0
  19. package/components/columnHeaders/GridGenericColumnHeaderItem.js +104 -0
  20. package/components/containers/GridOverlay.js +7 -1
  21. package/components/containers/GridRoot.js +3 -3
  22. package/components/containers/GridRootStyles.js +14 -2
  23. package/components/menu/GridMenu.d.ts +3 -2
  24. package/components/menu/GridMenu.js +1 -0
  25. package/components/menu/columnMenu/GridColumnHeaderMenu.d.ts +1 -1
  26. package/components/panel/GridPanel.d.ts +1 -1
  27. package/components/panel/GridPanel.js +1 -0
  28. package/components/panel/filterPanel/GridFilterForm.d.ts +4 -0
  29. package/components/panel/filterPanel/GridFilterForm.js +5 -0
  30. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +1 -1
  31. package/components/panel/filterPanel/GridFilterPanel.d.ts +4 -0
  32. package/components/panel/filterPanel/GridFilterPanel.js +5 -0
  33. package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
  34. package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
  35. package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
  36. package/constants/gridClasses.d.ts +16 -0
  37. package/constants/gridClasses.js +1 -1
  38. package/hooks/features/columnGrouping/gridColumnGroupsInterfaces.d.ts +7 -0
  39. package/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +1 -0
  40. package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +7 -0
  41. package/hooks/features/columnGrouping/gridColumnGroupsSelector.js +8 -0
  42. package/hooks/features/columnGrouping/index.d.ts +2 -0
  43. package/hooks/features/columnGrouping/index.js +2 -0
  44. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +24 -0
  45. package/hooks/features/columnGrouping/useGridColumnGrouping.js +153 -0
  46. package/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.d.ts +4 -0
  47. package/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +35 -0
  48. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +7 -6
  49. package/hooks/features/columnHeaders/useGridColumnHeaders.js +204 -9
  50. package/hooks/features/density/densitySelector.d.ts +2 -0
  51. package/hooks/features/density/densitySelector.js +3 -1
  52. package/hooks/features/density/densityState.d.ts +1 -0
  53. package/hooks/features/density/useGridDensity.d.ts +1 -1
  54. package/hooks/features/density/useGridDensity.js +45 -9
  55. package/hooks/features/dimensions/useGridDimensions.js +4 -4
  56. package/hooks/features/editRows/useGridCellEditing.new.js +15 -7
  57. package/hooks/features/editRows/useGridRowEditing.new.js +9 -2
  58. package/hooks/features/export/useGridPrintExport.js +3 -3
  59. package/hooks/features/filter/gridFilterSelector.d.ts +3 -3
  60. package/hooks/features/filter/gridFilterState.d.ts +12 -1
  61. package/hooks/features/filter/gridFilterUtils.d.ts +8 -5
  62. package/hooks/features/filter/gridFilterUtils.js +74 -43
  63. package/hooks/features/filter/useGridFilter.js +16 -3
  64. package/hooks/features/focus/useGridFocus.js +11 -6
  65. package/hooks/features/index.d.ts +1 -0
  66. package/hooks/features/index.js +1 -0
  67. package/hooks/features/pagination/gridPaginationSelector.d.ts +1 -1
  68. package/hooks/features/rows/gridRowsSelector.d.ts +1 -1
  69. package/hooks/features/rows/useGridRows.js +5 -2
  70. package/hooks/features/selection/gridSelectionSelector.d.ts +1 -1
  71. package/hooks/features/sorting/gridSortingSelector.d.ts +1 -1
  72. package/hooks/features/statePersistence/gridStatePersistenceInterface.d.ts +3 -0
  73. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
  74. package/hooks/utils/useGridNativeEventListener.d.ts +1 -1
  75. package/hooks/utils/useGridNativeEventListener.js +2 -2
  76. package/hooks/utils/useGridVisibleRows.d.ts +2 -2
  77. package/index.js +1 -1
  78. package/internals/index.d.ts +3 -0
  79. package/internals/index.js +3 -0
  80. package/legacy/DataGrid/DataGrid.js +4 -2
  81. package/legacy/DataGrid/useDataGridComponent.js +5 -0
  82. package/legacy/components/DataGridColumnHeaders.js +4 -3
  83. package/legacy/components/GridAutoSizer.js +7 -0
  84. package/legacy/components/GridRow.js +4 -3
  85. package/legacy/components/base/GridBody.js +8 -5
  86. package/legacy/components/base/GridOverlays.js +4 -7
  87. package/legacy/components/cell/GridEditDateCell.js +1 -1
  88. package/legacy/components/cell/GridEditSingleSelectCell.js +9 -1
  89. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +120 -0
  90. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +78 -88
  91. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +2 -1
  92. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +112 -0
  93. package/legacy/components/containers/GridOverlay.js +7 -1
  94. package/legacy/components/containers/GridRoot.js +3 -3
  95. package/legacy/components/containers/GridRootStyles.js +11 -2
  96. package/legacy/components/menu/GridMenu.js +1 -0
  97. package/legacy/components/panel/GridPanel.js +1 -0
  98. package/legacy/components/panel/filterPanel/GridFilterForm.js +5 -0
  99. package/legacy/components/panel/filterPanel/GridFilterPanel.js +5 -0
  100. package/legacy/constants/gridClasses.js +1 -1
  101. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +1 -0
  102. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +12 -0
  103. package/legacy/hooks/features/columnGrouping/index.js +2 -0
  104. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +151 -0
  105. package/legacy/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +35 -0
  106. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +213 -12
  107. package/legacy/hooks/features/density/densitySelector.js +6 -0
  108. package/legacy/hooks/features/density/useGridDensity.js +44 -6
  109. package/legacy/hooks/features/dimensions/useGridDimensions.js +4 -4
  110. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +16 -8
  111. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +9 -2
  112. package/legacy/hooks/features/export/useGridPrintExport.js +3 -3
  113. package/legacy/hooks/features/filter/gridFilterUtils.js +84 -55
  114. package/legacy/hooks/features/filter/useGridFilter.js +16 -3
  115. package/legacy/hooks/features/focus/useGridFocus.js +11 -6
  116. package/legacy/hooks/features/index.js +1 -0
  117. package/legacy/hooks/features/rows/useGridRows.js +5 -2
  118. package/legacy/hooks/utils/useGridNativeEventListener.js +2 -2
  119. package/legacy/index.js +1 -1
  120. package/legacy/internals/index.js +3 -0
  121. package/legacy/models/api/gridColumnGroupingApi.js +1 -0
  122. package/legacy/models/gridColumnGrouping.js +6 -0
  123. package/legacy/models/index.js +2 -1
  124. package/models/api/gridApiCommon.d.ts +2 -1
  125. package/models/api/gridColumnGroupingApi.d.ts +19 -0
  126. package/models/api/gridColumnGroupingApi.js +1 -0
  127. package/models/api/gridDensityApi.d.ts +2 -1
  128. package/models/colDef/gridColDef.d.ts +15 -1
  129. package/models/gridColumnGrouping.d.ts +67 -0
  130. package/models/gridColumnGrouping.js +6 -0
  131. package/models/gridRows.d.ts +5 -5
  132. package/models/gridStateCommunity.d.ts +2 -1
  133. package/models/index.d.ts +1 -0
  134. package/models/index.js +2 -1
  135. package/models/params/gridMenuParams.d.ts +1 -2
  136. package/models/props/DataGridProps.d.ts +10 -4
  137. package/modern/DataGrid/DataGrid.js +4 -2
  138. package/modern/DataGrid/useDataGridComponent.js +5 -0
  139. package/modern/components/DataGridColumnHeaders.js +4 -3
  140. package/modern/components/GridAutoSizer.js +7 -0
  141. package/modern/components/GridRow.js +5 -3
  142. package/modern/components/base/GridBody.js +8 -5
  143. package/modern/components/base/GridOverlays.js +4 -7
  144. package/modern/components/cell/GridEditDateCell.js +1 -1
  145. package/modern/components/cell/GridEditSingleSelectCell.js +9 -1
  146. package/modern/components/columnHeaders/GridColumnGroupHeader.js +120 -0
  147. package/modern/components/columnHeaders/GridColumnHeaderItem.js +53 -69
  148. package/modern/components/columnHeaders/GridColumnHeadersInner.js +2 -1
  149. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +104 -0
  150. package/modern/components/containers/GridOverlay.js +7 -1
  151. package/modern/components/containers/GridRoot.js +3 -3
  152. package/modern/components/containers/GridRootStyles.js +14 -2
  153. package/modern/components/menu/GridMenu.js +1 -0
  154. package/modern/components/panel/GridPanel.js +1 -0
  155. package/modern/components/panel/filterPanel/GridFilterForm.js +5 -0
  156. package/modern/components/panel/filterPanel/GridFilterPanel.js +5 -0
  157. package/modern/constants/gridClasses.js +1 -1
  158. package/modern/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +1 -0
  159. package/modern/hooks/features/columnGrouping/gridColumnGroupsSelector.js +8 -0
  160. package/modern/hooks/features/columnGrouping/index.js +2 -0
  161. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +145 -0
  162. package/modern/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +29 -0
  163. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +186 -9
  164. package/modern/hooks/features/density/densitySelector.js +3 -1
  165. package/modern/hooks/features/density/useGridDensity.js +37 -9
  166. package/modern/hooks/features/dimensions/useGridDimensions.js +4 -4
  167. package/modern/hooks/features/editRows/useGridCellEditing.new.js +15 -7
  168. package/modern/hooks/features/editRows/useGridRowEditing.new.js +9 -2
  169. package/modern/hooks/features/export/useGridPrintExport.js +3 -3
  170. package/modern/hooks/features/filter/gridFilterUtils.js +73 -42
  171. package/modern/hooks/features/filter/useGridFilter.js +16 -3
  172. package/modern/hooks/features/focus/useGridFocus.js +11 -6
  173. package/modern/hooks/features/index.js +1 -0
  174. package/modern/hooks/features/rows/useGridRows.js +5 -2
  175. package/modern/hooks/utils/useGridNativeEventListener.js +2 -2
  176. package/modern/index.js +1 -1
  177. package/modern/internals/index.js +3 -0
  178. package/modern/models/api/gridColumnGroupingApi.js +1 -0
  179. package/modern/models/gridColumnGrouping.js +6 -0
  180. package/modern/models/index.js +2 -1
  181. package/node/DataGrid/DataGrid.js +4 -2
  182. package/node/DataGrid/useDataGridComponent.js +7 -0
  183. package/node/components/DataGridColumnHeaders.js +4 -3
  184. package/node/components/GridAutoSizer.js +7 -0
  185. package/node/components/GridRow.js +6 -3
  186. package/node/components/base/GridBody.js +7 -4
  187. package/node/components/base/GridOverlays.js +3 -6
  188. package/node/components/cell/GridEditDateCell.js +1 -1
  189. package/node/components/cell/GridEditSingleSelectCell.js +9 -1
  190. package/node/components/columnHeaders/GridColumnGroupHeader.js +141 -0
  191. package/node/components/columnHeaders/GridColumnHeaderItem.js +53 -72
  192. package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -1
  193. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +126 -0
  194. package/node/components/containers/GridOverlay.js +7 -1
  195. package/node/components/containers/GridRoot.js +4 -4
  196. package/node/components/containers/GridRootStyles.js +14 -2
  197. package/node/components/menu/GridMenu.js +1 -0
  198. package/node/components/panel/GridPanel.js +1 -0
  199. package/node/components/panel/filterPanel/GridFilterForm.js +5 -0
  200. package/node/components/panel/filterPanel/GridFilterPanel.js +5 -0
  201. package/node/constants/gridClasses.js +1 -1
  202. package/node/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +5 -0
  203. package/node/hooks/features/columnGrouping/gridColumnGroupsSelector.js +18 -0
  204. package/node/hooks/features/columnGrouping/index.js +18 -0
  205. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +182 -0
  206. package/node/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +55 -0
  207. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +207 -8
  208. package/node/hooks/features/density/densitySelector.js +6 -2
  209. package/node/hooks/features/density/useGridDensity.js +48 -9
  210. package/node/hooks/features/dimensions/useGridDimensions.js +3 -3
  211. package/node/hooks/features/editRows/useGridCellEditing.new.js +15 -7
  212. package/node/hooks/features/editRows/useGridRowEditing.new.js +9 -2
  213. package/node/hooks/features/export/useGridPrintExport.js +2 -2
  214. package/node/hooks/features/filter/gridFilterUtils.js +81 -47
  215. package/node/hooks/features/filter/useGridFilter.js +15 -2
  216. package/node/hooks/features/focus/useGridFocus.js +11 -6
  217. package/node/hooks/features/index.js +13 -0
  218. package/node/hooks/features/rows/useGridRows.js +5 -2
  219. package/node/hooks/utils/useGridNativeEventListener.js +2 -2
  220. package/node/index.js +1 -1
  221. package/node/internals/index.js +30 -0
  222. package/node/models/api/gridColumnGroupingApi.js +5 -0
  223. package/node/models/gridColumnGrouping.js +13 -0
  224. package/node/models/index.js +13 -0
  225. package/package.json +3 -3
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridColumnGroupHeader = GridColumnGroupHeader;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var React = _interopRequireWildcard(require("react"));
13
+
14
+ var _utils = require("@mui/utils");
15
+
16
+ var _material = require("@mui/material");
17
+
18
+ var _gridClasses = require("../../constants/gridClasses");
19
+
20
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
21
+
22
+ var _gridColumnGroupsSelector = require("../../hooks/features/columnGrouping/gridColumnGroupsSelector");
23
+
24
+ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
25
+
26
+ var _useGridSelector = require("../../hooks/utils/useGridSelector");
27
+
28
+ var _GridGenericColumnHeaderItem = require("./GridGenericColumnHeaderItem");
29
+
30
+ var _jsxRuntime = require("react/jsx-runtime");
31
+
32
+ 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); }
33
+
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; }
35
+
36
+ const useUtilityClasses = ownerState => {
37
+ const {
38
+ classes,
39
+ headerAlign,
40
+ isDragging,
41
+ showRightBorder,
42
+ showColumnBorder,
43
+ groupId
44
+ } = ownerState;
45
+ const slots = {
46
+ root: ['columnHeader', headerAlign === 'left' && 'columnHeader--alignLeft', headerAlign === 'center' && 'columnHeader--alignCenter', headerAlign === 'right' && 'columnHeader--alignRight', isDragging && 'columnHeader--moving', showRightBorder && 'withBorder', showColumnBorder && 'columnHeader--showColumnBorder', groupId === null ? 'columnHeader--emptyGroup' : 'columnHeader--filledGroup'],
47
+ draggableContainer: ['columnHeaderDraggableContainer'],
48
+ titleContainer: ['columnHeaderTitleContainer'],
49
+ titleContainerContent: ['columnHeaderTitleContainerContent']
50
+ };
51
+ return (0, _material.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
52
+ };
53
+
54
+ function GridColumnGroupHeader(props) {
55
+ var _apiRef$current$getRo, _columnGroupsLookup$g;
56
+
57
+ const {
58
+ groupId,
59
+ width,
60
+ depth,
61
+ maxDepth,
62
+ fields,
63
+ height,
64
+ colIndex,
65
+ isLastColumn,
66
+ extendRowFullWidth
67
+ } = props;
68
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
69
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
70
+ const columnGroupsLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsLookupSelector);
71
+ const {
72
+ hasScrollX,
73
+ hasScrollY
74
+ } = (_apiRef$current$getRo = apiRef.current.getRootDimensions()) != null ? _apiRef$current$getRo : {
75
+ hasScrollX: false,
76
+ hasScrollY: false
77
+ };
78
+ const group = groupId ? columnGroupsLookup[groupId] : {};
79
+ const {
80
+ headerName = groupId != null ? groupId : '',
81
+ description = '',
82
+ headerAlign = undefined
83
+ } = group;
84
+ let headerComponent;
85
+ const render = groupId && ((_columnGroupsLookup$g = columnGroupsLookup[groupId]) == null ? void 0 : _columnGroupsLookup$g.renderHeaderGroup);
86
+ const renderParams = {
87
+ groupId,
88
+ headerName,
89
+ description,
90
+ depth,
91
+ maxDepth,
92
+ fields,
93
+ colIndex,
94
+ isLastColumn
95
+ };
96
+
97
+ if (groupId && render) {
98
+ headerComponent = render(renderParams);
99
+ }
100
+
101
+ const removeLastBorderRight = isLastColumn && hasScrollX && !hasScrollY;
102
+ const showRightBorder = !isLastColumn ? rootProps.showColumnRightBorder : !removeLastBorderRight && !extendRowFullWidth;
103
+ const showColumnBorder = rootProps.showColumnRightBorder;
104
+ const ownerState = (0, _extends2.default)({}, props, {
105
+ classes: rootProps.classes,
106
+ showRightBorder,
107
+ showColumnBorder,
108
+ headerAlign,
109
+ depth,
110
+ isDragging: false
111
+ });
112
+ const label = headerName != null ? headerName : groupId;
113
+ const id = (0, _utils.unstable_useId)();
114
+ const elementId = groupId === null ? `empty-group-cell-${id}` : groupId;
115
+ const classes = useUtilityClasses(ownerState);
116
+ const headerClassName = typeof group.headerClassName === 'function' ? group.headerClassName(renderParams) : group.headerClassName;
117
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridGenericColumnHeaderItem.GridGenericColumnHeaderItem, {
118
+ classes: classes,
119
+ columnMenuOpen: false,
120
+ colIndex: colIndex,
121
+ height: height,
122
+ isResizing: false,
123
+ sortDirection: null,
124
+ hasFocus: false,
125
+ tabIndex: -1,
126
+ isDraggable: false,
127
+ headerComponent: headerComponent,
128
+ headerClassName: headerClassName,
129
+ description: description,
130
+ elementId: elementId,
131
+ width: width,
132
+ columnMenuIconButton: null,
133
+ columnTitleIconButtons: null,
134
+ resizable: false,
135
+ label: label,
136
+ "aria-colspan": fields.length // The fields are wrapped between |-...-| to avoid confusion between fields "id" and "id2" when using selector data-fields~=
137
+ ,
138
+ "data-fields": `|-${fields.join('-|-')}-|`,
139
+ disableHeaderSeparator: true
140
+ });
141
+ }
@@ -13,8 +13,6 @@ var React = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
- var _clsx = _interopRequireDefault(require("clsx"));
17
-
18
16
  var _material = require("@mui/material");
19
17
 
20
18
  var _utils = require("@mui/material/utils");
@@ -23,10 +21,6 @@ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
23
21
 
24
22
  var _GridColumnHeaderSortIcon = require("./GridColumnHeaderSortIcon");
25
23
 
26
- var _GridColumnHeaderTitle = require("./GridColumnHeaderTitle");
27
-
28
- var _GridColumnHeaderSeparator = require("./GridColumnHeaderSeparator");
29
-
30
24
  var _ColumnHeaderMenuIcon = require("./ColumnHeaderMenuIcon");
31
25
 
32
26
  var _GridColumnHeaderMenu = require("../menu/columnMenu/GridColumnHeaderMenu");
@@ -35,6 +29,8 @@ var _gridClasses = require("../../constants/gridClasses");
35
29
 
36
30
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
37
31
 
32
+ var _GridGenericColumnHeaderItem = require("./GridGenericColumnHeaderItem");
33
+
38
34
  var _jsxRuntime = require("react/jsx-runtime");
39
35
 
40
36
  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); }
@@ -64,7 +60,7 @@ const useUtilityClasses = ownerState => {
64
60
  };
65
61
 
66
62
  function GridColumnHeaderItem(props) {
67
- var _apiRef$current$getRo, _column$sortingOrder, _rootProps$components, _column$headerName, _rootProps$components2;
63
+ var _apiRef$current$getRo, _rootProps$components, _column$sortingOrder, _rootProps$components2, _column$headerName;
68
64
 
69
65
  const {
70
66
  column,
@@ -97,12 +93,19 @@ function GridColumnHeaderItem(props) {
97
93
  hasScrollY: false
98
94
  };
99
95
  const isDraggable = React.useMemo(() => !rootProps.disableColumnReorder && !disableReorder && !column.disableReorder, [rootProps.disableColumnReorder, disableReorder, column.disableReorder]);
100
- let headerComponent = null;
96
+ let headerComponent;
101
97
 
102
98
  if (column.renderHeader) {
103
99
  headerComponent = column.renderHeader(apiRef.current.getColumnHeaderParams(column.field));
104
100
  }
105
101
 
102
+ const removeLastBorderRight = isLastColumn && hasScrollX && !hasScrollY;
103
+ const showRightBorder = !isLastColumn ? rootProps.showColumnRightBorder : !removeLastBorderRight && !extendRowFullWidth;
104
+ const ownerState = (0, _extends2.default)({}, props, {
105
+ classes: rootProps.classes,
106
+ showRightBorder
107
+ });
108
+ const classes = useUtilityClasses(ownerState);
106
109
  const publish = React.useCallback(eventName => event => {
107
110
  // Ignore portal
108
111
  // See https://github.com/mui/mui-x/issues/1721
@@ -112,7 +115,7 @@ function GridColumnHeaderItem(props) {
112
115
 
113
116
  apiRef.current.publishEvent(eventName, apiRef.current.getColumnHeaderParams(column.field), event);
114
117
  }, [apiRef, column.field]);
115
- const mouseEventsHandlers = {
118
+ const mouseEventsHandlers = React.useMemo(() => ({
116
119
  onClick: publish('columnHeaderClick'),
117
120
  onDoubleClick: publish('columnHeaderDoubleClick'),
118
121
  onMouseOver: publish('columnHeaderOver'),
@@ -126,27 +129,16 @@ function GridColumnHeaderItem(props) {
126
129
  onKeyDown: publish('columnHeaderKeyDown'),
127
130
  onFocus: publish('columnHeaderFocus'),
128
131
  onBlur: publish('columnHeaderBlur')
129
- };
130
- const draggableEventHandlers = isDraggable ? {
132
+ }), [publish]);
133
+ const draggableEventHandlers = React.useMemo(() => isDraggable ? {
131
134
  onDragStart: publish('columnHeaderDragStart'),
132
135
  onDragEnter: publish('columnHeaderDragEnter'),
133
136
  onDragOver: publish('columnHeaderDragOver'),
134
137
  onDragEnd: publish('columnHeaderDragEnd')
135
- } : null;
136
- const removeLastBorderRight = isLastColumn && hasScrollX && !hasScrollY;
137
- const showRightBorder = !isLastColumn ? rootProps.showColumnRightBorder : !removeLastBorderRight && !extendRowFullWidth;
138
- const ownerState = (0, _extends2.default)({}, props, {
139
- classes: rootProps.classes,
140
- showRightBorder
141
- });
142
- const classes = useUtilityClasses(ownerState);
143
- const width = column.computedWidth;
144
- let ariaSort = 'none';
145
-
146
- if (sortDirection != null) {
147
- ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';
148
- }
149
-
138
+ } : {}, [isDraggable, publish]);
139
+ const columnHeaderSeparatorProps = React.useMemo(() => ({
140
+ onMouseDown: publish('columnSeparatorMouseDown')
141
+ }), [publish]);
150
142
  React.useEffect(() => {
151
143
  if (!showColumnMenuIcon) {
152
144
  setShowColumnMenuIcon(columnMenuOpen);
@@ -162,12 +154,22 @@ function GridColumnHeaderItem(props) {
162
154
  open: showColumnMenuIcon,
163
155
  iconButtonRef: iconButtonRef
164
156
  });
157
+ const columnMenu = /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderMenu.GridColumnHeaderMenu, {
158
+ columnMenuId: columnMenuId,
159
+ columnMenuButtonId: columnMenuButtonId,
160
+ field: column.field,
161
+ open: columnMenuOpen,
162
+ target: iconButtonRef.current,
163
+ ContentComponent: rootProps.components.ColumnMenu,
164
+ contentComponentProps: (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.columnMenu,
165
+ onExited: handleExited
166
+ });
165
167
  const sortingOrder = (_column$sortingOrder = column.sortingOrder) != null ? _column$sortingOrder : rootProps.sortingOrder;
166
168
  const columnTitleIconButtons = /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
167
169
  children: [!rootProps.disableColumnFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.ColumnHeaderFilterIconButton, (0, _extends2.default)({
168
170
  field: column.field,
169
171
  counter: filterItemsCounter
170
- }, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.columnHeaderFilterIconButton)), column.sortable && !column.hideSortIcons && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderSortIcon.GridColumnHeaderSortIcon, {
172
+ }, (_rootProps$components2 = rootProps.componentsProps) == null ? void 0 : _rootProps$components2.columnHeaderFilterIconButton)), column.sortable && !column.hideSortIcons && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderSortIcon.GridColumnHeaderSortIcon, {
171
173
  direction: sortDirection,
172
174
  index: sortIndex,
173
175
  sortingOrder: sortingOrder
@@ -188,53 +190,32 @@ function GridColumnHeaderItem(props) {
188
190
  colDef: column
189
191
  }) : column.headerClassName;
190
192
  const label = (_column$headerName = column.headerName) != null ? _column$headerName : column.field;
191
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
193
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridGenericColumnHeaderItem.GridGenericColumnHeaderItem, (0, _extends2.default)({
192
194
  ref: headerCellRef,
193
- className: (0, _clsx.default)(classes.root, headerClassName),
194
- "data-field": column.field,
195
- style: {
196
- width,
197
- minWidth: width,
198
- maxWidth: width
199
- },
200
- role: "columnheader",
195
+ classes: classes,
196
+ columnMenuOpen: columnMenuOpen,
197
+ colIndex: colIndex,
198
+ height: headerHeight,
199
+ isResizing: isResizing,
200
+ sortDirection: sortDirection,
201
+ hasFocus: hasFocus,
201
202
  tabIndex: tabIndex,
202
- "aria-colindex": colIndex + 1,
203
- "aria-sort": ariaSort,
204
- "aria-label": column.renderHeader && headerComponent == null ? label : undefined
205
- }, mouseEventsHandlers, {
206
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
207
- className: classes.draggableContainer,
208
- draggable: isDraggable
209
- }, draggableEventHandlers, {
210
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
211
- className: classes.titleContainer,
212
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
213
- className: classes.titleContainerContent,
214
- children: column.renderHeader ? headerComponent : /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderTitle.GridColumnHeaderTitle, {
215
- label: label,
216
- description: column.description,
217
- columnWidth: width
218
- })
219
- }), columnTitleIconButtons]
220
- }), columnMenuIconButton]
221
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderSeparator.GridColumnHeaderSeparator, {
222
- resizable: !rootProps.disableColumnResize && !!column.resizable,
223
- resizing: isResizing,
224
- height: headerHeight,
225
- onMouseDown: publish('columnSeparatorMouseDown'),
226
- side: separatorSide
227
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderMenu.GridColumnHeaderMenu, {
228
- columnMenuId: columnMenuId,
229
- columnMenuButtonId: columnMenuButtonId,
230
- field: column.field,
231
- open: columnMenuOpen,
232
- target: iconButtonRef.current,
233
- ContentComponent: rootProps.components.ColumnMenu,
234
- contentComponentProps: (_rootProps$components2 = rootProps.componentsProps) == null ? void 0 : _rootProps$components2.columnMenu,
235
- onExited: handleExited
236
- })]
237
- }));
203
+ separatorSide: separatorSide,
204
+ isDraggable: isDraggable,
205
+ headerComponent: headerComponent,
206
+ description: column.description,
207
+ elementId: column.field,
208
+ width: column.computedWidth,
209
+ columnMenuIconButton: columnMenuIconButton,
210
+ columnTitleIconButtons: columnTitleIconButtons,
211
+ headerClassName: headerClassName,
212
+ label: label,
213
+ resizable: !rootProps.disableColumnResize && !!column.resizable,
214
+ "data-field": column.field,
215
+ columnMenu: columnMenu,
216
+ draggableContainerProps: draggableEventHandlers,
217
+ columnHeaderSeparatorProps: columnHeaderSeparatorProps
218
+ }, mouseEventsHandlers));
238
219
  }
239
220
 
240
221
  process.env.NODE_ENV !== "production" ? GridColumnHeaderItem.propTypes = {
@@ -53,7 +53,8 @@ const GridColumnHeadersInnerRoot = (0, _styles.styled)('div', {
53
53
  }, styles.columnHeadersInner]
54
54
  })(() => ({
55
55
  display: 'flex',
56
- alignItems: 'center',
56
+ alignItems: 'flex-start',
57
+ flexDirection: 'column',
57
58
  [`&.${_gridClasses.gridClasses.columnHeaderDropZone} .${_gridClasses.gridClasses.columnHeaderDraggableContainer}`]: {
58
59
  cursor: 'move'
59
60
  },
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridGenericColumnHeaderItem = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var React = _interopRequireWildcard(require("react"));
15
+
16
+ var _clsx = _interopRequireDefault(require("clsx"));
17
+
18
+ var _utils = require("@mui/material/utils");
19
+
20
+ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
21
+
22
+ var _GridColumnHeaderTitle = require("./GridColumnHeaderTitle");
23
+
24
+ var _GridColumnHeaderSeparator = require("./GridColumnHeaderSeparator");
25
+
26
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
27
+
28
+ var _jsxRuntime = require("react/jsx-runtime");
29
+
30
+ const _excluded = ["classes", "columnMenuOpen", "colIndex", "height", "isResizing", "sortDirection", "hasFocus", "tabIndex", "separatorSide", "isDraggable", "headerComponent", "description", "elementId", "width", "columnMenuIconButton", "columnMenu", "columnTitleIconButtons", "headerClassName", "label", "resizable", "draggableContainerProps", "columnHeaderSeparatorProps", "disableHeaderSeparator"];
31
+
32
+ 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); }
33
+
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; }
35
+
36
+ const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridGenericColumnHeaderItem(props, ref) {
37
+ const {
38
+ classes,
39
+ columnMenuOpen,
40
+ colIndex,
41
+ height,
42
+ isResizing,
43
+ sortDirection,
44
+ hasFocus,
45
+ tabIndex,
46
+ separatorSide,
47
+ isDraggable,
48
+ headerComponent,
49
+ description,
50
+ width,
51
+ columnMenuIconButton = null,
52
+ columnMenu = null,
53
+ columnTitleIconButtons = null,
54
+ headerClassName,
55
+ label,
56
+ resizable,
57
+ draggableContainerProps,
58
+ columnHeaderSeparatorProps,
59
+ disableHeaderSeparator
60
+ } = props,
61
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
62
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
63
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
64
+ const headerCellRef = React.useRef(null);
65
+ const [showColumnMenuIcon, setShowColumnMenuIcon] = React.useState(columnMenuOpen);
66
+ const handleRef = (0, _utils.useForkRef)(headerCellRef, ref);
67
+ let ariaSort = 'none';
68
+
69
+ if (sortDirection != null) {
70
+ ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';
71
+ }
72
+
73
+ React.useEffect(() => {
74
+ if (!showColumnMenuIcon) {
75
+ setShowColumnMenuIcon(columnMenuOpen);
76
+ }
77
+ }, [showColumnMenuIcon, columnMenuOpen]);
78
+ React.useLayoutEffect(() => {
79
+ const columnMenuState = apiRef.current.state.columnMenu;
80
+
81
+ if (hasFocus && !columnMenuState.open) {
82
+ const focusableElement = headerCellRef.current.querySelector('[tabindex="0"]');
83
+ const elementToFocus = focusableElement || headerCellRef.current;
84
+ elementToFocus == null ? void 0 : elementToFocus.focus();
85
+ apiRef.current.columnHeadersContainerElementRef.current.scrollLeft = 0;
86
+ }
87
+ }, [apiRef, hasFocus]);
88
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
89
+ ref: handleRef,
90
+ className: (0, _clsx.default)(classes.root, headerClassName),
91
+ style: {
92
+ height,
93
+ width,
94
+ minWidth: width,
95
+ maxWidth: width
96
+ },
97
+ role: "columnheader",
98
+ tabIndex: tabIndex,
99
+ "aria-colindex": colIndex + 1,
100
+ "aria-sort": ariaSort,
101
+ "aria-label": headerComponent == null ? label : undefined
102
+ }, other, {
103
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
104
+ className: classes.draggableContainer,
105
+ draggable: isDraggable
106
+ }, draggableContainerProps, {
107
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
108
+ className: classes.titleContainer,
109
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
110
+ className: classes.titleContainerContent,
111
+ children: headerComponent !== undefined ? headerComponent : /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderTitle.GridColumnHeaderTitle, {
112
+ label: label,
113
+ description: description,
114
+ columnWidth: width
115
+ })
116
+ }), columnTitleIconButtons]
117
+ }), columnMenuIconButton]
118
+ })), !disableHeaderSeparator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderSeparator.GridColumnHeaderSeparator, (0, _extends2.default)({
119
+ resizable: !rootProps.disableColumnResize && !!resizable,
120
+ resizing: isResizing,
121
+ height: height,
122
+ side: separatorSide
123
+ }, columnHeaderSeparatorProps)), columnMenu]
124
+ }));
125
+ });
126
+ exports.GridGenericColumnHeaderItem = GridGenericColumnHeaderItem;
@@ -50,8 +50,14 @@ const GridOverlayRoot = (0, _styles.styled)('div', {
50
50
  })(({
51
51
  theme
52
52
  }) => ({
53
- display: 'flex',
53
+ position: 'absolute',
54
+ top: 0,
55
+ zIndex: 4,
56
+ // should be above pinned columns, pinned rows and detail panel
57
+ width: '100%',
54
58
  height: '100%',
59
+ pointerEvents: 'none',
60
+ display: 'flex',
55
61
  alignSelf: 'center',
56
62
  alignItems: 'center',
57
63
  justifyContent: 'center',
@@ -33,10 +33,10 @@ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
33
33
 
34
34
  var _gridClasses = require("../../constants/gridClasses");
35
35
 
36
- var _gridRowsSelector = require("../../hooks/features/rows/gridRowsSelector");
37
-
38
36
  var _densitySelector = require("../../hooks/features/density/densitySelector");
39
37
 
38
+ var _gridRowsSelector = require("../../hooks/features/rows/gridRowsSelector");
39
+
40
40
  var _jsxRuntime = require("react/jsx-runtime");
41
41
 
42
42
  const _excluded = ["children", "className"];
@@ -68,6 +68,7 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
68
68
  const visibleColumns = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector);
69
69
  const totalRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowCountSelector);
70
70
  const densityValue = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityValueSelector);
71
+ const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityHeaderGroupingMaxDepthSelector);
71
72
  const rootContainerRef = React.useRef(null);
72
73
  const handleRef = (0, _utils.useForkRef)(rootContainerRef, ref);
73
74
  const pinnedRowsCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridPinnedRowsCountSelector);
@@ -98,8 +99,7 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
98
99
  className: (0, _clsx.default)(className, classes.root),
99
100
  role: "grid",
100
101
  "aria-colcount": visibleColumns.length,
101
- "aria-rowcount": totalRowCount + pinnedRowsCount + 1 // +1 for the header row
102
- ,
102
+ "aria-rowcount": headerGroupingMaxDepth + 1 + pinnedRowsCount + totalRowCount,
103
103
  "aria-multiselectable": !rootProps.disableMultipleSelection,
104
104
  "aria-label": rootProps['aria-label'],
105
105
  "aria-labelledby": rootProps['aria-labelledby']
@@ -186,13 +186,24 @@ const GridRootStyles = (0, _styles.styled)('div', {
186
186
  minWidth: 0,
187
187
  flex: 1,
188
188
  whiteSpace: 'nowrap',
189
- overflowX: 'hidden'
189
+ overflow: 'hidden'
190
190
  },
191
191
  [`& .${_gridClasses.gridClasses.columnHeaderTitleContainerContent}`]: {
192
192
  overflow: 'hidden',
193
193
  display: 'flex',
194
194
  alignItems: 'center'
195
195
  },
196
+ [`& .${_gridClasses.gridClasses['columnHeader--filledGroup']} .${_gridClasses.gridClasses.columnHeaderTitleContainer}`]: {
197
+ borderBottom: `solid ${borderColor} 1px`,
198
+ boxSizing: 'border-box'
199
+ },
200
+ [`& .${_gridClasses.gridClasses['columnHeader--filledGroup']}.${_gridClasses.gridClasses['columnHeader--showColumnBorder']} .${_gridClasses.gridClasses.columnHeaderTitleContainer}`]: {
201
+ borderBottom: `none`
202
+ },
203
+ [`& .${_gridClasses.gridClasses['columnHeader--filledGroup']}.${_gridClasses.gridClasses['columnHeader--showColumnBorder']}`]: {
204
+ borderBottom: `solid ${borderColor} 1px`,
205
+ boxSizing: 'border-box'
206
+ },
196
207
  [`& .${_gridClasses.gridClasses.sortIcon}, & .${_gridClasses.gridClasses.filterIcon}`]: {
197
208
  fontSize: 'inherit'
198
209
  },
@@ -372,7 +383,8 @@ const GridRootStyles = (0, _styles.styled)('div', {
372
383
  },
373
384
  [`& .${_gridClasses.gridClasses.columnHeaderDraggableContainer}`]: {
374
385
  display: 'flex',
375
- width: '100%'
386
+ width: '100%',
387
+ height: '100%'
376
388
  },
377
389
  [`& .${_gridClasses.gridClasses.rowReorderCellPlaceholder}`]: {
378
390
  display: 'none'
@@ -150,6 +150,7 @@ process.env.NODE_ENV !== "production" ? GridMenu.propTypes = {
150
150
  // | These PropTypes are generated from the TypeScript type definitions |
151
151
  // | To update them edit the TypeScript types and run "yarn proptypes" |
152
152
  // ----------------------------------------------------------------------
153
+ children: _propTypes.default.node,
153
154
  onClickAway: _propTypes.default.func.isRequired,
154
155
  onExited: _propTypes.default.func,
155
156
 
@@ -126,6 +126,7 @@ process.env.NODE_ENV !== "production" ? GridPanel.propTypes = {
126
126
  // | These PropTypes are generated from the TypeScript type definitions |
127
127
  // | To update them edit the TypeScript types and run "yarn proptypes" |
128
128
  // ----------------------------------------------------------------------
129
+ children: _propTypes.default.node,
129
130
 
130
131
  /**
131
132
  * Override or extend the styles applied to the component.
@@ -380,6 +380,11 @@ process.env.NODE_ENV !== "production" ? GridFilterForm.propTypes = {
380
380
  */
381
381
  applyMultiFilterOperatorChanges: _propTypes.default.func.isRequired,
382
382
 
383
+ /**
384
+ * @ignore - do not document.
385
+ */
386
+ children: _propTypes.default.node,
387
+
383
388
  /**
384
389
  * Props passed to the column input component.
385
390
  * @default {}
@@ -154,6 +154,11 @@ process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes = {
154
154
  // | To update them edit the TypeScript types and run "yarn proptypes" |
155
155
  // ----------------------------------------------------------------------
156
156
 
157
+ /**
158
+ * @ignore - do not document.
159
+ */
160
+ children: _propTypes.default.node,
161
+
157
162
  /**
158
163
  * Changes how the options in the columns selector should be ordered.
159
164
  * If not specified, the order is derived from the `columns` prop.
@@ -12,5 +12,5 @@ function getDataGridUtilityClass(slot) {
12
12
  return (0, _material.generateUtilityClass)('MuiDataGrid', slot);
13
13
  }
14
14
 
15
- const gridClasses = (0, _material.generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
15
+ const gridClasses = (0, _material.generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
16
16
  exports.gridClasses = gridClasses;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.gridColumnGroupsLookupSelector = exports.gridColumnGroupingSelector = void 0;
7
+
8
+ var _createSelector = require("../../../utils/createSelector");
9
+
10
+ /**
11
+ * @category ColumnGrouping
12
+ * @ignore - do not document.
13
+ */
14
+ const gridColumnGroupingSelector = state => state.columnGrouping;
15
+
16
+ exports.gridColumnGroupingSelector = gridColumnGroupingSelector;
17
+ const gridColumnGroupsLookupSelector = (0, _createSelector.createSelector)(gridColumnGroupingSelector, columnGrouping => columnGrouping.lookup);
18
+ exports.gridColumnGroupsLookupSelector = gridColumnGroupsLookupSelector;