@mui/x-charts 7.22.3 → 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 (415) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +11 -16
  4. package/BarChart/BarChart.js +9 -59
  5. package/BarChart/BarElement.d.ts +6 -1343
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarLabel/BarLabelItem.d.ts +1 -1
  8. package/BarChart/BarPlot.js +24 -6
  9. package/BarChart/extremums.js +3 -3
  10. package/BarChart/useBarChartProps.d.ts +2 -4
  11. package/BarChart/useBarChartProps.js +4 -11
  12. package/CHANGELOG.md +348 -12
  13. package/ChartContainer/ChartContainer.d.ts +4 -38
  14. package/ChartContainer/ChartContainer.js +15 -44
  15. package/ChartContainer/ResizableContainer.d.ts +22 -0
  16. package/ChartContainer/ResizableContainer.js +60 -0
  17. package/ChartContainer/useChartContainerProps.d.ts +8 -92
  18. package/ChartContainer/useChartContainerProps.js +29 -59
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  21. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  23. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  25. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  27. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  29. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  30. package/ChartsAxisHighlight/index.d.ts +3 -0
  31. package/ChartsAxisHighlight/index.js +4 -1
  32. package/ChartsGrid/ChartsGrid.js +1 -1
  33. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  34. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  35. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  36. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  37. package/ChartsLegend/ChartsLegend.js +0 -3
  38. package/ChartsLegend/DefaultChartsLegend.d.ts +0 -5
  39. package/ChartsLegend/DefaultChartsLegend.js +1 -12
  40. package/ChartsLegend/LegendPerItem.d.ts +3 -3
  41. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  42. package/ChartsOverlay/ChartsOverlay.d.ts +1 -1
  43. package/ChartsSurface/ChartsSurface.d.ts +0 -15
  44. package/ChartsSurface/ChartsSurface.js +35 -34
  45. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  46. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  47. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  48. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  49. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  50. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  51. package/ChartsTooltip/ChartsTooltip.js +162 -107
  52. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  53. package/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  54. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  55. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  56. package/ChartsTooltip/index.d.ts +3 -3
  57. package/ChartsTooltip/index.js +2 -3
  58. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  59. package/ChartsTooltip/useAxisTooltip.js +21 -21
  60. package/ChartsTooltip/useItemTooltip.d.ts +1 -1
  61. package/ChartsTooltip/useItemTooltip.js +8 -7
  62. package/ChartsTooltip/utils.d.ts +5 -16
  63. package/ChartsTooltip/utils.js +45 -50
  64. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +50 -39
  65. package/Gauge/Gauge.d.ts +1 -1
  66. package/Gauge/Gauge.js +0 -6
  67. package/Gauge/GaugeContainer.d.ts +3 -3
  68. package/Gauge/GaugeContainer.js +60 -61
  69. package/LineChart/AnimatedArea.d.ts +0 -1333
  70. package/LineChart/AnimatedArea.js +9 -18
  71. package/LineChart/AnimatedLine.d.ts +0 -1333
  72. package/LineChart/AnimatedLine.js +9 -20
  73. package/LineChart/AreaElement.d.ts +1 -1
  74. package/LineChart/AreaPlot.js +14 -8
  75. package/LineChart/CircleMarkElement.js +6 -5
  76. package/LineChart/LineChart.d.ts +11 -17
  77. package/LineChart/LineChart.js +9 -60
  78. package/LineChart/LineElement.d.ts +1 -1
  79. package/LineChart/LineHighlightPlot.d.ts +1 -1
  80. package/LineChart/LineHighlightPlot.js +8 -11
  81. package/LineChart/LinePlot.js +14 -8
  82. package/LineChart/MarkElement.js +6 -5
  83. package/LineChart/MarkPlot.js +2 -6
  84. package/LineChart/extremums.js +10 -6
  85. package/LineChart/useLineChartProps.d.ts +2 -4
  86. package/LineChart/useLineChartProps.js +4 -11
  87. package/PieChart/PieArc.d.ts +0 -5
  88. package/PieChart/PieArc.js +1 -10
  89. package/PieChart/PieArcPlot.js +0 -5
  90. package/PieChart/PieChart.d.ts +10 -39
  91. package/PieChart/PieChart.js +20 -137
  92. package/PieChart/PiePlot.js +2 -2
  93. package/PieChart/getPieCoordinates.d.ts +2 -2
  94. package/README.md +4 -4
  95. package/ScatterChart/Scatter.js +6 -5
  96. package/ScatterChart/ScatterChart.d.ts +11 -17
  97. package/ScatterChart/ScatterChart.js +11 -60
  98. package/ScatterChart/ScatterPlot.js +3 -6
  99. package/ScatterChart/extremums.js +6 -6
  100. package/ScatterChart/useScatterChartProps.d.ts +2 -4
  101. package/ScatterChart/useScatterChartProps.js +3 -12
  102. package/SparkLineChart/SparkLineChart.d.ts +7 -8
  103. package/SparkLineChart/SparkLineChart.js +6 -33
  104. package/context/CartesianProvider/defaultizeAxis.d.ts +1 -1
  105. package/context/ChartDataProvider/ChartDataProvider.d.ts +31 -0
  106. package/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  107. package/context/ChartDataProvider/index.d.ts +1 -0
  108. package/context/ChartDataProvider/index.js +1 -0
  109. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +94 -0
  110. package/context/ChartDataProvider/useChartDataProviderProps.js +66 -0
  111. package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.d.ts +12 -12
  112. package/{modern/ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  113. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  114. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +8 -0
  115. package/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  116. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  117. package/{modern/context/DrawingProvider.js → context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  118. package/context/DrawingAreaProvider/index.d.ts +3 -0
  119. package/context/DrawingAreaProvider/index.js +3 -0
  120. package/context/HighlightedProvider/HighlightedContext.d.ts +0 -8
  121. package/context/HighlightedProvider/HighlightedProvider.js +1 -16
  122. package/context/InteractionProvider.d.ts +5 -48
  123. package/context/InteractionProvider.js +8 -64
  124. package/context/InteractionSelectors.d.ts +359 -0
  125. package/context/InteractionSelectors.js +12 -0
  126. package/context/PluginProvider/ExtremumGetter.types.d.ts +2 -2
  127. package/context/SizeProvider/Size.types.d.ts +30 -0
  128. package/context/SizeProvider/SizeContext.d.ts +4 -0
  129. package/context/SizeProvider/SizeContext.js +13 -0
  130. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  131. package/context/SizeProvider/SizeProvider.js +26 -0
  132. package/context/SizeProvider/index.d.ts +4 -0
  133. package/context/SizeProvider/index.js +4 -0
  134. package/context/SizeProvider/useChartContainerDimensions.d.ts +9 -0
  135. package/{modern/ResponsiveChartContainer → context/SizeProvider}/useChartContainerDimensions.js +15 -7
  136. package/context/SizeProvider/useSize.d.ts +5 -0
  137. package/context/SizeProvider/useSize.js +13 -0
  138. package/context/SvgRefProvider/SvgRef.types.d.ts +8 -0
  139. package/context/SvgRefProvider/SvgRef.types.js +1 -0
  140. package/context/SvgRefProvider/SvgRefContext.d.ts +4 -0
  141. package/context/SvgRefProvider/SvgRefContext.js +17 -0
  142. package/context/SvgRefProvider/SvgRefProvider.d.ts +3 -0
  143. package/context/SvgRefProvider/SvgRefProvider.js +24 -0
  144. package/context/SvgRefProvider/index.d.ts +4 -0
  145. package/context/SvgRefProvider/index.js +4 -0
  146. package/context/SvgRefProvider/useSurfaceRef.d.ts +2 -0
  147. package/context/SvgRefProvider/useSurfaceRef.js +14 -0
  148. package/context/ZAxisContextProvider.d.ts +1 -1
  149. package/context/index.d.ts +2 -0
  150. package/context/index.js +2 -1
  151. package/hooks/useAxisEvents.js +32 -19
  152. package/hooks/useChartId.js +2 -2
  153. package/hooks/useDrawingArea.d.ts +2 -2
  154. package/hooks/useDrawingArea.js +2 -2
  155. package/hooks/useInteractionItemProps.js +19 -12
  156. package/hooks/useSvgRef.js +3 -3
  157. package/index.d.ts +1 -2
  158. package/index.js +2 -3
  159. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  160. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  161. package/internals/computeAxisValue.d.ts +2 -2
  162. package/internals/defaultizeColor.d.ts +1 -8
  163. package/internals/getSymbol.js +19 -3
  164. package/internals/index.d.ts +7 -6
  165. package/internals/index.js +7 -6
  166. package/internals/plugins/models/index.d.ts +35 -0
  167. package/internals/plugins/models/index.js +1 -0
  168. package/internals/plugins/utils/ChartStore.d.ts +12 -0
  169. package/internals/plugins/utils/ChartStore.js +26 -0
  170. package/internals/plugins/utils/ChartsStore.d.ts +12 -0
  171. package/internals/plugins/utils/ChartsStore.js +26 -0
  172. package/internals/plugins/utils/selectors.d.ts +9 -0
  173. package/internals/plugins/utils/selectors.js +37 -0
  174. package/internals/useCharts.d.ts +6 -0
  175. package/internals/useCharts.js +29 -0
  176. package/internals/useSelector.d.ts +4 -0
  177. package/internals/useSelector.js +6 -0
  178. package/internals/useStore.d.ts +2 -0
  179. package/internals/useStore.js +17 -0
  180. package/internals/useStringInterpolator.js +1 -0
  181. package/models/seriesType/bar.d.ts +1 -1
  182. package/models/seriesType/common.d.ts +0 -10
  183. package/models/seriesType/config.d.ts +1 -1
  184. package/models/seriesType/line.d.ts +1 -1
  185. package/models/seriesType/pie.d.ts +1 -1
  186. package/models/seriesType/scatter.d.ts +1 -6
  187. package/modern/BarChart/AnimatedBarElement.js +21 -0
  188. package/modern/BarChart/BarChart.js +9 -59
  189. package/modern/BarChart/BarElement.js +10 -20
  190. package/modern/BarChart/BarPlot.js +24 -6
  191. package/modern/BarChart/extremums.js +3 -3
  192. package/modern/BarChart/useBarChartProps.js +4 -11
  193. package/modern/ChartContainer/ChartContainer.js +15 -44
  194. package/modern/ChartContainer/ResizableContainer.js +60 -0
  195. package/modern/ChartContainer/useChartContainerProps.js +29 -59
  196. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  197. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  198. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  199. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  200. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  201. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  202. package/modern/ChartsAxisHighlight/index.js +4 -1
  203. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  204. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  205. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  206. package/modern/ChartsLegend/ChartsLegend.js +0 -3
  207. package/modern/ChartsLegend/DefaultChartsLegend.js +1 -12
  208. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  209. package/modern/ChartsSurface/ChartsSurface.js +35 -34
  210. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  211. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  212. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  213. package/modern/ChartsTooltip/ChartsTooltip.js +162 -107
  214. package/modern/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  215. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  216. package/modern/ChartsTooltip/index.js +2 -3
  217. package/modern/ChartsTooltip/useAxisTooltip.js +21 -21
  218. package/modern/ChartsTooltip/useItemTooltip.js +8 -7
  219. package/modern/ChartsTooltip/utils.js +45 -50
  220. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +50 -39
  221. package/modern/Gauge/Gauge.js +0 -6
  222. package/modern/Gauge/GaugeContainer.js +60 -61
  223. package/modern/LineChart/AnimatedArea.js +9 -18
  224. package/modern/LineChart/AnimatedLine.js +9 -20
  225. package/modern/LineChart/AreaPlot.js +14 -8
  226. package/modern/LineChart/CircleMarkElement.js +6 -5
  227. package/modern/LineChart/LineChart.js +9 -60
  228. package/modern/LineChart/LineHighlightPlot.js +8 -11
  229. package/modern/LineChart/LinePlot.js +14 -8
  230. package/modern/LineChart/MarkElement.js +6 -5
  231. package/modern/LineChart/MarkPlot.js +2 -6
  232. package/modern/LineChart/extremums.js +10 -6
  233. package/modern/LineChart/useLineChartProps.js +4 -11
  234. package/modern/PieChart/PieArc.js +1 -10
  235. package/modern/PieChart/PieArcPlot.js +0 -5
  236. package/modern/PieChart/PieChart.js +20 -137
  237. package/modern/PieChart/PiePlot.js +2 -2
  238. package/modern/ScatterChart/Scatter.js +6 -5
  239. package/modern/ScatterChart/ScatterChart.js +11 -60
  240. package/modern/ScatterChart/ScatterPlot.js +3 -6
  241. package/modern/ScatterChart/extremums.js +6 -6
  242. package/modern/ScatterChart/useScatterChartProps.js +3 -12
  243. package/modern/SparkLineChart/SparkLineChart.js +6 -33
  244. package/modern/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  245. package/modern/context/ChartDataProvider/index.js +1 -0
  246. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +66 -0
  247. package/{ChartContainer → modern/context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  248. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  249. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  250. package/{context/DrawingProvider.js → modern/context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  251. package/modern/context/DrawingAreaProvider/index.js +3 -0
  252. package/modern/context/HighlightedProvider/HighlightedProvider.js +1 -16
  253. package/modern/context/InteractionProvider.js +8 -64
  254. package/modern/context/InteractionSelectors.js +12 -0
  255. package/modern/context/SizeProvider/Size.types.js +1 -0
  256. package/modern/context/SizeProvider/SizeContext.js +13 -0
  257. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  258. package/modern/context/SizeProvider/index.js +4 -0
  259. package/{ResponsiveChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +15 -7
  260. package/modern/context/SizeProvider/useSize.js +13 -0
  261. package/modern/context/SvgRefProvider/SvgRef.types.js +1 -0
  262. package/modern/context/SvgRefProvider/SvgRefContext.js +17 -0
  263. package/modern/context/SvgRefProvider/SvgRefProvider.js +24 -0
  264. package/modern/context/SvgRefProvider/index.js +4 -0
  265. package/modern/context/SvgRefProvider/useSurfaceRef.js +14 -0
  266. package/modern/context/index.js +2 -1
  267. package/modern/hooks/useAxisEvents.js +32 -19
  268. package/modern/hooks/useChartId.js +2 -2
  269. package/modern/hooks/useDrawingArea.js +2 -2
  270. package/modern/hooks/useInteractionItemProps.js +19 -12
  271. package/modern/hooks/useSvgRef.js +3 -3
  272. package/modern/index.js +2 -3
  273. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  274. package/modern/internals/getSymbol.js +19 -3
  275. package/modern/internals/index.js +7 -6
  276. package/modern/internals/plugins/models/index.js +1 -0
  277. package/modern/internals/plugins/utils/ChartStore.js +26 -0
  278. package/modern/internals/plugins/utils/ChartsStore.js +26 -0
  279. package/modern/internals/plugins/utils/selectors.js +37 -0
  280. package/modern/internals/useCharts.js +29 -0
  281. package/modern/internals/useSelector.js +6 -0
  282. package/modern/internals/useStore.js +17 -0
  283. package/modern/internals/useStringInterpolator.js +1 -0
  284. package/node/BarChart/AnimatedBarElement.js +28 -0
  285. package/node/BarChart/BarChart.js +9 -59
  286. package/node/BarChart/BarElement.js +11 -21
  287. package/node/BarChart/BarPlot.js +22 -4
  288. package/node/BarChart/extremums.js +3 -3
  289. package/node/BarChart/useBarChartProps.js +4 -11
  290. package/node/ChartContainer/ChartContainer.js +14 -43
  291. package/node/ChartContainer/ResizableContainer.js +68 -0
  292. package/node/ChartContainer/useChartContainerProps.js +29 -60
  293. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  294. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  295. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  296. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  297. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  298. package/node/ChartsAxisHighlight/index.js +33 -0
  299. package/node/ChartsGrid/ChartsGrid.js +2 -2
  300. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  301. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  302. package/node/ChartsLegend/ChartsLegend.js +0 -3
  303. package/node/ChartsLegend/DefaultChartsLegend.js +1 -12
  304. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  305. package/node/ChartsSurface/ChartsSurface.js +35 -34
  306. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  307. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  308. package/node/ChartsTooltip/ChartsTooltip.js +161 -106
  309. package/node/ChartsTooltip/ChartsTooltipContainer.js +304 -0
  310. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  311. package/node/ChartsTooltip/index.js +19 -28
  312. package/node/ChartsTooltip/useAxisTooltip.js +21 -21
  313. package/node/ChartsTooltip/useItemTooltip.js +8 -7
  314. package/node/ChartsTooltip/utils.js +46 -53
  315. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +51 -40
  316. package/node/Gauge/Gauge.js +0 -6
  317. package/node/Gauge/GaugeContainer.js +60 -61
  318. package/node/LineChart/AnimatedArea.js +9 -19
  319. package/node/LineChart/AnimatedLine.js +9 -21
  320. package/node/LineChart/AreaPlot.js +13 -7
  321. package/node/LineChart/CircleMarkElement.js +6 -5
  322. package/node/LineChart/LineChart.js +9 -60
  323. package/node/LineChart/LineHighlightPlot.js +8 -11
  324. package/node/LineChart/LinePlot.js +13 -7
  325. package/node/LineChart/MarkElement.js +6 -5
  326. package/node/LineChart/MarkPlot.js +2 -6
  327. package/node/LineChart/extremums.js +10 -6
  328. package/node/LineChart/useLineChartProps.js +4 -11
  329. package/node/PieChart/PieArc.js +1 -10
  330. package/node/PieChart/PieArcPlot.js +0 -5
  331. package/node/PieChart/PieChart.js +20 -137
  332. package/node/PieChart/PiePlot.js +2 -2
  333. package/node/ScatterChart/Scatter.js +6 -5
  334. package/node/ScatterChart/ScatterChart.js +11 -60
  335. package/node/ScatterChart/ScatterPlot.js +3 -6
  336. package/node/ScatterChart/extremums.js +6 -6
  337. package/node/ScatterChart/useScatterChartProps.js +3 -12
  338. package/node/SparkLineChart/SparkLineChart.js +6 -33
  339. package/node/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  340. package/node/context/ChartDataProvider/index.js +16 -0
  341. package/node/context/ChartDataProvider/useChartDataProviderProps.js +72 -0
  342. package/node/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  343. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  344. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +22 -0
  345. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  346. package/node/context/DrawingAreaProvider/index.js +38 -0
  347. package/node/context/HighlightedProvider/HighlightedProvider.js +1 -16
  348. package/node/context/InteractionProvider.js +9 -66
  349. package/node/context/InteractionSelectors.js +18 -0
  350. package/node/context/SizeProvider/Size.types.js +5 -0
  351. package/node/context/SizeProvider/SizeContext.js +20 -0
  352. package/node/context/SizeProvider/SizeProvider.js +29 -0
  353. package/node/context/SizeProvider/index.js +49 -0
  354. package/node/{ResponsiveChartContainer → context/SizeProvider}/useChartContainerDimensions.js +15 -7
  355. package/node/context/SizeProvider/useSize.js +20 -0
  356. package/node/context/SvgRefProvider/SvgRef.types.js +5 -0
  357. package/node/context/SvgRefProvider/SvgRefContext.js +23 -0
  358. package/node/context/SvgRefProvider/SvgRefProvider.js +31 -0
  359. package/node/context/SvgRefProvider/index.js +49 -0
  360. package/node/context/SvgRefProvider/useSurfaceRef.js +20 -0
  361. package/node/context/index.js +10 -2
  362. package/node/hooks/useAxisEvents.js +33 -19
  363. package/node/hooks/useChartId.js +2 -2
  364. package/node/hooks/useDrawingArea.js +2 -2
  365. package/node/hooks/useInteractionItemProps.js +20 -13
  366. package/node/hooks/useSvgRef.js +3 -3
  367. package/node/index.js +5 -16
  368. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  369. package/node/internals/getSymbol.js +19 -3
  370. package/node/internals/index.js +64 -44
  371. package/node/internals/plugins/models/index.js +5 -0
  372. package/node/internals/plugins/utils/ChartStore.js +33 -0
  373. package/node/internals/plugins/utils/ChartsStore.js +33 -0
  374. package/node/internals/plugins/utils/selectors.js +44 -0
  375. package/node/internals/useCharts.js +36 -0
  376. package/node/internals/useSelector.js +13 -0
  377. package/node/internals/useStore.js +24 -0
  378. package/node/internals/useStringInterpolator.js +2 -0
  379. package/package.json +8 -6
  380. package/themeAugmentation/props.d.ts +1 -2
  381. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  382. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  383. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  384. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  385. package/ResponsiveChartContainer/ResizableContainer.d.ts +0 -9
  386. package/ResponsiveChartContainer/ResizableContainer.js +0 -26
  387. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -24
  388. package/ResponsiveChartContainer/index.d.ts +0 -1
  389. package/ResponsiveChartContainer/index.js +0 -1
  390. package/ResponsiveChartContainer/package.json +0 -6
  391. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +0 -6
  392. package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +0 -19
  393. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  394. package/internals/SlotComponentPropsFromProps.d.ts +0 -1
  395. package/models/helpers.d.ts +0 -3
  396. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  397. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  398. package/modern/ResponsiveChartContainer/ResizableContainer.js +0 -26
  399. package/modern/ResponsiveChartContainer/index.js +0 -1
  400. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  401. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  402. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  403. package/node/ResponsiveChartContainer/ResizableContainer.js +0 -32
  404. package/node/ResponsiveChartContainer/index.js +0 -16
  405. package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -77
  406. /package/{internals/SlotComponentPropsFromProps.js → ChartsAxisHighlight/ChartsAxisHighlight.types.js} +0 -0
  407. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  408. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  409. /package/{models/helpers.js → ChartsTooltip/ChartTooltip.types.js} +0 -0
  410. /package/{modern/internals/SlotComponentPropsFromProps.js → context/DrawingAreaProvider/DrawingArea.types.js} +0 -0
  411. /package/{modern/models/helpers.js → context/SizeProvider/Size.types.js} +0 -0
  412. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  413. /package/node/{internals/SlotComponentPropsFromProps.js → ChartsAxisHighlight/ChartsAxisHighlight.types.js} +0 -0
  414. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  415. /package/node/{models/helpers.js → ChartsTooltip/ChartTooltip.types.js} +0 -0
@@ -1,87 +1,97 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.ChartsAxisTooltipContent = ChartsAxisTooltipContent;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
12
- var _CartesianProvider = require("../context/CartesianProvider");
13
- var _DefaultChartsAxisTooltipContent = require("./DefaultChartsAxisTooltipContent");
14
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
- var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
16
- var _isCartesian = require("../internals/isCartesian");
17
- var _useSeries = require("../hooks/useSeries");
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _chartsTooltipClasses = require("./chartsTooltipClasses");
15
+ var _ChartsTooltipTable = require("./ChartsTooltipTable");
16
+ var _useAxisTooltip = require("./useAxisTooltip");
17
+ var _hooks = require("../hooks");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
- /**
20
- * @ignore - internal component.
21
- */
22
19
  function ChartsAxisTooltipContent(props) {
23
20
  const {
24
- content,
25
- contentProps,
26
- axisData,
27
- sx,
28
- classes
21
+ classes: propClasses,
22
+ sx
29
23
  } = props;
30
- const isXaxis = axisData.x && axisData.x.index !== -1;
31
- const dataIndex = isXaxis ? axisData.x && axisData.x.index : axisData.y && axisData.y.index;
32
- const axisValue = isXaxis ? axisData.x && axisData.x.value : axisData.y && axisData.y.value;
33
- const {
34
- xAxisIds,
35
- xAxis,
36
- yAxisIds,
37
- yAxis
38
- } = (0, _CartesianProvider.useCartesianContext)();
24
+ const tootlipData = (0, _useAxisTooltip.useAxisTooltip)();
25
+ const xAxis = (0, _hooks.useXAxis)();
26
+ const yAxis = (0, _hooks.useYAxis)();
27
+ const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
28
+ if (tootlipData === null) {
29
+ return null;
30
+ }
39
31
  const {
40
- zAxisIds,
41
- zAxis
42
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
43
- const series = (0, _useSeries.useSeries)();
44
- const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
45
- const USED_AXIS_ID = isXaxis ? xAxisIds[0] : yAxisIds[0];
46
- const relevantSeries = React.useMemo(() => {
47
- const rep = [];
48
- Object.keys(series).filter(_isCartesian.isCartesianSeriesType).forEach(seriesType => {
49
- series[seriesType].seriesOrder.forEach(seriesId => {
50
- const item = series[seriesType].series[seriesId];
51
- const providedXAxisId = item.xAxisId ?? item.xAxisKey;
52
- const providedYAxisId = item.yAxisId ?? item.yAxisKey;
53
- const axisKey = isXaxis ? providedXAxisId : providedYAxisId;
54
- if (axisKey === undefined || axisKey === USED_AXIS_ID) {
55
- const seriesToAdd = series[seriesType].series[seriesId];
56
- const xAxisId = providedXAxisId ?? xAxisIds[0];
57
- const yAxisId = providedYAxisId ?? yAxisIds[0];
58
- const zAxisId = seriesToAdd.zAxisId ?? seriesToAdd.zAxisKey ?? zAxisIds[0];
59
- const getColor = colorProcessors[seriesType]?.(seriesToAdd, xAxis[xAxisId], yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
60
- rep.push((0, _extends2.default)({}, seriesToAdd, {
61
- getColor
62
- }));
63
- }
64
- });
65
- });
66
- return rep;
67
- }, [USED_AXIS_ID, colorProcessors, isXaxis, series, xAxis, xAxisIds, yAxis, yAxisIds, zAxis, zAxisIds]);
68
- const relevantAxis = React.useMemo(() => {
69
- return isXaxis ? xAxis[USED_AXIS_ID] : yAxis[USED_AXIS_ID];
70
- }, [USED_AXIS_ID, isXaxis, xAxis, yAxis]);
71
- const Content = content ?? _DefaultChartsAxisTooltipContent.DefaultChartsAxisTooltipContent;
72
- const chartTooltipContentProps = (0, _useSlotProps.default)({
73
- elementType: Content,
74
- externalSlotProps: contentProps,
75
- additionalProps: {
76
- axisData,
77
- series: relevantSeries,
78
- axis: relevantAxis,
79
- dataIndex,
80
- axisValue,
81
- sx,
82
- classes
83
- },
84
- ownerState: {}
32
+ axisDirection,
33
+ axisValue,
34
+ axisFormattedValue,
35
+ seriesItems
36
+ } = tootlipData;
37
+ const axis = axisDirection === 'x' ? xAxis : yAxis;
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
39
+ sx: sx,
40
+ className: classes.paper,
41
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipTable, {
42
+ className: classes.table,
43
+ children: [axisValue != null && !axis.hideTooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)("thead", {
44
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipRow, {
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
46
+ colSpan: 3,
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
48
+ children: axisFormattedValue
49
+ })
50
+ })
51
+ })
52
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
53
+ children: seriesItems.map(({
54
+ seriesId,
55
+ color,
56
+ formattedValue,
57
+ formattedLabel
58
+ }) => {
59
+ if (formattedValue == null) {
60
+ return null;
61
+ }
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
63
+ className: classes.row,
64
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
65
+ className: (0, _clsx.default)(classes.markCell, classes.cell),
66
+ children: color && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
67
+ color: color,
68
+ className: classes.mark
69
+ })
70
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
71
+ className: (0, _clsx.default)(classes.labelCell, classes.cell),
72
+ children: formattedLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
73
+ children: formattedLabel
74
+ }) : null
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
76
+ className: (0, _clsx.default)(classes.valueCell, classes.cell),
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
78
+ children: formattedValue
79
+ })
80
+ })]
81
+ }, seriesId);
82
+ })
83
+ })]
84
+ })
85
85
  });
