@mui/x-charts 7.15.0 → 7.17.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 (516) hide show
  1. package/BarChart/BarChart.js +26 -12
  2. package/BarChart/BarClipPath.js +1 -1
  3. package/BarChart/BarElement.js +4 -2
  4. package/BarChart/BarLabel/BarLabel.js +3 -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 +10 -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 +4 -3
  13. package/BarChart/plugin.js +3 -3
  14. package/BarChart/useBarChartProps.js +3 -1
  15. package/CHANGELOG.md +185 -1
  16. package/ChartContainer/ChartContainer.js +11 -9
  17. package/ChartContainer/index.js +1 -1
  18. package/ChartContainer/useChartContainerProps.js +4 -2
  19. package/ChartContainer/useDefaultizeAxis.js +3 -1
  20. package/ChartsAxis/ChartsAxis.js +5 -3
  21. package/ChartsAxis/index.js +2 -2
  22. package/ChartsAxisHighlight/ChartsAxisHighlight.js +6 -4
  23. package/ChartsAxisHighlight/index.js +1 -1
  24. package/ChartsClipPath/ChartsClipPath.js +3 -1
  25. package/ChartsClipPath/index.js +1 -1
  26. package/ChartsGrid/ChartsGrid.js +20 -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 +70 -26
  36. package/ChartsLegend/ChartsLegendItem.d.ts +26 -0
  37. package/ChartsLegend/ChartsLegendItem.js +65 -0
  38. package/ChartsLegend/ContinuousColorLegend.js +9 -7
  39. package/ChartsLegend/DefaultChartsLegend.d.ts +15 -2
  40. package/ChartsLegend/DefaultChartsLegend.js +31 -5
  41. package/ChartsLegend/LegendPerItem.d.ts +10 -6
  42. package/ChartsLegend/LegendPerItem.js +22 -35
  43. package/ChartsLegend/PiecewiseColorLegend.d.ts +9 -1
  44. package/ChartsLegend/PiecewiseColorLegend.js +31 -15
  45. package/ChartsLegend/chartsLegend.types.d.ts +39 -1
  46. package/ChartsLegend/chartsLegendClasses.d.ts +2 -0
  47. package/ChartsLegend/chartsLegendClasses.js +1 -1
  48. package/ChartsLegend/index.js +6 -6
  49. package/ChartsLegend/useAxis.js +4 -2
  50. package/ChartsLegend/utils.js +4 -4
  51. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -5
  52. package/ChartsOnAxisClickHandler/index.js +1 -1
  53. package/ChartsOverlay/ChartsLoadingOverlay.js +3 -1
  54. package/ChartsOverlay/ChartsNoDataOverlay.js +3 -1
  55. package/ChartsOverlay/ChartsOverlay.js +5 -3
  56. package/ChartsOverlay/index.js +3 -3
  57. package/ChartsReferenceLine/ChartsReferenceLine.js +4 -2
  58. package/ChartsReferenceLine/ChartsXReferenceLine.js +7 -5
  59. package/ChartsReferenceLine/ChartsYReferenceLine.js +7 -5
  60. package/ChartsReferenceLine/common.js +1 -1
  61. package/ChartsReferenceLine/index.js +2 -2
  62. package/ChartsSurface/ChartsSurface.js +3 -1
  63. package/ChartsSurface/index.js +1 -1
  64. package/ChartsText/ChartsText.js +3 -1
  65. package/ChartsText/index.js +1 -1
  66. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -6
  67. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +1 -1
  68. package/ChartsTooltip/ChartsItemTooltipContent.js +5 -5
  69. package/ChartsTooltip/ChartsTooltip.d.ts +2 -2
  70. package/ChartsTooltip/ChartsTooltip.js +15 -11
  71. package/ChartsTooltip/ChartsTooltipTable.js +10 -5
  72. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -5
  73. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +5 -3
  74. package/ChartsTooltip/chartsTooltipClasses.d.ts +2 -0
  75. package/ChartsTooltip/chartsTooltipClasses.js +1 -1
  76. package/ChartsTooltip/index.js +7 -7
  77. package/ChartsTooltip/utils.js +1 -1
  78. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +9 -7
  79. package/ChartsVoronoiHandler/index.js +1 -1
  80. package/ChartsXAxis/ChartsXAxis.js +20 -13
  81. package/ChartsXAxis/index.js +1 -1
  82. package/ChartsYAxis/ChartsYAxis.js +17 -10
  83. package/ChartsYAxis/index.js +1 -1
  84. package/Gauge/Gauge.js +7 -5
  85. package/Gauge/GaugeContainer.js +6 -4
  86. package/Gauge/GaugeProvider.js +3 -3
  87. package/Gauge/GaugeReferenceArc.js +3 -1
  88. package/Gauge/GaugeValueArc.js +3 -1
  89. package/Gauge/GaugeValueText.js +4 -2
  90. package/Gauge/index.js +7 -7
  91. package/LineChart/AnimatedArea.js +33 -14
  92. package/LineChart/AnimatedLine.js +34 -15
  93. package/LineChart/AreaElement.js +5 -3
  94. package/LineChart/AreaPlot.js +85 -78
  95. package/LineChart/CircleMarkElement.d.ts +34 -0
  96. package/LineChart/CircleMarkElement.js +107 -0
  97. package/LineChart/LineChart.d.ts +4 -0
  98. package/LineChart/LineChart.js +33 -15
  99. package/LineChart/LineElement.js +5 -3
  100. package/LineChart/LineHighlightElement.js +2 -0
  101. package/LineChart/LineHighlightPlot.js +10 -8
  102. package/LineChart/LinePlot.js +67 -60
  103. package/LineChart/MarkElement.d.ts +1 -19
  104. package/LineChart/MarkElement.js +7 -23
  105. package/LineChart/MarkPlot.d.ts +6 -0
  106. package/LineChart/MarkPlot.js +22 -12
  107. package/LineChart/formatter.js +2 -2
  108. package/LineChart/index.d.ts +2 -0
  109. package/LineChart/index.js +12 -11
  110. package/LineChart/legend.js +4 -3
  111. package/LineChart/markElementClasses.d.ts +20 -0
  112. package/LineChart/markElementClasses.js +19 -0
  113. package/LineChart/plugin.js +3 -3
  114. package/LineChart/useLineChartProps.js +8 -4
  115. package/PieChart/PieArc.js +3 -1
  116. package/PieChart/PieArcLabel.js +2 -0
  117. package/PieChart/PieArcLabelPlot.js +6 -4
  118. package/PieChart/PieArcPlot.js +6 -4
  119. package/PieChart/PieChart.js +22 -8
  120. package/PieChart/PiePlot.js +8 -6
  121. package/PieChart/dataTransform/useTransformData.js +3 -1
  122. package/PieChart/formatter.js +1 -1
  123. package/PieChart/getPieCoordinates.js +1 -1
  124. package/PieChart/index.js +7 -7
  125. package/PieChart/legend.js +4 -2
  126. package/PieChart/plugin.js +2 -2
  127. package/ResponsiveChartContainer/ResponsiveChartContainer.js +5 -3
  128. package/ResponsiveChartContainer/index.js +1 -1
  129. package/ResponsiveChartContainer/useChartContainerDimensions.js +3 -1
  130. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +3 -1
  131. package/ScatterChart/Scatter.js +7 -5
  132. package/ScatterChart/ScatterChart.js +26 -12
  133. package/ScatterChart/ScatterPlot.js +7 -5
  134. package/ScatterChart/formatter.js +1 -1
  135. package/ScatterChart/index.js +3 -3
  136. package/ScatterChart/legend.js +4 -3
  137. package/ScatterChart/plugin.js +3 -3
  138. package/ScatterChart/useScatterChartProps.js +2 -0
  139. package/SparkLineChart/SparkLineChart.js +8 -6
  140. package/SparkLineChart/index.js +1 -1
  141. package/colorPalettes/index.js +1 -1
  142. package/context/CartesianProvider/CartesianProvider.js +8 -6
  143. package/context/CartesianProvider/computeValue.js +6 -6
  144. package/context/CartesianProvider/defaultizeAxis.js +1 -1
  145. package/context/CartesianProvider/index.js +5 -5
  146. package/context/CartesianProvider/useCartesianContext.js +3 -1
  147. package/context/DrawingProvider.js +3 -1
  148. package/context/HighlightedProvider/HighlightedProvider.js +6 -4
  149. package/context/HighlightedProvider/index.js +4 -4
  150. package/context/HighlightedProvider/useHighlighted.js +3 -1
  151. package/context/HighlightedProvider/useItemHighlighted.js +3 -1
  152. package/context/InteractionProvider.js +2 -0
  153. package/context/PluginProvider/PluginProvider.js +4 -2
  154. package/context/PluginProvider/index.js +10 -10
  155. package/context/PluginProvider/mergePlugins.js +4 -4
  156. package/context/PluginProvider/useColorProcessor.js +3 -1
  157. package/context/PluginProvider/useSeriesFormatter.js +3 -1
  158. package/context/PluginProvider/useXExtremumGetter.js +1 -1
  159. package/context/PluginProvider/useYExtremumGetter.js +1 -1
  160. package/context/SeriesProvider/SeriesProvider.js +6 -4
  161. package/context/SeriesProvider/index.js +4 -4
  162. package/context/SeriesProvider/processSeries.js +1 -1
  163. package/context/ZAxisContextProvider.js +3 -1
  164. package/context/index.js +2 -2
  165. package/hooks/index.js +7 -7
  166. package/hooks/useAxis.js +3 -1
  167. package/hooks/useAxisEvents.js +8 -6
  168. package/hooks/useChartDimensions.js +3 -1
  169. package/hooks/useChartId.js +3 -1
  170. package/hooks/useColorScale.js +4 -2
  171. package/hooks/useDrawingArea.js +3 -1
  172. package/hooks/useInteractionItemProps.js +4 -2
  173. package/hooks/useMounted.js +2 -0
  174. package/hooks/useReducedMotion.js +15 -12
  175. package/hooks/useScale.js +4 -2
  176. package/hooks/useSeries.js +3 -1
  177. package/hooks/useSvgRef.js +3 -1
  178. package/hooks/useTicks.js +4 -2
  179. package/index.js +27 -27
  180. package/internals/components/AxisSharedComponents.js +1 -1
  181. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +5 -5
  182. package/internals/components/ChartsAxesGradients/index.js +1 -1
  183. package/internals/getWordsByLines.js +1 -1
  184. package/internals/index.js +31 -31
  185. package/internals/isCartesian.js +1 -1
  186. package/internals/useStringInterpolator.d.ts +1 -0
  187. package/{modern/internals/useAnimatedPath.js → internals/useStringInterpolator.js} +2 -15
  188. package/models/index.d.ts +1 -0
  189. package/models/index.js +5 -3
  190. package/models/seriesType/index.js +4 -4
  191. package/modern/BarChart/BarChart.js +26 -12
  192. package/modern/BarChart/BarClipPath.js +1 -1
  193. package/modern/BarChart/BarElement.js +4 -2
  194. package/modern/BarChart/BarLabel/BarLabel.js +3 -1
  195. package/modern/BarChart/BarLabel/BarLabelItem.js +4 -4
  196. package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
  197. package/modern/BarChart/BarLabel/index.js +2 -2
  198. package/modern/BarChart/BarPlot.js +10 -8
  199. package/modern/BarChart/checkScaleErrors.js +2 -2
  200. package/modern/BarChart/formatter.js +2 -2
  201. package/modern/BarChart/index.js +4 -4
  202. package/modern/BarChart/legend.js +4 -3
  203. package/modern/BarChart/plugin.js +3 -3
  204. package/modern/BarChart/useBarChartProps.js +3 -1
  205. package/modern/ChartContainer/ChartContainer.js +11 -9
  206. package/modern/ChartContainer/index.js +1 -1
  207. package/modern/ChartContainer/useChartContainerProps.js +4 -2
  208. package/modern/ChartContainer/useDefaultizeAxis.js +3 -1
  209. package/modern/ChartsAxis/ChartsAxis.js +5 -3
  210. package/modern/ChartsAxis/index.js +2 -2
  211. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +6 -4
  212. package/modern/ChartsAxisHighlight/index.js +1 -1
  213. package/modern/ChartsClipPath/ChartsClipPath.js +3 -1
  214. package/modern/ChartsClipPath/index.js +1 -1
  215. package/modern/ChartsGrid/ChartsGrid.js +20 -66
  216. package/modern/ChartsGrid/ChartsHorizontalGrid.js +36 -0
  217. package/modern/ChartsGrid/ChartsVerticalGrid.js +36 -0
  218. package/modern/ChartsGrid/index.js +2 -2
  219. package/modern/ChartsGrid/styledCommonents.js +22 -0
  220. package/modern/ChartsLegend/ChartsLegend.js +70 -26
  221. package/modern/ChartsLegend/ChartsLegendItem.js +65 -0
  222. package/modern/ChartsLegend/ContinuousColorLegend.js +9 -7
  223. package/modern/ChartsLegend/DefaultChartsLegend.js +31 -5
  224. package/modern/ChartsLegend/LegendPerItem.js +22 -35
  225. package/modern/ChartsLegend/PiecewiseColorLegend.js +31 -15
  226. package/modern/ChartsLegend/chartsLegendClasses.js +1 -1
  227. package/modern/ChartsLegend/index.js +6 -6
  228. package/modern/ChartsLegend/useAxis.js +4 -2
  229. package/modern/ChartsLegend/utils.js +4 -4
  230. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -5
  231. package/modern/ChartsOnAxisClickHandler/index.js +1 -1
  232. package/modern/ChartsOverlay/ChartsLoadingOverlay.js +3 -1
  233. package/modern/ChartsOverlay/ChartsNoDataOverlay.js +3 -1
  234. package/modern/ChartsOverlay/ChartsOverlay.js +5 -3
  235. package/modern/ChartsOverlay/index.js +3 -3
  236. package/modern/ChartsReferenceLine/ChartsReferenceLine.js +4 -2
  237. package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +7 -5
  238. package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +7 -5
  239. package/modern/ChartsReferenceLine/common.js +1 -1
  240. package/modern/ChartsReferenceLine/index.js +2 -2
  241. package/modern/ChartsSurface/ChartsSurface.js +3 -1
  242. package/modern/ChartsSurface/index.js +1 -1
  243. package/modern/ChartsText/ChartsText.js +3 -1
  244. package/modern/ChartsText/index.js +1 -1
  245. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -6
  246. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +5 -5
  247. package/modern/ChartsTooltip/ChartsTooltip.js +15 -11
  248. package/modern/ChartsTooltip/ChartsTooltipTable.js +10 -5
  249. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -5
  250. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +5 -3
  251. package/modern/ChartsTooltip/chartsTooltipClasses.js +1 -1
  252. package/modern/ChartsTooltip/index.js +7 -7
  253. package/modern/ChartsTooltip/utils.js +1 -1
  254. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +9 -7
  255. package/modern/ChartsVoronoiHandler/index.js +1 -1
  256. package/modern/ChartsXAxis/ChartsXAxis.js +20 -13
  257. package/modern/ChartsXAxis/index.js +1 -1
  258. package/modern/ChartsYAxis/ChartsYAxis.js +17 -10
  259. package/modern/ChartsYAxis/index.js +1 -1
  260. package/modern/Gauge/Gauge.js +7 -5
  261. package/modern/Gauge/GaugeContainer.js +6 -4
  262. package/modern/Gauge/GaugeProvider.js +3 -3
  263. package/modern/Gauge/GaugeReferenceArc.js +3 -1
  264. package/modern/Gauge/GaugeValueArc.js +3 -1
  265. package/modern/Gauge/GaugeValueText.js +4 -2
  266. package/modern/Gauge/index.js +7 -7
  267. package/modern/LineChart/AnimatedArea.js +33 -14
  268. package/modern/LineChart/AnimatedLine.js +34 -15
  269. package/modern/LineChart/AreaElement.js +5 -3
  270. package/modern/LineChart/AreaPlot.js +85 -78
  271. package/modern/LineChart/CircleMarkElement.js +107 -0
  272. package/modern/LineChart/LineChart.js +33 -15
  273. package/modern/LineChart/LineElement.js +5 -3
  274. package/modern/LineChart/LineHighlightElement.js +2 -0
  275. package/modern/LineChart/LineHighlightPlot.js +10 -8
  276. package/modern/LineChart/LinePlot.js +67 -60
  277. package/modern/LineChart/MarkElement.js +7 -23
  278. package/modern/LineChart/MarkPlot.js +22 -12
  279. package/modern/LineChart/formatter.js +2 -2
  280. package/modern/LineChart/index.js +12 -11
  281. package/modern/LineChart/legend.js +4 -3
  282. package/modern/LineChart/markElementClasses.js +19 -0
  283. package/modern/LineChart/plugin.js +3 -3
  284. package/modern/LineChart/useLineChartProps.js +8 -4
  285. package/modern/PieChart/PieArc.js +3 -1
  286. package/modern/PieChart/PieArcLabel.js +2 -0
  287. package/modern/PieChart/PieArcLabelPlot.js +6 -4
  288. package/modern/PieChart/PieArcPlot.js +6 -4
  289. package/modern/PieChart/PieChart.js +22 -8
  290. package/modern/PieChart/PiePlot.js +8 -6
  291. package/modern/PieChart/dataTransform/useTransformData.js +3 -1
  292. package/modern/PieChart/formatter.js +1 -1
  293. package/modern/PieChart/getPieCoordinates.js +1 -1
  294. package/modern/PieChart/index.js +7 -7
  295. package/modern/PieChart/legend.js +4 -2
  296. package/modern/PieChart/plugin.js +2 -2
  297. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +5 -3
  298. package/modern/ResponsiveChartContainer/index.js +1 -1
  299. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +3 -1
  300. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +3 -1
  301. package/modern/ScatterChart/Scatter.js +7 -5
  302. package/modern/ScatterChart/ScatterChart.js +26 -12
  303. package/modern/ScatterChart/ScatterPlot.js +7 -5
  304. package/modern/ScatterChart/formatter.js +1 -1
  305. package/modern/ScatterChart/index.js +3 -3
  306. package/modern/ScatterChart/legend.js +4 -3
  307. package/modern/ScatterChart/plugin.js +3 -3
  308. package/modern/ScatterChart/useScatterChartProps.js +2 -0
  309. package/modern/SparkLineChart/SparkLineChart.js +8 -6
  310. package/modern/SparkLineChart/index.js +1 -1
  311. package/modern/colorPalettes/index.js +1 -1
  312. package/modern/context/CartesianProvider/CartesianProvider.js +8 -6
  313. package/modern/context/CartesianProvider/computeValue.js +6 -6
  314. package/modern/context/CartesianProvider/defaultizeAxis.js +1 -1
  315. package/modern/context/CartesianProvider/index.js +5 -5
  316. package/modern/context/CartesianProvider/useCartesianContext.js +3 -1
  317. package/modern/context/DrawingProvider.js +3 -1
  318. package/modern/context/HighlightedProvider/HighlightedProvider.js +6 -4
  319. package/modern/context/HighlightedProvider/index.js +4 -4
  320. package/modern/context/HighlightedProvider/useHighlighted.js +3 -1
  321. package/modern/context/HighlightedProvider/useItemHighlighted.js +3 -1
  322. package/modern/context/InteractionProvider.js +2 -0
  323. package/modern/context/PluginProvider/PluginProvider.js +4 -2
  324. package/modern/context/PluginProvider/index.js +10 -10
  325. package/modern/context/PluginProvider/mergePlugins.js +4 -4
  326. package/modern/context/PluginProvider/useColorProcessor.js +3 -1
  327. package/modern/context/PluginProvider/useSeriesFormatter.js +3 -1
  328. package/modern/context/PluginProvider/useXExtremumGetter.js +1 -1
  329. package/modern/context/PluginProvider/useYExtremumGetter.js +1 -1
  330. package/modern/context/SeriesProvider/SeriesProvider.js +6 -4
  331. package/modern/context/SeriesProvider/index.js +4 -4
  332. package/modern/context/SeriesProvider/processSeries.js +1 -1
  333. package/modern/context/ZAxisContextProvider.js +3 -1
  334. package/modern/context/index.js +2 -2
  335. package/modern/hooks/index.js +7 -7
  336. package/modern/hooks/useAxis.js +3 -1
  337. package/modern/hooks/useAxisEvents.js +8 -6
  338. package/modern/hooks/useChartDimensions.js +3 -1
  339. package/modern/hooks/useChartId.js +3 -1
  340. package/modern/hooks/useColorScale.js +4 -2
  341. package/modern/hooks/useDrawingArea.js +3 -1
  342. package/modern/hooks/useInteractionItemProps.js +4 -2
  343. package/modern/hooks/useMounted.js +2 -0
  344. package/modern/hooks/useReducedMotion.js +15 -12
  345. package/modern/hooks/useScale.js +4 -2
  346. package/modern/hooks/useSeries.js +3 -1
  347. package/modern/hooks/useSvgRef.js +3 -1
  348. package/modern/hooks/useTicks.js +4 -2
  349. package/modern/index.js +27 -27
  350. package/modern/internals/components/AxisSharedComponents.js +1 -1
  351. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +5 -5
  352. package/modern/internals/components/ChartsAxesGradients/index.js +1 -1
  353. package/modern/internals/getWordsByLines.js +1 -1
  354. package/modern/internals/index.js +31 -31
  355. package/modern/internals/isCartesian.js +1 -1
  356. package/{internals/useAnimatedPath.js → modern/internals/useStringInterpolator.js} +2 -15
  357. package/modern/models/index.js +5 -3
  358. package/modern/models/seriesType/index.js +4 -4
  359. package/modern/themeAugmentation/index.js +0 -3
  360. package/node/BarChart/BarChart.js +16 -4
  361. package/node/BarChart/BarClipPath.js +2 -3
  362. package/node/BarChart/BarElement.js +3 -3
  363. package/node/BarChart/BarLabel/BarLabel.js +3 -3
  364. package/node/BarChart/BarLabel/BarLabelItem.js +2 -3
  365. package/node/BarChart/BarLabel/BarLabelPlot.js +2 -3
  366. package/node/BarChart/BarLabel/barLabelClasses.js +1 -1
  367. package/node/BarChart/BarPlot.js +3 -3
  368. package/node/BarChart/formatter.js +1 -1
  369. package/node/BarChart/legend.js +3 -2
  370. package/node/BarChart/plugin.js +1 -1
  371. package/node/BarChart/useBarChartProps.js +2 -1
  372. package/node/ChartContainer/ChartContainer.js +3 -3
  373. package/node/ChartContainer/useChartContainerProps.js +3 -3
  374. package/node/ChartContainer/useDefaultizeAxis.js +3 -3
  375. package/node/ChartsAxis/ChartsAxis.js +3 -3
  376. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +3 -3
  377. package/node/ChartsClipPath/ChartsClipPath.js +3 -3
  378. package/node/ChartsGrid/ChartsGrid.js +18 -66
  379. package/node/ChartsGrid/ChartsHorizontalGrid.js +43 -0
  380. package/node/ChartsGrid/ChartsVerticalGrid.js +43 -0
  381. package/node/ChartsGrid/chartsGridClasses.js +1 -1
  382. package/node/ChartsGrid/styledCommonents.js +28 -0
  383. package/node/ChartsLegend/ChartsLegend.js +66 -24
  384. package/node/ChartsLegend/ChartsLegendItem.js +72 -0
  385. package/node/ChartsLegend/ContinuousColorLegend.js +3 -3
  386. package/node/ChartsLegend/DefaultChartsLegend.js +31 -7
  387. package/node/ChartsLegend/LegendPerItem.js +20 -35
  388. package/node/ChartsLegend/PiecewiseColorLegend.js +29 -15
  389. package/node/ChartsLegend/chartsLegendClasses.js +1 -1
  390. package/node/ChartsLegend/legendItemsPlacement.js +1 -1
  391. package/node/ChartsLegend/useAxis.js +2 -2
  392. package/node/ChartsLegend/utils.js +1 -1
  393. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +4 -4
  394. package/node/ChartsOverlay/ChartsLoadingOverlay.js +3 -3
  395. package/node/ChartsOverlay/ChartsNoDataOverlay.js +3 -3
  396. package/node/ChartsOverlay/ChartsOverlay.js +3 -3
  397. package/node/ChartsReferenceLine/ChartsReferenceLine.js +3 -3
  398. package/node/ChartsReferenceLine/ChartsXReferenceLine.js +4 -4
  399. package/node/ChartsReferenceLine/ChartsYReferenceLine.js +4 -4
  400. package/node/ChartsReferenceLine/chartsReferenceLineClasses.js +1 -1
  401. package/node/ChartsReferenceLine/common.js +1 -1
  402. package/node/ChartsSurface/ChartsSurface.js +3 -3
  403. package/node/ChartsText/ChartsText.js +3 -3
  404. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +2 -3
  405. package/node/ChartsTooltip/ChartsItemTooltipContent.js +2 -3
  406. package/node/ChartsTooltip/ChartsTooltip.js +11 -9
  407. package/node/ChartsTooltip/ChartsTooltipTable.js +9 -4
  408. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +4 -4
  409. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +4 -4
  410. package/node/ChartsTooltip/chartsTooltipClasses.js +1 -1
  411. package/node/ChartsTooltip/utils.js +2 -3
  412. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -3
  413. package/node/ChartsXAxis/ChartsXAxis.js +9 -4
  414. package/node/ChartsYAxis/ChartsYAxis.js +9 -4
  415. package/node/Gauge/Gauge.js +3 -3
  416. package/node/Gauge/GaugeContainer.js +3 -3
  417. package/node/Gauge/GaugeProvider.js +1 -2
  418. package/node/Gauge/GaugeReferenceArc.js +3 -3
  419. package/node/Gauge/GaugeValueArc.js +3 -3
  420. package/node/Gauge/GaugeValueText.js +3 -3
  421. package/node/Gauge/gaugeClasses.js +1 -1
  422. package/node/LineChart/AnimatedArea.js +31 -14
  423. package/node/LineChart/AnimatedLine.js +31 -14
  424. package/node/LineChart/AreaElement.js +3 -3
  425. package/node/LineChart/AreaPlot.js +79 -74
  426. package/node/LineChart/CircleMarkElement.js +113 -0
  427. package/node/LineChart/LineChart.js +20 -4
  428. package/node/LineChart/LineElement.js +3 -3
  429. package/node/LineChart/LineHighlightElement.js +3 -3
  430. package/node/LineChart/LineHighlightPlot.js +3 -3
  431. package/node/LineChart/LinePlot.js +61 -56
  432. package/node/LineChart/MarkElement.js +5 -25
  433. package/node/LineChart/MarkPlot.js +14 -6
  434. package/node/LineChart/formatter.js +1 -1
  435. package/node/LineChart/index.js +29 -1
  436. package/node/LineChart/legend.js +3 -2
  437. package/node/LineChart/markElementClasses.js +28 -0
  438. package/node/LineChart/plugin.js +1 -1
  439. package/node/LineChart/useLineChartProps.js +7 -4
  440. package/node/PieChart/PieArc.js +3 -3
  441. package/node/PieChart/PieArcLabel.js +3 -3
  442. package/node/PieChart/PieArcLabelPlot.js +3 -3
  443. package/node/PieChart/PieArcPlot.js +3 -3
  444. package/node/PieChart/PieChart.js +15 -3
  445. package/node/PieChart/PiePlot.js +3 -3
  446. package/node/PieChart/dataTransform/useTransformData.js +3 -3
  447. package/node/PieChart/formatter.js +1 -1
  448. package/node/PieChart/legend.js +3 -1
  449. package/node/PieChart/plugin.js +1 -1
  450. package/node/ResponsiveChartContainer/ResponsiveChartContainer.js +3 -3
  451. package/node/ResponsiveChartContainer/useChartContainerDimensions.js +4 -4
  452. package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +2 -1
  453. package/node/ScatterChart/Scatter.js +3 -3
  454. package/node/ScatterChart/ScatterChart.js +16 -4
  455. package/node/ScatterChart/ScatterPlot.js +3 -3
  456. package/node/ScatterChart/legend.js +3 -2
  457. package/node/ScatterChart/plugin.js +1 -1
  458. package/node/ScatterChart/useScatterChartProps.js +2 -1
  459. package/node/SparkLineChart/SparkLineChart.js +3 -3
  460. package/node/context/CartesianProvider/CartesianContext.js +1 -2
  461. package/node/context/CartesianProvider/CartesianProvider.js +2 -2
  462. package/node/context/CartesianProvider/computeValue.js +1 -1
  463. package/node/context/CartesianProvider/defaultizeAxis.js +1 -1
  464. package/node/context/CartesianProvider/useCartesianContext.js +2 -2
  465. package/node/context/DrawingProvider.js +3 -3
  466. package/node/context/HighlightedProvider/HighlightedContext.js +1 -2
  467. package/node/context/HighlightedProvider/HighlightedProvider.js +3 -3
  468. package/node/context/HighlightedProvider/useHighlighted.js +2 -2
  469. package/node/context/HighlightedProvider/useItemHighlighted.js +1 -0
  470. package/node/context/InteractionProvider.js +3 -3
  471. package/node/context/PluginProvider/PluginContext.js +1 -2
  472. package/node/context/PluginProvider/PluginProvider.js +2 -2
  473. package/node/context/PluginProvider/useColorProcessor.js +2 -2
  474. package/node/context/PluginProvider/useSeriesFormatter.js +2 -2
  475. package/node/context/PluginProvider/useXExtremumGetter.js +1 -2
  476. package/node/context/PluginProvider/useYExtremumGetter.js +1 -2
  477. package/node/context/SeriesProvider/SeriesContext.js +1 -2
  478. package/node/context/SeriesProvider/SeriesProvider.js +2 -2
  479. package/node/context/SeriesProvider/processSeries.js +1 -1
  480. package/node/context/ZAxisContextProvider.js +3 -3
  481. package/node/hooks/useAxis.js +1 -0
  482. package/node/hooks/useAxisEvents.js +2 -2
  483. package/node/hooks/useChartDimensions.js +3 -3
  484. package/node/hooks/useChartId.js +2 -2
  485. package/node/hooks/useColorScale.js +2 -2
  486. package/node/hooks/useDrawingArea.js +2 -2
  487. package/node/hooks/useInteractionItemProps.js +2 -2
  488. package/node/hooks/useMounted.js +3 -3
  489. package/node/hooks/useReducedMotion.js +15 -12
  490. package/node/hooks/useScale.js +1 -0
  491. package/node/hooks/useSeries.js +2 -2
  492. package/node/hooks/useSvgRef.js +2 -2
  493. package/node/hooks/useTicks.js +2 -2
  494. package/node/index.js +1 -1
  495. package/node/internals/components/AxisSharedComponents.js +1 -1
  496. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +2 -3
  497. package/node/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +1 -2
  498. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +1 -2
  499. package/node/internals/defaultizeColor.js +1 -1
  500. package/node/internals/defaultizeValueFormatter.js +1 -1
  501. package/node/internals/domUtils.js +1 -1
  502. package/node/internals/getWordsByLines.js +1 -1
  503. package/node/internals/useStringInterpolator.js +28 -0
  504. package/node/tests/firePointerEvent.js +1 -1
  505. package/node/themeAugmentation/index.js +1 -38
  506. package/package.json +4 -3
  507. package/themeAugmentation/components.d.ts +2 -0
  508. package/themeAugmentation/index.d.ts +3 -3
  509. package/themeAugmentation/index.js +0 -3
  510. package/themeAugmentation/overrides.d.ts +6 -4
  511. package/internals/useAnimatedPath.d.ts +0 -1
  512. package/internals/warning.d.ts +0 -2
  513. package/internals/warning.js +0 -21
  514. package/modern/internals/warning.js +0 -21
  515. package/node/internals/useAnimatedPath.js +0 -42
  516. package/node/internals/warning.js +0 -28
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ChartsGridHorizontal = ChartsGridHorizontal;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _useTicks = require("../hooks/useTicks");
10
+ var _styledCommonents = require("./styledCommonents");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ /**
13
+ * @ignore - internal component.
14
+ */
15
+ function ChartsGridHorizontal(props) {
16
+ const {
17
+ axis,
18
+ drawingArea,
19
+ classes
20
+ } = props;
21
+ const {
22
+ scale,
23
+ tickNumber,
24
+ tickInterval
25
+ } = axis;
26
+ const yTicks = (0, _useTicks.useTicks)({
27
+ scale,
28
+ tickNumber,
29
+ tickInterval
30
+ });
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
32
+ children: yTicks.map(({
33
+ formattedValue,
34
+ offset
35
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledCommonents.GridLine, {
36
+ y1: offset,
37
+ y2: offset,
38
+ x1: drawingArea.left,
39
+ x2: drawingArea.left + drawingArea.width,
40
+ className: classes.horizontalLine
41
+ }, `horizontal-${formattedValue}`))
42
+ });
43
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ChartsGridVertical = ChartsGridVertical;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _useTicks = require("../hooks/useTicks");
10
+ var _styledCommonents = require("./styledCommonents");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ /**
13
+ * @ignore - internal component.
14
+ */
15
+ function ChartsGridVertical(props) {
16
+ const {
17
+ axis,
18
+ drawingArea,
19
+ classes
20
+ } = props;
21
+ const {
22
+ scale,
23
+ tickNumber,
24
+ tickInterval
25
+ } = axis;
26
+ const xTicks = (0, _useTicks.useTicks)({
27
+ scale,
28
+ tickNumber,
29
+ tickInterval
30
+ });
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
32
+ children: xTicks.map(({
33
+ formattedValue,
34
+ offset
35
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledCommonents.GridLine, {
36
+ y1: drawingArea.top,
37
+ y2: drawingArea.top + drawingArea.height,
38
+ x1: offset,
39
+ x2: offset,
40
+ className: classes.verticalLine
41
+ }, `vertical-${formattedValue}`))
42
+ });
43
+ }
@@ -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
  });
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GridRoot = exports.GridLine = void 0;
7
+ var _styles = require("@mui/material/styles");
8
+ var _chartsGridClasses = require("./chartsGridClasses");
9
+ const GridRoot = exports.GridRoot = (0, _styles.styled)('g', {
10
+ name: 'MuiChartsGrid',
11
+ slot: 'Root',
12
+ overridesResolver: (props, styles) => [{
13
+ [`&.${_chartsGridClasses.chartsGridClasses.verticalLine}`]: styles.verticalLine
14
+ }, {
15
+ [`&.${_chartsGridClasses.chartsGridClasses.horizontalLine}`]: styles.horizontalLine
16
+ }, styles.root]
17
+ })({});
18
+ const GridLine = exports.GridLine = (0, _styles.styled)('line', {
19
+ name: 'MuiChartsGrid',
20
+ slot: 'Line',
21
+ overridesResolver: (props, styles) => styles.line
22
+ })(({
23
+ theme
24
+ }) => ({
25
+ stroke: (theme.vars || theme).palette.divider,
26
+ shapeRendering: 'crispEdges',
27
+ strokeWidth: 1
28
+ }));
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
6
8
  });
