@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
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.BarElement = BarElement;
10
- exports.barElementClasses = exports.BarElementPath = void 0;
10
+ exports.barElementClasses = void 0;
11
11
  exports.getBarElementUtilityClass = getBarElementUtilityClass;
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
@@ -16,40 +16,28 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
16
16
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
17
17
  var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
18
18
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
19
- var _styles = require("@mui/material/styles");
20
19
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
21
- var _d3Color = require("@mui/x-charts-vendor/d3-color");
22
- var _web = require("@react-spring/web");
23
20
  var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
24
21
  var _context = require("../context");
22
+ var _AnimatedBarElement = require("./AnimatedBarElement");
25
23
  var _jsxRuntime = require("react/jsx-runtime");
26
24
  const _excluded = ["id", "dataIndex", "classes", "color", "slots", "slotProps", "style", "onClick"];
27
25
  function getBarElementUtilityClass(slot) {
28
26
  return (0, _generateUtilityClass.default)('MuiBarElement', slot);
29
27
  }
30
- const barElementClasses = exports.barElementClasses = (0, _generateUtilityClasses.default)('MuiBarElement', ['root']);
28
+ const barElementClasses = exports.barElementClasses = (0, _generateUtilityClasses.default)('MuiBarElement', ['root', 'highlighted', 'faded']);
31
29
  const useUtilityClasses = ownerState => {
32
30
  const {
33
31
  classes,
34
- id
32
+ id,
33
+ isHighlighted,
34
+ isFaded
35
35
  } = ownerState;
36
36
  const slots = {
37
- root: ['root', `series-${id}`]
37
+ root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
38
38
  };
39
39
  return (0, _composeClasses.default)(slots, getBarElementUtilityClass, classes);
40
40
  };