86
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, (0, _extends2.default)({}, chartTooltipContentProps));
87
- }
86
+ }
87
+ process.env.NODE_ENV !== "production" ? ChartsAxisTooltipContent.propTypes = {
88
+ // ----------------------------- Warning --------------------------------
89
+ // | These PropTypes are generated from the TypeScript type definitions |
90
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
91
+ // ----------------------------------------------------------------------
92
+ /**
93
+ * Override or extend the styles applied to the component.
94
+ */
95
+ classes: _propTypes.default.object,
96
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
97
+ } : void 0;
@@ -1,59 +1,68 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.ChartsItemTooltipContent = ChartsItemTooltipContent;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
12
- var _DefaultChartsItemTooltipContent = require("./DefaultChartsItemTooltipContent");
13
- var _CartesianProvider = require("../context/CartesianProvider");
14
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
15
- var _useColorProcessor = require("../context/PluginProvider/useColorProcessor");
16
- var _useSeries = require("../hooks/useSeries");
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _clsx = _interopRequireDefault(require("clsx"));
13
+ var _chartsTooltipClasses = require("./chartsTooltipClasses");
14
+ var _useItemTooltip = require("./useItemTooltip");
15
+ var _ChartsTooltipTable = require("./ChartsTooltipTable");
17
16
  var _jsxRuntime = require("react/jsx-runtime");
