@mui/x-charts 8.0.0-alpha.0 → 8.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +4 -9
  4. package/BarChart/BarChart.js +3 -31
  5. package/BarChart/BarElement.d.ts +5 -1342
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarPlot.js +12 -2
  8. package/BarChart/useBarChartProps.d.ts +0 -2
  9. package/BarChart/useBarChartProps.js +2 -8
  10. package/CHANGELOG.md +429 -5
  11. package/ChartContainer/ChartContainer.d.ts +2 -19
  12. package/ChartContainer/ChartContainer.js +10 -20
  13. package/ChartContainer/ResizableContainer.d.ts +17 -4
  14. package/ChartContainer/ResizableContainer.js +36 -2
  15. package/ChartContainer/useChartContainerProps.d.ts +6 -7
  16. package/ChartContainer/useChartContainerProps.js +14 -28
  17. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  18. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  21. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  23. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  25. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  27. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  29. package/ChartsAxisHighlight/index.d.ts +3 -0
  30. package/ChartsAxisHighlight/index.js +4 -1
  31. package/ChartsGrid/ChartsGrid.js +1 -1
  32. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  33. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  34. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  35. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  36. package/ChartsLegend/LegendPerItem.d.ts +2 -2
  37. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  38. package/ChartsSurface/ChartsSurface.d.ts +0 -15
  39. package/ChartsSurface/ChartsSurface.js +35 -34
  40. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  41. package/ChartsTooltip/ChartTooltip.types.js +1 -0
  42. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  43. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  44. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  45. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  46. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  47. package/ChartsTooltip/ChartsTooltip.js +161 -145
  48. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  49. package/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  50. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  51. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  52. package/ChartsTooltip/index.d.ts +3 -3
  53. package/ChartsTooltip/index.js +2 -3
  54. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  55. package/ChartsTooltip/useAxisTooltip.js +19 -19
  56. package/ChartsTooltip/useItemTooltip.d.ts +1 -1
  57. package/ChartsTooltip/useItemTooltip.js +5 -4
  58. package/ChartsTooltip/utils.d.ts +0 -3
  59. package/ChartsTooltip/utils.js +0 -8
  60. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  61. package/Gauge/Gauge.d.ts +1 -1
  62. package/Gauge/Gauge.js +0 -6
  63. package/Gauge/GaugeContainer.d.ts +3 -3
  64. package/Gauge/GaugeContainer.js +60 -61
  65. package/LineChart/AnimatedArea.d.ts +0 -1333
  66. package/LineChart/AnimatedArea.js +9 -18
  67. package/LineChart/AnimatedLine.d.ts +0 -1333
  68. package/LineChart/AnimatedLine.js +9 -20
  69. package/LineChart/AreaPlot.js +12 -2
  70. package/LineChart/CircleMarkElement.js +6 -5
  71. package/LineChart/LineChart.d.ts +4 -10
  72. package/LineChart/LineChart.js +3 -32
  73. package/LineChart/LineHighlightPlot.js +6 -5
  74. package/LineChart/LinePlot.js +12 -2
  75. package/LineChart/MarkElement.js +6 -5
  76. package/LineChart/useLineChartProps.d.ts +0 -2
  77. package/LineChart/useLineChartProps.js +2 -8
  78. package/PieChart/PieChart.d.ts +3 -9
  79. package/PieChart/PieChart.js +5 -37
  80. package/PieChart/PiePlot.js +2 -2
  81. package/PieChart/getPieCoordinates.d.ts +2 -2
  82. package/README.md +2 -2
  83. package/ScatterChart/Scatter.js +6 -5
  84. package/ScatterChart/ScatterChart.d.ts +4 -10
  85. package/ScatterChart/ScatterChart.js +5 -32
  86. package/ScatterChart/useScatterChartProps.d.ts +0 -2
  87. package/ScatterChart/useScatterChartProps.js +1 -9
  88. package/SparkLineChart/SparkLineChart.d.ts +3 -4
  89. package/SparkLineChart/SparkLineChart.js +4 -31
  90. package/context/ChartDataProvider/ChartDataProvider.d.ts +9 -19
  91. package/context/ChartDataProvider/ChartDataProvider.js +30 -43
  92. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +7 -10
  93. package/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  94. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  95. package/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  96. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +8 -0
  97. package/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  98. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  99. package/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  100. package/context/DrawingAreaProvider/index.d.ts +3 -0
  101. package/context/DrawingAreaProvider/index.js +3 -0
  102. package/context/InteractionProvider.d.ts +5 -48
  103. package/context/InteractionProvider.js +8 -64
  104. package/context/InteractionSelectors.d.ts +359 -0
  105. package/context/InteractionSelectors.js +12 -0
  106. package/context/SizeProvider/Size.types.d.ts +30 -0
  107. package/context/SizeProvider/Size.types.js +1 -0
  108. package/context/SizeProvider/SizeContext.d.ts +4 -0
  109. package/context/SizeProvider/SizeContext.js +13 -0
  110. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  111. package/context/SizeProvider/SizeProvider.js +26 -0
  112. package/context/SizeProvider/index.d.ts +4 -0
  113. package/context/SizeProvider/index.js +4 -0
  114. package/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.d.ts +4 -1
  115. package/{modern/ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  116. package/context/SizeProvider/useSize.d.ts +5 -0
  117. package/context/SizeProvider/useSize.js +13 -0
  118. package/context/SvgRefProvider/SvgRef.types.d.ts +8 -0
  119. package/context/SvgRefProvider/SvgRef.types.js +1 -0
  120. package/context/SvgRefProvider/SvgRefContext.d.ts +4 -0
  121. package/context/SvgRefProvider/SvgRefContext.js +17 -0
  122. package/context/SvgRefProvider/SvgRefProvider.d.ts +3 -0
  123. package/context/SvgRefProvider/SvgRefProvider.js +24 -0
  124. package/context/SvgRefProvider/index.d.ts +4 -0
  125. package/context/SvgRefProvider/index.js +4 -0
  126. package/context/SvgRefProvider/useSurfaceRef.d.ts +2 -0
  127. package/context/SvgRefProvider/useSurfaceRef.js +14 -0
  128. package/context/index.d.ts +2 -0
  129. package/context/index.js +2 -1
  130. package/hooks/useAxisEvents.js +32 -19
  131. package/hooks/useChartId.js +2 -2
  132. package/hooks/useDrawingArea.d.ts +2 -2
  133. package/hooks/useDrawingArea.js +2 -2
  134. package/hooks/useInteractionItemProps.js +19 -12
  135. package/hooks/useSvgRef.js +3 -3
  136. package/index.js +1 -1
  137. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  138. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  139. package/internals/computeAxisValue.d.ts +2 -2
  140. package/internals/index.d.ts +3 -2
  141. package/internals/index.js +3 -2
  142. package/internals/plugins/models/index.d.ts +35 -0
  143. package/internals/plugins/models/index.js +1 -0
  144. package/internals/plugins/utils/ChartStore.d.ts +12 -0
  145. package/internals/plugins/utils/ChartStore.js +26 -0
  146. package/internals/plugins/utils/ChartsStore.d.ts +12 -0
  147. package/internals/plugins/utils/ChartsStore.js +26 -0
  148. package/internals/plugins/utils/selectors.d.ts +9 -0
  149. package/internals/plugins/utils/selectors.js +37 -0
  150. package/internals/useCharts.d.ts +6 -0
  151. package/internals/useCharts.js +29 -0
  152. package/internals/useSelector.d.ts +4 -0
  153. package/internals/useSelector.js +6 -0
  154. package/internals/useStore.d.ts +2 -0
  155. package/internals/useStore.js +17 -0
  156. package/modern/BarChart/AnimatedBarElement.js +21 -0
  157. package/modern/BarChart/BarChart.js +3 -31
  158. package/modern/BarChart/BarElement.js +10 -20
  159. package/modern/BarChart/BarPlot.js +12 -2
  160. package/modern/BarChart/useBarChartProps.js +2 -8
  161. package/modern/ChartContainer/ChartContainer.js +10 -20
  162. package/modern/ChartContainer/ResizableContainer.js +36 -2
  163. package/modern/ChartContainer/useChartContainerProps.js +14 -28
  164. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  165. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  166. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  167. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  168. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  169. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  170. package/modern/ChartsAxisHighlight/index.js +4 -1
  171. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  172. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  173. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  174. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  175. package/modern/ChartsSurface/ChartsSurface.js +35 -34
  176. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  177. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  178. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  179. package/modern/ChartsTooltip/ChartsTooltip.js +161 -145
  180. package/modern/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  181. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  182. package/modern/ChartsTooltip/index.js +2 -3
  183. package/modern/ChartsTooltip/useAxisTooltip.js +19 -19
  184. package/modern/ChartsTooltip/useItemTooltip.js +5 -4
  185. package/modern/ChartsTooltip/utils.js +0 -8
  186. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  187. package/modern/Gauge/Gauge.js +0 -6
  188. package/modern/Gauge/GaugeContainer.js +60 -61
  189. package/modern/LineChart/AnimatedArea.js +9 -18
  190. package/modern/LineChart/AnimatedLine.js +9 -20
  191. package/modern/LineChart/AreaPlot.js +12 -2
  192. package/modern/LineChart/CircleMarkElement.js +6 -5
  193. package/modern/LineChart/LineChart.js +3 -32
  194. package/modern/LineChart/LineHighlightPlot.js +6 -5
  195. package/modern/LineChart/LinePlot.js +12 -2
  196. package/modern/LineChart/MarkElement.js +6 -5
  197. package/modern/LineChart/useLineChartProps.js +2 -8
  198. package/modern/PieChart/PieChart.js +5 -37
  199. package/modern/PieChart/PiePlot.js +2 -2
  200. package/modern/ScatterChart/Scatter.js +6 -5
  201. package/modern/ScatterChart/ScatterChart.js +5 -32
  202. package/modern/ScatterChart/useScatterChartProps.js +1 -9
  203. package/modern/SparkLineChart/SparkLineChart.js +4 -31
  204. package/modern/context/ChartDataProvider/ChartDataProvider.js +30 -43
  205. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  206. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  207. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  208. package/modern/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  209. package/modern/context/DrawingAreaProvider/index.js +3 -0
  210. package/modern/context/InteractionProvider.js +8 -64
  211. package/modern/context/InteractionSelectors.js +12 -0
  212. package/modern/context/SizeProvider/Size.types.js +1 -0
  213. package/modern/context/SizeProvider/SizeContext.js +13 -0
  214. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  215. package/modern/context/SizeProvider/index.js +4 -0
  216. package/{ChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +11 -5
  217. package/modern/context/SizeProvider/useSize.js +13 -0
  218. package/modern/context/SvgRefProvider/SvgRef.types.js +1 -0
  219. package/modern/context/SvgRefProvider/SvgRefContext.js +17 -0
  220. package/modern/context/SvgRefProvider/SvgRefProvider.js +24 -0
  221. package/modern/context/SvgRefProvider/index.js +4 -0
  222. package/modern/context/SvgRefProvider/useSurfaceRef.js +14 -0
  223. package/modern/context/index.js +2 -1
  224. package/modern/hooks/useAxisEvents.js +32 -19
  225. package/modern/hooks/useChartId.js +2 -2
  226. package/modern/hooks/useDrawingArea.js +2 -2
  227. package/modern/hooks/useInteractionItemProps.js +19 -12
  228. package/modern/hooks/useSvgRef.js +3 -3
  229. package/modern/index.js +1 -1
  230. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  231. package/modern/internals/index.js +3 -2
  232. package/modern/internals/plugins/models/index.js +1 -0
  233. package/modern/internals/plugins/utils/ChartStore.js +26 -0
  234. package/modern/internals/plugins/utils/ChartsStore.js +26 -0
  235. package/modern/internals/plugins/utils/selectors.js +37 -0
  236. package/modern/internals/useCharts.js +29 -0
  237. package/modern/internals/useSelector.js +6 -0
  238. package/modern/internals/useStore.js +17 -0
  239. package/node/BarChart/AnimatedBarElement.js +28 -0
  240. package/node/BarChart/BarChart.js +3 -31
  241. package/node/BarChart/BarElement.js +11 -21
  242. package/node/BarChart/BarPlot.js +11 -1
  243. package/node/BarChart/useBarChartProps.js +2 -8
  244. package/node/ChartContainer/ChartContainer.js +10 -20
  245. package/node/ChartContainer/ResizableContainer.js +39 -3
  246. package/node/ChartContainer/useChartContainerProps.js +14 -28
  247. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  248. package/node/ChartsAxisHighlight/ChartsAxisHighlight.types.js +5 -0
  249. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  250. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  251. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  252. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  253. package/node/ChartsAxisHighlight/index.js +33 -0
  254. package/node/ChartsGrid/ChartsGrid.js +2 -2
  255. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  256. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  257. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  258. package/node/ChartsSurface/ChartsSurface.js +35 -34
  259. package/node/ChartsTooltip/ChartTooltip.types.js +5 -0
  260. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  261. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  262. package/node/ChartsTooltip/ChartsTooltip.js +160 -144
  263. package/node/ChartsTooltip/ChartsTooltipContainer.js +304 -0
  264. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  265. package/node/ChartsTooltip/index.js +19 -28
  266. package/node/ChartsTooltip/useAxisTooltip.js +19 -19
  267. package/node/ChartsTooltip/useItemTooltip.js +5 -4
  268. package/node/ChartsTooltip/utils.js +0 -9
  269. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +48 -35
  270. package/node/Gauge/Gauge.js +0 -6
  271. package/node/Gauge/GaugeContainer.js +60 -61
  272. package/node/LineChart/AnimatedArea.js +9 -19
  273. package/node/LineChart/AnimatedLine.js +9 -21
  274. package/node/LineChart/AreaPlot.js +11 -1
  275. package/node/LineChart/CircleMarkElement.js +6 -5
  276. package/node/LineChart/LineChart.js +3 -32
  277. package/node/LineChart/LineHighlightPlot.js +6 -5
  278. package/node/LineChart/LinePlot.js +11 -1
  279. package/node/LineChart/MarkElement.js +6 -5
  280. package/node/LineChart/useLineChartProps.js +2 -8
  281. package/node/PieChart/PieChart.js +5 -37
  282. package/node/PieChart/PiePlot.js +2 -2
  283. package/node/ScatterChart/Scatter.js +6 -5
  284. package/node/ScatterChart/ScatterChart.js +5 -32
  285. package/node/ScatterChart/useScatterChartProps.js +1 -9
  286. package/node/SparkLineChart/SparkLineChart.js +4 -31
  287. package/node/context/ChartDataProvider/ChartDataProvider.js +30 -43
  288. package/node/context/ChartDataProvider/useChartDataProviderProps.js +22 -44
  289. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  290. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +22 -0
  291. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  292. package/node/context/DrawingAreaProvider/index.js +38 -0
  293. package/node/context/InteractionProvider.js +9 -66
  294. package/node/context/InteractionSelectors.js +18 -0
  295. package/node/context/SizeProvider/Size.types.js +5 -0
  296. package/node/context/SizeProvider/SizeContext.js +20 -0
  297. package/node/context/SizeProvider/SizeProvider.js +29 -0
  298. package/node/context/SizeProvider/index.js +49 -0
  299. package/node/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  300. package/node/context/SizeProvider/useSize.js +20 -0
  301. package/node/context/SvgRefProvider/SvgRef.types.js +5 -0
  302. package/node/context/SvgRefProvider/SvgRefContext.js +23 -0
  303. package/node/context/SvgRefProvider/SvgRefProvider.js +31 -0
  304. package/node/context/SvgRefProvider/index.js +49 -0
  305. package/node/context/SvgRefProvider/useSurfaceRef.js +20 -0
  306. package/node/context/index.js +10 -2
  307. package/node/hooks/useAxisEvents.js +33 -19
  308. package/node/hooks/useChartId.js +2 -2
  309. package/node/hooks/useDrawingArea.js +2 -2
  310. package/node/hooks/useInteractionItemProps.js +20 -13
  311. package/node/hooks/useSvgRef.js +3 -3
  312. package/node/index.js +1 -1
  313. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  314. package/node/internals/index.js +28 -16
  315. package/node/internals/plugins/models/index.js +5 -0
  316. package/node/internals/plugins/utils/ChartStore.js +33 -0
  317. package/node/internals/plugins/utils/ChartsStore.js +33 -0
  318. package/node/internals/plugins/utils/selectors.js +44 -0
  319. package/node/internals/useCharts.js +36 -0
  320. package/node/internals/useSelector.js +13 -0
  321. package/node/internals/useStore.js +24 -0
  322. package/package.json +7 -5
  323. package/themeAugmentation/props.d.ts +1 -2
  324. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  325. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  326. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  327. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  328. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  329. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  330. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  331. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  332. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  333. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  334. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  335. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- import { DrawingArea } from '../context/DrawingProvider';
2
+ import { DrawingAreaState } from '../context/DrawingAreaProvider';
3
3
  import { AxisDefaultized, ChartsXAxisProps, ScaleName } from '../models/axis';
4
4
  import { ChartsGridClasses } from './chartsGridClasses';
5
5
  interface ChartsGridVerticalProps {
6
6
  axis: AxisDefaultized<ScaleName, any, ChartsXAxisProps>;
7
- drawingArea: DrawingArea;
7
+ drawingArea: DrawingAreaState;
8
8
  classes: Partial<ChartsGridClasses>;
9
9
  }
10
10
  /**
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useTicks } from "../hooks/useTicks.js";
3
- import { GridLine } from "./styledCommonents.js";
3
+ import { GridLine } from "./styledComponents.js";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  /**
6
6
  * @ignore - internal component.
@@ -23,7 +23,7 @@ export function ChartsGridVertical(props) {
23
23
  });
24
24
  return /*#__PURE__*/_jsx(React.Fragment, {
25
25
  children: xTicks.map(({
26
- formattedValue,
26
+ value,
27
27
  offset
28
28
  }) => /*#__PURE__*/_jsx(GridLine, {
29
29
  y1: drawingArea.top,
@@ -31,6 +31,6 @@ export function ChartsGridVertical(props) {
31
31
  x1: offset,
32
32
  x2: offset,
33
33
  className: classes.verticalLine
34
- }, `vertical-${formattedValue}`))
34
+ }, `vertical-${value}`))
35
35
  });
