@mui/x-data-grid 7.11.1 → 7.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/CHANGELOG.md +178 -4
  2. package/components/GridHeaders.js +1 -4
  3. package/components/GridPagination.js +2 -0
  4. package/components/GridRow.d.ts +1 -0
  5. package/components/GridRow.js +11 -28
  6. package/components/GridRowCount.js +1 -1
  7. package/components/GridSelectedRowCount.js +1 -1
  8. package/components/base/GridOverlays.js +1 -1
  9. package/components/cell/GridBooleanCell.js +3 -3
  10. package/components/columnHeaders/ColumnHeaderMenuIcon.js +1 -1
  11. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
  12. package/components/columnHeaders/GridColumnGroupHeader.js +2 -1
  13. package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -1
  14. package/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  15. package/components/columnHeaders/GridIconButtonContainer.js +1 -1
  16. package/components/columnSelection/GridHeaderCheckbox.js +1 -1
  17. package/components/columnsManagement/GridColumnsManagement.js +1 -1
  18. package/components/containers/GridFooterContainer.js +1 -1
  19. package/components/containers/GridOverlay.js +1 -1
  20. package/components/containers/GridRoot.js +4 -7
  21. package/components/containers/GridRootStyles.js +26 -6
  22. package/components/containers/GridToolbarContainer.js +1 -1
  23. package/components/panel/GridPanelContent.js +1 -1
  24. package/components/panel/GridPanelFooter.js +1 -1
  25. package/components/panel/GridPanelHeader.js +1 -1
  26. package/components/panel/GridPanelWrapper.js +1 -1
  27. package/components/virtualization/GridBottomContainer.js +1 -1
  28. package/components/virtualization/GridTopContainer.js +2 -13
  29. package/components/virtualization/GridVirtualScrollbar.js +1 -0
  30. package/components/virtualization/GridVirtualScroller.js +1 -1
  31. package/components/virtualization/GridVirtualScrollerContent.js +1 -1
  32. package/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
  33. package/constants/gridClasses.d.ts +10 -0
  34. package/constants/gridClasses.js +1 -1
  35. package/hooks/core/useGridRefs.js +3 -1
  36. package/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -0
  37. package/hooks/features/editing/useGridEditing.js +2 -2
  38. package/hooks/features/rowSelection/useGridRowSelection.js +2 -3
  39. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +1 -1
  40. package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  41. package/hooks/features/rows/gridRowsUtils.js +3 -2
  42. package/hooks/features/rows/index.d.ts +1 -1
  43. package/hooks/features/rows/index.js +1 -1
  44. package/hooks/features/rows/useGridRows.js +3 -3
  45. package/hooks/features/sorting/gridSortingSelector.js +2 -2
  46. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
  47. package/hooks/features/virtualization/useGridVirtualScroller.js +13 -5
  48. package/index.js +1 -1
  49. package/internals/utils/useProps.js +1 -6
  50. package/locales/trTR.js +19 -21
  51. package/models/api/gridCoreApi.d.ts +1 -1
  52. package/modern/components/GridHeaders.js +1 -4
  53. package/modern/components/GridPagination.js +2 -0
  54. package/modern/components/GridRow.js +11 -28
  55. package/modern/components/GridRowCount.js +1 -1
  56. package/modern/components/GridSelectedRowCount.js +1 -1
  57. package/modern/components/base/GridOverlays.js +1 -1
  58. package/modern/components/cell/GridBooleanCell.js +3 -3
  59. package/modern/components/columnHeaders/ColumnHeaderMenuIcon.js +1 -1
  60. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
  61. package/modern/components/columnHeaders/GridColumnGroupHeader.js +2 -1
  62. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -1
  63. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  64. package/modern/components/columnHeaders/GridIconButtonContainer.js +1 -1
  65. package/modern/components/columnSelection/GridHeaderCheckbox.js +1 -1
  66. package/modern/components/columnsManagement/GridColumnsManagement.js +1 -1
  67. package/modern/components/containers/GridFooterContainer.js +1 -1
  68. package/modern/components/containers/GridOverlay.js +1 -1
  69. package/modern/components/containers/GridRoot.js +4 -7
  70. package/modern/components/containers/GridRootStyles.js +26 -6
  71. package/modern/components/containers/GridToolbarContainer.js +1 -1
  72. package/modern/components/panel/GridPanelContent.js +1 -1
  73. package/modern/components/panel/GridPanelFooter.js +1 -1
  74. package/modern/components/panel/GridPanelHeader.js +1 -1
  75. package/modern/components/panel/GridPanelWrapper.js +1 -1
  76. package/modern/components/virtualization/GridBottomContainer.js +1 -1
  77. package/modern/components/virtualization/GridTopContainer.js +2 -13
  78. package/modern/components/virtualization/GridVirtualScrollbar.js +1 -0
  79. package/modern/components/virtualization/GridVirtualScroller.js +1 -1
  80. package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -1
  81. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
  82. package/modern/constants/gridClasses.js +1 -1
  83. package/modern/hooks/core/useGridRefs.js +3 -1
  84. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -0
  85. package/modern/hooks/features/editing/useGridEditing.js +2 -2
  86. package/modern/hooks/features/rowSelection/useGridRowSelection.js +2 -3
  87. package/modern/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +1 -1
  88. package/modern/hooks/features/rows/gridRowsUtils.js +3 -2
  89. package/modern/hooks/features/rows/index.js +1 -1
  90. package/modern/hooks/features/rows/useGridRows.js +3 -3
  91. package/modern/hooks/features/sorting/gridSortingSelector.js +2 -2
  92. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +13 -5
  93. package/modern/index.js +1 -1
  94. package/modern/internals/utils/useProps.js +1 -6
  95. package/modern/locales/trTR.js +19 -21
  96. package/modern/utils/composeGridClasses.js +5 -0
  97. package/modern/utils/platform.js +2 -0
  98. package/node/components/GridHeaders.js +1 -4
  99. package/node/components/GridPagination.js +2 -0
  100. package/node/components/GridRow.js +9 -26
  101. package/node/components/GridRowCount.js +2 -2
  102. package/node/components/GridSelectedRowCount.js +2 -2
  103. package/node/components/base/GridOverlays.js +2 -2
  104. package/node/components/cell/GridBooleanCell.js +3 -3
  105. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +2 -2
  106. package/node/components/columnHeaders/GridBaseColumnHeaders.js +2 -2
  107. package/node/components/columnHeaders/GridColumnGroupHeader.js +2 -1
  108. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +2 -2
  109. package/node/components/columnHeaders/GridColumnHeaderTitle.js +2 -2
  110. package/node/components/columnHeaders/GridIconButtonContainer.js +2 -2
  111. package/node/components/columnSelection/GridHeaderCheckbox.js +4 -4
  112. package/node/components/columnsManagement/GridColumnsManagement.js +5 -5
  113. package/node/components/containers/GridFooterContainer.js +2 -2
  114. package/node/components/containers/GridOverlay.js +2 -2
  115. package/node/components/containers/GridRoot.js +4 -7
  116. package/node/components/containers/GridRootStyles.js +26 -6
  117. package/node/components/containers/GridToolbarContainer.js +2 -2
  118. package/node/components/panel/GridPanelContent.js +2 -2
  119. package/node/components/panel/GridPanelFooter.js +2 -2
  120. package/node/components/panel/GridPanelHeader.js +2 -2
  121. package/node/components/panel/GridPanelWrapper.js +2 -2
  122. package/node/components/virtualization/GridBottomContainer.js +2 -2
  123. package/node/components/virtualization/GridTopContainer.js +3 -14
  124. package/node/components/virtualization/GridVirtualScrollbar.js +1 -0
  125. package/node/components/virtualization/GridVirtualScroller.js +2 -2
  126. package/node/components/virtualization/GridVirtualScrollerContent.js +2 -2
  127. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -2
  128. package/node/constants/gridClasses.js +1 -1
  129. package/node/hooks/core/useGridRefs.js +3 -1
  130. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -0
  131. package/node/hooks/features/editing/useGridEditing.js +1 -1
  132. package/node/hooks/features/rowSelection/useGridRowSelection.js +2 -3
  133. package/node/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +2 -2
  134. package/node/hooks/features/rows/gridRowsUtils.js +6 -4
  135. package/node/hooks/features/rows/index.js +8 -1
  136. package/node/hooks/features/rows/useGridRows.js +2 -2
  137. package/node/hooks/features/sorting/gridSortingSelector.js +1 -1
  138. package/node/hooks/features/virtualization/useGridVirtualScroller.js +13 -5
  139. package/node/index.js +1 -1
  140. package/node/internals/utils/useProps.js +1 -7
  141. package/node/locales/trTR.js +19 -21
  142. package/node/utils/composeGridClasses.js +11 -0
  143. package/node/utils/platform.js +8 -0
  144. package/package.json +13 -3
  145. package/utils/composeGridClasses.d.ts +3 -0
  146. package/utils/composeGridClasses.js +5 -0
  147. package/utils/platform.d.ts +1 -0
  148. package/utils/platform.js +2 -0