18
- /**
19
- * @ignore - internal component.
20
- */
21
17
  function ChartsItemTooltipContent(props) {
22
18
  const {
23
- content,
24
- itemData,
25
- sx,
26
- classes,
27
- contentProps
19
+ classes: propClasses,
20
+ sx
28
21
  } = props;
29
- const series = (0, _useSeries.useSeries)()[itemData.type].series[itemData.seriesId];
30
- const {
31
- xAxis,
32
- yAxis,
33
- xAxisIds,
34
- yAxisIds
35
- } = (0, _CartesianProvider.useCartesianContext)();
22
+ const tooltipData = (0, _useItemTooltip.useItemTooltip)();
23
+ const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
24
+ if (!tooltipData) {
25
+ return null;
26
+ }
36
27
  const {
37
- zAxis,
38
- zAxisIds
39
- } = React.useContext(_ZAxisContextProvider.ZAxisContext);
40
- const colorProcessors = (0, _useColorProcessor.useColorProcessor)();
41
- const xAxisId = series.xAxisId ?? series.xAxisKey ?? xAxisIds[0];
42
- const yAxisId = series.yAxisId ?? series.yAxisKey ?? yAxisIds[0];
43
- const zAxisId = series.zAxisId ?? series.zAxisKey ?? zAxisIds[0];
44
- const getColor = colorProcessors[series.type]?.(series, xAxisId && xAxis[xAxisId], yAxisId && yAxis[yAxisId], zAxisId && zAxis[zAxisId]) ?? (() => '');
45
- const Content = content ?? _DefaultChartsItemTooltipContent.DefaultChartsItemTooltipContent;
46
- const chartTooltipContentProps = (0, _useSlotProps.default)({
47
- elementType: Content,
48
- externalSlotProps: contentProps,
49
- additionalProps: {
50
- itemData,
51
- series,
52
- sx,
53
- classes,
54
- getColor
55
- },
56
- ownerState: {}
28
+ color,
29
+ label,
30
+ formattedValue
31
+ } = tooltipData;
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipPaper, {
33
+ sx: sx,
34
+ className: classes.paper,
35
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipTable, {
36
+ className: classes.table,
37
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsTooltipTable.ChartsTooltipRow, {
39
+ className: classes.row,
40
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
41
+ className: (0, _clsx.default)(classes.markCell, classes.cell),
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipMark, {
43
+ color: color,
44
+ className: classes.mark
45
+ })
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
47
+ className: (0, _clsx.default)(classes.labelCell, classes.cell),
48
+ children: label
49
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipTable.ChartsTooltipCell, {
50
+ className: (0, _clsx.default)(classes.valueCell, classes.cell),
51
+ children: formattedValue
52
+ })]
53
+ })
54
+ })
55
+ })
57
56
  });
