@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
@@ -6,48 +6,23 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.DrawingContext = void 0;
10
- exports.DrawingProvider = DrawingProvider;
11
- exports.SvgContext = void 0;
9
+ exports.DrawingAreaProvider = DrawingAreaProvider;
12
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
11
  var React = _interopRequireWildcard(require("react"));
14
12
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
15
- var _useChartDimensions = _interopRequireDefault(require("../hooks/useChartDimensions"));
13
+ var _useChartDimensions = _interopRequireDefault(require("../../hooks/useChartDimensions"));
14
+ var _DrawingAreaContext = require("./DrawingAreaContext");
15
+ var _SizeProvider = require("../SizeProvider");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
- /**
18
- * Defines the area in which it is possible to draw the charts.
19
- */
20
-
21
- const DrawingContext = exports.DrawingContext = /*#__PURE__*/React.createContext({
22
- top: 0,
23
- left: 0,
24
- bottom: 0,
25
- right: 0,
26
- height: 300,
27
- width: 400,
28
- chartId: '',
29
- isPointInside: () => false
30
- });
31
- if (process.env.NODE_ENV !== 'production') {
32
- DrawingContext.displayName = 'DrawingContext';
33
- }
34
- const SvgContext = exports.SvgContext = /*#__PURE__*/React.createContext({
35
- isInitialized: false,
36
- data: {
37
- current: null
38
- }
39
- });
40
- if (process.env.NODE_ENV !== 'production') {
41
- SvgContext.displayName = 'SvgContext';
42
- }
43
- function DrawingProvider(props) {
17
+ function DrawingAreaProvider(props) {
44
18
  const {
45
- width,
46
- height,
47
19
  margin,
48
- svgRef,
49
20
  children
50
21
  } = props;
22
+ const {
23
+ width,
24
+ height
25
+ } = (0, _SizeProvider.useSize)();
51
26
  const drawingArea = (0, _useChartDimensions.default)(width, height, margin);
52
27
  const chartId = (0, _useId.default)();
53
28
  const isPointInside = React.useCallback(({
@@ -73,15 +48,8 @@ function DrawingProvider(props) {
73
48
  }, drawingArea, {
74
49
  isPointInside
75
50
  }), [chartId, drawingArea, isPointInside]);
76
- const refValue = React.useMemo(() => ({
77
- isInitialized: true,
78
- data: svgRef
79
- }), [svgRef]);
80
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(SvgContext.Provider, {
81
- value: refValue,
82
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DrawingContext.Provider, {
83
- value: value,
84
- children: children
85
- })
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingAreaContext.DrawingAreaContext.Provider, {
52
+ value: value,
53
+ children: children
86
54
  });
87
55
  }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _DrawingArea = require("./DrawingArea.types");
7
+ Object.keys(_DrawingArea).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _DrawingArea[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _DrawingArea[key];
14
+ }
15
+ });
16
+ });
17
+ var _DrawingAreaProvider = require("./DrawingAreaProvider");
18
+ Object.keys(_DrawingAreaProvider).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _DrawingAreaProvider[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _DrawingAreaProvider[key];
25
+ }
26
+ });
27
+ });
28
+ var _DrawingAreaContext = require("./DrawingAreaContext");
29
+ Object.keys(_DrawingAreaContext).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _DrawingAreaContext[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _DrawingAreaContext[key];
36
+ }
37
+ });
38
+ });
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.HighlightedProvider = HighlightedProvider;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
10
  var React = _interopRequireWildcard(require("react"));
13
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
12
  var _useControlled = _interopRequireDefault(require("@mui/utils/useControlled"));
@@ -17,19 +15,6 @@ var _createIsFaded = require("./createIsFaded");
17
15
  var _createIsHighlighted = require("./createIsHighlighted");
18
16
  var _useSeries = require("../../hooks/useSeries");
