@mui/x-data-grid 9.0.0-beta.0 → 9.0.0-rc.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 (162) hide show
  1. package/CHANGELOG.md +155 -1
  2. package/DataGrid/DataGrid.js +1 -0
  3. package/DataGrid/DataGrid.mjs +1 -0
  4. package/components/GridColumnUnsortedIcon.d.mts +5 -2
  5. package/components/GridColumnUnsortedIcon.d.ts +5 -2
  6. package/components/GridColumnUnsortedIcon.js +20 -6
  7. package/components/GridColumnUnsortedIcon.mjs +20 -5
  8. package/components/GridDetailPanels.d.mts +1 -4
  9. package/components/GridDetailPanels.d.ts +1 -4
  10. package/components/GridPinnedRows.d.mts +0 -2
  11. package/components/GridPinnedRows.d.ts +0 -2
  12. package/components/GridRowDragAndDropOverlay.js +1 -1
  13. package/components/GridRowDragAndDropOverlay.mjs +2 -2
  14. package/components/GridScrollbarFillerCell.js +9 -1
  15. package/components/GridScrollbarFillerCell.mjs +9 -1
  16. package/components/cell/GridCell.js +4 -2
  17. package/components/cell/GridCell.mjs +4 -2
  18. package/components/columnHeaders/GridColumnGroupHeader.js +5 -3
  19. package/components/columnHeaders/GridColumnGroupHeader.mjs +5 -3
  20. package/components/columnHeaders/GridColumnHeaderItem.js +3 -1
  21. package/components/columnHeaders/GridColumnHeaderItem.mjs +3 -1
  22. package/components/containers/GridRootStyles.js +36 -5
  23. package/components/containers/GridRootStyles.mjs +36 -5
  24. package/components/index.d.mts +3 -1
  25. package/components/index.d.ts +3 -1
  26. package/components/index.js +10 -2
  27. package/components/index.mjs +2 -1
  28. package/components/panel/filterPanel/GridFilterForm.js +1 -1
  29. package/components/panel/filterPanel/GridFilterForm.mjs +1 -1
  30. package/components/virtualization/GridBottomContainer.js +4 -1
  31. package/components/virtualization/GridBottomContainer.mjs +4 -1
  32. package/components/virtualization/GridVirtualScroller.js +55 -30
  33. package/components/virtualization/GridVirtualScroller.mjs +56 -31
  34. package/components/virtualization/GridVirtualScrollerContent.js +5 -1
  35. package/components/virtualization/GridVirtualScrollerContent.mjs +5 -1
  36. package/constants/gridClasses.d.mts +15 -0
  37. package/constants/gridClasses.d.ts +15 -0
  38. package/constants/gridClasses.js +1 -1
  39. package/constants/gridClasses.mjs +1 -1
  40. package/constants/localeTextConstants.js +1 -1
  41. package/constants/localeTextConstants.mjs +1 -1
  42. package/hooks/core/useGridVirtualizer.js +1 -0
  43. package/hooks/core/useGridVirtualizer.mjs +1 -0
  44. package/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -4
  45. package/hooks/features/columnHeaders/useGridColumnHeaders.mjs +8 -4
  46. package/hooks/features/dimensions/useGridDimensions.js +1 -0
  47. package/hooks/features/dimensions/useGridDimensions.mjs +1 -0
  48. package/hooks/features/export/useGridPrintExport.js +5 -1
  49. package/hooks/features/export/useGridPrintExport.mjs +5 -1
  50. package/hooks/features/virtualization/gridVirtualizationSelectors.d.mts +8 -0
  51. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +8 -0
  52. package/hooks/features/virtualization/gridVirtualizationSelectors.js +8 -1
  53. package/hooks/features/virtualization/gridVirtualizationSelectors.mjs +7 -0
  54. package/hooks/features/virtualization/index.d.mts +1 -1
  55. package/hooks/features/virtualization/index.d.ts +1 -1
  56. package/hooks/features/virtualization/index.js +44 -13
  57. package/hooks/features/virtualization/index.mjs +1 -1
  58. package/hooks/utils/usePinnedScrollOffset.d.mts +3 -0
  59. package/hooks/utils/usePinnedScrollOffset.d.ts +3 -0
  60. package/hooks/utils/usePinnedScrollOffset.js +27 -0
  61. package/hooks/utils/usePinnedScrollOffset.mjs +21 -0
  62. package/index.js +1 -1
  63. package/index.mjs +1 -1
  64. package/internals/index.d.mts +1 -0
  65. package/internals/index.d.ts +1 -0
  66. package/internals/index.js +8 -0
  67. package/internals/index.mjs +1 -0
  68. package/locales/arSD.js +1 -1
  69. package/locales/arSD.mjs +1 -1
  70. package/locales/beBY.js +1 -1
  71. package/locales/beBY.mjs +1 -1
  72. package/locales/bgBG.js +1 -1
  73. package/locales/bgBG.mjs +1 -1
  74. package/locales/bnBD.js +1 -1
  75. package/locales/bnBD.mjs +1 -1
  76. package/locales/caES.js +1 -1
  77. package/locales/caES.mjs +1 -1
  78. package/locales/csCZ.js +1 -1
  79. package/locales/csCZ.mjs +1 -1
  80. package/locales/daDK.js +1 -1
  81. package/locales/daDK.mjs +1 -1
  82. package/locales/deDE.js +1 -1
  83. package/locales/deDE.mjs +1 -1
  84. package/locales/elGR.js +1 -1
  85. package/locales/elGR.mjs +1 -1
  86. package/locales/esES.js +1 -1
  87. package/locales/esES.mjs +1 -1
  88. package/locales/faIR.js +1 -1
  89. package/locales/faIR.mjs +1 -1
  90. package/locales/fiFI.js +1 -1
  91. package/locales/fiFI.mjs +1 -1
  92. package/locales/frFR.js +1 -1
  93. package/locales/frFR.mjs +1 -1
  94. package/locales/heIL.js +1 -1
  95. package/locales/heIL.mjs +1 -1
  96. package/locales/hrHR.js +1 -1
  97. package/locales/hrHR.mjs +1 -1
  98. package/locales/huHU.js +1 -1
  99. package/locales/huHU.mjs +1 -1
  100. package/locales/hyAM.js +1 -1
  101. package/locales/hyAM.mjs +1 -1
  102. package/locales/idID.js +1 -1
  103. package/locales/idID.mjs +1 -1
  104. package/locales/isIS.js +1 -1
  105. package/locales/isIS.mjs +1 -1
  106. package/locales/itIT.js +1 -1
  107. package/locales/itIT.mjs +1 -1
  108. package/locales/jaJP.js +1 -1
  109. package/locales/jaJP.mjs +1 -1
  110. package/locales/koKR.js +1 -1
  111. package/locales/koKR.mjs +1 -1
  112. package/locales/nbNO.js +1 -1
  113. package/locales/nbNO.mjs +1 -1
  114. package/locales/nlNL.js +1 -1
  115. package/locales/nlNL.mjs +1 -1
  116. package/locales/nnNO.js +1 -1
  117. package/locales/nnNO.mjs +1 -1
  118. package/locales/plPL.js +1 -1
  119. package/locales/plPL.mjs +1 -1
  120. package/locales/ptBR.js +1 -1
  121. package/locales/ptBR.mjs +1 -1
  122. package/locales/ptPT.js +1 -1
  123. package/locales/ptPT.mjs +1 -1
  124. package/locales/roRO.js +1 -1
  125. package/locales/roRO.mjs +1 -1
  126. package/locales/ruRU.js +1 -1
  127. package/locales/ruRU.mjs +1 -1
  128. package/locales/skSK.js +1 -1
  129. package/locales/skSK.mjs +1 -1
  130. package/locales/svSE.js +1 -1
  131. package/locales/svSE.mjs +1 -1
  132. package/locales/thTH.js +1 -1
  133. package/locales/thTH.mjs +1 -1
  134. package/locales/trTR.js +1 -1
  135. package/locales/trTR.mjs +1 -1
  136. package/locales/ukUA.js +1 -1
  137. package/locales/ukUA.mjs +1 -1
  138. package/locales/urPK.js +1 -1
  139. package/locales/urPK.mjs +1 -1
  140. package/locales/viVN.js +1 -1
  141. package/locales/viVN.mjs +1 -1
  142. package/locales/zhCN.js +1 -1
  143. package/locales/zhCN.mjs +1 -1
  144. package/locales/zhHK.js +1 -1
  145. package/locales/zhHK.mjs +1 -1
  146. package/locales/zhTW.js +1 -1
  147. package/locales/zhTW.mjs +1 -1
  148. package/material/index.js +26 -21
  149. package/material/index.mjs +26 -21
  150. package/material/variables.js +4 -4
  151. package/material/variables.mjs +4 -5
  152. package/models/api/gridLocaleTextApi.d.mts +1 -1
  153. package/models/api/gridLocaleTextApi.d.ts +1 -1
  154. package/models/gridBaseSlots.d.mts +4 -2
  155. package/models/gridBaseSlots.d.ts +4 -2
  156. package/models/props/DataGridProps.d.mts +9 -0
  157. package/models/props/DataGridProps.d.ts +9 -0
  158. package/package.json +6 -6
  159. package/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.mjs +2 -2
  160. package/utils/cleanupTracking/TimerBasedCleanupTracking.mjs +2 -2
  161. package/utils/domUtils.js +3 -2
  162. package/utils/domUtils.mjs +3 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,159 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.0.0-rc.0
