@mui/x-internals 8.11.3 → 8.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,358 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.13.1
9
+
10
+ _Oct 1, 2025_
11
+
12
+ - 🐛 Fix `@mui/x-charts-pro` failure on import due to missing `@mui/x-internals` release
13
+
14
+ ### Data Grid
15
+
16
+ #### `@mui/x-data-grid@8.13.1`
17
+
18
+ Internal changes.
19
+
20
+ #### `@mui/x-data-grid-pro@8.13.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
21
+
22
+ Same changes as in `@mui/x-data-grid@8.13.1`.
23
+
24
+ #### `@mui/x-data-grid-premium@8.13.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
25
+
26
+ Same changes as in `@mui/x-data-grid-pro@8.13.1`.
27
+
28
+ ### Date and Time Pickers
29
+
30
+ #### `@mui/x-date-pickers@8.12.0`
31
+
32
+ Internal changes.
33
+
34
+ #### `@mui/x-date-pickers-pro@8.12.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
35
+
36
+ Same changes as in `@mui/x-date-pickers@8.12.0`.
37
+
38
+ ### Charts
39
+
40
+ #### `@mui/x-charts@8.13.1`
41
+
42
+ Internal changes.
43
+
44
+ #### `@mui/x-charts-pro@8.13.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
45
+
46
+ Same changes as in `@mui/x-charts@8.13.1`, plus:
47
+
48
+ - [charts-pro] Fix `@mui/x-charts-pro` failure on import due to missing `@mui/x-internals` release @bernardobelchior
49
+
50
+ #### `@mui/x-charts-premium@8.13.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
51
+
52
+ Same changes as in `@mui/x-charts-pro@8.13.1`.
53
+
54
+ ### Tree View
55
+
56
+ #### `@mui/x-tree-view@8.13.1`
57
+
58
+ Internal changes.
59
+
60
+ #### `@mui/x-tree-view-pro@8.13.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
61
+
62
+ Same changes as in `@mui/x-tree-view@8.13.1`.
63
+
64
+ ### Codemod
65
+
66
+ #### `@mui/x-codemod@8.12.0`
67
+
68
+ Internal changes.
69
+
70
+ ## 8.13.0
71
+
72
+ _Oct 1, 2025_
73
+
74
+ We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
75
+
76
+ - 📊 The chart zoom now supports the `tapAndDrag` gesture. Zoom in/out by tapping twice and dragging vertically.
77
+ - 🔎 Charts now allow [fine-grained control for zoom interactions](https://mui.com/x/react-charts/zoom-and-pan/#zoom-interactions-configuration).
78
+ ```jsx
79
+ <BarChartPro
80
+ zoomInteractionConfig={{
81
+ // Only zoom when Control key is pressed
82
+ zoom: [{ type: 'wheel', keys: ['Control'] }],
83
+ // Only pan when Shift key is pressed
84
+ pan: [{ type: 'drag', keys: ['Shift'] }],
85
+ }}
86
+ />
87
+ ```
88
+ - ➡️ Data Grid grouping rows now persist their expansion state when the rows are updated.
89
+ - 📜 Updated Data Grid vertical scrollbar to include pinned rows and aggregation sections.
90
+ - 📌 Improved the appearance of [pinned columns](https://mui.com/x/react-data-grid/column-pinning/#pinned-columns-appearance) and [pinned rows](https://mui.com/x/react-data-grid/row-pinning/#pinned-rows-appearance) sections in the Data Grid.
91
+ - 🚀 Tree View now fetches the children of expanded items on mount when using lazy loading.
92
+ - 🐞 Bugfixes
93
+ - 📚 Documentation improvements
94
+
95
+ Special thanks go out to the community members for their valuable contributions:
96
+ @sai6855
97
+
98
+ The following are all team members who have contributed to this release:
99
+ @alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @KenanYusuf, @mapache-salvaje, @MBilalShafi, @mnajdova, @rita-codes, @siriwatknp
100
+
101
+ ### Data Grid
102
+
103
+ #### `@mui/x-data-grid@8.13.0`
104
+
105
+ - [DataGrid] Add scroll shadows and fix scrollbar overlap (#16476) @KenanYusuf
106
+ - [DataGrid] Fix row spanning stale state issue (#19733) @MBilalShafi
107
+ - [DataGrid] Fix toolbar `slotProps` not being applied (#19769) @sai6855
108
+ - [DataGrid] Skip calling `fetchRows()` when strategy is not initialized (#19728) @MBilalShafi
109
+
110
+ #### `@mui/x-data-grid-pro@8.13.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
111
+
112
+ Same changes as in `@mui/x-data-grid@8.13.0`, plus:
113
+
114
+ - [DataGridPro] Retain expansion state on rows update (#19697) @MBilalShafi
115
+
116
+ #### `@mui/x-data-grid-premium@8.13.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
117
+
118
+ Same changes as in `@mui/x-data-grid-pro@8.13.0`, plus:
119
+
120
+ - [DataGridPremium] Add `metadata.referenceId` to AI assistant prompt resolver (#19695) @hasdfa
121
+ - [DataGridPremium] Fix aggregation value retrieval (#19724) @arminmeh
122
+ - [DataGridPremium] Get correct active chart id while rebuilding data (#19720) @arminmeh
123
+
124
+ ### Date and Time Pickers
125
+
126
+ #### `@mui/x-date-pickers@8.12.0`
127
+
128
+ Internal changes.
129
+
130
+ #### `@mui/x-date-pickers-pro@8.12.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
131
+
132
+ Same changes as in `@mui/x-date-pickers@8.12.0`.
133
+
134
+ ### Charts
135
+
136
+ #### `@mui/x-charts@8.13.0`
137
+
138
+ - [charts] Add `tapAndDrag` zoom gesture (#19727) @JCQuintas
139
+ - [charts] Add arc focus indicator that follows the arc form (#19696) @mnajdova
140
+ - [charts] Fix outline color (#19752) @alexfauquette
141
+ - [charts] Improve tooltip doc (#19731) @JCQuintas
142
+ - [charts] Make axis highlight reflect the keyboard interaction (#19631) @alexfauquette
143
+ - [charts] Prevent horizontal scroll on keyboard navigation (#19704) @alexfauquette
144
+ - [charts] Simplify gestures by removing bindings (#19767) @JCQuintas
145
+
146
+ #### `@mui/x-charts-pro@8.13.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
147
+
148
+ Same changes as in `@mui/x-charts@8.13.0`, plus:
149
+
150
+ - [charts-pro] Allow zoom interactions to be configured (#18646) @JCQuintas
151
+ - [charts-pro] Fix zoom preview having wrong domain in some cases (#19723) @bernardobelchior
152
+
153
+ #### `@mui/x-charts-premium@8.13.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
154
+
155
+ Same changes as in `@mui/x-charts-pro@8.13.0`.
156
+
157
+ ### Tree View
158
+
159
+ #### `@mui/x-tree-view@8.13.0`
160
+
161
+ - [tree view] Export the `apiRef` type of each Tree View component (#19543) @flaviendelangle
162
+ - [tree view] Fix indeterminate checkbox state (#19544) @flaviendelangle
163
+ - [tree view] Improve the lazy loading initial expansion (#19284) @flaviendelangle
164
+ - [tree view] Use Base UI utils whenever possible (#19502) @flaviendelangle
165
+
166
+ #### `@mui/x-tree-view-pro@8.13.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
167
+
168
+ Same changes as in `@mui/x-tree-view@8.13.0`.
169
+
170
+ ### Codemod
171
+
172
+ #### `@mui/x-codemod@8.12.0`
173
+
174
+ Internal changes.
175
+
176
+ ### Docs
177
+
178
+ - [docs] Add a recipe to customize editing component with Autocomplete (#19651) @siriwatknp
179
+ - [docs] Refine the electricity scatter tooltip (#19689) @alexfauquette
180
+ - [docs] Revise the Axis doc (#19052) @mapache-salvaje
181
+ - [docs] Remove reference to nonexistent `FocusedMark` API page (#19773) @bernardobelchior
182
+
183
+ ### Core
184
+
185
+ - [code-infra] Change charts codspeed integration to use walltime (#19729) @JCQuintas
186
+ - [code-infra] Port stylelint from core repo (#19633) @Janpot
187
+ - [code-infra] Stabilize fake timers in regression tests (#19719) @Janpot
188
+ - [code-infra] Stabilize size for bundles with `releaseInfo` (#19674) @Janpot
189
+ - [code-infra] Fix `pnpm-lock.yaml` broken lockfile (#19755) @bernardobelchior
190
+
191
+ ## 8.12.1
192
+
193
+ _Sep 25, 2025_
194
+
195
+ Release highlight ✨:
196
+
197
+ - 🐞 Hotfix for Grid-Charts integration issue with aggregated values
198
+
199
+ ### Data Grid
200
+
201
+ #### `@mui/x-data-grid@8.12.1`
202
+
203
+ Internal changes.
204
+
205
+ #### `@mui/x-data-grid-pro@8.12.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
206
+
207
+ Same changes as in `@mui/x-data-grid@8.12.1`.
208
+
209
+ #### `@mui/x-data-grid-premium@8.12.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
210
+
211
+ Same changes as in `@mui/x-data-grid-pro@8.12.1`, plus:
212
+
213
+ - [DataGridPremium] Collect aggregated values properly for the charts integration context (#19714) @arminmeh
214
+
215
+ ## 8.12.0
216
+
217
+ _Sep 25, 2025_
218
+
219
+ We'd like to extend a big thank you to the 15 contributors who made this release possible. Here are some highlights ✨:
220
+
221
+ - 🤝 Grid-Charts integration
222
+
223
+ ![Grid x Charts](https://github.com/user-attachments/assets/0817c36f-f87f-4688-8f30-fa0db638ca8c)
224
+
225
+ 👉 [🎥 Watch the full video](https://github.com/user-attachments/assets/28f1848e-dc85-4077-8756-a3e88afd4e54)
226
+
227
+ - ⌨️ Charts keyboard navigation
228
+ - ⚡️ Charts: Add new `renderer="svg-batch"` prop to Scatter charts that provides improved performance for large datasets
229
+ - 🐞 Bugfixes
230
+ - 📚 Documentation improvements
231
+ - 🧰 Codemod requires Node >=20.19
232
+
233
+ `@mui/x-codemod` minimum supported Node version is `20.19`.
234
+ This was only the case due to using the v18 `yargs` package; this now explicitly aligns with it. (#18979)
235
+
236
+ Special thanks go out to the community members for their valuable contributions:
237
+ @deade1e, @sai6855, @thomas-mcdonald
238
+
239
+ The following are all team members who have contributed to this release:
240
+ @alexfauquette, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @michelengelen, @prakhargupta1, @rita-codes, @siriwatknp, @arminmeh, @romgrk
241
+
242
+ ### Data Grid
243
+
244
+ #### `@mui/x-data-grid@8.12.0`
245
+
246
+ - [DataGrid] Fix flex column width diff calculation while resizing (#19667) @arminmeh
247
+
248
+ #### `@mui/x-data-grid-pro@8.12.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
249
+
250
+ Same changes as in `@mui/x-data-grid@8.12.0`.
251
+
252
+ #### `@mui/x-data-grid-premium@8.12.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
253
+
254
+ Same changes as in `@mui/x-data-grid-pro@8.12.0`, plus:
255
+
256
+ - [DataGridPremium] Grid-Charts integration (#18021) @arminmeh
257
+ - [DataGridPremium] Fix sorting and filtering of the tree group columns with aggregation (#19607) @arminmeh
258
+ - [DataGridPremium] Disable aggregation on the grouping column by default (#19692) @arminmeh
259
+ - [DataGridPremium] Do not rely on the group separation constant to retrieve the column name for the charts panel (#19677) @arminmeh
260
+ - [DataGridPremium] Fix stale aggregation state (#19690) @arminmeh
261
+ - [DataGridPremium] Fix pivot column being hidden on autosizing (#19699) @cherniavskii
262
+
263
+ ### Date and Time Pickers
264
+
265
+ #### `@mui/x-date-pickers@8.12.0`
266
+
267
+ - [pickers] Ensure reference value is not updated for invalid values (#19635) @michelengelen
268
+ - [pickers] Fix `slotProps.textField.slotProps.htmlInput` resolution (#19713) @LukasTy
269
+ - [pickers] Preserve time format when using single column layout on Time Range Picker (#19626) @sai6855
270
+ - [pickers] Preserve time format when using single column layout on Date Time Picker and Date Time Range Picker (#19608) @sai6855
271
+
272
+ #### `@mui/x-date-pickers-pro@8.12.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
273
+
274
+ Same changes as in `@mui/x-date-pickers@8.12.0`.
275
+
276
+ ### Charts
277
+
278
+ #### `@mui/x-charts@8.12.0`
279
+
280
+ - [charts] Add batch renderer for scatter chart (#19075) @bernardobelchior
281
+ - [charts] Add renderer suffix to performance benchmarks (#19620) @bernardobelchior
282
+ - [charts] Document how plugins can be used (#19343) @alexfauquette
283
+ - [charts] Export chart plugins per series type (#19337) @alexfauquette
284
+ - [charts] Export plugins (#19335) @alexfauquette
285
+ - [charts] Fix horizontal layout and toolbar (#19655) @alexfauquette
286
+ - [charts] Fix performance issue with JS animations (#19606) @bernardobelchior
287
+ - [charts] Fix piecewise scale causing wrong colors in axis with min/max (#19610) @bernardobelchior
288
+ - [charts] Fix zoom discard inconsistency (#19535) @bernardobelchior
289
+ - [charts] Introduce keyboard navigation (#19155) @alexfauquette
290
+ - [charts] Refactor `getAxisExtremum` (#19627) @bernardobelchior
291
+ - [charts] Remove unused code path from `getAxisScale` (#19673) @bernardobelchior
292
+ - [charts] Make new hideLegend prop on ChartWrapper optional (#19694) @thomas-mcdonald
293
+ - [charts] Fix chart crash in test environment (#19711) @JCQuintas
294
+
295
+ #### `@mui/x-charts-pro@8.12.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
296
+
297
+ Same changes as in `@mui/x-charts@8.12.0`, plus:
298
+
299
+ - [charts-pro] Add `valueFormatter` to sankey (#19636) @JCQuintas
300
+ - [charts-pro] Allow `source/target` keywords in sankey link color (#19634) @JCQuintas
301
+ - [charts-pro] Allow exporting `SankeyChart` (#19659) @JCQuintas
302
+ - [charts-pro] Fix axis inversion when using axis `max` and `filterMode: 'discard'` (#19200) @bernardobelchior
303
+
304
+ #### `@mui/x-charts-premium@8.12.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
305
+
306
+ Same changes as in `@mui/x-charts-pro@8.12.0`, plus:
307
+
308
+ - [charts-premium] Grid-Charts integration (#18021) @arminmeh
309
+
310
+ ### Tree View
311
+
312
+ #### `@mui/x-tree-view@8.12.0`
313
+
314
+ - [tree view] Allow to pass `null` to the icon slots (#19569) @flaviendelangle
315
+ - [tree view] Fix `apiRef.current.isItemExpanded()` method (#19619) @flaviendelangle
316
+
317
+ #### `@mui/x-tree-view-pro@8.12.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
318
+
319
+ Same changes as in `@mui/x-tree-view@8.12.0`.
320
+
321
+ ### Codemod
322
+
323
+ #### `@mui/x-codemod@8.12.0`
324
+
325
+ - [codemod] Bump `engines.node` to `>=20.19` to align with `yargs` package (#18979) @LukasTy
326
+
327
+ ### Docs
328
+
329
+ - [docs] Add missing label to Charts example (#19616) @prakhargupta1
330
+ - [docs] Replace axis type and axis data with a table (#19618) @prakhargupta1
331
+ - [docs] Add Charts example collection page (#18353) @prakhargupta1
332
+ - [docs] Add a Charts demo showcasing bar and scatter composition (#19605) @prakhargupta1
333
+ - [docs] Add composition Charts demo for legends and tooltip (#19602) @prakhargupta1
334
+ - [docs] Add recipe about server-side data export (#19617) @siriwatknp
335
+ - [docs] Clarify DataGrid layout requirements (#19413) @romgrk
336
+ - [docs] Fix `ExportServerSideData` demo layout shift (#19669) @siriwatknp
337
+ - [docs] Improve server-side `updateRow()` description (#19554) @deade1e
338
+ - [docs] Show how to customize drawing area background (#19682) @alexfauquette
339
+ - [docs] Add hook documentation pages (#19334) @Copilot
340
+
341
+ ### Core
342
+
343
+ - [code-infra] Add copilot instructions specific to x repo (#19623) @JCQuintas
344
+ - [code-infra] Load `tsx` files in visual regression (#19595) @JCQuintas
345
+ - [code-infra] Remove renovate automerge (#19501) @Janpot
346
+ - [code-infra] Update `DEFAULT_TIMESTAMP` format to ISO 8601 (#19624) @Janpot
347
+ - [code-infra] Update `findLatestTaggedVersion` to filter tags based on major version (#19693) @michelengelen
348
+ - [code-infra] Fix changelog generation for charts premium (#19701) @JCQuintas
349
+ - [code-infra] Run prettier on `createReleasePR.mjs` (#19702) @bernardobelchior
350
+ - [code-infra] Make `x-charts-premium` releasable (#18959) @JCQuintas
351
+ - [docs-infra] Ensure `create-playground` script only runs if target file is absent (#19603) @michelengelen
352
+ - [docs-infra] Add @prakhargupta1 as a codeowner of the docs (#19679) @alexfauquette
353
+
354
+ ### Miscellaneous
355
+
356
+ - [test] Reduce time for wheel zoom test (#19571) @alexfauquette
357
+ - Change `matchPackageNames` to `matchDepNames` for date-fns-v2 @Janpot
358
+ - Remove groupName for date-fns-v2 in renovate.json @Janpot
359
+
8
360
  ## 8.11.3
9
361
 
10
362
  _Sep 16, 2025_
@@ -27,11 +379,11 @@ The following are all team members who have contributed to this release:
27
379
  - [DataGrid] Fix numeric font size not being applied (#19552) @cherniavskii
28
380
  - [DataGrid] Improve `operator` types to display literal values (#19529) @siriwatknp
29
381
 
30
- #### `@mui/x-data-grid-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
382
+ #### `@mui/x-data-grid-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
31
383
 
32
384
  Same changes as in `@mui/x-data-grid@8.11.3`.
33
385
 
34
- #### `@mui/x-data-grid-premium@8.11.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")
386
+ #### `@mui/x-data-grid-premium@8.11.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
35
387
 
36
388
  Same changes as in `@mui/x-data-grid-pro@8.11.3`.
37
389
 
@@ -41,7 +393,7 @@ Same changes as in `@mui/x-data-grid-pro@8.11.3`.
41
393
 
42
394
  - [pickers] Refactor `slots` and `slotProps` propagation strategy (#18867) @LukasTy
43
395
 
44
- #### `@mui/x-date-pickers-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
396
+ #### `@mui/x-date-pickers-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
45
397
 
46
398
  Same changes as in `@mui/x-date-pickers@8.11.3`.
47
399
 
@@ -55,7 +407,7 @@ Same changes as in `@mui/x-date-pickers@8.11.3`.
55
407
  - [charts] Rename `isBandScale` to `isDiscreteScale` (#19514) @bernardobelchior
56
408
  - [charts] Fix legend position affecting toolbar's position (#19257) @sai6855
57
409
 
58
- #### `@mui/x-charts-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
410
+ #### `@mui/x-charts-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
59
411
 
60
412
  Same changes as in `@mui/x-charts@8.11.3`, plus:
61
413
 
@@ -69,7 +421,7 @@ Same changes as in `@mui/x-charts@8.11.3`, plus:
69
421
  - [tree view] Support flat DOM structure (#19350) @flaviendelangle
70
422
  - [tree view] Update cursor styles for disabled TreeItem (#19548) @sai6855
71
423
 
72
- #### `@mui/x-tree-view-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")
424
+ #### `@mui/x-tree-view-pro@8.11.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
73
425
 
74
426
  Same changes as in `@mui/x-tree-view@8.11.3`.
75
427
 
@@ -83,7 +435,7 @@ Internal changes.
83
435
 
84
436
  - [docs] Add styling row group recipe (#19349) @siriwatknp
85
437
  - [docs] Group demos data into the dataset folder (#19549) @alexfauquette
86
- - [docs] Add `shiny` bar chart example at the top (#19416) @JCQuintas
438
+ - [docs] Add `shiny` bar chart example at the top (#19416) @JCQuintas
87
439
 
88
440
  ### Core
89
441
 
@@ -0,0 +1,77 @@
1
+ import * as React from 'react';
2
+ export type Dataset<T> = {
3
+ id: string;
4
+ label: string;
5
+ data: T[];
6
+ }[];
7
+ export type GridChartsConfiguration = Record<string, string | number | boolean | null>;
8
+ export type ConfigurationCallback<R> = (context: {
9
+ configuration: GridChartsConfiguration;
10
+ dimensions: Dataset<string | number | null>;
11
+ values: Dataset<number | null>;
12
+ }) => R;
13
+ export type GridChartsConfigurationControl = {
14
+ label: string;
15
+ description?: string;
16
+ type: 'boolean' | 'number' | 'string';
17
+ default: boolean | string | number | null;
18
+ isDisabled?: ConfigurationCallback<boolean>;
19
+ isHidden?: ConfigurationCallback<boolean>;
20
+ htmlAttributes?: {
21
+ [key: string]: string;
22
+ };
23
+ } | {
24
+ label: string;
25
+ description?: string;
26
+ type: 'select';
27
+ options: {
28
+ content: React.ReactNode;
29
+ value: string;
30
+ }[];
31
+ default: string;
32
+ isDisabled?: ConfigurationCallback<boolean>;
33
+ isHidden?: ConfigurationCallback<boolean>;
34
+ htmlAttributes?: {
35
+ [key: string]: string;
36
+ };
37
+ };
38
+ export interface GridChartsConfigurationSection {
39
+ id: string;
40
+ label: string;
41
+ controls: {
42
+ [key: string]: GridChartsConfigurationControl;
43
+ };
44
+ }
45
+ /**
46
+ * @example
47
+ * const configuration: GridChartsConfigurationOptions = {
48
+ * 'bar': {
49
+ * 'label': 'Bar',
50
+ * 'icon': <BarChartIcon />,
51
+ * 'dimensionsLabel': 'Categories',
52
+ * 'valuesLabel': 'Series',
53
+ * 'maxDimensions': 1,
54
+ * 'customization': [{
55
+ * 'id': 'mainSection',
56
+ * 'label': 'Main Section',
57
+ * 'controls': {
58
+ * 'height': { label: 'Height', type: 'number', default: 350 },
59
+ * 'layout': { label: 'Layout', type: 'select', default: 'vertical', options: [{ content: 'Vertical', value: 'vertical' }, { content: 'Horizontal', value: 'horizontal' }] },
60
+ * 'stacked': { label: 'Stacked', type: 'boolean', default: false, isHidden: (configuration, dimensions, values) => values.length < 2 },
61
+ * 'hideLegend': { label: 'Hide Legend', type: 'boolean', default: false },
62
+ * },
63
+ * }]
64
+ * },
65
+ * };
66
+ */
67
+ export interface GridChartsConfigurationOptions {
68
+ [key: string]: {
69
+ label: string;
70
+ icon: (props: any) => React.ReactNode;
71
+ customization: GridChartsConfigurationSection[];
72
+ dimensionsLabel?: string;
73
+ valuesLabel?: string;
74
+ maxDimensions?: number;
75
+ maxValues?: number;
76
+ };
77
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,7 @@
1
1
  export * from "./base.js";
2
2
  export * from "./AppendKeys.js";
3
3
  export * from "./DefaultizedProps.js";
4
+ export * from "./GridChartsIntegration.js";
4
5
  export * from "./MakeOptional.js";
5
6
  export * from "./MakeRequired.js";
6
7
  export * from "./MuiEvent.js";
@@ -1,6 +1,7 @@
1
1
  export * from "./base.js";
2
2
  export * from "./AppendKeys.js";
3
3
  export * from "./DefaultizedProps.js";
4
+ export * from "./GridChartsIntegration.js";
4
5
  export * from "./MakeOptional.js";
5
6
  export * from "./MakeRequired.js";
6
7
  export * from "./MuiEvent.js";
@@ -0,0 +1 @@
1
+ export * from "./useEffectAfterFirstRender.js";
@@ -0,0 +1 @@
1
+ export * from "./useEffectAfterFirstRender.js";
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Run an effect only after the first render.
4
+ *
5
+ * @param effect The effect to run after the first render
6
+ * @param deps The dependencies for the effect
7
+ */
8
+ export declare function useEffectAfterFirstRender(effect: React.EffectCallback, deps?: React.DependencyList): void;
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+
5
+ /**
6
+ * Run an effect only after the first render.
7
+ *
8
+ * @param effect The effect to run after the first render
9
+ * @param deps The dependencies for the effect
10
+ */
11
+ export function useEffectAfterFirstRender(effect, deps) {
12
+ const isFirstRender = React.useRef(true);
13
+ React.useEffect(() => {
14
+ if (isFirstRender.current) {
15
+ isFirstRender.current = false;
16
+ return undefined;
17
+ }
18
+ return effect();
19
+ // eslint-disable-next-line react-hooks/exhaustive-deps
20
+ }, deps);
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-internals",
3
- "version": "8.11.3",
3
+ "version": "8.13.1",
4
4
  "author": "MUI Team",
5
5
  "description": "Utility functions for the MUI X packages (internal use only).",
6
6
  "license": "MIT",
@@ -30,7 +30,7 @@
30
30
  "directory": "packages/x-internals"
31
31
  },
32
32
  "dependencies": {
33
- "@babel/runtime": "^7.28.2",
33
+ "@babel/runtime": "^7.28.4",
34
34
  "@mui/utils": "^7.3.2",
35
35
  "reselect": "^5.1.1",
36
36
  "use-sync-external-store": "^1.5.0"
@@ -0,0 +1,77 @@
1
+ import * as React from 'react';
2
+ export type Dataset<T> = {
3
+ id: string;
4
+ label: string;
5
+ data: T[];
6
+ }[];
7
+ export type GridChartsConfiguration = Record<string, string | number | boolean | null>;
8
+ export type ConfigurationCallback<R> = (context: {
9
+ configuration: GridChartsConfiguration;
10
+ dimensions: Dataset<string | number | null>;
11
+ values: Dataset<number | null>;
12
+ }) => R;
13
+ export type GridChartsConfigurationControl = {
14
+ label: string;
15
+ description?: string;
16
+ type: 'boolean' | 'number' | 'string';
17
+ default: boolean | string | number | null;
18
+ isDisabled?: ConfigurationCallback<boolean>;
19
+ isHidden?: ConfigurationCallback<boolean>;
20
+ htmlAttributes?: {
21
+ [key: string]: string;
22
+ };
23
+ } | {
24
+ label: string;
25
+ description?: string;
26
+ type: 'select';
27
+ options: {
28
+ content: React.ReactNode;
29
+ value: string;
30
+ }[];
31
+ default: string;
32
+ isDisabled?: ConfigurationCallback<boolean>;
33
+ isHidden?: ConfigurationCallback<boolean>;
34
+ htmlAttributes?: {
35
+ [key: string]: string;
36
+ };
37
+ };
38
+ export interface GridChartsConfigurationSection {
39
+ id: string;
40
+ label: string;
41
+ controls: {
42
+ [key: string]: GridChartsConfigurationControl;
43
+ };
44
+ }
45
+ /**
46
+ * @example
47
+ * const configuration: GridChartsConfigurationOptions = {
48
+ * 'bar': {
49
+ * 'label': 'Bar',
50
+ * 'icon': <BarChartIcon />,
51
+ * 'dimensionsLabel': 'Categories',
52
+ * 'valuesLabel': 'Series',
53
+ * 'maxDimensions': 1,
54
+ * 'customization': [{
55
+ * 'id': 'mainSection',
56
+ * 'label': 'Main Section',
57
+ * 'controls': {
58
+ * 'height': { label: 'Height', type: 'number', default: 350 },
59
+ * 'layout': { label: 'Layout', type: 'select', default: 'vertical', options: [{ content: 'Vertical', value: 'vertical' }, { content: 'Horizontal', value: 'horizontal' }] },
60
+ * 'stacked': { label: 'Stacked', type: 'boolean', default: false, isHidden: (configuration, dimensions, values) => values.length < 2 },
61
+ * 'hideLegend': { label: 'Hide Legend', type: 'boolean', default: false },
62
+ * },
63
+ * }]
64
+ * },
65
+ * };
66
+ */
67
+ export interface GridChartsConfigurationOptions {
68
+ [key: string]: {
69
+ label: string;
70
+ icon: (props: any) => React.ReactNode;
71
+ customization: GridChartsConfigurationSection[];
72
+ dimensionsLabel?: string;
73
+ valuesLabel?: string;
74
+ maxDimensions?: number;
75
+ maxValues?: number;
76
+ };
77
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/types/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./base.js";
2
2
  export * from "./AppendKeys.js";
3
3
  export * from "./DefaultizedProps.js";
4
+ export * from "./GridChartsIntegration.js";
4
5
  export * from "./MakeOptional.js";
5
6
  export * from "./MakeRequired.js";
6
7
  export * from "./MuiEvent.js";
package/types/index.js CHANGED
@@ -36,6 +36,17 @@ Object.keys(_DefaultizedProps).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _GridChartsIntegration = require("./GridChartsIntegration");
40
+ Object.keys(_GridChartsIntegration).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _GridChartsIntegration[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _GridChartsIntegration[key];
47
+ }
48
+ });
49
+ });
39
50
  var _MakeOptional = require("./MakeOptional");
40
51
  Object.keys(_MakeOptional).forEach(function (key) {
41
52
  if (key === "default" || key === "__esModule") return;
@@ -0,0 +1 @@
1
+ export * from "./useEffectAfterFirstRender.js";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _useEffectAfterFirstRender = require("./useEffectAfterFirstRender");
7
+ Object.keys(_useEffectAfterFirstRender).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useEffectAfterFirstRender[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _useEffectAfterFirstRender[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Run an effect only after the first render.
4
+ *
5
+ * @param effect The effect to run after the first render
6
+ * @param deps The dependencies for the effect
7
+ */
8
+ export declare function useEffectAfterFirstRender(effect: React.EffectCallback, deps?: React.DependencyList): void;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useEffectAfterFirstRender = useEffectAfterFirstRender;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ /**
11
+ * Run an effect only after the first render.
12
+ *
13
+ * @param effect The effect to run after the first render
14
+ * @param deps The dependencies for the effect
15
+ */
16
+ function useEffectAfterFirstRender(effect, deps) {
17
+ const isFirstRender = React.useRef(true);
18
+ React.useEffect(() => {
19
+ if (isFirstRender.current) {
20
+ isFirstRender.current = false;
21
+ return undefined;
22
+ }
23
+ return effect();
24
+ // eslint-disable-next-line react-hooks/exhaustive-deps
25
+ }, deps);
26
+ }