19
17
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["highlighted", "faded"];
21
- const mergeDeprecatedOptions = options => {
22
- const _ref = options ?? {},
23
- {
24
- highlighted,
25
- faded
26
- } = _ref,
27
- other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
28
- return (0, _extends2.default)({
29
- highlight: highlighted,
30
- fade: faded
31
- }, other);
32
- };
33
18
  function HighlightedProvider({
34
19
  children,
35
20
  highlightedItem: highlightedItemProps,
@@ -48,7 +33,7 @@ function HighlightedProvider({
48
33
  const seriesData = series[seriesType];
49
34
  Object.keys(seriesData?.series ?? {}).forEach(seriesId => {
50
35
  const seriesItem = seriesData?.series[seriesId];
51
- map.set(seriesId, mergeDeprecatedOptions(seriesItem?.highlightScope));
36
+ map.set(seriesId, seriesItem?.highlightScope);
52
37
  });
53
38
  });
54
39
  return map;
@@ -2,84 +2,27 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
- exports.InteractionContext = void 0;
8
+ exports.ChartsContext = void 0;
10
9
  exports.InteractionProvider = InteractionProvider;
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
10
  var React = _interopRequireWildcard(require("react"));
11
+ var _useCharts = require("../internals/useCharts");
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
- const InteractionContext = exports.InteractionContext = /*#__PURE__*/React.createContext({
15
- item: null,
16
- axis: {
17
- x: null,
18
- y: null
19
- },
20
- useVoronoiInteraction: false,
21
- dispatch: () => null
22
- });
13
+ const ChartsContext = exports.ChartsContext = /*#__PURE__*/React.createContext(null);
23
14
  if (process.env.NODE_ENV !== 'production') {
24
- InteractionContext.displayName = 'InteractionContext';
15
+ ChartsContext.displayName = 'ChartsContext';
25
16
  }
26
- const dataReducer = (prevState, action) => {
27
- switch (action.type) {
28
- case 'enterItem':
29
- return (0, _extends2.default)({}, prevState, {
30
- item: action.data
31
- });
32
- case 'exitChart':
33
- if (prevState.item === null && prevState.axis.x === null && prevState.axis.y === null) {
34
- return prevState;
35
- }
36
- return (0, _extends2.default)({}, prevState, {
37
- axis: {
38
- x: null,
39
- y: null
40
- },
41
- item: null
42
- });
43
- case 'updateVoronoiUsage':
44
- return (0, _extends2.default)({}, prevState, {
45
- useVoronoiInteraction: action.useVoronoiInteraction
46
- });
47
- case 'leaveItem':
48
- if (prevState.item === null || Object.keys(action.data).some(key => action.data[key] !== prevState.item[key])) {
49
- // The item is already something else
50
- return prevState;
51
- }
52
- return (0, _extends2.default)({}, prevState, {
53
- item: null
54
- });
55
- case 'updateAxis':
56
- if (action.data.x === prevState.axis.x && action.data.y === prevState.axis.y) {
57
- return prevState;
58
- }
59
- return (0, _extends2.default)({}, prevState, {
60
- axis: action.data
61
- });
62
- default:
63
- return prevState;
64
- }
65
- };
66
17
  function InteractionProvider(props) {
67
18
  const {
68
19
  children
69
20
  } = props;
70
- const [data, dispatch] = React.useReducer(dataReducer, {
71
- item: null,
72
- axis: {
73
- x: null,
74
- y: null
75
- },
76
- useVoronoiInteraction: false
77
- });
78
- const value = React.useMemo(() => (0, _extends2.default)({}, data, {
79
- dispatch
80
- }), [data]);
81
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(InteractionContext.Provider, {
82
- value: value,
21
+ const {
22
+ contextValue
23
+ } = (0, _useCharts.useCharts)();
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsContext.Provider, {
25
+ value: contextValue,
83
26
  children: children
84
27
  });
85
28
  }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectorChartsInteractionYAxisIsDefined = exports.selectorChartsInteractionYAxis = exports.selectorChartsInteractionXAxisIsDefined = exports.selectorChartsInteractionXAxis = exports.selectorChartsInteractionItemIsDefined = exports.selectorChartsInteractionItem = exports.selectorChartsInteractionIsVoronoiEnabled = exports.selectorChartsInteractionAxis = void 0;
7
+ var _selectors = require("../internals/plugins/utils/selectors");
8
+ function selectInteraction(state) {
9
+ return state.interaction;
10
+ }
11
+ const selectorChartsInteractionItem = exports.selectorChartsInteractionItem = (0, _selectors.createSelector)(selectInteraction, interaction => interaction.item);
12
+ const selectorChartsInteractionAxis = exports.selectorChartsInteractionAxis = (0, _selectors.createSelector)(selectInteraction, interaction => interaction.axis);
13
+ const selectorChartsInteractionXAxis = exports.selectorChartsInteractionXAxis = (0, _selectors.createSelector)(selectInteraction, interaction => interaction.axis.x);
14
+ const selectorChartsInteractionYAxis = exports.selectorChartsInteractionYAxis = (0, _selectors.createSelector)(selectInteraction, interaction => interaction.axis.y);
15
+ const selectorChartsInteractionItemIsDefined = exports.selectorChartsInteractionItemIsDefined = (0, _selectors.createSelector)(selectorChartsInteractionItem, item => item !== null);
16
+ const selectorChartsInteractionXAxisIsDefined = exports.selectorChartsInteractionXAxisIsDefined = (0, _selectors.createSelector)(selectorChartsInteractionXAxis, x => x !== null);
17
+ const selectorChartsInteractionYAxisIsDefined = exports.selectorChartsInteractionYAxisIsDefined = (0, _selectors.createSelector)(selectorChartsInteractionYAxis, y => y !== null);
18
+ const selectorChartsInteractionIsVoronoiEnabled = exports.selectorChartsInteractionIsVoronoiEnabled = (0, _selectors.createSelector)(selectInteraction, interaction => interaction.isVoronoiEnabled);
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SizeContext = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ const SizeContext = exports.SizeContext = /*#__PURE__*/React.createContext({
10
+ isInitialized: false,
11
+ data: {
12
+ hasIntrinsicSize: false,
13
+ containerRef: null,
14
+ height: 0,
15
+ width: 0
16
+ }
17
+ });
18
+ if (process.env.NODE_ENV !== 'production') {
19
+ SizeContext.displayName = 'SizeContext';
20
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SizeProvider = SizeProvider;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _SizeContext = require("./SizeContext");
11
+ var _useChartContainerDimensions = require("./useChartContainerDimensions");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /**
14
+ * The size provider.
15
+ *
16
+ * This differs from the DrawingProvider in that it provides the full size of the container.
17
+ *
18
+ * This provider is also responsible for resolving the size of the container before rendering and if the parent size changes.
19
+ */function SizeProvider(props) {
20
+ const dimensions = (0, _useChartContainerDimensions.useChartContainerDimensions)(props.width, props.height);
21
+ const value = React.useMemo(() => ({
22
+ isInitialized: true,
23
+ data: dimensions
24
+ }), [dimensions]);
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SizeContext.SizeContext.Provider, {
26
+ value: value,
27
+ children: props.children
28
+ });
29
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _SizeProvider = require("./SizeProvider");
7
+ Object.keys(_SizeProvider).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _SizeProvider[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _SizeProvider[key];
14
+ }
15
+ });
16
+ });
17
+ var _SizeContext = require("./SizeContext");
18
+ Object.keys(_SizeContext).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _SizeContext[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _SizeContext[key];
25
+ }
26
+ });
27
+ });
28
+ var _useSize = require("./useSize");
29
+ Object.keys(_useSize).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _useSize[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _useSize[key];
36
+ }
37
+ });
38
+ });
39
+ var _Size = require("./Size.types");
40
+ Object.keys(_Size).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _Size[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _Size[key];
47
+ }
48
+ });
49
+ });
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
+ /* eslint-disable react-compiler/react-compiler */
4
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
6
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
7
  Object.defineProperty(exports, "__esModule", {
@@ -10,7 +11,9 @@ exports.useChartContainerDimensions = void 0;
10
11
  var React = _interopRequireWildcard(require("react"));
11
12
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
12
13
  var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow"));
13
- const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender) => {
14
+ const MAX_COMPUTE_RUN = 10;
15
+ const useChartContainerDimensions = (inWidth, inHeight) => {
16
+ const hasInSize = inWidth !== undefined && inHeight !== undefined;
14
17
  const stateRef = React.useRef({
15
18
  displayError: false,
16
19
  initialCompute: true,
@@ -47,7 +50,7 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
47
50
  // https://github.com/mui/mui-x/issues/13477#issuecomment-2336634785
48
51
  (0, _useEnhancedEffect.default)(() => {
49
52
  // computeRun is used to avoid infinite loops.
50
- if (!resolveSizeBeforeRender || !stateRef.current.initialCompute || stateRef.current.computeRun > 20) {
53
+ if (hasInSize || !stateRef.current.initialCompute || stateRef.current.computeRun > MAX_COMPUTE_RUN) {
51
54
  return;
52
55
  }
53
56
  const computedSize = computeSize();
@@ -56,9 +59,9 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
56
59
  } else if (stateRef.current.initialCompute) {
57
60
  stateRef.current.initialCompute = false;
58
61
  }
59
- }, [width, height, computeSize, resolveSizeBeforeRender]);
62
+ }, [width, height, computeSize, hasInSize]);
60
63
  (0, _useEnhancedEffect.default)(() => {
61
- if (inWidth !== undefined && inHeight !== undefined) {
64
+ if (hasInSize) {
62
65
  return () => {};
63
66
  }
64
67
  computeSize();
@@ -84,7 +87,7 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
84
87
  observer.unobserve(elementToObserve);
85
88
  }
86
89
  };
87
- }, [computeSize, inHeight, inWidth]);
90
+ }, [computeSize, hasInSize]);
88
91
  if (process.env.NODE_ENV !== 'production') {
89
92
  if (stateRef.current.displayError && inWidth === undefined && width === 0) {
90
93
  console.error(`MUI X: ChartContainer does not have \`width\` prop, and its container has no \`width\` defined.`);
@@ -95,10 +98,15 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
95
98
  stateRef.current.displayError = false;
96
99
  }
97
100
  }
