@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,18 +1,18 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  const _excluded = ["width", "height", "margin", "title", "desc", "value", "valueMin", "valueMax", "startAngle", "endAngle", "outerRadius", "innerRadius", "cornerRadius", "cx", "cy", "children"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { styled } from '@mui/material/styles';
9
- import useForkRef from '@mui/utils/useForkRef';
10
- import { useChartContainerDimensions } from "../ChartContainer/useChartContainerDimensions.js";
11
9
  import { ChartsSurface } from "../ChartsSurface/index.js";
12
- import { DrawingProvider } from "../context/DrawingProvider.js";
10
+ import { DrawingAreaProvider } from "../context/DrawingAreaProvider/index.js";
13
11
  import { GaugeProvider } from "./GaugeProvider.js";
12
+ import { SizeProvider, useSize } from "../context/SizeProvider/index.js";
13
+ import { SvgRefProvider } from "../context/SvgRefProvider/index.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
- const ResizableContainer = styled('div', {
15
+ const ResizableContainerRoot = styled('div', {
16
16
  name: 'MuiGauge',
17
17
  slot: 'Container'
18
18
  })(({
@@ -36,6 +36,22 @@ const ResizableContainer = styled('div', {
36
36
  fill: (theme.vars || theme).palette.text.primary
37
37
  }
38
38
  }));
39
+ function ResizableContainer(props) {
40
+ const {
41
+ inHeight,
42
+ inWidth,
43
+ hasIntrinsicSize,
44
+ containerRef
45
+ } = useSize();
46
+ return /*#__PURE__*/_jsx(ResizableContainerRoot, _extends({}, props, {
47
+ ownerState: {
48
+ width: inWidth,
49
+ height: inHeight
50
+ },
51
+ ref: containerRef,
52
+ children: hasIntrinsicSize && props.children
53
+ }));
54
+ }
39
55
  const GaugeContainer = /*#__PURE__*/React.forwardRef(function GaugeContainer(props, ref) {
40
56
  const {
41
57
  width: inWidth,
@@ -56,58 +72,47 @@ const GaugeContainer = /*#__PURE__*/React.forwardRef(function GaugeContainer(pro
56
72
  children
57
73
  } = props,
58
74
  other = _objectWithoutPropertiesLoose(props, _excluded);
59
- const {
60
- containerRef,
61
- width,
62
- height
63
- } = useChartContainerDimensions(inWidth, inHeight);
64
- const svgRef = React.useRef(null);
65
- const chartSurfaceRef = useForkRef(ref, svgRef);
66
- return /*#__PURE__*/_jsx(ResizableContainer, _extends({
67
- ref: containerRef,
68
- ownerState: {
69
- width: inWidth,
70
- height: inHeight
71
- },
72
- role: "meter",
73
- "aria-valuenow": value === null ? undefined : value,
74
- "aria-valuemin": valueMin,
75
- "aria-valuemax": valueMax
76
- }, other, {
77
- children: width && height ? /*#__PURE__*/_jsx(DrawingProvider, {
78
- width: width,
79
- height: height,
80
- margin: _extends({
81
- left: 10,
82
- right: 10,
83
- top: 10,
84
- bottom: 10
85
- }, margin),
86
- svgRef: svgRef,
87
- children: /*#__PURE__*/_jsx(GaugeProvider, {
88
- value: value,
89
- valueMin: valueMin,
90
- valueMax: valueMax,
91
- startAngle: startAngle,
92
- endAngle: endAngle,
93
- outerRadius: outerRadius,
94
- innerRadius: innerRadius,
95
- cornerRadius: cornerRadius,
96
- cx: cx,
97
- cy: cy,
98
- children: /*#__PURE__*/_jsx(ChartsSurface, {
99
- width: width,
100
- height: height,
101
- ref: chartSurfaceRef,
102
- title: title,
103
- desc: desc,
104
- disableAxisListener: true,
105
- "aria-hidden": "true",
106
- children: children
75
+ return /*#__PURE__*/_jsx(SizeProvider, {
76
+ width: inWidth,
77
+ height: inHeight,
78
+ children: /*#__PURE__*/_jsx(SvgRefProvider, {
79
+ children: /*#__PURE__*/_jsx(DrawingAreaProvider, {
80
+ margin: _extends({
81
+ left: 10,
82
+ right: 10,
83
+ top: 10,
84
+ bottom: 10
85
+ }, margin),
86
+ children: /*#__PURE__*/_jsx(GaugeProvider, {
87
+ value: value,
88
+ valueMin: valueMin,
89
+ valueMax: valueMax,
90
+ startAngle: startAngle,
91
+ endAngle: endAngle,
92
+ outerRadius: outerRadius,
93
+ innerRadius: innerRadius,
94
+ cornerRadius: cornerRadius,
95
+ cx: cx,
96
+ cy: cy,
97
+ children: /*#__PURE__*/_jsx(ResizableContainer, _extends({
98
+ role: "meter",
99
+ "aria-valuenow": value === null ? undefined : value,
100
+ "aria-valuemin": valueMin,
101
+ "aria-valuemax": valueMax
102
+ }, other, {
103
+ children: /*#__PURE__*/_jsx(ChartsSurface, {
104
+ title: title,
105
+ desc: desc,
106
+ disableAxisListener: true,
107
+ "aria-hidden": "true",
108
+ ref: ref,
109
+ children: children
110
+ })
111
+ }))
107
112
  })
108
113
  })
109
- }) : null
110
- }));
114
+ })
115
+ });
111
116
  });
112
117
  process.env.NODE_ENV !== "production" ? GaugeContainer.propTypes = {
113
118
  // ----------------------------- Warning --------------------------------
@@ -198,12 +203,6 @@ process.env.NODE_ENV !== "production" ? GaugeContainer.propTypes = {
198
203
  * @default 0
199
204
  */
200
205
  valueMin: PropTypes.number,
201
- viewBox: PropTypes.shape({
202
- height: PropTypes.number,
203
- width: PropTypes.number,
204
- x: PropTypes.number,
205
- y: PropTypes.number
206
- }),
207
206
  /**
208
207
  * The width of the chart in px. If not defined, it takes the width of the parent element.
209
208
  */
@@ -5,24 +5,10 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
5
5
  const _excluded = ["d", "skipAnimation", "ownerState"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import { styled } from '@mui/material/styles';
9
8
  import { animated, useTransition } from '@react-spring/web';
10
- import { color as d3Color } from '@mui/x-charts-vendor/d3-color';
11
9
  import { useStringInterpolator } from "../internals/useStringInterpolator.js";
12
10
  import { AppearingMask } from "./AppearingMask.js";
13
11
  import { jsx as _jsx } from "react/jsx-runtime";
14
- export const AreaElementPath = styled(animated.path, {
15
- name: 'MuiAreaElement',
16
- slot: 'Root',
17
- overridesResolver: (_, styles) => styles.root
18
- })(({
19
- ownerState
20
- }) => ({
21
- stroke: 'none',
22
- fill: ownerState.gradientId && `url(#${ownerState.gradientId})` || ownerState.isHighlighted && d3Color(ownerState.color).brighter(1).formatHex() || d3Color(ownerState.color).brighter(0.5).formatHex(),
23
- transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
24
- opacity: ownerState.isFaded ? 0.3 : 1
25
- }));
26
12
  /**
27
13
  * Demos:
28
14
  *
@@ -57,10 +43,15 @@ function AnimatedArea(props) {
57
43
  return /*#__PURE__*/_jsx(AppearingMask, {
58
44
  skipAnimation: skipAnimation,
59
45
  id: `${ownerState.id}-area-clip`,
60
- children: transitionChange((style, interpolator) => /*#__PURE__*/_jsx(AreaElementPath, _extends({}, other, {
61
- ownerState: ownerState,
62
- d: style.value.to(interpolator)
63
- })))
46
+ children: transitionChange((style, interpolator) => /*#__PURE__*/_jsx(animated.path, _extends({
47
+ d: style.value.to(interpolator),
48
+ fill: ownerState.gradientId ? `url(#${ownerState.gradientId})` : ownerState.color,
49
+ filter:
50
+ // eslint-disable-next-line no-nested-ternary
51
+ ownerState.isHighlighted ? 'brightness(140%)' : ownerState.gradientId ? undefined : 'brightness(120%)',
52
+ opacity: ownerState.isFaded ? 0.3 : 1,
53
+ stroke: "none"
54
+ }, other)))
64
55
  });
65
56
  }
66
57
  process.env.NODE_ENV !== "production" ? AnimatedArea.propTypes = {
@@ -6,25 +6,9 @@ const _excluded = ["d", "skipAnimation", "ownerState"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { animated, useTransition } from '@react-spring/web';
9
- import { color as d3Color } from '@mui/x-charts-vendor/d3-color';
10
- import { styled } from '@mui/material/styles';
11
9
  import { useStringInterpolator } from "../internals/useStringInterpolator.js";
12
10
  import { AppearingMask } from "./AppearingMask.js";
13
11
  import { jsx as _jsx } from "react/jsx-runtime";
14
- export const LineElementPath = styled(animated.path, {
15
- name: 'MuiLineElement',
16
- slot: 'Root',
17
- overridesResolver: (_, styles) => styles.root
18
- })(({
19
- ownerState
20
- }) => ({
21
- strokeWidth: 2,
22
- strokeLinejoin: 'round',
23
- fill: 'none',
24
- stroke: ownerState.gradientId && `url(#${ownerState.gradientId})` || ownerState.isHighlighted && d3Color(ownerState.color).brighter(0.5).formatHex() || ownerState.color,
25
- transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
26
- opacity: ownerState.isFaded ? 0.3 : 1
27
- }));
28
12
  /**
29
13
  * Demos:
30
14
  *
@@ -59,10 +43,15 @@ function AnimatedLine(props) {
59
43
  return /*#__PURE__*/_jsx(AppearingMask, {
60
44
  skipAnimation: skipAnimation,
61
45
  id: `${ownerState.id}-line-clip`,
62
- children: transitionChange((style, interpolator) => /*#__PURE__*/_jsx(LineElementPath, _extends({}, other, {
63
- ownerState: ownerState,
64
- d: style.value.to(interpolator)
65
- })))
46
+ children: transitionChange((style, interpolator) => /*#__PURE__*/_jsx(animated.path, _extends({
47
+ d: style.value.to(interpolator),
48
+ stroke: ownerState.gradientId ? `url(#${ownerState.gradientId})` : ownerState.color,
49
+ strokeWidth: 2,
50
+ strokeLinejoin: "round",
51
+ fill: "none",
52
+ filter: ownerState.isHighlighted ? 'brightness(120%)' : undefined,
53
+ opacity: ownerState.isFaded ? 0.3 : 1
54
+ }, other)))
66
55
  });
67
56
  }
68
57
  process.env.NODE_ENV !== "production" ? AnimatedLine.propTypes = {
@@ -5,9 +5,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { styled } from '@mui/material/styles';
8
9
  import { area as d3Area } from '@mui/x-charts-vendor/d3-shape';
9
10
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
10
- import { AreaElement } from "./AreaElement.js";
11
+ import { AreaElement, areaElementClasses } from "./AreaElement.js";
11
12
  import { getValueToPositionMapper } from "../hooks/useScale.js";
12
13
  import getCurveFactory from "../internals/getCurve.js";
13
14
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
@@ -15,6 +16,15 @@ import { useChartGradient } from "../internals/components/ChartsAxesGradients/in
15
16
  import { useLineSeries } from "../hooks/useSeries.js";
16
17
  import { useSkipAnimation } from "../context/AnimationProvider/index.js";
17
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
+ const AreaPlotRoot = styled('g', {
20
+ name: 'MuiAreaPlot',
21
+ slot: 'Root',
22
+ overridesResolver: (_, styles) => styles.root
23
+ })({
24
+ [`& .${areaElementClasses.root}`]: {
25
+ transition: 'opacity 0.2s ease-in, fill 0.2s ease-in'
26
+ }
27
+ });
18
28
  const useAggregatedData = () => {
19
29
  const seriesData = useLineSeries();
20
30
  const axisData = useCartesianContext();
@@ -117,7 +127,7 @@ function AreaPlot(props) {
117
127
  const skipAnimation = useSkipAnimation(inSkipAnimation);
118
128
  const getGradientId = useChartGradient();
119
129
  const completedData = useAggregatedData();
120
- return /*#__PURE__*/_jsx("g", _extends({}, other, {
130
+ return /*#__PURE__*/_jsx(AreaPlotRoot, _extends({}, other, {
121
131
  children: completedData.map(({
122
132
  d,
123
133
  seriesId,
@@ -8,10 +8,12 @@ import PropTypes from 'prop-types';
8
8
  import { useTheme } from '@mui/material/styles';
9
9
  import { warnOnce } from '@mui/x-internals/warning';
10
10
  import { animated, useSpring } from '@react-spring/web';
11
- import { InteractionContext } from "../context/InteractionProvider.js";
12
11
  import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
13
12
  import { useItemHighlighted } from "../context/index.js";
14
13
  import { useUtilityClasses } from "./markElementClasses.js";
14
+ import { useSelector } from "../internals/useSelector.js";
15
+ import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
16
+ import { useStore } from "../internals/useStore.js";
15
17
  import { jsx as _jsx } from "react/jsx-runtime";
16
18
  /**
17
19
  * The line mark element that only render circle for performance improvement.
@@ -49,9 +51,8 @@ function CircleMarkElement(props) {
49
51
  } = useItemHighlighted({
50
52
  seriesId: id
51
53
  });
52
- const {
53
- axis
54
- } = React.useContext(InteractionContext);
54
+ const store = useStore();
55
+ const xAxisIdentifier = useSelector(store, selectorChartsInteractionXAxis);
55
56
  const position = useSpring({
56
57
  to: {
57
58
  x,
@@ -62,7 +63,7 @@ function CircleMarkElement(props) {
62
63
  const ownerState = {
63
64
  id,
64
65
  classes: innerClasses,
65
- isHighlighted: axis.x?.index === dataIndex || isHighlighted,
66
+ isHighlighted: xAxisIdentifier?.index === dataIndex || isHighlighted,
66
67
  isFaded,
67
68
  color
68
69
  };
@@ -48,9 +48,9 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(inProps, ref)
48
48
  axisHighlightProps,
49
49
  lineHighlightPlotProps,
50
50
  legendProps,
51
- tooltipProps,
52
51
  children
53
52
  } = useLineChartProps(props);
53
+ const Tooltip = props.slots?.tooltip ?? ChartsTooltip;
54
54
  return /*#__PURE__*/_jsxs(ChartContainer, _extends({
55
55
  ref: ref
56
56
  }, chartContainerProps, {
@@ -59,7 +59,7 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(inProps, ref)
59
59
  })), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx("g", {
60
60
  "data-drawing-container": true,
61
61
  children: /*#__PURE__*/_jsx(MarkPlot, _extends({}, markPlotProps))
62
- }), /*#__PURE__*/_jsx(LineHighlightPlot, _extends({}, lineHighlightPlotProps)), !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), !props.loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltipProps)), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
62
+ }), /*#__PURE__*/_jsx(LineHighlightPlot, _extends({}, lineHighlightPlotProps)), !props.hideLegend && /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), !props.loading && /*#__PURE__*/_jsx(Tooltip, _extends({}, props.slotProps?.tooltip)), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
63
63
  }));
64
64
  });
65
65
  process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
@@ -69,7 +69,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
69
69
  // ----------------------------------------------------------------------
70
70
  /**
71
71
  * The configuration of axes highlight.
72
- * @see See {@link https://mui.com/x/react-charts/highlighting highlighting docs} for more details.
72
+ * @see See {@link https://mui.com/x/react-charts/highlighting/ highlighting docs} for more details.
73
73
  * @default { x: 'line' }
74
74
  */
75
75
  axisHighlight: PropTypes.shape({
@@ -178,16 +178,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
178
178
  * Callback fired when a mark element is clicked.
179
179
  */
180
180
  onMarkClick: PropTypes.func,
181
- /**
182
- * The chart will try to wait for the parent container to resolve its size
183
- * before it renders for the first time.
184
- *
185
- * This can be useful in some scenarios where the chart appear to grow after
186
- * the first render, like when used inside a grid.
187
- *
188
- * @default false
189
- */
190
- resolveSizeBeforeRender: PropTypes.bool,
191
181
  /**
192
182
  * Indicate which axis to display the right of the charts.
193
183
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -216,31 +206,12 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
216
206
  slots: PropTypes.object,
217
207
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
218
208
  title: PropTypes.string,
219
- /**
220
- * The configuration of the tooltip.
221
- * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
222
- * @default { trigger: 'item' }
223
- */
224
- tooltip: PropTypes.shape({
225
- axisContent: PropTypes.elementType,
226
- classes: PropTypes.object,
227
- itemContent: PropTypes.elementType,
228
- slotProps: PropTypes.object,
229
- slots: PropTypes.object,
230
- trigger: PropTypes.oneOf(['axis', 'item', 'none'])
231
- }),
232
209
  /**
233
210
  * Indicate which axis to display the top of the charts.
234
211
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
235
212
  * @default null
236
213
  */
237
214
  topAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
238
- viewBox: PropTypes.shape({
239
- height: PropTypes.number,
240
- width: PropTypes.number,
241
- x: PropTypes.number,
242
- y: PropTypes.number
243
- }),
244
215
  /**
245
216
  * The width of the chart in px. If not defined, it takes the width of the parent element.
246
217
  */
@@ -5,14 +5,16 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
5
5
  const _excluded = ["slots", "slotProps"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { useStore } from "../internals/useStore.js";
9
+ import { useSelector } from "../internals/useSelector.js";
8
10
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
9
11
  import { LineHighlightElement } from "./LineHighlightElement.js";
10
12
  import { getValueToPositionMapper } from "../hooks/useScale.js";
11
- import { InteractionContext } from "../context/InteractionProvider.js";
12
13
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
13
14
  import getColor from "./getColor.js";
14
15
  import { useLineSeries } from "../hooks/useSeries.js";
15
16
  import { useDrawingArea } from "../hooks/useDrawingArea.js";
17
+ import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
16
18
  import { jsx as _jsx } from "react/jsx-runtime";
17
19
  /**
18
20
  * Demos:
@@ -33,10 +35,9 @@ function LineHighlightPlot(props) {
33
35
  const seriesData = useLineSeries();
34
36
  const axisData = useCartesianContext();
35
37
  const drawingArea = useDrawingArea();
36
- const {
37
- axis
38
- } = React.useContext(InteractionContext);
39
- const highlightedIndex = axis.x?.index;
38
+ const store = useStore();
39
+ const xAxisIdentifier = useSelector(store, selectorChartsInteractionXAxis);
40
+ const highlightedIndex = xAxisIdentifier?.index;
40
41
  if (highlightedIndex === undefined) {
41
42
  return null;
42
43
  }
@@ -5,9 +5,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { styled } from '@mui/material/styles';
8
9
  import { line as d3Line } from '@mui/x-charts-vendor/d3-shape';
9
10
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
10
- import { LineElement } from "./LineElement.js";
11
+ import { LineElement, lineElementClasses } from "./LineElement.js";
11
12
  import { getValueToPositionMapper } from "../hooks/useScale.js";
12
13
  import getCurveFactory from "../internals/getCurve.js";
13
14
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
@@ -15,6 +16,15 @@ import { useChartGradient } from "../internals/components/ChartsAxesGradients/in
15
16
  import { useLineSeries } from "../hooks/useSeries.js";
16
17
  import { useSkipAnimation } from "../context/AnimationProvider/index.js";
17
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
+ const LinePlotRoot = styled('g', {
20
+ name: 'MuiAreaPlot',
21
+ slot: 'Root',
22
+ overridesResolver: (_, styles) => styles.root
23
+ })({
24
+ [`& .${lineElementClasses.root}`]: {
25
+ transition: 'opacity 0.2s ease-in, fill 0.2s ease-in'
26
+ }
27
+ });
18
28
  const useAggregatedData = () => {
19
29
  const seriesData = useLineSeries();
20
30
  const axisData = useCartesianContext();
@@ -98,7 +108,7 @@ function LinePlot(props) {
98
108
  const skipAnimation = useSkipAnimation(inSkipAnimation);
99
109
  const getGradientId = useChartGradient();
100
110
  const completedData = useAggregatedData();
101
- return /*#__PURE__*/_jsx("g", _extends({}, other, {
111
+ return /*#__PURE__*/_jsx(LinePlotRoot, _extends({}, other, {
102
112
  children: completedData.map(({
103
113
  d,
104
114
  seriesId,
@@ -9,10 +9,12 @@ import { styled } from '@mui/material/styles';
9
9
  import { symbol as d3Symbol, symbolsFill as d3SymbolsFill } from '@mui/x-charts-vendor/d3-shape';
10
10
  import { animated, to, useSpring } from '@react-spring/web';
11
11
  import { getSymbol } from "../internals/getSymbol.js";
12
- import { InteractionContext } from "../context/InteractionProvider.js";
13
12
  import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
14
13
  import { useItemHighlighted } from "../context/index.js";
15
14
  import { useUtilityClasses } from "./markElementClasses.js";
15
+ import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
16
+ import { useSelector } from "../internals/useSelector.js";
17
+ import { useStore } from "../internals/useStore.js";
16
18
  import { jsx as _jsx } from "react/jsx-runtime";
17
19
  const MarkElementPath = styled(animated.path, {
18
20
  name: 'MuiMarkElement',
@@ -56,9 +58,8 @@ function MarkElement(props) {
56
58
  } = useItemHighlighted({
57
59
  seriesId: id
58
60
  });
59
- const {
60
- axis
61
- } = React.useContext(InteractionContext);
61
+ const store = useStore();
62
+ const xAxisIdentifier = useSelector(store, selectorChartsInteractionXAxis);
62
63
  const position = useSpring({
63
64
  to: {
64
65
  x,
@@ -69,7 +70,7 @@ function MarkElement(props) {
69
70
  const ownerState = {
70
71
  id,
71
72
  classes: innerClasses,
72
- isHighlighted: axis.x?.index === dataIndex || isHighlighted,
73
+ isHighlighted: xAxisIdentifier?.index === dataIndex || isHighlighted,
73
74
  isFaded,
74
75
  color
75
76
  };
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "hideLegend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className", "experimentalMarkRendering"];
5
+ const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "hideLegend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className", "experimentalMarkRendering"];
6
6
  import useId from '@mui/utils/useId';
7
7
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
8
8
  /**
@@ -23,7 +23,6 @@ export const useLineChartProps = props => {
23
23
  colors,
24
24
  dataset,
25
25
  sx,
26
- tooltip,
27
26
  onAxisClick,
28
27
  onAreaClick,
29
28
  onLineClick,
@@ -69,7 +68,7 @@ export const useLineChartProps = props => {
69
68
  sx,
70
69
  highlightedItem,
71
70
  onHighlightChange,
72
- disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
71
+ disableAxisListener: slotProps?.tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
73
72
  className,
74
73
  skipAnimation
75
74
  });
@@ -127,10 +126,6 @@ export const useLineChartProps = props => {
127
126
  slots,
128
127
  slotProps
129
128
  };
130
- const tooltipProps = _extends({}, tooltip, {
131
- slots,
132
- slotProps
133
- });
134
129
  return {
135
130
  chartContainerProps,
136
131
  axisClickHandlerProps,
@@ -145,7 +140,6 @@ export const useLineChartProps = props => {
145
140
  axisHighlightProps,
146
141
  lineHighlightPlotProps,
147
142
  legendProps,
148
- tooltipProps,
149
143
  children
150
144
  };
151
145
  };
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "sx", "tooltip", "skipAnimation", "hideLegend", "children", "slots", "slotProps", "onItemClick", "loading", "highlightedItem", "onHighlightChange", "className"];
5
+ const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "sx", "skipAnimation", "hideLegend", "children", "slots", "slotProps", "onItemClick", "loading", "highlightedItem", "onHighlightChange", "className"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useRtl } from '@mui/system/RtlProvider';
@@ -48,9 +48,6 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
48
48
  margin: marginProps,
49
49
  colors,
50
50
  sx,
51
- tooltip = {
52
- trigger: 'item'
53
- },
54
51
  skipAnimation,
55
52
  hideLegend,
56
53
  children,
@@ -65,6 +62,7 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
65
62
  other = _objectWithoutPropertiesLoose(props, _excluded);
66
63
  const isRtl = useRtl();
67
64
  const margin = _extends({}, isRtl ? defaultRTLMargin : defaultMargin, marginProps);
65
+ const Tooltip = slots?.tooltip ?? ChartsTooltip;
68
66
  return /*#__PURE__*/_jsxs(ChartContainer, _extends({}, other, {
69
67
  ref: ref,
70
68
  series: series.map(s => _extends({
@@ -96,10 +94,9 @@ const PieChart = /*#__PURE__*/React.forwardRef(function PieChart(inProps, ref) {
96
94
  },
97
95
  slots: slots,
98
96
  slotProps: slotProps
99
- }), !loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltip, {
100
- slots: slots,
101
- slotProps: slotProps
102
- })), children]
97
+ }), !loading && /*#__PURE__*/_jsx(Tooltip, _extends({
98
+ trigger: "item"
99
+ }, slotProps?.tooltip)), children]
103
100
  }));
104
101
  });
105
102
  process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
@@ -167,16 +164,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
167
164
  * Callback fired when a pie arc is clicked.
168
165
  */
169
166
  onItemClick: PropTypes.func,
170
- /**
171
- * The chart will try to wait for the parent container to resolve its size
172
- * before it renders for the first time.
173
- *
174
- * This can be useful in some scenarios where the chart appear to grow after
175
- * the first render, like when used inside a grid.
176
- *
177
- * @default false
178
- */
179
- resolveSizeBeforeRender: PropTypes.bool,
180
167
  /**
181
168
  * The series to display in the pie chart.
182
169
  * An array of [[PieSeriesType]] objects.
@@ -199,25 +186,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
199
186
  slots: PropTypes.object,
200
187
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
201
188
  title: PropTypes.string,
202
- /**
203
- * The configuration of the tooltip.
204
- * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
205
- * @default { trigger: 'item' }
206
- */
207
- tooltip: PropTypes.shape({
208
- axisContent: PropTypes.elementType,
209
- classes: PropTypes.object,
210
- itemContent: PropTypes.elementType,
211
- slotProps: PropTypes.object,
212
- slots: PropTypes.object,
213
- trigger: PropTypes.oneOf(['axis', 'item', 'none'])
214
- }),
215
- viewBox: PropTypes.shape({
216
- height: PropTypes.number,
217
- width: PropTypes.number,
218
- x: PropTypes.number,
219
- y: PropTypes.number
220
- }),
221
189
  /**
222
190
  * The width of the chart in px. If not defined, it takes the width of the parent element.
223
191
  */
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { DrawingContext } from "../context/DrawingProvider.js";
5
+ import { DrawingAreaContext } from "../context/DrawingAreaProvider/index.js";
6
6
  import { PieArcPlot } from "./PieArcPlot.js";
7
7
  import { PieArcLabelPlot } from "./PieArcLabelPlot.js";
8
8
  import { getPercentageValue } from "../internals/getPercentageValue.js";
@@ -33,7 +33,7 @@ function PiePlot(props) {
33
33
  top,
34
34
  width,
35
35
  height
36
- } = React.useContext(DrawingContext);
36
+ } = React.useContext(DrawingAreaContext);
37
37
  const skipAnimation = useSkipAnimation(inSkipAnimation);
38
38
  if (seriesData === undefined) {
39
39
  return null;