@mui/x-data-grid 8.12.0 → 8.13.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 (112) hide show
  1. package/CHANGELOG.md +145 -0
  2. package/DataGrid/DataGrid.js +2 -1
  3. package/DataGrid/useDataGridComponent.js +2 -2
  4. package/components/GridLoadingOverlay.d.ts +1 -1
  5. package/components/GridRow.js +3 -7
  6. package/components/GridScrollShadows.d.ts +6 -0
  7. package/components/GridScrollShadows.js +108 -0
  8. package/components/GridScrollbarFillerCell.d.ts +0 -6
  9. package/components/GridScrollbarFillerCell.js +1 -7
  10. package/components/GridSkeletonLoadingOverlay.js +3 -10
  11. package/components/base/GridOverlays.d.ts +1 -3
  12. package/components/columnHeaders/GridColumnHeaderItem.d.ts +0 -1
  13. package/components/columnHeaders/GridColumnHeaderItem.js +1 -3
  14. package/components/containers/GridRootStyles.js +6 -21
  15. package/components/toolbarV8/GridToolbar.js +12 -10
  16. package/components/virtualization/GridMainContainer.d.ts +1 -2
  17. package/components/virtualization/GridVirtualScrollbar.d.ts +1 -0
  18. package/components/virtualization/GridVirtualScrollbar.js +21 -25
  19. package/components/virtualization/GridVirtualScroller.js +31 -12
  20. package/components/virtualization/GridVirtualScrollerFiller.js +2 -4
  21. package/constants/gridClasses.d.ts +0 -20
  22. package/constants/gridClasses.js +2 -2
  23. package/esm/DataGrid/DataGrid.js +2 -1
  24. package/esm/DataGrid/useDataGridComponent.js +2 -2
  25. package/esm/components/GridLoadingOverlay.d.ts +1 -1
  26. package/esm/components/GridRow.js +3 -7
  27. package/esm/components/GridScrollShadows.d.ts +6 -0
  28. package/esm/components/GridScrollShadows.js +103 -0
  29. package/esm/components/GridScrollbarFillerCell.d.ts +0 -6
  30. package/esm/components/GridScrollbarFillerCell.js +1 -7
  31. package/esm/components/GridSkeletonLoadingOverlay.js +3 -10
  32. package/esm/components/base/GridOverlays.d.ts +1 -3
  33. package/esm/components/columnHeaders/GridColumnHeaderItem.d.ts +0 -1
  34. package/esm/components/columnHeaders/GridColumnHeaderItem.js +1 -3
  35. package/esm/components/containers/GridRootStyles.js +6 -21
  36. package/esm/components/toolbarV8/GridToolbar.js +12 -10
  37. package/esm/components/virtualization/GridMainContainer.d.ts +1 -2
  38. package/esm/components/virtualization/GridVirtualScrollbar.d.ts +1 -0
  39. package/esm/components/virtualization/GridVirtualScrollbar.js +20 -24
  40. package/esm/components/virtualization/GridVirtualScroller.js +32 -13
  41. package/esm/components/virtualization/GridVirtualScrollerFiller.js +2 -4
  42. package/esm/constants/gridClasses.d.ts +0 -20
  43. package/esm/constants/gridClasses.js +2 -2
  44. package/esm/hooks/core/useGridVirtualizer.js +4 -0
  45. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -10
  46. package/esm/hooks/features/columnResize/useGridColumnResize.js +16 -0
  47. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +6 -0
  48. package/esm/hooks/features/index.d.ts +2 -1
  49. package/esm/hooks/features/index.js +2 -1
  50. package/esm/hooks/features/overlays/gridOverlaysInterfaces.d.ts +3 -0
  51. package/esm/hooks/features/overlays/gridOverlaysInterfaces.js +1 -0
  52. package/esm/hooks/features/overlays/index.d.ts +1 -0
  53. package/esm/hooks/features/overlays/index.js +1 -0
  54. package/esm/hooks/features/overlays/useGridOverlays.d.ts +6 -8
  55. package/esm/hooks/features/overlays/useGridOverlays.js +3 -27
  56. package/esm/hooks/features/rows/useGridParamsApi.d.ts +2 -1
  57. package/esm/hooks/features/rows/useGridParamsApi.js +5 -24
  58. package/esm/hooks/features/rows/useGridParamsOverridableMethods.d.ts +7 -0
  59. package/esm/hooks/features/rows/useGridParamsOverridableMethods.js +28 -0
  60. package/esm/hooks/features/rows/useGridRowSpanning.js +4 -1
  61. package/esm/hooks/features/rows/useGridRows.js +41 -1
  62. package/esm/hooks/features/sorting/gridSortingUtils.d.ts +1 -3
  63. package/esm/hooks/features/sorting/gridSortingUtils.js +4 -6
  64. package/esm/hooks/features/sorting/useGridSorting.d.ts +1 -2
  65. package/esm/hooks/features/sorting/useGridSorting.js +3 -4
  66. package/esm/index.js +1 -1
  67. package/esm/internals/index.d.ts +1 -0
  68. package/esm/internals/index.js +1 -0
  69. package/esm/material/variables.js +2 -2
  70. package/esm/models/api/gridRowApi.d.ts +10 -0
  71. package/esm/models/configuration/gridAggregationConfiguration.d.ts +0 -6
  72. package/esm/models/configuration/gridConfiguration.d.ts +2 -1
  73. package/esm/models/configuration/gridParamsConfiguration.d.ts +12 -0
  74. package/esm/models/configuration/gridParamsConfiguration.js +1 -0
  75. package/esm/models/props/DataGridProps.d.ts +10 -0
  76. package/esm/utils/cellBorderUtils.d.ts +3 -2
  77. package/esm/utils/cellBorderUtils.js +7 -4
  78. package/hooks/core/useGridVirtualizer.js +4 -0
  79. package/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -10
  80. package/hooks/features/columnResize/useGridColumnResize.js +16 -0
  81. package/hooks/features/dataSource/useGridDataSourceBase.js +6 -0
  82. package/hooks/features/index.d.ts +2 -1
  83. package/hooks/features/index.js +11 -0
  84. package/hooks/features/overlays/gridOverlaysInterfaces.d.ts +3 -0
  85. package/hooks/features/overlays/gridOverlaysInterfaces.js +5 -0
  86. package/hooks/features/overlays/index.d.ts +1 -0
  87. package/hooks/features/overlays/index.js +5 -0
  88. package/hooks/features/overlays/useGridOverlays.d.ts +6 -8
  89. package/hooks/features/overlays/useGridOverlays.js +3 -28
  90. package/hooks/features/rows/useGridParamsApi.d.ts +2 -1
  91. package/hooks/features/rows/useGridParamsApi.js +5 -24
  92. package/hooks/features/rows/useGridParamsOverridableMethods.d.ts +7 -0
  93. package/hooks/features/rows/useGridParamsOverridableMethods.js +36 -0
  94. package/hooks/features/rows/useGridRowSpanning.js +4 -1
  95. package/hooks/features/rows/useGridRows.js +41 -1
  96. package/hooks/features/sorting/gridSortingUtils.d.ts +1 -3
  97. package/hooks/features/sorting/gridSortingUtils.js +4 -6
  98. package/hooks/features/sorting/useGridSorting.d.ts +1 -2
  99. package/hooks/features/sorting/useGridSorting.js +3 -4
  100. package/index.js +1 -1
  101. package/internals/index.d.ts +1 -0
  102. package/internals/index.js +8 -0
  103. package/material/variables.js +2 -2
  104. package/models/api/gridRowApi.d.ts +10 -0
  105. package/models/configuration/gridAggregationConfiguration.d.ts +0 -6
  106. package/models/configuration/gridConfiguration.d.ts +2 -1
  107. package/models/configuration/gridParamsConfiguration.d.ts +12 -0
  108. package/models/configuration/gridParamsConfiguration.js +5 -0
  109. package/models/props/DataGridProps.d.ts +10 -0
  110. package/package.json +3 -3
  111. package/utils/cellBorderUtils.d.ts +3 -2
  112. package/utils/cellBorderUtils.js +7 -4
