@mui/x-charts 7.5.0 → 7.6.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 (245) hide show
  1. package/BarChart/BarChart.js +30 -3
  2. package/BarChart/BarElement.d.ts +0 -3
  3. package/BarChart/BarElement.js +8 -19
  4. package/BarChart/BarLabel/BarLabel.d.ts +1342 -0
  5. package/BarChart/BarLabel/BarLabel.js +60 -0
  6. package/BarChart/BarLabel/BarLabel.types.d.ts +39 -0
  7. package/BarChart/BarLabel/BarLabel.types.js +5 -0
  8. package/BarChart/BarLabel/BarLabelItem.d.ts +53 -0
  9. package/BarChart/BarLabel/BarLabelItem.js +127 -0
  10. package/BarChart/BarLabel/BarLabelPlot.d.ts +16 -0
  11. package/BarChart/BarLabel/BarLabelPlot.js +106 -0
  12. package/BarChart/BarLabel/barLabelClasses.d.ts +13 -0
  13. package/BarChart/BarLabel/barLabelClasses.js +29 -0
  14. package/BarChart/BarLabel/getBarLabel.d.ts +10 -0
  15. package/BarChart/BarLabel/getBarLabel.js +31 -0
  16. package/BarChart/BarLabel/index.d.ts +6 -0
  17. package/BarChart/BarLabel/index.js +25 -0
  18. package/BarChart/BarPlot.d.ts +15 -4
  19. package/BarChart/BarPlot.js +22 -34
  20. package/BarChart/checkScaleErrors.d.ts +11 -0
  21. package/BarChart/checkScaleErrors.js +33 -0
  22. package/BarChart/index.d.ts +1 -0
  23. package/BarChart/index.js +11 -0
  24. package/BarChart/types.d.ts +0 -2
  25. package/CHANGELOG.md +148 -5418
  26. package/ChartContainer/ChartContainer.d.ts +3 -2
  27. package/ChartContainer/ChartContainer.js +20 -3
  28. package/ChartsAxis/ChartsAxis.js +1 -1
  29. package/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
  30. package/ChartsClipPath/ChartsClipPath.js +1 -1
  31. package/ChartsGrid/ChartsGrid.js +1 -1
  32. package/ChartsLegend/ChartsLegend.js +1 -1
  33. package/ChartsLegend/DefaultChartsLegend.js +1 -1
  34. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  35. package/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  36. package/ChartsSurface.js +1 -1
  37. package/ChartsText/ChartsText.js +1 -1
  38. package/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  39. package/ChartsTooltip/ChartsItemTooltipContent.js +1 -1
  40. package/ChartsTooltip/ChartsTooltip.js +1 -1
  41. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -1
  42. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  43. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +14 -2
  44. package/ChartsXAxis/ChartsXAxis.js +1 -1
  45. package/ChartsYAxis/ChartsYAxis.js +1 -1
  46. package/Gauge/Gauge.js +1 -1
  47. package/Gauge/GaugeContainer.js +1 -1
  48. package/Gauge/GaugeValueText.js +1 -1
  49. package/LineChart/AnimatedArea.js +1 -1
  50. package/LineChart/AnimatedLine.js +1 -1
  51. package/LineChart/AreaElement.d.ts +0 -2
  52. package/LineChart/AreaElement.js +8 -18
  53. package/LineChart/AreaPlot.js +1 -3
  54. package/LineChart/LineChart.js +19 -2
  55. package/LineChart/LineElement.d.ts +0 -2
  56. package/LineChart/LineElement.js +8 -18
  57. package/LineChart/LineHighlightElement.js +1 -1
  58. package/LineChart/LineHighlightPlot.js +1 -1
  59. package/LineChart/LinePlot.js +1 -3
  60. package/LineChart/MarkElement.d.ts +0 -2
  61. package/LineChart/MarkElement.js +11 -33
  62. package/LineChart/MarkPlot.js +1 -2
  63. package/PieChart/PieArc.d.ts +4 -1
  64. package/PieChart/PieArc.js +8 -4
  65. package/PieChart/PieArcLabel.js +1 -1
  66. package/PieChart/PieArcLabelPlot.d.ts +1 -1
  67. package/PieChart/PieArcLabelPlot.js +2 -8
  68. package/PieChart/PieArcPlot.d.ts +1 -1
  69. package/PieChart/PieArcPlot.js +6 -8
  70. package/PieChart/PieChart.js +19 -2
  71. package/PieChart/PiePlot.js +3 -7
  72. package/PieChart/dataTransform/useTransformData.d.ts +1 -1
  73. package/PieChart/dataTransform/useTransformData.js +10 -25
  74. package/ResponsiveChartContainer/ResponsiveChartContainer.js +14 -1
  75. package/ScatterChart/Scatter.js +15 -11
  76. package/ScatterChart/ScatterChart.js +19 -2
  77. package/ScatterChart/ScatterPlot.js +1 -1
  78. package/SparkLineChart/SparkLineChart.d.ts +1 -1
  79. package/SparkLineChart/SparkLineChart.js +14 -1
  80. package/context/HighlightedProvider/HighlightedContext.d.ts +65 -0
  81. package/context/HighlightedProvider/HighlightedContext.js +36 -0
  82. package/context/HighlightedProvider/HighlightedProvider.d.ts +20 -0
  83. package/context/HighlightedProvider/HighlightedProvider.js +97 -0
  84. package/context/HighlightedProvider/createIsFaded.d.ts +2 -0
  85. package/context/HighlightedProvider/createIsFaded.js +19 -0
  86. package/context/HighlightedProvider/createIsHighlighted.d.ts +2 -0
  87. package/context/HighlightedProvider/createIsHighlighted.js +19 -0
  88. package/context/HighlightedProvider/index.d.ts +4 -0
  89. package/context/HighlightedProvider/index.js +49 -0
  90. package/context/HighlightedProvider/useHighlighted.d.ts +9 -0
  91. package/context/HighlightedProvider/useHighlighted.js +24 -0
  92. package/context/HighlightedProvider/useItemHighlighted.d.ts +21 -0
  93. package/context/HighlightedProvider/useItemHighlighted.js +37 -0
  94. package/context/ZAxisContextProvider.js +1 -1
  95. package/context/index.d.ts +1 -1
  96. package/context/index.js +15 -0
  97. package/esm/BarChart/BarChart.js +30 -3
  98. package/esm/BarChart/BarElement.js +9 -20
  99. package/esm/BarChart/BarLabel/BarLabel.js +51 -0
  100. package/esm/BarChart/BarLabel/BarLabel.types.js +1 -0
  101. package/esm/BarChart/BarLabel/BarLabelItem.js +119 -0
  102. package/esm/BarChart/BarLabel/BarLabelPlot.js +98 -0
  103. package/esm/BarChart/BarLabel/barLabelClasses.js +19 -0
  104. package/esm/BarChart/BarLabel/getBarLabel.js +24 -0
  105. package/esm/BarChart/BarLabel/index.js +2 -0
  106. package/esm/BarChart/BarPlot.js +22 -34
  107. package/esm/BarChart/checkScaleErrors.js +27 -0
  108. package/esm/BarChart/index.js +2 -1
  109. package/esm/ChartContainer/ChartContainer.js +20 -3
  110. package/esm/ChartsAxis/ChartsAxis.js +1 -1
  111. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
  112. package/esm/ChartsClipPath/ChartsClipPath.js +1 -1
  113. package/esm/ChartsGrid/ChartsGrid.js +1 -1
  114. package/esm/ChartsLegend/ChartsLegend.js +1 -1
  115. package/esm/ChartsLegend/DefaultChartsLegend.js +1 -1
  116. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  117. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  118. package/esm/ChartsSurface.js +1 -1
  119. package/esm/ChartsText/ChartsText.js +1 -1
  120. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  121. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +1 -1
  122. package/esm/ChartsTooltip/ChartsTooltip.js +1 -1
  123. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -1
  124. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  125. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +14 -2
  126. package/esm/ChartsXAxis/ChartsXAxis.js +1 -1
  127. package/esm/ChartsYAxis/ChartsYAxis.js +1 -1
  128. package/esm/Gauge/Gauge.js +1 -1
  129. package/esm/Gauge/GaugeContainer.js +1 -1
  130. package/esm/Gauge/GaugeValueText.js +1 -1
  131. package/esm/LineChart/AnimatedArea.js +1 -1
  132. package/esm/LineChart/AnimatedLine.js +1 -1
  133. package/esm/LineChart/AreaElement.js +9 -19
  134. package/esm/LineChart/AreaPlot.js +1 -3
  135. package/esm/LineChart/LineChart.js +19 -2
  136. package/esm/LineChart/LineElement.js +9 -19
  137. package/esm/LineChart/LineHighlightElement.js +1 -1
  138. package/esm/LineChart/LineHighlightPlot.js +1 -1
  139. package/esm/LineChart/LinePlot.js +1 -3
  140. package/esm/LineChart/MarkElement.js +12 -34
  141. package/esm/LineChart/MarkPlot.js +1 -2
  142. package/esm/PieChart/PieArc.js +8 -4
  143. package/esm/PieChart/PieArcLabel.js +1 -1
  144. package/esm/PieChart/PieArcLabelPlot.js +2 -8
  145. package/esm/PieChart/PieArcPlot.js +6 -8
  146. package/esm/PieChart/PieChart.js +19 -2
  147. package/esm/PieChart/PiePlot.js +3 -7
  148. package/esm/PieChart/dataTransform/useTransformData.js +10 -25
  149. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +14 -1
  150. package/esm/ScatterChart/Scatter.js +16 -12
  151. package/esm/ScatterChart/ScatterChart.js +19 -2
  152. package/esm/ScatterChart/ScatterPlot.js +1 -1
  153. package/esm/SparkLineChart/SparkLineChart.js +14 -1
  154. package/esm/context/HighlightedProvider/HighlightedContext.js +29 -0
  155. package/esm/context/HighlightedProvider/HighlightedProvider.js +89 -0
  156. package/esm/context/HighlightedProvider/createIsFaded.js +12 -0
  157. package/esm/context/HighlightedProvider/createIsHighlighted.js +12 -0
  158. package/esm/context/HighlightedProvider/index.js +4 -0
  159. package/esm/context/HighlightedProvider/useHighlighted.js +17 -0
  160. package/esm/context/HighlightedProvider/useItemHighlighted.js +29 -0
  161. package/esm/context/ZAxisContextProvider.js +1 -1
  162. package/esm/context/index.js +1 -0
  163. package/esm/hooks/useInteractionItemProps.js +9 -41
  164. package/hooks/useInteractionItemProps.d.ts +1 -4
  165. package/hooks/useInteractionItemProps.js +11 -45
  166. package/index.js +1 -1
  167. package/internals/colorScale.d.ts +1 -1
  168. package/internals/defaultizeColor.d.ts +13 -13
  169. package/models/seriesType/common.d.ts +4 -1
  170. package/modern/BarChart/BarChart.js +30 -3
  171. package/modern/BarChart/BarElement.js +9 -20
  172. package/modern/BarChart/BarLabel/BarLabel.js +51 -0
  173. package/modern/BarChart/BarLabel/BarLabel.types.js +1 -0
  174. package/modern/BarChart/BarLabel/BarLabelItem.js +119 -0
  175. package/modern/BarChart/BarLabel/BarLabelPlot.js +98 -0
  176. package/modern/BarChart/BarLabel/barLabelClasses.js +19 -0
  177. package/modern/BarChart/BarLabel/getBarLabel.js +24 -0
  178. package/modern/BarChart/BarLabel/index.js +2 -0
  179. package/modern/BarChart/BarPlot.js +22 -34
  180. package/modern/BarChart/checkScaleErrors.js +27 -0
  181. package/modern/BarChart/index.js +2 -1
  182. package/modern/ChartContainer/ChartContainer.js +20 -3
  183. package/modern/ChartsAxis/ChartsAxis.js +1 -1
  184. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +1 -1
  185. package/modern/ChartsClipPath/ChartsClipPath.js +1 -1
  186. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  187. package/modern/ChartsLegend/ChartsLegend.js +1 -1
  188. package/modern/ChartsLegend/DefaultChartsLegend.js +1 -1
  189. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  190. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +1 -1
  191. package/modern/ChartsSurface.js +1 -1
  192. package/modern/ChartsText/ChartsText.js +1 -1
  193. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  194. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +1 -1
  195. package/modern/ChartsTooltip/ChartsTooltip.js +1 -1
  196. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +1 -1
  197. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
  198. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +14 -2
  199. package/modern/ChartsXAxis/ChartsXAxis.js +1 -1
  200. package/modern/ChartsYAxis/ChartsYAxis.js +1 -1
  201. package/modern/Gauge/Gauge.js +1 -1
  202. package/modern/Gauge/GaugeContainer.js +1 -1
  203. package/modern/Gauge/GaugeValueText.js +1 -1
  204. package/modern/LineChart/AnimatedArea.js +1 -1
  205. package/modern/LineChart/AnimatedLine.js +1 -1
  206. package/modern/LineChart/AreaElement.js +9 -19
  207. package/modern/LineChart/AreaPlot.js +1 -3
  208. package/modern/LineChart/LineChart.js +19 -2
  209. package/modern/LineChart/LineElement.js +9 -19
  210. package/modern/LineChart/LineHighlightElement.js +1 -1
  211. package/modern/LineChart/LineHighlightPlot.js +1 -1
  212. package/modern/LineChart/LinePlot.js +1 -3
  213. package/modern/LineChart/MarkElement.js +12 -34
  214. package/modern/LineChart/MarkPlot.js +1 -2
  215. package/modern/PieChart/PieArc.js +8 -4
  216. package/modern/PieChart/PieArcLabel.js +1 -1
  217. package/modern/PieChart/PieArcLabelPlot.js +2 -8
  218. package/modern/PieChart/PieArcPlot.js +6 -8
  219. package/modern/PieChart/PieChart.js +19 -2
  220. package/modern/PieChart/PiePlot.js +3 -7
  221. package/modern/PieChart/dataTransform/useTransformData.js +10 -25
  222. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +14 -1
  223. package/modern/ScatterChart/Scatter.js +16 -12
  224. package/modern/ScatterChart/ScatterChart.js +19 -2
  225. package/modern/ScatterChart/ScatterPlot.js +1 -1
  226. package/modern/SparkLineChart/SparkLineChart.js +14 -1
  227. package/modern/context/HighlightedProvider/HighlightedContext.js +29 -0
  228. package/modern/context/HighlightedProvider/HighlightedProvider.js +89 -0
  229. package/modern/context/HighlightedProvider/createIsFaded.js +12 -0
  230. package/modern/context/HighlightedProvider/createIsHighlighted.js +12 -0
  231. package/modern/context/HighlightedProvider/index.js +4 -0
  232. package/modern/context/HighlightedProvider/useHighlighted.js +17 -0
  233. package/modern/context/HighlightedProvider/useItemHighlighted.js +29 -0
  234. package/modern/context/ZAxisContextProvider.js +1 -1
  235. package/modern/context/index.js +1 -0
  236. package/modern/hooks/useInteractionItemProps.js +9 -41
  237. package/modern/index.js +1 -1
  238. package/package.json +3 -3
  239. package/themeAugmentation/components.d.ts +4 -0
  240. package/themeAugmentation/overrides.d.ts +3 -0
  241. package/themeAugmentation/props.d.ts +2 -0
  242. package/context/HighlightProvider.d.ts +0 -45
  243. package/context/HighlightProvider.js +0 -60
  244. package/esm/context/HighlightProvider.js +0 -51
  245. package/modern/context/HighlightProvider.js +0 -51