7
9
  exports.ChartsLegend = ChartsLegend;
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
8
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
12
  var React = _interopRequireWildcard(require("react"));
10
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -17,8 +20,7 @@ var _DefaultChartsLegend = require("./DefaultChartsLegend");
17
20
  var _hooks = require("../hooks");
18
21
  var _useSeries = require("../hooks/useSeries");
19
22
  var _jsxRuntime = require("react/jsx-runtime");
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; }
23
+ const _excluded = ["slots", "slotProps"];
22
24
  const useUtilityClasses = ownerState => {
23
25
  const {
24
26
  classes,
@@ -28,31 +30,31 @@ const useUtilityClasses = ownerState => {
28
30
  root: ['root', direction],
29
31
  mark: ['mark'],
30
32
  label: ['label'],
31
- series: ['series']
33
+ series: ['series'],
34
+ itemBackground: ['itemBackground']
32
35
  };
33
36
  return (0, _composeClasses.default)(slots, _chartsLegendClasses.getLegendUtilityClass, classes);
34
37
  };
35
- const defaultProps = {
36
- position: {
37
- horizontal: 'middle',
38
- vertical: 'top'
39
- },
40
- direction: 'row'
41
- };
42
38
  function ChartsLegend(inProps) {
43
39
  const props = (0, _styles.useThemeProps)({
44
- props: (0, _extends2.default)({}, defaultProps, inProps),
40
+ props: inProps,
45
41
  name: 'MuiChartsLegend'
46
42
  });
43
+ const defaultizedProps = (0, _extends2.default)({
44
+ direction: 'row'
45
+ }, props, {
46
+ position: (0, _extends2.default)({
47
+ horizontal: 'middle',
48
+ vertical: 'top'
49
+ }, props.position)
50
+ });
47
51
  const {
48
- position,
49
- direction,
50
- hidden,
51
- slots,
52
- slotProps
53
- } = props;
52
+ slots,
53
+ slotProps
54
+ } = defaultizedProps,
55
+ other = (0, _objectWithoutPropertiesLoose2.default)(defaultizedProps, _excluded);
54
56
  const theme = (0, _styles.useTheme)();
55
- const classes = useUtilityClasses((0, _extends2.default)({}, props, {
57
+ const classes = useUtilityClasses((0, _extends2.default)({}, defaultizedProps, {
56
58
  theme
57
59
  }));
58
60
  const drawingArea = (0, _hooks.useDrawingArea)();
@@ -62,15 +64,12 @@ function ChartsLegend(inProps) {
62
64
  const chartLegendRenderProps = (0, _useSlotProps.default)({
63
65
  elementType: ChartLegendRender,
64
66
  externalSlotProps: slotProps?.legend,
65
- additionalProps: {
66
- position,
67
- direction,
67
+ additionalProps: (0, _extends2.default)({}, other, {
68
68
  classes,
69
69
  drawingArea,
70
70
  series,
71
- hidden,
72
71
  seriesToDisplay
73
- },
72
+ }),
74
73
  ownerState: {}
75
74
  });
76
75
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartLegendRender, (0, _extends2.default)({}, chartLegendRenderProps));
@@ -94,6 +93,49 @@ process.env.NODE_ENV !== "production" ? ChartsLegend.propTypes = {
94
93
  * @default false
95
94
  */
96
95
  hidden: _propTypes.default.bool,
96
+ /**
97
+ * Space between two legend items (in px).
98
+ * @default 10
99
+ */
100
+ itemGap: _propTypes.default.number,
101
+ /**
102
+ * Height of the item mark (in px).
103
+ * @default 20
104
+ */
105
+ itemMarkHeight: _propTypes.default.number,
106
+ /**
107
+ * Width of the item mark (in px).
108
+ * @default 20
109
+ */
110
+ itemMarkWidth: _propTypes.default.number,
111
+ /**
112
+ * Style applied to legend labels.
113
+ * @default theme.typography.subtitle1
114
+ */
115
+ labelStyle: _propTypes.default.object,
116
+ /**
117
+ * Space between the mark and the label (in px).
118
+ * @default 5
119
+ */
120
+ markGap: _propTypes.default.number,
121
+ /**
122
+ * Callback fired when a legend item is clicked.
123
+ * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
124
+ * @param {SeriesLegendItemContext} legendItem The legend item data.
125
+ * @param {number} index The index of the clicked legend item.
126
+ */
127
+ onItemClick: _propTypes.default.func,
128
+ /**
129
+ * Legend padding (in px).
130
+ * Can either be a single number, or an object with top, left, bottom, right properties.
131
+ * @default 10
132
+ */
133
+ padding: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
134
+ bottom: _propTypes.default.number,
135
+ left: _propTypes.default.number,
136
+ right: _propTypes.default.number,
137
+ top: _propTypes.default.number
138
+ })]),
97
139
  /**
98
140
  * The position of the legend.
99
141
  */
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ChartsLegendItem = ChartsLegendItem;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _clsx = _interopRequireDefault(require("clsx"));
12
+ var _RtlProvider = require("@mui/system/RtlProvider");
13
+ var _ChartsText = require("../ChartsText");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ /**
16
+ * @ignore - internal component.
17
+ */
18
+ function ChartsLegendItem(props) {
19
+ const isRTL = (0, _RtlProvider.useRtl)();
20
+ const {
21
+ id,
22
+ positionY,
23
+ label,
24
+ positionX,
25
+ innerHeight,
26
+ innerWidth,
27
+ legendWidth,
28
+ color,
29
+ gapX,
30
+ gapY,
31
+ itemMarkHeight,
32
+ itemMarkWidth,
33
+ markGap,
34
+ labelStyle,
35
+ classes,
36
+ onClick
37
+ } = props;
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
39
+ className: (0, _clsx.default)(classes?.series, `${classes?.series}-${id}`),
40
+ transform: `translate(${gapX + (isRTL ? legendWidth - positionX : positionX)} ${gapY + positionY})`,
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
42
+ x: isRTL ? -(innerWidth + 2) : -2,
43
+ y: -itemMarkHeight / 2 - 2,
44
+ width: innerWidth + 4,
45
+ height: innerHeight + 4,
46
+ fill: "transparent",
47
+ className: classes?.itemBackground,
48
+ onClick: onClick,
49
+ style: {
50
+ pointerEvents: onClick ? 'all' : 'none',
51
+ cursor: onClick ? 'pointer' : 'unset'
52
+ }
53
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
54
+ className: classes?.mark,
55
+ x: isRTL ? -itemMarkWidth : 0,
56
+ y: -itemMarkHeight / 2,
57
+ width: itemMarkWidth,
58
+ height: itemMarkHeight,
59
+ fill: color,
60
+ style: {
61
+ pointerEvents: 'none'
62
+ }
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsText.ChartsText, {
64
+ style: (0, _extends2.default)({
65
+ pointerEvents: 'none'
66
+ }, labelStyle),
67
+ text: label,
68
+ x: (isRTL ? -1 : 1) * (itemMarkWidth + markGap),
69
+ y: 0
70
+ })]
71
+ });
72
+ }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
6
8
  });
