@mui/x-charts 8.28.0 → 8.28.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.
- package/CHANGELOG.md +80 -3
- package/esm/index.js +1 -1
- package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +10 -6
- package/index.js +1 -1
- package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +8 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,13 +5,90 @@
|
|
|
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.28.2
|
|
9
|
+
|
|
10
|
+
_Apr 1, 2026_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 4 contributors who made this release possible.
|
|
13
|
+
|
|
14
|
+
Special thanks go out to this community member for their valuable contribution:
|
|
15
|
+
@mixelburg, @sibananda485
|
|
16
|
+
|
|
17
|
+
The following team members contributed to this release:
|
|
18
|
+
@dav-is, @JCQuintas
|
|
19
|
+
|
|
20
|
+
### Data Grid
|
|
21
|
+
|
|
22
|
+
#### `@mui/x-data-grid@8.28.2`
|
|
23
|
+
|
|
24
|
+
- [DataGrid] Export `GridColumnUnsortedIconProps` for custom column icon slots (#21898) @mixelburg
|
|
25
|
+
|
|
26
|
+
#### `@mui/x-data-grid-pro@8.28.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
27
|
+
|
|
28
|
+
Same changes as in `@mui/x-data-grid@8.28.2`.
|
|
29
|
+
|
|
30
|
+
#### `@mui/x-data-grid-premium@8.28.2` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
31
|
+
|
|
32
|
+
Same changes as in `@mui/x-data-grid-pro@8.28.2`, plus:
|
|
33
|
+
|
|
34
|
+
- [DataGridPremium] Fix clipboard paste issue in portal (#21949) @sibananda485
|
|
35
|
+
|
|
36
|
+
### Charts
|
|
37
|
+
|
|
38
|
+
#### `@mui/x-charts@8.28.2`
|
|
39
|
+
|
|
40
|
+
- [charts] Fix zoom slider preview with discard filter mode (#21906) @JCQuintas
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-charts-pro@8.28.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-charts@8.28.2`.
|
|
45
|
+
|
|
46
|
+
#### `@mui/x-charts-premium@8.28.2` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
47
|
+
|
|
48
|
+
Same changes as in `@mui/x-charts-pro@8.28.2`.
|
|
49
|
+
|
|
50
|
+
### Docs
|
|
51
|
+
|
|
52
|
+
- [docs] Fix JSDOM → jsdom casing (#21908) @JCQuintas
|
|
53
|
+
|
|
54
|
+
### Core
|
|
55
|
+
|
|
56
|
+
- [docs-infra] Set `SEARCH_INDEX` Env for v8 (#21875) @dav-is
|
|
57
|
+
|
|
58
|
+
## 8.28.1
|
|
59
|
+
|
|
60
|
+
_Mar 26, 2026_
|
|
61
|
+
|
|
62
|
+
We'd like to extend a big thank you to the 2 contributors who made this release possible.
|
|
63
|
+
|
|
64
|
+
The following team members contributed to this release:
|
|
65
|
+
@arminmeh, @cherniavskii
|
|
66
|
+
|
|
67
|
+
### Data Grid
|
|
68
|
+
|
|
69
|
+
#### `@mui/x-data-grid@8.28.1`
|
|
70
|
+
|
|
71
|
+
- [DataGrid] Prevent repeated `hasScrollbar` state updates (#21847) @arminmeh
|
|
72
|
+
|
|
73
|
+
#### `@mui/x-data-grid-pro@8.28.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
74
|
+
|
|
75
|
+
Same changes as in `@mui/x-data-grid@8.28.1`, plus:
|
|
76
|
+
|
|
77
|
+
- [DataGridPro] `fetchRows()` API's default `start` and `end` params based on scroll position with lazy loading (#21811) @arminmeh
|
|
78
|
+
|
|
79
|
+
#### `@mui/x-data-grid-premium@8.28.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
80
|
+
|
|
81
|
+
Same changes as in `@mui/x-data-grid-pro@8.28.1`.
|
|
82
|
+
|
|
83
|
+
### Core
|
|
84
|
+
|
|
85
|
+
- [internal] Remove headless data grid packages (#21848) @cherniavskii
|
|
86
|
+
|
|
8
87
|
## 8.28.0
|
|
9
88
|
|
|
10
89
|
_Mar 19, 2026_
|
|
11
90
|
|
|
12
|
-
We'd like to extend a big thank you to the 5 contributors who made this release possible.
|
|
13
|
-
|
|
14
|
-
TODO INSERT HIGHLIGHTS
|
|
91
|
+
We'd like to extend a big thank you to the 5 contributors who made this release possible.
|
|
15
92
|
|
|
16
93
|
The following team members contributed to this release:
|
|
17
94
|
@alexfauquette, @brijeshb42, @Janpot, @JCQuintas, @sai6855
|
package/esm/index.js
CHANGED
|
@@ -2,10 +2,10 @@ import { createSelectorMemoized } from '@mui/x-internals/store';
|
|
|
2
2
|
import { selectorChartRawXAxis, selectorChartRawYAxis } from "./useChartCartesianAxisLayout.selectors.js";
|
|
3
3
|
import { selectorChartSeriesConfig, selectorChartSeriesProcessed } from "../../corePlugins/useChartSeries/index.js";
|
|
4
4
|
import { computeAxisValue } from "./computeAxisValue.js";
|
|
5
|
-
import {
|
|
5
|
+
import { selectorChartXAxisWithDomains, selectorChartYAxisWithDomains, selectorChartZoomOptionsLookup } from "./useChartCartesianAxisRendering.selectors.js";
|
|
6
6
|
import { selectorChartDrawingArea } from "../../corePlugins/useChartDimensions/index.js";
|
|
7
7
|
import { ZOOM_SLIDER_PREVIEW_SIZE } from "../../../constants.js";
|
|
8
|
-
import { getRange } from "./getAxisScale.js";
|
|
8
|
+
import { getNormalizedAxisScale, getRange } from "./getAxisScale.js";
|
|
9
9
|
import { zoomScaleRange } from "./zoom.js";
|
|
10
10
|
import { isOrdinalScale } from "../../../scaleGuards.js";
|
|
11
11
|
function createPreviewDrawingArea(axisDirection, mainChartDrawingArea) {
|
|
@@ -25,14 +25,16 @@ function createPreviewDrawingArea(axisDirection, mainChartDrawingArea) {
|
|
|
25
25
|
bottom: mainChartDrawingArea.height
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
export const selectorChartPreviewXScales = createSelectorMemoized(selectorChartRawXAxis, selectorChartDrawingArea, selectorChartZoomOptionsLookup,
|
|
28
|
+
export const selectorChartPreviewXScales = createSelectorMemoized(selectorChartRawXAxis, selectorChartDrawingArea, selectorChartZoomOptionsLookup, selectorChartXAxisWithDomains, function selectorChartPreviewXScales(xAxes, chartDrawingArea, zoomOptions, {
|
|
29
|
+
domains: unfilteredDomains
|
|
30
|
+
}, axisId) {
|
|
29
31
|
const hasAxis = xAxes?.some(axis => axis.id === axisId);
|
|
30
32
|
const drawingArea = createPreviewDrawingArea(hasAxis ? 'x' : 'y', chartDrawingArea);
|
|
31
33
|
const options = zoomOptions[axisId];
|
|
32
34
|
const scales = {};
|
|
33
35
|
xAxes?.forEach(eachAxis => {
|
|
34
36
|
const axis = eachAxis;
|
|
35
|
-
const scale =
|
|
37
|
+
const scale = getNormalizedAxisScale(axis, unfilteredDomains[axis.id].domain);
|
|
36
38
|
const range = getRange(drawingArea, 'x', axis);
|
|
37
39
|
const zoomedRange = zoomScaleRange(range, [options.minStart, options.maxEnd]);
|
|
38
40
|
scale.range(zoomedRange);
|
|
@@ -69,14 +71,16 @@ export const selectorChartPreviewComputedXAxis = createSelectorMemoized(selector
|
|
|
69
71
|
}
|
|
70
72
|
return computedAxes.axis;
|
|
71
73
|
});
|
|
72
|
-
export const selectorChartPreviewYScales = createSelectorMemoized(selectorChartRawYAxis, selectorChartDrawingArea, selectorChartZoomOptionsLookup,
|
|
74
|
+
export const selectorChartPreviewYScales = createSelectorMemoized(selectorChartRawYAxis, selectorChartDrawingArea, selectorChartZoomOptionsLookup, selectorChartYAxisWithDomains, function selectorChartPreviewYScales(yAxes, chartDrawingArea, zoomOptions, {
|
|
75
|
+
domains: unfilteredDomains
|
|
76
|
+
}, axisId) {
|
|
73
77
|
const hasAxis = yAxes?.some(axis => axis.id === axisId);
|
|
74
78
|
const drawingArea = createPreviewDrawingArea(hasAxis ? 'y' : 'x', chartDrawingArea);
|
|
75
79
|
const options = zoomOptions[axisId];
|
|
76
80
|
const scales = {};
|
|
77
81
|
yAxes?.forEach(eachAxis => {
|
|
78
82
|
const axis = eachAxis;
|
|
79
|
-
const scale =
|
|
83
|
+
const scale = getNormalizedAxisScale(axis, unfilteredDomains[axis.id].domain);
|
|
80
84
|
let range = getRange(drawingArea, 'y', axis);
|
|
81
85
|
if (isOrdinalScale(scale)) {
|
|
82
86
|
range = range.reverse();
|
package/index.js
CHANGED
|
@@ -31,14 +31,16 @@ function createPreviewDrawingArea(axisDirection, mainChartDrawingArea) {
|
|
|
31
31
|
bottom: mainChartDrawingArea.height
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
const selectorChartPreviewXScales = exports.selectorChartPreviewXScales = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartDimensions.selectorChartDrawingArea, _useChartCartesianAxisRendering.selectorChartZoomOptionsLookup, _useChartCartesianAxisRendering.
|
|
34
|
+
const selectorChartPreviewXScales = exports.selectorChartPreviewXScales = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawXAxis, _useChartDimensions.selectorChartDrawingArea, _useChartCartesianAxisRendering.selectorChartZoomOptionsLookup, _useChartCartesianAxisRendering.selectorChartXAxisWithDomains, function selectorChartPreviewXScales(xAxes, chartDrawingArea, zoomOptions, {
|
|
35
|
+
domains: unfilteredDomains
|
|
36
|
+
}, axisId) {
|
|
35
37
|
const hasAxis = xAxes?.some(axis => axis.id === axisId);
|
|
36
38
|
const drawingArea = createPreviewDrawingArea(hasAxis ? 'x' : 'y', chartDrawingArea);
|
|
37
39
|
const options = zoomOptions[axisId];
|
|
38
40
|
const scales = {};
|
|
39
41
|
xAxes?.forEach(eachAxis => {
|
|
40
42
|
const axis = eachAxis;
|
|
41
|
-
const scale =
|
|
43
|
+
const scale = (0, _getAxisScale.getNormalizedAxisScale)(axis, unfilteredDomains[axis.id].domain);
|
|
42
44
|
const range = (0, _getAxisScale.getRange)(drawingArea, 'x', axis);
|
|
43
45
|
const zoomedRange = (0, _zoom.zoomScaleRange)(range, [options.minStart, options.maxEnd]);
|
|
44
46
|
scale.range(zoomedRange);
|
|
@@ -75,14 +77,16 @@ const selectorChartPreviewComputedXAxis = exports.selectorChartPreviewComputedXA
|
|
|
75
77
|
}
|
|
76
78
|
return computedAxes.axis;
|
|
77
79
|
});
|
|
78
|
-
const selectorChartPreviewYScales = exports.selectorChartPreviewYScales = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartDimensions.selectorChartDrawingArea, _useChartCartesianAxisRendering.selectorChartZoomOptionsLookup, _useChartCartesianAxisRendering.
|
|
80
|
+
const selectorChartPreviewYScales = exports.selectorChartPreviewYScales = (0, _store.createSelectorMemoized)(_useChartCartesianAxisLayout.selectorChartRawYAxis, _useChartDimensions.selectorChartDrawingArea, _useChartCartesianAxisRendering.selectorChartZoomOptionsLookup, _useChartCartesianAxisRendering.selectorChartYAxisWithDomains, function selectorChartPreviewYScales(yAxes, chartDrawingArea, zoomOptions, {
|
|
81
|
+
domains: unfilteredDomains
|
|
82
|
+
}, axisId) {
|
|
79
83
|
const hasAxis = yAxes?.some(axis => axis.id === axisId);
|
|
80
84
|
const drawingArea = createPreviewDrawingArea(hasAxis ? 'y' : 'x', chartDrawingArea);
|
|
81
85
|
const options = zoomOptions[axisId];
|
|
82
86
|
const scales = {};
|
|
83
87
|
yAxes?.forEach(eachAxis => {
|
|
84
88
|
const axis = eachAxis;
|
|
85
|
-
const scale =
|
|
89
|
+
const scale = (0, _getAxisScale.getNormalizedAxisScale)(axis, unfilteredDomains[axis.id].domain);
|
|
86
90
|
let range = (0, _getAxisScale.getRange)(drawingArea, 'y', axis);
|
|
87
91
|
if ((0, _scaleGuards.isOrdinalScale)(scale)) {
|
|
88
92
|
range = range.reverse();
|