@mui/x-charts 8.27.4 → 8.27.5

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 (92) 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 +15 -0
  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 +17 -9
  13. package/BarChart/barElementClasses.js +19 -0
  14. package/CHANGELOG.md +65 -0
  15. package/LineChart/AreaElement.d.ts +12 -0
  16. package/LineChart/AreaElement.js +26 -4
  17. package/LineChart/AreaPlot.js +10 -4
  18. package/LineChart/CircleMarkElement.js +9 -2
  19. package/LineChart/LineElement.d.ts +12 -0
  20. package/LineChart/LineElement.js +26 -4
  21. package/LineChart/LineHighlightElement.d.ts +12 -0
  22. package/LineChart/LineHighlightElement.js +22 -3
  23. package/LineChart/LinePlot.js +11 -5
  24. package/LineChart/MarkElement.js +9 -2
  25. package/LineChart/MarkPlot.js +15 -3
  26. package/LineChart/index.d.ts +3 -1
  27. package/LineChart/index.js +17 -2
  28. package/LineChart/lineClasses.d.ts +34 -0
  29. package/LineChart/lineClasses.js +32 -0
  30. package/LineChart/markElementClasses.d.ts +17 -8
  31. package/LineChart/markElementClasses.js +19 -0
  32. package/ScatterChart/BatchScatter.d.ts +2 -1
  33. package/ScatterChart/BatchScatter.js +5 -3
  34. package/ScatterChart/FocusedScatterMark.d.ts +4 -1
  35. package/ScatterChart/FocusedScatterMark.js +12 -2
  36. package/ScatterChart/Scatter.d.ts +1 -1
  37. package/ScatterChart/Scatter.js +6 -2
  38. package/ScatterChart/ScatterPlot.d.ts +2 -1
  39. package/ScatterChart/ScatterPlot.js +16 -2
  40. package/ScatterChart/index.d.ts +2 -2
  41. package/ScatterChart/index.js +8 -1
  42. package/ScatterChart/scatterClasses.d.ts +14 -2
  43. package/ScatterChart/scatterClasses.js +10 -4
  44. package/esm/BarChart/AnimatedBarElement.d.ts +1 -1
  45. package/esm/BarChart/BarElement.d.ts +2 -2
  46. package/esm/BarChart/BarElement.js +4 -2
  47. package/esm/BarChart/BarLabel/BarLabel.js +4 -0
  48. package/esm/BarChart/BarLabel/BarLabel.types.d.ts +2 -2
  49. package/esm/BarChart/BarLabel/BarLabelItem.js +6 -2
  50. package/esm/BarChart/BarLabel/barLabelClasses.d.ts +15 -0
  51. package/esm/BarChart/BarLabel/barLabelClasses.js +20 -0
  52. package/esm/BarChart/BarPlot.js +2 -3
  53. package/esm/BarChart/barClasses.d.ts +21 -1
  54. package/esm/BarChart/barClasses.js +9 -3
  55. package/esm/BarChart/barElementClasses.d.ts +17 -9
  56. package/esm/BarChart/barElementClasses.js +20 -0
  57. package/esm/LineChart/AreaElement.d.ts +12 -0
  58. package/esm/LineChart/AreaElement.js +28 -4
  59. package/esm/LineChart/AreaPlot.js +11 -5
  60. package/esm/LineChart/CircleMarkElement.js +10 -3
  61. package/esm/LineChart/LineElement.d.ts +12 -0
  62. package/esm/LineChart/LineElement.js +28 -4
  63. package/esm/LineChart/LineHighlightElement.d.ts +12 -0
  64. package/esm/LineChart/LineHighlightElement.js +24 -3
  65. package/esm/LineChart/LinePlot.js +12 -6
  66. package/esm/LineChart/MarkElement.js +10 -3
  67. package/esm/LineChart/MarkPlot.js +15 -3
  68. package/esm/LineChart/index.d.ts +3 -1
  69. package/esm/LineChart/index.js +2 -1
  70. package/esm/LineChart/lineClasses.d.ts +34 -0
  71. package/esm/LineChart/lineClasses.js +23 -0
  72. package/esm/LineChart/markElementClasses.d.ts +17 -8
  73. package/esm/LineChart/markElementClasses.js +20 -0
  74. package/esm/ScatterChart/BatchScatter.d.ts +2 -1
  75. package/esm/ScatterChart/BatchScatter.js +4 -3
  76. package/esm/ScatterChart/FocusedScatterMark.d.ts +4 -1
  77. package/esm/ScatterChart/FocusedScatterMark.js +11 -1
  78. package/esm/ScatterChart/Scatter.d.ts +1 -1
  79. package/esm/ScatterChart/Scatter.js +6 -2
  80. package/esm/ScatterChart/ScatterPlot.d.ts +2 -1
  81. package/esm/ScatterChart/ScatterPlot.js +16 -2
  82. package/esm/ScatterChart/index.d.ts +2 -2
  83. package/esm/ScatterChart/index.js +1 -1
  84. package/esm/ScatterChart/scatterClasses.d.ts +14 -2
  85. package/esm/ScatterChart/scatterClasses.js +10 -4
  86. package/esm/index.js +1 -1
  87. package/esm/themeAugmentation/components.d.ts +20 -1
  88. package/esm/themeAugmentation/overrides.d.ts +13 -1
  89. package/index.js +1 -1
  90. package/package.json +3 -3
  91. package/themeAugmentation/components.d.ts +20 -1
  92. package/themeAugmentation/overrides.d.ts +13 -1