58
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, (0, _extends2.default)({}, chartTooltipContentProps));
59
- }
57
+ }
58
+ process.env.NODE_ENV !== "production" ? ChartsItemTooltipContent.propTypes = {
59
+ // ----------------------------- Warning --------------------------------
60
+ // | These PropTypes are generated from the TypeScript type definitions |
61
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
62
+ // ----------------------------------------------------------------------
63
+ /**
64
+ * Override or extend the styles applied to the component.
65
+ */
66
+ classes: _propTypes.default.object,
67
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
68
+ } : void 0;
@@ -10,45 +10,11 @@ exports.ChartsTooltip = ChartsTooltip;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
- var _styles = require("@mui/material/styles");
15
- var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
16
- var _NoSsr = _interopRequireDefault(require("@mui/material/NoSsr"));
17
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
18
- var _InteractionProvider = require("../context/InteractionProvider");
19
- var _utils = require("./utils");
20
13
  var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
21
14
  var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
15
+ var _ChartsTooltipContainer = require("./ChartsTooltipContainer");
22
16
  var _chartsTooltipClasses = require("./chartsTooltipClasses");
23
17
  var _jsxRuntime = require("react/jsx-runtime");
24
- const useUtilityClasses = ownerState => {
25
- const {
26
- classes
27
- } = ownerState;
28
- const slots = {
29
- root: ['root'],
30
- paper: ['paper'],
31
- table: ['table'],
32
- row: ['row'],
33
- cell: ['cell'],
34
- mark: ['mark'],
35
- markCell: ['markCell'],
36
- labelCell: ['labelCell'],
37
- valueCell: ['valueCell']
38
- };
39
- return (0, _composeClasses.default)(slots, _chartsTooltipClasses.getChartsTooltipUtilityClass, classes);
40
- };
41
- const ChartsTooltipRoot = (0, _styles.styled)(_Popper.default, {
42
- name: 'MuiChartsTooltip',
43
- slot: 'Root',
44
- overridesResolver: (_, styles) => styles.root
45
- })(({
46
- theme
47
- }) => ({
48
- pointerEvents: 'none',
49
- zIndex: theme.zIndex.modal
50
- }));
51
-
52
18
  /**
53
19
  * Demos:
54
20
  *
@@ -58,71 +24,20 @@ const ChartsTooltipRoot = (0, _styles.styled)(_Popper.default, {
58
24
  *
59
25
  * - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
60
26
  */
