@mui/x-charts 6.0.0-alpha.8 → 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 (286) 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 +786 -48
  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 +12 -2
  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 +21 -3
  44. package/LineChart/LineChart.js +61 -14
  45. package/LineChart/LineElement.d.ts +12 -2
  46. package/LineChart/LineElement.js +14 -6
  47. package/LineChart/LineHighlightElement.d.ts +31 -0
  48. package/LineChart/LineHighlightElement.js +88 -0
  49. package/LineChart/LineHighlightPlot.d.ts +35 -0
  50. package/LineChart/LineHighlightPlot.js +110 -0
  51. package/LineChart/LinePlot.d.ts +10 -0
  52. package/LineChart/LinePlot.js +25 -12
  53. package/LineChart/MarkElement.d.ts +11 -1
  54. package/LineChart/MarkElement.js +15 -9
  55. package/LineChart/MarkPlot.d.ts +10 -0
  56. package/LineChart/MarkPlot.js +62 -15
  57. package/LineChart/formatter.js +5 -5
  58. package/LineChart/index.d.ts +2 -0
  59. package/LineChart/index.js +20 -0
  60. package/LineChart/legend.js +1 -2
  61. package/PieChart/PieArc.d.ts +12 -14
  62. package/PieChart/PieArc.js +28 -60
  63. package/PieChart/PieArcLabel.d.ts +9 -10
  64. package/PieChart/PieArcLabel.js +46 -38
  65. package/PieChart/PieArcLabelPlot.d.ts +28 -0
  66. package/PieChart/PieArcLabelPlot.js +99 -0
  67. package/PieChart/PieArcPlot.d.ts +35 -0
  68. package/PieChart/PieArcPlot.js +92 -0
  69. package/PieChart/PieChart.d.ts +19 -5
  70. package/PieChart/PieChart.js +61 -14
  71. package/PieChart/PiePlot.d.ts +15 -9
  72. package/PieChart/PiePlot.js +77 -55
  73. package/PieChart/dataTransform/transition.d.ts +4 -0
  74. package/PieChart/dataTransform/transition.js +136 -0
  75. package/PieChart/dataTransform/useTransformData.d.ts +15 -0
  76. package/PieChart/dataTransform/useTransformData.js +67 -0
  77. package/PieChart/formatter.js +1 -2
  78. package/PieChart/legend.js +1 -2
  79. package/README.md +8 -14
  80. package/ResponsiveChartContainer/index.js +7 -8
  81. package/ScatterChart/Scatter.d.ts +10 -0
  82. package/ScatterChart/Scatter.js +12 -2
  83. package/ScatterChart/ScatterChart.d.ts +16 -3
  84. package/ScatterChart/ScatterChart.js +43 -12
  85. package/ScatterChart/ScatterPlot.d.ts +10 -0
  86. package/ScatterChart/ScatterPlot.js +12 -2
  87. package/ScatterChart/formatter.js +1 -2
  88. package/ScatterChart/legend.js +1 -2
  89. package/SparkLineChart/SparkLineChart.d.ts +13 -3
  90. package/SparkLineChart/SparkLineChart.js +34 -18
  91. package/colorPalettes/colorPalettes.js +6 -12
  92. package/constants.js +5 -8
  93. package/context/CartesianContextProvider.d.ts +5 -0
  94. package/context/CartesianContextProvider.js +31 -16
  95. package/context/DrawingProvider.d.ts +7 -0
  96. package/context/DrawingProvider.js +12 -6
  97. package/context/HighlightProvider.js +3 -4
  98. package/context/InteractionProvider.js +3 -4
  99. package/context/SeriesContextProvider.js +3 -4
  100. package/esm/BarChart/BarChart.js +49 -9
  101. package/esm/BarChart/BarElement.js +7 -4
  102. package/esm/BarChart/BarPlot.js +152 -67
  103. package/esm/BarChart/formatter.js +1 -1
  104. package/esm/ChartContainer/index.js +3 -0
  105. package/esm/ChartsAxis/ChartsAxis.js +26 -0
  106. package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  107. package/esm/ChartsClipPath/ChartsClipPath.js +5 -0
  108. package/esm/ChartsLegend/ChartsLegend.js +188 -142
  109. package/esm/ChartsSurface.js +4 -12
  110. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  111. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  112. package/esm/ChartsTooltip/ChartsTooltip.js +59 -14
  113. package/esm/ChartsTooltip/ChartsTooltipTable.js +17 -10
  114. package/esm/ChartsXAxis/ChartsXAxis.js +158 -37
  115. package/esm/ChartsYAxis/ChartsYAxis.js +83 -30
  116. package/esm/LineChart/AreaElement.js +10 -0
  117. package/esm/LineChart/AreaPlot.js +26 -6
  118. package/esm/LineChart/LineChart.js +58 -10
  119. package/esm/LineChart/LineElement.js +10 -0
  120. package/esm/LineChart/LineHighlightElement.js +78 -0
  121. package/esm/LineChart/LineHighlightPlot.js +103 -0
  122. package/esm/LineChart/LinePlot.js +25 -14
  123. package/esm/LineChart/MarkElement.js +12 -5
  124. package/esm/LineChart/MarkPlot.js +60 -13
  125. package/esm/LineChart/formatter.js +7 -3
  126. package/esm/LineChart/index.js +3 -1
  127. package/esm/PieChart/PieArc.js +26 -58
  128. package/esm/PieChart/PieArcLabel.js +43 -34
  129. package/esm/PieChart/PieArcLabelPlot.js +92 -0
  130. package/esm/PieChart/PieArcPlot.js +84 -0
  131. package/esm/PieChart/PieChart.js +59 -12
  132. package/esm/PieChart/PiePlot.js +76 -57
  133. package/esm/PieChart/dataTransform/transition.js +130 -0
  134. package/esm/PieChart/dataTransform/useTransformData.js +59 -0
  135. package/esm/ResponsiveChartContainer/index.js +3 -3
  136. package/esm/ScatterChart/Scatter.js +10 -0
  137. package/esm/ScatterChart/ScatterChart.js +40 -8
  138. package/esm/ScatterChart/ScatterPlot.js +10 -0
  139. package/esm/SparkLineChart/SparkLineChart.js +32 -15
  140. package/esm/constants.js +1 -1
  141. package/esm/context/CartesianContextProvider.js +30 -14
  142. package/esm/context/DrawingProvider.js +8 -0
  143. package/esm/hooks/useChartDimensions.js +2 -0
  144. package/esm/hooks/useMounted.js +16 -0
  145. package/esm/hooks/useReducedMotion.js +27 -0
  146. package/esm/hooks/useTicks.js +15 -9
  147. package/esm/internals/components/AxisSharedComponents.js +15 -70
  148. package/esm/internals/components/ChartsText.js +77 -0
  149. package/esm/internals/domUtils.js +113 -0
  150. package/esm/internals/geometry.js +36 -0
  151. package/hooks/useAxisEvents.js +2 -2
  152. package/hooks/useChartDimensions.d.ts +2 -0
  153. package/hooks/useChartDimensions.js +5 -4
  154. package/hooks/useDrawingArea.js +2 -2
  155. package/hooks/useInteractionItemProps.js +2 -2
  156. package/hooks/useMounted.d.ts +1 -0
  157. package/hooks/useMounted.js +25 -0
  158. package/hooks/useReducedMotion.d.ts +8 -0
  159. package/hooks/useReducedMotion.js +33 -0
  160. package/hooks/useScale.d.ts +2 -2
  161. package/hooks/useScale.js +2 -2
  162. package/hooks/useTicks.d.ts +19 -11
  163. package/hooks/useTicks.js +19 -14
  164. package/index.js +1 -1
  165. package/internals/components/AxisSharedComponents.d.ts +0 -4
  166. package/internals/components/AxisSharedComponents.js +18 -78
  167. package/internals/components/ChartsText.d.ts +35 -0
  168. package/internals/components/ChartsText.js +87 -0
  169. package/internals/defaultizeColor.d.ts +8 -1
  170. package/internals/defaultizeValueFormatter.js +1 -2
  171. package/internals/domUtils.d.ts +13 -0
  172. package/internals/domUtils.js +122 -0
  173. package/internals/geometry.d.ts +9 -0
  174. package/internals/geometry.js +42 -0
  175. package/internals/stackSeries.js +2 -4
  176. package/legacy/BarChart/BarChart.js +49 -9
  177. package/legacy/BarChart/BarElement.js +6 -3
  178. package/legacy/BarChart/BarPlot.js +151 -63
  179. package/legacy/BarChart/formatter.js +1 -1
  180. package/legacy/ChartContainer/index.js +3 -0
  181. package/legacy/ChartsAxis/ChartsAxis.js +26 -0
  182. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +60 -20
  183. package/legacy/ChartsClipPath/ChartsClipPath.js +5 -0
  184. package/legacy/ChartsLegend/ChartsLegend.js +203 -140
  185. package/legacy/ChartsSurface.js +3 -12
  186. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +22 -10
  187. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  188. package/legacy/ChartsTooltip/ChartsTooltip.js +62 -14
  189. package/legacy/ChartsTooltip/ChartsTooltipTable.js +34 -26
  190. package/legacy/ChartsXAxis/ChartsXAxis.js +162 -39
  191. package/legacy/ChartsYAxis/ChartsYAxis.js +83 -30
  192. package/legacy/LineChart/AreaElement.js +10 -0
  193. package/legacy/LineChart/AreaPlot.js +31 -7
  194. package/legacy/LineChart/LineChart.js +58 -10
  195. package/legacy/LineChart/LineElement.js +10 -0
  196. package/legacy/LineChart/LineHighlightElement.js +77 -0
  197. package/legacy/LineChart/LineHighlightPlot.js +96 -0
  198. package/legacy/LineChart/LinePlot.js +29 -12
  199. package/legacy/LineChart/MarkElement.js +12 -5
  200. package/legacy/LineChart/MarkPlot.js +50 -5
  201. package/legacy/LineChart/formatter.js +7 -3
  202. package/legacy/LineChart/index.js +3 -1
  203. package/legacy/PieChart/PieArc.js +30 -62
  204. package/legacy/PieChart/PieArcLabel.js +48 -34
  205. package/legacy/PieChart/PieArcLabelPlot.js +93 -0
  206. package/legacy/PieChart/PieArcPlot.js +84 -0
  207. package/legacy/PieChart/PieChart.js +59 -12
  208. package/legacy/PieChart/PiePlot.js +76 -59
  209. package/legacy/PieChart/dataTransform/transition.js +142 -0
  210. package/legacy/PieChart/dataTransform/useTransformData.js +60 -0
  211. package/legacy/ResponsiveChartContainer/index.js +3 -3
  212. package/legacy/ScatterChart/Scatter.js +10 -0
  213. package/legacy/ScatterChart/ScatterChart.js +40 -8
  214. package/legacy/ScatterChart/ScatterPlot.js +10 -0
  215. package/legacy/SparkLineChart/SparkLineChart.js +32 -13
  216. package/legacy/constants.js +1 -1
  217. package/legacy/context/CartesianContextProvider.js +30 -14
  218. package/legacy/context/DrawingProvider.js +8 -0
  219. package/legacy/hooks/useChartDimensions.js +2 -0
  220. package/legacy/hooks/useMounted.js +21 -0
  221. package/legacy/hooks/useReducedMotion.js +27 -0
  222. package/legacy/hooks/useTicks.js +16 -9
  223. package/legacy/index.js +1 -1
  224. package/legacy/internals/components/AxisSharedComponents.js +11 -65
  225. package/legacy/internals/components/ChartsText.js +79 -0
  226. package/legacy/internals/domUtils.js +121 -0
  227. package/legacy/internals/geometry.js +37 -0
  228. package/models/axis.d.ts +27 -9
  229. package/models/layout.d.ts +7 -6
  230. package/models/seriesType/line.d.ts +39 -1
  231. package/models/seriesType/pie.d.ts +5 -1
  232. package/modern/BarChart/BarChart.js +49 -9
  233. package/modern/BarChart/BarElement.js +7 -4
  234. package/modern/BarChart/BarPlot.js +149 -65
  235. package/modern/BarChart/formatter.js +1 -1
  236. package/modern/ChartContainer/index.js +3 -0
  237. package/modern/ChartsAxis/ChartsAxis.js +26 -0
  238. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +57 -20
  239. package/modern/ChartsClipPath/ChartsClipPath.js +5 -0
  240. package/modern/ChartsLegend/ChartsLegend.js +188 -142
  241. package/modern/ChartsSurface.js +4 -12
  242. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +44 -30
  243. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +15 -7
  244. package/modern/ChartsTooltip/ChartsTooltip.js +58 -14
  245. package/modern/ChartsTooltip/ChartsTooltipTable.js +17 -10
  246. package/modern/ChartsXAxis/ChartsXAxis.js +158 -37
  247. package/modern/ChartsYAxis/ChartsYAxis.js +83 -30
  248. package/modern/LineChart/AreaElement.js +10 -0
  249. package/modern/LineChart/AreaPlot.js +25 -6
  250. package/modern/LineChart/LineChart.js +58 -10
  251. package/modern/LineChart/LineElement.js +10 -0
  252. package/modern/LineChart/LineHighlightElement.js +78 -0
  253. package/modern/LineChart/LineHighlightPlot.js +102 -0
  254. package/modern/LineChart/LinePlot.js +23 -10
  255. package/modern/LineChart/MarkElement.js +12 -5
  256. package/modern/LineChart/MarkPlot.js +60 -13
  257. package/modern/LineChart/formatter.js +4 -3
  258. package/modern/LineChart/index.js +3 -1
  259. package/modern/PieChart/PieArc.js +26 -57
  260. package/modern/PieChart/PieArcLabel.js +43 -34
  261. package/modern/PieChart/PieArcLabelPlot.js +90 -0
  262. package/modern/PieChart/PieArcPlot.js +83 -0
  263. package/modern/PieChart/PieChart.js +59 -12
  264. package/modern/PieChart/PiePlot.js +76 -55
  265. package/modern/PieChart/dataTransform/transition.js +130 -0
  266. package/modern/PieChart/dataTransform/useTransformData.js +58 -0
  267. package/modern/ResponsiveChartContainer/index.js +3 -3
  268. package/modern/ScatterChart/Scatter.js +10 -0
  269. package/modern/ScatterChart/ScatterChart.js +40 -8
  270. package/modern/ScatterChart/ScatterPlot.js +10 -0
  271. package/modern/SparkLineChart/SparkLineChart.js +32 -15
  272. package/modern/constants.js +1 -1
  273. package/modern/context/CartesianContextProvider.js +29 -13
  274. package/modern/context/DrawingProvider.js +8 -0
  275. package/modern/hooks/useChartDimensions.js +2 -0
  276. package/modern/hooks/useMounted.js +16 -0
  277. package/modern/hooks/useReducedMotion.js +27 -0
  278. package/modern/hooks/useTicks.js +15 -9
  279. package/modern/index.js +1 -1
  280. package/modern/internals/components/AxisSharedComponents.js +15 -70
  281. package/modern/internals/components/ChartsText.js +77 -0
  282. package/modern/internals/domUtils.js +113 -0
  283. package/modern/internals/geometry.js +36 -0
  284. package/package.json +9 -6
  285. package/themeAugmentation/components.d.ts +1 -0
  286. 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,
