@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
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { DrawingArea } from '../context/DrawingProvider';
3
- import { DefaultizedProps } from '../models/helpers';
4
3
  import { ChartsTextStyle } from '../ChartsText';
5
4
  import { CardinalDirections } from '../models/layout';
6
- import type { ChartsLegendProps } from './ChartsLegend';
7
5
  import { LegendItemParams } from './chartsLegend.types';
8
- import { AnchorPosition, Direction } from './legend.types';
6
+ import { AnchorPosition, Direction, LegendPlacement } from './legend.types';
7
+ import { ChartsLegendClasses } from './chartsLegendClasses';
8
+ import { DefaultizedProps } from '../models/helpers';
9
9
  export type ChartsLegendRootOwnerState = {
10
10
  position: AnchorPosition;
11
11
  direction: Direction;
@@ -15,12 +15,15 @@ export type ChartsLegendRootOwnerState = {
15
15
  seriesNumber: number;
16
16
  };
17
17
  export declare const ChartsLegendRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<React.SVGProps<SVGGElement>, keyof React.SVGProps<SVGGElement>>, {}>;
18
- export interface LegendPerItemProps extends DefaultizedProps<Omit<ChartsLegendProps, 'slots' | 'slotProps'>, 'direction' | 'position'> {
18
+ export interface LegendPerItemProps extends DefaultizedProps<LegendPlacement, keyof LegendPlacement> {
19
19
  /**
20
20
  * The ordered array of item to display in the legend.
21
21
  */
22
22
  itemsToDisplay: LegendItemParams[];
23
- classes?: Record<'mark' | 'series' | 'root', string>;
23
+ /**
24
+ * Override or extend the styles applied to the component.
25
+ */
26
+ classes?: Partial<ChartsLegendClasses>;
24
27
  /**
25
28
  * Style applied to legend labels.
26
29
  * @default theme.typography.subtitle1
@@ -52,10 +55,11 @@ export interface LegendPerItemProps extends DefaultizedProps<Omit<ChartsLegendPr
52
55
  * @default 10
53
56
  */
54
57
  padding?: number | Partial<CardinalDirections<number>>;
58
+ onItemClick?: (event: React.MouseEvent<SVGRectElement, MouseEvent>, index: number) => void;
55
59
  }
56
60
  /**
57
61
  * Internal component to display an array of items as a legend.
58
62
  * Used for series legend, and threshold color legend.
59
63
  * @ignore - Do not document
60
64
  */
61
- export declare function LegendPerItem(props: LegendPerItemProps): React.JSX.Element | null;
65
+ export declare function LegendPerItem(props: LegendPerItemProps): React.JSX.Element;
@@ -1,15 +1,17 @@
1
+ 'use client';
2
+
1
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
4
  import _extends from "@babel/runtime/helpers/esm/extends";
3
5
  const _excluded = ["rotate", "dominantBaseline"];
4
6
  import * as React from 'react';
5
7
  import NoSsr from '@mui/material/NoSsr';
6
8
  import { useTheme, styled } from '@mui/material/styles';
7
- import { useRtl } from '@mui/system/RtlProvider';
8
- import { ChartsText } from '../ChartsText';
9
- import { getWordsByLines } from '../internals/getWordsByLines';
10
- import { legendItemPlacements } from './legendItemsPlacement';
11
- import { useDrawingArea } from '../hooks/useDrawingArea';
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { getWordsByLines } from "../internals/getWordsByLines.js";
10
+ import { legendItemPlacements } from "./legendItemsPlacement.js";
11
+ import { useDrawingArea } from "../hooks/useDrawingArea.js";
12
+ import { ChartsLegendItem } from "./ChartsLegendItem.js";
13
+ import { createElement as _createElement } from "react";
14
+ import { jsx as _jsx } from "react/jsx-runtime";
13
15
  export const ChartsLegendRoot = styled('g', {
14
16
  name: 'MuiChartsLegend',
15
17
  slot: 'Root',
@@ -42,7 +44,6 @@ const getStandardizedPadding = padding => {
42
44
  */
43
45
  export function LegendPerItem(props) {
44
46
  const {
45
- hidden,
46
47
  position,
47
48
  direction,
48
49
  itemsToDisplay,
@@ -52,10 +53,10 @@ export function LegendPerItem(props) {
52
53
  markGap = 5,
53
54
  itemGap = 10,
54
55
  padding: paddingProps = 10,
55
- labelStyle: inLabelStyle
56
+ labelStyle: inLabelStyle,
57
+ onItemClick
56
58
  } = props;
57
59
  const theme = useTheme();
58
- const isRtl = useRtl();
59
60
  const drawingArea = useDrawingArea();
60
61
  const labelStyle = React.useMemo(() => _extends({}, theme.typography.subtitle1, {
61
62
  color: 'inherit',
@@ -108,35 +109,21 @@ export function LegendPerItem(props) {
108
109
  return (totalHeight - legendHeight) / 2;
109
110
  }
110
111
  }, [position.vertical, padding.top, padding.bottom, totalHeight, legendHeight]);
111
- if (hidden) {
112
- return null;
113
- }
114
112
  return /*#__PURE__*/_jsx(NoSsr, {
115
113
  children: /*#__PURE__*/_jsx(ChartsLegendRoot, {
116
114
  className: classes?.root,
117
- children: itemsWithPosition.map(({
118
- id,
119
- label,
120
- color,
121
- positionX,
122
- positionY
123
- }) => /*#__PURE__*/_jsxs("g", {
124
- className: classes?.series,
125
- transform: `translate(${gapX + (isRtl ? legendWidth - positionX : positionX)} ${gapY + positionY})`,
126
- children: [/*#__PURE__*/_jsx("rect", {
127
- className: classes?.mark,
128
- x: isRtl ? -itemMarkWidth : 0,
129
- y: -itemMarkHeight / 2,
130
- width: itemMarkWidth,
131
- height: itemMarkHeight,
132
- fill: color
133
- }), /*#__PURE__*/_jsx(ChartsText, {
134
- style: labelStyle,
135
- text: label,
136
- x: (isRtl ? -1 : 1) * (itemMarkWidth + markGap),
137
- y: 0
138
- })]
139
- }, id))
115
+ children: itemsWithPosition.map((item, i) => /*#__PURE__*/_createElement(ChartsLegendItem, _extends({}, item, {
116
+ key: item.id,
117
+ gapX: gapX,
118
+ gapY: gapY,
119
+ legendWidth: legendWidth,
120
+ itemMarkHeight: itemMarkHeight,
121
+ itemMarkWidth: itemMarkWidth,
122
+ markGap: markGap,
123
+ labelStyle: labelStyle,
124
+ classes: classes,
125
+ onClick: onItemClick ? e => onItemClick(e, i) : undefined
126
+ })))
140
127
  })
141
128
  });
142
129
  }
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { ColorLegendSelector, PiecewiseLabelFormatterParams } from './legend.types';
3
3
  import { LegendPerItemProps } from './LegendPerItem';
4
- export interface PiecewiseColorLegendProps extends ColorLegendSelector, Omit<LegendPerItemProps, 'itemsToDisplay'> {
4
+ import { PiecewiseColorLegendItemContext } from './chartsLegend.types';
5
+ export interface PiecewiseColorLegendProps extends ColorLegendSelector, Omit<LegendPerItemProps, 'itemsToDisplay' | 'onItemClick'> {
5
6
  /**
6
7
  * Hide the first item of the legend, corresponding to the [-infinity, min] piece.
7
8
  * @default false
@@ -18,6 +19,13 @@ export interface PiecewiseColorLegendProps extends ColorLegendSelector, Omit<Leg
18
19
  * @returns {string|null} The displayed label, or `null` to skip the item.
19
20
  */
20
21
  labelFormatter?: (params: PiecewiseLabelFormatterParams) => string | null;
22
+ /**
23
+ * Callback fired when a legend item is clicked.
24
+ * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
25
+ * @param {PiecewiseColorLegendItemContext} legendItem The legend item data.
26
+ * @param {number} index The index of the clicked legend item.
27
+ */
28
+ onItemClick?: (event: React.MouseEvent<SVGRectElement, MouseEvent>, legendItem: PiecewiseColorLegendItemContext, index: number) => void;
21
29
  }
22
30
  declare function PiecewiseColorLegend(props: PiecewiseColorLegendProps): React.JSX.Element | null;
23
31
  declare namespace PiecewiseColorLegend {
@@ -1,11 +1,13 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["axisDirection", "axisId", "hideFirst", "hideLast", "labelFormatter"];
5
+ const _excluded = ["axisDirection", "axisId", "hideFirst", "hideLast", "labelFormatter", "onItemClick"];
4
6
  import * as React from 'react';
5
7
  import PropTypes from 'prop-types';
6
- import { useAxis } from './useAxis';
7
- import { LegendPerItem } from './LegendPerItem';
8
- import { notNull } from '../internals/notNull';
8
+ import { useAxis } from "./useAxis.js";
9
+ import { LegendPerItem } from "./LegendPerItem.js";
10
+ import { notNull } from "../internals/notNull.js";
9
11
  import { jsx as _jsx } from "react/jsx-runtime";
10
12
  function defaultLabelFormatter(params) {
11
13
  if (params.min === null) {
@@ -16,13 +18,21 @@ function defaultLabelFormatter(params) {
16
18
  }
17
19
  return `${params.formattedMin}-${params.formattedMax}`;
18
20
  }
21
+ const piecewiseColorContextBuilder = context => ({
22
+ type: 'piecewiseColor',
23
+ color: context.color,
24
+ label: context.label,
25
+ maxValue: context.maxValue,
26
+ minValue: context.minValue
27
+ });
19
28
  function PiecewiseColorLegend(props) {
20
29
  const {
21
30
  axisDirection,
22
31
  axisId,
23
32
  hideFirst,
24
33
  hideLast,
25
- labelFormatter = defaultLabelFormatter
34
+ labelFormatter = defaultLabelFormatter,
35
+ onItemClick
26
36
  } = props,
27
37
  other = _objectWithoutPropertiesLoose(props, _excluded);
28
38
  const axisItem = useAxis({
@@ -43,30 +53,34 @@ function PiecewiseColorLegend(props) {
43
53
  if (hideFirst && isFirst || hideLast && isLast) {
44
54
  return null;
45
55
  }
46
- const label = labelFormatter(_extends({}, index === 0 ? {
56
+ const data = _extends({}, isFirst ? {
47
57
  min: null,
48
58
  formattedMin: null
49
59
  } : {
50
60
  min: colorMap.thresholds[index - 1],
51
61
  formattedMin: formattedLabels[index - 1]
52
- }, index === colorMap.colors.length - 1 ? {
62
+ }, isLast ? {
53
63
  max: null,
54
64
  formattedMax: null
55
65
  } : {
56
66
  max: colorMap.thresholds[index],
57
67
  formattedMax: formattedLabels[index]
58
- }));
68
+ });
69
+ const label = labelFormatter(data);
59
70
  if (label === null) {
60
71
  return null;
61
72
  }
62
73
  return {
63
74
  id: label,
64
75
  color,
65
- label
76
+ label,
77
+ minValue: data.min,
78
+ maxValue: data.max
66
79
  };
67
80
  }).filter(notNull);
68
81
  return /*#__PURE__*/_jsx(LegendPerItem, _extends({}, other, {
69
- itemsToDisplay: itemsToDisplay
82
+ itemsToDisplay: itemsToDisplay,
83
+ onItemClick: onItemClick ? (e, i) => onItemClick(e, piecewiseColorContextBuilder(itemsToDisplay[i]), i) : undefined
70
84
  }));
71
85
  }
72
86
  process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
@@ -93,11 +107,6 @@ process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
93
107
  * The default depends on the chart.
94
108
  */
95
109
  direction: PropTypes.oneOf(['column', 'row']).isRequired,
96
- /**
97
- * Set to true to hide the legend.
98
- * @default false
99
- */
100
- hidden: PropTypes.bool,
101
110
  /**
102
111
  * Hide the first item of the legend, corresponding to the [-infinity, min] piece.
103
112
  * @default false
@@ -139,6 +148,13 @@ process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
139
148
  * @default 5
140
149
  */
141
150
  markGap: PropTypes.number,
151
+ /**
152
+ * Callback fired when a legend item is clicked.
153
+ * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
154
+ * @param {PiecewiseColorLegendItemContext} legendItem The legend item data.
155
+ * @param {number} index The index of the clicked legend item.
156
+ */
157
+ onItemClick: PropTypes.func,
142
158
  /**
143
159
  * Legend padding (in px).
144
160
  * Can either be a single number, or an object with top, left, bottom, right properties.
@@ -1,5 +1,7 @@
1
1
  import { ChartsTextStyle } from '../ChartsText';
2
- export interface LegendItemParams {
2
+ import { PieItemId } from '../models';
3
+ import { SeriesId } from '../models/seriesType/common';
4
+ interface LegendItemContextBase {
3
5
  /**
4
6
  * The color used in the legend
5
7
  */
@@ -8,12 +10,47 @@ export interface LegendItemParams {
8
10
  * The label displayed in the legend
9
11
  */
10
12
  label: string;
13
+ }
14
+ export interface LegendItemParams extends Partial<Omit<SeriesLegendItemContext, 'type' | keyof LegendItemContextBase>>, Partial<Omit<PiecewiseColorLegendItemContext, 'type' | keyof LegendItemContextBase>>, LegendItemContextBase {
11
15
  /**
12
16
  * The identifier of the legend element.
13
17
  * Used for internal purpose such as `key` props
14
18
  */
15
19
  id: number | string;
16
20
  }
21
+ export interface SeriesLegendItemContext extends LegendItemContextBase {
22
+ /**
23
+ * The type of the legend item
24
+ * - `series` is used for series legend item
25
+ * - `piecewiseColor` is used for piecewise color legend item
26
+ */
27
+ type: 'series';
28
+ /**
29
+ * The identifier of the series
30
+ */
31
+ seriesId: SeriesId;
32
+ /**
33
+ * The identifier of the pie item
34
+ */
35
+ itemId?: PieItemId;
36
+ }
37
+ export interface PiecewiseColorLegendItemContext extends LegendItemContextBase {
38
+ /**
39
+ * The type of the legend item
40
+ * - `series` is used for series legend item
41
+ * - `piecewiseColor` is used for piecewise color legend item
42
+ */
43
+ type: 'piecewiseColor';
44
+ /**
45
+ * The minimum value of the category
46
+ */
47
+ minValue: number | Date | null;
48
+ /**
49
+ * The maximum value of the category
50
+ */
51
+ maxValue: number | Date | null;
52
+ }
53
+ export type LegendItemContext = SeriesLegendItemContext | PiecewiseColorLegendItemContext;
17
54
  export interface LegendItemWithPosition extends LegendItemParams {
18
55
  positionX: number;
19
56
  positionY: number;
@@ -29,3 +66,4 @@ export type GetItemSpaceType = (label: string, inStyle?: ChartsTextStyle) => {
29
66
  outerWidth: number;
30
67
  outerHeight: number;
31
68
  };
69
+ export {};
@@ -3,6 +3,8 @@ export interface ChartsLegendClasses {
3
3
  root: string;
4
4
  /** Styles applied to a series element. */
5
5
  series: string;
6
+ /** Styles applied to the item background. */
7
+ itemBackground: string;
6
8
  /** Styles applied to series mark element. */
7
9
  mark: string;
8
10
  /** Styles applied to the series label. */
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClass as generateUtilityClass, unstable_generat
2
2
  export function getLegendUtilityClass(slot) {
3
3
  return generateUtilityClass('MuiChartsLegend', slot);
4
4
  }
5
- export const legendClasses = generateUtilityClasses('MuiChartsLegend', ['root', 'series', 'mark', 'label', 'column', 'row']);
5
+ export const legendClasses = generateUtilityClasses('MuiChartsLegend', ['root', 'series', 'itemBackground', 'mark', 'label', 'column', 'row']);
@@ -1,6 +1,6 @@
1
- export * from './ChartsLegend';
2
- export * from './DefaultChartsLegend';
3
- export * from './ContinuousColorLegend';
4
- export * from './PiecewiseColorLegend';
5
- export * from './chartsLegendClasses';
6
- export * from './utils';
1
+ export * from "./ChartsLegend.js";
2
+ export * from "./DefaultChartsLegend.js";
3
+ export * from "./ContinuousColorLegend.js";
4
+ export * from "./PiecewiseColorLegend.js";
5
+ export * from "./chartsLegendClasses.js";
6
+ export * from "./utils.js";
@@ -1,6 +1,8 @@
1
+ 'use client';
2
+
1
3
  import * as React from 'react';
2
- import { ZAxisContext } from '../context/ZAxisContextProvider';
3
- import { useCartesianContext } from '../context/CartesianProvider/useCartesianContext';
4
+ import { ZAxisContext } from "../context/ZAxisContextProvider.js";
5
+ import { useCartesianContext } from "../context/CartesianProvider/useCartesianContext.js";
4
6
  /**
5
7
  * Helper to select an axis definition according to its direction and id.
6
8
  */
@@ -1,7 +1,7 @@
1
- import getBarLegend from '../BarChart/legend';
2
- import getScatterLegend from '../ScatterChart/legend';
3
- import getLineLegend from '../LineChart/legend';
4
- import getPieLegend from '../PieChart/legend';
1
+ import getBarLegend from "../BarChart/legend.js";
2
+ import getScatterLegend from "../ScatterChart/legend.js";
3
+ import getLineLegend from "../LineChart/legend.js";
4
+ import getPieLegend from "../PieChart/legend.js";
5
5
  const legendGetter = {
6
6
  bar: getBarLegend,
7
7
  scatter: getScatterLegend,
@@ -1,9 +1,11 @@
1
+ 'use client';
2
+
1
3
  import * as React from 'react';
2
4
  import PropTypes from 'prop-types';
3
- import { InteractionContext } from '../context/InteractionProvider';
4
- import { useSeries } from '../hooks/useSeries';
5
- import { useSvgRef } from '../hooks';
6
- import { useCartesianContext } from '../context/CartesianProvider';
5
+ import { InteractionContext } from "../context/InteractionProvider.js";
6
+ import { useSeries } from "../hooks/useSeries.js";
7
+ import { useSvgRef } from "../hooks/index.js";
8
+ import { useCartesianContext } from "../context/CartesianProvider/index.js";
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
8
10
  function ChartsOnAxisClickHandler(props) {
9
11
  const {
@@ -27,7 +29,7 @@ function ChartsOnAxisClickHandler(props) {
27
29
  }
28
30
  const handleMouseClick = event => {
29
31
  event.preventDefault();
30
- const isXaxis = (axis.x && axis.x.index) !== undefined;
32
+ const isXaxis = axis.x && axis.x.index !== -1;
31
33
  const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
32
34
  const dataIndex = isXaxis ? axis.x && axis.x.index : axis.y && axis.y.index;
33
35
  if (dataIndex == null) {
@@ -1 +1 @@
1
- export * from './ChartsOnAxisClickHandler';
1
+ export * from "./ChartsOnAxisClickHandler.js";
@@ -1,9 +1,11 @@
1
+ 'use client';
2
+
1
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
4
  import _extends from "@babel/runtime/helpers/esm/extends";
3
5
  const _excluded = ["message"];
4
6
  import * as React from 'react';
5
7
  import { styled } from '@mui/material/styles';
6
- import { useDrawingArea } from '../hooks/useDrawingArea';
8
+ import { useDrawingArea } from "../hooks/useDrawingArea.js";
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
8
10
  const StyledText = styled('text')(({
9
11
  theme
@@ -1,9 +1,11 @@
1
+ 'use client';
2
+
1
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
4
  import _extends from "@babel/runtime/helpers/esm/extends";
3
5
  const _excluded = ["message"];
4
6
  import * as React from 'react';
5
7
  import { styled } from '@mui/material/styles';
6
- import { useDrawingArea } from '../hooks/useDrawingArea';
8
+ import { useDrawingArea } from "../hooks/useDrawingArea.js";
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
8
10
  const StyledText = styled('text')(({
9
11
  theme
@@ -1,8 +1,10 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
- import { ChartsLoadingOverlay } from './ChartsLoadingOverlay';
4
- import { useSeries } from '../hooks/useSeries';
5
- import { ChartsNoDataOverlay } from './ChartsNoDataOverlay';
5
+ import { ChartsLoadingOverlay } from "./ChartsLoadingOverlay.js";
6
+ import { useSeries } from "../hooks/useSeries.js";
7
+ import { ChartsNoDataOverlay } from "./ChartsNoDataOverlay.js";
6
8
  import { jsx as _jsx } from "react/jsx-runtime";
7
9
  export function useNoData() {
8
10
  const seriesPerType = useSeries();
@@ -1,3 +1,3 @@
1
- export { ChartsOverlay } from './ChartsOverlay';
2
- export { ChartsLoadingOverlay } from './ChartsLoadingOverlay';
3
- export { ChartsNoDataOverlay } from './ChartsNoDataOverlay';
1
+ export { ChartsOverlay } from "./ChartsOverlay.js";
2
+ export { ChartsLoadingOverlay } from "./ChartsLoadingOverlay.js";
3
+ export { ChartsNoDataOverlay } from "./ChartsNoDataOverlay.js";
@@ -1,8 +1,10 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
4
- import { ChartsXReferenceLine } from './ChartsXReferenceLine';
5
- import { ChartsYReferenceLine } from './ChartsYReferenceLine';
6
+ import { ChartsXReferenceLine } from "./ChartsXReferenceLine.js";
7
+ import { ChartsYReferenceLine } from "./ChartsYReferenceLine.js";
6
8
  import { jsx as _jsx } from "react/jsx-runtime";
7
9
  function ChartsReferenceLine(props) {
8
10
  const {
@@ -1,11 +1,13 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import composeClasses from '@mui/utils/composeClasses';
4
- import { useDrawingArea, useXScale } from '../hooks';
5
- import { ReferenceLineRoot } from './common';
6
- import { ChartsText } from '../ChartsText';
7
- import { getReferenceLineUtilityClass } from './chartsReferenceLineClasses';
8
- import { warnOnce } from '../internals/warning';
6
+ import { warnOnce } from '@mui/x-internals/warning';
7
+ import { useDrawingArea, useXScale } from "../hooks/index.js";
8
+ import { ReferenceLineRoot } from "./common.js";
9
+ import { ChartsText } from "../ChartsText/index.js";
10
+ import { getReferenceLineUtilityClass } from "./chartsReferenceLineClasses.js";
9
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
12
  const getTextParams = ({
11
13
  top,
@@ -1,11 +1,13 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import composeClasses from '@mui/utils/composeClasses';
4
- import { useDrawingArea, useYScale } from '../hooks';
5
- import { ReferenceLineRoot } from './common';
6
- import { ChartsText } from '../ChartsText';
7
- import { getReferenceLineUtilityClass } from './chartsReferenceLineClasses';
8
- import { warnOnce } from '../internals/warning';
6
+ import { warnOnce } from '@mui/x-internals/warning';
7
+ import { useDrawingArea, useYScale } from "../hooks/index.js";
8
+ import { ReferenceLineRoot } from "./common.js";
9
+ import { ChartsText } from "../ChartsText/index.js";
10
+ import { getReferenceLineUtilityClass } from "./chartsReferenceLineClasses.js";
9
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
12
  const getTextParams = ({
11
13
  left,
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { styled } from '@mui/material/styles';
3
- import { referenceLineClasses } from './chartsReferenceLineClasses';
3
+ import { referenceLineClasses } from "./chartsReferenceLineClasses.js";
4
4
  export const ReferenceLineRoot = styled('g')(({
5
5
  theme
6
6
  }) => ({
@@ -1,2 +1,2 @@
1
- export * from './ChartsReferenceLine';
2
- export * from './chartsReferenceLineClasses';
1
+ export * from "./ChartsReferenceLine.js";
2
+ export * from "./chartsReferenceLineClasses.js";
@@ -1,10 +1,12 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
5
  const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className", "title", "desc"];
4
6
  import { styled, useThemeProps } from '@mui/material/styles';
5
7
  import PropTypes from 'prop-types';
6
8
  import * as React from 'react';
7
- import { useAxisEvents } from '../hooks/useAxisEvents';
9
+ import { useAxisEvents } from "../hooks/useAxisEvents.js";
8
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
11
  const ChartChartsSurfaceStyles = styled('svg', {
10
12
  name: 'MuiChartsSurface',
@@ -1 +1 @@
1
- export * from './ChartsSurface';
1
+ export * from "./ChartsSurface.js";
@@ -1,10 +1,12 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
5
  const _excluded = ["x", "y", "style", "text", "ownerState"],
4
6
  _excluded2 = ["angle", "textAnchor", "dominantBaseline"];
5
7
  import * as React from 'react';
6
8
  import PropTypes from 'prop-types';
7
- import { getWordsByLines } from '../internals/getWordsByLines';
9
+ import { getWordsByLines } from "../internals/getWordsByLines.js";
8
10
  import { jsx as _jsx } from "react/jsx-runtime";
9
11
  /**
10
12
  * Helper component to manage multiline text in SVG
@@ -1 +1 @@
1
- export { ChartsText } from './ChartsText';
1
+ export { ChartsText } from "./ChartsText.js";
@@ -1,12 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import useSlotProps from '@mui/utils/useSlotProps';
4
- import { useCartesianContext } from '../context/CartesianProvider';
5
- import { DefaultChartsAxisTooltipContent } from './DefaultChartsAxisTooltipContent';
6
- import { ZAxisContext } from '../context/ZAxisContextProvider';
7
- import { useColorProcessor } from '../context/PluginProvider/useColorProcessor';
8
- import { isCartesianSeriesType } from '../internals/isCartesian';
9
- import { useSeries } from '../hooks/useSeries';
4
+ import { useCartesianContext } from "../context/CartesianProvider/index.js";
5
+ import { DefaultChartsAxisTooltipContent } from "./DefaultChartsAxisTooltipContent.js";
6
+ import { ZAxisContext } from "../context/ZAxisContextProvider.js";
7
+ import { useColorProcessor } from "../context/PluginProvider/useColorProcessor.js";
8
+ import { isCartesianSeriesType } from "../internals/isCartesian.js";
9
+ import { useSeries } from "../hooks/useSeries.js";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  /**
12
12
  * @ignore - internal component.
@@ -9,7 +9,7 @@ export interface ChartsItemContentProps<T extends ChartSeriesType> {
9
9
  */
10
10
  itemData: ItemInteractionData<T>;
11
11
  /**
12
- * The series linked to the triggered axis.
12
+ * The series linked to the triggered item.
13
13
  */
14
14
  series: ChartSeriesDefaultized<T>;
15
15
  /**
@@ -1,11 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import useSlotProps from '@mui/utils/useSlotProps';
4
- import { DefaultChartsItemTooltipContent } from './DefaultChartsItemTooltipContent';
5
- import { useCartesianContext } from '../context/CartesianProvider';
6
- import { ZAxisContext } from '../context/ZAxisContextProvider';
7
- import { useColorProcessor } from '../context/PluginProvider/useColorProcessor';
8
- import { useSeries } from '../hooks/useSeries';
4
+ import { DefaultChartsItemTooltipContent } from "./DefaultChartsItemTooltipContent.js";
5
+ import { useCartesianContext } from "../context/CartesianProvider/index.js";
6
+ import { ZAxisContext } from "../context/ZAxisContextProvider.js";
7
+ import { useColorProcessor } from "../context/PluginProvider/useColorProcessor.js";
8
+ import { useSeries } from "../hooks/useSeries.js";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  /**
11
11
  * @ignore - internal component.