@@ -83,7 +83,7 @@ function AnimatedArea(props) {
83
83
  process.env.NODE_ENV !== "production" ? AnimatedArea.propTypes = {
84
84
  // ----------------------------- Warning --------------------------------
85
85
  // | These PropTypes are generated from the TypeScript type definitions |
86
- // | To update them edit the TypeScript types and run "yarn proptypes" |
86
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
87
87
  // ----------------------------------------------------------------------
88
88
  d: PropTypes.string.isRequired,
89
89
  ownerState: PropTypes.shape({
@@ -86,7 +86,7 @@ function AnimatedLine(props) {
86
86
  process.env.NODE_ENV !== "production" ? AnimatedLine.propTypes = {
87
87
  // ----------------------------- Warning --------------------------------
88
88
  // | These PropTypes are generated from the TypeScript type definitions |
89
- // | To update them edit the TypeScript types and run "yarn proptypes" |
89
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
90
90
  // ----------------------------------------------------------------------
91
91
  d: PropTypes.string.isRequired,
92
92
  ownerState: PropTypes.shape({
@@ -1,15 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["id", "classes", "color", "gradientId", "highlightScope", "slots", "slotProps", "onClick"];
3
+ const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import composeClasses from '@mui/utils/composeClasses';
7
7
  import { useSlotProps } from '@mui/base/utils';
8
8
  import generateUtilityClass from '@mui/utils/generateUtilityClass';
9
9
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
10
- import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
11
- import { InteractionContext } from '../context/InteractionProvider';
10
+ import { useInteractionItemProps } from '../hooks/useInteractionItemProps';
12
11
  import { AnimatedArea } from './AnimatedArea';
12
+ import { useItemHighlighted } from '../context';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  export function getAreaElementUtilityClass(slot) {
15
15
  return generateUtilityClass('MuiAreaElement', slot);
@@ -43,24 +43,18 @@ function AreaElement(props) {
43
43
  classes: innerClasses,
44
44
  color,
45
45
  gradientId,
46
- highlightScope,
47
46
  slots,
48
47
  slotProps,
49
48
  onClick
50
49
  } = props,
51
50
  other = _objectWithoutPropertiesLoose(props, _excluded);
52
- const getInteractionItemProps = useInteractionItemProps(highlightScope);
51
+ const getInteractionItemProps = useInteractionItemProps();
53
52
  const {
54
- item
55
- } = React.useContext(InteractionContext);
56
- const isHighlighted = getIsHighlighted(item, {
57
- type: 'line',
58
- seriesId: id
59
- }, highlightScope);
60
- const isFaded = !isHighlighted && getIsFaded(item, {
61
- type: 'line',
53
+ isFaded,
54
+ isHighlighted
55
+ } = useItemHighlighted({
62
56
  seriesId: id
63
- }, highlightScope);
57
+ });
64
58
  const ownerState = {
65
59
  id,
66
60
  classes: innerClasses,
@@ -89,16 +83,12 @@ function AreaElement(props) {
89
83
  process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
90
84
  // ----------------------------- Warning --------------------------------
91
85
  // | These PropTypes are generated from the TypeScript type definitions |
92
- // | To update them edit the TypeScript types and run "yarn proptypes" |
86
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
93
87
  // ----------------------------------------------------------------------
94
88
  classes: PropTypes.object,
95
89
  color: PropTypes.string.isRequired,
96
90
  d: PropTypes.string.isRequired,
97
91
  gradientId: PropTypes.string,
98
- highlightScope: PropTypes.shape({
99
- faded: PropTypes.oneOf(['global', 'none', 'series']),
100
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
101
- }),
102
92
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
103
93
  /**
104
94
  * If `true`, animations are skipped.
@@ -97,7 +97,6 @@ function AreaPlot(props) {
97
97
  d,
98
98
  seriesId,
99
99
  color,
100
- highlightScope,
101
100
  area,
102
101
  gradientUsed
103
102
  }) => !!area && /*#__PURE__*/_jsx(AreaElement, {
@@ -105,7 +104,6 @@ function AreaPlot(props) {
105
104
  d: d,
106
105
  color: color,
107
106
  gradientId: gradientUsed && getGradientId(...gradientUsed),
108
- highlightScope: highlightScope,
109
107
  slots: slots,
110
108
  slotProps: slotProps,
111
109
  onClick: onItemClick && (event => onItemClick(event, {
@@ -119,7 +117,7 @@ function AreaPlot(props) {
119
117
  process.env.NODE_ENV !== "production" ? AreaPlot.propTypes = {
120
118
  // ----------------------------- Warning --------------------------------
121
119
  // | These PropTypes are generated from the TypeScript type definitions |
122
- // | To update them edit the TypeScript types and run "yarn proptypes" |
120
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
123
121
  // ----------------------------------------------------------------------
124
122
  /**
125
123
  * Callback fired when a line area item is clicked.
@@ -57,7 +57,9 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
57
57
  slots,
58
58
  slotProps,
59
59
  skipAnimation,
60
- loading
60
+ loading,
61
+ highlightedItem,
62
+ onHighlightChange
61
63
  } = props;
62
64
  const id = useId();
63
65
  const clipPathId = `${id}-clip-path`;
@@ -82,6 +84,8 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
82
84
  dataset: dataset,
83
85
  sx: sx,
84
86
  disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
87
+ highlightedItem: highlightedItem,
88
+ onHighlightChange: onHighlightChange,
85
89
  children: [onAxisClick && /*#__PURE__*/_jsx(ChartsOnAxisClickHandler, {
86
90
  onAxisClick: onAxisClick
87
91
  }), grid && /*#__PURE__*/_jsx(ChartsGrid, {
@@ -133,7 +137,7 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
133
137
  process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
134
138
  // ----------------------------- Warning --------------------------------
135
139
  // | These PropTypes are generated from the TypeScript type definitions |
136
- // | To update them edit the TypeScript types and run "yarn proptypes" |
140
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
137
141
  // ----------------------------------------------------------------------
138
142
  /**
139
143
  * The configuration of axes highlight.
@@ -183,6 +187,13 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
183
187
  * The height of the chart in px. If not defined, it takes the height of the parent element.
184
188
  */
185
189
  height: PropTypes.number,
190
+ /**
191
+ * The item currently highlighted. Turns highlighting into a controlled prop.
192
+ */
193
+ highlightedItem: PropTypes.shape({
194
+ dataIndex: PropTypes.number,
195
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
196
+ }),
186
197
  /**
187
198
  * Indicate which axis to display the left of the charts.
188
199
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -231,6 +242,12 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
231
242
  * @param {null | AxisData} data The data about the clicked axis and items associated with it.
232
243
  */
233
244
  onAxisClick: PropTypes.func,
245
+ /**
246
+ * The callback fired when the highlighted item changes.
247
+ *
248
+ * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
249
+ */
250
+ onHighlightChange: PropTypes.func,
234
251
  /**
235
252
  * Callback fired when a line element is clicked.
236
253
  */
@@ -1,15 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["id", "classes", "color", "gradientId", "highlightScope", "slots", "slotProps", "onClick"];
3
+ const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import composeClasses from '@mui/utils/composeClasses';
7
7
  import { useSlotProps } from '@mui/base/utils';
8
8
  import generateUtilityClass from '@mui/utils/generateUtilityClass';
9
9
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
10
- import { InteractionContext } from '../context/InteractionProvider';
11
- import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
10
+ import { useInteractionItemProps } from '../hooks/useInteractionItemProps';
12
11
  import { AnimatedLine } from './AnimatedLine';
12
+ import { useItemHighlighted } from '../context';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  export function getLineElementUtilityClass(slot) {
15
15
  return generateUtilityClass('MuiLineElement', slot);
@@ -43,24 +43,18 @@ function LineElement(props) {
43
43
  classes: innerClasses,
44
44
  color,
45
45
  gradientId,
46
- highlightScope,
47
46
  slots,
48
47
  slotProps,
49
48
  onClick
50
49
  } = props,
51
50
  other = _objectWithoutPropertiesLoose(props, _excluded);
52
- const getInteractionItemProps = useInteractionItemProps(highlightScope);
51
+ const getInteractionItemProps = useInteractionItemProps();
53
52
  const {
54
- item
55
- } = React.useContext(InteractionContext);
56
- const isHighlighted = getIsHighlighted(item, {
57
- type: 'line',
58
- seriesId: id
59
- }, highlightScope);
60
- const isFaded = !isHighlighted && getIsFaded(item, {
61
- type: 'line',
53
+ isFaded,
54
+ isHighlighted
55
+ } = useItemHighlighted({
62
56
  seriesId: id
63
- }, highlightScope);
57
+ });
64
58
  const ownerState = {
65
59
  id,
66
60
  classes: innerClasses,
@@ -89,16 +83,12 @@ function LineElement(props) {
89
83
  process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
90
84
  // ----------------------------- Warning --------------------------------
91
85
  // | These PropTypes are generated from the TypeScript type definitions |
92
- // | To update them edit the TypeScript types and run "yarn proptypes" |
86
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
93
87
  // ----------------------------------------------------------------------
94
88
  classes: PropTypes.object,
95
89
  color: PropTypes.string.isRequired,
96
90
  d: PropTypes.string.isRequired,
97
91
  gradientId: PropTypes.string,
98
- highlightScope: PropTypes.shape({
99
- faded: PropTypes.oneOf(['global', 'none', 'series']),
100
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
101
- }),
102
92
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
103
93
  /**
104
94
  * If `true`, animations are skipped.
@@ -72,7 +72,7 @@ function LineHighlightElement(props) {
72
72
  process.env.NODE_ENV !== "production" ? LineHighlightElement.propTypes = {
73
73
  // ----------------------------- Warning --------------------------------
74
74
  // | These PropTypes are generated from the TypeScript type definitions |
75
- // | To update them edit the TypeScript types and run "yarn proptypes" |
75
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
76
76
  // ----------------------------------------------------------------------
77
77
  classes: PropTypes.object,
78
78
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
@@ -90,7 +90,7 @@ function LineHighlightPlot(props) {
90
90
  process.env.NODE_ENV !== "production" ? LineHighlightPlot.propTypes = {
91
91
  // ----------------------------- Warning --------------------------------
92
92
  // | These PropTypes are generated from the TypeScript type definitions |
93
- // | To update them edit the TypeScript types and run "yarn proptypes" |
93
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
94
94
  // ----------------------------------------------------------------------
95
95
  /**
96
96
  * The props used for each component slot.
@@ -94,7 +94,6 @@ function LinePlot(props) {
94
94
  d,
95
95
  seriesId,
96
96
  color,
97
- highlightScope,
98
97
  gradientUsed
99
98
  }) => {
100
99
  return /*#__PURE__*/_jsx(LineElement, {
@@ -102,7 +101,6 @@ function LinePlot(props) {
102
101
  d: d,
103
102
  color: color,
104
103
  gradientId: gradientUsed && getGradientId(...gradientUsed),
105
- highlightScope: highlightScope,
106
104
  skipAnimation: skipAnimation,
107
105
  slots: slots,
108
106
  slotProps: slotProps,
@@ -117,7 +115,7 @@ function LinePlot(props) {
117
115
  process.env.NODE_ENV !== "production" ? LinePlot.propTypes = {
118
116
  // ----------------------------- Warning --------------------------------
119
117
  // | These PropTypes are generated from the TypeScript type definitions |
120
- // | To update them edit the TypeScript types and run "yarn proptypes" |
118
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
121
119
  // ----------------------------------------------------------------------
122
120
  /**
123
121
  * Callback fired when a line item is clicked.
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["x", "y", "id", "classes", "color", "shape", "dataIndex", "highlightScope", "onClick", "skipAnimation"];
3
+ const _excluded = ["x", "y", "id", "classes", "color", "shape", "dataIndex", "onClick", "skipAnimation"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import composeClasses from '@mui/utils/composeClasses';
@@ -11,7 +11,8 @@ import { symbol as d3Symbol, symbolsFill as d3SymbolsFill } from 'd3-shape';
11
11
  import { animated, to, useSpring } from '@react-spring/web';
12
12
  import { getSymbol } from '../internals/utils';
13
13
  import { InteractionContext } from '../context/InteractionProvider';
14
- import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
14
+ import { useInteractionItemProps } from '../hooks/useInteractionItemProps';
15
+ import { useItemHighlighted } from '../context';
15
16
  import { jsx as _jsx } from "react/jsx-runtime";
16
17
  export function getMarkElementUtilityClass(slot) {
17
18
  return generateUtilityClass('MuiMarkElement', slot);
@@ -41,21 +42,6 @@ const MarkElementPath = styled(animated.path, {
41
42
  stroke: ownerState.color,
42
43
  strokeWidth: 2
43
44
  }));
44
- MarkElementPath.propTypes = {
45
- // ----------------------------- Warning --------------------------------
46
- // | These PropTypes are generated from the TypeScript type definitions |
47
- // | To update them edit the TypeScript types and run "yarn proptypes" |
48
- // ----------------------------------------------------------------------
49
- as: PropTypes.elementType,
50
- ownerState: PropTypes.shape({
51
- classes: PropTypes.object,
52
- color: PropTypes.string.isRequired,
53
- id: PropTypes.string.isRequired,
54
- isFaded: PropTypes.bool.isRequired,
55
- isHighlighted: PropTypes.bool.isRequired
56
- }).isRequired,
57
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
58
- };
59
45
  /**
60
46
  * Demos:
61
47
  *
@@ -75,24 +61,20 @@ function MarkElement(props) {
75
61
  color,
76
62
  shape,
77
63
  dataIndex,
78
- highlightScope,
79
64
  onClick,
80
65
  skipAnimation
81
66
  } = props,
82
67
  other = _objectWithoutPropertiesLoose(props, _excluded);
83
- const getInteractionItemProps = useInteractionItemProps(highlightScope);
68
+ const getInteractionItemProps = useInteractionItemProps();
69
+ const {
70
+ isFaded,
71
+ isHighlighted
72
+ } = useItemHighlighted({
73
+ seriesId: id
74
+ });
84
75
  const {
85
- item,
86
76
  axis
87
77
  } = React.useContext(InteractionContext);
88
- const isHighlighted = axis.x?.index === dataIndex || getIsHighlighted(item, {
89
- type: 'line',
90
- seriesId: id
91
- }, highlightScope);
92
- const isFaded = !isHighlighted && getIsFaded(item, {
93
- type: 'line',
94
- seriesId: id
95
- }, highlightScope);
96
78
  const position = useSpring({
97
79
  x,
98
80
  y,
@@ -101,7 +83,7 @@ function MarkElement(props) {
101
83
  const ownerState = {
102
84
  id,
103
85
  classes: innerClasses,
104
- isHighlighted,
86
+ isHighlighted: axis.x?.index === dataIndex || isHighlighted,
105
87
  isFaded,
106
88
  color
107
89
  };
@@ -125,17 +107,13 @@ function MarkElement(props) {
125
107
  process.env.NODE_ENV !== "production" ? MarkElement.propTypes = {
126
108
  // ----------------------------- Warning --------------------------------
127
109
  // | These PropTypes are generated from the TypeScript type definitions |
128
- // | To update them edit the TypeScript types and run "yarn proptypes" |
110
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
129
111
  // ----------------------------------------------------------------------
130
112
  classes: PropTypes.object,
131
113
  /**
132
114
  * The index to the element in the series' data array.
133
115
  */
134
116
  dataIndex: PropTypes.number.isRequired,
135
- highlightScope: PropTypes.shape({
136
- faded: PropTypes.oneOf(['global', 'none', 'series']),
137
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
138
- }),
139
117
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
140
118
  /**
141
119
  * The shape of the marker.
@@ -139,7 +139,6 @@ function MarkPlot(props) {
139
139
  x: x,
140
140
  y: y // Don't know why TS doesn't get from the filter that y can't be null
141
141
  ,
142
- highlightScope: series[seriesId].highlightScope,
143
142
  skipAnimation: skipAnimation,
144
143
  onClick: onItemClick && (event => onItemClick(event, {
145
144
  type: 'line',
@@ -156,7 +155,7 @@ function MarkPlot(props) {
156
155
  process.env.NODE_ENV !== "production" ? MarkPlot.propTypes = {
157
156
  // ----------------------------- Warning --------------------------------
158
157
  // | These PropTypes are generated from the TypeScript type definitions |
159
- // | To update them edit the TypeScript types and run "yarn proptypes" |
158
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
160
159
  // ----------------------------------------------------------------------
161
160
  /**
162
161
  * Callback fired when a line mark item is clicked.
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "highlightScope", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle"];
3
+ const _excluded = ["classes", "color", "cornerRadius", "dataIndex", "endAngle", "id", "innerRadius", "isFaded", "isHighlighted", "onClick", "outerRadius", "paddingAngle", "startAngle", "highlightScope"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { arc as d3Arc } from 'd3-shape';
@@ -45,7 +45,6 @@ function PieArc(props) {
45
45
  cornerRadius,
46
46
  dataIndex,
47
47
  endAngle,
48
- highlightScope,
49
48
  id,
50
49
  innerRadius,
51
50
  isFaded,
@@ -65,7 +64,7 @@ function PieArc(props) {
65
64
  isHighlighted
66
65
  };
67
66
  const classes = useUtilityClasses(ownerState);
68
- const getInteractionItemProps = useInteractionItemProps(highlightScope);
67
+ const getInteractionItemProps = useInteractionItemProps();
69
68
  return /*#__PURE__*/_jsx(PieArcRoot, _extends({
70
69
  d: to([startAngle, endAngle, paddingAngle, innerRadius, outerRadius, cornerRadius], (sA, eA, pA, iR, oR, cR) => d3Arc().cornerRadius(cR)({
71
70
  padAngle: pA,
@@ -87,12 +86,17 @@ function PieArc(props) {
87
86
  process.env.NODE_ENV !== "production" ? PieArc.propTypes = {
88
87
  // ----------------------------- Warning --------------------------------
89
88
  // | These PropTypes are generated from the TypeScript type definitions |
90
- // | To update them edit the TypeScript types and run "yarn proptypes" |
89
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
91
90
  // ----------------------------------------------------------------------
92
91
  classes: PropTypes.object,
93
92
  dataIndex: PropTypes.number.isRequired,
93
+ /**
94
+ * @deprecated Use the `isFaded` or `isHighlighted` props instead.
95
+ */
94
96
  highlightScope: PropTypes.shape({
97
+ fade: PropTypes.oneOf(['global', 'none', 'series']),
95
98
  faded: PropTypes.oneOf(['global', 'none', 'series']),
99
+ highlight: PropTypes.oneOf(['item', 'none', 'series']),
96
100
  highlighted: PropTypes.oneOf(['item', 'none', 'series'])
97
101
  }),
98
102
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
@@ -95,7 +95,7 @@ function PieArcLabel(props) {
95
95
  process.env.NODE_ENV !== "production" ? PieArcLabel.propTypes = {
96
96
  // ----------------------------- Warning --------------------------------
97
97
  // | These PropTypes are generated from the TypeScript type definitions |
98
- // | To update them edit the TypeScript types and run "yarn proptypes" |
98
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
99
99
  // ----------------------------------------------------------------------
100
100
  classes: PropTypes.object,
101
101
  color: PropTypes.string.isRequired,
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["arcLabel", "arcLabelMinAngle", "arcLabelRadius", "cornerRadius", "data", "faded", "highlighted", "highlightScope", "id", "innerRadius", "outerRadius", "paddingAngle", "skipAnimation", "slotProps", "slots"],
3
+ const _excluded = ["arcLabel", "arcLabelMinAngle", "arcLabelRadius", "cornerRadius", "data", "faded", "highlighted", "id", "innerRadius", "outerRadius", "paddingAngle", "skipAnimation", "slotProps", "slots"],
4
4
  _excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "arcLabelRadius", "cornerRadius"];
5
5
  import * as React from 'react';
6
6
  import PropTypes from 'prop-types';
@@ -43,7 +43,6 @@ function PieArcLabelPlot(props) {
43
43
  additionalRadius: -5
44
44
  },
45
45
  highlighted,
46
- highlightScope,
47
46
  id,
48
47
  innerRadius,
49
48
  outerRadius,
@@ -60,7 +59,6 @@ function PieArcLabelPlot(props) {
60
59
  cornerRadius,
61
60
  paddingAngle,
62
61
  id,
63
- highlightScope,
64
62
  highlighted,
65
63
  faded,
66
64
  data
@@ -105,7 +103,7 @@ function PieArcLabelPlot(props) {
105
103
  process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
106
104
  // ----------------------------- Warning --------------------------------
107
105
  // | These PropTypes are generated from the TypeScript type definitions |
108
- // | To update them edit the TypeScript types and run "yarn proptypes" |
106
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
109
107
  // ----------------------------------------------------------------------
110
108
  /**
111
109
  * The label displayed into the arc.
@@ -162,10 +160,6 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
162
160
  outerRadius: PropTypes.number,
163
161
  paddingAngle: PropTypes.number
164
162
  }),
165
- highlightScope: PropTypes.shape({
166
- faded: PropTypes.oneOf(['global', 'none', 'series']),
167
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
168
- }),
169
163
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
170
164
  /**
171
165
  * The radius between circle center and the beginning of the arc.
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "onItemClick", "skipAnimation"],
3
+ const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlighted", "faded", "data", "onItemClick", "skipAnimation"],
4
4
  _excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "arcLabelRadius", "outerRadius", "cornerRadius"];
5
5
  import * as React from 'react';
6
6
  import PropTypes from 'prop-types';
@@ -8,6 +8,7 @@ import { useTransition } from '@react-spring/web';
8
8
  import { PieArc } from './PieArc';
9
9
  import { defaultTransitionConfig } from './dataTransform/transition';
10
10
  import { useTransformData } from './dataTransform/useTransformData';
11
+ import { useHighlighted } from '../context';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  function PieArcPlot(props) {
13
14
  const {
@@ -18,7 +19,6 @@ function PieArcPlot(props) {
18
19
  cornerRadius = 0,
19
20
  paddingAngle = 0,
20
21
  id,
21
- highlightScope,
22
22
  highlighted,
23
23
  faded = {
24
24
  additionalRadius: -5
@@ -34,7 +34,6 @@ function PieArcPlot(props) {
34
34
  cornerRadius,
35
35
  paddingAngle,
36
36
  id,
37
- highlightScope,
38
37
  highlighted,
39
38
  faded,
40
39
  data
@@ -42,6 +41,9 @@ function PieArcPlot(props) {
42
41
  const transition = useTransition(transformedData, _extends({}, defaultTransitionConfig, {
43
42
  immediate: skipAnimation
44
43
  }));
44
+ const {
45
+ highlightScope
46
+ } = useHighlighted();
45
47
  if (data.length === 0) {
46
48
  return null;
47
49
  }
@@ -85,7 +87,7 @@ function PieArcPlot(props) {
85
87
  process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
86
88
  // ----------------------------- Warning --------------------------------
87
89
  // | These PropTypes are generated from the TypeScript type definitions |
88
- // | To update them edit the TypeScript types and run "yarn proptypes" |
90
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
89
91
  // ----------------------------------------------------------------------
90
92
  /**
91
93
  * The radius between circle center and the arc label in px.
@@ -133,10 +135,6 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
133
135
  outerRadius: PropTypes.number,
134
136
  paddingAngle: PropTypes.number
135
137
  }),
136
- highlightScope: PropTypes.shape({
137
- faded: PropTypes.oneOf(['global', 'none', 'series']),
138
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
139
- }),
140
138
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
141
139
  /**
142
140
  * The radius between circle center and the beginning of the arc.
@@ -61,7 +61,9 @@ function PieChart(props) {
61
61
  slots,
62
62
  slotProps,
63
63
  onItemClick,
64
- loading
64
+ loading,
65
+ highlightedItem,
66
+ onHighlightChange
65
67
  } = props;
66
68
  const isRTL = useIsRTL();
67
69
  const margin = _extends({}, isRTL ? defaultRTLMargin : defaultMargin, marginProps);
@@ -88,6 +90,8 @@ function PieChart(props) {
88
90
  colors: colors,
89
91
  sx: sx,
90
92
  disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
93
+ highlightedItem: highlightedItem,
94
+ onHighlightChange: onHighlightChange,
91
95
  children: [/*#__PURE__*/_jsx(ChartsAxis, {
92
96
  topAxis: topAxis,
93
97
  leftAxis: leftAxis,
@@ -116,7 +120,7 @@ function PieChart(props) {
116
120
  process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
117
121
  // ----------------------------- Warning --------------------------------
118
122
  // | These PropTypes are generated from the TypeScript type definitions |
119
- // | To update them edit the TypeScript types and run "yarn proptypes" |
123
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
120
124
  // ----------------------------------------------------------------------
121
125
  /**
122
126
  * The configuration of axes highlight.
@@ -155,6 +159,13 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
155
159
  * The height of the chart in px. If not defined, it takes the height of the parent element.
156
160
  */
157
161
  height: PropTypes.number,
162
+ /**
163
+ * The item currently highlighted. Turns highlighting into a controlled prop.
164
+ */
165
+ highlightedItem: PropTypes.shape({
166
+ dataIndex: PropTypes.number,
167
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
168
+ }),
158
169
  /**
159
170
  * Indicate which axis to display the left of the charts.
160
171
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -194,6 +205,12 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
194
205
  right: PropTypes.number,
195
206
  top: PropTypes.number
196
207
  }),
208
+ /**
209
+ * The callback fired when the highlighted item changes.
210
+ *
211
+ * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
212
+ */
213
+ onHighlightChange: PropTypes.func,
197
214
  /**
198
215
  * Callback fired when a pie arc is clicked.
199
216
  */
@@ -49,8 +49,7 @@ function PiePlot(props) {
49
49
  cx: cxParam,
50
50
  cy: cyParam,
51
51
  highlighted,
52
- faded,
53
- highlightScope
52
+ faded
54
53
  } = series[seriesId];
55
54
  const {
56
55
  cx,
@@ -75,7 +74,6 @@ function PiePlot(props) {
75
74
  id: seriesId,
76
75
  data: data,
77
76
  skipAnimation: skipAnimation,
78
- highlightScope: highlightScope,
79
77
  highlighted: highlighted,
80
78
  faded: faded,
81
79
  onItemClick: onItemClick,
@@ -94,8 +92,7 @@ function PiePlot(props) {
94
92
  arcLabelMinAngle,
95
93
  data,
96
94
  cx: cxParam,
97
- cy: cyParam,
98
- highlightScope
95
+ cy: cyParam
99
96
  } = series[seriesId];
100
97
  const {
101
98
  cx,
@@ -124,7 +121,6 @@ function PiePlot(props) {
124
121
  skipAnimation: skipAnimation,
125
122
  arcLabel: arcLabel,
126
123
  arcLabelMinAngle: arcLabelMinAngle,
127
- highlightScope: highlightScope,
128
124
  slots: slots,
129
125
  slotProps: slotProps
130
126
  })
@@ -135,7 +131,7 @@ function PiePlot(props) {
135
131
  process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
136
132
  // ----------------------------- Warning --------------------------------
137
133
  // | These PropTypes are generated from the TypeScript type definitions |
138
- // | To update them edit the TypeScript types and run "yarn proptypes" |
134
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
139
135
  // ----------------------------------------------------------------------
140
136
  /**
141
137
  * Callback fired when a pie item is clicked.