@mui/x-charts 7.15.0 → 7.16.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 (470) hide show
  1. package/BarChart/BarChart.js +23 -12
  2. package/BarChart/BarClipPath.js +1 -1
  3. package/BarChart/BarElement.js +2 -2
  4. package/BarChart/BarLabel/BarLabel.js +1 -1
  5. package/BarChart/BarLabel/BarLabelItem.js +4 -4
  6. package/BarChart/BarLabel/BarLabelPlot.js +1 -1
  7. package/BarChart/BarLabel/index.js +2 -2
  8. package/BarChart/BarPlot.js +8 -8
  9. package/BarChart/checkScaleErrors.js +2 -2
  10. package/BarChart/formatter.js +2 -2
  11. package/BarChart/index.js +4 -4
  12. package/BarChart/legend.js +1 -1
  13. package/BarChart/plugin.js +3 -3
  14. package/BarChart/useBarChartProps.js +1 -1
  15. package/CHANGELOG.md +98 -1
  16. package/ChartContainer/ChartContainer.js +9 -9
  17. package/ChartContainer/index.js +1 -1
  18. package/ChartContainer/useChartContainerProps.js +2 -2
  19. package/ChartContainer/useDefaultizeAxis.js +1 -1
  20. package/ChartsAxis/ChartsAxis.js +3 -3
  21. package/ChartsAxis/index.js +2 -2
  22. package/ChartsAxisHighlight/ChartsAxisHighlight.js +4 -4
  23. package/ChartsAxisHighlight/index.js +1 -1
  24. package/ChartsClipPath/ChartsClipPath.js +1 -1
  25. package/ChartsClipPath/index.js +1 -1
  26. package/ChartsGrid/ChartsGrid.js +18 -66
  27. package/ChartsGrid/ChartsHorizontalGrid.d.ts +14 -0
  28. package/ChartsGrid/ChartsHorizontalGrid.js +36 -0
  29. package/ChartsGrid/ChartsVerticalGrid.d.ts +14 -0
  30. package/ChartsGrid/ChartsVerticalGrid.js +36 -0
  31. package/ChartsGrid/index.js +2 -2
  32. package/ChartsGrid/styledCommonents.d.ts +2 -0
  33. package/ChartsGrid/styledCommonents.js +22 -0
  34. package/ChartsLegend/ChartsLegend.d.ts +4 -13
  35. package/ChartsLegend/ChartsLegend.js +59 -25
  36. package/ChartsLegend/ContinuousColorLegend.js +7 -7
  37. package/ChartsLegend/DefaultChartsLegend.d.ts +6 -1
  38. package/ChartsLegend/DefaultChartsLegend.js +7 -3
  39. package/ChartsLegend/LegendPerItem.d.ts +9 -6
  40. package/ChartsLegend/LegendPerItem.js +4 -8
  41. package/ChartsLegend/PiecewiseColorLegend.js +3 -8
  42. package/ChartsLegend/index.js +6 -6
  43. package/ChartsLegend/useAxis.js +2 -2
  44. package/ChartsLegend/utils.js +4 -4
  45. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  46. package/ChartsOnAxisClickHandler/index.js +1 -1
  47. package/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
  48. package/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
  49. package/ChartsOverlay/ChartsOverlay.js +3 -3
  50. package/ChartsOverlay/index.js +3 -3
  51. package/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  52. package/ChartsReferenceLine/ChartsXReferenceLine.js +5 -5
  53. package/ChartsReferenceLine/ChartsYReferenceLine.js +5 -5
  54. package/ChartsReferenceLine/common.js +1 -1
  55. package/ChartsReferenceLine/index.js +2 -2
  56. package/ChartsSurface/ChartsSurface.js +1 -1
  57. package/ChartsSurface/index.js +1 -1
  58. package/ChartsText/ChartsText.js +1 -1
  59. package/ChartsText/index.js +1 -1
  60. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -6
  61. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +1 -1
  62. package/ChartsTooltip/ChartsItemTooltipContent.js +5 -5
  63. package/ChartsTooltip/ChartsTooltip.d.ts +2 -2
  64. package/ChartsTooltip/ChartsTooltip.js +13 -11
  65. package/ChartsTooltip/ChartsTooltipTable.js +10 -5
  66. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +5 -5
  67. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +3 -3
  68. package/ChartsTooltip/chartsTooltipClasses.d.ts +2 -0
  69. package/ChartsTooltip/chartsTooltipClasses.js +1 -1
  70. package/ChartsTooltip/index.js +7 -7
  71. package/ChartsTooltip/utils.js +1 -1
  72. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +7 -7
  73. package/ChartsVoronoiHandler/index.js +1 -1
  74. package/ChartsXAxis/ChartsXAxis.js +18 -13
  75. package/ChartsXAxis/index.js +1 -1
  76. package/ChartsYAxis/ChartsYAxis.js +15 -10
  77. package/ChartsYAxis/index.js +1 -1
  78. package/Gauge/Gauge.js +5 -5
  79. package/Gauge/GaugeContainer.js +4 -4
  80. package/Gauge/GaugeProvider.js +3 -3
  81. package/Gauge/GaugeReferenceArc.js +1 -1
  82. package/Gauge/GaugeValueArc.js +1 -1
  83. package/Gauge/GaugeValueText.js +2 -2
  84. package/Gauge/index.js +7 -7
  85. package/LineChart/AnimatedArea.js +31 -14
  86. package/LineChart/AnimatedLine.js +32 -15
  87. package/LineChart/AreaElement.js +3 -3
  88. package/LineChart/AreaPlot.js +83 -78
  89. package/LineChart/LineChart.js +26 -15
  90. package/LineChart/LineElement.js +3 -3
  91. package/LineChart/LineHighlightPlot.js +8 -8
  92. package/LineChart/LinePlot.js +65 -60
  93. package/LineChart/MarkElement.js +4 -4
  94. package/LineChart/MarkPlot.js +9 -9
  95. package/LineChart/formatter.js +2 -2
  96. package/LineChart/index.js +11 -11
  97. package/LineChart/legend.js +1 -1
  98. package/LineChart/plugin.js +3 -3
  99. package/LineChart/useLineChartProps.js +1 -1
  100. package/PieChart/PieArc.js +1 -1
  101. package/PieChart/PieArcLabelPlot.js +4 -4
  102. package/PieChart/PieArcPlot.js +4 -4
  103. package/PieChart/PieChart.js +19 -8
  104. package/PieChart/PiePlot.js +6 -6
  105. package/PieChart/dataTransform/useTransformData.js +1 -1
  106. package/PieChart/formatter.js +1 -1
  107. package/PieChart/getPieCoordinates.js +1 -1
  108. package/PieChart/index.js +7 -7
  109. package/PieChart/legend.js +1 -1
  110. package/PieChart/plugin.js +2 -2
  111. package/ResponsiveChartContainer/ResponsiveChartContainer.js +3 -3
  112. package/ResponsiveChartContainer/index.js +1 -1
  113. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +1 -1
  114. package/ScatterChart/Scatter.js +5 -5
  115. package/ScatterChart/ScatterChart.js +23 -12
  116. package/ScatterChart/ScatterPlot.js +5 -5
  117. package/ScatterChart/formatter.js +1 -1
  118. package/ScatterChart/index.js +3 -3
  119. package/ScatterChart/legend.js +1 -1
  120. package/ScatterChart/plugin.js +3 -3
  121. package/SparkLineChart/SparkLineChart.js +6 -6
  122. package/SparkLineChart/index.js +1 -1
  123. package/colorPalettes/index.js +1 -1
  124. package/context/CartesianProvider/CartesianProvider.js +6 -6
  125. package/context/CartesianProvider/computeValue.js +6 -6
  126. package/context/CartesianProvider/defaultizeAxis.js +1 -1
  127. package/context/CartesianProvider/index.js +5 -5
  128. package/context/CartesianProvider/useCartesianContext.js +1 -1
  129. package/context/DrawingProvider.js +1 -1
  130. package/context/HighlightedProvider/HighlightedProvider.js +4 -4
  131. package/context/HighlightedProvider/index.js +4 -4
  132. package/context/HighlightedProvider/useHighlighted.js +1 -1
  133. package/context/HighlightedProvider/useItemHighlighted.js +1 -1
  134. package/context/PluginProvider/PluginProvider.js +2 -2
  135. package/context/PluginProvider/index.js +10 -10
  136. package/context/PluginProvider/mergePlugins.js +4 -4
  137. package/context/PluginProvider/useColorProcessor.js +1 -1
  138. package/context/PluginProvider/useSeriesFormatter.js +1 -1
  139. package/context/PluginProvider/useXExtremumGetter.js +1 -1
  140. package/context/PluginProvider/useYExtremumGetter.js +1 -1
  141. package/context/SeriesProvider/SeriesProvider.js +4 -4
  142. package/context/SeriesProvider/index.js +4 -4
  143. package/context/SeriesProvider/processSeries.js +1 -1
  144. package/context/ZAxisContextProvider.js +1 -1
  145. package/context/index.js +2 -2
  146. package/hooks/index.js +7 -7
  147. package/hooks/useAxis.js +1 -1
  148. package/hooks/useAxisEvents.js +6 -6
  149. package/hooks/useChartDimensions.js +1 -1
  150. package/hooks/useChartId.js +1 -1
  151. package/hooks/useColorScale.js +2 -2
  152. package/hooks/useDrawingArea.js +1 -1
  153. package/hooks/useInteractionItemProps.js +2 -2
  154. package/hooks/useReducedMotion.js +13 -12
  155. package/hooks/useScale.js +2 -2
  156. package/hooks/useSeries.js +1 -1
  157. package/hooks/useSvgRef.js +1 -1
  158. package/hooks/useTicks.js +2 -2
  159. package/index.js +27 -27
  160. package/internals/components/AxisSharedComponents.js +1 -1
  161. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +5 -5
  162. package/internals/components/ChartsAxesGradients/index.js +1 -1
  163. package/internals/getWordsByLines.js +1 -1
  164. package/internals/index.js +31 -31
  165. package/internals/isCartesian.js +1 -1
  166. package/internals/useStringInterpolator.d.ts +1 -0
  167. package/internals/{useAnimatedPath.js → useStringInterpolator.js} +2 -15
  168. package/models/index.d.ts +1 -0
  169. package/models/index.js +5 -3
  170. package/models/seriesType/index.js +4 -4
  171. package/modern/BarChart/BarChart.js +23 -12
  172. package/modern/BarChart/BarClipPath.js +1 -1
  173. package/modern/BarChart/BarElement.js +2 -2
  174. package/modern/BarChart/BarLabel/BarLabel.js +1 -1
  175. package/modern/BarChart/BarLabel/BarLabelItem.js +4 -4
  176. package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
  177. package/modern/BarChart/BarLabel/index.js +2 -2
  178. package/modern/BarChart/BarPlot.js +8 -8
  179. package/modern/BarChart/checkScaleErrors.js +2 -2
  180. package/modern/BarChart/formatter.js +2 -2
  181. package/modern/BarChart/index.js +4 -4
  182. package/modern/BarChart/legend.js +1 -1
  183. package/modern/BarChart/plugin.js +3 -3
  184. package/modern/BarChart/useBarChartProps.js +1 -1
  185. package/modern/ChartContainer/ChartContainer.js +9 -9
  186. package/modern/ChartContainer/index.js +1 -1
  187. package/modern/ChartContainer/useChartContainerProps.js +2 -2
  188. package/modern/ChartContainer/useDefaultizeAxis.js +1 -1
  189. package/modern/ChartsAxis/ChartsAxis.js +3 -3
  190. package/modern/ChartsAxis/index.js +2 -2
  191. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +4 -4
  192. package/modern/ChartsAxisHighlight/index.js +1 -1
  193. package/modern/ChartsClipPath/ChartsClipPath.js +1 -1
  194. package/modern/ChartsClipPath/index.js +1 -1
  195. package/modern/ChartsGrid/ChartsGrid.js +18 -66
  196. package/modern/ChartsGrid/ChartsHorizontalGrid.js +36 -0
  197. package/modern/ChartsGrid/ChartsVerticalGrid.js +36 -0
  198. package/modern/ChartsGrid/index.js +2 -2
  199. package/modern/ChartsGrid/styledCommonents.js +22 -0
  200. package/modern/ChartsLegend/ChartsLegend.js +59 -25
  201. package/modern/ChartsLegend/ContinuousColorLegend.js +7 -7
  202. package/modern/ChartsLegend/DefaultChartsLegend.js +7 -3
  203. package/modern/ChartsLegend/LegendPerItem.js +4 -8
  204. package/modern/ChartsLegend/PiecewiseColorLegend.js +3 -8
  205. package/modern/ChartsLegend/index.js +6 -6
  206. package/modern/ChartsLegend/useAxis.js +2 -2
  207. package/modern/ChartsLegend/utils.js +4 -4
  208. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  209. package/modern/ChartsOnAxisClickHandler/index.js +1 -1
  210. package/modern/ChartsOverlay/ChartsLoadingOverlay.js +1 -1
  211. package/modern/ChartsOverlay/ChartsNoDataOverlay.js +1 -1
  212. package/modern/ChartsOverlay/ChartsOverlay.js +3 -3
  213. package/modern/ChartsOverlay/index.js +3 -3
  214. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
  215. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +5 -5
  216. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +5 -5
  217. package/modern/ChartsReferenceLine/common.js +1 -1
  218. package/modern/ChartsReferenceLine/index.js +2 -2
  219. package/modern/ChartsSurface/ChartsSurface.js +1 -1
  220. package/modern/ChartsSurface/index.js +1 -1
  221. package/modern/ChartsText/ChartsText.js +1 -1
  222. package/modern/ChartsText/index.js +1 -1
  223. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -6
  224. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +5 -5
  225. package/modern/ChartsTooltip/ChartsTooltip.js +13 -11
  226. package/modern/ChartsTooltip/ChartsTooltipTable.js +10 -5
  227. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +5 -5
  228. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +3 -3
  229. package/modern/ChartsTooltip/chartsTooltipClasses.js +1 -1
  230. package/modern/ChartsTooltip/index.js +7 -7
  231. package/modern/ChartsTooltip/utils.js +1 -1
  232. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +7 -7
  233. package/modern/ChartsVoronoiHandler/index.js +1 -1
  234. package/modern/ChartsXAxis/ChartsXAxis.js +18 -13
  235. package/modern/ChartsXAxis/index.js +1 -1
  236. package/modern/ChartsYAxis/ChartsYAxis.js +15 -10
  237. package/modern/ChartsYAxis/index.js +1 -1
  238. package/modern/Gauge/Gauge.js +5 -5
  239. package/modern/Gauge/GaugeContainer.js +4 -4
  240. package/modern/Gauge/GaugeProvider.js +3 -3
  241. package/modern/Gauge/GaugeReferenceArc.js +1 -1
  242. package/modern/Gauge/GaugeValueArc.js +1 -1
  243. package/modern/Gauge/GaugeValueText.js +2 -2
  244. package/modern/Gauge/index.js +7 -7
  245. package/modern/LineChart/AnimatedArea.js +31 -14
  246. package/modern/LineChart/AnimatedLine.js +32 -15
  247. package/modern/LineChart/AreaElement.js +3 -3
  248. package/modern/LineChart/AreaPlot.js +83 -78
  249. package/modern/LineChart/LineChart.js +26 -15
  250. package/modern/LineChart/LineElement.js +3 -3
  251. package/modern/LineChart/LineHighlightPlot.js +8 -8
  252. package/modern/LineChart/LinePlot.js +65 -60
  253. package/modern/LineChart/MarkElement.js +4 -4
  254. package/modern/LineChart/MarkPlot.js +9 -9
  255. package/modern/LineChart/formatter.js +2 -2
  256. package/modern/LineChart/index.js +11 -11
  257. package/modern/LineChart/legend.js +1 -1
  258. package/modern/LineChart/plugin.js +3 -3
  259. package/modern/LineChart/useLineChartProps.js +1 -1
  260. package/modern/PieChart/PieArc.js +1 -1
  261. package/modern/PieChart/PieArcLabelPlot.js +4 -4
  262. package/modern/PieChart/PieArcPlot.js +4 -4
  263. package/modern/PieChart/PieChart.js +19 -8
  264. package/modern/PieChart/PiePlot.js +6 -6
  265. package/modern/PieChart/dataTransform/useTransformData.js +1 -1
  266. package/modern/PieChart/formatter.js +1 -1
  267. package/modern/PieChart/getPieCoordinates.js +1 -1
  268. package/modern/PieChart/index.js +7 -7
  269. package/modern/PieChart/legend.js +1 -1
  270. package/modern/PieChart/plugin.js +2 -2
  271. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +3 -3
  272. package/modern/ResponsiveChartContainer/index.js +1 -1
  273. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +1 -1
  274. package/modern/ScatterChart/Scatter.js +5 -5
  275. package/modern/ScatterChart/ScatterChart.js +23 -12
  276. package/modern/ScatterChart/ScatterPlot.js +5 -5
  277. package/modern/ScatterChart/formatter.js +1 -1
  278. package/modern/ScatterChart/index.js +3 -3
  279. package/modern/ScatterChart/legend.js +1 -1
  280. package/modern/ScatterChart/plugin.js +3 -3
  281. package/modern/SparkLineChart/SparkLineChart.js +6 -6
  282. package/modern/SparkLineChart/index.js +1 -1
  283. package/modern/colorPalettes/index.js +1 -1
  284. package/modern/context/CartesianProvider/CartesianProvider.js +6 -6
  285. package/modern/context/CartesianProvider/computeValue.js +6 -6
  286. package/modern/context/CartesianProvider/defaultizeAxis.js +1 -1
  287. package/modern/context/CartesianProvider/index.js +5 -5
  288. package/modern/context/CartesianProvider/useCartesianContext.js +1 -1
  289. package/modern/context/DrawingProvider.js +1 -1
  290. package/modern/context/HighlightedProvider/HighlightedProvider.js +4 -4
  291. package/modern/context/HighlightedProvider/index.js +4 -4
  292. package/modern/context/HighlightedProvider/useHighlighted.js +1 -1
  293. package/modern/context/HighlightedProvider/useItemHighlighted.js +1 -1
  294. package/modern/context/PluginProvider/PluginProvider.js +2 -2
  295. package/modern/context/PluginProvider/index.js +10 -10
  296. package/modern/context/PluginProvider/mergePlugins.js +4 -4
  297. package/modern/context/PluginProvider/useColorProcessor.js +1 -1
  298. package/modern/context/PluginProvider/useSeriesFormatter.js +1 -1
  299. package/modern/context/PluginProvider/useXExtremumGetter.js +1 -1
  300. package/modern/context/PluginProvider/useYExtremumGetter.js +1 -1
  301. package/modern/context/SeriesProvider/SeriesProvider.js +4 -4
  302. package/modern/context/SeriesProvider/index.js +4 -4
  303. package/modern/context/SeriesProvider/processSeries.js +1 -1
  304. package/modern/context/ZAxisContextProvider.js +1 -1
  305. package/modern/context/index.js +2 -2
  306. package/modern/hooks/index.js +7 -7
  307. package/modern/hooks/useAxis.js +1 -1
  308. package/modern/hooks/useAxisEvents.js +6 -6
  309. package/modern/hooks/useChartDimensions.js +1 -1
  310. package/modern/hooks/useChartId.js +1 -1
  311. package/modern/hooks/useColorScale.js +2 -2
  312. package/modern/hooks/useDrawingArea.js +1 -1
  313. package/modern/hooks/useInteractionItemProps.js +2 -2
  314. package/modern/hooks/useReducedMotion.js +13 -12
  315. package/modern/hooks/useScale.js +2 -2
  316. package/modern/hooks/useSeries.js +1 -1
  317. package/modern/hooks/useSvgRef.js +1 -1
  318. package/modern/hooks/useTicks.js +2 -2
  319. package/modern/index.js +27 -27
  320. package/modern/internals/components/AxisSharedComponents.js +1 -1
  321. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +5 -5
  322. package/modern/internals/components/ChartsAxesGradients/index.js +1 -1
  323. package/modern/internals/getWordsByLines.js +1 -1
  324. package/modern/internals/index.js +31 -31
  325. package/modern/internals/isCartesian.js +1 -1
  326. package/modern/internals/{useAnimatedPath.js → useStringInterpolator.js} +2 -15
  327. package/modern/models/index.js +5 -3
  328. package/modern/models/seriesType/index.js +4 -4
  329. package/modern/themeAugmentation/index.js +0 -3
  330. package/node/BarChart/BarChart.js +14 -4
  331. package/node/BarChart/BarClipPath.js +2 -3
  332. package/node/BarChart/BarElement.js +2 -3
  333. package/node/BarChart/BarLabel/BarLabel.js +2 -3
  334. package/node/BarChart/BarLabel/BarLabelItem.js +2 -3
  335. package/node/BarChart/BarLabel/BarLabelPlot.js +2 -3
  336. package/node/BarChart/BarLabel/barLabelClasses.js +1 -1
  337. package/node/BarChart/BarPlot.js +2 -3
  338. package/node/BarChart/formatter.js +1 -1
  339. package/node/BarChart/plugin.js +1 -1
  340. package/node/BarChart/useBarChartProps.js +1 -1
  341. package/node/ChartContainer/ChartContainer.js +2 -3
  342. package/node/ChartContainer/useChartContainerProps.js +2 -3
  343. package/node/ChartContainer/useDefaultizeAxis.js +2 -3
  344. package/node/ChartsAxis/ChartsAxis.js +2 -3
  345. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +2 -3
  346. package/node/ChartsClipPath/ChartsClipPath.js +2 -3
  347. package/node/ChartsGrid/ChartsGrid.js +17 -66
  348. package/node/ChartsGrid/ChartsHorizontalGrid.js +43 -0
  349. package/node/ChartsGrid/ChartsVerticalGrid.js +43 -0
  350. package/node/ChartsGrid/chartsGridClasses.js +1 -1
  351. package/node/ChartsGrid/styledCommonents.js +28 -0
  352. package/node/ChartsLegend/ChartsLegend.js +56 -23
  353. package/node/ChartsLegend/ContinuousColorLegend.js +2 -3
  354. package/node/ChartsLegend/DefaultChartsLegend.js +8 -5
  355. package/node/ChartsLegend/LegendPerItem.js +2 -7
  356. package/node/ChartsLegend/PiecewiseColorLegend.js +2 -8
  357. package/node/ChartsLegend/legendItemsPlacement.js +1 -1
  358. package/node/ChartsLegend/useAxis.js +1 -2
  359. package/node/ChartsLegend/utils.js +1 -1
  360. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -3
  361. package/node/ChartsOverlay/ChartsLoadingOverlay.js +2 -3
  362. package/node/ChartsOverlay/ChartsNoDataOverlay.js +2 -3
  363. package/node/ChartsOverlay/ChartsOverlay.js +2 -3
  364. package/node/ChartsReferenceLine/ChartsReferenceLine.js +2 -3
  365. package/node/ChartsReferenceLine/ChartsXReferenceLine.js +2 -3
  366. package/node/ChartsReferenceLine/ChartsYReferenceLine.js +2 -3
  367. package/node/ChartsReferenceLine/chartsReferenceLineClasses.js +1 -1
  368. package/node/ChartsReferenceLine/common.js +1 -1
  369. package/node/ChartsSurface/ChartsSurface.js +2 -3
  370. package/node/ChartsText/ChartsText.js +2 -3
  371. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +2 -3
  372. package/node/ChartsTooltip/ChartsItemTooltipContent.js +2 -3
  373. package/node/ChartsTooltip/ChartsTooltip.js +10 -9
  374. package/node/ChartsTooltip/ChartsTooltipTable.js +9 -4
  375. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +3 -4
  376. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +3 -4
  377. package/node/ChartsTooltip/chartsTooltipClasses.js +1 -1
  378. package/node/ChartsTooltip/utils.js +2 -3
  379. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  380. package/node/ChartsXAxis/ChartsXAxis.js +8 -4
  381. package/node/ChartsYAxis/ChartsYAxis.js +8 -4
  382. package/node/Gauge/Gauge.js +2 -3
  383. package/node/Gauge/GaugeContainer.js +2 -3
  384. package/node/Gauge/GaugeProvider.js +1 -2
  385. package/node/Gauge/GaugeReferenceArc.js +2 -3
  386. package/node/Gauge/GaugeValueArc.js +2 -3
  387. package/node/Gauge/GaugeValueText.js +2 -3
  388. package/node/Gauge/gaugeClasses.js +1 -1
  389. package/node/LineChart/AnimatedArea.js +30 -14
  390. package/node/LineChart/AnimatedLine.js +30 -14
  391. package/node/LineChart/AreaElement.js +2 -3
  392. package/node/LineChart/AreaPlot.js +78 -74
  393. package/node/LineChart/LineChart.js +14 -4
  394. package/node/LineChart/LineElement.js +2 -3
  395. package/node/LineChart/LineHighlightElement.js +2 -3
  396. package/node/LineChart/LineHighlightPlot.js +2 -3
  397. package/node/LineChart/LinePlot.js +60 -56
  398. package/node/LineChart/MarkElement.js +2 -3
  399. package/node/LineChart/MarkPlot.js +2 -3
  400. package/node/LineChart/formatter.js +1 -1
  401. package/node/LineChart/plugin.js +1 -1
  402. package/node/LineChart/useLineChartProps.js +1 -1
  403. package/node/PieChart/PieArc.js +2 -3
  404. package/node/PieChart/PieArcLabel.js +2 -3
  405. package/node/PieChart/PieArcLabelPlot.js +2 -3
  406. package/node/PieChart/PieArcPlot.js +2 -3
  407. package/node/PieChart/PieChart.js +13 -3
  408. package/node/PieChart/PiePlot.js +2 -3
  409. package/node/PieChart/dataTransform/useTransformData.js +2 -3
  410. package/node/PieChart/formatter.js +1 -1
  411. package/node/PieChart/plugin.js +1 -1
  412. package/node/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -3
  413. package/node/ResponsiveChartContainer/useChartContainerDimensions.js +2 -3
  414. package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +1 -1
  415. package/node/ScatterChart/Scatter.js +2 -3
  416. package/node/ScatterChart/ScatterChart.js +14 -4
  417. package/node/ScatterChart/ScatterPlot.js +2 -3
  418. package/node/ScatterChart/plugin.js +1 -1
  419. package/node/ScatterChart/useScatterChartProps.js +1 -1
  420. package/node/SparkLineChart/SparkLineChart.js +2 -3
  421. package/node/context/CartesianProvider/CartesianContext.js +1 -2
  422. package/node/context/CartesianProvider/CartesianProvider.js +1 -2
  423. package/node/context/CartesianProvider/computeValue.js +1 -1
  424. package/node/context/CartesianProvider/defaultizeAxis.js +1 -1
  425. package/node/context/CartesianProvider/useCartesianContext.js +1 -2
  426. package/node/context/DrawingProvider.js +2 -3
  427. package/node/context/HighlightedProvider/HighlightedContext.js +1 -2
  428. package/node/context/HighlightedProvider/HighlightedProvider.js +2 -3
  429. package/node/context/HighlightedProvider/useHighlighted.js +1 -2
  430. package/node/context/InteractionProvider.js +2 -3
  431. package/node/context/PluginProvider/PluginContext.js +1 -2
  432. package/node/context/PluginProvider/PluginProvider.js +1 -2
  433. package/node/context/PluginProvider/useColorProcessor.js +1 -2
  434. package/node/context/PluginProvider/useSeriesFormatter.js +1 -2
  435. package/node/context/PluginProvider/useXExtremumGetter.js +1 -2
  436. package/node/context/PluginProvider/useYExtremumGetter.js +1 -2
  437. package/node/context/SeriesProvider/SeriesContext.js +1 -2
  438. package/node/context/SeriesProvider/SeriesProvider.js +1 -2
  439. package/node/context/SeriesProvider/processSeries.js +1 -1
  440. package/node/context/ZAxisContextProvider.js +2 -3
  441. package/node/hooks/useAxisEvents.js +1 -2
  442. package/node/hooks/useChartDimensions.js +2 -3
  443. package/node/hooks/useChartId.js +1 -2
  444. package/node/hooks/useColorScale.js +1 -2
  445. package/node/hooks/useDrawingArea.js +1 -2
  446. package/node/hooks/useInteractionItemProps.js +1 -2
  447. package/node/hooks/useMounted.js +2 -3
  448. package/node/hooks/useReducedMotion.js +14 -12
  449. package/node/hooks/useSeries.js +1 -2
  450. package/node/hooks/useSvgRef.js +1 -2
  451. package/node/hooks/useTicks.js +1 -2
  452. package/node/index.js +1 -1
  453. package/node/internals/components/AxisSharedComponents.js +1 -1
  454. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +2 -3
  455. package/node/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +1 -2
  456. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +1 -2
  457. package/node/internals/defaultizeColor.js +1 -1
  458. package/node/internals/defaultizeValueFormatter.js +1 -1
  459. package/node/internals/domUtils.js +1 -1
  460. package/node/internals/getWordsByLines.js +1 -1
  461. package/node/internals/useStringInterpolator.js +28 -0
  462. package/node/tests/firePointerEvent.js +1 -1
  463. package/node/themeAugmentation/index.js +1 -38
  464. package/package.json +4 -3
  465. package/themeAugmentation/components.d.ts +2 -0
  466. package/themeAugmentation/index.d.ts +3 -3
  467. package/themeAugmentation/index.js +0 -3
  468. package/themeAugmentation/overrides.d.ts +6 -4
  469. package/internals/useAnimatedPath.d.ts +0 -1
  470. package/node/internals/useAnimatedPath.js +0 -42
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -13,8 +14,6 @@ var _GaugeProvider = require("./GaugeProvider");
13
14
  var _ChartsText = require("../ChartsText");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  const _excluded = ["text", "className"];