@@ -85,11 +95,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
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,
@@ -118,33 +132,33 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
118
132
  fill: PropTypes.string,
119
133
  label: PropTypes.string,
120
134
  labelFontSize: PropTypes.number,
135
+ labelStyle: PropTypes.object,
121
136
  position: PropTypes.oneOf(['left', 'right']),
122
137
  slotProps: PropTypes.object,
123
138
  slots: PropTypes.object,
124
139
  stroke: PropTypes.string,
125
140
  tickFontSize: PropTypes.number,
141
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
142
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
143
+ tickLabelStyle: PropTypes.object,
126
144
  tickMaxStep: PropTypes.number,
127
145
  tickMinStep: PropTypes.number,
128
146
  tickNumber: PropTypes.number,
129
147
  tickSize: PropTypes.number
130
148
  }), PropTypes.string]),
149
+ /**
150
+ * @deprecated Consider using `slotProps.legend` instead.
151
+ */
131
152
  legend: PropTypes.shape({
132
153
  classes: PropTypes.object,
133
154
  direction: PropTypes.oneOf(['column', 'row']),
134
155
  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
156
  position: PropTypes.shape({
142
157
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
143
158
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
144
159
  }),
145
160
  slotProps: PropTypes.object,
146
- slots: PropTypes.object,
147
- spacing: PropTypes.number
161
+ slots: PropTypes.object
148
162
  }),
