@mui/x-charts 6.0.0-alpha.9 → 6.18.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 (281) hide show
  1. package/BarChart/BarChart.d.ts +19 -5
  2. package/BarChart/BarChart.js +52 -13
  3. package/BarChart/BarElement.d.ts +1319 -4
  4. package/BarChart/BarElement.js +10 -10
  5. package/BarChart/BarPlot.d.ts +17 -1
  6. package/BarChart/BarPlot.js +152 -66
  7. package/BarChart/formatter.js +2 -3
  8. package/BarChart/legend.js +1 -2
  9. package/CHANGELOG.md +735 -55
  10. package/ChartContainer/index.js +7 -5
  11. package/ChartsAxis/ChartsAxis.d.ts +9 -0
  12. package/ChartsAxis/ChartsAxis.js +28 -2
  13. package/ChartsAxis/axisClasses.d.ts +1 -1
  14. package/ChartsAxis/axisClasses.js +1 -2
  15. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +21 -0
  16. package/ChartsAxisHighlight/ChartsAxisHighlight.js +61 -22
  17. package/ChartsClipPath/ChartsClipPath.d.ts +5 -0
  18. package/ChartsClipPath/ChartsClipPath.js +7 -2
  19. package/ChartsLegend/ChartsLegend.d.ts +44 -24
  20. package/ChartsLegend/ChartsLegend.js +192 -150
  21. package/ChartsLegend/chartsLegendClasses.js +1 -2
  22. package/ChartsLegend/utils.d.ts +1 -6
  23. package/ChartsSurface.d.ts +1 -1
  24. package/ChartsSurface.js +9 -18
  25. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +1 -0
  26. package/ChartsTooltip/ChartsAxisTooltipContent.js +46 -32
  27. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +3 -2
  28. package/ChartsTooltip/ChartsItemTooltipContent.js +18 -9
  29. package/ChartsTooltip/ChartsTooltip.d.ts +32 -0
  30. package/ChartsTooltip/ChartsTooltip.js +62 -18
  31. package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -10
  32. package/ChartsTooltip/ChartsTooltipTable.js +22 -20
  33. package/ChartsTooltip/tooltipClasses.js +1 -2
  34. package/ChartsTooltip/utils.js +2 -2
  35. package/ChartsXAxis/ChartsXAxis.d.ts +9 -0
  36. package/ChartsXAxis/ChartsXAxis.js +161 -40
  37. package/ChartsYAxis/ChartsYAxis.d.ts +9 -0
  38. package/ChartsYAxis/ChartsYAxis.js +86 -33
  39. package/LineChart/AreaElement.d.ts +11 -1
  40. package/LineChart/AreaElement.js +14 -6
  41. package/LineChart/AreaPlot.d.ts +11 -0
  42. package/LineChart/AreaPlot.js +27 -8
  43. package/LineChart/LineChart.d.ts +16 -3
  44. package/LineChart/LineChart.js +48 -13
  45. package/LineChart/LineElement.d.ts +11 -1
  46. package/LineChart/LineElement.js +14 -6
  47. package/LineChart/LineHighlightElement.d.ts +10 -0
  48. package/LineChart/LineHighlightElement.js +13 -4
  49. package/LineChart/LineHighlightPlot.d.ts +10 -0
  50. package/LineChart/LineHighlightPlot.js +14 -3
  51. package/LineChart/LinePlot.d.ts +10 -0
  52. package/LineChart/LinePlot.js +25 -12
  53. package/LineChart/MarkElement.d.ts +10 -0
  54. package/LineChart/MarkElement.js +14 -5
  55. package/LineChart/MarkPlot.d.ts +10 -0
  56. package/LineChart/MarkPlot.js +40 -9
  57. package/LineChart/formatter.js +5 -5
  58. package/LineChart/legend.js +1 -2
  59. package/PieChart/PieArc.d.ts +11 -13
  60. package/PieChart/PieArc.js +28 -60
  61. package/PieChart/PieArcLabel.d.ts +8 -9
  62. package/PieChart/PieArcLabel.js +46 -38
  63. package/PieChart/PieArcLabelPlot.d.ts +28 -0
  64. package/PieChart/PieArcLabelPlot.js +99 -0
  65. package/PieChart/PieArcPlot.d.ts +35 -0
  66. package/PieChart/PieArcPlot.js +92 -0
  67. package/PieChart/PieChart.d.ts +19 -5
  68. package/PieChart/PieChart.js +61 -14
  69. package/PieChart/PiePlot.d.ts +15 -9
  70. package/PieChart/PiePlot.js +77 -55
  71. package/PieChart/dataTransform/transition.d.ts +4 -0
  72. package/PieChart/dataTransform/transition.js +136 -0
  73. package/PieChart/dataTransform/useTransformData.d.ts +15 -0
  74. package/PieChart/dataTransform/useTransformData.js +67 -0
  75. package/PieChart/formatter.js +1 -2
  76. package/PieChart/legend.js +1 -2
  77. package/README.md +8 -14
  78. package/ResponsiveChartContainer/index.js +7 -8
  79. package/ScatterChart/Scatter.d.ts +10 -0
  80. package/ScatterChart/Scatter.js +12 -2
  81. package/ScatterChart/ScatterChart.d.ts +16 -3
  82. package/ScatterChart/ScatterChart.js +43 -12
  83. package/ScatterChart/ScatterPlot.d.ts +10 -0
  84. package/ScatterChart/ScatterPlot.js +12 -2
  85. package/ScatterChart/formatter.js +1 -2
  86. package/ScatterChart/legend.js +1 -2
  87. package/SparkLineChart/SparkLineChart.d.ts +12 -3
  88. package/SparkLineChart/SparkLineChart.js +28 -7
  89. package/colorPalettes/colorPalettes.js +6 -12
  90. package/constants.js +5 -8
  91. package/context/CartesianContextProvider.d.ts +5 -0
  92. package/context/CartesianContextProvider.js +31 -16
  93. package/context/DrawingProvider.d.ts +7 -0
  94. package/context/DrawingProvider.js +12 -6
  95. package/context/HighlightProvider.js +3 -4
  96. package/context/InteractionProvider.js +3 -4
  97. package/context/SeriesContextProvider.js +3 -4
  98. package/esm/BarChart/BarChart.js +49 -9
  99. package/esm/BarChart/BarElement.js +7 -4
  100. package/esm/BarChart/BarPlot.js +152 -67
  101. package/esm/BarChart/formatter.js +1 -1
  102. package/esm/ChartContainer/index.js +3 -0
  103. package/esm/ChartsAxis/ChartsAxis.js +26 -0
  104. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  105. package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
  106. package/esm/ChartsLegend/ChartsLegend.js +188 -142
  107. package/esm/ChartsSurface.js +4 -12
  108. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  109. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  110. package/esm/ChartsTooltip/ChartsTooltip.js +59 -14
  111. package/esm/ChartsTooltip/ChartsTooltipTable.js +17 -10
  112. package/esm/ChartsXAxis/ChartsXAxis.js +158 -37
  113. package/esm/ChartsYAxis/ChartsYAxis.js +83 -30
  114. package/esm/LineChart/AreaElement.js +10 -0
  115. package/esm/LineChart/AreaPlot.js +26 -6
  116. package/esm/LineChart/LineChart.js +45 -9
  117. package/esm/LineChart/LineElement.js +10 -0
  118. package/esm/LineChart/LineHighlightElement.js +10 -0
  119. package/esm/LineChart/LineHighlightPlot.js +12 -1
  120. package/esm/LineChart/LinePlot.js +25 -14
  121. package/esm/LineChart/MarkElement.js +11 -1
  122. package/esm/LineChart/MarkPlot.js +38 -7
  123. package/esm/LineChart/formatter.js +7 -3
  124. package/esm/PieChart/PieArc.js +26 -58
  125. package/esm/PieChart/PieArcLabel.js +43 -34
  126. package/esm/PieChart/PieArcLabelPlot.js +92 -0
  127. package/esm/PieChart/PieArcPlot.js +84 -0
  128. package/esm/PieChart/PieChart.js +59 -12
  129. package/esm/PieChart/PiePlot.js +76 -57
  130. package/esm/PieChart/dataTransform/transition.js +130 -0
  131. package/esm/PieChart/dataTransform/useTransformData.js +59 -0
  132. package/esm/ResponsiveChartContainer/index.js +3 -3
  133. package/esm/ScatterChart/Scatter.js +10 -0
  134. package/esm/ScatterChart/ScatterChart.js +40 -8
  135. package/esm/ScatterChart/ScatterPlot.js +10 -0
  136. package/esm/SparkLineChart/SparkLineChart.js +25 -3
  137. package/esm/constants.js +1 -1
  138. package/esm/context/CartesianContextProvider.js +30 -14
  139. package/esm/context/DrawingProvider.js +8 -0
  140. package/esm/hooks/useChartDimensions.js +2 -0
  141. package/esm/hooks/useMounted.js +16 -0
  142. package/esm/hooks/useReducedMotion.js +27 -0
  143. package/esm/hooks/useTicks.js +15 -9
  144. package/esm/internals/components/AxisSharedComponents.js +15 -70
  145. package/esm/internals/components/ChartsText.js +77 -0
  146. package/esm/internals/domUtils.js +113 -0
  147. package/esm/internals/geometry.js +36 -0
  148. package/hooks/useAxisEvents.js +2 -2
  149. package/hooks/useChartDimensions.d.ts +2 -0
  150. package/hooks/useChartDimensions.js +5 -4
  151. package/hooks/useDrawingArea.js +2 -2
  152. package/hooks/useInteractionItemProps.js +2 -2
  153. package/hooks/useMounted.d.ts +1 -0
  154. package/hooks/useMounted.js +25 -0
  155. package/hooks/useReducedMotion.d.ts +8 -0
  156. package/hooks/useReducedMotion.js +33 -0
  157. package/hooks/useScale.d.ts +2 -2
  158. package/hooks/useScale.js +2 -2
  159. package/hooks/useTicks.d.ts +19 -11
  160. package/hooks/useTicks.js +19 -14
  161. package/index.js +1 -1
  162. package/internals/components/AxisSharedComponents.d.ts +0 -4
  163. package/internals/components/AxisSharedComponents.js +18 -78
  164. package/internals/components/ChartsText.d.ts +35 -0
  165. package/internals/components/ChartsText.js +87 -0
  166. package/internals/defaultizeColor.d.ts +7 -2
  167. package/internals/defaultizeValueFormatter.js +1 -2
  168. package/internals/domUtils.d.ts +13 -0
  169. package/internals/domUtils.js +122 -0
  170. package/internals/geometry.d.ts +9 -0
  171. package/internals/geometry.js +42 -0
  172. package/internals/stackSeries.js +2 -4
  173. package/legacy/BarChart/BarChart.js +49 -9
  174. package/legacy/BarChart/BarElement.js +6 -3
  175. package/legacy/BarChart/BarPlot.js +151 -63
  176. package/legacy/BarChart/formatter.js +1 -1
  177. package/legacy/ChartContainer/index.js +3 -0
  178. package/legacy/ChartsAxis/ChartsAxis.js +26 -0
  179. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
  180. package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
  181. package/legacy/ChartsLegend/ChartsLegend.js +203 -140
  182. package/legacy/ChartsSurface.js +3 -12
  183. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +22 -10
  184. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  185. package/legacy/ChartsTooltip/ChartsTooltip.js +62 -14
  186. package/legacy/ChartsTooltip/ChartsTooltipTable.js +34 -26
  187. package/legacy/ChartsXAxis/ChartsXAxis.js +162 -39
  188. package/legacy/ChartsYAxis/ChartsYAxis.js +83 -30
  189. package/legacy/LineChart/AreaElement.js +10 -0
  190. package/legacy/LineChart/AreaPlot.js +31 -7
  191. package/legacy/LineChart/LineChart.js +45 -9
  192. package/legacy/LineChart/LineElement.js +10 -0
  193. package/legacy/LineChart/LineHighlightElement.js +10 -0
  194. package/legacy/LineChart/LineHighlightPlot.js +12 -1
  195. package/legacy/LineChart/LinePlot.js +29 -12
  196. package/legacy/LineChart/MarkElement.js +11 -1
  197. package/legacy/LineChart/MarkPlot.js +37 -7
  198. package/legacy/LineChart/formatter.js +7 -3
  199. package/legacy/PieChart/PieArc.js +30 -62
  200. package/legacy/PieChart/PieArcLabel.js +48 -34
  201. package/legacy/PieChart/PieArcLabelPlot.js +93 -0
  202. package/legacy/PieChart/PieArcPlot.js +84 -0
  203. package/legacy/PieChart/PieChart.js +59 -12
  204. package/legacy/PieChart/PiePlot.js +76 -59
  205. package/legacy/PieChart/dataTransform/transition.js +142 -0
  206. package/legacy/PieChart/dataTransform/useTransformData.js +60 -0
  207. package/legacy/ResponsiveChartContainer/index.js +3 -3
  208. package/legacy/ScatterChart/Scatter.js +10 -0
  209. package/legacy/ScatterChart/ScatterChart.js +40 -8
  210. package/legacy/ScatterChart/ScatterPlot.js +10 -0
  211. package/legacy/SparkLineChart/SparkLineChart.js +25 -3
  212. package/legacy/constants.js +1 -1
  213. package/legacy/context/CartesianContextProvider.js +30 -14
  214. package/legacy/context/DrawingProvider.js +8 -0
  215. package/legacy/hooks/useChartDimensions.js +2 -0
  216. package/legacy/hooks/useMounted.js +21 -0
  217. package/legacy/hooks/useReducedMotion.js +27 -0
  218. package/legacy/hooks/useTicks.js +16 -9
  219. package/legacy/index.js +1 -1
  220. package/legacy/internals/components/AxisSharedComponents.js +11 -65
  221. package/legacy/internals/components/ChartsText.js +79 -0
  222. package/legacy/internals/domUtils.js +121 -0
  223. package/legacy/internals/geometry.js +37 -0
  224. package/models/axis.d.ts +27 -9
  225. package/models/layout.d.ts +7 -6
  226. package/models/seriesType/line.d.ts +8 -3
  227. package/models/seriesType/pie.d.ts +5 -1
  228. package/modern/BarChart/BarChart.js +49 -9
  229. package/modern/BarChart/BarElement.js +7 -4
  230. package/modern/BarChart/BarPlot.js +149 -65
  231. package/modern/BarChart/formatter.js +1 -1
  232. package/modern/ChartContainer/index.js +3 -0
  233. package/modern/ChartsAxis/ChartsAxis.js +26 -0
  234. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  235. package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
  236. package/modern/ChartsLegend/ChartsLegend.js +188 -142
  237. package/modern/ChartsSurface.js +4 -12
  238. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  239. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  240. package/modern/ChartsTooltip/ChartsTooltip.js +58 -14
  241. package/modern/ChartsTooltip/ChartsTooltipTable.js +17 -10
  242. package/modern/ChartsXAxis/ChartsXAxis.js +158 -37
  243. package/modern/ChartsYAxis/ChartsYAxis.js +83 -30
  244. package/modern/LineChart/AreaElement.js +10 -0
  245. package/modern/LineChart/AreaPlot.js +25 -6
  246. package/modern/LineChart/LineChart.js +45 -9
  247. package/modern/LineChart/LineElement.js +10 -0
  248. package/modern/LineChart/LineHighlightElement.js +10 -0
  249. package/modern/LineChart/LineHighlightPlot.js +12 -1
  250. package/modern/LineChart/LinePlot.js +23 -10
  251. package/modern/LineChart/MarkElement.js +11 -1
  252. package/modern/LineChart/MarkPlot.js +38 -7
  253. package/modern/LineChart/formatter.js +4 -3
  254. package/modern/PieChart/PieArc.js +26 -57
  255. package/modern/PieChart/PieArcLabel.js +43 -34
  256. package/modern/PieChart/PieArcLabelPlot.js +90 -0
  257. package/modern/PieChart/PieArcPlot.js +83 -0
  258. package/modern/PieChart/PieChart.js +59 -12
  259. package/modern/PieChart/PiePlot.js +76 -55
  260. package/modern/PieChart/dataTransform/transition.js +130 -0
  261. package/modern/PieChart/dataTransform/useTransformData.js +58 -0
  262. package/modern/ResponsiveChartContainer/index.js +3 -3
  263. package/modern/ScatterChart/Scatter.js +10 -0
  264. package/modern/ScatterChart/ScatterChart.js +40 -8
  265. package/modern/ScatterChart/ScatterPlot.js +10 -0
  266. package/modern/SparkLineChart/SparkLineChart.js +25 -3
  267. package/modern/constants.js +1 -1
  268. package/modern/context/CartesianContextProvider.js +29 -13
  269. package/modern/context/DrawingProvider.js +8 -0
  270. package/modern/hooks/useChartDimensions.js +2 -0
  271. package/modern/hooks/useMounted.js +16 -0
  272. package/modern/hooks/useReducedMotion.js +27 -0
  273. package/modern/hooks/useTicks.js +15 -9
  274. package/modern/index.js +1 -1
  275. package/modern/internals/components/AxisSharedComponents.js +15 -70
  276. package/modern/internals/components/ChartsText.js +77 -0
  277. package/modern/internals/domUtils.js +113 -0
  278. package/modern/internals/geometry.js +36 -0
  279. package/package.json +9 -6
  280. package/themeAugmentation/components.d.ts +1 -0
  281. package/themeAugmentation/overrides.d.ts +2 -0