16
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
17
  function defaultFormatter({
19
18
  value
20
19
  }) {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -13,13 +14,11 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
14
  var _styles = require("@mui/material/styles");
14
15
  var _web = require("@react-spring/web");
15
16
  var _d3Color = require("@mui/x-charts-vendor/d3-color");
16
- var _useAnimatedPath = require("../internals/useAnimatedPath");
17
17
  var _cleanId = require("../internals/cleanId");
18
18
  var _hooks = require("../hooks");
19
+ var _useStringInterpolator = require("../internals/useStringInterpolator");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
21
  const _excluded = ["d", "skipAnimation", "ownerState"];
21
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
22
  const AreaElementPath = exports.AreaElementPath = (0, _styles.styled)(_web.animated.path, {
24
23
  name: 'MuiAreaElement',
25
24
  slot: 'Root',
@@ -58,16 +57,33 @@ function AnimatedArea(props) {
58
57
  height
59
58
  } = (0, _hooks.useDrawingArea)();
60
59
  const chartId = (0, _hooks.useChartId)();
61
- const path = (0, _useAnimatedPath.useAnimatedPath)(d, skipAnimation);
62
- const {
63
- animatedWidth
64
- } = (0, _web.useSpring)({
60
+ const stringInterpolator = (0, _useStringInterpolator.useStringInterpolator)(d);
61
+ const transitionAppear = (0, _web.useTransition)([1], {
65
62
  from: {
66
63
  animatedWidth: left
67
64
  },
68
65
  to: {
69
66
  animatedWidth: width + left + right
70
67
  },
68
+ enter: {
69
+ animatedWidth: width + left + right
70
+ },
71
+ leave: {
72
+ animatedWidth: left
73
+ },
74
+ reset: false,
75
+ immediate: skipAnimation
76
+ });
77
+ const transitionChange = (0, _web.useTransition)([stringInterpolator], {
78
+ from: {
79
+ value: 0
80
+ },
81
+ to: {
82
+ value: 1
83
+ },
84
+ enter: {
85
+ value: 1
86
+ },
71
87
  reset: false,
72
88
  immediate: skipAnimation
73
89
  });
@@ -75,18 +91,18 @@ function AnimatedArea(props) {
75
91
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
76
92
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("clipPath", {
77
93
  id: clipId,
78
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.rect, {
94
+ children: transitionAppear(style => /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.rect, {
79
95
  x: 0,
80
96
  y: 0,
81
- width: animatedWidth,
97
+ width: style.animatedWidth,
82
98
  height: top + height + bottom
83
- })
99
+ }))
84
100
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
85
101
  clipPath: `url(#${clipId})`,
86
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AreaElementPath, (0, _extends2.default)({}, other, {
102
+ children: transitionChange((style, interpolator) => /*#__PURE__*/(0, _jsxRuntime.jsx)(AreaElementPath, (0, _extends2.default)({}, other, {
87
103
  ownerState: ownerState,
88
- d: path
89
- }))
104
+ d: style.value.to(interpolator)
105
+ })))
90
106
  })]
91
107
  });