41
- const BarElementPath = exports.BarElementPath = (0, _styles.styled)(_web.animated.rect, {
42
- name: 'MuiBarElement',
43
- slot: 'Root',
44
- overridesResolver: (_, styles) => styles.root
45
- })(({
46
- ownerState
47
- }) => ({
48
- stroke: 'none',
49
- fill: ownerState.isHighlighted ? (0, _d3Color.color)(ownerState.color).brighter(0.5).formatHex() : ownerState.color,
50
- transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
51
- opacity: ownerState.isFaded && 0.3 || 1
52
- }));
53
41
  function BarElement(props) {
54
42
  const {
55
43
  id,
@@ -79,7 +67,7 @@ function BarElement(props) {
79
67
  isHighlighted
80
68
  };
81
69
  const classes = useUtilityClasses(ownerState);
82
- const Bar = slots?.bar ?? BarElementPath;
70
+ const Bar = slots?.bar ?? _AnimatedBarElement.AnimatedBarElement;
83
71
  const barProps = (0, _useSlotProps.default)({
84
72
  elementType: Bar,
85
73
  externalSlotProps: slotProps?.bar,
@@ -91,7 +79,9 @@ function BarElement(props) {
91
79
  }), {
92
80
  style,
93
81
  onClick,
94
- cursor: onClick ? 'pointer' : 'unset'
82
+ cursor: onClick ? 'pointer' : 'unset',
83
+ stroke: 'none',
84
+ fill: color
95
85
  }),
96
86
  className: classes.root,
97
87
  ownerState
@@ -12,6 +12,7 @@ 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 _web = require("@react-spring/web");
15
+ var _styles = require("@mui/material/styles");
15
16
  var _CartesianProvider = require("../context/CartesianProvider");
16
17
  var _BarElement = require("./BarElement");
17
18
  var _getColor = _interopRequireDefault(require("./getColor"));
@@ -57,6 +58,7 @@ const useAggregatedData = () => {
57
58
  seriesOrder: []
58
59
  };
59
60
  const axisData = (0, _CartesianProvider.useCartesianContext)();
61
+ const drawingArea = (0, _hooks.useDrawingArea)();
60
62
  const chartId = (0, _hooks.useChartId)();
61
63
  const {
62
64
  series,
@@ -74,9 +76,13 @@ const useAggregatedData = () => {
74
76
  const data = stackingGroups.flatMap(({
75
77
  ids: groupIds
76
78
  }, groupIndex) => {
79
+ const xMin = drawingArea.left;
80
+ const xMax = drawingArea.left + drawingArea.width;
81
+ const yMin = drawingArea.top;
82
+ const yMax = drawingArea.top + drawingArea.height;
77
83
  return groupIds.flatMap(seriesId => {
78
- const xAxisId = series[seriesId].xAxisId ?? series[seriesId].xAxisKey ?? defaultXAxisId;
79
- const yAxisId = series[seriesId].yAxisId ?? series[seriesId].yAxisKey ?? defaultYAxisId;
84
+ const xAxisId = series[seriesId].xAxisId ?? defaultXAxisId;
85
+ const yAxisId = series[seriesId].yAxisId ?? defaultYAxisId;
80
86
  const xAxisConfig = xAxis[xAxisId];
81
87
  const yAxisConfig = yAxis[yAxisId];
82
88
  const verticalLayout = series[seriesId].layout === 'vertical';
@@ -117,6 +123,9 @@ const useAggregatedData = () => {
117
123
  value: series[seriesId].data[dataIndex],
118
124
  maskId: `${chartId}_${stackId || seriesId}_${groupIndex}_${dataIndex}`
119
125
  };
126
+ if (result.x > xMax || result.x + result.width < xMin || result.y > yMax || result.y + result.height < yMin) {
127
+ return null;
128
+ }
120
129
  if (!masks[result.maskId]) {
121
130
  masks[result.maskId] = {
122
131
  id: result.maskId,
@@ -139,7 +148,7 @@ const useAggregatedData = () => {
139
148
  mask.hasNegative = mask.hasNegative || (result.value ?? 0) < 0;
140
149
  mask.hasPositive = mask.hasPositive || (result.value ?? 0) > 0;
141
150
  return result;
142
- });
151
+ }).filter(rectangle => rectangle !== null);
143
152
  });
144
153
  });
145
154
  return {
@@ -177,6 +186,15 @@ const enterStyle = ({
177
186
  height,
178
187
  width
179
188
  });
189
+ const BarPlotRoot = (0, _styles.styled)('g', {
190
+ name: 'MuiBarPlot',
191
+ slot: 'Root',
192
+ overridesResolver: (_, styles) => styles.root
193
+ })({
194
+ [`& .${_BarElement.barElementClasses.root}`]: {
195
+ transition: 'opacity 0.2s ease-in, fill 0.2s ease-in'
196
+ }
197
+ });
180
198
 
181
199
  /**
182
200
  * Demos:
@@ -219,7 +237,7 @@ function BarPlot(props) {
219
237
  update: enterStyle,
220
238
  immediate: skipAnimation
221
239
  });
222
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
240
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(BarPlotRoot, {
223
241
  children: [!withoutBorderRadius && maskTransition((style, {
224
242
  id,
225
243
  hasPositive,
@@ -42,7 +42,7 @@ const getValueExtremum = direction => params => {
42
42
  isDefaultAxis
43
43
  } = params;
44
44
  return Object.keys(series).filter(seriesId => {
45
- const yAxisId = series[seriesId].yAxisId ?? series[seriesId].yAxisKey;
45
+ const yAxisId = series[seriesId].yAxisId;
46
46
  return yAxisId === axis.id || isDefaultAxis && yAxisId === undefined;
47
47
  }).reduce((acc, seriesId) => {
48
48
  const {
@@ -51,8 +51,8 @@ const getValueExtremum = direction => params => {
51
51
  const filter = getFilters?.({
52
52
  currentAxisId: axis.id,
53
53
  isDefaultAxis,
54
- seriesXAxisId: series[seriesId].xAxisId ?? series[seriesId].xAxisKey,
55
- seriesYAxisId: series[seriesId].yAxisId ?? series[seriesId].yAxisKey
54
+ seriesXAxisId: series[seriesId].xAxisId,
55
+ seriesYAxisId: series[seriesId].yAxisId
56
56
  });
57
57
  const [seriesMin, seriesMax] = stackedData?.reduce((seriesAcc, values, index) => {
58
58
  if (filter && (!filter(createResult(values[0], direction), index) || !filter(createResult(values[1], direction), index))) {
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
12
12
  var _constants = require("../constants");
13
- const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "tooltip", "onAxisClick", "axisHighlight", "legend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "layout", "onItemClick", "highlightedItem", "onHighlightChange", "borderRadius", "barLabel", "className"];
13
+ const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "onAxisClick", "axisHighlight", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "layout", "onItemClick", "highlightedItem", "onHighlightChange", "borderRadius", "barLabel", "className", "hideLegend"];
14
14
  /**
15
15
  * A helper function that extracts BarChartProps from the input props
16
16
  * and returns an object with props for the children components of BarChart.
@@ -29,10 +29,8 @@ const useBarChartProps = props => {
29
29
  colors,
30
30
  dataset,
31
31
  sx,
32
- tooltip,
33
32
  onAxisClick,
34
33
  axisHighlight,
35
- legend,
36
34
  grid,
37
35
  topAxis,
38
36
  leftAxis,
@@ -81,7 +79,7 @@ const useBarChartProps = props => {
81
79
  sx,
82
80
  highlightedItem,
83
81
  onHighlightChange,
84
- disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
82
+ disableAxisListener: slotProps?.tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none' && !onAxisClick,
85
83
  className,
86
84
  skipAnimation
87
85
  });
@@ -123,14 +121,10 @@ const useBarChartProps = props => {
123
121
  } : {
124
122
  x: 'band'
125
123
  }, axisHighlight);
126
- const legendProps = (0, _extends2.default)({}, legend, {
124
+ const legendProps = {
127
125
  slots,
128
126
  slotProps
129
- });
130
- const tooltipProps = (0, _extends2.default)({}, tooltip, {
131
- slots,
132
- slotProps
133
- });
127
+ };
134
128
  return {
135
129
  chartContainerProps,
136
130
  barPlotProps,
@@ -142,7 +136,6 @@ const useBarChartProps = props => {
142
136
  chartsAxisProps,
143
137
  axisHighlightProps,
144
138
  legendProps,
145
- tooltipProps,
146
139
  children
147
140
  };
148
141
  };
@@ -10,45 +10,22 @@ exports.ChartContainer = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _DrawingProvider = require("../context/DrawingProvider");
14
- var _SeriesProvider = require("../context/SeriesProvider");
15
- var _InteractionProvider = require("../context/InteractionProvider");
16
- var _ChartsSurface = require("../ChartsSurface");
17
- var _CartesianProvider = require("../context/CartesianProvider");
18
- var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients");
19
- var _context = require("../context");
20
- var _PluginProvider = require("../context/PluginProvider");
13
+ var _ChartDataProvider = require("../context/ChartDataProvider");
14
+ var _ResizableContainer = require("./ResizableContainer");
21
15
  var _useChartContainerProps = require("./useChartContainerProps");
22
- var _AnimationProvider = require("../context/AnimationProvider");
16
+ var _ChartsSurface = require("../ChartsSurface");
23
17
  var _jsxRuntime = require("react/jsx-runtime");
24
18
  const ChartContainer = exports.ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
25
19
  const {
20
+ chartDataProviderProps,
26
21
  children,
27
- drawingProviderProps,
28
- seriesProviderProps,
29
- cartesianProviderProps,
30
- zAxisContextProps,
31
- highlightedProviderProps,
32
- chartsSurfaceProps,
33
- pluginProviderProps,
34
- animationProviderProps
22
+ resizableContainerProps,
23
+ chartsSurfaceProps
35
24
  } = (0, _useChartContainerProps.useChartContainerProps)(props, ref);
36
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingProvider.DrawingProvider, (0, _extends2.default)({}, drawingProviderProps, {
37
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PluginProvider.PluginProvider, (0, _extends2.default)({}, pluginProviderProps, {
38
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SeriesProvider.SeriesProvider, (0, _extends2.default)({}, seriesProviderProps, {
39
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartesianProvider.CartesianProvider, (0, _extends2.default)({}, cartesianProviderProps, {
40
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ZAxisContextProvider, (0, _extends2.default)({}, zAxisContextProps, {
41
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InteractionProvider.InteractionProvider, {
42
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.HighlightedProvider, (0, _extends2.default)({}, highlightedProviderProps, {
43
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
44
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxesGradients.ChartsAxesGradients, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AnimationProvider.AnimationProvider, (0, _extends2.default)({}, animationProviderProps, {
45
- children: children
46
- }))]
47
- }))
48
- }))
49
- })
50
- }))
51
- }))
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartDataProvider.ChartDataProvider, (0, _extends2.default)({}, chartDataProviderProps, {
26
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResizableContainer.ResizableContainer, (0, _extends2.default)({}, resizableContainerProps, {
27
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
28
+ children: children
52
29
  }))
53
30
  }))
54
31
  }));
@@ -77,9 +54,9 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
77
54
  */
78
55
  disableAxisListener: _propTypes.default.bool,
79
56
  /**
80
- * The height of the chart in px.
57
+ * The height of the chart in px. If not defined, it takes the height of the parent element.
81
58
  */
82
- height: _propTypes.default.number.isRequired,
59
+ height: _propTypes.default.number,
83
60
  /**
84
61
  * The item currently highlighted. Turns highlighting into a controlled prop.
85
62
  */
@@ -123,16 +100,10 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
123
100
  skipAnimation: _propTypes.default.bool,
124
101
  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]),
125
102
  title: _propTypes.default.string,
126
- viewBox: _propTypes.default.shape({
127
- height: _propTypes.default.number,
128
- width: _propTypes.default.number,
129
- x: _propTypes.default.number,
130
- y: _propTypes.default.number
131
- }),
132
103
  /**
133
- * The width of the chart in px.
104
+ * The width of the chart in px. If not defined, it takes the width of the parent element.
134
105
  */
135
- width: _propTypes.default.number.isRequired,
106
+ width: _propTypes.default.number,
136
107
  /**
137
108
  * The configuration of the x-axes.
138
109
  * If not provided, a default axis config is used.
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ResizableContainer = ResizableContainer;
9
+ exports.ResizableContainerRoot = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _styles = require("@mui/material/styles");
14
+ var _SizeProvider = require("../context/SizeProvider");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ /**
17
+ * Wrapping div that take the shape of its parent.
18
+ *
19
+ * @ignore - do not document.
20
+ */
21
+ const ResizableContainerRoot = exports.ResizableContainerRoot = (0, _styles.styled)('div', {
22
+ name: 'MuiResponsiveChart',
23
+ slot: 'Container'
24
+ })(({
25
+ ownerState
26
+ }) => ({
27
+ width: ownerState.width ?? '100%',
28
+ height: ownerState.height ?? '100%',
29
+ display: 'flex',
30
+ position: 'relative',
31
+ flexGrow: 1,
32
+ flexDirection: 'column',
33
+ alignItems: 'center',
34
+ justifyContent: 'center',
35
+ overflow: 'hidden',
36
+ '&>svg': {
37
+ width: '100%',
38
+ height: '100%'
39
+ }
40
+ }));
41
+
42
+ /**
43
+ * Wrapping div that take the shape of its parent.
44
+ *
45
+ * @ignore - do not document.
46
+ */
47
+ function ResizableContainer(props) {
48
+ const {
49
+ inHeight,
50
+ inWidth,
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: props.children
60
+ }));
61
+ }
62
+ process.env.NODE_ENV !== "production" ? ResizableContainer.propTypes = {
63
+ // ----------------------------- Warning --------------------------------
64
+ // | These PropTypes are generated from the TypeScript type definitions |
65
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
66
+ // ----------------------------------------------------------------------
67
+ children: _propTypes.default.node
68
+ } : void 0;
@@ -2,93 +2,62 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
8
  exports.useChartContainerProps = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