61
- function ChartsTooltip(inProps) {
62
- const props = (0, _styles.useThemeProps)({
63
- props: inProps,
64
- name: 'MuiChartsTooltip'
65
- });
27
+ function ChartsTooltip(props) {
66
28
  const {
67
- trigger = 'axis',
68
- itemContent,
69
- axisContent,
70
- slots,
71
- slotProps
29
+ classes: propClasses,
30
+ trigger = 'axis'
72
31
  } = props;
73
- const mousePosition = (0, _utils.useMouseTracker)();
74
- const {
75
- item,
76
- axis
77
- } = React.useContext(_InteractionProvider.InteractionContext);
78
- const displayedData = trigger === 'item' ? item : axis;
79
- const tooltipHasData = (0, _utils.getTooltipHasData)(trigger, displayedData);
80
- const popperOpen = mousePosition !== null && tooltipHasData;
81
- const classes = useUtilityClasses({
82
- classes: props.classes
83
- });
84
- const PopperComponent = slots?.popper ?? ChartsTooltipRoot;
85
- const popperProps = (0, _useSlotProps.default)({
86
- elementType: PopperComponent,
87
- externalSlotProps: slotProps?.popper,
88
- additionalProps: {
89
- open: popperOpen,
90
- placement: mousePosition?.pointerType === 'mouse' ? 'right-start' : 'top',
91
- anchorEl: (0, _utils.generateVirtualElement)(mousePosition),
92
- modifiers: [{
93
- name: 'offset',
94
- options: {
95
- offset: [0, mousePosition?.pointerType === 'touch' ? 40 - mousePosition.height : 0]
96
- }
97
- }]
98
- },
99
- ownerState: {}
100
- });
101
- if (trigger === 'none') {
102
- return null;
103
- }
104
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NoSsr.default, {
105
- children: popperOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(PopperComponent, (0, _extends2.default)({}, popperProps, {
106
- className: classes.root,
107
- children: trigger === 'item' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsItemTooltipContent.ChartsItemTooltipContent, {
108
- itemData: displayedData,
109
- content: slots?.itemContent ?? itemContent,
110
- contentProps: slotProps?.itemContent,
111
- sx: {
112
- mx: 2
113
- },
114
- classes: classes
115
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisTooltipContent.ChartsAxisTooltipContent, {
116
- axisData: displayedData,
117
- content: slots?.axisContent ?? axisContent,
118
- contentProps: slotProps?.axisContent,
119
- sx: {
120
- mx: 2
121
- },
122
- classes: classes
123
- })
124
- }))
125
- });
32
+ const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipContainer.ChartsTooltipContainer, (0, _extends2.default)({}, props, {
34
+ classes: classes,
35
+ children: trigger === 'axis' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisTooltipContent.ChartsAxisTooltipContent, {
36
+ classes: classes
37
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsItemTooltipContent.ChartsItemTooltipContent, {
38
+ classes: classes
39
+ })
40
+ }));
126
41
  }
