@mui/x-data-grid 7.24.0 → 7.25.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 (228) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/DataGrid/DataGrid.js +1 -7
  3. package/DataGrid/useDataGridComponent.d.ts +2 -1
  4. package/components/GridRow.d.ts +0 -1
  5. package/components/GridRow.js +25 -19
  6. package/components/cell/GridCell.d.ts +9 -6
  7. package/components/cell/GridCell.js +29 -52
  8. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +3 -3
  9. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +21 -7
  10. package/components/containers/GridRootStyles.js +135 -37
  11. package/components/panel/GridPanel.js +2 -1
  12. package/components/panel/filterPanel/GridFilterInputValueProps.d.ts +2 -1
  13. package/components/toolbar/GridToolbarColumnsButton.js +8 -2
  14. package/components/toolbar/GridToolbarDensitySelector.js +2 -2
  15. package/components/toolbar/GridToolbarExportContainer.js +2 -2
  16. package/components/toolbar/GridToolbarFilterButton.js +8 -2
  17. package/components/virtualization/GridMainContainer.d.ts +10 -0
  18. package/components/virtualization/GridMainContainer.js +10 -2
  19. package/components/virtualization/GridVirtualScrollbar.d.ts +4 -0
  20. package/components/virtualization/GridVirtualScrollbar.js +5 -5
  21. package/components/virtualization/GridVirtualScroller.js +18 -5
  22. package/components/virtualization/GridVirtualScrollerContent.js +11 -2
  23. package/context/GridContextProvider.d.ts +2 -1
  24. package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +2 -2
  25. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +2 -2
  26. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +2 -2
  27. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +2 -2
  28. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +2 -2
  29. package/hooks/core/useGridApiInitialization.d.ts +2 -2
  30. package/hooks/core/useGridInitialization.d.ts +2 -2
  31. package/hooks/core/useGridIsRtl.d.ts +2 -2
  32. package/hooks/core/useGridLocaleText.d.ts +2 -2
  33. package/hooks/core/useGridLoggerFactory.d.ts +2 -2
  34. package/hooks/core/useGridRefs.d.ts +2 -2
  35. package/hooks/core/useGridStateInitialization.d.ts +2 -2
  36. package/hooks/features/clipboard/useGridClipboard.d.ts +2 -2
  37. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +2 -2
  38. package/hooks/features/columnMenu/useGridColumnMenu.d.ts +2 -2
  39. package/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  40. package/hooks/features/columnResize/useGridColumnResize.d.ts +2 -2
  41. package/hooks/features/columnResize/useGridColumnResize.js +2 -1
  42. package/hooks/features/columns/gridColumnsUtils.d.ts +4 -4
  43. package/hooks/features/columns/useGridColumnSpanning.d.ts +2 -2
  44. package/hooks/features/columns/useGridColumns.d.ts +2 -2
  45. package/hooks/features/columns/useGridColumns.js +7 -3
  46. package/hooks/features/density/useGridDensity.d.ts +2 -2
  47. package/hooks/features/dimensions/useGridDimensions.d.ts +2 -2
  48. package/hooks/features/dimensions/useGridDimensions.js +7 -11
  49. package/hooks/features/editing/gridEditingSelectors.d.ts +6 -0
  50. package/hooks/features/editing/gridEditingSelectors.js +7 -1
  51. package/hooks/features/editing/index.d.ts +1 -1
  52. package/hooks/features/editing/index.js +1 -1
  53. package/hooks/features/editing/useGridCellEditing.d.ts +2 -2
  54. package/hooks/features/editing/useGridCellEditing.js +3 -3
  55. package/hooks/features/editing/useGridEditing.d.ts +2 -2
  56. package/hooks/features/editing/useGridRowEditing.d.ts +2 -2
  57. package/hooks/features/editing/useGridRowEditing.js +5 -6
  58. package/hooks/features/events/useGridEvents.d.ts +2 -2
  59. package/hooks/features/export/serializers/csvSerializer.d.ts +2 -1
  60. package/hooks/features/export/useGridCsvExport.d.ts +2 -2
  61. package/hooks/features/export/useGridPrintExport.d.ts +2 -2
  62. package/hooks/features/export/utils.d.ts +2 -2
  63. package/hooks/features/filter/gridFilterUtils.d.ts +7 -7
  64. package/hooks/features/filter/gridFilterUtils.js +3 -3
  65. package/hooks/features/filter/useGridFilter.d.ts +2 -2
  66. package/hooks/features/focus/useGridFocus.d.ts +2 -2
  67. package/hooks/features/focus/useGridFocus.js +3 -2
  68. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
  69. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
  70. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +24 -16
  71. package/hooks/features/keyboardNavigation/utils.d.ts +3 -4
  72. package/hooks/features/keyboardNavigation/utils.js +0 -5
  73. package/hooks/features/listView/useGridListView.d.ts +2 -2
  74. package/hooks/features/listView/useGridListView.js +2 -1
  75. package/hooks/features/pagination/useGridPagination.d.ts +2 -2
  76. package/hooks/features/pagination/useGridPaginationMeta.d.ts +2 -2
  77. package/hooks/features/pagination/useGridPaginationModel.d.ts +2 -2
  78. package/hooks/features/pagination/useGridRowCount.d.ts +2 -2
  79. package/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +1 -0
  80. package/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
  81. package/hooks/features/preferencesPanel/index.d.ts +1 -1
  82. package/hooks/features/preferencesPanel/index.js +1 -1
  83. package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +2 -2
  84. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  85. package/hooks/features/rowSelection/useGridRowSelection.d.ts +2 -2
  86. package/hooks/features/rowSelection/useGridRowSelection.js +3 -3
  87. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.d.ts +2 -2
  88. package/hooks/features/rowSelection/utils.d.ts +3 -2
  89. package/hooks/features/rows/gridRowSpanningUtils.d.ts +2 -2
  90. package/hooks/features/rows/gridRowsUtils.d.ts +4 -4
  91. package/hooks/features/rows/useGridParamsApi.d.ts +2 -2
  92. package/hooks/features/rows/useGridParamsApi.js +33 -14
  93. package/hooks/features/rows/useGridRowSpanning.d.ts +2 -2
  94. package/hooks/features/rows/useGridRowSpanning.js +94 -91
  95. package/hooks/features/rows/useGridRows.d.ts +2 -2
  96. package/hooks/features/rows/useGridRows.js +7 -8
  97. package/hooks/features/rows/useGridRowsMeta.d.ts +2 -2
  98. package/hooks/features/rows/useGridRowsMeta.js +3 -2
  99. package/hooks/features/rows/useGridRowsPreProcessors.d.ts +2 -2
  100. package/hooks/features/scroll/useGridScroll.d.ts +2 -2
  101. package/hooks/features/sorting/gridSortingUtils.d.ts +3 -3
  102. package/hooks/features/sorting/gridSortingUtils.js +2 -2
  103. package/hooks/features/sorting/useGridSorting.d.ts +2 -2
  104. package/hooks/features/statePersistence/useGridStatePersistence.d.ts +2 -2
  105. package/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +2 -2
  106. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +9 -1
  107. package/hooks/features/virtualization/useGridVirtualScroller.js +32 -53
  108. package/hooks/features/virtualization/useGridVirtualization.d.ts +2 -2
  109. package/hooks/utils/useGridApiContext.d.ts +2 -2
  110. package/hooks/utils/useGridApiEventHandler.d.ts +4 -4
  111. package/hooks/utils/useGridApiMethod.d.ts +2 -2
  112. package/hooks/utils/useGridApiRef.d.ts +2 -2
  113. package/hooks/utils/useGridApiRef.js +3 -1
  114. package/hooks/utils/useGridInitializeState.d.ts +3 -3
  115. package/hooks/utils/useGridLogger.d.ts +2 -2
  116. package/hooks/utils/useGridNativeEventListener.d.ts +2 -1
  117. package/hooks/utils/useGridPrivateApiContext.d.ts +2 -1
  118. package/hooks/utils/useGridSelector.d.ts +3 -3
  119. package/hooks/utils/useGridVisibleRows.d.ts +3 -3
  120. package/index.js +1 -1
  121. package/locales/faIR.js +5 -6
  122. package/models/api/gridApiCommon.d.ts +2 -2
  123. package/models/api/gridParamsApi.d.ts +29 -2
  124. package/models/api/index.d.ts +1 -1
  125. package/models/api/index.js +0 -1
  126. package/models/colDef/gridColDef.d.ts +9 -8
  127. package/models/gridExport.d.ts +2 -2
  128. package/models/gridFilterOperator.d.ts +2 -1
  129. package/models/props/DataGridProps.d.ts +2 -1
  130. package/modern/DataGrid/DataGrid.js +1 -7
  131. package/modern/components/GridRow.js +25 -19
  132. package/modern/components/cell/GridCell.js +29 -52
  133. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +21 -7
  134. package/modern/components/containers/GridRootStyles.js +135 -37
  135. package/modern/components/panel/GridPanel.js +2 -1
  136. package/modern/components/toolbar/GridToolbarColumnsButton.js +8 -2
  137. package/modern/components/toolbar/GridToolbarDensitySelector.js +2 -2
  138. package/modern/components/toolbar/GridToolbarExportContainer.js +2 -2
  139. package/modern/components/toolbar/GridToolbarFilterButton.js +8 -2
  140. package/modern/components/virtualization/GridMainContainer.js +10 -2
  141. package/modern/components/virtualization/GridVirtualScrollbar.js +5 -5
  142. package/modern/components/virtualization/GridVirtualScroller.js +18 -5
  143. package/modern/components/virtualization/GridVirtualScrollerContent.js +11 -2
  144. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  145. package/modern/hooks/features/columnResize/useGridColumnResize.js +2 -1
  146. package/modern/hooks/features/columns/useGridColumns.js +7 -3
  147. package/modern/hooks/features/dimensions/useGridDimensions.js +7 -11
  148. package/modern/hooks/features/editing/gridEditingSelectors.js +7 -1
  149. package/modern/hooks/features/editing/index.js +1 -1
  150. package/modern/hooks/features/editing/useGridCellEditing.js +3 -3
  151. package/modern/hooks/features/editing/useGridRowEditing.js +5 -6
  152. package/modern/hooks/features/filter/gridFilterUtils.js +3 -3
  153. package/modern/hooks/features/focus/useGridFocus.js +3 -2
  154. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +24 -16
  155. package/modern/hooks/features/keyboardNavigation/utils.js +0 -5
  156. package/modern/hooks/features/listView/useGridListView.js +2 -1
  157. package/modern/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
  158. package/modern/hooks/features/preferencesPanel/index.js +1 -1
  159. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  160. package/modern/hooks/features/rowSelection/useGridRowSelection.js +3 -3
  161. package/modern/hooks/features/rows/useGridParamsApi.js +33 -14
  162. package/modern/hooks/features/rows/useGridRowSpanning.js +94 -91
  163. package/modern/hooks/features/rows/useGridRows.js +7 -8
  164. package/modern/hooks/features/rows/useGridRowsMeta.js +3 -2
  165. package/modern/hooks/features/sorting/gridSortingUtils.js +2 -2
  166. package/modern/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +2 -2
  167. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +32 -53
  168. package/modern/hooks/utils/useGridApiRef.js +3 -1
  169. package/modern/index.js +1 -1
  170. package/modern/locales/faIR.js +5 -6
  171. package/modern/models/api/index.js +0 -1
  172. package/modern/utils/isJSDOM.js +1 -0
  173. package/modern/utils/roundToDecimalPlaces.js +3 -0
  174. package/modern/utils/utils.js +6 -1
  175. package/node/DataGrid/DataGrid.js +1 -7
  176. package/node/components/GridRow.js +22 -16
  177. package/node/components/cell/GridCell.js +27 -50
  178. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +20 -6
  179. package/node/components/containers/GridRootStyles.js +135 -37
  180. package/node/components/panel/GridPanel.js +2 -1
  181. package/node/components/toolbar/GridToolbarColumnsButton.js +8 -2
  182. package/node/components/toolbar/GridToolbarDensitySelector.js +2 -2
  183. package/node/components/toolbar/GridToolbarExportContainer.js +2 -2
  184. package/node/components/toolbar/GridToolbarFilterButton.js +8 -2
  185. package/node/components/virtualization/GridMainContainer.js +10 -2
  186. package/node/components/virtualization/GridVirtualScrollbar.js +5 -5
  187. package/node/components/virtualization/GridVirtualScroller.js +18 -5
  188. package/node/components/virtualization/GridVirtualScrollerContent.js +11 -2
  189. package/node/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  190. package/node/hooks/features/columnResize/useGridColumnResize.js +2 -1
  191. package/node/hooks/features/columns/useGridColumns.js +7 -3
  192. package/node/hooks/features/dimensions/useGridDimensions.js +9 -13
  193. package/node/hooks/features/editing/gridEditingSelectors.js +8 -2
  194. package/node/hooks/features/editing/index.js +7 -11
  195. package/node/hooks/features/editing/useGridCellEditing.js +2 -2
  196. package/node/hooks/features/editing/useGridRowEditing.js +3 -4
  197. package/node/hooks/features/filter/gridFilterUtils.js +3 -3
  198. package/node/hooks/features/focus/useGridFocus.js +3 -2
  199. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +24 -15
  200. package/node/hooks/features/keyboardNavigation/utils.js +0 -6
  201. package/node/hooks/features/listView/useGridListView.js +2 -1
  202. package/node/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +9 -2
  203. package/node/hooks/features/preferencesPanel/index.js +11 -10
  204. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  205. package/node/hooks/features/rowSelection/useGridRowSelection.js +2 -2
  206. package/node/hooks/features/rows/useGridParamsApi.js +33 -14
  207. package/node/hooks/features/rows/useGridRowSpanning.js +92 -89
  208. package/node/hooks/features/rows/useGridRows.js +7 -8
  209. package/node/hooks/features/rows/useGridRowsMeta.js +5 -4
  210. package/node/hooks/features/sorting/gridSortingUtils.js +2 -2
  211. package/node/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +2 -2
  212. package/node/hooks/features/virtualization/useGridVirtualScroller.js +34 -55
  213. package/node/hooks/utils/useGridApiRef.js +3 -1
  214. package/node/index.js +1 -1
  215. package/node/locales/faIR.js +5 -6
  216. package/node/models/api/index.js +0 -11
  217. package/node/utils/isJSDOM.js +7 -0
  218. package/node/utils/roundToDecimalPlaces.js +9 -0
  219. package/node/utils/utils.js +8 -1
  220. package/package.json +2 -2
  221. package/utils/createSelector.d.ts +3 -3
  222. package/utils/getPublicApiRef.d.ts +2 -1
  223. package/utils/isJSDOM.d.ts +1 -0
  224. package/utils/isJSDOM.js +1 -0
  225. package/utils/roundToDecimalPlaces.d.ts +1 -0
  226. package/utils/roundToDecimalPlaces.js +3 -0
  227. package/utils/utils.d.ts +1 -0
  228. package/utils/utils.js +6 -1
