@mui/x-charts-pro 8.0.0-alpha.1 → 8.0.0-alpha.3

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 (37) hide show
  1. package/BarChartPro/BarChartPro.js +0 -4
  2. package/CHANGELOG.md +330 -7
  3. package/ChartContainerPro/ChartContainerPro.js +8 -16
  4. package/ChartContainerPro/useChartContainerProProps.js +0 -2
  5. package/Heatmap/Heatmap.js +0 -4
  6. package/Heatmap/HeatmapTooltip.js +2 -24
  7. package/Heatmap/heatmapClasses.js +2 -1
  8. package/LineChartPro/LineChartPro.js +0 -4
  9. package/ScatterChartPro/ScatterChartPro.js +0 -4
  10. package/context/CartesianProviderPro/createAxisFilterMapper.d.ts +2 -1
  11. package/context/ChartDataProviderPro/ChartDataProviderPro.d.ts +0 -3
  12. package/context/ChartDataProviderPro/ChartDataProviderPro.js +13 -262
  13. package/index.js +1 -1
  14. package/internals/utils/releaseInfo.js +2 -2
  15. package/modern/BarChartPro/BarChartPro.js +0 -4
  16. package/modern/ChartContainerPro/ChartContainerPro.js +8 -16
  17. package/modern/ChartContainerPro/useChartContainerProProps.js +0 -2
  18. package/modern/Heatmap/Heatmap.js +0 -4
  19. package/modern/Heatmap/HeatmapTooltip.js +2 -24
  20. package/modern/Heatmap/heatmapClasses.js +2 -1
  21. package/modern/LineChartPro/LineChartPro.js +0 -4
  22. package/modern/ScatterChartPro/ScatterChartPro.js +0 -4
  23. package/modern/context/ChartDataProviderPro/ChartDataProviderPro.js +13 -262
  24. package/modern/index.js +1 -1
  25. package/modern/internals/utils/releaseInfo.js +2 -2
  26. package/node/BarChartPro/BarChartPro.js +0 -4
  27. package/node/ChartContainerPro/ChartContainerPro.js +8 -16
  28. package/node/ChartContainerPro/useChartContainerProProps.js +0 -2
  29. package/node/Heatmap/Heatmap.js +0 -4
  30. package/node/Heatmap/HeatmapTooltip.js +2 -24
  31. package/node/Heatmap/heatmapClasses.js +5 -4
  32. package/node/LineChartPro/LineChartPro.js +0 -4
  33. package/node/ScatterChartPro/ScatterChartPro.js +0 -4
  34. package/node/context/ChartDataProviderPro/ChartDataProviderPro.js +13 -262
  35. package/node/index.js +1 -1
  36. package/node/internals/utils/releaseInfo.js +4 -3
  37. package/package.json +5 -5
@@ -307,7 +307,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
307
307
  hideTooltip: PropTypes.bool,
308
308
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
309
309
  label: PropTypes.string,
310
- labelFontSize: PropTypes.number,
311
310
  labelStyle: PropTypes.object,
312
311
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
313
312
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -318,7 +317,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
318
317
  slots: PropTypes.object,
319
318
  stroke: PropTypes.string,
320
319
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
321
- tickFontSize: PropTypes.number,
322
320
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
323
321
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
324
322
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -370,7 +368,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
370
368
  hideTooltip: PropTypes.bool,
371
369
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
372
370
  label: PropTypes.string,
373
- labelFontSize: PropTypes.number,
374
371
  labelStyle: PropTypes.object,