@@ -18,8 +20,6 @@ var _ChartsText = require("../ChartsText");
18
20
  var _domUtils = require("../internals/domUtils");
19
21
  var _useAxis = require("./useAxis");
20
22
  var _jsxRuntime = require("react/jsx-runtime");
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
23
  function getPositionOffset(position, legendBox, svgBox) {
24
24
  let offsetX = 0;
25
25
  let offsetY = 0;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
6
8
  });
@@ -11,16 +13,27 @@ var React = _interopRequireWildcard(require("react"));
11
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
14
  var _LegendPerItem = require("./LegendPerItem");
13
15
  var _jsxRuntime = require("react/jsx-runtime");
14
- const _excluded = ["drawingArea", "seriesToDisplay"];
15
- 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); }
16
- 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; }
16
+ const _excluded = ["drawingArea", "seriesToDisplay", "hidden", "onItemClick"];
17
+ const seriesContextBuilder = context => ({
18
+ type: 'series',
19
+ color: context.color,
20
+ label: context.label,
21
+ seriesId: context.seriesId,
22
+ itemId: context.itemId
23
+ });
17
24
  function DefaultChartsLegend(props) {
18
25
  const {
19
- seriesToDisplay
26
+ seriesToDisplay,
27
+ hidden,
28
+ onItemClick
20
29
  } = props,
21
30
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
31
+ if (hidden) {
32
+ return null;
33
+ }
22
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LegendPerItem.LegendPerItem, (0, _extends2.default)({}, other, {
23
- itemsToDisplay: seriesToDisplay
35
+ itemsToDisplay: seriesToDisplay,
36
+ onItemClick: onItemClick ? (e, i) => onItemClick(e, seriesContextBuilder(seriesToDisplay[i]), i) : undefined
24
37
  }));