36
36
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { DefaultizedProps } from '@mui/x-internals/types';
3
- import { DrawingArea } from '../context/DrawingProvider';
3
+ import { DrawingAreaState } from '../context/DrawingAreaProvider';
4
4
  import { ChartsTextStyle } from '../ChartsText';
5
5
  import { CardinalDirections } from '../models/layout';
6
6
  import { LegendItemParams } from './chartsLegend.types';
@@ -9,7 +9,7 @@ import { ChartsLegendClasses } from './chartsLegendClasses';
9
9
  export type ChartsLegendRootOwnerState = {
10
10
  position: AnchorPosition;
11
11
  direction: Direction;
12
- drawingArea: DrawingArea;
12
+ drawingArea: DrawingAreaState;
13
13
  offsetX?: number;
14
14
  offsetY?: number;
15
15
  seriesNumber: number;
@@ -2,10 +2,10 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { InteractionContext } from "../context/InteractionProvider.js";
6
5
  import { useSeries } from "../hooks/useSeries.js";
7
6
  import { useSvgRef } from "../hooks/index.js";
8
7
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
8
+ import { useStore } from "../internals/useStore.js";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  function ChartsOnAxisClickHandler(props) {
11
11
  const {
@@ -13,9 +13,7 @@ function ChartsOnAxisClickHandler(props) {
13
13
  } = props;
14
14
  const svgRef = useSvgRef();
15
15
  const series = useSeries();
16
- const {
17
- axis
18
- } = React.useContext(InteractionContext);
16
+ const store = useStore();
19
17
  const {
20
18
  xAxisIds,
21
19
  xAxis,
@@ -29,9 +27,13 @@ function ChartsOnAxisClickHandler(props) {
29
27
  }
30
28
  const handleMouseClick = event => {
31
29
  event.preventDefault();
32
- const isXaxis = axis.x && axis.x.index !== -1;
30
+ const {
31
+ x: axisX,
32
+ y: axisY
33
+ } = store.value.interaction.axis;
34
+ const isXaxis = axisX && axisX.index !== -1;
33
35
  const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
34
- const dataIndex = isXaxis ? axis.x && axis.x.index : axis.y && axis.y.index;
36
+ const dataIndex = isXaxis ? axisX && axisX.index : axisY && axisY.index;
35
37
  if (dataIndex == null) {
36
38
  return;
37
39
  }
@@ -58,7 +60,7 @@ function ChartsOnAxisClickHandler(props) {
58
60
  return () => {
59
61
  element.removeEventListener('click', handleMouseClick);
60
62
  };
61
- }, [axis.x, axis.y, onAxisClick, series, svgRef, xAxis, xAxisIds, yAxis, yAxisIds]);
63
+ }, [onAxisClick, series, store, svgRef, xAxis, xAxisIds, yAxis, yAxisIds]);
62
64
 
63
65
  // eslint-disable-next-line react/jsx-no-useless-fragment
64
66
  return /*#__PURE__*/_jsx(React.Fragment, {});
@@ -1,21 +1,6 @@
1
1
  import { SxProps, Theme } from '@mui/material/styles';
2
2
  import * as React from 'react';
3
- type ViewBox = {
4
- x?: number;
5
- y?: number;
6
- width?: number;
7
- height?: number;
8
- };
9
3
  export interface ChartsSurfaceProps {
10
- /**
11
- * The width of the chart in px.
12
- */
13
- width: number;
14
- /**
15
- * The height of the chart in px.
16
- */
17
- height: number;
18
- viewBox?: ViewBox;
19
4
  className?: string;
20
5
  title?: string;
21
6
  desc?: string;
@@ -2,13 +2,18 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["children", "width", "height", "viewBox", "disableAxisListener", "className", "title", "desc"];
5
+ const _excluded = ["children", "disableAxisListener", "className", "title", "desc"];
6
6
  import { styled, useThemeProps } from '@mui/material/styles';
7
7
  import PropTypes from 'prop-types';
8
8
  import * as React from 'react';
9
+ import useForkRef from '@mui/utils/useForkRef';
9
10
  import { useAxisEvents } from "../hooks/useAxisEvents.js";
11
+ import { ChartsAxesGradients } from "../internals/components/ChartsAxesGradients/index.js";
12
+ import { useDrawingArea } from "../hooks/index.js";
13
+ import { useSurfaceRef } from "../context/SvgRefProvider/index.js";
14
+ import { useSize } from "../context/SizeProvider/index.js";
10
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- const ChartChartsSurfaceStyles = styled('svg', {
16
+ const ChartsSurfaceStyles = styled('svg', {
12
17
  name: 'MuiChartsSurface',
13
18
  slot: 'Root'
14
19
  })(() => ({
@@ -17,40 +22,50 @@ const ChartChartsSurfaceStyles = styled('svg', {
17
22
  touchAction: 'none'
18
23
  }));
19
24
  const ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(inProps, ref) {
20
- const props = useThemeProps({
25
+ const {
26
+ width,
27
+ height,
28
+ left,
29
+ right,
30
+ top,
31
+ bottom
32
+ } = useDrawingArea();
33
+ const {
34
+ hasIntrinsicSize
35
+ } = useSize();
36
+ const surfaceRef = useSurfaceRef();
37
+ const handleRef = useForkRef(surfaceRef, ref);
38
+ const themeProps = useThemeProps({
21
39
  props: inProps,
22
40
  name: 'MuiChartsSurface'
23
41
  });
24
42
  const {
25
43
  children,
26
- width,
27
- height,
28
- viewBox,
29
44
  disableAxisListener = false,
30
45
  className,
31
46
  title,
32
47
  desc
33
- } = props,
34
- other = _objectWithoutPropertiesLoose(props, _excluded);
35
- const svgView = _extends({
36
- width,
37
- height,
48
+ } = themeProps,
49
+ other = _objectWithoutPropertiesLoose(themeProps, _excluded);
50
+ const svgWidth = width + left + right;
51
+ const svgHeight = height + top + bottom;
52
+ const svgView = {
53
+ width: svgWidth,
54
+ height: svgHeight,
38
55
  x: 0,
39
56
  y: 0
40
- }, viewBox);
57
+ };
41
58
  useAxisEvents(disableAxisListener);
42
- return /*#__PURE__*/_jsxs(ChartChartsSurfaceStyles, _extends({
43
- width: width,
44
- height: height,
59
+ return /*#__PURE__*/_jsxs(ChartsSurfaceStyles, _extends({
45
60
  viewBox: `${svgView.x} ${svgView.y} ${svgView.width} ${svgView.height}`,
46
- ref: ref,
47
61
  className: className
48
62
  }, other, {
49
- children: [/*#__PURE__*/_jsx("title", {
63
+ ref: handleRef,
64
+ children: [title && /*#__PURE__*/_jsx("title", {
50
65
  children: title
51
- }), /*#__PURE__*/_jsx("desc", {
66
+ }), desc && /*#__PURE__*/_jsx("desc", {
52
67
  children: desc
53
- }), children]
68
+ }), /*#__PURE__*/_jsx(ChartsAxesGradients, {}), hasIntrinsicSize && children]
54
69
  }));
55
70
  });
56
71
  process.env.NODE_ENV !== "production" ? ChartsSurface.propTypes = {
@@ -67,21 +82,7 @@ process.env.NODE_ENV !== "production" ? ChartsSurface.propTypes = {
67
82
  * @default false
68
83
  */
69
84
  disableAxisListener: PropTypes.bool,
70
- /**
71
- * The height of the chart in px.
72
- */
73
- height: PropTypes.number.isRequired,
74
85
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
75
- title: PropTypes.string,
76
- viewBox: PropTypes.shape({
77
- height: PropTypes.number,
78
- width: PropTypes.number,
79
- x: PropTypes.number,
80
- y: PropTypes.number
81
- }),
82
- /**
83
- * The width of the chart in px.
84
- */
85
- width: PropTypes.number.isRequired
86
+ title: PropTypes.string
86
87
  } : void 0;
87
88
  export { ChartsSurface };
@@ -0,0 +1,15 @@
1
+ import { ChartsTooltipProps } from './ChartsTooltip';
2
+ export interface ChartsTooltipSlots {
3
+ /**
4
+ * Custom component for the tooltip popper.
5
+ * @default ChartsTooltipRoot
6
+ */
7
+ tooltip?: React.ElementType<ChartsTooltipProps>;
8
+ }
9
+ export interface ChartsTooltipSlotProps {
10
+ /**
11
+ * Custom component for the tooltip popper.
12
+ * @default ChartsTooltipRoot
13
+ */
14
+ tooltip?: Partial<ChartsTooltipProps>;
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,47 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps, Theme } from '@mui/material/styles';
3
- import { AxisInteractionData } from '../context/InteractionProvider';
4
- import { ChartSeriesDefaultized, ChartSeriesType } from '../models/seriesType/config';
5
- import { AxisDefaultized } from '../models/axis';
6
3
  import { ChartsTooltipClasses } from './chartsTooltipClasses';
7
- type ChartSeriesDefaultizedWithColorGetter = ChartSeriesDefaultized<ChartSeriesType> & {
8
- getColor: (dataIndex: number) => string;
9
- };
10
- export type ChartsAxisContentProps = {
11
- /**
12
- * Data identifying the triggered axis.
13
- */
14
- axisData: AxisInteractionData;
15
- /**
16
- * The series linked to the triggered axis.
17
- */
18
- series: ChartSeriesDefaultizedWithColorGetter[];
19
- /**
20
- * The properties of the triggered axis.
21
- */
22
- axis: AxisDefaultized;
23
- /**
24
- * The index of the data item triggered.
25
- */
26
- dataIndex?: null | number;
27
- /**
28
- * The value associated to the current mouse position.
29
- */
30
- axisValue: string | number | Date | null;
4
+ export interface ChartsAxisTooltipContentProps {
31
5
  /**
32
6
  * Override or extend the styles applied to the component.
33
7
  */
34
- classes: ChartsTooltipClasses;
35
- sx?: SxProps<Theme>;
36
- };
37
- /**
38
- * @ignore - internal component.
39
- */
40
- declare function ChartsAxisTooltipContent(props: {
41
- axisData: AxisInteractionData;
42
- content?: React.ElementType<ChartsAxisContentProps>;
43
- contentProps?: Partial<ChartsAxisContentProps>;
8
+ classes?: Partial<ChartsTooltipClasses>;
44
9
  sx?: SxProps<Theme>;
45
- classes: ChartsAxisContentProps['classes'];
46
- }): React.JSX.Element;
10
+ }
11
+ declare function ChartsAxisTooltipContent(props: ChartsAxisTooltipContentProps): React.JSX.Element | null;
12
+ declare namespace ChartsAxisTooltipContent {
13
+ var propTypes: any;
14
+ }
47
15
  export { ChartsAxisTooltipContent };
@@ -1,80 +1,91 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ 'use client';
2
+
2
3
  import * as React from 'react';
3
- import useSlotProps from '@mui/utils/useSlotProps';
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
- import { jsx as _jsx } from "react/jsx-runtime";
11
- /**
12
- * @ignore - internal component.
13
- */
4
+ import PropTypes from 'prop-types';
5
+ import Typography from '@mui/material/Typography';
6
+ import clsx from 'clsx';
7
+ import { useUtilityClasses } from "./chartsTooltipClasses.js";
8
+ import { ChartsTooltipCell, ChartsTooltipMark, ChartsTooltipPaper, ChartsTooltipRow, ChartsTooltipTable } from "./ChartsTooltipTable.js";
9
+ import { useAxisTooltip } from "./useAxisTooltip.js";
10
+ import { useXAxis, useYAxis } from "../hooks/index.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
12
  function ChartsAxisTooltipContent(props) {
15
13
  const {
16
- content,
17
- contentProps,
18
- axisData,
19
- sx,
20
- classes
14
+ classes: propClasses,
15
+ sx
21
16
  } = props;
22
- const isXaxis = axisData.x && axisData.x.index !== -1;
23
- const dataIndex = isXaxis ? axisData.x && axisData.x.index : axisData.y && axisData.y.index;
24
- const axisValue = isXaxis ? axisData.x && axisData.x.value : axisData.y && axisData.y.value;
17
+ const tootlipData = useAxisTooltip();
18
+ const xAxis = useXAxis();
19
+ const yAxis = useYAxis();
20
+ const classes = useUtilityClasses(propClasses);
21
+ if (tootlipData === null) {
22
+ return null;
23
+ }
25
24
  const {
26
- xAxisIds,
27
- xAxis,
28
- yAxisIds,
29
- yAxis
30
- } = useCartesianContext();
31
- const {
32
- zAxisIds,
33
- zAxis
34
- } = React.useContext(ZAxisContext);
35
- const series = useSeries();
36
- const colorProcessors = useColorProcessor();
37
- const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
38
- const relevantSeries = React.useMemo(() => {
39
- const rep = [];
40
- Object.keys(series).filter(isCartesianSeriesType).forEach(seriesType => {
41
- series[seriesType].seriesOrder.forEach(seriesId => {
42
- const item = series[seriesType].series[seriesId];
43
- const providedXAxisId = item.xAxisId;
44
- const providedYAxisId = item.yAxisId;
45
- const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
46
- if (axisKey === undefined || axisKey === USED_AXIS_ID) {
47
- const seriesToAdd = series[seriesType].series[seriesId];
48
- const xAxisId = providedXAxisId ?? xAxisIds[0];
49
- const yAxisId = providedYAxisId ?? yAxisIds[0];
50
- const zAxisId = seriesToAdd.zAxisId ?? zAxisIds[0];
51
- const getColor = colorProcessors[seriesType]?.(seriesToAdd, xAxis[xAxisId], yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
52
- rep.push(_extends({}, seriesToAdd, {
53
- getColor
54
- }));
55
- }
56
- });
57
- });
58
- return rep;
59
- }, [USED_AXIS_ID, colorProcessors, isXaxis, series, xAxis, xAxisIds, yAxis, yAxisIds, zAxis, zAxisIds]);
60
- const relevantAxis = React.useMemo(() => {
61
- return isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
62
- }, [USED_AXIS_ID, isXaxis, xAxis, yAxis]);
63
- const Content = content ?? DefaultChartsAxisTooltipContent;
64
- const chartTooltipContentProps = useSlotProps({
65
- elementType: Content,
66
- externalSlotProps: contentProps,
67
- additionalProps: {
68
- axisData,
69
- series: relevantSeries,
70
- axis: relevantAxis,
71
- dataIndex,
72
- axisValue,
73
- sx,
74
- classes
75
- },
76
- ownerState: {}
25
+ axisDirection,
26
+ axisValue,
27
+ axisFormattedValue,
28
+ seriesItems
29
+ } = tootlipData;
30
+ const axis = axisDirection === 'x' ? xAxis : yAxis;
31
+ return /*#__PURE__*/_jsx(ChartsTooltipPaper, {
32
+ sx: sx,
33
+ className: classes.paper,
34
+ children: /*#__PURE__*/_jsxs(ChartsTooltipTable, {
35
+ className: classes.table,
36
+ children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/_jsx("thead", {
37
+ children: /*#__PURE__*/_jsx(ChartsTooltipRow, {
38
+ children: /*#__PURE__*/_jsx(ChartsTooltipCell, {
39
+ colSpan: 3,
40
+ children: /*#__PURE__*/_jsx(Typography, {
41
+ children: axisFormattedValue
42
+ })
43
+ })
44
+ })
45
+ }), /*#__PURE__*/_jsx("tbody", {
46
+ children: seriesItems.map(({
47
+ seriesId,
48
+ color,
49
+ formattedValue,
50
+ formattedLabel
51
+ }) => {
52
+ if (formattedValue == null) {
53
+ return null;
54
+ }
55
+ return /*#__PURE__*/_jsxs(ChartsTooltipRow, {
56
+ className: classes.row,
57
+ children: [/*#__PURE__*/_jsx(ChartsTooltipCell, {
58
+ className: clsx(classes.markCell, classes.cell),
59
+ children: color && /*#__PURE__*/_jsx(ChartsTooltipMark, {
60
+ color: color,
61
+ className: classes.mark
62
+ })
63
+ }), /*#__PURE__*/_jsx(ChartsTooltipCell, {
64
+ className: clsx(classes.labelCell, classes.cell),
65
+ children: formattedLabel ? /*#__PURE__*/_jsx(Typography, {
66
+ children: formattedLabel
67
+ }) : null
68
+ }), /*#__PURE__*/_jsx(ChartsTooltipCell, {
69
+ className: clsx(classes.valueCell, classes.cell),
70
+ children: /*#__PURE__*/_jsx(Typography, {
71
+ children: formattedValue
72
+ })
73
+ })]
74
+ }, seriesId);
75
+ })
76
+ })]
77
+ })
77
78
  });
78
- return /*#__PURE__*/_jsx(Content, _extends({}, chartTooltipContentProps));
79
79
  }
80
+ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
81
+ // ----------------------------- Warning --------------------------------
82
+ // | These PropTypes are generated from the TypeScript type definitions |
83
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
84
+ // ----------------------------------------------------------------------
85
+ /**
86
+ * Override or extend the styles applied to the component.
87
+ */
88
+ classes: PropTypes.object,
89
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
90
+ } : void 0;
80
91
  export { ChartsAxisTooltipContent };
@@ -1,38 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps, Theme } from '@mui/material/styles';
3
- import { ItemInteractionData } from '../context/InteractionProvider';
4
- import { ChartSeriesDefaultized, ChartSeriesType } from '../models/seriesType/config';
5
3
  import { ChartsTooltipClasses } from './chartsTooltipClasses';
6
- export interface ChartsItemContentProps<T extends ChartSeriesType> {
7
- /**
8
- * The data used to identify the triggered item.
9
- */
10
- itemData: ItemInteractionData<T>;
11
- /**
12
- * The series linked to the triggered item.
13
- */
14
- series: ChartSeriesDefaultized<T>;
4
+ export interface ChartsItemTooltipContentProps {
15
5
  /**
16
6
  * Override or extend the styles applied to the component.
17
7
  */
18
- classes: ChartsTooltipClasses;
19
- /**
20
- * Get the color of the item with index `dataIndex`.
21
- * @param {number} dataIndex The data index of the item.
22
- * @returns {string} The color to display.
23
- */
24
- getColor: (dataIndex: number) => string;
8
+ classes?: Partial<ChartsTooltipClasses>;
25
9
  sx?: SxProps<Theme>;
26
10
  }
27
- export interface ChartsItemTooltipContentProps<T extends ChartSeriesType> {
28
- itemData: ItemInteractionData<T>;
29
- content?: React.ElementType<ChartsItemContentProps<T>>;
30
- contentProps?: Partial<ChartsItemContentProps<T>>;
31
- sx?: SxProps<Theme>;
32
- classes: ChartsItemContentProps<T>['classes'];
11
+ declare function ChartsItemTooltipContent(props: ChartsItemTooltipContentProps): React.JSX.Element | null;
12
+ declare namespace ChartsItemTooltipContent {
13
+ var propTypes: any;
33
14
  }
34
- /**
35
- * @ignore - internal component.
36
- */
37
- declare function ChartsItemTooltipContent<T extends ChartSeriesType>(props: ChartsItemTooltipContentProps<T>): React.JSX.Element;
38
15
  export { ChartsItemTooltipContent };
@@ -1,52 +1,62 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ 'use client';
2
+
2
3
  import * as React from 'react';
3
- import useSlotProps from '@mui/utils/useSlotProps';
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
- import { jsx as _jsx } from "react/jsx-runtime";
10
- /**
11
- * @ignore - internal component.
12
- */
4
+ import PropTypes from 'prop-types';
5
+ import clsx from 'clsx';
6
+ import { useUtilityClasses } from "./chartsTooltipClasses.js";
7
+ import { useItemTooltip } from "./useItemTooltip.js";
8
+ import { ChartsTooltipCell, ChartsTooltipMark, ChartsTooltipPaper, ChartsTooltipRow, ChartsTooltipTable } from "./ChartsTooltipTable.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
10
  function ChartsItemTooltipContent(props) {
14
11
  const {
15
- content,
16
- itemData,
17
- sx,
18
- classes,
19
- contentProps
12
+ classes: propClasses,
13
+ sx
20
14
  } = props;
21
- const series = useSeries()[itemData.type].series[itemData.seriesId];
15
+ const tooltipData = useItemTooltip();
16
+ const classes = useUtilityClasses(propClasses);
17
+ if (!tooltipData) {
18
+ return null;
19
+ }
22
20
  const {
23
- xAxis,
24
- yAxis,
25
- xAxisIds,
26
- yAxisIds
27
- } = useCartesianContext();
28
- const {
29
- zAxis,
30
- zAxisIds
31
- } = React.useContext(ZAxisContext);
32
- const colorProcessors = useColorProcessor();
33
- const xAxisId = series.xAxisId ?? xAxisIds[0];
34
- const yAxisId = series.yAxisId ?? yAxisIds[0];
35
- const zAxisId = series.zAxisId ?? zAxisIds[0];
36
- const getColor = colorProcessors[series.type]?.(series, xAxisId && xAxis[xAxisId], yAxisId && yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
37
- const Content = content ?? DefaultChartsItemTooltipContent;
38
- const chartTooltipContentProps = useSlotProps({
39
- elementType: Content,
40
- externalSlotProps: contentProps,
41
- additionalProps: {
42
- itemData,
43
- series,
44
- sx,
45
- classes,
46
- getColor
47
- },
48
- ownerState: {}
21
+ color,
22
+ label,
23
+ formattedValue
24
+ } = tooltipData;
25
+ return /*#__PURE__*/_jsx(ChartsTooltipPaper, {
26
+ sx: sx,
27
+ className: classes.paper,
28
+ children: /*#__PURE__*/_jsx(ChartsTooltipTable, {
29
+ className: classes.table,
30
+ children: /*#__PURE__*/_jsx("tbody", {
31
+ children: /*#__PURE__*/_jsxs(ChartsTooltipRow, {
32
+ className: classes.row,
33
+ children: [/*#__PURE__*/_jsx(ChartsTooltipCell, {
34
+ className: clsx(classes.markCell, classes.cell),
35
+ children: /*#__PURE__*/_jsx(ChartsTooltipMark, {
36
+ color: color,
37
+ className: classes.mark
38
+ })
39
+ }), /*#__PURE__*/_jsx(ChartsTooltipCell, {
40
+ className: clsx(classes.labelCell, classes.cell),
41
+ children: label
42
+ }), /*#__PURE__*/_jsx(ChartsTooltipCell, {
43
+ className: clsx(classes.valueCell, classes.cell),
44
+ children: formattedValue
45
+ })]
46
+ })
47
+ })
48
+ })
49
49
  });
50
- return /*#__PURE__*/_jsx(Content, _extends({}, chartTooltipContentProps));
51
50
  }
51
+ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
52
+ // ----------------------------- Warning --------------------------------
53
+ // | These PropTypes are generated from the TypeScript type definitions |
54
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
55
+ // ----------------------------------------------------------------------
56
+ /**
57
+ * Override or extend the styles applied to the component.
58
+ */
59
+ classes: PropTypes.object,
60
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
61
+ } : void 0;
52
62
  export { ChartsItemTooltipContent };