@mui/x-data-grid 9.0.0-alpha.4 → 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.
- package/CHANGELOG.md +262 -2
- package/DataGrid/DataGrid.js +1 -0
- package/DataGrid/DataGrid.mjs +1 -0
- package/components/GridColumnUnsortedIcon.d.mts +5 -2
- package/components/GridColumnUnsortedIcon.d.ts +5 -2
- package/components/GridColumnUnsortedIcon.js +20 -6
- package/components/GridColumnUnsortedIcon.mjs +20 -5
- package/components/GridDetailPanels.d.mts +1 -4
- package/components/GridDetailPanels.d.ts +1 -4
- package/components/GridPinnedRows.d.mts +0 -2
- package/components/GridPinnedRows.d.ts +0 -2
- package/components/GridRowDragAndDropOverlay.js +1 -1
- package/components/GridRowDragAndDropOverlay.mjs +2 -2
- package/components/GridScrollbarFillerCell.js +9 -1
- package/components/GridScrollbarFillerCell.mjs +9 -1
- package/components/cell/GridCell.js +4 -2
- package/components/cell/GridCell.mjs +4 -2
- package/components/columnHeaders/GridColumnGroupHeader.js +5 -3
- package/components/columnHeaders/GridColumnGroupHeader.mjs +5 -3
- package/components/columnHeaders/GridColumnHeaderItem.js +3 -1
- package/components/columnHeaders/GridColumnHeaderItem.mjs +3 -1
- package/components/columnSelection/GridCellCheckboxRenderer.js +3 -5
- package/components/columnSelection/GridCellCheckboxRenderer.mjs +3 -5
- package/components/columnSelection/GridRowCheckbox.d.mts +4 -0
- package/components/columnSelection/GridRowCheckbox.d.ts +4 -0
- package/components/columnSelection/GridRowCheckbox.js +59 -0
- package/components/columnSelection/GridRowCheckbox.mjs +53 -0
- package/components/columnSelection/index.d.mts +2 -1
- package/components/columnSelection/index.d.ts +2 -1
- package/components/columnSelection/index.js +11 -0
- package/components/columnSelection/index.mjs +2 -1
- package/components/containers/GridRootStyles.js +36 -5
- package/components/containers/GridRootStyles.mjs +36 -5
- package/components/index.d.mts +3 -1
- package/components/index.d.ts +3 -1
- package/components/index.js +10 -2
- package/components/index.mjs +2 -1
- package/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/components/panel/filterPanel/GridFilterForm.mjs +1 -1
- package/components/virtualization/GridBottomContainer.js +4 -1
- package/components/virtualization/GridBottomContainer.mjs +4 -1
- package/components/virtualization/GridVirtualScroller.js +55 -30
- package/components/virtualization/GridVirtualScroller.mjs +56 -31
- package/components/virtualization/GridVirtualScrollerContent.js +5 -1
- package/components/virtualization/GridVirtualScrollerContent.mjs +5 -1
- package/constants/defaultGridSlotsComponents.js +2 -1
- package/constants/defaultGridSlotsComponents.mjs +3 -2
- package/constants/gridClasses.d.mts +15 -0
- package/constants/gridClasses.d.ts +15 -0
- package/constants/gridClasses.js +1 -1
- package/constants/gridClasses.mjs +1 -1
- package/constants/localeTextConstants.js +1 -1
- package/constants/localeTextConstants.mjs +1 -1
- package/hooks/core/useGridVirtualizer.js +1 -0
- package/hooks/core/useGridVirtualizer.mjs +1 -0
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -4
- package/hooks/features/columnHeaders/useGridColumnHeaders.mjs +8 -4
- package/hooks/features/dimensions/useGridDimensions.js +1 -0
- package/hooks/features/dimensions/useGridDimensions.mjs +1 -0
- package/hooks/features/export/useGridPrintExport.js +5 -1
- package/hooks/features/export/useGridPrintExport.mjs +5 -1
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.mts +8 -0
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +8 -0
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +8 -1
- package/hooks/features/virtualization/gridVirtualizationSelectors.mjs +7 -0
- package/hooks/features/virtualization/index.d.mts +1 -1
- package/hooks/features/virtualization/index.d.ts +1 -1
- package/hooks/features/virtualization/index.js +44 -13
- package/hooks/features/virtualization/index.mjs +1 -1
- package/hooks/utils/usePinnedScrollOffset.d.mts +3 -0
- package/hooks/utils/usePinnedScrollOffset.d.ts +3 -0
- package/hooks/utils/usePinnedScrollOffset.js +27 -0
- package/hooks/utils/usePinnedScrollOffset.mjs +21 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/index.d.mts +1 -0
- package/internals/index.d.ts +1 -0
- package/internals/index.js +8 -0
- package/internals/index.mjs +1 -0
- package/locales/arSD.js +1 -1
- package/locales/arSD.mjs +1 -1
- package/locales/beBY.js +1 -1
- package/locales/beBY.mjs +1 -1
- package/locales/bgBG.js +1 -1
- package/locales/bgBG.mjs +1 -1
- package/locales/bnBD.js +1 -1
- package/locales/bnBD.mjs +1 -1
- package/locales/caES.js +1 -1
- package/locales/caES.mjs +1 -1
- package/locales/csCZ.js +1 -1
- package/locales/csCZ.mjs +1 -1
- package/locales/daDK.js +1 -1
- package/locales/daDK.mjs +1 -1
- package/locales/deDE.js +1 -1
- package/locales/deDE.mjs +1 -1
- package/locales/elGR.js +1 -1
- package/locales/elGR.mjs +1 -1
- package/locales/esES.js +1 -1
- package/locales/esES.mjs +1 -1
- package/locales/faIR.js +1 -1
- package/locales/faIR.mjs +1 -1
- package/locales/fiFI.js +1 -1
- package/locales/fiFI.mjs +1 -1
- package/locales/frFR.js +1 -1
- package/locales/frFR.mjs +1 -1
- package/locales/heIL.js +1 -1
- package/locales/heIL.mjs +1 -1
- package/locales/hrHR.js +1 -1
- package/locales/hrHR.mjs +1 -1
- package/locales/huHU.js +1 -1
- package/locales/huHU.mjs +1 -1
- package/locales/hyAM.js +1 -1
- package/locales/hyAM.mjs +1 -1
- package/locales/idID.js +1 -1
- package/locales/idID.mjs +1 -1
- package/locales/isIS.js +1 -1
- package/locales/isIS.mjs +1 -1
- package/locales/itIT.js +1 -1
- package/locales/itIT.mjs +1 -1
- package/locales/jaJP.js +1 -1
- package/locales/jaJP.mjs +1 -1
- package/locales/koKR.js +1 -1
- package/locales/koKR.mjs +1 -1
- package/locales/nbNO.js +1 -1
- package/locales/nbNO.mjs +1 -1
- package/locales/nlNL.js +1 -1
- package/locales/nlNL.mjs +1 -1
- package/locales/nnNO.js +1 -1
- package/locales/nnNO.mjs +1 -1
- package/locales/plPL.js +1 -1
- package/locales/plPL.mjs +1 -1
- package/locales/ptBR.js +1 -1
- package/locales/ptBR.mjs +1 -1
- package/locales/ptPT.js +1 -1
- package/locales/ptPT.mjs +1 -1
- package/locales/roRO.js +1 -1
- package/locales/roRO.mjs +1 -1
- package/locales/ruRU.js +1 -1
- package/locales/ruRU.mjs +1 -1
- package/locales/skSK.js +1 -1
- package/locales/skSK.mjs +1 -1
- package/locales/svSE.js +1 -1
- package/locales/svSE.mjs +1 -1
- package/locales/thTH.js +1 -1
- package/locales/thTH.mjs +1 -1
- package/locales/trTR.js +1 -1
- package/locales/trTR.mjs +1 -1
- package/locales/ukUA.js +1 -1
- package/locales/ukUA.mjs +1 -1
- package/locales/urPK.js +1 -1
- package/locales/urPK.mjs +1 -1
- package/locales/viVN.js +1 -1
- package/locales/viVN.mjs +1 -1
- package/locales/zhCN.js +1 -1
- package/locales/zhCN.mjs +1 -1
- package/locales/zhHK.js +1 -1
- package/locales/zhHK.mjs +1 -1
- package/locales/zhTW.js +1 -1
- package/locales/zhTW.mjs +1 -1
- package/material/augmentation.d.mts +3 -0
- package/material/augmentation.d.ts +3 -0
- package/material/index.js +26 -21
- package/material/index.mjs +26 -21
- package/material/variables.js +4 -4
- package/material/variables.mjs +4 -5
- package/models/api/gridLocaleTextApi.d.mts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +1 -1
- package/models/gridBaseSlots.d.mts +4 -2
- package/models/gridBaseSlots.d.ts +4 -2
- package/models/gridSlotsComponent.d.mts +5 -0
- package/models/gridSlotsComponent.d.ts +5 -0
- package/models/gridSlotsComponentsProps.d.mts +9 -0
- package/models/gridSlotsComponentsProps.d.ts +9 -0
- package/models/props/DataGridProps.d.mts +9 -0
- package/models/props/DataGridProps.d.ts +9 -0
- package/package.json +6 -6
- package/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.mjs +2 -2
- package/utils/cleanupTracking/TimerBasedCleanupTracking.mjs +2 -2
- package/utils/domUtils.js +3 -2
- package/utils/domUtils.mjs +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,265 @@
|
|
|
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` [](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` [](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` [](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` [](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` [](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` [](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` [](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
|
+
|
|
157
|
+
## 9.0.0-beta.0
|
|
158
|
+
|
|
159
|
+
<!-- generated comparing v9.0.0-alpha.4..master -->
|
|
160
|
+
|
|
161
|
+
_Mar 27, 2026_
|
|
162
|
+
|
|
163
|
+
We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
164
|
+
|
|
165
|
+
- 🔊 New Charts voiceover component for improved screen reader support
|
|
166
|
+
- ⌨️ Charts keyboard navigation improvements: axis tooltip now shows when navigating with the keyboard
|
|
167
|
+
- 📊 Charts axes now can be set to automatically resize to fit their content
|
|
168
|
+
- 📝 New `rowCheckbox` slot in Data Grid for easier checkbox column customization
|
|
169
|
+
- ⚡️ `fetchRows()` API in Data Grid Pro now defaults `start` and `end` based on scroll position with lazy loading
|
|
170
|
+
- 🐞 Bugfixes and internal improvements
|
|
171
|
+
|
|
172
|
+
The following team members contributed to this release:
|
|
173
|
+
@aemartos, @alexfauquette, @arminmeh, @cherniavskii, @Janpot, @JCQuintas, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes
|
|
174
|
+
|
|
175
|
+
### Data Grid
|
|
176
|
+
|
|
177
|
+
#### `@mui/x-data-grid@9.0.0-beta.0`
|
|
178
|
+
|
|
179
|
+
- [DataGrid] Add `rowCheckbox` slot for easier customization (#21797) @michelengelen
|
|
180
|
+
- [DataGrid] Prevent repeated `hasScrollbar` state updates (#21820) @arminmeh
|
|
181
|
+
|
|
182
|
+
#### `@mui/x-data-grid-pro@9.0.0-beta.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
183
|
+
|
|
184
|
+
Same changes as in `@mui/x-data-grid@9.0.0-beta.0`, plus:
|
|
185
|
+
|
|
186
|
+
- [DataGridPro] `fetchRows()` API's default `start` and `end` params based on scroll position with lazy loading (#21742) @arminmeh
|
|
187
|
+
|
|
188
|
+
#### `@mui/x-data-grid-premium@9.0.0-beta.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
189
|
+
|
|
190
|
+
Same changes as in `@mui/x-data-grid-pro@9.0.0-beta.0`.
|
|
191
|
+
|
|
192
|
+
### Date and Time Pickers
|
|
193
|
+
|
|
194
|
+
#### `@mui/x-date-pickers@9.0.0-beta.0`
|
|
195
|
+
|
|
196
|
+
Internal changes.
|
|
197
|
+
|
|
198
|
+
#### `@mui/x-date-pickers-pro@9.0.0-beta.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
199
|
+
|
|
200
|
+
Same changes as in `@mui/x-date-pickers@9.0.0-beta.0`.
|
|
201
|
+
|
|
202
|
+
### Charts
|
|
203
|
+
|
|
204
|
+
#### `@mui/x-charts@9.0.0-beta.0`
|
|
205
|
+
|
|
206
|
+
- [charts] Add `className` prop to Pro chart plot components (#21793) @JCQuintas
|
|
207
|
+
- [charts] Add experimental position-based pointer interaction for line series (#21809) @JCQuintas
|
|
208
|
+
- [charts] Add l10n to the bar accessibility (#21815) @alexfauquette
|
|
209
|
+
- [charts] Add localization for the basic charts (#21822) @alexfauquette
|
|
210
|
+
- [charts] Add voiceover component (#21344) @alexfauquette
|
|
211
|
+
- [charts] Allow axes to automatically resize to content (#21087) @JCQuintas
|
|
212
|
+
- [charts] Document multiple use-cases for references (#21768) @alexfauquette
|
|
213
|
+
- [charts] Remove compatibility layer for React vs native events (#21780) @JCQuintas
|
|
214
|
+
- [charts] Remove deprecated `barLabel` props (#21783) @alexfauquette
|
|
215
|
+
- [charts] Show axis tooltip when navigating with keyboard (#21689) @Copilot
|
|
216
|
+
|
|
217
|
+
#### `@mui/x-charts-pro@9.0.0-beta.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
218
|
+
|
|
219
|
+
Same changes as in `@mui/x-charts@9.0.0-beta.0`.
|
|
220
|
+
|
|
221
|
+
#### `@mui/x-charts-premium@9.0.0-beta.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
222
|
+
|
|
223
|
+
Same changes as in `@mui/x-charts-pro@9.0.0-beta.0`.
|
|
224
|
+
|
|
225
|
+
### Tree View
|
|
226
|
+
|
|
227
|
+
#### `@mui/x-tree-view@9.0.0-alpha.4`
|
|
228
|
+
|
|
229
|
+
Internal changes.
|
|
230
|
+
|
|
231
|
+
#### `@mui/x-tree-view-pro@9.0.0-alpha.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
232
|
+
|
|
233
|
+
Same changes as in `@mui/x-tree-view@9.0.0-alpha.4`.
|
|
234
|
+
|
|
235
|
+
### Codemod
|
|
236
|
+
|
|
237
|
+
#### `@mui/x-codemod@9.0.0-alpha.4`
|
|
238
|
+
|
|
239
|
+
Internal changes.
|
|
240
|
+
|
|
241
|
+
### Docs
|
|
242
|
+
|
|
243
|
+
- [docs] Document how to customize voiceover announcement (#21833) @alexfauquette
|
|
244
|
+
- [docs] Remove Discord mention from docs (#21855) @mapache-salvaje
|
|
245
|
+
- [docs] Remove stabilized experimental feature from demo (#21869) @JCQuintas
|
|
246
|
+
- [docs] Update telemetry guide to reflect pseudonymous data collection and license compliance (#21812) @aemartos
|
|
247
|
+
- [docs] Revise the Sparkline doc (#21614) @mapache-salvaje
|
|
248
|
+
- [docs] Revise the Gauge doc (#21673) @mapache-salvaje
|
|
249
|
+
- [docs] Revise the Heatmap doc (#21676) @mapache-salvaje
|
|
250
|
+
|
|
251
|
+
### Core
|
|
252
|
+
|
|
253
|
+
- [code-infra] Remove unused deps and unify es-toolkit via catalog (#21840) @Janpot
|
|
254
|
+
- [code-infra] Update @mui/internal-bundle-size-checker to canary.68 (#21836) @Janpot
|
|
255
|
+
- [code-infra] Update next (#21837) @Janpot
|
|
256
|
+
- [internal] Remove headless data grid packages (#21843) @cherniavskii
|
|
257
|
+
|
|
258
|
+
### Miscellaneous
|
|
259
|
+
|
|
260
|
+
- Add @romgrk to CODEOWNERS for `x-virtualizer` and `x-internals` (#21819) @Copilot
|
|
261
|
+
- [x-license] add 2022 plan version (#21814) @aemartos
|
|
262
|
+
|
|
3
263
|
## 9.0.0-alpha.4
|
|
4
264
|
|
|
5
265
|
_Mar 19, 2026_
|
|
@@ -59,7 +319,7 @@ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.4`.
|
|
|
59
319
|
- [charts] Remove deprecated `useMouseTracker()` (#21787) @alexfauquette
|
|
60
320
|
- [charts] Remove deprecated classes (#21775) @alexfauquette
|
|
61
321
|
- [charts] Remove deprecated props from PieArcLabel animation (#21789) @alexfauquette
|
|
62
|
-
- [charts] Remove get
|
|
322
|
+
- [charts] Remove get\*UtilityClass from public exports (#21769) @JCQuintas
|
|
63
323
|
- [charts] Remove the deprecated `disableHover` property (#21785) @alexfauquette
|
|
64
324
|
- [charts] Remove the deprecated `message` prop (#21784) @alexfauquette
|
|
65
325
|
- [charts] Remove deprecated props about voronoi (#21796) @alexfauquette
|
|
@@ -207,7 +467,7 @@ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.3`, plus:
|
|
|
207
467
|
- Remove deprecated CSS state classes from `treeItemClasses`: `expanded`, `selected`, `focused`, `disabled`, `editable`, `editing` (use `[data-expanded]`, `[data-selected]`, etc.)
|
|
208
468
|
- The `<RichTreeViewPro />` component has now virtualization enabled by default.
|
|
209
469
|
- The items used inside the `<RichTreeViewPro />` now have a default height of `32px`.
|
|
210
|
-
- The
|
|
470
|
+
- The items of the `<RichTreeViewPro />` are now rendered as a flat list instead of a nested tree.
|
|
211
471
|
|
|
212
472
|
#### `@mui/x-tree-view@9.0.0-alpha.3`
|
|
213
473
|
|
package/DataGrid/DataGrid.js
CHANGED
|
@@ -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
|
/**
|
package/DataGrid/DataGrid.mjs
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
16
|
+
function GridColumnUnsortedIcon(props) {
|
|
16
17
|
const {
|
|
17
18
|
sortingOrder
|
|
18
19
|
} = props,
|
|
19
20
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
20
|
-
const
|
|
21
|
+
const {
|
|
22
|
+
slots
|
|
23
|
+
} = (0, _useGridRootProps.useGridRootProps)();
|
|
21
24
|
const [nextSortDirection] = sortingOrder;
|
|
22
|
-
const Icon = nextSortDirection === 'asc' ?
|
|
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
|
-
|
|
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
|
-
|
|
8
|
+
function GridColumnUnsortedIcon(props) {
|
|
8
9
|
const {
|
|
9
10
|
sortingOrder
|
|
10
11
|
} = props,
|
|
11
12
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
12
|
-
const
|
|
13
|
+
const {
|
|
14
|
+
slots
|
|
15
|
+
} = useGridRootProps();
|
|
13
16
|
const [nextSortDirection] = sortingOrder;
|
|
14
|
-
const Icon = nextSortDirection === 'asc' ?
|
|
17
|
+
const Icon = nextSortDirection === 'asc' ? slots.columnSortedAscendingIcon : slots.columnSortedDescendingIcon;
|
|
15
18
|
return Icon ? /*#__PURE__*/_jsx(Icon, _extends({}, other)) : null;
|
|
16
|
-
}
|
|
17
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
export interface GridDetailPanelsProps {
|
|
3
|
-
virtualScroller: VirtualScrollerCompat;
|
|
4
|
-
}
|
|
1
|
+
export interface GridDetailPanelsProps {}
|
|
5
2
|
export declare function GridDetailPanels(_: GridDetailPanelsProps): 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.
|
|
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
|
|
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.
|
|
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
|
|
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,
|