- var React = _interopRequireWildcard(require("react"));
13
- var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
14
- var _useDefaultizeAxis = require("./useDefaultizeAxis");
15
- const _excluded = ["width", "height", "series", "margin", "xAxis", "yAxis", "zAxis", "colors", "dataset", "sx", "title", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "children", "skipAnimation"];
10
+ const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "sx", "title", "xAxis", "yAxis", "zAxis", "skipAnimation"];
16
11
  const useChartContainerProps = (props, ref) => {
17
12
  const {
18
13
  width,
19
14
  height,
20
- series,
21
15
  margin,
22
- xAxis,
23
- yAxis,
24
- zAxis,
16
+ children,
17
+ series,
25
18
  colors,
26
19
  dataset,
27
- sx,
28
- title,
29
20
  desc,
30
21
  disableAxisListener,
31
22
  highlightedItem,
32
23
  onHighlightChange,
33
24
  plugins,
34
- children,
25
+ sx,
26
+ title,
27
+ xAxis,
28
+ yAxis,
29
+ zAxis,
35
30
  skipAnimation
36
31
  } = props,
37
32
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
38
- const svgRef = React.useRef(null);
39
- const chartSurfaceRef = (0, _useForkRef.default)(ref, svgRef);
40
- const [defaultizedXAxis, defaultizedYAxis] = (0, _useDefaultizeAxis.useDefaultizeAxis)(xAxis, yAxis, dataset);
41
- const drawingProviderProps = {
42
- width,
43
- height,
44
- margin,
45
- svgRef
46
- };
47
- const animationProviderProps = {
48
- skipAnimation
49
- };
50
- const pluginProviderProps = {
51
- plugins
33
+ const resizableContainerProps = other;
34
+ const chartsSurfaceProps = {
35
+ title,
36
+ desc,
37
+ sx,
38
+ disableAxisListener,
39
+ ref
52
40
  };
53
- const seriesProviderProps = {
41
+ const chartDataProviderProps = {
42
+ margin,
54
43
  series,
55
44
  colors,
56
- dataset
57
- };
58
- const cartesianProviderProps = {
59
- xAxis: defaultizedXAxis,
60
- yAxis: defaultizedYAxis,
61
- dataset
62
- };
63
- const zAxisContextProps = {
64
- zAxis,
65
- dataset
66
- };
67
- const highlightedProviderProps = {
45
+ dataset,
68
46
  highlightedItem,
69
- onHighlightChange
70
- };
71
- const chartsSurfaceProps = (0, _extends2.default)({}, other, {
47
+ onHighlightChange,
48
+ plugins,
49
+ xAxis,
50
+ yAxis,
51
+ zAxis,
52
+ skipAnimation,
72
53
  width,
73
- height,
74
- ref: chartSurfaceRef,
75
- sx,
76
- title,
77
- desc,
78
- disableAxisListener
79
- });
54
+ height
55
+ };
80
56
  return {
81
- children,
82
- drawingProviderProps,
83
- seriesProviderProps,
84
- cartesianProviderProps,
85
- zAxisContextProps,
86
- highlightedProviderProps,
57
+ chartDataProviderProps,
58
+ resizableContainerProps,
87
59
  chartsSurfaceProps,
88
- pluginProviderProps,
89
- animationProviderProps,
90
- xAxis: defaultizedXAxis,
91
- yAxis: defaultizedYAxis
60
+ children
92
61
  };
93
62
  };
94
63
  exports.useChartContainerProps = useChartContainerProps;
@@ -1,66 +1,26 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.ChartsAxisHighlight = ChartsAxisHighlight;
10
- exports.chartsAxisHighlightClasses = exports.ChartsAxisHighlightPath = void 0;
11
- exports.getAxisHighlightUtilityClass = getAxisHighlightUtilityClass;
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
10
  var React = _interopRequireWildcard(require("react"));
14
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
- var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
17
- var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
18
- var _styles = require("@mui/material/styles");
19
- var _InteractionProvider = require("../context/InteractionProvider");
20
- var _CartesianProvider = require("../context/CartesianProvider");
21
- var _useScale = require("../hooks/useScale");
22
- var _isBandScale = require("../internals/isBandScale");
13
+ var _chartsAxisHighlightClasses = require("./chartsAxisHighlightClasses");
14
+ var _ChartsYAxisHighlight = _interopRequireDefault(require("./ChartsYAxisHighlight"));
15
+ var _ChartsXAxisHighlight = _interopRequireDefault(require("./ChartsXAxisHighlight"));
23
16
  var _jsxRuntime = require("react/jsx-runtime");
24
- function getAxisHighlightUtilityClass(slot) {
25
- return (0, _generateUtilityClass.default)('MuiChartsAxisHighlight', slot);
26
- }
27
- const chartsAxisHighlightClasses = exports.chartsAxisHighlightClasses = (0, _generateUtilityClasses.default)('MuiChartsAxisHighlight', ['root']);
28
17
  const useUtilityClasses = () => {
29
18
  const slots = {
30
19
  root: ['root']
31
20
  };
32
- return (0, _composeClasses.default)(slots, getAxisHighlightUtilityClass);
21
+ return (0, _composeClasses.default)(slots, _chartsAxisHighlightClasses.getAxisHighlightUtilityClass);
33
22
  };
34
- const ChartsAxisHighlightPath = exports.ChartsAxisHighlightPath = (0, _styles.styled)('path', {
35
- name: 'MuiChartsAxisHighlight',
36
- slot: 'Root',
37
- overridesResolver: (_, styles) => styles.root
38
- })(({
39
- theme
40
- }) => ({
41
- pointerEvents: 'none',
42
- variants: [{
43
- props: {
44
- axisHighlight: 'band'
45
- },
46
- style: (0, _extends2.default)({
47
- fill: 'white',
48
- fillOpacity: 0.1
49
- }, theme.applyStyles('light', {
50
- fill: 'gray'
51
- }))
52
- }, {
53
- props: {
54
- axisHighlight: 'line'
55
- },
56
- style: (0, _extends2.default)({
57
- strokeDasharray: '5 2',
58
- stroke: '#ffffff'
59
- }, theme.applyStyles('light', {
60
- stroke: '#000000'
61
- }))
62
- }]
63
- }));
23
+
64
24
  /**
65
25
  * Demos:
66
26
  *
@@ -75,62 +35,14 @@ function ChartsAxisHighlight(props) {
75
35
  x: xAxisHighlight,
76
36
  y: yAxisHighlight
77
37
  } = props;
78
- const {
79
- xAxisIds,
80
- xAxis,
81
- yAxisIds,
82
- yAxis
83
- } = (0, _CartesianProvider.useCartesianContext)();
84
38
  const classes = useUtilityClasses();
85
- const USED_X_AXIS_ID = xAxisIds[0];
86
- const USED_Y_AXIS_ID = yAxisIds[0];
87
- const xScale = xAxis[USED_X_AXIS_ID].scale;
88
- const yScale = yAxis[USED_Y_AXIS_ID].scale;
89
- const {
90
- axis
91
- } = React.useContext(_InteractionProvider.InteractionContext);
92
- const getXPosition = (0, _useScale.getValueToPositionMapper)(xScale);
93
- const getYPosition = (0, _useScale.getValueToPositionMapper)(yScale);
94
- const axisX = axis.x;
95
- const axisY = axis.y;
96
- const isBandScaleX = xAxisHighlight === 'band' && axisX !== null && (0, _isBandScale.isBandScale)(xScale);
97
- const isBandScaleY = yAxisHighlight === 'band' && axisY !== null && (0, _isBandScale.isBandScale)(yScale);
98
- if (process.env.NODE_ENV !== 'production') {
99
- const isXError = isBandScaleX && xScale(axisX.value) === undefined;
100
- const isYError = isBandScaleY && yScale(axisY.value) === undefined;
101
- if (isXError || isYError) {
102
- console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
103
- }
104
- }
105
39
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
106
- children: [isBandScaleX && xScale(axisX.value) !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsAxisHighlightPath
107
- // @ts-expect-error, xScale value is checked in the statement above
108
- , {
109
- d: `M ${xScale(axisX.value) - (xScale.step() - xScale.bandwidth()) / 2} ${yScale.range()[0]} l ${xScale.step()} 0 l 0 ${yScale.range()[1] - yScale.range()[0]} l ${-xScale.step()} 0 Z`,
110
- className: classes.root,
111
- ownerState: {
112
- axisHighlight: 'band'
113
- }
114
- }), isBandScaleY && yScale(axisY.value) !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsAxisHighlightPath, {
115
- d: `M ${xScale.range()[0]} ${
116
- // @ts-expect-error, yScale value is checked in the statement above
117
- yScale(axisY.value) - (yScale.step() - yScale.bandwidth()) / 2} l 0 ${yScale.step()} l ${xScale.range()[1] - xScale.range()[0]} 0 l 0 ${-yScale.step()} Z`,
118
- className: classes.root,
119
- ownerState: {
120
- axisHighlight: 'band'
121
- }
122
- }), xAxisHighlight === 'line' && axis.x !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsAxisHighlightPath, {
123
- d: `M ${getXPosition(axis.x.value)} ${yScale.range()[0]} L ${getXPosition(axis.x.value)} ${yScale.range()[1]}`,
124
- className: classes.root,
125
- ownerState: {
126
- axisHighlight: 'line'
127
- }
128
- }), yAxisHighlight === 'line' && axis.y !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsAxisHighlightPath, {
129
- d: `M ${xScale.range()[0]} ${getYPosition(axis.y.value)} L ${xScale.range()[1]} ${getYPosition(axis.y.value)}`,
130
- className: classes.root,
131
- ownerState: {
132
- axisHighlight: 'line'
133
- }
40
+ children: [xAxisHighlight && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsXAxisHighlight.default, {
41
+ type: xAxisHighlight,
42
+ classes: classes
43
+ }), yAxisHighlight && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsYAxisHighlight.default, {
44
+ type: yAxisHighlight,
45
+ classes: classes
134
46
  })]
135
47
  });
136
48
  }