@@ -16,6 +16,7 @@ import { gridPinnedRowsSelector } from '../rows/gridRowsSelector';
16
16
  import { gridFocusCellSelector, gridTabIndexCellSelector } from '../focus/gridFocusStateSelector';
17
17
  import { useGridVisibleRows, getVisibleRows } from '../../utils/useGridVisibleRows';
18
18
  import { useGridApiEventHandler } from '../../utils';
19
+ import * as platform from '../../../utils/platform';
19
20
  import { clamp, range } from '../../../utils/utils';
20
21
  import { selectedIdsLookupSelector } from '../rowSelection/gridRowSelectionSelector';
21
22
  import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
@@ -178,6 +179,8 @@ export const useGridVirtualScroller = () => {
178
179
  const forceUpdateRenderContext = () => {
179
180
  const inputs = inputsSelector(apiRef, rootProps, enabled, enabledForColumns);
180
181
  const nextRenderContext = computeRenderContext(inputs, scrollPosition.current, scrollCache);
182
+ // Reset the frozen context when the render context changes, see the illustration in https://github.com/mui/mui-x/pull/12353
183
+ frozenContext.current = undefined;
181
184
  updateRenderContext(nextRenderContext);
182
185
  };
183
186
  const handleScroll = useEventCallback(event => {
@@ -257,6 +260,7 @@ export const useGridVirtualScroller = () => {
257
260
  id,
258
261
  model
259
262
  } = rowModels[rowIndexInPage];
263
+ const rowIndex = (currentPage?.range?.firstRowIndex || 0) + rowIndexOffset + rowIndexInPage;
260
264
 
261
265
  // NOTE: This is an expensive feature, the colSpan code could be optimized.
262
266
  if (hasColSpan) {
@@ -298,6 +302,7 @@ export const useGridVirtualScroller = () => {
298
302
  isFirstVisible = rowIndexInPage === 0;
299
303
  }
300
304
  let isLastVisible = false;
305
+ const isLastVisibleInSection = rowIndexInPage === rowModels.length - 1;
301
306
  if (isLastSection) {
302
307
  if (!isPinnedSection) {
303
308
  const lastIndex = currentPage.rows.length - 1;
@@ -306,7 +311,7 @@ export const useGridVirtualScroller = () => {
306
311
  isLastVisible = true;
307
312
  }
308
313
  } else {
309
- isLastVisible = rowIndexInPage === rowModels.length - 1;
314
+ isLastVisible = isLastVisibleInSection;
310
315
  }
311
316
  }
312
317
  const isVirtualRow = rowIndexInPage === virtualRowIndex;
@@ -321,7 +326,7 @@ export const useGridVirtualScroller = () => {
321
326
  currentRenderContext = frozenContext.current;
322
327
  }
323
328
  const offsetLeft = computeOffsetLeft(columnPositions, currentRenderContext, theme.direction, pinnedColumns.left.length);
324
- const rowIndex = (currentPage?.range?.firstRowIndex || 0) + rowIndexOffset + rowIndexInPage;
329
+ const showBottomBorder = isLastVisibleInSection && params.position === 'top';
325
330
  rows.push( /*#__PURE__*/_jsx(rootProps.slots.row, _extends({
326
331
  row: model,
327
332
  rowId: id,
@@ -338,7 +343,8 @@ export const useGridVirtualScroller = () => {
338
343
  focusedColumnIndex: hasFocus ? focusedCell.columnIndex : undefined,
339
344
  isFirstVisible: isFirstVisible,
340
345
  isLastVisible: isLastVisible,
341
- isNotVisible: isNotVisible
346
+ isNotVisible: isNotVisible,
347
+ showBottomBorder: showBottomBorder
342
348
  }, rowProps), id));
343
349
  if (isNotVisible) {
344
350
  return;
@@ -409,12 +415,14 @@ export const useGridVirtualScroller = () => {
409
415
  }),
410
416
  getScrollerProps: () => ({
411
417
  ref: scrollerRef,
412
- tabIndex: -1,
413
418
  onScroll: handleScroll,
414
419
  onWheel: handleWheel,
415
420
  onTouchMove: handleTouchMove,
416
421
  style: scrollerStyle,
417
- role: 'presentation'
422
+ role: 'presentation',
423
+ // `tabIndex` shouldn't be used along role=presentation, but it fixes a Firefox bug
424
+ // https://github.com/mui/mui-x/pull/13891#discussion_r1683416024
425
+ tabIndex: platform.isFirefox ? -1 : undefined
418
426
  }),
419
427
  getContentProps: () => ({
420
428
  style: contentSize,
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.11.1
2
+ * @mui/x-data-grid v7.12.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,5 +1,3 @@
1
- import _objectDestructuringEmpty from "@babel/runtime/helpers/esm/objectDestructuringEmpty";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
3
1
  import * as React from 'react';
4
2
 
5
3
  /** Gathers props for the root element into a single `.forwardedProps` field */
@@ -22,8 +20,5 @@ function groupForwardedProps(props) {
22
20
  return newProps;
23
21
  }
24
22
  export function useProps(allProps) {
25
- return React.useMemo(() => {
26
- const themedProps = _extends({}, (_objectDestructuringEmpty(allProps), allProps));
27
- return groupForwardedProps(themedProps);
28
- }, [allProps]);
23
+ return React.useMemo(() => groupForwardedProps(allProps), [allProps]);
29
24
  }
@@ -30,11 +30,10 @@ const trTRGrid = {
30
30
  toolbarExportPrint: 'Yazdır',
31
31
  toolbarExportExcel: 'Excel olarak aktar',
32
32
  // Columns management text
33
- // columnsManagementSearchTitle: 'Search',
34
- // columnsManagementNoColumns: 'No columns',
35
- // columnsManagementShowHideAllText: 'Show/Hide All',
36
- // columnsManagementReset: 'Reset',
37
-
33
+ columnsManagementSearchTitle: 'Arama',
34
+ columnsManagementNoColumns: 'Kolon yok',
35
+ columnsManagementShowHideAllText: 'Hepsini Göster/Gizle',
36
+ columnsManagementReset: 'Sıfırla',
38
37
  // Filter panel text
39
38
  filterPanelAddFilter: 'Filtre Ekle',
40
39
  filterPanelRemoveAll: 'Hepsini kaldır',
@@ -71,22 +70,21 @@ const trTRGrid = {
71
70
  headerFilterOperatorEquals: 'Şuna eşittir',
72
71
  headerFilterOperatorStartsWith: 'Şununla başlar',
73
72
  headerFilterOperatorEndsWith: 'Şununla biter',
74
- // headerFilterOperatorIs: 'Is',
75
- // headerFilterOperatorNot: 'Is not',
76
- // headerFilterOperatorAfter: 'Is after',
77
- // headerFilterOperatorOnOrAfter: 'Is on or after',
78
- // headerFilterOperatorBefore: 'Is before',
79
- // headerFilterOperatorOnOrBefore: 'Is on or before',
80
- // headerFilterOperatorIsEmpty: 'Is empty',
81
- // headerFilterOperatorIsNotEmpty: 'Is not empty',
82
- // headerFilterOperatorIsAnyOf: 'Is any of',
83
- // 'headerFilterOperator=': 'Equals',
84
- // 'headerFilterOperator!=': 'Not equals',
85
- // 'headerFilterOperator>': 'Greater than',
86
- // 'headerFilterOperator>=': 'Greater than or equal to',
87
- // 'headerFilterOperator<': 'Less than',
88
- // 'headerFilterOperator<=': 'Less than or equal to',
89
-
73
+ headerFilterOperatorIs: 'Eşittir',
74
+ headerFilterOperatorNot: 'Eşit değil',
75
+ headerFilterOperatorAfter: 'Sonra',
76
+ headerFilterOperatorOnOrAfter: 'Sonra veya eşit',
77
+ headerFilterOperatorBefore: 'Önce',
78
+ headerFilterOperatorOnOrBefore: 'Önce veya eşit',
79
+ headerFilterOperatorIsEmpty: 'Boş',
80
+ headerFilterOperatorIsNotEmpty: 'Boş değil',
81
+ headerFilterOperatorIsAnyOf: 'Herhangi biri',
82
+ 'headerFilterOperator=': 'Eşittir',
83
+ 'headerFilterOperator!=': 'Eşit değil',
84
+ 'headerFilterOperator>': 'Büyüktür',
85
+ 'headerFilterOperator>=': 'Büyük veya eşit',
86
+ 'headerFilterOperator<': 'Küçüktür',
87
+ 'headerFilterOperator<=': 'Küçük veya eşit',
90
88
  // Filter values text
91
89
  filterValueAny: 'herhangi',
92
90
  filterValueTrue: 'doğru',
@@ -0,0 +1,5 @@
1
+ import { unstable_composeClasses as composeClasses } from '@mui/utils';
2
+ import { getDataGridUtilityClass } from '../constants/gridClasses';
3
+ export function composeGridClasses(classes, slots) {
4
+ return composeClasses(slots, getDataGridUtilityClass, classes);
5
+ }
@@ -0,0 +1,2 @@
1
+ const userAgent = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : 'empty';
2
+ export const isFirefox = userAgent.includes('firefox');
@@ -36,10 +36,7 @@ function GridHeaders() {
36
36
  const columnVisibility = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnVisibilityModelSelector);
37
37
  const columnGroupsHeaderStructure = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderStructureSelector);
38
38
  const hasOtherElementInTabSequence = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
39
- const columnsContainerRef = React.useRef(null);
40
- apiRef.current.register('private', {
41
- columnHeadersContainerRef: columnsContainerRef
42
- });
39
+ const columnsContainerRef = apiRef.current.columnHeadersContainerRef;
43
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnHeaders, (0, _extends2.default)({
44
41
  ref: columnsContainerRef,
45
42
  visibleColumns: visibleColumns,
@@ -20,6 +20,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
20
20
  const GridPaginationRoot = (0, _styles.styled)(_TablePagination.default)(({
21
21
  theme
22
22
  }) => ({
23
+ maxHeight: 'calc(100% + 1px)',
24
+ // border width
23
25
  [`& .${_TablePagination.tablePaginationClasses.selectLabel}`]: {
24
26
  display: 'none',
25
27
  [theme.breakpoints.up('sm')]: {
@@ -15,6 +15,7 @@ var _fastMemo = require("../utils/fastMemo");
15
15
  var _gridEditRowModel = require("../models/gridEditRowModel");
16
16
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
17
17
  var _gridClasses = require("../constants/gridClasses");
18
+ var _composeGridClasses = require("../utils/composeGridClasses");
18
19
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
19
20
  var _gridColumnsSelector = require("../hooks/features/columns/gridColumnsSelector");
20
21
  var _useGridSelector = require("../hooks/utils/useGridSelector");
@@ -31,24 +32,9 @@ var _GridCell = require("./cell/GridCell");
31
32
  var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
32
33
  var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
33
34
  var _jsxRuntime = require("react/jsx-runtime");
34
- const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
35
+ const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
35
36
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
36
37
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
37
- const useUtilityClasses = ownerState => {
38
- const {
39
- editable,
40
- editing,
41
- selected,
42
- isFirstVisible,
43
- isLastVisible,
44
- rowHeight,
45
- classes
46
- } = ownerState;
47
- const slots = {
48
- root: ['row', selected && 'selected', editable && 'row--editable', editing && 'row--editing', isFirstVisible && 'row--firstVisible', isLastVisible && 'row--lastVisible', rowHeight === 'auto' && 'row--dynamicHeight']
49
- };
50
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
51
- };
52
38
  function EmptyCell({
53
39
  width
54
40
  }) {
@@ -81,6 +67,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
81
67
  isFirstVisible,
82
68
  isLastVisible,
83
69
  isNotVisible,
70
+ showBottomBorder,
84
71
  onClick,
85
72
  onDoubleClick,
86
73
  onMouseEnter,
@@ -102,21 +89,16 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
102
89
  const rowNode = apiRef.current.getRowNode(rowId);
103
90
  const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
104
91
  const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
92
+ const editing = apiRef.current.getRowMode(rowId) === _gridEditRowModel.GridRowModes.Edit;
93
+ const editable = rootProps.editMode === _gridEditRowModel.GridEditModes.Row;
105
94
  const hasFocusCell = focusedColumnIndex !== undefined;
106
95
  const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < renderContext.firstColumnIndex;
107
96
  const hasVirtualFocusCellRight = hasFocusCell && focusedColumnIndex < visibleColumns.length - pinnedColumns.right.length && focusedColumnIndex >= renderContext.lastColumnIndex;
108
97
  const ariaRowIndex = index + headerGroupingMaxDepth + 2; // 1 for the header row and 1 as it's 1-based
109
98
 
110
- const ownerState = {
111
- selected,
112
- isFirstVisible,
113
- isLastVisible,
114
- classes: rootProps.classes,
115
- editing: apiRef.current.getRowMode(rowId) === _gridEditRowModel.GridRowModes.Edit,
116
- editable: rootProps.editMode === _gridEditRowModel.GridEditModes.Row,
117
- rowHeight
118
- };
119
- const classes = useUtilityClasses(ownerState);
99
+ const classes = (0, _composeGridClasses.composeGridClasses)(rootProps.classes, {
100
+ root: ['row', selected && 'selected', editable && 'row--editable', editing && 'row--editing', isFirstVisible && 'row--firstVisible', isLastVisible && 'row--lastVisible', showBottomBorder && 'row--borderBottom', rowHeight === 'auto' && 'row--dynamicHeight']
101
+ });
120
102
  React.useLayoutEffect(() => {
121
103
  if (currentPage.range) {
122
104
  // The index prop is relative to the rows from all pages. As example, the index prop of the
@@ -426,6 +408,7 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
426
408
  rowHeight: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]).isRequired,
427
409
  rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
428
410
  selected: _propTypes.default.bool.isRequired,
411
+ showBottomBorder: _propTypes.default.bool.isRequired,
429
412
  /**
430
413
  * Determines which cell should be tabbable by having tabIndex=0.
431
414
  * If `null`, no cell in this row is in the tab sequence.
@@ -10,7 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
- var _utils = require("@mui/utils");
13
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
14
  var _system = require("@mui/system");
15
15
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
16
  var _gridClasses = require("../constants/gridClasses");
@@ -26,7 +26,7 @@ const useUtilityClasses = ownerState => {
26
26
  const slots = {
27
27
  root: ['rowCount']
28
28
  };
29
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
30
30
  };
31
31
  const GridRowCountRoot = (0, _system.styled)('div', {
32
32
  name: 'MuiDataGrid',
@@ -10,7 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
- var _utils = require("@mui/utils");
13
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
14
  var _system = require("@mui/system");
15
15
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
16
  var _gridClasses = require("../constants/gridClasses");
@@ -26,7 +26,7 @@ const useUtilityClasses = ownerState => {
26
26
  const slots = {
27
27
  root: ['selectedRowCount']
28
28
  };
29
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
30
30
  };
31
31
  const GridSelectedRowCountRoot = (0, _system.styled)('div', {
32
32
  name: 'MuiDataGrid',
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _system = require("@mui/system");
12
- var _utils = require("@mui/utils");
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
15
15
  var _dimensions = require("../../hooks/features/dimensions");
@@ -57,7 +57,7 @@ const useUtilityClasses = ownerState => {
57
57
  root: ['overlayWrapper'],
58
58
  inner: ['overlayWrapperInner']
59
59
  };
60
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
60
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
61
61
  };
62
62
  function GridOverlayWrapper(props) {
63
63
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("@mui/utils");
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _gridClasses = require("../../constants/gridClasses");
14
14
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
15
15
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -25,7 +25,7 @@ const useUtilityClasses = ownerState => {
25
25
  const slots = {
26
26
  root: ['booleanCell']
27
27
  };
28
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
28
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
29
  };
30
30
  function GridBooleanCellRaw(props) {
31
31
  const {
@@ -114,7 +114,7 @@ process.env.NODE_ENV !== "production" ? GridBooleanCellRaw.propTypes = {
114
114
  } : void 0;
115
115
  const GridBooleanCell = exports.GridBooleanCell = /*#__PURE__*/React.memo(GridBooleanCellRaw);
116
116
  const renderBooleanCell = params => {
117
- if (params.field !== '__row_group_by_columns_group__' && (0, _gridRowsUtils.isAutoGeneratedRow)(params.rowNode)) {
117
+ if (params.field !== '__row_group_by_columns_group__' && (0, _gridRowsUtils.isAutogeneratedRowNode)(params.rowNode)) {
118
118
  return '';
119
119
  }
120
120
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridBooleanCell, (0, _extends2.default)({}, params));
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.ColumnHeaderMenuIcon = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _utils = require("@mui/utils");
10
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
11
11
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
12
12
  var _gridClasses = require("../../constants/gridClasses");
13
13
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -23,7 +23,7 @@ const useUtilityClasses = ownerState => {
23
23
  root: ['menuIcon', open && 'menuOpen'],
24
24
  button: ['menuIconButton']
25
25
  };
26
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
26
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
27
27
  };
28
28
  const ColumnHeaderMenuIcon = exports.ColumnHeaderMenuIcon = /*#__PURE__*/React.memo(props => {
29
29
  const {
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
- var _utils = require("@mui/utils");
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _system = require("@mui/system");
14
14
  var _gridClasses = require("../../constants/gridClasses");
15
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -24,7 +24,7 @@ const useUtilityClasses = ownerState => {
24
24
  const slots = {
25
25
  root: ['columnHeaders']
26
26
  };
27
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
27
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
28
28
  };
29
29
  const GridColumnHeadersRoot = (0, _system.styled)('div', {
30
30
  name: 'MuiDataGrid',
@@ -24,13 +24,14 @@ const useUtilityClasses = ownerState => {
24
24
  classes,
25
25
  headerAlign,
26
26
  isDragging,
27
+ isLastColumn,
27
28
  showLeftBorder,
28
29
  showRightBorder,
29
30
  groupId,
30
31
  pinnedPosition
31
32
  } = ownerState;
32
33
  const slots = {
33
- root: ['columnHeader', headerAlign === 'left' && 'columnHeader--alignLeft', headerAlign === 'center' && 'columnHeader--alignCenter', headerAlign === 'right' && 'columnHeader--alignRight', isDragging && 'columnHeader--moving', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', 'withBorderColor', groupId === null ? 'columnHeader--emptyGroup' : 'columnHeader--filledGroup', pinnedPosition === 'left' && 'columnHeader--pinnedLeft', pinnedPosition === 'right' && 'columnHeader--pinnedRight'],
34
+ root: ['columnHeader', headerAlign === 'left' && 'columnHeader--alignLeft', headerAlign === 'center' && 'columnHeader--alignCenter', headerAlign === 'right' && 'columnHeader--alignRight', isDragging && 'columnHeader--moving', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', 'withBorderColor', groupId === null ? 'columnHeader--emptyGroup' : 'columnHeader--filledGroup', pinnedPosition === 'left' && 'columnHeader--pinnedLeft', pinnedPosition === 'right' && 'columnHeader--pinnedRight', isLastColumn && 'columnHeader--last'],
34
35
  draggableContainer: ['columnHeaderDraggableContainer'],
35
36
  titleContainer: ['columnHeaderTitleContainer', 'withBorderColor'],
36
37
  titleContainerContent: ['columnHeaderTitleContainerContent']
@@ -9,7 +9,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("@mui/utils");
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _Badge = _interopRequireDefault(require("@mui/material/Badge"));
14
14
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
15
15
  var _gridClasses = require("../../constants/gridClasses");
@@ -26,7 +26,7 @@ const useUtilityClasses = ownerState => {
26
26
  const slots = {
27
27
  icon: ['sortIcon']
28
28
  };
29
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
30
30
  };
31
31
  function getIcon(icons, direction, className, sortingOrder) {
32
32
  let Icon;
@@ -10,7 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
- var _utils = require("@mui/utils");
13
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
14
  var _system = require("@mui/system");
15
15
  var _domUtils = require("../../utils/domUtils");
16
16
  var _gridClasses = require("../../constants/gridClasses");
@@ -26,7 +26,7 @@ const useUtilityClasses = ownerState => {
26
26
  const slots = {
27
27
  root: ['columnHeaderTitle']
28
28
  };
29
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
30
30
  };
31
31
  const GridColumnHeaderTitleRoot = (0, _system.styled)('div', {
32
32
  name: 'MuiDataGrid',
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
- var _utils = require("@mui/utils");
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _system = require("@mui/system");
14
14
  var _gridClasses = require("../../constants/gridClasses");
15
15
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -24,7 +24,7 @@ const useUtilityClasses = ownerState => {
24
24
  const slots = {
25
25
  root: ['iconButtonContainer']
26
26
  };
27
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
27
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
28
28
  };
29
29
  const GridIconButtonContainerRoot = (0, _system.styled)('div', {
30
30
  name: 'MuiDataGrid',
@@ -9,8 +9,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("@mui/utils");
13
- var _utils2 = require("../../hooks/features/rowSelection/utils");
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
+ var _utils = require("../../hooks/features/rowSelection/utils");
14
14
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
15
15
  var _gridFocusStateSelector = require("../../hooks/features/focus/gridFocusStateSelector");
16
16
  var _gridRowSelectionSelector = require("../../hooks/features/rowSelection/gridRowSelectionSelector");
@@ -30,7 +30,7 @@ const useUtilityClasses = ownerState => {
30
30
  const slots = {
31
31
  root: ['checkboxInput']
32
32
  };
33
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
33
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
34
34
  };
35
35
  const GridHeaderCheckbox = exports.GridHeaderCheckbox = /*#__PURE__*/React.forwardRef(function GridHeaderCheckbox(props, ref) {
36
36
  const other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
@@ -113,7 +113,7 @@ const GridHeaderCheckbox = exports.GridHeaderCheckbox = /*#__PURE__*/React.forwa
113
113
  },
114
114
  tabIndex: tabIndex,
115
115
  onKeyDown: handleKeyDown,
116
- disabled: !(0, _utils2.isMultipleRowSelectionEnabled)(rootProps)
116
+ disabled: !(0, _utils.isMultipleRowSelectionEnabled)(rootProps)
117
117
  }, rootProps.slotProps?.baseCheckbox, other));
118
118
  });
119
119
  process.env.NODE_ENV !== "production" ? GridHeaderCheckbox.propTypes = {
@@ -8,7 +8,7 @@ exports.GridColumnsManagement = GridColumnsManagement;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _utils = require("@mui/utils");
11
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
12
12
  var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
13
13
  var _styles = require("@mui/material/styles");
14
14
  var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
@@ -17,7 +17,7 @@ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
17
17
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
18
18
  var _gridClasses = require("../../constants/gridClasses");
19
19
  var _useLazyRef = require("../../hooks/utils/useLazyRef");
20
- var _utils2 = require("./utils");
20
+ var _utils = require("./utils");
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -33,7 +33,7 @@ const useUtilityClasses = ownerState => {
33
33
  footer: ['columnsManagementFooter'],
34
34
  row: ['columnsManagementRow']
35
35
  };
36
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
36
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
37
37
  };
38
38
  const collator = new Intl.Collator();
39
39
  function GridColumnsManagement(props) {
@@ -47,14 +47,14 @@ function GridColumnsManagement(props) {
47
47
  const classes = useUtilityClasses(rootProps);
48
48
  const {
49
49
  sort,
50
- searchPredicate = _utils2.defaultSearchPredicate,
50
+ searchPredicate = _utils.defaultSearchPredicate,
51
51
  autoFocusSearchField = true,
52
52
  disableShowHideToggle = false,
53
53
  disableResetButton = false,
54
54
  toggleAllMode = 'all',
55
55
  getTogglableColumns
56
56
  } = props;
57
- const isResetDisabled = React.useMemo(() => (0, _utils2.checkColumnVisibilityModelsSame)(columnVisibilityModel, initialColumnVisibilityModel), [columnVisibilityModel, initialColumnVisibilityModel]);
57
+ const isResetDisabled = React.useMemo(() => (0, _utils.checkColumnVisibilityModelsSame)(columnVisibilityModel, initialColumnVisibilityModel), [columnVisibilityModel, initialColumnVisibilityModel]);
58
58
  const sortedColumns = React.useMemo(() => {
59
59
  switch (sort) {
60
60
  case 'asc':
@@ -10,7 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
- var _utils = require("@mui/utils");
13
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
14
  var _system = require("@mui/system");
15
15
  var _gridClasses = require("../../constants/gridClasses");
16
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -25,7 +25,7 @@ const useUtilityClasses = ownerState => {
25
25
  const slots = {
26
26
  root: ['footerContainer', 'withBorderColor']
27
27
  };
28
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
28
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
29
  };
30
30
  const GridFooterContainerRoot = (0, _system.styled)('div', {
31
31
  name: 'MuiDataGrid',
@@ -10,7 +10,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
- var _utils = require("@mui/utils");
13
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
14
  var _system = require("@mui/system");
15
15
  var _gridClasses = require("../../constants/gridClasses");
16
16
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -25,7 +25,7 @@ const useUtilityClasses = ownerState => {
25
25
  const slots = {
26
26
  root: ['overlay']
27
27
  };
28
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
28
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
29
29
  };
30
30
  const GridOverlayRoot = (0, _system.styled)('div', {
31
31
  name: 'MuiDataGrid',
@@ -21,15 +21,14 @@ var _jsxRuntime = require("react/jsx-runtime");
21
21
  const _excluded = ["className"];
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
- const useUtilityClasses = ownerState => {
24
+ const useUtilityClasses = (ownerState, density) => {
25
25
  const {
26
26
  autoHeight,
27
- density,
28
27
  classes,
29
28
  showCellVerticalBorder
30
29
  } = ownerState;
31
30
  const slots = {
32
- root: ['root', autoHeight && 'autoHeight', `root--density${(0, _utils.unstable_capitalize)(density)}`, 'withBorderColor', showCellVerticalBorder && 'withVerticalBorder']
31
+ root: ['root', autoHeight && 'autoHeight', `root--density${(0, _utils.unstable_capitalize)(density)}`, ownerState.slots.toolbar === null && 'root--noToolbar', 'withBorderColor', showCellVerticalBorder && 'withVerticalBorder']
33
32
  };
34
33
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
35
34
  };
@@ -43,10 +42,8 @@ const GridRoot = exports.GridRoot = /*#__PURE__*/React.forwardRef(function GridR
43
42
  const density = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensitySelector);
44
43
  const rootElementRef = apiRef.current.rootElementRef;
45
44
  const handleRef = (0, _utils.unstable_useForkRef)(rootElementRef, ref);
46
- const ownerState = (0, _extends2.default)({}, rootProps, {
47
- density
48
- });
49
- const classes = useUtilityClasses(ownerState);
45
+ const ownerState = rootProps;
46
+ const classes = useUtilityClasses(ownerState, density);
50
47
 
51
48
  // Our implementation of <NoSsr />
52
49
  const [mountedState, setMountedState] = React.useState(false);