@mui/x-charts 6.0.0-alpha.9 → 6.18.1

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 (325) hide show
  1. package/BarChart/BarChart.d.ts +26 -5
  2. package/BarChart/BarChart.js +93 -17
  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 +797 -59
  10. package/ChartContainer/index.js +7 -5
  11. package/ChartsAxis/ChartsAxis.d.ts +9 -0
  12. package/ChartsAxis/ChartsAxis.js +33 -7
  13. package/ChartsAxis/axisClasses.d.ts +3 -3
  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 +45 -24
  20. package/ChartsLegend/ChartsLegend.js +193 -151
  21. package/ChartsLegend/chartsLegendClasses.d.ts +1 -1
  22. package/ChartsLegend/chartsLegendClasses.js +3 -4
  23. package/ChartsLegend/utils.d.ts +1 -6
  24. package/ChartsReferenceLine/ChartsReferenceLine.d.ts +10 -0
  25. package/ChartsReferenceLine/ChartsReferenceLine.js +78 -0
  26. package/ChartsReferenceLine/ChartsXReferenceLine.d.ts +13 -0
  27. package/ChartsReferenceLine/ChartsXReferenceLine.js +112 -0
  28. package/ChartsReferenceLine/ChartsYReferenceLine.d.ts +13 -0
  29. package/ChartsReferenceLine/ChartsYReferenceLine.js +112 -0
  30. package/ChartsReferenceLine/chartsReferenceLineClasses.d.ts +15 -0
  31. package/ChartsReferenceLine/chartsReferenceLineClasses.js +14 -0
  32. package/ChartsReferenceLine/common.d.ts +41 -0
  33. package/ChartsReferenceLine/common.js +27 -0
  34. package/ChartsReferenceLine/index.d.ts +2 -0
  35. package/ChartsReferenceLine/index.js +27 -0
  36. package/ChartsReferenceLine/package.json +6 -0
  37. package/ChartsSurface.d.ts +12 -1
  38. package/ChartsSurface.js +9 -18
  39. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +1 -0
  40. package/ChartsTooltip/ChartsAxisTooltipContent.js +46 -32
  41. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +3 -2
  42. package/ChartsTooltip/ChartsItemTooltipContent.js +18 -9
  43. package/ChartsTooltip/ChartsTooltip.d.ts +32 -0
  44. package/ChartsTooltip/ChartsTooltip.js +62 -18
  45. package/ChartsTooltip/ChartsTooltipTable.d.ts +3 -10
  46. package/ChartsTooltip/ChartsTooltipTable.js +22 -20
  47. package/ChartsTooltip/tooltipClasses.js +1 -2
  48. package/ChartsTooltip/utils.js +2 -2
  49. package/ChartsXAxis/ChartsXAxis.d.ts +9 -0
  50. package/ChartsXAxis/ChartsXAxis.js +170 -45
  51. package/ChartsYAxis/ChartsYAxis.d.ts +9 -0
  52. package/ChartsYAxis/ChartsYAxis.js +95 -38
  53. package/LineChart/AreaElement.d.ts +11 -1
  54. package/LineChart/AreaElement.js +14 -6
  55. package/LineChart/AreaPlot.d.ts +11 -0
  56. package/LineChart/AreaPlot.js +27 -8
  57. package/LineChart/LineChart.d.ts +23 -3
  58. package/LineChart/LineChart.js +89 -17
  59. package/LineChart/LineElement.d.ts +11 -1
  60. package/LineChart/LineElement.js +14 -6
  61. package/LineChart/LineHighlightElement.d.ts +10 -0
  62. package/LineChart/LineHighlightElement.js +13 -4
  63. package/LineChart/LineHighlightPlot.d.ts +10 -0
  64. package/LineChart/LineHighlightPlot.js +15 -4
  65. package/LineChart/LinePlot.d.ts +10 -0
  66. package/LineChart/LinePlot.js +25 -12
  67. package/LineChart/MarkElement.d.ts +10 -0
  68. package/LineChart/MarkElement.js +14 -5
  69. package/LineChart/MarkPlot.d.ts +10 -0
  70. package/LineChart/MarkPlot.js +42 -10
  71. package/LineChart/formatter.js +5 -5
  72. package/LineChart/legend.js +1 -2
  73. package/PieChart/PieArc.d.ts +11 -13
  74. package/PieChart/PieArc.js +28 -60
  75. package/PieChart/PieArcLabel.d.ts +8 -9
  76. package/PieChart/PieArcLabel.js +46 -38
  77. package/PieChart/PieArcLabelPlot.d.ts +28 -0
  78. package/PieChart/PieArcLabelPlot.js +99 -0
  79. package/PieChart/PieArcPlot.d.ts +35 -0
  80. package/PieChart/PieArcPlot.js +92 -0
  81. package/PieChart/PieChart.d.ts +19 -5
  82. package/PieChart/PieChart.js +95 -18
  83. package/PieChart/PiePlot.d.ts +15 -9
  84. package/PieChart/PiePlot.js +77 -55
  85. package/PieChart/dataTransform/transition.d.ts +4 -0
  86. package/PieChart/dataTransform/transition.js +136 -0
  87. package/PieChart/dataTransform/useTransformData.d.ts +15 -0
  88. package/PieChart/dataTransform/useTransformData.js +67 -0
  89. package/PieChart/formatter.js +1 -2
  90. package/PieChart/legend.js +1 -2
  91. package/README.md +8 -14
  92. package/ResponsiveChartContainer/index.d.ts +13 -3
  93. package/ResponsiveChartContainer/index.js +7 -8
  94. package/ScatterChart/Scatter.d.ts +10 -0
  95. package/ScatterChart/Scatter.js +12 -2
  96. package/ScatterChart/ScatterChart.d.ts +16 -3
  97. package/ScatterChart/ScatterChart.js +77 -16
  98. package/ScatterChart/ScatterPlot.d.ts +10 -0
  99. package/ScatterChart/ScatterPlot.js +12 -2
  100. package/ScatterChart/formatter.js +1 -2
  101. package/ScatterChart/legend.js +1 -2
  102. package/SparkLineChart/SparkLineChart.d.ts +12 -3
  103. package/SparkLineChart/SparkLineChart.js +50 -7
  104. package/colorPalettes/colorPalettes.js +6 -12
  105. package/constants.js +5 -8
  106. package/context/CartesianContextProvider.d.ts +26 -1
  107. package/context/CartesianContextProvider.js +42 -16
  108. package/context/DrawingProvider.d.ts +25 -0
  109. package/context/DrawingProvider.js +18 -6
  110. package/context/HighlightProvider.d.ts +17 -0
  111. package/context/HighlightProvider.js +3 -4
  112. package/context/InteractionProvider.d.ts +6 -0
  113. package/context/InteractionProvider.js +3 -4
  114. package/context/SeriesContextProvider.d.ts +5 -0
  115. package/context/SeriesContextProvider.js +3 -4
  116. package/esm/BarChart/BarChart.js +90 -13
  117. package/esm/BarChart/BarElement.js +7 -4
  118. package/esm/BarChart/BarPlot.js +152 -67
  119. package/esm/BarChart/formatter.js +1 -1
  120. package/esm/ChartContainer/index.js +3 -0
  121. package/esm/ChartsAxis/ChartsAxis.js +32 -5
  122. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  123. package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
  124. package/esm/ChartsLegend/ChartsLegend.js +190 -144
  125. package/esm/ChartsLegend/chartsLegendClasses.js +1 -1
  126. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
  127. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +105 -0
  128. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +105 -0
  129. package/esm/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
  130. package/esm/ChartsReferenceLine/common.js +20 -0
  131. package/esm/ChartsReferenceLine/index.js +2 -0
  132. package/esm/ChartsSurface.js +4 -12
  133. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  134. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  135. package/esm/ChartsTooltip/ChartsTooltip.js +59 -14
  136. package/esm/ChartsTooltip/ChartsTooltipTable.js +17 -10
  137. package/esm/ChartsXAxis/ChartsXAxis.js +168 -43
  138. package/esm/ChartsYAxis/ChartsYAxis.js +93 -36
  139. package/esm/LineChart/AreaElement.js +10 -0
  140. package/esm/LineChart/AreaPlot.js +26 -6
  141. package/esm/LineChart/LineChart.js +86 -13
  142. package/esm/LineChart/LineElement.js +10 -0
  143. package/esm/LineChart/LineHighlightElement.js +10 -0
  144. package/esm/LineChart/LineHighlightPlot.js +13 -2
  145. package/esm/LineChart/LinePlot.js +25 -14
  146. package/esm/LineChart/MarkElement.js +11 -1
  147. package/esm/LineChart/MarkPlot.js +40 -8
  148. package/esm/LineChart/formatter.js +7 -3
  149. package/esm/PieChart/PieArc.js +26 -58
  150. package/esm/PieChart/PieArcLabel.js +43 -34
  151. package/esm/PieChart/PieArcLabelPlot.js +92 -0
  152. package/esm/PieChart/PieArcPlot.js +84 -0
  153. package/esm/PieChart/PieChart.js +93 -16
  154. package/esm/PieChart/PiePlot.js +76 -57
  155. package/esm/PieChart/dataTransform/transition.js +130 -0
  156. package/esm/PieChart/dataTransform/useTransformData.js +59 -0
  157. package/esm/ResponsiveChartContainer/index.js +3 -3
  158. package/esm/ScatterChart/Scatter.js +10 -0
  159. package/esm/ScatterChart/ScatterChart.js +74 -12
  160. package/esm/ScatterChart/ScatterPlot.js +10 -0
  161. package/esm/SparkLineChart/SparkLineChart.js +47 -3
  162. package/esm/constants.js +1 -1
  163. package/esm/context/CartesianContextProvider.js +41 -14
  164. package/esm/context/DrawingProvider.js +14 -0
  165. package/esm/hooks/useChartDimensions.js +2 -0
  166. package/esm/hooks/useMounted.js +16 -0
  167. package/esm/hooks/useReducedMotion.js +27 -0
  168. package/esm/hooks/useTicks.js +15 -9
  169. package/esm/index.js +1 -0
  170. package/esm/internals/components/AxisSharedComponents.js +15 -70
  171. package/esm/internals/components/ChartsText.js +77 -0
  172. package/esm/internals/domUtils.js +113 -0
  173. package/esm/internals/geometry.js +36 -0
  174. package/hooks/useAxisEvents.js +2 -2
  175. package/hooks/useChartDimensions.d.ts +2 -0
  176. package/hooks/useChartDimensions.js +5 -4
  177. package/hooks/useDrawingArea.js +2 -2
  178. package/hooks/useInteractionItemProps.js +2 -2
  179. package/hooks/useMounted.d.ts +1 -0
  180. package/hooks/useMounted.js +25 -0
  181. package/hooks/useReducedMotion.d.ts +8 -0
  182. package/hooks/useReducedMotion.js +33 -0
  183. package/hooks/useScale.d.ts +2 -2
  184. package/hooks/useScale.js +2 -2
  185. package/hooks/useTicks.d.ts +19 -11
  186. package/hooks/useTicks.js +19 -14
  187. package/index.d.ts +1 -0
  188. package/index.js +12 -1
  189. package/internals/components/AxisSharedComponents.d.ts +0 -4
  190. package/internals/components/AxisSharedComponents.js +18 -78
  191. package/internals/components/ChartsText.d.ts +35 -0
  192. package/internals/components/ChartsText.js +87 -0
  193. package/internals/defaultizeColor.d.ts +7 -2
  194. package/internals/defaultizeValueFormatter.js +1 -2
  195. package/internals/domUtils.d.ts +13 -0
  196. package/internals/domUtils.js +122 -0
  197. package/internals/geometry.d.ts +9 -0
  198. package/internals/geometry.js +42 -0
  199. package/internals/isBandScale.d.ts +3 -1
  200. package/internals/stackSeries.js +2 -4
  201. package/internals/utils.d.ts +5 -0
  202. package/legacy/BarChart/BarChart.js +90 -13
  203. package/legacy/BarChart/BarElement.js +6 -3
  204. package/legacy/BarChart/BarPlot.js +151 -63
  205. package/legacy/BarChart/formatter.js +1 -1
  206. package/legacy/ChartContainer/index.js +3 -0
  207. package/legacy/ChartsAxis/ChartsAxis.js +32 -5
  208. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
  209. package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
  210. package/legacy/ChartsLegend/ChartsLegend.js +205 -142
  211. package/legacy/ChartsLegend/chartsLegendClasses.js +1 -1
  212. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
  213. package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +105 -0
  214. package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +105 -0
  215. package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
  216. package/legacy/ChartsReferenceLine/common.js +20 -0
  217. package/legacy/ChartsReferenceLine/index.js +2 -0
  218. package/legacy/ChartsSurface.js +3 -12
  219. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +22 -10
  220. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  221. package/legacy/ChartsTooltip/ChartsTooltip.js +62 -14
  222. package/legacy/ChartsTooltip/ChartsTooltipTable.js +34 -26
  223. package/legacy/ChartsXAxis/ChartsXAxis.js +176 -50
  224. package/legacy/ChartsYAxis/ChartsYAxis.js +97 -41
  225. package/legacy/LineChart/AreaElement.js +10 -0
  226. package/legacy/LineChart/AreaPlot.js +31 -7
  227. package/legacy/LineChart/LineChart.js +86 -13
  228. package/legacy/LineChart/LineElement.js +10 -0
  229. package/legacy/LineChart/LineHighlightElement.js +10 -0
  230. package/legacy/LineChart/LineHighlightPlot.js +13 -2
  231. package/legacy/LineChart/LinePlot.js +29 -12
  232. package/legacy/LineChart/MarkElement.js +11 -1
  233. package/legacy/LineChart/MarkPlot.js +39 -8
  234. package/legacy/LineChart/formatter.js +7 -3
  235. package/legacy/PieChart/PieArc.js +30 -62
  236. package/legacy/PieChart/PieArcLabel.js +48 -34
  237. package/legacy/PieChart/PieArcLabelPlot.js +93 -0
  238. package/legacy/PieChart/PieArcPlot.js +84 -0
  239. package/legacy/PieChart/PieChart.js +93 -16
  240. package/legacy/PieChart/PiePlot.js +76 -59
  241. package/legacy/PieChart/dataTransform/transition.js +142 -0
  242. package/legacy/PieChart/dataTransform/useTransformData.js +60 -0
  243. package/legacy/ResponsiveChartContainer/index.js +3 -3
  244. package/legacy/ScatterChart/Scatter.js +10 -0
  245. package/legacy/ScatterChart/ScatterChart.js +74 -12
  246. package/legacy/ScatterChart/ScatterPlot.js +10 -0
  247. package/legacy/SparkLineChart/SparkLineChart.js +47 -3
  248. package/legacy/constants.js +1 -1
  249. package/legacy/context/CartesianContextProvider.js +41 -14
  250. package/legacy/context/DrawingProvider.js +14 -0
  251. package/legacy/hooks/useChartDimensions.js +2 -0
  252. package/legacy/hooks/useMounted.js +21 -0
  253. package/legacy/hooks/useReducedMotion.js +27 -0
  254. package/legacy/hooks/useTicks.js +16 -9
  255. package/legacy/index.js +2 -1
  256. package/legacy/internals/components/AxisSharedComponents.js +11 -65
  257. package/legacy/internals/components/ChartsText.js +79 -0
  258. package/legacy/internals/domUtils.js +121 -0
  259. package/legacy/internals/geometry.js +37 -0
  260. package/models/axis.d.ts +58 -20
  261. package/models/layout.d.ts +13 -6
  262. package/models/seriesType/common.d.ts +16 -0
  263. package/models/seriesType/line.d.ts +8 -3
  264. package/models/seriesType/pie.d.ts +5 -1
  265. package/modern/BarChart/BarChart.js +90 -13
  266. package/modern/BarChart/BarElement.js +7 -4
  267. package/modern/BarChart/BarPlot.js +149 -65
  268. package/modern/BarChart/formatter.js +1 -1
  269. package/modern/ChartContainer/index.js +3 -0
  270. package/modern/ChartsAxis/ChartsAxis.js +31 -5
  271. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  272. package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
  273. package/modern/ChartsLegend/ChartsLegend.js +190 -144
  274. package/modern/ChartsLegend/chartsLegendClasses.js +1 -1
  275. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +70 -0
  276. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +104 -0
  277. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +104 -0
  278. package/modern/ChartsReferenceLine/chartsReferenceLineClasses.js +6 -0
  279. package/modern/ChartsReferenceLine/common.js +20 -0
  280. package/modern/ChartsReferenceLine/index.js +2 -0
  281. package/modern/ChartsSurface.js +4 -12
  282. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  283. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  284. package/modern/ChartsTooltip/ChartsTooltip.js +58 -14
  285. package/modern/ChartsTooltip/ChartsTooltipTable.js +17 -10
  286. package/modern/ChartsXAxis/ChartsXAxis.js +167 -42
  287. package/modern/ChartsYAxis/ChartsYAxis.js +92 -35
  288. package/modern/LineChart/AreaElement.js +10 -0
  289. package/modern/LineChart/AreaPlot.js +25 -6
  290. package/modern/LineChart/LineChart.js +86 -13
  291. package/modern/LineChart/LineElement.js +10 -0
  292. package/modern/LineChart/LineHighlightElement.js +10 -0
  293. package/modern/LineChart/LineHighlightPlot.js +13 -2
  294. package/modern/LineChart/LinePlot.js +23 -10
  295. package/modern/LineChart/MarkElement.js +11 -1
  296. package/modern/LineChart/MarkPlot.js +40 -8
  297. package/modern/LineChart/formatter.js +4 -3
  298. package/modern/PieChart/PieArc.js +26 -57
  299. package/modern/PieChart/PieArcLabel.js +43 -34
  300. package/modern/PieChart/PieArcLabelPlot.js +90 -0
  301. package/modern/PieChart/PieArcPlot.js +83 -0
  302. package/modern/PieChart/PieChart.js +93 -16
  303. package/modern/PieChart/PiePlot.js +76 -55
  304. package/modern/PieChart/dataTransform/transition.js +130 -0
  305. package/modern/PieChart/dataTransform/useTransformData.js +58 -0
  306. package/modern/ResponsiveChartContainer/index.js +3 -3
  307. package/modern/ScatterChart/Scatter.js +10 -0
  308. package/modern/ScatterChart/ScatterChart.js +74 -12
  309. package/modern/ScatterChart/ScatterPlot.js +10 -0
  310. package/modern/SparkLineChart/SparkLineChart.js +47 -3
  311. package/modern/constants.js +1 -1
  312. package/modern/context/CartesianContextProvider.js +40 -13
  313. package/modern/context/DrawingProvider.js +14 -0
  314. package/modern/hooks/useChartDimensions.js +2 -0
  315. package/modern/hooks/useMounted.js +16 -0
  316. package/modern/hooks/useReducedMotion.js +27 -0
  317. package/modern/hooks/useTicks.js +15 -9
  318. package/modern/index.js +2 -1
  319. package/modern/internals/components/AxisSharedComponents.js +15 -70
  320. package/modern/internals/components/ChartsText.js +77 -0
  321. package/modern/internals/domUtils.js +113 -0
  322. package/modern/internals/geometry.js +36 -0
  323. package/package.json +9 -6
  324. package/themeAugmentation/components.d.ts +1 -0
  325. package/themeAugmentation/overrides.d.ts +2 -0
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import { DefaultizedPieSeriesType } from '../models/seriesType/pie';
3
+ import { PieArcLabelProps } from './PieArcLabel';
4
+ import { DefaultizedProps } from '../models/helpers';
5
+ export interface PieArcLabelPlotSlotsComponent {
6
+ pieArcLabel?: React.JSXElementConstructor<PieArcLabelProps>;
7
+ }
8
+ export interface PieArcLabelPlotSlotComponentProps {
9
+ pieArcLabel?: Partial<PieArcLabelProps>;
10
+ }
11
+ export interface PieArcLabelPlotProps extends DefaultizedProps<Pick<DefaultizedPieSeriesType, 'data' | 'faded' | 'highlighted' | 'innerRadius' | 'outerRadius' | 'cornerRadius' | 'paddingAngle' | 'arcLabel' | 'arcLabelMinAngle' | 'id' | 'highlightScope'>, 'outerRadius'> {
12
+ /**
13
+ * Overridable component slots.
14
+ * @default {}
15
+ */
16
+ slots?: PieArcLabelPlotSlotsComponent;
17
+ /**
18
+ * The props used for each component slot.
19
+ * @default {}
20
+ */
21
+ slotProps?: PieArcLabelPlotSlotComponentProps;
22
+ /**
23
+ * If `true`, animations are skiped.
24
+ * @default false
25
+ */
26
+ skipAnimation?: boolean;
27
+ }
28
+ export declare function PieArcLabelPlot(props: PieArcLabelPlotProps): React.JSX.Element | null;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PieArcLabelPlot = PieArcLabelPlot;
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 _transition = require("./dataTransform/transition");
13
+ var _useTransformData = require("./dataTransform/useTransformData");
14
+ var _PieArcLabel = _interopRequireDefault(require("./PieArcLabel"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ const _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "arcLabel", "arcLabelMinAngle", "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
+ const RATIO = 180 / Math.PI;
21
+ function getItemLabel(arcLabel, arcLabelMinAngle, item) {
22
+ if (!arcLabel) {
23
+ return null;
24
+ }
25
+ const angle = (item.endAngle - item.startAngle) * RATIO;
26
+ if (angle < arcLabelMinAngle) {
27
+ return null;
28
+ }
29
+ if (typeof arcLabel === 'string') {
30
+ return item[arcLabel]?.toString();
31
+ }
32
+ return arcLabel(item);
33
+ }
34
+ function PieArcLabelPlot(props) {
35
+ const {
36
+ slots,
37
+ slotProps,
38
+ innerRadius = 0,
39
+ outerRadius,
40
+ cornerRadius = 0,
41
+ paddingAngle = 0,
42
+ id,
43
+ highlightScope,
44
+ highlighted,
45
+ faded = {
46
+ additionalRadius: -5
47
+ },
48
+ data,
49
+ arcLabel,
50
+ arcLabelMinAngle = 0,
51
+ skipAnimation
52
+ } = props,
53
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
54
+ const transformedData = (0, _useTransformData.useTransformData)({
55
+ innerRadius,
56
+ outerRadius,
57
+ cornerRadius,
58
+ paddingAngle,
59
+ id,
60
+ highlightScope,
61
+ highlighted,
62
+ faded,
63
+ data
64
+ });
65
+ const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, _transition.defaultLabelTransitionConfig, {
66
+ immediate: skipAnimation
67
+ }));
68
+ if (data.length === 0) {
69
+ return null;
70
+ }
71
+ const ArcLabel = slots?.pieArcLabel ?? _PieArcLabel.default;
72
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
73
+ children: transition((_ref, item) => {
74
+ let {
75
+ startAngle,
76
+ endAngle,
77
+ paddingAngle: pA,
78
+ innerRadius: iR,
79
+ outerRadius: oR,
80
+ cornerRadius: cR
81
+ } = _ref,
82
+ style = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
83
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ArcLabel, (0, _extends2.default)({
84
+ startAngle: startAngle,
85
+ endAngle: endAngle,
86
+ paddingAngle: pA,
87
+ innerRadius: iR,
88
+ outerRadius: oR,
89
+ cornerRadius: cR,
90
+ style: style,
91
+ id: id,
92
+ color: item.color,
93
+ isFaded: item.isFaded,
94
+ isHighlighted: item.isHighlighted,
95
+ formattedArcLabel: getItemLabel(arcLabel, arcLabelMinAngle, item)
96
+ }, slotProps?.pieArcLabel));
97
+ })
98
+ }));
99
+ }
@@ -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
@@ -104,18 +119,22 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
104
119
  * @default xAxisIds[0] The id of the first provided axis
