@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
@@ -3,10 +3,13 @@ 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
5
  /**
6
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
6
+ * @deprecated Use `LineClasses` instead.
7
7
  */
8
8
  export interface AreaElementClasses {
9
- /** Styles applied to the root element. */
9
+ /**
10
+ * Styles applied to the root element.
11
+ * @deprecated Use `lineClasses.area` instead.
12
+ */
10
13
  root: string;
11
14
  /** Styles applied to the root element when highlighted. */
12
15
  highlighted: string;
@@ -15,11 +18,12 @@ export interface AreaElementClasses {
15
18
  /**
16
19
  * Styles applied to the root element for a specified series.
17
20
  * Needs to be suffixed with the series ID: `.${areaElementClasses.series}-${seriesId}`.
21
+ * @deprecated Use `[data-series="${seriesId}"]` selector instead.
18
22
  */
19
23
  series: string;
20
24
  }
21
25
  /**
22
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
26
+ * @deprecated Use `LineClassKey` instead.
23
27
  */
24
28
  export type AreaElementClassKey = keyof AreaElementClasses;
25
29
  export interface AreaElementOwnerState {
@@ -31,11 +35,11 @@ export interface AreaElementOwnerState {
31
35
  classes?: Partial<AreaElementClasses>;
32
36
  }
33
37
  /**
34
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
38
+ * @deprecated Use `getLineUtilityClass` instead.
35
39
  */
36
40
  export declare function getAreaElementUtilityClass(slot: string): string;
37
41
  /**
38
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
42
+ * @deprecated Use `lineClasses` instead.
39
43
  */
40
44
  export declare const areaElementClasses: AreaElementClasses;
41
45
  export interface AreaElementSlots {
@@ -15,27 +15,27 @@ import { AnimatedArea } from "./AnimatedArea.js";
15
15
  import { useUtilityClasses as useLineUtilityClasses } from "./lineClasses.js";
16
16
 
17
17
  /**
18
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
18
+ * @deprecated Use `LineClasses` instead.
19
19
  */
20
20
 
21
21
  /**
22
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
22
+ * @deprecated Use `LineClassKey` instead.
23
23
  */
24
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
25
  /**
26
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
26
+ * @deprecated Use `getLineUtilityClass` instead.
27
27
  */
28
28
  export function getAreaElementUtilityClass(slot) {
29
29
  return generateUtilityClass('MuiAreaElement', slot);
30
30
  }
31
31
 
32
32
  /**
33
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
33
+ * @deprecated Use `lineClasses` instead.
34
34
  */
35
35
  export const areaElementClasses = generateUtilityClasses('MuiAreaElement', ['root', 'highlighted', 'faded', 'series']);
36
36
 
37
37
  /**
38
- * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
38
+ * @deprecated Use `useUtilityClasses` instead.
39
39
  */
40
40
  const useDeprecatedUtilityClasses = ownerState => {
41
41
  const {
@@ -99,7 +99,8 @@ function AreaElement(props) {
99
99
  cursor: onClick ? 'pointer' : 'unset',
100
100
  'data-highlighted': isHighlighted || undefined,
101
101
  'data-faded': isFaded || undefined,
102
- 'data-series-id': id
102
+ 'data-series-id': id,
103
+ 'data-series': id
103
104
  }),
104
105
  className: `${classes.area} ${deprecatedClasses.root}`,
105
106
  ownerState
@@ -85,6 +85,7 @@ function CircleMarkElement(props) {
85
85
  "data-highlighted": isHighlighted || undefined,
86
86
  "data-faded": isFaded || undefined,
87
87
  "data-series-id": id,
88
+ "data-series": id,
88
89
  "data-index": dataIndex,
89
90
  opacity: hidden ? 0 : 1
90
91
  }));
@@ -3,10 +3,13 @@ import { type SlotComponentPropsFromProps } from '@mui/x-internals/types';
3
3
  import { type AnimatedLineProps } from "./AnimatedLine.js";
4
4
  import { type SeriesId } from "../models/seriesType/common.js";
5
5
  /**
6
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
6
+ * @deprecated Use `LineClasses` instead.
7
7
  */
8
8
  export interface LineElementClasses {
9
- /** Styles applied to the root element. */
9
+ /**
10
+ * Styles applied to the root element.
11
+ * @deprecated Use `lineClasses.line` instead.
12
+ */
10
13
  root: string;
11
14
  /** Styles applied to the root element when highlighted. */
12
15
  highlighted: string;
@@ -15,11 +18,12 @@ export interface LineElementClasses {
15
18
  /**
16
19
  * Styles applied to the root element for a specified series.
17
20
  * Needs to be suffixed with the series ID: `.${lineElementClasses.series}-${seriesId}`.
21
+ * @deprecated Use `[data-series="${seriesId}"]` selector instead.
18
22
  */
19
23
  series: string;
20
24
  }
21
25
  /**
22
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
26
+ * @deprecated Use `LineClassKey` instead.
23
27
  */
24
28
  export type LineElementClassKey = keyof LineElementClasses;
25
29
  export interface LineElementOwnerState {
@@ -33,11 +37,11 @@ export interface LineElementOwnerState {
33
37
  hidden?: boolean;
34
38
  }
35
39
  /**
36
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
40
+ * @deprecated Use `getLineUtilityClass` instead.
37
41
  */
38
42
  export declare function getLineElementUtilityClass(slot: string): string;
39
43
  /**
40
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
44
+ * @deprecated Use `lineClasses` instead.
41
45
  */
42
46
  export declare const lineElementClasses: LineElementClasses;
43
47
  export interface LineElementSlots {
@@ -15,27 +15,27 @@ import { useItemHighlighted } from "../hooks/useItemHighlighted.js";
15
15
  import { useUtilityClasses as useLineUtilityClasses } from "./lineClasses.js";
16
16
 
17
17
  /**
18
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
18
+ * @deprecated Use `LineClasses` instead.
19
19
  */
20
20
 
21
21
  /**
22
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
22
+ * @deprecated Use `LineClassKey` instead.
23
23
  */
24
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
25
  /**
26
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
26
+ * @deprecated Use `getLineUtilityClass` instead.
27
27
  */
28
28
  export function getLineElementUtilityClass(slot) {
29
29
  return generateUtilityClass('MuiLineElement', slot);
30
30
  }
31
31
 
32
32
  /**
33
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
33
+ * @deprecated Use `lineClasses` instead.
34
34
  */
35
35
  export const lineElementClasses = generateUtilityClasses('MuiLineElement', ['root', 'highlighted', 'faded', 'series']);
36
36
 
37
37
  /**
38
- * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
38
+ * @deprecated Use `useUtilityClasses` instead.
39
39
  */
40
40
  const useDeprecatedUtilityClasses = ownerState => {
41
41
  const {
@@ -101,7 +101,8 @@ function LineElement(props) {
101
101
  cursor: onClick ? 'pointer' : 'unset',
102
102
  'data-highlighted': isHighlighted || undefined,
103
103
  'data-faded': isFaded || undefined,
104
- 'data-series-id': id
104
+ 'data-series-id': id,
105
+ 'data-series': id
105
106
  }),
106
107
  className: `${classes.line} ${deprecatedClasses.root}`,
107
108
  ownerState
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import { type SeriesId } from "../models/seriesType/common.js";
3
3
  /**
4
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
4
+ * @deprecated Use `LineClasses` instead.
5
5
  */
6
6
  export interface LineHighlightElementClasses {
7
7
  /** Styles applied to the root element. */
8
8
  root: string;
9
9
  }
10
10
  /**
11
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
11
+ * @deprecated Use `LineClassKey` instead.
12
12
  */
13
13
  export type HighlightElementClassKey = keyof LineHighlightElementClasses;
14
14
  interface LineHighlightElementCommonProps {
@@ -19,11 +19,11 @@ interface LineHighlightElementCommonProps {
19
19
  classes?: Partial<LineHighlightElementClasses>;
20
20
  }
21
21
  /**
22
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
22
+ * @deprecated Use `getLineUtilityClass` instead.
23
23
  */
24
24
  export declare function getHighlightElementUtilityClass(slot: string): string;
25
25
  /**
26
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
26
+ * @deprecated Use `lineClasses` instead.
27
27
  */
28
28
  export declare const lineHighlightElementClasses: LineHighlightElementClasses;
29
29
  export type LineHighlightElementProps = (LineHighlightElementCommonProps & ({
@@ -14,27 +14,27 @@ import { getSymbol } from "../internals/getSymbol.js";
14
14
  import { useUtilityClasses as useLineUtilityClasses } from "./lineClasses.js";
15
15
 
16
16
  /**
17
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
17
+ * @deprecated Use `LineClasses` instead.
18
18
  */
19
19
 
20
20
  /**
21
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
21
+ * @deprecated Use `LineClassKey` instead.
22
22
  */
23
23
  import { jsx as _jsx } from "react/jsx-runtime";
24
24
  /**
25
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
25
+ * @deprecated Use `getLineUtilityClass` instead.
26
26
  */
27
27
  export function getHighlightElementUtilityClass(slot) {
28
28
  return generateUtilityClass('MuiHighlightElement', slot);
29
29
  }
30
30
 
31
31
  /**
32
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
32
+ * @deprecated Use `lineClasses` instead.
33
33
  */
34
34
  export const lineHighlightElementClasses = generateUtilityClasses('MuiHighlightElement', ['root']);
35
35
 
36
36
  /**
37
- * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
37
+ * @deprecated Use `useUtilityClasses` instead.
38
38
  */
39
39
  const useDeprecatedUtilityClasses = ownerState => {
40
40
  const {
@@ -85,6 +85,7 @@ function MarkElement(props) {
85
85
  "data-highlighted": isHighlighted || undefined,
86
86
  "data-faded": isFaded || undefined,
87
87
  "data-series-id": id,
88
+ "data-series": id,
88
89
  "data-index": dataIndex,
89
90
  opacity: hidden ? 0 : 1,
90
91
  strokeWidth: 2,
@@ -13,5 +13,5 @@ export * from "./LineHighlightElement.js";
13
13
  export * from "./LineChart.plugins.js";
14
14
  export type { MarkElementClasses, MarkElementClassKey } from "./markElementClasses.js";
15
15
  export { getMarkElementUtilityClass, markElementClasses } from "./markElementClasses.js";
16
- export { lineClasses, getLineUtilityClass } from "./lineClasses.js";
16
+ export { lineClasses } from "./lineClasses.js";
17
17
  export type { LineClassKey, LineClasses } from "./lineClasses.js";
@@ -12,4 +12,4 @@ export * from "./FocusedLineMark.js";
12
12
  export * from "./LineHighlightElement.js";
13
13
  export * from "./LineChart.plugins.js";
14
14
  export { getMarkElementUtilityClass, markElementClasses } from "./markElementClasses.js";
15
- export { lineClasses, getLineUtilityClass } from "./lineClasses.js";
15
+ export { lineClasses } from "./lineClasses.js";
@@ -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>;
@@ -3,27 +3,27 @@ import generateUtilityClass from '@mui/utils/generateUtilityClass';
3
3
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
4
4
 
5
5
  /**
6
- * @deprecated Use `LineClasses` from `./lineClasses` instead.
6
+ * @deprecated Use `LineClasses` instead.
7
7
  */
8
8
 
9
9
  /**
10
- * @deprecated Use `LineClassKey` from `./lineClasses` instead.
10
+ * @deprecated Use `LineClassKey` instead.
11
11
  */
12
12
 
13
13
  /**
14
- * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
14
+ * @deprecated Use `getLineUtilityClass` instead.
15
15
  */
16
16
  export function getMarkElementUtilityClass(slot) {
17
17
  return generateUtilityClass('MuiMarkElement', slot);
18
18
  }
19
19
 
20
20
  /**
21
- * @deprecated Use `lineClasses` from `./lineClasses` instead.
21
+ * @deprecated Use `lineClasses` instead.
22
22
  */
23
23
  export const markElementClasses = generateUtilityClasses('MuiMarkElement', ['root', 'highlighted', 'faded', 'animate', 'series']);
24
24
 
25
25
  /**
26
- * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
26
+ * @deprecated Use `useUtilityClasses` instead.
27
27
  */
28
28
  export const useUtilityClasses = ownerState => {
29
29
  const {
@@ -4,10 +4,12 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  const _excluded = ["arcLabelRadius"];
6
6
  import * as React from 'react';
7
+ import clsx from 'clsx';
7
8
  import { useTheme } from '@mui/material/styles';
8
9
  import { useFocusedItem } from "../hooks/useFocusedItem.js";
9
10
  import { usePieSeriesContext, usePieSeriesLayout } from "../hooks/usePieSeries.js";
10
11
  import { PieArc, pieArcClasses } from "./PieArc.js";
12
+ import { useUtilityClasses } from "./pieClasses.js";
11
13
  import { useItemHighlighted } from "../hooks/useItemHighlighted.js";
12
14
  import { getModifiedArcProperties } from "./dataTransform/getModifiedArcProperties.js";
13
15
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -20,6 +22,7 @@ export function FocusedPieArc(props) {
20
22
  isFaded
21
23
  } = useItemHighlighted(focusedItem);
22
24
  const pieSeries = usePieSeriesContext();
25
+ const classes = useUtilityClasses();
23
26
  if (focusedItem === null || focusedItem.type !== 'pie' || !pieSeries) {
24
27
  return null;
25
28
  }
@@ -44,7 +47,7 @@ export function FocusedPieArc(props) {
44
47
  skipAnimation: true,
45
48
  stroke: (theme.vars ?? theme).palette.text.primary,
46
49
  id: series.id,
47
- className: pieArcClasses.focusIndicator,
50
+ className: clsx(classes.focusIndicator, pieArcClasses.focusIndicator),
48
51
  dataIndex: focusedItem.dataIndex,
49
52
  isFaded: false,
50
53
  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;
@@ -13,11 +13,31 @@ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
13
13
  import { useAnimatePieArc } from "../hooks/index.js";
14
14
  import { ANIMATION_DURATION_MS, ANIMATION_TIMING_FUNCTION } from "../internals/animation/animation.js";
15
15
  import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
16
+ import { useUtilityClasses as usePieUtilityClasses } from "./pieClasses.js";
17
+
18
+ /**
19
+ * @deprecated Use `PieClasses` instead.
20
+ */
21
+
22
+ /**
23
+ * @deprecated Use `PieClassKey` instead.
24
+ */
16
25
  import { jsx as _jsx } from "react/jsx-runtime";
26
+ /**
27
+ * @deprecated Use `getPieUtilityClass` instead.
28
+ */
17
29
  export function getPieArcUtilityClass(slot) {
18
30
  return generateUtilityClass('MuiPieArc', slot);
19
31
  }
32
+
33
+ /**
34
+ * @deprecated Use `pieClasses` instead.
35
+ */
20
36
  export const pieArcClasses = generateUtilityClasses('MuiPieArc', ['root', 'highlighted', 'faded', 'series', 'focusIndicator']);
37
+
38
+ /**
39
+ * @deprecated Use `useUtilityClasses` instead.
40
+ */
21
41
  const useUtilityClasses = ownerState => {
22
42
  const {
23
43
  classes,
@@ -33,8 +53,7 @@ const useUtilityClasses = ownerState => {
33
53
  };
34
54
  const PieArcRoot = styled('path', {
35
55
  name: 'MuiPieArc',
36
- slot: 'Root',
37
- overridesResolver: (_, styles) => styles.arc // FIXME: Inconsistent naming with slot
56
+ slot: 'Root'
38
57
  })({
39
58
  transitionProperty: 'opacity, fill, filter',
40
59
  transitionDuration: `${ANIMATION_DURATION_MS}ms`,
@@ -73,7 +92,8 @@ const PieArc = /*#__PURE__*/React.forwardRef(function PieArc(props, ref) {
73
92
  isHighlighted,
74
93
  isFocused
75
94
  };
76
- const classes = useUtilityClasses(ownerState);
95
+ const classes = usePieUtilityClasses(ownerState);
96
+ const deprecatedClasses = useUtilityClasses(ownerState);
77
97
  const interactionProps = useInteractionItemProps({
78
98
  type: 'pie',
79
99
  seriesId: id,
@@ -93,10 +113,10 @@ const PieArc = /*#__PURE__*/React.forwardRef(function PieArc(props, ref) {
93
113
  onClick: onClick,
94
114
  cursor: onClick ? 'pointer' : 'unset',
95
115
  ownerState: ownerState,
96
- className: clsx(classes.root, className),
97
- fill: ownerState.color,
98
- opacity: ownerState.isFaded ? 0.3 : 1,
99
- filter: ownerState.isHighlighted ? 'brightness(120%)' : 'none',
116
+ className: clsx(classes.arc, deprecatedClasses.root, className),
117
+ fill: color,
118
+ opacity: isFaded ? 0.3 : 1,
119
+ filter: isHighlighted ? 'brightness(120%)' : 'none',
100
120
  stroke: stroke,
101
121
  strokeWidth: 1,
102
122
  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;
@@ -2,20 +2,41 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "skipAnimation", "hidden"];
5
+ const _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "skipAnimation", "hidden", "className"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import clsx from 'clsx';
8
9
  import composeClasses from '@mui/utils/composeClasses';
9
10
  import generateUtilityClass from '@mui/utils/generateUtilityClass';
10
11
  import { styled } from '@mui/material/styles';
11
12
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
12
13
  import { ANIMATION_DURATION_MS, ANIMATION_TIMING_FUNCTION } from "../internals/animation/animation.js";
13
14
  import { useAnimatePieArcLabel } from "../hooks/animation/useAnimatePieArcLabel.js";
15
+ import { pieClasses, useUtilityClasses as usePieUtilityClasses } from "./pieClasses.js";
16
+
17
+ /**
18
+ * @deprecated Use `PieClasses` instead.
19
+ */
20
+
21
+ /**
22
+ * @deprecated Use `PieClassKey` instead.
23
+ */
14
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
+ /**
26
+ * @deprecated Use `getPieUtilityClass` instead.
27
+ */
15
28
  export function getPieArcLabelUtilityClass(slot) {
16
29
  return generateUtilityClass('MuiPieArcLabel', slot);
17
30
  }
31
+
32
+ /**
33
+ * @deprecated Use `pieClasses` instead.
34
+ */
18
35
  export const pieArcLabelClasses = generateUtilityClasses('MuiPieArcLabel', ['root', 'highlighted', 'faded', 'animate', 'series']);
36
+
37
+ /**
38
+ * @deprecated Use `useUtilityClasses` instead.
39
+ */
19
40
  const useUtilityClasses = ownerState => {
20
41
  const {
21
42
  classes,
@@ -45,7 +66,7 @@ const PieArcLabelRoot = styled('text', {
45
66
  transitionDuration: `${ANIMATION_DURATION_MS}ms`,
46
67
  transitionProperty: 'opacity',
47
68
  transitionTimingFunction: ANIMATION_TIMING_FUNCTION,
48
- [`&.${pieArcLabelClasses.animate}`]: {
69
+ [`&.${pieClasses.animate}`]: {
49
70
  animationDuration: `${ANIMATION_DURATION_MS}ms`
50
71
  },
51
72
  '@keyframes animate-opacity': {
@@ -68,7 +89,8 @@ const PieArcLabel = /*#__PURE__*/React.forwardRef(function PieArcLabel(props, re
68
89
  isHighlighted,
69
90
  isFaded,
70
91
  skipAnimation,
71
- hidden
92
+ hidden,
93
+ className
72
94
  } = props,
73
95
  other = _objectWithoutPropertiesLoose(props, _excluded);
74
96
  const ownerState = {
@@ -79,7 +101,8 @@ const PieArcLabel = /*#__PURE__*/React.forwardRef(function PieArcLabel(props, re
79
101
  isHighlighted,
80
102
  skipAnimation
81
103
  };
82
- const classes = useUtilityClasses(ownerState);
104
+ const classes = usePieUtilityClasses(ownerState);
105
+ const deprecatedClasses = useUtilityClasses(ownerState);
83
106
  const animatedProps = useAnimatePieArcLabel({
84
107
  cornerRadius,
85
108
  startAngle,
@@ -91,7 +114,9 @@ const PieArcLabel = /*#__PURE__*/React.forwardRef(function PieArcLabel(props, re
91
114
  ref
92
115
  });
93
116
  return /*#__PURE__*/_jsx(PieArcLabelRoot, _extends({
94
- className: classes.root
117
+ className: clsx(classes.arcLabel, deprecatedClasses.root, className),
118
+ "data-highlighted": isHighlighted || undefined,
119
+ "data-faded": isFaded || undefined
95
120
  }, other, animatedProps, {
96
121
  opacity: hidden ? 0 : 1,
97
122
  children: formattedArcLabel
@@ -5,6 +5,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  const _excluded = ["arcLabel", "arcLabelMinAngle", "arcLabelRadius", "cornerRadius", "data", "faded", "highlighted", "id", "innerRadius", "outerRadius", "paddingAngle", "skipAnimation", "slotProps", "slots"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { styled } from '@mui/material/styles';
8
9
  import { useTransformData } from "./dataTransform/useTransformData.js";
9
10
  import { PieArcLabel } from "./PieArcLabel.js";
10
11
  import { getLabel } from "../internals/getLabel.js";
@@ -31,6 +32,10 @@ function getItemLabel(arcLabel, arcLabelMinAngle, item) {
31
32
  }));
32
33
  }
33
34
  }
35
+ const PieArcLabelPlotRoot = styled('g', {
36
+ name: 'MuiPieArcLabelPlot',
37
+ slot: 'Root'
38
+ })();
34
39
  function PieArcLabelPlot(props) {
35
40
  const {
36
41
  arcLabel,
@@ -66,7 +71,7 @@ function PieArcLabelPlot(props) {
66
71
  return null;
67
72
  }
68
73
  const ArcLabel = slots?.pieArcLabel ?? PieArcLabel;
69
- return /*#__PURE__*/_jsx("g", _extends({}, other, {
74
+ return /*#__PURE__*/_jsx(PieArcLabelPlotRoot, _extends({}, other, {
70
75
  children: transformedData.map(item => /*#__PURE__*/_jsx(ArcLabel, _extends({
71
76
  startAngle: item.startAngle,
72
77
  endAngle: item.endAngle,