@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
@@ -1,31 +1,27 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import * as React from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import { SeriesContext } from '../context/SeriesContextProvider';
5
- import PieArc from './PieArc';
6
- import PieArcLabel from './PieArcLabel';
7
4
  import { DrawingContext } from '../context/DrawingProvider';
8
- import { createElement as _createElement } from "react";
9
- import { jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { PieArcPlot } from './PieArcPlot';
6
+ import { PieArcLabelPlot } from './PieArcLabelPlot';
10
7
  import { jsx as _jsx } from "react/jsx-runtime";
11
- const RATIO = 180 / Math.PI;
12
- function getItemLabel(arcLabel, arcLabelMinAngle, item) {
13
- if (!arcLabel) {
14
- return null;
15
- }
16
- const angle = (item.endAngle - item.startAngle) * RATIO;
17
- if (angle < arcLabelMinAngle) {
18
- return null;
19
- }
20
- if (typeof arcLabel === 'string') {
21
- return item[arcLabel]?.toString();
22
- }
23
- return arcLabel(item);
24
- }
8
+ import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ /**
10
+ * Demos:
11
+ *
12
+ * - [Pie](https://mui.com/x/react-charts/pie/)
13
+ * - [Pie demonstration](https://mui.com/x/react-charts/pie-demo/)
14
+ *
15
+ * API:
16
+ *
17
+ * - [PiePlot API](https://mui.com/x/api/charts/pie-plot/)
18
+ */
25
19
  function PiePlot(props) {
26
20
  const {
21
+ skipAnimation,
27
22
  slots,
28
- slotProps
23
+ slotProps,
24
+ onClick
29
25
  } = props;
30
26
  const seriesData = React.useContext(SeriesContext).pie;
31
27
  const {
@@ -46,54 +42,67 @@ function PiePlot(props) {
46
42
  series,
47
43
  seriesOrder
48
44
  } = seriesData;
49
- const Arc = slots?.pieArc ?? PieArc;
50
- const ArcLabel = slots?.pieArcLabel ?? PieArcLabel;
51
- return /*#__PURE__*/_jsx("g", {
52
- children: seriesOrder.map(seriesId => {
45
+ return /*#__PURE__*/_jsxs("g", {
46
+ children: [seriesOrder.map(seriesId => {
53
47
  const {
54
48
  innerRadius,
55
49
  outerRadius,
56
50
  cornerRadius,
57
- arcLabel,
58
- arcLabelMinAngle = 0,
51
+ paddingAngle,
59
52
  data,
60
53
  cx,
61
54
  cy,
62
55
  highlighted,
63
- faded
56
+ faded,
57
+ highlightScope
58
+ } = series[seriesId];
59
+ return /*#__PURE__*/_jsx("g", {
60
+ transform: `translate(${cx === undefined ? center.x : left + cx}, ${cy === undefined ? center.y : top + cy})`,
61
+ children: /*#__PURE__*/_jsx(PieArcPlot, {
62
+ innerRadius: innerRadius,
63
+ outerRadius: outerRadius ?? availableRadius,
64
+ cornerRadius: cornerRadius,
65
+ paddingAngle: paddingAngle,
66
+ id: seriesId,
67
+ data: data,
68
+ skipAnimation: skipAnimation,
69
+ highlightScope: highlightScope,
70
+ highlighted: highlighted,
71
+ faded: faded,
72
+ onClick: onClick,
73
+ slots: slots,
74
+ slotProps: slotProps
75
+ })
76
+ }, seriesId);
77
+ }), seriesOrder.map(seriesId => {
78
+ const {
79
+ innerRadius,
80
+ outerRadius,
81
+ cornerRadius,
82
+ paddingAngle,
83
+ arcLabel,
84
+ arcLabelMinAngle,
85
+ data,
86
+ cx,
87
+ cy,
88
+ highlightScope
64
89
  } = series[seriesId];
65
90
  return /*#__PURE__*/_jsx("g", {
66
91
  transform: `translate(${cx === undefined ? center.x : left + cx}, ${cy === undefined ? center.y : top + cy})`,
67
- children: /*#__PURE__*/_jsxs("g", {
68
- children: [data.map((item, index) => {
69
- return /*#__PURE__*/_createElement(Arc, _extends({}, item, {
70
- key: item.id,
71
- innerRadius: innerRadius,
72
- outerRadius: outerRadius ?? availableRadius,
73
- cornerRadius: cornerRadius,
74
- id: seriesId,
75
- color: item.color,
76
- dataIndex: index,
77
- highlightScope: series[seriesId].highlightScope,
78
- highlighted: highlighted,
79
- faded: faded
80
- }, slotProps?.pieArc));
81
- }), data.map((item, index) => {
82
- return /*#__PURE__*/_createElement(ArcLabel, _extends({}, item, {
83
- key: item.id,
84
- innerRadius: innerRadius,
85
- outerRadius: outerRadius ?? availableRadius,
86
- cornerRadius: cornerRadius,
87
- id: seriesId,
88
- color: item.color,
89
- dataIndex: index,
90
- highlightScope: series[seriesId].highlightScope,
91
- formattedArcLabel: getItemLabel(arcLabel, arcLabelMinAngle, item)
92
- }, slotProps?.pieArcLabel));
93
- })]
92
+ children: /*#__PURE__*/_jsx(PieArcLabelPlot, {
93
+ innerRadius: innerRadius,
94
+ outerRadius: outerRadius ?? availableRadius,
95
+ cornerRadius: cornerRadius,
96
+ paddingAngle: paddingAngle,
97
+ id: seriesId,
98
+ data: data,
99
+ skipAnimation: skipAnimation,
100
+ arcLabel: arcLabel,
101
+ arcLabelMinAngle: arcLabelMinAngle,
102
+ highlightScope: highlightScope
94
103
  })
95
104
  }, seriesId);
96
- })
105
+ })]
97
106
  });
98
107
  }
99
108
  process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
@@ -101,6 +110,18 @@ process.env.NODE_ENV !== "production" ? PiePlot.propTypes = {
101
110
  // | These PropTypes are generated from the TypeScript type definitions |
102
111
  // | To update them edit the TypeScript types and run "yarn proptypes" |
103
112
  // ----------------------------------------------------------------------
113
+ /**
114
+ * Callback fired when a pie item is clicked.
115
+ * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
116
+ * @param {PieItemIdentifier} pieItemIdentifier The pie item identifier.
117
+ * @param {DefaultizedPieValueType} item The pie item.
118
+ */
119
+ onClick: PropTypes.func,
120
+ /**
121
+ * If `true`, animations are skiped.
122
+ * @default false
123
+ */
124
+ skipAnimation: PropTypes.bool,
104
125
  /**
105
126
  * The props used for each component slot.
106
127
  * @default {}
@@ -0,0 +1,130 @@
1
+ export const defaultTransitionConfig = {
2
+ keys: item => item.id,
3
+ from: ({
4
+ innerRadius,
5
+ outerRadius,
6
+ cornerRadius,
7
+ startAngle,
8
+ endAngle,
9
+ paddingAngle,
10
+ color,
11
+ isFaded
12
+ }) => ({
13
+ innerRadius,
14
+ outerRadius: (innerRadius + outerRadius) / 2,
15
+ cornerRadius,
16
+ startAngle: (startAngle + endAngle) / 2,
17
+ endAngle: (startAngle + endAngle) / 2,
18
+ paddingAngle,
19
+ fill: color,
20
+ opacity: isFaded ? 0.3 : 1
21
+ }),
22
+ leave: ({
23
+ innerRadius,
24
+ startAngle,
25
+ endAngle
26
+ }) => ({
27
+ innerRadius,
28
+ outerRadius: innerRadius,
29
+ startAngle: (startAngle + endAngle) / 2,
30
+ endAngle: (startAngle + endAngle) / 2
31
+ }),
32
+ enter: ({
33
+ innerRadius,
34
+ outerRadius,
35
+ startAngle,
36
+ endAngle
37
+ }) => ({
38
+ innerRadius,
39
+ outerRadius,
40
+ startAngle,
41
+ endAngle
42
+ }),
43
+ update: ({
44
+ innerRadius,
45
+ outerRadius,
46
+ cornerRadius,
47
+ startAngle,
48
+ endAngle,
49
+ paddingAngle,
50
+ color,
51
+ isFaded
52
+ }) => ({
53
+ innerRadius,
54
+ outerRadius,
55
+ cornerRadius,
56
+ startAngle,
57
+ endAngle,
58
+ paddingAngle,
59
+ fill: color,
60
+ opacity: isFaded ? 0.3 : 1
61
+ }),
62
+ config: {
63
+ tension: 120,
64
+ friction: 14,
65
+ clamp: true
66
+ }
67
+ };
68
+ export const defaultLabelTransitionConfig = {
69
+ keys: item => item.id,
70
+ from: ({
71
+ innerRadius,
72
+ outerRadius,
73
+ cornerRadius,
74
+ startAngle,
75
+ endAngle,
76
+ paddingAngle
77
+ }) => ({
78
+ innerRadius,
79
+ outerRadius: (innerRadius + outerRadius) / 2,
80
+ cornerRadius,
81
+ startAngle: (startAngle + endAngle) / 2,
82
+ endAngle: (startAngle + endAngle) / 2,
83
+ paddingAngle,
84
+ opacity: 0
85
+ }),
86
+ leave: ({
87
+ innerRadius,
88
+ startAngle,
89
+ endAngle
90
+ }) => ({
91
+ innerRadius,
92
+ outerRadius: innerRadius,
93
+ startAngle: (startAngle + endAngle) / 2,
94
+ endAngle: (startAngle + endAngle) / 2,
95
+ opacity: 0
96
+ }),
97
+ enter: ({
98
+ innerRadius,
99
+ outerRadius,
100
+ startAngle,
101
+ endAngle
102
+ }) => ({
103
+ innerRadius,
104
+ outerRadius,
105
+ startAngle,
106
+ endAngle,
107
+ opacity: 1
108
+ }),
109
+ update: ({
110
+ innerRadius,
111
+ outerRadius,
112
+ cornerRadius,
113
+ startAngle,
114
+ endAngle,
115
+ paddingAngle
116
+ }) => ({
117
+ innerRadius,
118
+ outerRadius,
119
+ cornerRadius,
120
+ startAngle,
121
+ endAngle,
122
+ paddingAngle,
123
+ opacity: 1
124
+ }),
125
+ config: {
126
+ tension: 120,
127
+ friction: 14,
128
+ clamp: true
129
+ }
130
+ };
@@ -0,0 +1,58 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import { InteractionContext } from '../../context/InteractionProvider';
4
+ import { getIsHighlighted, getIsFaded } from '../../hooks/useInteractionItemProps';
5
+ export function useTransformData(series) {
6
+ const {
7
+ id: seriesId,
8
+ highlightScope,
9
+ data,
10
+ faded,
11
+ highlighted,
12
+ paddingAngle: basePaddingAngle = 0,
13
+ innerRadius: baseInnerRadius = 0,
14
+ outerRadius: baseOuterRadius,
15
+ cornerRadius: baseCornerRadius = 0
16
+ } = series;
17
+ const {
18
+ item: highlightedItem
19
+ } = React.useContext(InteractionContext);
20
+ const getHighlightStatus = React.useCallback(dataIndex => {
21
+ const isHighlighted = getIsHighlighted(highlightedItem, {
22
+ type: 'pie',
23
+ seriesId,
24
+ dataIndex
25
+ }, highlightScope);
26
+ const isFaded = !isHighlighted && getIsFaded(highlightedItem, {
27
+ type: 'pie',
28
+ seriesId,
29
+ dataIndex
30
+ }, highlightScope);
31
+ return {
32
+ isHighlighted,
33
+ isFaded
34
+ };
35
+ }, [highlightScope, highlightedItem, seriesId]);
36
+ const dataWithHighlight = React.useMemo(() => data.map((item, itemIndex) => {
37
+ const {
38
+ isHighlighted,
39
+ isFaded
40
+ } = getHighlightStatus(itemIndex);
41
+ const attibuesOverride = _extends({
42
+ additionalRadius: 0
43
+ }, isFaded && faded || isHighlighted && highlighted || {});
44
+ const paddingAngle = Math.max(0, Math.PI * (attibuesOverride.paddingAngle ?? basePaddingAngle) / 180);
45
+ const innerRadius = Math.max(0, attibuesOverride.innerRadius ?? baseInnerRadius);
46
+ const outerRadius = Math.max(0, attibuesOverride.outerRadius ?? baseOuterRadius + attibuesOverride.additionalRadius);
47
+ const cornerRadius = attibuesOverride.cornerRadius ?? baseCornerRadius;
48
+ return _extends({}, item, attibuesOverride, {
49
+ isFaded,
50
+ isHighlighted,
51
+ paddingAngle,
52
+ innerRadius,
53
+ outerRadius,
54
+ cornerRadius
55
+ });
56
+ }), [baseCornerRadius, baseInnerRadius, baseOuterRadius, basePaddingAngle, data, faded, getHighlightStatus, highlighted]);
57
+ return dataWithHighlight;
58
+ }
@@ -42,7 +42,7 @@ const useChartDimensions = (inWidth, inHeight) => {
42
42
  let animationFrame;
43
43
  const observer = new ResizeObserver(() => {
44
44
  // See https://github.com/mui/mui-x/issues/8733
45
- animationFrame = window.requestAnimationFrame(() => {
45
+ animationFrame = requestAnimationFrame(() => {
46
46
  computeSize();
47
47
  });
48
48
  });
@@ -103,10 +103,10 @@ export const ResponsiveChartContainer = /*#__PURE__*/React.forwardRef(function R
103
103
  width: inWidth,
104
104
  height: inHeight
105
105
  },
106
- children: /*#__PURE__*/_jsx(ChartContainer, _extends({}, other, {
106
+ children: width && height ? /*#__PURE__*/_jsx(ChartContainer, _extends({}, other, {
107
107
  width: width,
108
108
  height: height,
109
109
  ref: ref
110
- }))
110
+ })) : null
111
111
  });
112
112
  });
@@ -5,6 +5,16 @@ import { getValueToPositionMapper } from '../hooks/useScale';
5
5
  import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
6
6
  import { InteractionContext } from '../context/InteractionProvider';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Demos:
10
+ *
11
+ * - [Scatter](https://mui.com/x/react-charts/scatter/)
12
+ * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
13
+ *
14
+ * API:
15
+ *
16
+ * - [Scatter API](https://mui.com/x/api/charts/scatter/)
17
+ */
8
18
  function Scatter(props) {
9
19
  const {
10
20
  series,
@@ -9,6 +9,16 @@ import { ChartsLegend } from '../ChartsLegend';
9
9
  import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ /**
13
+ * Demos:
14
+ *
15
+ * - [Scatter](https://mui.com/x/react-charts/scatter/)
16
+ * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
17
+ *
18
+ * API:
19
+ *
20
+ * - [ScatterChart API](https://mui.com/x/api/charts/scatter-chart/)
21
+ */
12
22
  const ScatterChart = /*#__PURE__*/React.forwardRef(function ScatterChart(props, ref) {
13
23
  const {
14
24
  xAxis,
@@ -78,18 +88,22 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
78
88
  * @default xAxisIds[0] The id of the first provided axis
79
89
  */
80
90
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
81
- axisId: PropTypes.string.isRequired,
91
+ axisId: PropTypes.string,
82
92
  classes: PropTypes.object,
83
93
  disableLine: PropTypes.bool,
84
94
  disableTicks: PropTypes.bool,
85
95
  fill: PropTypes.string,
86
96
  label: PropTypes.string,
87
97
  labelFontSize: PropTypes.number,
98
+ labelStyle: PropTypes.object,
88
99
  position: PropTypes.oneOf(['bottom', 'top']),
89
100
  slotProps: PropTypes.object,
90
101
  slots: PropTypes.object,
91
102
  stroke: PropTypes.string,
92
103
  tickFontSize: PropTypes.number,
104
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
105
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
106
+ tickLabelStyle: PropTypes.object,
93
107
  tickMaxStep: PropTypes.number,
94
108
  tickMinStep: PropTypes.number,
95
109
  tickNumber: PropTypes.number,
@@ -101,9 +115,21 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
101
115
  * Color palette used to colorize multiple series.
102
116
  */
103
117
  colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
118
+ /**
119
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
120
+ */
104
121
  dataset: PropTypes.arrayOf(PropTypes.object),
105
122
  desc: PropTypes.string,
123
+ /**
124
+ * If `true`, the charts will not listen to the mouse move event.
125
+ * It might break interactive features, but will improve performance.
126
+ * @default false
127
+ */
106
128
  disableAxisListener: PropTypes.bool,
129
+ /**
130
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
131
+ * @default undefined
132
+ */
107
133
  height: PropTypes.number,
108
134
  /**
109
135
  * Indicate which axis to display the left of the charts.
@@ -111,41 +137,47 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
111
137
  * @default yAxisIds[0] The id of the first provided axis
112
138
  */
113
139
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
114
- axisId: PropTypes.string.isRequired,
140
+ axisId: PropTypes.string,
115
141
  classes: PropTypes.object,
116
142
  disableLine: PropTypes.bool,
117
143
  disableTicks: PropTypes.bool,
118
144
  fill: PropTypes.string,
119
145
  label: PropTypes.string,
120
146
  labelFontSize: PropTypes.number,
147
+ labelStyle: PropTypes.object,
121
148
  position: PropTypes.oneOf(['left', 'right']),
122
149
  slotProps: PropTypes.object,
123
150
  slots: PropTypes.object,
124
151
  stroke: PropTypes.string,
125
152
  tickFontSize: PropTypes.number,
153
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
154
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
155
+ tickLabelStyle: PropTypes.object,
126
156
  tickMaxStep: PropTypes.number,
127
157
  tickMinStep: PropTypes.number,
128
158
  tickNumber: PropTypes.number,
129
159
  tickSize: PropTypes.number
130
160
  }), PropTypes.string]),
161
+ /**
162
+ * @deprecated Consider using `slotProps.legend` instead.
163
+ */
131
164
  legend: PropTypes.shape({
132
165
  classes: PropTypes.object,
133
166
  direction: PropTypes.oneOf(['column', 'row']),
134
167
  hidden: PropTypes.bool,
135
- itemWidth: PropTypes.number,
136
- markSize: PropTypes.number,
137
- offset: PropTypes.shape({
138
- x: PropTypes.number,
139
- y: PropTypes.number
140
- }),
141
168
  position: PropTypes.shape({
142
169
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
143
170
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
144
171
  }),
145
172
  slotProps: PropTypes.object,
146
- slots: PropTypes.object,
147
- spacing: PropTypes.number
173
+ slots: PropTypes.object
148
174
  }),
175
+ /**
176
+ * The margin between the SVG and the drawing area.
177
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
178
+ * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
179
+ * @default object Depends on the charts type.
180
+ */
149
181
  margin: PropTypes.shape({
150
182
  bottom: PropTypes.number,
151
183
  left: PropTypes.number,
@@ -158,18 +190,22 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
158
190
  * @default null
159
191
  */
160
192
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
161
- axisId: PropTypes.string.isRequired,
193
+ axisId: PropTypes.string,
162
194
  classes: PropTypes.object,
163
195
  disableLine: PropTypes.bool,
164
196
  disableTicks: PropTypes.bool,
165
197
  fill: PropTypes.string,
166
198
  label: PropTypes.string,
167
199
  labelFontSize: PropTypes.number,
200
+ labelStyle: PropTypes.object,
168
201
  position: PropTypes.oneOf(['left', 'right']),
169
202
  slotProps: PropTypes.object,
170
203
  slots: PropTypes.object,
171
204
  stroke: PropTypes.string,
172
205
  tickFontSize: PropTypes.number,
206
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
207
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
208
+ tickLabelStyle: PropTypes.object,
173
209
  tickMaxStep: PropTypes.number,
174
210
  tickMinStep: PropTypes.number,
175
211
  tickNumber: PropTypes.number,
@@ -210,6 +246,8 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
210
246
  axisContent: PropTypes.elementType,
211
247
  classes: PropTypes.object,
212
248
  itemContent: PropTypes.elementType,
249
+ slotProps: PropTypes.object,
250
+ slots: PropTypes.object,
213
251
  trigger: PropTypes.oneOf(['axis', 'item', 'none'])
214
252
  }),
215
253
  /**
@@ -218,18 +256,22 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
218
256
  * @default null
219
257
  */
220
258
  topAxis: PropTypes.oneOfType([PropTypes.shape({
221
- axisId: PropTypes.string.isRequired,
259
+ axisId: PropTypes.string,
222
260
  classes: PropTypes.object,
223
261
  disableLine: PropTypes.bool,
224
262
  disableTicks: PropTypes.bool,
225
263
  fill: PropTypes.string,
226
264
  label: PropTypes.string,
227
265
  labelFontSize: PropTypes.number,
266
+ labelStyle: PropTypes.object,
228
267
  position: PropTypes.oneOf(['bottom', 'top']),
229
268
  slotProps: PropTypes.object,
230
269
  slots: PropTypes.object,
231
270
  stroke: PropTypes.string,
232
271
  tickFontSize: PropTypes.number,
272
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
273
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
274
+ tickLabelStyle: PropTypes.object,
233
275
  tickMaxStep: PropTypes.number,
234
276
  tickMinStep: PropTypes.number,
235
277
  tickNumber: PropTypes.number,
@@ -241,7 +283,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
241
283
  x: PropTypes.number,
242
284
  y: PropTypes.number
243
285
  }),
286
+ /**
287
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
288
+ * @default undefined
289
+ */
244
290
  width: PropTypes.number,
291
+ /**
292
+ * The configuration of the x-axes.
293
+ * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
294
+ */
245
295
  xAxis: PropTypes.arrayOf(PropTypes.shape({
246
296
  axisId: PropTypes.string,
247
297
  classes: PropTypes.object,
@@ -254,6 +304,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
254
304
  id: PropTypes.string,
255
305
  label: PropTypes.string,
256
306
  labelFontSize: PropTypes.number,
307
+ labelStyle: PropTypes.object,
257
308
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
258
309
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
259
310
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -262,12 +313,19 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
262
313
  slots: PropTypes.object,
263
314
  stroke: PropTypes.string,
264
315
  tickFontSize: PropTypes.number,
316
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
317
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
318
+ tickLabelStyle: PropTypes.object,
265
319
  tickMaxStep: PropTypes.number,
266
320
  tickMinStep: PropTypes.number,
267
321
  tickNumber: PropTypes.number,
268
322
  tickSize: PropTypes.number,
269
323
  valueFormatter: PropTypes.func
270
324
  })),
325
+ /**
326
+ * The configuration of the y-axes.
327
+ * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
328
+ */
271
329
  yAxis: PropTypes.arrayOf(PropTypes.shape({
272
330
  axisId: PropTypes.string,
273
331
  classes: PropTypes.object,
@@ -280,6 +338,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
280
338
  id: PropTypes.string,
281
339
  label: PropTypes.string,
282
340
  labelFontSize: PropTypes.number,
341
+ labelStyle: PropTypes.object,
283
342
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
284
343
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
285
344
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -288,6 +347,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
288
347
  slots: PropTypes.object,
289
348
  stroke: PropTypes.string,
290
349
  tickFontSize: PropTypes.number,
350
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
351
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
352
+ tickLabelStyle: PropTypes.object,
291
353
  tickMaxStep: PropTypes.number,
292
354
  tickMinStep: PropTypes.number,
293
355
  tickNumber: PropTypes.number,
@@ -5,6 +5,16 @@ import { Scatter } from './Scatter';
5
5
  import { SeriesContext } from '../context/SeriesContextProvider';
6
6
  import { CartesianContext } from '../context/CartesianContextProvider';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * Demos:
10
+ *
11
+ * - [Scatter](https://mui.com/x/react-charts/scatter/)
12
+ * - [Scatter demonstration](https://mui.com/x/react-charts/scatter-demo/)
13
+ *
14
+ * API:
15
+ *
16
+ * - [ScatterPlot API](https://mui.com/x/api/charts/scatter-plot/)
17
+ */
8
18
  function ScatterPlot(props) {
9
19
  const {
10
20
  slots,