105
120
  */
106
121
  bottomAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
107
- axisId: _propTypes.default.string.isRequired,
122
+ axisId: _propTypes.default.string,
108
123
  classes: _propTypes.default.object,
109
124
  disableLine: _propTypes.default.bool,
110
125
  disableTicks: _propTypes.default.bool,
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,
@@ -127,9 +146,21 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
127
146
  * Color palette used to colorize multiple series.
128
147
  */
129
148
  colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
149
+ /**
150
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
151
+ */
130
152
  dataset: _propTypes.default.arrayOf(_propTypes.default.object),
131
153
  desc: _propTypes.default.string,
154
+ /**
155
+ * If `true`, the charts will not listen to the mouse move event.
156
+ * It might break interactive features, but will improve performance.
157
+ * @default false
158
+ */
132
159
  disableAxisListener: _propTypes.default.bool,
160
+ /**
161
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
162
+ * @default undefined
163
+ */
133
164
  height: _propTypes.default.number,
134
165
  /**
135
166
  * Indicate which axis to display the left of the charts.
@@ -137,65 +168,76 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
137
168
  * @default yAxisIds[0] The id of the first provided axis
138
169
  */
139
170
  leftAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
140
- axisId: _propTypes.default.string.isRequired,
171
+ axisId: _propTypes.default.string,
141
172
  classes: _propTypes.default.object,
