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

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