149
163
  margin: PropTypes.shape({
150
164
  bottom: PropTypes.number,
@@ -165,11 +179,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
165
179
  fill: PropTypes.string,
166
180
  label: PropTypes.string,
167
181
  labelFontSize: PropTypes.number,
182
+ labelStyle: PropTypes.object,
168
183
  position: PropTypes.oneOf(['left', 'right']),
169
184
  slotProps: PropTypes.object,
170
185
  slots: PropTypes.object,
171
186
  stroke: PropTypes.string,
172
187
  tickFontSize: PropTypes.number,
188
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
189
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
190
+ tickLabelStyle: PropTypes.object,
173
191
  tickMaxStep: PropTypes.number,
174
192
  tickMinStep: PropTypes.number,
175
193
  tickNumber: PropTypes.number,
@@ -210,6 +228,8 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
210
228
  axisContent: PropTypes.elementType,
211
229
  classes: PropTypes.object,
212
230
  itemContent: PropTypes.elementType,
231
+ slotProps: PropTypes.object,
232
+ slots: PropTypes.object,
213
233
  trigger: PropTypes.oneOf(['axis', 'item', 'none'])
214
234
  }),
215
235
  /**
@@ -225,11 +245,15 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
225
245
  fill: PropTypes.string,
226
246
  label: PropTypes.string,
227
247
  labelFontSize: PropTypes.number,
248
+ labelStyle: PropTypes.object,
228
249
  position: PropTypes.oneOf(['bottom', 'top']),
229
250
  slotProps: PropTypes.object,
230
251
  slots: PropTypes.object,
231
252
  stroke: PropTypes.string,
232
253
  tickFontSize: PropTypes.number,
254
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
255
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
256
+ tickLabelStyle: PropTypes.object,
233
257
  tickMaxStep: PropTypes.number,
234
258
  tickMinStep: PropTypes.number,
235
259
  tickNumber: PropTypes.number,
@@ -254,6 +278,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
254
278
  id: PropTypes.string,
255
279
  label: PropTypes.string,
256
280
  labelFontSize: PropTypes.number,
281
+ labelStyle: PropTypes.object,
257
282
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
258
283
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
259
284
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -262,6 +287,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
262
287
  slots: PropTypes.object,
263
288
  stroke: PropTypes.string,
264
289
  tickFontSize: PropTypes.number,
290
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
291
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
292
+ tickLabelStyle: PropTypes.object,
265
293
  tickMaxStep: PropTypes.number,
266
294
  tickMinStep: PropTypes.number,
267
295
  tickNumber: PropTypes.number,
@@ -280,6 +308,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
280
308
  id: PropTypes.string,
281
309
  label: PropTypes.string,
282
310
  labelFontSize: PropTypes.number,
311
+ labelStyle: PropTypes.object,
283
312
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
284
313
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
285
314
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -288,6 +317,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
288
317
  slots: PropTypes.object,
289
318
  stroke: PropTypes.string,
290
319
  tickFontSize: PropTypes.number,
320
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
321
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
322
+ tickLabelStyle: PropTypes.object,
291
323
  tickMaxStep: PropTypes.number,
292
324
  tickMinStep: PropTypes.number,
293
325
  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,
@@ -1,29 +1,30 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { styled } from '@mui/material/styles';
5
4
  import { BarPlot } from '../BarChart';
6
- import { LinePlot, MarkPlot, AreaPlot, markElementClasses } from '../LineChart';
5
+ import { LinePlot, AreaPlot, LineHighlightPlot } from '../LineChart';
7
6
  import { ResponsiveChartContainer } from '../ResponsiveChartContainer';
8
7
  import { DEFAULT_X_AXIS_KEY } from '../constants';
9
8
  import { ChartsTooltip } from '../ChartsTooltip';
10
9
  import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
- const SparkLineMarkPlot = styled(MarkPlot)({
14
- [`& .${markElementClasses.root}`]: {
15
- display: 'none',
16
- [`&.${markElementClasses.highlighted}`]: {
17
- display: 'inherit'
18
- }
19
- }
20
- });
21
12
  const SPARKLINE_DEFAULT_MARGIN = {
22
13
  top: 5,
23
14
  bottom: 5,
24
15
  left: 5,
25
16
  right: 5
26
17
  };
18
+
19
+ /**
20
+ * Demos:
21
+ *
22
+ * - [SparkLine](https://mui.com/x/react-charts/sparkline/)
23
+ *
24
+ * API:
25
+ *
26
+ * - [SparkLineChart API](https://mui.com/x/api/charts/spark-line-chart/)
27
+ */
27
28
  const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(props, ref) {
28
29
  const {
29
30
  xAxis,
@@ -59,14 +60,15 @@ const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(pro
59
60
  valueFormatter
60
61
  }, plotType === 'bar' ? {} : {
61
62
  area,
62
- curve
63
+ curve,
64
+ disableHighlight: !showHighlight
63
65
  })],