142
173
  disableLine: _propTypes.default.bool,
143
174
  disableTicks: _propTypes.default.bool,
144
175
  fill: _propTypes.default.string,
145
176
  label: _propTypes.default.string,
146
177
  labelFontSize: _propTypes.default.number,
178
+ labelStyle: _propTypes.default.object,
147
179
  position: _propTypes.default.oneOf(['left', 'right']),
148
180
  slotProps: _propTypes.default.object,
149
181
  slots: _propTypes.default.object,
150
182
  stroke: _propTypes.default.string,
151
183
  tickFontSize: _propTypes.default.number,
184
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
185
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
186
+ tickLabelStyle: _propTypes.default.object,
152
187
  tickMaxStep: _propTypes.default.number,
153
188
  tickMinStep: _propTypes.default.number,
154
189
  tickNumber: _propTypes.default.number,
155
190
  tickSize: _propTypes.default.number
156
191
  }), _propTypes.default.string]),
192
+ /**
193
+ * @deprecated Consider using `slotProps.legend` instead.
194
+ */
157
195
  legend: _propTypes.default.shape({
158
196
  classes: _propTypes.default.object,
159
197
  direction: _propTypes.default.oneOf(['column', 'row']),
160
198
  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
199
  position: _propTypes.default.shape({
168
200
  horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
169
201
  vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
170
202
  }),
171
203
  slotProps: _propTypes.default.object,
172
- slots: _propTypes.default.object,
173
- spacing: _propTypes.default.number
204
+ slots: _propTypes.default.object
174
205
  }),
