@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
@@ -10,47 +10,12 @@ 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 _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
15
- var _styles = require("@mui/material/styles");
16
- var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
17
- var _NoSsr = _interopRequireDefault(require("@mui/material/NoSsr"));
18
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
19
- var _InteractionProvider = require("../context/InteractionProvider");
20
- var _useSvgRef = require("../hooks/useSvgRef");
21
- var _utils = require("./utils");
13
+ var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
22
14
  var _ChartsItemTooltipContent = require("./ChartsItemTooltipContent");
23
15
  var _ChartsAxisTooltipContent = require("./ChartsAxisTooltipContent");
16
+ var _ChartsTooltipContainer = require("./ChartsTooltipContainer");
24
17
  var _chartsTooltipClasses = require("./chartsTooltipClasses");
25
18
  var _jsxRuntime = require("react/jsx-runtime");
26
- const useUtilityClasses = ownerState => {
27
- const {
28
- classes
29
- } = ownerState;
30
- const slots = {
31
- root: ['root'],
32
- paper: ['paper'],
33
- table: ['table'],
34
- row: ['row'],
35
- cell: ['cell'],
36
- mark: ['mark'],
37
- markCell: ['markCell'],
38
- labelCell: ['labelCell'],
39
- valueCell: ['valueCell']
40
- };
41
- return (0, _composeClasses.default)(slots, _chartsTooltipClasses.getChartsTooltipUtilityClass, classes);
42
- };
43
- const ChartsTooltipRoot = (0, _styles.styled)(_Popper.default, {
44
- name: 'MuiChartsTooltip',
45
- slot: 'Root',
46
- overridesResolver: (_, styles) => styles.root
47
- })(({
48
- theme
49
- }) => ({
50
- pointerEvents: 'none',
51
- zIndex: theme.zIndex.modal
52
- }));
53
-
54
19
  /**
55
20
  * Demos:
56
21
  *
@@ -60,108 +25,20 @@ const ChartsTooltipRoot = (0, _styles.styled)(_Popper.default, {
60
25
  *
61
26
  * - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
62
27
  */
