@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,8 +1,10 @@
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 = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "axisHighlight", "legend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "layout", "onItemClick", "highlightedItem", "onHighlightChange", "borderRadius", "barLabel", "className"];
4
6
  import useId from '@mui/utils/useId';
5
- import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from '../constants';
7
+ import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from "../constants/index.js";
6
8
  /**
7
9
  * A helper function that extracts BarChartProps from the input props
8
10
  * and returns an object with props for the children components of BarChart.
@@ -1,15 +1,17 @@
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 { DrawingProvider } from '../context/DrawingProvider';
5
- import { SeriesProvider } from '../context/SeriesProvider';
6
- import { InteractionProvider } from '../context/InteractionProvider';
7
- import { ChartsSurface } from '../ChartsSurface';
8
- import { CartesianProvider } from '../context/CartesianProvider';
9
- import { ChartsAxesGradients } from '../internals/components/ChartsAxesGradients';
10
- import { HighlightedProvider, ZAxisContextProvider } from '../context';
11
- import { PluginProvider } from '../context/PluginProvider';
12
- import { useChartContainerProps } from './useChartContainerProps';
6
+ import { DrawingProvider } from "../context/DrawingProvider.js";
7
+ import { SeriesProvider } from "../context/SeriesProvider/index.js";
8
+ import { InteractionProvider } from "../context/InteractionProvider.js";
9
+ import { ChartsSurface } from "../ChartsSurface/index.js";
10
+ import { CartesianProvider } from "../context/CartesianProvider/index.js";
11
+ import { ChartsAxesGradients } from "../internals/components/ChartsAxesGradients/index.js";
12
+ import { HighlightedProvider, ZAxisContextProvider } from "../context/index.js";
13
+ import { PluginProvider } from "../context/PluginProvider/index.js";
14
+ import { useChartContainerProps } from "./useChartContainerProps.js";
13
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
16
  const ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
15
17
  const {
@@ -1 +1 @@
1
- export * from './ChartContainer';
1
+ export * from "./ChartContainer.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 = ["width", "height", "series", "margin", "xAxis", "yAxis", "zAxis", "colors", "dataset", "sx", "title", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "children"];
4
6
  import * as React from 'react';
5
7
  import useForkRef from '@mui/utils/useForkRef';
6
- import { useDefaultizeAxis } from './useDefaultizeAxis';
7
- import { useReducedMotion } from '../hooks/useReducedMotion';
8
+ import { useDefaultizeAxis } from "./useDefaultizeAxis.js";
9
+ import { useReducedMotion } from "../hooks/useReducedMotion.js";
8
10
  export const useChartContainerProps = (props, ref) => {
9
11
  const {
10
12
  width,
@@ -1,6 +1,8 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
- import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from '../constants';
5
+ import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from "../constants/index.js";
4
6
  const defaultizeAxis = (inAxis, dataset, axisName) => {
5
7
  const DEFAULT_AXIS_KEY = axisName === 'x' ? DEFAULT_X_AXIS_KEY : DEFAULT_Y_AXIS_KEY;
6
8
  return [...(inAxis?.map((axis, index) => _extends({
@@ -1,9 +1,11 @@
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 { useCartesianContext } from '../context/CartesianProvider';
5
- import { ChartsXAxis } from '../ChartsXAxis';
6
- import { ChartsYAxis } from '../ChartsYAxis';
6
+ import { useCartesianContext } from "../context/CartesianProvider/index.js";
7
+ import { ChartsXAxis } from "../ChartsXAxis/index.js";
8
+ import { ChartsYAxis } from "../ChartsYAxis/index.js";
7
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
10
  const getAxisId = (propsValue, defaultAxisId) => {
9
11
  if (propsValue == null) {
@@ -1,2 +1,2 @@
1
- export * from './ChartsAxis';
2
- export * from './axisClasses';
1
+ export * from "./ChartsAxis.js";
2
+ export * from "./axisClasses.js";
@@ -1,3 +1,5 @@
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';
@@ -5,10 +7,10 @@ import composeClasses from '@mui/utils/composeClasses';
5
7
  import generateUtilityClass from '@mui/utils/generateUtilityClass';
6
8
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
7
9
  import { styled } from '@mui/material/styles';
8
- import { InteractionContext } from '../context/InteractionProvider';
9
- import { useCartesianContext } from '../context/CartesianProvider';
10
- import { getValueToPositionMapper } from '../hooks/useScale';
11
- import { isBandScale } from '../internals/isBandScale';
10
+ import { InteractionContext } from "../context/InteractionProvider.js";
11
+ import { useCartesianContext } from "../context/CartesianProvider/index.js";
12
+ import { getValueToPositionMapper } from "../hooks/useScale.js";
13
+ import { isBandScale } from "../internals/isBandScale.js";
12
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
15
  export function getAxisHighlightUtilityClass(slot) {
14
16
  return generateUtilityClass('MuiChartsAxisHighlight', slot);
@@ -1 +1 @@
1
- export * from './ChartsAxisHighlight';
1
+ export * from "./ChartsAxisHighlight.js";
@@ -1,7 +1,9 @@
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 { useDrawingArea } from '../hooks/useDrawingArea';
6
+ import { useDrawingArea } from "../hooks/useDrawingArea.js";
5
7
  import { jsx as _jsx } from "react/jsx-runtime";
6
8
  /**
7
9
  * API:
@@ -1 +1 @@
1
- export * from './ChartsClipPath';
1
+ export * from "./ChartsClipPath.js";
@@ -1,35 +1,19 @@
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 = ["vertical", "horizontal"];
4
6
  import * as React from 'react';
5
7
  import PropTypes from 'prop-types';
6
8
  import composeClasses from '@mui/utils/composeClasses';
7
- import { styled, useThemeProps } from '@mui/material/styles';
8
- import { useCartesianContext } from '../context/CartesianProvider';
9
- import { useTicks } from '../hooks/useTicks';
10
- import { getChartsGridUtilityClass, chartsGridClasses } from './chartsGridClasses';
11
- import { useDrawingArea } from '../hooks/useDrawingArea';
9
+ import { useThemeProps } from '@mui/material/styles';
10
+ import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
+ import { getChartsGridUtilityClass } from "./chartsGridClasses.js";
12
+ import { useDrawingArea } from "../hooks/useDrawingArea.js";
13
+ import { GridRoot } from "./styledCommonents.js";
14
+ import { ChartsGridVertical } from "./ChartsVerticalGrid.js";
15
+ import { ChartsGridHorizontal } from "./ChartsHorizontalGrid.js";
12
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- const GridRoot = styled('g', {
14
- name: 'MuiChartsGrid',
15
- slot: 'Root',
16
- overridesResolver: (props, styles) => [{
17
- [`&.${chartsGridClasses.verticalLine}`]: styles.verticalLine
18
- }, {
19
- [`&.${chartsGridClasses.horizontalLine}`]: styles.horizontalLine
20
- }, styles.root]
21
- })({});
22
- const GridLine = styled('line', {
23
- name: 'MuiChartsGrid',
24
- slot: 'Line',
25
- overridesResolver: (props, styles) => styles.line
26
- })(({
27
- theme
28
- }) => ({
29
- stroke: (theme.vars || theme).palette.divider,
30
- shapeRendering: 'crispEdges',
31
- strokeWidth: 1
32
- }));
33
17
  const useUtilityClasses = ({
34
18
  classes
35
19
  }) => {
@@ -67,49 +51,19 @@ function ChartsGrid(inProps) {
67
51
  yAxisIds
68
52
  } = useCartesianContext();
69
53
  const classes = useUtilityClasses(props);
70
- const horizontalAxisId = yAxisIds[0];
71
- const verticalAxisId = xAxisIds[0];
72
- const {
73
- scale: xScale,
74
- tickNumber: xTickNumber,
75
- tickInterval: xTickInterval
76
- } = xAxis[verticalAxisId];
77
- const {
78
- scale: yScale,
79
- tickNumber: yTickNumber,
80
- tickInterval: yTickInterval
81
- } = yAxis[horizontalAxisId];
82
- const xTicks = useTicks({
83
- scale: xScale,
84
- tickNumber: xTickNumber,
85
- tickInterval: xTickInterval
86
- });
87
- const yTicks = useTicks({
88
- scale: yScale,
89
- tickNumber: yTickNumber,
90
- tickInterval: yTickInterval
91
- });
54
+ const horizontalAxis = yAxis[yAxisIds[0]];
55
+ const verticalAxis = xAxis[xAxisIds[0]];
92
56
  return /*#__PURE__*/_jsxs(GridRoot, _extends({}, other, {
93
57
  className: classes.root,
94
- children: [vertical && xTicks.map(({
95
- formattedValue,
96
- offset
97
- }) => /*#__PURE__*/_jsx(GridLine, {
98
- y1: drawingArea.top,
99
- y2: drawingArea.top + drawingArea.height,
100
- x1: offset,
101
- x2: offset,
102
- className: classes.verticalLine
103
- }, `vertical-${formattedValue}`)), horizontal && yTicks.map(({
104
- formattedValue,
105
- offset
106
- }) => /*#__PURE__*/_jsx(GridLine, {
107
- y1: offset,
108
- y2: offset,
109
- x1: drawingArea.left,
110
- x2: drawingArea.left + drawingArea.width,
111
- className: classes.horizontalLine
112
- }, `horizontal-${formattedValue}`))]
58
+ children: [vertical && /*#__PURE__*/_jsx(ChartsGridVertical, {
59
+ axis: verticalAxis,
60
+ drawingArea: drawingArea,
61
+ classes: classes
62
+ }), horizontal && /*#__PURE__*/_jsx(ChartsGridHorizontal, {
63
+ axis: horizontalAxis,
64
+ drawingArea: drawingArea,
65
+ classes: classes
66
+ })]
113
67
  }));