206
+ /**
207
+ * The margin between the SVG and the drawing area.
208
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
209
+ * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
210
+ * @default object Depends on the charts type.
211
+ */
175
212
  margin: _propTypes.default.shape({
176
213
  bottom: _propTypes.default.number,
177
214
  left: _propTypes.default.number,
178
215
  right: _propTypes.default.number,
179
216
  top: _propTypes.default.number
180
217
  }),
218
+ onClick: _propTypes.default.func,
181
219
  /**
182
220
  * Indicate which axis to display the right of the charts.
183
221
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
184
222
  * @default null
185
223
  */
186
224
  rightAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
187
- axisId: _propTypes.default.string.isRequired,
225
+ axisId: _propTypes.default.string,
188
226
  classes: _propTypes.default.object,
189
227
  disableLine: _propTypes.default.bool,
190
228
  disableTicks: _propTypes.default.bool,
191
229
  fill: _propTypes.default.string,
192
230
  label: _propTypes.default.string,
193
231
  labelFontSize: _propTypes.default.number,
232
+ labelStyle: _propTypes.default.object,
194
233
  position: _propTypes.default.oneOf(['left', 'right']),
195
234
  slotProps: _propTypes.default.object,
196
235
  slots: _propTypes.default.object,
197
236
  stroke: _propTypes.default.string,
