@mui/x-data-grid 8.10.1 → 8.11.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 +221 -8
- package/DataGrid/DataGrid.js +4 -2
- package/DataGrid/useDataGridComponent.d.ts +2 -1
- package/DataGrid/useDataGridComponent.js +2 -2
- package/colDef/gridDateColDef.js +7 -0
- package/components/GridColumnSortButton.js +1 -2
- package/components/GridColumnUnsortedIcon.d.ts +2 -3
- package/components/GridRow.js +11 -5
- package/components/cell/GridActionsCell.js +8 -4
- package/components/columnHeaders/GridColumnGroupHeader.js +13 -1
- package/components/columnHeaders/GridColumnHeaderItem.js +17 -4
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -14
- package/components/columnsManagement/GridColumnsManagement.js +7 -2
- package/components/containers/GridRootStyles.js +24 -6
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +3 -2
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +6 -9
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +4 -10
- package/components/virtualization/GridVirtualScrollerRenderZone.js +3 -10
- package/esm/DataGrid/DataGrid.js +4 -2
- package/esm/DataGrid/useDataGridComponent.d.ts +2 -1
- package/esm/DataGrid/useDataGridComponent.js +2 -2
- package/esm/colDef/gridDateColDef.js +7 -0
- package/esm/components/GridColumnSortButton.js +1 -2
- package/esm/components/GridColumnUnsortedIcon.d.ts +2 -3
- package/esm/components/GridRow.js +12 -6
- package/esm/components/cell/GridActionsCell.js +8 -4
- package/esm/components/columnHeaders/GridColumnGroupHeader.js +13 -1
- package/esm/components/columnHeaders/GridColumnHeaderItem.js +17 -4
- package/esm/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -14
- package/esm/components/columnsManagement/GridColumnsManagement.js +6 -1
- package/esm/components/containers/GridRootStyles.js +24 -6
- package/esm/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +3 -2
- package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +1 -1
- package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +6 -9
- package/esm/components/panel/filterPanel/GridFilterInputSingleSelect.js +4 -10
- package/esm/components/virtualization/GridVirtualScrollerRenderZone.js +3 -10
- package/esm/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +15 -0
- package/esm/hooks/features/editing/useGridCellEditing.js +1 -1
- package/esm/hooks/features/editing/useGridRowEditing.js +1 -1
- package/esm/hooks/features/filter/gridFilterSelector.d.ts +9 -1
- package/esm/hooks/features/filter/gridFilterSelector.js +12 -0
- package/esm/hooks/features/filter/gridFilterUtils.js +11 -2
- package/esm/hooks/features/pagination/useGridPaginationModel.js +2 -2
- package/esm/hooks/features/rows/useGridRows.d.ts +2 -1
- package/esm/hooks/features/rows/useGridRows.js +6 -34
- package/esm/hooks/features/rows/useGridRowsOverridableMethods.d.ts +6 -0
- package/esm/hooks/features/rows/useGridRowsOverridableMethods.js +43 -0
- package/esm/hooks/features/scroll/useGridScroll.js +1 -1
- package/esm/hooks/utils/useGridConfiguration.d.ts +3 -1
- package/esm/index.js +1 -1
- package/esm/internals/index.d.ts +2 -1
- package/esm/internals/index.js +2 -1
- package/esm/locales/fiFI.js +6 -6
- package/esm/material/index.js +2 -0
- package/esm/models/api/gridParamsApi.d.ts +3 -3
- package/esm/models/colDef/gridColDef.d.ts +4 -2
- package/esm/models/configuration/gridConfiguration.d.ts +6 -4
- package/esm/models/configuration/gridRowConfiguration.d.ts +11 -1
- package/esm/models/gridIconSlotsComponent.d.ts +6 -0
- package/esm/models/props/DataGridProps.d.ts +1 -1
- package/esm/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -2
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +15 -0
- package/hooks/features/editing/useGridCellEditing.js +1 -1
- package/hooks/features/editing/useGridRowEditing.js +1 -1
- package/hooks/features/filter/gridFilterSelector.d.ts +9 -1
- package/hooks/features/filter/gridFilterSelector.js +13 -1
- package/hooks/features/filter/gridFilterUtils.js +10 -1
- package/hooks/features/pagination/useGridPaginationModel.js +2 -2
- package/hooks/features/rows/useGridRows.d.ts +2 -1
- package/hooks/features/rows/useGridRows.js +6 -34
- package/hooks/features/rows/useGridRowsOverridableMethods.d.ts +6 -0
- package/hooks/features/rows/useGridRowsOverridableMethods.js +52 -0
- package/hooks/features/scroll/useGridScroll.js +1 -1
- package/hooks/utils/useGridConfiguration.d.ts +3 -1
- package/index.js +1 -1
- package/internals/index.d.ts +2 -1
- package/internals/index.js +15 -0
- package/locales/fiFI.js +6 -6
- package/material/index.js +2 -0
- package/models/api/gridParamsApi.d.ts +3 -3
- package/models/colDef/gridColDef.d.ts +4 -2
- package/models/configuration/gridConfiguration.d.ts +6 -4
- package/models/configuration/gridRowConfiguration.d.ts +11 -1
- package/models/gridIconSlotsComponent.d.ts +6 -0
- package/models/props/DataGridProps.d.ts +1 -1
- package/package.json +3 -3
- package/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,17 +5,224 @@
|
|
|
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.11.0
|
|
9
|
+
|
|
10
|
+
_Aug 29, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 19 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 📊 Add new `SankeyChart`
|
|
15
|
+
|
|
16
|
+
<img height="300" alt="Screenshot 2025-07-24 at 12 54 33" src="https://github.com/user-attachments/assets/d77bcec1-044b-48c6-b37d-d7b74793b91c" />
|
|
17
|
+
|
|
18
|
+
- 🚀 Data Grid row grouping now supports row reordering
|
|
19
|
+
|
|
20
|
+
See the [Drag-and-drop group reordering](https://mui.com/x/react-data-grid/row-grouping/#drag-and-drop-group-reordering) section for more details.
|
|
21
|
+
|
|
22
|
+
- 📚 Documentation improvements
|
|
23
|
+
|
|
24
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
25
|
+
@dwrth, @lauri865, @Webini
|
|
26
|
+
|
|
27
|
+
The following are all team members who have contributed to this release:
|
|
28
|
+
@alexfauquette, @arminmeh, @brijeshb42, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @michelengelen, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855, @siriwatknp
|
|
29
|
+
|
|
30
|
+
### Data Grid
|
|
31
|
+
|
|
32
|
+
#### `@mui/x-data-grid@8.11.0`
|
|
33
|
+
|
|
34
|
+
- [DataGrid] Fix focused column header scroll jump (#19323) @lauri865
|
|
35
|
+
- [DataGrid] Bring `columnUnsortedIcon` slot back (#19268) @arminmeh
|
|
36
|
+
- [DataGrid] Do not add `menu` role to the empty actions menu (#19338) @arminmeh
|
|
37
|
+
- [DataGrid] Fix `columnsManagementRow` style override slot not working (#19097) @dwrth
|
|
38
|
+
- [DataGrid] Fix pagination state synchronization issue (#19290) @MBilalShafi
|
|
39
|
+
- [DataGrid] Fix scroll issue in R17 (#19265) @romgrk
|
|
40
|
+
- [DataGrid] Hide column separator of non-resizable pinned column (#19277) @arminmeh
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-data-grid-pro@8.11.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-data-grid@8.11.0`, plus:
|
|
45
|
+
|
|
46
|
+
- [DataGridPro] Fix column menu sort when `multipleColumnsSortingMode="always"` (#19099) @MBilalShafi
|
|
47
|
+
- [DataGridPro] Keep the drop effect if `keepColumnPositionIfDraggedOutside` is enabled (#19372) @arminmeh
|
|
48
|
+
|
|
49
|
+
#### `@mui/x-data-grid-premium@8.11.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
50
|
+
|
|
51
|
+
Same changes as in `@mui/x-data-grid-pro@8.11.0`, plus:
|
|
52
|
+
|
|
53
|
+
- [DataGridPremium] Fix `valueFormatter` issues when `rowGroupingColumnMode="single"` (#18967) @cherniavskii
|
|
54
|
+
- [DataGridPremium] Reordering support for row grouping (#18251) @MBilalShafi
|
|
55
|
+
|
|
56
|
+
### Date and Time Pickers
|
|
57
|
+
|
|
58
|
+
#### `@mui/x-date-pickers@8.11.0`
|
|
59
|
+
|
|
60
|
+
- [pickers] Fix Firefox bug causing crash when `startContainer` is a restricted object (#18772) @Webini
|
|
61
|
+
- [pickers] RTL not applied correctly for Calendar Systems examples (works in v7.x but broken in latest version) (#19287) @rita-codes
|
|
62
|
+
- [pickers] Use the locale week day on the Luxon adapter (#19230) @flaviendelangle
|
|
63
|
+
- [pickers] Fix display of placeholder when label is shrunk (#19318) @sai6855
|
|
64
|
+
|
|
65
|
+
#### `@mui/x-date-pickers-pro@8.11.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
66
|
+
|
|
67
|
+
Same changes as in `@mui/x-date-pickers@8.11.0`.
|
|
68
|
+
|
|
69
|
+
### Charts
|
|
70
|
+
|
|
71
|
+
#### `@mui/x-charts@8.11.0`
|
|
72
|
+
|
|
73
|
+
- [charts] Add `RadarAxis` component to render labels (#19240) @alexfauquette
|
|
74
|
+
- [charts] Handle item identifier with data (#19295) @JCQuintas
|
|
75
|
+
- [charts] Refactor optional chaining for props in PieChart, PieChartPro, and ScatterChartPro components (#19292) @sai6855
|
|
76
|
+
- [charts] Remove unused `fill` and `stroke` properties (#19316) @sai6855
|
|
77
|
+
- [charts] Correct `hideLegend` prop description in docs (#19371) @sai6855
|
|
78
|
+
|
|
79
|
+
#### `@mui/x-charts-pro@8.11.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
80
|
+
|
|
81
|
+
Same changes as in `@mui/x-charts@8.11.0`, plus:
|
|
82
|
+
|
|
83
|
+
- [charts-pro] Add new `SankeyChart` (#18895) @JCQuintas
|
|
84
|
+
|
|
85
|
+
### Tree View
|
|
86
|
+
|
|
87
|
+
#### `@mui/x-tree-view@8.11.0`
|
|
88
|
+
|
|
89
|
+
- [tree view] Improve the typing of the item's checkbox `slotProps` (#19247) @flaviendelangle
|
|
90
|
+
|
|
91
|
+
#### `@mui/x-tree-view-pro@8.11.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
92
|
+
|
|
93
|
+
Same changes as in `@mui/x-tree-view@8.11.0`.
|
|
94
|
+
|
|
95
|
+
### Codemod
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-codemod@8.11.0`
|
|
98
|
+
|
|
99
|
+
Internal changes.
|
|
100
|
+
|
|
101
|
+
### Docs
|
|
102
|
+
|
|
103
|
+
- [docs][TreeView] Fix grammar and spelling mistakes (#19299) @mapache-salvaje
|
|
104
|
+
- [docs][DataGrid] Add pagination number formatting doc with a demo (#19221) @siriwatknp
|
|
105
|
+
- [docs][Charts] Correct some small grammar mistakes (#19297) @mapache-salvaje
|
|
106
|
+
- [docs][DataGrid] Correct grammar mistakes (#19298) @mapache-salvaje
|
|
107
|
+
- [docs][DataGrid] Make it clear that the API key for AI Assistant must be private (#19244) @oliviertassinari
|
|
108
|
+
|
|
109
|
+
### Core
|
|
110
|
+
|
|
111
|
+
- [code-infra] Remove unnecessary triggers from publish workflow (#19348) @Janpot
|
|
112
|
+
- [code-infra] Set up publishing from GitHub actions (#19264) @Janpot
|
|
113
|
+
- [code-infra] Update renovate, exclude infra packages from MUI group (#19288) @Janpot
|
|
114
|
+
- [internal] Add comment for Codspeed triggers (#19302) @oliviertassinari
|
|
115
|
+
- [internal] Fix changelog generation for infra tags (#19266) @oliviertassinari
|
|
116
|
+
- [internal] Remove dead repository field (#19301) @oliviertassinari
|
|
117
|
+
- [internal] Sentence case @oliviertassinari
|
|
118
|
+
- [internal] Update 8.10.1 changelog with missing changes (#19345) @cherniavskii
|
|
119
|
+
- [support-infra] Improve GitHub Action that check PRs labels (#19303) @oliviertassinari
|
|
120
|
+
|
|
121
|
+
### Miscellaneous
|
|
122
|
+
|
|
123
|
+
- [infra] Add `synchronize` to workflow triggers (#19342) @michelengelen
|
|
124
|
+
- [infra] Add charts docs folder in codowner (#19317) @alexfauquette
|
|
125
|
+
- [infra] Fix publish workflow complaint (#19346) @JCQuintas
|
|
126
|
+
- [infra] Migrate to use eslint without airbnb config (#19269) @brijeshb42
|
|
127
|
+
- [infra] Simplify release preparation script (#19351) @michelengelen
|
|
128
|
+
|
|
129
|
+
## 8.10.2
|
|
130
|
+
|
|
131
|
+
_Aug 20, 2025_
|
|
132
|
+
|
|
133
|
+
We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
134
|
+
|
|
135
|
+
- 🌎 Improve Finnish (fi-FI) locale on the Data Grid
|
|
136
|
+
|
|
137
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
138
|
+
@lauri-heinonen-2025-04, @Methuselah96, @sai6855, @wilcoschoneveld
|
|
139
|
+
|
|
140
|
+
The following are all team members who have contributed to this release:
|
|
141
|
+
@alexfauquette, @cherniavskii, @flaviendelangle, @Janpot, @oliviertassinari, @rita-codes
|
|
142
|
+
|
|
143
|
+
### Data Grid
|
|
144
|
+
|
|
145
|
+
#### `@mui/x-data-grid@8.10.2`
|
|
146
|
+
|
|
147
|
+
- [DataGrid] Fix display for `<GridEditSingleSelect />` when `density='compact'` (#19249) @sai6855
|
|
148
|
+
- [DataGrid] Fix column header sortable classname when using `disableColumnSorting` (#19222) @wilcoschoneveld
|
|
149
|
+
- [l10n] Improve finnish (fi-FI) locale (#19163) @lauri-heinonen-2025-04
|
|
150
|
+
|
|
151
|
+
#### `@mui/x-data-grid-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
152
|
+
|
|
153
|
+
Same changes as in `@mui/x-data-grid@8.10.2`, plus:
|
|
154
|
+
|
|
155
|
+
- [DataGridPro] Fix quick filter not working in List View mode (#19254) @cherniavskii
|
|
156
|
+
|
|
157
|
+
#### `@mui/x-data-grid-premium@8.10.2` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
158
|
+
|
|
159
|
+
Same changes as in `@mui/x-data-grid-pro@8.10.2`.
|
|
160
|
+
|
|
161
|
+
### Date and Time Pickers
|
|
162
|
+
|
|
163
|
+
#### `@mui/x-date-pickers@8.10.2`
|
|
164
|
+
|
|
165
|
+
Internal changes.
|
|
166
|
+
|
|
167
|
+
#### `@mui/x-date-pickers-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
168
|
+
|
|
169
|
+
Same changes as in `@mui/x-date-pickers@8.10.2`.
|
|
170
|
+
|
|
171
|
+
### Charts
|
|
172
|
+
|
|
173
|
+
#### `@mui/x-charts@8.10.2`
|
|
174
|
+
|
|
175
|
+
Internal changes.
|
|
176
|
+
|
|
177
|
+
#### `@mui/x-charts-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
178
|
+
|
|
179
|
+
Same changes as in `@mui/x-charts@8.10.2`.
|
|
180
|
+
|
|
181
|
+
### Tree View
|
|
182
|
+
|
|
183
|
+
#### `@mui/x-tree-view@8.10.2`
|
|
184
|
+
|
|
185
|
+
- [tree view] Add `aria-hidden` to the Tree Item Checkbox (#19246) @flaviendelangle
|
|
186
|
+
|
|
187
|
+
#### `@mui/x-tree-view-pro@8.10.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
188
|
+
|
|
189
|
+
Same changes as in `@mui/x-tree-view@8.10.2`.
|
|
190
|
+
|
|
191
|
+
### Codemod
|
|
192
|
+
|
|
193
|
+
#### `@mui/x-codemod@8.10.2`
|
|
194
|
+
|
|
195
|
+
Internal changes.
|
|
196
|
+
|
|
197
|
+
### Docs
|
|
198
|
+
|
|
199
|
+
- [docs] Fix links to the pyramid chart (#19250) @alexfauquette
|
|
200
|
+
|
|
201
|
+
### Core
|
|
202
|
+
|
|
203
|
+
- [internal] Avoid script for CI only @oliviertassinari
|
|
204
|
+
- [internal] Fix `renovate.json` @oliviertassinari
|
|
205
|
+
- [internal] Polish renovate config @oliviertassinari
|
|
206
|
+
- [internal] Rename core to internal (#19203) @oliviertassinari
|
|
207
|
+
- [internal] Update link to GitHub labels @oliviertassinari
|
|
208
|
+
|
|
209
|
+
### Miscellaneous
|
|
210
|
+
|
|
211
|
+
- [code-infra] Prepare for incoming `execa` update (#19229) @Janpot
|
|
212
|
+
- [virtualizer] Fix type import (#19192) @Methuselah96
|
|
213
|
+
- [virtualizer] Improve type export (#19192) @Methuselah96
|
|
214
|
+
|
|
8
215
|
## 8.10.1
|
|
9
216
|
|
|
10
217
|
_Aug 15, 2025_
|
|
11
218
|
|
|
12
|
-
We'd like to extend a big thank you to the
|
|
219
|
+
We'd like to extend a big thank you to the 11 contributors who made this release possible. Here are some highlights ✨:
|
|
13
220
|
|
|
14
221
|
- 📊 Y-axes can now be grouped by category when using `band` and `point` scales.
|
|
15
222
|
- 📚 Documentation improvements
|
|
16
223
|
|
|
17
224
|
The following are all team members who have contributed to this release:
|
|
18
|
-
@alexfauquette, @bernardobelchior, @Janpot, @JCQuintas, @mnajdova, @oliviertassinari, @prakhargupta1, @romgrk
|
|
225
|
+
@alexfauquette, @bernardobelchior, @Janpot, @JCQuintas, @mnajdova, @oliviertassinari, @prakhargupta1, @romgrk, @brijeshb42, @noraleonte, @rita-codes
|
|
19
226
|
|
|
20
227
|
### Data Grid
|
|
21
228
|
|
|
@@ -24,12 +231,14 @@ The following are all team members who have contributed to this release:
|
|
|
24
231
|
- [DataGrid] Fix scroll jumping (#19156) @romgrk
|
|
25
232
|
- [DataGrid] Fix scroll restoration (#19182) @romgrk
|
|
26
233
|
- [DataGrid] Fix "no row with id" error (#19193) @romgrk
|
|
234
|
+
- [DataGrid] Fix missing rows in the print export window (#19159) @cherniavskii
|
|
235
|
+
- [DataGrid] Fix broken scroll (#19178) @romgrk
|
|
27
236
|
|
|
28
|
-
#### `@mui/x-data-grid-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link
|
|
237
|
+
#### `@mui/x-data-grid-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
29
238
|
|
|
30
239
|
Same changes as in `@mui/x-data-grid@8.10.1`.
|
|
31
240
|
|
|
32
|
-
#### `@mui/x-data-grid-premium@8.10.1` [](https://mui.com/r/x-premium-svg-link
|
|
241
|
+
#### `@mui/x-data-grid-premium@8.10.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
33
242
|
|
|
34
243
|
Same changes as in `@mui/x-data-grid-pro@8.10.1`.
|
|
35
244
|
|
|
@@ -39,7 +248,7 @@ Same changes as in `@mui/x-data-grid-pro@8.10.1`.
|
|
|
39
248
|
|
|
40
249
|
Internal changes.
|
|
41
250
|
|
|
42
|
-
#### `@mui/x-date-pickers-pro@8.10.0` [](https://mui.com/r/x-pro-svg-link
|
|
251
|
+
#### `@mui/x-date-pickers-pro@8.10.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
43
252
|
|
|
44
253
|
Same changes as in `@mui/x-date-pickers@8.10.0`.
|
|
45
254
|
|
|
@@ -55,8 +264,10 @@ Same changes as in `@mui/x-date-pickers@8.10.0`.
|
|
|
55
264
|
- [charts] Fix default axis highlight for axes without data attribute (#18985) @alexfauquette
|
|
56
265
|
- [charts] Fix tooltip mark unexpected wrapping in mobile (#19122) @bernardobelchior
|
|
57
266
|
- [charts] Prevent overflow on charts tooltip (#19123) @bernardobelchior
|
|
267
|
+
- [charts] Add demo for log-scale ticks without labels (#19152) @bernardobelchior
|
|
268
|
+
- [charts] Update animation customization docs (#19185) @bernardobelchior
|
|
58
269
|
|
|
59
|
-
#### `@mui/x-charts-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link
|
|
270
|
+
#### `@mui/x-charts-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
60
271
|
|
|
61
272
|
Same changes as in `@mui/x-charts@8.10.1`.
|
|
62
273
|
|
|
@@ -64,9 +275,10 @@ Same changes as in `@mui/x-charts@8.10.1`.
|
|
|
64
275
|
|
|
65
276
|
#### `@mui/x-tree-view@8.10.1`
|
|
66
277
|
|
|
67
|
-
|
|
278
|
+
- [tree view] Fix root not loading from cache on remount (#19088) @noraleonte
|
|
279
|
+
- [tree view] Don't overwrite childrenIds when collapsed to preserve indeterminate state of the parent (#19196) @rita-codes
|
|
68
280
|
|
|
69
|
-
#### `@mui/x-tree-view-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link
|
|
281
|
+
#### `@mui/x-tree-view-pro@8.10.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
70
282
|
|
|
71
283
|
Same changes as in `@mui/x-tree-view@8.10.1`.
|
|
72
284
|
|
|
@@ -96,6 +308,7 @@ Internal changes.
|
|
|
96
308
|
- [code-infra] Fix `fs-extra` removal from `formattedTSDemos` script (#19132) @bernardobelchior
|
|
97
309
|
- [code-infra] Remove unused code and dependency (#19139) @bernardobelchior
|
|
98
310
|
- [code-infra] Replace `fs-extra` with `node:fs` where possible (#19127) @bernardobelchior
|
|
311
|
+
- [code-infra] Migrate build command to code-infra (#19006) @brijeshb42
|
|
99
312
|
- [internal] Edit, keep `lockFileMaintenance` simple @oliviertassinari
|
|
100
313
|
- [internal] Fix writing style action name @oliviertassinari
|
|
101
314
|
- [internal] Make it clear that `lockFileMaintenance` is enabled @oliviertassinari
|
package/DataGrid/DataGrid.js
CHANGED
|
@@ -14,6 +14,7 @@ var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
|
14
14
|
var _components = require("../components");
|
|
15
15
|
var _useGridAriaAttributes = require("../hooks/utils/useGridAriaAttributes");
|
|
16
16
|
var _useGridRowAriaAttributes = require("../hooks/features/rows/useGridRowAriaAttributes");
|
|
17
|
+
var _useGridRowsOverridableMethods = require("../hooks/features/rows/useGridRowsOverridableMethods");
|
|
17
18
|
var _GridContextProvider = require("../context/GridContextProvider");
|
|
18
19
|
var _useDataGridComponent = require("./useDataGridComponent");
|
|
19
20
|
var _useDataGridProps = require("./useDataGridProps");
|
|
@@ -26,13 +27,14 @@ const configuration = {
|
|
|
26
27
|
useCSSVariables: _variables.useMaterialCSSVariables,
|
|
27
28
|
useGridAriaAttributes: _useGridAriaAttributes.useGridAriaAttributes,
|
|
28
29
|
useGridRowAriaAttributes: _useGridRowAriaAttributes.useGridRowAriaAttributes,
|
|
30
|
+
useGridRowsOverridableMethods: _useGridRowsOverridableMethods.useGridRowsOverridableMethods,
|
|
29
31
|
useCellAggregationResult: () => null
|
|
30
32
|
}
|
|
31
33
|
};
|
|
32
34
|
const DataGridRaw = function DataGrid(inProps, ref) {
|
|
33
35
|
const props = (0, _useDataGridProps.useDataGridProps)(inProps);
|
|
34
36
|
const privateApiRef = (0, _useGridApiInitialization.useGridApiInitialization)(props.apiRef, props);
|
|
35
|
-
(0, _useDataGridComponent.useDataGridComponent)(privateApiRef, props);
|
|
37
|
+
(0, _useDataGridComponent.useDataGridComponent)(privateApiRef, props, configuration);
|
|
36
38
|
if (process.env.NODE_ENV !== 'production') {
|
|
37
39
|
(0, _propValidation.validateProps)(props, _propValidation.propValidatorsDataGrid);
|
|
38
40
|
}
|
|
@@ -587,7 +589,7 @@ DataGridRaw.propTypes = {
|
|
|
587
589
|
*/
|
|
588
590
|
onPreferencePanelOpen: _propTypes.default.func,
|
|
589
591
|
/**
|
|
590
|
-
* Callback called when `processRowUpdate` throws an error or rejects.
|
|
592
|
+
* Callback called when `processRowUpdate()` throws an error or rejects.
|
|
591
593
|
* @param {any} error The error thrown.
|
|
592
594
|
*/
|
|
593
595
|
onProcessRowUpdateError: _propTypes.default.func,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
2
|
import { DataGridProcessedProps } from "../models/props/DataGridProps.js";
|
|
3
3
|
import { GridPrivateApiCommunity } from "../models/api/gridApiCommunity.js";
|
|
4
|
-
|
|
4
|
+
import { GridConfiguration } from "../models/configuration/gridConfiguration.js";
|
|
5
|
+
export declare const useDataGridComponent: (apiRef: RefObject<GridPrivateApiCommunity>, props: DataGridProcessedProps, configuration: GridConfiguration) => void;
|
|
@@ -41,7 +41,7 @@ var _useGridRowSpanning = require("../hooks/features/rows/useGridRowSpanning");
|
|
|
41
41
|
var _useGridListView = require("../hooks/features/listView/useGridListView");
|
|
42
42
|
var _useGridProps = require("../hooks/core/useGridProps");
|
|
43
43
|
var _useGridDataSource = require("../hooks/features/dataSource/useGridDataSource");
|
|
44
|
-
const useDataGridComponent = (apiRef, props) => {
|
|
44
|
+
const useDataGridComponent = (apiRef, props, configuration) => {
|
|
45
45
|
(0, _useGridInitialization.useGridInitialization)(apiRef, props);
|
|
46
46
|
|
|
47
47
|
/**
|
|
@@ -76,7 +76,7 @@ const useDataGridComponent = (apiRef, props) => {
|
|
|
76
76
|
(0, _useGridKeyboardNavigation.useGridKeyboardNavigation)(apiRef, props);
|
|
77
77
|
(0, _useGridRowSelection.useGridRowSelection)(apiRef, props);
|
|
78
78
|
(0, _useGridColumns.useGridColumns)(apiRef, props);
|
|
79
|
-
(0, _useGridRows.useGridRows)(apiRef, props);
|
|
79
|
+
(0, _useGridRows.useGridRows)(apiRef, props, configuration);
|
|
80
80
|
(0, _useGridRowSpanning.useGridRowSpanning)(apiRef, props);
|
|
81
81
|
(0, _useGridParamsApi.useGridParamsApi)(apiRef, props);
|
|
82
82
|
(0, _useGridColumnSpanning.useGridColumnSpanning)(apiRef);
|
package/colDef/gridDateColDef.js
CHANGED
|
@@ -11,6 +11,7 @@ var _gridDateOperators = require("./gridDateOperators");
|
|
|
11
11
|
var _gridStringColDef = require("./gridStringColDef");
|
|
12
12
|
var _GridEditDateCell = require("../components/cell/GridEditDateCell");
|
|
13
13
|
var _gridPropsSelectors = require("../hooks/core/gridPropsSelectors");
|
|
14
|
+
var _gridRowsUtils = require("../hooks/features/rows/gridRowsUtils");
|
|
14
15
|
function throwIfNotDateObject({
|
|
15
16
|
value,
|
|
16
17
|
columnType,
|
|
@@ -26,6 +27,9 @@ const gridDateFormatter = (value, row, column, apiRef) => {
|
|
|
26
27
|
return '';
|
|
27
28
|
}
|
|
28
29
|
const rowId = (0, _gridPropsSelectors.gridRowIdSelector)(apiRef, row);
|
|
30
|
+
if ((0, _gridRowsUtils.isAutogeneratedRow)(row) && !(value instanceof Date)) {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
29
33
|
throwIfNotDateObject({
|
|
30
34
|
value,
|
|
31
35
|
columnType: 'date',
|
|
@@ -40,6 +44,9 @@ const gridDateTimeFormatter = (value, row, column, apiRef) => {
|
|
|
40
44
|
return '';
|
|
41
45
|
}
|
|
42
46
|
const rowId = (0, _gridPropsSelectors.gridRowIdSelector)(apiRef, row);
|
|
47
|
+
if ((0, _gridRowsUtils.isAutogeneratedRow)(row) && !(value instanceof Date)) {
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
43
50
|
throwIfNotDateObject({
|
|
44
51
|
value,
|
|
45
52
|
columnType: 'dateTime',
|
|
@@ -17,7 +17,6 @@ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
|
|
|
17
17
|
var _gridClasses = require("../constants/gridClasses");
|
|
18
18
|
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
|
|
19
19
|
var _cssVariables = require("../constants/cssVariables");
|
|
20
|
-
var _GridColumnUnsortedIcon = require("./GridColumnUnsortedIcon");
|
|
21
20
|
var _assert = require("../utils/assert");
|
|
22
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
22
|
const _excluded = ["direction", "index", "sortingOrder", "disabled", "className"];
|
|
@@ -48,7 +47,7 @@ function getIcon(icons, direction, className, sortingOrder) {
|
|
|
48
47
|
} else if (direction === 'desc') {
|
|
49
48
|
Icon = icons.columnSortedDescendingIcon;
|
|
50
49
|
} else {
|
|
51
|
-
Icon =
|
|
50
|
+
Icon = icons.columnUnsortedIcon;
|
|
52
51
|
iconProps.sortingOrder = sortingOrder;
|
|
53
52
|
}
|
|
54
53
|
return Icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, (0, _extends2.default)({
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { GridBaseIconProps } from "../models/gridSlotsComponentsProps.js";
|
|
3
3
|
import { GridSortDirection } from "../models/gridSortModel.js";
|
|
4
|
-
interface GridColumnUnsortedIconProps extends GridBaseIconProps {
|
|
4
|
+
export interface GridColumnUnsortedIconProps extends GridBaseIconProps {
|
|
5
5
|
sortingOrder: GridSortDirection[];
|
|
6
6
|
}
|
|
7
|
-
export declare const GridColumnUnsortedIcon: React.NamedExoticComponent<GridColumnUnsortedIconProps>;
|
|
8
|
-
export {};
|
|
7
|
+
export declare const GridColumnUnsortedIcon: React.NamedExoticComponent<GridColumnUnsortedIconProps>;
|
package/components/GridRow.js
CHANGED
|
@@ -39,8 +39,11 @@ var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext
|
|
|
39
39
|
var _createSelector = require("../utils/createSelector");
|
|
40
40
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
41
41
|
const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetLeft", "columnsTotalWidth", "firstColumnIndex", "lastColumnIndex", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "scrollbarWidth", "gridHasFiller", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
|
|
42
|
-
const isRowReorderingEnabledSelector = (0, _createSelector.createSelector)(_gridEditingSelectors.gridEditRowsStateSelector, (editRows,
|
|
43
|
-
|
|
42
|
+
const isRowReorderingEnabledSelector = (0, _createSelector.createSelector)(_gridEditingSelectors.gridEditRowsStateSelector, (editRows, {
|
|
43
|
+
rowReordering,
|
|
44
|
+
treeData
|
|
45
|
+
}) => {
|
|
46
|
+
if (!rowReordering || treeData) {
|
|
44
47
|
return false;
|
|
45
48
|
}
|
|
46
49
|
const isEditingRows = !(0, _isObjectEmpty.isObjectEmpty)(editRows);
|
|
@@ -82,10 +85,13 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
|
|
|
82
85
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
83
86
|
const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, rootProps);
|
|
84
87
|
const sortModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortModelSelector);
|
|
85
|
-
const treeDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowMaximumTreeDepthSelector);
|
|
86
88
|
const columnPositions = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnPositionsSelector);
|
|
87
89
|
const rowReordering = rootProps.rowReordering;
|
|
88
|
-
const
|
|
90
|
+
const treeData = rootProps.treeData;
|
|
91
|
+
const isRowReorderingEnabled = (0, _useGridSelector.useGridSelector)(apiRef, isRowReorderingEnabledSelector, {
|
|
92
|
+
rowReordering,
|
|
93
|
+
treeData
|
|
94
|
+
});
|
|
89
95
|
const isRowDragActive = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowReorderSelector.gridIsRowDragActiveSelector);
|
|
90
96
|
const handleRef = (0, _useForkRef.default)(ref, refProp);
|
|
91
97
|
const rowNode = (0, _gridRowsSelector.gridRowNodeSelector)(apiRef, rowId);
|
|
@@ -238,7 +244,7 @@ const GridRow = (0, _forwardRef.forwardRef)(function GridRow(props, refProp) {
|
|
|
238
244
|
// fixes https://github.com/mui/mui-x/issues/11126
|
|
239
245
|
const isReorderCell = column.field === '__reorder__';
|
|
240
246
|
const canReorderColumn = !(disableColumnReorder || column.disableReorder);
|
|
241
|
-
const canReorderRow = isRowReorderingEnabled && !sortModel.length
|
|
247
|
+
const canReorderRow = isRowReorderingEnabled && !sortModel.length;
|
|
242
248
|
const disableDragEvents = !(canReorderColumn || isReorderCell && canReorderRow || isRowDragActive);
|
|
243
249
|
const cellIsNotVisible = pinnedPosition === _constants.PinnedColumnPosition.VIRTUAL;
|
|
244
250
|
const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
|
|
@@ -149,13 +149,17 @@ function GridActionsCell(props) {
|
|
|
149
149
|
setFocusedButtonIndex(newIndex);
|
|
150
150
|
}
|
|
151
151
|
};
|
|
152
|
+
|
|
153
|
+
// role="menu" requires at least one child element
|
|
154
|
+
const attributes = numberOfButtons > 0 ? {
|
|
155
|
+
role: 'menu',
|
|
156
|
+
onKeyDown: handleRootKeyDown
|
|
157
|
+
} : undefined;
|
|
152
158
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
153
|
-
role: "menu",
|
|
154
159
|
ref: rootRef,
|
|
155
160
|
tabIndex: -1,
|
|
156
|
-
className: _gridClasses.gridClasses.actionsCell
|
|
157
|
-
|
|
158
|
-
}, other, {
|
|
161
|
+
className: _gridClasses.gridClasses.actionsCell
|
|
162
|
+
}, attributes, other, {
|
|
159
163
|
children: [iconButtons.map((button, index) => /*#__PURE__*/React.cloneElement(button, {
|
|
160
164
|
key: index,
|
|
161
165
|
touchRippleRef: handleTouchRippleRef(index),
|
|
@@ -12,6 +12,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
14
|
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
15
|
+
var _doesSupportPreventScroll = require("../../utils/doesSupportPreventScroll");
|
|
15
16
|
var _gridClasses = require("../../constants/gridClasses");
|
|
16
17
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
17
18
|
var _gridColumnGroupsSelector = require("../../hooks/features/columnGrouping/gridColumnGroupsSelector");
|
|
@@ -96,7 +97,18 @@ function GridColumnGroupHeader(props) {
|
|
|
96
97
|
if (hasFocus) {
|
|
97
98
|
const focusableElement = headerCellRef.current.querySelector('[tabindex="0"]');
|
|
98
99
|
const elementToFocus = focusableElement || headerCellRef.current;
|
|
99
|
-
elementToFocus
|
|
100
|
+
if (!elementToFocus) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if ((0, _doesSupportPreventScroll.doesSupportPreventScroll)()) {
|
|
104
|
+
elementToFocus.focus({
|
|
105
|
+
preventScroll: true
|
|
106
|
+
});
|
|
107
|
+
} else {
|
|
108
|
+
const scrollPosition = apiRef.current.getScrollPosition();
|
|
109
|
+
elementToFocus.focus();
|
|
110
|
+
apiRef.current.scroll(scrollPosition);
|
|
111
|
+
}
|
|
100
112
|
}
|
|
101
113
|
}, [apiRef, hasFocus]);
|
|
102
114
|
const publish = React.useCallback(eventName => event => {
|
|
@@ -15,6 +15,7 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
|
|
|
15
15
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
16
16
|
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
17
17
|
var _RtlProvider = require("@mui/system/RtlProvider");
|
|
18
|
+
var _doesSupportPreventScroll = require("../../utils/doesSupportPreventScroll");
|
|
18
19
|
var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
|
|
19
20
|
var _ColumnHeaderMenuIcon = require("./ColumnHeaderMenuIcon");
|
|
20
21
|
var _GridColumnHeaderMenu = require("../menu/columnMenu/GridColumnHeaderMenu");
|
|
@@ -26,6 +27,9 @@ var _constants = require("../../internals/constants");
|
|
|
26
27
|
var _utils = require("../../internals/utils");
|
|
27
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
28
29
|
const useUtilityClasses = ownerState => {
|
|
30
|
+
const {
|
|
31
|
+
disableColumnSorting
|
|
32
|
+
} = (0, _useGridRootProps.useGridRootProps)();
|
|
29
33
|
const {
|
|
30
34
|
colDef,
|
|
31
35
|
classes,
|
|
@@ -38,12 +42,13 @@ const useUtilityClasses = ownerState => {
|
|
|
38
42
|
isLastUnpinned,
|
|
39
43
|
isSiblingFocused
|
|
40
44
|
} = ownerState;
|
|
45
|
+
const isColumnSortable = colDef.sortable && !disableColumnSorting;
|
|
41
46
|
const isColumnSorted = sortDirection != null;
|
|
42
47
|
const isColumnFiltered = filterItemsCounter != null && filterItemsCounter > 0;
|
|
43
48
|
// todo refactor to a prop on col isNumeric or ?? ie: coltype===price wont work
|
|
44
49
|
const isColumnNumeric = colDef.type === 'number';
|
|
45
50
|
const slots = {
|
|
46
|
-
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight',
|
|
51
|
+
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',
|
|
47
52
|
// TODO: Remove classes below and restore `:has` selectors when they are supported in jsdom
|
|
48
53
|
// See https://github.com/mui/mui-x/pull/14559
|
|
49
54
|
isLastUnpinned && 'columnHeader--lastUnpinned', isSiblingFocused && 'columnHeader--siblingFocused'],
|
|
@@ -170,9 +175,17 @@ function GridColumnHeaderItem(props) {
|
|
|
170
175
|
if (hasFocus && !columnMenuState.open) {
|
|
171
176
|
const focusableElement = headerCellRef.current.querySelector('[tabindex="0"]');
|
|
172
177
|
const elementToFocus = focusableElement || headerCellRef.current;
|
|
173
|
-
elementToFocus
|
|
174
|
-
|
|
175
|
-
|
|
178
|
+
if (!elementToFocus) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
if ((0, _doesSupportPreventScroll.doesSupportPreventScroll)()) {
|
|
182
|
+
elementToFocus.focus({
|
|
183
|
+
preventScroll: true
|
|
184
|
+
});
|
|
185
|
+
} else {
|
|
186
|
+
const scrollPosition = apiRef.current.getScrollPosition();
|
|
187
|
+
elementToFocus.focus();
|
|
188
|
+
apiRef.current.scroll(scrollPosition);
|
|
176
189
|
}
|
|
177
190
|
}
|
|
178
191
|
}, [apiRef, hasFocus]);
|
|
@@ -13,7 +13,6 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
14
14
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
15
15
|
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
16
|
-
var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
|
|
17
16
|
var _GridColumnHeaderTitle = require("./GridColumnHeaderTitle");
|
|
18
17
|
var _GridColumnHeaderSeparator = require("./GridColumnHeaderSeparator");
|
|
19
18
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
@@ -26,7 +25,6 @@ const GridGenericColumnHeaderItem = exports.GridGenericColumnHeaderItem = (0, _f
|
|
|
26
25
|
height,
|
|
27
26
|
isResizing,
|
|
28
27
|
sortDirection,
|
|
29
|
-
hasFocus,
|
|
30
28
|
tabIndex,
|
|
31
29
|
separatorSide,
|
|
32
30
|
isDraggable,
|
|
@@ -44,7 +42,6 @@ const GridGenericColumnHeaderItem = exports.GridGenericColumnHeaderItem = (0, _f
|
|
|
44
42
|
style
|
|
45
43
|
} = props,
|
|
46
44
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
47
|
-
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
48
45
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
49
46
|
const headerCellRef = React.useRef(null);
|
|
50
47
|
const handleRef = (0, _useForkRef.default)(headerCellRef, ref);
|
|
@@ -52,17 +49,6 @@ const GridGenericColumnHeaderItem = exports.GridGenericColumnHeaderItem = (0, _f
|
|
|
52
49
|
if (sortDirection != null) {
|
|
53
50
|
ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';
|
|
54
51
|
}
|
|
55
|
-
React.useLayoutEffect(() => {
|
|
56
|
-
const columnMenuState = apiRef.current.state.columnMenu;
|
|
57
|
-
if (hasFocus && !columnMenuState.open) {
|
|
58
|
-
const focusableElement = headerCellRef.current.querySelector('[tabindex="0"]');
|
|
59
|
-
const elementToFocus = focusableElement || headerCellRef.current;
|
|
60
|
-
elementToFocus?.focus();
|
|
61
|
-
if (apiRef.current.columnHeadersContainerRef?.current) {
|
|
62
|
-
apiRef.current.columnHeadersContainerRef.current.scrollLeft = 0;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}, [apiRef, hasFocus]);
|
|
66
52
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
67
53
|
className: (0, _clsx.default)(classes.root, headerClassName),
|
|
68
54
|
style: (0, _extends2.default)({}, style, {
|
|
@@ -185,7 +185,8 @@ function GridColumnsManagement(props) {
|
|
|
185
185
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridColumnsManagementBody, {
|
|
186
186
|
className: classes.root,
|
|
187
187
|
ownerState: rootProps,
|
|
188
|
-
children: [currentColumns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
188
|
+
children: [currentColumns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)(GridColumnsManagementRow, (0, _extends2.default)({
|
|
189
|
+
as: rootProps.slots.baseCheckbox,
|
|
189
190
|
className: classes.row,
|
|
190
191
|
disabled: column.hideable === false || pivotActive,
|
|
191
192
|
checked: columnVisibilityModel[column.field] !== false,
|
|
@@ -315,4 +316,8 @@ const GridColumnsManagementEmptyText = (0, _styles.styled)('div', {
|
|
|
315
316
|
padding: _cssVariables.vars.spacing(1, 0),
|
|
316
317
|
alignSelf: 'center',
|
|
317
318
|
font: _cssVariables.vars.typography.font.body
|
|
318
|
-
});
|
|
319
|
+
});
|
|
320
|
+
const GridColumnsManagementRow = (0, _styles.styled)(_assert.NotRendered, {
|
|
321
|
+
name: 'MuiDataGrid',
|
|
322
|
+
slot: 'ColumnsManagementRow'
|
|
323
|
+
})();
|