@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 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` [![pro](https://mui.com/r/x-pro-svg)](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` [![premium](https://mui.com/r/x-premium-svg)](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` [![pro](https://mui.com/r/x-pro-svg)](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` [![premium](https://mui.com/r/x-premium-svg)](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` [![pro](https://mui.com/r/x-pro-svg)](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` [![premium](https://mui.com/r/x-premium-svg)](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. Here are some highlights ✨:
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v8.28.0
2
+ * @mui/x-charts v8.28.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -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 { selectorChartNormalizedXScales, selectorChartNormalizedYScales, selectorChartXAxisWithDomains, selectorChartYAxisWithDomains, selectorChartZoomOptionsLookup } from "./useChartCartesianAxisRendering.selectors.js";
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, selectorChartNormalizedXScales, function selectorChartPreviewXScales(xAxes, chartDrawingArea, zoomOptions, normalizedXScales, axisId) {
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 = normalizedXScales[axis.id].copy();
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, selectorChartNormalizedYScales, function selectorChartPreviewYScales(yAxes, chartDrawingArea, zoomOptions, normalizedYScales, axisId) {
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 = normalizedYScales[axis.id].copy();
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v8.28.0
2
+ * @mui/x-charts v8.28.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -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.selectorChartNormalizedXScales, function selectorChartPreviewXScales(xAxes, chartDrawingArea, zoomOptions, normalizedXScales, axisId) {
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 = normalizedXScales[axis.id].copy();
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.selectorChartNormalizedYScales, function selectorChartPreviewYScales(yAxes, chartDrawingArea, zoomOptions, normalizedYScales, axisId) {
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 = normalizedYScales[axis.id].copy();
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();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts",
3
- "version": "8.28.0",
3
+ "version": "8.28.2",
4
4
  "author": "MUI Team",
5
5
  "description": "The community edition of MUI X Charts components.",
6
6
  "license": "MIT",