@mui/x-charts 8.27.5 → 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.
Files changed (108) hide show
  1. package/BarChart/BarLabel/barLabelClasses.d.ts +12 -7
  2. package/BarChart/BarLabel/barLabelClasses.js +5 -5
  3. package/BarChart/barElementClasses.d.ts +10 -6
  4. package/BarChart/barElementClasses.js +5 -5
  5. package/BarChart/index.d.ts +1 -1
  6. package/BarChart/index.js +1 -8
  7. package/CHANGELOG.md +155 -0
  8. package/LineChart/AreaElement.d.ts +9 -5
  9. package/LineChart/AreaElement.js +7 -6
  10. package/LineChart/CircleMarkElement.js +1 -0
  11. package/LineChart/LineElement.d.ts +9 -5
  12. package/LineChart/LineElement.js +7 -6
  13. package/LineChart/LineHighlightElement.d.ts +4 -4
  14. package/LineChart/LineHighlightElement.js +5 -5
  15. package/LineChart/MarkElement.js +1 -0
  16. package/LineChart/index.d.ts +1 -1
  17. package/LineChart/index.js +1 -8
  18. package/LineChart/markElementClasses.d.ts +14 -7
  19. package/LineChart/markElementClasses.js +5 -5
  20. package/PieChart/FocusedPieArc.js +4 -1
  21. package/PieChart/PieArc.d.ts +15 -12
  22. package/PieChart/PieArc.js +25 -7
  23. package/PieChart/PieArcLabel.d.ts +16 -2
  24. package/PieChart/PieArcLabel.js +28 -5
  25. package/PieChart/PieArcLabelPlot.js +6 -1
  26. package/PieChart/PieArcPlot.js +6 -1
  27. package/PieChart/PiePlot.d.ts +1 -0
  28. package/PieChart/PiePlot.js +4 -1
  29. package/PieChart/pieClasses.d.ts +22 -1
  30. package/PieChart/pieClasses.js +10 -3
  31. package/RadarChart/RadarAxis/RadarAxis.js +6 -4
  32. package/RadarChart/RadarAxis/radarAxisClasses.d.ts +27 -3
  33. package/RadarChart/RadarAxis/radarAxisClasses.js +19 -0
  34. package/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +6 -13
  35. package/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.d.ts +29 -4
  36. package/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.js +31 -1
  37. package/RadarChart/RadarGrid/RadarGrid.js +8 -1
  38. package/RadarChart/RadarGrid/radarGridClasses.d.ts +27 -3
  39. package/RadarChart/RadarGrid/radarGridClasses.js +19 -0
  40. package/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +7 -1
  41. package/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +8 -2
  42. package/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +9 -3
  43. package/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.d.ts +26 -3
  44. package/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.js +19 -0
  45. package/RadarChart/index.d.ts +3 -1
  46. package/RadarChart/index.js +9 -1
  47. package/RadarChart/radarClasses.d.ts +32 -0
  48. package/RadarChart/radarClasses.js +36 -0
  49. package/ScatterChart/index.d.ts +1 -1
  50. package/ScatterChart/index.js +1 -8
  51. package/esm/BarChart/BarLabel/barLabelClasses.d.ts +12 -7
  52. package/esm/BarChart/BarLabel/barLabelClasses.js +5 -5
  53. package/esm/BarChart/barElementClasses.d.ts +10 -6
  54. package/esm/BarChart/barElementClasses.js +5 -5
  55. package/esm/BarChart/index.d.ts +1 -1
  56. package/esm/BarChart/index.js +1 -1
  57. package/esm/LineChart/AreaElement.d.ts +9 -5
  58. package/esm/LineChart/AreaElement.js +7 -6
  59. package/esm/LineChart/CircleMarkElement.js +1 -0
  60. package/esm/LineChart/LineElement.d.ts +9 -5
  61. package/esm/LineChart/LineElement.js +7 -6
  62. package/esm/LineChart/LineHighlightElement.d.ts +4 -4
  63. package/esm/LineChart/LineHighlightElement.js +5 -5
  64. package/esm/LineChart/MarkElement.js +1 -0
  65. package/esm/LineChart/index.d.ts +1 -1
  66. package/esm/LineChart/index.js +1 -1
  67. package/esm/LineChart/markElementClasses.d.ts +14 -7
  68. package/esm/LineChart/markElementClasses.js +5 -5
  69. package/esm/PieChart/FocusedPieArc.js +4 -1
  70. package/esm/PieChart/PieArc.d.ts +15 -12
  71. package/esm/PieChart/PieArc.js +27 -7
  72. package/esm/PieChart/PieArcLabel.d.ts +16 -2
  73. package/esm/PieChart/PieArcLabel.js +30 -5
  74. package/esm/PieChart/PieArcLabelPlot.js +6 -1
  75. package/esm/PieChart/PieArcPlot.js +6 -1
  76. package/esm/PieChart/PiePlot.d.ts +1 -0
  77. package/esm/PieChart/PiePlot.js +4 -1
  78. package/esm/PieChart/pieClasses.d.ts +22 -1
  79. package/esm/PieChart/pieClasses.js +10 -3
  80. package/esm/RadarChart/RadarAxis/RadarAxis.js +7 -5
  81. package/esm/RadarChart/RadarAxis/radarAxisClasses.d.ts +27 -3
  82. package/esm/RadarChart/RadarAxis/radarAxisClasses.js +20 -0
  83. package/esm/RadarChart/RadarAxisHighlight/RadarAxisHighlight.js +7 -14
  84. package/esm/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.d.ts +29 -4
  85. package/esm/RadarChart/RadarAxisHighlight/radarAxisHighlightClasses.js +30 -1
  86. package/esm/RadarChart/RadarGrid/RadarGrid.js +9 -2
  87. package/esm/RadarChart/RadarGrid/radarGridClasses.d.ts +27 -3
  88. package/esm/RadarChart/RadarGrid/radarGridClasses.js +20 -0
  89. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesArea.js +8 -2
  90. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesMarks.js +8 -2
  91. package/esm/RadarChart/RadarSeriesPlot/RadarSeriesPlot.js +9 -3
  92. package/esm/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.d.ts +26 -3
  93. package/esm/RadarChart/RadarSeriesPlot/radarSeriesPlotClasses.js +20 -0
  94. package/esm/RadarChart/index.d.ts +3 -1
  95. package/esm/RadarChart/index.js +2 -1
  96. package/esm/RadarChart/radarClasses.d.ts +32 -0
  97. package/esm/RadarChart/radarClasses.js +27 -0
  98. package/esm/ScatterChart/index.d.ts +1 -1
  99. package/esm/ScatterChart/index.js +1 -1
  100. package/esm/index.js +1 -1
  101. package/esm/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +10 -6
  102. package/esm/themeAugmentation/components.d.ts +9 -0
  103. package/esm/themeAugmentation/overrides.d.ts +4 -0
  104. package/index.js +1 -1
  105. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxisPreview.selectors.js +8 -4
  106. package/package.json +3 -3
  107. package/themeAugmentation/components.d.ts +9 -0
  108. package/themeAugmentation/overrides.d.ts +4 -0