@@ -0,0 +1,3 @@
1
+ export function roundToDecimalPlaces(value, decimals) {
2
+ return Math.round(value * 10 ** decimals) / 10 ** decimals;
3
+ }
@@ -196,4 +196,9 @@ export function deepClone(obj) {
196
196
  * of a `eslint-disable-next-line react-hooks/exhaustive-deps` because
197
197
  * that hint disables checks on all values instead of just one.
198
198
  */
199
- export function eslintUseValue(_) {}
199
+ export function eslintUseValue(_) {}
200
+ export const runIf = (condition, fn) => params => {
201
+ if (condition) {
202
+ fn(params);
203
+ }
204
+ };
@@ -25,17 +25,11 @@ const configuration = {
25
25
  useGridRowAriaAttributes: _useGridRowAriaAttributes.useGridRowAriaAttributes
26
26
  }
27
27
  };
28
- let propValidators;
29
- if (process.env.NODE_ENV !== 'production') {
30
- propValidators = [..._propValidation.propValidatorsDataGrid,
31
- // Only validate in MIT version
32
- props => props.columns && props.columns.some(column => column.resizable) && [`MUI X: \`column.resizable = true\` is not a valid prop.`, 'Column resizing is not available in the MIT version.', '', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n') || undefined];
33
- }
34
28
  const DataGridRaw = (0, _forwardRef.forwardRef)(function DataGrid(inProps, ref) {
35
29
  const props = (0, _useDataGridProps.useDataGridProps)(inProps);
36
30
  const privateApiRef = (0, _useDataGridComponent.useDataGridComponent)(props.apiRef, props);
37
31
  if (process.env.NODE_ENV !== 'production') {
38
- (0, _propValidation.validateProps)(props, propValidators);
32
+ (0, _propValidation.validateProps)(props, _propValidation.propValidatorsDataGrid);
39
33
  }
40
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridContextProvider.GridContextProvider, {
41
35
  privateApiRef: privateApiRef,
@@ -14,6 +14,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _utils = require("@mui/utils");
15
15
  var _fastMemo = require("@mui/x-internals/fastMemo");
16
16
  var _forwardRef = require("@mui/x-internals/forwardRef");
17
+ var _isObjectEmpty = require("@mui/x-internals/isObjectEmpty");
17
18
  var _gridEditRowModel = require("../models/gridEditRowModel");
18
19
  var _gridClasses = require("../constants/gridClasses");
19
20
  var _composeGridClasses = require("../utils/composeGridClasses");
@@ -33,8 +34,16 @@ var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
33
34
  var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
34
35
  var _useGridConfiguration = require("../hooks/utils/useGridConfiguration");
35
36
  var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
37
+ var _createSelector = require("../utils/createSelector");
36
38
  var _jsxRuntime = require("react/jsx-runtime");
37
- const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "columnsTotalWidth", "firstColumnIndex", "lastColumnIndex", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "scrollbarWidth", "gridHasFiller", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
39
+ const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetLeft", "columnsTotalWidth", "firstColumnIndex", "lastColumnIndex", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "scrollbarWidth", "gridHasFiller", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
40
+ const isRowReorderingEnabledSelector = (0, _createSelector.createSelectorV8)(_gridEditingSelectors.gridEditRowsStateSelector, (editRows, rowReordering) => {
41
+ if (!rowReordering) {
42
+ return false;
43
+ }
44
+ const isEditingRows = !(0, _isObjectEmpty.isObjectEmpty)(editRows);
45
+ return !isEditingRows;
46
+ });
38
47
  const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
39
48
  const {
40
49
  selected,
@@ -73,10 +82,11 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
73
82
  const sortModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortModelSelector);
74
83
  const treeDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowMaximumTreeDepthSelector);
75
84
  const columnPositions = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnPositionsSelector);
76
- const editRowsState = (0, _useGridSelector.useGridSelector)(apiRef, _gridEditingSelectors.gridEditRowsStateSelector);
85
+ const rowReordering = rootProps.rowReordering;
86
+ const isRowReorderingEnabled = (0, _useGridSelector.useGridSelectorV8)(apiRef, isRowReorderingEnabledSelector, rowReordering);
77
87
  const handleRef = (0, _utils.unstable_useForkRef)(ref, refProp);
78
88
  const rowNode = apiRef.current.getRowNode(rowId);
79
- const editing = apiRef.current.getRowMode(rowId) === _gridEditRowModel.GridRowModes.Edit;
89
+ const editing = (0, _useGridSelector.useGridSelectorV8)(apiRef, _gridEditingSelectors.gridRowIsEditingSelector, rowId);
80
90
  const editable = rootProps.editMode === _gridEditRowModel.GridEditModes.Row;
81
91
  const hasFocusCell = focusedColumnIndex !== undefined;
82
92
  const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < firstColumnIndex;
@@ -153,7 +163,6 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
153
163
  slotProps,
154
164
  disableColumnReorder
155
165
  } = rootProps;
156
- const rowReordering = rootProps.rowReordering;
157
166
  const heightEntry = (0, _useGridSelector.useGridSelector)(apiRef, () => (0, _extends2.default)({}, apiRef.current.getRowHeightEntry(rowId)), _useGridSelector.objectShallowCompare);
158
167
  const style = React.useMemo(() => {
159
168
  if (isNotVisible) {
@@ -196,6 +205,11 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
196
205
  });
197
206
  rowClassNames.push(rootProps.getRowClassName(rowParams));
198
207
  }
208
+
209
+ /* Start of rendering */
210
+ if (!rowNode) {
211
+ return null;
212
+ }
199
213
  const getCell = (column, indexInSection, indexRelativeToAllColumns, sectionLength, pinnedPosition = _constants.PinnedColumnPosition.NONE) => {
200
214
  const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, indexRelativeToAllColumns);
201
215
  if (cellColSpanInfo?.spannedByColSpan) {
@@ -213,14 +227,12 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
213
227
  align: column.align
214
228
  }, column.field);
215
229
  }
