@mui/x-virtualizer 0.1.7 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +296 -6
- package/esm/features/dimensions.js +7 -1
- package/esm/features/virtualization.js +2 -2
- package/esm/index.js +1 -1
- package/esm/useVirtualizer.d.ts +2 -0
- package/features/dimensions.js +7 -1
- package/features/virtualization.js +2 -2
- package/index.js +1 -1
- package/package.json +3 -3
- package/useVirtualizer.d.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,296 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.13.0
|
|
9
|
+
|
|
10
|
+
_Oct 1, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 📊 The chart zoom now supports the `tapAndDrag` gesture. Zoom in/out by tapping twice and dragging vertically.
|
|
15
|
+
- 🔎 Charts now allow [fine-grained control for zoom interactions](https://mui.com/x/react-charts/zoom-and-pan/#zoom-interactions-configuration).
|
|
16
|
+
```jsx
|
|
17
|
+
<BarChartPro
|
|
18
|
+
zoomInteractionConfig={{
|
|
19
|
+
// Only zoom when Control key is pressed
|
|
20
|
+
zoom: [{ type: 'wheel', keys: ['Control'] }],
|
|
21
|
+
// Only pan when Shift key is pressed
|
|
22
|
+
pan: [{ type: 'drag', keys: ['Shift'] }],
|
|
23
|
+
}}
|
|
24
|
+
/>
|
|
25
|
+
```
|
|
26
|
+
- ➡️ Data Grid grouping rows now persist their expansion state when the rows are updated.
|
|
27
|
+
- 📜 Updated Data Grid vertical scrollbar to include pinned rows and aggregation sections.
|
|
28
|
+
- 📌 Improved the appearance of [pinned columns](https://mui.com/x/react-data-grid/column-pinning/#pinned-columns-appearance) and [pinned rows](https://mui.com/x/react-data-grid/row-pinning/#pinned-rows-appearance) sections in the Data Grid.
|
|
29
|
+
- 🚀 Tree View now fetches the children of expanded items on mount when using lazy loading.
|
|
30
|
+
- 🐞 Bugfixes
|
|
31
|
+
- 📚 Documentation improvements
|
|
32
|
+
|
|
33
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
34
|
+
@sai6855
|
|
35
|
+
|
|
36
|
+
The following are all team members who have contributed to this release:
|
|
37
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @KenanYusuf, @mapache-salvaje, @MBilalShafi, @mnajdova, @rita-codes, @siriwatknp
|
|
38
|
+
|
|
39
|
+
### Data Grid
|
|
40
|
+
|
|
41
|
+
#### `@mui/x-data-grid@8.13.0`
|
|
42
|
+
|
|
43
|
+
- [DataGrid] Add scroll shadows and fix scrollbar overlap (#16476) @KenanYusuf
|
|
44
|
+
- [DataGrid] Fix row spanning stale state issue (#19733) @MBilalShafi
|
|
45
|
+
- [DataGrid] Fix toolbar `slotProps` not being applied (#19769) @sai6855
|
|
46
|
+
- [DataGrid] Skip calling `fetchRows()` when strategy is not initialized (#19728) @MBilalShafi
|
|
47
|
+
|
|
48
|
+
#### `@mui/x-data-grid-pro@8.13.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
49
|
+
|
|
50
|
+
Same changes as in `@mui/x-data-grid@8.13.0`, plus:
|
|
51
|
+
|
|
52
|
+
- [DataGridPro] Retain expansion state on rows update (#19697) @MBilalShafi
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-data-grid-premium@8.13.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
55
|
+
|
|
56
|
+
Same changes as in `@mui/x-data-grid-pro@8.13.0`, plus:
|
|
57
|
+
|
|
58
|
+
- [DataGridPremium] Add `metadata.referenceId` to AI assistant prompt resolver (#19695) @hasdfa
|
|
59
|
+
- [DataGridPremium] Fix aggregation value retrieval (#19724) @arminmeh
|
|
60
|
+
- [DataGridPremium] Get correct active chart id while rebuilding data (#19720) @arminmeh
|
|
61
|
+
|
|
62
|
+
### Date and Time Pickers
|
|
63
|
+
|
|
64
|
+
#### `@mui/x-date-pickers@8.12.0`
|
|
65
|
+
|
|
66
|
+
Internal changes.
|
|
67
|
+
|
|
68
|
+
#### `@mui/x-date-pickers-pro@8.12.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
69
|
+
|
|
70
|
+
Same changes as in `@mui/x-date-pickers@8.12.0`.
|
|
71
|
+
|
|
72
|
+
### Charts
|
|
73
|
+
|
|
74
|
+
#### `@mui/x-charts@8.13.0`
|
|
75
|
+
|
|
76
|
+
- [charts] Add `tapAndDrag` zoom gesture (#19727) @JCQuintas
|
|
77
|
+
- [charts] Add arc focus indicator that follows the arc form (#19696) @mnajdova
|
|
78
|
+
- [charts] Fix outline color (#19752) @alexfauquette
|
|
79
|
+
- [charts] Improve tooltip doc (#19731) @JCQuintas
|
|
80
|
+
- [charts] Make axis highlight reflect the keyboard interaction (#19631) @alexfauquette
|
|
81
|
+
- [charts] Prevent horizontal scroll on keyboard navigation (#19704) @alexfauquette
|
|
82
|
+
- [charts] Simplify gestures by removing bindings (#19767) @JCQuintas
|
|
83
|
+
|
|
84
|
+
#### `@mui/x-charts-pro@8.13.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
85
|
+
|
|
86
|
+
Same changes as in `@mui/x-charts@8.13.0`, plus:
|
|
87
|
+
|
|
88
|
+
- [charts-pro] Allow zoom interactions to be configured (#18646) @JCQuintas
|
|
89
|
+
- [charts-pro] Fix zoom preview having wrong domain in some cases (#19723) @bernardobelchior
|
|
90
|
+
|
|
91
|
+
#### `@mui/x-charts-premium@8.13.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
92
|
+
|
|
93
|
+
Same changes as in `@mui/x-charts-pro@8.13.0`.
|
|
94
|
+
|
|
95
|
+
### Tree View
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-tree-view@8.13.0`
|
|
98
|
+
|
|
99
|
+
- [tree view] Export the `apiRef` type of each Tree View component (#19543) @flaviendelangle
|
|
100
|
+
- [tree view] Fix indeterminate checkbox state (#19544) @flaviendelangle
|
|
101
|
+
- [tree view] Improve the lazy loading initial expansion (#19284) @flaviendelangle
|
|
102
|
+
- [tree view] Use Base UI utils whenever possible (#19502) @flaviendelangle
|
|
103
|
+
|
|
104
|
+
#### `@mui/x-tree-view-pro@8.13.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
105
|
+
|
|
106
|
+
Same changes as in `@mui/x-tree-view@8.13.0`.
|
|
107
|
+
|
|
108
|
+
### Codemod
|
|
109
|
+
|
|
110
|
+
#### `@mui/x-codemod@8.12.0`
|
|
111
|
+
|
|
112
|
+
Internal changes.
|
|
113
|
+
|
|
114
|
+
### Docs
|
|
115
|
+
|
|
116
|
+
- [docs] Add a recipe to customize editing component with Autocomplete (#19651) @siriwatknp
|
|
117
|
+
- [docs] Refine the electricity scatter tooltip (#19689) @alexfauquette
|
|
118
|
+
- [docs] Revise the Axis doc (#19052) @mapache-salvaje
|
|
119
|
+
- [docs] Remove reference to nonexistent `FocusedMark` API page (#19773) @bernardobelchior
|
|
120
|
+
|
|
121
|
+
### Core
|
|
122
|
+
|
|
123
|
+
- [code-infra] Change charts codspeed integration to use walltime (#19729) @JCQuintas
|
|
124
|
+
- [code-infra] Port stylelint from core repo (#19633) @Janpot
|
|
125
|
+
- [code-infra] Stabilize fake timers in regression tests (#19719) @Janpot
|
|
126
|
+
- [code-infra] Stabilize size for bundles with `releaseInfo` (#19674) @Janpot
|
|
127
|
+
- [code-infra] Fix `pnpm-lock.yaml` broken lockfile (#19755) @bernardobelchior
|
|
128
|
+
|
|
129
|
+
## 8.12.1
|
|
130
|
+
|
|
131
|
+
_Sep 25, 2025_
|
|
132
|
+
|
|
133
|
+
Release highlight ✨:
|
|
134
|
+
|
|
135
|
+
- 🐞 Hotfix for Grid-Charts integration issue with aggregated values
|
|
136
|
+
|
|
137
|
+
### Data Grid
|
|
138
|
+
|
|
139
|
+
#### `@mui/x-data-grid@8.12.1`
|
|
140
|
+
|
|
141
|
+
Internal changes.
|
|
142
|
+
|
|
143
|
+
#### `@mui/x-data-grid-pro@8.12.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
144
|
+
|
|
145
|
+
Same changes as in `@mui/x-data-grid@8.12.1`.
|
|
146
|
+
|
|
147
|
+
#### `@mui/x-data-grid-premium@8.12.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
148
|
+
|
|
149
|
+
Same changes as in `@mui/x-data-grid-pro@8.12.1`, plus:
|
|
150
|
+
|
|
151
|
+
- [DataGridPremium] Collect aggregated values properly for the charts integration context (#19714) @arminmeh
|
|
152
|
+
|
|
153
|
+
## 8.12.0
|
|
154
|
+
|
|
155
|
+
_Sep 25, 2025_
|
|
156
|
+
|
|
157
|
+
We'd like to extend a big thank you to the 15 contributors who made this release possible. Here are some highlights ✨:
|
|
158
|
+
|
|
159
|
+
- 🤝 Grid-Charts integration
|
|
160
|
+
|
|
161
|
+

|
|
162
|
+
|
|
163
|
+
👉 [🎥 Watch the full video](https://github.com/user-attachments/assets/28f1848e-dc85-4077-8756-a3e88afd4e54)
|
|
164
|
+
|
|
165
|
+
- ⌨️ Charts keyboard navigation
|
|
166
|
+
- ⚡️ Charts: Add new `renderer="svg-batch"` prop to Scatter charts that provides improved performance for large datasets
|
|
167
|
+
- 🐞 Bugfixes
|
|
168
|
+
- 📚 Documentation improvements
|
|
169
|
+
- 🧰 Codemod requires Node >=20.19
|
|
170
|
+
|
|
171
|
+
`@mui/x-codemod` minimum supported Node version is `20.19`.
|
|
172
|
+
This was only the case due to using the v18 `yargs` package; this now explicitly aligns with it. (#18979)
|
|
173
|
+
|
|
174
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
175
|
+
@deade1e, @sai6855, @thomas-mcdonald
|
|
176
|
+
|
|
177
|
+
The following are all team members who have contributed to this release:
|
|
178
|
+
@alexfauquette, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @michelengelen, @prakhargupta1, @rita-codes, @siriwatknp, @arminmeh, @romgrk
|
|
179
|
+
|
|
180
|
+
### Data Grid
|
|
181
|
+
|
|
182
|
+
#### `@mui/x-data-grid@8.12.0`
|
|
183
|
+
|
|
184
|
+
- [DataGrid] Fix flex column width diff calculation while resizing (#19667) @arminmeh
|
|
185
|
+
|
|
186
|
+
#### `@mui/x-data-grid-pro@8.12.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
187
|
+
|
|
188
|
+
Same changes as in `@mui/x-data-grid@8.12.0`.
|
|
189
|
+
|
|
190
|
+
#### `@mui/x-data-grid-premium@8.12.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
191
|
+
|
|
192
|
+
Same changes as in `@mui/x-data-grid-pro@8.12.0`, plus:
|
|
193
|
+
|
|
194
|
+
- [DataGridPremium] Grid-Charts integration (#18021) @arminmeh
|
|
195
|
+
- [DataGridPremium] Fix sorting and filtering of the tree group columns with aggregation (#19607) @arminmeh
|
|
196
|
+
- [DataGridPremium] Disable aggregation on the grouping column by default (#19692) @arminmeh
|
|
197
|
+
- [DataGridPremium] Do not rely on the group separation constant to retrieve the column name for the charts panel (#19677) @arminmeh
|
|
198
|
+
- [DataGridPremium] Fix stale aggregation state (#19690) @arminmeh
|
|
199
|
+
- [DataGridPremium] Fix pivot column being hidden on autosizing (#19699) @cherniavskii
|
|
200
|
+
|
|
201
|
+
### Date and Time Pickers
|
|
202
|
+
|
|
203
|
+
#### `@mui/x-date-pickers@8.12.0`
|
|
204
|
+
|
|
205
|
+
- [pickers] Ensure reference value is not updated for invalid values (#19635) @michelengelen
|
|
206
|
+
- [pickers] Fix `slotProps.textField.slotProps.htmlInput` resolution (#19713) @LukasTy
|
|
207
|
+
- [pickers] Preserve time format when using single column layout on Time Range Picker (#19626) @sai6855
|
|
208
|
+
- [pickers] Preserve time format when using single column layout on Date Time Picker and Date Time Range Picker (#19608) @sai6855
|
|
209
|
+
|
|
210
|
+
#### `@mui/x-date-pickers-pro@8.12.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
211
|
+
|
|
212
|
+
Same changes as in `@mui/x-date-pickers@8.12.0`.
|
|
213
|
+
|
|
214
|
+
### Charts
|
|
215
|
+
|
|
216
|
+
#### `@mui/x-charts@8.12.0`
|
|
217
|
+
|
|
218
|
+
- [charts] Add batch renderer for scatter chart (#19075) @bernardobelchior
|
|
219
|
+
- [charts] Add renderer suffix to performance benchmarks (#19620) @bernardobelchior
|
|
220
|
+
- [charts] Document how plugins can be used (#19343) @alexfauquette
|
|
221
|
+
- [charts] Export chart plugins per series type (#19337) @alexfauquette
|
|
222
|
+
- [charts] Export plugins (#19335) @alexfauquette
|
|
223
|
+
- [charts] Fix horizontal layout and toolbar (#19655) @alexfauquette
|
|
224
|
+
- [charts] Fix performance issue with JS animations (#19606) @bernardobelchior
|
|
225
|
+
- [charts] Fix piecewise scale causing wrong colors in axis with min/max (#19610) @bernardobelchior
|
|
226
|
+
- [charts] Fix zoom discard inconsistency (#19535) @bernardobelchior
|
|
227
|
+
- [charts] Introduce keyboard navigation (#19155) @alexfauquette
|
|
228
|
+
- [charts] Refactor `getAxisExtremum` (#19627) @bernardobelchior
|
|
229
|
+
- [charts] Remove unused code path from `getAxisScale` (#19673) @bernardobelchior
|
|
230
|
+
- [charts] Make new hideLegend prop on ChartWrapper optional (#19694) @thomas-mcdonald
|
|
231
|
+
- [charts] Fix chart crash in test environment (#19711) @JCQuintas
|
|
232
|
+
|
|
233
|
+
#### `@mui/x-charts-pro@8.12.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
234
|
+
|
|
235
|
+
Same changes as in `@mui/x-charts@8.12.0`, plus:
|
|
236
|
+
|
|
237
|
+
- [charts-pro] Add `valueFormatter` to sankey (#19636) @JCQuintas
|
|
238
|
+
- [charts-pro] Allow `source/target` keywords in sankey link color (#19634) @JCQuintas
|
|
239
|
+
- [charts-pro] Allow exporting `SankeyChart` (#19659) @JCQuintas
|
|
240
|
+
- [charts-pro] Fix axis inversion when using axis `max` and `filterMode: 'discard'` (#19200) @bernardobelchior
|
|
241
|
+
|
|
242
|
+
#### `@mui/x-charts-premium@8.12.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
243
|
+
|
|
244
|
+
Same changes as in `@mui/x-charts-pro@8.12.0`, plus:
|
|
245
|
+
|
|
246
|
+
- [charts-premium] Grid-Charts integration (#18021) @arminmeh
|
|
247
|
+
|
|
248
|
+
### Tree View
|
|
249
|
+
|
|
250
|
+
#### `@mui/x-tree-view@8.12.0`
|
|
251
|
+
|
|
252
|
+
- [tree view] Allow to pass `null` to the icon slots (#19569) @flaviendelangle
|
|
253
|
+
- [tree view] Fix `apiRef.current.isItemExpanded()` method (#19619) @flaviendelangle
|
|
254
|
+
|
|
255
|
+
#### `@mui/x-tree-view-pro@8.12.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
256
|
+
|
|
257
|
+
Same changes as in `@mui/x-tree-view@8.12.0`.
|
|
258
|
+
|
|
259
|
+
### Codemod
|
|
260
|
+
|
|
261
|
+
#### `@mui/x-codemod@8.12.0`
|
|
262
|
+
|
|
263
|
+
- [codemod] Bump `engines.node` to `>=20.19` to align with `yargs` package (#18979) @LukasTy
|
|
264
|
+
|
|
265
|
+
### Docs
|
|
266
|
+
|
|
267
|
+
- [docs] Add missing label to Charts example (#19616) @prakhargupta1
|
|
268
|
+
- [docs] Replace axis type and axis data with a table (#19618) @prakhargupta1
|
|
269
|
+
- [docs] Add Charts example collection page (#18353) @prakhargupta1
|
|
270
|
+
- [docs] Add a Charts demo showcasing bar and scatter composition (#19605) @prakhargupta1
|
|
271
|
+
- [docs] Add composition Charts demo for legends and tooltip (#19602) @prakhargupta1
|
|
272
|
+
- [docs] Add recipe about server-side data export (#19617) @siriwatknp
|
|
273
|
+
- [docs] Clarify DataGrid layout requirements (#19413) @romgrk
|
|
274
|
+
- [docs] Fix `ExportServerSideData` demo layout shift (#19669) @siriwatknp
|
|
275
|
+
- [docs] Improve server-side `updateRow()` description (#19554) @deade1e
|
|
276
|
+
- [docs] Show how to customize drawing area background (#19682) @alexfauquette
|
|
277
|
+
- [docs] Add hook documentation pages (#19334) @Copilot
|
|
278
|
+
|
|
279
|
+
### Core
|
|
280
|
+
|
|
281
|
+
- [code-infra] Add copilot instructions specific to x repo (#19623) @JCQuintas
|
|
282
|
+
- [code-infra] Load `tsx` files in visual regression (#19595) @JCQuintas
|
|
283
|
+
- [code-infra] Remove renovate automerge (#19501) @Janpot
|
|
284
|
+
- [code-infra] Update `DEFAULT_TIMESTAMP` format to ISO 8601 (#19624) @Janpot
|
|
285
|
+
- [code-infra] Update `findLatestTaggedVersion` to filter tags based on major version (#19693) @michelengelen
|
|
286
|
+
- [code-infra] Fix changelog generation for charts premium (#19701) @JCQuintas
|
|
287
|
+
- [code-infra] Run prettier on `createReleasePR.mjs` (#19702) @bernardobelchior
|
|
288
|
+
- [code-infra] Make `x-charts-premium` releasable (#18959) @JCQuintas
|
|
289
|
+
- [docs-infra] Ensure `create-playground` script only runs if target file is absent (#19603) @michelengelen
|
|
290
|
+
- [docs-infra] Add @prakhargupta1 as a codeowner of the docs (#19679) @alexfauquette
|
|
291
|
+
|
|
292
|
+
### Miscellaneous
|
|
293
|
+
|
|
294
|
+
- [test] Reduce time for wheel zoom test (#19571) @alexfauquette
|
|
295
|
+
- Change `matchPackageNames` to `matchDepNames` for date-fns-v2 @Janpot
|
|
296
|
+
- Remove groupName for date-fns-v2 in renovate.json @Janpot
|
|
297
|
+
|
|
8
298
|
## 8.11.3
|
|
9
299
|
|
|
10
300
|
_Sep 16, 2025_
|
|
@@ -27,11 +317,11 @@ The following are all team members who have contributed to this release:
|
|
|
27
317
|
- [DataGrid] Fix numeric font size not being applied (#19552) @cherniavskii
|
|
28
318
|
- [DataGrid] Improve `operator` types to display literal values (#19529) @siriwatknp
|
|
29
319
|
|
|
30
|
-
#### `@mui/x-data-grid-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link
|
|
320
|
+
#### `@mui/x-data-grid-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
31
321
|
|
|
32
322
|
Same changes as in `@mui/x-data-grid@8.11.3`.
|
|
33
323
|
|
|
34
|
-
#### `@mui/x-data-grid-premium@8.11.3` [](https://mui.com/r/x-premium-svg-link
|
|
324
|
+
#### `@mui/x-data-grid-premium@8.11.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
35
325
|
|
|
36
326
|
Same changes as in `@mui/x-data-grid-pro@8.11.3`.
|
|
37
327
|
|
|
@@ -41,7 +331,7 @@ Same changes as in `@mui/x-data-grid-pro@8.11.3`.
|
|
|
41
331
|
|
|
42
332
|
- [pickers] Refactor `slots` and `slotProps` propagation strategy (#18867) @LukasTy
|
|
43
333
|
|
|
44
|
-
#### `@mui/x-date-pickers-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link
|
|
334
|
+
#### `@mui/x-date-pickers-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
45
335
|
|
|
46
336
|
Same changes as in `@mui/x-date-pickers@8.11.3`.
|
|
47
337
|
|
|
@@ -55,7 +345,7 @@ Same changes as in `@mui/x-date-pickers@8.11.3`.
|
|
|
55
345
|
- [charts] Rename `isBandScale` to `isDiscreteScale` (#19514) @bernardobelchior
|
|
56
346
|
- [charts] Fix legend position affecting toolbar's position (#19257) @sai6855
|
|
57
347
|
|
|
58
|
-
#### `@mui/x-charts-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link
|
|
348
|
+
#### `@mui/x-charts-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
59
349
|
|
|
60
350
|
Same changes as in `@mui/x-charts@8.11.3`, plus:
|
|
61
351
|
|
|
@@ -69,7 +359,7 @@ Same changes as in `@mui/x-charts@8.11.3`, plus:
|
|
|
69
359
|
- [tree view] Support flat DOM structure (#19350) @flaviendelangle
|
|
70
360
|
- [tree view] Update cursor styles for disabled TreeItem (#19548) @sai6855
|
|
71
361
|
|
|
72
|
-
#### `@mui/x-tree-view-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link
|
|
362
|
+
#### `@mui/x-tree-view-pro@8.11.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
73
363
|
|
|
74
364
|
Same changes as in `@mui/x-tree-view@8.11.3`.
|
|
75
365
|
|
|
@@ -83,7 +373,7 @@ Internal changes.
|
|
|
83
373
|
|
|
84
374
|
- [docs] Add styling row group recipe (#19349) @siriwatknp
|
|
85
375
|
- [docs] Group demos data into the dataset folder (#19549) @alexfauquette
|
|
86
|
-
- [docs] Add `shiny` bar chart example at the top
|
|
376
|
+
- [docs] Add `shiny` bar chart example at the top (#19416) @JCQuintas
|
|
87
377
|
|
|
88
378
|
### Core
|
|
89
379
|
|
|
@@ -155,6 +155,12 @@ function useDimensions(store, params, _api) {
|
|
|
155
155
|
viewportInnerSize.height -= scrollbarSize;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
+
if (params.disableHorizontalScroll) {
|
|
159
|
+
hasScrollX = false;
|
|
160
|
+
}
|
|
161
|
+
if (params.disableVerticalScroll) {
|
|
162
|
+
hasScrollY = false;
|
|
163
|
+
}
|
|
158
164
|
const rowWidth = Math.max(viewportOuterSize.width, columnsTotalWidth + (hasScrollY ? scrollbarSize : 0));
|
|
159
165
|
const minimumSize = {
|
|
160
166
|
width: columnsTotalWidth,
|
|
@@ -186,7 +192,7 @@ function useDimensions(store, params, _api) {
|
|
|
186
192
|
dimensions: newDimensions
|
|
187
193
|
});
|
|
188
194
|
onResize?.(newDimensions.root);
|
|
189
|
-
}, [store, containerNode, params.dimensions.scrollbarSize, params.autoHeight, onResize, rowHeight, columnsTotalWidth, leftPinnedWidth, rightPinnedWidth, topPinnedHeight, bottomPinnedHeight]);
|
|
195
|
+
}, [store, containerNode, params.dimensions.scrollbarSize, params.autoHeight, params.disableHorizontalScroll, params.disableVerticalScroll, onResize, rowHeight, columnsTotalWidth, leftPinnedWidth, rightPinnedWidth, topPinnedHeight, bottomPinnedHeight]);
|
|
190
196
|
const {
|
|
191
197
|
resizeThrottleMs
|
|
192
198
|
} = params;
|
|
@@ -142,8 +142,8 @@ function useVirtualization(store, params, api) {
|
|
|
142
142
|
return undefined;
|
|
143
143
|
}
|
|
144
144
|
const dimensions = Dimensions.selectors.dimensions(store.state);
|
|
145
|
-
const maxScrollTop = Math.ceil(dimensions.
|
|
146
|
-
const maxScrollLeft = Math.ceil(dimensions.
|
|
145
|
+
const maxScrollTop = Math.ceil(dimensions.contentSize.height - dimensions.viewportInnerSize.height);
|
|
146
|
+
const maxScrollLeft = Math.ceil(dimensions.contentSize.width - dimensions.viewportInnerSize.width);
|
|
147
147
|
|
|
148
148
|
// Clamp the scroll position to the viewport to avoid re-calculating the render context for scroll bounce
|
|
149
149
|
const newScroll = {
|
package/esm/index.js
CHANGED
package/esm/useVirtualizer.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export type VirtualizerParams = {
|
|
|
43
43
|
pinnedRows?: PinnedRows;
|
|
44
44
|
pinnedColumns?: PinnedColumns;
|
|
45
45
|
autoHeight: boolean;
|
|
46
|
+
disableHorizontalScroll?: boolean;
|
|
47
|
+
disableVerticalScroll?: boolean;
|
|
46
48
|
minimalContentHeight?: number | string;
|
|
47
49
|
getRowHeight?: (row: RowEntry) => number | null | undefined | 'auto';
|
|
48
50
|
/**
|
package/features/dimensions.js
CHANGED
|
@@ -161,6 +161,12 @@ function useDimensions(store, params, _api) {
|
|
|
161
161
|
viewportInnerSize.height -= scrollbarSize;
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
+
if (params.disableHorizontalScroll) {
|
|
165
|
+
hasScrollX = false;
|
|
166
|
+
}
|
|
167
|
+
if (params.disableVerticalScroll) {
|
|
168
|
+
hasScrollY = false;
|
|
169
|
+
}
|
|
164
170
|
const rowWidth = Math.max(viewportOuterSize.width, columnsTotalWidth + (hasScrollY ? scrollbarSize : 0));
|
|
165
171
|
const minimumSize = {
|
|
166
172
|
width: columnsTotalWidth,
|
|
@@ -192,7 +198,7 @@ function useDimensions(store, params, _api) {
|
|
|
192
198
|
dimensions: newDimensions
|
|
193
199
|
});
|
|
194
200
|
onResize?.(newDimensions.root);
|
|
195
|
-
}, [store, containerNode, params.dimensions.scrollbarSize, params.autoHeight, onResize, rowHeight, columnsTotalWidth, leftPinnedWidth, rightPinnedWidth, topPinnedHeight, bottomPinnedHeight]);
|
|
201
|
+
}, [store, containerNode, params.dimensions.scrollbarSize, params.autoHeight, params.disableHorizontalScroll, params.disableVerticalScroll, onResize, rowHeight, columnsTotalWidth, leftPinnedWidth, rightPinnedWidth, topPinnedHeight, bottomPinnedHeight]);
|
|
196
202
|
const {
|
|
197
203
|
resizeThrottleMs
|
|
198
204
|
} = params;
|
|
@@ -151,8 +151,8 @@ function useVirtualization(store, params, api) {
|
|
|
151
151
|
return undefined;
|
|
152
152
|
}
|
|
153
153
|
const dimensions = _dimensions.Dimensions.selectors.dimensions(store.state);
|
|
154
|
-
const maxScrollTop = Math.ceil(dimensions.
|
|
155
|
-
const maxScrollLeft = Math.ceil(dimensions.
|
|
154
|
+
const maxScrollTop = Math.ceil(dimensions.contentSize.height - dimensions.viewportInnerSize.height);
|
|
155
|
+
const maxScrollLeft = Math.ceil(dimensions.contentSize.width - dimensions.viewportInnerSize.width);
|
|
156
156
|
|
|
157
157
|
// Clamp the scroll position to the viewport to avoid re-calculating the render context for scroll bounce
|
|
158
158
|
const newScroll = {
|
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-virtualizer",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "MUI virtualization library",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"directory": "packages/x-virtualizer"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@babel/runtime": "^7.28.
|
|
30
|
+
"@babel/runtime": "^7.28.4",
|
|
31
31
|
"@mui/utils": "^7.3.2",
|
|
32
|
-
"@mui/x-internals": "8.
|
|
32
|
+
"@mui/x-internals": "8.12.0"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
package/useVirtualizer.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export type VirtualizerParams = {
|
|
|
43
43
|
pinnedRows?: PinnedRows;
|
|
44
44
|
pinnedColumns?: PinnedColumns;
|
|
45
45
|
autoHeight: boolean;
|
|
46
|
+
disableHorizontalScroll?: boolean;
|
|
47
|
+
disableVerticalScroll?: boolean;
|
|
46
48
|
minimalContentHeight?: number | string;
|
|
47
49
|
getRowHeight?: (row: RowEntry) => number | null | undefined | 'auto';
|
|
48
50
|
/**
|