127
42
  process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
128
43
  // ----------------------------- Warning --------------------------------
@@ -130,29 +45,169 @@ process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
130
45
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
131
46
  // ----------------------------------------------------------------------
132
47
  /**
133
- * Component to override the tooltip content when trigger is set to 'axis'.
134
- * @deprecated Use slots.axisContent instead
48
+ * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
49
+ * or a function that returns either.
50
+ * It's used to set the position of the popper.
51
+ * The return value will passed as the reference object of the Popper instance.
135
52
  */
136
- axisContent: _propTypes.default.elementType,
53
+ anchorEl: _propTypes.default.oneOfType([(props, propName) => {
54
+ if (props[propName] == null) {
55
+ return new Error(`Prop '${propName}' is required but wasn't specified`);
56
+ }
57
+ if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
58
+ return new Error(`Expected prop '${propName}' to be of type Element`);
59
+ }
60
+ return null;
61
+ }, _propTypes.default.func, _propTypes.default.shape({
62
+ contextElement: (props, propName) => {
63
+ if (props[propName] == null) {
64
+ return null;
65
+ }
66
+ if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
67
+ return new Error(`Expected prop '${propName}' to be of type Element`);
68
+ }
69
+ return null;
70
+ },
71
+ getBoundingClientRect: _propTypes.default.func.isRequired
72
+ })]),
137
73
  /**
138
74
  * Override or extend the styles applied to the component.
139
75
  */