@@ -1,36 +1,43 @@
1
1
  import type { MarkElementOwnerState } from "./lineClasses.js";
2
2
  export { type MarkElementOwnerState };
3
3
  /**
4
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
4
+ * @deprecated Use `LineClasses` instead.
5
5
  */
6
6
  export interface MarkElementClasses {
7
- /** Styles applied to the root element. */
7
+ /**
8
+ * Styles applied to the root element.
9
+ * @deprecated Use `lineClasses.mark` instead.
10
+ */
8
11
  root: string;
9
12
  /** Styles applied to the root element when highlighted. */
10
13
  highlighted: string;
11
14
  /** Styles applied to the root element when faded. */
12
15
  faded: string;
13
- /** Styles applied to the root element when animation is not skipped. */
16
+ /**
17
+ * Styles applied to the root element when animation is not skipped.
18
+ * @deprecated Use `lineClasses.markAnimate` instead.
19
+ */
14
20
  animate: string;
15
21
  /**
16
22
  * Styles applied to the root element for a specified series.
17
23
  * Needs to be suffixed with the series ID: `.${markElementClasses.series}-${seriesId}`.
24
+ * @deprecated Use `[data-series="${seriesId}"]` selector instead.
18
25
  */
19
26
  series: string;
20
27
  }
21
28
  /**
22
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
29
+ * @deprecated Use `LineClassKey` instead.
23
30
  */
24
31
  export type MarkElementClassKey = keyof MarkElementClasses;
25
32
  /**
26
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
33
+ * @deprecated Use `getLineUtilityClass` instead.
27
34
  */
28
35
  export declare function getMarkElementUtilityClass(slot: string): string;
29
36
  /**
30
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
37
+ * @deprecated Use `lineClasses` instead.
31
38
  */
32
39
  export declare const markElementClasses: MarkElementClasses;
33
40
  /**
34
- * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
41
+ * @deprecated Use `useUtilityClasses` instead.
35
42
  */
36
43
  export declare const useUtilityClasses: (ownerState: MarkElementOwnerState) => Record<"root", string>;
@@ -10,27 +10,27 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
10
10
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
11
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
12
  /**
13
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
13
+ * @deprecated Use `LineClasses` instead.
14
14
  */
15
15
 
