@mui/x-tree-view 6.0.0-alpha.4 → 6.17.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 +379 -0
- package/TreeView/TreeView.d.ts +1 -1
- package/index.js +1 -1
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +14 -2
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +3 -1
- package/legacy/index.js +1 -1
- package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +14 -2
- package/modern/index.js +1 -1
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +14 -2
- package/node/TreeItem/TreeItem.js +3 -4
- package/node/TreeItem/TreeItemContent.js +3 -4
- package/node/TreeItem/treeItemClasses.js +1 -2
- package/node/TreeView/TreeView.js +3 -4
- package/node/TreeView/treeViewClasses.js +1 -2
- package/node/index.js +1 -1
- package/node/internals/TreeViewProvider/DescendantProvider.js +2 -2
- package/node/internals/TreeViewProvider/TreeViewContext.js +4 -6
- package/node/internals/TreeViewProvider/TreeViewProvider.js +2 -2
- package/node/internals/TreeViewProvider/useTreeViewContext.js +2 -2
- package/node/internals/corePlugins/corePlugins.js +1 -2
- package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +2 -2
- package/node/internals/hooks/useInstanceEventHandler.js +3 -4
- package/node/internals/plugins/defaultPlugins.js +2 -3
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +2 -2
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +16 -4
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +2 -2
- package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +2 -2
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +2 -2
- package/node/internals/useTreeView/useTreeView.js +2 -2
- package/node/internals/useTreeView/useTreeViewModels.js +2 -2
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,385 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 6.17.0
|
|
7
|
+
|
|
8
|
+
_Oct 27, 2023_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🎁 The Tree View package is now officially stable!
|
|
13
|
+
|
|
14
|
+