64
66
  width: width,
65
67
  height: height,
66
68
  margin: margin,
67
69
  xAxis: [_extends({
68
70
  id: DEFAULT_X_AXIS_KEY,
69
- scaleType: plotType === 'bar' ? 'band' : 'linear',
71
+ scaleType: plotType === 'bar' ? 'band' : 'point',
70
72
  data: Array.from({
71
73
  length: data.length
72
74
  }, (_, index) => index),
@@ -77,7 +79,10 @@ const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(pro
77
79
  disableAxisListener: (!showTooltip || tooltip?.trigger !== 'axis') && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
78
80
  children: [plotType === 'bar' && /*#__PURE__*/_jsx(BarPlot, {
79
81
  slots: slots,
80
- slotProps: slotProps
82
+ slotProps: slotProps,
83
+ sx: {
84
+ shapeRendering: 'auto'
85
+ }
81
86
  }), plotType === 'line' && /*#__PURE__*/_jsxs(React.Fragment, {
82
87
  children: [/*#__PURE__*/_jsx(AreaPlot, {
83
88
  slots: slots,
@@ -85,8 +90,14 @@ const SparkLineChart = /*#__PURE__*/React.forwardRef(function SparkLineChart(pro
85
90
  }), /*#__PURE__*/_jsx(LinePlot, {
86
91
  slots: slots,
87
92
  slotProps: slotProps
88
- }), showHighlight && /*#__PURE__*/_jsx(SparkLineMarkPlot, {})]
89
- }), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlight)), showTooltip && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip)), children]
93
+ }), /*#__PURE__*/_jsx(LineHighlightPlot, {
94
+ slots: slots,
95
+ slotProps: slotProps
96
+ })]
97
+ }), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlight)), showTooltip && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip, {
98
+ slotProps: slotProps,
99
+ slots: slots
100
+ })), children]
90
101
  });