63
- function ChartsTooltip(inProps) {
64
- const props = (0, _styles.useThemeProps)({
65
- props: inProps,
66
- name: 'MuiChartsTooltip'
67
- });
28
+ function ChartsTooltip(props) {
68
29
  const {
69
- trigger = 'axis',
70
- itemContent,
71
- axisContent,
72
- slots,
73
- slotProps
30
+ classes: propClasses,
31
+ trigger = 'axis'
74
32
  } = props;
75
- const svgRef = (0, _useSvgRef.useSvgRef)();
76
- const pointerType = (0, _utils.usePointerType)();
77
- const popperRef = React.useRef(null);
78
- const positionRef = (0, _useLazyRef.default)(() => ({
79
- x: 0,
80
- y: 0
33
+ const classes = (0, _chartsTooltipClasses.useUtilityClasses)(propClasses);
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltipContainer.ChartsTooltipContainer, (0, _extends2.default)({}, props, {
35
+ classes: classes,
36
+ children: trigger === 'axis' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisTooltipContent.ChartsAxisTooltipContent, {
37
+ classes: classes
38
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsItemTooltipContent.ChartsItemTooltipContent, {
39
+ classes: classes
40
+ })
81
41
  }));
82
- const {
83
- item,
84
- axis
85
- } = React.useContext(_InteractionProvider.InteractionContext);
86
- const displayedData = trigger === 'item' ? item : axis;
87
- const tooltipHasData = (0, _utils.getTooltipHasData)(trigger, displayedData);
88
- const popperOpen = pointerType !== null && tooltipHasData;
89
- const classes = useUtilityClasses({
90
- classes: props.classes
91
- });
92
- const PopperComponent = slots?.popper ?? ChartsTooltipRoot;
93
- const popperProps = (0, _useSlotProps.default)({
94
- elementType: PopperComponent,
95
- externalSlotProps: slotProps?.popper,
96
- additionalProps: {
97
- open: popperOpen,
98
- placement: pointerType?.pointerType === 'mouse' ? 'right-start' : 'top',
99
- popperRef,
100
- anchorEl: {
101
- getBoundingClientRect: () => ({
102
- x: positionRef.current.x,
103
- y: positionRef.current.y,
104
- top: positionRef.current.y,
105
- left: positionRef.current.x,
106
- right: positionRef.current.x,
107
- bottom: positionRef.current.y,
108
- width: 0,
109
- height: 0,
110
- toJSON: () => ''
111
- })
112
- },
113
- modifiers: [{
114
- name: 'offset',
115
- options: {
116
- offset: [0, pointerType?.pointerType === 'touch' ? 40 - pointerType.height : 0]
117
- }
118
- }]
119
- },
120
- ownerState: {}
121
- });
122
- React.useEffect(() => {
123
- const element = svgRef.current;
124
- if (element === null) {
125
- return () => {};
126
- }
127
- const handleMove = event => {
128
- // eslint-disable-next-line react-compiler/react-compiler
129
- positionRef.current = {
130
- x: event.clientX,
131
- y: event.clientY
132
- };
133
- popperRef.current?.update();
134
- };
135
- element.addEventListener('pointermove', handleMove);
136
- return () => {
137
- element.removeEventListener('pointermove', handleMove);
138
- };
139
- }, [svgRef, positionRef]);
140
- if (trigger === 'none') {
141
- return null;
142
- }
143
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NoSsr.default, {
144
- children: popperOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(PopperComponent, (0, _extends2.default)({}, popperProps, {
145
- className: classes.root,
146
- children: trigger === 'item' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsItemTooltipContent.ChartsItemTooltipContent, {
147
- itemData: displayedData,
148
- content: slots?.itemContent ?? itemContent,
149
- contentProps: slotProps?.itemContent,
150
- sx: {
151
- mx: 2
152
- },
153
- classes: classes
154
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisTooltipContent.ChartsAxisTooltipContent, {
155
- axisData: displayedData,
156
- content: slots?.axisContent ?? axisContent,
157
- contentProps: slotProps?.axisContent,
158
- sx: {
159
- mx: 2
160
- },
161
- classes: classes
162
- })
163
- }))
164
- });
165
42
  }
166
43
  process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
167
44
  // ----------------------------- Warning --------------------------------
@@ -169,29 +46,150 @@ process.env.NODE_ENV !== "production" ? ChartsTooltip.propTypes = {
169
46
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
170
47
  // ----------------------------------------------------------------------
171
48
  /**
172
- * Component to override the tooltip content when trigger is set to 'axis'.
173
- * @deprecated Use slots.axisContent instead
49
+ * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
50
+ * or a function that returns either.
51
+ * It's used to set the position of the popper.
52
+ * The return value will passed as the reference object of the Popper instance.
174
53
  */
175
- axisContent: _propTypes.default.elementType,
54
+ anchorEl: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_HTMLElementType.default, _propTypes.default.object, _propTypes.default.func]),
176
55
  /**
177
56
  * Override or extend the styles applied to the component.
178
57
  */
179
58
  classes: _propTypes.default.object,
180
59
  /**
181
- * Component to override the tooltip content when trigger is set to 'item'.
182
- * @deprecated Use slots.itemContent instead
60
+ * The component used for the root node.
61
+ * Either a string to use a HTML element or a component.
183
62
  */
184
- itemContent: _propTypes.default.elementType,
63
+ component: _propTypes.default.elementType,
185
64
  /**
186
- * The props used for each component slot.
65
+ * The components used for each slot inside the Popper.
66
+ * Either a string to use a HTML element or a component.
67
+ * @default {}
68
+ */
69
+ components: _propTypes.default.shape({
70
+ Root: _propTypes.default.elementType
71
+ }),
72
+ /**
73
+ * The props used for each slot inside the Popper.
74
+ * @default {}
75
+ */
76
+ componentsProps: _propTypes.default.shape({
77
+ root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
78
+ }),
79
+ /**
80
+ * An HTML element or function that returns one.
81
+ * The `container` will have the portal children appended to it.
82
+ *
83
+ * You can also provide a callback, which is called in a React layout effect.
84
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
85
+ *
86
+ * By default, it uses the body of the top-level document object,
87
+ * so it's simply `document.body` most of the time.
88
+ */
89
+ container: _propTypes.default.oneOfType([(props, propName) => {
90
+ if (props[propName] == null) {
91
+ return new Error(`Prop '${propName}' is required but wasn't specified`);
92
+ }
93
+ if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
94
+ return new Error(`Expected prop '${propName}' to be of type Element`);
95
+ }
96
+ return null;
97
+ }, _propTypes.default.func]),
98
+ /**
99
+ * The `children` will be under the DOM hierarchy of the parent component.
100
+ * @default false
101
+ */
102
+ disablePortal: _propTypes.default.bool,
103
+ /**
104
+ * Always keep the children in the DOM.
105
+ * This prop can be useful in SEO situation or
106
+ * when you want to maximize the responsiveness of the Popper.
107
+ * @default false
108
+ */
109
+ keepMounted: _propTypes.default.bool,
110
+ /**
111
+ * Popper.js is based on a "plugin-like" architecture,
112
+ * most of its features are fully encapsulated "modifiers".
113
+ *
114
+ * A modifier is a function that is called each time Popper.js needs to
115
+ * compute the position of the popper.
116
+ * For this reason, modifiers should be very performant to avoid bottlenecks.
117
+ * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
118
+ */
119
+ modifiers: _propTypes.default.arrayOf(_propTypes.default.shape({
120
+ data: _propTypes.default.object,
121
+ effect: _propTypes.default.func,
122
+ enabled: _propTypes.default.bool,
123
+ fn: _propTypes.default.func,
124
+ name: _propTypes.default.any,
125
+ options: _propTypes.default.object,
126
+ phase: _propTypes.default.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),
127
+ requires: _propTypes.default.arrayOf(_propTypes.default.string),
128
+ requiresIfExists: _propTypes.default.arrayOf(_propTypes.default.string)
129
+ })),
130
+ /**
131
+ * If `true`, the component is shown.
132
+ */
133
+ open: _propTypes.default.bool,
134
+ /**
135
+ * Popper placement.
136
+ * @default 'bottom'
137
+ */
138
+ 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']),
139
+ /**
140
+ * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
141
+ * @default {}
142
+ */
143
+ popperOptions: _propTypes.default.shape({
144
+ modifiers: _propTypes.default.array,
145
+ onFirstUpdate: _propTypes.default.func,
146
+ 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']),
147
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed'])
148
+ }),
149
+ /**
150
+ * A ref that points to the used popper instance.
151
+ */
152
+ popperRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
153
+ current: _propTypes.default.shape({
154
+ destroy: _propTypes.default.func.isRequired,
155
+ forceUpdate: _propTypes.default.func.isRequired,
156
+ setOptions: _propTypes.default.func.isRequired,
157
+ state: _propTypes.default.shape({
158
+ attributes: _propTypes.default.object.isRequired,
159
+ elements: _propTypes.default.object.isRequired,
160
+ modifiersData: _propTypes.default.object.isRequired,
161
+ options: _propTypes.default.object.isRequired,
162
+ orderedModifiers: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
163
+ 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,
164
+ rects: _propTypes.default.object.isRequired,
165
+ reset: _propTypes.default.bool.isRequired,
166
+ scrollParents: _propTypes.default.object.isRequired,
167
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed']).isRequired,
168
+ styles: _propTypes.default.object.isRequired
169
+ }).isRequired,
170
+ update: _propTypes.default.func.isRequired
171
+ })
172
+ })]),
173
+ /**
174
+ * The props used for each slot inside the Popper.
187
175
  * @default {}
188
176
  */
