@mui/x-charts 8.0.0-alpha.7 → 8.0.0-alpha.8

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 (559) hide show
  1. package/BarChart/BarChart.d.ts +1 -1
  2. package/BarChart/BarChart.js +9 -1
  3. package/BarChart/BarLabel/BarLabelPlot.js +1 -1
  4. package/BarChart/BarPlot.js +8 -9
  5. package/BarChart/extremums.d.ts +3 -3
  6. package/BarChart/formatter.d.ts +2 -2
  7. package/BarChart/formatter.js +2 -1
  8. package/BarChart/getColor.d.ts +1 -1
  9. package/BarChart/legend.d.ts +1 -1
  10. package/BarChart/legend.js +1 -1
  11. package/BarChart/plugin.d.ts +2 -2
  12. package/BarChart/plugin.js +1 -2
  13. package/BarChart/useBarChartProps.d.ts +1 -1
  14. package/CHANGELOG.md +115 -0
  15. package/ChartContainer/ChartContainer.d.ts +6 -2
  16. package/ChartContainer/ChartContainer.js +13 -7
  17. package/ChartContainer/useChartContainerProps.d.ts +5 -3
  18. package/ChartContainer/useChartContainerProps.js +7 -5
  19. package/ChartsAxis/ChartsAxis.js +5 -3
  20. package/ChartsGrid/ChartsGrid.js +9 -5
  21. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  22. package/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  23. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  24. package/ChartsGrid/ChartsVerticalGrid.js +4 -3
  25. package/ChartsLabel/ChartsLabelGradient.js +11 -12
  26. package/ChartsLegend/ContinuousColorLegend.js +3 -3
  27. package/ChartsLegend/useAxis.js +7 -5
  28. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  29. package/ChartsSurface/ChartsSurface.js +16 -26
  30. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  31. package/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  32. package/ChartsTooltip/ChartsTooltipTable.d.ts +0 -6
  33. package/ChartsTooltip/ChartsTooltipTable.js +0 -20
  34. package/ChartsTooltip/useAxisTooltip.d.ts +3 -1
  35. package/ChartsTooltip/useAxisTooltip.js +13 -9
  36. package/ChartsTooltip/useItemTooltip.d.ts +3 -1
  37. package/ChartsTooltip/useItemTooltip.js +14 -10
  38. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  39. package/ChartsXAxis/ChartsXAxis.js +11 -8
  40. package/ChartsYAxis/ChartsYAxis.js +8 -5
  41. package/Gauge/Gauge.js +5 -1
  42. package/Gauge/GaugeContainer.d.ts +3 -10
  43. package/Gauge/GaugeContainer.js +38 -38
  44. package/LineChart/AnimatedArea.js +1 -1
  45. package/LineChart/AnimatedLine.js +1 -1
  46. package/LineChart/AppearingMask.js +1 -1
  47. package/LineChart/AreaPlot.js +16 -15
  48. package/LineChart/LineChart.js +9 -1
  49. package/LineChart/LineHighlightPlot.js +14 -11
  50. package/LineChart/LinePlot.js +16 -15
  51. package/LineChart/MarkPlot.js +14 -11
  52. package/LineChart/extremums.d.ts +3 -3
  53. package/LineChart/formatter.d.ts +2 -2
  54. package/LineChart/formatter.js +3 -1
  55. package/LineChart/getColor.d.ts +1 -1
  56. package/LineChart/legend.d.ts +1 -1
  57. package/LineChart/legend.js +1 -1
  58. package/LineChart/plugin.d.ts +2 -2
  59. package/LineChart/plugin.js +1 -2
  60. package/LineChart/useLineChartProps.d.ts +1 -1
  61. package/PieChart/PieArcLabelPlot.js +2 -2
  62. package/PieChart/PieArcPlot.js +2 -2
  63. package/PieChart/PieChart.js +9 -1
  64. package/PieChart/dataTransform/transition.d.ts +2 -2
  65. package/PieChart/dataTransform/transition.js +6 -6
  66. package/PieChart/formatter.d.ts +2 -2
  67. package/PieChart/formatter.js +4 -1
  68. package/PieChart/getColor.d.ts +1 -1
  69. package/PieChart/getPieCoordinates.d.ts +2 -2
  70. package/PieChart/legend.d.ts +1 -1
  71. package/PieChart/legend.js +1 -1
  72. package/PieChart/plugin.d.ts +2 -2
  73. package/PieChart/plugin.js +1 -2
  74. package/ScatterChart/Scatter.js +6 -4
  75. package/ScatterChart/ScatterChart.d.ts +1 -2
  76. package/ScatterChart/ScatterChart.js +16 -12
  77. package/ScatterChart/ScatterPlot.js +11 -10
  78. package/ScatterChart/extremums.d.ts +3 -3
  79. package/ScatterChart/extremums.js +3 -1
  80. package/ScatterChart/formatter.d.ts +2 -2
  81. package/ScatterChart/formatter.js +3 -1
  82. package/ScatterChart/getColor.d.ts +1 -1
  83. package/ScatterChart/legend.d.ts +1 -1
  84. package/ScatterChart/legend.js +1 -1
  85. package/ScatterChart/plugin.d.ts +2 -2
  86. package/ScatterChart/plugin.js +1 -2
  87. package/ScatterChart/useScatterChartProps.d.ts +1 -3
  88. package/ScatterChart/useScatterChartProps.js +1 -4
  89. package/SparkLineChart/SparkLineChart.d.ts +2 -2
  90. package/SparkLineChart/SparkLineChart.js +11 -2
  91. package/context/ChartDataProvider/ChartDataProvider.d.ts +6 -22
  92. package/context/ChartDataProvider/ChartDataProvider.js +22 -184
  93. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +6 -83
  94. package/context/ChartDataProvider/useChartDataProviderProps.js +33 -47
  95. package/context/ChartProvider/ChartProvider.d.ts +5 -1
  96. package/context/ChartProvider/ChartProvider.js +22 -2
  97. package/context/ChartProvider/ChartProvider.types.d.ts +17 -2
  98. package/context/InteractionSelectors.d.ts +33 -33
  99. package/context/PolarProvider/PolarProvider.d.ts +0 -4
  100. package/context/PolarProvider/PolarProvider.js +59 -47
  101. package/context/PolarProvider/getAxisExtremum.d.ts +0 -4
  102. package/context/PolarProvider/getAxisExtremum.js +48 -20
  103. package/context/PolarProvider/usePolarContext.d.ts +0 -2
  104. package/context/PolarProvider/usePolarContext.js +9 -8
  105. package/context/index.d.ts +0 -2
  106. package/context/index.js +0 -1
  107. package/hooks/index.d.ts +2 -0
  108. package/hooks/index.js +3 -1
  109. package/hooks/useAxis.d.ts +9 -1
  110. package/hooks/useAxis.js +32 -6
  111. package/hooks/useAxisEvents.js +12 -8
  112. package/hooks/useChartGradientId.d.ts +31 -0
  113. package/hooks/useChartGradientId.js +47 -0
  114. package/hooks/useColorScale.js +5 -5
  115. package/hooks/useDrawingArea.d.ts +16 -2
  116. package/hooks/useDrawingArea.js +5 -20
  117. package/hooks/useSeries.d.ts +11 -6
  118. package/hooks/useSeries.js +5 -10
  119. package/hooks/useZAxis.d.ts +3 -2
  120. package/hooks/useZAxis.js +25 -6
  121. package/index.js +1 -1
  122. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +0 -3
  123. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  124. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +1 -1
  125. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  126. package/internals/defaultizeColor.d.ts +22 -22
  127. package/internals/index.d.ts +13 -8
  128. package/internals/index.js +16 -9
  129. package/internals/plugins/allPlugins.d.ts +12 -1
  130. package/internals/plugins/allPlugins.js +5 -2
  131. package/internals/plugins/corePlugins/corePlugins.d.ts +1 -1
  132. package/internals/plugins/corePlugins/corePlugins.js +3 -1
  133. package/internals/plugins/corePlugins/useChartDimensions/index.d.ts +3 -0
  134. package/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  135. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +3 -0
  136. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  137. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +264 -0
  138. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  139. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +99 -0
  140. package/internals/plugins/corePlugins/useChartId/index.d.ts +1 -0
  141. package/internals/plugins/corePlugins/useChartId/index.js +2 -1
  142. package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  143. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +2 -2
  144. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +1 -1
  145. package/internals/plugins/corePlugins/useChartSeries/index.d.ts +3 -0
  146. package/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  147. package/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +18 -0
  148. package/{modern/context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  149. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.d.ts +3 -0
  150. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  151. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +61 -0
  152. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  153. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +51 -0
  154. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.d.ts +10 -0
  155. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  156. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +29 -0
  157. package/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  158. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +18 -0
  159. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  160. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +39 -0
  161. package/{modern/context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  162. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.d.ts +6 -0
  163. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  164. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +5 -0
  165. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +4 -0
  166. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.d.ts +4 -0
  167. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  168. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts +1372 -0
  169. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +87 -0
  170. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +76 -0
  171. package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +18 -0
  172. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +22 -22
  173. package/internals/plugins/featurePlugins/useChartZAxis/index.d.ts +3 -0
  174. package/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  175. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.d.ts +3 -0
  176. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  177. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +45 -0
  178. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  179. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +39 -0
  180. package/internals/plugins/featurePlugins/useChartZAxis/utils.d.ts +0 -0
  181. package/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  182. package/internals/plugins/models/index.d.ts +1 -0
  183. package/internals/plugins/models/index.js +2 -1
  184. package/internals/plugins/models/plugin.d.ts +32 -2
  185. package/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
  186. package/internals/plugins/models/seriesConfig/extremumGetter.types.d.ts +22 -0
  187. package/internals/plugins/models/seriesConfig/index.d.ts +4 -0
  188. package/internals/plugins/models/seriesConfig/index.js +4 -0
  189. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +14 -0
  190. package/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +18 -0
  191. package/internals/store/extractPluginParamsFromProps.d.ts +7 -0
  192. package/internals/store/extractPluginParamsFromProps.js +28 -0
  193. package/internals/store/useChartModels.d.ts +7 -0
  194. package/internals/store/useChartModels.js +64 -0
  195. package/internals/store/useCharts.d.ts +4 -2
  196. package/internals/store/useCharts.js +14 -9
  197. package/internals/store/useCharts.types.d.ts +1 -1
  198. package/internals/store/useStore.d.ts +5 -1
  199. package/internals/store/useStore.js +1 -9
  200. package/models/layout.d.ts +2 -1
  201. package/modern/BarChart/BarChart.js +9 -1
  202. package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
  203. package/modern/BarChart/BarPlot.js +8 -9
  204. package/modern/BarChart/formatter.js +2 -1
  205. package/modern/BarChart/legend.js +1 -1
  206. package/modern/BarChart/plugin.js +1 -2
  207. package/modern/ChartContainer/ChartContainer.js +13 -7
  208. package/modern/ChartContainer/useChartContainerProps.js +7 -5
  209. package/modern/ChartsAxis/ChartsAxis.js +5 -3
  210. package/modern/ChartsGrid/ChartsGrid.js +9 -5
  211. package/modern/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  212. package/modern/ChartsGrid/ChartsVerticalGrid.js +4 -3
  213. package/modern/ChartsLabel/ChartsLabelGradient.js +11 -12
  214. package/modern/ChartsLegend/ContinuousColorLegend.js +3 -3
  215. package/modern/ChartsLegend/useAxis.js +7 -5
  216. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  217. package/modern/ChartsSurface/ChartsSurface.js +16 -26
  218. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  219. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  220. package/modern/ChartsTooltip/ChartsTooltipTable.js +0 -20
  221. package/modern/ChartsTooltip/useAxisTooltip.js +13 -9
  222. package/modern/ChartsTooltip/useItemTooltip.js +14 -10
  223. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  224. package/modern/ChartsXAxis/ChartsXAxis.js +11 -8
  225. package/modern/ChartsYAxis/ChartsYAxis.js +8 -5
  226. package/modern/Gauge/Gauge.js +5 -1
  227. package/modern/Gauge/GaugeContainer.js +38 -38
  228. package/modern/LineChart/AnimatedArea.js +1 -1
  229. package/modern/LineChart/AnimatedLine.js +1 -1
  230. package/modern/LineChart/AppearingMask.js +1 -1
  231. package/modern/LineChart/AreaPlot.js +16 -15
  232. package/modern/LineChart/LineChart.js +9 -1
  233. package/modern/LineChart/LineHighlightPlot.js +14 -11
  234. package/modern/LineChart/LinePlot.js +16 -15
  235. package/modern/LineChart/MarkPlot.js +14 -11
  236. package/modern/LineChart/formatter.js +3 -1
  237. package/modern/LineChart/legend.js +1 -1
  238. package/modern/LineChart/plugin.js +1 -2
  239. package/modern/PieChart/PieArcLabelPlot.js +2 -2
  240. package/modern/PieChart/PieArcPlot.js +2 -2
  241. package/modern/PieChart/PieChart.js +9 -1
  242. package/modern/PieChart/dataTransform/transition.js +6 -6
  243. package/modern/PieChart/formatter.js +4 -1
  244. package/modern/PieChart/legend.js +1 -1
  245. package/modern/PieChart/plugin.js +1 -2
  246. package/modern/ScatterChart/Scatter.js +6 -4
  247. package/modern/ScatterChart/ScatterChart.js +16 -12
  248. package/modern/ScatterChart/ScatterPlot.js +11 -10
  249. package/modern/ScatterChart/extremums.js +3 -1
  250. package/modern/ScatterChart/formatter.js +3 -1
  251. package/modern/ScatterChart/legend.js +1 -1
  252. package/modern/ScatterChart/plugin.js +1 -2
  253. package/modern/ScatterChart/useScatterChartProps.js +1 -4
  254. package/modern/SparkLineChart/SparkLineChart.js +11 -2
  255. package/modern/context/ChartDataProvider/ChartDataProvider.js +22 -184
  256. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +33 -47
  257. package/modern/context/ChartProvider/ChartProvider.js +22 -2
  258. package/modern/context/PolarProvider/PolarProvider.js +59 -47
  259. package/modern/context/PolarProvider/getAxisExtremum.js +48 -20
  260. package/modern/context/PolarProvider/usePolarContext.js +9 -8
  261. package/modern/context/index.js +0 -1
  262. package/modern/hooks/index.js +3 -1
  263. package/modern/hooks/useAxis.js +32 -6
  264. package/modern/hooks/useAxisEvents.js +12 -8
  265. package/modern/hooks/useChartGradientId.js +47 -0
  266. package/modern/hooks/useColorScale.js +5 -5
  267. package/modern/hooks/useDrawingArea.js +5 -20
  268. package/modern/hooks/useSeries.js +5 -10
  269. package/modern/hooks/useZAxis.js +25 -6
  270. package/modern/index.js +1 -1
  271. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  272. package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  273. package/modern/internals/index.js +16 -9
  274. package/modern/internals/plugins/allPlugins.js +5 -2
  275. package/modern/internals/plugins/corePlugins/corePlugins.js +3 -1
  276. package/modern/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  277. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  278. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  279. package/modern/internals/plugins/corePlugins/useChartId/index.js +2 -1
  280. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  281. package/modern/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  282. package/{context/SeriesProvider → modern/internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  283. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  284. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  285. package/modern/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  286. package/modern/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  287. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  288. package/{context/ChartDataProvider/useDefaultizeAxis.js → modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  289. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  290. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +4 -0
  291. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  292. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +87 -0
  293. package/modern/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  294. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  295. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  296. package/modern/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  297. package/modern/internals/plugins/models/index.js +2 -1
  298. package/modern/internals/plugins/models/seriesConfig/index.js +4 -0
  299. package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.js +1 -0
  300. package/modern/internals/plugins/models/seriesConfig/seriesProcessor.types.js +1 -0
  301. package/modern/internals/store/extractPluginParamsFromProps.js +28 -0
  302. package/modern/internals/store/useChartModels.js +64 -0
  303. package/modern/internals/store/useCharts.js +14 -9
  304. package/modern/internals/store/useStore.js +1 -9
  305. package/node/BarChart/BarChart.js +9 -1
  306. package/node/BarChart/BarLabel/BarLabelPlot.js +1 -1
  307. package/node/BarChart/BarPlot.js +6 -6
  308. package/node/BarChart/formatter.js +2 -1
  309. package/node/BarChart/legend.js +1 -1
  310. package/node/BarChart/plugin.js +1 -2
  311. package/node/ChartContainer/ChartContainer.js +13 -7
  312. package/node/ChartContainer/useChartContainerProps.js +7 -5
  313. package/node/ChartsAxis/ChartsAxis.js +5 -3
  314. package/node/ChartsGrid/ChartsGrid.js +9 -5
  315. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  316. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -3
  317. package/node/ChartsLabel/ChartsLabelGradient.js +11 -12
  318. package/node/ChartsLegend/ContinuousColorLegend.js +3 -3
  319. package/node/ChartsLegend/useAxis.js +6 -4
  320. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +6 -5
  321. package/node/ChartsSurface/ChartsSurface.js +17 -27
  322. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -2
  323. package/node/ChartsTooltip/ChartsItemTooltipContent.js +5 -2
  324. package/node/ChartsTooltip/ChartsTooltipTable.js +1 -21
  325. package/node/ChartsTooltip/useAxisTooltip.js +11 -7
  326. package/node/ChartsTooltip/useItemTooltip.js +13 -9
  327. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +19 -12
  328. package/node/ChartsXAxis/ChartsXAxis.js +11 -8
  329. package/node/ChartsYAxis/ChartsYAxis.js +8 -5
  330. package/node/Gauge/Gauge.js +5 -1
  331. package/node/Gauge/GaugeContainer.js +38 -38
  332. package/node/LineChart/AnimatedArea.js +1 -1
  333. package/node/LineChart/AnimatedLine.js +1 -1
  334. package/node/LineChart/AppearingMask.js +1 -1
  335. package/node/LineChart/AreaPlot.js +16 -15
  336. package/node/LineChart/LineChart.js +9 -1
  337. package/node/LineChart/LineHighlightPlot.js +14 -11
  338. package/node/LineChart/LinePlot.js +16 -15
  339. package/node/LineChart/MarkPlot.js +14 -11
  340. package/node/LineChart/formatter.js +3 -1
  341. package/node/LineChart/legend.js +1 -1
  342. package/node/LineChart/plugin.js +1 -2
  343. package/node/PieChart/PieArcLabelPlot.js +1 -1
  344. package/node/PieChart/PieArcPlot.js +1 -1
  345. package/node/PieChart/PieChart.js +9 -1
  346. package/node/PieChart/dataTransform/transition.js +9 -7
  347. package/node/PieChart/formatter.js +4 -1
  348. package/node/PieChart/legend.js +1 -1
  349. package/node/PieChart/plugin.js +1 -2
  350. package/node/ScatterChart/Scatter.js +6 -4
  351. package/node/ScatterChart/ScatterChart.js +16 -12
  352. package/node/ScatterChart/ScatterPlot.js +10 -9
  353. package/node/ScatterChart/extremums.js +3 -1
  354. package/node/ScatterChart/formatter.js +3 -1
  355. package/node/ScatterChart/legend.js +1 -1
  356. package/node/ScatterChart/plugin.js +1 -2
  357. package/node/ScatterChart/useScatterChartProps.js +1 -4
  358. package/node/SparkLineChart/SparkLineChart.js +10 -1
  359. package/node/context/ChartDataProvider/ChartDataProvider.js +22 -184
  360. package/node/context/ChartDataProvider/useChartDataProviderProps.js +34 -47
  361. package/node/context/ChartProvider/ChartProvider.js +23 -2
  362. package/node/context/PolarProvider/PolarProvider.js +59 -51
  363. package/node/context/PolarProvider/getAxisExtremum.js +49 -27
  364. package/node/context/PolarProvider/usePolarContext.js +9 -14
  365. package/node/context/index.js +0 -8
  366. package/node/hooks/index.js +29 -2
  367. package/node/hooks/useAxis.js +34 -6
  368. package/node/hooks/useAxisEvents.js +12 -8
  369. package/node/hooks/useChartGradientId.js +56 -0
  370. package/node/hooks/useColorScale.js +4 -4
  371. package/node/hooks/useDrawingArea.js +5 -21
  372. package/node/hooks/useSeries.js +5 -9
  373. package/node/hooks/useZAxis.js +27 -9
  374. package/node/index.js +1 -1
  375. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +17 -27
  376. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  377. package/node/internals/index.js +122 -62
  378. package/node/internals/plugins/allPlugins.js +4 -2
  379. package/node/internals/plugins/corePlugins/corePlugins.js +3 -1
  380. package/node/internals/plugins/corePlugins/useChartDimensions/index.js +27 -0
  381. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +183 -0
  382. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +32 -0
  383. package/node/internals/plugins/corePlugins/useChartId/index.js +16 -1
  384. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  385. package/node/internals/plugins/corePlugins/useChartSeries/index.js +27 -0
  386. package/node/{context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  387. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +80 -0
  388. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +11 -0
  389. package/node/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +27 -0
  390. package/node/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  391. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +69 -0
  392. package/node/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +4 -13
  393. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +29 -0
  394. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +47 -0
  395. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +76 -0
  396. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +96 -0
  397. package/node/internals/plugins/featurePlugins/useChartZAxis/index.js +27 -0
  398. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +94 -0
  399. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +9 -0
  400. package/node/internals/plugins/featurePlugins/useChartZAxis/utils.js +1 -0
  401. package/node/internals/plugins/models/index.js +11 -0
  402. package/node/internals/plugins/models/seriesConfig/index.js +49 -0
  403. package/node/internals/plugins/models/seriesConfig/seriesProcessor.types.js +5 -0
  404. package/node/internals/store/extractPluginParamsFromProps.js +36 -0
  405. package/node/internals/store/useChartModels.js +73 -0
  406. package/node/internals/store/useCharts.js +14 -9
  407. package/node/internals/store/useStore.js +1 -9
  408. package/package.json +3 -3
  409. package/context/CartesianProvider/Cartesian.types.d.ts +0 -59
  410. package/context/CartesianProvider/CartesianContext.d.ts +0 -4
  411. package/context/CartesianProvider/CartesianContext.js +0 -13
  412. package/context/CartesianProvider/CartesianProvider.d.ts +0 -4
  413. package/context/CartesianProvider/CartesianProvider.js +0 -49
  414. package/context/CartesianProvider/defaultizeAxis.d.ts +0 -38
  415. package/context/CartesianProvider/defaultizeAxis.js +0 -13
  416. package/context/CartesianProvider/getAxisExtremum.d.ts +0 -5
  417. package/context/CartesianProvider/getAxisExtremum.js +0 -21
  418. package/context/CartesianProvider/index.d.ts +0 -4
  419. package/context/CartesianProvider/index.js +0 -4
  420. package/context/CartesianProvider/useCartesianContext.d.ts +0 -2
  421. package/context/CartesianProvider/useCartesianContext.js +0 -10
  422. package/context/ChartDataProvider/useDefaultizeAxis.d.ts +0 -39
  423. package/context/DrawingAreaProvider/DrawingArea.types.d.ts +0 -51
  424. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +0 -3
  425. package/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  426. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +0 -3
  427. package/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  428. package/context/DrawingAreaProvider/index.d.ts +0 -3
  429. package/context/DrawingAreaProvider/index.js +0 -3
  430. package/context/PluginProvider/ColorProcessor.types.d.ts +0 -8
  431. package/context/PluginProvider/ExtremumGetter.types.d.ts +0 -25
  432. package/context/PluginProvider/Plugin.types.d.ts +0 -29
  433. package/context/PluginProvider/PluginContext.d.ts +0 -4
  434. package/context/PluginProvider/PluginContext.js +0 -15
  435. package/context/PluginProvider/PluginProvider.d.ts +0 -4
  436. package/context/PluginProvider/PluginProvider.js +0 -21
  437. package/context/PluginProvider/SeriesFormatter.types.d.ts +0 -21
  438. package/context/PluginProvider/index.d.ts +0 -12
  439. package/context/PluginProvider/index.js +0 -12
  440. package/context/PluginProvider/mergePlugins.d.ts +0 -46
  441. package/context/PluginProvider/mergePlugins.js +0 -40
  442. package/context/PluginProvider/useColorProcessor.d.ts +0 -4
  443. package/context/PluginProvider/useColorProcessor.js +0 -17
  444. package/context/PluginProvider/useRadiusExtremumGetter.d.ts +0 -4
  445. package/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  446. package/context/PluginProvider/useRotationExtremumGetter.d.ts +0 -4
  447. package/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  448. package/context/PluginProvider/useSeriesFormatter.d.ts +0 -4
  449. package/context/PluginProvider/useSeriesFormatter.js +0 -17
  450. package/context/PluginProvider/useXExtremumGetter.d.ts +0 -4
  451. package/context/PluginProvider/useXExtremumGetter.js +0 -15
  452. package/context/PluginProvider/useYExtremumGetter.d.ts +0 -4
  453. package/context/PluginProvider/useYExtremumGetter.js +0 -15
  454. package/context/SeriesProvider/Series.types.d.ts +0 -26
  455. package/context/SeriesProvider/SeriesContext.d.ts +0 -4
  456. package/context/SeriesProvider/SeriesContext.js +0 -8
  457. package/context/SeriesProvider/SeriesProvider.d.ts +0 -5
  458. package/context/SeriesProvider/SeriesProvider.js +0 -33
  459. package/context/SeriesProvider/index.d.ts +0 -12
  460. package/context/SeriesProvider/index.js +0 -8
  461. package/context/SeriesProvider/processSeries.d.ts +0 -18
  462. package/context/SizeProvider/Size.types.d.ts +0 -30
  463. package/context/SizeProvider/SizeContext.d.ts +0 -4
  464. package/context/SizeProvider/SizeContext.js +0 -15
  465. package/context/SizeProvider/SizeProvider.d.ts +0 -11
  466. package/context/SizeProvider/SizeProvider.js +0 -26
  467. package/context/SizeProvider/index.d.ts +0 -4
  468. package/context/SizeProvider/index.js +0 -4
  469. package/context/SizeProvider/useChartContainerDimensions.d.ts +0 -9
  470. package/context/SizeProvider/useChartContainerDimensions.js +0 -108
  471. package/context/SizeProvider/useSize.d.ts +0 -5
  472. package/context/SizeProvider/useSize.js +0 -13
  473. package/context/ZAxisContextProvider.d.ts +0 -33
  474. package/context/ZAxisContextProvider.js +0 -96
  475. package/internals/computeAxisValue.d.ts +0 -38
  476. package/modern/context/CartesianProvider/CartesianContext.js +0 -13
  477. package/modern/context/CartesianProvider/CartesianProvider.js +0 -49
  478. package/modern/context/CartesianProvider/defaultizeAxis.js +0 -13
  479. package/modern/context/CartesianProvider/getAxisExtremum.js +0 -21
  480. package/modern/context/CartesianProvider/index.js +0 -4
  481. package/modern/context/CartesianProvider/useCartesianContext.js +0 -10
  482. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  483. package/modern/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  484. package/modern/context/DrawingAreaProvider/index.js +0 -3
  485. package/modern/context/PluginProvider/PluginContext.js +0 -15
  486. package/modern/context/PluginProvider/PluginProvider.js +0 -21
  487. package/modern/context/PluginProvider/index.js +0 -12
  488. package/modern/context/PluginProvider/mergePlugins.js +0 -40
  489. package/modern/context/PluginProvider/useColorProcessor.js +0 -17
  490. package/modern/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  491. package/modern/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  492. package/modern/context/PluginProvider/useSeriesFormatter.js +0 -17
  493. package/modern/context/PluginProvider/useXExtremumGetter.js +0 -15
  494. package/modern/context/PluginProvider/useYExtremumGetter.js +0 -15
  495. package/modern/context/SeriesProvider/SeriesContext.js +0 -8
  496. package/modern/context/SeriesProvider/SeriesProvider.js +0 -33
  497. package/modern/context/SeriesProvider/index.js +0 -8
  498. package/modern/context/SizeProvider/SizeContext.js +0 -15
  499. package/modern/context/SizeProvider/SizeProvider.js +0 -26
  500. package/modern/context/SizeProvider/index.js +0 -4
  501. package/modern/context/SizeProvider/useChartContainerDimensions.js +0 -108
  502. package/modern/context/SizeProvider/useSize.js +0 -13
  503. package/modern/context/ZAxisContextProvider.js +0 -96
  504. package/node/context/CartesianProvider/CartesianContext.js +0 -20
  505. package/node/context/CartesianProvider/CartesianProvider.js +0 -54
  506. package/node/context/CartesianProvider/defaultizeAxis.js +0 -21
  507. package/node/context/CartesianProvider/getAxisExtremum.js +0 -28
  508. package/node/context/CartesianProvider/index.js +0 -49
  509. package/node/context/CartesianProvider/useCartesianContext.js +0 -17
  510. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +0 -21
  511. package/node/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -55
  512. package/node/context/DrawingAreaProvider/index.js +0 -38
  513. package/node/context/PluginProvider/PluginContext.js +0 -22
  514. package/node/context/PluginProvider/PluginProvider.js +0 -26
  515. package/node/context/PluginProvider/index.js +0 -137
  516. package/node/context/PluginProvider/mergePlugins.js +0 -47
  517. package/node/context/PluginProvider/useColorProcessor.js +0 -23
  518. package/node/context/PluginProvider/useRadiusExtremumGetter.js +0 -23
  519. package/node/context/PluginProvider/useRotationExtremumGetter.js +0 -23
  520. package/node/context/PluginProvider/useSeriesFormatter.js +0 -23
  521. package/node/context/PluginProvider/useXExtremumGetter.js +0 -22
  522. package/node/context/PluginProvider/useYExtremumGetter.js +0 -22
  523. package/node/context/SeriesProvider/SeriesContext.js +0 -15
  524. package/node/context/SeriesProvider/SeriesProvider.js +0 -38
  525. package/node/context/SeriesProvider/index.js +0 -49
  526. package/node/context/SizeProvider/SizeContext.js +0 -22
  527. package/node/context/SizeProvider/SizeProvider.js +0 -29
  528. package/node/context/SizeProvider/index.js +0 -49
  529. package/node/context/SizeProvider/useChartContainerDimensions.js +0 -116
  530. package/node/context/SizeProvider/useSize.js +0 -20
  531. package/node/context/ZAxisContextProvider.js +0 -103
  532. /package/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  533. /package/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  534. /package/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  535. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.d.ts +0 -0
  536. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  537. /package/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  538. /package/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  539. /package/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  540. /package/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  541. /package/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
  542. /package/{modern/context/CartesianProvider/Cartesian.types.js → internals/plugins/models/seriesConfig/seriesProcessor.types.js} +0 -0
  543. /package/modern/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  544. /package/modern/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  545. /package/modern/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  546. /package/modern/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  547. /package/modern/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  548. /package/modern/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  549. /package/modern/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  550. /package/modern/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  551. /package/node/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  552. /package/node/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  553. /package/node/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  554. /package/node/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  555. /package/node/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  556. /package/node/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  557. /package/node/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  558. /package/node/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  559. /package/node/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
@@ -15,7 +15,7 @@ export interface BarChartSlots extends ChartsAxisSlots, BarPlotSlots, ChartsLege
15
15
  }
16
16
  export interface BarChartSlotProps extends ChartsAxisSlotProps, BarPlotSlotProps, ChartsLegendSlotProps, ChartsOverlaySlotProps, ChartsTooltipSlotProps {
17
17
  }
18
- export interface BarChartProps extends Omit<ChartContainerProps, 'series' | 'plugins' | 'zAxis'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<BarPlotProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, ChartsOnAxisClickHandlerProps {
18
+ export interface BarChartProps extends Omit<ChartContainerProps<'bar'>, 'series' | 'plugins' | 'zAxis'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, Omit<BarPlotProps, 'slots' | 'slotProps'>, Omit<ChartsOverlayProps, 'slots' | 'slotProps'>, ChartsOnAxisClickHandlerProps {
19
19
  /**
20
20
  * The series to display in the bar chart.
21
21
  * An array of [[BarSeriesType]] objects.
@@ -69,6 +69,9 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
69
69
  // | These PropTypes are generated from the TypeScript type definitions |
70
70
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
71
71
  // ----------------------------------------------------------------------
72
+ apiRef: PropTypes.shape({
73
+ current: PropTypes.object
74
+ }),
72
75
  /**
73
76
  * The configuration of axes highlight.
74
77
  * Default is set to 'band' in the bar direction.
@@ -137,6 +140,11 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
137
140
  dataIndex: PropTypes.number,
138
141
  seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
139
142
  }),
143
+ /**
144
+ * This prop is used to help implement the accessibility logic.
145
+ * If you don't provide this prop. It falls back to a randomly generated id.
146
+ */
147
+ id: PropTypes.string,
140
148
  /**
141
149
  * The direction of the bar elements.
142
150
  * @default 'vertical'
@@ -157,7 +165,6 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
157
165
  * The margin between the SVG and the drawing area.
158
166
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
159
167
  * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
160
- * @default object Depends on the charts type.
161
168
  */
162
169
  margin: PropTypes.shape({
163
170
  bottom: PropTypes.number,
@@ -211,6 +218,7 @@ process.env.NODE_ENV !== "production" ? BarChart.propTypes = {
211
218
  */
212
219
  slots: PropTypes.object,
213
220
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
221
+ theme: PropTypes.oneOf(['dark', 'light']),
214
222
  title: PropTypes.string,
215
223
  /**
216
224
  * Indicate which axis to display the top of the charts.
@@ -46,7 +46,7 @@ function BarLabelPlot(props) {
46
46
  other = _objectWithoutPropertiesLoose(props, _excluded);
47
47
  const barLabelTransition = useTransition(bars, {
48
48
  keys: bar => `${bar.seriesId}-${bar.dataIndex}`,
49
- from: leaveStyle,
49
+ from: skipAnimation ? undefined : leaveStyle,
50
50
  leave: null,
51
51
  enter: enterStyle,
52
52
  update: enterStyle,
@@ -7,16 +7,15 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useTransition } from '@react-spring/web';
9
9
  import { styled } from '@mui/material/styles';
10
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
10
  import { BarElement, barElementClasses } from "./BarElement.js";
12
11
  import getColor from "./getColor.js";
13
- import { useChartId, useDrawingArea } from "../hooks/index.js";
12
+ import { useChartId, useDrawingArea, useXAxes, useYAxes } from "../hooks/index.js";
14
13
  import { BarClipPath } from "./BarClipPath.js";
15
14
  import { BarLabelPlot } from "./BarLabel/BarLabelPlot.js";
16
15
  import { checkScaleErrors } from "./checkScaleErrors.js";
17
16
  import { useBarSeries } from "../hooks/useSeries.js";
18
17
  import { useSkipAnimation } from "../context/AnimationProvider/index.js";
19
-
18
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
19
  /**
21
20
  * Solution of the equations
22
21
  * W = barWidth * N + offset * (N-1)
@@ -26,7 +25,6 @@ import { useSkipAnimation } from "../context/AnimationProvider/index.js";
26
25
  * @param gapRatio The ratio of the gap between bars over the bar width.
27
26
  * @returns The bar width and the offset between bars.
28
27
  */
29
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
28
  function getBandSize({
31
29
  bandWidth: W,
32
30
  numberOfGroups: N,
@@ -51,7 +49,6 @@ const useAggregatedData = () => {
51
49
  stackingGroups: [],
52
50
  seriesOrder: []
53
51
  };
54
- const axisData = useCartesianContext();
55
52
  const drawingArea = useDrawingArea();
56
53
  const chartId = useChartId();
57
54
  const {
@@ -60,10 +57,12 @@ const useAggregatedData = () => {
60
57
  } = seriesData;
61
58
  const {
62
59
  xAxis,
60
+ xAxisIds
61
+ } = useXAxes();
62
+ const {
63
63
  yAxis,
64
- xAxisIds,
65
64
  yAxisIds
66
- } = axisData;
65
+ } = useYAxes();
67
66
  const defaultXAxisId = xAxisIds[0];
68
67
  const defaultYAxisId = yAxisIds[0];
69
68
  const masks = {};
@@ -217,7 +216,7 @@ function BarPlot(props) {
217
216
  const withoutBorderRadius = !borderRadius || borderRadius <= 0;
218
217
  const transition = useTransition(completedData, {
219
218
  keys: bar => `${bar.seriesId}-${bar.dataIndex}`,
220
- from: leaveStyle,
219
+ from: skipAnimation ? undefined : leaveStyle,
221
220
  leave: leaveStyle,
222
221
  enter: enterStyle,
223
222
  update: enterStyle,
@@ -225,7 +224,7 @@ function BarPlot(props) {
225
224
  });
226
225
  const maskTransition = useTransition(withoutBorderRadius ? [] : masksData, {
227
226
  keys: v => v.id,
228
- from: leaveStyle,
227
+ from: skipAnimation ? undefined : leaveStyle,
229
228
  leave: leaveStyle,
230
229
  enter: enterStyle,
231
230
  update: enterStyle,
@@ -1,3 +1,3 @@
1
- import { ExtremumGetter } from '../context/PluginProvider/ExtremumGetter.types';
2
- export declare const getExtremumX: ExtremumGetter<'bar'>;
3
- export declare const getExtremumY: ExtremumGetter<'bar'>;
1
+ import { CartesianExtremumGetter } from '../internals/plugins/models/seriesConfig/extremumGetter.types';
2
+ export declare const getExtremumX: CartesianExtremumGetter<'bar'>;
3
+ export declare const getExtremumY: CartesianExtremumGetter<'bar'>;
@@ -1,3 +1,3 @@
1
- import { SeriesFormatter } from '../context/PluginProvider/SeriesFormatter.types';
2
- declare const formatter: SeriesFormatter<'bar'>;
1
+ import { SeriesProcessor } from '../internals/plugins/models';
2
+ declare const formatter: SeriesProcessor<'bar'>;
3
3
  export default formatter;
@@ -45,7 +45,8 @@ const formatter = (params, dataset) => {
45
45
  ids.forEach((id, index) => {
46
46
  const dataKey = series[id].dataKey;
47
47
  completedSeries[id] = _extends({
48
- layout: 'vertical'
48
+ layout: 'vertical',
49
+ labelMarkType: 'square'
49
50
  }, series[id], {
50
51
  data: dataKey ? dataset.map(data => {
51
52
  const value = data[dataKey];
@@ -1,3 +1,3 @@
1
- import { ColorProcessor } from '../context/PluginProvider/ColorProcessor.types';
1
+ import { ColorProcessor } from '../internals/plugins/models';
2
2
  declare const getColor: ColorProcessor<'bar'>;
3
3
  export default getColor;
@@ -1,3 +1,3 @@
1
- import { LegendGetter } from '../context/PluginProvider';
1
+ import { LegendGetter } from '../internals/plugins/models';
2
2
  declare const legendGetter: LegendGetter<'bar'>;
3
3
  export default legendGetter;
@@ -10,7 +10,7 @@ const legendGetter = params => {
10
10
  return acc;
11
11
  }
12
12
  acc.push({
13
- markType: series[seriesId].labelMarkType ?? 'square',
13
+ markType: series[seriesId].labelMarkType,
14
14
  id: seriesId,
15
15
  seriesId,
16
16
  color: series[seriesId].color,
@@ -1,2 +1,2 @@
1
- import type { ChartsPlugin } from '../context/PluginProvider';
2
- export declare const plugin: ChartsPlugin<'bar'>;
1
+ import { ChartSeriesTypeConfig } from '../internals/plugins/models/seriesConfig';
2
+ export declare const plugin: ChartSeriesTypeConfig<'bar'>;
@@ -2,8 +2,7 @@ import { getExtremumX, getExtremumY } from "./extremums.js";
2
2
  import formatter from "./formatter.js";
3
3
  import getColor from "./getColor.js";
4
4
  export const plugin = {
5
- seriesType: 'bar',
6
- seriesFormatter: formatter,
5
+ seriesProcessor: formatter,
7
6
  colorProcessor: getColor,
8
7
  xExtremumGetter: getExtremumX,
9
8
  yExtremumGetter: getExtremumY
@@ -18,7 +18,7 @@ import type { ChartsWrapperProps } from '../internals/components/ChartsWrapper';
18
18
  */
19
19
  export declare const useBarChartProps: (props: BarChartProps) => {
20
20
  chartsWrapperProps: Omit<ChartsWrapperProps, "children">;
21
- chartContainerProps: ChartContainerProps;
21
+ chartContainerProps: Omit<ChartContainerProps<"bar">, "plugins">;
22
22
  barPlotProps: BarPlotProps;
23
23
  axisClickHandlerProps: ChartsOnAxisClickHandlerProps;
24
24
  gridProps: ChartsGridProps;
package/CHANGELOG.md CHANGED
@@ -5,6 +5,121 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.0.0-alpha.8
9
+
10
+ _Jan 16, 2025_
11
+
12
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🍬 Improved design for Data Grid [Header filters](https://next.mui.com/x/react-data-grid/filtering/header-filters/)
15
+
16
+ <img width="100%" alt="Data Grid Header filters" src="https://github.com/user-attachments/assets/74a50cd9-7a55-41fc-a2b8-f8a0d5b9120e" />
17
+
18
+ - 🔄 Data Grid [Scroll restoration](https://next.mui.com/x/react-data-grid/scrolling/#scroll-restoration)
19
+ - 📊 Charts support server-side rendering under [some conditions](https://next.mui.com/x/react-charts/getting-started/#server-side-rendering)
20
+ - 🐞 Bugfixes
21
+
22
+ Special thanks go out to the community contributors who have helped make this release possible:
23
+ @lauri865.
24
+ Following are all team members who have contributed to this release:
25
+ @arminmeh, @romgrk, @samuelsycamore, @alexfauquette, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen.
26
+
27
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
28
+
29
+ ### Data Grid
30
+
31
+ #### Breaking changes
32
+
33
+ - The clear button in header filter cells has been moved to the header filter menu. Use `slotProps={{ headerFilterCell: { showClearIcon: true } }}` to restore the clear button in the cell.
34
+
35
+ #### `@mui/x-data-grid@8.0.0-alpha.8`
36
+
37
+ - [DataGrid] Improve scrollbar deadzone with overlay scrollbars (#15961) @lauri865
38
+ - [DataGrid] Header filter design improvements (#15991) @KenanYusuf
39
+ - [DataGrid] Scroll restoration (#15623) @lauri865
40
+ - [DataGrid] Fix row, cell and header memoizations (#15666) @lauri865
41
+
42
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
43
+
44
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.8`, plus:
45
+
46
+ - [DataGridPro] Add test for column pinning with disabled column virtualization (#16176) @cherniavskii
47
+ - [DataGridPro] Fix width of right-pinned column group during resize (#16199) @cherniavskii
48
+
49
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.8` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
50
+
51
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.8`.
52
+
53
+ ### Date and Time Pickers
54
+
55
+ #### Breaking changes
56
+
57
+ - The field is now editable if rendered inside a mobile Picker — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#field-editing-on-mobile-pickers)
58
+ - The `useMultiInputDateRangeField`, `useMultiInputTimeRangeField`, and `useMultiInputDateTimeRangeField` hooks have been removed in favor of the new `useMultiInputRangeField` hook — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#usemultiinputdaterangefield)
59
+ - The component passed to the `field` slot no longer receives the `value`, `onChange`, `timezone`, `format`, `disabled`, `formatDensity`, `enableAccessibleFieldDOMStructure`, `selectedSections` and `onSelectedSectionsChange` props — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#slot-field)
60
+
61
+ #### `@mui/x-date-pickers@8.0.0-alpha.8`
62
+
63
+ - [pickers] Let the field components handle their opening UI, and allow field editing on mobile pickers (#15671) @flaviendelangle
64
+ - [pickers] Remove code duplication for the multi input range fields (#15505) @flaviendelangle
65
+ - [pickers] Rename `onRangePositionChange` into `setRangePosition` in `usePickerRangePositionContext` (#16189) @flaviendelangle
66
+ - [pickers] Use context to pass props from the picker to the field (#16042) @flaviendelangle
67
+
68
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
69
+
70
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.8`.
71
+
72
+ ### Charts
73
+
74
+ #### Breaking changes
75
+
76
+ - Charts tooltip markers now have different styles for each chart type. The tooltip and legend marks are now the same.
77
+ - Duplicate axis id's across `x` and `y` axis now log a warning in dev mode. Axis ids should be unique to prevent internal issues.
78
+
79
+ #### `@mui/x-charts@8.0.0-alpha.8`
80
+
81
+ - [charts] Fix flaky charts tests (#16180) @JCQuintas
82
+ - [charts] Handle case where gradient stop `offset` could be `Infinite` (#16131) @JCQuintas
83
+ - [charts] Make `useChartGradientId` public (#16106) @JCQuintas
84
+ - [charts] Move z-axis to plugin (#16130) @alexfauquette
85
+ - [charts] Plot data at first render if `skipAnimation` is set to `true` (#16166) @alexfauquette
86
+ - [charts] Replace tooltip mark with style (#16117) @JCQuintas
87
+ - [charts] Support `rtl` for gradient legend (#16115) @JCQuintas
88
+ - [charts] Use plugin system for series and axes (#15865) @alexfauquette
89
+
90
+ #### `@mui/x-charts-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
91
+
92
+ Same changes as in `@mui/x-charts@8.0.0-alpha.8`.
93
+
94
+ ### Tree View
95
+
96
+ #### `@mui/x-tree-view@8.0.0-alpha.8`
97
+
98
+ No changes since `@mui/x-tree-view-pro@v8.0.0-alpha.7`.
99
+
100
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.8` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
101
+
102
+ Same changes as in `@mui/x-tree-view@8.0.0-alpha.8`.
103
+
104
+ ### Docs
105
+
106
+ - [docs] Add example for custom legend (#16169) @alexfauquette
107
+ - [docs] Add full custom field creation example (#15194) @flaviendelangle
108
+ - [docs] Copyedit the Data Grid cell selection page (#16099) @samuelsycamore
109
+ - [docs] Fix demo rendering issue on Codesandbox (#16118) @arminmeh
110
+ - [docs] Remove broken links (#16167) @alexfauquette
111
+ - [docs] Split the Data Grid editing page (#14931) @MBilalShafi
112
+ - [docs] Fix wrong props warnings (#16119) @JCQuintas
113
+
114
+ ### Core
115
+
116
+ - [core] Type all references as `RefObject` (#16124) @arminmeh
117
+ - [code-infra] Refactor `react` and `react-dom` definitions to simplify dep resolving (#16160) @LukasTy
118
+ - [code-infra] Stop renovate from updating `date-fns-v2` (#16158) @LukasTy
119
+ - [infra] Improve cherry-pick action target list (#16184) @michelengelen
120
+ - [test] Fix flaky column pinning unit test (#16202) @cherniavskii
121
+ - [test] Fix flaky screenshot (#16182) @cherniavskii
122
+
8
123
  ## 8.0.0-alpha.7
9
124
 
10
125
  _Jan 9, 2025_
@@ -1,7 +1,9 @@
1
1
  import * as React from 'react';
2
+ import { ChartSeriesType } from '../models/seriesType/config';
2
3
  import { ChartDataProviderProps } from '../context/ChartDataProvider';
3
4
  import { ChartsSurfaceProps } from '../ChartsSurface';
4
- export interface ChartContainerProps extends ChartDataProviderProps, ChartsSurfaceProps {
5
+ import { AllPluginSignatures } from '../internals/plugins/allPlugins';
6
+ export interface ChartContainerProps<SeriesType extends ChartSeriesType = ChartSeriesType> extends Omit<ChartDataProviderProps<SeriesType, AllPluginSignatures<SeriesType>>, 'children'>, ChartsSurfaceProps {
5
7
  }
6
8
  /**
7
9
  * It sets up the data providers as well as the `<svg>` for the chart.
@@ -27,5 +29,7 @@ export interface ChartContainerProps extends ChartDataProviderProps, ChartsSurfa
27
29
  * </ChartContainer>
28
30
  * ```
29
31
  */
30
- declare const ChartContainer: React.ForwardRefExoticComponent<ChartContainerProps & React.RefAttributes<SVGSVGElement>>;
32
+ declare const ChartContainer: <TSeries extends ChartSeriesType>(props: ChartContainerProps<TSeries> & {
33
+ ref?: React.ForwardedRef<SVGSVGElement>;
34
+ }) => React.JSX.Element;
31
35
  export { ChartContainer };
@@ -43,11 +43,17 @@ const ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(pro
43
43
  }))
44
44
  }));
45
45
  });
46
+
47
+ // @ts-ignore
48
+
46
49
  process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
47
50
  // ----------------------------- Warning --------------------------------
48
51
  // | These PropTypes are generated from the TypeScript type definitions |
49
52
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
50
53
  // ----------------------------------------------------------------------
54
+ apiRef: PropTypes.shape({
55
+ current: PropTypes.object
56
+ }),
51
57
  children: PropTypes.node,
52
58
  className: PropTypes.string,
53
59
  /**
@@ -77,11 +83,15 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
77
83
  dataIndex: PropTypes.number,
78
84
  seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
79
85
  }),
86
+ /**
87
+ * This prop is used to help implement the accessibility logic.
88
+ * If you don't provide this prop. It falls back to a randomly generated id.
89
+ */
90
+ id: PropTypes.string,
80
91
  /**
81
92
  * The margin between the SVG and the drawing area.
82
93
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
83
94
  * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
84
- * @default object Depends on the charts type.
85
95
  */
86
96
  margin: PropTypes.shape({
87
97
  bottom: PropTypes.number,
@@ -95,23 +105,19 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
95
105
  * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
96
106
  */
97
107
  onHighlightChange: PropTypes.func,
98
- /**
99
- * An array of plugins defining how to preprocess data.
100
- * If not provided, the container supports line, bar, scatter and pie charts.
101
- */
102
- plugins: PropTypes.arrayOf(PropTypes.object),
103
108
  /**
104
109
  * The array of series to display.
105
110
  * Each type of series has its own specificity.
106
111
  * Please refer to the appropriate docs page to learn more about it.
107
112
  */
108
- series: PropTypes.arrayOf(PropTypes.object).isRequired,
113
+ series: PropTypes.arrayOf(PropTypes.object),
109
114
  /**
110
115
  * If `true`, animations are skipped.
111
116
  * If unset or `false`, the animations respects the user's `prefers-reduced-motion` setting.
112
117
  */
113
118
  skipAnimation: PropTypes.bool,
114
119
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
120
+ theme: PropTypes.oneOf(['dark', 'light']),
115
121
  title: PropTypes.string,
116
122
  /**
117
123
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -2,11 +2,13 @@ import * as React from 'react';
2
2
  import { ChartsSurfaceProps } from '../ChartsSurface';
3
3
  import { ChartDataProviderProps } from '../context/ChartDataProvider';
4
4
  import type { ChartContainerProps } from './ChartContainer';
5
- export type UseChartContainerPropsReturnValue = {
6
- chartDataProviderProps: ChartDataProviderProps;
5
+ import { ChartSeriesType } from '../models/seriesType/config';
6
+ import { AllPluginSignatures } from '../internals/plugins/allPlugins';
7
+ export type UseChartContainerPropsReturnValue<TSeries extends ChartSeriesType> = {
8
+ chartDataProviderProps: ChartDataProviderProps<TSeries, AllPluginSignatures<TSeries>>;
7
9
  chartsSurfaceProps: ChartsSurfaceProps & {
8
10
  ref: React.Ref<SVGSVGElement>;
9
11
  };
10
12
  children: React.ReactNode;
11
13
  };
12
- export declare const useChartContainerProps: (props: ChartContainerProps, ref: React.Ref<SVGSVGElement>) => UseChartContainerPropsReturnValue;
14
+ export declare const useChartContainerProps: <TSeries extends ChartSeriesType = keyof import("../internals").ChartsSeriesConfig>(props: ChartContainerProps<TSeries>, ref: React.Ref<SVGSVGElement>) => UseChartContainerPropsReturnValue<TSeries>;
@@ -2,7 +2,8 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "sx", "title", "xAxis", "yAxis", "zAxis", "skipAnimation"];
5
+ const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "sx", "title", "xAxis", "yAxis", "zAxis", "skipAnimation", "seriesConfig"];
6
+ import { ALL_PLUGINS } from "../internals/plugins/allPlugins.js";
6
7
  export const useChartContainerProps = (props, ref) => {
7
8
  const {
8
9
  width,
@@ -16,13 +17,13 @@ export const useChartContainerProps = (props, ref) => {
16
17
  disableAxisListener,
17
18
  highlightedItem,
18
19
  onHighlightChange,
19
- plugins,
20
20
  sx,
21
21
  title,
22
22
  xAxis,
23
23
  yAxis,
24
24
  zAxis,
25
- skipAnimation
25
+ skipAnimation,
26
+ seriesConfig
26
27
  } = props,
27
28
  other = _objectWithoutPropertiesLoose(props, _excluded);
28
29
  const chartsSurfaceProps = _extends({
@@ -39,13 +40,14 @@ export const useChartContainerProps = (props, ref) => {
39
40
  dataset,
40
41
  highlightedItem,
41
42
  onHighlightChange,
42
- plugins,
43
43
  xAxis,
44
44
  yAxis,
45
45
  zAxis,
46
46
  skipAnimation,
47
47
  width,
48
- height
48
+ height,
49
+ seriesConfig,
50
+ plugins: ALL_PLUGINS
49
51
  };
50
52
  return {
51
53
  chartDataProviderProps,
@@ -3,9 +3,9 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
7
6
  import { ChartsXAxis } from "../ChartsXAxis/index.js";
8
7
  import { ChartsYAxis } from "../ChartsYAxis/index.js";
8
+ import { useXAxes, useYAxes } from "../hooks/index.js";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  const getAxisId = (propsValue, defaultAxisId) => {
11
11
  if (propsValue == null) {
@@ -46,10 +46,12 @@ function ChartsAxis(props) {
46
46
  } = props;
47
47
  const {
48
48
  xAxis,
49
- xAxisIds,
49
+ xAxisIds
50
+ } = useXAxes();
51
+ const {
50
52
  yAxis,
51
53
  yAxisIds
52
- } = useCartesianContext();
54
+ } = useYAxes();
53
55
  const leftId = getAxisId(leftAxis === undefined ? yAxisIds[0] : leftAxis, yAxisIds[0]);
54
56
  const bottomId = getAxisId(bottomAxis === undefined ? xAxisIds[0] : bottomAxis, xAxisIds[0]);
55
57
  const topId = getAxisId(topAxis, xAxisIds[0]);
@@ -7,12 +7,12 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
9
  import { useThemeProps } from '@mui/material/styles';
10
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
10
  import { getChartsGridUtilityClass } from "./chartsGridClasses.js";
12
11
  import { useDrawingArea } from "../hooks/useDrawingArea.js";
13
12
  import { GridRoot } from "./styledComponents.js";
14
13
  import { ChartsGridVertical } from "./ChartsVerticalGrid.js";
15
14
  import { ChartsGridHorizontal } from "./ChartsHorizontalGrid.js";
15
+ import { useXAxes, useYAxes } from "../hooks/useAxis.js";
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  const useUtilityClasses = ({
18
18
  classes
@@ -46,10 +46,12 @@ function ChartsGrid(inProps) {
46
46
  other = _objectWithoutPropertiesLoose(props, _excluded);
47
47
  const {
48
48
  xAxis,
49
- xAxisIds,
49
+ xAxisIds
50
+ } = useXAxes();
51
+ const {
50
52
  yAxis,
51
53
  yAxisIds
52
- } = useCartesianContext();
54
+ } = useYAxes();
53
55
  const classes = useUtilityClasses(props);
54
56
  const horizontalAxis = yAxis[yAxisIds[0]];
55
57
  const verticalAxis = xAxis[xAxisIds[0]];
@@ -57,11 +59,13 @@ function ChartsGrid(inProps) {
57
59
  className: classes.root,
58
60
  children: [vertical && /*#__PURE__*/_jsx(ChartsGridVertical, {
59
61
  axis: verticalAxis,
60
- drawingArea: drawingArea,
62
+ start: drawingArea.top,
63
+ end: drawingArea.height + drawingArea.top,
61
64
  classes: classes
62
65
  }), horizontal && /*#__PURE__*/_jsx(ChartsGridHorizontal, {
63
66
  axis: horizontalAxis,
64
- drawingArea: drawingArea,
67
+ start: drawingArea.left,
68
+ end: drawingArea.width + drawingArea.left,
65
69
  classes: classes
66
70
  })]
67
71
  }));
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- import { DrawingAreaState } from '../context/DrawingAreaProvider';
3
2
  import { AxisDefaultized, ChartsYAxisProps, ScaleName } from '../models/axis';
4
3
  import { ChartsGridClasses } from './chartsGridClasses';
5
4
  interface ChartsGridHorizontalProps {
6
5
  axis: AxisDefaultized<ScaleName, any, ChartsYAxisProps>;
7
- drawingArea: DrawingAreaState;
6
+ start: number;
7
+ end: number;
8
8
  classes: Partial<ChartsGridClasses>;
9
9
  }
10
10
  /**
@@ -8,7 +8,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
8
8
  export function ChartsGridHorizontal(props) {
9
9
  const {
10
10
  axis,
11
- drawingArea,
11
+ start,
12
+ end,
12
13
  classes
13
14
  } = props;
14
15
  const {
@@ -28,8 +29,8 @@ export function ChartsGridHorizontal(props) {
28
29
  }) => /*#__PURE__*/_jsx(GridLine, {
29
30
  y1: offset,
30
31
  y2: offset,
31
- x1: drawingArea.left,
32
- x2: drawingArea.left + drawingArea.width,
32
+ x1: start,
33
+ x2: end,
33
34
  className: classes.horizontalLine
34
35
  }, `horizontal-${value}`))
35
36
  });
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- import { DrawingAreaState } from '../context/DrawingAreaProvider';
3
2
  import { AxisDefaultized, ChartsXAxisProps, ScaleName } from '../models/axis';
4
3
  import { ChartsGridClasses } from './chartsGridClasses';
5
4
  interface ChartsGridVerticalProps {
6
5
  axis: AxisDefaultized<ScaleName, any, ChartsXAxisProps>;
7
- drawingArea: DrawingAreaState;
6
+ start: number;
7
+ end: number;
8
8
  classes: Partial<ChartsGridClasses>;
9
9
  }
10
10
  /**
@@ -8,7 +8,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
8
8
  export function ChartsGridVertical(props) {
9
9
  const {
10
10
  axis,
11
- drawingArea,
11
+ start,
12
+ end,
12
13
  classes
13
14
  } = props;
14
15
  const {
@@ -26,8 +27,8 @@ export function ChartsGridVertical(props) {
26
27
  value,
27
28
  offset
28
29
  }) => /*#__PURE__*/_jsx(GridLine, {
29
- y1: drawingArea.top,
30
- y2: drawingArea.top + drawingArea.height,
30
+ y1: start,
31
+ y2: end,
31
32
  x1: offset,
32
33
  x2: offset,
33
34
  className: classes.verticalLine