140
76
  classes: _propTypes.default.object,
141
77
  /**
142
- * Component to override the tooltip content when trigger is set to 'item'.
143
- * @deprecated Use slots.itemContent instead
78
+ * The component used for the root node.
79
+ * Either a string to use a HTML element or a component.
80
+ */
81
+ component: _propTypes.default.elementType,
82
+ /**
83
+ * The components used for each slot inside the Popper.
84
+ * Either a string to use a HTML element or a component.
85
+ * @default {}
144
86
  */
145
- itemContent: _propTypes.default.elementType,
87
+ components: _propTypes.default.shape({
88
+ Root: _propTypes.default.elementType
89
+ }),
146
90
  /**
147
- * The props used for each component slot.
91
+ * The props used for each slot inside the Popper.
92
+ * @default {}
93
+ */
94
+ componentsProps: _propTypes.default.shape({
95
+ root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
96
+ }),
97
+ /**
98
+ * An HTML element or function that returns one.
99
+ * The `container` will have the portal children appended to it.
100
+ *
101
+ * You can also provide a callback, which is called in a React layout effect.
102
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
103
+ *
104
+ * By default, it uses the body of the top-level document object,
105
+ * so it's simply `document.body` most of the time.
106
+ */
107
+ container: _propTypes.default.oneOfType([(props, propName) => {
108
+ if (props[propName] == null) {
109
+ return new Error(`Prop '${propName}' is required but wasn't specified`);
110
+ }
111
+ if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
112
+ return new Error(`Expected prop '${propName}' to be of type Element`);
113
+ }
114
+ return null;
115
+ }, _propTypes.default.func]),
116
+ /**
117
+ * The `children` will be under the DOM hierarchy of the parent component.
118
+ * @default false
119
+ */
120
+ disablePortal: _propTypes.default.bool,
121
+ /**
122
+ * Always keep the children in the DOM.
123
+ * This prop can be useful in SEO situation or
124
+ * when you want to maximize the responsiveness of the Popper.
125
+ * @default false
126
+ */
127
+ keepMounted: _propTypes.default.bool,
128
+ /**
129
+ * Popper.js is based on a "plugin-like" architecture,
130
+ * most of its features are fully encapsulated "modifiers".
131
+ *
132
+ * A modifier is a function that is called each time Popper.js needs to
133
+ * compute the position of the popper.
134
+ * For this reason, modifiers should be very performant to avoid bottlenecks.
135
+ * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
136
+ */
137
+ modifiers: _propTypes.default.arrayOf(_propTypes.default.shape({
138
+ data: _propTypes.default.object,
139
+ effect: _propTypes.default.func,
140
+ enabled: _propTypes.default.bool,
141
+ fn: _propTypes.default.func,
142
+ name: _propTypes.default.any,
143
+ options: _propTypes.default.object,
144
+ phase: _propTypes.default.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),
145
+ requires: _propTypes.default.arrayOf(_propTypes.default.string),
146
+ requiresIfExists: _propTypes.default.arrayOf(_propTypes.default.string)
147
+ })),
148
+ /**
149
+ * If `true`, the component is shown.
150
+ */
151
+ open: _propTypes.default.bool,
152
+ /**
153
+ * Popper placement.
154
+ * @default 'bottom'
155
+ */
156
+ placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
157
+ /**
158
+ * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
159
+ * @default {}
160
+ */
161
+ popperOptions: _propTypes.default.shape({
162
+ modifiers: _propTypes.default.array,
163
+ onFirstUpdate: _propTypes.default.func,
164
+ placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),
165
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed'])
166
+ }),
167
+ /**
168
+ * A ref that points to the used popper instance.
169
+ */
170
+ popperRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
171
+ current: _propTypes.default.shape({
172
+ destroy: _propTypes.default.func.isRequired,
173
+ forceUpdate: _propTypes.default.func.isRequired,
174
+ setOptions: _propTypes.default.func.isRequired,
175
+ state: _propTypes.default.shape({
176
+ attributes: _propTypes.default.object.isRequired,
177
+ elements: _propTypes.default.object.isRequired,
178
+ modifiersData: _propTypes.default.object.isRequired,
179
+ options: _propTypes.default.object.isRequired,
180
+ orderedModifiers: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
181
+ placement: _propTypes.default.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']).isRequired,
182
+ rects: _propTypes.default.object.isRequired,
183
+ reset: _propTypes.default.bool.isRequired,
184
+ scrollParents: _propTypes.default.object.isRequired,
185
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed']).isRequired,
186
+ styles: _propTypes.default.object.isRequired
187
+ }).isRequired,
188
+ update: _propTypes.default.func.isRequired
189
+ })
190
+ })]),
191
+ /**
192
+ * The props used for each slot inside the Popper.
148
193
  * @default {}
149
194
  */
150
195
  slotProps: _propTypes.default.object,
151
196
  /**
152
- * Overridable component slots.
197
+ * The components used for each slot inside the Popper.
198
+ * Either a string to use a HTML element or a component.
153
199
  * @default {}
154
200
  */
155
201
  slots: _propTypes.default.object,
202
+ /**
203
+ * The system prop that allows defining system overrides as well as additional CSS styles.
204
+ */
205
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
206
+ /**
207
+ * Help supporting a react-transition-group/Transition component.
208
+ * @default false
209
+ */
210
+ transition: _propTypes.default.bool,
156
211
  /**
157
212
  * Select the kind of tooltip to display
158
213
  * - 'item': Shows data about the item below the mouse.