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

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 (417) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +4 -9
  4. package/BarChart/BarChart.js +3 -35
  5. package/BarChart/BarElement.d.ts +5 -1342
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarLabel/BarLabel.d.ts +298 -298
  8. package/BarChart/BarPlot.js +12 -2
  9. package/BarChart/useBarChartProps.d.ts +0 -2
  10. package/BarChart/useBarChartProps.js +2 -8
  11. package/CHANGELOG.md +651 -6
  12. package/ChartContainer/ChartContainer.d.ts +26 -19
  13. package/ChartContainer/ChartContainer.js +31 -25
  14. package/ChartContainer/useChartContainerProps.d.ts +5 -7
  15. package/ChartContainer/useChartContainerProps.js +12 -27
  16. package/ChartsAxis/axisClasses.js +2 -1
  17. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  18. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  21. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  23. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  25. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  27. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  29. package/ChartsAxisHighlight/index.d.ts +3 -0
  30. package/ChartsAxisHighlight/index.js +4 -1
  31. package/ChartsGrid/ChartsGrid.js +1 -1
  32. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  33. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  34. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  35. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  36. package/ChartsLegend/LegendPerItem.d.ts +2 -2
  37. package/ChartsLegend/chartsLegendClasses.js +2 -1
  38. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  39. package/ChartsSurface/ChartsSurface.d.ts +14 -15
  40. package/ChartsSurface/ChartsSurface.js +68 -35
  41. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  42. package/ChartsTooltip/ChartTooltip.types.js +1 -0
  43. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  44. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  45. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  46. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  47. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  48. package/ChartsTooltip/ChartsTooltip.js +143 -145
  49. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  50. package/ChartsTooltip/ChartsTooltipContainer.js +280 -0
  51. package/ChartsTooltip/ChartsTooltipTable.js +1 -1
  52. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  53. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  54. package/ChartsTooltip/index.d.ts +3 -3
  55. package/ChartsTooltip/index.js +2 -3
  56. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  57. package/ChartsTooltip/useAxisTooltip.js +19 -19
  58. package/ChartsTooltip/useItemTooltip.d.ts +2 -3
  59. package/ChartsTooltip/useItemTooltip.js +5 -4
  60. package/ChartsTooltip/utils.d.ts +0 -3
  61. package/ChartsTooltip/utils.js +0 -8
  62. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +49 -36
  63. package/ChartsXAxis/ChartsXAxis.js +3 -17
  64. package/ChartsYAxis/ChartsYAxis.js +2 -17
  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 +42 -76
  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/AreaPlot.js +12 -2
  74. package/LineChart/CircleMarkElement.js +6 -5
  75. package/LineChart/LineChart.d.ts +4 -10
  76. package/LineChart/LineChart.js +3 -36
  77. package/LineChart/LineHighlightPlot.js +6 -5
  78. package/LineChart/LinePlot.js +12 -2
  79. package/LineChart/MarkElement.js +6 -5
  80. package/LineChart/useLineChartProps.d.ts +0 -2
  81. package/LineChart/useLineChartProps.js +2 -8
  82. package/PieChart/PieChart.d.ts +3 -9
  83. package/PieChart/PieChart.js +5 -41
  84. package/PieChart/PiePlot.js +2 -2
  85. package/PieChart/getPieCoordinates.d.ts +2 -2
  86. package/README.md +2 -2
  87. package/ScatterChart/Scatter.js +6 -5
  88. package/ScatterChart/ScatterChart.d.ts +4 -10
  89. package/ScatterChart/ScatterChart.js +5 -36
  90. package/ScatterChart/useScatterChartProps.d.ts +0 -2
  91. package/ScatterChart/useScatterChartProps.js +1 -9
  92. package/SparkLineChart/SparkLineChart.d.ts +3 -4
  93. package/SparkLineChart/SparkLineChart.js +4 -35
  94. package/context/CartesianProvider/defaultizeAxis.d.ts +9 -11
  95. package/context/ChartDataProvider/ChartDataProvider.d.ts +36 -19
  96. package/context/ChartDataProvider/ChartDataProvider.js +55 -48
  97. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +25 -32
  98. package/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  99. package/context/ChartDataProvider/useDefaultizeAxis.d.ts +9 -11
  100. package/context/ChartProvider/ChartContext.d.ts +6 -0
  101. package/context/ChartProvider/ChartContext.js +8 -0
  102. package/context/ChartProvider/ChartProvider.d.ts +4 -0
  103. package/context/ChartProvider/ChartProvider.js +19 -0
  104. package/context/ChartProvider/ChartProvider.types.d.ts +24 -0
  105. package/context/ChartProvider/ChartProvider.types.js +1 -0
  106. package/context/ChartProvider/index.d.ts +3 -0
  107. package/context/ChartProvider/index.js +3 -0
  108. package/context/ChartProvider/useChartContext.d.ts +3 -0
  109. package/context/ChartProvider/useChartContext.js +11 -0
  110. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  111. package/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  112. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +3 -0
  113. package/context/DrawingAreaProvider/DrawingAreaContext.js +15 -0
  114. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  115. package/{modern/context/DrawingProvider.js → context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  116. package/context/DrawingAreaProvider/index.d.ts +3 -0
  117. package/context/DrawingAreaProvider/index.js +3 -0
  118. package/context/InteractionSelectors.d.ts +382 -0
  119. package/context/InteractionSelectors.js +12 -0
  120. package/context/SizeProvider/Size.types.d.ts +30 -0
  121. package/context/SizeProvider/Size.types.js +1 -0
  122. package/context/SizeProvider/SizeContext.d.ts +4 -0
  123. package/context/SizeProvider/SizeContext.js +15 -0
  124. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  125. package/context/SizeProvider/SizeProvider.js +26 -0
  126. package/context/SizeProvider/index.d.ts +4 -0
  127. package/context/SizeProvider/index.js +4 -0
  128. package/context/SizeProvider/useChartContainerDimensions.d.ts +9 -0
  129. package/{modern/ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +16 -6
  130. package/context/SizeProvider/useSize.d.ts +5 -0
  131. package/context/SizeProvider/useSize.js +13 -0
  132. package/context/index.d.ts +2 -0
  133. package/context/index.js +2 -1
  134. package/hooks/useAxisEvents.js +32 -19
  135. package/hooks/useChartId.js +5 -6
  136. package/hooks/useDrawingArea.d.ts +2 -2
  137. package/hooks/useDrawingArea.js +2 -2
  138. package/hooks/useInteractionItemProps.js +22 -13
  139. package/hooks/useSvgRef.d.ts +1 -1
  140. package/hooks/useSvgRef.js +4 -8
  141. package/index.js +1 -1
  142. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  143. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -7
  144. package/internals/computeAxisValue.d.ts +2 -2
  145. package/internals/defaultizeColor.d.ts +1 -1
  146. package/internals/index.d.ts +3 -4
  147. package/internals/index.js +3 -4
  148. package/internals/plugins/allPlugins.d.ts +1 -0
  149. package/internals/plugins/allPlugins.js +3 -0
  150. package/internals/plugins/corePlugins/corePlugins.d.ts +10 -0
  151. package/internals/plugins/corePlugins/corePlugins.js +7 -0
  152. package/internals/plugins/corePlugins/index.d.ts +2 -0
  153. package/internals/plugins/corePlugins/index.js +1 -0
  154. package/internals/plugins/corePlugins/useChartId/index.d.ts +2 -0
  155. package/internals/plugins/corePlugins/useChartId/index.js +1 -0
  156. package/internals/plugins/corePlugins/useChartId/useChartId.d.ts +3 -0
  157. package/internals/plugins/corePlugins/useChartId/useChartId.js +32 -0
  158. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +36 -0
  159. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +9 -0
  160. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +20 -0
  161. package/internals/plugins/corePlugins/useChartId/useChartId.types.js +1 -0
  162. package/internals/plugins/corePlugins/useChartId/useChartId.utils.d.ts +1 -0
  163. package/internals/plugins/corePlugins/useChartId/useChartId.utils.js +5 -0
  164. package/internals/plugins/featurePlugins/useChartInteraction/index.d.ts +3 -0
  165. package/internals/plugins/featurePlugins/useChartInteraction/index.js +2 -0
  166. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.d.ts +3 -0
  167. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +73 -0
  168. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +376 -0
  169. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +10 -0
  170. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +57 -0
  171. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.js +1 -0
  172. package/internals/plugins/models/chart.d.ts +14 -0
  173. package/internals/plugins/models/chart.js +1 -0
  174. package/internals/plugins/models/helpers.d.ts +7 -0
  175. package/internals/plugins/models/helpers.js +1 -0
  176. package/internals/plugins/models/index.d.ts +3 -0
  177. package/internals/plugins/models/index.js +3 -0
  178. package/internals/plugins/models/plugin.d.ts +75 -0
  179. package/internals/plugins/models/plugin.js +1 -0
  180. package/internals/plugins/utils/ChartStore.d.ts +13 -0
  181. package/internals/plugins/utils/ChartStore.js +24 -0
  182. package/internals/plugins/utils/selectors.d.ts +9 -0
  183. package/internals/plugins/utils/selectors.js +37 -0
  184. package/internals/store/useCharts.d.ts +14 -0
  185. package/internals/store/useCharts.js +72 -0
  186. package/internals/store/useCharts.types.d.ts +5 -0
  187. package/internals/store/useCharts.types.js +1 -0
  188. package/internals/store/useSelector.d.ts +4 -0
  189. package/internals/store/useSelector.js +6 -0
  190. package/internals/store/useStore.d.ts +3 -0
  191. package/internals/store/useStore.js +17 -0
  192. package/models/axis.d.ts +1 -13
  193. package/modern/BarChart/AnimatedBarElement.js +21 -0
  194. package/modern/BarChart/BarChart.js +3 -35
  195. package/modern/BarChart/BarElement.js +10 -20
  196. package/modern/BarChart/BarPlot.js +12 -2
  197. package/modern/BarChart/useBarChartProps.js +2 -8
  198. package/modern/ChartContainer/ChartContainer.js +31 -25
  199. package/modern/ChartContainer/useChartContainerProps.js +12 -27
  200. package/modern/ChartsAxis/axisClasses.js +2 -1
  201. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  202. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  203. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  204. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  205. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  206. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  207. package/modern/ChartsAxisHighlight/index.js +4 -1
  208. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  209. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  210. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  211. package/modern/ChartsLegend/chartsLegendClasses.js +2 -1
  212. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  213. package/modern/ChartsSurface/ChartsSurface.js +68 -35
  214. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  215. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  216. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  217. package/modern/ChartsTooltip/ChartsTooltip.js +143 -145
  218. package/modern/ChartsTooltip/ChartsTooltipContainer.js +280 -0
  219. package/modern/ChartsTooltip/ChartsTooltipTable.js +1 -1
  220. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  221. package/modern/ChartsTooltip/index.js +2 -3
  222. package/modern/ChartsTooltip/useAxisTooltip.js +19 -19
  223. package/modern/ChartsTooltip/useItemTooltip.js +5 -4
  224. package/modern/ChartsTooltip/utils.js +0 -8
  225. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +49 -36
  226. package/modern/ChartsXAxis/ChartsXAxis.js +3 -17
  227. package/modern/ChartsYAxis/ChartsYAxis.js +2 -17
  228. package/modern/Gauge/Gauge.js +0 -6
  229. package/modern/Gauge/GaugeContainer.js +42 -76
  230. package/modern/LineChart/AnimatedArea.js +9 -18
  231. package/modern/LineChart/AnimatedLine.js +9 -20
  232. package/modern/LineChart/AreaPlot.js +12 -2
  233. package/modern/LineChart/CircleMarkElement.js +6 -5
  234. package/modern/LineChart/LineChart.js +3 -36
  235. package/modern/LineChart/LineHighlightPlot.js +6 -5
  236. package/modern/LineChart/LinePlot.js +12 -2
  237. package/modern/LineChart/MarkElement.js +6 -5
  238. package/modern/LineChart/useLineChartProps.js +2 -8
  239. package/modern/PieChart/PieChart.js +5 -41
  240. package/modern/PieChart/PiePlot.js +2 -2
  241. package/modern/ScatterChart/Scatter.js +6 -5
  242. package/modern/ScatterChart/ScatterChart.js +5 -36
  243. package/modern/ScatterChart/useScatterChartProps.js +1 -9
  244. package/modern/SparkLineChart/SparkLineChart.js +4 -35
  245. package/modern/context/ChartDataProvider/ChartDataProvider.js +55 -48
  246. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  247. package/modern/context/ChartProvider/ChartContext.js +8 -0
  248. package/modern/context/ChartProvider/ChartProvider.js +19 -0
  249. package/modern/context/ChartProvider/ChartProvider.types.js +1 -0
  250. package/modern/context/ChartProvider/index.js +3 -0
  251. package/modern/context/ChartProvider/useChartContext.js +11 -0
  252. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  253. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +15 -0
  254. package/{context/DrawingProvider.js → modern/context/DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  255. package/modern/context/DrawingAreaProvider/index.js +3 -0
  256. package/modern/context/InteractionSelectors.js +12 -0
  257. package/modern/context/SizeProvider/Size.types.js +1 -0
  258. package/modern/context/SizeProvider/SizeContext.js +15 -0
  259. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  260. package/modern/context/SizeProvider/index.js +4 -0
  261. package/{ChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +16 -6
  262. package/modern/context/SizeProvider/useSize.js +13 -0
  263. package/modern/context/index.js +2 -1
  264. package/modern/hooks/useAxisEvents.js +32 -19
  265. package/modern/hooks/useChartId.js +5 -6
  266. package/modern/hooks/useDrawingArea.js +2 -2
  267. package/modern/hooks/useInteractionItemProps.js +22 -13
  268. package/modern/hooks/useSvgRef.js +4 -8
  269. package/modern/index.js +1 -1
  270. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -7
  271. package/modern/internals/index.js +3 -4
  272. package/modern/internals/plugins/allPlugins.js +3 -0
  273. package/modern/internals/plugins/corePlugins/corePlugins.js +7 -0
  274. package/modern/internals/plugins/corePlugins/index.js +1 -0
  275. package/modern/internals/plugins/corePlugins/useChartId/index.js +1 -0
  276. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +32 -0
  277. package/modern/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +9 -0
  278. package/modern/internals/plugins/corePlugins/useChartId/useChartId.types.js +1 -0
  279. package/modern/internals/plugins/corePlugins/useChartId/useChartId.utils.js +5 -0
  280. package/modern/internals/plugins/featurePlugins/useChartInteraction/index.js +2 -0
  281. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +73 -0
  282. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +10 -0
  283. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.js +1 -0
  284. package/modern/internals/plugins/models/chart.js +1 -0
  285. package/modern/internals/plugins/models/helpers.js +1 -0
  286. package/modern/internals/plugins/models/index.js +3 -0
  287. package/modern/internals/plugins/models/plugin.js +1 -0
  288. package/modern/internals/plugins/utils/ChartStore.js +24 -0
  289. package/modern/internals/plugins/utils/selectors.js +37 -0
  290. package/modern/internals/store/useCharts.js +72 -0
  291. package/modern/internals/store/useCharts.types.js +1 -0
  292. package/modern/internals/store/useSelector.js +6 -0
  293. package/modern/internals/store/useStore.js +17 -0
  294. package/node/BarChart/AnimatedBarElement.js +28 -0
  295. package/node/BarChart/BarChart.js +3 -35
  296. package/node/BarChart/BarElement.js +11 -21
  297. package/node/BarChart/BarPlot.js +11 -1
  298. package/node/BarChart/useBarChartProps.js +2 -8
  299. package/node/ChartContainer/ChartContainer.js +31 -25
  300. package/node/ChartContainer/useChartContainerProps.js +12 -27
  301. package/node/ChartsAxis/axisClasses.js +5 -3
  302. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  303. package/node/ChartsAxisHighlight/ChartsAxisHighlight.types.js +5 -0
  304. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  305. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  306. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  307. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  308. package/node/ChartsAxisHighlight/index.js +33 -0
  309. package/node/ChartsGrid/ChartsGrid.js +2 -2
  310. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  311. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  312. package/node/ChartsLegend/chartsLegendClasses.js +5 -3
  313. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  314. package/node/ChartsSurface/ChartsSurface.js +68 -35
  315. package/node/ChartsTooltip/ChartTooltip.types.js +5 -0
  316. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  317. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  318. package/node/ChartsTooltip/ChartsTooltip.js +142 -144
  319. package/node/ChartsTooltip/ChartsTooltipContainer.js +286 -0
  320. package/node/ChartsTooltip/ChartsTooltipTable.js +2 -2
  321. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  322. package/node/ChartsTooltip/index.js +19 -28
  323. package/node/ChartsTooltip/useAxisTooltip.js +19 -19
  324. package/node/ChartsTooltip/useItemTooltip.js +5 -4
  325. package/node/ChartsTooltip/utils.js +0 -9
  326. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +50 -37
  327. package/node/ChartsXAxis/ChartsXAxis.js +3 -17
  328. package/node/ChartsYAxis/ChartsYAxis.js +2 -17
  329. package/node/Gauge/Gauge.js +0 -6
  330. package/node/Gauge/GaugeContainer.js +42 -76
  331. package/node/LineChart/AnimatedArea.js +9 -19
  332. package/node/LineChart/AnimatedLine.js +9 -21
  333. package/node/LineChart/AreaPlot.js +11 -1
  334. package/node/LineChart/CircleMarkElement.js +6 -5
  335. package/node/LineChart/LineChart.js +3 -36
  336. package/node/LineChart/LineHighlightPlot.js +6 -5
  337. package/node/LineChart/LinePlot.js +11 -1
  338. package/node/LineChart/MarkElement.js +6 -5
  339. package/node/LineChart/useLineChartProps.js +2 -8
  340. package/node/PieChart/PieChart.js +5 -41
  341. package/node/PieChart/PiePlot.js +2 -2
  342. package/node/ScatterChart/Scatter.js +6 -5
  343. package/node/ScatterChart/ScatterChart.js +5 -36
  344. package/node/ScatterChart/useScatterChartProps.js +1 -9
  345. package/node/SparkLineChart/SparkLineChart.js +4 -35
  346. package/node/context/ChartDataProvider/ChartDataProvider.js +55 -48
  347. package/node/context/ChartDataProvider/useChartDataProviderProps.js +22 -44
  348. package/node/context/ChartProvider/ChartContext.js +15 -0
  349. package/node/context/ChartProvider/ChartProvider.js +24 -0
  350. package/node/context/ChartProvider/ChartProvider.types.js +5 -0
  351. package/node/context/ChartProvider/index.js +38 -0
  352. package/node/context/ChartProvider/useChartContext.js +18 -0
  353. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  354. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +21 -0
  355. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  356. package/node/context/DrawingAreaProvider/index.js +38 -0
  357. package/node/context/InteractionSelectors.js +18 -0
  358. package/node/context/SizeProvider/Size.types.js +5 -0
  359. package/node/context/SizeProvider/SizeContext.js +22 -0
  360. package/node/context/SizeProvider/SizeProvider.js +29 -0
  361. package/node/context/SizeProvider/index.js +49 -0
  362. package/node/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +16 -6
  363. package/node/context/SizeProvider/useSize.js +20 -0
  364. package/node/context/index.js +10 -2
  365. package/node/hooks/useAxisEvents.js +33 -19
  366. package/node/hooks/useChartId.js +5 -7
  367. package/node/hooks/useDrawingArea.js +2 -2
  368. package/node/hooks/useInteractionItemProps.js +23 -14
  369. package/node/hooks/useSvgRef.js +4 -9
  370. package/node/index.js +1 -1
  371. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +8 -6
  372. package/node/internals/index.js +28 -40
  373. package/node/internals/plugins/allPlugins.js +10 -0
  374. package/node/internals/plugins/corePlugins/corePlugins.js +12 -0
  375. package/node/internals/plugins/corePlugins/index.js +12 -0
  376. package/node/internals/plugins/corePlugins/useChartId/index.js +12 -0
  377. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +41 -0
  378. package/node/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +15 -0
  379. package/node/internals/plugins/corePlugins/useChartId/useChartId.types.js +5 -0
  380. package/node/internals/plugins/corePlugins/useChartId/useChartId.utils.js +12 -0
  381. package/node/internals/plugins/featurePlugins/useChartInteraction/index.js +27 -0
  382. package/node/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +81 -0
  383. package/node/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +16 -0
  384. package/node/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.js +5 -0
  385. package/node/internals/plugins/models/chart.js +5 -0
  386. package/node/internals/plugins/models/helpers.js +5 -0
  387. package/node/internals/plugins/models/index.js +38 -0
  388. package/node/internals/plugins/models/plugin.js +5 -0
  389. package/node/internals/plugins/utils/ChartStore.js +31 -0
  390. package/node/internals/plugins/utils/selectors.js +44 -0
  391. package/node/internals/store/useCharts.js +80 -0
  392. package/node/internals/store/useCharts.types.js +5 -0
  393. package/node/internals/store/useSelector.js +13 -0
  394. package/node/internals/store/useStore.js +23 -0
  395. package/package.json +7 -5
  396. package/themeAugmentation/props.d.ts +1 -2
  397. package/ChartContainer/ResizableContainer.d.ts +0 -9
  398. package/ChartContainer/ResizableContainer.js +0 -26
  399. package/ChartContainer/useChartContainerDimensions.d.ts +0 -6
  400. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  401. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  402. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  403. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  404. package/context/InteractionProvider.d.ts +0 -50
  405. package/context/InteractionProvider.js +0 -78
  406. package/modern/ChartContainer/ResizableContainer.js +0 -26
  407. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  408. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  409. package/modern/context/InteractionProvider.js +0 -78
  410. package/node/ChartContainer/ResizableContainer.js +0 -32
  411. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  412. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  413. package/node/context/InteractionProvider.js +0 -85
  414. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  415. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  416. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  417. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,21 @@
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.DrawingAreaContext = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ const DrawingAreaContext = exports.DrawingAreaContext = /*#__PURE__*/React.createContext({
11
+ top: 0,
12
+ left: 0,
13
+ bottom: 0,
14
+ right: 0,
15
+ height: 300,
16
+ width: 400,
17
+ isPointInside: () => false
18
+ });
19
+ if (process.env.NODE_ENV !== 'production') {
20
+ DrawingAreaContext.displayName = 'DrawingContext';
21
+ }
@@ -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
+ });
@@ -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,22 @@
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
+ svgRef: {
14
+ current: null
15
+ },
16
+ height: 0,
17
+ width: 0
18
+ }
19
+ });
20
+ if (process.env.NODE_ENV !== 'production') {
21
+ SizeContext.displayName = 'SizeContext';
22
+ }
@@ -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
+ });
@@ -11,7 +11,8 @@ exports.useChartContainerDimensions = void 0;
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
13
13
  var _ownerWindow = _interopRequireDefault(require("@mui/utils/ownerWindow"));