198
237
  tickFontSize: _propTypes.default.number,
238
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
239
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
240
+ tickLabelStyle: _propTypes.default.object,
199
241
  tickMaxStep: _propTypes.default.number,
200
242
  tickMinStep: _propTypes.default.number,
201
243
  tickNumber: _propTypes.default.number,
@@ -217,15 +259,19 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
217
259
  endAngle: _propTypes.default.number,
218
260
  faded: _propTypes.default.shape({
219
261
  additionalRadius: _propTypes.default.number,
262
+ color: _propTypes.default.string,
220
263
  cornerRadius: _propTypes.default.number,
221
264
  innerRadius: _propTypes.default.number,
222
- outerRadius: _propTypes.default.number
265
+ outerRadius: _propTypes.default.number,
266
+ paddingAngle: _propTypes.default.number
223
267
  }),
224
268
  highlighted: _propTypes.default.shape({
225
269
  additionalRadius: _propTypes.default.number,
270
+ color: _propTypes.default.string,
226
271
  cornerRadius: _propTypes.default.number,
227
272
  innerRadius: _propTypes.default.number,
228
- outerRadius: _propTypes.default.number
273
+ outerRadius: _propTypes.default.number,
274
+ paddingAngle: _propTypes.default.number
229
275
  }),
230
276
  highlightScope: _propTypes.default.shape({
231
277
  faded: _propTypes.default.oneOf(['global', 'none', 'series']),
@@ -240,6 +286,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
240
286
  type: _propTypes.default.oneOf(['pie']),
241
287
  valueFormatter: _propTypes.default.func
242
288
  })).isRequired,