16
16
  /**
17
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
17
+ * @deprecated Use `LineClassKey` instead.
18
18
  */
19
19
 
20
20
  /**
21
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
21
+ * @deprecated Use `getLineUtilityClass` instead.
22
22
  */
23
23
  function getMarkElementUtilityClass(slot) {
24
24
  return (0, _generateUtilityClass.default)('MuiMarkElement', slot);
25
25
  }
26
26
 
27
27
  /**
28
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
28
+ * @deprecated Use `lineClasses` instead.
29
29
  */
30
30
  const markElementClasses = exports.markElementClasses = (0, _generateUtilityClasses.default)('MuiMarkElement', ['root', 'highlighted', 'faded', 'animate', 'series']);
31
31
 
32
32
  /**
33
- * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
33
+ * @deprecated Use `useUtilityClasses` instead.
34
34
  */
35
35
  const useUtilityClasses = ownerState => {
36
36
  const {
@@ -10,10 +10,12 @@ exports.FocusedPieArc = FocusedPieArc;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
13
14
  var _styles = require("@mui/material/styles");
14
15
  var _useFocusedItem = require("../hooks/useFocusedItem");
15
16
  var _usePieSeries = require("../hooks/usePieSeries");
16
17
  var _PieArc = require("./PieArc");
18
+ var _pieClasses = require("./pieClasses");
17
19
  var _useItemHighlighted = require("../hooks/useItemHighlighted");
18
20
  var _getModifiedArcProperties = require("./dataTransform/getModifiedArcProperties");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
@@ -27,6 +29,7 @@ function FocusedPieArc(props) {
27
29
  isFaded
28
30
  } = (0, _useItemHighlighted.useItemHighlighted)(focusedItem);
29
31
  const pieSeries = (0, _usePieSeries.usePieSeriesContext)();
32
+ const classes = (0, _pieClasses.useUtilityClasses)();
30
33
  if (focusedItem === null || focusedItem.type !== 'pie' || !pieSeries) {
31
34
  return null;
32
35
  }
@@ -51,7 +54,7 @@ function FocusedPieArc(props) {
51
54
  skipAnimation: true,
52
55
  stroke: (theme.vars ?? theme).palette.text.primary,
53
56
  id: series.id,
54
- className: _PieArc.pieArcClasses.focusIndicator,
57
+ className: (0, _clsx.default)(classes.focusIndicator, _PieArc.pieArcClasses.focusIndicator),
55
58
  dataIndex: focusedItem.dataIndex,
56
59
  isFaded: false,
57
60
  isHighlighted: false,
@@ -1,5 +1,9 @@
1
1
  import * as React from 'react';
2
- import { type PieItemId } from "../models/index.js";
2
+ import { type PieArcOwnerState } from "./pieClasses.js";
3
+ export { type PieArcOwnerState };
4
+ /**
5
+ * @deprecated Use `PieClasses` instead.
6
+ */
3
7
  export interface PieArcClasses {
4
8
  /** Styles applied to the root element. */
5
9
  root: string;
@@ -15,20 +19,19 @@ export interface PieArcClasses {
15
19
  /** Styles applied to the focus indicator element. */
16
20
  focusIndicator: string;
17
21
  }
22
+ /**
23
+ * @deprecated Use `PieClassKey` instead.
24
+ */
18
25
  export type PieArcClassKey = keyof PieArcClasses;
19
- interface PieArcOwnerState {
20
- id: PieItemId;
21
- dataIndex: number;
22
- color: string;
23
- isFaded: boolean;
24
- isHighlighted: boolean;
25
- isFocused: boolean;
26
- stroke?: string;
27
- classes?: Partial<PieArcClasses>;
28
- }
26
+ /**
27
+ * @deprecated Use `getPieUtilityClass` instead.
28
+ */
29
29
  export declare function getPieArcUtilityClass(slot: string): string;
30
+ /**
31
+ * @deprecated Use `pieClasses` instead.
32
+ */
30
33
  export declare const pieArcClasses: PieArcClasses;
31
- export type PieArcProps = Omit<React.SVGProps<SVGPathElement>, 'ref' | 'id'> & PieArcOwnerState & {
34
+ export type PieArcProps = Omit<React.SVGProps<SVGPathElement>, 'id' | 'ref'> & PieArcOwnerState & {
32
35
  cornerRadius: number;
33
36
  endAngle: number;
34
37
  innerRadius: number;
@@ -21,12 +21,30 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
21
21
  var _hooks = require("../hooks");
22
22
  var _animation = require("../internals/animation/animation");
23
23
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
24
+ var _pieClasses = require("./pieClasses");
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  const _excluded = ["className", "classes", "color", "dataIndex", "id", "isFaded", "isHighlighted", "isFocused", "onClick", "cornerRadius", "startAngle", "endAngle", "innerRadius", "outerRadius", "paddingAngle", "skipAnimation", "stroke", "skipInteraction"];
27
+ /**
28
+ * @deprecated Use `PieClasses` instead.
29
+ */
30
+ /**
31
+ * @deprecated Use `PieClassKey` instead.
32
+ */
33
+ /**
34
+ * @deprecated Use `getPieUtilityClass` instead.
35
+ */
26
36
  function getPieArcUtilityClass(slot) {
27
37
  return (0, _generateUtilityClass.default)('MuiPieArc', slot);
28
38
  }
39
+
40
+ /**
41
+ * @deprecated Use `pieClasses` instead.
42
+ */
29
43
  const pieArcClasses = exports.pieArcClasses = (0, _generateUtilityClasses.default)('MuiPieArc', ['root', 'highlighted', 'faded', 'series', 'focusIndicator']);
44
+
45
+ /**
46
+ * @deprecated Use `useUtilityClasses` instead.
47
+ */
30
48
  const useUtilityClasses = ownerState => {
31
49
  const {
32
50
  classes,
@@ -42,8 +60,7 @@ const useUtilityClasses = ownerState => {
42
60
  };
43
61
  const PieArcRoot = (0, _styles.styled)('path', {
44
62
  name: 'MuiPieArc',
45
- slot: 'Root',
46
- overridesResolver: (_, styles) => styles.arc // FIXME: Inconsistent naming with slot
63
+ slot: 'Root'
47
64
  })({
48
65
  transitionProperty: 'opacity, fill, filter',
49
66
  transitionDuration: `${_animation.ANIMATION_DURATION_MS}ms`,
@@ -82,7 +99,8 @@ const PieArc = exports.PieArc = /*#__PURE__*/React.forwardRef(function PieArc(pr
82
99
  isHighlighted,
83
100
  isFocused
84
101
  };
85
- const classes = useUtilityClasses(ownerState);
102
+ const classes = (0, _pieClasses.useUtilityClasses)(ownerState);
103
+ const deprecatedClasses = useUtilityClasses(ownerState);
86
104
  const interactionProps = (0, _useInteractionItemProps.useInteractionItemProps)({
87
105
  type: 'pie',
88
106
  seriesId: id,
@@ -102,10 +120,10 @@ const PieArc = exports.PieArc = /*#__PURE__*/React.forwardRef(function PieArc(pr
102
120
  onClick: onClick,
103
121
  cursor: onClick ? 'pointer' : 'unset',
104
122
  ownerState: ownerState,
105
- className: (0, _clsx.default)(classes.root, className),
106
- fill: ownerState.color,
107
- opacity: ownerState.isFaded ? 0.3 : 1,
108
- filter: ownerState.isHighlighted ? 'brightness(120%)' : 'none',
123
+ className: (0, _clsx.default)(classes.arc, deprecatedClasses.root, className),
124
+ fill: color,
125
+ opacity: isFaded ? 0.3 : 1,
126
+ filter: isHighlighted ? 'brightness(120%)' : 'none',
109
127
  stroke: stroke,
110
128
  strokeWidth: 1,
111
129
  strokeLinejoin: "round",
@@ -1,5 +1,8 @@
1
1
  import * as React from 'react';
2
- import { type PieItemId } from "../models/seriesType/pie.js";
2
+ import { type PieItemId } from "../models/index.js";
3
+ /**
4
+ * @deprecated Use `PieClasses` instead.
5
+ */
3
6
  export interface PieArcLabelClasses {
4
7
  /** Styles applied to the root element. */
5
8
  root: string;
@@ -7,7 +10,9 @@ export interface PieArcLabelClasses {
7
10
  highlighted: string;
8
11
  /** Styles applied to the root element when faded. */
9
12
  faded: string;
10
- /** Styles applied to the root element when animation is not skipped. */
13
+ /** Styles applied to the root element when animation is not skipped.
14
+ * @deprecated Use the `animate` class from `./pieClasses` instead.
15
+ */
11
16
  animate: string;
12
17
  /**
13
18
  * Styles applied to the root element for a specified series.
@@ -15,6 +20,9 @@ export interface PieArcLabelClasses {
15
20
  */
16
21
  series: string;
17
22
  }
23
+ /**
24
+ * @deprecated Use `PieClassKey` instead.
25
+ */
18
26
  export type PieArcLabelClassKey = keyof PieArcLabelClasses;
19
27
  interface PieArcLabelOwnerState {
20
28
  id: PieItemId;
@@ -24,7 +32,13 @@ interface PieArcLabelOwnerState {
24
32
  skipAnimation: boolean;
25
33
  classes?: Partial<PieArcLabelClasses>;
26
34
  }
35
+ /**
36
+ * @deprecated Use `getPieUtilityClass` instead.
37
+ */
27
38
  export declare function getPieArcLabelUtilityClass(slot: string): string;
39
+ /**
40
+ * @deprecated Use `pieClasses` instead.
41
+ */
28
42
  export declare const pieArcLabelClasses: PieArcLabelClasses;
29
43
  export type PieArcLabelProps = PieArcLabelOwnerState & Omit<React.SVGProps<SVGTextElement>, 'ref' | 'color' | 'id'> & {
30
44
  startAngle: number;
@@ -13,18 +13,37 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
14
14
  var React = _interopRequireWildcard(require("react"));
15
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _clsx = _interopRequireDefault(require("clsx"));
16
17
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
17
18
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
18
19
  var _styles = require("@mui/material/styles");
19
20
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
20
21
  var _animation = require("../internals/animation/animation");
21
22
  var _useAnimatePieArcLabel = require("../hooks/animation/useAnimatePieArcLabel");
23
+ var _pieClasses = require("./pieClasses");
22
24
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "skipAnimation", "hidden"];
25
+ const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "skipAnimation", "hidden", "className"];
26
+ /**
27
+ * @deprecated Use `PieClasses` instead.
28
+ */
29
+ /**
30
+ * @deprecated Use `PieClassKey` instead.
31
+ */
32
+ /**
33
+ * @deprecated Use `getPieUtilityClass` instead.
34
+ */
24
35
  function getPieArcLabelUtilityClass(slot) {
25
36
  return (0, _generateUtilityClass.default)('MuiPieArcLabel', slot);
26
37
  }
38
+
39
+ /**
40
+ * @deprecated Use `pieClasses` instead.
41
+ */
27
42
  const pieArcLabelClasses = exports.pieArcLabelClasses = (0, _generateUtilityClasses.default)('MuiPieArcLabel', ['root', 'highlighted', 'faded', 'animate', 'series']);
43
+
44
+ /**
45
+ * @deprecated Use `useUtilityClasses` instead.
46
+ */
28
47
  const useUtilityClasses = ownerState => {
29
48
  const {
30
49
  classes,
@@ -54,7 +73,7 @@ const PieArcLabelRoot = (0, _styles.styled)('text', {
54
73
  transitionDuration: `${_animation.ANIMATION_DURATION_MS}ms`,
55
74
  transitionProperty: 'opacity',
56
75
  transitionTimingFunction: _animation.ANIMATION_TIMING_FUNCTION,
57
- [`&.${pieArcLabelClasses.animate}`]: {
76
+ [`&.${_pieClasses.pieClasses.animate}`]: {
58
77
  animationDuration: `${_animation.ANIMATION_DURATION_MS}ms`
59
78
  },
60
79
  '@keyframes animate-opacity': {
@@ -77,7 +96,8 @@ const PieArcLabel = exports.PieArcLabel = /*#__PURE__*/React.forwardRef(function
77
96
  isHighlighted,
78
97
  isFaded,
79
98
  skipAnimation,
80
- hidden
99
+ hidden,
100
+ className
81
101
  } = props,
82
102
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
83
103
  const ownerState = {
@@ -88,7 +108,8 @@ const PieArcLabel = exports.PieArcLabel = /*#__PURE__*/React.forwardRef(function
88
108
  isHighlighted,
89
109
  skipAnimation
90
110
  };
91
- const classes = useUtilityClasses(ownerState);
111
+ const classes = (0, _pieClasses.useUtilityClasses)(ownerState);
112
+ const deprecatedClasses = useUtilityClasses(ownerState);
92
113
  const animatedProps = (0, _useAnimatePieArcLabel.useAnimatePieArcLabel)({
93
114
  cornerRadius,
94
115
  startAngle,
@@ -100,7 +121,9 @@ const PieArcLabel = exports.PieArcLabel = /*#__PURE__*/React.forwardRef(function
100
121
  ref
101
122
  });
102
123
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(PieArcLabelRoot, (0, _extends2.default)({
103
- className: classes.root
124
+ className: (0, _clsx.default)(classes.arcLabel, deprecatedClasses.root, className),
125
+ "data-highlighted": isHighlighted || undefined,
126
+ "data-faded": isFaded || undefined
104
127
  }, other, animatedProps, {
105
128
  opacity: hidden ? 0 : 1,
106
129
  children: formattedArcLabel
@@ -11,6 +11,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _styles = require("@mui/material/styles");
14
15
  var _useTransformData = require("./dataTransform/useTransformData");
15
16
  var _PieArcLabel = require("./PieArcLabel");
16
17
  var _getLabel = require("../internals/getLabel");
@@ -38,6 +39,10 @@ function getItemLabel(arcLabel, arcLabelMinAngle, item) {
38
39
  }));
39
40
  }
40
41
  }
42
+ const PieArcLabelPlotRoot = (0, _styles.styled)('g', {
43
+ name: 'MuiPieArcLabelPlot',
44
+ slot: 'Root'
45
+ })();
41
46
  function PieArcLabelPlot(props) {
42
47
  const {
43
48
  arcLabel,
@@ -73,7 +78,7 @@ function PieArcLabelPlot(props) {
73
78
  return null;
74
79
  }
75
80
  const ArcLabel = slots?.pieArcLabel ?? _PieArcLabel.PieArcLabel;
76
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
81
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PieArcLabelPlotRoot, (0, _extends2.default)({}, other, {
77
82
  children: transformedData.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(ArcLabel, (0, _extends2.default)({
78
83
  startAngle: item.startAngle,
79
84
  endAngle: item.endAngle,
@@ -11,10 +11,15 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _styles = require("@mui/material/styles");
14
15
  var _PieArc = require("./PieArc");
15
16
  var _useTransformData = require("./dataTransform/useTransformData");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlighted", "faded", "data", "onItemClick", "skipAnimation"];
19
+ const PieArcPlotRoot = (0, _styles.styled)('g', {
20
+ name: 'MuiPieArcPlot',
21
+ slot: 'Root'
22
+ })();
18
23
  function PieArcPlot(props) {
19
24
  const {
20
25
  slots,
@@ -47,7 +52,7 @@ function PieArcPlot(props) {
47
52
  return null;
48
53
  }
49
54
  const Arc = slots?.pieArc ?? _PieArc.PieArc;
50
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PieArcPlotRoot, (0, _extends2.default)({}, other, {
51
56
  children: transformedData.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Arc, (0, _extends2.default)({
52
57
  startAngle: item.startAngle,
53
58
  endAngle: item.endAngle,
@@ -3,6 +3,7 @@ import { type PieArcLabelPlotSlots, type PieArcLabelPlotSlotProps } from "./PieA
3
3
  export interface PiePlotSlots extends PieArcPlotSlots, PieArcLabelPlotSlots {}
4
4
  export interface PiePlotSlotProps extends PieArcPlotSlotProps, PieArcLabelPlotSlotProps {}
5
5
  export interface PiePlotProps extends Pick<PieArcPlotProps, 'skipAnimation' | 'onItemClick'> {
6
+ className?: string;
6
7
  /**
7
8
  * Overridable component slots.
8
9
  * @default {}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.PiePlot = PiePlot;
9
+ var _clsx = _interopRequireDefault(require("clsx"));
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _PieArcPlot = require("./PieArcPlot");
11
12
  var _PieArcLabelPlot = require("./PieArcLabelPlot");
@@ -28,7 +29,8 @@ function PiePlot(props) {
28
29
  skipAnimation: inSkipAnimation,
29
30
  slots,
30
31
  slotProps,
31
- onItemClick
32
+ onItemClick,
33
+ className
32
34
  } = props;
33
35
  const seriesData = (0, _usePieSeries.usePieSeriesContext)();
34
36
  const seriesLayout = (0, _usePieSeries.usePieSeriesLayout)();
@@ -42,6 +44,7 @@ function PiePlot(props) {
42
44
  seriesOrder
43
45
  } = seriesData;
44
46
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
47
+ className: (0, _clsx.default)(classes.root, className),
45
48
  children: [seriesOrder.map(seriesId => {
46
49
  const {
47
50
  cornerRadius,
@@ -1,3 +1,4 @@
1
+ import { type SeriesId } from "../models/seriesType/common.js";
1
2
  export interface PieClasses {
2
3
  /** Styles applied to the root element. */
3
4
  root: string;
@@ -5,8 +6,28 @@ export interface PieClasses {
5
6
  series: string;
6
7
  /** Styles applied to the `g` element that contains all pie arc labels of a series. */
7
8
  seriesLabels: string;
9
+ /** Styles applied to an individual pie arc element. */
10
+ arc: string;
11
+ /** Styles applied to an individual pie arc label element. */
12
+ arcLabel: string;
13
+ /** Styles applied when animation is not skipped. */
14
+ animate: string;
15
+ /** Styles applied to the focused pie arc element. */
16
+ focusIndicator: string;
8
17
  }
9
18
  export type PieClassKey = keyof PieClasses;
19
+ export interface PieArcOwnerState {
20
+ id: SeriesId;
21
+ dataIndex: number;
22
+ color: string;
23
+ isFaded: boolean;
24
+ isHighlighted: boolean;
25
+ isFocused: boolean;
26
+ classes?: Partial<PieClasses>;
27
+ }
10
28
  export declare function getPieUtilityClass(slot: string): string;
11
29
  export declare const pieClasses: PieClasses;
12
- export declare const useUtilityClasses: (classes?: Partial<PieClasses>) => Record<"series" | "root" | "seriesLabels", string>;
30
+ export declare const useUtilityClasses: (options?: {
31
+ classes?: Partial<PieClasses>;
32
+ skipAnimation?: boolean;
33
+ }) => Record<"series" | "root" | "seriesLabels" | "arcLabel" | "arc" | "focusIndicator", string>;
@@ -12,12 +12,19 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
12
12
  function getPieUtilityClass(slot) {
13
13
  return (0, _generateUtilityClass.default)('MuiPieChart', slot);
14
14
  }
15
- const pieClasses = exports.pieClasses = (0, _generateUtilityClasses.default)('MuiPieChart', ['root', 'series', 'seriesLabels']);
16
- const useUtilityClasses = classes => {
15
+ const pieClasses = exports.pieClasses = (0, _generateUtilityClasses.default)('MuiPieChart', ['root', 'series', 'seriesLabels', 'arc', 'arcLabel', 'animate', 'focusIndicator']);
16
+ const useUtilityClasses = options => {
17
+ const {
18
+ classes,
19
+ skipAnimation
20
+ } = options ?? {};
17
21
  const slots = {
18
22
  root: ['root'],
19
23
  series: ['series'],
20
- seriesLabels: ['seriesLabels']
24
+ seriesLabels: ['seriesLabels'],
25
+ arc: ['arc'],
26
+ arcLabel: ['arcLabel', !skipAnimation && 'animate'],
27
+ focusIndicator: ['focusIndicator']
21
28
  };
22
29
  return (0, _composeClasses.default)(slots, getPieUtilityClass, classes);
23
30
  };
@@ -13,6 +13,7 @@ var _styles = require("@mui/material/styles");
13
13
  var _useRadarAxis = require("./useRadarAxis");
14
14
  var _RadarAxis = require("./RadarAxis.utils");
15
15
  var _radarAxisClasses = require("./radarAxisClasses");
16
+ var _radarClasses = require("../radarClasses");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
18
  function RadarAxis(props) {
18
19
  const {
@@ -20,7 +21,8 @@ function RadarAxis(props) {
20
21
  textAnchor,
21
22
  dominantBaseline
22
23
  } = props;
23
- const classes = (0, _radarAxisClasses.useUtilityClasses)(props.classes);
24
+ const classes = (0, _radarClasses.useUtilityClasses)();
25
+ const deprecatedClasses = (0, _radarAxisClasses.useUtilityClasses)(props.classes);
24
26
  const theme = (0, _styles.useTheme)();
25
27
  const data = (0, _useRadarAxis.useRadarAxis)(props);
26
28
  if (data === null) {
@@ -32,12 +34,12 @@ function RadarAxis(props) {
32
34
  labels
33
35
  } = data;
34
36
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
35
- className: classes.root,
37
+ className: `${classes.axisRoot} ${deprecatedClasses.root}`,
36
38
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
37
39
  d: `M ${center.x} ${center.y} L ${labels[labels.length - 1].x} ${labels[labels.length - 1].y}`,
38
40
  stroke: (theme.vars ?? theme).palette.text.primary,
39
41
  strokeOpacity: 0.3,
40
- className: classes.line
42
+ className: `${classes.axisLine} ${deprecatedClasses.line}`
41
43
  }), labels.map(({
42
44
  x,
43
45
  y,
@@ -46,7 +48,7 @@ function RadarAxis(props) {
46
48
  fontSize: 12,
47
49
  fill: (theme.vars ?? theme).palette.text.primary,
48
50
  stroke: "none",
49
- className: classes.label
51
+ className: `${classes.axisLabel} ${deprecatedClasses.label}`
50
52
  }, (0, _RadarAxis.getLabelAttributes)({
51
53
  labelOrientation,
52
54
  x,
@@ -1,12 +1,36 @@
1
+ /**
2
+ * @deprecated Use `RadarClasses` instead.
3
+ */
1
4
  export interface RadarAxisClasses {
2
- /** Styles applied to the root element. */
5
+ /**
6
+ * Styles applied to the root element.
7
+ * @deprecated Use `radarClasses.axisRoot` instead.
8
+ */
3
9
  root: string;
4
- /** Styles applied to the line element. */
10
+ /**
11
+ * Styles applied to the line element.
12
+ * @deprecated Use `radarClasses.axisLine` instead.
13
+ */
5
14
  line: string;
6
- /** Styles applied to every label element. */
15
+ /**
16
+ * Styles applied to every label element.
17
+ * @deprecated Use `radarClasses.axisLabel` instead.
18
+ */
7
19
  label: string;
8
20
  }
21
+ /**
22
+ * @deprecated Use `RadarClassKey` instead.
23
+ */
9
24
  export type RadarAxisClassKey = keyof RadarAxisClasses;
25
+ /**
26
+ * @deprecated Use `getRadarUtilityClass` instead.
27
+ */
10
28
  export declare function getRadarAxisUtilityClass(slot: string): string;
29
+ /**
30
+ * @deprecated Use `radarClasses` instead.
31
+ */
11
32
  export declare const chartsAxisClasses: RadarAxisClasses;
33
+ /**
34
+ * @deprecated Use `useUtilityClasses` instead.
35
+ */
12
36
  export declare const useUtilityClasses: (classes?: Partial<RadarAxisClasses>) => Record<"root" | "line" | "label", string>;
@@ -10,10 +10,29 @@ exports.useUtilityClasses = void 0;
10
10
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
11
11
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
12
12
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
13
+ /**
14
+ * @deprecated Use `RadarClasses` instead.
15
+ */
16
+
17
+ /**
18
+ * @deprecated Use `RadarClassKey` instead.
19
+ */
20
+
21
+ /**
22
+ * @deprecated Use `getRadarUtilityClass` instead.
23
+ */
13
24
  function getRadarAxisUtilityClass(slot) {
14
25
  return (0, _generateUtilityClass.default)('MuiRadarAxis', slot);
15
26
  }
27
+
28
+ /**
29
+ * @deprecated Use `radarClasses` instead.
30
+ */
16
31
  const chartsAxisClasses = exports.chartsAxisClasses = (0, _generateUtilityClasses.default)('MuiRadarAxis', ['root', 'line', 'label']);
32
+
33
+ /**
34
+ * @deprecated Use `useUtilityClasses` instead.
35
+ */
17
36
  const useUtilityClasses = classes => {
18
37
  const slots = {
19
38
  root: ['root'],
@@ -8,19 +8,11 @@ exports.RadarAxisHighlight = RadarAxisHighlight;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _styles = require("@mui/material/styles");
11
- var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
12
11
  var _useRadarAxisHighlight = require("./useRadarAxisHighlight");
13
12
  var _radarAxisHighlightClasses = require("./radarAxisHighlightClasses");
13
+ var _radarClasses = require("../radarClasses");
14
14
  var _getSeriesColorFn = require("../../internals/getSeriesColorFn");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
- const useUtilityClasses = classes => {
17
- const slots = {
18
- root: ['root'],
19
- line: ['line'],
20
- dot: ['dot']
21
- };
22
- return (0, _composeClasses.default)(slots, _radarAxisHighlightClasses.getRadarAxisHighlightUtilityClass, classes);
23
- };
24
16
  /**
25
17
  * Attributes to display a shadow around a mark.
26
18
  */
@@ -37,7 +29,8 @@ const highlightMark = {
37
29
  opacity: 1
38
30
  };
39
31
  function RadarAxisHighlight(props) {
40
- const classes = useUtilityClasses(props.classes);
32
+ const classes = (0, _radarClasses.useUtilityClasses)();
33
+ const deprecatedClasses = (0, _radarAxisHighlightClasses.useUtilityClasses)(props.classes);
41
34
  const theme = (0, _styles.useTheme)();
42
35
  const data = (0, _useRadarAxisHighlight.useRadarAxisHighlight)();
43
36
  if (data === null) {
@@ -54,12 +47,12 @@ function RadarAxisHighlight(props) {
54
47
  } = data;
55
48
  const [x, y] = instance.polar2svg(radius, highlightedAngle);
56
49
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
57
- className: classes.root,
50
+ className: `${classes.axisHighlightRoot} ${deprecatedClasses.root}`,
58
51
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
59
52
  d: `M ${center.cx} ${center.cy} L ${x} ${y}`,
60
53
  stroke: (theme.vars || theme).palette.text.primary,
61
54
  strokeWidth: 1,
62
- className: classes.line,
55
+ className: `${classes.axisHighlightLine} ${deprecatedClasses.line}`,
63
56
  pointerEvents: "none",
64
57
  strokeDasharray: "4 4"
65
58
  }), points.map((point, seriesIndex) => {
@@ -71,7 +64,7 @@ function RadarAxisHighlight(props) {
71
64
  }),
72
65
  cx: point.x,
73
66
  cy: point.y,
74
- className: classes.dot,
67
+ className: `${classes.axisHighlightDot} ${deprecatedClasses.dot}`,
75
68
  pointerEvents: "none"
76
69
  }, series[seriesIndex].hideMark ? highlightMark : highlightMarkShadow), series[seriesIndex].id);
77
70
  })]