@@ -0,0 +1,35 @@
1
+ import * as React from 'react';
2
+ import { PieArcProps } from './PieArc';
3
+ import { DefaultizedPieSeriesType, DefaultizedPieValueType, PieItemIdentifier } from '../models/seriesType/pie';
4
+ import { DefaultizedProps } from '../models/helpers';
5
+ export interface PieArcPlotSlotsComponent {
6
+ pieArc?: React.JSXElementConstructor<PieArcProps>;
7
+ }
8
+ export interface PieArcPlotSlotComponentProps {
9
+ pieArc?: Partial<PieArcProps>;
10
+ }
11
+ export interface PieArcPlotProps extends DefaultizedProps<Pick<DefaultizedPieSeriesType, 'data' | 'faded' | 'highlighted' | 'innerRadius' | 'outerRadius' | 'cornerRadius' | 'paddingAngle' | 'id' | 'highlightScope'>, 'outerRadius'> {
12
+ /**
13
+ * Overridable component slots.
14
+ * @default {}
15
+ */
16
+ slots?: PieArcPlotSlotsComponent;
17
+ /**
18
+ * The props used for each component slot.
19
+ * @default {}
20
+ */
21
+ slotProps?: PieArcPlotSlotComponentProps;
22
+ /**
23
+ * Callback fired when a pie item is clicked.
24
+ * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
25
+ * @param {PieItemIdentifier} pieItemIdentifier The pie item identifier.
26
+ * @param {DefaultizedPieValueType} item The pie item.
27
+ */
28
+ onClick?: (event: React.MouseEvent<SVGPathElement, MouseEvent>, pieItemIdentifier: PieItemIdentifier, item: DefaultizedPieValueType) => void;
29
+ /**
30
+ * If `true`, animations are skiped.
31
+ * @default false
32
+ */
33
+ skipAnimation?: boolean;
34
+ }
35
+ export declare function PieArcPlot(props: PieArcPlotProps): React.JSX.Element | null;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PieArcPlot = PieArcPlot;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _web = require("@react-spring/web");
12
+ var _PieArc = _interopRequireDefault(require("./PieArc"));
13
+ var _transition = require("./dataTransform/transition");
14
+ var _useTransformData = require("./dataTransform/useTransformData");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "onClick", "skipAnimation"],
17
+ _excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "cornerRadius"];
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function PieArcPlot(props) {
21
+ const {
22
+ slots,
23
+ slotProps,
24
+ innerRadius = 0,
25
+ outerRadius,
26
+ cornerRadius = 0,
27
+ paddingAngle = 0,
28
+ id,
29
+ highlightScope,
30
+ highlighted,
31
+ faded = {
32
+ additionalRadius: -5
33
+ },
34
+ data,
35
+ onClick,
36
+ skipAnimation
37
+ } = props,
38
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
39
+ const transformedData = (0, _useTransformData.useTransformData)({
40
+ innerRadius,
41
+ outerRadius,
42
+ cornerRadius,
43
+ paddingAngle,
44
+ id,
45
+ highlightScope,
46
+ highlighted,
47
+ faded,
48
+ data
49
+ });
50
+ const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, _transition.defaultTransitionConfig, {
51
+ immediate: skipAnimation
52
+ }));
53
+ if (data.length === 0) {
54
+ return null;
55
+ }
56
+ const Arc = slots?.pieArc ?? _PieArc.default;
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
58
+ children: transition((_ref, item, _, index) => {
59
+ let {
60
+ startAngle,
61
+ endAngle,
62
+ paddingAngle: pA,
63
+ innerRadius: iR,
64
+ outerRadius: oR,
65
+ cornerRadius: cR
66
+ } = _ref,
67
+ style = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
68
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Arc, (0, _extends2.default)({
69
+ startAngle: startAngle,
70
+ endAngle: endAngle,
71
+ paddingAngle: pA,
72
+ innerRadius: iR,
73
+ outerRadius: oR,
74
+ cornerRadius: cR,
75
+ style: style,
76
+ id: id,
77
+ color: item.color,
78
+ dataIndex: index,
79
+ highlightScope: highlightScope,
80
+ isFaded: item.isFaded,
81
+ isHighlighted: item.isHighlighted,
82
+ onClick: onClick && (event => {
83
+ onClick(event, {
84
+ type: 'pie',
85
+ seriesId: id,
86
+ dataIndex: index
87
+ }, item);
88
+ })
89
+ }, slotProps?.pieArc));
90
+ })
91
+ }));
92
+ }
@@ -3,21 +3,25 @@ import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
3
3
  import { ChartsAxisProps } from '../ChartsAxis/ChartsAxis';