25
38
  }
26
39
  process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
@@ -78,6 +91,13 @@ process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
78
91
  * @default 5
79
92
  */
80
93
  markGap: _propTypes.default.number,
94
+ /**
95
+ * Callback fired when a legend item is clicked.
96
+ * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
97
+ * @param {SeriesLegendItemContext} legendItem The legend item data.
98
+ * @param {number} index The index of the clicked legend item.
99
+ */
100
+ onItemClick: _propTypes.default.func,
81
101
  /**
82
102
  * Legend padding (in px).
83
103
  * Can either be a single number, or an object with top, left, bottom, right properties.
@@ -100,6 +120,10 @@ process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
100
120
  seriesToDisplay: _propTypes.default.arrayOf(_propTypes.default.shape({
101
121
  color: _propTypes.default.string.isRequired,
102
122
  id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
103
- label: _propTypes.default.string.isRequired
123
+ itemId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
124
+ label: _propTypes.default.string.isRequired,
125
+ maxValue: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
126
+ minValue: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
127
+ seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
104
128
  })).isRequired
105
129
  } : void 0;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
6
8
  });
@@ -8,18 +10,16 @@ exports.ChartsLegendRoot = void 0;
8
10
  exports.LegendPerItem = LegendPerItem;
9
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var React = _interopRequireWildcard(require("react"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var React = _react;
12
15
  var _NoSsr = _interopRequireDefault(require("@mui/material/NoSsr"));
13
16
  var _styles = require("@mui/material/styles");
14
- var _RtlProvider = require("@mui/system/RtlProvider");
15
- var _ChartsText = require("../ChartsText");
16
17
  var _getWordsByLines = require("../internals/getWordsByLines");
17
18
  var _legendItemsPlacement = require("./legendItemsPlacement");
18
19
  var _useDrawingArea = require("../hooks/useDrawingArea");
20
+ var _ChartsLegendItem = require("./ChartsLegendItem");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
22
  const _excluded = ["rotate", "dominantBaseline"];
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
23
  const ChartsLegendRoot = exports.ChartsLegendRoot = (0, _styles.styled)('g', {
24
24
  name: 'MuiChartsLegend',
25
25
  slot: 'Root',
@@ -52,7 +52,6 @@ const getStandardizedPadding = padding => {
52
52
  */