4
+
5
+ <!-- generated comparing v9.0.0-beta.0..master -->
6
+
7
+ _Apr 7, 2026_
8
+
9
+ We'd like to extend a big thank you to the 18 contributors who made this release possible.
10
+
11
+ Special thanks go out to these community members for their valuable contributions:
12
+ @mixelburg, @sibananda485, @youjin-hong
13
+
14
+ The following team members contributed to this release:
15
+ @aemartos, @alexfauquette, @arminmeh, @brijeshb42, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @MBilalShafi, @michelengelen, @noraleonte, @rita-codes, @romgrk, @siriwatknp, @ZeeshanTamboli
16
+
17
+ ### Data Grid
18
+
19
+ #### `@mui/x-data-grid@9.0.0-rc.0`
20
+
21
+ - [DataGrid] Rename filter panel `Columns` label to singular `Column` (#21935) @youjin-hong
22
+ - [DataGrid] Export `GridColumnUnsortedIconProps` for custom column icon slots (#21658) @mixelburg
23
+ - [DataGrid] Remove `x-virtualizer`'s `virtualScroller` from public API (#21936) @romgrk
24
+ - [DataGrid][virtualizer] Scrolling without render gaps (#21616) @romgrk
25
+
26
+ #### `@mui/x-data-grid-pro@9.0.0-rc.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
27
+
28
+ Same changes as in `@mui/x-data-grid@9.0.0-rc.0`, plus:
29
+
30
+ - [DataGridPro] Improve trigger for nested row reordering (#21642) @MBilalShafi
31
+ - [DataGridPro] Undeprecate `onRowsScrollEnd` prop (#21912) @MBilalShafi
32
+
33
+ #### `@mui/x-data-grid-premium@9.0.0-rc.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
34
+
35
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-rc.0`, plus:
36
+
37
+ - [DataGridPremium] Fix clipboard paste issue in portal (#21931) @sibananda485
38
+
39
+ ### Date and Time Pickers
40
+
41
+ #### Breaking changes
42
+
43
+ - Accessible DOM structure is now the only default. [Read more](https://next.mui.com/x/migration/migration-pickers-v8/#accessible-dom-structure-is-now-the-default)
44
+ - The `PickerDay2` and `DateRangePickerDay2` components were propagated to stable while removing the previous defaults. [Read more](https://next.mui.com/x/migration/migration-pickers-v8/#day-slot)
45
+
46
+ #### `@mui/x-date-pickers@9.0.0-rc.0`
47
+
48
+ - [pickers] Remove `PickersDay` and `DateRangePickerDay` and promote their `2` versions as replacements (#21739) @michelengelen
49
+
50
+ #### `@mui/x-date-pickers-pro@9.0.0-rc.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
51
+
52
+ Same changes as in `@mui/x-date-pickers@9.0.0-rc.0`.
53
+
54
+ ### Charts
55
+
56
+ #### `@mui/x-charts@9.0.0-rc.0.0`
57
+
58
+ - [charts] Make line visibility toggle start from the baseline (#21893) @alexfauquette
59
+ - [charts] Remove the container overflow (#21955) @alexfauquette
60
+ - [charts] Revert `theme.alpha` for non-channel token (#21965) @siriwatknp
61
+
62
+ #### `@mui/x-charts-pro@9.0.0-rc.0.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
63
+
64
+ Same changes as in `@mui/x-charts@9.0.0-rc.0.0`, plus:
65
+
66
+ - [charts-pro] Zoom slider touch improvements (#21832) @JCQuintas
67
+ - [charts-pro] Add `seriesIds` filter to zoom slider preview (#21933) @JCQuintas
68
+ - [charts-pro] Fix zoom slider preview with discard filter mode (#21883) @JCQuintas
69
+
70
+ #### `@mui/x-charts-premium@9.0.0-rc.0.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
71
+
72
+ Same changes as in `@mui/x-charts-pro@9.0.0-rc.0.0`, plus:
73
+
74
+ - [charts-premium] Add series `valueFormatter` to candlestick chart (#21905) @JCQuintas
75
+ - [charts-premium] Add zoom slider preview support for candlestick charts (#21914) @JCQuintas
76
+ - [charts-premium] Allow color customization in `Candlestick` chart (#21838) @JCQuintas
77
+ - [charts-premium] Support hide/show for OHLC (candlestick) series (#21807) @Copilot
78
+ - [charts-premium] Add `dataset` support to `Candlestick` chart (#21872) @JCQuintas
79
+ - [charts-premium] Add candlestick page to sidebar navigation (#21834) @JCQuintas
80
+
81
+ ### Tree View
82
+
83
+ #### `@mui/x-tree-view@9.0.0-rc.0`
84
+
85
+ Internal changes.
86
+
87
+ #### `@mui/x-tree-view-pro@9.0.0-rc.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
88
+
89
+ Same changes as in `@mui/x-tree-view@9.0.0-rc.0`, plus:
90
+
91
+ - [RichTreeViewPro] Allow to auto-expand lazy loaded items (#21759) @flaviendelangle
92
+
93
+ ### Scheduler
94
+
95
+ #### `@mui/x-scheduler@9.0.0-alpha.0`
96
+
97
+ - [scheduler] Add locale files, adapt l10n scripts, and add localization table to docs (#21870) @rita-codes
98
+ - [scheduler] Add planned features to the docs (#21705) @rita-codes
99
+ - [scheduler] Add scheduler to docs introduction (#21845) @rita-codes
100
+ - [scheduler] Add wide docs to scheduler (#21860) @noraleonte
101
+ - [scheduler] All day event bugfixes (#21884) @noraleonte
102
+ - [scheduler] Autofocus title field (#21947) @noraleonte
103
+ - [scheduler] Change default event creation trigger to single click (#21979) @rita-codes
104
+ - [scheduler] Change order of the views on the view selector (#21904) @rita-codes
105
+ - [scheduler] Disabled border color for the repeat day picker in dark mode (#21987) @rita-codes
106
+ - [scheduler] Drop unused dependency (#21956) @flaviendelangle
107
+ - [scheduler] Fix all-day event shifting to previous day in negative UTC offsets (#21994) @rita-codes
108
+ - [scheduler] Fix dark theme localization demos (#21992) @noraleonte
109
+ - [scheduler] Fix licensing confusion in docs (#21939) @rita-codes
110
+ - [scheduler] Fix preferences menu width shift when toggling options + Improve preferences menu accessibility (#21902) @rita-codes
111
+ - [scheduler] Prepare for the alpha launch (#21859) @rita-codes
112
+ - [scheduler] Sync Base UI internals and apply good practices (#21946) @flaviendelangle
113
+ - [scheduler] Update close modal aria label translation (#21940) @rita-codes
114
+ - [scheduler] Add Spanish (es-ES) locale (#21900) @rita-codes
115
+ - [scheduler] Improve French (fr-FR) locale (#21941) @rita-codes
116
+ - [scheduler] Improve Romanian (ro-RO) locale (#21942) @rita-codes
117
+
118
+ #### `@mui/x-scheduler-premium@9.0.0-alpha.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
119
+
120
+ Same changes as in `@mui/x-scheduler@9.0.0-alpha.0`.
121
+
122
+ ### Codemod
123
+
124
+ #### `@mui/x-codemod@9.0.0-rc.0`
125
+
126
+ Internal changes.
127
+
128
+ ### Docs
129
+
130
+ - [docs] Fix JSDOM → jsdom casing (#21907) @JCQuintas
131
+ - [docs] Remove Joy UI references and dependency (#21937) @siriwatknp
132
+ - [docs] Remove none generated files (#21886) @alexfauquette
133
+ - [docs] Remove unused interactive demo code (#21945) @LukasTy
134
+ - [docs] Revise the Funnel doc (#21677) @mapache-salvaje
135
+ - [docs] Revise the Line chart docs (#21554) @mapache-salvaje
136
+ - [docs] Revise the Radar doc (#21674) @mapache-salvaje
137
+ - [docs] Revise the Sankey doc (#21678) @mapache-salvaje
138
+ - [docs] Revise the Scatter chart docs (#21564) @mapache-salvaje
139
+
140
+ ### Core
141
+
142
+ - [docs-infra] Update to the latest monorepo (#21971) @brijeshb42
143
+ - [internal] Remove checks for `materialVersion >= 6` (#21975) @LukasTy
144
+
145
+ ### Miscellaneous
146
+
147
+ - [core] Bump @mui/material to v9.0.0-beta.1 (#21858) @siriwatknp
148
+ - [core] Update browserslistrc (#21974) @siriwatknp
149
+ - [deps] Bump minimum core packages to 7.3.0 to adopt theme color manipulator (#21892) @siriwatknp
150
+ - [telemetry] Prefer upstream remote over origin for `projectId` (#21882) @aemartos
151
+ - [telemetry] Send `repoHash`, `[x]packageNameHash`, and `rootPathHash` alongside `projectId` (#21896) @aemartos
152
+ - [test] Exclude flaky `DataGrid` argos test (#21977) @MBilalShafi
153
+ - [test] Fix flaky `DataGrid` test (#22000) @arminmeh
154
+ - [test] Remove `componentsProp` test from `describeConformance` (#21897) @ZeeshanTamboli
155
+ - [x-license] Change `orderId` type from `number` to `string` (#21885) @aemartos
156
+
3
157
  ## 9.0.0-beta.0
4
158
 
5
159
  <!-- generated comparing v9.0.0-alpha.4..master -->
@@ -313,7 +467,7 @@ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.3`, plus:
313
467
  - Remove deprecated CSS state classes from `treeItemClasses`: `expanded`, `selected`, `focused`, `disabled`, `editable`, `editing` (use `[data-expanded]`, `[data-selected]`, etc.)
314
468
  - The `<RichTreeViewPro />` component has now virtualization enabled by default.
315
469
  - The items used inside the `<RichTreeViewPro />` now have a default height of `32px`.
316
- - The events of the `<RichTreeViewPro />` are now rendered as a flat list instead of a nested tree.
470
+ - The items of the `<RichTreeViewPro />` are now rendered as a flat list instead of a nested tree.
317
471
 
318
472
  #### `@mui/x-tree-view@9.0.0-alpha.3`
319
473
 
@@ -273,6 +273,7 @@ DataGridRaw.propTypes = {
273
273
  * For each feature, if the flag is not explicitly set to `true`, the feature will be fully disabled and any property / method call will not have any effect.
274
274
  */
275
275
  experimentalFeatures: _propTypes.default.shape({
276
+ virtualizerLayoutMode: _propTypes.default.oneOf(['controlled', 'uncontrolled']),
276
277
  warnIfFocusStateIsNotSynced: _propTypes.default.bool
277
278
  }),
278
279
  /**
@@ -266,6 +266,7 @@ DataGridRaw.propTypes = {
266
266
  * For each feature, if the flag is not explicitly set to `true`, the feature will be fully disabled and any property / method call will not have any effect.
267
267
  */
268
268
  experimentalFeatures: PropTypes.shape({
269
+ virtualizerLayoutMode: PropTypes.oneOf(['controlled', 'uncontrolled']),
269
270
  warnIfFocusStateIsNotSynced: PropTypes.bool
270
271
  }),
271
272
  /**
@@ -1,7 +1,10 @@
1
- import * as React from 'react';
2
1
  import type { GridBaseIconProps } from "../models/gridSlotsComponentsProps.mjs";
3
2
  import type { GridSortDirection } from "../models/gridSortModel.mjs";
4
3
  export interface GridColumnUnsortedIconProps extends GridBaseIconProps {
5
4
  sortingOrder: GridSortDirection[];
6
5
  }
7
- export declare const GridColumnUnsortedIcon: React.NamedExoticComponent<GridColumnUnsortedIconProps>;
6
+ declare function GridColumnUnsortedIcon(props: GridColumnUnsortedIconProps): import("react/jsx-runtime").JSX.Element | null;
7
+ declare namespace GridColumnUnsortedIcon {
8
+ var propTypes: any;
9
+ }
10
+ export { GridColumnUnsortedIcon };
@@ -1,7 +1,10 @@
1
- import * as React from 'react';
2
1
  import type { GridBaseIconProps } from "../models/gridSlotsComponentsProps.js";
3
2
  import type { GridSortDirection } from "../models/gridSortModel.js";
4
3
  export interface GridColumnUnsortedIconProps extends GridBaseIconProps {
5
4
  sortingOrder: GridSortDirection[];
6
5
  }
7
- export declare const GridColumnUnsortedIcon: React.NamedExoticComponent<GridColumnUnsortedIconProps>;
6
+ declare function GridColumnUnsortedIcon(props: GridColumnUnsortedIconProps): import("react/jsx-runtime").JSX.Element | null;
7
+ declare namespace GridColumnUnsortedIcon {
8
+ var propTypes: any;
9
+ }
10
+ export { GridColumnUnsortedIcon };
@@ -5,21 +5,35 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.GridColumnUnsortedIcon = void 0;
8
+ exports.GridColumnUnsortedIcon = GridColumnUnsortedIcon;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
13
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  const _excluded = ["sortingOrder"];
15
- const GridColumnUnsortedIcon = exports.GridColumnUnsortedIcon = /*#__PURE__*/React.memo(function GridColumnHeaderSortIcon(props) {
16
+ function GridColumnUnsortedIcon(props) {
16
17
  const {
17
18
  sortingOrder
18
19
  } = props,
19
20
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
20
- const rootProps = (0, _useGridRootProps.useGridRootProps)();
21
+ const {
22
+ slots
23
+ } = (0, _useGridRootProps.useGridRootProps)();
21
24
  const [nextSortDirection] = sortingOrder;
22
- const Icon = nextSortDirection === 'asc' ? rootProps.slots.columnSortedAscendingIcon : rootProps.slots.columnSortedDescendingIcon;
25
+ const Icon = nextSortDirection === 'asc' ? slots.columnSortedAscendingIcon : slots.columnSortedDescendingIcon;
23
26
  return Icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, (0, _extends2.default)({}, other)) : null;
24
- });
25
- if (process.env.NODE_ENV !== "production") GridColumnUnsortedIcon.displayName = "GridColumnUnsortedIcon";
27
+ }
28
+ process.env.NODE_ENV !== "production" ? GridColumnUnsortedIcon.propTypes = {
29
+ // ----------------------------- Warning --------------------------------
30
+ // | These PropTypes are generated from the TypeScript type definitions |
31
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
32
+ // ----------------------------------------------------------------------
33
+ className: _propTypes.default.string,
34
+ color: _propTypes.default.string,
35
+ fontSize: _propTypes.default.oneOf(['inherit', 'large', 'medium', 'small']),
36
+ sortingOrder: _propTypes.default.arrayOf(_propTypes.default.oneOf(['asc', 'desc'])).isRequired,
37
+ style: _propTypes.default.object,
38
+ titleAccess: _propTypes.default.string
39
+ } : void 0;
@@ -2,16 +2,31 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["sortingOrder"];
4
4
  import * as React from 'react';
5
+ import PropTypes from 'prop-types';
5
6
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.mjs";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export const GridColumnUnsortedIcon = /*#__PURE__*/React.memo(function GridColumnHeaderSortIcon(props) {
8
+ function GridColumnUnsortedIcon(props) {
8
9
  const {
9
10
  sortingOrder
10
11
  } = props,
11
12
  other = _objectWithoutPropertiesLoose(props, _excluded);
12
- const rootProps = useGridRootProps();
13
+ const {
14
+ slots
15
+ } = useGridRootProps();
13
16
  const [nextSortDirection] = sortingOrder;
14
- const Icon = nextSortDirection === 'asc' ? rootProps.slots.columnSortedAscendingIcon : rootProps.slots.columnSortedDescendingIcon;
17
+ const Icon = nextSortDirection === 'asc' ? slots.columnSortedAscendingIcon : slots.columnSortedDescendingIcon;
15
18
  return Icon ? /*#__PURE__*/_jsx(Icon, _extends({}, other)) : null;
16
- });
17
- if (process.env.NODE_ENV !== "production") GridColumnUnsortedIcon.displayName = "GridColumnUnsortedIcon";
19
+ }
20
+ process.env.NODE_ENV !== "production" ? GridColumnUnsortedIcon.propTypes = {
21
+ // ----------------------------- Warning --------------------------------
22
+ // | These PropTypes are generated from the TypeScript type definitions |
23
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
24
+ // ----------------------------------------------------------------------
25
+ className: PropTypes.string,
26
+ color: PropTypes.string,
27
+ fontSize: PropTypes.oneOf(['inherit', 'large', 'medium', 'small']),
28
+ sortingOrder: PropTypes.arrayOf(PropTypes.oneOf(['asc', 'desc'])).isRequired,
29
+ style: PropTypes.object,
30
+ titleAccess: PropTypes.string
31
+ } : void 0;
32
+ export { GridColumnUnsortedIcon };
@@ -1,5 +1,2 @@
1
- import type { VirtualScrollerCompat } from '@mui/x-virtualizer';
2
- export interface GridDetailPanelsProps {
3
- virtualScroller: VirtualScrollerCompat;
4
- }
1
+ export interface GridDetailPanelsProps {}
5
2
  export declare function GridDetailPanels(_: GridDetailPanelsProps): null;
@@ -1,5 +1,2 @@
1
- import type { VirtualScrollerCompat } from '@mui/x-virtualizer';
2
- export interface GridDetailPanelsProps {
3
- virtualScroller: VirtualScrollerCompat;
4
- }
1
+ export interface GridDetailPanelsProps {}
5
2
  export declare function GridDetailPanels(_: GridDetailPanelsProps): null;
@@ -1,6 +1,4 @@
1
- import type { VirtualScrollerCompat } from '@mui/x-virtualizer';
2
1
  export interface GridPinnedRowsProps {
3
2
  position: 'top' | 'bottom';
4
- virtualScroller: VirtualScrollerCompat;
5
3
  }
6
4
  export declare function GridPinnedRows(_: GridPinnedRowsProps): null;
@@ -1,6 +1,4 @@
1
- import type { VirtualScrollerCompat } from '@mui/x-virtualizer';
2
1
  export interface GridPinnedRowsProps {
3
2
  position: 'top' | 'bottom';
4
- virtualScroller: VirtualScrollerCompat;
5
3
  }
6
4
  export declare function GridPinnedRows(_: GridPinnedRowsProps): null;
@@ -53,7 +53,7 @@ const GridRowDragAndDropOverlayRoot = (0, _styles.styled)('div', {
53
53
  backgroundColor: (theme.vars || theme).palette.primary.main
54
54
  }
55
55
  }, action === 'inside' && {
56
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / 0.1)` : (0, _styles.alpha)(theme.palette.primary.main, 0.1)
56
+ backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, 0.1)
57
57
  }));
58
58
  const GridRowDragAndDropOverlay = exports.GridRowDragAndDropOverlay = /*#__PURE__*/React.memo(function GridRowDragAndDropOverlay(props) {
59
59
  const {
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
- import { styled, alpha } from '@mui/material/styles';
5
+ import { styled } from '@mui/material/styles';
6
6
  import { shouldForwardProp } from '@mui/system/createStyled';
7
7
  import { useGridPrivateApiContext } from "../hooks/utils/useGridPrivateApiContext.mjs";
8
8
  import { useGridSelector } from "../hooks/utils/useGridSelector.mjs";
@@ -46,7 +46,7 @@ const GridRowDragAndDropOverlayRoot = styled('div', {
46
46
  backgroundColor: (theme.vars || theme).palette.primary.main
47
47
  }
48
48
  }, action === 'inside' && {
49
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / 0.1)` : alpha(theme.palette.primary.main, 0.1)
49
+ backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, 0.1)
50
50
  }));
51
51
  export const GridRowDragAndDropOverlay = /*#__PURE__*/React.memo(function GridRowDragAndDropOverlay(props) {
52
52
  const {
@@ -7,6 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.GridScrollbarFillerCell = GridScrollbarFillerCell;
8
8
  var _clsx = _interopRequireDefault(require("clsx"));
9
9
  var _constants = require("../constants");
10
+ var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
11
+ var _usePinnedScrollOffset = require("../hooks/utils/usePinnedScrollOffset");
12
+ var _constants2 = require("../internals/constants");
10
13
  var _jsxRuntime = require("react/jsx-runtime");
11
14
  const classes = {
12
15
  root: _constants.gridClasses.scrollbarFiller,
@@ -15,8 +18,13 @@ const classes = {
15
18
  function GridScrollbarFillerCell({
16
19
  pinnedRight
17
20
  }) {
21
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
22
+ const pinnedScrollOffset = (0, _usePinnedScrollOffset.usePinnedScrollOffset)(apiRef, pinnedRight ? _constants2.PinnedColumnPosition.RIGHT : undefined);
18
23
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
19
24
  role: "presentation",
20
- className: (0, _clsx.default)(classes.root, pinnedRight && classes.pinnedRight)
25
+ className: (0, _clsx.default)(classes.root, pinnedRight && classes.pinnedRight),
26
+ style: {
27
+ right: pinnedScrollOffset
28
+ }
21
29
  });
22
30
  }
@@ -1,5 +1,8 @@
1
1
  import clsx from 'clsx';
2
2
  import { gridClasses } from "../constants/index.mjs";
3
+ import { useGridPrivateApiContext } from "../hooks/utils/useGridPrivateApiContext.mjs";
4
+ import { usePinnedScrollOffset } from "../hooks/utils/usePinnedScrollOffset.mjs";
5
+ import { PinnedColumnPosition } from "../internals/constants.mjs";
3
6
  import { jsx as _jsx } from "react/jsx-runtime";
4
7
  const classes = {
5
8
  root: gridClasses.scrollbarFiller,
@@ -8,9 +11,14 @@ const classes = {
8
11
  function GridScrollbarFillerCell({
9
12
  pinnedRight
10
13
  }) {
14
+ const apiRef = useGridPrivateApiContext();
15
+ const pinnedScrollOffset = usePinnedScrollOffset(apiRef, pinnedRight ? PinnedColumnPosition.RIGHT : undefined);
11
16
  return /*#__PURE__*/_jsx("div", {
12
17
  role: "presentation",
13
- className: clsx(classes.root, pinnedRight && classes.pinnedRight)
18
+ className: clsx(classes.root, pinnedRight && classes.pinnedRight),
19
+ style: {
20
+ right: pinnedScrollOffset
21
+ }
14
22
  });
15
23
  }
16
24
  export { GridScrollbarFillerCell };
@@ -31,6 +31,7 @@ var _gridFocusStateSelector = require("../../hooks/features/focus/gridFocusState
31
31
  var _gridColumnsInterfaces = require("../../hooks/features/columns/gridColumnsInterfaces");
32
32
  var _constants = require("../../internals/constants");
33
33
  var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
34
+ var _usePinnedScrollOffset = require("../../hooks/utils/usePinnedScrollOffset");
34
35
  var _gridEditingSelectors = require("../../hooks/features/editing/gridEditingSelectors");
35
36
  var _utils = require("../../internals/utils");
36
37
  var _useGridConfiguration = require("../../hooks/utils/useGridConfiguration");
@@ -206,6 +207,7 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
206
207
  }, [apiRef, field, rowId]);
207
208
  const isCellRowSpanned = hiddenCells[rowId]?.[colIndex] ?? false;
208
209
  const rowSpan = spannedCells[rowId]?.[colIndex] ?? 1;
210
+ const pinnedScrollOffset = (0, _usePinnedScrollOffset.usePinnedScrollOffset)(apiRef, pinnedPosition);
209
211
  const style = React.useMemo(() => {
210
212
  if (isNotVisible) {
211
213
  return {
@@ -218,7 +220,7 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
218
220
  }
219
221
  const cellStyle = (0, _utils.attachPinnedStyle)((0, _extends2.default)({
220
222
  '--width': `${width}px`
221
- }, styleProp), isRtl, pinnedPosition, pinnedOffset);
223
+ }, styleProp), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined);
222
224
  const isLeftPinned = pinnedPosition === _constants.PinnedColumnPosition.LEFT;
223
225
  const isRightPinned = pinnedPosition === _constants.PinnedColumnPosition.RIGHT;
224
226
  if (rowSpan > 1) {
@@ -229,7 +231,7 @@ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
229
231
  }
230
232
  }
231
233
  return cellStyle;
232
- }, [width, isNotVisible, styleProp, pinnedOffset, pinnedPosition, isRtl, rowSpan]);
234
+ }, [width, isNotVisible, styleProp, pinnedOffset, pinnedPosition, pinnedScrollOffset, isRtl, rowSpan]);
233
235
  (0, _useEnhancedEffect.default)(() => {
234
236
  if (!hasFocus || cellMode === _models.GridCellModes.Edit) {
235
237
  return;
@@ -26,6 +26,7 @@ import { gridFocusCellSelector, gridTabIndexCellSelector } from "../../hooks/fea
26
26
  import { GridPinnedColumnPosition } from "../../hooks/features/columns/gridColumnsInterfaces.mjs";
27
27
  import { PinnedColumnPosition } from "../../internals/constants.mjs";
28
28
  import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.mjs";
29
+ import { usePinnedScrollOffset } from "../../hooks/utils/usePinnedScrollOffset.mjs";
29
30
  import { gridEditCellStateSelector } from "../../hooks/features/editing/gridEditingSelectors.mjs";
30
31
  import { attachPinnedStyle } from "../../internals/utils/index.mjs";
31
32
  import { useGridConfiguration } from "../../hooks/utils/useGridConfiguration.mjs";
@@ -199,6 +200,7 @@ const GridCell = forwardRef(function GridCell(props, ref) {
199
200
  }, [apiRef, field, rowId]);
200
201
  const isCellRowSpanned = hiddenCells[rowId]?.[colIndex] ?? false;
201
202
  const rowSpan = spannedCells[rowId]?.[colIndex] ?? 1;
203
+ const pinnedScrollOffset = usePinnedScrollOffset(apiRef, pinnedPosition);
202
204
  const style = React.useMemo(() => {
203
205
  if (isNotVisible) {
204
206
  return {
@@ -211,7 +213,7 @@ const GridCell = forwardRef(function GridCell(props, ref) {
211
213
  }
212
214
  const cellStyle = attachPinnedStyle(_extends({
213
215
  '--width': `${width}px`
214
- }, styleProp), isRtl, pinnedPosition, pinnedOffset);
216
+ }, styleProp), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined);
215
217
  const isLeftPinned = pinnedPosition === PinnedColumnPosition.LEFT;
216
218
  const isRightPinned = pinnedPosition === PinnedColumnPosition.RIGHT;
217
219
  if (rowSpan > 1) {
@@ -222,7 +224,7 @@ const GridCell = forwardRef(function GridCell(props, ref) {
222
224
  }
223
225
  }
224
226
  return cellStyle;
225
- }, [width, isNotVisible, styleProp, pinnedOffset, pinnedPosition, isRtl, rowSpan]);
227
+ }, [width, isNotVisible, styleProp, pinnedOffset, pinnedPosition, pinnedScrollOffset, isRtl, rowSpan]);
226
228
  useEnhancedEffect(() => {
227
229
  if (!hasFocus || cellMode === GridCellModes.Edit) {
228
230
  return;
@@ -13,16 +13,17 @@ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
13
13
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
14
  var _capitalize = _interopRequireDefault(require("@mui/utils/capitalize"));
15
15
  var _RtlProvider = require("@mui/system/RtlProvider");
16
+ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
16
17
  var _doesSupportPreventScroll = require("../../utils/doesSupportPreventScroll");
17
18
  var _gridClasses = require("../../constants/gridClasses");
18
19
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
20
  var _gridColumnGroupsSelector = require("../../hooks/features/columnGrouping/gridColumnGroupsSelector");
20
- var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
21
21
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
22
22
  var _GridGenericColumnHeaderItem = require("./GridGenericColumnHeaderItem");
23
23
  var _domUtils = require("../../utils/domUtils");
24
24
  var _constants = require("../../internals/constants");
25
25
  var _utils = require("../../internals/utils");
26
+ var _usePinnedScrollOffset = require("../../hooks/utils/usePinnedScrollOffset");
26
27
  var _jsxRuntime = require("react/jsx-runtime");
27
28
  const useUtilityClasses = ownerState => {
28
29
  const {
@@ -58,10 +59,10 @@ function GridColumnGroupHeader(props) {
58
59
  pinnedPosition,
59
60
  pinnedOffset
60
61
  } = props;
62
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
61
63
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
62
64
  const isRtl = (0, _RtlProvider.useRtl)();
63
65
  const headerCellRef = React.useRef(null);
64
- const apiRef = (0, _useGridApiContext.useGridApiContext)();
65
66
  const columnGroupsLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsLookupSelector);
66
67
  const group = groupId ? columnGroupsLookup[groupId] : {};
67
68
  const {
@@ -129,7 +130,8 @@ function GridColumnGroupHeader(props) {
129
130
  onBlur: publish('columnGroupHeaderBlur')
130
131
  }), [publish]);
131
132
  const headerClassName = typeof group.headerClassName === 'function' ? group.headerClassName(renderParams) : group.headerClassName;
132
- const style = React.useMemo(() => (0, _utils.attachPinnedStyle)((0, _extends2.default)({}, props.style), isRtl, pinnedPosition, pinnedOffset), [pinnedPosition, pinnedOffset, props.style, isRtl]);
133
+ const pinnedScrollOffset = (0, _usePinnedScrollOffset.usePinnedScrollOffset)(apiRef, pinnedPosition);
134
+ const style = React.useMemo(() => (0, _utils.attachPinnedStyle)((0, _extends2.default)({}, props.style), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined), [pinnedPosition, pinnedOffset, pinnedScrollOffset, props.style, isRtl]);
133
135
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridGenericColumnHeaderItem.GridGenericColumnHeaderItem, (0, _extends2.default)({
134
136
  ref: headerCellRef,
135
137
  classes: classes,
@@ -6,16 +6,17 @@ import useId from '@mui/utils/useId';
6
6
  import composeClasses from '@mui/utils/composeClasses';
7
7
  import capitalize from '@mui/utils/capitalize';
8
8
  import { useRtl } from '@mui/system/RtlProvider';
9
+ import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.mjs";
9
10
  import { doesSupportPreventScroll } from "../../utils/doesSupportPreventScroll.mjs";
10
11
  import { getDataGridUtilityClass } from "../../constants/gridClasses.mjs";
11
12
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
12
13
  import { gridColumnGroupsLookupSelector } from "../../hooks/features/columnGrouping/gridColumnGroupsSelector.mjs";
13
- import { useGridApiContext } from "../../hooks/utils/useGridApiContext.mjs";
14
14
  import { useGridSelector } from "../../hooks/utils/useGridSelector.mjs";
15
15
  import { GridGenericColumnHeaderItem } from "./GridGenericColumnHeaderItem.mjs";
16
16
  import { isEventTargetInPortal } from "../../utils/domUtils.mjs";
17
17
  import { PinnedColumnPosition } from "../../internals/constants.mjs";
18
18
  import { attachPinnedStyle } from "../../internals/utils/index.mjs";
19
+ import { usePinnedScrollOffset } from "../../hooks/utils/usePinnedScrollOffset.mjs";
19
20
  import { jsx as _jsx } from "react/jsx-runtime";
20
21
  const useUtilityClasses = ownerState => {
21
22
  const {
@@ -51,10 +52,10 @@ function GridColumnGroupHeader(props) {
51
52
  pinnedPosition,
52
53
  pinnedOffset
53
54
  } = props;
55
+ const apiRef = useGridPrivateApiContext();
54
56
  const rootProps = useGridRootProps();
55
57
  const isRtl = useRtl();
56
58
  const headerCellRef = React.useRef(null);
57
- const apiRef = useGridApiContext();
58
59
  const columnGroupsLookup = useGridSelector(apiRef, gridColumnGroupsLookupSelector);
59
60
  const group = groupId ? columnGroupsLookup[groupId] : {};
60
61
  const {
@@ -122,7 +123,8 @@ function GridColumnGroupHeader(props) {
122
123
  onBlur: publish('columnGroupHeaderBlur')
123
124
  }), [publish]);
124
125
  const headerClassName = typeof group.headerClassName === 'function' ? group.headerClassName(renderParams) : group.headerClassName;
125
- const style = React.useMemo(() => attachPinnedStyle(_extends({}, props.style), isRtl, pinnedPosition, pinnedOffset), [pinnedPosition, pinnedOffset, props.style, isRtl]);
126
+ const pinnedScrollOffset = usePinnedScrollOffset(apiRef, pinnedPosition);
127
+ const style = React.useMemo(() => attachPinnedStyle(_extends({}, props.style), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined), [pinnedPosition, pinnedOffset, pinnedScrollOffset, props.style, isRtl]);
126
128
  return /*#__PURE__*/_jsx(GridGenericColumnHeaderItem, _extends({
127
129
  ref: headerCellRef,
128
130
  classes: classes,
@@ -27,6 +27,7 @@ var _GridGenericColumnHeaderItem = require("./GridGenericColumnHeaderItem");
27
27
  var _domUtils = require("../../utils/domUtils");
28
28
  var _constants = require("../../internals/constants");
29
29
  var _utils = require("../../internals/utils");
30
+ var _usePinnedScrollOffset = require("../../hooks/utils/usePinnedScrollOffset");
30
31
  var _jsxRuntime = require("react/jsx-runtime");
31
32
  const useUtilityClasses = ownerState => {
32
33
  const {
@@ -224,7 +225,8 @@ function GridColumnHeaderItem(props) {
224
225
  colDef
225
226
  }) : colDef.headerClassName;
226
227
  const label = colDef.headerName ?? colDef.field;
227
- const style = React.useMemo(() => (0, _utils.attachPinnedStyle)((0, _extends2.default)({}, props.style), isRtl, pinnedPosition, pinnedOffset), [pinnedPosition, pinnedOffset, props.style, isRtl]);
228
+ const pinnedScrollOffset = (0, _usePinnedScrollOffset.usePinnedScrollOffset)(apiRef, pinnedPosition);
229
+ const style = React.useMemo(() => (0, _utils.attachPinnedStyle)((0, _extends2.default)({}, props.style), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined), [pinnedPosition, pinnedOffset, pinnedScrollOffset, props.style, isRtl]);
228
230
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridGenericColumnHeaderItem.GridGenericColumnHeaderItem, (0, _extends2.default)({
229
231
  ref: headerCellRef,
230
232
  classes: classes,
@@ -20,6 +20,7 @@ import { GridGenericColumnHeaderItem } from "./GridGenericColumnHeaderItem.mjs";
20
20
  import { isEventTargetInPortal } from "../../utils/domUtils.mjs";
21
21
  import { PinnedColumnPosition } from "../../internals/constants.mjs";
22
22
  import { attachPinnedStyle } from "../../internals/utils/index.mjs";
23
+ import { usePinnedScrollOffset } from "../../hooks/utils/usePinnedScrollOffset.mjs";
23
24
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
25
  const useUtilityClasses = ownerState => {
25
26
  const {
@@ -217,7 +218,8 @@ function GridColumnHeaderItem(props) {
217
218
  colDef
218
219
  }) : colDef.headerClassName;
219
220
  const label = colDef.headerName ?? colDef.field;
220
- const style = React.useMemo(() => attachPinnedStyle(_extends({}, props.style), isRtl, pinnedPosition, pinnedOffset), [pinnedPosition, pinnedOffset, props.style, isRtl]);
221
+ const pinnedScrollOffset = usePinnedScrollOffset(apiRef, pinnedPosition);
222
+ const style = React.useMemo(() => attachPinnedStyle(_extends({}, props.style), isRtl, pinnedPosition, pinnedOffset !== undefined ? pinnedOffset + pinnedScrollOffset : undefined), [pinnedPosition, pinnedOffset, pinnedScrollOffset, props.style, isRtl]);
221
223
  return /*#__PURE__*/_jsx(GridGenericColumnHeaderItem, _extends({
222
224
  ref: headerCellRef,
223
225
  classes: classes,