92
108
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -13,14 +14,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
14
  var _web = require("@react-spring/web");
14
15
  var _d3Color = require("@mui/x-charts-vendor/d3-color");
15
16
  var _styles = require("@mui/material/styles");
16
- var _useAnimatedPath = require("../internals/useAnimatedPath");
17
17
  var _cleanId = require("../internals/cleanId");
18
18
  var _useChartId = require("../hooks/useChartId");
19
19
  var _useDrawingArea = require("../hooks/useDrawingArea");
20
+ var _useStringInterpolator = require("../internals/useStringInterpolator");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  const _excluded = ["d", "skipAnimation", "ownerState"];
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  const LineElementPath = exports.LineElementPath = (0, _styles.styled)(_web.animated.path, {
25
24
  name: 'MuiLineElement',
26
25
  slot: 'Root',
@@ -61,16 +60,33 @@ function AnimatedLine(props) {
61
60
  right
62
61
  } = (0, _useDrawingArea.useDrawingArea)();
63
62
  const chartId = (0, _useChartId.useChartId)();
64
- const path = (0, _useAnimatedPath.useAnimatedPath)(d, skipAnimation);
65
- const {
66
- animatedWidth
67
- } = (0, _web.useSpring)({
63
+ const stringInterpolator = (0, _useStringInterpolator.useStringInterpolator)(d);
64
+ const transitionAppear = (0, _web.useTransition)([1], {
68
65
  from: {
69
66
  animatedWidth: left
70
67
  },
71
68
  to: {
72
69
  animatedWidth: width + left + right
73
70
  },
71
+ enter: {
72
+ animatedWidth: width + left + right
73
+ },
74
+ leave: {
75
+ animatedWidth: left
76
+ },
77
+ reset: false,
78
+ immediate: skipAnimation
79
+ });
80
+ const transitionChange = (0, _web.useTransition)([stringInterpolator], {
81
+ from: {
82
+ value: 0
83
+ },
84
+ to: {
85
+ value: 1
86
+ },
87
+ enter: {
88
+ value: 1
89
+ },
74
90
  reset: false,
75
91
  immediate: skipAnimation
76
92
  });
@@ -78,18 +94,18 @@ function AnimatedLine(props) {
78
94
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
79
95
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("clipPath", {
80
96
  id: clipId,
81
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.rect, {
97
+ children: transitionAppear(style => /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.rect, {
82
98
  x: 0,
83
99
  y: 0,
84
- width: animatedWidth,
100
+ width: style.animatedWidth,
85
101
  height: top + height + bottom
86
- })
102
+ }))
87
103
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
88
104
  clipPath: `url(#${clipId})`,
89
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LineElementPath, (0, _extends2.default)({}, other, {
105
+ children: transitionChange((style, interpolator) => /*#__PURE__*/(0, _jsxRuntime.jsx)(LineElementPath, (0, _extends2.default)({}, other, {
90
106
  ownerState: ownerState,
91
- d: path
92
- }))
107
+ d: style.value.to(interpolator)
108
+ })))
93
109
  })]
94
110
  });