53
53
  function LegendPerItem(props) {
54
54
  const {
55
- hidden,
56
55
  position,
57
56
  direction,
58
57
  itemsToDisplay,
@@ -62,10 +61,10 @@ function LegendPerItem(props) {
62
61
  markGap = 5,
63
62
  itemGap = 10,
64
63
  padding: paddingProps = 10,
65
- labelStyle: inLabelStyle
64
+ labelStyle: inLabelStyle,
65
+ onItemClick
66
66
  } = props;
67
67
  const theme = (0, _styles.useTheme)();
68
- const isRtl = (0, _RtlProvider.useRtl)();
69
68
  const drawingArea = (0, _useDrawingArea.useDrawingArea)();
70
69
  const labelStyle = React.useMemo(() => (0, _extends2.default)({}, theme.typography.subtitle1, {
71
70
  color: 'inherit',
@@ -118,35 +117,21 @@ function LegendPerItem(props) {
118
117
  return (totalHeight - legendHeight) / 2;
119
118
  }
120
119
  }, [position.vertical, padding.top, padding.bottom, totalHeight, legendHeight]);
121
- if (hidden) {
122
- return null;
123
- }
124
120
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NoSsr.default, {
125
121
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsLegendRoot, {
126
122
  className: classes?.root,
127
- children: itemsWithPosition.map(({
128
- id,
129
- label,
130
- color,
131
- positionX,
132
- positionY
133
- }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
134
- className: classes?.series,
135
- transform: `translate(${gapX + (isRtl ? legendWidth - positionX : positionX)} ${gapY + positionY})`,
136
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
137
- className: classes?.mark,
138
- x: isRtl ? -itemMarkWidth : 0,
139
- y: -itemMarkHeight / 2,
140
- width: itemMarkWidth,
141
- height: itemMarkHeight,
142
- fill: color
143
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsText.ChartsText, {
144
- style: labelStyle,
145
- text: label,
146
- x: (isRtl ? -1 : 1) * (itemMarkWidth + markGap),
147
- y: 0
148
- })]
149
- }, id))
123
+ children: itemsWithPosition.map((item, i) => /*#__PURE__*/(0, _react.createElement)(_ChartsLegendItem.ChartsLegendItem, (0, _extends2.default)({}, item, {
124
+ key: item.id,
125
+ gapX: gapX,
126
+ gapY: gapY,
127
+ legendWidth: legendWidth,
128
+ itemMarkHeight: itemMarkHeight,
129
+ itemMarkWidth: itemMarkWidth,
130
+ markGap: markGap,
131
+ labelStyle: labelStyle,
132
+ classes: classes,
133
+ onClick: onItemClick ? e => onItemClick(e, i) : undefined
134
+ })))
150
135
  })
