@mui/x-charts 8.27.4 → 8.28.0

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 (152) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +1 -1
  2. package/BarChart/BarElement.d.ts +2 -2
  3. package/BarChart/BarElement.js +4 -2
  4. package/BarChart/BarLabel/BarLabel.js +4 -0
  5. package/BarChart/BarLabel/BarLabel.types.d.ts +2 -2
  6. package/BarChart/BarLabel/BarLabelItem.js +6 -2
  7. package/BarChart/BarLabel/barLabelClasses.d.ts +22 -2
  8. package/BarChart/BarLabel/barLabelClasses.js +19 -0
  9. package/BarChart/BarPlot.js +1 -2
  10. package/BarChart/barClasses.d.ts +21 -1
  11. package/BarChart/barClasses.js +9 -3
  12. package/BarChart/barElementClasses.d.ts +22 -10
  13. package/BarChart/barElementClasses.js +19 -0
  14. package/BarChart/index.d.ts +1 -1
  15. package/BarChart/index.js +1 -8
  16. package/CHANGELOG.md +143 -0
  17. package/LineChart/AreaElement.d.ts +17 -1
  18. package/LineChart/AreaElement.js +27 -4
  19. package/LineChart/AreaPlot.js +10 -4
  20. package/LineChart/CircleMarkElement.js +10 -2
  21. package/LineChart/LineElement.d.ts +17 -1
  22. package/LineChart/LineElement.js +27 -4
  23. package/LineChart/LineHighlightElement.d.ts +12 -0
  24. package/LineChart/LineHighlightElement.js +22 -3
  25. package/LineChart/LinePlot.js +11 -5
  26. package/LineChart/MarkElement.js +10 -2
  27. package/LineChart/MarkPlot.js +15 -3
  28. package/LineChart/index.d.ts +3 -1
  29. package/LineChart/index.js +10 -2
  30. package/LineChart/lineClasses.d.ts +34 -0
  31. package/LineChart/lineClasses.js +32 -0
  32. package/LineChart/markElementClasses.d.ts +26 -10
  33. package/LineChart/markElementClasses.js +19 -0
  34. package/PieChart/FocusedPieArc.js +4 -1
  35. package/PieChart/PieArc.d.ts +15 -12
  36. package/PieChart/PieArc.js +25 -7
  37. package/PieChart/PieArcLabel.d.ts +16 -2
  38. package/PieChart/PieArcLabel.js +28 -5
  39. package/PieChart/PieArcLabelPlot.js +6 -1
  40. package/PieChart/PieArcPlot.js +6 -1
  41. package/PieChart/PiePlot.d.ts +1 -0
  42. package/PieChart/PiePlot.js +4 -1
  43. package/PieChart/pieClasses.d.ts +22 -1
  44. package/PieChart/pieClasses.js +10 -3
  45. package/RadarChart/RadarAxis/RadarAxis.js +6 -4
  46. package/RadarChart/RadarAxis/radarAxisClasses.d.ts +27 -3
  47. package/RadarChart/RadarAxis/radarAxisClasses.js +19 -0
  48. package/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +6 -13
  49. package/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.d.ts +29 -4
  50. package/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.js +31 -1
  51. package/RadarChart/RadarGrid/RadarGrid.js +8 -1
  52. package/RadarChart/RadarGrid/radarGridClasses.d.ts +27 -3
  53. package/RadarChart/RadarGrid/radarGridClasses.js +19 -0
  54. package/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +7 -1
  55. package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +8 -2
  56. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +9 -3
  57. package/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.d.ts +26 -3
  58. package/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.js +19 -0
  59. package/RadarChart/index.d.ts +3 -1
  60. package/RadarChart/index.js +9 -1
  61. package/RadarChart/radarClasses.d.ts +32 -0
  62. package/RadarChart/radarClasses.js +36 -0
  63. package/ScatterChart/BatchScatter.d.ts +2 -1
  64. package/ScatterChart/BatchScatter.js +5 -3
  65. package/ScatterChart/FocusedScatterMark.d.ts +4 -1
  66. package/ScatterChart/FocusedScatterMark.js +12 -2
  67. package/ScatterChart/Scatter.d.ts +1 -1
  68. package/ScatterChart/Scatter.js +6 -2
  69. package/ScatterChart/ScatterPlot.d.ts +2 -1
  70. package/ScatterChart/ScatterPlot.js +16 -2
  71. package/ScatterChart/index.d.ts +2 -2
  72. package/ScatterChart/scatterClasses.d.ts +14 -2
  73. package/ScatterChart/scatterClasses.js +10 -4
  74. package/esm/BarChart/AnimatedBarElement.d.ts +1 -1
  75. package/esm/BarChart/BarElement.d.ts +2 -2
  76. package/esm/BarChart/BarElement.js +4 -2
  77. package/esm/BarChart/BarLabel/BarLabel.js +4 -0
  78. package/esm/BarChart/BarLabel/BarLabel.types.d.ts +2 -2
  79. package/esm/BarChart/BarLabel/BarLabelItem.js +6 -2
  80. package/esm/BarChart/BarLabel/barLabelClasses.d.ts +22 -2
  81. package/esm/BarChart/BarLabel/barLabelClasses.js +20 -0
  82. package/esm/BarChart/BarPlot.js +2 -3
  83. package/esm/BarChart/barClasses.d.ts +21 -1
  84. package/esm/BarChart/barClasses.js +9 -3
  85. package/esm/BarChart/barElementClasses.d.ts +22 -10
  86. package/esm/BarChart/barElementClasses.js +20 -0
  87. package/esm/BarChart/index.d.ts +1 -1
  88. package/esm/BarChart/index.js +1 -1
  89. package/esm/LineChart/AreaElement.d.ts +17 -1
  90. package/esm/LineChart/AreaElement.js +29 -4
  91. package/esm/LineChart/AreaPlot.js +11 -5
  92. package/esm/LineChart/CircleMarkElement.js +11 -3
  93. package/esm/LineChart/LineElement.d.ts +17 -1
  94. package/esm/LineChart/LineElement.js +29 -4
  95. package/esm/LineChart/LineHighlightElement.d.ts +12 -0
  96. package/esm/LineChart/LineHighlightElement.js +24 -3
  97. package/esm/LineChart/LinePlot.js +12 -6
  98. package/esm/LineChart/MarkElement.js +11 -3
  99. package/esm/LineChart/MarkPlot.js +15 -3
  100. package/esm/LineChart/index.d.ts +3 -1
  101. package/esm/LineChart/index.js +2 -1
  102. package/esm/LineChart/lineClasses.d.ts +34 -0
  103. package/esm/LineChart/lineClasses.js +23 -0
  104. package/esm/LineChart/markElementClasses.d.ts +26 -10
  105. package/esm/LineChart/markElementClasses.js +20 -0
  106. package/esm/PieChart/FocusedPieArc.js +4 -1
  107. package/esm/PieChart/PieArc.d.ts +15 -12
  108. package/esm/PieChart/PieArc.js +27 -7
  109. package/esm/PieChart/PieArcLabel.d.ts +16 -2
  110. package/esm/PieChart/PieArcLabel.js +30 -5
  111. package/esm/PieChart/PieArcLabelPlot.js +6 -1
  112. package/esm/PieChart/PieArcPlot.js +6 -1
  113. package/esm/PieChart/PiePlot.d.ts +1 -0
  114. package/esm/PieChart/PiePlot.js +4 -1
  115. package/esm/PieChart/pieClasses.d.ts +22 -1
  116. package/esm/PieChart/pieClasses.js +10 -3
  117. package/esm/RadarChart/RadarAxis/RadarAxis.js +7 -5
  118. package/esm/RadarChart/RadarAxis/radarAxisClasses.d.ts +27 -3
  119. package/esm/RadarChart/RadarAxis/radarAxisClasses.js +20 -0
  120. package/esm/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +7 -14
  121. package/esm/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.d.ts +29 -4
  122. package/esm/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.js +30 -1
  123. package/esm/RadarChart/RadarGrid/RadarGrid.js +9 -2
  124. package/esm/RadarChart/RadarGrid/radarGridClasses.d.ts +27 -3
  125. package/esm/RadarChart/RadarGrid/radarGridClasses.js +20 -0
  126. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +8 -2
  127. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +8 -2
  128. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +9 -3
  129. package/esm/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.d.ts +26 -3
  130. package/esm/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.js +20 -0
  131. package/esm/RadarChart/index.d.ts +3 -1
  132. package/esm/RadarChart/index.js +2 -1
  133. package/esm/RadarChart/radarClasses.d.ts +32 -0
  134. package/esm/RadarChart/radarClasses.js +27 -0
  135. package/esm/ScatterChart/BatchScatter.d.ts +2 -1
  136. package/esm/ScatterChart/BatchScatter.js +4 -3
  137. package/esm/ScatterChart/FocusedScatterMark.d.ts +4 -1
  138. package/esm/ScatterChart/FocusedScatterMark.js +11 -1
  139. package/esm/ScatterChart/Scatter.d.ts +1 -1
  140. package/esm/ScatterChart/Scatter.js +6 -2
  141. package/esm/ScatterChart/ScatterPlot.d.ts +2 -1
  142. package/esm/ScatterChart/ScatterPlot.js +16 -2
  143. package/esm/ScatterChart/index.d.ts +2 -2
  144. package/esm/ScatterChart/scatterClasses.d.ts +14 -2
  145. package/esm/ScatterChart/scatterClasses.js +10 -4
  146. package/esm/index.js +1 -1
  147. package/esm/themeAugmentation/components.d.ts +29 -1
  148. package/esm/themeAugmentation/overrides.d.ts +17 -1
  149. package/index.js +1 -1
  150. package/package.json +3 -3
  151. package/themeAugmentation/components.d.ts +29 -1
  152. package/themeAugmentation/overrides.d.ts +17 -1
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type SeriesId } from "../models/seriesType/common.js";
3
- import { type BarElementOwnerState } from "./barElementClasses.js";
3
+ import { type BarElementOwnerState } from "./barClasses.js";
4
4
  export interface BarProps extends Omit<React.SVGProps<SVGRectElement>, 'id' | 'color' | 'ref' | 'x' | 'y' | 'height' | 'width'> {
5
5
  id: SeriesId;
6
6
  dataIndex: number;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type SlotComponentPropsFromProps } from '@mui/x-internals/types';