95
111
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -20,8 +21,6 @@ var _AnimatedArea = require("./AnimatedArea");
20
21
  var _context = require("../context");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
23
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
24
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
24
  function getAreaElementUtilityClass(slot) {
26
25
  return (0, _generateUtilityClass.default)('MuiAreaElement', slot);
27
26
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -19,85 +20,88 @@ var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients"
19
20
  var _useSeries = require("../hooks/useSeries");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  const useAggregatedData = () => {
25
24
  const seriesData = (0, _useSeries.useLineSeries)();
26
25
  const axisData = (0, _CartesianProvider.useCartesianContext)();
27
- if (seriesData === undefined) {
28
- return [];
29
- }
30
- const {
31
- series,
32
- stackingGroups
33
- } = seriesData;
34
- const {
35
- xAxis,
36
- yAxis,
37
- xAxisIds,
38
- yAxisIds
39
- } = axisData;
40
- const defaultXAxisId = xAxisIds[0];
41
- const defaultYAxisId = yAxisIds[0];
42
- return stackingGroups.flatMap(({
43
- ids: groupIds
44
- }) => {
45
- return [...groupIds].reverse() // Revert stacked area for a more pleasant animation
46
- .map(seriesId => {
47
- const {
48
- xAxisId: xAxisIdProp,
49
- yAxisId: yAxisIdProp,
50
- xAxisKey = defaultXAxisId,
51
- yAxisKey = defaultYAxisId,
52
- stackedData,
53
- data,
54
- connectNulls,
55
- baseline
56
- } = series[seriesId];
57
- const xAxisId = xAxisIdProp ?? xAxisKey;
58
- const yAxisId = yAxisIdProp ?? yAxisKey;
59
- const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
60
- const yScale = yAxis[yAxisId].scale;
61
- const xData = xAxis[xAxisId].data;
62
- const gradientUsed = yAxis[yAxisId].colorScale && [yAxisId, 'y'] || xAxis[xAxisId].colorScale && [xAxisId, 'x'] || undefined;
63
- if (process.env.NODE_ENV !== 'production') {
64
- if (xData === undefined) {
65
- throw new Error(`MUI X: ${xAxisId === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisId}"`} should have data property to be able to display a line plot.`);
66
- }
67
- if (xData.length < stackedData.length) {
68
- throw new Error(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
69
- }
70
- }
71
- const areaPath = (0, _d3Shape.area)().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y0(d => {
72
- if (typeof baseline === 'number') {
73
- return yScale(baseline);
74
- }
75
- if (baseline === 'max') {
76
- return yScale.range()[1];
77
- }
78
- if (baseline === 'min') {
79
- return yScale.range()[0];
80
- }
81
- const value = d.y && yScale(d.y[0]);
82
- if (Number.isNaN(value)) {
83
- return yScale.range()[0];
26
+
27
+ // This memo prevents odd line chart behavior when hydrating.
28
+ const allData = React.useMemo(() => {
29
+ if (seriesData === undefined) {
30
+ return [];
31
+ }
32
+ const {
33
+ series,
34
+ stackingGroups
35
+ } = seriesData;
36
+ const {
37
+ xAxis,
38
+ yAxis,
39
+ xAxisIds,
40
+ yAxisIds
41
+ } = axisData;
42
+ const defaultXAxisId = xAxisIds[0];
43
+ const defaultYAxisId = yAxisIds[0];
44
+ return stackingGroups.flatMap(({
45
+ ids: groupIds
46
+ }) => {
47
+ return [...groupIds].reverse() // Revert stacked area for a more pleasant animation
48
+ .map(seriesId => {
49
+ const {
50
+ xAxisId: xAxisIdProp,
51
+ yAxisId: yAxisIdProp,
52
+ xAxisKey = defaultXAxisId,
53
+ yAxisKey = defaultYAxisId,
54
+ stackedData,
55
+ data,
56
+ connectNulls,
57
+ baseline
58
+ } = series[seriesId];
59
+ const xAxisId = xAxisIdProp ?? xAxisKey;
60
+ const yAxisId = yAxisIdProp ?? yAxisKey;
61
+ const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
62
+ const yScale = yAxis[yAxisId].scale;
63
+ const xData = xAxis[xAxisId].data;
64
+ const gradientUsed = yAxis[yAxisId].colorScale && [yAxisId, 'y'] || xAxis[xAxisId].colorScale && [xAxisId, 'x'] || undefined;
65
+ if (process.env.NODE_ENV !== 'production') {
66
+ if (xData === undefined) {
67
+ throw new Error(`MUI X: ${xAxisId === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisId}"`} should have data property to be able to display a line plot.`);
68
+ }
69
+ if (xData.length < stackedData.length) {
70
+ throw new Error(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
71
+ }
84
72
  }
85
- return value;
86
- }).y1(d => d.y && yScale(d.y[1]));
87
- const curve = (0, _getCurve.default)(series[seriesId].curve);
88
- const formattedData = xData?.map((x, index) => ({
89
- x,
90
- y: stackedData[index]
91
- })) ?? [];
92
- const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
93
- const d = areaPath.curve(curve)(d3Data) || '';
94
- return (0, _extends2.default)({}, series[seriesId], {
95
- gradientUsed,
96
- d,
97
- seriesId
73
+ const areaPath = (0, _d3Shape.area)().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y0(d => {
74
+ if (typeof baseline === 'number') {
75
+ return yScale(baseline);
76
+ }
77
+ if (baseline === 'max') {
78
+ return yScale.range()[1];
79
+ }
80
+ if (baseline === 'min') {
81
+ return yScale.range()[0];
82
+ }
83
+ const value = d.y && yScale(d.y[0]);
84
+ if (Number.isNaN(value)) {
85
+ return yScale.range()[0];
86
+ }
87
+ return value;
88
+ }).y1(d => d.y && yScale(d.y[1]));
89
+ const curve = (0, _getCurve.default)(series[seriesId].curve);
90
+ const formattedData = xData?.map((x, index) => ({
91
+ x,
92
+ y: stackedData[index]
93
+ })) ?? [];
94
+ const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
95
+ const d = areaPath.curve(curve)(d3Data) || '';
96
+ return (0, _extends2.default)({}, series[seriesId], {
97
+ gradientUsed,
98
+ d,
99
+ seriesId
100
+ });
98
101
  });
99
102
  });
100
- });
103
+ }, [seriesData, axisData]);
104
+ return allData;
101
105
  };