289
+ /**
290
+ * If `true`, animations are skiped.
291
+ * @default false
292
+ */
293
+ skipAnimation: _propTypes.default.bool,
243
294
  /**
244
295
  * The props used for each component slot.
245
296
  * @default {}
@@ -252,6 +303,8 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
252
303
  axisContent: _propTypes.default.elementType,
253
304
  classes: _propTypes.default.object,
254
305
  itemContent: _propTypes.default.elementType,
306
+ slotProps: _propTypes.default.object,
307
+ slots: _propTypes.default.object,
255
308
  trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
256
309
  }),
257
310
  /**
@@ -260,18 +313,22 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
260
313
  * @default null
261
314
  */
262
315
  topAxis: _propTypes.default.oneOfType([_propTypes.default.shape({
263
- axisId: _propTypes.default.string.isRequired,
316
+ axisId: _propTypes.default.string,
264
317
  classes: _propTypes.default.object,
265
318
  disableLine: _propTypes.default.bool,
266
319
  disableTicks: _propTypes.default.bool,
267
320
  fill: _propTypes.default.string,
268
321
  label: _propTypes.default.string,
269
322
  labelFontSize: _propTypes.default.number,
323
+ labelStyle: _propTypes.default.object,
270
324
  position: _propTypes.default.oneOf(['bottom', 'top']),
271
325
  slotProps: _propTypes.default.object,
272
326
  slots: _propTypes.default.object,
273
327
  stroke: _propTypes.default.string,
274
328
  tickFontSize: _propTypes.default.number,
329
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
330
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
331
+ tickLabelStyle: _propTypes.default.object,
275
332
  tickMaxStep: _propTypes.default.number,
276
333
  tickMinStep: _propTypes.default.number,
277
334
  tickNumber: _propTypes.default.number,
@@ -283,7 +340,15 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
283
340
  x: _propTypes.default.number,
284
341
  y: _propTypes.default.number
285
342
  }),
343
+ /**
344
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
345
+ * @default undefined
346
+ */
286
347
  width: _propTypes.default.number,
348
+ /**
349
+ * The configuration of the x-axes.
350
+ * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
351
+ */
287
352
  xAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
288
353
  axisId: _propTypes.default.string,
289
354
  classes: _propTypes.default.object,
@@ -296,6 +361,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
296
361
  id: _propTypes.default.string,
297
362
  label: _propTypes.default.string,
298
363
  labelFontSize: _propTypes.default.number,
364
+ labelStyle: _propTypes.default.object,
299
365
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
300
366
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
301
367
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
@@ -304,12 +370,19 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
304
370
  slots: _propTypes.default.object,
305
371
  stroke: _propTypes.default.string,
306
372
  tickFontSize: _propTypes.default.number,
373
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
374
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
375
+ tickLabelStyle: _propTypes.default.object,
307
376
  tickMaxStep: _propTypes.default.number,
308
377
  tickMinStep: _propTypes.default.number,
309
378
  tickNumber: _propTypes.default.number,
310
379
  tickSize: _propTypes.default.number,
311
380
  valueFormatter: _propTypes.default.func
312
381
  })),
382
+ /**
383
+ * The configuration of the y-axes.
384
+ * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
385
+ */
313
386
  yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
314
387
  axisId: _propTypes.default.string,
315
388
  classes: _propTypes.default.object,
@@ -322,6 +395,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
322
395
  id: _propTypes.default.string,
323
396
  label: _propTypes.default.string,
324
397
  labelFontSize: _propTypes.default.number,
398
+ labelStyle: _propTypes.default.object,
325
399
  max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
326
400
  min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
327
401
  position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
@@ -330,6 +404,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
330
404
  slots: _propTypes.default.object,
331
405
  stroke: _propTypes.default.string,
332
406
  tickFontSize: _propTypes.default.number,
407
+ tickInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.array, _propTypes.default.func]),
408
+ tickLabelInterval: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.func]),
409
+ tickLabelStyle: _propTypes.default.object,
333
410
  tickMaxStep: _propTypes.default.number,
334
411
  tickMinStep: _propTypes.default.number,
335
412
  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;