14
- const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender) => {
14
+ const MAX_COMPUTE_RUN = 10;
15
+ const useChartContainerDimensions = (inWidth, inHeight) => {
15
16
  const hasInSize = inWidth !== undefined && inHeight !== undefined;
16
17
  const stateRef = React.useRef({
17
18
  displayError: false,
@@ -26,6 +27,10 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
26
27
  const computeSize = React.useCallback(() => {
27
28
  const mainEl = rootRef?.current;
28
29
  if (!mainEl) {
30
+ if (process.env.NODE_ENV !== 'production') {
31
+ // This is mostly for internal use.
32
+ throw new Error([`MUI X: ChartContainer does not have a valid reference to the <svg /> element.`, 'This may be caused by a ref forwarding issue.', 'Make sure that the ref from SizedProvider is forwarded correctly.'].join('\n'));
33
+ }
29
34
  return {};
30
35
  }
31
36
  const win = (0, _ownerWindow.default)(mainEl);
@@ -49,7 +54,7 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
49
54
  // https://github.com/mui/mui-x/issues/13477#issuecomment-2336634785
50
55
  (0, _useEnhancedEffect.default)(() => {
51
56
  // computeRun is used to avoid infinite loops.
52
- if (hasInSize || !resolveSizeBeforeRender || !stateRef.current.initialCompute || stateRef.current.computeRun > 20) {
57
+ if (hasInSize || !stateRef.current.initialCompute || stateRef.current.computeRun > MAX_COMPUTE_RUN) {
53
58
  return;
54
59
  }
55
60
  const computedSize = computeSize();
@@ -58,7 +63,7 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
58
63
  } else if (stateRef.current.initialCompute) {
59
64
  stateRef.current.initialCompute = false;
60
65
  }
61
- }, [width, height, computeSize, resolveSizeBeforeRender, hasInSize]);
66
+ }, [width, height, computeSize, hasInSize]);
62
67
  (0, _useEnhancedEffect.default)(() => {
63
68
  if (hasInSize) {
64
69
  return () => {};
@@ -97,10 +102,15 @@ const useChartContainerDimensions = (inWidth, inHeight, resolveSizeBeforeRender)
97
102
  stateRef.current.displayError = false;
98
103
  }
99
104
  }
105
+ const finalWidth = inWidth ?? width;
106
+ const finalHeight = inHeight ?? height;
100
107
  return {
101
- containerRef: rootRef,
102
- width: inWidth ?? width,
103
- height: inHeight ?? height
108
+ svgRef: rootRef,
109
+ width: finalWidth,
110
+ height: finalHeight,
111
+ hasIntrinsicSize: finalWidth > 0 && finalHeight > 0,
112
+ inWidth,
113
+ inHeight
104
114
  };
105
115
  };
106
116
  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;
@@ -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");
@@ -2,17 +2,19 @@
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;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
9
  exports.useAxisEvents = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
11
  var React = _interopRequireWildcard(require("react"));
10
- var _InteractionProvider = require("../context/InteractionProvider");
11
12
  var _CartesianProvider = require("../context/CartesianProvider");
12
13
  var _isBandScale = require("../internals/isBandScale");
13
14
  var _getSVGPoint = require("../internals/getSVGPoint");
14
15
  var _useSvgRef = require("./useSvgRef");
15
16
  var _useDrawingArea = require("./useDrawingArea");
17
+ var _useStore = require("../internals/store/useStore");
16
18
  function getAsANumber(value) {
17
19
  return value instanceof Date ? value.getTime() : value;
18
20
  }
@@ -25,9 +27,7 @@ const useAxisEvents = disableAxisListener => {
25
27
  xAxisIds,
26
28
  yAxisIds
27
29
  } = (0, _CartesianProvider.useCartesianContext)();
28
- const {
29
- dispatch
30
- } = React.useContext(_InteractionProvider.InteractionContext);
30
+ const store = (0, _useStore.useStore)(disableAxisListener);
31
31
  const usedXAxis = xAxisIds[0];
32
32
  const usedYAxis = yAxisIds[0];
33
33
 
@@ -39,7 +39,7 @@ const useAxisEvents = disableAxisListener => {
39
39
  });
40
40
  React.useEffect(() => {
41
41
  const element = svgRef.current;
42
- if (element === null || disableAxisListener) {
42
+ if (element === null || disableAxisListener || !store) {
43
43
  return () => {};
44
44
  }
45
45
  function getNewAxisState(axisConfig, mouseValue) {
@@ -98,9 +98,15 @@ const useAxisEvents = disableAxisListener => {
98
98
  x: -1,
99
99
  y: -1
100
100
  };
101
- dispatch({
102
- type: 'exitChart'
103
- });
101
+ store.update(prev => (0, _extends2.default)({}, prev, {
102
+ interaction: {
103
+ item: null,
104
+ axis: {
105
+ x: null,
106
+ y: null
107
+ }
108
+ }
109
+ }));
104
110
  };
105
111
  const handleMove = event => {
106
112
  const target = 'targetTouches' in event ? event.targetTouches[0] : event;
@@ -111,9 +117,15 @@ const useAxisEvents = disableAxisListener => {
111
117
  targetElement: event.target
112
118
  })) {
113
119
  if (mousePosition.current.isInChart) {
114
- dispatch({
115
- type: 'exitChart'
116
- });
120
+ store.update(prev => (0, _extends2.default)({}, prev, {
121
+ interaction: {
122
+ item: null,
123
+ axis: {
124
+ x: null,
125
+ y: null
126
+ }
127
+ }
128
+ }));
117
129
  mousePosition.current.isInChart = false;
118
130
  }
119
131
  return;
@@ -121,13 +133,15 @@ const useAxisEvents = disableAxisListener => {
121
133
  mousePosition.current.isInChart = true;
122
134
  const newStateX = getNewAxisState(xAxis[usedXAxis], svgPoint.x);
123
135
  const newStateY = getNewAxisState(yAxis[usedYAxis], svgPoint.y);
124
- dispatch({
125
- type: 'updateAxis',
126
- data: {
127
- x: newStateX,
128
- y: newStateY
129
- }
130
- });
136
+ store.update(prev => (0, _extends2.default)({}, prev, {
137
+ interaction: (0, _extends2.default)({}, prev.interaction, {
138
+ axis: (0, _extends2.default)({}, prev.interaction.axis, prev.interaction.axis.x?.index !== newStateX?.index || prev.interaction.axis.x?.value !== newStateX?.value ? {
139
+ x: newStateX
140
+ } : {}, prev.interaction.axis.y?.index !== newStateY?.index || prev.interaction.axis.y?.value !== newStateY?.value ? {
141
+ y: newStateY
142
+ } : {})
143
+ })
144
+ }));
131
145
  };
132
146
  const handleDown = event => {
133
147
  const target = event.currentTarget;
@@ -150,6 +164,6 @@ const useAxisEvents = disableAxisListener => {
150
164
  element.removeEventListener('pointercancel', handleOut);
151
165
  element.removeEventListener('pointerleave', handleOut);
152
166
  };
153
- }, [svgRef, dispatch, usedYAxis, yAxis, usedXAxis, xAxis, disableAxisListener, drawingArea]);
167
+ }, [svgRef, store, usedYAxis, yAxis, usedXAxis, xAxis, disableAxisListener, drawingArea]);
154
168
  };
155
169
  exports.useAxisEvents = useAxisEvents;
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useChartId = useChartId;
9
- var React = _interopRequireWildcard(require("react"));
10
- var _DrawingProvider = require("../context/DrawingProvider");
8
+ var _useStore = require("../internals/store/useStore");
9
+ var _useSelector = require("../internals/store/useSelector");
10
+ var _useChartId = require("../internals/plugins/corePlugins/useChartId/useChartId.selectors");
11
11
  function useChartId() {
12
- const {
13
- chartId
14
- } = React.useContext(_DrawingProvider.DrawingContext);
15
- return React.useMemo(() => chartId, [chartId]);
12
+ const store = (0, _useStore.useStore)();
13
+ return (0, _useSelector.useSelector)(store, _useChartId.selectorChartId);
16
14
  }
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.useDrawingArea = useDrawingArea;
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _DrawingProvider = require("../context/DrawingProvider");
10
+ var _DrawingAreaProvider = require("../context/DrawingAreaProvider");
11
11
  function useDrawingArea() {
12
12
  const {
13
13
  left,
@@ -17,7 +17,7 @@ function useDrawingArea() {
17
17
  bottom,
18
18
  right,
19
19
  isPointInside
20
- } = React.useContext(_DrawingProvider.DrawingContext);
20
+ } = React.useContext(_DrawingAreaProvider.DrawingAreaContext);
21
21
  return React.useMemo(() => ({
22
22
  left,
23
23
  top,
@@ -1,18 +1,16 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.useInteractionItemProps = void 0;
9
- var React = _interopRequireWildcard(require("react"));
10
- var _InteractionProvider = require("../context/InteractionProvider");
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _context = require("../context");
11
+ var _useStore = require("../internals/store/useStore");
12
12
  const useInteractionItemProps = skip => {
13
- const {
14
- dispatch: dispatchInteraction
15
- } = React.useContext(_InteractionProvider.InteractionContext);
13
+ const store = (0, _useStore.useStore)();
16
14
  const {
17
15
  setHighlighted,
18
16
  clearHighlighted
@@ -27,20 +25,31 @@ const useInteractionItemProps = skip => {
27
25
  }
28
26
  };
29
27
  const onPointerEnter = () => {
30
- dispatchInteraction({
31
- type: 'enterItem',
32
- data
33
- });
28
+ store.update(prev => (0, _extends2.default)({}, prev, {
29
+ interaction: (0, _extends2.default)({}, prev.interaction, {
30
+ item: data
31
+ })
32
+ }));
34
33
  setHighlighted({
35
34
  seriesId: data.seriesId,
36
35
  dataIndex: data.dataIndex
37
36
  });
38
37
  };
39
38
  const onPointerLeave = event => {
40
- event.currentTarget.releasePointerCapture(event.pointerId);
41
- dispatchInteraction({
42
- type: 'leaveItem',
43
- data
39
+ if (event.currentTarget.hasPointerCapture(event.pointerId)) {
40
+ event.currentTarget.releasePointerCapture(event.pointerId);
41
+ }
42
+ store.update(prev => {
43
+ const prevItem = prev.interaction.item;
44
+ if (prevItem === null || Object.keys(data).some(key => data[key] !== prevItem[key])) {
45
+ // The item is already something else, no need to clean it.
46
+ return prev;
47
+ }
48
+ return (0, _extends2.default)({}, prev, {
49
+ interaction: (0, _extends2.default)({}, prev.interaction, {
50
+ item: null
51
+ })
52
+ });
44
53
  });
45
54
  clearHighlighted();
46
55
  };
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useSvgRef = useSvgRef;
9
- var React = _interopRequireWildcard(require("react"));
10
- var _DrawingProvider = require("../context/DrawingProvider");
8
+ var _ChartProvider = require("../context/ChartProvider");
11
9
  function useSvgRef() {
12
- const {
13
- isInitialized,
14
- data
15
- } = React.useContext(_DrawingProvider.SvgContext);
16
- if (!isInitialized) {
10
+ const context = (0, _ChartProvider.useChartContext)();
11
+ if (!context) {
17
12
  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
13
  }
19
- return data;
14
+ return context.svgRef;
20
15
  }
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-charts v8.0.0-alpha.0
2
+ * @mui/x-charts v8.0.0-alpha.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -9,15 +9,12 @@ exports.ChartsAxesGradients = ChartsAxesGradients;
9
9
  exports.useChartGradient = useChartGradient;
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _CartesianProvider = require("../../../context/CartesianProvider");
12
- var _DrawingProvider = require("../../../context/DrawingProvider");
13
12
  var _hooks = require("../../../hooks");
14
13
  var _ChartsPiecewiseGradient = _interopRequireDefault(require("./ChartsPiecewiseGradient"));
15
14
  var _ChartsContinuousGradient = _interopRequireDefault(require("./ChartsContinuousGradient"));
16
15
  var _jsxRuntime = require("react/jsx-runtime");
17
16
  function useChartGradient() {
18
- const {
19
- chartId
20
- } = React.useContext(_DrawingProvider.DrawingContext);
17
+ const chartId = (0, _hooks.useChartId)();
21
18
  return React.useCallback((axisId, direction) => `${chartId}-gradient-${direction}-${axisId}`, [chartId]);
22
19
  }
23
20
  function ChartsAxesGradients() {
@@ -38,8 +35,13 @@ function ChartsAxesGradients() {
38
35
  yAxisIds,
39
36
  yAxis
40
37
  } = (0, _CartesianProvider.useCartesianContext)();
38
+ const filteredYAxisIds = yAxisIds.filter(axisId => yAxis[axisId].colorMap !== undefined);
39
+ const filteredXAxisIds = xAxisIds.filter(axisId => xAxis[axisId].colorMap !== undefined);
40
+ if (filteredYAxisIds.length === 0 && filteredXAxisIds.length === 0) {
41
+ return null;
42
+ }
41
43
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("defs", {
42
- children: [yAxisIds.filter(axisId => yAxis[axisId].colorMap !== undefined).map(axisId => {
44
+ children: [filteredYAxisIds.map(axisId => {
43
45
  const gradientId = getGradientId(axisId, 'y');
44
46
  const {
45
47
  colorMap,
@@ -69,7 +71,7 @@ function ChartsAxesGradients() {
69
71
  }, gradientId);
70
72
  }
71
73
  return null;
72
- }), xAxisIds.filter(axisId => xAxis[axisId].colorMap !== undefined).map(axisId => {
74
+ }), filteredXAxisIds.map(axisId => {
73
75
  const gradientId = getGradientId(axisId, 'x');
74
76
  const {
75
77
  colorMap,