114
68
  }
115
69
  process.env.NODE_ENV !== "production" ? ChartsGrid.propTypes = {
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+ import { useTicks } from "../hooks/useTicks.js";
3
+ import { GridLine } from "./styledCommonents.js";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+ export function ChartsGridHorizontal(props) {
9
+ const {
10
+ axis,
11
+ drawingArea,
12
+ classes
13
+ } = props;
14
+ const {
15
+ scale,
16
+ tickNumber,
17
+ tickInterval
18
+ } = axis;
19
+ const yTicks = useTicks({
20
+ scale,
21
+ tickNumber,
22
+ tickInterval
23
+ });
24
+ return /*#__PURE__*/_jsx(React.Fragment, {
25
+ children: yTicks.map(({
26
+ formattedValue,
27
+ offset
28
+ }) => /*#__PURE__*/_jsx(GridLine, {
29
+ y1: offset,
30
+ y2: offset,
31
+ x1: drawingArea.left,
32
+ x2: drawingArea.left + drawingArea.width,
33
+ className: classes.horizontalLine
34
+ }, `horizontal-${formattedValue}`))
35
+ });
36
+ }
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+ import { useTicks } from "../hooks/useTicks.js";
3
+ import { GridLine } from "./styledCommonents.js";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+ export function ChartsGridVertical(props) {
9
+ const {
10
+ axis,
11
+ drawingArea,
12
+ classes
13
+ } = props;
14
+ const {
15
+ scale,
16
+ tickNumber,
17
+ tickInterval
18
+ } = axis;
19
+ const xTicks = useTicks({
20
+ scale,
21
+ tickNumber,
22
+ tickInterval
23
+ });
24
+ return /*#__PURE__*/_jsx(React.Fragment, {
25
+ children: xTicks.map(({
26
+ formattedValue,
27
+ offset
28
+ }) => /*#__PURE__*/_jsx(GridLine, {
29
+ y1: drawingArea.top,
30
+ y2: drawingArea.top + drawingArea.height,
31
+ x1: offset,
32
+ x2: offset,
33
+ className: classes.verticalLine
34
+ }, `vertical-${formattedValue}`))
35
+ });
36
+ }
@@ -1,2 +1,2 @@
1
- export * from './ChartsGrid';
2
- export * from './chartsGridClasses';
1
+ export * from "./ChartsGrid.js";
2
+ export * from "./chartsGridClasses.js";
@@ -0,0 +1,22 @@
1
+ import { styled } from '@mui/material/styles';
2
+ import { chartsGridClasses } from "./chartsGridClasses.js";
3
+ export const GridRoot = styled('g', {
4
+ name: 'MuiChartsGrid',
5
+ slot: 'Root',
6
+ overridesResolver: (props, styles) => [{
7
+ [`&.${chartsGridClasses.verticalLine}`]: styles.verticalLine
8
+ }, {
9
+ [`&.${chartsGridClasses.horizontalLine}`]: styles.horizontalLine
10
+ }, styles.root]
11
+ })({});
12
+ export const GridLine = styled('line', {
13
+ name: 'MuiChartsGrid',
14
+ slot: 'Line',
15
+ overridesResolver: (props, styles) => styles.line
16
+ })(({
17
+ theme
18
+ }) => ({
19
+ stroke: (theme.vars || theme).palette.divider,
20
+ shapeRendering: 'crispEdges',
21
+ strokeWidth: 1
22
+ }));
@@ -1,14 +1,18 @@
1
+ 'use client';
2
+
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
1
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
+ const _excluded = ["slots", "slotProps"];
2
6
  import * as React from 'react';
3
7
  import PropTypes from 'prop-types';
4
8
  import useSlotProps from '@mui/utils/useSlotProps';
5
9
  import composeClasses from '@mui/utils/composeClasses';
6
10
  import { useThemeProps, useTheme } from '@mui/material/styles';
7
- import { getSeriesToDisplay } from './utils';
8
- import { getLegendUtilityClass } from './chartsLegendClasses';
9
- import { DefaultChartsLegend } from './DefaultChartsLegend';
10
- import { useDrawingArea } from '../hooks';
11
- import { useSeries } from '../hooks/useSeries';
11
+ import { getSeriesToDisplay } from "./utils.js";
12
+ import { getLegendUtilityClass } from "./chartsLegendClasses.js";
13
+ import { DefaultChartsLegend } from "./DefaultChartsLegend.js";
14
+ import { useDrawingArea } from "../hooks/index.js";
15
+ import { useSeries } from "../hooks/useSeries.js";
12
16
  import { jsx as _jsx } from "react/jsx-runtime";
13
17
  const useUtilityClasses = ownerState => {
14
18
  const {
@@ -19,31 +23,31 @@ const useUtilityClasses = ownerState => {
19
23
  root: ['root', direction],
20
24
  mark: ['mark'],
21
25
  label: ['label'],
22
- series: ['series']
26
+ series: ['series'],
27
+ itemBackground: ['itemBackground']
23
28
  };
24
29
  return composeClasses(slots, getLegendUtilityClass, classes);
25
30
  };
26
- const defaultProps = {
27
- position: {
28
- horizontal: 'middle',
29
- vertical: 'top'
30
- },
31
- direction: 'row'
32
- };
33
31
  function ChartsLegend(inProps) {
34
32
  const props = useThemeProps({
35
- props: _extends({}, defaultProps, inProps),
33
+ props: inProps,
36
34
  name: 'MuiChartsLegend'
37
35
  });
36
+ const defaultizedProps = _extends({
37
+ direction: 'row'
38
+ }, props, {
39
+ position: _extends({
40
+ horizontal: 'middle',
41
+ vertical: 'top'
42
+ }, props.position)
43
+ });
38
44
  const {
39
- position,
40
- direction,
41
- hidden,
42
- slots,
43
- slotProps
44
- } = props;
45
+ slots,
46
+ slotProps
47
+ } = defaultizedProps,
48
+ other = _objectWithoutPropertiesLoose(defaultizedProps, _excluded);
45
49
  const theme = useTheme();
46
- const classes = useUtilityClasses(_extends({}, props, {
50
+ const classes = useUtilityClasses(_extends({}, defaultizedProps, {
47
51
  theme
48
52
  }));
49
53
  const drawingArea = useDrawingArea();
@@ -53,15 +57,12 @@ function ChartsLegend(inProps) {
53
57
  const chartLegendRenderProps = useSlotProps({
54
58
  elementType: ChartLegendRender,
55
59
  externalSlotProps: slotProps?.legend,
56
- additionalProps: {
57
- position,
58
- direction,
60
+ additionalProps: _extends({}, other, {
59
61
  classes,
60
62
  drawingArea,
61
63
  series,
62
- hidden,
63
64
  seriesToDisplay
64
- },
65
+ }),
65
66
  ownerState: {}
66
67
  });
67
68
  return /*#__PURE__*/_jsx(ChartLegendRender, _extends({}, chartLegendRenderProps));
@@ -85,6 +86,49 @@ process.env.NODE_ENV !== "production" ? ChartsLegend.propTypes = {
85
86
  * @default false
86
87
  */
87
88
  hidden: PropTypes.bool,
89
+ /**
90
+ * Space between two legend items (in px).
91
+ * @default 10
92
+ */
93
+ itemGap: PropTypes.number,
94
+ /**
95
+ * Height of the item mark (in px).
96
+ * @default 20
97
+ */
98
+ itemMarkHeight: PropTypes.number,
99
+ /**
100
+ * Width of the item mark (in px).
101
+ * @default 20
102
+ */
103
+ itemMarkWidth: PropTypes.number,
104
+ /**
105
+ * Style applied to legend labels.
106
+ * @default theme.typography.subtitle1
107
+ */
108
+ labelStyle: PropTypes.object,
109
+ /**
110
+ * Space between the mark and the label (in px).
111
+ * @default 5
112
+ */
113
+ markGap: PropTypes.number,
114
+ /**
115
+ * Callback fired when a legend item is clicked.
116
+ * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
117
+ * @param {SeriesLegendItemContext} legendItem The legend item data.
118
+ * @param {number} index The index of the clicked legend item.
119
+ */
120
+ onItemClick: PropTypes.func,
121
+ /**
122
+ * Legend padding (in px).
123
+ * Can either be a single number, or an object with top, left, bottom, right properties.
124
+ * @default 10
125
+ */
126
+ padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
127
+ bottom: PropTypes.number,
128
+ left: PropTypes.number,
129
+ right: PropTypes.number,
130
+ top: PropTypes.number
131
+ })]),
88
132
  /**
89
133
  * The position of the legend.
90
134
  */
@@ -0,0 +1,65 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import clsx from 'clsx';
4
+ import { useRtl } from '@mui/system/RtlProvider';
5
+ import { ChartsText } from "../ChartsText/index.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ /**
8
+ * @ignore - internal component.
9
+ */
10
+ function ChartsLegendItem(props) {
11
+ const isRTL = useRtl();
12
+ const {
13
+ id,
14
+ positionY,
15
+ label,
16
+ positionX,
17
+ innerHeight,
18
+ innerWidth,
19
+ legendWidth,
20
+ color,
21
+ gapX,
22
+ gapY,
23
+ itemMarkHeight,
24
+ itemMarkWidth,
25
+ markGap,
26
+ labelStyle,
27
+ classes,
28
+ onClick
29
+ } = props;
30
+ return /*#__PURE__*/_jsxs("g", {
31
+ className: clsx(classes?.series, `${classes?.series}-${id}`),
32
+ transform: `translate(${gapX + (isRTL ? legendWidth - positionX : positionX)} ${gapY + positionY})`,
33
+ children: [/*#__PURE__*/_jsx("rect", {
34
+ x: isRTL ? -(innerWidth + 2) : -2,
35
+ y: -itemMarkHeight / 2 - 2,
36
+ width: innerWidth + 4,
37
+ height: innerHeight + 4,
38
+ fill: "transparent",
39
+ className: classes?.itemBackground,
40
+ onClick: onClick,
41
+ style: {
42
+ pointerEvents: onClick ? 'all' : 'none',
43
+ cursor: onClick ? 'pointer' : 'unset'
44
+ }
45
+ }), /*#__PURE__*/_jsx("rect", {
46
+ className: classes?.mark,
47
+ x: isRTL ? -itemMarkWidth : 0,
48
+ y: -itemMarkHeight / 2,
49
+ width: itemMarkWidth,
50
+ height: itemMarkHeight,
51
+ fill: color,
52
+ style: {
53
+ pointerEvents: 'none'
54
+ }
55
+ }), /*#__PURE__*/_jsx(ChartsText, {
56
+ style: _extends({
57
+ pointerEvents: 'none'
58
+ }, labelStyle),
59
+ text: label,
60
+ x: (isRTL ? -1 : 1) * (itemMarkWidth + markGap),
61
+ y: 0
62
+ })]
63
+ });
64
+ }
65
+ export { ChartsLegendItem };
@@ -1,15 +1,17 @@
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
6
  import { useTheme } from '@mui/material/styles';
5
7
  import { useRtl } from '@mui/system/RtlProvider';
6
- import ChartsContinuousGradient from '../internals/components/ChartsAxesGradients/ChartsContinuousGradient';
7
- import { useChartId, useDrawingArea } from '../hooks';
8
- import { getScale } from '../internals/getScale';
9
- import { getPercentageValue } from '../internals/getPercentageValue';
10
- import { ChartsText } from '../ChartsText';
11
- import { getStringSize } from '../internals/domUtils';
12
- import { useAxis } from './useAxis';
8
+ import ChartsContinuousGradient from "../internals/components/ChartsAxesGradients/ChartsContinuousGradient.js";
9
+ import { useChartId, useDrawingArea } from "../hooks/index.js";
10
+ import { getScale } from "../internals/getScale.js";
11
+ import { getPercentageValue } from "../internals/getPercentageValue.js";
12
+ import { ChartsText } from "../ChartsText/index.js";
13
+ import { getStringSize } from "../internals/domUtils.js";
14
+ import { useAxis } from "./useAxis.js";
13
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
16
  function getPositionOffset(position, legendBox, svgBox) {
15
17
  let offsetX = 0;
@@ -1,17 +1,32 @@
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 = ["drawingArea", "seriesToDisplay"];
5
+ const _excluded = ["drawingArea", "seriesToDisplay", "hidden", "onItemClick"];
4
6
  import * as React from 'react';
5
7
  import PropTypes from 'prop-types';
6
- import { LegendPerItem } from './LegendPerItem';
8
+ import { LegendPerItem } from "./LegendPerItem.js";
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
+ const seriesContextBuilder = context => ({
11
+ type: 'series',
12
+ color: context.color,
13
+ label: context.label,
14
+ seriesId: context.seriesId,
15
+ itemId: context.itemId
16
+ });
8
17
  function DefaultChartsLegend(props) {
9
18
  const {
10
- seriesToDisplay
19
+ seriesToDisplay,
20
+ hidden,
21
+ onItemClick
11
22
  } = props,
12
23
  other = _objectWithoutPropertiesLoose(props, _excluded);
24
+ if (hidden) {
25
+ return null;
26
+ }
13
27
  return /*#__PURE__*/_jsx(LegendPerItem, _extends({}, other, {
14
- itemsToDisplay: seriesToDisplay
28
+ itemsToDisplay: seriesToDisplay,
29
+ onItemClick: onItemClick ? (e, i) => onItemClick(e, seriesContextBuilder(seriesToDisplay[i]), i) : undefined
15
30
  }));
16
31
  }
17
32
  process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
@@ -69,6 +84,13 @@ process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
69
84
  * @default 5
70
85
  */
71
86
  markGap: PropTypes.number,
87
+ /**
88
+ * Callback fired when a legend item is clicked.
89
+ * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
90
+ * @param {SeriesLegendItemContext} legendItem The legend item data.
91
+ * @param {number} index The index of the clicked legend item.
92
+ */
93
+ onItemClick: PropTypes.func,
72
94
  /**
73
95
  * Legend padding (in px).
74
96
  * Can either be a single number, or an object with top, left, bottom, right properties.
@@ -91,7 +113,11 @@ process.env.NODE_ENV !== "production" ? DefaultChartsLegend.propTypes = {
91
113
  seriesToDisplay: PropTypes.arrayOf(PropTypes.shape({
92
114
  color: PropTypes.string.isRequired,
93
115
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
94
- label: PropTypes.string.isRequired
116
+ itemId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
117
+ label: PropTypes.string.isRequired,
118
+ maxValue: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
119
+ minValue: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
120
+ seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
95
121
  })).isRequired
96
122
  } : void 0;
97
123
  export { DefaultChartsLegend };