375
372
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
376
373
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -381,7 +378,6 @@ process.env.NODE_ENV !== "production" ? BarChartPro.propTypes = {
381
378
  slots: PropTypes.object,
382
379
  stroke: PropTypes.string,
383
380
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
384
- tickFontSize: PropTypes.number,
385
381
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
386
382
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
387
383
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
package/CHANGELOG.md CHANGED
@@ -5,6 +5,235 @@
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.0.0-alpha.3
9
+
10
+ _Dec 5, 2024_
11
+
12
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 💫 Support [Server-side lazy loading](https://mui.com/x/react-data-grid/server-side-data/lazy-loading/) on the Data Grid. Use [data source](https://mui.com/x/react-data-grid/server-side-data/#data-source) to fetch a range of rows on demand and update the rows in the same way as described in [Infinite loading](https://mui.com/x/react-data-grid/row-updates/#infinite-loading) and [Lazy loading](https://mui.com/x/react-data-grid/row-updates/#lazy-loading) without the need to use any additional event listeners and callbacks.
15
+ - 🎯 Improved [data caching](https://mui.com/x/react-data-grid/server-side-data/#data-caching). Check out our [recommendations](https://mui.com/x/react-data-grid/server-side-data/#improving-the-cache-hit-rate) for improving the cache hit rate.
16
+
17
+ Special thanks go out to the community contributors who have helped make this release possible:
18
+ @ihsanberkozcan, @k-rajat19, @perezShaked.
19
+ Following are all team members who have contributed to this release:
20
+ @arminmeh, @cherniavskii, @flaviendelangle, @JCQuintas, @MBilalShafi, @noraleonte.
21
+
22
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
23
+
24
+ ### Data Grid
25
+
26
+ #### Breaking changes
27
+
28
+ - The "Select all" checkbox is now checked when all the selectable rows are selected, ignoring rows that are not selectable because of the `isRowSelectable` prop.
29
+ - The `rowPositionsDebounceMs` prop was removed.
30
+ - The `gridRowsDataRowIdToIdLookupSelector` selector was removed. Use the `gridRowsLookupSelector` selector in combination with the `getRowId()` API method instead.
31
+ ```diff
32
+ -const idToIdLookup = gridRowsDataRowIdToIdLookupSelector(apiRef);
33
+ -const rowId = idToIdLookup[id]
34
+ +const rowsLookup = gridRowsLookupSelector(apiRef);
35
+ +const rowId = apiRef.current.getRowId(rowsLookup[id])
36
+ ```
37
+ - The Grid is now more aligned with the WAI-ARIA authoring practices and sets the `role` attribute to `treegrid` if the Data Grid is used with row grouping feature.
38
+
39
+ #### `@mui/x-data-grid@8.0.0-alpha.3`
40
+
41
+ - [DataGrid] Fix deselection not working with `isRowSelectable` (#15692) @MBilalShafi
42
+ - [DataGrid] Make column autosizing work with flex columns (#15465) @cherniavskii
43
+ - [DataGrid] Remove `gridRowsDataRowIdToIdLookupSelector` selector (#15698) @arminmeh
44
+ - [DataGrid] Remove `rowPositionsDebounceMs` prop (#15482) @k-rajat19
45
+ - [l10n] Improve Hebrew (he-IL) locale (#15699) @perezShaked
46
+ - [l10n] Improve Turkish (tr-TR) locale (#15734) @ihsanberkozcan
47
+
48
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
49
+
50
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.3`, plus:
51
+
52
+ - [DataGridPro] Cleanup pinned rows on removal (#15697) @cherniavskii
53
+ - [DataGridPro] Server-side lazy loading (#13878) @arminmeh
54
+
55
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
56
+
57
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.3`, plus:
58
+
59
+ - [DataGridPremium] Remove the `ariaV8` experimental flag (#15694) @arminmeh
60
+
61
+ ### Date and Time Pickers
62
+
63
+ #### Breaking changes
64
+
65
+ - The `onOpen()` and `onClose()` methods of the `usePickerContext()` hook have been replaced with a single `setOpen` method — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#usepickercontext).
66
+
67
+ #### `@mui/x-date-pickers@8.0.0-alpha.3`
68
+
69
+ - [pickers] Replace the `onOpen()` and `onClose()` methods of `usePickerContext()` with a single `setOpen()` method. (#15701) @flaviendelangle
70
+
71
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
72
+
73
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.3`.
74
+
75
+ ### Charts
76
+
77
+ #### `@mui/x-charts@8.0.0-alpha.3`
78
+
79
+ - [charts] Improve SVG `pattern` and `gradient` support (#15720) @JCQuintas
80
+
81
+ #### `@mui/x-charts-pro@8.0.0-alpha.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
82
+
83
+ Same changes as in `@mui/x-charts@8.0.0-alpha.3`.
84
+
85
+ ### Tree View
86
+
87
+ #### `@mui/x-tree-view@8.0.0-alpha.3`
88
+
89
+ No changes since `@mui/x-tree-view-pro@v8.0.0-alpha.2`.
90
+
91
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
92
+
93
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.3`.
94
+
95
+ ### Docs
96
+
97
+ - [docs] Add a customization demo for the Date and Time Pickers overview page (#15118) @noraleonte
98
+ - [docs] Fix typo in charts axis documentation (#15743) @JCQuintas
99
+ - [docs] Improve SEO titles for the Data Grid (#15695) @MBilalShafi
100
+
101
+ ### Core
102
+
103
+ - [core] Add `@mui/x-tree-view-pro` to `releaseChangelog` (#15316) @flaviendelangle
104
+ - [code-infra] Lock file maintenance (#11894)
105
+ - [code-infra] Check if `preset-safe` folder exists in codemod test (#15703) @JCQuintas
106
+ - [code-infra] Import Pickers `preset-safe` into global codemod config (#15659) @JCQuintas
107
+ - [code-infra] Playwright 1.49 (#15493) @JCQuintas
108
+ - [test] Force hover in headless Chrome (#15710) @cherniavskii
109
+
110
+ ## v8.0.0-alpha.2
111
+
112
+ _Nov 29, 2024_
113
+
114
+ We'd like to offer a big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
115
+
116
+ - 👨🏽‍💻 Improve resize performance on the Data Gird.
117
+ - `<ChartDataProvider />` and `<ChartsSurface />` components are now fully divided — [Learn more](https://next.mui.com/x/react-charts/composition/#overview).
118
+ - Users can create their own HTML components using chart data — [Learn more](https://next.mui.com/x/react-charts/components/#html-components).
119
+ - 🌍 Improve Spanish, Portuguese, Chinese locales on the Data Grid component.
120
+ - 🌍 Improve Dutch locale on the Date and Time Pickers components.
121
+ - 🐞 Bugfixes
122
+ - 📚 Documentation improvements
123
+
124
+ Special thanks go out to the community contributors who have helped make this release possible:
125
+ @dloeda, @headironc, @jedesroches, @k-rajat19, @lauri865, @mathzdev, @nphmuller, @zinoroman.
126
+ Following are all team members who have contributed to this release:
127
+ @arminmeh, @alexfauquette, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi, @oliviertassinari.
128
+
129
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
130
+
131
+ ### Data Grid
132
+
133
+ #### Breaking changes
134
+
135
+ - The `<GridOverlays />` component is not exported anymore.
136
+ - The `indeterminateCheckboxAction` prop has been removed. Clicking on an indeterminate checkbox "selects" the unselected descendants.
137
+ - The `apiRef.current.resize()` method was removed.
138
+ - The default value of the `rowSelectionPropagation` prop has been changed to `{ parents: true, descendants: true }` which means that the selection will be propagated to the parents and descendants by default.
139
+ To revert to the previous behavior, pass `rowSelectionPropagation` as `{ parents: false, descendants: false }`.
140
+ - If `estimatedRowCount` is used, the text provided to the [Table Pagination](/material-ui/api/table-pagination/) component from the Material UI library is updated and requires additional translations. Check the example at the end of [Index-based pagination section](/x/react-data-grid/pagination/#index-based-pagination).
141
+
142
+ #### `@mui/x-data-grid@v8.0.0-alpha.2`
143
+
144
+ - [DataGrid] Change test dom check from `/jsdom/` to `/jsdom|HappyDOM/`. (#15634) @jedesroches
145
+ - [DataGrid] Clear timers on unmount (#15620) @cherniavskii
146
+ - [DataGrid] Fix order of spread props on toolbar items (#15556) @KenanYusuf
147
+ - [DataGrid] Improve resize performance (#15549) @lauri865
148
+ - [DataGrid] Make estimation label more accurate (#15632) @arminmeh
149
+ - [DataGrid] Remove `<GridOverlays />` export (#15573) @k-rajat19
150
+ - [DataGrid] Remove `indeterminateCheckboxAction` prop (#15522) @MBilalShafi
151
+ - [DataGrid] Remove try/catch from `<GridCell />` due to performance issues (#15616) @lauri865
152
+ - [DataGrid] Remove unused `resize` method (#15599) @cherniavskii
153
+ - [DataGrid] Support column virtualization with dynamic row height (#15541) @cherniavskii
154
+ - [DataGrid] Update the default value for `rowSelectionPropagation` (#15523) @MBilalShafi
155
+ - [l10n] Improve Chinese (zh-CN) locale (#15570) @headironc
156
+ - [l10n] Improve Portuguese (pt-PT) locale (#15561) @mathzdev
157
+
158
+ #### `@mui/x-data-grid-pro@v8.0.0-alpha.2` [![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@v8.0.0-alpha.2`, plus:
161
+
162
+ - [DataGridPro] Fix header filtering with `boolean` column type (#15528) @k-rajat19
163
+ - [DataGridPro] Fix pagination state not updating if the data source response has no rows (#15622) @zinoroman
164
+ - [DataGridPro] Fix selection propagation issue on initialization (#15461) @MBilalShafi
165
+
166
+ #### `@mui/x-data-grid-premium@v8.0.0-alpha.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
167
+
168
+ Same changes as in `@mui/x-data-grid-pro@v8.0.0-alpha.2`.
169
+
170
+ ### Date and Time Pickers
171
+
172
+ #### Breaking changes
173
+
174
+ - The props received by the `layout` and the `toolbar` slots have been reworked — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#do-not-pass-the-section-type-as-a-generic).
175
+
176
+ - The `TSection` generic of the `FieldRef` type has been replaced with the `TValue` generic — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slots-breaking-changes).
177
+
178
+ #### `@mui/x-date-pickers@v8.0.0-alpha.2`
179
+
180
+ - [l10n] Improve Dutch (nl-NL) locale (#15564) @nphmuller
181
+ - [pickers] Fix DST issue with `America/Asuncion` timezone and `AdapterMoment` (#15552) @flaviendelangle
182
+ - [pickers] Improve validation internals (#15419) @flaviendelangle
183
+ - [pickers] Remove `TSection` and strictly type `TValue` (#15434) @flaviendelangle
184
+ - [pickers] Remove `orientation`, `isLandscape`, `isRtl`, `wrapperVariant` and `disabled` props from `PickersLayout` (#15494) @flaviendelangle
185
+ - [pickers] Use the new `ownerState` in `<PickersCalendarHeader />`, `<PickersArrowSwitcher />` and `<DayCalendarSkeleton />` (#15499) @flaviendelangle
186
+ - [pickers] Use the new `ownerState` object in all the field components (#15510) @flaviendelangle
187
+
188
+ #### `@mui/x-date-pickers-pro@v8.0.0-alpha.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
189
+
190
+ Same changes as in `@mui/x-date-pickers@v8.0.0-alpha.2`.
191
+
192
+ ### Charts
193
+
194
+ #### Breaking changes
195
+
196
+ - Charts Container don't have a `<div />` wrapping them anymore. All props are now passed to the root `<svg />` instead of the `<div />`.
197
+
198
+ #### `@mui/x-charts@v8.0.0-alpha.2`
199
+
200
+ - [charts] Allow the creation of custom HTML components using charts data (#15511) @JCQuintas
201
+ - [charts] Flatten imports from `@mui/utils` and `@mui/system` (#15603) @alexfauquette
202
+ - [charts] Introduce the plugin system (#15513) @alexfauquette
203
+ - [charts] Prevent invalid `releasePointerCapture` (#15602) @alexfauquette
204
+ - [charts] Fix custom Tooltip demos (#15631) @alexfauquette
205
+
206
+ #### `@mui/x-charts-pro@v8.0.0-alpha.2` [![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-charts@v8.0.0-alpha.2`.
209
+
210
+ ### Tree View
211
+
212
+ #### `@mui/x-tree-view@v8.0.0-alpha.2`
213
+
214
+ - [TreeView] Flatten import from `@mui/utils` and `@mui/system` (#15604) @alexfauquette
215
+
216
+ #### `@mui/x-tree-view-pro@v8.0.0-alpha.2`
217
+
218
+ Same changes as in `@mui/x-tree-view@v8.0.0-alpha.2`.
219
+
220
+ ### Docs
221
+
222
+ - [docs] Fix 404 links (#15575) @oliviertassinari
223
+ - [docs] Fix bash comments (#15571) @oliviertassinari
224
+ - [docs] Fix Pickers theme augmentation example (#15672) @LukasTy
225
+ - [docs] Replace use of "e.g." with "for example" (#15572) @oliviertassinari
226
+ - [docs] Update stale `new` and `preview` tags in v8 docs (#15547) @JCQuintas
227
+ - [docs] Fix layout shift image on Tree View docs (#15626) @oliviertassinari
228
+ - [docs] Fix `anchorEl` API page for charts (#15625) @oliviertassinari
229
+ - [docs] Add documentation for the list view feature (#15344) @KenanYusuf
230
+
231
+ ### Core
232
+
233
+ - [core] Follow `()` function convention for docs @oliviertassinari
234
+ - [core] Remove dead translation key (#15566) @oliviertassinari
235
+ - [code-infra] Auto-merge `@types/node` bumps (#15591) @LukasTy
236
+
8
237
  ## v8.0.0-alpha.1
9
238
 
10
239
  _Nov 22, 2024_
@@ -17,8 +246,6 @@ We'd like to offer a big thanks to the 16 contributors who made this release pos
17
246
  - 🐞 Bugfixes
18
247
  - 📚 Documentation improvements
19
248
 
20
- ### Breaking change
21
-
22
249
  Special thanks go out to the community contributors who have helped make this release possible:
23
250
  @CarlosLopezLg, @headironc, @hendrikpeilke, @k-rajat19, @lhilgert9, @viktormelin.
24
251
  Following are all team members who have contributed to this release:
@@ -56,7 +283,7 @@ Same changes as in `@mui/x-data-grid-pro@v8.0.0-alpha.1`, plus:
56
283
  #### Breaking change
57
284
 
58
285
  - The `FieldValueType` type has been renamed to `PickerValueType` — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#renamed-variables).
59
- - The `toolbar` and `layout` slots no longer receive the `disabled` and `readOnly` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slots-breaking-changes).
286
+ - The `toolbar` and `layout` slots no longer receive the `disabled` and `readOnly` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slots-breaking-changes).
60
287
 
61
288
  #### `@mui/x-date-pickers@v8.0.0-alpha.1`
62
289
 
@@ -64,9 +291,9 @@ Same changes as in `@mui/x-data-grid-pro@v8.0.0-alpha.1`, plus:
64
291
  - [pickers] React 19 support (#15342) @arminmeh
65
292
  - [pickers] Add new properties to `PickerOwnerState` and `PickerContextValue` (#15415) @flaviendelangle
66
293
  - [pickers] Always use `props.value` when it changes (#15490) @flaviendelangle
67
- - [pickers] Ensure internal value timezone is updated (#15435) @LukasTy
294
+ - [pickers] Ensure internal value timezone is updated (#15435) @LukasTy
68
295
  - [pickers] Fix unused code in `<PickersToolbar />` component (#15515) @LukasTy
69
- - [pickers] Remove `FieldValueType` in favor of `PickerValueType` (#15259) @arthurbalduini
296
+ - [pickers] Remove `FieldValueType` in favor of `PickerValueType` (#15259) @arthurbalduini
70
297
  - [pickers] Remove the form props from the layout and the toolbar slots (#15492) @flaviendelangle
71
298
  - [pickers] Use `props.referenceDate` timezone when `props.value` and `props.defaultValue` are not defined (#15532) @flaviendelangle
72
299
  - [TimePicker] Prevent mouse events after `touchend` event (#15346) @arthurbalduini
@@ -82,12 +309,14 @@ Same changes as in `@mui/x-date-pickers@v8.0.0-alpha.1`, plus:
82
309
  #### Breaking change
83
310
 
84
311
  - The DX of the Tooltip customization has been refactored
312
+
85
313
  - The `tooltip` prop has been removed in favor of `slotProps.tooltip` for consistency.
86
- - The `popper`, `axisContent`, and `itemContent` slots have been removed in favor of the `tooltip` slot which overrides the entire tooltip.
314
+ - The `popper`, `axisContent`, and `itemContent` slots have been removed in favor of the `tooltip` slot which overrides the entire tooltip.
87
315
  - 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.
88
316
  - To override the tooltip placement, use the `ChartsItemTooltipContent` or `ChartsItemTooltipContent` to get default data and place them in your custom tooltip.
89
317
 
90
318
  - The library now uses the SVG `filter` attribute instead of `d3-color` for color manipulation.
319
+
91
320
  - This modification impacts the `LinePlot`, `AreaPlot`, and `BarPlot` components.
92
321
  If you've customized the `fill` of those elements, you might need to override it by using the CSS `filter`.
93
322
  - The `theme.styleOverride` is removed for `MuiLineElement`, `MuiAreaElement`, and `MuiBarElement` to improve performance.
@@ -338,6 +567,100 @@ Same changes as in `@mui/x-charts@8.0.0-alpha.0`.
338
567
  - [release] v8 preparation (#15054) @michelengelen
339
568
  - [test] Fix advanced list view regression test snapshot (#15260) @KenanYusuf
340
569
 
570
+ ## 7.23.0
571
+
572
+ _Nov 29, 2024_
573
+
574
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
575
+
576
+ - ✨ Support for a new display mode on the Data Grid with the [List View feature](https://mui.com/x/react-data-grid/list-view/), offering an extremely flexible way to render datasets and enabling developers to adapt how data is displayed across different screen sizes.
577
+
578
+ https://github.com/user-attachments/assets/61286adc-03fc-4323-9739-8ca726fcc16c
579
+
580
+ - ⚛️ React 19 support
581
+ - 📚 Documentation improvements
582
+ - 🌍 Improve Spanish, Portuguese, Chinese locales on the Data Grid component.
583
+ - 🌍 Improve Dutch locale on the Date and Time Picker components.
584
+ - 🐞 Bugfixes
585
+
586
+ Special thanks go out to the community contributors who have helped make this release possible:
587
+ @dloeda, @headironc, @mathzdev, @nphmuller, @lhilgert9, @lauri865.
588
+ Following are all team members who have contributed to this release:
589
+ @oliviertassinari, @arminmeh, @KenanYusuf, @flaviendelangle, @MBilalShafi.
590
+
591
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
592
+
593
+ ### Data Grid
594
+
595
+ #### `@mui/x-data-grid@v7.23.0`
596
+
597
+ - [DataGrid] React 19 support (#15557) @arminmeh
598
+ - [DataGrid] Change test dom check from `/jsdom/` to `/jsdom|HappyDOM/`. (#15642) @jedesroches
599
+ - [DataGrid] Fix last separator not being hidden when grid is scrollable (#15551) @KenanYusuf
600
+ - [DataGrid] Fix order of spread props on toolbar items (#15556) @KenanYusuf
601
+ - [DataGrid] Fix row-spanning in combination with column-pinning (#15460) @lhilgert9
602
+ - [DataGrid] Improve resize performance (#15592) @lauri865
603
+ - [DataGrid] Support column virtualization with dynamic row height (#15567) @cherniavskii
604
+ - [DataGrid] Improve `GridCell` performance (#15621) @lauri865
605
+ - [l10n] Improve Chinese (zh-CN) locale (#15570) @headironc
606
+ - [l10n] Improve Portuguese (pt-PT) locale (#15561) @mathzdev
607
+
608
+ #### `@mui/x-data-grid-pro@v7.23.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
609
+
610
+ Same changes as in `@mui/x-data-grid@v7.23.0`, plus:
611
+
612
+ - [DataGridPro] Fix header filtering with `boolean` column type (#15640) @k-rajat19
613
+ - [DataGridPro] Fix pagination state not updating if the data source response has no rows (#15643) @zinoroman
614
+ - [DataGridPro] Fix selection propagation issue on initialization (#15593) @MBilalShafi
615
+
616
+ #### `@mui/x-data-grid-premium@v7.23.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
617
+
618
+ Same changes as in `@mui/x-data-grid-pro@v7.23.0`.
619
+
620
+ ### Date and Time Pickers
621
+
622
+ #### `@mui/x-date-pickers@v7.23.0`
623
+
624
+ - [pickers] React 19 support (#15557) @arminmeh
625
+ - [pickers] Fix DST issue with `America/Asuncion` timezone and `AdapterMoment` (#15653) @flaviendelangle
626
+ - [pickers] Use `props.referenceDate` timezone when `props.value` and `props.defaultValue` are not defined (#15544) @flaviendelangle
627
+ - [l10n] Improve Dutch (nl-NL) locale (#15564) @nphmuller
628
+
629
+ #### `@mui/x-date-pickers-pro@v7.23.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
630
+
631
+ Same changes as in `@mui/x-date-pickers@v7.23.0`.
632
+
633
+ ### Charts
634
+
635
+ #### `@mui/x-charts@v7.23.0`
636
+
637
+ - [charts] React 19 support (#15557) @arminmeh
638
+ - [charts] Prevent invalid `releasePointerCapture` (#15609) @alexfauquette
639
+
640
+ #### `@mui/x-charts-pro@v7.23.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
641
+
642
+ Same changes as in `@mui/x-charts@v7.23.0`.
643
+
644
+ ### Tree View
645
+
646
+ #### `@mui/x-tree-view@v7.23.0`
647
+
648
+ - [TreeView] React 19 support (#15557) @arminmeh
649
+
650
+ #### `@mui/x-tree-view-pro@7.23.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
651
+
652
+ Same changes as in `@mui/x-tree-view@7.23.0`.
653
+
654
+ ### Docs
655
+
656
+ - [docs] Add data caching to lazy loaded detail panel demo (#15555) @cherniavskii
657
+ - [docs] Remove selectors section from list view docs (#15639) @KenanYusuf
658
+ - [docs] Add documentation for the list view feature (#15344) @KenanYusuf
659
+
660
+ ### Core
661
+
662
+ - [core] Update @mui/monorepo (#15574) @oliviertassinari
663
+
341
664
  ## v7.22.3
342
665
 
343
666
  _Nov 21, 2024_
@@ -4803,7 +5126,7 @@ Same changes as in `@mui/x-data-grid-pro@7.0.0-alpha.5`.
4803
5126
 
4804
5127
  The `useClearableField` hook API has been simplified to now take a `props` parameter instead of a `fieldProps`, `InputProps`, `clearable`, `onClear`, `slots` and `slotProps` parameters.
4805
5128
 
4806
- You should now be able to directly pass the returned value from your field hook (e.g: `useDateField`) to `useClearableField`
5129
+ You should now be able to directly pass the returned value from your field hook (for example `useDateField`) to `useClearableField`
4807
5130
 
4808
5131
  ```diff
4809
5132
  const fieldResponse = useDateField(props);
@@ -4,8 +4,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { Watermark } from '@mui/x-license/Watermark';
7
- import { ResizableContainer } from '@mui/x-charts/internals';
8
- import { ChartsSurface } from '@mui/x-charts';
7
+ import { ChartsSurface } from '@mui/x-charts/ChartsSurface';
9
8
  import { getReleaseInfo } from "../internals/utils/releaseInfo.js";
10
9
  import { ChartDataProviderPro } from "../context/ChartDataProviderPro/index.js";
11
10
  import { useChartContainerProProps } from "./useChartContainerProProps.js";
@@ -15,18 +14,15 @@ const ChartContainerPro = /*#__PURE__*/React.forwardRef(function ChartContainerP
15
14
  const {
16
15
  chartDataProviderProProps,
17
16
  children,
18
- resizableContainerProps,
19
17
  chartsSurfaceProps
20
18
  } = useChartContainerProProps(props, ref);
21
- return /*#__PURE__*/_jsx(ChartDataProviderPro, _extends({}, chartDataProviderProProps, {
22
- children: /*#__PURE__*/_jsxs(ResizableContainer, _extends({}, resizableContainerProps, {
23
- children: [/*#__PURE__*/_jsx(ChartsSurface, _extends({}, chartsSurfaceProps, {
24
- children: children
25
- })), /*#__PURE__*/_jsx(Watermark, {
26
- packageName: "x-charts-pro",
27
- releaseInfo: releaseInfo
28
- })]
29
- }))
19
+ return /*#__PURE__*/_jsxs(ChartDataProviderPro, _extends({}, chartDataProviderProProps, {
20
+ children: [/*#__PURE__*/_jsx(ChartsSurface, _extends({}, chartsSurfaceProps, {
21
+ children: children
22
+ })), /*#__PURE__*/_jsx(Watermark, {
23
+ packageName: "x-charts-pro",
24
+ releaseInfo: releaseInfo
25
+ })]
30
26
  }));
31
27
  });
32
28
  process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
@@ -140,7 +136,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
140
136
  hideTooltip: PropTypes.bool,
141
137
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
142
138
  label: PropTypes.string,
143
- labelFontSize: PropTypes.number,
144
139
  labelStyle: PropTypes.object,
145
140
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
146
141
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -151,7 +146,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
151
146
  slots: PropTypes.object,
152
147
  stroke: PropTypes.string,
153
148
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
154
- tickFontSize: PropTypes.number,
155
149
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
156
150
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
157
151
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -203,7 +197,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
203
197
  hideTooltip: PropTypes.bool,
204
198
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
205
199
  label: PropTypes.string,
206
- labelFontSize: PropTypes.number,
207
200
  labelStyle: PropTypes.object,
208
201
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
209
202
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -214,7 +207,6 @@ process.env.NODE_ENV !== "production" ? ChartContainerPro.propTypes = {
214
207
  slots: PropTypes.object,
215
208
  stroke: PropTypes.string,
216
209
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
217
- tickFontSize: PropTypes.number,
218
210
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
219
211
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
220
212
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -17,12 +17,10 @@ export const useChartContainerProProps = (props, ref) => {
17
17
  const {
18
18
  chartDataProviderProps,
19
19
  chartsSurfaceProps,
20
- resizableContainerProps,
21
20
  children
22
21
  } = useChartContainerProps(baseProps, ref);
23
22
  return {
24
23
  chartDataProviderProProps: _extends({}, chartDataProviderProps, chartDataProviderProProps),
25
- resizableContainerProps,
26
24
  chartsSurfaceProps,
27
25
  children
28
26
  };
@@ -253,7 +253,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
253
253
  hideTooltip: PropTypes.bool,
254
254
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
255
255
  label: PropTypes.string,
256
- labelFontSize: PropTypes.number,
257
256
  labelStyle: PropTypes.object,
258
257
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
259
258
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -264,7 +263,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
264
263
  slots: PropTypes.object,
265
264
  stroke: PropTypes.string,
266
265
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
267
- tickFontSize: PropTypes.number,
268
266
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
269
267
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
270
268
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -318,7 +316,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
318
316
  hideTooltip: PropTypes.bool,
319
317
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
320
318
  label: PropTypes.string,
321
- labelFontSize: PropTypes.number,
322
319
  labelStyle: PropTypes.object,
323
320
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
324
321
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -329,7 +326,6 @@ process.env.NODE_ENV !== "production" ? Heatmap.propTypes = {
329
326
  slots: PropTypes.object,
330
327
  stroke: PropTypes.string,
331
328
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
332
- tickFontSize: PropTypes.number,
333
329
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
334
330
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
335
331
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -4,6 +4,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
+ import HTMLElementType from '@mui/utils/HTMLElementType';
7
8
  import composeClasses from '@mui/utils/composeClasses';
8
9
  import { ChartsTooltipPaper, ChartsTooltipTable, ChartsTooltipRow, ChartsTooltipCell, ChartsTooltipMark, useItemTooltip, getChartsTooltipUtilityClass, ChartsTooltipContainer } from '@mui/x-charts/ChartsTooltip';
9
10
  import { useXAxis, useYAxis } from '@mui/x-charts/hooks';
@@ -27,10 +28,6 @@ const useUtilityClasses = ownerState => {
27
28
  };
28
29
  return composeClasses(slots, getChartsTooltipUtilityClass, classes);
29
30
  };
30
-
31
- /**
32
- * @ignore - internal component.
33
- */
34
31
  function DefaultHeatmapTooltipContent(props) {
35
32
  const {
36
33
  classes
@@ -132,26 +129,7 @@ process.env.NODE_ENV !== "production" ? HeatmapTooltip.propTypes = {
132
129
  * It's used to set the position of the popper.
133
130
  * The return value will passed as the reference object of the Popper instance.
134
131
  */
135
- anchorEl: PropTypes.oneOfType([(props, propName) => {
136
- if (props[propName] == null) {
137
- return new Error(`Prop '${propName}' is required but wasn't specified`);
138
- }
139
- if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
140
- return new Error(`Expected prop '${propName}' to be of type Element`);
141
- }
142
- return null;
143
- }, PropTypes.func, PropTypes.shape({
144
- contextElement: (props, propName) => {
145
- if (props[propName] == null) {
146
- return null;
147
- }
148
- if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
149
- return new Error(`Expected prop '${propName}' to be of type Element`);
150
- }
151
- return null;
152
- },
153
- getBoundingClientRect: PropTypes.func.isRequired
154
- })]),
132
+ anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]),
155
133
  /**
156
134
  * Override or extend the styles applied to the component.
157
135
  */
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
3
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
4
  export function getHeatmapUtilityClass(slot) {
4
5
  // Those should be common to all charts
5
6
  if (['highlighted', 'faded'].includes(slot)) {
@@ -372,7 +372,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
372
372
  hideTooltip: PropTypes.bool,
373
373
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
374
374
  label: PropTypes.string,
375
- labelFontSize: PropTypes.number,
376
375
  labelStyle: PropTypes.object,
377
376
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
378
377
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -383,7 +382,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
383
382
  slots: PropTypes.object,
384
383
  stroke: PropTypes.string,
385
384
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
386
- tickFontSize: PropTypes.number,
387
385
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
388
386
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
389
387
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -435,7 +433,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
435
433
  hideTooltip: PropTypes.bool,
436
434
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
437
435
  label: PropTypes.string,
438
- labelFontSize: PropTypes.number,
439
436
  labelStyle: PropTypes.object,
440
437
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
441
438
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -446,7 +443,6 @@ process.env.NODE_ENV !== "production" ? LineChartPro.propTypes = {
446
443
  slots: PropTypes.object,
447
444
  stroke: PropTypes.string,
448
445
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
449
- tickFontSize: PropTypes.number,
450
446
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
451
447
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
452
448
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -245,7 +245,6 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
245
245
  hideTooltip: PropTypes.bool,
246
246
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
247
247
  label: PropTypes.string,
248
- labelFontSize: PropTypes.number,
249
248
  labelStyle: PropTypes.object,
250
249
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
251
250
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -256,7 +255,6 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
256
255
  slots: PropTypes.object,
257
256
  stroke: PropTypes.string,
258
257
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
259
- tickFontSize: PropTypes.number,
260
258
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
261
259
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
262
260
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -308,7 +306,6 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
308
306
  hideTooltip: PropTypes.bool,
309
307
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
310
308
  label: PropTypes.string,
311
- labelFontSize: PropTypes.number,
312
309
  labelStyle: PropTypes.object,
313
310
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
314
311
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -319,7 +316,6 @@ process.env.NODE_ENV !== "production" ? ScatterChartPro.propTypes = {
319
316
  slots: PropTypes.object,
320
317
  stroke: PropTypes.string,
321
318
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
322
- tickFontSize: PropTypes.number,
323
319
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
324
320
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
325
321
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),