216
- const editCellState = editRowsState[rowId]?.[column.field] ?? null;
217
230
 
218
231
  // when the cell is a reorder cell we are not allowing to reorder the col
219
232
  // fixes https://github.com/mui/mui-x/issues/11126
220
233
  const isReorderCell = column.field === '__reorder__';
221
- const isEditingRows = Object.keys(editRowsState).length > 0;
222
234
  const canReorderColumn = !(disableColumnReorder || column.disableReorder);
223
- const canReorderRow = rowReordering && !sortModel.length && treeDepth <= 1 && !isEditingRows;
235
+ const canReorderRow = isRowReorderingEnabled && !sortModel.length && treeDepth <= 1;
224
236
  const disableDragEvents = !(canReorderColumn || isReorderCell && canReorderRow);
225
237
  const cellIsNotVisible = pinnedPosition === _constants.PinnedColumnPosition.VIRTUAL;
226
238
  const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
@@ -233,20 +245,15 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
233
245
  colIndex: indexRelativeToAllColumns,
234
246
  colSpan: colSpan,
235
247
  disableDragEvents: disableDragEvents,
236
- editCellState: editCellState,
237
248
  isNotVisible: cellIsNotVisible,
238
249
  pinnedOffset: pinnedOffset,
239
250
  pinnedPosition: pinnedPosition,