91
102
  });
92
103
  process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
@@ -161,6 +172,8 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
161
172
  axisContent: PropTypes.elementType,
162
173
  classes: PropTypes.object,
163
174
  itemContent: PropTypes.elementType,
175
+ slotProps: PropTypes.object,
176
+ slots: PropTypes.object,
164
177
  trigger: PropTypes.oneOf(['axis', 'item', 'none'])
165
178
  }),
166
179
  /**
@@ -192,6 +205,7 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
192
205
  id: PropTypes.string,
193
206
  label: PropTypes.string,
194
207
  labelFontSize: PropTypes.number,
208
+ labelStyle: PropTypes.object,
195
209
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
196
210
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
197
211
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -200,6 +214,9 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
200
214
  slots: PropTypes.object,
201
215
  stroke: PropTypes.string,
202
216
  tickFontSize: PropTypes.number,
217
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
218
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
219
+ tickLabelStyle: PropTypes.object,
203
220
  tickMaxStep: PropTypes.number,
204
221
  tickMinStep: PropTypes.number,
205
222
  tickNumber: PropTypes.number,
@@ -1,7 +1,7 @@
1
1
  export const DEFAULT_X_AXIS_KEY = 'DEFAULT_X_AXIS_KEY';
2
2
  export const DEFAULT_Y_AXIS_KEY = 'DEFAULT_Y_AXIS_KEY';
3
3
  export const DEFAULT_MARGINS = {
4
- top: 100,
4
+ top: 50,
5
5
  bottom: 50,
6
6
  left: 50,
7
7
  right: 50