189
177
  slotProps: _propTypes.default.object,
190
178
  /**
191
- * Overridable component slots.
179
+ * The components used for each slot inside the Popper.
180
+ * Either a string to use a HTML element or a component.
192
181
  * @default {}
193
182
  */
194
183
  slots: _propTypes.default.object,
184
+ /**
185
+ * The system prop that allows defining system overrides as well as additional CSS styles.
186
+ */
187
+ 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]),
188
+ /**
189
+ * Help supporting a react-transition-group/Transition component.
190
+ * @default false
191
+ */
192
+ transition: _propTypes.default.bool,
195
193
  /**
196
194
  * Select the kind of tooltip to display
197
195
  * - 'item': Shows data about the item below the mouse.
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.ChartsTooltipContainer = ChartsTooltipContainer;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
15
+ var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
16
+ var _styles = require("@mui/material/styles");
17
+ var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
18
+ var _NoSsr = _interopRequireDefault(require("@mui/material/NoSsr"));
19
+ var _useSvgRef = require("../hooks/useSvgRef");
20
+ var _utils = require("./utils");
21
+ var _useSelector = require("../internals/store/useSelector");
22
+ var _useStore = require("../internals/store/useStore");
23
+ var _hooks = require("../hooks");
24
+ var _useChartInteraction = require("../internals/plugins/featurePlugins/useChartInteraction");
25
+ var _jsxRuntime = require("react/jsx-runtime");
26
+ const _excluded = ["trigger", "classes", "children"];
27
+ const ChartsTooltipRoot = (0, _styles.styled)(_Popper.default, {
28
+ name: 'MuiChartsTooltip',
29
+ slot: 'Root',
30
+ overridesResolver: (_, styles) => styles.root
31
+ })(({
32
+ theme
33
+ }) => ({
34
+ pointerEvents: 'none',
35
+ zIndex: theme.zIndex.modal
36
+ }));
37
+
38
+ /**
39
+ * Demos:
40
+ *
41
+ * - [ChartsTooltip](https://mui.com/x/react-charts/tooltip/)
42
+ *
43
+ * API:
44
+ *
45
+ * - [ChartsTooltip API](https://mui.com/x/api/charts/charts-tool-tip/)
46
+ */
47
+ function ChartsTooltipContainer(inProps) {
48
+ const props = (0, _styles.useThemeProps)({
49
+ props: inProps,
50
+ name: 'MuiChartsTooltipContainer'
51
+ });
52
+ const {
53
+ trigger = 'axis',
54
+ classes,
55
+ children
56
+ } = props,
57
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
58
+ const svgRef = (0, _useSvgRef.useSvgRef)();
59
+ const pointerType = (0, _utils.usePointerType)();
60
+ const xAxis = (0, _hooks.useXAxis)();
61
+ const xAxisHasData = xAxis.data !== undefined && xAxis.data.length !== 0;
62
+ const popperRef = React.useRef(null);
63
+ const positionRef = (0, _useLazyRef.default)(() => ({
64
+ x: 0,
65
+ y: 0
66
+ }));
67
+ const store = (0, _useStore.useStore)();
68
+ const isOpen = (0, _useSelector.useSelector)(store,
69
+ // eslint-disable-next-line no-nested-ternary
70
+ trigger === 'axis' ? xAxisHasData ? _useChartInteraction.selectorChartsInteractionXAxisIsDefined : _useChartInteraction.selectorChartsInteractionYAxisIsDefined : _useChartInteraction.selectorChartsInteractionItemIsDefined);
71
+ const popperOpen = pointerType !== null && isOpen; // tooltipHasData;
72
+
73
+ React.useEffect(() => {
74
+ const element = svgRef.current;
75
+ if (element === null) {
76
+ return () => {};
77
+ }
78
+ const handleMove = event => {
79
+ // eslint-disable-next-line react-compiler/react-compiler
80
+ positionRef.current = {
81
+ x: event.clientX,
82
+ y: event.clientY
83
+ };
84
+ popperRef.current?.update();
85
+ };
86
+ element.addEventListener('pointermove', handleMove);
87
+ return () => {
88
+ element.removeEventListener('pointermove', handleMove);
89
+ };
90
+ }, [svgRef, positionRef]);
91
+ if (trigger === 'none') {
92
+ return null;
93
+ }
94
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NoSsr.default, {
95
+ children: popperOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsTooltipRoot, (0, _extends2.default)({
96
+ className: classes?.root,
97
+ open: popperOpen,
98
+ placement: pointerType?.pointerType === 'mouse' ? 'right-start' : 'top',
99
+ popperRef: popperRef,
100
+ anchorEl: {
101
+ getBoundingClientRect: () => ({
102
+ x: positionRef.current.x,
103
+ y: positionRef.current.y,
104
+ top: positionRef.current.y,
105
+ left: positionRef.current.x,
106
+ right: positionRef.current.x,
107
+ bottom: positionRef.current.y,
108
+ width: 0,
109
+ height: 0,
110
+ toJSON: () => ''
111
+ })
112
+ },
113
+ modifiers: [{
114
+ name: 'offset',
115
+ options: {
116
+ offset: [0, pointerType?.pointerType === 'touch' ? 40 - pointerType.height : 0]
117
+ }
118
+ }]
119
+ }, other, {
120
+ children: children
121
+ }))
122
+ });
123
+ }
124
+ process.env.NODE_ENV !== "production" ? ChartsTooltipContainer.propTypes = {
125
+ // ----------------------------- Warning --------------------------------
126
+ // | These PropTypes are generated from the TypeScript type definitions |
127
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
128
+ // ----------------------------------------------------------------------
129
+ /**
130
+ * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
131
+ * or a function that returns either.
132
+ * It's used to set the position of the popper.
133
+ * The return value will passed as the reference object of the Popper instance.
134
+ */
135
+ anchorEl: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_HTMLElementType.default, _propTypes.default.object, _propTypes.default.func]),
136
+ /**
137
+ * Popper render function or node.
138
+ */
139
+ children: _propTypes.default.node,
140
+ /**
141
+ * Override or extend the styles applied to the component.
142
+ */
143
+ classes: _propTypes.default.object,
144
+ /**
145
+ * The component used for the root node.
146
+ * Either a string to use a HTML element or a component.
147
+ */
148
+ component: _propTypes.default.elementType,
149
+ /**
150
+ * The components used for each slot inside the Popper.
151
+ * Either a string to use a HTML element or a component.
152
+ * @default {}
153
+ */
154
+ components: _propTypes.default.shape({
155
+ Root: _propTypes.default.elementType
156
+ }),
157
+ /**
158
+ * The props used for each slot inside the Popper.
159
+ * @default {}
160
+ */
161
+ componentsProps: _propTypes.default.shape({
162
+ root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
163
+ }),
164
+ /**
165
+ * An HTML element or function that returns one.
166
+ * The `container` will have the portal children appended to it.
167
+ *
168
+ * You can also provide a callback, which is called in a React layout effect.
169
+ * This lets you set the container from a ref, and also makes server-side rendering possible.
170
+ *
171
+ * By default, it uses the body of the top-level document object,
172
+ * so it's simply `document.body` most of the time.
173
+ */
174
+ container: _propTypes.default.oneOfType([(props, propName) => {
175
+ if (props[propName] == null) {
176
+ return new Error(`Prop '${propName}' is required but wasn't specified`);
177
+ }
178
+ if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
179
+ return new Error(`Expected prop '${propName}' to be of type Element`);
180
+ }
181
+ return null;
182
+ }, _propTypes.default.func]),
183
+ /**
184
+ * The `children` will be under the DOM hierarchy of the parent component.
185
+ * @default false
186
+ */
187
+ disablePortal: _propTypes.default.bool,
188
+ /**
189
+ * Always keep the children in the DOM.
190
+ * This prop can be useful in SEO situation or
191
+ * when you want to maximize the responsiveness of the Popper.
192
+ * @default false
193
+ */
194
+ keepMounted: _propTypes.default.bool,
195
+ /**
196
+ * Popper.js is based on a "plugin-like" architecture,
197
+ * most of its features are fully encapsulated "modifiers".
198
+ *
199
+ * A modifier is a function that is called each time Popper.js needs to
200
+ * compute the position of the popper.
201
+ * For this reason, modifiers should be very performant to avoid bottlenecks.
202
+ * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
203
+ */
204
+ modifiers: _propTypes.default.arrayOf(_propTypes.default.shape({
205
+ data: _propTypes.default.object,
206
+ effect: _propTypes.default.func,
207
+ enabled: _propTypes.default.bool,
208
+ fn: _propTypes.default.func,
209
+ name: _propTypes.default.any,
210
+ options: _propTypes.default.object,
211
+ phase: _propTypes.default.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),
212
+ requires: _propTypes.default.arrayOf(_propTypes.default.string),
213
+ requiresIfExists: _propTypes.default.arrayOf(_propTypes.default.string)
214
+ })),
215
+ /**
216
+ * If `true`, the component is shown.
217
+ */
218
+ open: _propTypes.default.bool,
219
+ /**
220
+ * Popper placement.
221
+ * @default 'bottom'
222
+ */
223
+ 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']),
224
+ /**
225
+ * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
226
+ * @default {}
227
+ */
228
+ popperOptions: _propTypes.default.shape({
229
+ modifiers: _propTypes.default.array,
230
+ onFirstUpdate: _propTypes.default.func,
231
+ 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']),
232
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed'])
233
+ }),
234
+ /**
235
+ * A ref that points to the used popper instance.
236
+ */
237
+ popperRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
238
+ current: _propTypes.default.shape({
239
+ destroy: _propTypes.default.func.isRequired,
240
+ forceUpdate: _propTypes.default.func.isRequired,
241
+ setOptions: _propTypes.default.func.isRequired,
242
+ state: _propTypes.default.shape({
243
+ attributes: _propTypes.default.object.isRequired,
244
+ elements: _propTypes.default.object.isRequired,
245
+ modifiersData: _propTypes.default.object.isRequired,
246
+ options: _propTypes.default.object.isRequired,
247
+ orderedModifiers: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
248
+ 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,
249
+ rects: _propTypes.default.object.isRequired,
250
+ reset: _propTypes.default.bool.isRequired,
251
+ scrollParents: _propTypes.default.object.isRequired,
252
+ strategy: _propTypes.default.oneOf(['absolute', 'fixed']).isRequired,
253
+ styles: _propTypes.default.object.isRequired
254
+ }).isRequired,
255
+ update: _propTypes.default.func.isRequired
256
+ })
257
+ })]),
258
+ /**
259
+ * The props used for each slot inside the Popper.
260
+ * @default {}
261
+ */
262
+ slotProps: _propTypes.default.object,
263
+ /**
264
+ * The components used for each slot inside the Popper.
265
+ * Either a string to use a HTML element or a component.
266
+ * @default {}
267
+ */
268
+ slots: _propTypes.default.object,
269
+ /**
270
+ * The system prop that allows defining system overrides as well as additional CSS styles.
271
+ */
272
+ 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]),
273
+ /**
274
+ * Help supporting a react-transition-group/Transition component.
275
+ * @default false
276
+ */
277
+ transition: _propTypes.default.bool,
278
+ /**
279
+ * Select the kind of tooltip to display
280
+ * - 'item': Shows data about the item below the mouse.
281
+ * - 'axis': Shows values associated with the hovered x value
282
+ * - 'none': Does not display tooltip
283
+ * @default 'axis'
284
+ */
285
+ trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
286
+ } : void 0;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ChartsTooltipTable = exports.ChartsTooltipRow = exports.ChartsTooltipPaper = exports.ChartsTooltipMark = exports.ChartsTooltipCell = void 0;
7
7
  var _styles = require("@mui/material/styles");