@@ -1,9 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { type SeriesId } from "../models/seriesType/common.js";
3
+ /**
4
+ * @deprecated Use `LineClasses` from `./lineClasses` instead.
5
+ */
3
6
  export interface LineHighlightElementClasses {
4
7
  /** Styles applied to the root element. */
5
8
  root: string;
6
9
  }
10
+ /**
11
+ * @deprecated Use `LineClassKey` from `./lineClasses` instead.
12
+ */
7
13
  export type HighlightElementClassKey = keyof LineHighlightElementClasses;
8
14
  interface LineHighlightElementCommonProps {
9
15
  id: SeriesId;
@@ -12,7 +18,13 @@ interface LineHighlightElementCommonProps {
12
18
  y: number;
13
19
  classes?: Partial<LineHighlightElementClasses>;
14
20
  }
21
+ /**
22
+ * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
23
+ */
15
24
  export declare function getHighlightElementUtilityClass(slot: string): string;
25
+ /**
26
+ * @deprecated Use `lineClasses` from `./lineClasses` instead.
27
+ */
16
28
  export declare const lineHighlightElementClasses: LineHighlightElementClasses;
17
29
  export type LineHighlightElementProps = (LineHighlightElementCommonProps & ({
18
30
  shape: 'circle';
@@ -19,13 +19,31 @@ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"
19
19
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
20
20
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
21
21
  var _getSymbol = require("../internals/getSymbol");
22
+ var _lineClasses = require("./lineClasses");
22
23
  var _jsxRuntime = require("react/jsx-runtime");
23
24
  const _excluded = ["x", "y", "id", "classes", "color", "shape"];
25
+ /**
26
+ * @deprecated Use `LineClasses` from `./lineClasses` instead.
27
+ */
28
+ /**
29
+ * @deprecated Use `LineClassKey` from `./lineClasses` instead.
30
+ */
31
+ /**
32
+ * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
33
+ */
24
34
  function getHighlightElementUtilityClass(slot) {
25
35
  return (0, _generateUtilityClass.default)('MuiHighlightElement', slot);
26
36
  }
37
+
38
+ /**
39
+ * @deprecated Use `lineClasses` from `./lineClasses` instead.
40
+ */
27
41
  const lineHighlightElementClasses = exports.lineHighlightElementClasses = (0, _generateUtilityClasses.default)('MuiHighlightElement', ['root']);
28
- const useUtilityClasses = ownerState => {
42
+
43
+ /**
44
+ * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
45
+ */
46
+ const useDeprecatedUtilityClasses = ownerState => {
29
47
  const {
30
48
  classes,
31
49
  id
@@ -53,7 +71,8 @@ function LineHighlightElement(props) {
53
71
  shape
54
72
  } = props,
55
73
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
56
- const classes = useUtilityClasses(props);
74
+ const classes = (0, _lineClasses.useUtilityClasses)();
75
+ const deprecatedClasses = useDeprecatedUtilityClasses(props);
57
76
  const Element = shape === 'circle' ? 'circle' : 'path';
58
77
  const additionalProps = shape === 'circle' ? {
59
78
  cx: 0,
@@ -71,7 +90,7 @@ function LineHighlightElement(props) {
71
90
  };
72
91
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({
73
92
  pointerEvents: "none",
74
- className: classes.root,
93
+ className: `${classes.highlight} ${deprecatedClasses.root}`,
75
94
  transform: `translate(${x} ${y})`,
76
95
  fill: color
77
96
  }, transformOrigin, additionalProps, other));
@@ -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 _LineElement = require("./LineElement");
16
17
  var _useSkipAnimation = require("../hooks/useSkipAnimation");
17
18
  var _hooks = require("../hooks");
18
19
  var _useInternalIsZoomInteracting = require("../internals/plugins/featurePlugins/useChartCartesianAxis/useInternalIsZoomInteracting");
19
20
  var _useLinePlotData = require("./useLinePlotData");
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", "skipAnimation", "onItemClick"];
24
+ const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick", "className"];
23
25
  const LinePlotRoot = (0, _styles.styled)('g', {
24
- name: 'MuiAreaPlot',
26
+ name: 'MuiLinePlot',
25
27
  slot: 'Root'
26
28
  })({
27
- [`& .${_LineElement.lineElementClasses.root}`]: {
29
+ [`& .${_lineClasses.lineClasses.line}`]: {
28
30
  transitionProperty: 'opacity, fill',
29
31
  transitionDuration: `${_animation.ANIMATION_DURATION_MS}ms`,
30
32
  transitionTimingFunction: _animation.ANIMATION_TIMING_FUNCTION
@@ -55,13 +57,17 @@ function LinePlot(props) {
55
57
  slots,
56
58
  slotProps,
57
59
  skipAnimation: inSkipAnimation,
58
- onItemClick
60
+ onItemClick,
61
+ className
59
62
  } = props,
60
63
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
61
64
  const isZoomInteracting = (0, _useInternalIsZoomInteracting.useInternalIsZoomInteracting)();
62
65
  const skipAnimation = (0, _useSkipAnimation.useSkipAnimation)(isZoomInteracting || inSkipAnimation);
63
66
  const completedData = useAggregatedData();
64
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinePlotRoot, (0, _extends2.default)({}, other, {
67
+ const classes = (0, _lineClasses.useUtilityClasses)();
68
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinePlotRoot, (0, _extends2.default)({
69
+ className: (0, _clsx.default)(classes.linePlot, className)
70
+ }, other, {
65
71
  children: completedData.map(({
66
72
  d,
67
73
  seriesId,
@@ -17,6 +17,7 @@ var _animation = require("../internals/animation/animation");
17
17
  var _getSymbol = require("../internals/getSymbol");
18
18
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
19
19
  var _markElementClasses = require("./markElementClasses");
20
+ var _lineClasses = require("./lineClasses");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  const _excluded = ["x", "y", "id", "classes", "color", "shape", "dataIndex", "onClick", "skipAnimation", "isFaded", "isHighlighted", "hidden", "style"];
22
23
  const MarkElementPath = (0, _styles.styled)('path', {
@@ -71,14 +72,18 @@ function MarkElement(props) {
71
72
  isFaded,
72
73
  skipAnimation
73
74
  };
74
- const classes = (0, _markElementClasses.useUtilityClasses)(ownerState);
75
+ const classes = (0, _lineClasses.useUtilityClasses)({
76
+ skipAnimation,
77
+ classes: innerClasses
78
+ });
79
+ const deprecatedClasses = (0, _markElementClasses.useUtilityClasses)(ownerState);
75
80
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(MarkElementPath, (0, _extends2.default)({}, other, {
76
81
  style: (0, _extends2.default)({}, style, {
77
82
  transform: `translate(${x}px, ${y}px)`,
78
83
  transformOrigin: `${x}px ${y}px`
79
84
  }),
80
85
  ownerState: ownerState,
81
- className: classes.root,
86
+ className: `${classes.mark} ${deprecatedClasses.root}`,
82
87
  d: (0, _d3Shape.symbol)(_d3Shape.symbolsFill[(0, _getSymbol.getSymbol)(shape)])(),
83
88
  onClick: onClick,
84
89
  cursor: onClick ? 'pointer' : 'unset',
@@ -86,6 +91,8 @@ function MarkElement(props) {
86
91
  }, interactionProps, {
87
92
  "data-highlighted": isHighlighted || undefined,
88
93
  "data-faded": isFaded || undefined,
94
+ "data-series-id": id,
95
+ "data-index": dataIndex,
89
96
  opacity: hidden ? 0 : 1,
90
97
  strokeWidth: 2,
91
98
  stroke: color
@@ -11,6 +11,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var React = _interopRequireWildcard(require("react"));
14
+ var _styles = require("@mui/material/styles");
15
+ var _clsx = _interopRequireDefault(require("clsx"));
14
16
  var _useSkipAnimation = require("../hooks/useSkipAnimation");
15
17
  var _CircleMarkElement = require("./CircleMarkElement");
16
18
  var _MarkElement = require("./MarkElement");
@@ -19,8 +21,14 @@ var _useInternalIsZoomInteracting = require("../internals/plugins/featurePlugins
19
21
  var _useChartCartesianAxis = require("../internals/plugins/featurePlugins/useChartCartesianAxis");
20
22
  var _ChartProvider = require("../context/ChartProvider");
21
23
  var _useMarkPlotData = require("./useMarkPlotData");
24
+ var _lineClasses = require("./lineClasses");
22
25
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
26
+ const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick", "className"];
27
+ const MarkPlotRoot = (0, _styles.styled)('g', {
28
+ name: 'MuiMarkPlot',
29
+ slot: 'Root'
30
+ })({});
31
+
24
32
  /**
25
33
  * Demos:
26
34
  *
@@ -36,7 +44,8 @@ function MarkPlot(props) {
36
44
  slots,
37
45
  slotProps,
38
46
  skipAnimation: inSkipAnimation,
39
- onItemClick
47
+ onItemClick,
48
+ className
40
49
  } = props,
41
50
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
42
51
  const isZoomInteracting = (0, _useInternalIsZoomInteracting.useInternalIsZoomInteracting)();
@@ -70,7 +79,10 @@ function MarkPlot(props) {
70
79
  return rep;
71
80
  }, [xAxisHighlightIndexes]);
72
81
  const completedData = (0, _useMarkPlotData.useMarkPlotData)(xAxis, yAxis);
73
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
82
+ const classes = (0, _lineClasses.useUtilityClasses)();
83
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(MarkPlotRoot, (0, _extends2.default)({
84
+ className: (0, _clsx.default)(classes.markPlot, className)
85
+ }, other, {
74
86
  children: completedData.map(({
75
87
  seriesId,
76
88
  clipId,
@@ -12,4 +12,6 @@ export * from "./FocusedLineMark.js";
12
12
  export * from "./LineHighlightElement.js";
13
13
  export * from "./LineChart.plugins.js";
14
14
  export type { MarkElementClasses, MarkElementClassKey } from "./markElementClasses.js";
15
- export { getMarkElementUtilityClass, markElementClasses } from "./markElementClasses.js";
15
+ export { getMarkElementUtilityClass, markElementClasses } from "./markElementClasses.js";
16
+ export { lineClasses, getLineUtilityClass } from "./lineClasses.js";
17
+ export type { LineClassKey, LineClasses } from "./lineClasses.js";
@@ -5,14 +5,28 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  getMarkElementUtilityClass: true,
8
- markElementClasses: true
8
+ markElementClasses: true,
9
+ lineClasses: true,
10
+ getLineUtilityClass: true
9
11
  };
12
+ Object.defineProperty(exports, "getLineUtilityClass", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _lineClasses.getLineUtilityClass;
16
+ }
17
+ });
10
18
  Object.defineProperty(exports, "getMarkElementUtilityClass", {
11
19
  enumerable: true,
12
20
  get: function () {
13
21
  return _markElementClasses.getMarkElementUtilityClass;
14
22
  }
15
23
  });
24
+ Object.defineProperty(exports, "lineClasses", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _lineClasses.lineClasses;
28
+ }
29
+ });
16
30
  Object.defineProperty(exports, "markElementClasses", {
17
31
  enumerable: true,
18
32
  get: function () {
@@ -175,4 +189,5 @@ Object.keys(_LineChart2).forEach(function (key) {
175
189
  }
176
190
  });
177
191
  });
178
- var _markElementClasses = require("./markElementClasses");
192
+ var _markElementClasses = require("./markElementClasses");
193
+ var _lineClasses = require("./lineClasses");
@@ -0,0 +1,34 @@
1
+ import { type SeriesId } from "../models/seriesType/common.js";
2
+ export interface LineClasses {
3
+ /** Styles applied to the area element. */
4
+ area: string;
5
+ /** Styles applied to the line element. */
6
+ line: string;
7
+ /** Styles applied to the mark element. */
8
+ mark: string;
9
+ /** Styles applied to a mark element when it is animated. */
10
+ markAnimate: string;
11
+ /** Styles applied to the highlight element. */
12
+ highlight: string;
13
+ /** Styles applied to the AreaPlot root element. */
14
+ areaPlot: string;
15
+ /** Styles applied to the LinePlot root element. */
16
+ linePlot: string;
17
+ /** Styles applied to the MarkPlot root element. */
18
+ markPlot: string;
19
+ }
20
+ export type LineClassKey = keyof LineClasses;
21
+ export interface MarkElementOwnerState {
22
+ id: SeriesId;
23
+ isFaded: boolean;
24
+ isHighlighted: boolean;
25
+ classes?: Partial<LineClasses>;
26
+ skipAnimation?: boolean;
27
+ }
28
+ export declare function getLineUtilityClass(slot: string): string;
29
+ export declare const lineClasses: LineClasses;
30
+ export interface UseUtilityClassesOptions {
31
+ skipAnimation?: boolean;
32
+ classes?: Partial<LineClasses>;
33
+ }
34
+ export declare const useUtilityClasses: (options?: UseUtilityClassesOptions) => Record<"line" | "area" | "mark" | "highlight" | "areaPlot" | "linePlot" | "markPlot", string>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getLineUtilityClass = getLineUtilityClass;
8
+ exports.useUtilityClasses = exports.lineClasses = void 0;
9
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
10
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ function getLineUtilityClass(slot) {
13
+ return (0, _generateUtilityClass.default)('MuiLineChart', slot);
14
+ }
15
+ const lineClasses = exports.lineClasses = (0, _generateUtilityClasses.default)('MuiLineChart', ['area', 'line', 'mark', 'markAnimate', 'highlight', 'areaPlot', 'linePlot', 'markPlot']);
16
+ const useUtilityClasses = options => {
17
+ const {
18
+ skipAnimation,
19
+ classes
20
+ } = options ?? {};
21
+ const slots = {
22
+ area: ['area'],
23
+ line: ['line'],
24
+ mark: ['mark', !skipAnimation && 'markAnimate'],
25
+ highlight: ['highlight'],
26
+ areaPlot: ['areaPlot'],
27
+ linePlot: ['linePlot'],
28
+ markPlot: ['markPlot']
29
+ };
30
+ return (0, _composeClasses.default)(slots, getLineUtilityClass, classes);
31
+ };
32
+ exports.useUtilityClasses = useUtilityClasses;
@@ -1,4 +1,8 @@
1
- import { type SeriesId } from "../models/seriesType/common.js";
1
+ import type { MarkElementOwnerState } from "./lineClasses.js";
2
+ export { type MarkElementOwnerState };
3
+ /**
4
+ * @deprecated Use `LineClasses` from `./lineClasses` instead.
5
+ */
2
6
  export interface MarkElementClasses {
3
7
  /** Styles applied to the root element. */
4
8
  root: string;
@@ -14,14 +18,19 @@ export interface MarkElementClasses {
14
18
  */
15
19
  series: string;
16
20
  }
21
+ /**
22
+ * @deprecated Use `LineClassKey` from `./lineClasses` instead.
23
+ */
17
24
  export type MarkElementClassKey = keyof MarkElementClasses;
18
- export interface MarkElementOwnerState {
19
- id: SeriesId;
20
- isFaded: boolean;
21
- isHighlighted: boolean;
22
- classes?: Partial<MarkElementClasses>;
23
- skipAnimation?: boolean;
24
- }
25
+ /**
26
+ * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
27
+ */
25
28
  export declare function getMarkElementUtilityClass(slot: string): string;
29
+ /**
30
+ * @deprecated Use `lineClasses` from `./lineClasses` instead.
31
+ */
26
32
  export declare const markElementClasses: MarkElementClasses;
33
+ /**
34
+ * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
35
+ */
27
36
  export declare const useUtilityClasses: (ownerState: MarkElementOwnerState) => Record<"root", string>;
@@ -9,10 +9,29 @@ exports.useUtilityClasses = exports.markElementClasses = void 0;
9
9
  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
+ /**
13
+ * @deprecated Use `LineClasses` from `./lineClasses` instead.
14
+ */
15
+
16
+ /**
17
+ * @deprecated Use `LineClassKey` from `./lineClasses` instead.
18
+ */
19
+
20
+ /**
21
+ * @deprecated Use `getLineUtilityClass` from `./lineClasses` instead.
22
+ */
12
23
  function getMarkElementUtilityClass(slot) {
13
24
  return (0, _generateUtilityClass.default)('MuiMarkElement', slot);
14
25
  }
26
+
27
+ /**
28
+ * @deprecated Use `lineClasses` from `./lineClasses` instead.
29
+ */
15
30
  const markElementClasses = exports.markElementClasses = (0, _generateUtilityClasses.default)('MuiMarkElement', ['root', 'highlighted', 'faded', 'animate', 'series']);
31
+
32
+ /**
33
+ * @deprecated Use `useUtilityClasses` from `./lineClasses` instead.
34
+ */
16
35
  const useUtilityClasses = ownerState => {
17
36
  const {
18
37
  classes,
@@ -1,6 +1,6 @@
1
1
  import { type DefaultizedScatterSeriesType } from "../models/seriesType/scatter.js";
2
2
  import { type D3Scale } from "../models/axis.js";
3
- import { type ScatterClasses } from "./scatterClasses.js";
3
+ import type { ScatterClasses } from "./scatterClasses.js";
4
4
  import { type ColorGetter } from "../internals/plugins/models/seriesConfig/index.js";
5
5
  export interface BatchScatterProps {
6
6
  series: DefaultizedScatterSeriesType;
@@ -9,6 +9,7 @@ export interface BatchScatterProps {
9
9
  color: string;
10
10
  colorGetter?: ColorGetter<'scatter'>;
11
11
  classes?: Partial<ScatterClasses>;
12
+ className?: string;
12
13
  }
13
14
  export interface BatchScatterPathsProps {
14
15
  series: DefaultizedScatterSeriesType;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.BatchScatter = BatchScatter;
9
10
  var React = _interopRequireWildcard(require("react"));
11
+ var _clsx = _interopRequireDefault(require("clsx"));
10
12
  var _styles = require("@mui/material/styles");
11
13
  var _scatterClasses = require("./scatterClasses");
12
14
  var _ChartProvider = require("../context/ChartProvider");
@@ -113,7 +115,7 @@ function BatchScatter(props) {
113
115
  yScale,
114
116
  color,
115
117
  colorGetter,
116
- classes: inClasses
118
+ className
117
119
  } = props;
118
120
  const {
119
121
  store
@@ -124,7 +126,7 @@ function BatchScatter(props) {
124
126
  const seriesUnfadedItem = store.use(_useChartHighlight.selectorChartSeriesUnfadedItem, series.id);
125
127
  const highlightedModifier = 1.2;
126
128
  const markerSize = series.markerSize * (isSeriesHighlighted ? highlightedModifier : 1);
127
- const classes = (0, _scatterClasses.useUtilityClasses)(inClasses);
129
+ const classes = (0, _scatterClasses.useUtilityClasses)(props);
128
130
  const siblings = [];
129
131
  if (seriesHighlightedItem != null) {
130
132
  const datum = series.data[seriesHighlightedItem];
@@ -147,7 +149,7 @@ function BatchScatter(props) {
147
149
  }
148
150
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
149
151
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Group, {
150
- className: classes.root,
152
+ className: (0, _clsx.default)(classes.series, className),
151
153
  "data-series": series.id,
152
154
  "data-faded": isSeriesFaded || undefined,
153
155
  "data-highlighted": isSeriesHighlighted || undefined,
@@ -1,2 +1,5 @@
1
1
  import * as React from 'react';
2
- export declare function FocusedScatterMark(props: React.SVGAttributes<SVGRectElement>): import("react/jsx-runtime").JSX.Element | null;
2
+ export declare function FocusedScatterMark({
3
+ className,
4
+ ...props
5
+ }: React.SVGAttributes<SVGRectElement>): import("react/jsx-runtime").JSX.Element | null;
@@ -1,19 +1,27 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.FocusedScatterMark = FocusedScatterMark;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12
  var React = _interopRequireWildcard(require("react"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
12
14
  var _styles = require("@mui/material/styles");
13
15
  var _useFocusedItem = require("../hooks/useFocusedItem");
14
16
  var _hooks = require("../hooks");
17
+ var _scatterClasses = require("./scatterClasses");
15
18
  var _jsxRuntime = require("react/jsx-runtime");
16
- function FocusedScatterMark(props) {
19
+ const _excluded = ["className"];
20
+ function FocusedScatterMark(_ref) {
21
+ let {
22
+ className
23
+ } = _ref,
24
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
17
25
  const theme = (0, _styles.useTheme)();
18
26
  const focusedItem = (0, _useFocusedItem.useFocusedItem)();
19
27
  const scatterSeries = (0, _hooks.useScatterSeriesContext)();
@@ -25,6 +33,7 @@ function FocusedScatterMark(props) {
25
33
  yAxis,
26
34
  yAxisIds
27
35
  } = (0, _hooks.useYAxes)();
36
+ const classes = (0, _scatterClasses.useUtilityClasses)();
28
37
  if (focusedItem === null || focusedItem.type !== 'scatter' || !scatterSeries) {
29
38
  return null;
30
39
  }
@@ -38,6 +47,7 @@ function FocusedScatterMark(props) {
38
47
  const y = getYPosition(scatterPoint.y);
39
48
  const size = series.markerSize + 3;
40
49
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", (0, _extends2.default)({
50
+ className: (0, _clsx.default)(classes.focusedMark, className),
41
51
  fill: "none",
42
52
  stroke: (theme.vars ?? theme).palette.text.primary,
43
53
  strokeWidth: 2,
@@ -3,7 +3,7 @@ import { type ScatterMarkerSlotProps, type ScatterMarkerSlots } from "./ScatterM
3
3
  import { type DefaultizedScatterSeriesType, type ScatterItemIdentifier } from "../models/seriesType/scatter.js";
4
4
  import { type D3Scale } from "../models/axis.js";
5
5
  import { type ColorGetter } from "../internals/plugins/models/seriesConfig/index.js";
6
- import { type ScatterClasses } from "./scatterClasses.js";
6
+ import type { ScatterClasses } from "./scatterClasses.js";
7
7
  export interface ScatterProps {
8
8
  series: DefaultizedScatterSeriesType;
9
9
  xScale: D3Scale;
@@ -11,6 +11,7 @@ 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 _clsx = _interopRequireDefault(require("clsx"));
14
15
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
16
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
16
17
  var _useStore = require("../internals/store/useStore");
@@ -65,14 +66,17 @@ function Scatter(props) {
65
66
  ownerState: {}
66
67
  }),
67
68
  markerProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded);
68
- const classes = (0, _scatterClasses.useUtilityClasses)(inClasses);
69
+ const classes = (0, _scatterClasses.useUtilityClasses)({
70
+ classes: inClasses
71
+ });
69
72
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
70
73
  "data-series": series.id,
71
- className: classes.root,
74
+ className: classes.series,
72
75
  children: scatterPlotData.map(dataPoint => {
73
76
  const isItemHighlighted = isHighlighted(dataPoint);
74
77
  const isItemFaded = !isItemHighlighted && isFaded(dataPoint);
75
78
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Marker, (0, _extends2.default)({
79
+ className: (0, _clsx.default)(classes.marker, markerProps.className),
76
80
  dataIndex: dataPoint.dataIndex,
77
81
  color: colorGetter(dataPoint.dataIndex),
78
82
  isHighlighted: isItemHighlighted,
@@ -7,7 +7,8 @@ export interface ScatterPlotSlotProps extends ScatterSlotProps {
7
7
  scatter?: Partial<ScatterProps>;
8
8
  }
9
9
  export type RendererType = 'svg-single' | 'svg-batch';
10
- export interface ScatterPlotProps extends Pick<ScatterProps, 'onItemClick'> {
10
+ export interface ScatterPlotProps extends Pick<ScatterProps, 'onItemClick' | 'classes'> {
11
+ className?: string;
11
12
  /**
12
13
  * Overridable component slots.
13
14
  * @default {}
@@ -10,13 +10,21 @@ exports.ScatterPlot = ScatterPlot;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _styles = require("@mui/material/styles");
13
15
  var _Scatter = require("./Scatter");
14
16
  var _useScatterSeries = require("../hooks/useScatterSeries");
15
17
  var _hooks = require("../hooks");
16
18
  var _useZAxis = require("../hooks/useZAxis");
17
19
  var _seriesConfig = require("./seriesConfig");
18
20
  var _BatchScatter = require("./BatchScatter");
21
+ var _scatterClasses = require("./scatterClasses");
19
22
  var _jsxRuntime = require("react/jsx-runtime");
23
+ const ScatterPlotRoot = (0, _styles.styled)('g', {
24
+ name: 'MuiScatterPlot',
25
+ slot: 'Root'
26
+ })();
27
+
20
28
  /**
21
29
  * Demos:
22
30
  *
@@ -32,7 +40,9 @@ function ScatterPlot(props) {
32
40
  slots,
33
41
  slotProps,
34
42
  onItemClick,
35
- renderer
43
+ renderer,
44
+ className,
45
+ classes: inClasses
36
46
  } = props;
37
47
  const seriesData = (0, _useScatterSeries.useScatterSeriesContext)();
38
48
  const {
@@ -47,6 +57,9 @@ function ScatterPlot(props) {
47
57
  zAxis,
48
58
  zAxisIds
49
59
  } = (0, _useZAxis.useZAxes)();
60
+ const classes = (0, _scatterClasses.useUtilityClasses)({
61
+ classes: inClasses
62
+ });
50
63
  if (seriesData === undefined) {
51
64
  return null;
52
65
  }
@@ -59,7 +72,8 @@ function ScatterPlot(props) {
59
72
  const defaultZAxisId = zAxisIds[0];
60
73
  const DefaultScatterItems = renderer === 'svg-batch' ? _BatchScatter.BatchScatter : _Scatter.Scatter;
61
74
  const ScatterItems = slots?.scatter ?? DefaultScatterItems;
62
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
75
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ScatterPlotRoot, {
76
+ className: (0, _clsx.default)(classes.root, className),
63
77
  children: seriesOrder.map(seriesId => {
64
78
  const {
65
79
  id,
@@ -5,5 +5,5 @@ export * from "./ScatterMarker.types.js";
5
5
  export * from "./ScatterMarker.js";
6
6
  export * from "./FocusedScatterMark.js";
7
7
  export * from "./ScatterChart.plugins.js";
8
- export type { ScatterClasses } from "./scatterClasses.js";
9
- export { scatterClasses } from "./scatterClasses.js";
8
+ export { scatterClasses, getScatterUtilityClass } from "./scatterClasses.js";
9
+ export type { ScatterClassKey, ScatterClasses } from "./scatterClasses.js";
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- scatterClasses: true
7
+ scatterClasses: true,
8
+ getScatterUtilityClass: true
8
9
  };
10
+ Object.defineProperty(exports, "getScatterUtilityClass", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _scatterClasses.getScatterUtilityClass;
14
+ }
15
+ });
9
16
  Object.defineProperty(exports, "scatterClasses", {
10
17
  enumerable: true,
11
18
  get: function () {