@mui/x-charts-pro 9.10.0 → 9.10.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 +106 -0
- package/ChartsDataProviderPro/ChartsDataProviderPro.js +2 -2
- package/ChartsDataProviderPro/ChartsDataProviderPro.mjs +2 -2
- package/FunnelChart/FocusedFunnelSection.js +6 -1
- package/FunnelChart/FocusedFunnelSection.mjs +6 -1
- package/FunnelChart/seriesConfig/tooltip.js +3 -0
- package/FunnelChart/seriesConfig/tooltip.mjs +3 -0
- package/FunnelChart/seriesConfig/tooltipPosition.js +6 -2
- package/FunnelChart/seriesConfig/tooltipPosition.mjs +6 -2
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,111 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.10.1
|
|
4
|
+
|
|
5
|
+
_Jul 23, 2026_
|
|
6
|
+
|
|
7
|
+
We'd like to extend a big thank you to the 11 contributors who made this release possible. Here are some highlights ✨:
|
|
8
|
+
|
|
9
|
+
- 🦮 Improve accessibility of the Charts and Pickers components.
|
|
10
|
+
- 🐞 Bugfixes
|
|
11
|
+
- 📚 Documentation improvements
|
|
12
|
+
|
|
13
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
14
|
+
@kevincorizi-sbt, @mustafajw07, @SamanPandey-in
|
|
15
|
+
|
|
16
|
+
The following team members contributed to this release:
|
|
17
|
+
@brijeshb42, @hasdfa, @JCQuintas, @LukasTy, @michelengelen, @noraleonte, @rita-codes, @silviuaavram
|
|
18
|
+
|
|
19
|
+
### Data Grid
|
|
20
|
+
|
|
21
|
+
#### `@mui/x-data-grid@9.10.1`
|
|
22
|
+
|
|
23
|
+
- [data grid] Fix `getColumn` return type not reflecting that it can return undefined (#23165) @JCQuintas
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid-pro@9.10.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
26
|
+
|
|
27
|
+
Same changes as in `@mui/x-data-grid@9.10.1`.
|
|
28
|
+
|
|
29
|
+
#### `@mui/x-data-grid-premium@9.10.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
30
|
+
|
|
31
|
+
Same changes as in `@mui/x-data-grid-pro@9.10.1`.
|
|
32
|
+
|
|
33
|
+
### Date and Time Pickers
|
|
34
|
+
|
|
35
|
+
#### `@mui/x-date-pickers@9.10.1`
|
|
36
|
+
|
|
37
|
+
- [pickers] Fix format placeholder brightness with a start adornment (#23189) @LukasTy
|
|
38
|
+
|
|
39
|
+
#### `@mui/x-date-pickers-pro@9.10.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
40
|
+
|
|
41
|
+
Same changes as in `@mui/x-date-pickers@9.10.1`, plus:
|
|
42
|
+
|
|
43
|
+
- [DateRangePicker] Fix broken active range position underline in single input range fields (#23166) @LukasTy
|
|
44
|
+
|
|
45
|
+
### Charts
|
|
46
|
+
|
|
47
|
+
#### `@mui/x-charts@9.10.1`
|
|
48
|
+
|
|
49
|
+
- [charts] Fix pie chart disappearing when an arc spans almost the full circle (#23145) @JCQuintas
|
|
50
|
+
- [charts] Set `aria-hidden` on accessibility proxy divs at initialization (#23186) @kevincorizi-sbt
|
|
51
|
+
- [charts] Fix keyboard navigation on series with different lengths (#23182) @JCQuintas
|
|
52
|
+
- [charts] Fix out of bounds keyboard navigation (#23180) @silviuaavram
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-charts-pro@9.10.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
55
|
+
|
|
56
|
+
Same changes as in `@mui/x-charts@9.10.1`, plus:
|
|
57
|
+
|
|
58
|
+
- [charts-pro] Fix highlight shifting on sampled bar charts (#23190) @noraleonte
|
|
59
|
+
- [charts-pro] Sampled band highlight falls back to single-band width for Date/object values (#23024) @SamanPandey-in
|
|
60
|
+
|
|
61
|
+
#### `@mui/x-charts-premium@9.10.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
62
|
+
|
|
63
|
+
Same changes as in `@mui/x-charts-pro@9.10.1`.
|
|
64
|
+
|
|
65
|
+
### Tree View
|
|
66
|
+
|
|
67
|
+
#### `@mui/x-tree-view@9.10.1`
|
|
68
|
+
|
|
69
|
+
- [TreeView] Fix selection propagation to exclude disabled items (#23012) @michelengelen
|
|
70
|
+
|
|
71
|
+
#### `@mui/x-tree-view-pro@9.10.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
72
|
+
|
|
73
|
+
Same changes as in `@mui/x-tree-view@9.10.1`.
|
|
74
|
+
|
|
75
|
+
### Scheduler
|
|
76
|
+
|
|
77
|
+
#### `@mui/x-scheduler@9.0.0-beta.7`
|
|
78
|
+
|
|
79
|
+
- [scheduler] Polish `EventCalendar` rendering for multi-resource events (#23161) @mustafajw07
|
|
80
|
+
- [scheduler] Responsive header (#22954) @noraleonte
|
|
81
|
+
|
|
82
|
+
#### `@mui/x-scheduler-premium@9.0.0-beta.7` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
83
|
+
|
|
84
|
+
Same changes as in `@mui/x-scheduler@9.0.0-beta.7`, plus:
|
|
85
|
+
|
|
86
|
+
- [scheduler-premium] Add the dependencies data model (#23117) @rita-codes
|
|
87
|
+
- [scheduler-premium] Dependencies - Render the FS arrow (#23162) @rita-codes
|
|
88
|
+
|
|
89
|
+
### Codemod
|
|
90
|
+
|
|
91
|
+
#### `@mui/x-codemod@9.10.1`
|
|
92
|
+
|
|
93
|
+
Internal changes.
|
|
94
|
+
|
|
95
|
+
### Docs
|
|
96
|
+
|
|
97
|
+
- [docs] Fix clearing, layout shift, and prop leak in Pickers demos (#23191) @LukasTy
|
|
98
|
+
|
|
99
|
+
### Core
|
|
100
|
+
|
|
101
|
+
- [code-infra] Validate working of specific code-infra canary (#23207) @brijeshb42
|
|
102
|
+
|
|
103
|
+
### Miscellaneous
|
|
104
|
+
|
|
105
|
+
- [chat] Normalize message part link URLs (#23187) @hasdfa
|
|
106
|
+
- [x-chat] Fix object URL leaks for submitted attachments (#23198) @hasdfa
|
|
107
|
+
- [internals] Make disposable types self-contained without `esnext.disposable` lib (#23164) @JCQuintas
|
|
108
|
+
|
|
3
109
|
## 9.10.0
|
|
4
110
|
|
|
5
111
|
_Jul 17, 2026_
|
|
@@ -20,8 +20,8 @@ var _barSampler = require("../internals/plugins/useChartProSampling/barSampler")
|
|
|
20
20
|
var _lineSampler = require("../internals/plugins/useChartProSampling/lineSampler");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
const packageInfo = {
|
|
23
|
-
releaseDate: "
|
|
24
|
-
version: "9.10.
|
|
23
|
+
releaseDate: "MTc4NDc2NDgwMDAwMA==",
|
|
24
|
+
version: "9.10.1",
|
|
25
25
|
name: 'x-charts-pro'
|
|
26
26
|
};
|
|
27
27
|
// Attach the pro sampling strategies (kept at module scope for a stable identity, so the
|
|
@@ -13,8 +13,8 @@ import { barSampler } from "../internals/plugins/useChartProSampling/barSampler.
|
|
|
13
13
|
import { lineSampler } from "../internals/plugins/useChartProSampling/lineSampler.mjs";
|
|
14
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
const packageInfo = {
|
|
16
|
-
releaseDate: "
|
|
17
|
-
version: "9.10.
|
|
16
|
+
releaseDate: "MTc4NDc2NDgwMDAwMA==",
|
|
17
|
+
version: "9.10.1",
|
|
18
18
|
name: 'x-charts-pro'
|
|
19
19
|
};
|
|
20
20
|
// Attach the pro sampling strategies (kept at module scope for a stable identity, so the
|
|
@@ -37,6 +37,11 @@ function FocusedFunnelSection(props) {
|
|
|
37
37
|
return null;
|
|
38
38
|
}
|
|
39
39
|
const funnelSeries = allFunnelSeries[focusedItem.seriesId];
|
|
40
|
+
// Focus may reference a removed series or section.
|
|
41
|
+
const sectionPoints = funnelSeries?.dataPoints[focusedItem.dataIndex];
|
|
42
|
+
if (!sectionPoints) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
40
45
|
const xAxisId = funnelSeries.xAxisId ?? xAxisIds[0];
|
|
41
46
|
const yAxisId = funnelSeries.yAxisId ?? yAxisIds[0];
|
|
42
47
|
const xScale = xAxis[xAxisId].scale;
|
|
@@ -57,7 +62,7 @@ function FocusedFunnelSection(props) {
|
|
|
57
62
|
min: minPoint,
|
|
58
63
|
max: maxPoint
|
|
59
64
|
});
|
|
60
|
-
const bandPoints = curve({}).processPoints(
|
|
65
|
+
const bandPoints = curve({}).processPoints(sectionPoints.map(v => ({
|
|
61
66
|
x: xPosition(v.x, focusedItem.dataIndex, v.stackOffset, v.useBandWidth),
|
|
62
67
|
y: yPosition(v.y, focusedItem.dataIndex, v.stackOffset, v.useBandWidth)
|
|
63
68
|
})));
|
|
@@ -30,6 +30,11 @@ export function FocusedFunnelSection(props) {
|
|
|
30
30
|
return null;
|
|
31
31
|
}
|
|
32
32
|
const funnelSeries = allFunnelSeries[focusedItem.seriesId];
|
|
33
|
+
// Focus may reference a removed series or section.
|
|
34
|
+
const sectionPoints = funnelSeries?.dataPoints[focusedItem.dataIndex];
|
|
35
|
+
if (!sectionPoints) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
33
38
|
const xAxisId = funnelSeries.xAxisId ?? xAxisIds[0];
|
|
34
39
|
const yAxisId = funnelSeries.yAxisId ?? yAxisIds[0];
|
|
35
40
|
const xScale = xAxis[xAxisId].scale;
|
|
@@ -50,7 +55,7 @@ export function FocusedFunnelSection(props) {
|
|
|
50
55
|
min: minPoint,
|
|
51
56
|
max: maxPoint
|
|
52
57
|
});
|
|
53
|
-
const bandPoints = curve({}).processPoints(
|
|
58
|
+
const bandPoints = curve({}).processPoints(sectionPoints.map(v => ({
|
|
54
59
|
x: xPosition(v.x, focusedItem.dataIndex, v.stackOffset, v.useBandWidth),
|
|
55
60
|
y: yPosition(v.y, focusedItem.dataIndex, v.stackOffset, v.useBandWidth)
|
|
56
61
|
})));
|
|
@@ -17,6 +17,9 @@ const tooltipGetter = params => {
|
|
|
17
17
|
return null;
|
|
18
18
|
}
|
|
19
19
|
const point = series.data[identifier.dataIndex];
|
|
20
|
+
if (point == null) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
20
23
|
const label = (0, _internals.getLabel)(point.label, 'tooltip');
|
|
21
24
|
const value = (0, _extends2.default)({}, point, {
|
|
22
25
|
label
|
|
@@ -28,8 +28,12 @@ const selectorTooltipItemPosition = exports.selectorTooltipItemPosition = (0, _s
|
|
|
28
28
|
const gap = 0;
|
|
29
29
|
const xPosition = (0, _coordinateMapper.createPositionGetter)(xAxis.scale, isHorizontal, gap, baseScaleConfig.data);
|
|
30
30
|
const yPosition = (0, _coordinateMapper.createPositionGetter)(yAxis.scale, !isHorizontal, gap, baseScaleConfig.data);
|
|
31
|
-
const
|
|
32
|
-
|
|
31
|
+
const sectionPoints = itemSeries.dataPoints[identifier.dataIndex];
|
|
32
|
+
if (sectionPoints === undefined) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const allY = sectionPoints.map(v => yPosition(v.y, identifier.dataIndex, v.stackOffset, v.useBandWidth));
|
|
36
|
+
const allX = sectionPoints.map(v => xPosition(v.x, identifier.dataIndex, v.stackOffset, v.useBandWidth));
|
|
33
37
|
const [x0, x1] = (0, _internals.findMinMax)(allX);
|
|
34
38
|
const [y0, y1] = (0, _internals.findMinMax)(allY);
|
|
35
39
|
switch (placement) {
|
|
@@ -22,8 +22,12 @@ export const selectorTooltipItemPosition = createSelectorMemoized(selectorCharts
|
|
|
22
22
|
const gap = 0;
|
|
23
23
|
const xPosition = createPositionGetter(xAxis.scale, isHorizontal, gap, baseScaleConfig.data);
|
|
24
24
|
const yPosition = createPositionGetter(yAxis.scale, !isHorizontal, gap, baseScaleConfig.data);
|
|
25
|
-
const
|
|
26
|
-
|
|
25
|
+
const sectionPoints = itemSeries.dataPoints[identifier.dataIndex];
|
|
26
|
+
if (sectionPoints === undefined) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const allY = sectionPoints.map(v => yPosition(v.y, identifier.dataIndex, v.stackOffset, v.useBandWidth));
|
|
30
|
+
const allX = sectionPoints.map(v => xPosition(v.x, identifier.dataIndex, v.stackOffset, v.useBandWidth));
|
|
27
31
|
const [x0, x1] = findMinMax(allX);
|
|
28
32
|
const [y0, y1] = findMinMax(allY);
|
|
29
33
|
switch (placement) {
|
package/index.js
CHANGED
package/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-charts-pro",
|
|
3
|
-
"version": "9.10.
|
|
3
|
+
"version": "9.10.1",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The Pro plan edition of the MUI X Charts components.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"@mui/utils": "^9.2.0",
|
|
32
32
|
"clsx": "^2.1.1",
|
|
33
33
|
"prop-types": "^15.8.1",
|
|
34
|
-
"@mui/x-charts": "^9.10.0",
|
|
35
34
|
"@mui/x-charts-vendor": "^9.4.0",
|
|
35
|
+
"@mui/x-license": "^9.10.1",
|
|
36
36
|
"@mui/x-internal-gestures": "^9.10.0",
|
|
37
|
-
"@mui/x-
|
|
38
|
-
"@mui/x-
|
|
37
|
+
"@mui/x-internals": "^9.10.1",
|
|
38
|
+
"@mui/x-charts": "^9.10.1"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@emotion/react": "^11.9.0",
|