151
136
  });
152
137
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
6
8
  });
@@ -13,9 +15,7 @@ var _useAxis = require("./useAxis");
13
15
  var _LegendPerItem = require("./LegendPerItem");
14
16
  var _notNull = require("../internals/notNull");
15
17
  var _jsxRuntime = require("react/jsx-runtime");
16
- const _excluded = ["axisDirection", "axisId", "hideFirst", "hideLast", "labelFormatter"];
17
- 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); }
18
- 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
+ const _excluded = ["axisDirection", "axisId", "hideFirst", "hideLast", "labelFormatter", "onItemClick"];
19
19
  function defaultLabelFormatter(params) {
20
20
  if (params.min === null) {
21
21
  return `<${params.formattedMax}`;
@@ -25,13 +25,21 @@ function defaultLabelFormatter(params) {
25
25
  }
26
26
  return `${params.formattedMin}-${params.formattedMax}`;
27
27
  }
28
+ const piecewiseColorContextBuilder = context => ({
29
+ type: 'piecewiseColor',
30
+ color: context.color,
31
+ label: context.label,
32
+ maxValue: context.maxValue,
33
+ minValue: context.minValue
34
+ });
28
35
  function PiecewiseColorLegend(props) {
29
36
  const {
30
37
  axisDirection,
31
38
  axisId,
32
39
  hideFirst,
33
40
  hideLast,
34
- labelFormatter = defaultLabelFormatter
41
+ labelFormatter = defaultLabelFormatter,
42
+ onItemClick
35
43
  } = props,
36
44
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
37
45
  const axisItem = (0, _useAxis.useAxis)({
@@ -52,30 +60,34 @@ function PiecewiseColorLegend(props) {
52
60
  if (hideFirst && isFirst || hideLast && isLast) {
53
61
  return null;
54
62
  }
55
- const label = labelFormatter((0, _extends2.default)({}, index === 0 ? {
63
+ const data = (0, _extends2.default)({}, isFirst ? {
56
64
  min: null,
57
65
  formattedMin: null
58
66
  } : {
59
67
  min: colorMap.thresholds[index - 1],
60
68
  formattedMin: formattedLabels[index - 1]
61
- }, index === colorMap.colors.length - 1 ? {
69
+ }, isLast ? {
62
70
  max: null,
63
71
  formattedMax: null
64
72
  } : {
65
73
  max: colorMap.thresholds[index],
66
74
  formattedMax: formattedLabels[index]
67
- }));
75
+ });
76
+ const label = labelFormatter(data);
68
77
  if (label === null) {
69
78
  return null;
70
79
  }
71
80
  return {
72
81
  id: label,
73
82
  color,
74
- label
83
+ label,
84
+ minValue: data.min,
85
+ maxValue: data.max
75
86
  };
76
87
  }).filter(_notNull.notNull);
77
88
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LegendPerItem.LegendPerItem, (0, _extends2.default)({}, other, {
78
- itemsToDisplay: itemsToDisplay
89
+ itemsToDisplay: itemsToDisplay,
90
+ onItemClick: onItemClick ? (e, i) => onItemClick(e, piecewiseColorContextBuilder(itemsToDisplay[i]), i) : undefined
79
91
  }));
80
92
  }
81
93
  process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
@@ -102,11 +114,6 @@ process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
102
114
  * The default depends on the chart.
103
115
  */
104
116
  direction: _propTypes.default.oneOf(['column', 'row']).isRequired,
105
- /**
106
- * Set to true to hide the legend.
107
- * @default false
108
- */
109
- hidden: _propTypes.default.bool,
110
117
  /**
111
118
  * Hide the first item of the legend, corresponding to the [-infinity, min] piece.
112
119
  * @default false
@@ -148,6 +155,13 @@ process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
148
155
  * @default 5
149
156
  */
150
157
  markGap: _propTypes.default.number,
158
+ /**
159
+ * Callback fired when a legend item is clicked.
160
+ * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
161
+ * @param {PiecewiseColorLegendItemContext} legendItem The legend item data.
162
+ * @param {number} index The index of the clicked legend item.
163
+ */
164
+ onItemClick: _propTypes.default.func,
151
165
  /**
152
166
  * Legend padding (in px).
153
167
  * Can either be a single number, or an object with top, left, bottom, right properties.
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
9
9
  function getLegendUtilityClass(slot) {
10
10
  return (0, _utils.unstable_generateUtilityClass)('MuiChartsLegend', slot);
11
11
  }
12
- const legendClasses = exports.legendClasses = (0, _utils.unstable_generateUtilityClasses)('MuiChartsLegend', ['root', 'series', 'mark', 'label', 'column', 'row']);
12
+ const legendClasses = exports.legendClasses = (0, _utils.unstable_generateUtilityClasses)('MuiChartsLegend', ['root', 'series', 'itemBackground', 'mark', 'label', 'column', 'row']);
@@ -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,5 +1,7 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -7,8 +9,6 @@ exports.useAxis = useAxis;
7
9
  var React = _interopRequireWildcard(require("react"));
8
10
  var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
9
11
  var _useCartesianContext = require("../context/CartesianProvider/useCartesianContext");
10
- 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); }
11
- 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; }
12
12
  /**
13
13
  * Helper to select an axis definition according to its direction and id.
14
14
  */