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

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