@mui/x-charts 7.22.1 → 8.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/BarChart/BarChart.d.ts +7 -7
  2. package/BarChart/BarChart.js +9 -29
  3. package/BarChart/BarElement.d.ts +1 -1
  4. package/BarChart/BarLabel/BarLabelItem.d.ts +1 -1
  5. package/BarChart/BarPlot.js +12 -4
  6. package/BarChart/extremums.js +3 -3
  7. package/BarChart/useBarChartProps.d.ts +2 -2
  8. package/BarChart/useBarChartProps.js +3 -4
  9. package/CHANGELOG.md +143 -92
  10. package/ChartContainer/ChartContainer.d.ts +16 -33
  11. package/ChartContainer/ChartContainer.js +24 -41
  12. package/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.d.ts +2 -2
  13. package/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.d.ts +1 -1
  14. package/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
  15. package/ChartContainer/useChartContainerProps.d.ts +11 -86
  16. package/ChartContainer/useChartContainerProps.js +42 -58
  17. package/ChartsLegend/ChartsLegend.js +0 -3
  18. package/ChartsLegend/DefaultChartsLegend.d.ts +0 -5
  19. package/ChartsLegend/DefaultChartsLegend.js +1 -12
  20. package/ChartsLegend/LegendPerItem.d.ts +1 -1
  21. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  22. package/ChartsOverlay/ChartsOverlay.d.ts +1 -1
  23. package/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
  24. package/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
  25. package/ChartsTooltip/ChartsTooltip.js +45 -6
  26. package/ChartsTooltip/useAxisTooltip.js +3 -3
  27. package/ChartsTooltip/useItemTooltip.js +3 -3
  28. package/ChartsTooltip/utils.d.ts +5 -13
  29. package/ChartsTooltip/utils.js +45 -42
  30. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
  31. package/Gauge/GaugeContainer.js +1 -1
  32. package/LineChart/AreaElement.d.ts +1 -1
  33. package/LineChart/AreaPlot.js +2 -6
  34. package/LineChart/LineChart.d.ts +7 -7
  35. package/LineChart/LineChart.js +9 -29
  36. package/LineChart/LineElement.d.ts +1 -1
  37. package/LineChart/LineHighlightPlot.d.ts +1 -1
  38. package/LineChart/LineHighlightPlot.js +2 -6
  39. package/LineChart/LinePlot.js +2 -6
  40. package/LineChart/MarkPlot.js +2 -6
  41. package/LineChart/extremums.js +10 -6
  42. package/LineChart/useLineChartProps.d.ts +2 -2
  43. package/LineChart/useLineChartProps.js +3 -4
  44. package/PieChart/PieArc.d.ts +0 -5
  45. package/PieChart/PieArc.js +1 -10
  46. package/PieChart/PieArcPlot.js +0 -5
  47. package/PieChart/PieChart.d.ts +9 -32
  48. package/PieChart/PieChart.js +19 -102
  49. package/README.md +2 -2
  50. package/ScatterChart/ScatterChart.d.ts +7 -7
  51. package/ScatterChart/ScatterChart.js +9 -29
  52. package/ScatterChart/ScatterPlot.js +3 -6
  53. package/ScatterChart/extremums.js +6 -6
  54. package/ScatterChart/useScatterChartProps.d.ts +2 -2
  55. package/ScatterChart/useScatterChartProps.js +3 -4
  56. package/SparkLineChart/SparkLineChart.d.ts +4 -4
  57. package/SparkLineChart/SparkLineChart.js +4 -2
  58. package/context/CartesianProvider/defaultizeAxis.d.ts +5 -1
  59. package/context/ChartDataProvider/ChartDataProvider.d.ts +41 -0
  60. package/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +48 -27
  61. package/context/ChartDataProvider/index.d.ts +1 -0
  62. package/context/ChartDataProvider/index.js +1 -0
  63. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +97 -0
  64. package/context/ChartDataProvider/useChartDataProviderProps.js +86 -0
  65. package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.d.ts +16 -12
  66. package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  67. package/context/HighlightedProvider/HighlightedContext.d.ts +0 -8
  68. package/context/HighlightedProvider/HighlightedProvider.js +1 -16
  69. package/context/PluginProvider/ExtremumGetter.types.d.ts +2 -2
  70. package/context/ZAxisContextProvider.d.ts +1 -1
  71. package/index.d.ts +1 -2
  72. package/index.js +2 -3
  73. package/internals/computeAxisValue.js +13 -5
  74. package/internals/defaultizeColor.d.ts +1 -8
  75. package/internals/getSymbol.js +19 -3
  76. package/internals/index.d.ts +5 -5
  77. package/internals/index.js +5 -5
  78. package/internals/useStringInterpolator.js +1 -0
  79. package/models/axis.d.ts +10 -0
  80. package/models/seriesType/bar.d.ts +1 -1
  81. package/models/seriesType/common.d.ts +2 -12
  82. package/models/seriesType/config.d.ts +1 -1
  83. package/models/seriesType/line.d.ts +1 -1
  84. package/models/seriesType/pie.d.ts +1 -1
  85. package/models/seriesType/scatter.d.ts +1 -6
  86. package/modern/BarChart/BarChart.js +9 -29
  87. package/modern/BarChart/BarPlot.js +12 -4
  88. package/modern/BarChart/extremums.js +3 -3
  89. package/modern/BarChart/useBarChartProps.js +3 -4
  90. package/modern/ChartContainer/ChartContainer.js +24 -41
  91. package/modern/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
  92. package/modern/ChartContainer/useChartContainerProps.js +42 -58
  93. package/modern/ChartsLegend/ChartsLegend.js +0 -3
  94. package/modern/ChartsLegend/DefaultChartsLegend.js +1 -12
  95. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  96. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
  97. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
  98. package/modern/ChartsTooltip/ChartsTooltip.js +45 -6
  99. package/modern/ChartsTooltip/useAxisTooltip.js +3 -3
  100. package/modern/ChartsTooltip/useItemTooltip.js +3 -3
  101. package/modern/ChartsTooltip/utils.js +45 -42
  102. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
  103. package/modern/Gauge/GaugeContainer.js +1 -1
  104. package/modern/LineChart/AreaPlot.js +2 -6
  105. package/modern/LineChart/LineChart.js +9 -29
  106. package/modern/LineChart/LineHighlightPlot.js +2 -6
  107. package/modern/LineChart/LinePlot.js +2 -6
  108. package/modern/LineChart/MarkPlot.js +2 -6
  109. package/modern/LineChart/extremums.js +10 -6
  110. package/modern/LineChart/useLineChartProps.js +3 -4
  111. package/modern/PieChart/PieArc.js +1 -10
  112. package/modern/PieChart/PieArcPlot.js +0 -5
  113. package/modern/PieChart/PieChart.js +19 -102
  114. package/modern/ScatterChart/ScatterChart.js +9 -29
  115. package/modern/ScatterChart/ScatterPlot.js +3 -6
  116. package/modern/ScatterChart/extremums.js +6 -6
  117. package/modern/ScatterChart/useScatterChartProps.js +3 -4
  118. package/modern/SparkLineChart/SparkLineChart.js +4 -2
  119. package/modern/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +48 -27
  120. package/modern/context/ChartDataProvider/index.js +1 -0
  121. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +86 -0
  122. package/modern/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  123. package/modern/context/HighlightedProvider/HighlightedProvider.js +1 -16
  124. package/modern/index.js +2 -3
  125. package/modern/internals/computeAxisValue.js +13 -5
  126. package/modern/internals/getSymbol.js +19 -3
  127. package/modern/internals/index.js +5 -5
  128. package/modern/internals/useStringInterpolator.js +1 -0
  129. package/node/BarChart/BarChart.js +9 -29
  130. package/node/BarChart/BarPlot.js +11 -3
  131. package/node/BarChart/extremums.js +3 -3
  132. package/node/BarChart/useBarChartProps.js +3 -4
  133. package/node/ChartContainer/ChartContainer.js +23 -40
  134. package/node/{ResponsiveChartContainer → ChartContainer}/useChartContainerDimensions.js +6 -4
  135. package/node/ChartContainer/useChartContainerProps.js +42 -59
  136. package/node/ChartsLegend/ChartsLegend.js +0 -3
  137. package/node/ChartsLegend/DefaultChartsLegend.js +1 -12
  138. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  139. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +3 -3
  140. package/node/ChartsTooltip/ChartsItemTooltipContent.js +3 -3
  141. package/node/ChartsTooltip/ChartsTooltip.js +44 -5
  142. package/node/ChartsTooltip/useAxisTooltip.js +3 -3
  143. package/node/ChartsTooltip/useItemTooltip.js +3 -3
  144. package/node/ChartsTooltip/utils.js +46 -44
  145. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -5
  146. package/node/Gauge/GaugeContainer.js +1 -1
  147. package/node/LineChart/AreaPlot.js +2 -6
  148. package/node/LineChart/LineChart.js +9 -29
  149. package/node/LineChart/LineHighlightPlot.js +2 -6
  150. package/node/LineChart/LinePlot.js +2 -6
  151. package/node/LineChart/MarkPlot.js +2 -6
  152. package/node/LineChart/extremums.js +10 -6
  153. package/node/LineChart/useLineChartProps.js +3 -4
  154. package/node/PieChart/PieArc.js +1 -10
  155. package/node/PieChart/PieArcPlot.js +0 -5
  156. package/node/PieChart/PieChart.js +19 -102
  157. package/node/ScatterChart/ScatterChart.js +9 -29
  158. package/node/ScatterChart/ScatterPlot.js +3 -6
  159. package/node/ScatterChart/extremums.js +6 -6
  160. package/node/ScatterChart/useScatterChartProps.js +3 -4
  161. package/node/SparkLineChart/SparkLineChart.js +4 -2
  162. package/node/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +47 -26
  163. package/node/context/ChartDataProvider/index.js +16 -0
  164. package/node/context/ChartDataProvider/useChartDataProviderProps.js +94 -0
  165. package/node/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  166. package/node/context/HighlightedProvider/HighlightedProvider.js +1 -16
  167. package/node/index.js +5 -16
  168. package/node/internals/computeAxisValue.js +13 -5
  169. package/node/internals/getSymbol.js +19 -3
  170. package/node/internals/index.js +37 -29
  171. package/node/internals/useStringInterpolator.js +2 -0
  172. package/package.json +4 -4
  173. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -24
  174. package/ResponsiveChartContainer/index.d.ts +0 -1
  175. package/ResponsiveChartContainer/index.js +0 -1
  176. package/ResponsiveChartContainer/package.json +0 -6
  177. package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +0 -19
  178. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  179. package/internals/SlotComponentPropsFromProps.d.ts +0 -1
  180. package/internals/SlotComponentPropsFromProps.js +0 -1
  181. package/models/helpers.d.ts +0 -3
  182. package/models/helpers.js +0 -1
  183. package/modern/ResponsiveChartContainer/index.js +0 -1
  184. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  185. package/modern/internals/SlotComponentPropsFromProps.js +0 -1
  186. package/modern/models/helpers.js +0 -1
  187. package/node/ResponsiveChartContainer/index.js +0 -16
  188. package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -77
  189. package/node/internals/SlotComponentPropsFromProps.js +0 -5
  190. package/node/models/helpers.js +0 -5
  191. /package/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
  192. /package/modern/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
  193. /package/node/{ResponsiveChartContainer → ChartContainer}/ResizableContainer.js +0 -0
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _LegendPerItem = require("./LegendPerItem");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
- const _excluded = ["drawingArea", "seriesToDisplay", "hidden", "onItemClick"];
16
+ const _excluded = ["seriesToDisplay", "hidden", "onItemClick"];
17
17
  const seriesContextBuilder = context => ({
18
18
  type: 'series',
19
19
  color: context.color,
@@ -50,17 +50,6 @@ process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
50
50
  * The default depends on the chart.
51
51
  */
52
52
  direction: _propTypes.default.oneOf(['column', 'row']).isRequired,
53
- /**
54
- * @deprecated Use the `useDrawingArea` hook instead.
55
- */
56
- drawingArea: _propTypes.default.shape({
57
- bottom: _propTypes.default.number.isRequired,
58
- height: _propTypes.default.number.isRequired,
59
- left: _propTypes.default.number.isRequired,
60
- right: _propTypes.default.number.isRequired,
61
- top: _propTypes.default.number.isRequired,
62
- width: _propTypes.default.number.isRequired
63
- }).isRequired,
64
53
  /**
65
54
  * Set to true to hide the legend.
66
55
  * @default false
@@ -46,8 +46,8 @@ function ChartsOnAxisClickHandler(props) {
46
46
  Object.keys(series).filter(seriesType => ['bar', 'line'].includes(seriesType)).forEach(seriesType => {
47
47
  series[seriesType]?.seriesOrder.forEach(seriesId => {
48
48
  const seriesItem = series[seriesType].series[seriesId];
49
- const providedXAxisId = seriesItem.xAxisId ?? seriesItem.xAxisKey;
50
- const providedYAxisId = seriesItem.yAxisId ?? seriesItem.yAxisKey;
49
+ const providedXAxisId = seriesItem.xAxisId;
50
+ const providedYAxisId = seriesItem.yAxisId;
51
51
  const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
52
52
  if (axisKey === undefined || axisKey === USED_AXIS_ID) {
53
53
  seriesValues[seriesId] = seriesItem.data[dataIndex];
@@ -48,14 +48,14 @@ function ChartsAxisTooltipContent(props) {
48
48
  Object.keys(series).filter(_isCartesian.isCartesianSeriesType).forEach(seriesType => {
49
49
  series[seriesType].seriesOrder.forEach(seriesId => {
50
50
  const item = series[seriesType].series[seriesId];
51
- const providedXAxisId = item.xAxisId ?? item.xAxisKey;
52
- const providedYAxisId = item.yAxisId ?? item.yAxisKey;
51
+ const providedXAxisId = item.xAxisId;
52
+ const providedYAxisId = item.yAxisId;
53
53
  const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
54
54
  if (axisKey === undefined || axisKey === USED_AXIS_ID) {
55
55
  const seriesToAdd = series[seriesType].series[seriesId];
56
56
  const xAxisId = providedXAxisId ?? xAxisIds[0];
57
57
  const yAxisId = providedYAxisId ?? yAxisIds[0];
58
- const zAxisId = seriesToAdd.zAxisId ?? seriesToAdd.zAxisKey ?? zAxisIds[0];
58
+ const zAxisId = seriesToAdd.zAxisId ?? zAxisIds[0];
59
59
  const getColor = colorProcessors[seriesType]?.(seriesToAdd, xAxis[xAxisId], yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
60
60
  rep.push((0, _extends2.default)({}, seriesToAdd, {
61
61
  getColor
@@ -38,9 +38,9 @@ function ChartsItemTooltipContent(props) {
38
38
  zAxisIds
39
39
  } = React.useContext(_ZAxisContextProvider.ZAxisContext);
40
40
  const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
41
- const xAxisId = series.xAxisId ?? series.xAxisKey ?? xAxisIds[0];
42
- const yAxisId = series.yAxisId ?? series.yAxisKey ?? yAxisIds[0];
43
- const zAxisId = series.zAxisId ?? series.zAxisKey ?? zAxisIds[0];
41
+ const xAxisId = series.xAxisId ?? xAxisIds[0];
42
+ const yAxisId = series.yAxisId ?? yAxisIds[0];
43
+ const zAxisId = series.zAxisId ?? zAxisIds[0];
44
44
  const getColor = colorProcessors[series.type]?.(series, xAxisId && xAxis[xAxisId], yAxisId && yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
45
45
  const Content = content ?? _DefaultChartsItemTooltipContent.DefaultChartsItemTooltipContent;
46
46
  const chartTooltipContentProps = (0, _useSlotProps.default)({
@@ -11,11 +11,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
+ var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
14
15
  var _styles = require("@mui/material/styles");
15
16
  var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
16
17
  var _NoSsr = _interopRequireDefault(require("@mui/material/NoSsr"));
17
18
  var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
18
19
  var _InteractionProvider = require("../context/InteractionProvider");
20
+ var _useSvgRef = require("../hooks/useSvgRef");
19
21
  var _utils = require("./utils");
20
22
  var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
21
23
  var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
@@ -70,14 +72,20 @@ function ChartsTooltip(inProps) {
70
72
  slots,
71
73
  slotProps
72
74
  } = props;
73
- const mousePosition = (0, _utils.useMouseTracker)();
75
+ const svgRef = (0, _useSvgRef.useSvgRef)();
76
+ const pointerType = (0, _utils.usePointerType)();
77
+ const popperRef = React.useRef(null);
78
+ const positionRef = (0, _useLazyRef.default)(() => ({
79
+ x: 0,
80
+ y: 0
81
+ }));
74
82
  const {
75
83
  item,
76
84
  axis
77
85
  } = React.useContext(_InteractionProvider.InteractionContext);
78
86
  const displayedData = trigger === 'item' ? item : axis;
79
87
  const tooltipHasData = (0, _utils.getTooltipHasData)(trigger, displayedData);
80
- const popperOpen = mousePosition !== null && tooltipHasData;
88
+ const popperOpen = pointerType !== null && tooltipHasData;
81
89
  const classes = useUtilityClasses({
82
90
  classes: props.classes
83
91
  });
@@ -87,17 +95,48 @@ function ChartsTooltip(inProps) {
87
95
  externalSlotProps: slotProps?.popper,
88
96
  additionalProps: {
89
97
  open: popperOpen,
90
- placement: mousePosition?.pointerType === 'mouse' ? 'right-start' : 'top',
91
- anchorEl: (0, _utils.generateVirtualElement)(mousePosition),
98
+ placement: pointerType?.pointerType === 'mouse' ? 'right-start' : 'top',
99
+ popperRef,
100
+ anchorEl: {
101
+ getBoundingClientRect: () => ({
102
+ x: positionRef.current.x,
103
+ y: positionRef.current.y,
104
+ top: positionRef.current.y,
105
+ left: positionRef.current.x,
106
+ right: positionRef.current.x,
107
+ bottom: positionRef.current.y,
108
+ width: 0,
109
+ height: 0,
110
+ toJSON: () => ''
111
+ })
112
+ },
92
113
  modifiers: [{
93
114
  name: 'offset',
94
115
  options: {
95
- offset: [0, mousePosition?.pointerType === 'touch' ? 40 - mousePosition.height : 0]
116
+ offset: [0, pointerType?.pointerType === 'touch' ? 40 - pointerType.height : 0]
96
117
  }
97
118
  }]
98
119
  },
99
120
  ownerState: {}
100
121
  });
122
+ React.useEffect(() => {
123
+ const element = svgRef.current;
124
+ if (element === null) {
125
+ return () => {};
126
+ }
127
+ const handleMove = event => {
128
+ // eslint-disable-next-line react-compiler/react-compiler
129
+ positionRef.current = {
130
+ x: event.clientX,
131
+ y: event.clientY
132
+ };
133
+ popperRef.current?.update();
134
+ };
135
+ element.addEventListener('pointermove', handleMove);
136
+ return () => {
137
+ element.removeEventListener('pointermove', handleMove);
138
+ };
139
+ }, [svgRef, positionRef]);
101
140
  if (trigger === 'none') {
102
141
  return null;
103
142
  }
@@ -51,15 +51,15 @@ function useAxisTooltip() {
51
51
  }
52
52
  return seriesOfType.seriesOrder.map(seriesId => {
53
53
  const seriesToAdd = seriesOfType.series[seriesId];
54
- const providedXAxisId = seriesToAdd.xAxisId ?? seriesToAdd.xAxisKey;
55
- const providedYAxisId = seriesToAdd.yAxisId ?? seriesToAdd.yAxisKey;
54
+ const providedXAxisId = seriesToAdd.xAxisId;
55
+ const providedYAxisId = seriesToAdd.yAxisId;
56
56
  const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
57
57
 
58
58
  // Test if the series uses the default axis
59
59
  if (axisKey === undefined || axisKey === USED_AXIS_ID) {
60
60
  const xAxisId = providedXAxisId ?? xAxisIds[0];
61
61
  const yAxisId = providedYAxisId ?? yAxisIds[0];
62
- const zAxisId = seriesToAdd.zAxisId ?? seriesToAdd.zAxisKey ?? zAxisIds[0];
62
+ const zAxisId = seriesToAdd.zAxisId ?? zAxisIds[0];
63
63
  const color = colorProcessors[seriesType]?.(seriesToAdd, xAxis[xAxisId], yAxis[yAxisId], zAxisId && zAxis[zAxisId])(dataIndex) ?? '';
64
64
  const value = seriesToAdd.data[dataIndex] ?? null;
65
65
  const formattedValue = seriesToAdd.valueFormatter(value, {
@@ -31,9 +31,9 @@ function useItemTooltip() {
31
31
  zAxisIds
32
32
  } = React.useContext(_ZAxisContextProvider.ZAxisContext);
33
33
  const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
34
- const xAxisId = series.xAxisId ?? series.xAxisKey ?? xAxisIds[0];
35
- const yAxisId = series.yAxisId ?? series.yAxisKey ?? yAxisIds[0];
36
- const zAxisId = series.zAxisId ?? series.zAxisKey ?? zAxisIds[0];
34
+ const xAxisId = series.xAxisId ?? xAxisIds[0];
35
+ const yAxisId = series.yAxisId ?? yAxisIds[0];
36
+ const zAxisId = series.zAxisId ?? zAxisIds[0];
37
37
  if (!item || item.dataIndex === undefined) {
38
38
  return null;
39
39
  }
@@ -1,53 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.generateVirtualElement = generateVirtualElement;
9
7
  exports.getTooltipHasData = getTooltipHasData;
10
8
  exports.useMouseTracker = useMouseTracker;
9
+ exports.usePointerType = usePointerType;
11
10
  exports.utcFormatter = utcFormatter;
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
11
  var React = _interopRequireWildcard(require("react"));
14
12
  var _hooks = require("../hooks");
15
- function generateVirtualElement(mousePosition) {
16
- if (mousePosition === null) {
17
- return {
18
- getBoundingClientRect: () => ({
19
- width: 0,
20
- height: 0,
21
- x: 0,
22
- y: 0,
23
- top: 0,
24
- right: 0,
25
- bottom: 0,
26
- left: 0,
27
- toJSON: () => ''
28
- })
29
- };
30
- }
31
- const {
32
- x,
33
- y
34
- } = mousePosition;
35
- const boundingBox = {
36
- width: 0,
37
- height: 0,
38
- x,
39
- y,
40
- top: y,
41
- right: x,
42
- bottom: y,
43
- left: x
44
- };
45
- return {
46
- getBoundingClientRect: () => (0, _extends2.default)({}, boundingBox, {
47
- toJSON: () => JSON.stringify(boundingBox)
48
- })
49
- };
50
- }
13
+ /**
14
+ * @deprecated We recommend using vanilla JS to let popper track mouse position.
15
+ */
51
16
  function useMouseTracker() {
52
17
  const svgRef = (0, _hooks.useSvgRef)();
53
18
 
@@ -58,6 +23,7 @@ function useMouseTracker() {
58
23
  if (element === null) {
59
24
  return () => {};
60
25
  }
26
+ const controller = new AbortController();
61
27
  const handleOut = event => {
62
28
  if (event.pointerType !== 'mouse') {
63
29
  setMousePosition(null);
@@ -71,16 +37,52 @@ function useMouseTracker() {
71
37
  pointerType: event.pointerType
72
38
  });
73
39
  };
74
- element.addEventListener('pointerdown', handleMove);
75
- element.addEventListener('pointermove', handleMove);
40
+ element.addEventListener('pointerdown', handleMove, {
41
+ signal: controller.signal
42
+ });
43
+ element.addEventListener('pointermove', handleMove, {
44
+ signal: controller.signal
45
+ });
46
+ element.addEventListener('pointerup', handleOut, {
47
+ signal: controller.signal
48
+ });
49
+ return () => {
50
+ // Calling `.abort()` removes ALL event listeners
51
+ // For more info, see https://kettanaito.com/blog/dont-sleep-on-abort-controller
52
+ controller.abort();
53
+ };
54
+ }, [svgRef]);
55
+ return mousePosition;
56
+ }
57
+ function usePointerType() {
58
+ const svgRef = (0, _hooks.useSvgRef)();
59
+
60
+ // Use a ref to avoid rerendering on every mousemove event.
61
+ const [pointerType, setPointerType] = React.useState(null);
62
+ React.useEffect(() => {
63
+ const element = svgRef.current;
64
+ if (element === null) {
65
+ return () => {};
66
+ }
67
+ const handleOut = event => {
68
+ if (event.pointerType !== 'mouse') {
69
+ setPointerType(null);
70
+ }
71
+ };
72
+ const handleEnter = event => {
73
+ setPointerType({
74
+ height: event.height,
75
+ pointerType: event.pointerType
76
+ });
77
+ };
78
+ element.addEventListener('pointerenter', handleEnter);
76
79
  element.addEventListener('pointerup', handleOut);
77
80
  return () => {
78
- element.removeEventListener('pointerdown', handleMove);
79
- element.removeEventListener('pointermove', handleMove);
81
+ element.removeEventListener('pointerenter', handleEnter);
80
82
  element.removeEventListener('pointerup', handleOut);
81
83
  };
82
84
  }, [svgRef]);
83
- return mousePosition;
85
+ return pointerType;
84
86
  }
85
87
  function getTooltipHasData(trigger, displayedData) {
86
88
  if (trigger === 'item') {
@@ -73,12 +73,10 @@ function ChartsVoronoiHandler(props) {
73
73
  const {
74
74
  data,
75
75
  xAxisId,
76
- yAxisId,
77
- xAxisKey,
78
- yAxisKey
76
+ yAxisId
79
77
  } = series[seriesId];
80
- const xScale = xAxis[xAxisId ?? xAxisKey ?? defaultXAxisId].scale;
81
- const yScale = yAxis[yAxisId ?? yAxisKey ?? defaultYAxisId].scale;
78
+ const xScale = xAxis[xAxisId ?? defaultXAxisId].scale;
79
+ const yScale = yAxis[yAxisId ?? defaultYAxisId].scale;
82
80
  const getXPosition = (0, _useScale.getValueToPositionMapper)(xScale);
83
81
  const getYPosition = (0, _useScale.getValueToPositionMapper)(yScale);
84
82
  const seriesPoints = data.flatMap(({
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
16
- var _useChartContainerDimensions = require("../ResponsiveChartContainer/useChartContainerDimensions");
16
+ var _useChartContainerDimensions = require("../ChartContainer/useChartContainerDimensions");
17
17
  var _ChartsSurface = require("../ChartsSurface");
18
18
  var _DrawingProvider = require("../context/DrawingProvider");
19
19
  var _GaugeProvider = require("./GaugeProvider");
@@ -49,17 +49,13 @@ const useAggregatedData = () => {
49
49
  return [...groupIds].reverse() // Revert stacked area for a more pleasant animation
50
50
  .map(seriesId => {
51
51
  const {
52
- xAxisId: xAxisIdProp,
53
- yAxisId: yAxisIdProp,
54
- xAxisKey = defaultXAxisId,
55
- yAxisKey = defaultYAxisId,
52
+ xAxisId = defaultXAxisId,
53
+ yAxisId = defaultYAxisId,
56
54
  stackedData,
57
55
  data,
58
56
  connectNulls,
59
57
  baseline
60
58
  } = series[seriesId];
61
- const xAxisId = xAxisIdProp ?? xAxisKey;
62
- const yAxisId = yAxisIdProp ?? yAxisKey;
63
59
  const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
64
60
  const yScale = yAxis[yAxisId].scale;
65
61
  const xData = xAxis[xAxisId].data;
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _styles = require("@mui/material/styles");
14
14
  var _AreaPlot = require("./AreaPlot");
15
15
  var _LinePlot = require("./LinePlot");
16
- var _ResponsiveChartContainer = require("../ResponsiveChartContainer");
16
+ var _ChartContainer = require("../ChartContainer");
17
17
  var _MarkPlot = require("./MarkPlot");
18
18
  var _ChartsAxis = require("../ChartsAxis/ChartsAxis");
19
19
  var _ChartsTooltip = require("../ChartsTooltip");
@@ -58,7 +58,7 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
58
58
  tooltipProps,
59
59
  children
60
60
  } = (0, _useLineChartProps.useLineChartProps)(props);
61
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, (0, _extends2.default)({
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartContainer.ChartContainer, (0, _extends2.default)({
62
62
  ref: ref
63
63
  }, chartContainerProps, {
64
64
  children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
@@ -66,7 +66,7 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
66
66
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
67
67
  "data-drawing-container": true,
68
68
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, (0, _extends2.default)({}, markPlotProps))
69
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
70
70
  }));
71
71
  });
72
72
  process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
@@ -126,6 +126,10 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
126
126
  * The height of the chart in px. If not defined, it takes the height of the parent element.
127
127
  */
128
128
  height: _propTypes.default.number,
129
+ /**
130
+ * If `true`, the legend is not rendered.
131
+ */
132
+ hideLegend: _propTypes.default.bool,
129
133
  /**
130
134
  * The item currently highlighted. Turns highlighting into a controlled prop.
131
135
  */
@@ -139,32 +143,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
139
143
  * @default yAxisIds[0] The id of the first provided axis
140
144
  */
141
145
  leftAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
142
- /**
143
- * @deprecated Consider using `slotProps.legend` instead.
144
- */
145
- legend: _propTypes.default.shape({
146
- classes: _propTypes.default.object,
147
- direction: _propTypes.default.oneOf(['column', 'row']),
148
- hidden: _propTypes.default.bool,
149
- itemGap: _propTypes.default.number,
150
- itemMarkHeight: _propTypes.default.number,
151
- itemMarkWidth: _propTypes.default.number,
152
- labelStyle: _propTypes.default.object,
153
- markGap: _propTypes.default.number,
154
- onItemClick: _propTypes.default.func,
155
- padding: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
156
- bottom: _propTypes.default.number,
157
- left: _propTypes.default.number,
158
- right: _propTypes.default.number,
159
- top: _propTypes.default.number
160
- })]),
161
- position: _propTypes.default.shape({
162
- horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
163
- vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
164
- }),
165
- slotProps: _propTypes.default.object,
166
- slots: _propTypes.default.object
167
- }),
168
146
  /**
169
147
  * If `true`, a loading overlay is displayed.
170
148
  * @default false
@@ -300,6 +278,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
300
278
  dataKey: _propTypes.default.string,
301
279
  disableLine: _propTypes.default.bool,
302
280
  disableTicks: _propTypes.default.bool,
281
+ domainLimit: _propTypes.default.oneOfType([_propTypes.default.oneOf(['nice', 'strict']), _propTypes.default.func]),
303
282
  fill: _propTypes.default.string,
304
283
  hideTooltip: _propTypes.default.bool,
305
284
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
@@ -353,6 +332,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
353
332
  dataKey: _propTypes.default.string,
354
333
  disableLine: _propTypes.default.bool,
355
334
  disableTicks: _propTypes.default.bool,
335
+ domainLimit: _propTypes.default.oneOfType([_propTypes.default.oneOf(['nice', 'strict']), _propTypes.default.func]),
356
336
  fill: _propTypes.default.string,
357
337
  hideTooltip: _propTypes.default.bool,
358
338
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
@@ -69,16 +69,12 @@ function LineHighlightPlot(props) {
69
69
  }) => {
70
70
  return groupIds.flatMap(seriesId => {
71
71
  const {
72
- xAxisId: xAxisIdProp,
73
- yAxisId: yAxisIdProp,
74
- xAxisKey = defaultXAxisId,
75
- yAxisKey = defaultYAxisId,
72
+ xAxisId = defaultXAxisId,
73
+ yAxisId = defaultYAxisId,
76
74
  stackedData,
77
75
  data,
78
76
  disableHighlight
79
77
  } = series[seriesId];
80
- const xAxisId = xAxisIdProp ?? xAxisKey;
81
- const yAxisId = yAxisIdProp ?? yAxisKey;
82
78
  if (disableHighlight || data[highlightedIndex] == null) {
83
79
  return null;
84
80
  }
@@ -48,16 +48,12 @@ const useAggregatedData = () => {
48
48
  }) => {
49
49
  return groupIds.flatMap(seriesId => {
50
50
  const {
51
- xAxisId: xAxisIdProp,
52
- yAxisId: yAxisIdProp,
53
- xAxisKey = defaultXAxisId,
54
- yAxisKey = defaultYAxisId,
51
+ xAxisId = defaultXAxisId,
52
+ yAxisId = defaultYAxisId,
55
53
  stackedData,
56
54
  data,
57
55
  connectNulls
58
56
  } = series[seriesId];
59
- const xAxisId = xAxisIdProp ?? xAxisKey;
60
- const yAxisId = yAxisIdProp ?? yAxisKey;
61
57
  const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
62
58
  const yScale = yAxis[yAxisId].scale;
63
59
  const xData = xAxis[xAxisId].data;
@@ -70,10 +70,8 @@ function MarkPlot(props) {
70
70
  }) => {
71
71
  return groupIds.map(seriesId => {
72
72
  const {
73
- xAxisId: xAxisIdProp,
74
- yAxisId: yAxisIdProp,
75
- xAxisKey = defaultXAxisId,
76
- yAxisKey = defaultYAxisId,
73
+ xAxisId = defaultXAxisId,
74
+ yAxisId = defaultYAxisId,
77
75
  stackedData,
78
76
  data,
79
77
  showMark = true
@@ -81,8 +79,6 @@ function MarkPlot(props) {
81
79
  if (showMark === false) {
82
80
  return null;
83
81
  }
84
- const xAxisId = xAxisIdProp ?? xAxisKey;
85
- const yAxisId = yAxisIdProp ?? yAxisKey;
86
82
  const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
87
83
  const yScale = yAxis[yAxisId].scale;
88
84
  const xData = xAxis[xAxisId].data;
@@ -13,8 +13,11 @@ const getExtremumX = params => {
13
13
  return [minX, maxX];
14
14
  };
15
15
  exports.getExtremumX = getExtremumX;
16
- function getSeriesExtremums(getValues, stackedData, filter) {
16
+ function getSeriesExtremums(getValues, data, stackedData, filter) {
17
17
  return stackedData.reduce((seriesAcc, stackedValue, index) => {
18
+ if (data[index] === null) {
19
+ return seriesAcc;
20
+ }
18
21
  const [base, value] = getValues(stackedValue);
19
22
  if (filter && (!filter({
20
23
  y: base,
@@ -36,24 +39,25 @@ const getExtremumY = params => {
36
39
  getFilters
37
40
  } = params;
38
41
  return Object.keys(series).filter(seriesId => {
39
- const yAxisId = series[seriesId].yAxisId ?? series[seriesId].yAxisKey;
42
+ const yAxisId = series[seriesId].yAxisId;
40
43
  return yAxisId === axis.id || isDefaultAxis && yAxisId === undefined;
41
44
  }).reduce((acc, seriesId) => {
42
45
  const {
43
46
  area,
44
- stackedData
47
+ stackedData,
48
+ data
45
49
  } = series[seriesId];
46
50
  const isArea = area !== undefined;
47
51
  const filter = getFilters?.({
48
52
  currentAxisId: axis.id,
49
53
  isDefaultAxis,
50
- seriesXAxisId: series[seriesId].xAxisId ?? series[seriesId].xAxisKey,
51
- seriesYAxisId: series[seriesId].yAxisId ?? series[seriesId].yAxisKey
54
+ seriesXAxisId: series[seriesId].xAxisId,
55
+ seriesYAxisId: series[seriesId].yAxisId
52
56
  });
53
57
 
54
58
  // Since this series is not used to display an area, we do not consider the base (the d[0]).
55
59
  const getValues = isArea && axis.scaleType !== 'log' && typeof series[seriesId].baseline !== 'string' ? d => d : d => [d[1], d[1]];
56
- const seriesExtremums = getSeriesExtremums(getValues, stackedData, filter);
60
+ const seriesExtremums = getSeriesExtremums(getValues, data, stackedData, filter);
57
61
  const [seriesMin, seriesMax] = seriesExtremums;
58
62
  return [Math.min(seriesMin, acc[0]), Math.max(seriesMax, acc[1])];
59
63
  }, [Infinity, -Infinity]);
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
12
12
  var _constants = require("../constants");
13
- const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "legend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className", "experimentalMarkRendering"];
13
+ const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "hideLegend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className", "experimentalMarkRendering"];
14
14
  /**
15
15
  * A helper function that extracts LineChartProps from the input props
16
16
  * and returns an object with props for the children components of LineChart.
@@ -36,7 +36,6 @@ const useLineChartProps = props => {
36
36
  onMarkClick,
37
37
  axisHighlight,
38
38
  disableLineItemHighlight,
39
- legend,
40
39
  grid,
41
40
  topAxis,
42
41
  leftAxis,
@@ -130,10 +129,10 @@ const useLineChartProps = props => {
130
129
  slots,
131
130
  slotProps
132
131
  };
133
- const legendProps = (0, _extends2.default)({}, legend, {
132
+ const legendProps = {
134
133
  slots,
135
134
  slotProps
136
- });
135
+ };
137
136
  const tooltipProps = (0, _extends2.default)({}, tooltip, {
138
137
  slots,
139
138
  slotProps
@@ -21,7 +21,7 @@ var _styles = require("@mui/material/styles");
21
21
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
22
22
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
23
23
  var _jsxRuntime = require("react/jsx-runtime");
24
- const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle", "highlightScope"];
24
+ const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle"];
25
25
  function getPieArcUtilityClass(slot) {
26
26
  return (0, _generateUtilityClass.default)('MuiPieArc', slot);
27
27
  }
@@ -102,15 +102,6 @@ process.env.NODE_ENV !== "production" ? PieArc.propTypes = {
102
102
  // ----------------------------------------------------------------------
103
103
  classes: _propTypes.default.object,
104
104
  dataIndex: _propTypes.default.number.isRequired,
105
- /**
106
- * @deprecated Use the `isFaded` or `isHighlighted` props instead.
107
- */
108
- highlightScope: _propTypes.default.shape({
109
- fade: _propTypes.default.oneOf(['global', 'none', 'series']),
110
- faded: _propTypes.default.oneOf(['global', 'none', 'series']),
111
- highlight: _propTypes.default.oneOf(['item', 'none', 'series']),
112
- highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
113
- }),
114
105
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
115
106
  isFaded: _propTypes.default.bool.isRequired,
116
107
  isHighlighted: _propTypes.default.bool.isRequired
@@ -15,7 +15,6 @@ var _web = require("@react-spring/web");
15
15
  var _PieArc = require("./PieArc");
16
16
  var _transition = require("./dataTransform/transition");
17
17
  var _useTransformData = require("./dataTransform/useTransformData");
18
- var _context = require("../context");
19
18
  var _jsxRuntime = require("react/jsx-runtime");
20
19
  const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlighted", "faded", "data", "onItemClick", "skipAnimation"],
21
20
  _excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "arcLabelRadius", "outerRadius", "cornerRadius"];
@@ -50,9 +49,6 @@ function PieArcPlot(props) {
50
49
  const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, _transition.defaultTransitionConfig, {
51
50
  immediate: skipAnimation
52
51
  }));
53
- const {
54
- highlightScope
55
- } = (0, _context.useHighlighted)();
56
52
  if (data.length === 0) {
57
53
  return null;
58
54
  }
@@ -79,7 +75,6 @@ function PieArcPlot(props) {
79
75
  id: id,
80
76
  color: item.color,
81
77
  dataIndex: index,
82
- highlightScope: highlightScope,
83
78
  isFaded: item.isFaded,
84
79
  isHighlighted: item.isHighlighted,
85
80
  onClick: onItemClick && (event => {