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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +11 -16
  4. package/BarChart/BarChart.js +9 -59
  5. package/BarChart/BarElement.d.ts +6 -1343
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarLabel/BarLabelItem.d.ts +1 -1
  8. package/BarChart/BarPlot.js +24 -6
  9. package/BarChart/extremums.js +3 -3
  10. package/BarChart/useBarChartProps.d.ts +2 -4
  11. package/BarChart/useBarChartProps.js +4 -11
  12. package/CHANGELOG.md +348 -12
  13. package/ChartContainer/ChartContainer.d.ts +4 -38
  14. package/ChartContainer/ChartContainer.js +15 -44
  15. package/ChartContainer/ResizableContainer.d.ts +22 -0
  16. package/ChartContainer/ResizableContainer.js +60 -0
  17. package/ChartContainer/useChartContainerProps.d.ts +8 -92
  18. package/ChartContainer/useChartContainerProps.js +29 -59
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  21. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  23. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  25. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  27. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  29. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  30. package/ChartsAxisHighlight/index.d.ts +3 -0
  31. package/ChartsAxisHighlight/index.js +4 -1
  32. package/ChartsGrid/ChartsGrid.js +1 -1
  33. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  34. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  35. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  36. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  37. package/ChartsLegend/ChartsLegend.js +0 -3
  38. package/ChartsLegend/DefaultChartsLegend.d.ts +0 -5
  39. package/ChartsLegend/DefaultChartsLegend.js +1 -12
  40. package/ChartsLegend/LegendPerItem.d.ts +3 -3
  41. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  42. package/ChartsOverlay/ChartsOverlay.d.ts +1 -1
  43. package/ChartsSurface/ChartsSurface.d.ts +0 -15
  44. package/ChartsSurface/ChartsSurface.js +35 -34
  45. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  46. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  47. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  48. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  49. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  50. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  51. package/ChartsTooltip/ChartsTooltip.js +162 -107
  52. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  53. package/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  54. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  55. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  56. package/ChartsTooltip/index.d.ts +3 -3
  57. package/ChartsTooltip/index.js +2 -3
  58. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  59. package/ChartsTooltip/useAxisTooltip.js +21 -21
  60. package/ChartsTooltip/useItemTooltip.d.ts +1 -1
  61. package/ChartsTooltip/useItemTooltip.js +8 -7
  62. package/ChartsTooltip/utils.d.ts +5 -16
  63. package/ChartsTooltip/utils.js +45 -50
  64. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +50 -39
  65. package/Gauge/Gauge.d.ts +1 -1
  66. package/Gauge/Gauge.js +0 -6
  67. package/Gauge/GaugeContainer.d.ts +3 -3
  68. package/Gauge/GaugeContainer.js +60 -61
  69. package/LineChart/AnimatedArea.d.ts +0 -1333
  70. package/LineChart/AnimatedArea.js +9 -18
  71. package/LineChart/AnimatedLine.d.ts +0 -1333
  72. package/LineChart/AnimatedLine.js +9 -20
  73. package/LineChart/AreaElement.d.ts +1 -1
  74. package/LineChart/AreaPlot.js +14 -8
  75. package/LineChart/CircleMarkElement.js +6 -5
  76. package/LineChart/LineChart.d.ts +11 -17
  77. package/LineChart/LineChart.js +9 -60
  78. package/LineChart/LineElement.d.ts +1 -1
  79. package/LineChart/LineHighlightPlot.d.ts +1 -1
  80. package/LineChart/LineHighlightPlot.js +8 -11
  81. package/LineChart/LinePlot.js +14 -8
  82. package/LineChart/MarkElement.js +6 -5
  83. package/LineChart/MarkPlot.js +2 -6
  84. package/LineChart/extremums.js +10 -6
  85. package/LineChart/useLineChartProps.d.ts +2 -4
  86. package/LineChart/useLineChartProps.js +4 -11
  87. package/PieChart/PieArc.d.ts +0 -5
  88. package/PieChart/PieArc.js +1 -10
  89. package/PieChart/PieArcPlot.js +0 -5
  90. package/PieChart/PieChart.d.ts +10 -39
  91. package/PieChart/PieChart.js +20 -137
  92. package/PieChart/PiePlot.js +2 -2
  93. package/PieChart/getPieCoordinates.d.ts +2 -2
  94. package/README.md +4 -4
  95. package/ScatterChart/Scatter.js +6 -5
  96. package/ScatterChart/ScatterChart.d.ts +11 -17
  97. package/ScatterChart/ScatterChart.js +11 -60
  98. package/ScatterChart/ScatterPlot.js +3 -6
  99. package/ScatterChart/extremums.js +6 -6
  100. package/ScatterChart/useScatterChartProps.d.ts +2 -4
  101. package/ScatterChart/useScatterChartProps.js +3 -12
  102. package/SparkLineChart/SparkLineChart.d.ts +7 -8
  103. package/SparkLineChart/SparkLineChart.js +6 -33
  104. package/context/CartesianProvider/defaultizeAxis.d.ts +1 -1
  105. package/context/ChartDataProvider/ChartDataProvider.d.ts +31 -0
  106. package/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  107. package/context/ChartDataProvider/index.d.ts +1 -0
  108. package/context/ChartDataProvider/index.js +1 -0
  109. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +94 -0
  110. package/context/ChartDataProvider/useChartDataProviderProps.js +66 -0
  111. package/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.d.ts +12 -12
  112. package/{modern/ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  113. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  114. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +8 -0
  115. package/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  116. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  117. package/{modern/context/DrawingProvider.js → context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  118. package/context/DrawingAreaProvider/index.d.ts +3 -0
  119. package/context/DrawingAreaProvider/index.js +3 -0
  120. package/context/HighlightedProvider/HighlightedContext.d.ts +0 -8
  121. package/context/HighlightedProvider/HighlightedProvider.js +1 -16
  122. package/context/InteractionProvider.d.ts +5 -48
  123. package/context/InteractionProvider.js +8 -64
  124. package/context/InteractionSelectors.d.ts +359 -0
  125. package/context/InteractionSelectors.js +12 -0
  126. package/context/PluginProvider/ExtremumGetter.types.d.ts +2 -2
  127. package/context/SizeProvider/Size.types.d.ts +30 -0
  128. package/context/SizeProvider/SizeContext.d.ts +4 -0
  129. package/context/SizeProvider/SizeContext.js +13 -0
  130. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  131. package/context/SizeProvider/SizeProvider.js +26 -0
  132. package/context/SizeProvider/index.d.ts +4 -0
  133. package/context/SizeProvider/index.js +4 -0
  134. package/context/SizeProvider/useChartContainerDimensions.d.ts +9 -0
  135. package/{modern/ResponsiveChartContainer → context/SizeProvider}/useChartContainerDimensions.js +15 -7
  136. package/context/SizeProvider/useSize.d.ts +5 -0
  137. package/context/SizeProvider/useSize.js +13 -0
  138. package/context/SvgRefProvider/SvgRef.types.d.ts +8 -0
  139. package/context/SvgRefProvider/SvgRef.types.js +1 -0
  140. package/context/SvgRefProvider/SvgRefContext.d.ts +4 -0
  141. package/context/SvgRefProvider/SvgRefContext.js +17 -0
  142. package/context/SvgRefProvider/SvgRefProvider.d.ts +3 -0
  143. package/context/SvgRefProvider/SvgRefProvider.js +24 -0
  144. package/context/SvgRefProvider/index.d.ts +4 -0
  145. package/context/SvgRefProvider/index.js +4 -0
  146. package/context/SvgRefProvider/useSurfaceRef.d.ts +2 -0
  147. package/context/SvgRefProvider/useSurfaceRef.js +14 -0
  148. package/context/ZAxisContextProvider.d.ts +1 -1
  149. package/context/index.d.ts +2 -0
  150. package/context/index.js +2 -1
  151. package/hooks/useAxisEvents.js +32 -19
  152. package/hooks/useChartId.js +2 -2
  153. package/hooks/useDrawingArea.d.ts +2 -2
  154. package/hooks/useDrawingArea.js +2 -2
  155. package/hooks/useInteractionItemProps.js +19 -12
  156. package/hooks/useSvgRef.js +3 -3
  157. package/index.d.ts +1 -2
  158. package/index.js +2 -3
  159. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  160. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  161. package/internals/computeAxisValue.d.ts +2 -2
  162. package/internals/defaultizeColor.d.ts +1 -8
  163. package/internals/getSymbol.js +19 -3
  164. package/internals/index.d.ts +7 -6
  165. package/internals/index.js +7 -6
  166. package/internals/plugins/models/index.d.ts +35 -0
  167. package/internals/plugins/models/index.js +1 -0
  168. package/internals/plugins/utils/ChartStore.d.ts +12 -0
  169. package/internals/plugins/utils/ChartStore.js +26 -0
  170. package/internals/plugins/utils/ChartsStore.d.ts +12 -0
  171. package/internals/plugins/utils/ChartsStore.js +26 -0
  172. package/internals/plugins/utils/selectors.d.ts +9 -0
  173. package/internals/plugins/utils/selectors.js +37 -0
  174. package/internals/useCharts.d.ts +6 -0
  175. package/internals/useCharts.js +29 -0
  176. package/internals/useSelector.d.ts +4 -0
  177. package/internals/useSelector.js +6 -0
  178. package/internals/useStore.d.ts +2 -0
  179. package/internals/useStore.js +17 -0
  180. package/internals/useStringInterpolator.js +1 -0
  181. package/models/seriesType/bar.d.ts +1 -1
  182. package/models/seriesType/common.d.ts +0 -10
  183. package/models/seriesType/config.d.ts +1 -1
  184. package/models/seriesType/line.d.ts +1 -1
  185. package/models/seriesType/pie.d.ts +1 -1
  186. package/models/seriesType/scatter.d.ts +1 -6
  187. package/modern/BarChart/AnimatedBarElement.js +21 -0
  188. package/modern/BarChart/BarChart.js +9 -59
  189. package/modern/BarChart/BarElement.js +10 -20
  190. package/modern/BarChart/BarPlot.js +24 -6
  191. package/modern/BarChart/extremums.js +3 -3
  192. package/modern/BarChart/useBarChartProps.js +4 -11
  193. package/modern/ChartContainer/ChartContainer.js +15 -44
  194. package/modern/ChartContainer/ResizableContainer.js +60 -0
  195. package/modern/ChartContainer/useChartContainerProps.js +29 -59
  196. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  197. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  198. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  199. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  200. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  201. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  202. package/modern/ChartsAxisHighlight/index.js +4 -1
  203. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  204. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  205. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  206. package/modern/ChartsLegend/ChartsLegend.js +0 -3
  207. package/modern/ChartsLegend/DefaultChartsLegend.js +1 -12
  208. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  209. package/modern/ChartsSurface/ChartsSurface.js +35 -34
  210. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  211. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  212. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  213. package/modern/ChartsTooltip/ChartsTooltip.js +162 -107
  214. package/modern/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  215. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  216. package/modern/ChartsTooltip/index.js +2 -3
  217. package/modern/ChartsTooltip/useAxisTooltip.js +21 -21
  218. package/modern/ChartsTooltip/useItemTooltip.js +8 -7
  219. package/modern/ChartsTooltip/utils.js +45 -50
  220. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +50 -39
  221. package/modern/Gauge/Gauge.js +0 -6
  222. package/modern/Gauge/GaugeContainer.js +60 -61
  223. package/modern/LineChart/AnimatedArea.js +9 -18
  224. package/modern/LineChart/AnimatedLine.js +9 -20
  225. package/modern/LineChart/AreaPlot.js +14 -8
  226. package/modern/LineChart/CircleMarkElement.js +6 -5
  227. package/modern/LineChart/LineChart.js +9 -60
  228. package/modern/LineChart/LineHighlightPlot.js +8 -11
  229. package/modern/LineChart/LinePlot.js +14 -8
  230. package/modern/LineChart/MarkElement.js +6 -5
  231. package/modern/LineChart/MarkPlot.js +2 -6
  232. package/modern/LineChart/extremums.js +10 -6
  233. package/modern/LineChart/useLineChartProps.js +4 -11
  234. package/modern/PieChart/PieArc.js +1 -10
  235. package/modern/PieChart/PieArcPlot.js +0 -5
  236. package/modern/PieChart/PieChart.js +20 -137
  237. package/modern/PieChart/PiePlot.js +2 -2
  238. package/modern/ScatterChart/Scatter.js +6 -5
  239. package/modern/ScatterChart/ScatterChart.js +11 -60
  240. package/modern/ScatterChart/ScatterPlot.js +3 -6
  241. package/modern/ScatterChart/extremums.js +6 -6
  242. package/modern/ScatterChart/useScatterChartProps.js +3 -12
  243. package/modern/SparkLineChart/SparkLineChart.js +6 -33
  244. package/modern/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  245. package/modern/context/ChartDataProvider/index.js +1 -0
  246. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +66 -0
  247. package/{ChartContainer → modern/context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  248. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  249. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  250. package/{context/DrawingProvider.js → modern/context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  251. package/modern/context/DrawingAreaProvider/index.js +3 -0
  252. package/modern/context/HighlightedProvider/HighlightedProvider.js +1 -16
  253. package/modern/context/InteractionProvider.js +8 -64
  254. package/modern/context/InteractionSelectors.js +12 -0
  255. package/modern/context/SizeProvider/Size.types.js +1 -0
  256. package/modern/context/SizeProvider/SizeContext.js +13 -0
  257. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  258. package/modern/context/SizeProvider/index.js +4 -0
  259. package/{ResponsiveChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +15 -7
  260. package/modern/context/SizeProvider/useSize.js +13 -0
  261. package/modern/context/SvgRefProvider/SvgRef.types.js +1 -0
  262. package/modern/context/SvgRefProvider/SvgRefContext.js +17 -0
  263. package/modern/context/SvgRefProvider/SvgRefProvider.js +24 -0
  264. package/modern/context/SvgRefProvider/index.js +4 -0
  265. package/modern/context/SvgRefProvider/useSurfaceRef.js +14 -0
  266. package/modern/context/index.js +2 -1
  267. package/modern/hooks/useAxisEvents.js +32 -19
  268. package/modern/hooks/useChartId.js +2 -2
  269. package/modern/hooks/useDrawingArea.js +2 -2
  270. package/modern/hooks/useInteractionItemProps.js +19 -12
  271. package/modern/hooks/useSvgRef.js +3 -3
  272. package/modern/index.js +2 -3
  273. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  274. package/modern/internals/getSymbol.js +19 -3
  275. package/modern/internals/index.js +7 -6
  276. package/modern/internals/plugins/models/index.js +1 -0
  277. package/modern/internals/plugins/utils/ChartStore.js +26 -0
  278. package/modern/internals/plugins/utils/ChartsStore.js +26 -0
  279. package/modern/internals/plugins/utils/selectors.js +37 -0
  280. package/modern/internals/useCharts.js +29 -0
  281. package/modern/internals/useSelector.js +6 -0
  282. package/modern/internals/useStore.js +17 -0
  283. package/modern/internals/useStringInterpolator.js +1 -0
  284. package/node/BarChart/AnimatedBarElement.js +28 -0
  285. package/node/BarChart/BarChart.js +9 -59
  286. package/node/BarChart/BarElement.js +11 -21
  287. package/node/BarChart/BarPlot.js +22 -4
  288. package/node/BarChart/extremums.js +3 -3
  289. package/node/BarChart/useBarChartProps.js +4 -11
  290. package/node/ChartContainer/ChartContainer.js +14 -43
  291. package/node/ChartContainer/ResizableContainer.js +68 -0
  292. package/node/ChartContainer/useChartContainerProps.js +29 -60
  293. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  294. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  295. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  296. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  297. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  298. package/node/ChartsAxisHighlight/index.js +33 -0
  299. package/node/ChartsGrid/ChartsGrid.js +2 -2
  300. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  301. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  302. package/node/ChartsLegend/ChartsLegend.js +0 -3
  303. package/node/ChartsLegend/DefaultChartsLegend.js +1 -12
  304. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +11 -9
  305. package/node/ChartsSurface/ChartsSurface.js +35 -34
  306. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  307. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  308. package/node/ChartsTooltip/ChartsTooltip.js +161 -106
  309. package/node/ChartsTooltip/ChartsTooltipContainer.js +304 -0
  310. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  311. package/node/ChartsTooltip/index.js +19 -28
  312. package/node/ChartsTooltip/useAxisTooltip.js +21 -21
  313. package/node/ChartsTooltip/useItemTooltip.js +8 -7
  314. package/node/ChartsTooltip/utils.js +46 -53
  315. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +51 -40
  316. package/node/Gauge/Gauge.js +0 -6
  317. package/node/Gauge/GaugeContainer.js +60 -61
  318. package/node/LineChart/AnimatedArea.js +9 -19
  319. package/node/LineChart/AnimatedLine.js +9 -21
  320. package/node/LineChart/AreaPlot.js +13 -7
  321. package/node/LineChart/CircleMarkElement.js +6 -5
  322. package/node/LineChart/LineChart.js +9 -60
  323. package/node/LineChart/LineHighlightPlot.js +8 -11
  324. package/node/LineChart/LinePlot.js +13 -7
  325. package/node/LineChart/MarkElement.js +6 -5
  326. package/node/LineChart/MarkPlot.js +2 -6
  327. package/node/LineChart/extremums.js +10 -6
  328. package/node/LineChart/useLineChartProps.js +4 -11
  329. package/node/PieChart/PieArc.js +1 -10
  330. package/node/PieChart/PieArcPlot.js +0 -5
  331. package/node/PieChart/PieChart.js +20 -137
  332. package/node/PieChart/PiePlot.js +2 -2
  333. package/node/ScatterChart/Scatter.js +6 -5
  334. package/node/ScatterChart/ScatterChart.js +11 -60
  335. package/node/ScatterChart/ScatterPlot.js +3 -6
  336. package/node/ScatterChart/extremums.js +6 -6
  337. package/node/ScatterChart/useScatterChartProps.js +3 -12
  338. package/node/SparkLineChart/SparkLineChart.js +6 -33
  339. package/node/{ResponsiveChartContainer/ResponsiveChartContainer.js → context/ChartDataProvider/ChartDataProvider.js} +45 -39
  340. package/node/context/ChartDataProvider/index.js +16 -0
  341. package/node/context/ChartDataProvider/useChartDataProviderProps.js +72 -0
  342. package/node/{ChartContainer → context/ChartDataProvider}/useDefaultizeAxis.js +1 -1
  343. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  344. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +22 -0
  345. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  346. package/node/context/DrawingAreaProvider/index.js +38 -0
  347. package/node/context/HighlightedProvider/HighlightedProvider.js +1 -16
  348. package/node/context/InteractionProvider.js +9 -66
  349. package/node/context/InteractionSelectors.js +18 -0
  350. package/node/context/SizeProvider/Size.types.js +5 -0
  351. package/node/context/SizeProvider/SizeContext.js +20 -0
  352. package/node/context/SizeProvider/SizeProvider.js +29 -0
  353. package/node/context/SizeProvider/index.js +49 -0
  354. package/node/{ResponsiveChartContainer → context/SizeProvider}/useChartContainerDimensions.js +15 -7
  355. package/node/context/SizeProvider/useSize.js +20 -0
  356. package/node/context/SvgRefProvider/SvgRef.types.js +5 -0
  357. package/node/context/SvgRefProvider/SvgRefContext.js +23 -0
  358. package/node/context/SvgRefProvider/SvgRefProvider.js +31 -0
  359. package/node/context/SvgRefProvider/index.js +49 -0
  360. package/node/context/SvgRefProvider/useSurfaceRef.js +20 -0
  361. package/node/context/index.js +10 -2
  362. package/node/hooks/useAxisEvents.js +33 -19
  363. package/node/hooks/useChartId.js +2 -2
  364. package/node/hooks/useDrawingArea.js +2 -2
  365. package/node/hooks/useInteractionItemProps.js +20 -13
  366. package/node/hooks/useSvgRef.js +3 -3
  367. package/node/index.js +5 -16
  368. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  369. package/node/internals/getSymbol.js +19 -3
  370. package/node/internals/index.js +64 -44
  371. package/node/internals/plugins/models/index.js +5 -0
  372. package/node/internals/plugins/utils/ChartStore.js +33 -0
  373. package/node/internals/plugins/utils/ChartsStore.js +33 -0
  374. package/node/internals/plugins/utils/selectors.js +44 -0
  375. package/node/internals/useCharts.js +36 -0
  376. package/node/internals/useSelector.js +13 -0
  377. package/node/internals/useStore.js +24 -0
  378. package/node/internals/useStringInterpolator.js +2 -0
  379. package/package.json +8 -6
  380. package/themeAugmentation/props.d.ts +1 -2
  381. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  382. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  383. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  384. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  385. package/ResponsiveChartContainer/ResizableContainer.d.ts +0 -9
  386. package/ResponsiveChartContainer/ResizableContainer.js +0 -26
  387. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -24
  388. package/ResponsiveChartContainer/index.d.ts +0 -1
  389. package/ResponsiveChartContainer/index.js +0 -1
  390. package/ResponsiveChartContainer/package.json +0 -6
  391. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +0 -6
  392. package/ResponsiveChartContainer/useResponsiveChartContainerProps.d.ts +0 -19
  393. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  394. package/internals/SlotComponentPropsFromProps.d.ts +0 -1
  395. package/models/helpers.d.ts +0 -3
  396. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  397. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  398. package/modern/ResponsiveChartContainer/ResizableContainer.js +0 -26
  399. package/modern/ResponsiveChartContainer/index.js +0 -1
  400. package/modern/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -70
  401. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  402. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  403. package/node/ResponsiveChartContainer/ResizableContainer.js +0 -32
  404. package/node/ResponsiveChartContainer/index.js +0 -16
  405. package/node/ResponsiveChartContainer/useResponsiveChartContainerProps.js +0 -77
  406. /package/{internals/SlotComponentPropsFromProps.js → ChartsAxisHighlight/ChartsAxisHighlight.types.js} +0 -0
  407. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  408. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  409. /package/{models/helpers.js → ChartsTooltip/ChartTooltip.types.js} +0 -0
  410. /package/{modern/internals/SlotComponentPropsFromProps.js → context/DrawingAreaProvider/DrawingArea.types.js} +0 -0
  411. /package/{modern/models/helpers.js → context/SizeProvider/Size.types.js} +0 -0
  412. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  413. /package/node/{internals/SlotComponentPropsFromProps.js → ChartsAxisHighlight/ChartsAxisHighlight.types.js} +0 -0
  414. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  415. /package/node/{models/helpers.js → ChartsTooltip/ChartTooltip.types.js} +0 -0
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.ChartsVoronoiHandler = ChartsVoronoiHandler;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
11
  var React = _interopRequireWildcard(require("react"));
11
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
13
  var _d3Delaunay = require("@mui/x-charts-vendor/d3-delaunay");
13
14
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
14
- var _InteractionProvider = require("../context/InteractionProvider");
15
15
  var _CartesianProvider = require("../context/CartesianProvider");
16
16
  var _useScale = require("../hooks/useScale");
17
+ var _useStore = require("../internals/useStore");
17
18
  var _getSVGPoint = require("../internals/getSVGPoint");
18
19
  var _hooks = require("../hooks");
19
20
  var _context = require("../context");
@@ -32,9 +33,7 @@ function ChartsVoronoiHandler(props) {
32
33
  xAxisIds,
33
34
  yAxisIds
34
35
  } = (0, _CartesianProvider.useCartesianContext)();
35
- const {
36
- dispatch
37
- } = React.useContext(_InteractionProvider.InteractionContext);
36
+ const store = (0, _useStore.useStore)();
38
37
  const {
39
38
  series,
40
39
  seriesOrder
@@ -49,17 +48,19 @@ function ChartsVoronoiHandler(props) {
49
48
  const defaultXAxisId = xAxisIds[0];
50
49
  const defaultYAxisId = yAxisIds[0];
51
50
  (0, _useEnhancedEffect.default)(() => {
52
- dispatch({
53
- type: 'updateVoronoiUsage',
54
- useVoronoiInteraction: true
55
- });
51
+ store.update(prev => (0, _extends2.default)({}, prev, {
52
+ interaction: (0, _extends2.default)({}, prev.interaction, {
53
+ useVoronoiInteraction: true
54
+ })
55
+ }));
56
56
  return () => {
57
- dispatch({
58
- type: 'updateVoronoiUsage',
59
- useVoronoiInteraction: false
60
- });
57
+ store.update(prev => (0, _extends2.default)({}, prev, {
58
+ interaction: (0, _extends2.default)({}, prev.interaction, {
59
+ useVoronoiInteraction: false
60
+ })
61
+ }));
61
62
  };
62
- }, [dispatch]);
63
+ }, [store]);
63
64
  (0, _useEnhancedEffect.default)(() => {
64
65
  // This effect generate and store the Delaunay object that's used to map coordinate to closest point.
65
66
 
@@ -73,12 +74,10 @@ function ChartsVoronoiHandler(props) {
73
74
  const {
74
75
  data,
75
76
  xAxisId,
76
- yAxisId,
77
- xAxisKey,
78
- yAxisKey
77
+ yAxisId
79
78
  } = series[seriesId];
80
- const xScale = xAxis[xAxisId ?? xAxisKey ?? defaultXAxisId].scale;
81
- const yScale = yAxis[yAxisId ?? yAxisKey ?? defaultYAxisId].scale;
79
+ const xScale = xAxis[xAxisId ?? defaultXAxisId].scale;
80
+ const yScale = yAxis[yAxisId ?? defaultYAxisId].scale;
82
81
  const getXPosition = (0, _useScale.getValueToPositionMapper)(xScale);
83
82
  const getYPosition = (0, _useScale.getValueToPositionMapper)(yScale);
84
83
  const seriesPoints = data.flatMap(({
@@ -150,27 +149,38 @@ function ChartsVoronoiHandler(props) {
150
149
  };
151
150
  }
152
151
  const handleMouseLeave = () => {
153
- dispatch({
154
- type: 'exitChart'
155
- });
152
+ store.update(prev => (0, _extends2.default)({}, prev, {
153
+ interaction: (0, _extends2.default)({}, prev.interaction, {
154
+ axis: {
155
+ x: null,
156
+ y: null
157
+ },
158
+ item: null
159
+ })
160
+ }));
156
161
  clearHighlighted();
157
162
  };
158
163
  const handleMouseMove = event => {
159
164
  const closestPoint = getClosestPoint(event);
160
165
  if (closestPoint === 'outside-chart') {
161
- dispatch({
162
- type: 'exitChart'
163
- });
166
+ store.update(prev => (0, _extends2.default)({}, prev, {
167
+ interaction: (0, _extends2.default)({}, prev.interaction, {
168
+ axis: {
169
+ x: null,
170
+ y: null
171
+ },
172
+ item: null
173
+ })
174
+ }));
164
175
  clearHighlighted();
165
176
  return;
166
177
  }
167
178
  if (closestPoint === 'outside-voronoi-max-radius' || closestPoint === 'no-point-found') {
168
- dispatch({
169
- type: 'leaveItem',
170
- data: {
171
- type: 'scatter'
172
- }
173
- });
179
+ store.update(prev => (0, _extends2.default)({}, prev, {
180
+ interaction: (0, _extends2.default)({}, prev.interaction, {
181
+ item: null
182
+ })
183
+ }));
174
184
  clearHighlighted();
175
185
  return;
176
186
  }
@@ -178,14 +188,15 @@ function ChartsVoronoiHandler(props) {
178
188
  seriesId,
179
189
  dataIndex
180
190
  } = closestPoint;
181
- dispatch({
182
- type: 'enterItem',
183
- data: {
184
- type: 'scatter',
185
- seriesId,
186
- dataIndex
187
- }
188
- });
191
+ store.update(prev => (0, _extends2.default)({}, prev, {
192
+ interaction: (0, _extends2.default)({}, prev.interaction, {
193
+ item: {
194
+ type: 'scatter',
195
+ seriesId,
196
+ dataIndex
197
+ }
198
+ })
199
+ }));
189
200
  setHighlighted({
190
201
  seriesId,
191
202
  dataIndex
@@ -218,7 +229,7 @@ function ChartsVoronoiHandler(props) {
218
229
  element.removeEventListener('pointermove', handleMouseMove);
219
230
  element.removeEventListener('click', handleMouseClick);
220
231
  };
221
- }, [svgRef, dispatch, yAxis, xAxis, voronoiMaxRadius, onItemClick, setHighlighted, clearHighlighted, drawingArea]);
232
+ }, [svgRef, yAxis, xAxis, voronoiMaxRadius, onItemClick, setHighlighted, clearHighlighted, drawingArea, store]);
222
233
 
223
234
  // eslint-disable-next-line react/jsx-no-useless-fragment
224
235
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {});
@@ -144,12 +144,6 @@ process.env.NODE_ENV !== "production" ? Gauge.propTypes = {
144
144
  * @default 0
145
145
  */
146
146
  valueMin: _propTypes.default.number,
147
- viewBox: _propTypes.default.shape({
148
- height: _propTypes.default.number,
149
- width: _propTypes.default.number,
150
- x: _propTypes.default.number,
151
- y: _propTypes.default.number
152
- }),
153
147
  /**
154
148
  * The width of the chart in px. If not defined, it takes the width of the parent element.
155
149
  */
@@ -7,19 +7,19 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.GaugeContainer = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _styles = require("@mui/material/styles");
15
- var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
16
- var _useChartContainerDimensions = require("../ResponsiveChartContainer/useChartContainerDimensions");
17
15
  var _ChartsSurface = require("../ChartsSurface");
18
- var _DrawingProvider = require("../context/DrawingProvider");
16
+ var _DrawingAreaProvider = require("../context/DrawingAreaProvider");
19
17
  var _GaugeProvider = require("./GaugeProvider");
18
+ var _SizeProvider = require("../context/SizeProvider");
19
+ var _SvgRefProvider = require("../context/SvgRefProvider");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  const _excluded = ["width", "height", "margin", "title", "desc", "value", "valueMin", "valueMax", "startAngle", "endAngle", "outerRadius", "innerRadius", "cornerRadius", "cx", "cy", "children"];
22
- const ResizableContainer = (0, _styles.styled)('div', {
22
+ const ResizableContainerRoot = (0, _styles.styled)('div', {
23
23
  name: 'MuiGauge',
24
24
  slot: 'Container'
25
25
  })(({
@@ -43,6 +43,22 @@ const ResizableContainer = (0, _styles.styled)('div', {
43
43
  fill: (theme.vars || theme).palette.text.primary
44
44
  }
45
45
  }));
46
+ function ResizableContainer(props) {
47
+ const {
48
+ inHeight,
49
+ inWidth,
50
+ hasIntrinsicSize,
51
+ containerRef
52
+ } = (0, _SizeProvider.useSize)();
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResizableContainerRoot, (0, _extends2.default)({}, props, {
54
+ ownerState: {
55
+ width: inWidth,
56
+ height: inHeight
57
+ },
58
+ ref: containerRef,
59
+ children: hasIntrinsicSize && props.children
60
+ }));
61
+ }
46
62
  const GaugeContainer = exports.GaugeContainer = /*#__PURE__*/React.forwardRef(function GaugeContainer(props, ref) {
47
63
  const {
48
64
  width: inWidth,
@@ -63,58 +79,47 @@ const GaugeContainer = exports.GaugeContainer = /*#__PURE__*/React.forwardRef(fu
63
79
  children
64
80
  } = props,
65
81
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
66
- const {
67
- containerRef,
68
- width,
69
- height
70
- } = (0, _useChartContainerDimensions.useChartContainerDimensions)(inWidth, inHeight);
71
- const svgRef = React.useRef(null);
72
- const chartSurfaceRef = (0, _useForkRef.default)(ref, svgRef);
73
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResizableContainer, (0, _extends2.default)({
74
- ref: containerRef,
75
- ownerState: {
76
- width: inWidth,
77
- height: inHeight
78
- },
79
- role: "meter",
80
- "aria-valuenow": value === null ? undefined : value,
81
- "aria-valuemin": valueMin,
82
- "aria-valuemax": valueMax
83
- }, other, {
84
- children: width && height ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingProvider.DrawingProvider, {
85
- width: width,
86
- height: height,
87
- margin: (0, _extends2.default)({
88
- left: 10,
89
- right: 10,
90
- top: 10,
91
- bottom: 10
92
- }, margin),
93
- svgRef: svgRef,
94
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GaugeProvider.GaugeProvider, {
95
- value: value,
96
- valueMin: valueMin,
97
- valueMax: valueMax,
98
- startAngle: startAngle,
99
- endAngle: endAngle,
100
- outerRadius: outerRadius,
101
- innerRadius: innerRadius,
102
- cornerRadius: cornerRadius,
103
- cx: cx,
104
- cy: cy,
105
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, {
106
- width: width,
107
- height: height,
108
- ref: chartSurfaceRef,
109
- title: title,
110
- desc: desc,
111
- disableAxisListener: true,
112
- "aria-hidden": "true",
113
- children: children
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SizeProvider.SizeProvider, {
83
+ width: inWidth,
84
+ height: inHeight,
85
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgRefProvider.SvgRefProvider, {
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingAreaProvider.DrawingAreaProvider, {
87
+ margin: (0, _extends2.default)({
88
+ left: 10,
89
+ right: 10,
90
+ top: 10,
91
+ bottom: 10
92
+ }, margin),
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GaugeProvider.GaugeProvider, {
94
+ value: value,
95
+ valueMin: valueMin,
96
+ valueMax: valueMax,
97
+ startAngle: startAngle,
98
+ endAngle: endAngle,
99
+ outerRadius: outerRadius,
100
+ innerRadius: innerRadius,
101
+ cornerRadius: cornerRadius,
102
+ cx: cx,
103
+ cy: cy,
104
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ResizableContainer, (0, _extends2.default)({
105
+ role: "meter",
106
+ "aria-valuenow": value === null ? undefined : value,
107
+ "aria-valuemin": valueMin,
108
+ "aria-valuemax": valueMax
109
+ }, other, {
110
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, {
111
+ title: title,
112
+ desc: desc,
113
+ disableAxisListener: true,
114
+ "aria-hidden": "true",
115
+ ref: ref,
116
+ children: children
117
+ })
118
+ }))
114
119
  })
115
120
  })
116
- }) : null
117
- }));
121
+ })
122
+ });
118
123
  });
119
124
  process.env.NODE_ENV !== "production" ? GaugeContainer.propTypes = {
120
125
  // ----------------------------- Warning --------------------------------
@@ -205,12 +210,6 @@ process.env.NODE_ENV !== "production" ? GaugeContainer.propTypes = {
205
210
  * @default 0
206
211
  */
207
212
  valueMin: _propTypes.default.number,
208
- viewBox: _propTypes.default.shape({
209
- height: _propTypes.default.number,
210
- width: _propTypes.default.number,
211
- x: _propTypes.default.number,
212
- y: _propTypes.default.number
213
- }),
214
213
  /**
215
214
  * The width of the chart in px. If not defined, it takes the width of the parent element.
216
215
  */
@@ -7,30 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.AnimatedArea = AnimatedArea;
10
- exports.AreaElementPath = void 0;
11
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
12
  var React = _interopRequireWildcard(require("react"));
14
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
- var _styles = require("@mui/material/styles");
16
14
  var _web = require("@react-spring/web");
17
- var _d3Color = require("@mui/x-charts-vendor/d3-color");
18
15
  var _useStringInterpolator = require("../internals/useStringInterpolator");
19
16
  var _AppearingMask = require("./AppearingMask");
20
17
  var _jsxRuntime = require("react/jsx-runtime");
21
18
  const _excluded = ["d", "skipAnimation", "ownerState"];
22
- const AreaElementPath = exports.AreaElementPath = (0, _styles.styled)(_web.animated.path, {
23
- name: 'MuiAreaElement',
24
- slot: 'Root',
25
- overridesResolver: (_, styles) => styles.root
26
- })(({
27
- ownerState
28
- }) => ({
29
- stroke: 'none',
30
- fill: ownerState.gradientId && `url(#${ownerState.gradientId})` || ownerState.isHighlighted && (0, _d3Color.color)(ownerState.color).brighter(1).formatHex() || (0, _d3Color.color)(ownerState.color).brighter(0.5).formatHex(),
31
- transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
32
- opacity: ownerState.isFaded ? 0.3 : 1
33
- }));
34
19
  /**
35
20
  * Demos:
36
21
  *
@@ -65,10 +50,15 @@ function AnimatedArea(props) {
65
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AppearingMask.AppearingMask, {
66
51
  skipAnimation: skipAnimation,
67
52
  id: `${ownerState.id}-area-clip`,
68
- children: transitionChange((style, interpolator) => /*#__PURE__*/(0, _jsxRuntime.jsx)(AreaElementPath, (0, _extends2.default)({}, other, {
69
- ownerState: ownerState,
70
- d: style.value.to(interpolator)
71
- })))
53
+ children: transitionChange((style, interpolator) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.path, (0, _extends2.default)({
54
+ d: style.value.to(interpolator),
55
+ fill: ownerState.gradientId ? `url(#${ownerState.gradientId})` : ownerState.color,
56
+ filter:
57
+ // eslint-disable-next-line no-nested-ternary
58
+ ownerState.isHighlighted ? 'brightness(140%)' : ownerState.gradientId ? undefined : 'brightness(120%)',
59
+ opacity: ownerState.isFaded ? 0.3 : 1,
60
+ stroke: "none"
61
+ }, other)))
72
62
  });
73
63
  }
74
64
  process.env.NODE_ENV !== "production" ? AnimatedArea.propTypes = {
@@ -7,32 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.AnimatedLine = AnimatedLine;
10
- exports.LineElementPath = void 0;
11
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
12
  var React = _interopRequireWildcard(require("react"));
14
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
14
  var _web = require("@react-spring/web");
16
- var _d3Color = require("@mui/x-charts-vendor/d3-color");
17
- var _styles = require("@mui/material/styles");
18
15
  var _useStringInterpolator = require("../internals/useStringInterpolator");
19
16
  var _AppearingMask = require("./AppearingMask");
20
17
  var _jsxRuntime = require("react/jsx-runtime");
21
18
  const _excluded = ["d", "skipAnimation", "ownerState"];
22
- const LineElementPath = exports.LineElementPath = (0, _styles.styled)(_web.animated.path, {
23
- name: 'MuiLineElement',
24
- slot: 'Root',
25
- overridesResolver: (_, styles) => styles.root
26
- })(({
27
- ownerState
28
- }) => ({
29
- strokeWidth: 2,
30
- strokeLinejoin: 'round',
31
- fill: 'none',
32
- stroke: ownerState.gradientId && `url(#${ownerState.gradientId})` || ownerState.isHighlighted && (0, _d3Color.color)(ownerState.color).brighter(0.5).formatHex() || ownerState.color,
33
- transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
34
- opacity: ownerState.isFaded ? 0.3 : 1
35
- }));
36
19
  /**
37
20
  * Demos:
38
21
  *
@@ -67,10 +50,15 @@ function AnimatedLine(props) {
67
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AppearingMask.AppearingMask, {
68
51
  skipAnimation: skipAnimation,
69
52
  id: `${ownerState.id}-line-clip`,
70
- children: transitionChange((style, interpolator) => /*#__PURE__*/(0, _jsxRuntime.jsx)(LineElementPath, (0, _extends2.default)({}, other, {
71
- ownerState: ownerState,
72
- d: style.value.to(interpolator)
73
- })))
53
+ children: transitionChange((style, interpolator) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.path, (0, _extends2.default)({
54
+ d: style.value.to(interpolator),
55
+ stroke: ownerState.gradientId ? `url(#${ownerState.gradientId})` : ownerState.color,
56
+ strokeWidth: 2,
57
+ strokeLinejoin: "round",
58
+ fill: "none",
59
+ filter: ownerState.isHighlighted ? 'brightness(120%)' : undefined,
60
+ opacity: ownerState.isFaded ? 0.3 : 1
61
+ }, other)))
74
62
  });
