@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
@@ -15,6 +15,16 @@ import { ChartsClipPath } from '../ChartsClipPath';
15
15
  import { LineHighlightPlot } from './LineHighlightPlot';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
+ /**
19
+ * Demos:
20
+ *
21
+ * - [Lines](https://mui.com/x/react-charts/lines/)
22
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
23
+ *
24
+ * API:
25
+ *
26
+ * - [LineChart API](https://mui.com/x/api/charts/line-chart/)
27
+ */
18
28
  const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
19
29
  const {
20
30
  xAxis,
@@ -91,7 +101,10 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
91
101
  }), /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legend, {
92
102
  slots: slots,
93
103
  slotProps: slotProps
94
- })), /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip)), /*#__PURE__*/_jsx(ChartsClipPath, {
104
+ })), /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip, {
105
+ slots: slots,
106
+ slotProps: slotProps
107
+ })), /*#__PURE__*/_jsx(ChartsClipPath, {
95
108
  id: clipPathId
96
109
  }), children]
97
110
  });
@@ -101,6 +114,13 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
101
114
  // | These PropTypes are generated from the TypeScript type definitions |
102
115
  // | To update them edit the TypeScript types and run "yarn proptypes" |
103
116
  // ----------------------------------------------------------------------
117
+ /**
118
+ * Object `{ x, y }` that defines how the charts highlight the mouse position along the x- and y-axes.
119
+ * The two properties accept the following values:
120
+ * - 'none': display nothing.
121
+ * - 'line': display a line at the current mouse position.
122
+ * - 'band': display a band at the current mouse position. Only available with band scale.
123
+ */
104
124
  axisHighlight: PropTypes.shape({
105
125
  x: PropTypes.oneOf(['band', 'line', 'none']),
106
126
  y: PropTypes.oneOf(['band', 'line', 'none'])
@@ -111,18 +131,22 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
111
131
  * @default xAxisIds[0] The id of the first provided axis
112
132
  */
113
133
  bottomAxis: PropTypes.oneOfType([PropTypes.shape({
114
- axisId: PropTypes.string.isRequired,
134
+ axisId: PropTypes.string,
115
135
  classes: PropTypes.object,
116
136
  disableLine: PropTypes.bool,
117
137
  disableTicks: PropTypes.bool,
118
138
  fill: PropTypes.string,
119
139
  label: PropTypes.string,
120
140
  labelFontSize: PropTypes.number,
141
+ labelStyle: PropTypes.object,
121
142
  position: PropTypes.oneOf(['bottom', 'top']),
122
143
  slotProps: PropTypes.object,
123
144
  slots: PropTypes.object,
124
145
  stroke: PropTypes.string,
125
146
  tickFontSize: PropTypes.number,
147
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
148
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
149
+ tickLabelStyle: PropTypes.object,
126
150
  tickMaxStep: PropTypes.number,
127
151
  tickMinStep: PropTypes.number,
128
152
  tickNumber: PropTypes.number,
@@ -134,13 +158,25 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
134
158
  * Color palette used to colorize multiple series.
135
159
  */
136
160
  colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
161
+ /**
162
+ * An array of objects that can be used to populate series and axes data using their `dataKey` property.
163
+ */
137
164
  dataset: PropTypes.arrayOf(PropTypes.object),
138
165
  desc: PropTypes.string,
166
+ /**
167
+ * If `true`, the charts will not listen to the mouse move event.
168
+ * It might break interactive features, but will improve performance.
169
+ * @default false
170
+ */
139
171
  disableAxisListener: PropTypes.bool,
140
172
  /**
141
173
  * If `true`, render the line highlight item.
142
174
  */
143
175
  disableLineItemHighlight: PropTypes.bool,
176
+ /**
177
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
178
+ * @default undefined
179
+ */
144
180
  height: PropTypes.number,
145
181
  /**
146
182
  * Indicate which axis to display the left of the charts.
@@ -148,41 +184,47 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
148
184
  * @default yAxisIds[0] The id of the first provided axis
149
185
  */
150
186
  leftAxis: PropTypes.oneOfType([PropTypes.shape({
151
- axisId: PropTypes.string.isRequired,
187
+ axisId: PropTypes.string,
152
188
  classes: PropTypes.object,
153
189
  disableLine: PropTypes.bool,
154
190
  disableTicks: PropTypes.bool,
155
191
  fill: PropTypes.string,
156
192
  label: PropTypes.string,
157
193
  labelFontSize: PropTypes.number,
194
+ labelStyle: PropTypes.object,
158
195
  position: PropTypes.oneOf(['left', 'right']),
159
196
  slotProps: PropTypes.object,
160
197
  slots: PropTypes.object,
161
198
  stroke: PropTypes.string,
162
199
  tickFontSize: PropTypes.number,
200
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
201
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
202
+ tickLabelStyle: PropTypes.object,
163
203
  tickMaxStep: PropTypes.number,
164
204
  tickMinStep: PropTypes.number,
165
205
  tickNumber: PropTypes.number,
166
206
  tickSize: PropTypes.number
167
207
  }), PropTypes.string]),
208
+ /**
209
+ * @deprecated Consider using `slotProps.legend` instead.
210
+ */
168
211
  legend: PropTypes.shape({
169
212
  classes: PropTypes.object,
170
213
  direction: PropTypes.oneOf(['column', 'row']),
171
214
  hidden: PropTypes.bool,
172
- itemWidth: PropTypes.number,
173
- markSize: PropTypes.number,
174
- offset: PropTypes.shape({
175
- x: PropTypes.number,
176
- y: PropTypes.number
177
- }),
178
215
  position: PropTypes.shape({
179
216
  horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
180
217
  vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
181
218
  }),
182
219
  slotProps: PropTypes.object,
183
- slots: PropTypes.object,
184
- spacing: PropTypes.number
220
+ slots: PropTypes.object
185
221
  }),
222
+ /**
223
+ * The margin between the SVG and the drawing area.
224
+ * It's used for leaving some space for extra information such as the x- and y-axis or legend.
225
+ * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
226
+ * @default object Depends on the charts type.
227
+ */
186
228
  margin: PropTypes.shape({
187
229
  bottom: PropTypes.number,
188
230
  left: PropTypes.number,
@@ -195,18 +237,22 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
195
237
  * @default null
196
238
  */
197
239
  rightAxis: PropTypes.oneOfType([PropTypes.shape({
198
- axisId: PropTypes.string.isRequired,
240
+ axisId: PropTypes.string,
199
241
  classes: PropTypes.object,
200
242
  disableLine: PropTypes.bool,
201
243
  disableTicks: PropTypes.bool,
202
244
  fill: PropTypes.string,
203
245
  label: PropTypes.string,
204
246
  labelFontSize: PropTypes.number,
247
+ labelStyle: PropTypes.object,
205
248
  position: PropTypes.oneOf(['left', 'right']),
206
249
  slotProps: PropTypes.object,
207
250
  slots: PropTypes.object,
208
251
  stroke: PropTypes.string,
209
252
  tickFontSize: PropTypes.number,
253
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
254
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
255
+ tickLabelStyle: PropTypes.object,
210
256
  tickMaxStep: PropTypes.number,
211
257
  tickMinStep: PropTypes.number,
212
258
  tickNumber: PropTypes.number,
@@ -215,6 +261,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
215
261
  series: PropTypes.arrayOf(PropTypes.shape({
216
262
  area: PropTypes.bool,
217
263
  color: PropTypes.string,
264
+ connectNulls: PropTypes.bool,
218
265
  curve: PropTypes.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
219
266
  data: PropTypes.arrayOf(PropTypes.number),
220
267
  dataKey: PropTypes.string,
@@ -250,6 +297,8 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
250
297
  axisContent: PropTypes.elementType,
251
298
  classes: PropTypes.object,
252
299
  itemContent: PropTypes.elementType,
300
+ slotProps: PropTypes.object,
301
+ slots: PropTypes.object,
253
302
  trigger: PropTypes.oneOf(['axis', 'item', 'none'])
254
303
  }),
255
304
  /**
@@ -258,18 +307,22 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
258
307
  * @default null
259
308
  */
260
309
  topAxis: PropTypes.oneOfType([PropTypes.shape({
261
- axisId: PropTypes.string.isRequired,
310
+ axisId: PropTypes.string,
262
311
  classes: PropTypes.object,
263
312
  disableLine: PropTypes.bool,
264
313
  disableTicks: PropTypes.bool,
265
314
  fill: PropTypes.string,
266
315
  label: PropTypes.string,
267
316
  labelFontSize: PropTypes.number,
317
+ labelStyle: PropTypes.object,
268
318
  position: PropTypes.oneOf(['bottom', 'top']),
269
319
  slotProps: PropTypes.object,
270
320
  slots: PropTypes.object,
271
321
  stroke: PropTypes.string,
272
322
  tickFontSize: PropTypes.number,
323
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
324
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
325
+ tickLabelStyle: PropTypes.object,
273
326
  tickMaxStep: PropTypes.number,
274
327
  tickMinStep: PropTypes.number,
275
328
  tickNumber: PropTypes.number,
@@ -281,7 +334,15 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
281
334
  x: PropTypes.number,
282
335
  y: PropTypes.number
283
336
  }),
337
+ /**
338
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
339
+ * @default undefined
340
+ */
284
341
  width: PropTypes.number,
342
+ /**
343
+ * The configuration of the x-axes.
344
+ * If not provided, a default axis config is used with id set to `DEFAULT_X_AXIS_KEY`.
345
+ */
285
346
  xAxis: PropTypes.arrayOf(PropTypes.shape({
286
347
  axisId: PropTypes.string,
287
348
  classes: PropTypes.object,
@@ -294,6 +355,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
294
355
  id: PropTypes.string,
295
356
  label: PropTypes.string,
296
357
  labelFontSize: PropTypes.number,
358
+ labelStyle: PropTypes.object,
297
359
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
298
360
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
299
361
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -302,12 +364,19 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
302
364
  slots: PropTypes.object,
303
365
  stroke: PropTypes.string,
304
366
  tickFontSize: PropTypes.number,
367
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
368
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
369
+ tickLabelStyle: PropTypes.object,
305
370
  tickMaxStep: PropTypes.number,
306
371
  tickMinStep: PropTypes.number,
307
372
  tickNumber: PropTypes.number,
308
373
  tickSize: PropTypes.number,
309
374
  valueFormatter: PropTypes.func
310
375
  })),
376
+ /**
377
+ * The configuration of the y-axes.
378
+ * If not provided, a default axis config is used with id set to `DEFAULT_Y_AXIS_KEY`.
379
+ */
311
380
  yAxis: PropTypes.arrayOf(PropTypes.shape({
312
381
  axisId: PropTypes.string,
313
382
  classes: PropTypes.object,
@@ -320,6 +389,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
320
389
  id: PropTypes.string,
321
390
  label: PropTypes.string,
322
391
  labelFontSize: PropTypes.number,
392
+ labelStyle: PropTypes.object,
323
393
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
324
394
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
325
395
  position: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),
@@ -328,6 +398,9 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
328
398
  slots: PropTypes.object,
329
399
  stroke: PropTypes.string,
330
400
  tickFontSize: PropTypes.number,
401
+ tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
402
+ tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
403
+ tickLabelStyle: PropTypes.object,
331
404
  tickMaxStep: PropTypes.number,
332
405
  tickMinStep: PropTypes.number,
333
406
  tickNumber: PropTypes.number,
@@ -57,6 +57,16 @@ LineElementPath.propTypes = {
57
57
  }).isRequired,
58
58
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
59
59
  };
60
+ /**
61
+ * Demos:
62
+ *
63
+ * - [Lines](https://mui.com/x/react-charts/lines/)
64
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
65
+ *
66
+ * API:
67
+ *
68
+ * - [LineElement API](https://mui.com/x/api/charts/line-element/)
69
+ */
60
70
  function LineElement(props) {
61
71
  var _slots$line;
62
72
  const {
@@ -33,6 +33,16 @@ const HighlightElement = styled('circle', {
33
33
  transformOrigin: `${ownerState.x}px ${ownerState.y}px`,
34
34
  fill: ownerState.color
35
35
  }));
36
+ /**
37
+ * Demos:
38
+ *
39
+ * - [Lines](https://mui.com/x/react-charts/lines/)
40
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
41
+ *
42
+ * API:
43
+ *
44
+ * - [LineHighlightElement API](https://mui.com/x/api/charts/line-highlight-element/)
45
+ */
36
46
  function LineHighlightElement(props) {
37
47
  const {
38
48
  x,
@@ -9,6 +9,16 @@ import { LineHighlightElement } from './LineHighlightElement';
9
9
  import { getValueToPositionMapper } from '../hooks/useScale';
10
10
  import { InteractionContext } from '../context/InteractionProvider';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
+ /**
13
+ * Demos:
14
+ *
15
+ * - [Lines](https://mui.com/x/react-charts/lines/)
16
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
17
+ *
18
+ * API:
19
+ *
20
+ * - [LineHighlightPlot API](https://mui.com/x/api/charts/line-highlight-plot/)
21
+ */
12
22
  function LineHighlightPlot(props) {
13
23
  var _axis$x, _slots$lineHighlight;
14
24
  const {
@@ -50,9 +60,10 @@ function LineHighlightPlot(props) {
50
60
  xAxisKey = defaultXAxisId,
51
61
  yAxisKey = defaultYAxisId,
52
62
  stackedData,
63
+ data,
53
64
  disableHighlight
54
65
  } = series[seriesId];
55
- if (disableHighlight) {
66
+ if (disableHighlight || data[highlightedIndex] == null) {
56
67
  return null;
57
68
  }
58
69
  const xScale = getValueToPositionMapper(xAxis[xAxisKey].scale);
@@ -62,7 +73,7 @@ function LineHighlightPlot(props) {
62
73
  throw new Error(`Axis of id "${xAxisKey}" should have data property to be able to display a line plot.`);
63
74
  }
64
75
  const x = xScale(xData[highlightedIndex]);
65
- const y = yScale(stackedData[highlightedIndex][1]);
76
+ const y = yScale(stackedData[highlightedIndex][1]); // This should not be undefined since y should not be a band scale
66
77
  return /*#__PURE__*/_jsx(Element, _extends({
67
78
  id: seriesId,
68
79
  color: series[seriesId].color,
@@ -10,6 +10,16 @@ import { LineElement } from './LineElement';
10
10
  import { getValueToPositionMapper } from '../hooks/useScale';
11
11
  import getCurveFactory from '../internals/getCurve';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ /**
14
+ * Demos:
15
+ *
16
+ * - [Lines](https://mui.com/x/react-charts/lines/)
17
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
18
+ *
19
+ * API:
20
+ *
21
+ * - [LinePlot API](https://mui.com/x/api/charts/line-plot/)
22
+ */
13
23
  function LinePlot(props) {
14
24
  const {
15
25
  slots,
@@ -38,31 +48,32 @@ function LinePlot(props) {
38
48
  ids: groupIds
39
49
  }) => {
40
50
  return groupIds.flatMap(seriesId => {
51
+ var _xData$map;
41
52
  const {
42
53
  xAxisKey = defaultXAxisId,
43
54
  yAxisKey = defaultYAxisId,
44
- stackedData
55
+ stackedData,
56
+ data,
57
+ connectNulls
45
58
  } = series[seriesId];
46
59
  const xScale = getValueToPositionMapper(xAxis[xAxisKey].scale);
47
60
  const yScale = yAxis[yAxisKey].scale;
48
61
  const xData = xAxis[xAxisKey].data;
49
- if (xData === undefined) {
50
- throw new Error(`Axis of id "${xAxisKey}" should have data property to be able to display a line plot`);
51
- }
52
- const linePath = d3Line().x(d => xScale(d.x)).y(d => yScale(d.y[1]));
53
62
  if (process.env.NODE_ENV !== 'production') {
54
- if (xData.length !== stackedData.length) {
55
- throw new Error(`MUI: data length of the x axis (${xData.length} items) does not match length of series (${stackedData.length} items)`);
63
+ if (xData === undefined) {
64
+ throw new Error(`Axis of id "${xAxisKey}" should have data property to be able to display a line plot`);
65
+ }
66
+ if (xData.length < stackedData.length) {
67
+ throw new Error(`MUI: data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items)`);
56
68
  }
57
69
  }
70
+ const linePath = d3Line().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y(d => yScale(d.y[1]));
58
71
  const curve = getCurveFactory(series[seriesId].curve);
59
- const d3Data = xData == null ? void 0 : xData.map((x, index) => {
60
- var _stackedData$index;
61
- return {
62
- x,
63
- y: (_stackedData$index = stackedData[index]) != null ? _stackedData$index : [0, 0]
64
- };
65
- });
72
+ const formattedData = (_xData$map = xData == null ? void 0 : xData.map((x, index) => ({
73
+ x,
74
+ y: stackedData[index]
75
+ }))) != null ? _xData$map : [];
76
+ const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
66
77
  return /*#__PURE__*/_jsx(LineElement, {
67
78
  id: seriesId,
68
79
  d: linePath.curve(curve)(d3Data) || undefined,
@@ -38,7 +38,7 @@ const MarkElementPath = styled('path', {
38
38
  }) => ({
39
39
  transform: `translate(${ownerState.x}px, ${ownerState.y}px)`,
40
40
  transformOrigin: `${ownerState.x}px ${ownerState.y}px`,
41
- fill: theme.palette.background.paper,
41
+ fill: (theme.vars || theme).palette.background.paper,
42
42
  stroke: ownerState.color,
43
43
  strokeWidth: 2
44
44
  }));
@@ -59,6 +59,16 @@ MarkElementPath.propTypes = {
59
59
  }).isRequired,
60
60
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
61
61
  };
62
+ /**
63
+ * Demos:
64
+ *
65
+ * - [Lines](https://mui.com/x/react-charts/lines/)
66
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
67
+ *
68
+ * API:
69
+ *
70
+ * - [MarkElement API](https://mui.com/x/api/charts/mark-element/)
71
+ */
62
72
  function MarkElement(props) {
63
73
  var _axis$x;
64
74
  const {
@@ -8,6 +8,16 @@ import { CartesianContext } from '../context/CartesianContextProvider';
8
8
  import { MarkElement } from './MarkElement';
9
9
  import { getValueToPositionMapper } from '../hooks/useScale';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
+ /**
12
+ * Demos:
13
+ *
14
+ * - [Lines](https://mui.com/x/react-charts/lines/)
15
+ * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
16
+ *
17
+ * API:
18
+ *
19
+ * - [MarkPlot API](https://mui.com/x/api/charts/mark-plot/)
20
+ */
11
21
  function MarkPlot(props) {
12
22
  var _slots$mark;
13
23
  const {
@@ -42,6 +52,7 @@ function MarkPlot(props) {
42
52
  xAxisKey = defaultXAxisId,
43
53
  yAxisKey = defaultYAxisId,
44
54
  stackedData,
55
+ data,
45
56
  showMark = true
46
57
  } = series[seriesId];
47
58
  if (showMark === false) {
@@ -68,36 +79,57 @@ function MarkPlot(props) {
68
79
  throw new Error(`Axis of id "${xAxisKey}" should have data property to be able to display a line plot`);
69
80
  }
70
81
  return xData == null ? void 0 : xData.map((x, index) => {
71
- const y = stackedData[index][1];
82
+ const value = data[index] == null ? null : stackedData[index][1];
72
83
  return {
73
84
  x: xScale(x),
74
- y: yScale(y),
85
+ y: value === null ? null : yScale(value),
75
86
  position: x,
76
- value: y,
87
+ value,
77
88
  index
78
89
  };
79
- }).filter(isInRange).map(({
90
+ }).filter(({
80
91
  x,
81
92
  y,
82
93
  index,
83
94
  position,
84
95
  value
85
96
  }) => {
86
- return showMark === true || showMark({
97
+ if (value === null || y === null) {
98
+ // Remove missing data point
99
+ return false;
100
+ }
101
+ if (!isInRange({
102
+ x,
103
+ y
104
+ })) {
105
+ // Remove out of range
106
+ return false;
107
+ }
108
+ if (showMark === true) {
109
+ return true;
110
+ }
111
+ return showMark({
87
112
  x,
88
113
  y,
89
114
  index,
90
115
  position,
91
116
  value
92
- }) ? /*#__PURE__*/_jsx(Mark, _extends({
117
+ });
118
+ }).map(({
119
+ x,
120
+ y,
121
+ index
122
+ }) => {
123
+ return /*#__PURE__*/_jsx(Mark, _extends({
93
124
  id: seriesId,
94
125
  dataIndex: index,
95
126
  shape: "circle",
96
127
  color: series[seriesId].color,
97
128
  x: x,
98
- y: y,
129
+ y: y // Don't knwo why TS don't get from the filter that y can't be null
130
+ ,
99
131
  highlightScope: series[seriesId].highlightScope
100
- }, slotProps == null ? void 0 : slotProps.mark), `${seriesId}-${index}`) : null;
132
+ }, slotProps == null ? void 0 : slotProps.mark), `${seriesId}-${index}`);
101
133
  });
102
134
  });
103
135
  })
@@ -24,7 +24,7 @@ const formatter = (params, dataset) => {
24
24
  d3Dataset[index][id] = value;
25
25
  }
26
26
  });
27
- } else if (dataset === undefined) {
27
+ } else if (dataset === undefined && process.env.NODE_ENV !== 'production') {
28
28
  throw new Error([`MUI: line series with id='${id}' has no data.`, 'Either provide a data property to the series or use the dataset prop.'].join('\n'));
29
29
  }
30
30
  });
@@ -40,7 +40,11 @@ const formatter = (params, dataset) => {
40
40
  // Use dataKey if needed and available
41
41
  const dataKey = series[id].dataKey;
42
42
  return series[id].data === undefined && dataKey !== undefined ? dataKey : id;
43
- })).order(stackingOrder).offset(stackingOffset)(d3Dataset);
43
+ })).value((d, key) => {
44
+ var _d$key;
45
+ return (_d$key = d[key]) != null ? _d$key : 0;
46
+ }) // defaultize null value to 0
47
+ .order(stackingOrder).offset(stackingOffset)(d3Dataset);
44
48
  ids.forEach((id, index) => {
45
49
  const dataKey = series[id].dataKey;
46
50
  completedSeries[id] = _extends({}, series[id], {
@@ -52,7 +56,7 @@ const formatter = (params, dataset) => {
52
56
  return {
53
57
  seriesOrder,
54
58
  stackingGroups,
55
- series: defaultizeValueFormatter(completedSeries, v => v.toLocaleString())
59
+ series: defaultizeValueFormatter(completedSeries, v => v == null ? void 0 : v.toLocaleString())
56
60
  };
57
61
  };
58
62
  export default formatter;