package/CHANGELOG.md CHANGED
@@ -5,6 +5,151 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.13.0
9
+
10
+ _Oct 1, 2025_
11
+
12
+ We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 📊 The chart zoom now supports the `tapAndDrag` gesture. Zoom in/out by tapping twice and dragging vertically.
15
+ - 🔎 Charts now allow [fine-grained control for zoom interactions](https://mui.com/x/react-charts/zoom-and-pan/#zoom-interactions-configuration).
16
+ ```jsx
17
+ <BarChartPro
18
+ zoomInteractionConfig={{
19
+ // Only zoom when Control key is pressed
20
+ zoom: [{ type: 'wheel', keys: ['Control'] }],
21
+ // Only pan when Shift key is pressed
22
+ pan: [{ type: 'drag', keys: ['Shift'] }],
23
+ }}
24
+ />
25
+ ```
26
+ - ➡️ Data Grid grouping rows now persist their expansion state when the rows are updated.
27
+ - 📜 Updated Data Grid vertical scrollbar to include pinned rows and aggregation sections.
28
+ - 📌 Improved the appearance of [pinned columns](https://mui.com/x/react-data-grid/column-pinning/#pinned-columns-appearance) and [pinned rows](https://mui.com/x/react-data-grid/row-pinning/#pinned-rows-appearance) sections in the Data Grid.
29
+ - 🚀 Tree View now fetches the children of expanded items on mount when using lazy loading.
30
+ - 🐞 Bugfixes
31
+ - 📚 Documentation improvements
32
+
33
+ Special thanks go out to the community members for their valuable contributions:
34
+ @sai6855
35
+
36
+ The following are all team members who have contributed to this release:
37
+ @alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @KenanYusuf, @mapache-salvaje, @MBilalShafi, @mnajdova, @rita-codes, @siriwatknp
38
+
39
+ ### Data Grid
40
+
41
+ #### `@mui/x-data-grid@8.13.0`
42
+
43
+ - [DataGrid] Add scroll shadows and fix scrollbar overlap (#16476) @KenanYusuf
44
+ - [DataGrid] Fix row spanning stale state issue (#19733) @MBilalShafi
45
+ - [DataGrid] Fix toolbar `slotProps` not being applied (#19769) @sai6855
46
+ - [DataGrid] Skip calling `fetchRows()` when strategy is not initialized (#19728) @MBilalShafi
47
+
48
+ #### `@mui/x-data-grid-pro@8.13.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
49
+
50
+ Same changes as in `@mui/x-data-grid@8.13.0`, plus:
51
+
52
+ - [DataGridPro] Retain expansion state on rows update (#19697) @MBilalShafi
53
+
54
+ #### `@mui/x-data-grid-premium@8.13.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
55
+
56
+ Same changes as in `@mui/x-data-grid-pro@8.13.0`, plus:
57
+
58
+ - [DataGridPremium] Add `metadata.referenceId` to AI assistant prompt resolver (#19695) @hasdfa
59
+ - [DataGridPremium] Fix aggregation value retrieval (#19724) @arminmeh
60
+ - [DataGridPremium] Get correct active chart id while rebuilding data (#19720) @arminmeh
61
+
62
+ ### Date and Time Pickers
63
+
64
+ #### `@mui/x-date-pickers@8.12.0`
65
+
66
+ Internal changes.
67
+
68
+ #### `@mui/x-date-pickers-pro@8.12.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
69
+
70
+ Same changes as in `@mui/x-date-pickers@8.12.0`.
71
+
72
+ ### Charts
73
+
74
+ #### `@mui/x-charts@8.13.0`
75
+
76
+ - [charts] Add `tapAndDrag` zoom gesture (#19727) @JCQuintas
77
+ - [charts] Add arc focus indicator that follows the arc form (#19696) @mnajdova
78
+ - [charts] Fix outline color (#19752) @alexfauquette
79
+ - [charts] Improve tooltip doc (#19731) @JCQuintas
80
+ - [charts] Make axis highlight reflect the keyboard interaction (#19631) @alexfauquette
81
+ - [charts] Prevent horizontal scroll on keyboard navigation (#19704) @alexfauquette
82
+ - [charts] Simplify gestures by removing bindings (#19767) @JCQuintas
83
+
84
+ #### `@mui/x-charts-pro@8.13.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
85
+
86
+ Same changes as in `@mui/x-charts@8.13.0`, plus:
87
+
88
+ - [charts-pro] Allow zoom interactions to be configured (#18646) @JCQuintas
89
+ - [charts-pro] Fix zoom preview having wrong domain in some cases (#19723) @bernardobelchior
90
+
91
+ #### `@mui/x-charts-premium@8.13.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
92
+
93
+ Same changes as in `@mui/x-charts-pro@8.13.0`.
94
+
95
+ ### Tree View
96
+
97
+ #### `@mui/x-tree-view@8.13.0`
98
+
99
+ - [tree view] Export the `apiRef` type of each Tree View component (#19543) @flaviendelangle
100
+ - [tree view] Fix indeterminate checkbox state (#19544) @flaviendelangle
101
+ - [tree view] Improve the lazy loading initial expansion (#19284) @flaviendelangle
102
+ - [tree view] Use Base UI utils whenever possible (#19502) @flaviendelangle
103
+
104
+ #### `@mui/x-tree-view-pro@8.13.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
105
+
106
+ Same changes as in `@mui/x-tree-view@8.13.0`.
107
+
108
+ ### Codemod
109
+
110
+ #### `@mui/x-codemod@8.12.0`
111
+
112
+ Internal changes.
113
+
114
+ ### Docs
115
+
116
+ - [docs] Add a recipe to customize editing component with Autocomplete (#19651) @siriwatknp
117
+ - [docs] Refine the electricity scatter tooltip (#19689) @alexfauquette
118
+ - [docs] Revise the Axis doc (#19052) @mapache-salvaje
119
+ - [docs] Remove reference to nonexistent `FocusedMark` API page (#19773) @bernardobelchior
120
+
121
+ ### Core
122
+
123
+ - [code-infra] Change charts codspeed integration to use walltime (#19729) @JCQuintas
124
+ - [code-infra] Port stylelint from core repo (#19633) @Janpot
125
+ - [code-infra] Stabilize fake timers in regression tests (#19719) @Janpot
126
+ - [code-infra] Stabilize size for bundles with `releaseInfo` (#19674) @Janpot
127
+ - [code-infra] Fix `pnpm-lock.yaml` broken lockfile (#19755) @bernardobelchior
128
+
129
+ ## 8.12.1
130
+
131
+ _Sep 25, 2025_
132
+
133
+ Release highlight ✨:
134
+
135
+ - 🐞 Hotfix for Grid-Charts integration issue with aggregated values
136
+
137
+ ### Data Grid
138
+
139
+ #### `@mui/x-data-grid@8.12.1`
140
+
141
+ Internal changes.
142
+
143
+ #### `@mui/x-data-grid-pro@8.12.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
144
+
145
+ Same changes as in `@mui/x-data-grid@8.12.1`.
146
+
147
+ #### `@mui/x-data-grid-premium@8.12.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
148
+
149
+ Same changes as in `@mui/x-data-grid-pro@8.12.1`, plus:
150
+
151
+ - [DataGridPremium] Collect aggregated values properly for the charts integration context (#19714) @arminmeh
152
+
8
153
  ## 8.12.0
9
154
 
10
155
  _Sep 25, 2025_
@@ -15,6 +15,7 @@ var _components = require("../components");
15
15
  var _useGridAriaAttributes = require("../hooks/utils/useGridAriaAttributes");
16
16
  var _useGridRowAriaAttributes = require("../hooks/features/rows/useGridRowAriaAttributes");
17
17
  var _useGridRowsOverridableMethods = require("../hooks/features/rows/useGridRowsOverridableMethods");
18
+ var _useGridParamsOverridableMethods = require("../hooks/features/rows/useGridParamsOverridableMethods");
18
19
  var _GridContextProvider = require("../context/GridContextProvider");
19
20
  var _useDataGridComponent = require("./useDataGridComponent");
20
21
  var _useDataGridProps = require("./useDataGridProps");
@@ -28,8 +29,8 @@ const configuration = {
28
29
  useGridAriaAttributes: _useGridAriaAttributes.useGridAriaAttributes,
29
30
  useGridRowAriaAttributes: _useGridRowAriaAttributes.useGridRowAriaAttributes,
30
31
  useGridRowsOverridableMethods: _useGridRowsOverridableMethods.useGridRowsOverridableMethods,
32
+ useGridParamsOverridableMethods: _useGridParamsOverridableMethods.useGridParamsOverridableMethods,
31
33
  useCellAggregationResult: () => null,
32
- useSortValueGetter: apiRef => apiRef.current.getCellValue,
33
34
  useFilterValueGetter: apiRef => apiRef.current.getRowValue
34
35
  }
35
36
  };
@@ -78,14 +78,14 @@ const useDataGridComponent = (apiRef, props, configuration) => {
78
78
  (0, _useGridColumns.useGridColumns)(apiRef, props);
79
79
  (0, _useGridRows.useGridRows)(apiRef, props, configuration);
80
80
  (0, _useGridRowSpanning.useGridRowSpanning)(apiRef, props);
81
- (0, _useGridParamsApi.useGridParamsApi)(apiRef, props);
81
+ (0, _useGridParamsApi.useGridParamsApi)(apiRef, props, configuration);
82
82
  (0, _useGridColumnSpanning.useGridColumnSpanning)(apiRef);
83
83
  (0, _useGridColumnGrouping.useGridColumnGrouping)(apiRef, props);
84
84
  (0, _useGridEditing.useGridEditing)(apiRef, props);
85
85
  (0, _useGridFocus.useGridFocus)(apiRef, props);
86
86
  (0, _useGridPreferencesPanel.useGridPreferencesPanel)(apiRef, props);
87
87
  (0, _useGridFilter.useGridFilter)(apiRef, props, configuration);
88
- (0, _useGridSorting.useGridSorting)(apiRef, props, configuration);
88
+ (0, _useGridSorting.useGridSorting)(apiRef, props);
89
89
  (0, _useGridDensity.useGridDensity)(apiRef, props);
90
90
  (0, _useGridColumnResize.useGridColumnResize)(apiRef, props);
91
91
  (0, _useGridPagination.useGridPagination)(apiRef, props);
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { GridOverlayProps } from "./containers/GridOverlay.js";
3
- export type GridLoadingOverlayVariant = 'circular-progress' | 'linear-progress' | 'skeleton';
3
+ import type { GridLoadingOverlayVariant } from "../hooks/features/overlays/gridOverlaysInterfaces.js";
4
4
  export interface GridLoadingOverlayProps extends GridOverlayProps {
5
5
  /**
6
6
  * The variant of the overlay.
@@ -32,7 +32,6 @@ var _gridSortingSelector = require("../hooks/features/sorting/gridSortingSelecto
32
32
  var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
33
33
  var _gridEditingSelectors = require("../hooks/features/editing/gridEditingSelectors");
34
34
  var _gridRowReorderSelector = require("../hooks/features/rowReorder/gridRowReorderSelector");
35
- var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
36
35
  var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
37
36
  var _useGridConfiguration = require("../hooks/utils/useGridConfiguration");
38
37
  var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
@@ -247,8 +246,8 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
247
246
  const canReorderRow = isRowReorderingEnabled && !sortModel.length;
248
247
  const disableDragEvents = !(canReorderColumn || isReorderCell && canReorderRow || isRowDragActive);
249
248
  const cellIsNotVisible = pinnedPosition === _constants.PinnedColumnPosition.VIRTUAL;
250
- const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
251
- const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
249
+ const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection, rootProps.showCellVerticalBorder, rootProps.pinnedColumnsSectionSeparator);
250
+ const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller, rootProps.pinnedColumnsSectionSeparator);
252
251
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(slots.cell, (0, _extends2.default)({
253
252
  column: column,
254
253
  width: width,
@@ -316,10 +315,7 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
316
315
  }), cells, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
317
316
  role: "presentation",
318
317
  className: (0, _clsx.default)(_gridClasses.gridClasses.cell, _gridClasses.gridClasses.cellEmpty)
319
- }), rightCells, scrollbarWidth !== 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollbarFillerCell.GridScrollbarFillerCell, {
320
- pinnedRight: pinnedColumns.right.length > 0,
321
- borderTop: !isFirstVisible
322
- })]
318
+ }), rightCells]
323
319
  }));
324
320
  });
325
321
  if (process.env.NODE_ENV !== "production") GridRow.displayName = "GridRow";
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ interface GridScrollShadowsProps {
3
+ position: 'vertical' | 'horizontal';
4
+ }
5
+ declare function GridScrollShadows(props: GridScrollShadowsProps): React.JSX.Element;
6
+ export { GridScrollShadows };
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridScrollShadows = GridScrollShadows;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _system = require("@mui/system");
11
+ var _RtlProvider = require("@mui/system/RtlProvider");
12
+ var _hooks = require("../hooks");
13
+ var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
14
+ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
15
+ var _cssVariables = require("../constants/cssVariables");
16
+ var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
17
+ var _gridDimensionsSelectors = require("../hooks/features/dimensions/gridDimensionsSelectors");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const ScrollShadow = (0, _system.styled)('div')(({
20
+ theme
21
+ }) => ({
22
+ position: 'absolute',
23
+ inset: 0,
24
+ pointerEvents: 'none',
25
+ transition: _cssVariables.vars.transition(['box-shadow'], {
26
+ duration: _cssVariables.vars.transitions.duration.short
27
+ }),
28
+ '--length': theme.palette.mode === 'dark' ? '8px' : '6px',
29
+ '--length-inverse': 'calc(var(--length) * -1)',
30
+ '--opacity': theme.palette.mode === 'dark' ? '0.7' : '0.18',
31
+ '--blur': 'var(--length)',
32
+ '--spread': 'calc(var(--length) * -1)',
33
+ '--color-start': 'rgba(0, 0, 0, calc(var(--hasScrollStart) * var(--opacity)))',
34
+ '--color-end': 'rgba(0, 0, 0, calc(var(--hasScrollEnd) * var(--opacity)))',
35
+ variants: [{
36
+ props: {
37
+ position: 'vertical'
38
+ },
39
+ style: {
40
+ top: 'var(--DataGrid-topContainerHeight)',
41
+ bottom: 'calc(var(--DataGrid-bottomContainerHeight) + var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))',
42
+ boxShadow: 'inset 0 var(--length) var(--blur) var(--spread) var(--color-start), inset 0 var(--length-inverse) var(--blur) var(--spread) var(--color-end)'
43
+ }
44
+ }, {
45
+ props: {
46
+ position: 'horizontal'
47
+ },
48
+ style: {
49
+ left: 'var(--DataGrid-leftPinnedWidth)',
50
+ right: 'calc(var(--DataGrid-rightPinnedWidth) + var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
51
+ boxShadow: 'inset var(--length) 0 var(--blur) var(--spread) var(--color-start), inset var(--length-inverse) 0 var(--blur) var(--spread) var(--color-end)'
52
+ }
53
+ }]
54
+ }));
55
+ function GridScrollShadows(props) {
56
+ const {
57
+ position
58
+ } = props;
59
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
60
+ const ownerState = {
61
+ classes: rootProps.classes,
62
+ position
63
+ };
64
+ const ref = React.useRef(null);
65
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
66
+ const hasScrollX = (0, _hooks.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollXSelector);
67
+ const hasScrollY = (0, _hooks.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollYSelector);
68
+ const pinnedRows = (0, _hooks.useGridSelector)(apiRef, _gridRowsSelector.gridPinnedRowsSelector);
69
+ const pinnedColumns = (0, _hooks.useGridSelector)(apiRef, _hooks.gridPinnedColumnsSelector);
70
+ const initialScrollable = position === 'vertical' ? hasScrollY && pinnedRows?.bottom?.length > 0 : hasScrollX && pinnedColumns?.right?.length !== undefined && pinnedColumns?.right?.length > 0;
71
+ const isRtl = (0, _RtlProvider.useRtl)();
72
+ const updateScrollShadowVisibility = React.useCallback(scrollPosition => {
73
+ if (!ref.current) {
74
+ return;
75
+ }
76
+ // Math.abs to convert negative scroll position (RTL) to positive
77
+ const scroll = Math.abs(Math.round(scrollPosition));
78
+ const dimensions = (0, _hooks.gridDimensionsSelector)(apiRef);
79
+ const maxScroll = Math.round(dimensions.contentSize[position === 'vertical' ? 'height' : 'width'] - dimensions.viewportInnerSize[position === 'vertical' ? 'height' : 'width']);
80
+ const hasPinnedStart = position === 'vertical' ? pinnedRows?.top?.length > 0 : pinnedColumns?.left?.length !== undefined && pinnedColumns?.left?.length > 0;
81
+ const hasPinnedEnd = position === 'vertical' ? pinnedRows?.bottom?.length > 0 : pinnedColumns?.right?.length !== undefined && pinnedColumns?.right?.length > 0;
82
+ const scrollIsNotAtStart = isRtl ? scroll < maxScroll : scroll > 0;
83
+ const scrollIsNotAtEnd = isRtl ? scroll > 0 : scroll < maxScroll;
84
+ ref.current.style.setProperty('--hasScrollStart', hasPinnedStart && scrollIsNotAtStart ? '1' : '0');
85
+ ref.current.style.setProperty('--hasScrollEnd', hasPinnedEnd && scrollIsNotAtEnd ? '1' : '0');
86
+ }, [pinnedRows, pinnedColumns, isRtl, position, apiRef]);
87
+ const handleScrolling = scrollParams => {
88
+ updateScrollShadowVisibility(scrollParams[position === 'vertical' ? 'top' : 'left']);
89
+ };
90
+ const handleColumnResizeStop = () => {
91
+ if (position === 'horizontal') {
92
+ updateScrollShadowVisibility(apiRef.current.virtualScrollerRef?.current?.scrollLeft || 0);
93
+ }
94
+ };
95
+ (0, _hooks.useGridEvent)(apiRef, 'scrollPositionChange', handleScrolling);
96
+ (0, _hooks.useGridEvent)(apiRef, 'columnResizeStop', handleColumnResizeStop);
97
+ React.useEffect(() => {
98
+ updateScrollShadowVisibility((position === 'horizontal' ? apiRef.current.virtualScrollerRef?.current?.scrollLeft : apiRef.current.virtualScrollerRef?.current?.scrollTop) ?? 0);
99
+ }, [updateScrollShadowVisibility, apiRef, position]);
100
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollShadow, {
101
+ ownerState: ownerState,
102
+ ref: ref,
103
+ style: {
104
+ '--hasScrollStart': 0,
105
+ '--hasScrollEnd': initialScrollable ? '1' : '0'
106
+ }
107
+ });
108
+ }
@@ -1,13 +1,7 @@
1
1
  import * as React from 'react';
2
2
  declare function GridScrollbarFillerCell({
3
- header,
4
- borderTop,
5
- borderBottom,
6
3
  pinnedRight
7
4
  }: {
8
- header?: boolean;
9
- borderTop?: boolean;
10
- borderBottom?: boolean;
11
5
  pinnedRight?: boolean;
12
6
  }): React.JSX.Element;
13
7
  export { GridScrollbarFillerCell };
@@ -12,19 +12,13 @@ var _constants = require("../constants");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  const classes = {
14
14
  root: _constants.gridClasses.scrollbarFiller,
15
- header: _constants.gridClasses['scrollbarFiller--header'],
16
- borderTop: _constants.gridClasses['scrollbarFiller--borderTop'],
17
- borderBottom: _constants.gridClasses['scrollbarFiller--borderBottom'],
18
15
  pinnedRight: _constants.gridClasses['scrollbarFiller--pinnedRight']
19
16
  };
20
17
  function GridScrollbarFillerCell({
21
- header,
22
- borderTop = true,
23
- borderBottom,
24
18
  pinnedRight
25
19
  }) {
26
20
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
27
21
  role: "presentation",
28
- className: (0, _clsx.default)(classes.root, header && classes.header, borderTop && classes.borderTop, borderBottom && classes.borderBottom, pinnedRight && classes.pinnedRight)
22
+ className: (0, _clsx.default)(classes.root, pinnedRight && classes.pinnedRight)
29
23
  });
30
24
  }
@@ -24,7 +24,6 @@ var _gridClasses = require("../constants/gridClasses");
24
24
  var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
25
25
  var _cellBorderUtils = require("../utils/cellBorderUtils");
26
26
  var _domUtils = require("../utils/domUtils");
27
- var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
28
27
  var _rtlFlipSide = require("../utils/rtlFlipSide");
29
28
  var _utils = require("../internals/utils");
30
29
  var _jsxRuntime = require("react/jsx-runtime");
@@ -100,8 +99,8 @@ const GridSkeletonLoadingOverlayInner = exports.GridSkeletonLoadingOverlayInner
100
99
  const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
101
100
  const pinnedStyle = (0, _utils.attachPinnedStyle)({}, isRtl, pinnedPosition, (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, column.computedWidth, colIndex, positions, dimensions.columnsTotalWidth, scrollbarWidth));
102
101
  const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
103
- const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, sectionIndex, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
104
- const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, sectionIndex);
102
+ const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, sectionIndex, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller, rootProps.pinnedColumnsSectionSeparator);
103
+ const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, sectionIndex, rootProps.showCellVerticalBorder, rootProps.pinnedColumnsSectionSeparator);
105
104
  const isLastColumn = colIndex === columns.length - 1;
106
105
  const isFirstPinnedRight = isPinnedRight && sectionIndex === 0;
107
106
  const hasFillerBefore = isFirstPinnedRight && gridHasFiller;
@@ -112,7 +111,6 @@ const GridSkeletonLoadingOverlayInner = exports.GridSkeletonLoadingOverlayInner
112
111
  width: emptyCellWidth,
113
112
  empty: true
114
113
  }, `skeleton-filler-column-${i}`);
115
- const hasScrollbarFiller = isLastColumn && scrollbarWidth !== 0;
116
114
  if (hasFillerBefore) {
117
115
  rowCells.push(emptyCell);
118
116
  }
@@ -132,11 +130,6 @@ const GridSkeletonLoadingOverlayInner = exports.GridSkeletonLoadingOverlayInner
132
130
  if (hasFillerAfter) {
133
131
  rowCells.push(emptyCell);
134
132
  }
135
- if (hasScrollbarFiller) {
136
- rowCells.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollbarFillerCell.GridScrollbarFillerCell, {
137
- pinnedRight: pinnedColumns.right.length > 0
138
- }, `skeleton-scrollbar-filler-${i}`));
139
- }
140
133
  }
141
134
  array.push(/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
142
135
  className: (0, _clsx.default)(_gridClasses.gridClasses.row, _gridClasses.gridClasses.rowSkeleton, i === 0 && !showFirstRowBorder && _gridClasses.gridClasses['row--firstVisible']),
@@ -144,7 +137,7 @@ const GridSkeletonLoadingOverlayInner = exports.GridSkeletonLoadingOverlayInner
144
137
  }, `skeleton-row-${i}`));
145
138
  }
146
139
  return array;
147
- }, [skeletonRowsCount, columns, getPinnedPosition, isRtl, pinnedColumns, dimensions.hasScrollY, dimensions.scrollbarSize, dimensions.columnsTotalWidth, dimensions.viewportOuterSize.width, dimensions.rowHeight, positions, rootProps.showCellVerticalBorder, slots, visibleColumns, showFirstRowBorder]);
140
+ }, [skeletonRowsCount, columns, getPinnedPosition, isRtl, pinnedColumns, dimensions.hasScrollY, dimensions.scrollbarSize, dimensions.columnsTotalWidth, dimensions.viewportOuterSize.width, dimensions.rowHeight, positions, rootProps.showCellVerticalBorder, rootProps.pinnedColumnsSectionSeparator, slots, visibleColumns, showFirstRowBorder]);
148
141
 
149
142
  // Sync the column resize of the overlay columns with the grid
150
143
  const handleColumnResize = params => {
@@ -1,7 +1,5 @@
1
1
  import * as React from 'react';
2
- import { GridLoadingOverlayVariant } from "../GridLoadingOverlay.js";
3
- import { GridSlotsComponent } from "../../models/index.js";
4
- export type GridOverlayType = keyof Pick<GridSlotsComponent, 'noColumnsOverlay' | 'noRowsOverlay' | 'noResultsOverlay' | 'loadingOverlay'> | null;
2
+ import type { GridOverlayType, GridLoadingOverlayVariant } from "../../hooks/features/overlays/gridOverlaysInterfaces.js";
5
3
  interface GridOverlaysProps {
6
4
  overlayType: GridOverlayType;
7
5
  loadingOverlayVariant: GridLoadingOverlayVariant | null;
@@ -21,7 +21,6 @@ interface GridColumnHeaderItemProps {
21
21
  pinnedPosition?: PinnedColumnPosition;
22
22
  pinnedOffset?: number;
23
23
  style?: React.CSSProperties;
24
- isLastUnpinned: boolean;
25
24
  isSiblingFocused: boolean;
26
25
  showLeftBorder: boolean;
27
26
  showRightBorder: boolean;
@@ -39,7 +39,6 @@ const useUtilityClasses = ownerState => {
39
39
  showLeftBorder,
40
40
  filterItemsCounter,
41
41
  pinnedPosition,
42
- isLastUnpinned,
43
42
  isSiblingFocused
44
43
  } = ownerState;
45
44
  const isColumnSortable = colDef.sortable && !disableColumnSorting;
@@ -51,7 +50,7 @@ const useUtilityClasses = ownerState => {
51
50
  root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', isColumnSortable && 'columnHeader--sortable', isDragging && 'columnHeader--moving', isColumnSorted && 'columnHeader--sorted', isColumnFiltered && 'columnHeader--filtered', isColumnNumeric && 'columnHeader--numeric', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === _constants.PinnedColumnPosition.LEFT && 'columnHeader--pinnedLeft', pinnedPosition === _constants.PinnedColumnPosition.RIGHT && 'columnHeader--pinnedRight',
52
51
  // TODO: Remove classes below and restore `:has` selectors when they are supported in jsdom
53
52
  // See https://github.com/mui/mui-x/pull/14559
54
- isLastUnpinned && 'columnHeader--lastUnpinned', isSiblingFocused && 'columnHeader--siblingFocused'],
53
+ isSiblingFocused && 'columnHeader--siblingFocused'],
55
54
  draggableContainer: ['columnHeaderDraggableContainer'],
56
55
  titleContainer: ['columnHeaderTitleContainer'],
57
56
  titleContainerContent: ['columnHeaderTitleContainerContent']
@@ -237,7 +236,6 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaderItem.propTypes = {
237
236
  headerHeight: _propTypes.default.number.isRequired,
238
237
  isDragging: _propTypes.default.bool.isRequired,
239
238
  isLast: _propTypes.default.bool.isRequired,
240
- isLastUnpinned: _propTypes.default.bool.isRequired,
241
239
  isResizing: _propTypes.default.bool.isRequired,
242
240
  isSiblingFocused: _propTypes.default.bool.isRequired,
243
241
  pinnedOffset: _propTypes.default.number,
@@ -111,8 +111,6 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
111
111
  [`& .${_gridClasses.gridClasses['columnHeader--filtered']}`]: styles['columnHeader--filtered']
112
112
  }, {
113
113
  [`& .${_gridClasses.gridClasses['columnHeader--last']}`]: styles['columnHeader--last']
114
- }, {
115
- [`& .${_gridClasses.gridClasses['columnHeader--lastUnpinned']}`]: styles['columnHeader--lastUnpinned']
116
114
  }, {
117
115
  [`& .${_gridClasses.gridClasses['columnHeader--moving']}`]: styles['columnHeader--moving']
118
116
  }, {
@@ -229,12 +227,6 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
229
227
  [`& .${_gridClasses.gridClasses['scrollbar--vertical']}`]: styles['scrollbar--vertical']
230
228
  }, {
231
229
  [`& .${_gridClasses.gridClasses.scrollbarFiller}`]: styles.scrollbarFiller
232
- }, {
233
- [`& .${_gridClasses.gridClasses['scrollbarFiller--borderBottom']}`]: styles['scrollbarFiller--borderBottom']
234
- }, {
235
- [`& .${_gridClasses.gridClasses['scrollbarFiller--borderTop']}`]: styles['scrollbarFiller--borderTop']
236
- }, {
237
- [`& .${_gridClasses.gridClasses['scrollbarFiller--header']}`]: styles['scrollbarFiller--header']
238
230
  }, {
239
231
  [`& .${_gridClasses.gridClasses['scrollbarFiller--pinnedRight']}`]: styles['scrollbarFiller--pinnedRight']
240
232
  }, {
@@ -396,9 +388,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
396
388
  [`& .${_gridClasses.gridClasses.columnHeader}:focus,
397
389
  & .${_gridClasses.gridClasses['columnHeader--withLeftBorder']},
398
390
  & .${_gridClasses.gridClasses['columnHeader--withRightBorder']},
399
- & .${_gridClasses.gridClasses['columnHeader--siblingFocused']},
400
- & .${_gridClasses.gridClasses['virtualScroller--hasScrollX']} .${_gridClasses.gridClasses['columnHeader--lastUnpinned']},
401
- & .${_gridClasses.gridClasses['virtualScroller--hasScrollX']} .${_gridClasses.gridClasses['columnHeader--last']}
391
+ & .${_gridClasses.gridClasses['columnHeader--siblingFocused']}
402
392
  `]: {
403
393
  [`& .${_gridClasses.gridClasses.columnSeparator}`]: {
404
394
  opacity: 0
@@ -603,7 +593,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
603
593
  width: 'auto'
604
594
  },
605
595
  [`& .${_gridClasses.gridClasses.headerFilterRow}`]: {
606
- [`& .${_gridClasses.gridClasses.columnHeader}`]: {
596
+ [`& .${_gridClasses.gridClasses.columnHeader}, & .${_gridClasses.gridClasses.scrollbarFiller}`]: {
607
597
  boxSizing: 'border-box',
608
598
  borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
609
599
  }
@@ -852,14 +842,8 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
852
842
  [`.${_gridClasses.gridClasses.scrollbarFiller}`]: {
853
843
  minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
854
844
  alignSelf: 'stretch',
855
- [`&.${_gridClasses.gridClasses['scrollbarFiller--borderTop']}`]: {
856
- borderTop: '1px solid var(--DataGrid-rowBorderColor)'
857
- },
858
- [`&.${_gridClasses.gridClasses['scrollbarFiller--borderBottom']}`]: {
859
- borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
860
- },
845
+ backgroundColor: headerBackground,
861
846
  [`&.${_gridClasses.gridClasses['scrollbarFiller--pinnedRight']}`]: {
862
- backgroundColor: _cssVariables.vars.cell.background.pinned,
863
847
  position: 'sticky',
864
848
  zIndex: 40,
865
849
  // Should be above the column separator
@@ -875,7 +859,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
875
859
  [`& .${_gridClasses.gridClasses.columnHeaders} .${_gridClasses.gridClasses.filler}`]: {
876
860
  backgroundColor: headerBackground
877
861
  },
878
- /* Hide grid rows, row filler, and vertical scrollbar. Used when skeleton/no columns overlay is visible */
862
+ /* Used when skeleton/no columns overlay is visible */
879
863
  [`& .${_gridClasses.gridClasses['main--hiddenContent']}`]: {
880
864
  [`& .${_gridClasses.gridClasses.virtualScrollerContent}`]: {
881
865
  // We use visibility hidden so that the virtual scroller content retains its height.
@@ -884,7 +868,8 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
884
868
  position: 'fixed',
885
869
  visibility: 'hidden'
886
870
  },
887
- [`& .${_gridClasses.gridClasses['scrollbar--vertical']}, & .${_gridClasses.gridClasses.pinnedRows}, & .${_gridClasses.gridClasses.virtualScroller} > .${_gridClasses.gridClasses.filler}`]: {
871
+ // Hide grid content
872
+ [`& .${_gridClasses.gridClasses.pinnedRows}`]: {
888
873
  display: 'none'
889
874
  }
890
875
  },
@@ -30,7 +30,8 @@ var _cssVariables = require("../../constants/cssVariables");
30
30
  var _gridClasses = require("../../constants/gridClasses");
31
31
  var _jsxRuntime = require("react/jsx-runtime");
32
32
  const _excluded = ["className"],
33
- _excluded2 = ["className"];
33
+ _excluded2 = ["className"],
34
+ _excluded3 = ["showQuickFilter", "quickFilterProps", "csvOptions", "printOptions", "additionalItems", "additionalExportMenuItems"];
34
35
  const useUtilityClasses = ownerState => {
35
36
  const {
36
37
  classes
@@ -88,13 +89,14 @@ function GridToolbarLabel(props) {
88
89
  }
89
90
  function GridToolbar(props) {
90
91
  const {
91
- showQuickFilter = true,
92
- quickFilterProps,
93
- csvOptions,
94
- printOptions,
95
- additionalItems,
96
- additionalExportMenuItems
97
- } = props;
92
+ showQuickFilter = true,
93
+ quickFilterProps,
94
+ csvOptions,
95
+ printOptions,
96
+ additionalItems,
97
+ additionalExportMenuItems
98
+ } = props,
99
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded3);
98
100
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
99
101
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
100
102
  const [exportMenuOpen, setExportMenuOpen] = React.useState(false);
@@ -103,7 +105,7 @@ function GridToolbar(props) {
103
105
  const exportMenuTriggerId = (0, _useId.default)();
104
106
  const showExportMenu = !csvOptions?.disableToolbarButton || !printOptions?.disableToolbarButton || additionalExportMenuItems;
105
107
  const closeExportMenu = () => setExportMenuOpen(false);
106
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Toolbar.Toolbar, {
108
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Toolbar.Toolbar, (0, _extends2.default)({}, other, {
107
109
  children: [rootProps.label && /*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarLabel, {
108
110
  children: rootProps.label
109
111
  }), !rootProps.disableColumnSelector && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
@@ -170,7 +172,7 @@ function GridToolbar(props) {
170
172
  }), showQuickFilter && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
171
173
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarDivider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarQuickFilter.GridToolbarQuickFilter, (0, _extends2.default)({}, quickFilterProps))]
172
174
  })]
173
- });
175
+ }));
174
176
  }
175
177
  process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
176
178
  // ----------------------------- Warning --------------------------------
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { DataGridProcessedProps } from "../../models/props/DataGridProps.js";
3
- import { GridLoadingOverlayVariant } from "../GridLoadingOverlay.js";
4
- import { GridOverlayType } from "../base/GridOverlays.js";
3
+ import type { GridOverlayType, GridLoadingOverlayVariant } from "../../hooks/features/overlays/gridOverlaysInterfaces.js";
5
4
  type OwnerState = Pick<DataGridProcessedProps, 'classes'> & {
6
5
  hasScrollX: boolean;
7
6
  hasPinnedRight: boolean;
@@ -7,5 +7,6 @@ type GridVirtualScrollbarProps = {
7
7
  top: number;
8
8
  }>;
9
9
  };
10
+ export declare const ScrollbarCorner: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/system").Theme> & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, {}, {}>;
10
11
  declare const GridVirtualScrollbar: React.ForwardRefExoticComponent<GridVirtualScrollbarProps> | React.ForwardRefExoticComponent<GridVirtualScrollbarProps & React.RefAttributes<HTMLDivElement>>;
11
12
  export { GridVirtualScrollbar };