240
251
  showLeftBorder: showLeftBorder,
241
- showRightBorder: showRightBorder
252
+ showRightBorder: showRightBorder,
253
+ row: row,
254
+ rowNode: rowNode
242
255
  }, slotProps?.cell), column.field);
243
256
  };
244
-
245
- /* Start of rendering */
246
-
247
- if (!rowNode) {
248
- return null;
249
- }
250
257
  const leftCells = pinnedColumns.left.map((column, i) => {
251
258
  const indexRelativeToAllColumns = i;
252
259
  return getCell(column, i, indexRelativeToAllColumns, pinnedColumns.left.length, _constants.PinnedColumnPosition.LEFT);
@@ -324,7 +331,6 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
324
331
  isNotVisible: _propTypes.default.bool.isRequired,
325
332
  lastColumnIndex: _propTypes.default.number.isRequired,
326
333
  offsetLeft: _propTypes.default.number.isRequired,
327
- offsetTop: _propTypes.default.number,
328
334
  onClick: _propTypes.default.func,
329
335
  onDoubleClick: _propTypes.default.func,
330
336
  onMouseEnter: _propTypes.default.func,
@@ -19,15 +19,16 @@ var _doesSupportPreventScroll = require("../../utils/doesSupportPreventScroll");
19
19
  var _gridClasses = require("../../constants/gridClasses");
20
20
  var _models = require("../../models");
21
21
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
22
- var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
23
22
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
24
23
  var _gridFocusStateSelector = require("../../hooks/features/focus/gridFocusStateSelector");
25
24
  var _gridColumnsInterfaces = require("../../hooks/features/columns/gridColumnsInterfaces");
26
25
  var _constants = require("../../internals/constants");
27
26
  var _gridRowSpanningSelectors = require("../../hooks/features/rows/gridRowSpanningSelectors");
27
+ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
28
+ var _gridEditingSelectors = require("../../hooks/features/editing/gridEditingSelectors");
28
29
  var _utils2 = require("../../internals/utils");
29
30
  var _jsxRuntime = require("react/jsx-runtime");
30
- const _excluded = ["column", "rowId", "editCellState", "align", "children", "colIndex", "width", "className", "style", "colSpan", "disableDragEvents", "isNotVisible", "pinnedOffset", "pinnedPosition", "showRightBorder", "showLeftBorder", "onClick", "onDoubleClick", "onMouseDown", "onMouseUp", "onMouseOver", "onKeyDown", "onKeyUp", "onDragEnter", "onDragOver"],
31
+ const _excluded = ["column", "row", "rowId", "rowNode", "align", "children", "colIndex", "width", "className", "style", "colSpan", "disableDragEvents", "isNotVisible", "pinnedOffset", "pinnedPosition", "showRightBorder", "showLeftBorder", "onClick", "onDoubleClick", "onMouseDown", "onMouseUp", "onMouseOver", "onKeyDown", "onKeyUp", "onDragEnter", "onDragOver"],
31
32
  _excluded2 = ["changeReason", "unstable_updateValueOnRender"];
32
33
  const gridPinnedColumnPositionLookup = exports.gridPinnedColumnPositionLookup = {
33
34
  [_constants.PinnedColumnPosition.LEFT]: _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT,
@@ -35,30 +36,6 @@ const gridPinnedColumnPositionLookup = exports.gridPinnedColumnPositionLookup =
35
36
  [_constants.PinnedColumnPosition.NONE]: undefined,
36
37
  [_constants.PinnedColumnPosition.VIRTUAL]: undefined
37
38
  };
38
- const EMPTY_CELL_PARAMS = {
39
- id: -1,
40
- field: '__unset__',
41
- row: {},
42
- rowNode: {
43
- id: -1,
44
- depth: 0,
45
- type: 'leaf',
46
- parent: -1,
47
- groupingKey: null
48
- },
49
- colDef: {
50
- type: 'string',
51
- field: '__unset__',
52
- computedWidth: 0
53
- },
54
- cellMode: _models.GridCellModes.View,
55
- hasFocus: false,
56
- tabIndex: -1,
57
- value: null,
58
- formattedValue: '__unset__',
59
- isEditable: false,
60
- api: {}
61
- };
62
39
  const useUtilityClasses = ownerState => {
63
40
  const {
64
41
  align,
@@ -82,8 +59,9 @@ let warnedOnce = false;
82
59
  const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
83
60
  const {
84
61
  column,
62
+ row,
85
63
  rowId,
86
- editCellState,
64
+ rowNode,
87
65
  align,
88
66
  colIndex,
89
67
  width,
@@ -107,22 +85,29 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
107
85
  onDragOver
108
86
  } = props,
109
87
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
110
- const apiRef = (0, _useGridApiContext.useGridApiContext)();
88
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
111
89
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
112
90
  const isRtl = (0, _RtlProvider.useRtl)();
113
91
  const field = column.field;
114
- const cellParams = (0, _useGridSelector.useGridSelector)(apiRef, () => {
115
- // This is required because `.getCellParams` tries to get the `state.rows.tree` entry
116
- // associated with `rowId`/`fieldId`, but this selector runs after the state has been
117
- // updated, while `rowId`/`fieldId` reference an entry in the old state.
118
- const row = apiRef.current.getRow(rowId);
119
- if (!row) {
120
- return EMPTY_CELL_PARAMS;
121
- }
122
- const result = apiRef.current.getCellParams(rowId, field);
123
- result.api = apiRef.current;
124
- return result;
125
- }, _useGridSelector.objectShallowCompare);
92
+ const editCellState = (0, _useGridSelector.useGridSelectorV8)(apiRef, _gridEditingSelectors.gridEditCellStateSelector, {
93
+ rowId,
94
+ field
95
+ });
96
+ const cellMode = editCellState ? _models.GridCellModes.Edit : _models.GridCellModes.View;
97
+ const cellParams = apiRef.current.getCellParamsForRow(rowId, field, row, {
98
+ colDef: column,
99
+ cellMode,
100
+ rowNode: rowNode,
101
+ tabIndex: (0, _useGridSelector.useGridSelector)(apiRef, () => {
102
+ const cellTabIndex = (0, _gridFocusStateSelector.gridTabIndexCellSelector)(apiRef);
103
+ return cellTabIndex && cellTabIndex.field === field && cellTabIndex.id === rowId ? 0 : -1;
104
+ }),
105
+ hasFocus: (0, _useGridSelector.useGridSelector)(apiRef, () => {
106
+ const focus = (0, _gridFocusStateSelector.gridFocusCellSelector)(apiRef);
107
+ return focus?.id === rowId && focus.field === field;
108
+ })
109
+ });
110
+ cellParams.api = apiRef.current;
126
111
  const isSelected = (0, _useGridSelector.useGridSelector)(apiRef, () => apiRef.current.unstable_applyPipeProcessors('isCellSelected', false, {
127
112
  id: rowId,
128
113
  field
@@ -130,7 +115,6 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
130
115
  const hiddenCells = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowSpanningSelectors.gridRowSpanningHiddenCellsSelector);
131
116
  const spannedCells = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowSpanningSelectors.gridRowSpanningSpannedCellsSelector);
132
117
  const {
133
- cellMode,
134
118
  hasFocus,
135
119
  isEditable = false,
136
120
  value
@@ -252,9 +236,6 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
252
236
  }, style)
253
237
  });
254
238
  }
255
- if (cellParams === EMPTY_CELL_PARAMS) {
256
- return null;
257
- }
258
239
  let handleFocus = other.onFocus;
259
240
  if (process.env.NODE_ENV === 'test' && rootProps.experimentalFeatures?.warnIfFocusStateIsNotSynced) {
260
241
  handleFocus = event => {
@@ -338,16 +319,12 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
338
319
  colSpan: _propTypes.default.number,
339
320
  column: _propTypes.default.object.isRequired,
340
321
  disableDragEvents: _propTypes.default.bool,
341
- editCellState: _propTypes.default.shape({
342
- changeReason: _propTypes.default.oneOf(['debouncedSetEditCellValue', 'setEditCellValue']),
343
- isProcessingProps: _propTypes.default.bool,
344
- isValidating: _propTypes.default.bool,
345
- value: _propTypes.default.any
346
- }),
347
322
  isNotVisible: _propTypes.default.bool.isRequired,
348
323
  pinnedOffset: _propTypes.default.number,
349
324
  pinnedPosition: _propTypes.default.oneOf([0, 1, 2, 3]).isRequired,
325
+ row: _propTypes.default.object.isRequired,
350
326
  rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
327
+ rowNode: _propTypes.default.object.isRequired,
351
328
  showLeftBorder: _propTypes.default.bool.isRequired,
352
329
  showRightBorder: _propTypes.default.bool.isRequired,
353
330
  width: _propTypes.default.number.isRequired
@@ -5,12 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.GridColumnHeaderFilterIconButton = GridColumnHeaderFilterIconButton;
8
+ exports.GridColumnHeaderFilterIconButton = GridColumnHeaderFilterIconButtonWrapped;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("@mui/utils");
13
- var _hooks = require("../../hooks");
13
+ var _useGridSelector = require("../../hooks/utils/useGridSelector");
14
14
  var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
15
15
  var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
16
16
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -27,6 +27,21 @@ const useUtilityClasses = ownerState => {
27
27
  };
28
28
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
29
  };
30
+ function GridColumnHeaderFilterIconButtonWrapped(props) {
31
+ if (!props.counter) {
32
+ return null;
33
+ }
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridColumnHeaderFilterIconButton, (0, _extends2.default)({}, props));
35
+ }
36
+ process.env.NODE_ENV !== "production" ? GridColumnHeaderFilterIconButtonWrapped.propTypes = {
37
+ // ----------------------------- Warning --------------------------------
38
+ // | These PropTypes are generated from the TypeScript type definitions |
39
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
40
+ // ----------------------------------------------------------------------
41
+ counter: _propTypes.default.number,
42
+ field: _propTypes.default.string.isRequired,
43
+ onClick: _propTypes.default.func
44
+ } : void 0;
30
45
  function GridColumnHeaderFilterIconButton(props) {
31
46
  const {
32
47
  counter,
@@ -39,8 +54,8 @@ function GridColumnHeaderFilterIconButton(props) {
39
54
  classes: rootProps.classes
40
55
  });
41
56
  const classes = useUtilityClasses(ownerState);
42
- const preferencePanel = (0, _hooks.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
43
57
  const labelId = (0, _utils.unstable_useId)();
58
+ const isOpen = (0, _useGridSelector.useGridSelectorV8)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelSelectorWithLabel, labelId);
44
59
  const panelId = (0, _utils.unstable_useId)();
45
60
  const toggleFilter = React.useCallback(event => {
46
61
  event.preventDefault();
@@ -61,7 +76,6 @@ function GridColumnHeaderFilterIconButton(props) {
61
76
  if (!counter) {
62
77
  return null;
63
78
  }
64
- const open = preferencePanel.open && preferencePanel.labelId === labelId;
65
79
  const iconButton = /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
66
80
  id: labelId,
67
81
  onClick: toggleFilter,
@@ -70,8 +84,8 @@ function GridColumnHeaderFilterIconButton(props) {
70
84
  size: "small",
71
85
  tabIndex: -1,
72
86
  "aria-haspopup": "menu",
73
- "aria-expanded": open,
74
- "aria-controls": open ? panelId : undefined
87
+ "aria-expanded": isOpen,
88
+ "aria-controls": isOpen ? panelId : undefined
75
89
  }, rootProps.slotProps?.baseIconButton, {
76
90
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnFilteredIcon, {
77
91
  className: classes.icon,
@@ -45,50 +45,76 @@ const ignoreSsrWarning = '/* emotion-disable-server-rendering-unsafe-selector-wa
45
45
  const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
46
46
  name: 'MuiDataGrid',
47
47
  slot: 'Root',
48
- overridesResolver: (props, styles) => [{
48
+ overridesResolver: (props, styles) => [
49
+ // Root overrides
50
+ styles.root, {
49
51
  [`&.${_gridClasses.gridClasses.autoHeight}`]: styles.autoHeight
50
52
  }, {
51
- [`&.${_gridClasses.gridClasses.aggregationColumnHeader}`]: styles.aggregationColumnHeader
53
+ [`&.${_gridClasses.gridClasses.autosizing}`]: styles.autosizing
52
54
  }, {
53
- [`&.${_gridClasses.gridClasses['aggregationColumnHeader--alignLeft']}`]: styles['aggregationColumnHeader--alignLeft']
55
+ [`&.${_gridClasses.gridClasses['root--densityStandard']}`]: styles['root--densityStandard']
54
56
  }, {
55
- [`&.${_gridClasses.gridClasses['aggregationColumnHeader--alignCenter']}`]: styles['aggregationColumnHeader--alignCenter']
57
+ [`&.${_gridClasses.gridClasses['root--densityComfortable']}`]: styles['root--densityComfortable']
56
58
  }, {
57
- [`&.${_gridClasses.gridClasses['aggregationColumnHeader--alignRight']}`]: styles['aggregationColumnHeader--alignRight']
59
+ [`&.${_gridClasses.gridClasses['root--densityCompact']}`]: styles['root--densityCompact']
58
60
  }, {
59
- [`&.${_gridClasses.gridClasses.aggregationColumnHeaderLabel}`]: styles.aggregationColumnHeaderLabel
61
+ [`&.${_gridClasses.gridClasses['root--disableUserSelection']}`]: styles['root--disableUserSelection']
60
62
  }, {
61
- [`&.${_gridClasses.gridClasses['root--disableUserSelection']} .${_gridClasses.gridClasses.cell}`]: styles['root--disableUserSelection']
63
+ [`&.${_gridClasses.gridClasses['root--noToolbar']}`]: styles['root--noToolbar']
62
64
  }, {
63
- [`&.${_gridClasses.gridClasses.autosizing}`]: styles.autosizing
65
+ [`&.${_gridClasses.gridClasses.withVerticalBorder}`]: styles.withVerticalBorder
66
+ },
67
+ // Child element overrides
68
+ // - Only declare overrides here for class names that are not applied to `styled` components.
69
+ // - For `styled` components, declare overrides in the component itself.
70
+ {
71
+ [`& .${_gridClasses.gridClasses.actionsCell}`]: styles.actionsCell
64
72
  }, {
65
- [`& .${_gridClasses.gridClasses.editBooleanCell}`]: styles.editBooleanCell
73
+ [`& .${_gridClasses.gridClasses.booleanCell}`]: styles.booleanCell
66
74
  }, {
67
75
  [`& .${_gridClasses.gridClasses.cell}`]: styles.cell
76
+ }, {
77
+ [`& .${_gridClasses.gridClasses['cell--editable']}`]: styles['cell--editable']
68
78
  }, {
69
79
  [`& .${_gridClasses.gridClasses['cell--editing']}`]: styles['cell--editing']
70
80
  }, {
71
- [`& .${_gridClasses.gridClasses['cell--textCenter']}`]: styles['cell--textCenter']
81
+ [`& .${_gridClasses.gridClasses['cell--flex']}`]: styles['cell--flex']
72
82
  }, {
73
- [`& .${_gridClasses.gridClasses['cell--textLeft']}`]: styles['cell--textLeft']
83
+ [`& .${_gridClasses.gridClasses['cell--pinnedLeft']}`]: styles['cell--pinnedLeft']
74
84
  }, {
75
- [`& .${_gridClasses.gridClasses['cell--textRight']}`]: styles['cell--textRight']
76
- }, {
77
- [`& .${_gridClasses.gridClasses['cell--rangeTop']}`]: styles['cell--rangeTop']
85
+ [`& .${_gridClasses.gridClasses['cell--pinnedRight']}`]: styles['cell--pinnedRight']
78
86
  }, {
79
87
  [`& .${_gridClasses.gridClasses['cell--rangeBottom']}`]: styles['cell--rangeBottom']
80
88
  }, {
81
89
  [`& .${_gridClasses.gridClasses['cell--rangeLeft']}`]: styles['cell--rangeLeft']
82
90
  }, {
83
91
  [`& .${_gridClasses.gridClasses['cell--rangeRight']}`]: styles['cell--rangeRight']
92
+ }, {
93
+ [`& .${_gridClasses.gridClasses['cell--rangeTop']}`]: styles['cell--rangeTop']
94
+ }, {
95
+ [`& .${_gridClasses.gridClasses['cell--selectionMode']}`]: styles['cell--selectionMode']
96
+ }, {
97
+ [`& .${_gridClasses.gridClasses['cell--textCenter']}`]: styles['cell--textCenter']
98
+ }, {
99
+ [`& .${_gridClasses.gridClasses['cell--textLeft']}`]: styles['cell--textLeft']
100
+ }, {
101
+ [`& .${_gridClasses.gridClasses['cell--textRight']}`]: styles['cell--textRight']
102
+ }, {
103
+ [`& .${_gridClasses.gridClasses['cell--withLeftBorder']}`]: styles['cell--withLeftBorder']
84
104
  }, {
85
105
  [`& .${_gridClasses.gridClasses['cell--withRightBorder']}`]: styles['cell--withRightBorder']
86
106
  }, {
87
107
  [`& .${_gridClasses.gridClasses.cellCheckbox}`]: styles.cellCheckbox
108
+ }, {
109
+ [`& .${_gridClasses.gridClasses.cellEmpty}`]: styles.cellEmpty
110
+ }, {
111
+ [`& .${_gridClasses.gridClasses.cellOffsetLeft}`]: styles.cellOffsetLeft
88
112
  }, {
89
113
  [`& .${_gridClasses.gridClasses.cellSkeleton}`]: styles.cellSkeleton
90
114
  }, {
91
115
  [`& .${_gridClasses.gridClasses.checkboxInput}`]: styles.checkboxInput
116
+ }, {
117
+ [`& .${_gridClasses.gridClasses.columnHeader}`]: styles.columnHeader
92
118
  }, {
93
119
  [`& .${_gridClasses.gridClasses['columnHeader--alignCenter']}`]: styles['columnHeader--alignCenter']
94
120
  }, {
@@ -97,75 +123,151 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
97
123
  [`& .${_gridClasses.gridClasses['columnHeader--alignRight']}`]: styles['columnHeader--alignRight']
98
124
  }, {
99
125
  [`& .${_gridClasses.gridClasses['columnHeader--dragging']}`]: styles['columnHeader--dragging']
126
+ }, {
127
+ [`& .${_gridClasses.gridClasses['columnHeader--emptyGroup']}`]: styles['columnHeader--emptyGroup']
128
+ }, {
129
+ [`& .${_gridClasses.gridClasses['columnHeader--filledGroup']}`]: styles['columnHeader--filledGroup']
130
+ }, {
131
+ [`& .${_gridClasses.gridClasses['columnHeader--filtered']}`]: styles['columnHeader--filtered']
132
+ }, {
133
+ [`& .${_gridClasses.gridClasses['columnHeader--last']}`]: styles['columnHeader--last']
134
+ }, {
135
+ [`& .${_gridClasses.gridClasses['columnHeader--lastUnpinned']}`]: styles['columnHeader--lastUnpinned']
100
136
  }, {
101
137
  [`& .${_gridClasses.gridClasses['columnHeader--moving']}`]: styles['columnHeader--moving']
102
138
  }, {
103
139
  [`& .${_gridClasses.gridClasses['columnHeader--numeric']}`]: styles['columnHeader--numeric']
140
+ }, {
141
+ [`& .${_gridClasses.gridClasses['columnHeader--pinnedLeft']}`]: styles['columnHeader--pinnedLeft']
142
+ }, {
143
+ [`& .${_gridClasses.gridClasses['columnHeader--pinnedRight']}`]: styles['columnHeader--pinnedRight']
144
+ }, {
145
+ [`& .${_gridClasses.gridClasses['columnHeader--siblingFocused']}`]: styles['columnHeader--siblingFocused']
104
146
  }, {
105
147
  [`& .${_gridClasses.gridClasses['columnHeader--sortable']}`]: styles['columnHeader--sortable']
106
148
  }, {
107
149
  [`& .${_gridClasses.gridClasses['columnHeader--sorted']}`]: styles['columnHeader--sorted']
108
150
  }, {
109
- [`& .${_gridClasses.gridClasses['columnHeader--withRightBorder']}`]: styles['columnHeader--withRightBorder']
110
- }, {
111
- [`& .${_gridClasses.gridClasses.columnHeader}`]: styles.columnHeader
151
+ [`& .${_gridClasses.gridClasses['columnHeader--withLeftBorder']}`]: styles['columnHeader--withLeftBorder']
112
152
  }, {
113
- [`& .${_gridClasses.gridClasses.headerFilterRow}`]: styles.headerFilterRow
153
+ [`& .${_gridClasses.gridClasses['columnHeader--withRightBorder']}`]: styles['columnHeader--withRightBorder']
114
154
  }, {
115
155
  [`& .${_gridClasses.gridClasses.columnHeaderCheckbox}`]: styles.columnHeaderCheckbox
116
156
  }, {
117
157
  [`& .${_gridClasses.gridClasses.columnHeaderDraggableContainer}`]: styles.columnHeaderDraggableContainer
118
158
  }, {
119
159
  [`& .${_gridClasses.gridClasses.columnHeaderTitleContainer}`]: styles.columnHeaderTitleContainer
160
+ }, {
161
+ [`& .${_gridClasses.gridClasses.columnHeaderTitleContainerContent}`]: styles.columnHeaderTitleContainerContent
162
+ }, {
163
+ [`& .${_gridClasses.gridClasses.columnSeparator}`]: styles.columnSeparator
120
164
  }, {
121
165
  [`& .${_gridClasses.gridClasses['columnSeparator--resizable']}`]: styles['columnSeparator--resizable']
122
166
  }, {
123
167
  [`& .${_gridClasses.gridClasses['columnSeparator--resizing']}`]: styles['columnSeparator--resizing']
124
168
  }, {
125
- [`& .${_gridClasses.gridClasses.columnSeparator}`]: styles.columnSeparator
169
+ [`& .${_gridClasses.gridClasses['columnSeparator--sideLeft']}`]: styles['columnSeparator--sideLeft']
170
+ }, {
171
+ [`& .${_gridClasses.gridClasses['columnSeparator--sideRight']}`]: styles['columnSeparator--sideRight']
172
+ }, {
173
+ [`& .${_gridClasses.gridClasses['container--bottom']}`]: styles['container--bottom']
174
+ }, {
175
+ [`& .${_gridClasses.gridClasses['container--top']}`]: styles['container--top']
176
+ }, {
177
+ [`& .${_gridClasses.gridClasses.detailPanelToggleCell}`]: styles.detailPanelToggleCell
178
+ }, {
179
+ [`& .${_gridClasses.gridClasses['detailPanelToggleCell--expanded']}`]: styles['detailPanelToggleCell--expanded']
180
+ }, {
181
+ [`& .${_gridClasses.gridClasses.editBooleanCell}`]: styles.editBooleanCell
126
182
  }, {
127
183
  [`& .${_gridClasses.gridClasses.filterIcon}`]: styles.filterIcon
184
+ }, {
185
+ [`& .${_gridClasses.gridClasses['filler--borderBottom']}`]: styles['filler--borderBottom']
186
+ }, {
187
+ [`& .${_gridClasses.gridClasses['filler--pinnedLeft']}`]: styles['filler--pinnedLeft']
188
+ }, {
189
+ [`& .${_gridClasses.gridClasses['filler--pinnedRight']}`]: styles['filler--pinnedRight']
190
+ }, {
191
+ [`& .${_gridClasses.gridClasses.groupingCriteriaCell}`]: styles.groupingCriteriaCell
192
+ }, {
193
+ [`& .${_gridClasses.gridClasses.groupingCriteriaCellLoadingContainer}`]: styles.groupingCriteriaCellLoadingContainer
194
+ }, {
195
+ [`& .${_gridClasses.gridClasses.groupingCriteriaCellToggle}`]: styles.groupingCriteriaCellToggle
196
+ }, {
197
+ [`& .${_gridClasses.gridClasses.headerFilterRow}`]: styles.headerFilterRow
128
198
  }, {
129
199
  [`& .${_gridClasses.gridClasses.iconSeparator}`]: styles.iconSeparator
130
200
  }, {
131
201
  [`& .${_gridClasses.gridClasses.menuIcon}`]: styles.menuIcon
132
202
  }, {
133
203
  [`& .${_gridClasses.gridClasses.menuIconButton}`]: styles.menuIconButton
204
+ }, {
205
+ [`& .${_gridClasses.gridClasses.menuList}`]: styles.menuList
134
206
  }, {
135
207
  [`& .${_gridClasses.gridClasses.menuOpen}`]: styles.menuOpen
136
208
  }, {
137
- [`& .${_gridClasses.gridClasses.menuList}`]: styles.menuList
209
+ [`& .${_gridClasses.gridClasses.overlayWrapperInner}`]: styles.overlayWrapperInner
138
210
  }, {
139
- [`& .${_gridClasses.gridClasses['row--editable']}`]: styles['row--editable']
211
+ [`& .${_gridClasses.gridClasses.pinnedRows}`]: styles.pinnedRows
140
212
  }, {
141
- [`& .${_gridClasses.gridClasses['row--editing']}`]: styles['row--editing']
213
+ [`& .${_gridClasses.gridClasses['pinnedRows--bottom']}`]: styles['pinnedRows--bottom']
142
214
  }, {
143
- [`& .${_gridClasses.gridClasses['row--dragging']}`]: styles['row--dragging']
215
+ [`& .${_gridClasses.gridClasses['pinnedRows--top']}`]: styles['pinnedRows--top']
144
216
  }, {
145
217
  [`& .${_gridClasses.gridClasses.row}`]: styles.row
146
218
  }, {
147
- [`& .${_gridClasses.gridClasses.rowReorderCellPlaceholder}`]: styles.rowReorderCellPlaceholder
219
+ [`& .${_gridClasses.gridClasses['row--borderBottom']}`]: styles['row--borderBottom']
220
+ }, {
221
+ [`& .${_gridClasses.gridClasses['row--detailPanelExpanded']}`]: styles['row--detailPanelExpanded']
222
+ }, {
223
+ [`& .${_gridClasses.gridClasses['row--dragging']}`]: styles['row--dragging']
224
+ }, {
225
+ [`& .${_gridClasses.gridClasses['row--dynamicHeight']}`]: styles['row--dynamicHeight']
226
+ }, {
227
+ [`& .${_gridClasses.gridClasses['row--editable']}`]: styles['row--editable']
228
+ }, {
229
+ [`& .${_gridClasses.gridClasses['row--editing']}`]: styles['row--editing']
230
+ }, {
231
+ [`& .${_gridClasses.gridClasses['row--firstVisible']}`]: styles['row--firstVisible']
232
+ }, {
233
+ [`& .${_gridClasses.gridClasses['row--lastVisible']}`]: styles['row--lastVisible']
148
234
  }, {
149
235
  [`& .${_gridClasses.gridClasses.rowReorderCell}`]: styles.rowReorderCell
150
236
  }, {
151
237
  [`& .${_gridClasses.gridClasses['rowReorderCell--draggable']}`]: styles['rowReorderCell--draggable']
152
238
  }, {
153
- [`& .${_gridClasses.gridClasses.sortIcon}`]: styles.sortIcon
239
+ [`& .${_gridClasses.gridClasses.rowReorderCellContainer}`]: styles.rowReorderCellContainer
154
240
  }, {
155
- [`& .${_gridClasses.gridClasses.withBorderColor}`]: styles.withBorderColor
241
+ [`& .${_gridClasses.gridClasses.rowReorderCellPlaceholder}`]: styles.rowReorderCellPlaceholder
156
242
  }, {
157
- [`& .${_gridClasses.gridClasses.treeDataGroupingCell}`]: styles.treeDataGroupingCell
243
+ [`& .${_gridClasses.gridClasses.rowSkeleton}`]: styles.rowSkeleton
158
244
  }, {
159
- [`& .${_gridClasses.gridClasses.treeDataGroupingCellToggle}`]: styles.treeDataGroupingCellToggle
245
+ [`& .${_gridClasses.gridClasses.scrollbar}`]: styles.scrollbar
160
246
  }, {
161
- [`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}`]: styles.treeDataGroupingCellLoadingContainer
247
+ [`& .${_gridClasses.gridClasses['scrollbar--horizontal']}`]: styles['scrollbar--horizontal']
162
248
  }, {
163
- [`& .${_gridClasses.gridClasses.groupingCriteriaCellLoadingContainer}`]: styles.groupingCriteriaCellLoadingContainer
249
+ [`& .${_gridClasses.gridClasses['scrollbar--vertical']}`]: styles['scrollbar--vertical']
164
250
  }, {
165
- [`& .${_gridClasses.gridClasses.detailPanelToggleCell}`]: styles.detailPanelToggleCell
251
+ [`& .${_gridClasses.gridClasses.scrollbarFiller}`]: styles.scrollbarFiller
166
252
  }, {
167
- [`& .${_gridClasses.gridClasses['detailPanelToggleCell--expanded']}`]: styles['detailPanelToggleCell--expanded']
168
- }, styles.root]
253
+ [`& .${_gridClasses.gridClasses['scrollbarFiller--borderBottom']}`]: styles['scrollbarFiller--borderBottom']
254
+ }, {
255
+ [`& .${_gridClasses.gridClasses['scrollbarFiller--borderTop']}`]: styles['scrollbarFiller--borderTop']
256
+ }, {
257
+ [`& .${_gridClasses.gridClasses['scrollbarFiller--header']}`]: styles['scrollbarFiller--header']
258
+ }, {
259
+ [`& .${_gridClasses.gridClasses['scrollbarFiller--pinnedRight']}`]: styles['scrollbarFiller--pinnedRight']
260
+ }, {
261
+ [`& .${_gridClasses.gridClasses.sortIcon}`]: styles.sortIcon
262
+ }, {
263
+ [`& .${_gridClasses.gridClasses.treeDataGroupingCell}`]: styles.treeDataGroupingCell
264
+ }, {
265
+ [`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}`]: styles.treeDataGroupingCellLoadingContainer
266
+ }, {
267
+ [`& .${_gridClasses.gridClasses.treeDataGroupingCellToggle}`]: styles.treeDataGroupingCellToggle
268
+ }, {
269
+ [`& .${_gridClasses.gridClasses.withBorderColor}`]: styles.withBorderColor
270
+ }]
169
271
  })(({
170
272
  theme: t
171
273
  }) => {
@@ -262,10 +364,6 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
262
364
  overflow: 'visible !important'
263
365
  },
264
366
  '@media (hover: hover)': {
265
- [`& .${_gridClasses.gridClasses.iconButtonContainer}`]: {
266
- width: '0 !important',
267
- visibility: 'hidden !important'
268
- },
269
367
  [`& .${_gridClasses.gridClasses.menuIcon}`]: {
270
368
  width: '0 !important',
271
369
  visibility: 'hidden !important'
@@ -99,7 +99,8 @@ const GridPanel = exports.GridPanel = (0, _forwardRef.forwardRef)((props, ref) =
99
99
  }, other, {
100
100
  ref: ref,
101
101
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
102
- mouseEvent: "onMouseUp",
102
+ mouseEvent: "onPointerUp",
103
+ touchEvent: false,
103
104
  onClickAway: handleClickAway,
104
105
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPaperRoot, {
105
106
  className: classes.paper,