8
- var _system = require("@mui/system");
8
+ var _createStyled = require("@mui/system/createStyled");
9
9
  var _chartsTooltipClasses = require("./chartsTooltipClasses");
10
10
  /**
11
11
  * @ignore - internal component.
@@ -92,7 +92,7 @@ const ChartsTooltipMark = exports.ChartsTooltipMark = (0, _styles.styled)('div',
92
92
  name: 'MuiChartsTooltip',
93
93
  slot: 'Mark',
94
94
  overridesResolver: (props, styles) => styles.mark,
95
- shouldForwardProp: prop => (0, _system.shouldForwardProp)(prop) && prop !== 'color'
95
+ shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'color'
96
96
  })(({
97
97
  theme,
98
98
  color
@@ -1,12 +1,31 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.chartsTooltipClasses = void 0;
7
8
  exports.getChartsTooltipUtilityClass = getChartsTooltipUtilityClass;
8
- var _utils = require("@mui/utils");
9
+ exports.useUtilityClasses = void 0;
10
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
11
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
12
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
9
13
  function getChartsTooltipUtilityClass(slot) {
10
- return (0, _utils.unstable_generateUtilityClass)('MuiChartsTooltip', slot);
14
+ return (0, _generateUtilityClass.default)('MuiChartsTooltip', slot);
11
15
  }
12
- const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _utils.unstable_generateUtilityClasses)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell']);
16
+ const chartsTooltipClasses = exports.chartsTooltipClasses = (0, _generateUtilityClasses.default)('MuiChartsTooltip', ['root', 'paper', 'table', 'row', 'cell', 'mark', 'markCell', 'labelCell', 'valueCell']);
17
+ const useUtilityClasses = classes => {
18
+ const slots = {
19
+ root: ['root'],
20
+ paper: ['paper'],
21
+ table: ['table'],
22
+ row: ['row'],
23
+ cell: ['cell'],
24
+ mark: ['mark'],
25
+ markCell: ['markCell'],
26
+ labelCell: ['labelCell'],
27
+ valueCell: ['valueCell']
28
+ };
29
+ return (0, _composeClasses.default)(slots, getChartsTooltipUtilityClass, classes);
30
+ };
31
+ exports.useUtilityClasses = useUtilityClasses;