101
+ const finalWidth = inWidth ?? width;
102
+ const finalHeight = inHeight ?? height;
98
103
  return {
99
104
  containerRef: rootRef,
100
- width: inWidth ?? width,
101
- height: inHeight ?? height
105
+ width: finalWidth,
106
+ height: finalHeight,
107
+ hasIntrinsicSize: finalWidth > 0 && finalHeight > 0,
108
+ inWidth,
109
+ inHeight
102
110
  };
103
111
  };
104
112
  exports.useChartContainerDimensions = useChartContainerDimensions;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useSize = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _SizeContext = require("./SizeContext");
11
+ /**
12
+ * Returns the size of the chart. And the ref of the container element that the chart is rendered in.
13
+ */
14
+ const useSize = () => {
15
+ const {
16
+ data
17
+ } = React.useContext(_SizeContext.SizeContext);
18
+ return data;
19
+ };
20
+ exports.useSize = useSize;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SvgRefContext = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ const SvgRefContext = exports.SvgRefContext = /*#__PURE__*/React.createContext({
11
+ isInitialized: false,
12
+ data: {
13
+ svgRef: {
14
+ current: null
15
+ },
16
+ surfaceRef: {
17
+ current: null
18
+ }
19
+ }
20
+ });
21
+ if (process.env.NODE_ENV !== 'production') {
22
+ SvgRefContext.displayName = 'SvgRefContext';
23
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.SvgRefProvider = SvgRefProvider;
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
12
+ var _SvgRefContext = require("./SvgRefContext");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function SvgRefProvider(props) {
15
+ const {
16
+ children
17
+ } = props;
18
+ const svgRef = React.useRef(null);
19
+ const surfaceRef = (0, _useForkRef.default)(svgRef);
20
+ const refValue = React.useMemo(() => ({
21
+ isInitialized: true,
22
+ data: {
23
+ svgRef,
24
+ surfaceRef
25
+ }
26
+ }), [svgRef, surfaceRef]);
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SvgRefContext.SvgRefContext.Provider, {
28
+ value: refValue,
29
+ children: children
30
+ });
31
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _SvgRef = require("./SvgRef.types");
7
+ Object.keys(_SvgRef).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _SvgRef[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _SvgRef[key];
14
+ }
15
+ });
16
+ });
17
+ var _SvgRefProvider = require("./SvgRefProvider");
18
+ Object.keys(_SvgRefProvider).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _SvgRefProvider[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _SvgRefProvider[key];
25
+ }
26
+ });
27
+ });
28
+ var _SvgRefContext = require("./SvgRefContext");
29
+ Object.keys(_SvgRefContext).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _SvgRefContext[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _SvgRefContext[key];
36
+ }
37
+ });
38
+ });
39
+ var _useSurfaceRef = require("./useSurfaceRef");
40
+ Object.keys(_useSurfaceRef).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _useSurfaceRef[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _useSurfaceRef[key];
47
+ }
48
+ });
49
+ });
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useSurfaceRef = useSurfaceRef;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _SvgRefContext = require("./SvgRefContext");
11
+ function useSurfaceRef() {
12
+ const {
13
+ isInitialized,
14
+ data
15
+ } = React.useContext(_SvgRefContext.SvgRefContext);
16
+ if (!isInitialized) {
17
+ throw new Error(['MUI X: Could not find the svg ref context.', 'It looks like you rendered your component outside of a ChartsContainer parent component.'].join('\n'));
18
+ }
19
+ return data.surfaceRef;
20
+ }
@@ -4,8 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- ZAxisContextProvider: true
7
+ ZAxisContextProvider: true,
8
+ ChartDataProvider: true
8
9
  };
10
+ Object.defineProperty(exports, "ChartDataProvider", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _ChartDataProvider.ChartDataProvider;
14
+ }
15
+ });
9
16
  Object.defineProperty(exports, "ZAxisContextProvider", {
10
17
  enumerable: true,
11
18
  get: function () {
@@ -24,4 +31,5 @@ Object.keys(_HighlightedProvider).forEach(function (key) {
24
31
  }
25
32
  });
26
33
  });
27
- var _ZAxisContextProvider = require("./ZAxisContextProvider");
34
+ var _ZAxisContextProvider = require("./ZAxisContextProvider");
35
+ var _ChartDataProvider = require("./ChartDataProvider");