102
106
 
103
107
  /**
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -24,8 +25,6 @@ var _ChartsOnAxisClickHandler = require("../ChartsOnAxisClickHandler");
24
25
  var _ChartsOverlay = require("../ChartsOverlay");
25
26
  var _useLineChartProps = require("./useLineChartProps");
26
27
  var _jsxRuntime = require("react/jsx-runtime");
27
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
28
  /**
30
29
  * Demos:
31
30
  *
@@ -61,7 +60,7 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
61
60
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, (0, _extends2.default)({
62
61
  ref: ref
63
62
  }, chartContainerProps, {
64
- children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), props.grid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
63
+ children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
65
64
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, (0, _extends2.default)({}, areaPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePlot.LinePlot, (0, _extends2.default)({}, linePlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps))]
66
65
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
67
66
  "data-drawing-container": true,
@@ -142,6 +141,17 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
142
141
  classes: _propTypes.default.object,
143
142
  direction: _propTypes.default.oneOf(['column', 'row']),
144
143
  hidden: _propTypes.default.bool,
144
+ itemGap: _propTypes.default.number,
145
+ itemMarkHeight: _propTypes.default.number,
146
+ itemMarkWidth: _propTypes.default.number,
147
+ labelStyle: _propTypes.default.object,
148
+ markGap: _propTypes.default.number,
149
+ padding: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
150
+ bottom: _propTypes.default.number,
151
+ left: _propTypes.default.number,
152
+ right: _propTypes.default.number,
153
+ top: _propTypes.default.number
154
+ })]),
145
155
  position: _propTypes.default.shape({
146
156
  horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
147
157
  vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -20,8 +21,6 @@ var _AnimatedLine = require("./AnimatedLine");
20
21
  var _context = require("../context");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
23
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
24
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
24
  function getLineElementUtilityClass(slot) {
26
25
  return (0, _generateUtilityClass.default)('MuiLineElement', slot);
27
26
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -17,8 +18,6 @@ var _styles = require("@mui/material/styles");
17
18
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  const _excluded = ["x", "y", "id", "classes", "color"];
20
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
21
  function getHighlightElementUtilityClass(slot) {
23
22
  return (0, _generateUtilityClass.default)('MuiHighlightElement', slot);
24
23
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -19,8 +20,6 @@ var _useSeries = require("../hooks/useSeries");
19
20
  var _useDrawingArea = require("../hooks/useDrawingArea");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  const _excluded = ["slots", "slotProps"];
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  /**
25
24
  * Demos:
26
25
  *
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -19,67 +20,70 @@ var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients"
19
20
  var _useSeries = require("../hooks/useSeries");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
23
  const useAggregatedData = () => {
25
24
  const seriesData = (0, _useSeries.useLineSeries)();
26
25
  const axisData = (0, _CartesianProvider.useCartesianContext)();
27
- if (seriesData === undefined) {
28
- return [];
29
- }
30
- const {
31
- series,
32
- stackingGroups
33
- } = seriesData;
34
- const {
35
- xAxis,
36
- yAxis,
37
- xAxisIds,
38
- yAxisIds
39
- } = axisData;
40
- const defaultXAxisId = xAxisIds[0];
41
- const defaultYAxisId = yAxisIds[0];
42
- return stackingGroups.flatMap(({
43
- ids: groupIds
44
- }) => {
45
- return groupIds.flatMap(seriesId => {
46
- const {
47
- xAxisId: xAxisIdProp,
48
- yAxisId: yAxisIdProp,
49
- xAxisKey = defaultXAxisId,
50
- yAxisKey = defaultYAxisId,
51
- stackedData,
52
- data,
53
- connectNulls
54
- } = series[seriesId];
55
- const xAxisId = xAxisIdProp ?? xAxisKey;
56
- const yAxisId = yAxisIdProp ?? yAxisKey;
57
- const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
58
- const yScale = yAxis[yAxisId].scale;
59
- const xData = xAxis[xAxisId].data;
60
- const gradientUsed = yAxis[yAxisId].colorScale && [yAxisId, 'y'] || xAxis[xAxisId].colorScale && [xAxisId, 'x'] || undefined;
61
- if (process.env.NODE_ENV !== 'production') {
62
- if (xData === undefined) {
63
- throw new Error(`MUI X: ${xAxisId === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisId}"`} should have data property to be able to display a line plot.`);
64
- }
65
- if (xData.length < stackedData.length) {
66
- throw new Error(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
26
+
27
+ // This memo prevents odd line chart behavior when hydrating.
28
+ const allData = React.useMemo(() => {
29
+ if (seriesData === undefined) {
30
+ return [];
31
+ }
32
+ const {
33
+ series,
34
+ stackingGroups
35
+ } = seriesData;
36
+ const {
37
+ xAxis,
38
+ yAxis,
39
+ xAxisIds,
40
+ yAxisIds
41
+ } = axisData;
42
+ const defaultXAxisId = xAxisIds[0];
43
+ const defaultYAxisId = yAxisIds[0];
44
+ return stackingGroups.flatMap(({
45
+ ids: groupIds
46
+ }) => {
47
+ return groupIds.flatMap(seriesId => {
48
+ const {
49
+ xAxisId: xAxisIdProp,
50
+ yAxisId: yAxisIdProp,
51
+ xAxisKey = defaultXAxisId,
52
+ yAxisKey = defaultYAxisId,
53
+ stackedData,
54
+ data,
55
+ connectNulls
56
+ } = series[seriesId];
57
+ const xAxisId = xAxisIdProp ?? xAxisKey;
58
+ const yAxisId = yAxisIdProp ?? yAxisKey;
59
+ const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
60
+ const yScale = yAxis[yAxisId].scale;
61
+ const xData = xAxis[xAxisId].data;
62
+ const gradientUsed = yAxis[yAxisId].colorScale && [yAxisId, 'y'] || xAxis[xAxisId].colorScale && [xAxisId, 'x'] || undefined;
63
+ if (process.env.NODE_ENV !== 'production') {
64
+ if (xData === undefined) {
65
+ throw new Error(`MUI X: ${xAxisId === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisId}"`} should have data property to be able to display a line plot.`);
66
+ }
67
+ if (xData.length < stackedData.length) {
68
+ throw new Error(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
69
+ }
67
70
  }
68
- }
69
- const linePath = (0, _d3Shape.line)().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y(d => yScale(d.y[1]));
70
- const formattedData = xData?.map((x, index) => ({
71
- x,
72
- y: stackedData[index]
73
- })) ?? [];
74
- const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
75
- const d = linePath.curve((0, _getCurve.default)(series[seriesId].curve))(d3Data) || '';
76
- return (0, _extends2.default)({}, series[seriesId], {
77
- gradientUsed,
78
- d,
79
- seriesId
71
+ const linePath = (0, _d3Shape.line)().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y(d => yScale(d.y[1]));
72
+ const formattedData = xData?.map((x, index) => ({
73
+ x,
74
+ y: stackedData[index]
75
+ })) ?? [];
76
+ const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
77
+ const d = linePath.curve((0, _getCurve.default)(series[seriesId].curve))(d3Data) || '';
78
+ return (0, _extends2.default)({}, series[seriesId], {
79
+ gradientUsed,
80
+ d,
81
+ seriesId
82
+ });
80
83
  });
81
84
  });
82
- });
85
+ }, [seriesData, axisData]);
86
+ return allData;
83
87
  };
84
88
 
85
89
  /**