75
63
  }
76
64
  process.env.NODE_ENV !== "production" ? AnimatedLine.propTypes = {
@@ -11,6 +11,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _styles = require("@mui/material/styles");
14
15
  var _d3Shape = require("@mui/x-charts-vendor/d3-shape");
15
16
  var _CartesianProvider = require("../context/CartesianProvider");
16
17
  var _AreaElement = require("./AreaElement");
@@ -22,6 +23,15 @@ var _useSeries = require("../hooks/useSeries");
22
23
  var _AnimationProvider = require("../context/AnimationProvider");
23
24
  var _jsxRuntime = require("react/jsx-runtime");
24
25
  const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
26
+ const AreaPlotRoot = (0, _styles.styled)('g', {
27
+ name: 'MuiAreaPlot',
28
+ slot: 'Root',
29
+ overridesResolver: (_, styles) => styles.root
30
+ })({
31
+ [`& .${_AreaElement.areaElementClasses.root}`]: {
32
+ transition: 'opacity 0.2s ease-in, fill 0.2s ease-in'
33
+ }
34
+ });
25
35
  const useAggregatedData = () => {
26
36
  const seriesData = (0, _useSeries.useLineSeries)();
27
37
  const axisData = (0, _CartesianProvider.useCartesianContext)();
@@ -49,17 +59,13 @@ const useAggregatedData = () => {
49
59
  return [...groupIds].reverse() // Revert stacked area for a more pleasant animation
50
60
  .map(seriesId => {
51
61
  const {
52
- xAxisId: xAxisIdProp,
53
- yAxisId: yAxisIdProp,
54
- xAxisKey = defaultXAxisId,
55
- yAxisKey = defaultYAxisId,
62
+ xAxisId = defaultXAxisId,
63
+ yAxisId = defaultYAxisId,
56
64
  stackedData,
57
65
  data,
58
66
  connectNulls,
59
67
  baseline
60
68
  } = series[seriesId];
61
- const xAxisId = xAxisIdProp ?? xAxisKey;
62
- const yAxisId = yAxisIdProp ?? yAxisKey;
63
69
  const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
64
70
  const yScale = yAxis[yAxisId].scale;
65
71
  const xData = xAxis[xAxisId].data;
@@ -128,7 +134,7 @@ function AreaPlot(props) {
128
134
  const skipAnimation = (0, _AnimationProvider.useSkipAnimation)(inSkipAnimation);
129
135
  const getGradientId = (0, _ChartsAxesGradients.useChartGradient)();
130
136
  const completedData = useAggregatedData();
131
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
137
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AreaPlotRoot, (0, _extends2.default)({}, other, {
132
138
  children: completedData.map(({
133
139
  d,
134
140
  seriesId,
@@ -14,10 +14,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _warning = require("@mui/x-internals/warning");
16
16
  var _web = require("@react-spring/web");
17
- var _InteractionProvider = require("../context/InteractionProvider");
18
17
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
19
18
  var _context = require("../context");
20
19
  var _markElementClasses = require("./markElementClasses");
20
+ var _useSelector = require("../internals/useSelector");
21
+ var _InteractionSelectors = require("../context/InteractionSelectors");
22
+ var _useStore = require("../internals/useStore");
21
23
  var _jsxRuntime = require("react/jsx-runtime");
22
24
  const _excluded = ["x", "y", "id", "classes", "color", "dataIndex", "onClick", "skipAnimation", "shape"];
23
25
  /**
@@ -56,9 +58,8 @@ function CircleMarkElement(props) {
56
58
  } = (0, _context.useItemHighlighted)({
57
59
  seriesId: id
58
60
  });
59
- const {
60
- axis
61
- } = React.useContext(_InteractionProvider.InteractionContext);
61
+ const store = (0, _useStore.useStore)();
62
+ const xAxisIdentifier = (0, _useSelector.useSelector)(store, _InteractionSelectors.selectorChartsInteractionXAxis);
62
63
  const position = (0, _web.useSpring)({
63
64
  to: {
64
65
  x,
@@ -69,7 +70,7 @@ function CircleMarkElement(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
  };
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _styles = require("@mui/material/styles");
14
14
  var _AreaPlot = require("./AreaPlot");
15
15
  var _LinePlot = require("./LinePlot");
16
- var _ResponsiveChartContainer = require("../ResponsiveChartContainer");
16
+ var _ChartContainer = require("../ChartContainer");
17
17
  var _MarkPlot = require("./MarkPlot");
18
18
  var _ChartsAxis = require("../ChartsAxis/ChartsAxis");
19
19
  var _ChartsTooltip = require("../ChartsTooltip");
@@ -55,10 +55,10 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
55
55
  axisHighlightProps,
56
56
  lineHighlightPlotProps,
57
57
  legendProps,
58
- tooltipProps,
59
58
  children
60
59
  } = (0, _useLineChartProps.useLineChartProps)(props);
61
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, (0, _extends2.default)({
60
+ const Tooltip = props.slots?.tooltip ?? _ChartsTooltip.ChartsTooltip;
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartContainer.ChartContainer, (0, _extends2.default)({
62
62
  ref: ref
63
63
  }, chartContainerProps, {
64
64
  children: [props.onAxisClick && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOnAxisClickHandler.ChartsOnAxisClickHandler, (0, _extends2.default)({}, axisClickHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)("g", (0, _extends2.default)({}, clipPathGroupProps, {
@@ -66,7 +66,7 @@ const LineChart = exports.LineChart = /*#__PURE__*/React.forwardRef(function Lin
66
66
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
67
67
  "data-drawing-container": true,
68
68
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, (0, _extends2.default)({}, markPlotProps))
69
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltipProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineHighlightPlot.LineHighlightPlot, (0, _extends2.default)({}, lineHighlightPlotProps)), !props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({}, props.slotProps?.tooltip)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, (0, _extends2.default)({}, clipPathProps)), children]
70
70
  }));
71
71
  });
72
72
  process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
@@ -76,7 +76,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
76
76
  // ----------------------------------------------------------------------
77
77
  /**
78
78
  * The configuration of axes highlight.
79
- * @see See {@link https://mui.com/x/react-charts/highlighting highlighting docs} for more details.
79
+ * @see See {@link https://mui.com/x/react-charts/highlighting/ highlighting docs} for more details.
80
80
  * @default { x: 'line' }
81
81
  */
82
82
  axisHighlight: _propTypes.default.shape({
@@ -126,6 +126,10 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
126
126
  * The height of the chart in px. If not defined, it takes the height of the parent element.
127
127
  */
128
128
  height: _propTypes.default.number,
129
+ /**
130
+ * If `true`, the legend is not rendered.
131
+ */
132
+ hideLegend: _propTypes.default.bool,
129
133
  /**
130
134
  * The item currently highlighted. Turns highlighting into a controlled prop.
131
135
  */
@@ -139,32 +143,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
139
143
  * @default yAxisIds[0] The id of the first provided axis
140
144
  */
141
145
  leftAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
142
- /**
143
- * @deprecated Consider using `slotProps.legend` instead.
144
- */
145
- legend: _propTypes.default.shape({
146
- classes: _propTypes.default.object,
147
- direction: _propTypes.default.oneOf(['column', 'row']),
148
- hidden: _propTypes.default.bool,
149
- itemGap: _propTypes.default.number,
150
- itemMarkHeight: _propTypes.default.number,
151
- itemMarkWidth: _propTypes.default.number,
152
- labelStyle: _propTypes.default.object,
153
- markGap: _propTypes.default.number,
154
- onItemClick: _propTypes.default.func,
155
- padding: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
156
- bottom: _propTypes.default.number,
157
- left: _propTypes.default.number,
158
- right: _propTypes.default.number,
159
- top: _propTypes.default.number
160
- })]),
161
- position: _propTypes.default.shape({
162
- horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
163
- vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
164
- }),
165
- slotProps: _propTypes.default.object,
166
- slots: _propTypes.default.object
167
- }),
168
146
  /**
169
147
  * If `true`, a loading overlay is displayed.
170
148
  * @default false
@@ -207,16 +185,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
207
185
  * Callback fired when a mark element is clicked.
208
186
  */
209
187
  onMarkClick: _propTypes.default.func,
210
- /**
211
- * The chart will try to wait for the parent container to resolve its size
212
- * before it renders for the first time.
213
- *
214
- * This can be useful in some scenarios where the chart appear to grow after
215
- * the first render, like when used inside a grid.
216
- *
217
- * @default false
218
- */
219
- resolveSizeBeforeRender: _propTypes.default.bool,
220
188
  /**
221
189
  * Indicate which axis to display the right of the charts.
222
190
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -245,31 +213,12 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
245
213
  slots: _propTypes.default.object,
246
214
  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]),
247
215
  title: _propTypes.default.string,
248
- /**
249
- * The configuration of the tooltip.
250
- * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
251
- * @default { trigger: 'item' }
252
- */
253
- tooltip: _propTypes.default.shape({
254
- axisContent: _propTypes.default.elementType,
255
- classes: _propTypes.default.object,
256
- itemContent: _propTypes.default.elementType,
257
- slotProps: _propTypes.default.object,
258
- slots: _propTypes.default.object,
259
- trigger: _propTypes.default.oneOf(['axis', 'item', 'none'])
260
- }),
261
216
  /**
262
217
  * Indicate which axis to display the top of the charts.
263
218
  * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
264
219
  * @default null
265
220
  */
266
221
  topAxis: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
267
- viewBox: _propTypes.default.shape({
268
- height: _propTypes.default.number,
269
- width: _propTypes.default.number,
270
- x: _propTypes.default.number,
271
- y: _propTypes.default.number
272
- }),
273
222
  /**
274
223
  * The width of the chart in px. If not defined, it takes the width of the parent element.
275
224
  */