4
4
  import { PieSeriesType } from '../models/seriesType';
5
5
  import { MakeOptional } from '../models/helpers';
6
- import { ChartsTooltipProps } from '../ChartsTooltip';
6
+ import { ChartsTooltipProps, ChartsTooltipSlotComponentProps, ChartsTooltipSlotsComponent } from '../ChartsTooltip';
7
7
  import { ChartsLegendProps, ChartsLegendSlotComponentProps, ChartsLegendSlotsComponent } from '../ChartsLegend';
8
8
  import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
9
- import { PiePlotSlotComponentProps, PiePlotSlotsComponent } from './PiePlot';
9
+ import { PiePlotProps, PiePlotSlotComponentProps, PiePlotSlotsComponent } from './PiePlot';
10
10
  import { PieValueType } from '../models/seriesType/pie';
11
11
  import { ChartsAxisSlotsComponent, ChartsAxisSlotComponentProps } from '../models/axis';
12
- export interface PieChartSlotsComponent extends ChartsAxisSlotsComponent, PiePlotSlotsComponent, ChartsLegendSlotsComponent {
12
+ export interface PieChartSlotsComponent extends ChartsAxisSlotsComponent, PiePlotSlotsComponent, ChartsLegendSlotsComponent, ChartsTooltipSlotsComponent {
13
13
  }
14
- export interface PieChartSlotComponentProps extends ChartsAxisSlotComponentProps, PiePlotSlotComponentProps, ChartsLegendSlotComponentProps {
14
+ export interface PieChartSlotComponentProps extends ChartsAxisSlotComponentProps, PiePlotSlotComponentProps, ChartsLegendSlotComponentProps, ChartsTooltipSlotComponentProps {
15
15
  }
16
- export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'> {
16
+ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Pick<PiePlotProps, 'skipAnimation'> {
17
17
  series: MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>[];
18
18
  tooltip?: ChartsTooltipProps;
19
19
  axisHighlight?: ChartsAxisHighlightProps;
20
+ /**
21
+ * @deprecated Consider using `slotProps.legend` instead.
22
+ */
20
23
  legend?: ChartsLegendProps;
24
+ onClick?: PiePlotProps['onClick'];
21
25
  slots?: PieChartSlotsComponent;
22
26
  /**
23
27
  * The props used for each component slot.
@@ -25,6 +29,16 @@ export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'seri
25
29
  */
26
30
  slotProps?: PieChartSlotComponentProps;
27
31
  }
32
+ /**
33
+ * Demos:
34
+ *
35
+ * - [Pie](https://mui.com/x/react-charts/pie/)
36
+ * - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
37
+ *
38
+ * API:
39
+ *
40
+ * - [PieChart API](https://mui.com/x/api/charts/pie-chart/)
41
+ */
28
42
  declare function PieChart(props: PieChartProps): React.JSX.Element;
29
43
  declare namespace PieChart {
30
44
  var propTypes: any;
@@ -16,14 +16,25 @@ var _ChartsLegend = require("../ChartsLegend");
16
16
  var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
17
17
  var _PiePlot = require("./PiePlot");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
21
  const defaultMargin = {
22
22
  top: 5,
23
23
  bottom: 5,
24
24
  left: 5,
25
25
  right: 100
26
26
  };
27
+
28
+ /**
29
+ * Demos:
30
+ *
31
+ * - [Pie](https://mui.com/x/react-charts/pie/)
32
+ * - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
33
+ *
34
+ * API:
35
+ *
36
+ * - [PieChart API](https://mui.com/x/api/charts/pie-chart/)
37
+ */
27
38
  function PieChart(props) {
28
39
  const {
29
40
  xAxis,
@@ -41,6 +52,7 @@ function PieChart(props) {
41
52
  x: 'none',
42
53
  y: 'none'
43
54
  },
55
+ skipAnimation,
44
56
  legend = {
45
57
  direction: 'column',
46
58
  position: {
@@ -54,7 +66,8 @@ function PieChart(props) {
54
66
  bottomAxis = null,
55
67
  children,
56
68
  slots,
57
- slotProps
69
+ slotProps,
70
+ onClick
58
71
  } = props;
59
72
  const margin = (0, _extends2.default)({}, defaultMargin, marginProps);
60
73
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
@@ -82,7 +95,9 @@ function PieChart(props) {
82
95
  slotProps: slotProps
83
96
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PiePlot.PiePlot, {
84
97
  slots: slots,
85
- slotProps: slotProps
98
+ slotProps: slotProps,
99
+ onClick: onClick,
100
+ skipAnimation: skipAnimation
86
101
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
87
102
  slots: slots,
88
103
  slotProps: slotProps
@@ -111,11 +126,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
111
126
  fill: _propTypes.default.string,
112
127
  label: _propTypes.default.string,
113
128
  labelFontSize: _propTypes.default.number,
129
+ labelStyle: _propTypes.default.object,
114
130
  position: _propTypes.default.oneOf(['bottom', 'top']),
115
131
  slotProps: _propTypes.default.object,
116
132
  slots: _propTypes.default.object,
117
133
  stroke: _propTypes.default.string,
118
134
  tickFontSize: _propTypes.default.number,
135
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
136
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
137
+ tickLabelStyle: _propTypes.default.object,
119
138
  tickMaxStep: _propTypes.default.number,
120
139
  tickMinStep: _propTypes.default.number,
121
140
  tickNumber: _propTypes.default.number,
@@ -144,33 +163,33 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
144
163
  fill: _propTypes.default.string,
145
164
  label: _propTypes.default.string,
146
165
  labelFontSize: _propTypes.default.number,
166
+ labelStyle: _propTypes.default.object,
147
167
  position: _propTypes.default.oneOf(['left', 'right']),
148
168
  slotProps: _propTypes.default.object,
149
169
  slots: _propTypes.default.object,
150
170
  stroke: _propTypes.default.string,
151
171
  tickFontSize: _propTypes.default.number,
172
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
173
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
174
+ tickLabelStyle: _propTypes.default.object,
152
175
  tickMaxStep: _propTypes.default.number,
153
176
  tickMinStep: _propTypes.default.number,
154
177
  tickNumber: _propTypes.default.number,
155
178
  tickSize: _propTypes.default.number
156
179
  }), _propTypes.default.string]),
180
+ /**
181
+ * @deprecated Consider using `slotProps.legend` instead.
182
+ */
157
183
  legend: _propTypes.default.shape({
158
184
  classes: _propTypes.default.object,
159
185
  direction: _propTypes.default.oneOf(['column', 'row']),
160
186
  hidden: _propTypes.default.bool,
161
- itemWidth: _propTypes.default.number,
162
- markSize: _propTypes.default.number,
163
- offset: _propTypes.default.shape({
164
- x: _propTypes.default.number,
165
- y: _propTypes.default.number
166
- }),
167
187
  position: _propTypes.default.shape({
168
188
  horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
169
189
  vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
170
190
  }),
171
191
  slotProps: _propTypes.default.object,
172
- slots: _propTypes.default.object,
173
- spacing: _propTypes.default.number
192
+ slots: _propTypes.default.object
174
193
  }),
175
194
  margin: _propTypes.default.shape({
176
195
  bottom: _propTypes.default.number,
@@ -178,6 +197,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
178
197
  right: _propTypes.default.number,
179
198
  top: _propTypes.default.number
180
199
  }),
200
+ onClick: _propTypes.default.func,
181
201
  /**
182
202
  * Indicate which axis to display the right of the charts.
183
203
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -191,11 +211,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
191
211
  fill: _propTypes.default.string,
192
212
  label: _propTypes.default.string,
193
213
  labelFontSize: _propTypes.default.number,
214
+ labelStyle: _propTypes.default.object,
194
215
  position: _propTypes.default.oneOf(['left', 'right']),
195
216
  slotProps: _propTypes.default.object,
196
217
  slots: _propTypes.default.object,
197
218
  stroke: _propTypes.default.string,
198
219
  tickFontSize: _propTypes.default.number,
220
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
221
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
222
+ tickLabelStyle: _propTypes.default.object,
199
223
  tickMaxStep: _propTypes.default.number,
200
224
  tickMinStep: _propTypes.default.number,
201
225
  tickNumber: _propTypes.default.number,
@@ -217,15 +241,19 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
217
241
  endAngle: _propTypes.default.number,
218
242
  faded: _propTypes.default.shape({
219
243
  additionalRadius: _propTypes.default.number,
244
+ color: _propTypes.default.string,
220
245
  cornerRadius: _propTypes.default.number,
221
246
  innerRadius: _propTypes.default.number,
222
- outerRadius: _propTypes.default.number
247
+ outerRadius: _propTypes.default.number,
248
+ paddingAngle: _propTypes.default.number
223
249
  }),
224
250
  highlighted: _propTypes.default.shape({
225
251
  additionalRadius: _propTypes.default.number,
252
+ color: _propTypes.default.string,
226
253
  cornerRadius: _propTypes.default.number,
227
254
  innerRadius: _propTypes.default.number,
228
- outerRadius: _propTypes.default.number
255
+ outerRadius: _propTypes.default.number,
256
+ paddingAngle: _propTypes.default.number
229
257
  }),
230
258
  highlightScope: _propTypes.default.shape({
231
259
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
@@ -240,6 +268,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
240
268
  type: _propTypes.default.oneOf(['pie']),
241
269
  valueFormatter: _propTypes.default.func
242
270
  })).isRequired,
271
+ /**
272
+ * If `true`, animations are skiped.
273
+ * @default false
274
+ */
275
+ skipAnimation: _propTypes.default.bool,
243
276
  /**
244
277
  * The props used for each component slot.
245
278
  * @default {}
@@ -252,6 +285,8 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
252
285
  axisContent: _propTypes.default.elementType,
253
286
  classes: _propTypes.default.object,
254
287
  itemContent: _propTypes.default.elementType,
288
+ slotProps: _propTypes.default.object,
289
+ slots: _propTypes.default.object,
255
290
  trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
256
291
  }),
257
292
  /**
@@ -267,11 +302,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
267
302
  fill: _propTypes.default.string,
268
303
  label: _propTypes.default.string,
269
304
  labelFontSize: _propTypes.default.number,
305
+ labelStyle: _propTypes.default.object,
270
306
  position: _propTypes.default.oneOf(['bottom', 'top']),
271
307
  slotProps: _propTypes.default.object,
272
308
  slots: _propTypes.default.object,
273
309
  stroke: _propTypes.default.string,
274
310
  tickFontSize: _propTypes.default.number,
311
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
312
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
313
+ tickLabelStyle: _propTypes.default.object,
275
314
  tickMaxStep: _propTypes.default.number,
276
315
  tickMinStep: _propTypes.default.number,
277
316
  tickNumber: _propTypes.default.number,
@@ -296,6 +335,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
296
335
  id: _propTypes.default.string,
297
336
  label: _propTypes.default.string,
298
337
  labelFontSize: _propTypes.default.number,
338
+ labelStyle: _propTypes.default.object,
299
339
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
300
340
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
301
341
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
@@ -304,6 +344,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
304
344
  slots: _propTypes.default.object,
305
345
  stroke: _propTypes.default.string,
306
346
  tickFontSize: _propTypes.default.number,
347
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
348
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
349
+ tickLabelStyle: _propTypes.default.object,
307
350
  tickMaxStep: _propTypes.default.number,
308
351
  tickMinStep: _propTypes.default.number,
309
352
  tickNumber: _propTypes.default.number,
@@ -322,6 +365,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
322
365
  id: _propTypes.default.string,
323
366
  label: _propTypes.default.string,
324
367
  labelFontSize: _propTypes.default.number,
368
+ labelStyle: _propTypes.default.object,
325
369
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
326
370
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
327
371
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
@@ -330,6 +374,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
330
374
  slots: _propTypes.default.object,
331
375
  stroke: _propTypes.default.string,
332
376
  tickFontSize: _propTypes.default.number,
377
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
378
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
379
+ tickLabelStyle: _propTypes.default.object,
333
380
  tickMaxStep: _propTypes.default.number,
334
381
  tickMinStep: _propTypes.default.number,
335
382
  tickNumber: _propTypes.default.number,
@@ -1,15 +1,11 @@
1
1
  import * as React from 'react';
2
- import { PieArcProps } from './PieArc';
3
- import { PieArcLabelProps } from './PieArcLabel';
4
- export interface PiePlotSlotsComponent {
5
- pieArc?: React.JSXElementConstructor<PieArcProps>;
6
- pieArcLabel?: React.JSXElementConstructor<PieArcLabelProps>;
2
+ import { PieArcPlotProps, PieArcPlotSlotComponentProps, PieArcPlotSlotsComponent } from './PieArcPlot';
3
+ import { PieArcLabelPlotSlotsComponent, PieArcLabelPlotSlotComponentProps } from './PieArcLabelPlot';
4
+ export interface PiePlotSlotsComponent extends PieArcPlotSlotsComponent, PieArcLabelPlotSlotsComponent {
7
5
  }
8
- export interface PiePlotSlotComponentProps {
9
- pieArc?: Partial<PieArcProps>;
10
- pieArcLabel?: Partial<PieArcLabelProps>;
6
+ export interface PiePlotSlotComponentProps extends PieArcPlotSlotComponentProps, PieArcLabelPlotSlotComponentProps {
11
7
  }
12
- export interface PiePlotProps {
8
+ export interface PiePlotProps extends Pick<PieArcPlotProps, 'skipAnimation' | 'onClick'> {
13
9
  /**
14
10
  * Overridable component slots.
15
11
  * @default {}
@@ -21,6 +17,16 @@ export interface PiePlotProps {
21
17
  */
22
18
  slotProps?: PiePlotSlotComponentProps;
23
19
  }
20
+ /**
21
+ * Demos:
22
+ *
23
+ * - [Pie](https://mui.com/x/react-charts/pie/)
24
+ * - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
25
+ *
26
+ * API:
27
+ *
28
+ * - [PiePlot API](https://mui.com/x/api/charts/pie-plot/)
29
+ */
24
30
  declare function PiePlot(props: PiePlotProps): React.JSX.Element | null;
25
31
  declare namespace PiePlot {
26
32
  var propTypes: any;
@@ -5,34 +5,31 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.PiePlot = PiePlot;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var React = _interopRequireWildcard(require("react"));
10
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
10
  var _SeriesContextProvider = require("../context/SeriesContextProvider");
12
- var _PieArc = _interopRequireDefault(require("./PieArc"));
13
- var _PieArcLabel = _interopRequireDefault(require("./PieArcLabel"));
14
11
  var _DrawingProvider = require("../context/DrawingProvider");
12
+ var _PieArcPlot = require("./PieArcPlot");
13
+ var _PieArcLabelPlot = require("./PieArcLabelPlot");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
- const RATIO = 180 / Math.PI;
19
- function getItemLabel(arcLabel, arcLabelMinAngle, item) {
20
- if (!arcLabel) {
21
- return null;
22
- }
23
- const angle = (item.endAngle - item.startAngle) * RATIO;
24
- if (angle < arcLabelMinAngle) {
25
- return null;
26
- }
27
- if (typeof arcLabel === 'string') {
28
- return item[arcLabel]?.toString();
29
- }
30
- return arcLabel(item);
31
- }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ /**
18
+ * Demos:
19
+ *
20
+ * - [Pie](https://mui.com/x/react-charts/pie/)
21
+ * - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
22
+ *
23
+ * API:
24
+ *
25
+ * - [PiePlot API](https://mui.com/x/api/charts/pie-plot/)
26
+ */
32
27
  function PiePlot(props) {
33
28
  const {
29
+ skipAnimation,
34
30
  slots,
35
- slotProps
31
+ slotProps,
32
+ onClick
36
33
  } = props;
37
34
  const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).pie;
38
35
  const {
@@ -53,54 +50,67 @@ function PiePlot(props) {
53
50
  series,
54
51
  seriesOrder
55
52
  } = seriesData;
56
- const Arc = slots?.pieArc ?? _PieArc.default;
57
- const ArcLabel = slots?.pieArcLabel ?? _PieArcLabel.default;
58
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
59
- children: seriesOrder.map(seriesId => {
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
54
+ children: [seriesOrder.map(seriesId => {
60
55
  const {
61
56
  innerRadius,
62
57
  outerRadius,
63
58
  cornerRadius,
64
- arcLabel,
65
- arcLabelMinAngle = 0,
59
+ paddingAngle,
66
60
  data,
67
61
  cx,
68
62
  cy,
69
63
  highlighted,
70
- faded
64
+ faded,
65
+ highlightScope
66
+ } = series[seriesId];
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
68
+ transform: `translate(${cx === undefined ? center.x : left + cx}, ${cy === undefined ? center.y : top + cy})`,
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieArcPlot.PieArcPlot, {
70
+ innerRadius: innerRadius,
71
+ outerRadius: outerRadius ?? availableRadius,
72
+ cornerRadius: cornerRadius,
73
+ paddingAngle: paddingAngle,
74
+ id: seriesId,
75
+ data: data,
76
+ skipAnimation: skipAnimation,
77
+ highlightScope: highlightScope,
78
+ highlighted: highlighted,
79
+ faded: faded,
80
+ onClick: onClick,
81
+ slots: slots,
82
+ slotProps: slotProps
83
+ })
84
+ }, seriesId);
85
+ }), seriesOrder.map(seriesId => {
86
+ const {
87
+ innerRadius,
88
+ outerRadius,
89
+ cornerRadius,
90
+ paddingAngle,
91
+ arcLabel,
92
+ arcLabelMinAngle,
93
+ data,
94
+ cx,
95
+ cy,
96
+ highlightScope
71
97
  } = series[seriesId];
72
98
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
73
99
  transform: `translate(${cx === undefined ? center.x : left + cx}, ${cy === undefined ? center.y : top + cy})`,
74
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
75
- children: [data.map((item, index) => {
76
- return /*#__PURE__*/(0, React.createElement)(Arc, (0, _extends2.default)({}, item, {
77
- key: item.id,
78
- innerRadius: innerRadius,
79
- outerRadius: outerRadius ?? availableRadius,
80
- cornerRadius: cornerRadius,
81
- id: seriesId,
82
- color: item.color,
83
- dataIndex: index,
84
- highlightScope: series[seriesId].highlightScope,
85
- highlighted: highlighted,
86
- faded: faded
87
- }, slotProps?.pieArc));
88
- }), data.map((item, index) => {
89
- return /*#__PURE__*/(0, React.createElement)(ArcLabel, (0, _extends2.default)({}, item, {
90
- key: item.id,
91
- innerRadius: innerRadius,
92
- outerRadius: outerRadius ?? availableRadius,
93
- cornerRadius: cornerRadius,
94
- id: seriesId,
95
- color: item.color,
96
- dataIndex: index,
97
- highlightScope: series[seriesId].highlightScope,
98
- formattedArcLabel: getItemLabel(arcLabel, arcLabelMinAngle, item)
99
- }, slotProps?.pieArcLabel));
100
- })]
100
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieArcLabelPlot.PieArcLabelPlot, {
101
+ innerRadius: innerRadius,
102
+ outerRadius: outerRadius ?? availableRadius,
103
+ cornerRadius: cornerRadius,
104
+ paddingAngle: paddingAngle,
105
+ id: seriesId,
106
+ data: data,
107
+ skipAnimation: skipAnimation,
108
+ arcLabel: arcLabel,
109
+ arcLabelMinAngle: arcLabelMinAngle,
110
+ highlightScope: highlightScope
101
111
  })
102
112
  }, seriesId);
103
- })
113
+ })]
104
114
  });
105
115
  }
106
116
  process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
@@ -108,6 +118,18 @@ process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
108
118
  // | These PropTypes are generated from the TypeScript type definitions |
109
119
  // | To update them edit the TypeScript types and run "yarn proptypes" |
110
120
  // ----------------------------------------------------------------------
121
+ /**
122
+ * Callback fired when a pie item is clicked.
123
+ * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
124
+ * @param {PieItemIdentifier} pieItemIdentifier The pie item identifier.
125
+ * @param {DefaultizedPieValueType} item The pie item.
126
+ */
127
+ onClick: _propTypes.default.func,
128
+ /**
129
+ * If `true`, animations are skiped.
130
+ * @default false
131
+ */
132
+ skipAnimation: _propTypes.default.bool,
111
133
  /**
112
134
  * The props used for each component slot.
113
135
  * @default {}
@@ -0,0 +1,4 @@
1
+ import { UseTransitionProps } from '@react-spring/web';
2
+ import { ValueWithHighlight } from './useTransformData';
3
+ export declare const defaultTransitionConfig: UseTransitionProps<ValueWithHighlight>;
4
+ export declare const defaultLabelTransitionConfig: UseTransitionProps<ValueWithHighlight>;