|
|
15
|
+
|
|
16
|
+
- ✨ Improve the handling of non-numeric values by Data Grid aggregation
|
|
17
|
+
- 🚀 Support lines with different domains on the line charts
|
|
18
|
+
- 🐞 Bugfixes
|
|
19
|
+
- 📚 Documentation improvements
|
|
20
|
+
|
|
21
|
+
### Data Grid
|
|
22
|
+
|
|
23
|
+
#### `@mui/x-data-grid@6.17.0`
|
|
24
|
+
|
|
25
|
+
- [DataGrid] Allow custom debounce time for row positions calculation (#10708) @cherniavskii
|
|
26
|
+
- [DataGrid] Persist stable row index for focused row (#10674) @cherniavskii
|
|
27
|
+
|
|
28
|
+
#### `@mui/x-data-grid-pro@6.17.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
29
|
+
|
|
30
|
+
Same changes as in `@mui/x-data-grid@6.17.0`, plus:
|
|
31
|
+
|
|
32
|
+
- [DataGridPro] Fix `undefined` values passed to `valueFormatter` for tree leaf nodes (#10748) @cherniavskii
|
|
33
|
+
|
|
34
|
+
#### `@mui/x-data-grid-premium@6.17.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
35
|
+
|
|
36
|
+
Same changes as in `@mui/x-data-grid-pro@6.17.0`, plus:
|
|
37
|
+
|
|
38
|
+
- [DataGridPremium] Fix `avg` aggregation to ignore non-numeric values (#10787) @cherniavskii
|
|
39
|
+
- [DataGridPremium] Fix `size` aggregation to ignore `undefined` values (#10745) @cherniavskii
|
|
40
|
+
- [DataGridPremium] Fix `sum` aggregation to ignore non-numeric values (#10730) @cherniavskii
|
|
41
|
+
- [DataGridPremium] Fix cell selection throwing index error on second page and beyond (#10784) @MBilalShafi
|
|
42
|
+
|
|
43
|
+
### Date Pickers
|
|
44
|
+
|
|
45
|
+
#### `@mui/x-date-pickers@6.17.0`
|
|
46
|
+
|
|
47
|
+
- [fields] POC: Use `contentEditable` on `FakeTextField` (#10779) @flaviendelangle
|
|
48
|
+
- [pickers] Fix weekday label localization (#10809) @LukasTy
|
|
49
|
+
|
|
50
|
+
#### `@mui/x-date-pickers-pro@6.17.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
51
|
+
|
|
52
|
+
Same changes as in `@mui/x-date-pickers@6.17.0`.
|
|
53
|
+
|
|
54
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.17`
|
|
55
|
+
|
|
56
|
+
- [charts] Fix text position in Safari (#10815) @lhilgert9
|
|
57
|
+
- [charts] Support lines with different domains (#10801) @alexfauquette
|
|
58
|
+
|
|
59
|
+
### Tree View / `@mui/x-tree-view@6.17.0`
|
|
60
|
+
|
|
61
|
+
No change
|
|
62
|
+
|
|
63
|
+
### Docs
|
|
64
|
+
|
|
65
|
+
- [docs] Correct editing related props' description (#10798) @MBilalShafi
|
|
66
|
+
- [docs] Fix RTL data grid demo (#10728) @oliviertassinari
|
|
67
|
+
- [docs] Fix unclosed warning (#10796) @flaviendelangle
|
|
68
|
+
- [docs] Improve performance of `Save and restore the state from external storage` recipe (#10811) @michelengelen
|
|
69
|
+
|
|
70
|
+
- [test] Add missing type on `cleanText` utility function (#10780) @flaviendelangle
|
|
71
|
+
|
|
72
|
+
## 6.16.3
|
|
73
|
+
|
|
74
|
+
_Oct 20, 2023_
|
|
75
|
+
|
|
76
|
+
We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
|
|
77
|
+
|
|
78
|
+
- 🎁 Add a Data Grid recipe for saving & restoring state
|
|
79
|
+
- 💫 Support animations on the bar chart
|
|
80
|
+
- 🐞 Bugfixes
|
|
81
|
+
- 📚 Documentation improvements
|
|
82
|
+
|
|
83
|
+
### Data Grid
|
|
84
|
+
|
|
85
|
+
#### `@mui/x-data-grid@6.16.3`
|
|
86
|
+
|
|
87
|
+
- [DataGrid] Allow passing readonly arrays to `columns` and `sortingOrder` props (#10686) @pcorpet
|
|
88
|
+
|
|
89
|
+
#### `@mui/x-data-grid-pro@6.16.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
90
|
+
|
|
91
|
+
Same changes as in `@mui/x-data-grid@6.16.3`.
|
|
92
|
+
|
|
93
|
+
#### `@mui/x-data-grid-premium@6.16.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
94
|
+
|
|
95
|
+
Same changes as in `@mui/x-data-grid-pro@6.16.3`.
|
|
96
|
+
|
|
97
|
+
### Date Pickers
|
|
98
|
+
|
|
99
|
+
#### `@mui/x-date-pickers@6.16.3`
|
|
100
|
+
|
|
101
|
+
- [fields] Correctly respect leading zeroes on seconds section (#10713) @flaviendelangle
|
|
102
|
+
- [fields] Use `onChange` instead of `onKeyPress` for Backspace editing (#10494) @flaviendelangle
|
|
103
|
+
- [pickers] Add reference links to DatePicker components (#10626) @michelengelen
|
|
104
|
+
- [pickers] Add reference links to clock components (#10645) @michelengelen
|
|
105
|
+
- [pickers] Add reference links to misc picker components (#10647) @michelengelen
|
|
106
|
+
- [pickers] Add reference links to toolbar components (#10646) @michelengelen
|
|
107
|
+
- [pickers] POC: Change the props received by the `FakeTextField` component (#10687) @flaviendelangle
|
|
108
|
+
|
|
109
|
+
#### `@mui/x-date-pickers-pro@6.16.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
110
|
+
|
|
111
|
+
Same changes as in `@mui/x-date-pickers@6.16.3`, plus:
|
|
112
|
+
|
|
113
|
+
- [DateRangePicker] Fix touch based range dragging (#10664) @michelengelen
|
|
114
|
+
|
|
115
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.16`
|
|
116
|
+
|
|
117
|
+
- [charts] Add reference links to area + bar chart components (#10652) @michelengelen
|
|
118
|
+
- [charts] Add reference links to line chart + sparkline components (#10650) @michelengelen
|
|
119
|
+
- [charts] Add reference links to pie + scatter chart components (#10653) @michelengelen
|
|
120
|
+
- [charts] Render only when `width` and `height` are resolved (#10714) @alexfauquette
|
|
121
|
+
- [charts] Support animation on `BarChart` (#9926) @alexfauquette
|
|
122
|
+
- [charts] Use new text component to avoid tick label overflow on x-axis (#10648) @alexfauquette
|
|
123
|
+
|
|
124
|
+
### Docs
|
|
125
|
+
|
|
126
|
+
- [docs] Add a recipe for saving and restoring `state` externally (#10722) @michelengelen
|
|
127
|
+
- [docs] Add example about how to add an axis (#10709) @alexfauquette
|
|
128
|
+
- [docs] Customization Playground - fix DesktopDatePicker sx props and styled examples (#10665) @noraleonte
|
|
129
|
+
- [docs] Improve meta description @oliviertassinari
|
|
130
|
+
- [docs] Make overview demo work in codesandbox (#10661) @alexfauquette
|
|
131
|
+
|
|
132
|
+
### Core
|
|
133
|
+
|
|
134
|
+
- [core] Update React renovate group with `@types` (#10723) @LukasTy
|
|
135
|
+
- [core] Update `styled-components` (#10733) @LukasTy
|
|
136
|
+
|
|
137
|
+
## 6.16.2
|
|
138
|
+
|
|
139
|
+
_Oct 12, 2023_
|
|
140
|
+
|
|
141
|
+
We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
142
|
+
|
|
143
|
+
- 📊 Chart's legend text management has been reworked and contains breaking changes (#10138) @alexfauquette
|
|
144
|
+
- 📝 Add [Bulk editing](https://mui.com/x/react-data-grid/recipes-editing/#bulk-editing) demo (#10333) @cherniavskii
|
|
145
|
+
- 🚀 Column grouping now works smoothly with column pinning (#10518) @MBilalShafi
|
|
146
|
+
- 🌍 Improve Arabic (ar-SD) and Spanish (es-ES) locales
|
|
147
|
+
- 🐞 Bugfixes
|
|
148
|
+
- 📚 Documentation improvements
|
|
149
|
+
|
|
150
|
+
### Data Grid
|
|
151
|
+
|
|
152
|
+
#### `@mui/x-data-grid@6.16.2`
|
|
153
|
+
|
|
154
|
+
- [DataGrid] Fix `LazyLoading` demo crash (#10621) @MBilalShafi
|
|
155
|
+
- [DataGrid] Fix cells overlapping the scrollbar in iOS Safari (#10633) @cherniavskii
|
|
156
|
+
- [DataGrid] Fix `getRowId is not defined` error (#10613) @romgrk
|
|
157
|
+
- [DataGrid] Get quick filter to work OOTB with `date` and `dateTime` fields (#10636) @MBilalShafi
|
|
158
|
+
- [DataGrid] Make cursor for selectable cells to be `default` unless editable (#9997) @gitstart
|
|
159
|
+
- [DataGrid] Remove unnecessary syntax in JSDoc (#10567) @Lev-Shapiro
|
|
160
|
+
- [DataGrid] Update row hover behavior to match native hover (#10623) @cherniavskii
|
|
161
|
+
- [l10n] Improve Arabic (ar-SD) locale (#10625) @alabenyahia
|
|
162
|
+
|
|
163
|
+
#### `@mui/x-data-grid-pro@6.16.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
164
|
+
|
|
165
|
+
Same changes as in `@mui/x-data-grid@6.16.2`, plus:
|
|
166
|
+
|
|
167
|
+
- [DataGridPro] Improve column grouping and column pinning friendship (#10518) @MBilalShafi
|
|
168
|
+
|
|
169
|
+
#### `@mui/x-data-grid-premium@6.16.2` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
170
|
+
|
|
171
|
+
Same changes as in `@mui/x-data-grid-pro@6.16.2`.
|
|
172
|
+
|
|
173
|
+
### Date Pickers
|
|
174
|
+
|
|
175
|
+
#### `@mui/x-date-pickers@6.16.2`
|
|
176
|
+
|
|
177
|
+
- [DateTimePicker] Add support for `DigitalClock` view renderer (#10624) @LukasTy
|
|
178
|
+
- [fields] Bootstrap the multi-HTML input component (#10638) @flaviendelangle
|
|
179
|
+
- [pickers] Fix timezone `UTC` false positive (#10586) @alexfauquette
|
|
180
|
+
- [l10n] Improve Spanish (es-ES) locale (#10588) @eduardodallmann
|
|
181
|
+
|
|
182
|
+
#### `@mui/x-date-pickers-pro@6.16.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
183
|
+
|
|
184
|
+
Same changes as in `@mui/x-date-pickers@6.16.2`.
|
|
185
|
+
|
|
186
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.15`
|
|
187
|
+
|
|
188
|
+
#### Breaking changes
|
|
189
|
+
|
|
190
|
+
The charts have a new text display mechanism.
|
|
191
|
+
It adds line break support and avoids overlapping text in the legend.
|
|
192
|
+
This comes with some breaking changes.
|
|
193
|
+
|
|
194
|
+
- The DOM structure is modified. An intermediary `<tspan />` element has been added. This can impact how your style is applied.
|
|
195
|
+
```diff
|
|
196
|
+
- <text>The label</text>
|
|
197
|
+
+ <text><tspan>The label</tspan></text>
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
- The top margin has been reduced from 100 to 50 to benefit from the denser legend.
|
|
201
|
+
|
|
202
|
+
- To accurately compute the text size and then place it, styling should be provided as a JS object. For example, to set the legend font size, you should do:
|
|
203
|
+
```jsx
|
|
204
|
+
<PieChart
|
|
205
|
+
{/** ... */}
|
|
206
|
+
slotProps={{
|
|
207
|
+
legend: {
|
|
208
|
+
labelStyle: {
|
|
209
|
+
fontSize: 16,
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
}}
|
|
213
|
+
/>
|
|
214
|
+
```
|
|
215
|
+
Support for other text elements (axis labels and tick labels) will be implemented in follow-up PR.
|
|
216
|
+
|
|
217
|
+
#### Changes
|
|
218
|
+
|
|
219
|
+
- [charts] Fix typo between internal/external variable (#10640) @alexfauquette
|
|
220
|
+
- [charts] Improve the management of the text (#10138) @alexfauquette
|
|
221
|
+
|
|
222
|
+
### Docs
|
|
223
|
+
|
|
224
|
+
- [docs] Add bulk editing demo (#10333) @cherniavskii
|
|
225
|
+
- [docs] Add reference links to DateRangePicker components (#10629) @michelengelen
|
|
226
|
+
- [docs] Add reference links to DateTimePicker components (#10628) @michelengelen
|
|
227
|
+
- [docs] Add reference links to picker field components (#10631) @michelengelen
|
|
228
|
+
- [docs] Added reference links to TimePicker components (#10627) @michelengelen
|
|
229
|
+
- [docs] Avoid Pickers playground error due to empty views (#10654) @LukasTy
|
|
230
|
+
- [docs] Fix DataGrid[Pro/Premium] reference links (#10620) @michelengelen
|
|
231
|
+
|
|
232
|
+
### Core
|
|
233
|
+
|
|
234
|
+
- [core] Bump monorepo (#10619) @alexfauquette
|
|
235
|
+
- [core] Update `no-response` workflow (#10491) @MBilalShafi
|
|
236
|
+
- [core] Update the issue templates to reflect the new support workflow (#10651) @MBilalShafi
|
|
237
|
+
- [test] Fix `testEval` not invoking test assertions (#10587) @cherniavskii
|
|
238
|
+
- [test] Fix dev mode warning (#10610) @oliviertassinari
|
|
239
|
+
- [test] Set UUID chance seed in visual tests (#10609) @oliviertassinari
|
|
240
|
+
|
|
241
|
+
## 6.16.1
|
|
242
|
+
|
|
243
|
+
_Oct 6, 2023_
|
|
244
|
+
|
|
245
|
+
We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
246
|
+
|
|
247
|
+
- 🥧 Support interaction with pie chart
|
|
248
|
+
- 🐞 Bugfixes
|
|
249
|
+
- 📚 Documentation improvements
|
|
250
|
+
|
|
251
|
+
### Data Grid
|
|
252
|
+
|
|
253
|
+
#### `@mui/x-data-grid@6.16.1`
|
|
254
|
+
|
|
255
|
+
- [DataGrid] Add a new demo with sparklines (#9228) @flaviendelangle
|
|
256
|
+
- [DataGrid] Fix autosize missing a few pixels (#10471) @romgrk
|
|
257
|
+
- [DataGrid] Make `disableColumnSelector` demo idempotent (#10548) @MBilalShafi
|
|
258
|
+
|
|
259
|
+
#### `@mui/x-data-grid-pro@6.16.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
260
|
+
|
|
261
|
+
Same changes as in `@mui/x-data-grid@6.16.1`.
|
|
262
|
+
|
|
263
|
+
#### `@mui/x-data-grid-premium@6.16.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
264
|
+
|
|
265
|
+
Same changes as in `@mui/x-data-grid-pro@6.16.1`.
|
|
266
|
+
|
|
267
|
+
### Date Pickers
|
|
268
|
+
|
|
269
|
+
#### `@mui/x-date-pickers@6.16.1`
|
|
270
|
+
|
|
271
|
+
- [pickers] Avoid calendar layout shifting when changing views (#10541) @LukasTy
|
|
272
|
+
- [pickers] Fix clearable behavior when disabled (#10542) @noraleonte
|
|
273
|
+
- [pickers] Improve customization playground examples (#10544) @noraleonte
|
|
274
|
+
|
|
275
|
+
#### `@mui/x-date-pickers-pro@6.16.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
276
|
+
|
|
277
|
+
Same changes as in `@mui/x-date-pickers@6.16.1`, plus:
|
|
278
|
+
|
|
279
|
+
- [DateRangePicker] Fix `InputProps` propagation in multi input (#10564) @alexfauquette
|
|
280
|
+
|
|
281
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.14`
|
|
282
|
+
|
|
283
|
+
- [charts] Display cursor pointer for pie chart only if `onClick` is provided (#10551) @giladappsforce
|
|
284
|
+
- [charts] Add `onClick` prop to PieChart (#10506) @giladappsforce
|
|
285
|
+
- [charts] Support `slots`/`slotProps` for the tooltip (#10515) @alexfauquette
|
|
286
|
+
|
|
287
|
+
### Docs
|
|
288
|
+
|
|
289
|
+
- [docs] Add `DateRangePicker` example with a `Button` trigger (#10485) @LukasTy
|
|
290
|
+
- [docs] Add section about disabling columns panel (#10328) @MBilalShafi
|
|
291
|
+
- [docs] Add section about overriding slots to base concepts (#10421) @noraleonte
|
|
292
|
+
- [docs] Add "What's new" page listing all release announcements (#9727) @joserodolfofreitas
|
|
293
|
+
- [docs] Update RTL Support section of the grid localization docs (#10561) @MBilalShafi
|
|
294
|
+
|
|
295
|
+
### Core
|
|
296
|
+
|
|
297
|
+
- [core] Fix casing consistency with legal and marketing content @oliviertassinari
|
|
298
|
+
- [core] Revert the link in the priority support ticket description (#10517) @michelengelen
|
|
299
|
+
- [CHANGELOG] Polish image @oliviertassinari
|
|
300
|
+
|
|
301
|
+
## 6.16.0
|
|
302
|
+
|
|
303
|
+
_Sep 29, 2023_
|
|
304
|
+
|
|
305
|
+
We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
|
|
306
|
+
|
|
307
|
+
- 🎁 Add a clearable behavior to all the single input pickers and fields (#9095) @noraleonte
|
|
308
|
+
|
|
309
|
+
The pickers and fields now have an out-of-the box implementation for clearing the field value. You can see the documentation for this behavior on the [Date Picker documentation](https://mui.com/x/react-date-pickers/date-picker/#clearing-the-value).
|
|
310
|
+
|
|
311
|
+
<img width="337" height="139" alt="Clearable behavior" src="https://github.com/mui/mui-x/assets/3165635/a5407cb6-0b8a-443c-b4b9-1f81ceb4d087">
|
|
312
|
+
|
|
313
|
+
- 💫 Add Date Picker customization playground (#9581) @noraleonte
|
|
314
|
+
|
|
315
|
+
You can play around with style customization options on the [Date Picker documentation](https://mui.com/x/react-date-pickers/date-picker/#customization).
|
|
316
|
+
|
|
317
|
+
We are thrilled to hear your feedback about this functionality!
|
|
318
|
+
|
|
319
|
+
- 🚀 Fix header filters menu auto closing on render (#10483) @MBilalShafi
|
|
320
|
+
- 🎯 Fix column headers scroll when theme scoping is used (#10437) @cherniavskii
|
|
321
|
+
- 🌍 Improve Russian (ru-RU) locale on the data grid
|
|
322
|
+
- 🐞 Bugfixes
|
|
323
|
+
- 📚 Documentation improvements
|
|
324
|
+
|
|
325
|
+
### Data Grid
|
|
326
|
+
|
|
327
|
+
#### `@mui/x-data-grid@6.16.0`
|
|
328
|
+
|
|
329
|
+
- [DataGrid] Fix column headers scroll when theme scoping is used (#10437) @cherniavskii
|
|
330
|
+
- [DataGrid] Rename `global` to `globalScope` due to Jest issue (#10470) @romgrk
|
|
331
|
+
- [l10n] Improve Russian (ru-RU) locale (#10464 and #10407) @NKodos
|
|
332
|
+
|
|
333
|
+
#### `@mui/x-data-grid-pro@6.16.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
334
|
+
|
|
335
|
+
Same changes as in `@mui/x-data-grid@6.16.0`, plus:
|
|
336
|
+
|
|
337
|
+
- [DataGridPro] Fix header filters menu auto closing on render (#10483) @MBilalShafi
|
|
338
|
+
|
|
339
|
+
#### `@mui/x-data-grid-premium@6.16.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
340
|
+
|
|
341
|
+
Same changes as in `@mui/x-data-grid-pro@6.16.0`.
|
|
342
|
+
|
|
343
|
+
### Date Pickers
|
|
344
|
+
|
|
345
|
+
#### `@mui/x-date-pickers@6.16.0`
|
|
346
|
+
|
|
347
|
+
- [pickers] Add warning to `shouldDisableDate` validation (#10502) @michelengelen
|
|
348
|
+
- [pickers] Implement `clearable` field behavior (#9095) @noraleonte
|
|
349
|
+
- [pickers] Refactor `dayOfWeekFormatter` (#10345) @michelengelen
|
|
350
|
+
|
|
351
|
+
#### `@mui/x-date-pickers-pro@6.16.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
352
|
+
|
|
353
|
+
Same changes as in `@mui/x-date-pickers@6.16.0`.
|
|
354
|
+
|
|
355
|
+
### Charts / `@mui/x-charts@6.0.0-alpha.13`
|
|
356
|
+
|
|
357
|
+
- [charts] Share upfront future Pro features (#10465) @oliviertassinari
|
|
358
|
+
|
|
359
|
+
### Tree View / `@mui/x-tree-view@6.0.0-beta.0`
|
|
360
|
+
|
|
361
|
+
- [TreeView] Do not try to focus a collapsed node when re-focusing the TreeView (#10422) @flaviendelangle
|
|
362
|
+
- [TreeView] Fix the typing of the `Multiple` generic (#10478) @flaviendelangle
|
|
363
|
+
|
|
364
|
+
### Docs
|
|
365
|
+
|
|
366
|
+
- [docs] Correct the typo in data grid api docs (#10477) @MBilalShafi
|
|
367
|
+
- [docs] Add customization playground (#9581) @noraleonte
|
|
368
|
+
- [docs] Fix Tree View product ID (#10428) @oliviertassinari
|
|
369
|
+
- [docs] Fix demo crashing when all rows are deleted (#10438) @cherniavskii
|
|
370
|
+
- [docs] Fix mobile scrollbar column resize (#10455) @oliviertassinari
|
|
371
|
+
- [docs] Fix usage of `GridRenderCellParams` interface (#10435) @cherniavskii
|
|
372
|
+
|
|
373
|
+
### Core
|
|
374
|
+
|
|
375
|
+
- [core] Fix typo in header data grid quick filter @oliviertassinari
|
|
376
|
+
- [core] Group D3 renovate PRs (#10480) @flaviendelangle
|
|
377
|
+
- [core] Link the priority support page (#10495) @michelengelen
|
|
378
|
+
- [core] Move the pickers describes to the test utils folder (#10490) @flaviendelangle
|
|
379
|
+
- [core] Priority Support casing normalization @oliviertassinari
|
|
380
|
+
- [core] Remove automated DataGrid performance tests (#10414) @romgrk
|
|
381
|
+
- [core] Sync `prism-okaidia.css` with docs-infra @oliviertassinari
|
|
382
|
+
- [core] Update issue actions & templates (#10375) @romgrk
|
|
383
|
+
- [core] Update release guide (#10468) @DanailH
|
|
384
|
+
|
|
6
385
|
## 6.15.0
|
|
7
386
|
|
|
8
387
|
_Sep 22, 2023_
|
package/TreeView/TreeView.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TreeViewProps } from './TreeView.types';
|
|
3
|
-
type TreeViewComponent = (<Multiple extends boolean | undefined>(props: TreeViewProps<Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
|
|
3
|
+
type TreeViewComponent = (<Multiple extends boolean | undefined = undefined>(props: TreeViewProps<Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
|
|
4
4
|
propTypes?: any;
|
|
5
5
|
};
|
|
6
6
|
/**
|
package/index.js
CHANGED
|
@@ -47,8 +47,20 @@ export const useTreeViewFocus = ({
|
|
|
47
47
|
|
|
48
48
|
// if the event bubbled (which is React specific) we don't want to steal focus
|
|
49
49
|
if (event.target === event.currentTarget) {
|
|
50
|
-
const
|
|
51
|
-
|
|
50
|
+
const isNodeVisible = nodeId => {
|
|
51
|
+
const node = instance.getNode(nodeId);
|
|
52
|
+
return node && (node.parentId == null || instance.isNodeExpanded(node.parentId));
|
|
53
|
+
};
|
|
54
|
+
let nodeToFocusId;
|
|
55
|
+
if (Array.isArray(models.selected.value)) {
|
|
56
|
+
nodeToFocusId = models.selected.value.find(isNodeVisible);
|
|
57
|
+
} else if (models.selected.value != null && isNodeVisible(models.selected.value)) {
|
|
58
|
+
nodeToFocusId = models.selected.value;
|
|
59
|
+
}
|
|
60
|
+
if (nodeToFocusId == null) {
|
|
61
|
+
nodeToFocusId = instance.getNavigableChildrenIds(null)[0];
|
|
62
|
+
}
|
|
63
|
+
instance.focusNode(event, nodeToFocusId);
|
|
52
64
|
}
|
|
53
65
|
};
|
|
54
66
|
const createHandleBlur = otherHandlers => event => {
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { TreeViewPluginSignature } from '../../models';
|
|
3
3
|
import type { UseTreeViewNodesSignature } from '../useTreeViewNodes';
|
|
4
4
|
import type { UseTreeViewSelectionSignature } from '../useTreeViewSelection';
|
|
5
|
+
import { UseTreeViewExpansionSignature } from '../useTreeViewExpansion';
|
|
5
6
|
export interface UseTreeViewFocusInstance {
|
|
6
7
|
isNodeFocused: (nodeId: string) => boolean;
|
|
7
8
|
focusNode: (event: React.SyntheticEvent, nodeId: string | null) => void;
|
|
@@ -21,5 +22,6 @@ export interface UseTreeViewFocusState {
|
|
|
21
22
|
}
|
|
22
23
|
export type UseTreeViewFocusSignature = TreeViewPluginSignature<UseTreeViewFocusParameters, UseTreeViewFocusParameters, UseTreeViewFocusInstance, {}, UseTreeViewFocusState, never, [
|
|
23
24
|
UseTreeViewNodesSignature,
|
|
24
|
-
UseTreeViewSelectionSignature<any
|
|
25
|
+
UseTreeViewSelectionSignature<any>,
|
|
26
|
+
UseTreeViewExpansionSignature
|
|
25
27
|
]>;
|
package/legacy/index.js
CHANGED
|
@@ -50,8 +50,20 @@ export var useTreeViewFocus = function useTreeViewFocus(_ref) {
|
|
|
50
50
|
|
|
51
51
|
// if the event bubbled (which is React specific) we don't want to steal focus
|
|
52
52
|
if (event.target === event.currentTarget) {
|
|
53
|
-
var
|
|
54
|
-
|
|
53
|
+
var isNodeVisible = function isNodeVisible(nodeId) {
|
|
54
|
+
var node = instance.getNode(nodeId);
|
|
55
|
+
return node && (node.parentId == null || instance.isNodeExpanded(node.parentId));
|
|
56
|
+
};
|
|
57
|
+
var nodeToFocusId;
|
|
58
|
+
if (Array.isArray(models.selected.value)) {
|
|
59
|
+
nodeToFocusId = models.selected.value.find(isNodeVisible);
|
|
60
|
+
} else if (models.selected.value != null && isNodeVisible(models.selected.value)) {
|
|
61
|
+
nodeToFocusId = models.selected.value;
|
|
62
|
+
}
|
|
63
|
+
if (nodeToFocusId == null) {
|
|
64
|
+
nodeToFocusId = instance.getNavigableChildrenIds(null)[0];
|
|
65
|
+
}
|
|
66
|
+
instance.focusNode(event, nodeToFocusId);
|
|
55
67
|
}
|
|
56
68
|
};
|
|
57
69
|
};
|
package/modern/index.js
CHANGED
|
@@ -46,8 +46,20 @@ export const useTreeViewFocus = ({
|
|
|
46
46
|
|
|
47
47
|
// if the event bubbled (which is React specific) we don't want to steal focus
|
|
48
48
|
if (event.target === event.currentTarget) {
|
|
49
|
-
const
|
|
50
|
-
|
|
49
|
+
const isNodeVisible = nodeId => {
|
|
50
|
+
const node = instance.getNode(nodeId);
|
|
51
|
+
return node && (node.parentId == null || instance.isNodeExpanded(node.parentId));
|
|
52
|
+
};
|
|
53
|
+
let nodeToFocusId;
|
|
54
|
+
if (Array.isArray(models.selected.value)) {
|
|
55
|
+
nodeToFocusId = models.selected.value.find(isNodeVisible);
|
|
56
|
+
} else if (models.selected.value != null && isNodeVisible(models.selected.value)) {
|
|
57
|
+
nodeToFocusId = models.selected.value;
|
|
58
|
+
}
|
|
59
|
+
if (nodeToFocusId == null) {
|
|
60
|
+
nodeToFocusId = instance.getNavigableChildrenIds(null)[0];
|
|
61
|
+
}
|
|
62
|
+
instance.focusNode(event, nodeToFocusId);
|
|
51
63
|
}
|
|
52
64
|
};
|
|
53
65
|
const createHandleBlur = otherHandlers => event => {
|
|
@@ -23,8 +23,8 @@ var _treeItemClasses = require("./treeItemClasses");
|
|
|
23
23
|
var _useTreeViewContext = require("../internals/TreeViewProvider/useTreeViewContext");
|
|
24
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
25
|
const _excluded = ["children", "className", "collapseIcon", "ContentComponent", "ContentProps", "endIcon", "expandIcon", "disabled", "icon", "id", "label", "nodeId", "onClick", "onMouseDown", "TransitionComponent", "TransitionProps"];
|
|
26
|
-
function _getRequireWildcardCache(
|
|
27
|
-
function _interopRequireWildcard(
|
|
26
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
27
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
28
28
|
const useUtilityClasses = ownerState => {
|
|
29
29
|
const {
|
|
30
30
|
classes
|
|
@@ -140,7 +140,7 @@ const TreeItemGroup = (0, _styles.styled)(_Collapse.default, {
|
|
|
140
140
|
*
|
|
141
141
|
* - [TreeItem API](https://mui.com/x/api/tree-view/tree-item/)
|
|
142
142
|
*/
|
|
143
|
-
const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, ref) {
|
|
143
|
+
const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, ref) {
|
|
144
144
|
const props = (0, _styles.useThemeProps)({
|
|
145
145
|
props: inProps,
|
|
146
146
|
name: 'MuiTreeItem'
|
|
@@ -312,7 +312,6 @@ const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, ref) {
|
|
|
312
312
|
})]
|
|
313
313
|
}));
|
|
314
314
|
});
|
|
315
|
-
exports.TreeItem = TreeItem;
|
|
316
315
|
process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
|
|
317
316
|
// ----------------------------- Warning --------------------------------
|
|
318
317
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -13,12 +13,12 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
|
13
13
|
var _useTreeItem = require("./useTreeItem");
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
15
|
const _excluded = ["classes", "className", "displayIcon", "expansionIcon", "icon", "label", "nodeId", "onClick", "onMouseDown"];
|
|
16
|
-
function _getRequireWildcardCache(
|
|
17
|
-
function _interopRequireWildcard(
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
/**
|
|
19
19
|
* @ignore - internal component.
|
|
20
20
|
*/
|
|
21
|
-
const TreeItemContent = /*#__PURE__*/React.forwardRef(function TreeItemContent(props, ref) {
|
|
21
|
+
const TreeItemContent = exports.TreeItemContent = /*#__PURE__*/React.forwardRef(function TreeItemContent(props, ref) {
|
|
22
22
|
const {
|
|
23
23
|
classes,
|
|
24
24
|
className,
|
|
@@ -72,7 +72,6 @@ const TreeItemContent = /*#__PURE__*/React.forwardRef(function TreeItemContent(p
|
|
|
72
72
|
}))
|
|
73
73
|
);
|
|
74
74
|
});
|
|
75
|
-
exports.TreeItemContent = TreeItemContent;
|
|
76
75
|
process.env.NODE_ENV !== "production" ? TreeItemContent.propTypes = {
|
|
77
76
|
// ----------------------------- Warning --------------------------------
|
|
78
77
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -11,5 +11,4 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
|
|
|
11
11
|
function getTreeItemUtilityClass(slot) {
|
|
12
12
|
return (0, _generateUtilityClass.default)('MuiTreeItem', slot);
|
|
13
13
|
}
|
|
14
|
-
const treeItemClasses = (0, _generateUtilityClasses.default)('MuiTreeItem', ['root', 'group', 'content', 'expanded', 'selected', 'focused', 'disabled', 'iconContainer', 'label']);
|
|
15
|
-
exports.treeItemClasses = treeItemClasses;
|
|
14
|
+
const treeItemClasses = exports.treeItemClasses = (0, _generateUtilityClasses.default)('MuiTreeItem', ['root', 'group', 'content', 'expanded', 'selected', 'focused', 'disabled', 'iconContainer', 'label']);
|
|
@@ -18,8 +18,8 @@ var _TreeViewProvider = require("../internals/TreeViewProvider");
|
|
|
18
18
|
var _plugins = require("../internals/plugins");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
20
|
const _excluded = ["disabledItemsFocusable", "expanded", "defaultExpanded", "onNodeToggle", "onNodeFocus", "disableSelection", "defaultSelected", "selected", "multiSelect", "onNodeSelect", "id", "defaultCollapseIcon", "defaultEndIcon", "defaultExpandIcon", "defaultParentIcon", "children"];
|
|
21
|
-
function _getRequireWildcardCache(
|
|
22
|
-
function _interopRequireWildcard(
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
23
|
const useUtilityClasses = ownerState => {
|
|
24
24
|
const {
|
|
25
25
|
classes
|
|
@@ -49,7 +49,7 @@ const TreeViewRoot = (0, _styles.styled)('ul', {
|
|
|
49
49
|
*
|
|
50
50
|
* - [TreeView API](https://mui.com/x/api/tree-view/tree-view/)
|
|
51
51
|
*/
|
|
52
|
-
const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
|
|
52
|
+
const TreeView = exports.TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
|
|
53
53
|
const themeProps = (0, _styles.useThemeProps)({
|
|
54
54
|
props: inProps,
|
|
55
55
|
name: 'MuiTreeView'
|
|
@@ -115,7 +115,6 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
|
|
|
115
115
|
}))
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
|
-
exports.TreeView = TreeView;
|
|
119
118
|
process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
|
|
120
119
|
// ----------------------------- Warning --------------------------------
|
|
121
120
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -11,5 +11,4 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
|
|
|
11
11
|
function getTreeViewUtilityClass(slot) {
|
|
12
12
|
return (0, _generateUtilityClass.default)('MuiTreeView', slot);
|
|
13
13
|
}
|
|
14
|
-
const treeViewClasses = (0, _generateUtilityClasses.default)('MuiTreeView', ['root']);
|
|
15
|
-
exports.treeViewClasses = treeViewClasses;
|
|
14
|
+
const treeViewClasses = exports.treeViewClasses = (0, _generateUtilityClasses.default)('MuiTreeView', ['root']);
|
package/node/index.js
CHANGED
|
@@ -17,8 +17,8 @@ const _excluded = ["element"];
|
|
|
17
17
|
* Modified slightly to suit our purposes.
|
|
18
18
|
*/
|
|
19
19
|
// To replace with .findIndex() once we stop IE11 support.
|
|
20
|
-
function _getRequireWildcardCache(
|
|
21
|
-
function _interopRequireWildcard(
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
22
|
function findIndex(array, comp) {
|
|
23
23
|
for (let i = 0; i < array.length; i += 1) {
|
|
24
24
|
if (comp(array[i])) {
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.TreeViewContext = exports.DEFAULT_TREE_VIEW_CONTEXT_VALUE = void 0;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
|
-
function _getRequireWildcardCache(
|
|
9
|
-
function _interopRequireWildcard(
|
|
10
|
-
const DEFAULT_TREE_VIEW_CONTEXT_VALUE = {
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
const DEFAULT_TREE_VIEW_CONTEXT_VALUE = exports.DEFAULT_TREE_VIEW_CONTEXT_VALUE = {
|
|
11
11
|
instance: null,
|
|
12
12
|
multiSelect: false,
|
|
13
13
|
disabledItemsFocusable: false,
|
|
@@ -23,9 +23,7 @@ const DEFAULT_TREE_VIEW_CONTEXT_VALUE = {
|
|
|
23
23
|
/**
|
|
24
24
|
* @ignore - internal component.
|
|
25
25
|
*/
|
|
26
|
-
exports.
|
|
27
|
-
const TreeViewContext = /*#__PURE__*/React.createContext(DEFAULT_TREE_VIEW_CONTEXT_VALUE);
|
|
28
|
-
exports.TreeViewContext = TreeViewContext;
|
|
26
|
+
const TreeViewContext = exports.TreeViewContext = /*#__PURE__*/React.createContext(DEFAULT_TREE_VIEW_CONTEXT_VALUE);
|
|
29
27
|
if (process.env.NODE_ENV !== 'production') {
|
|
30
28
|
TreeViewContext.displayName = 'TreeViewContext';
|
|
31
29
|
}
|
|
@@ -8,8 +8,8 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _TreeViewContext = require("./TreeViewContext");
|
|
9
9
|
var _DescendantProvider = require("./DescendantProvider");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function _getRequireWildcardCache(
|
|
12
|
-
function _interopRequireWildcard(
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
13
|
/**
|
|
14
14
|
* Sets up the contexts for the underlying TreeItem components.
|
|
15
15
|
*
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useTreeViewContext = void 0;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _TreeViewContext = require("./TreeViewContext");
|
|
9
|
-
function _getRequireWildcardCache(
|
|
10
|
-
function _interopRequireWildcard(
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
11
|
const useTreeViewContext = () => React.useContext(_TreeViewContext.TreeViewContext);
|
|
12
12
|
exports.useTreeViewContext = useTreeViewContext;
|
|
@@ -9,5 +9,4 @@ var _useTreeViewInstanceEvents = require("./useTreeViewInstanceEvents");
|
|
|
9
9
|
* Internal plugins that creates the tools used by the other plugins.
|
|
10
10
|
* These plugins are used by the tree view components.
|
|
11
11
|
*/
|
|
12
|
-
const TREE_VIEW_CORE_PLUGINS = [_useTreeViewInstanceEvents.useTreeViewInstanceEvents];
|
|
13
|
-
exports.TREE_VIEW_CORE_PLUGINS = TREE_VIEW_CORE_PLUGINS;
|
|
12
|
+
const TREE_VIEW_CORE_PLUGINS = exports.TREE_VIEW_CORE_PLUGINS = [_useTreeViewInstanceEvents.useTreeViewInstanceEvents];
|
|
@@ -7,8 +7,8 @@ exports.useTreeViewInstanceEvents = void 0;
|
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _EventManager = require("../../utils/EventManager");
|
|
9
9
|
var _useTreeView = require("../../useTreeView/useTreeView.utils");
|
|
10
|
-
function _getRequireWildcardCache(
|
|
11
|
-
function _interopRequireWildcard(
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
12
|
const isSyntheticEvent = event => {
|
|
13
13
|
return event.isPropagationStopped !== undefined;
|
|
14
14
|
};
|
|
@@ -8,8 +8,8 @@ exports.useInstanceEventHandler = exports.unstable_resetCleanupTracking = void 0
|
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _TimerBasedCleanupTracking = require("../utils/cleanupTracking/TimerBasedCleanupTracking");
|
|
10
10
|
var _FinalizationRegistryBasedCleanupTracking = require("../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking");
|
|
11
|
-
function _getRequireWildcardCache(
|
|
12
|
-
function _interopRequireWildcard(
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
13
|
// We use class to make it easier to detect in heap snapshots by name
|
|
14
14
|
class ObjectToBeRetainedByReact {}
|
|
15
15
|
|
|
@@ -84,5 +84,4 @@ const unstable_resetCleanupTracking = () => {
|
|
|
84
84
|
registryContainer.registry = null;
|
|
85
85
|
};
|
|
86
86
|
exports.unstable_resetCleanupTracking = unstable_resetCleanupTracking;
|
|
87
|
-
const useInstanceEventHandler = createUseInstanceEventHandler(registryContainer);
|
|
88
|
-
exports.useInstanceEventHandler = useInstanceEventHandler;
|
|
87
|
+
const useInstanceEventHandler = exports.useInstanceEventHandler = createUseInstanceEventHandler(registryContainer);
|
|
@@ -10,7 +10,6 @@ var _useTreeViewSelection = require("./useTreeViewSelection");
|
|
|
10
10
|
var _useTreeViewFocus = require("./useTreeViewFocus");
|
|
11
11
|
var _useTreeViewKeyboardNavigation = require("./useTreeViewKeyboardNavigation");
|
|
12
12
|
var _useTreeViewContextValueBuilder = require("./useTreeViewContextValueBuilder");
|
|
13
|
-
const DEFAULT_TREE_VIEW_PLUGINS = [_useTreeViewNodes.useTreeViewNodes, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewContextValueBuilder.useTreeViewContextValueBuilder];
|
|
13
|
+
const DEFAULT_TREE_VIEW_PLUGINS = exports.DEFAULT_TREE_VIEW_PLUGINS = [_useTreeViewNodes.useTreeViewNodes, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewContextValueBuilder.useTreeViewContextValueBuilder];
|
|
14
14
|
|
|
15
|
-
// We can't infer this type from the plugin, otherwise we would lose the generics.
|
|
16
|
-
exports.DEFAULT_TREE_VIEW_PLUGINS = DEFAULT_TREE_VIEW_PLUGINS;
|
|
15
|
+
// We can't infer this type from the plugin, otherwise we would lose the generics.
|
|
@@ -9,8 +9,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
11
11
|
var _useTreeView = require("../../useTreeView/useTreeView.utils");
|
|
12
|
-
function _getRequireWildcardCache(
|
|
13
|
-
function _interopRequireWildcard(
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
const useTreeViewExpansion = ({
|
|
15
15
|
instance,
|
|
16
16
|
params,
|
|
@@ -11,8 +11,8 @@ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallb
|
|
|
11
11
|
var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
|
|
12
12
|
var _useTreeView = require("../../useTreeView/useTreeView.utils");
|
|
13
13
|
var _useInstanceEventHandler = require("../../hooks/useInstanceEventHandler");
|
|
14
|
-
function _getRequireWildcardCache(
|
|
15
|
-
function _interopRequireWildcard(
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
const useTreeViewFocus = ({
|
|
17
17
|
instance,
|
|
18
18
|
params,
|
|
@@ -55,8 +55,20 @@ const useTreeViewFocus = ({
|
|
|
55
55
|
|
|
56
56
|
// if the event bubbled (which is React specific) we don't want to steal focus
|
|
57
57
|
if (event.target === event.currentTarget) {
|
|
58
|
-
const
|
|
59
|
-
|
|
58
|
+
const isNodeVisible = nodeId => {
|
|
59
|
+
const node = instance.getNode(nodeId);
|
|
60
|
+
return node && (node.parentId == null || instance.isNodeExpanded(node.parentId));
|
|
61
|
+
};
|
|
62
|
+
let nodeToFocusId;
|
|
63
|
+
if (Array.isArray(models.selected.value)) {
|
|
64
|
+
nodeToFocusId = models.selected.value.find(isNodeVisible);
|
|
65
|
+
} else if (models.selected.value != null && isNodeVisible(models.selected.value)) {
|
|
66
|
+
nodeToFocusId = models.selected.value;
|
|
67
|
+
}
|
|
68
|
+
if (nodeToFocusId == null) {
|
|
69
|
+
nodeToFocusId = instance.getNavigableChildrenIds(null)[0];
|
|
70
|
+
}
|
|
71
|
+
instance.focusNode(event, nodeToFocusId);
|
|
60
72
|
}
|
|
61
73
|
};
|
|
62
74
|
const createHandleBlur = otherHandlers => event => {
|
package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js
CHANGED
|
@@ -10,8 +10,8 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _styles = require("@mui/material/styles");
|
|
11
11
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
12
12
|
var _useTreeView = require("../../useTreeView/useTreeView.utils");
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
function isPrintableCharacter(string) {
|
|
16
16
|
return string && string.length === 1 && string.match(/\S/);
|
|
17
17
|
}
|
|
@@ -10,8 +10,8 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
|
|
11
11
|
var _useTreeView = require("../../useTreeView/useTreeView.utils");
|
|
12
12
|
var _publishTreeViewEvent = require("../../utils/publishTreeViewEvent");
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
const useTreeViewNodes = ({
|
|
16
16
|
instance,
|
|
17
17
|
params
|
|
@@ -9,8 +9,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _useTreeView = require("../../useTreeView/useTreeView.utils");
|
|
11
11
|
var _useTreeViewSelection = require("./useTreeViewSelection.utils");
|
|
12
|
-
function _getRequireWildcardCache(
|
|
13
|
-
function _interopRequireWildcard(
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
const useTreeViewSelection = ({
|
|
15
15
|
instance,
|
|
16
16
|
params,
|
|
@@ -11,8 +11,8 @@ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
|
11
11
|
var _TreeViewContext = require("../TreeViewProvider/TreeViewContext");
|
|
12
12
|
var _useTreeViewModels = require("./useTreeViewModels");
|
|
13
13
|
var _corePlugins = require("../corePlugins");
|
|
14
|
-
function _getRequireWildcardCache(
|
|
15
|
-
function _interopRequireWildcard(
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
const useTreeView = inParams => {
|
|
17
17
|
const plugins = [..._corePlugins.TREE_VIEW_CORE_PLUGINS, ...inParams.plugins];
|
|
18
18
|
const params = plugins.reduce((acc, plugin) => {
|
|
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useTreeViewModels = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
function _getRequireWildcardCache(
|
|
11
|
-
function _interopRequireWildcard(
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
12
|
/**
|
|
13
13
|
* Implements the same behavior as `useControlled` but for several models.
|
|
14
14
|
* The controlled models are never stored in the state and the state is only updated if the model is not controlled.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-tree-view",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.17.0",
|
|
4
4
|
"description": "The community edition of the tree view components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"directory": "packages/x-tree-view"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@babel/runtime": "^7.
|
|
35
|
-
"@mui/base": "^5.0.0-beta.
|
|
36
|
-
"@mui/utils": "^5.14.
|
|
37
|
-
"@types/react-transition-group": "^4.4.
|
|
34
|
+
"@babel/runtime": "^7.23.2",
|
|
35
|
+
"@mui/base": "^5.0.0-beta.20",
|
|
36
|
+
"@mui/utils": "^5.14.14",
|
|
37
|
+
"@types/react-transition-group": "^4.4.8",
|
|
38
38
|
"clsx": "^2.0.0",
|
|
39
39
|
"prop-types": "^15.8.1",
|
|
40
40
|
"react-transition-group": "^4.4.5"
|