@mui/x-internals 8.7.0 → 8.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +323 -24
  2. package/esm/math/index.d.ts +1 -0
  3. package/esm/math/index.js +3 -0
  4. package/esm/platform/index.d.ts +7 -0
  5. package/esm/platform/index.js +7 -0
  6. package/esm/store/Store.d.ts +4 -2
  7. package/esm/store/Store.js +32 -9
  8. package/esm/store/createSelector.js +5 -4
  9. package/esm/store/index.d.ts +2 -0
  10. package/esm/store/index.js +2 -0
  11. package/esm/store/useStore.d.ts +5 -0
  12. package/esm/store/useStore.js +5 -0
  13. package/esm/store/useStoreEffect.d.ts +6 -0
  14. package/esm/store/useStoreEffect.js +48 -0
  15. package/esm/types/base.d.ts +2 -0
  16. package/esm/types/base.js +1 -0
  17. package/esm/types/index.d.ts +1 -0
  18. package/esm/types/index.js +1 -0
  19. package/esm/useFirstRender/index.d.ts +1 -0
  20. package/esm/useFirstRender/index.js +1 -0
  21. package/esm/useFirstRender/useFirstRender.d.ts +1 -0
  22. package/esm/useFirstRender/useFirstRender.js +8 -0
  23. package/esm/useRunOnce/index.d.ts +1 -0
  24. package/esm/useRunOnce/index.js +1 -0
  25. package/esm/useRunOnce/useRunOnce.d.ts +5 -0
  26. package/esm/useRunOnce/useRunOnce.js +18 -0
  27. package/math/index.d.ts +1 -0
  28. package/math/index.js +9 -0
  29. package/package.json +6 -6
  30. package/platform/index.d.ts +7 -0
  31. package/platform/index.js +13 -0
  32. package/store/Store.d.ts +4 -2
  33. package/store/Store.js +32 -9
  34. package/store/createSelector.js +5 -4
  35. package/store/index.d.ts +2 -0
  36. package/store/index.js +22 -0
  37. package/store/useStore.d.ts +5 -0
  38. package/store/useStore.js +11 -0
  39. package/store/useStoreEffect.d.ts +6 -0
  40. package/store/useStoreEffect.js +55 -0
  41. package/types/base.d.ts +2 -0
  42. package/types/base.js +5 -0
  43. package/types/index.d.ts +1 -0
  44. package/types/index.js +11 -0
  45. package/useFirstRender/index.d.ts +1 -0
  46. package/useFirstRender/index.js +16 -0
  47. package/useFirstRender/useFirstRender.d.ts +1 -0
  48. package/useFirstRender/useFirstRender.js +15 -0
  49. package/useRunOnce/index.d.ts +1 -0
  50. package/useRunOnce/index.js +16 -0
  51. package/useRunOnce/useRunOnce.d.ts +5 -0
  52. package/useRunOnce/useRunOnce.js +27 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,323 @@
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.9.2
9
+
10
+ _Jul 31, 2025_
11
+
12
+ We'd like to extend a big thank you to the 23 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🌎 Improve French (fr-FR), Hebrew (he-IL) and Polish (pl-PL) locales on the Data Grid
15
+ - 🌎 Improve Korean (ko-KR) locale on the Date and Time Pickers
16
+ - 📈 Add symlog scale to charts
17
+ - 📊 Fix bar border radius on Firefox
18
+ - 🐞 Bugfixes
19
+ - 📚 Documentation improvements
20
+
21
+ Special thanks go out to the community members for their valuable contributions:
22
+ @AmrElnaggar99, @atlanteh, @ddolcimascolo, @Jiseoup, @leonaha5, @noherczeg, @sai6855
23
+
24
+ The following are all team members who have contributed to this release:
25
+ @alexfauquette, @arminmeh, @bernardobelchior, @bharatkashyap, @brijeshb42, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @KenanYusuf, @LukasTy, @mapache-salvaje, @MBilalShafi, @rita-codes, @romgrk, @siriwatknp
26
+
27
+ ### Data Grid
28
+
29
+ #### `@mui/x-data-grid@8.9.2`
30
+
31
+ - [DataGrid] Add debounce for columns panel search (#18719) @noherczeg
32
+ - [DataGrid] Extract virtualization engine (#18275) @romgrk
33
+ - [DataGrid] Improve types in `<GridEditSingleSelect />` (#18184) @sai6855
34
+ - [l10n] Improve French (fr-FR) locale (#18905) @ddolcimascolo
35
+ - [l10n] Improve Hebrew (he-IL) locale (#18665) @atlanteh
36
+ - [l10n] Improve Polish (pl-PL) locale (#18068) @leonaha5
37
+
38
+ #### `@mui/x-data-grid-pro@8.9.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
39
+
40
+ Same changes as in `@mui/x-data-grid@8.9.2`, plus:
41
+
42
+ - [DataGridPro] Fix duplicate nested rows for dynamically updated row IDs (#18526) @MBilalShafi
43
+
44
+ #### `@mui/x-data-grid-premium@8.9.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
45
+
46
+ Same changes as in `@mui/x-data-grid-pro@8.9.2`, plus:
47
+
48
+ - [DataGridPremium] Add `privateMode` to AI assistant prompt resolver (#18759) @bharatkashyap
49
+ - [DataGridPremium] Fix empty nested group values caused by main criterial `valueFormatter()` (#18916) @cherniavskii
50
+ - [DataGridPremium] Sidebar content and state is managed the same way as for preference panel (#18741) @arminmeh
51
+ - [DataGridPremium] Make `api` param for the aggregation function optional (#18984) @arminmeh
52
+
53
+ ### Date and Time Pickers
54
+
55
+ #### `@mui/x-date-pickers@8.9.2`
56
+
57
+ - [l10n] Improve Korean (ko-KR) locale (#18664) @Jiseoup
58
+ - [pickers] Fix popper click-away behavior (#18804) @LukasTy
59
+ - [pickers] Fix usage not in main document (#18944) @LukasTy
60
+
61
+ #### `@mui/x-date-pickers-pro@8.9.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
62
+
63
+ Same changes as in `@mui/x-date-pickers@8.9.2`.
64
+
65
+ ### Charts
66
+
67
+ #### `@mui/x-charts@8.9.2`
68
+
69
+ - [charts] Add symlog scale to charts (#18729) @bernardobelchior
70
+ - [charts] Fix bar border radius on Firefox (#18824) @bernardobelchior
71
+ - [charts] Fix crash when rendering large scatter dataset (#18845) @bernardobelchior
72
+ - [charts] Remove unnecessary type assertion in tooltip `valueFormatter()` (#18877) @sai6855
73
+ - [charts] Export `ChartsWrapper` from `'./ChartsWrapper'` rather than `'./internals'` (#18966) @JCQuintas
74
+
75
+ #### `@mui/x-charts-pro@8.9.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
76
+
77
+ Same changes as in `@mui/x-charts@8.9.2`, plus:
78
+
79
+ - [charts-pro] Fix voronoi interaction with zoom (#18950) @alexfauquette
80
+ - [charts-pro] Hide toolbar by default when exporting (#18764) @bernardobelchior
81
+
82
+ ### Codemod
83
+
84
+ #### `@mui/x-codemod@8.9.2`
85
+
86
+ Internal changes.
87
+
88
+ ### Docs
89
+
90
+ - [docs] Add Data Grid demo pages (#18180) @KenanYusuf
91
+ - [docs] Copyedit the Charts Overview page (#18840) @mapache-salvaje
92
+ - [docs] Fix incorrect parameter name in pickers "Custom components" page from `variant` to `pickerVariant` (#18919) @AmrElnaggar99
93
+
94
+ ### Miscellaneous
95
+
96
+ - [code-infra] Auto-generate deep exports to prevent asymmetric exports (#18917) @JCQuintas
97
+ - [docs-infra] Turn on "Edit in Chat" for X docs (#18869) @siriwatknp
98
+ - [infra] Add specific bundle size tracking (#18884) @Janpot
99
+ - [infra] Fix markdown formatting in llms generation (#18914) @Janpot
100
+ - [infra] Use CI action from mui-public (#18709) @brijeshb42
101
+
102
+ ## 8.9.1
103
+
104
+ _Jul 21, 2025_
105
+
106
+ We'd like to extend a big thank you to the 2 contributors who made this release possible. Here are some highlights ✨:
107
+
108
+ 🐞 Fix package publish issue
109
+
110
+ The following are all team members who have contributed to this release:
111
+ @KenanYusuf, @MBilalShafi
112
+
113
+ ### Data Grid
114
+
115
+ #### `@mui/x-data-grid@8.9.1`
116
+
117
+ - [DataGrid] Move conditional list view column logic into `gridVisibleColumnDefinitionsSelector` (#18724) @KenanYusuf
118
+ - [DataGrid] Fix row selection "exclude" model inconsistency (#18844) @MBilalShafi
119
+
120
+ #### `@mui/x-data-grid-pro@8.9.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
121
+
122
+ Same changes as in `@mui/x-data-grid@8.9.1`.
123
+
124
+ #### `@mui/x-data-grid-premium@8.9.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
125
+
126
+ Same changes as in `@mui/x-data-grid-pro@8.9.1`.
127
+
128
+ ### Core
129
+
130
+ - [core] Follow yml syntax convention @oliviertassinari
131
+
132
+ ## 8.9.0
133
+
134
+ _Jul 17, 2025_
135
+
136
+ We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
137
+
138
+ - ✨ Improve the drag and drop interaction for Data Grid [row reordering](https://mui.com/x/react-data-grid/row-ordering/) feature. It uses a drop indicator to point to the position the row would be moving to.
139
+
140
+ https://github.com/user-attachments/assets/37284c4f-e8d4-4fc6-a6af-a780592905ef
141
+
142
+ - 🚀 Improve Data Grid Pivoting and Aggregation performance
143
+
144
+ - 📊 Add `minBarSize` to set a minimum height for bars
145
+
146
+ Special thanks go out to the community members for their valuable contributions:
147
+ @lauri865
148
+
149
+ The following are all team members who have contributed to this release:
150
+ @alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @noraleonte, @MBilalShafi
151
+
152
+ ### Data Grid
153
+
154
+ #### `@mui/x-data-grid@8.9.0`
155
+
156
+ Internal changes.
157
+
158
+ #### `@mui/x-data-grid-pro@8.9.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
159
+
160
+ Same changes as in `@mui/x-data-grid@8.9.0`, plus:
161
+
162
+ - [DataGridPro] Row reorder using drop indicator (#18627) @MBilalShafi
163
+
164
+ #### `@mui/x-data-grid-premium@8.9.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
165
+
166
+ Same changes as in `@mui/x-data-grid-pro@8.9.0`, plus:
167
+
168
+ - [DataGridPremium] Allow group column overrides with pivoting (#18765) @arminmeh
169
+ - [DataGridPremium] Support sort-dependent aggregation and improve performance (#18348) @lauri865
170
+
171
+ ### Date and Time Pickers
172
+
173
+ #### `@mui/x-date-pickers@8.9.0`
174
+
175
+ - [pickers] Avoid useless date creation in `AdapterDayjs` (#18429) @flaviendelangle
176
+ - [pickers] Fix `timeSteps` JSDoc (#18807) @LukasTy
177
+
178
+ #### `@mui/x-date-pickers-pro@8.9.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
179
+
180
+ Same changes as in `@mui/x-date-pickers@8.9.0`.
181
+
182
+ ### Charts
183
+
184
+ #### `@mui/x-charts@8.9.0`
185
+
186
+ - [charts] Add `minBarSize` to prevent bars from having 0 height (#18798) @JCQuintas
187
+ - [charts] Add click listener to radar charts (#18773) @alexfauquette
188
+ - [charts] Improve scatter chart pointer move performance (#18775) @bernardobelchior
189
+ - [charts] Simplify radar internal hooks (#18760) @alexfauquette
190
+ - [charts] `minBarSize` now ignores `0` and `null` values (#18816) @JCQuintas
191
+ - [charts] Fix y-axis tick label overlap when using log scale (#18744) @bernardobelchior
192
+ - [charts] Expose <ChartType>Series type for all chart types (#18805) @bernardobelchior
193
+
194
+ #### `@mui/x-charts-pro@8.9.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
195
+
196
+ Same changes as in `@mui/x-charts@8.9.0` plus:
197
+
198
+ [charts-pro] Fix issue where charts gestures weren't properly working when inside the shadow-dom (#18837) @JCQuintas
199
+
200
+ ### Tree View
201
+
202
+ #### `@mui/x-tree-view@8.9.0`
203
+
204
+ Internal changes.
205
+
206
+ #### `@mui/x-tree-view-pro@8.9.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
207
+
208
+ Same changes as in `@mui/x-tree-view@8.9.0`.
209
+
210
+ ### Codemod
211
+
212
+ #### `@mui/x-codemod@8.9.0`
213
+
214
+ Internal changes.
215
+
216
+ ### Docs
217
+
218
+ - [data grid][docs] Revise the Pro filter docs (#17929) @mapache-salvaje
219
+ - [charts][docs] Move mark outside clip-path (#18806) @alexfauquette
220
+
221
+ ### Miscellaneous
222
+
223
+ - [code-infra] Fix ESLint `import` restriction rule for test files (#18669) @LukasTy
224
+ - [code-infra] Remove charts benchmarks dependency on `@testing-library/jest-dom` (#18800) @bernardobelchior
225
+ - [code-infra] Remove duplicate dependency from `eslint-plugin-mui-x` (#18797) @bernardobelchior
226
+
227
+ ## 8.8.0
228
+
229
+ _Jul 11, 2025_
230
+
231
+ We'd like to extend a big thank you to the 13 contributors who made this release possible. Here are some highlights ✨:
232
+
233
+ - 📊 Chart zoom preview can be enabled
234
+
235
+ <img width="758" alt="chart with x-axis preview" src="https://github.com/user-attachments/assets/50ce6f61-16dc-4e9b-a727-ca65d80927d7" />
236
+
237
+ - 🌎 Add Indonesian (id-ID) locale on the Data Grid
238
+
239
+ Special thanks go out to the community members for their valuable contributions:
240
+ @kennarddh
241
+
242
+ The following are all team members who have contributed to this release:
243
+ @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi, @noraleonte, @prakhargupta1, @rita-codes, @siriwatknp
244
+
245
+ ### Data Grid
246
+
247
+ #### `@mui/x-data-grid@8.8.0`
248
+
249
+ - [DataGrid] Fix `useGridSelector` missing subscription in `React.StrictMode` (#18676) @cherniavskii
250
+ - [DataGrid] Fix scrollbar filler `z-index` (#18688) @KenanYusuf
251
+ - [DataGrid] Set correct data source cache chunk size when pagination is disabled (#18636) @arminmeh
252
+ - [l10n] Add Indonesian (id-ID) locale (#18710) @kennarddh
253
+
254
+ #### `@mui/x-data-grid-pro@8.8.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
255
+
256
+ Same changes as in `@mui/x-data-grid@8.8.0`, plus:
257
+
258
+ - [DataGridPro] Fix row ordering not auto-scrolling when moving beyond viewport (#18557) @MBilalShafi
259
+ - [DataGridPro] Set correct parent paths when tree is refreshed with data source tree data and row grouping (#18715) @arminmeh
260
+
261
+ #### `@mui/x-data-grid-premium@8.8.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
262
+
263
+ Same changes as in `@mui/x-data-grid-pro@8.8.0`.
264
+
265
+ ### Date and Time Pickers
266
+
267
+ #### `@mui/x-date-pickers@8.8.0`
268
+
269
+ Internal changes.
270
+
271
+ #### `@mui/x-date-pickers-pro@8.8.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
272
+
273
+ Same changes as in `@mui/x-date-pickers@8.8.0`.
274
+
275
+ ### Charts
276
+
277
+ #### `@mui/x-charts@8.8.0`
278
+
279
+ - [charts] Add control to the axis highlight (#17900) @alexfauquette
280
+ - [charts] Avoid processing area plot data if area isn't used in series (#18712) @bernardobelchior
281
+ - [charts] Make smarter default domain limit (#18506) @alexfauquette
282
+
283
+ #### `@mui/x-charts-pro@8.8.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
284
+
285
+ Same changes as in `@mui/x-charts@8.8.0`, plus:
286
+
287
+ - [charts-pro] Add `funnelDirection` to control pyramid direction (#18568) @JCQuintas
288
+ - [charts-pro] Add `onBeforeExport` callback (#18722) @bernardobelchior
289
+ - [charts-pro] Add chart zoom preview (#18267) @bernardobelchior
290
+ - [charts-pro] Allow customizing scatter preview marker size (#18726) @bernardobelchior
291
+ - [charts-pro] Allow disabling the copy of styles in charts export (#18753) @bernardobelchior
292
+
293
+ ### Tree View
294
+
295
+ #### `@mui/x-tree-view@8.8.0`
296
+
297
+ - [tree view] Fix state update that caused scrolling bug when lazy loading and `checkboxSelection` are enabled (#18749) @rita-codes
298
+
299
+ #### `@mui/x-tree-view-pro@8.8.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
300
+
301
+ Same changes as in `@mui/x-tree-view@8.8.0`.
302
+
303
+ ### Codemod
304
+
305
+ #### `@mui/x-codemod@8.8.0`
306
+
307
+ Internal changes.
308
+
309
+ ### Docs
310
+
311
+ - [docs] Add standalone Pyramid chart page to improve SEO (#18527) @prakhargupta1
312
+ - [docs] Add example to customise line interaction (#18539) @alexfauquette
313
+ - [docs] Fix `size` column filtering in files tree demo (#17952) @cherniavskii
314
+ - [docs] Generate `llms.txt` for X and their products (#18595) @siriwatknp
315
+ - [docs] Improve bar chart demos on mobile (#18721) @alexfauquette
316
+ - [docs] Refine charts overview page (#17447) @noraleonte
317
+
318
+ ### Miscellaneous
319
+
320
+ - [code-infra] Ensure all `@mui/*` packages are picked by `Material UI` renovate group (#18711) @LukasTy
321
+ - [code-infra] Fix broken CI (#18716) @LukasTy
322
+ - [code-infra] Refactor `prettier` config resolving (#18720) @LukasTy
323
+ - [test] Increase data points in chart benchmarks (#18714) @bernardobelchior
324
+
8
325
  ## 8.7.0
9
326
 
10
327
  _Jul 4, 2025_
@@ -118,6 +435,7 @@ We'd like to extend a big thank you to the 12 contributors who made this release
118
435
  - 📅 Add `usePickerAdapter` hook to access the date adapter.
119
436
 
120
437
  You can use the adapter in your custom components if you need them to work with multiple date libraries — [Learn more](https://mui.com/x/react-date-pickers/custom-components/#access-date-adapter).
438
+
121
439
  - 🌎 Improve Danish (da-DK) locale
122
440
  - 🌎 Improve German (de-DE) locale
123
441
 
@@ -136,13 +454,13 @@ The following are all team members who have contributed to this release:
136
454
  - [l10n] Improve Danish (da-DK) locale (#18428) @ShahrazH
137
455
  - [l10n] Improve German (de-DE) locale (#18388) @omalyutin
138
456
 
139
- #### `@mui/x-data-grid-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
457
+ #### `@mui/x-data-grid-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
140
458
 
141
459
  Same changes as in `@mui/x-data-grid@8.6.0`, plus:
142
460
 
143
461
  - [DataGridPro] Fix lazy loading params calculated from rendering context (#18460) @arminmeh
144
462
 
145
- #### `@mui/x-data-grid-premium@8.6.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")
463
+ #### `@mui/x-data-grid-premium@8.6.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
146
464
 
147
465
  Same changes as in `@mui/x-data-grid-pro@8.6.0`.
148
466
 
@@ -154,7 +472,7 @@ Same changes as in `@mui/x-data-grid-pro@8.6.0`.
154
472
  - [pickers] Fix to use latest `value` when updating `lastCommittedValue` in internal state (#18518) @LukasTy
155
473
  - [pickers] Use `usePickerAdapter` hook internally instead of `useUtils` (#18465) @LukasTy
156
474
 
157
- #### `@mui/x-date-pickers-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
475
+ #### `@mui/x-date-pickers-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
158
476
 
159
477
  Same changes as in `@mui/x-date-pickers@8.6.0`.
160
478
 
@@ -171,7 +489,7 @@ Same changes as in `@mui/x-date-pickers@8.6.0`.
171
489
  - [charts] Improve touch behavior for polar axis (#18531) @JCQuintas
172
490
  - [charts] Add `isElementInside` helper (#18530) @JCQuintas
173
491
 
174
- #### `@mui/x-charts-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
492
+ #### `@mui/x-charts-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
175
493
 
176
494
  Same changes as in `@mui/x-charts@8.6.0`, plus:
177
495
 
@@ -185,7 +503,7 @@ Same changes as in `@mui/x-charts@8.6.0`, plus:
185
503
 
186
504
  Internal changes.
187
505
 
188
- #### `@mui/x-tree-view-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
506
+ #### `@mui/x-tree-view-pro@8.6.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
189
507
 
190
508
  Same changes as in `@mui/x-tree-view@8.6.0`, plus:
191
509
 
@@ -1400,7 +1718,6 @@ Same changes as in `@mui/x-date-pickers@8.0.0-beta.3`.
1400
1718
 
1401
1719
  - Removed `react-spring` as a dependency of `@mui/x-charts`.
1402
1720
  A consequence of this change is that the props of some slots have been changed because the `SpringValue` wrapper has been removed. The affected slots and props are:
1403
-
1404
1721
  - the type of the `x`, `y`, `width` and `height` props of the `bar` slot are now `number`;
1405
1722
  - the type of `startAngle`, `endAngle`, `innerRadius`, `outerRadius`, `arcLabelRadius`, `cornerRadius` and `paddingAngle` props of `pieArc` and `pieArcLabel` slot are now `number`.
1406
1723
 
@@ -1968,7 +2285,6 @@ Following are all team members who have contributed to this release:
1968
2285
  - The `slots.baseFormControl` component was removed.
1969
2286
 
1970
2287
  - The "Reset" button in the column visibility panel now resets to the initial column visibility model. Previously it was reset to the model that was active at the time the panel was opened. The reset behavior follows these rules:
1971
-
1972
2288
  1. If an initial `columnVisibilityModel` is provided, it resets to that model.
1973
2289
  2. If a controlled `columnVisibilityModel` is provided, it resets to the first model value.
1974
2290
  3. When the columns are updated (via the `columns` prop or `updateColumns()` API method), the reset reference point updates to the current `columnVisibilityModel`.
@@ -1991,7 +2307,6 @@ Following are all team members who have contributed to this release:
1991
2307
  The `exclude` selection type allows to select all rows except the ones in the `ids` set.
1992
2308
 
1993
2309
  This change impacts the following props:
1994
-
1995
2310
  - `rowSelectionModel`
1996
2311
  - `onRowSelectionModelChange`
1997
2312
  - `initialState.rowSelectionModel`
@@ -2315,7 +2630,6 @@ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.12`, plus:
2315
2630
  - The `aria-label` on the `<Clock />` component and Time Picker opening button has been fixed to rely on the set `ampm` property instead of defaulting to the user's locale.
2316
2631
 
2317
2632
  - The following unused formats have been removed from the adapters and can no longer be overridden via the `dateFormats` prop on the `<LocalizationProvider />` component:
2318
-
2319
2633
  - `fullTime` - please use `fullTime12h` and `fullTime24h` instead:
2320
2634
  ```diff
2321
2635
  <LocalizationProvider
@@ -2530,7 +2844,6 @@ Following are all team members who have contributed to this release:
2530
2844
 
2531
2845
  - `viewportInnerSize.width` now includes pinned columns' widths (fixes recursive loops in updating dimensions <-> columns)
2532
2846
  - The Data Grid now has a default background color, and its customization has moved from `theme.mixins.MuiDataGrid` to `theme.palette.DataGrid` with the following properties:
2533
-
2534
2847
  - `bg`: Sets the background color of the entire grid (new property)
2535
2848
  - `headerBg`: Sets the background color of the header (previously named `containerBackground`)
2536
2849
  - `pinnedBg`: Sets the background color of pinned rows and columns (previously named `pinnedBackground`)
@@ -2559,7 +2872,6 @@ Following are all team members who have contributed to this release:
2559
2872
  Only the initial value and the type are updated. Logic that initializes the API and its availability remained the same, which means that if you could access API in a particular line of your code before, you are able to access it as well after this change.
2560
2873
 
2561
2874
  Depending on the context in which the API is being used, you can decide what is the best way to deal with `null` value. Some options are:
2562
-
2563
2875
  - Use optional chaining
2564
2876
  - Use non-null assertion operator if you are sure your code is always executed when the `apiRef` is not `null`
2565
2877
  - Return early if `apiRef` is `null`
@@ -3083,7 +3395,6 @@ Following are all team members who have contributed to this release:
3083
3395
  #### Breaking changes
3084
3396
 
3085
3397
  - Passing additional props (like `data-*`, `aria-*`) directly on the Data Grid component is no longer supported. To pass the props, use `slotProps`:
3086
-
3087
3398
  - For `.root` element, use `slotProps.root`.
3088
3399
  - For `.main` element (the one with `role="grid"`), use `slotProps.main`.
3089
3400
 
@@ -3600,14 +3911,12 @@ Same changes as in `@mui/x-date-pickers@v8.0.0-alpha.1`, plus:
3600
3911
  #### Breaking change
3601
3912
 
3602
3913
  - The DX of the Tooltip customization has been refactored
3603
-
3604
3914
  - The `tooltip` prop has been removed in favor of `slotProps.tooltip` for consistency.
3605
3915
  - The `popper`, `axisContent`, and `itemContent` slots have been removed in favor of the `tooltip` slot which overrides the entire tooltip.
3606
3916
  - To override the tooltip content, use the `useItemTooltip` or `useAxisTooltip` hook to get the data, and wrap your component in `ChartsTooltipContainer` to follow the pointer position.
3607
3917
  - To override the tooltip placement, use the `ChartsItemTooltipContent` or `ChartsItemTooltipContent` to get default data and place them in your custom tooltip.
3608
3918
 
3609
3919
  - The library now uses the SVG `filter` attribute instead of `d3-color` for color manipulation.
3610
-
3611
3920
  - This modification impacts the `LinePlot`, `AreaPlot`, and `BarPlot` components.
3612
3921
  If you've customized the `fill` of those elements, you might need to override it by using the CSS `filter`.
3613
3922
  - The `theme.styleOverride` is removed for `MuiLineElement`, `MuiAreaElement`, and `MuiBarElement` to improve performance.
@@ -3717,14 +4026,12 @@ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.0`, plus:
3717
4026
  #### Breaking changes
3718
4027
 
3719
4028
  - The default DOM structure of the field has changed [Learn more](https://mui.com/x/migration/migration-pickers-v7/#new-dom-structure-for-the-field).
3720
-
3721
4029
  - Before version `v8.x`, the fields' DOM structure consisted of an `<input />`, which held the whole value for the component, but unfortunately presents a few limitations in terms of accessibility when managing multiple section values.
3722
4030
  - Starting with version `v8.x`, all the field and picker components come with a new DOM structure that allows the field component to set aria attributes on individual sections, providing a far better experience with screen readers.
3723
4031
 
3724
4032
  - Some translation keys no longer require `utils` and the date object as parameters, but only the formatted value as a string. The keys affected by this changes are: `clockLabelText`, `openDatePickerDialogue` and `openTimePickerDialogue` — [Learn more](https://mui.com/x/migration/migration-pickers-v7/#stop-passing-utils-and-the-date-object-to-some-translation-keys).
3725
4033
 
3726
4034
  - The following types are no longer exported by `@mui/x-date-pickers` and `@mui/x-date-pickers-pro` — [Learn more](https://mui.com/x/migration/migration-pickers-v7/#removed-types).
3727
-
3728
4035
  - `UseDateFieldComponentProps`
3729
4036
  - `UseTimeFieldComponentProps`
3730
4037
  - `UseDateTimeFieldComponentProps`
@@ -3772,7 +4079,6 @@ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.0`.
3772
4079
  - The `slots.legend` does not receive the `drawingArea` prop. You can still access your custom legend with the `useDrawingArea()` hook if your custom legend needs it.
3773
4080
 
3774
4081
  - Removed or renamed multiple props from Series — [Learn more](https://mui.com/x/migration/migration-charts-v7/#series-properties-renaming).
3775
-
3776
4082
  - The `highlighted` and `faded` properties of highlightScope have been deprecated in favor of `highlight` and `fade`.
3777
4083
  The deprecated ones are now removed.
3778
4084
  - The `xAxisKey`, `yAxisKey`, and `zAxisKey` properties have been deprecated in favor of `xAxisId`, `yAxisId`, and `zAxisId`.
@@ -6036,7 +6342,6 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
6036
6342
  <img width="287" src="https://github.com/user-attachments/assets/78bd83c5-7ce4-4ed7-acf9-be70b2dbce54" alt="Item reordering using drag and drop" />
6037
6343
 
6038
6344
  - 📦 Support CommonJS bundle out of the box on `@mui/x-charts` by adding vendored D3 dependencies.
6039
-
6040
6345
  - This modifies how the package imports D3.js. It will impact you if you use `d3` packages installed by `@mui/x-charts` and don't have them in your `package.json`. You shouldn't be affected otherwise.
6041
6346
  - For more context, the initial issue is caused by D3 only exporting ESM.
6042
6347
 
@@ -7571,7 +7876,6 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
7571
7876
  #### Breaking changes
7572
7877
 
7573
7878
  - The `density` is a [controlled prop](https://mui.com/x/react-data-grid/accessibility/#set-the-density-programmatically) now, if you were previously passing the `density` prop to the Data Grid, you will need to do one of the following:
7574
-
7575
7879
  1. Move it to the `initialState.density` to initialize it.
7576
7880
 
7577
7881
  ```diff
@@ -8077,7 +8381,6 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-beta.4`.
8077
8381
  ```
8078
8382
 
8079
8383
  - The following internal types were exported by mistake and have been removed from the public API:
8080
-
8081
8384
  - `UseDateFieldDefaultizedProps`
8082
8385
  - `UseTimeFieldDefaultizedProps`
8083
8386
  - `UseDateTimeFieldDefaultizedProps`
@@ -8318,7 +8621,6 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
8318
8621
  - 🎁 The Line Chart component now has animation by default (#11620) @alexfauquette
8319
8622
  - 🚀 All charts have click handlers (#11411) @alexfauquette
8320
8623
  Test their respective documentation demonstrations to know more about the data format:
8321
-
8322
8624
  - [Scatter Chart](https://v7.mui.com/x/react-charts/scatter/#click-event)
8323
8625
  - [Line Chart](https://v7.mui.com/x/react-charts/lines/#click-event)
8324
8626
  - [Bar Chart](https://v7.mui.com/x/react-charts/bars/#click-event)
@@ -8598,7 +8900,6 @@ We'd like to offer a big thanks to the 11 contributors who made this release pos
8598
8900
  ```
8599
8901
 
8600
8902
  The most notable changes that might affect your application or tests are:
8601
-
8602
8903
  - The `role="grid"` attribute along with related ARIA attributes are now applied to the inner `div` element instead of the root `div` element:
8603
8904
 
8604
8905
  ```diff
@@ -9149,7 +9450,6 @@ We'd like to offer a big thanks to the 6 contributors who made this release poss
9149
9450
 
9150
9451
  - The filter panel no longer uses the native version of the [`Select`](https://mui.com/material-ui/react-select/) component for all components.
9151
9452
  - The `getOptionValue` and `getOptionLabel` props were removed from the following components:
9152
-
9153
9453
  - `GridEditSingleSelectCell`
9154
9454
  - `GridFilterInputSingleSelect`
9155
9455
  - `GridFilterInputMultipleSingleSelect`
@@ -9563,7 +9863,6 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.3`, plus:
9563
9863
  - Add new parameters to the `shortcuts` slot `onChange` callback
9564
9864
 
9565
9865
  The `onChange` callback fired when selecting a shortcut now requires two new parameters (previously they were optional):
9566
-
9567
9866
  - The [`changeImportance`](/x/react-date-pickers/shortcuts/#behavior-when-selecting-a-shortcut) of the shortcut.
9568
9867
  - The `item` containing the entire shortcut object.
9569
9868
 
@@ -0,0 +1 @@
1
+ export declare function roundToDecimalPlaces(value: number, decimals: number): number;
@@ -0,0 +1,3 @@
1
+ export function roundToDecimalPlaces(value, decimals) {
2
+ return Math.round(value * 10 ** decimals) / 10 ** decimals;
3
+ }
@@ -0,0 +1,7 @@
1
+ export declare const isFirefox: boolean;
2
+ export declare const isJSDOM: boolean;
3
+ declare const _default: {
4
+ isFirefox: boolean;
5
+ isJSDOM: boolean;
6
+ };
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ const userAgent = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : 'empty';
2
+ export const isFirefox = userAgent.includes('firefox');
3
+ export const isJSDOM = typeof window !== 'undefined' && /jsdom|HappyDOM/.test(window.navigator.userAgent);
4
+ export default {
5
+ isFirefox,
6
+ isJSDOM
7
+ };
@@ -2,12 +2,14 @@ type Listener<T> = (value: T) => void;
2
2
  export declare class Store<State> {
3
3
  state: State;
4
4
  private listeners;
5
+ private isUpdating;
6
+ private needsReset;
5
7
  static create<T>(state: T): Store<T>;
6
8
  constructor(state: State);
7
9
  subscribe: (fn: Listener<State>) => () => void;
8
10
  getSnapshot: () => State;
9
- update: (newState: State) => void;
10
- apply(changes: Partial<State>): void;
11
+ setState(newState: State): void;
12
+ update(changes: Partial<State>): void;
11
13
  set<T>(key: keyof State, value: T): void;
12
14
  }
13
15
  export {};
@@ -1,11 +1,18 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ /* eslint-disable no-cond-assign */
3
+ /* eslint-disable lines-between-class-members */
4
+
2
5
  export class Store {
3
6
  static create(state) {
4
7
  return new Store(state);
5
8
  }
6
9
  constructor(state) {
7
10
  this.state = void 0;
11
+ // HACK: `any` fixes adding listeners that accept partial state.
8
12
  this.listeners = void 0;
13
+ // Internal state to handle recursive `setState()` calls
14
+ this.isUpdating = void 0;
15
+ this.needsReset = void 0;
9
16
  this.subscribe = fn => {
10
17
  this.listeners.add(fn);
11
18
  return () => {
@@ -15,26 +22,42 @@ export class Store {
15
22
  this.getSnapshot = () => {
16
23
  return this.state;
17
24
  };
18
- this.update = newState => {
19
- if (this.state !== newState) {
20
- this.state = newState;
21
- this.listeners.forEach(l => l(newState));
22
- }
23
- };
24
25
  this.state = state;
25
26
  this.listeners = new Set();
27
+ this.isUpdating = false;
28
+ this.needsReset = false;
29
+ }
30
+ setState(newState) {
31
+ this.state = newState;
32
+ if (this.isUpdating) {
33
+ this.needsReset = true;
34
+ return;
35
+ }
36
+ this.isUpdating = true;
37
+ let it = this.listeners.values();
38
+ let result;
39
+ while (result = it.next(), !result.done) {
40
+ if (this.needsReset) {
41
+ this.needsReset = false;
42
+ it = this.listeners.values();
43
+ continue;
44
+ }
45
+ const listener = result.value;
46
+ listener(newState);
47
+ }
48
+ this.isUpdating = false;
26
49
  }
27
- apply(changes) {
50
+ update(changes) {
28
51
  for (const key in changes) {
29
52
  if (!Object.is(this.state[key], changes[key])) {
30
- this.update(_extends({}, this.state, changes));
53
+ this.setState(_extends({}, this.state, changes));
31
54
  return;
32
55
  }
33
56
  }
34
57
  }
35
58
  set(key, value) {
36
59
  if (!Object.is(this.state[key], value)) {
37
- this.update(_extends({}, this.state, {
60
+ this.setState(_extends({}, this.state, {
38
61
  [key]: value
39
62
  }));
40
63
  }
@@ -58,11 +58,11 @@ export const createSelector = (a, b, c, d, e, f, ...other) => {
58
58
  };
59
59
  /* eslint-enable id-denylist */
60
60
 
61
- export const createSelectorMemoized = (...selectors) => {
61
+ export const createSelectorMemoized = (...inputs) => {
62
62
  const cache = new WeakMap();
63
63
  let nextCacheId = 1;
64
- const combiner = selectors[selectors.length - 1];
65
- const nSelectors = selectors.length - 1 || 1;
64
+ const combiner = inputs[inputs.length - 1];
65
+ const nSelectors = inputs.length - 1 || 1;
66
66
  // (s1, s2, ..., sN, a1, a2, a3) => { ... }
67
67
  const argsLength = Math.max(combiner.length - nSelectors, 0);
68
68
  if (argsLength > 3) {
@@ -81,7 +81,8 @@ export const createSelectorMemoized = (...selectors) => {
81
81
  }
82
82
  let fn = cache.get(cacheKey);
83
83
  if (!fn) {
84
- let reselectArgs = selectors;
84
+ const selectors = inputs.length === 1 ? [x => x, combiner] : inputs;
85
+ let reselectArgs = inputs;
85
86
  const selectorArgs = [undefined, undefined, undefined];
86
87
  switch (argsLength) {
87
88
  case 0:
@@ -1,2 +1,4 @@
1
1
  export * from "./createSelector.js";
2
+ export * from "./useStore.js";
3
+ export * from "./useStoreEffect.js";
2
4
  export * from "./Store.js";
@@ -1,2 +1,4 @@
1
1
  export * from "./createSelector.js";
2
+ export * from "./useStore.js";
3
+ export * from "./useStoreEffect.js";
2
4
  export * from "./Store.js";