3
- import { type BarElementOwnerState } from "./barElementClasses.js";
3
+ import { type BarElementOwnerState } from "./barClasses.js";
4
4
  import { type BarProps } from "./AnimatedBarElement.js";
5
5
  export interface BarElementSlots {
6
6
  /**
@@ -12,7 +12,7 @@ export interface BarElementSlots {
12
12
  export interface BarElementSlotProps {
13
13
  bar?: SlotComponentPropsFromProps<BarProps, {}, BarElementOwnerState>;
14
14
  }
15
- export type BarElementProps = Omit<BarElementOwnerState, 'isFaded' | 'isHighlighted'> & Omit<React.SVGProps<SVGRectElement>, 'ref' | 'id'> & {
15
+ export type BarElementProps = Omit<BarElementOwnerState, 'isFaded' | 'isHighlighted' | 'isFocused'> & Omit<React.SVGProps<SVGRectElement>, 'ref' | 'id'> & {
16
16
  /**
17
17
  * The props used for each component slot.
18
18
  * @default {}
@@ -12,6 +12,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
+ var _barClasses = require("./barClasses");
15
16
  var _barElementClasses = require("./barElementClasses");
16
17
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
17
18
  var _useItemHighlighted = require("../hooks/useItemHighlighted");
@@ -64,7 +65,8 @@ function BarElement(props) {
64
65
  isHighlighted,
65
66
  isFocused
66
67
  };
67
- const classes = (0, _barElementClasses.useUtilityClasses)(ownerState);
68
+ const classes = (0, _barClasses.useUtilityClasses)(ownerState);
69
+ const deprecatedClasses = (0, _barElementClasses.useUtilityClasses)(ownerState);
68
70
  const Bar = slots?.bar ?? _AnimatedBarElement.AnimatedBarElement;
69
71
  const barProps = (0, _useSlotProps.default)({
70
72
  elementType: Bar,
@@ -89,7 +91,7 @@ function BarElement(props) {
89
91
  layout,
90
92
  hidden
91
93
  }),
92
- className: classes.root,
94
+ className: `${classes.element} ${deprecatedClasses.root}`,
93
95
  ownerState
94
96
  });
95
97
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Bar, (0, _extends2.default)({}, barProps));
@@ -25,6 +25,10 @@ const BarLabelComponent = exports.BarLabelComponent = (0, _styles.styled)('text'
25
25
  [`&.${_barLabelClasses.barLabelClasses.faded}`]: styles.faded
26
26
  }, {
27
27
  [`&.${_barLabelClasses.barLabelClasses.highlighted}`]: styles.highlighted
28
+ }, {
29
+ [`&[data-faded]`]: styles.faded
30
+ }, {
31
+ [`&[data-highlighted]`]: styles.highlighted
28
32
  }, styles.root]
29
33
  })(({
30
34
  theme
@@ -1,5 +1,5 @@
1
1
  import { type SeriesId } from "../../models/seriesType/common.js";
2
- import type { BarLabelClasses } from "./barLabelClasses.js";
2
+ import type { BarClasses } from "../barClasses.js";
3
3
  import { type BarValueType } from "../../models/index.js";
4
4
  export interface BarLabelOwnerState {
5
5
  seriesId: SeriesId;
@@ -9,7 +9,7 @@ export interface BarLabelOwnerState {
9
9
  isHighlighted: boolean;
10
10
  skipAnimation: boolean;
11
11
  layout: 'vertical' | 'horizontal';
12
- classes?: Partial<BarLabelClasses>;
12
+ classes?: Partial<BarClasses>;
13
13
  }
14
14
  export type BarItem = {
15
15
  /**
@@ -11,6 +11,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _barClasses = require("../barClasses");
14
15
  var _barLabelClasses = require("./barLabelClasses");
15
16
  var _getBarLabel = require("./getBarLabel");
16
17
  var _BarLabel = require("./BarLabel");
@@ -60,7 +61,8 @@ function BarLabelItem(props) {
60
61
  skipAnimation,
61
62
  layout
62
63
  };
63
- const classes = (0, _barLabelClasses.useUtilityClasses)(ownerState);
64
+ const classes = (0, _barClasses.useUtilityClasses)(ownerState);
65
+ const deprecatedClasses = (0, _barLabelClasses.useUtilityClasses)(ownerState);
64
66
  const Component = slots?.barLabel ?? _BarLabel.BarLabel;
65
67
  const _useSlotProps = (0, _useSlotProps2.default)({
66
68
  elementType: Component,
@@ -73,7 +75,9 @@ function BarLabelItem(props) {
73
75
  width,
74
76
  height,
75
77
  placement: barLabelPlacement,
76
- className: classes.root
78
+ className: `${classes.label} ${deprecatedClasses.root}`,
79
+ 'data-highlighted': isHighlighted || undefined,
80
+ 'data-faded': isFaded || undefined
77
81
  }),
78
82
  ownerState
79
83
  }),
@@ -1,20 +1,40 @@
1
1
  import type { BarLabelOwnerState } from "./BarLabel.types.js";
2
+ /**
3
+ * @deprecated Use `BarClasses` instead.
4
+ */
2
5
  export interface BarLabelClasses {
3
- /** Styles applied to the root element. */
6
+ /** Styles applied to the root element.
7
+ * @deprecated Use `barClasses.label` instead.
8
+ */
4
9
  root: string;
5
10
  /** Styles applied to the root element if it is highlighted. */
6
11
  highlighted: string;
7
12
  /** Styles applied to the root element if it is faded. */
8
13
  faded: string;
9
- /** Styles applied to the root element if it is animated. */
14
+ /** Styles applied to the root element if it is animated.
15
+ * @deprecated Use `barClasses.labelAnimate` instead.
16
+ */
10
17
  animate: string;
11
18
  /**
12
19
  * Styles applied to the root element for a specified series.
13
20
  * Needs to be suffixed with the series ID: `.${barLabelClasses.series}-${seriesId}`.
21
+ * @deprecated Use `[data-series="${seriesId}"]` selector instead.
14
22
  */
15
23
  series: string;
16
24
  }
25
+ /**
26
+ * @deprecated Use `BarClassKey` instead.
27
+ */
17
28
  export type BarLabelClassKey = keyof BarLabelClasses;
29
+ /**
30
+ * @deprecated Use `getBarUtilityClass` instead.
31
+ */
18
32
  export declare function getBarLabelUtilityClass(slot: string): string;
33
+ /**
34
+ * @deprecated Use `barClasses` instead.
35
+ */
19
36
  export declare const barLabelClasses: Record<"root" | "animate" | "highlighted" | "faded", string>;
37
+ /**
38
+ * @deprecated Use `useBarLabelUtilityClasses` instead.
39
+ */
20
40
  export declare const useUtilityClasses: (ownerState: BarLabelOwnerState) => Record<"root", string>;
@@ -10,10 +10,29 @@ exports.useUtilityClasses = void 0;
10
10
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
11
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
+ /**
14
+ * @deprecated Use `BarClasses` instead.
15
+ */
16
+
17
+ /**
18
+ * @deprecated Use `BarClassKey` instead.
19
+ */
20
+
21
+ /**
22
+ * @deprecated Use `getBarUtilityClass` instead.
23
+ */
13
24
  function getBarLabelUtilityClass(slot) {
14
25
  return (0, _generateUtilityClass.default)('MuiBarLabel', slot);
15
26
  }
27
+
28
+ /**
29
+ * @deprecated Use `barClasses` instead.
30
+ */
16
31
  const barLabelClasses = exports.barLabelClasses = (0, _generateUtilityClasses.default)('MuiBarLabel', ['root', 'highlighted', 'faded', 'animate']);
32
+
33
+ /**
34
+ * @deprecated Use `useBarLabelUtilityClasses` instead.
35
+ */
17
36
  const useUtilityClasses = ownerState => {
18
37
  const {
19
38
  classes,
@@ -12,7 +12,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _styles = require("@mui/material/styles");
15
- var _barElementClasses = require("./barElementClasses");
16
15
  var _hooks = require("../hooks");
17
16
  var _BarLabelPlot = require("./BarLabel/BarLabelPlot");
18
17
  var _useSkipAnimation = require("../hooks/useSkipAnimation");
@@ -28,7 +27,7 @@ const BarPlotRoot = (0, _styles.styled)('g', {
28
27
  name: 'MuiBarPlot',
29
28
  slot: 'Root'
30
29
  })({
31
- [`& .${_barElementClasses.barElementClasses.root}`]: {
30
+ [`& .${_barClasses.barClasses.element}`]: {
32
31
  transitionProperty: 'opacity, fill',
33
32
  transitionDuration: `${_animation.ANIMATION_DURATION_MS}ms`,
34
33
  transitionTimingFunction: _animation.ANIMATION_TIMING_FUNCTION
@@ -1,3 +1,4 @@
1
+ import { type SeriesId } from "../models/seriesType/common.js";
1
2
  export interface BarClasses {
2
3
  /** Styles applied to the bar plot element. */
3
4
  root: string;
@@ -5,8 +6,27 @@ export interface BarClasses {
5
6
  series: string;
6
7
  /** Styles applied to the group surrounding a series' labels. */
7
8
  seriesLabels: string;
9
+ /** Styles applied to an individual bar element. */
10
+ element: string;
11
+ /** Styles applied to an individual bar label. */
12
+ label: string;
13
+ /** Styles applied to a bar label when it is animated. */
14
+ labelAnimate: string;
8
15
  }
9
16
  export type BarClassKey = keyof BarClasses;
17
+ export interface BarElementOwnerState {
18
+ id: SeriesId;
19
+ dataIndex: number;
20
+ color: string;
21
+ isFaded: boolean;
22
+ isHighlighted: boolean;
23
+ isFocused: boolean;
24
+ classes?: Partial<BarClasses>;
25
+ }
10
26
  export declare function getBarUtilityClass(slot: string): string;
11
27
  export declare const barClasses: BarClasses;
12
- export declare const useUtilityClasses: (classes?: Partial<BarClasses>) => Record<"series" | "root" | "seriesLabels", string>;
28
+ export interface UseUtilityClassesOptions {
29
+ skipAnimation?: boolean;
30
+ classes?: Partial<BarClasses>;
31
+ }
32
+ export declare const useUtilityClasses: (options?: UseUtilityClassesOptions) => Record<"series" | "root" | "label" | "seriesLabels" | "element", string>;
@@ -13,12 +13,18 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
13
13
  function getBarUtilityClass(slot) {
14
14
  return (0, _generateUtilityClass.default)('MuiBar', slot);
15
15
  }
16
- const barClasses = exports.barClasses = (0, _generateUtilityClasses.default)('MuiBar', ['root', 'series', 'seriesLabels']);
17
- const useUtilityClasses = classes => {
16
+ const barClasses = exports.barClasses = (0, _generateUtilityClasses.default)('MuiBar', ['root', 'series', 'seriesLabels', 'element', 'label', 'labelAnimate']);
17
+ const useUtilityClasses = options => {
18
+ const {
19
+ skipAnimation,
20
+ classes
21
+ } = options ?? {};
18
22
  const slots = {
19
23
  root: ['root'],
20
24
  series: ['series'],
21
- seriesLabels: ['seriesLabels']
25
+ seriesLabels: ['seriesLabels'],
26
+ element: ['element'],
27
+ label: ['label', !skipAnimation && 'labelAnimate']
22
28
  };
23
29
  return (0, _composeClasses.default)(slots, getBarUtilityClass, classes);
24
30
  };
@@ -1,6 +1,13 @@
1
- import { type SeriesId } from "../models/seriesType/common.js";
1
+ import type { BarElementOwnerState } from "./barClasses.js";
2
+ export { type BarElementOwnerState };
3
+ /**
4
+ * @deprecated Use `BarClasses` instead.
5
+ */
2
6
  export interface BarElementClasses {
3
- /** Styles applied to the root element. */
7
+ /**
8
+ * Styles applied to the root element.
9
+ * @deprecated Use `barClasses.element` instead.
10
+ */
4
11
  root: string;
5
12
  /** Styles applied to the root element if it is highlighted. */
6
13
  highlighted: string;
@@ -9,18 +16,23 @@ export interface BarElementClasses {
9
16
  /**
10
17
  * Styles applied to the root element for a specified series.
11
18
  * Needs to be suffixed with the series ID: `.${barElementClasses.series}-${seriesId}`.
19
+ * @deprecated Use `[data-series="${seriesId}"]` selector instead.
12
20
  */
13
21
  series: string;
14
22
  }
23
+ /**
24
+ * @deprecated Use `BarClassKey` instead.
25
+ */
15
26
  export type BarElementClassKey = keyof BarElementClasses;
16
- export interface BarElementOwnerState {
17
- id: SeriesId;
18
- dataIndex: number;
19
- color: string;
20
- isFaded: boolean;
21
- isHighlighted: boolean;
22
- classes?: Partial<BarElementClasses>;
23
- }
27
+ /**
28
+ * @deprecated Use `getBarUtilityClass` instead.
29
+ */
24
30
  export declare function getBarElementUtilityClass(slot: string): string;
31
+ /**
32
+ * @deprecated Use `barClasses` instead.
33
+ */
25
34
  export declare const barElementClasses: BarElementClasses;
35
+ /**
36
+ * @deprecated Use `useBarElementUtilityClasses` instead.
37
+ */
26
38
  export declare const useUtilityClasses: (ownerState: BarElementOwnerState) => Record<"root", string>;
@@ -10,10 +10,29 @@ exports.useUtilityClasses = void 0;
10
10
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
11
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
12
12
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
13
+ /**
14
+ * @deprecated Use `BarClasses` instead.
15
+ */
16
+
17
+ /**
18
+ * @deprecated Use `BarClassKey` instead.
19
+ */
20
+
21
+ /**
22
+ * @deprecated Use `getBarUtilityClass` instead.
23
+ */
13
24
  function getBarElementUtilityClass(slot) {
14
25
  return (0, _generateUtilityClass.default)('MuiBarElement', slot);
15
26
  }
27
+
28
+ /**
29
+ * @deprecated Use `barClasses` instead.
30
+ */
16
31
  const barElementClasses = exports.barElementClasses = (0, _generateUtilityClasses.default)('MuiBarElement', ['root', 'highlighted', 'faded', 'series']);
32
+
33
+ /**
34
+ * @deprecated Use `useBarElementUtilityClasses` instead.
35
+ */
17
36
  const useUtilityClasses = ownerState => {
18
37
  const {
19
38
  classes,
@@ -6,5 +6,5 @@ export * from "./FocusedBar.js";
6
6
  export * from "./barElementClasses.js";
7
7
  export * from "./BarChart.plugins.js";
8
8
  export { type BarProps } from "./AnimatedBarElement.js";
9
- export { barClasses, getBarUtilityClass } from "./barClasses.js";
9
+ export { barClasses } from "./barClasses.js";
10
10
  export type { BarClassKey, BarClasses } from "./barClasses.js";
package/BarChart/index.js CHANGED
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- barClasses: true,
8
- getBarUtilityClass: true
7
+ barClasses: true
9
8
  };
10
9
  Object.defineProperty(exports, "barClasses", {
11
10
  enumerable: true,
@@ -13,12 +12,6 @@ Object.defineProperty(exports, "barClasses", {
13
12
  return _barClasses.barClasses;
14
13
  }
15
14
  });
16
- Object.defineProperty(exports, "getBarUtilityClass", {
17
- enumerable: true,
18
- get: function () {
19
- return _barClasses.getBarUtilityClass;
20
- }
21
- });
22
15
  var _BarChart = require("./BarChart");
23
16
  Object.keys(_BarChart).forEach(function (key) {
24
17
  if (key === "default" || key === "__esModule") return;
package/CHANGELOG.md CHANGED
@@ -5,6 +5,149 @@
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.0
9
+
10
+ _Mar 19, 2026_
11
+
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
15
+
16
+ The following team members contributed to this release:
17
+ @alexfauquette, @brijeshb42, @Janpot, @JCQuintas, @sai6855
18
+
19
+ ### Data Grid
20
+
21
+ #### `@mui/x-data-grid@8.28.0`
22
+
23
+ - [DataGrid] Move `elementOverrides` to constants and remove duplicates (@sai6855) (#21752) @github-actions[bot]
24
+
25
+ #### `@mui/x-data-grid-pro@8.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
26
+
27
+ Same changes as in `@mui/x-data-grid@8.28.0`.
28
+
29
+ #### `@mui/x-data-grid-premium@8.28.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
30
+
31
+ Same changes as in `@mui/x-data-grid-pro@8.28.0`.
32
+
33
+ ### Date and Time Pickers
34
+
35
+ #### `@mui/x-date-pickers@8.27.2`
36
+
37
+ Internal changes.
38
+
39
+ #### `@mui/x-date-pickers-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
40
+
41
+ Same changes as in `@mui/x-date-pickers@8.27.2`.
42
+
43
+ ### Charts
44
+
45
+ #### `@mui/x-charts@8.28.0`
46
+
47
+ - [charts] Improve deprecation warnings (#21760) (#21767) @alexfauquette
48
+ - [charts] Refactor `FunnelChart` classes structure (@JCQuintas) (#21763) @github-actions[bot]
49
+ - [charts] Refactor `Heatmap` classes structure (#21653) (#21745) @JCQuintas
50
+ - [charts] Refactor `PieChart` classes structure (@JCQuintas) (#21715) @github-actions[bot]
51
+ - [charts] Refactor `RadarChart` classes structure (@JCQuintas) (#21730) @github-actions[bot]
52
+ - [charts] Refactor `SankeyChart` classes structure (#21654) (#21726) @JCQuintas
53
+ - [charts] Rename `data-series-id` by `data-series` (#21761) (#21772) @alexfauquette
54
+
55
+ #### `@mui/x-charts-pro@8.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
56
+
57
+ Same changes as in `@mui/x-charts@8.28.0`, plus:
58
+
59
+ - [charts-pro] Allow `brush` interaction to accept `requiredKeys/pointerMode` (#21723) @JCQuintas
60
+
61
+ #### `@mui/x-charts-premium@8.28.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
62
+
63
+ Same changes as in `@mui/x-charts-pro@8.28.0`.
64
+
65
+ ### Tree View
66
+
67
+ #### `@mui/x-tree-view@8.27.2`
68
+
69
+ Internal changes.
70
+
71
+ #### `@mui/x-tree-view-pro@8.27.2` [![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-tree-view@8.27.2`.
74
+
75
+ ### Codemod
76
+
77
+ #### `@mui/x-codemod@8.27.0`
78
+
79
+ Internal changes.
80
+
81
+ ### Core
82
+
83
+ - [code-infra] Fix contributor generation in changelog (#21712) @brijeshb42
84
+ - [code-infra] Install pkg-pr-new (#21778) @Janpot
85
+
86
+ ## 8.27.5
87
+
88
+ _Mar 11, 2026_
89
+
90
+ We'd like to extend a big thank you to the 7 contributors who made this release possible. Here are some highlights ✨:
91
+
92
+ - 🐞 Bugfixes
93
+
94
+ The following team members contributed to this release:
95
+ @bernardobelchior, @JCQuintas, @MBilalShafi, @michelengelen, @mj12albert, @sai6855, @siriwatknp
96
+
97
+ ### Data Grid
98
+
99
+ #### `@mui/x-data-grid@8.27.5`
100
+
101
+ - [DataGrid] Fix crash when `rows` and `rowModesModel` are updated simultaneously (#21684) @michelengelen
102
+ - [DataGrid] Forward rest props in `GridFilterInputMultipleValue` (#21444) @siriwatknp
103
+ - [DataGrid] Remove double rtl inversion logic for columns pinning (#21443) @siriwatknp
104
+ - [DataGrid] Add missing `resizablePanelHandle` classes to `gridClasses` object (#21632) @sai6855
105
+ - [DataGrid] Refactor `headerAlign` style calls (#21633) @sai6855
106
+ - [DataGrid] Fix keyboard navigation with single-row checkbox selection (#21529) @mj12albert
107
+
108
+ #### `@mui/x-data-grid-pro@8.27.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
109
+
110
+ Same changes as in `@mui/x-data-grid@8.27.5`, plus:
111
+
112
+ - [DataGridPro] Add `role="presentation"` to detail panel toggle header content (#21691) @michelengelen
113
+ - [DataGridPro] Fix sorting not reflected in nested server-side data (#21641) @MBilalShafi
114
+
115
+ #### `@mui/x-data-grid-premium@8.27.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
116
+
117
+ Same changes as in `@mui/x-data-grid-pro@8.27.5`.
118
+
119
+ ### Charts
120
+
121
+ #### `@mui/x-charts@8.27.5`
122
+
123
+ - [charts] Refactor `BarChart` classes structure (#21601) (#21644) @JCQuintas
124
+ - [charts] Refactor `LineChart` classes structure (#21672) @JCQuintas
125
+ - [charts] Refactor `ScatterChart` classes structure (#21706) @JCQuintas
126
+
127
+ #### `@mui/x-charts-pro@8.27.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
128
+
129
+ Same changes as in `@mui/x-charts@8.27.5`, plus:
130
+
131
+ - [charts-pro] Fix image export truncated when page is zoomed out (#21696) @bernardobelchior
132
+
133
+ #### `@mui/x-charts-premium@8.27.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
134
+
135
+ Same changes as in `@mui/x-charts-pro@8.27.5`.
136
+
137
+ ### Docs
138
+
139
+ - [docs] Fix `AssistantWithDataSource` demo crashing (#21631) @sai6855
140
+ - [docs] Move Range Bar Chart to existing charts (#21122) @bernardobelchior
141
+
142
+ ### Core
143
+
144
+ - [code-infra] Fix datagrid test flakyness (#21657) @JCQuintas
145
+ - [code-infra] Removed `getTeamMembers` function and usage from the release script (#21608) @michelengelen
146
+
147
+ ### Miscellaneous
148
+
149
+ - [test] Add missing tests for forwarding props to filter operators in DataGrid (#21700) @siriwatknp
150
+
8
151
  ## 8.27.4
9
152
 
10
153
  _Mar 5, 2026_
@@ -2,8 +2,14 @@ import * as React from 'react';
2
2
  import { type SlotComponentPropsFromProps } from '@mui/x-internals/types';
3
3
  import { type AnimatedAreaProps } from "./AnimatedArea.js";
4
4
  import { type SeriesId } from "../models/seriesType/common.js";
5
+ /**
6
+ * @deprecated Use `LineClasses` instead.
7
+ */
5
8
  export interface AreaElementClasses {
6
- /** Styles applied to the root element. */
9
+ /**
10
+ * Styles applied to the root element.
11
+ * @deprecated Use `lineClasses.area` instead.
12
+ */
7
13
  root: string;
8
14
  /** Styles applied to the root element when highlighted. */
9
15
  highlighted: string;
@@ -12,9 +18,13 @@ export interface AreaElementClasses {
12
18
  /**
13
19
  * Styles applied to the root element for a specified series.
14
20
  * Needs to be suffixed with the series ID: `.${areaElementClasses.series}-${seriesId}`.
21
+ * @deprecated Use `[data-series="${seriesId}"]` selector instead.
15
22
  */
16
23
  series: string;
17
24
  }
25
+ /**
26
+ * @deprecated Use `LineClassKey` instead.
27
+ */
18
28
  export type AreaElementClassKey = keyof AreaElementClasses;
19
29
  export interface AreaElementOwnerState {
20
30
  id: SeriesId;
@@ -24,7 +34,13 @@ export interface AreaElementOwnerState {
24
34
  isHighlighted: boolean;
25
35
  classes?: Partial<AreaElementClasses>;
26
36
  }
37
+ /**
38
+ * @deprecated Use `getLineUtilityClass` instead.
39
+ */
27
40
  export declare function getAreaElementUtilityClass(slot: string): string;
41
+ /**
42
+ * @deprecated Use `lineClasses` instead.
43
+ */
28
44
  export declare const areaElementClasses: AreaElementClasses;
29
45
  export interface AreaElementSlots {
30
46
  /**
@@ -20,13 +20,31 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
20
20
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
21
21
  var _useItemHighlighted = require("../hooks/useItemHighlighted");
22
22
  var _AnimatedArea = require("./AnimatedArea");
23
+ var _lineClasses = require("./lineClasses");
23
24
  var _jsxRuntime = require("react/jsx-runtime");
24
25
  const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
26
+ /**
27
+ * @deprecated Use `LineClasses` instead.
28
+ */
29
+ /**
30
+ * @deprecated Use `LineClassKey` instead.
31
+ */
32
+ /**
33
+ * @deprecated Use `getLineUtilityClass` instead.
34
+ */
25
35
  function getAreaElementUtilityClass(slot) {
26
36
  return (0, _generateUtilityClass.default)('MuiAreaElement', slot);
27
37
  }
38
+
39
+ /**
40
+ * @deprecated Use `lineClasses` instead.
41
+ */
28
42
  const areaElementClasses = exports.areaElementClasses = (0, _generateUtilityClasses.default)('MuiAreaElement', ['root', 'highlighted', 'faded', 'series']);
29
- const useUtilityClasses = ownerState => {
43
+
44
+ /**
45
+ * @deprecated Use `useUtilityClasses` instead.
46
+ */
47
+ const useDeprecatedUtilityClasses = ownerState => {
30
48
  const {
31
49
  classes,
32
50
  id,
@@ -77,16 +95,21 @@ function AreaElement(props) {
77
95
  isFaded,
78
96
  isHighlighted
79
97
  };
80
- const classes = useUtilityClasses(ownerState);
98
+ const classes = (0, _lineClasses.useUtilityClasses)();
99
+ const deprecatedClasses = useDeprecatedUtilityClasses(ownerState);
81
100
  const Area = slots?.area ?? _AnimatedArea.AnimatedArea;
82
101
  const areaProps = (0, _useSlotProps.default)({
83
102
  elementType: Area,
84
103
  externalSlotProps: slotProps?.area,
85
104
  additionalProps: (0, _extends2.default)({}, interactionProps, {
86
105
  onClick,
87
- cursor: onClick ? 'pointer' : 'unset'
106
+ cursor: onClick ? 'pointer' : 'unset',
107
+ 'data-highlighted': isHighlighted || undefined,
108
+ 'data-faded': isFaded || undefined,
109
+ 'data-series-id': id,
110
+ 'data-series': id
88
111
  }),
89
- className: classes.root,
112
+ className: `${classes.area} ${deprecatedClasses.root}`,
90
113
  ownerState
91
114
  });
92
115
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Area, (0, _extends2.default)({}, other, areaProps));
@@ -12,19 +12,21 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _styles = require("@mui/material/styles");
15
+ var _clsx = _interopRequireDefault(require("clsx"));
15
16
  var _AreaElement = require("./AreaElement");
16
17
  var _useSkipAnimation = require("../hooks/useSkipAnimation");
17
18
  var _useAxis = require("../hooks/useAxis");
18
19
  var _useInternalIsZoomInteracting = require("../internals/plugins/featurePlugins/useChartCartesianAxis/useInternalIsZoomInteracting");
19
20
  var _useAreaPlotData = require("./useAreaPlotData");
20
21
  var _animation = require("../internals/animation/animation");
22
+ var _lineClasses = require("./lineClasses");
21
23
  var _jsxRuntime = require("react/jsx-runtime");
22
- const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
24
+ const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation", "className"];
23
25
  const AreaPlotRoot = (0, _styles.styled)('g', {
24
26
  name: 'MuiAreaPlot',
25
27
  slot: 'Root'
26
28
  })({
27
- [`& .${_AreaElement.areaElementClasses.root}`]: {
29
+ [`& .${_lineClasses.lineClasses.area}`]: {
28
30
  transitionProperty: 'opacity, fill',
29
31
  transitionDuration: `${_animation.ANIMATION_DURATION_MS}ms`,
30
32
  transitionTimingFunction: _animation.ANIMATION_TIMING_FUNCTION
@@ -56,13 +58,17 @@ function AreaPlot(props) {
56
58
  slots,
57
59
  slotProps,
58
60
  onItemClick,
59
- skipAnimation: inSkipAnimation
61
+ skipAnimation: inSkipAnimation,
62
+ className
60
63
  } = props,
61
64
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
62
65
  const isZoomInteracting = (0, _useInternalIsZoomInteracting.useInternalIsZoomInteracting)();
63
66
  const skipAnimation = (0, _useSkipAnimation.useSkipAnimation)(isZoomInteracting || inSkipAnimation);
64
67
  const completedData = useAggregatedData();
65
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(AreaPlotRoot, (0, _extends2.default)({}, other, {
68
+ const classes = (0, _lineClasses.useUtilityClasses)();
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AreaPlotRoot, (0, _extends2.default)({
70
+ className: (0, _clsx.default)(classes.areaPlot, className)
71
+ }, other, {
66
72
  children: completedData.map(({
67
73
  d,
68
74
  seriesId,